SDIO接口 ======== 一、概述 -------- SDIO(Secure Digital Input and Output)全称为安全数字输入输出接口,在协议上和SPI类似是一种串行的硬件接口,通信的双方一个作为HOST,另一端是Device,所有的通信都是由HOST端发送命令开始的,Device端只要解析相应的命令,就可以正常通信了。比较常见的应用是用来外接SD卡或者MicroSD Card(也叫TF卡)。Air720系列模块目前支持的SDIO应用就是用来外接TF卡的。 二、管脚定义 ------------ +--------+---+-----+---+---+---------------------------+----------------+ | 管脚名 | 管 | 上 | I | 管 | 电气特性 | 备注 | | | 脚 | 电 | / | 脚 | | | | | 号 | 状 | O | 描 | | | | | | 态 | | 述 | | | +========+===+=====+===+===+===========================+================+ | MM | 2 | IN | I | 数 | VILmin=-0.3V VILmax=0.6V | 通用GPIO,注 | | C1_DAT | 8 | PUT | O | 据 | VIHmin=1.2V VIHmax=2.0V | 意电压域是VMMC | | 2(GPI | | P | | 位 | VOHmin=VMMC*0.7 | 不用则悬空 | | O_27) | | ULL | | 2 | VOLmax=VMMC*0.3 | | | | | _UP | | | | | +--------+---+-----+---+---+---------------------------+----------------+ | MM | 2 | IN | I | 数 | 同上 | 同上 | | C1_DAT | 9 | PUT | O | 据 | | | | 3(GPI | | P | | 位 | | | | O_28) | | ULL | | 3 | | | | | | _UP | | | | | +--------+---+-----+---+---+---------------------------+----------------+ | M | 3 | IN | I | 命 | 同上 | 同上 | | MC1_CM | 0 | PUT | O | 令 | | | | D(GPI | | P | | / | | | | O_24) | | ULL | | 回 | | | | | | _UP | | 复 | | | +--------+---+-----+---+---+---------------------------+----------------+ | MM | 3 | OUT | I | 时 | 同上 | 同上 | | C1_CLK | 1 | PUT | O | 钟 | | | | | | CLK | | | | | +--------+---+-----+---+---+---------------------------+----------------+ | MM | 3 | IN | I | 数 | 同上 | 同上 | | C1_DAT | 2 | PUT | O | 据 | | | | 0(GPI | | P | | 位 | | | | O_25) | | ULL | | 0 | | | | | | _UP | | | | | +--------+---+-----+---+---+---------------------------+----------------+ | MM | 3 | IN | I | 数 | 同上 | 同上 | | C1_DAT | 3 | PUT | O | 据 | | | | 1(GPI | | P | | 位 | | | | O_26) | | ULL | | 1 | | | | | | _UP | | | | | +--------+---+-----+---+---+---------------------------+----------------+ 三、参考设计 ------------ |image1| 注意: ``1. 外设接口需做好ESD防护`` 四、功能使用 ------------ 将SD卡接到模块上,操作对应软件便可以实现通过模块来操作SD卡中的文件内容了。SD文件系为FAT格式(windows、linux都可以正常识别),所以非FAT格式的SD卡会挂载失败,而无法正常识别。SD卡文件访问通过路径前加上【/sdcard0】 4.1 AT命令控制 -------------- **版本要求:>=435** 文件操作和正常操作文件一样,只是路径不同,下面以读取SD卡根目录下文件为例 :: [17:29:37.494]发→◇AT+FSLS="/sdcard0" □ [17:29:37.499]收←◆AT+FSLS="/sdcard0" yy ss System Volume Information\ henaihenaini.amr xiudada.amr tet.txt AiGuo30s_128kb.mp3 TingGuo30s_128kb.mp3 pwron.mp3 ap D qq pp\ test\ FTP\ demo_file fs_test OK 4.2 Lua二次开发 --------------- **版本要求:>=V0009** 和正常操作文件一样,只是路径不同,下面以读取文件为例 .. code:: lua file = io.open(“/sdcard0/1.txt”, 'r') if file then --判断文件是否存在 local fileval=filehandle:read("*all")--读出文件内容 if fileval then print(fileval) --如果文件存在,打印文件内容 file:close()--关闭文件 else print("文件为空")--文件不存在 end else print("文件不存在或文件输入格式不正确") --打开失败 end .. |image1| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200807160743806_22222.png