原创 ADSP-EDU-BF531/BF533开发板教学视频第十五集--Blackfin设计SD卡存储【Open ADSP开源社区】

2012-5-4 09:30 1895 10 10 分类: 处理器与DSP

本章对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 硬件连接示意图

12.jpg

 

4.93 代码实现功能

代码实现了对SD/MMC卡扇区的写入和读取,并将读出的数据与写入的数据做比较,并打印比较结果。

4.94 测试步骤

  1. 将仿真器(ICE)与ADSP-EDU-BF53x开发板和计算机连接好。
  2. 将SD或MMC卡插入SD卡接口。
  3. 先给仿真器(ICE)上电再为ADSP-EDU-BF53x开发板上电。
  4. 运行VisualDSP++ 5.0软件,选择合适的BF533 的session将仿真器与软件连接。
  5. 加载VisualDSP++ 5.0工程文件BF53x_SD_MMC.dpj,编译并全速运行。

4.95 测试结果

在VisualDSP++ 5.0软件上打印校验数据的结果。

123.jpg

 

SD卡校验完成

1234.jpg

 

写入的数据和读出的数据内存比较。

 

优酷链接: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条评论)

登录后参与讨论
我要评论
0
10
关闭 站长推荐上一条 /2 下一条