引脚内存卡怎么格式化

内存卡怎么格式化  时间:2021-01-16  阅读:()
Rev.
0|Page1of8AN-1443应用笔记OneTechnologyWayP.
O.
Box9106Norwood,MA02062-9106,U.
S.
A.
Tel:781.
329.
4700Fax:781.
461.
3113www.
analog.
com/cn通过ADuCM3027/ADuCM3029SPI总线与SD卡接口简介安全数字(SD)卡是便携式设备和嵌入式系统中最常用的闪存器件.
SD卡兼具尺寸小、功耗低、使用简单和成本低等优点,堪称理想的存储解决方案.
SD卡与大多数设备兼容,因此可以使用任何计算机轻松访问和获取卡中的数据,以便根据应用进一步处理.
本应用笔记将讨论如何使用ADuCM3027/ADuCM3029处理器的串行外设接口(SPI)与SD卡进行接口.
本应用笔记将详细介绍有关SD卡的一般信息(例如,引脚排列、通信标准和设计注意事项),还将讨论SPI基础知识(例如,信号和波形)以及ADuCM3027/ADuCM3029SPI接口的特性.
所需电路板15344-001图1.
所需电路板:EVAL-ADuCM3029EZ-KIT评估板(左侧),与Arduino兼容的SD卡扩展板(右上方),SD卡(右下方)AN-1443应用笔记Rev.
0|Page2of8目录简介.
1所需电路板.
1修订历史.
2SD卡.
3容量和类型.
3接口和模式.
3SD卡SPI协议.
4文件分配表(FAT)文件系统.
5SD卡实现6ADuCM3027/ADuCM3029SPI.
6硬件实现6软件实现7SD卡与微控制器接口的示例代码.
8参考文献8修订历史2017年7月—修订版0:初始版应用笔记AN-1443Rev.
0|Page3of8SD卡SD卡由SD协会(SDA)于1999年推出,旨在扩展用于便携式设备的多媒体卡(MMC)的能力.
从那时起,SD卡便得到广泛应用并已成为行业标准,现在大多数便携式设备都使用SD卡来存储图片、音乐等文件.
SD卡由引脚接口、存储内核、内部寄存器和内部控制器组成,如图2所示.
存储内核用于存储数据,具有从1MB到2TB的不同存储容量.
内部寄存器用于存储SD卡状态.
引脚接口用于连接SD卡与使用SD卡的主器件(通常是微控制器).
卡接口控制器负责管理SD卡的存储内核.
该控制器通常处理闪存中数据的写入、读取和擦除操作、错误处理以及闪存耗损均衡.
因此,实现SD卡的主微控制器只需通过一系列数据包将命令和数据发送到卡接口控制器即可,而不必管理存储内核.
DAT2CMDVSS1CLKVSS2RESETCARDINTERFACECONTROLLERVDDDAT0DAT1CD/DAT3INTERFACEDRIVERRESETOCR[31:0]CID[127:0]RCA[15:0]DSR[15:0]CSD[127:0]SCR[63:0]SSR[511:0]CSR[31:0]MEMORYCOREINTERFACEPOWERONDETECTIONMEMORYCORE15344-002图2.
SD卡内部构件容量和类型SD卡具有不同的类型、尺寸和容量.
SD卡的类型取决于存储容量以及遵循的SD标准.
表1列出了不同类型的SD卡及其容量.
表1.
SD卡类型和容量常见SD卡类型容量SD标准容量(SDSC)1MB至2GBSD高容量(SDHC)2GB至32GBSD扩展容量(SDXC)≥32GBSD卡还具有不同的外形和尺寸,例如标准尺寸、迷你尺寸和微型尺寸,如图3所示.
2GB2GB2GB11.
0mm15.
0mm21.
5mm20.
0mm32.
0mm24.
0mm15344-003图3.
SD卡尺寸接口和模式SD卡的引脚接口具有不同的引脚配置,具体取决于使用的通信模式和卡外形.
通常,接口由电源线(电源和地)、时钟线、数据线和命令线组成.
一些较新的高速卡中实现了低电压差分接口,旨在迎合高速和高带宽传输需求.
与SD卡的通信通常在SD总线模式下完成,这是SDA定义的接口.
在这种模式下,接口具有单独的命令线、数据线和时钟线.
(后一句话重复,PDF转档问题)SD卡的类型取决于存储容量以及遵循的SD标准.
(这句话重复,PDF转档问题)传输格式为专用格式,但如果嵌入式系统不具备SD接口,则很难实现这种格式.
AN-1443应用笔记Rev.
0|Page4of8为了支持不具备SD接口的嵌入式系统和微控制器,SDA规范中另增如下定义:SD卡必须支持SPI总线模式.
在这种模式下,SD卡可以通过微控制器中广泛使用的SPI进行操作.
不过,SPI总线模式仅支持SD卡标准协议的一部分.
图4给出了标准SD卡和微型SD卡的引脚排列.
15344-00491123456782345678图4.
标准SD卡和微型SD卡的引脚排列表2给出了标准SD卡的引脚排列说明.
表2.
标准SD卡功能引脚编号名称SD模式SPI模式1CS/DAT3数据线3片选2CMD/DI命令线MOSI3VSS1地地4VDD电源电压电源电压5CLK时钟时钟(SCK)6VSS2地地7DAT0数据线0MISO8DAT1数据线1未用或IRQ9DAT2数据线2未用表3给出了微型SD卡的引脚排列说明.
表3.
微型SD卡功能引脚编号名称SD模式SPI模式1DAT2数据线2未用2DAT3/CS数据线3片选3CMD命令线MOSI4VDD电源电压电源电压5CLK时钟时钟(SCK)6VSS地地7DAT0数据线0MISO8DAT1数据线1未用或IRQSD卡SPI协议SPI总线模式下使用的SD协议与SD总线模式下使用的协议略有不同.
以SPI总线模式与SD卡进行通信是一种简单的命令响应协议,由主器件(微控制器)发送命令帧来启动.
SD卡接收到命令帧后,会根据主机微控制器发送的命令决定发送响应帧或错误帧进行响应.
发送至SD卡的命令帧为6字节结构.
命令帧始终以01这两位开始,后跟6位命令编号.
初始字节数据包后跟一个从大到小格式的4字节参数.
最后一个字节由7位循环冗余校验(CRC)和1个停止位地址组成(见图5).
CRC2位6位命令参数32位7位1位10115344-005图5.
命令帧格式根据所发送命令帧的不同,SD卡会以不同的响应帧做出响应.
在SPI总线模式下,只有三种响应可供使用:R1、R3和R7(见图6).
15344-00601位1位8位32位1位1位1位1位1位1位R1响应工作状态寄存器R1响应参数错误地址错误擦除序列错误CMDCRC错误非法CMD擦除状态处于空闲状态R3/R7响应图6.
响应帧格式接下来,SD卡会在每个命令之后发送R1响应令牌,但SEND_STATUS命令除外.
该命令的长度为单字节,最高有效位(MSB)始终设为0.
其他位用于错误指示;如果为1,则表示存在错误.
错误标志的含义定义如下:空闲状态:卡处于空闲状态和正在运行初始化过程.
擦除复位:因接收到退出擦除序列命令而在执行前清除擦除序列.
非法命令:检测到非法命令.
通信CRC错误:最后一个命令的CRC校验失败.
擦除序列错误:擦除序列命令中出错.
地址错误:命令中使用了与块长度不符的地址.
应用笔记AN-1443Rev.
0|Page5of8参数错误:命令的参数(例如,地址或块长度)超出了该卡所允许的范围.
SD卡的SPI模式下使用的命令仅仅是SD模式下使用的命令的一部分.
表4详细列出了SPI模式下的命令.
该命令集仅限于初始化卡、检索一些重要的详细信息,然后在存储卡中读写数据块.
表4.
SPI模式命令集命令说明CMD0复位卡CMD8请求获取当前工作状态CMD55特定应用命令(ACMD)的前导命令ACMD41启动卡初始化过程CMD58请求访问工作状态寄存器(OCR)CMD16更改块长度CMD17读取数据块CMD24写入数据块CMD32设置要删除的起始块CMD33设置要删除的结束块CMD38启动由CMD32和CMD33设置的块擦除文件分配表(FAT)文件系统常用的SD卡默认以FAT文件系统格式化.
FAT文件系统是一种适用范围广泛的传统文件系统,几乎受所有PC、移动设备和嵌入式系统的支持.
该文件系统只需要一个小型稳健的轻量级驱动程序提供支持即可,这在微控制器或嵌入式系统中可以轻松实现.
由于该基本文件系统广受支持,因此对于在FAT格式化的存储卡上保存的任何文件,几乎在所有PC上都可以查看和修改.
SD卡规范定义了不同容量的SD卡中可以使用的FAT文件系统类型(更多信息,请参阅参考文献部分).
AN-1443应用笔记Rev.
0|Page6of8SD卡实现ADuCM3027/ADuCM3029SPIADuCM3027/ADuCM3029微控制器具有三个SPI接口(SPI0、SPI1和SPIH),可用于与各种SPI兼容器件(例如,高速传感器和存储器件)进行通信.
每个SPI端口都有四个硬件片选信号,分别用于控制四个SPI兼容器件.
此外,SPI总线外设还包括可编程波特率、时钟相位和时钟极性以及不同的硬件流控制机制,而且既可以用作SPI主器件,也可以用作SPI从器件.
这三个SPI在编程和模型方面完全相同,只是连接的内部总线接口有所不同.
SPIH外设与高性能的高级外设总线(APB)相连,时钟速率与处理器时钟相同.
SPI0和SPI1与主APB相连.
ADuCM3027/ADuCM3029微控制器的许多外设都使用APB,这会导致有更多的模块需要仲裁,延迟的不确定性也会更大.
因此,在较高数据速率下,SPIH更为高效,传输数据的延迟也更低.
硬件实现下面列出了用于演示SD卡与ADuCM3027/ADuCM3029处理器接口的硬件:1.
EVAL-ADuCM3029EZ-KIT评估板2.
与Arduino兼容的数据记录扩展板3.
4GBSanDiskSD卡EVAL-ADuCM3029EZ-KIT评估板EVAL-ADuCM3029EZ-KIT评估板是一套适用于ADuCM3027/ADuCM3029处理器的评估系统(见图7).
该评估板包含丰富的板载组件,可用于评估ADuCM3027/ADuCM3029微控制器.
EVAL-ADuCM3029EZ-KIT还包含EI3接口和Arduino接口.
这两个接口可用于连接各种子板和扩展板,从而为EVAL-ADuCM3029EZ-KIT评估板实现功能扩展.
15344-007图7.
EVAL-ADuCM3029EZ-KIT评估板与Arduino兼容的数据记录扩展板本演示中使用的数据记录扩展板是大多数Arduino记录项目所常用的扩展板(见图8).
记录扩展板的SPI与ADuCM3027/ADuCM3029微控制器的SPIH端口相连.
15344-008图8.
数据记录扩展板大部分数据记录扩展板都包含一个互补金属氧化物半导体(CMOS)缓冲器(例如,CD4050),用于充当3.
3V至5V电压转换器并保护SD卡免受损坏.
通常,SD卡的数据输入、串行时钟和片选线会被缓冲,因为它们是卡的输入引脚.
不过,当将SD卡与ADuCM3027/ADuCM3029微控制器相连时,该电压转换器则为选配器件,这是因为微控制器的输出与SD卡具有相同的电压电平.
SPIH接口和通用输入/输出(GPIO)端口1共用ADuCM3027/ADuCM3029微控制器的引脚.
SPIH、SCLK、MOSI和MISO信号线也使用微控制器引脚(引脚P1_02、引脚P1_03和引脚P1_04),因此这些引脚必须保留未用.
应用笔记AN-1443Rev.
0|Page7of8本应用笔记中的应用程序使用GPIO引脚P2_01作为SD卡的片选,而不使用SPIH专用片选(见图9).
1P2_013.
3VR1100kR31kD1D21N4148X1FPS009-3004R2100k3.
3VP1_03P1_02P1_0423456789COM+_TERMWRITE_PROT3.
3VCSDIDOSCLKGND15344-009图9.
数据记录扩展板原理图软件实现要测试该应用程序,请使用以下软件工具:IAREmbeddedWorkbench7.
60,可访问EVAL-ADuCM3029EZ-KIT页面下载该软件.
适用于IAR的ADuCM302x软件,可访问EVAL-ADuCM3029EZ-Kit页面进行下载.
ChaN提供的FatFs库R0.
12a,可从FatFs-通用FAT文件系统模块网站获取.
该应用程序使用FatFs库来处理文件系统调用,以及读取和修改FAT格式化SD卡中的文件.
要使用该文件系统库,必须实现硬件抽象层以处理低级硬件相关函数调用.
SPI接口初始化要初始化ADuCM3027/ADuCM3029SPIH外设,请按照下述步骤操作:1.
配置SPIH外设.
2.
将GPIO引脚P2_01配置为片选.
3.
为GPIO1和SPIH共用的引脚配置引脚复用.
配置SPIH外设SPIH外设配置包括一系列调用设置,让SPIH外设进入就绪状态,准备与SD卡进行通信.
要配置SPIH外设,请按照下述步骤操作:1.
开启SPIH外设.
2.
设置位速率.
请注意,SPIH的位速率因微控制器与SD卡间的互操作而异:当微控制器正在对SD卡进行通信初始化时,位速率必须介于100kHz和400kHz之间.
当SD卡配置为SPI模式后,位速率最高可达20MHz,具体取决于硬件设计和微控制器容量.
3.
设置连续工作模式.
在连续模式下,SPI外设可在不取消或中断传输的情况下执行多字节收发操作.
下面给出了用于配置ADuCM3027/ADuCM3029微控制器的SPIH的代码示例:staticuint8_tSPIMem[ADI_SPI_MEMORY_SIZE];staticADI_SPI_HANDLEspih_Dev;//OpentheSPIadi_spi_Open(SPI_DEV_NUM,SPIMem,ADI_SPI_MEMORY_SIZE,&spih_Dev);//Setthebitrateadi_spi_SetBitrate(spih_Dev,100000);//Setthecontinuousmodeadi_spi_SetContinousMode(spih_Dev,true);配置片选片选使用GPIO引脚(引脚P2_01),而不使用SPI专用片选.
使用定制的GPIO引脚可以让用户完全控制片选信号.
SD卡和微控制器之间的一些事务需要特别处理片选信号,以便软件适当地控制片选.
要配置片选引脚,请将SPIH片选选项设置为无,然后使用以下代码将GPIO引脚P2_01配置为输出:adi_spi_SetChipSelect(spih_Dev,ADI_SPI_CS_NONE);adi_gpio_OutputEnable(SPI_CS_PORT,SPI_CS_PIN,true);adi_gpio_SetHigh(SPI_CS_PORT,SPI_CS_PIN);AN-1443应用笔记2017AnalogDevices,Inc.
Allrightsreserved.
Trademarksandregisteredtrademarksarethepropertyoftheirrespectiveowners.
AN15344sc-0-7/17(0)Rev.
0|Page8of8配置微控制器引脚复用器GPIOx_CFG寄存器是保存ADuCM3027/ADuCM3029微控制器引脚复用器设置的配置寄存器.
SPIH使用引脚P1_02、引脚P1_03和引脚P1_04作为SD卡的连接引脚.
要配置SPIH使用的引脚,请设置REG_GPIO1_CFG寄存器中相应的位选项.
关于该寄存器的更多信息,请参阅集成电源管理的ADuCM302x超低功耗ARMCortex-M3MCU硬件参考手册.
下面给出了SPIH使用的端口配置寄存器设置的代码示例:#defineSPI0_SCLK_PORTP1_MUX((uint32_t)((uint32_t)1<<4))#defineSPI0_MISO_PORTP1_MUX((uint32_t)((uint32_t)1<<8))#defineSPI0_MOSI_PORTP1_MUX((uint32_t)((uint32_t)1<<6))*((volatileuint32_t*)REG_GPIO1_CFG)=SPI0_SCLK_PORTP1_MUX|SPI0_MISO_PORTP1_MUX|SPI0_MOSI_PORTP1_MUX;收发数据配置SPI外设进行SD卡通信后,该接口现在即可收发数据包和启动SD卡.
adi_spi_ReadWrite函数用于SD卡的数据收发.
该函数需要一个保存数据和SPI器件指针的结构指令.
下面给出了本部分所述内容的代码示例:ADI_SPI_TRANSCEIVERspi_xcv_buff;spi_xcv_buff.
pTransmitter=txbuff;spi_xcv_buff.
pReceiver=rxbuff;spi_xcv_buff.
TransmitterBytes=txsize;spi_xcv_buff.
ReceiverBytes=rxsize;spi_xcv_buff.
nTxIncrement=1;spi_xcv_buff.
nRxIncrement=1;adi_spi_ReadWrite(spih_Dev,&spi_xcv_buff);ADI_SPI_TRANSCEIVER是一个结构指令,用于保存事务中使用的缓冲区内容.
必须定义用于发送、接收、数据大小和增量的缓冲区.
发送和接收缓冲区为uint8_t数组,大小与发送或接收的数据一致.
发送数据大小约为6字节到8字节,接收数据大小从1字节到512字节.
请注意,adi_spi_ReadWrite函数是一个阻塞函数,微控制器需等待当前事务成功后才能执行下一条指令.
SD卡与微控制器接口的示例代码本应用笔记附有SD卡与ADuCM3027/ADuCM3029接口的示例代码.
要查看示例代码,请将项目解压缩并导入IAREmbeddedWorkbench7.
6(可从EVAL-ADuCM3029EZ-KIT产品页面下载).
参考文献集成电源管理的ADuCM302x超低功耗ARMCortex-M3MCU硬件参考.
ADI公司,2016年.
SD规范第1部分,物理层精简版规范,版本5.
00.
SD卡协会.
2014.

