基本介紹
- 中文名:SD卡讀寫模組
- 外文名:The SD card reader module
- 解釋:單片機讀寫SD卡/TF卡
- 操作模組:MMC/SPI兩種操作模組
概述,技術背景,技術規格,操作功能,管腳定義,操作命令,套用領域,開發套件,
概述
SD卡是一種低電壓的flash快閃記憶體產品,有標準的MMC/SPI兩種操作模組。對於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"會得到幫助。輸入其它命令,可以進行查詢固件版本號、查詢卡容量 、卡格式化、目錄創建、目錄刪除、目錄遍歷、檔案創建、檔案刪除、讀檔案、寫檔案等操作。
提供二次開發所需要源碼開發包,用戶只需稍加移植就可以用在自己的產品上。