AO820 3BSE008546R1
ABBAO8203BSE008546R1引言SD存储卡(SecureDigitalMemoryCard)由SD联盟(松下、东芝及美国SanDisk公司)于1999年8月共同开发研制,是一种基于半导体快闪存储器的新一代存储设备,被广泛地使用在便携式装置上,例如数码相机、PDA和多媒体播放器等。大小犹如一张邮票的SD存储卡,重量只有2g,却拥有高存储容量、快速数据传输率、极大的移动灵活性以及很好的安全性。SD卡支持SD和SPI两种传输模式,主机系统可以选择其中任意一种模式。SD模式允许4线的高速数据传输。SPI模式使用通用的SPI接口。这种模式相对于SD模式的不足之处是丧失了速度,但是却有着接口简单易于实现的优点。SD卡的SPI模式使得SD卡可以和市场上大部分微控制器进行通信。Microchip公司的dsPIC33F系列通用DSC(数字信号控制器),是在16位MCU架构基础之上添加了DSP引擎,从而具有数字信号处理功能的微控制器产品。该系列DSC集成了DCI(数据转换器)接口,尤其适用于语音和音频的应用。本文首先简要介绍SD卡的相关规范,之后利用dsPIC33FJ64GP706通用DSC设计了SD卡接口电路,最后通过SPI模式实现了对SD卡的基本操作。本设计可以使SD存储卡成为类似嵌入式系统产品的数据存储器。1SD卡相关规范简介SD联盟在2000年联合发布了SD卡规范1.O版本,包括3个部分:物理层规范,文件系统规范以及安全规范。SD卡规范V1.0采用FAT的文件系统,因此最大存储容量可以达到2GB。2006年,SD卡规范V2.0发布。新规范根据容量定义了两种卡,即标准容量SD卡和大容量SD卡。前者和1.O版本保持兼容,后者由于采用了FAT32文件系统,存储容量突破了2GB的限制。新规范定义的最大容量为32GB。但是由于成本的原因,标准容量SD卡仍然是市场的主流产品。在以微控制器为核心的嵌入式系统中,主要使用SD卡的SPI。模式进行通信,这使得标准容量的SD卡更为合适。本设计适用于2GB以下任意容量的SD卡。1.1概述SD存储卡在2.7~3.6V电压下正常工作,工作频率为0~25MHz。图1是普通SD卡的外形和引脚排列。在SPI模式时,第8和第9脚不使用。表1列出了各引脚在SPI模式时的定义和功能描述。普通SD卡的外形和引脚排列图中的WP是一个机械滑片,通过滑动到不同的位置来对SD卡进行写保护。SD卡内部有6个和接口相关的寄存器:OCR、CID、CSD、RCA、DSR和SCR。它们只能通过各自对应的指令来访问。OCR、CID、CSD和SCR携带SD卡的规范信息,RCA和DSR作为配置寄存器装载了SD卡的配置参数。1.2SPI协议系统上电之后,如果主机在将CS线声明为低电平的同时发送复位指令(CMDO),则SPI模式启用。SD卡在SPI模式下按字节进行通信,每一个指令和数据块都由数个字节组成并与CS信号对齐(也就是长度为8个时钟周期的整数倍)。主机和SD卡之间是通过指令与响应来实现交互的。图2给出了SPI模式下基本的指令与响应的时序。各引脚在SPI模式时的定义和功能描述点击看原图SPI模式下基本的指令与响应的时序点击看原图图中一个方格代表一个字节,H为逻辑全“1”,L为逻辑全“O”,X代表未知,Z为高阻态。NCS、NEC和NCR都是包含N个8时钟周期,具体N的取值范围在SD卡规范中给出了详细的说明。SD卡所有的指令,长度都是6字节。表2列出了指令格式。指令格式点击看原图在有效接收到主机发来的指令之后,SD卡将会把对应的响应数据段放在总线上,主机根据响应的内容判断SD卡的状态。所有的响应都是MSB优先传输。SD卡有4种类型的响应格式,分别为R1、R1b、R2、R3。除了SEND_STATUS和READ_OCR指令外,其他指令的响应都是格式R1。格式R1的长度为1字节,并且最高位总是0。其余每位均是错误指示,在指令接收过程中发生了什么样的错误,对应的错误位就会是“1”。R1b和R1具有相同的格式,它将伴随一个附加的busy信号。busy信号的长度可以是任意个字节。全零表示卡处在“忙”的状态。格式R2的长度为2字节,它是指令SEND_STATUS的响应。它的高字节和R1相同,低字节同样作为状态指示。当接收到了READ_OCR指令时,SD卡将会产生格式R3的响应,该响应的长度为5字节。最高字节和R1相同,其余的4字节将包含SD卡的OCR寄存器信息。在SD卡规范中详细描述了每条指令的格式内容及作用,并给出了各条指令所对应的响应。对于每种响应的信息也有详细的说明,具体信息参阅参考文献。2SD卡接口电路设计16位的dsPIC33F系列DSC具有高达40MIPS的指令周期,继承了Microchip公司之前8位和16位MCU产品的优点,并保持着对以往低成本开发系统的兼容性。dsPIC33FJ64GP706是其中一款64引脚的通用产品,拥有高达64KB的Flash程序存储器和16KB的数据存储器。该芯片集成了2个通用SPI接口,本设计使用SPI2模块来建立和SD存储卡的通信。图3所示为dsPIC33FJ64GP706与SD卡座的接口电路。为了防止在无卡接入或卡驱动器呈高阻态时总线悬空,在每根信号线上要接一个上拉电阻,根据SD卡规范(见参考文献,第6章),电阻的阻值可以取10~90kΩ。卡座的CD引脚是SD卡检测信号引脚,当有卡插入时,该引脚对地短路。WP是写保护信号引脚,在卡插入且没有写保护时,该引脚对地短路;如果SD卡写保护或没有卡插入,该引脚通过上拉电阻接到电源正极。dsPIC33FJ64GP706与SD卡座的接口电路1769-PB42711-M3A18L11746-IB321746-N181746-OW161747-L5511746-NO4V1756-M24/AVAP016-A1747-L532RCM470LYSYS68K/CPU-40B/16-011746-A41746-P1XFR600-4140CRP93100CE15DN3MVME13364-W5001B01CSDCS-FIS-311746-P31746-NI8TC-RPCXX16ES7972-0BB12-0XA01769-OB321769-OF8V1769-IF81769-IQ321769-OB16140DAI75300M16-JY-24D1746-NT4DO810SD832SS832505-6660140XBE10000140ACI04000140CRP93200140NOE771011746-IM16140CPU43412AEXTERT70DFI-110-340FPS000电源140CPS11420140CRA93200140CRP93200SW926C5617056194A20B-2000-0170/06B1746-P1140XBP016009200SHCPUMC-4/11/10/4001746-OB32PO916JPHD22010-3140ACI0400057C404C6ES7315-2AG10-0AB0A06B-6130-H0021793-IE4S505-6660DI810DO810RPBA-01TU811V13BSE013231R1TU836V11747-L5321747-SDN2711-B6C10L1FSP400-24PCI-GPIBDCM10EFBM04140AVI030006DR5210-0EN00-0AA007KT9451402645-200PC832-001-T140NOE77101503956-621761-L16BWAHMCPJ250W5L1746-P21746-P4UGRMEM-01SNQ12FBM416ES7972-0BB12-0XA0FR-A024-0.2KP140ACO13000140CPS11420C140CPU67160140CRA93200140CRP93200140XBP00600140XBP01600140XTS00200140ACI03000140DDI84100140DDO84300140NOE77101490NOR00003490RI000400520422000600544000600558000ASMBII003MAO185100MAO186100MAO329001TSXETG100TSXETW3GEXT1UNYXCAUSB033XBTGT52306ES7416-2XN05-0AB01784-KTX1784-KTXIC697ALG230FC-280SAV100SCCMPM825DAI01WDP5-318.051-00140CRA931001756-IF8PMC-2/11/05/000/00/00/01/00/001746-NI81747-L551B1747-L5521747-L5531756-ENBT1756-PA75SR4891746-A101746-IV161746-OW161746-P21746-P41747-L551140ACI040001179BX12CR14VS364TYP:0608830109Z4LC-C28TC-IAH161CPUXVME-653ENT-10515-R1746-NO4I1746-NT4545-1105PM450CLA1201756-A101756-IF6CIS1756-N21756-PA721756-TBCH1756-TBNH1756-IB16I1786-RPASR1008B62-4SN140ACI040001756-IB161756-IF83HNE00313-1(含10米线及插头)KSD1-16KSD1-481336-SN-SP16A1770-XYC1746-P22711-M3A18L1140CPS11420140ACI030001794-OW82711P-RDT10C1756-CNB1756-ENBT1756-IM16I1756-L61PC-DIO-96A06B-6114-H206IC693MDL6551771-A3B1771-IAD1771-OW16ATR-NO:001046921FK6100-8AZ91-1ZZ9-Z6ES7322-1BL00-0AA01746-IB321746-P21029DPC-A984-1451761-L16BWA1784-PKTXGPIB-USB-HS6GT2001-0AA006GT2002-0AB00DB-2620A140AMM09000140DDO843001757-SRMIC697BEM7336FX2001-5QS121756-IB161756-IF81756-N21756-OB16D1756-OF81756-PA721756-TBCH1756-TBNH1794-IE81756-A71756-ENBTTK-PRS02113103AQD07140CPS114201746-NT81756-CNB1757-SRM6AR1301-0DD10-0AA06AR1302-0AD00-0AA0TSXCAY211756-L623700AF25140CPU671603G5A2-OC221-E6SE7016-1TA51-Z1746-NO4VSC902-001-011747-L542P0904HA140ERT85410DFP11A51304754-1501747-L5526ES7322-1BL00-0AA045C92257C5541747-L542140ERT85410INNPM22CP30BCP40BCP60110XCA20300110XCA28201140ACI03000140CPS12420140CRA93200140DDI84100140DDO84300TWDLCAA40DRF1769-IQ32XVME6746GK7443-5FX02-0XEO1746-NO4V1747-L551140XTS00200DIMA3-ES-161756-A131756-L621769-ECR1769-L35E1769-PA4/ASST-PFB-CLXSST-SR4-CLXMVI69-PDPMV1140CPU65150140DDI35300140DRA84000140CPS114201784-PCIC1756-CNBR/D3A99158G01140XBP01000140XBP01600TSXBLZL01GJR5252100R32611769-ECR1769-OF4CI1747-SNRFT9739D41756-OF4-AEJA310AEAS4A_22DC/NF10-150KPA(A)BOU8A413150FPF8050HRUJ-001SYSTEMX3850X51770-XYC1747-L5521746-OW16FBM2422711-K9A11746-OW161747-L542PCD4.B901606-XL240DR1756-IF81756-L621756-PA721756-TBCH1X00416H0122C-D088A10322C-D088A1O3)
厦门渤格电气技术有限公司
业务 QQ: 1982497648