数脉科技:六月优惠促销,免备案香港物理服务器,E3-1230v2处理器16G内存,350元/月

数脉科技六月优惠促销发布了!数脉科技对香港自营机房的香港服务器进行超低价促销,可选择30M、50M、100Mbps的优质bgp网络。更大带宽可在选购时选择同样享受优惠,目前仅提供HKBGP、阿里云产品,香港CN2、产品优惠码续费有效,仅限新购,每个客户可使用于一个订单。新客户可以立减400元,或者选择对应的机器用相应的优惠码,有需要的朋友可以尝试一下。点击进入:数脉科技官方网站地址数脉科技是一家成...

华纳云E5处理器16G内存100Mbps688元/月

近日华纳云商家正式上线了美国服务器产品,这次美国机房上线的产品包括美国云服务器、美国独立服务器、美国高防御服务器以及美国高防云服务器等产品,新产品上线华纳云推出了史上优惠力度最高的特价优惠活动,美国云服务器低至3折,1核心1G内存5Mbps带宽低至24元/月,20G ddos高防御服务器低至688元/月,年付周期再送2个月、两年送4个月、三年送6个月,终身续费同价,有需要的朋友可以关注一下。华纳云...

Kinponet是谁?Kinponet前身公司叫金宝idc 成立于2013年 开始代理销售美国vps。

