jobszheng5 发表于 2023-10-16 09:00

[STM32F769IDISCO返场]SD卡读写测试

<div class='showpostmsg'># SD卡读写测试

数据的收集为AI、大数据的分析提供支持。我们本次实验即通过STM32F769的SDIO外设来实现对TF卡的读取与写入。

每次谈到TF卡的读写都会提到FATFS,那么FATFS和SDIO的关系又是什么吗?

SDIO(Secure Digital Input Output)是一种数字接口标准,主要用于嵌入式设备和消费电子产品的数据通信。它可以通过卡槽式接口实现,支持读写操作。其是一种物理层电气协议规范。通俗点讲,硬件之间的电平传输协议。当TF卡也支持SDIO协议时,咱们STM32F769可以与之通过SDIO协议交互数据。

FATFS是一个全功能的、多平台兼容的文件系统。是一个应用层的协议,是数据如何在存储介质(本例中为TF卡)上组织的数据结构。

两者相辅相成,各自发挥各自的作用。因此,本次实验其实是两个任务实现SDIO与移植FATFS文件系统。

对于SDIO外设的应用,和其它的外设配置步骤一样:

step1. 打开外设时钟

step2. 初始化GPIO为AF功能

step3. 配置SDIO外设的参数

step4. 启动SDIO

step5. 调用读取与写入操作API

我们利用STM32CubeMX来完成上述step1 - 4步骤。



这里注意一下:SDMMC2的时钟需要选择PLL48CLK,其分频值在PLL后的PLLQ分频配置得到。

配置完成后,插入TF卡,读取一下SD卡的卡片信息:



我们再利用TF卡保存图片文件,STM32F769读取图片文件,并在LCD屏显示出来。

最后,我们看一下显示效果视频

80fe591320ddcdbe579942c32a29e19e<br/>




</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                               
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

wangerxian 发表于 2023-10-16 17:51

<p>想看看读写卡速率测试~</p>

jobszheng5 发表于 2023-10-17 10:26

wangerxian 发表于 2023-10-16 17:51
想看看读写卡速率测试~

<p>这块确实遇到问题了。</p>

<p>我的测试卡片无法使用SD 4bit模式。</p>

<p>我降低了SD外设的时钟频率也不行!</p>

wangerxian 发表于 2023-10-17 14:11

jobszheng5 发表于 2023-10-17 10:26
这块确实遇到问题了。

我的测试卡片无法使用SD 4bit模式。

我降低了SD外设的时钟频率也不行!

<p>感觉需要抓一抓时序图了。</p>

jobszheng5 发表于 2023-10-17 14:19

wangerxian 发表于 2023-10-17 14:11
感觉需要抓一抓时序图了。

<p>版主,厉害了!这里确实是一个工作重点。实际项目里,没有谁会主动降速使用。在后续,我会把这部分测试实验再完备测试。</p>

<p>&nbsp;</p>

<p>P.S. 我在发文章时,其实有使用SD 4位模式失败的描述的。后来,想想估计也没有人会看的这么仔细,于是,删除了&hellip;&hellip;</p>

<p>结果,被版主&ldquo;无情地&rdquo;揭露了</p>

<p><img height="52" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/titter.gif" width="48" /></p>

wangerxian 发表于 2023-10-18 15:43

jobszheng5 发表于 2023-10-17 14:19
版主,厉害了!这里确实是一个工作重点。实际项目里,没有谁会主动降速使用。在后续,我会把这部分测试实 ...

<p><img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/lol.gif" width="48" />没事,这也算是踩坑。</p>
页: [1]
查看完整版本: [STM32F769IDISCO返场]SD卡读写测试