本章对Blackfin设计SD卡存储做了一个较为详细的讲解,此章会和将来要用到的Blackfin文件系统有联系,且目前的电子设备基本都会有这样一个必备的外设,所以大家可以仔细的学一下,个人感觉虽然不难,但比较重要。
http://player.youku.com/player.php/sid/XMzAyNDkxNDM2/v.swf">
ADSP-EDU-BF53X SD卡实验。
ADSP-EDU-BF53x 板卡上设计了一个SD/MMC接口,可以通过该接口实现对SD/MMC卡数据的访问。
SD卡有两种工作模式:SDIO模式和SPI模式。SDIO模式为半字节读写模式,该模式采用四根数据线,每次可对半个字节作操作。SPI模式有4根控制线:MOSI,MISO,SPICLK,SPISS.因为每次只能对一位数据作操作。SD/MMC 卡的寻址方式是按字节寻址的,为方便使用,将其寻址方式定义成连续的存储单元寻址方式。每个存储单元为512个字节。每个存储单元地址唯一,通过访问存储单元地址来读取数据。
ADSP-EDU-BF53x 板卡上采用PF2实现对SPI设备的控制,由于板卡上有SD卡和触摸屏控制器两个SPI设备,所以通过CPLD将PF2接口做了个2选1切换,通过配置CPLD的DEVICE_OE寄存器,来使能和选通PF2连接哪一个SPI设备。
SD卡插入后,不会触发中断信号,但可以通过中断数据寄存器读取其插入信息。
DEVICE_OE寄存器(写唯一):
DEVICE_OE寄存器地址:0x20320000
DEVICE_OE寄存器设置硬件设备上一些控制管脚的电平状态,该寄存器只能写入数据,不能读出当前数据。
DEVICE_OE寄存器位功能:
Bit位 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
功能 |
保留 |
INTERRUPT_OE |
SPI_OE |
SYNCINT_OE |
PTS_OE |
LCD_OE |
SPI_SEL |
LED_OE |
SPI_SEL:
1:SPI_SEL选通SD卡模块
0:SPI_SEL 选通触摸屏模块
SPI_OE:
1:关闭SPISEL选通开关
0:使能SPISEL选通开关
在使用SD/MMC卡接口时时,需将SPI_OE位设置为0,将SPI_SEL位设置为1。
代码实现了对SD/MMC卡扇区的写入和读取,并将读出的数据与写入的数据做比较,并打印比较结果。
在VisualDSP++ 5.0软件上打印校验数据的结果。
SD卡校验完成
写入的数据和读出的数据内存比较。
优酷链接:http://v.youku.com/v_show/id_XMzAyNDkxNDM2.html
清晰版下载地址:http://115.com/file/bhfwkbj7 如需提取码,则是:bhfwkbj
开发板链接:http://item.taobao.com/item.htm?spm=1103Qmdt.3-3dfNy.h-1Akvus&id=9026190872&
">
文章评论(0条评论)
登录后参与讨论