在2014年发现原来使用VPS的客户需求慢慢的在改版,VPS已经不能满足客户的需求。我们开始代理机房的独立服务器,主推和HS机房的独立服务器。经过一年多的发展,我们发现代理的服务器配置参差不齐,机房的售后服务也无法完全跟上,导致了很多问题发生,对使用体验带来了很多的不便,很多客户离开了我们。经过我们慎重的考虑和客户的建议。我们在2015开始了重大的改变, 2015年,我们开始计划托管自己...

内存卡怎么格式化为你推荐
域名价格域名费用大概是多少?cm域名注册cm域名是什么含义?价格是多少?注册地址是多少?有什么投资价值?域名空间空间域名是什么意思域名注册网网站域名申请,在那备案?100m网站空间网站空间100M和1000M有什么区别 ?手机网站空间谁有上手机网站刷空间人气的网址论坛虚拟主机最适合做论坛的虚拟主机是什么?备案域名购买购买已备案域名好使吗?免费二级域名哪里有免费域名,免费二级域名,越短越好。无广告。免费二级域名那里有免费注册二级域名的网站
photonvps 美国主机评测 debian源 韩国网名大全 华为网络硬盘 in域名 服务器是干什么用的 网购分享 华为云建站 php服务器 114dns 群英网络 后门 重庆服务器 服务器是什么意思 此网页包含的内容将不使用安全的https 西部主机 dns是什么意思 电脑主机响 更多