基于嵌入式系统通用SD卡读写器的研究

来源 :数字化用户 | 被引量 : 0次 | 上传用户:guozhizhong8017
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】随着电子技术的不断发展,嵌入式系统越来越多的在控制类、消费类、通讯类等电子产品广泛应用,嵌入式技术越来越和人们的生活紧密结合。作为嵌入式系统的核心部分,MCU的更新迭代速度也在摩尔定律下逐渐加快。同时SD卡作为嵌入式系统中重要的存储器件,使用范围也越发广泛。但是针对不同型号的单片机编写与SD卡的底层驱动是一件必须但却繁琐的工作。因此,本文提出通过一种外围设备,使得嵌入式系统连接SD卡工作时,能实现即插即用,从而省去重复开发底层驱动的工作。
  【关键词】SD卡 嵌入式 数据读取
  嵌入式系统技术具有非常广阔的应用前景,与此同时对于嵌入式环境的信息处理需要存储大量的数据,配合适当的存储设备显得十分的迫切,而利用SD卡进行嵌入式的数据储存已经成为一种趋势。
  但是随着嵌入式领域的快速发展,每天都会有很多新型的芯片研制出来,但是如果要对每一种芯片都让它能利用SD卡进行存储,势必要对每款芯片单独开发其SD读写驱动,这实际上是一种资源的浪费和重复工作。
  为了解决这个问题,本文提出了一种能集合多种芯片的软硬件平台,使得新型芯片不用再去单独开发驱动,只要连接该平台将其作为一个中转器,就能实现一些主流的功能,比如SD卡的读写,USB串口的利用等等。本文的主要工作是在研究SD卡协议的基础上,基于该平台利用SPI接口实现对SD卡的支持。
  一、 硬件设计
  (一)SD卡电气特性。SD卡主要包括,9针的电气接口,8个寄存器,一个SD卡控制芯片和储存介质。一般标准SD卡容量最高为2G,高速卡的容量一般为2G到32G。 SD工作电压一般为2.6V-3.3V。 普通模式下时钟频率的范围为0-25MHz,最高的传输速率为12.5MB/sec(四数据线传输模式),高速模式下时钟频率范围为0-50MHz,最高的传输速率为25MB/sec。
  SD卡有两个可选的通讯协议:SD模式和SPI模式。SD模式是SD卡标准的读写方式,很多常用单片机没有集成SD卡控制器接口,同时在SD卡数据读写时间要求不是很严格的情况下,选用SPI模式可以说是一种最佳的解决方案。因为在SPI模式下,通过四条线就可以完成所有的数据交换,并且目前常用的单片机都集成有现成的SPI接口电路,虽然采用SPI模式速度没有优势,但对SD卡进行读写操作可大大简化硬件电路的设计。
  (二)SD卡通信模式。本文基于SD卡的SPI通信模式,因此所有的电路设计都是围绕该协议进行设计。物理层的SPI是指高速同步串行口。是一种标准的四线同步双向串行总线。它具有高速的,全双工,同步的通信的特点,并且在芯片的管脚上只占用四根线,节约了芯片的管
  脚,同时为PCB的布局上节省空间,提供方便。这种模式通常需要至少4根线,事实上3根也可以,它们是SDI(数据输入),SDO(数据输出),SCLK(时钟),CS(片选)。
  (三)嵌入式系统MCU。在嵌入式硬件设计中,一旦确定了系统功能,首先要做的就是主控芯片的选型。在考虑到满足性能,价格和功耗的基础上,同时结合本文的研究对象,所以所选芯片应具备SPI模块的MCU,二是所选MCU要具有较快的运算速度。因此这里初步选用核心芯片为STM32。
  二、系统设计
  本文研究初衷是使各种芯片通过该平台直接对SD卡进行操作,具体方式是通过在上位机编写程序,通过下载直接将SD驱动下载到该应用平台中,此后不同的单片机只需通过连接该平台就可以实现SD卡的读写操作。设计原理以及目的如图3所示。
  图3 系统原理
  对于SD卡的操作主要是应用到平台的底层接口库——interface库,该库定义了底层的大部分操作,该库调定义了很多结构,比如GPIO,SPI,IIC等,用户在编写应用或是驱动时,可以直接调用。
  如:
  struct interface_spi_t
  {
  RESULT (*init)(uint8_t index);
  RESULT (*fini)(uint8_t index);
  RESULT (*config)(uint8_t index, uint16_t kHz, uint8_t cpol, uint8_t cpha,
  uint8_t first_bit);
  RESULT (*io)(uint8_t index, uint8_t *out, uint8_t *in, uint16_t bytelen);
  };
  以上为SPI的结构示例,第一行是初始化;第二行是完成;第三行是设置参数分别是端口号,SPI速率,CPOL,CPHA,从高位开始还是低位开始;第四行是输入输出设置,参数分别为端口号,输出引脚,输入引脚,数据长度)
  在调用接口库时要先调用DAL层和MAL层,DAL层是驱动抽象层,因此所有的驱动都要先在该层编写。MAL层是储存器抽象层,所以例如SD卡,TF卡,DataFlash等,都需要调用该层。通过调用该层实现SD卡与MCU的挂载和通信。
  配置好MAL层与SPI接口后。可以正式开始对SD卡的操作。第一步是对SD卡进行初始化。由于SD卡具有多样性,因为版本不同会有操作上的差异,同时因为有SD,MMC,SDHC等一系列卡,如果操作不当,不仅得不到想要的数据回复,很可能会因电压不适用导致卡不能工作。所以在做SD卡的初始化时,需要同时针对不同类型的卡做必要的判断,根据不同卡的类型再做初始化操作。
  在发送CMD0初始化SD卡时,一定要先对SD卡上电74个时钟,这个部分很重要。它的原理可以是因为SD卡的工作电压是2.7V-3.3V,但并不是SD卡接通电源就能有3.3V的电压,在发送命令之前SD卡一直处于不工作状态电压低于2.7V,所以74个时钟周期的上电,才能保持SD卡能达到其要求的工作电压。   三、 测试结果与分析
  通过利用带有SD插槽的测试板与平台相连接,通过逻辑分析仪展示的波形图,可以将器件连接到上位机后逐步按流程测试SD初始化和读写步骤。实验硬件连接如图1。
  图1 测试硬件连接图
  命令CMD0测试
  按照流程,首先应该对发送CMD0命令做测试,正确的应答应该为1.VC中的数据回复波形图如图4.4
  图2 CMD0数据波形图
  在图2中,第一行为使能,可以看到已经拉低,第二行为时钟,第三行为MOSI,可以看到发给SD卡的CMD为0x40,argument为0,CRC为0x95,后面的高电平为一个字节的dummy values.第四行为得到的回复,忽略第一个字节后读出数据为0001.正确应答。
  命令CMD8测试
  得到CMD0正确应答后,要检测电压兼容性来判断是V1还是V2版本,应此发送CMD8.VC中返回数据如图3,波形图如图8.
  图3 CMD8数据返回值
  可以看到程序执行语句所停处可以看出判断该卡位SD的V2版本卡。其中resp_r1为发送CMD8的应答,可以看到为正确的应答1,同时发送CMD8后从数组resp_r3to7的16位数据也为正确应答0x01AA。因此可以得出结论,该卡为SD第二版本卡,同时使用现在的电压范围。
  由图4波形图可以看出,MOSI的发送命令为0x48, argument为0,CRC为0x87,由MISO的波形可以看出,得到正确的回复1.
  图4 CMD8数据波形图
  命令ACMD41测试
  再判断为V2版本的SD卡后,要发送ACMD41命令来确定现在电压范围。在发送ACMD41之前发先发送CMD55.发送CMD55的波形图如图5.
  图5 CMD55数据波形图
  由该波形图可以看出,MISO得到的数据为1,应答时正确的。此后的ACMD41的应答应该为0。
  经过测试和分析已经可以通过该平台实现SD卡的初始化和读写功能。但因为实验环境的限制,该平台目前之支持几种MCU。但按目前的测试结果,该平台应当可以用于现有的大部分的MCU。
  四、结束语
  本文提出的新型的利用USB转接线的SD卡的设计可以很好的解决嵌入式设备在多种MCU环境中的数据存储问题,极大的简化了开发的成本,提高了工作效率。本文提出的该方法可以做为需要大容量存储的嵌入式开发环境提供有价值的参考。
  参考文献:
  [1]SD Group and SD Card Association. SD Specifications-Physical Layer Simplified Specification(Version 2.00)[M],2006.
  [2]程克非.嵌入式系统设计[M].北京,机械工业出版, 2010.
  [3]陈卫东.嵌入式系统中的数据存储与交换[M]. 北京:北京邮电大学,2005.
