
SD卡读写模组
SD卡读写是指单片机读写SD卡/TF卡。SD卡是一种低电压的flash快闪记忆体产品,有标準的MMC/SPI两种操作模组。对于MMC操作模式,读写速度快,控制信号线多,操作複杂,对于SPI操作模组,速度慢,线少,操作相对简单。
基本介绍
- 中文名:SD卡读写模组
- 外文名:The SD card reader module
- 解释:单片机读写SD卡/TF卡
- 操作模组:MMC/SPI两种操作模组
概述
SD卡读写模组内置档案系统、可直接进行档案读写的SD卡模组,适用于单片机系统实现大容量存储方案。单片机使用模组,可直接进行目录遍历、目录创建、目录删除、档案创建、档案删除、档案修改、卡格式化等标準档案系统操作,无需了解SD卡内部存储结构及档案系统实现细节。
特别是随着SD卡在生活中的普及,嵌入式系统把读写SD卡功能集成到系统,成为一种趋势。
技术背景
随着技术的发展,设备使用SD卡作为存储设备已成为一种普遍的要求。传统的单片机由于资源限制,一般不能提供档案系统,因此无法做到对SD卡中的档案进行读写。使用本模组,单片机不必实现档案系统,而能够直接操作SD卡中档案,可以在最短的时间内推出稳定的产品,最大程度规避研发风险、节省研发费用。
技术规格
1、 支持标準FAT档案系统,模组操作的SD卡可直接插入电脑读写。
2、 模组内置Micro SD卡插槽,用户也可以自己扩展其它存储卡插槽,支持各有类SD、MMC卡。
3、 模组作为SPI从机与单片机通讯,SPI汇流排的最高速率可达4M bps。读SD卡档案的速度最高达128K位元组/秒,写SD卡档案的速度最高达64K位元组/秒。
4、 模组支持的SD卡容量为2G Bytes,超过2G的SD卡,则作为2G使用。
5、 尺寸50mm*20mm,2.54mm间距通用排针,方便集成。
操作功能
1、查询SD卡总容量及剩余空间大小、SD卡格式化等卡管理操作。
2、创建目录、删除目录、进入目录、退回根目录等目录管理操作。
3、创建档案、删除档案、打开档案、关闭档案等档案管理操作。
4、读档案、写档案、清空档案、修改档案当前位置等档案读写操作。
5、检测SD卡是否存在、通知当前时间、查询模组固件版本号等维护操作。
这些功能对于读写操作SD卡中档案是足够的,而且对操作的单片机要求不高,ram位元组超过32K bytes都能使用该模组来完成读写SD卡。
管脚定义
管脚编号 | 管脚名称 | 方向 | 功能描述 |
1 | RST# | 输入 | 模组复位 |
2 | SD_DO | 输出 | 外扩存储卡的数据输出 |
3 | SD_DET | 输入 | 外扩存储卡的数据输入 |
4 | SD_CLK | 输出 | 外扩存储卡的时钟信号 |
5 | SD_DI | 输入 | 外扩存储卡的数据输入 |
6 | SD_CS | 输出 | 外扩存储卡的片选信号 |
7 | V33 | 输入 | 3.3V电源 |
8 | BZ | 输出 | 模组忙指示 |
9 | SCS | 输入 | SPI接口片选信号 |
10 | RXD | 输入 | 调试串口数据输入 |
11 | SCK | 输入 | SPI接口时钟信号 |
12 | TXD | 输出 | 调试串口数据输出 |
13 | SDI | 输入 | SPI接口数据输入 |
14 | INT# | 输出 | 数据準备好指示 |
15 | SDO | 输出 | SPI接口数据输出 |
16 | NC | 保留 | |
17 | WAKE_UP | 输入 | 唤醒 |
18 | NC | 保留 | |
19 | GND | 输入 | 电源地 |
20 | STA | 输出 | 低功耗指示 |
操作命令
命令 | 名称 | 说明 |
CHECK_EXIST | 检测模组及SD卡 | 测试与SD卡模组通讯是否正常,SD卡模组中是否已插入SD卡。 |
GET_DISK_SIZE | 查询SD卡容量查询 | 获取SD卡容量以及可用空间信息 |
DISK_FORMAT | 格式化SD卡 | 对SD卡进行格式化 |
GET_DIR_FIRST | 查询第一目录项 | 获取当前目录下的第一个目录项 |
GET_DIR_NEXT | 查询下一目录项 | 获取当前目录下的下一个目标项 |
MAKE_DIR | 创建目录 | 在当前目录下创建一个子目录 |
REMOVE_DIR | 删除目录 | 在当前目录下删除一个子目录 |
ENTER_DIR | 进入目录 | 在当前目录下进入一个子目录 |
BACK_TO_ROOT | 回根目录 | 当前目录回到根目录 |
MAKE_FILE | 创建档案 | 在当前目录下创建一个档案 |
REMOVE_FILE | 删除档案 | 在当前目录下删除一个档案 |
FILE_OPEN | 打开档案 | 在当前目录下打开一个档案 |
FILE_CLOSE | 关闭档案 | 关闭已打开的一个档案 |
FILE_GET_LEN | 查询档案长度 | 查询已打开的一个档案长度 |
FILE_READ | 读档案内容 | 读取已打开档案的内容(可连续读) |
FILE_CLEAR | 清空档案内容 | 清空已打开档案的内容 |
FILE_APPEND | 追加档案内容 | 在已打开档案的未尾追加内容 |
RENAME_DIR | 更改目录名称 | 更改当前目录下一个子目录的名称 |
NOTICE_CUR_TIME | 更新时间 | 更新模组的当前实时时间 |
FILE_SEEK | 档案定位 | 移动已打开档案的当前读取位置 |
ENTER_SLEEP | 进入睡眠 | 让模组进行功功耗状态 |
套用领域
· 桌上型仪表及携带型仪表 · 电子医疗仪表 (血压计、血糖计、血脂计、心电机等)
· 运动器材(跑步机、摇摆机等等之器材)
· 汽车行车记录器
· 电子系统参数设定 ( 温度控制、行程控制等等之设备)
· CNC 自动化设备 ( 程式存取设定)
·数据採集
开发套件
开发板使用8051系列单片机中的一款典型单片机STC89C52实现,展示在一款低配置的单片机上实现如何大容量数据存储。
使用USB线将开发板连线到电脑,电脑会将开发板识别为一个串口设备。(无法识别的需要安装驱动程式)
在电脑上使用串口调试工具(如超级终端),设定串口参数为“9600bit/s波特率,8位数据位,无校验,1位停止位”,就可以进入到开发板的命令行。
命令行下,输入"help"会得到帮助。输入其它命令,可以进行查询固件版本号、查询卡容量 、卡格式化、目录创建、目录删除、目录遍历、档案创建、档案删除、读档案、写档案等操作。
使用USB线将开发板连线到电脑,电脑会将开发板识别为一个串口设备。(无法识别的需要安装驱动程式)
在电脑上使用串口调试工具(如超级终端),设定串口参数为“9600bit/s波特率,8位数据位,无校验,1位停止位”,就可以进入到开发板的命令行。
命令行下,输入"help"会得到帮助。输入其它命令,可以进行查询固件版本号、查询卡容量 、卡格式化、目录创建、目录删除、目录遍历、档案创建、档案删除、读档案、写档案等操作。
提供二次开发所需要源码开发包,用户只需稍加移植就可以用在自己的产品上。