今天就拿出一个老古董的程序分享一下,说是老古董是因为这是我N年前(当时写的DG128后来我又移植到XS128了)给俺们学校智能车工作室写的SD卡驱动(当时时势所逼呀,迫切需要建立一个SD卡调试系统,事后证明当时的决定还是很英明神武的,呼呼,看着小弟们现在调车这么方便,想起俺们当年全凭感觉调车,那个惨啊,哎,又往事重提了...),其实还写了一个简单的FAT32的文件系统,不过由于文件系统介绍起来太麻烦(其实还有一个原因是当时自己水平太差,代码风格太烂,怕献丑,咳咳)这里就不提了,本篇就只介绍SPI模式读写SD卡的底层驱动,下面进入正题: (1)首先简单介绍一下SD卡,SD卡(Secure Digital Memory Card)是一种基于半导体技术的快速闪存**卡,被广泛用于数码相机,手机,PDA等便携式设备上,拥有高容量**,数据传输率快,灵活性好和安全性强等特点,哈哈,更细致的介绍搜搜百度百科就知道了。 (2)接下来就介绍设计到技术上的问题了,对SD卡的操作有两种模式,一种是SD模式,一种是SPI模式。SD模式速度快,安全性好,不过它需要引脚多而且主要是驱动起来复杂,当然有些片子自带SD模式的硬件接口(Kineits一些系列就自带)这样就方便多了,不过对HCS12XS这类没有SD接口系列来说就麻烦了,而SPI模式就方便许多了,虽然速度上没有SD模式快,不过贵在目前大多数片子都自带SPI硬件资源,就更别提SPI总线定义的祖宗(Motorola)的“亲儿子”飞思卡尔了,然后。。。就有了然后了,哈哈。下面就是两种模式的接口图:
|