热度 10
2012-5-4 09:30
1896 次阅读|
0 个评论
本章对Blackfin设计SD卡存储做了一个较为详细的讲解,此章会和将来要用到的Blackfin文件系统有联系,且目前的电子设备基本都会有这样一个必备的外设,所以大家可以仔细的学一下,个人感觉虽然不难,但比较重要。 http://player.youku.com/player.php/sid/XMzAyNDkxNDM2/v.swf" 4.9 BF53x_SD_MMC ADSP-EDU-BF53X SD卡实验。 4.91 硬件实现原理 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。 4.92 硬件连接示意图 4.93 代码实现功能 代码实现了对SD/MMC卡扇区的写入和读取,并将读出的数据与写入的数据做比较,并打印比较结果。 4.94 测试步骤 将仿真器(ICE)与ADSP-EDU-BF53x开发板和计算机连接好。 将SD或MMC卡插入SD卡接口。 先给仿真器(ICE)上电再为ADSP-EDU-BF53x开发板上电。 运行VisualDSP++ 5.0软件,选择合适的BF533 的session将仿真器与软件连接。 加载VisualDSP++ 5.0工程文件BF53x_SD_MMC.dpj,编译并全速运行。 4.95 测试结果 在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-1Akvusid=9026190872 "