简介 SDH是Secure Digital Host Controller的缩写,也是就是SD Host,同过该功能模块,可以连接SD卡、TF卡及4线emmc。 功能模块的硬件介绍 官方手册介绍
从官方手册上可以看到,SDH模块具备DMA功能以及128Byte FIFO,使其具备不错的读写性能。
NuMaker-IIoT-NUC980开发板上预留了TF卡槽,从开发板原理图上可知SDH使用到了PF.0~6引脚,分别对应SDH的7各功能信号,除了SD_CLK信号,其余信号脚均使配置了10K上拉电阻。
功能模块的使用说明 硬件环境
NuMaker-IIoT-NUC980开发板(TF卡槽位于开发板的BOTTOM层)
闪迪16G SDHC TF卡
两个USB数据线(一条接VCOM,另一条接USB0)
软件环境
模块功能的测试演示 rt-thread的BSP开发包已经适配了SDH功能模块的驱动以及相应的文件系统,所以下面主要通过TF卡的文件读写、存储功能对SDH功能模块展开测试。
首先需要在中配置虚拟文件系统相关的参数如下:
然后在RT-Thread Studio环境中执行“构建”,
最后,使用NuWriter将可程序文件“rtthread.bin”下载到开发板上。
程序文件和开发板连线准备完毕,打开SecureCRT,执行下载程序步骤,系统启动成功,如下:
测试热拔插功能
开发板启动后,首先测试SDH模块热拔插功能,将TF卡插入卡槽,这时我们可以在finsh控制台上看到TF卡挂载成功的信息,如下:
测试文件读写功能
然后,我们测试SDH模块的读写功能,在finsh控制台上执行以下命令,
1)输入“mount"指令,可以看到TF卡(sdh1)挂载在/mnt/sd1下;
2)输入“cd /mnt/sd1”指令,进入sd1目录;
3)输入“ls”指令,遍历目录,当前无文件(夹);
4)输入“echo "hello rt-thread @nuc980iot!" test_sdh.txt”指令,创建 test_sdh.txt文件,并写入hello rt-thread @nuc980iot!;
5)输入“ls”指令,遍历目录,test_sdh.txt文件创建成功;
6)输入“cat test_sdh.txt”指令,读取test_sdh.txt文件,在finsh可以看到步骤4写入的数据。
经过以上步骤,SDH模块的读写功能测试成功。
可编译下载的代码 https://github.com/fever123123/Test-sdh-NK-980iot.git
心得体会 通过SDH功能模块的测试,对SDH的接口信号有了比较清晰的认识,并学习了NuMaker-IIoT-NUC980开发板的固件烧写方法。
同时,通过对TF卡的热拔插测试和读写测试,对rt-thread的开发环境以及文件系统功能有了初步认知。
|