SD卡簡介與驅動開發

基本概念

存儲卡有很多種類,CF卡、記憶棒、SD卡、XD卡、MMC卡、MS卡、TF卡、MicroSD卡等。平時最常見的有SD卡和MicroSD卡兩種, SD卡和MicroSD只是兩張卡的大小不同,規格版本是完全相同的,均由SD卡協會推出。

SD卡有不少規范,常用包含存儲空間和存儲速度兩種,廠商會把滿足的規范的圖標印在卡面上,所以通過卡上有的規格,就能很快判斷出這張卡的容量、類型和最低速度,甚至適用場景。

容量

SD

早期版本現在已經基本停用,最高容量2GB,分區格式為FAT12(FAT)或FAT16

DHC

SDHC:技術很成熟的種類,容量為4GB-32GB,分區格式為FAT32。

SDXC

SDXC:目前市場存儲卡的主流,容量為64GB-2TB,分區格式為exFAT。

SDUC

新推出的版本,容量為2TB-128TB,分區格式為exFAT。

速度分級

Class 2 大于等于2MB/s

Class 4 大于等于4MB/s

Class 6 大于等于6MB/s

Class 10 大于等于10MB/s

UHS總線模式

UHS-I

最大讀取速度104MB/s

UHS-II

最大讀取速度312MB/s

UHS-III

最大讀取速度624MB/s

SD Express I

最大讀取速度985MB/s

UHS速度等級

U1

最低寫入速度10M/S

U3

最低寫入速度30M/S

舉例

總線模式

SD模式

SPI模式

引腳對應

SD卡寄存器

上電時序要求

SD卡在上電要求250ms內電壓必須要達到要求的最小電壓值,并且至少需要保持74個SD卡時鐘周期以保證CMD線變為高電平,SPI模式下則要求CS信號線在至少74個CLK時鐘保持高電平

控制協議(以SD模式舉例)

command

command共包含6個字節

Response

Response 包含不同的種類,不同種類的長度不一樣

SD卡協議規定了不同的Command對應的Response

Data

命令控制時序

塊讀取時序

塊寫入時序

工作模式

SD卡根據上電后默認為SD卡模式,后所接收的指令來決定是否切換為SPI模式,SPI模式屬于SD卡控制的附加模式

切換方式:在CS引腳為低電平條件下向SD卡發送CMD0 (復位指令),返回R1寄存器狀態OK表示切換完成

退出方式:一旦切換為SPI模式,無法退回至SD模式,除非重新上電

兩種工作模式各有優劣

SD模式: 速率更高,線路多,通信較為復雜

SPI模式:速率相對較低,更加通用,線路少,控制簡單

SD模式

SD模式下的SD卡初始化流程

最重要的是ACMD41和CMD8命令及其結果返回

注意事項:初始化前應當考慮將SD卡的時鐘線頻率配置在400kHz以下,初始化完成后再恢復時鐘頻率

SPI模式

SPI模式下的初始化與SD模式相差無幾,

1、SPI模式下需要先控制SD卡進入到SPI模式

2、SPI模式下的命令/返回/時序等要求與SD模式都存在區別,需要區別對待

3、初始化流程中ACMD41/CMD8命令最為重要

ACMD41返回

CMD8返回

SPI模式驅動舉例

SPI時序要求

發送命令時序

時序中存在不確定的等待周期,如NCS NEC等,因此包含NCR在內的等待過程都需要設置重試等待機制,推薦使用

do while方式進行編程實現

塊讀取

對于讀到的數據而言,其包含以下結構,首字節為0xFE, 中間數據為塊大小數據,最后為2byte的CRC校驗值

塊寫入時序

參考資料:home - SD Association

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/91527.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/91527.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/91527.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大數據平臺數倉數湖hive之拉鏈表高效實現

對于緩慢變化的維度表,如客戶表,員工表,為了不丟失歷史數據,又不至于太浪費存儲空間,我們采用拉鏈表實現。 實現過程如下: 1、采集初始數據: 1.1 從mysql導出數據到hdfs /data/dolphinschedu…

【VSCode】常用插件推薦(持續更新~)

以下的這些插件都有使用過,可取對自己編碼有用的選擇安裝。🧠 智能補全 / 提示類插件 1. Auto Import在編碼時選擇有對應導入包的選項,自動為 JS/TS 文件中的使用項補全并添加 import 聲明,極大提高開發效率。2. Iconify IntelliS…

ICML 2025 | 深度剖析時序 Transformer:為何有效,瓶頸何在?

本文介紹帝國理工學院等機構在 ICML 2025 發表的最新研究成果。該研究并未提出新模型,而是對現有時間序列 Transformer 模型進行了一次深刻的拷問——為何結構更簡單的 Transformer( PatchTST, iTransformer)在各大基準測試中,反而…

AIBOX內置5G天線設計

AIBOX內置5G天線設計AIBOX的天線種類天線種類及數量:運營商5G天線*4,1.4G天線*2、wifi天線*1天線形式:內置PCB天線。天線安裝方式:卡扣固定,安裝至設備外殼內壁。RG-178同軸線或UFL1.37mm同軸線連接至主板,…

低通濾波器的原理以及作用

低通濾波器(Low-Pass Filter, LPF)是一種允許低頻信號通過,同時衰減或阻止高頻信號的電子電路或數字信號處理算法。其核心原理和作用如下:一、工作原理 1. 頻率選擇性- 低通濾波器基于頻率對信號進行篩選,其傳遞函數在…

[AI Coding] 一.騰訊CodeBuddy IDE內測、安裝及基本用法(國產AI IDE啟航)