其他文献
历史电视片是以掌握历史概念,探求历史发展动因和宣传历史为目的的。心理学研究表明,没有理解的记忆是不会长久停留在脑海中的,这样就会出现观众掌握得不够牢固,不久就会忘掉的现象。而历史电视片将历史知识化难为易,化繁为简,片中动态内容代替抽象的说教,使观众在轻松愉快的情境中很快地去欣赏、去鉴别、去认识历史。  如历史电视片《斯大林格勒保卫战》,我国观众对法西斯德国对苏联的进攻,以及苏联红军的战略反攻,因地
期刊
当前,我国正处在社会矛盾凸显期和突发事件高发期。伴随经济体制的深刻变革、社会结构的深刻变动、利益格局的深刻调整、思想观念的深刻变化,突发事件舆论引导面临着新形势和新任务,已成为宣传思想工作亟待加强和改进的重大课题。  一、突发事件舆论引导面临的新形势  舆论引导是指通过对有关信息的选择、组织、阐释、发布来影响公众舆论,使其向着自己希望的方向发展的信息传播过程。政府、媒体、公众构成了舆论引导的三要素
期刊
【摘 要】我国是一个环境污染比较严重的国家。我国企业生产效率与发达国家相比比较低下,资源能源利用效率低,生产方式比较粗放。发展经济的同时也造成环境巨大的污染和破坏。为了使排污企业能积极承担损失,促使其积极投身污染治理和生态的恢复工作,建立和推行环境责任险是非常必要的。本文的总体思路是分析目前我国环境责任险发展现状和发展中存在的问题,借鉴国际经验,探索适合我国的环境责任险发展道路。  【关键词】环境
期刊
【摘 要】通过对潮州市潮安区政府电子政务建设现状的调研,从政府门户网站建设,政务公开,政民互动,以及面向公众服务为核心的流程优化等方面对潮安区政府电子政务的基本现状进行了分析研究,总结出潮安区政府电子政务建设存在的不足,提出潮安区政府电子政务流程优化及发展的思路和对策。  【关键词】潮安区 电子政务 政府网站  随着电子信息技术、网络通信技术的快速发展,电子政务以其多功能、开放性、时效性、适应性等
期刊
Abstract: the world’s Fair (Word EXPO 2010, the world ‘s Fair), also known as international EXPO and world’s Fair, referred to as “the world EXPO, EXPO, Fair, is commissioned by the host country gover
期刊
【摘 要】国家对职业教育的支持为其发展提供了广阔空间。口腔技工专业属于职业教育,该专业学生的思想政治工作除具有普通职业教育的特点外,还有其自身的特点。学生的思想与心理受到社会、学校和家庭等各方面的影响,只有深入了解存在的问题,才能采取相应的措施做好学生的思想政治教育工作。  【关键词】口腔技工 思政工作 分析与总结  技工层次的教育是职业教育的重要一环。近年来,由于国家对职业教育的支持和社会对技工
期刊
【摘 要】随着时代的高速发展,我国医疗系统逐步完善。医疗设备管理问题成为医院健康运转的重要标志。笔者通过对天津市内综合医院调研,分析了医疗设备管理现状及存在问题,提出了相关建议。  【关键词】医疗设备 代化 管理  随着时代的高速发展,医疗系统逐步完善。在人民医疗水平不断提高的过程中,医疗设备的管理问题成为了医院健康运转的重要标志,高技术、高水平、高科技的医疗设备能给予医疗工作良好的辅助,有助于患
期刊
【摘 要】英美文学是世界文学宝库的重要组成部分,其丰富的作品在世界文学之林中独具一格。英美文学作为英美文化的载体,是品读和研究英美文化的窗口。英美文化气质是英美文学研究的重要议题之一。  【关键词】英美文学 英美文化 文化气质  英美文学创作中最突出的文化气质是浓厚的宗教传统。西方世界深受宗教文化的影响,在英美文学创作中表现为元处不在的宗教传统。这种宗教传统集中体现在《圣经》对英美文学创作的影响上
期刊
【摘 要】本文旨在通过对《得广厦千间—致万安》的研习、分析,来进一步探讨我国该领域作品创作的特征特点,以期获得一个对我国当代电子音乐领域新媒体声音装置艺术脉络较为清晰的认识,从而更好的在今后进行该领域的创作和研究。  【关键词】新媒体 装置艺术 电子音乐 声音装置  声音装置艺术是以声音作为呈现主体的装置艺术,随着电子音乐创作的不断发展和进步,以及现代音乐形式和体裁的愈发宽泛,“音乐”与“声音”的
期刊
【摘 要】Web2.0时代,微博以其短、平、快的优势,成为公众表达的新平台。微博在给社会生活带来便利的同时,也产生了一些负面的影响。近年来,微博暴力事件层出不穷。本文将运用传播学和社会学的相关理论,分析微博暴力产生的原因,并提出对策。  【关键词】微博暴力 成因 对策分析  美国学者拉扎斯菲尔德和莫顿曾指出:“大众媒介是一种既可以为善服务,也可以为恶服务的工具;而总的说来,如果不加以适当的控制,它
期刊