aple0807 发表于 2021-4-26 11:41

AT32 SDIO使用问题

本帖最后由 aple0807 于 2021-4-26 11:41 编辑



官方的sd卡驱动,这个ReadAddr是字节地址吗? 为什么会有右移9的操作。 SD卡不是按逻辑扇区地址访问的吗,貌似没有按字节地址访问的方式吧。

注释BlockSize应该为512,那这个参数还有什么用处? 我的SD卡读取的BlockSize是1024是不是不能用?

muyichuan2012 发表于 2021-4-26 13:11

Block size 是 512 没错, 函数里给的地址是字节地址, 但 high capacity 的 SD 卡, read/write 指令的地址是以 block 为单位, 所以要除512
初始化函数里面都会下 SET BLOCK SIZE 的指令, 将 block size 设定为 512。
BlockSize是1024的卡也可以直接用,没有问题。

aple0807 发表于 2021-4-26 14:28

muyichuan2012 发表于 2021-4-26 13:11
Block size 是 512 没错, 函数里给的地址是字节地址, 但 high capacity 的 SD 卡, read/write 指令的地址是 ...
按照这个调了下程序,带fatfs, 时钟降到 3MHz读写才正常, 官方例程的6MHz经常丢数据,这个可能是啥原因?
PCB布线并不长, 40mm以内, 上拉电阻27K。




muyichuan2012 发表于 2021-4-27 14:57

上拉电阻换小一点, 用10K, 另外 SD clock 信号不能加上拉电阻
页: [1]
查看完整版本: AT32 SDIO使用问题