您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> BF592技术支持专区 -> BF592处理器应用设计16-SD卡
本帖共有661个阅读者
发表帖子 发表投票 回复主题
BF592处理器应用设计16-SD卡
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5193
金钱:34791
积分:6375
注册时间:2011/6/7
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
BF592处理器应用设计16-SD卡

我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/10/19 9:53:54
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5193
金钱:34791
积分:6375
注册时间:2011/6/7
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

硬件原理

上传的图片
  201210199551620.jpg [ 30.52 KB 700×327 ] (缩略时请点击查看原图)

 

SPI 接口介绍

开发板上的 SD 卡是连接在BF592 的SPI1 上的,所以我们在使用SD 卡之前,先来介绍一下 SPI接口,SPI 接口是4 线串口,可以连接SPIFLASH,SPI 接口的AD,DA 等等。BF592 上有连个SPI接口,分别是 SPI0 和SPI1,BF592 的SPI 接口支持主机模式和从机模式。

SPI 管脚定义:

上传的图片
  201210199562620.jpg [ 22.00 KB 794×163 ] (缩略时请点击查看原图)

 

SPI 接口时钟最快可以到系统时钟的1/4,其配置公式为:SCK Frequency = (Peripheral clock frequency SCLK)/(2 x SPI_BAUD)

SPI 寄存器说明:

上传的图片
  201210199572520.jpg [ 40.49 KB 882×194 ] (缩略时请点击查看原图)

 




我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/10/19 9:57:37
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5193
金钱:34791
积分:6375
注册时间:2011/6/7
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

1. SD 卡读写串口验证

该例子程序在 code 文件夹下的61-bf592_sd_mmc_1 文件夹中。

程序功能:

这个例子程序主要是学习,如何初始化 BF592 的SPI 接口,如何使用SPI 接口操作SD 卡,卡插入识别,串口的收发原理。

程序说明:

上传的图片
  201210191003020.jpg [ 44.43 KB 364×531 ] (缩略时请点击查看原图)

 

上传的图片
  20121019101120.jpg [ 63.21 KB 640×527 ] (缩略时请点击查看原图)

 

实验结果:

下载程序后,连接好串口,设置好串口调试助手参数,打开串口 当没有插入 SD 卡时,板卡上电后,串口会打印一下信息:“SD 卡没有插入!请插入SD 卡!”等待SD 卡插入。




我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/10/19 10:01:52
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5193
金钱:34791
积分:6375
注册时间:2011/6/7
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

上传的图片
  201210191022420.jpg [ 31.87 KB 808×302 ] (缩略时请点击查看原图)

 

此时插入 SD 卡之后:打印SD 卡已插入,SD 卡初始化成功,buff_w 是要往SD 卡里写的数据,buff_r是从SD 卡里读出来的数据,通过程序比较两个buff 是否完全一致,如果一致,则打印测试成功,否则打印测试失败。

上传的图片
  201210191032720.jpg [ 117.60 KB 802×538 ] (缩略时请点击查看原图)

 

此时拔出 SD 卡(注意在读写完成之前不可以拔SD 卡),打印:SD 卡被拔出。

上传的图片
  201210191041420.jpg [ 52.99 KB 820×213 ] (缩略时请点击查看原图)

 

再次插入 SD 卡之后,又会重复上面的现象打印:SD 卡已插入,然后初始化SD 卡,读写校验操作。

上传的图片
  201210191044920.jpg [ 58.54 KB 792×284 ] (缩略时请点击查看原图)

 

当插入一个坏卡时,则会打印:SD 卡初始化失败。

上传的图片
  201210191062920.jpg [ 42.59 KB 820×333 ] (缩略时请点击查看原图)

 



我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/10/19 10:06:35
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5193
金钱:34791
积分:6375
注册时间:2011/6/7
4信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

2. 通过文件系统向SD 卡里存入文件

该例子程序在 code 文件夹下的62-bf592_sd_mmc_2 文件夹中。

程序功能:

这个例子程序主要是学习,如何初始化 BF592 的SPI 接口,如何使用SPI 接口操作SD 卡,卡插入识别,串口的收发原理,文件系统的使用。

程序说明:

上传的图片
  201210191084520.jpg [ 65.17 KB 615×487 ] (缩略时请点击查看原图)

 

实验结果:

下载程序后,连接好串口,设置好串口调试助手参数,打开串口 当没有插入 SD 卡时,板卡上电后,串口会打印一下信息:“SD 卡没有插入!请插入SD 卡!”等待SD 卡插入,此时插入SD 卡之后:打印SD 卡已插入,SD 卡初始化成功,文件已写入,文件名是:test.txt!。文件已经写到SD
卡里了,通过读卡器在PC 上可以看到SD 卡根目录下存有一个test.txt 文件。文件的内容为程序中file_buf[]={"ADSP-EDU-BF592 开发板。…………"}里的内容。

上传的图片
  2012101910115220.jpg [ 36.41 KB 822×305 ] (缩略时请点击查看原图)

 



我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/10/19 10:11:58
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5193
金钱:34791
积分:6375
注册时间:2011/6/7
5信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

3. 串口向SD 卡里发送文件

该例子程序在 code 文件夹下的63-bf592_sd_mmc_3 文件夹中。

程序功能:

这个例子程序主要是学习,如何初始化 BF592 的SPI 接口,如何使用SPI 接口操作SD 卡,卡插入识别,串口的收发原理,文件系统的使用。

程序说明:见例子代码。

实验结果:

下载程序后,连接好串口,设置好串口调试助手参数,打开串口 当没有插入 SD 卡时,板卡上电后,串口会打印一下信息:“SD 卡没有插入!请插入SD 卡!”等待SD 卡插入,此时插入SD 卡之后:打印SD 卡已插入,SD 卡初始化成功,在发送窗口输入文件名,由于文件系统的限制,这个
文件系统只支持短文件名。

上传的图片
  2012101910163420.jpg [ 37.07 KB 808×303 ] (缩略时请点击查看原图)

 

输入文件名发送之后,串口中显示如图:

上传的图片
  2012101910172520.jpg [ 60.10 KB 791×543 ] (缩略时请点击查看原图)

 

这代表着将要在 SD 卡中创建一个sd_test1.txt 文件。选择文件,然后点发送文件。

上传的图片
  2012101910175820.jpg [ 46.58 KB 806×288 ] (缩略时请点击查看原图)

 

当打印这个提示后,说明文件已经存在sd 卡中了,可以继续发送文件名和文件。





我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/10/19 10:18:09
congra(论坛新手)
congra
头衔:社区公民
帮派:无帮无派
帖数:9
金钱:147
积分:9
注册时间:2012/9/19
6信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
请问,bf592可以是否支持大容量的SD卡,比如4G、8G、16G的

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/3/16 15:43:56
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.156617 Call, 1 Queries, Processed in 0.046875 second(s),