在人工智能迅猛發展的今天,AI Coding 正逐步改變傳統編程范式。廣義上,AI Coding 是指以大語言模型(LLMs)為核心驅動,借助自然語言理解能力,自動生成、補全、調試與解釋代碼的智能編程方式。它不僅顯著降低…

《網安處罰裁量基準》碼農合規指北 v1.0——if (違規) { 罰金++ } else { 合規運行 }

尊敬的審核: 本人文章《〈網安處罰裁量基準〉碼農合規指北 v1.0——if (違規) { 罰金 } else { 合規運行 }》 1. 純屬技術交流,無任何違法內容 2. 所有法律引用均來自公開條文 3. 請依據《網絡安全法》第12條“不得無故刪除合法內容”處理 附&#xff1a…

機器學習——邏輯回歸(LogisticRegression)實戰案例:信用卡欺詐檢測數據集

使用邏輯回歸識別 信用卡欺詐行為:基于creditcard.csv的實戰與評估分析 項目背景 在金融行業中,信用卡欺詐檢測是一項關鍵任務。欺詐交易在整個交易中占比極低,導致數據極度不平衡。本案例通過經典數據集 creditcard.csv,構建邏輯…

Helm在Kubernetes中的應用部署指南與案例解析

在上一章節中,我們已經介紹了Helm的部署和基本使用方法。本章將通過實際案例,詳細演示如何使用Helm在Kubernetes集群中部署應用。一、Helm 核心價值解析優勢解決的問題類比傳統方式應用模板化重復編寫 YAML 文件手動編寫 20 資源清單文件版本控制缺乏部署…

如何最簡單、通俗地理解線性回歸算法? 線性回歸模型在非線性數據上擬合效果不佳,如何在保持模型簡單性的同時改進擬合能力?

線性回歸作為統計學與機器學習領域中最基礎且最重要的算法之一,其應用廣泛且深遠。它不僅是回歸分析的入門方法,更是后續復雜模型構建的重要理論基礎。理解線性回歸算法的本質,既有助于提升數據分析的能力,也能為掌握更復雜的機器…

藍橋杯----超聲波

(一)、超聲波1、原理(圖 一)發送信號階段:單片機通過翻轉發送的引腳P1^0,發送8個40MHZ的方波,此時開始計時。等待接收信號:通過單片機的接收引腳P1^1檢測,未接收到信號時…

Java學習-運算符

1.在代碼中,如果有小數參與計算,結果有可能不精確。2.整數參與計算,結果只能是整數。3.數字進行運算時,數據類型不一樣不能運算,需要轉成一樣的,才能運算。(1)隱式轉換(自…

一句話指令實現“2D轉3D”、“圖片提取線稿”

你是否曾為一張2D圖片無法完美展示3D效果而遺憾?是否曾因需要將手繪草圖轉為清晰線稿而耗時費力?這些曾讓設計師、電商賣家、內容創作者頭疼的難題,如今只需一句話指令,即可迎刃而解。一、案例一:2D圖片→3D模型痛點場…

層次聚類:無需“猜”K值,如何讓數據自己畫出“家族圖譜”?

層次聚類:無需“猜”K值,如何讓數據自己畫出“家族圖譜”?👋 大家好,我是小瑞瑞!歡迎回到我的專欄! 在上一期,我們學會了強大的K-Means算法,但它也給我們留下了一個“靈魂…

數據結構:鏈表(Linked List)

目錄 結構推導 回到最原始的問題 —— 我們如何存數據? 第二步:我們來看看數組的限制 第三步:那我們該怎么做呢? 第四步:我們推導鏈表的數據結構 結構講解 什么是鏈表? 什么是節點? …

[RK3566-Android11] U盤頻繁快速插拔識別問題

問題描述 做老化測試時,在使用U盤頻繁快速插拔的情況下,SDCard目錄會突然被Kill掉,然后又重新掛載上,這會導致系統及APP的數據因為讀寫異常,從而界面卡死正常U盤插拔不應該導致內部存儲卸載解決方案: SDK根…

【Golang】Go語言Map數據類型

Go語言Map數據類型 文章目錄Go語言Map數據類型一、Map1.1.1、map定義1.1.2、map的基本使用1.1.3、判斷某個鍵是否存在1.1.4、map的遍歷1.1.5、使用delete()函數刪除鍵值對1.1.6、按照指定順序遍歷map1.1.7、元素為map類型的切片1.1.8、值為切片類型的map一、Map map是一種無序…

Orange的運維學習日記--23.Linux計劃任務詳解

Orange的運維學習日記–23.Linux計劃任務詳解 文章目錄Orange的運維學習日記--23.Linux計劃任務詳解一次性計劃任務atd 服務at 命令基本語法交互式示例腳本文件示例timespec 格式示例查看與管理任務查看當前隊列查看任務詳細內容刪除任務用戶權限控制用戶周期性計劃任務查看任務…

Ubuntu 24.04.2 LTS 安裝mysql8.0.36保姆級教程(從安裝到遠程連接)

目錄 前言 一、系統準備 二、安裝 MySQL 8.0.36 1. 查看可用版本 2.如果沒有對應版本則需要手動下載mysql-apt-config(有則跳過) 2.1下圖是mysql-apt-config各版本對應的mysql版本 2.2下載mysql apt repository 2.3安裝 MySQL APT Repository 包 …

【LLM】講清楚MLA原理

需要你對MHA、MQA、GQA有足夠了解,相信本文能幫助你對MLA有新的認識。 本文內容都來自https://www.youtube.com/watch?v0VLAoVGf_74,如果閱讀本文出現問題,建議直接去看一遍。 按照Deepseek設定一些參數值:輸入token長度n10&…