一种模拟spi方式的双sd卡功能的制作方法

文档序号:6354632阅读:729来源:国知局
专利名称:一种模拟spi方式的双sd卡功能的制作方法
技术领域
本发明涉及一种模拟SPU方式的双SD卡,尤其涉及在其6223D平台上了实现了MTK平台不支持的双SD卡功能。
背景技术
随着手机的发展,手机平台也是五花八门。有高端的,也有低端的;有普通的,也有智能的;有品牌的,也有山寨的……
目前在中国手机开发平台中比较流行的就是MTK。MTK平台以其集成度高、开发周期短、成本较低等优势占据了手机市场的一席之地。而其MT6223D平台更是因为平台较为稳定、成本更为低廉而在低端市场独占鳌头。为了提高其低端机的竞争力,在其6223D平台上了实现了一些MTK本来不支持的功能,比如GPIO 口模拟并口方式的CAMERA功能、GPIO 口模拟SPI方式SD卡功能和软T卡热插拔功能等。而模拟SPI方式的双T卡功能就是在GPIO口模拟SPI方式的SD卡功能的基础上发明出来的。

发明内容
针对以上所述技术的不足,本发明的发明目的在于提供了一种模拟SPI方式的双SD卡功能。一种模拟SPI方式的双SD卡功能,所述的SD需要高速读写,同时也要使手持等嵌入式设备能方便使用,特设有两个访问接口 SD模式接口和SPI接口。SD卡在上电初期,卡主控通过检测引脚I (DAT3)来决定使用SD模式还是SPI模式。当此脚接高电平时,卡进A SD模式;当此脚为低电平,卡则工作于SPI模式。所述的SD卡的SPI协议与SD总线协议相似,如果一片SO卡没有数掘要发送,则将DO引脚保持在全I的空闲状态,因此不是在每个时钟沿都从SO卡的DO引脚接收有效数掘。当SD卡有数据要回送给主机时,要在数据之前先发送一些以0为起始位的特定令牌;当这些令牌发送完毕之后,SD卡要发送的所有定长数据立即被发送出去。由于接收器事先己经知道要接收的字节数,因而响应中不包含表征长度的字节。此外,由于在起始令牌和数据都发送完毕后才会进入空闲状态,所以全部数掘字节都以不带前缓的原始形式发送,和总线上其它所有通信过程一样,令牌大小也要和SPI传输的8位边界对齐。主机发送给SD卡的指令和数据都进循类似的格式,以全I指示总线空闲。除了状态令牌以外,所有传输都由附加在数据末尾的循环冗余校验[CRC)码进行保护。系统提供两种CRC算法CRC — 7用于小数据块;CRC — 16则用于大数据块。CRC是SD SPI接口的司法部分,但除非应用系统限制它的使用,否则应该使用CRC来确保数据的完整性。


图I为本发明SD卡总线接口示意 图2为本发明原理图结构示意图;图3为本发明原理图结构示意图。
具体实施例方式如附图I所示,DIN、CLK、DOUT三个引脚共用三个GPIO 口,而只有CS脚是分开控制的,即CSl控制SDl, CS2控制SD2 ;这种设计共需要五个GPIO 口,在GPIO 口很紧张的平台上显示了很大的优势。为了增加电源的稳定性,在VDD处增加2. 2uF电容到地。如图2、3所示,SD卡SPI模式的初始化过程如下
1、将CS脚拉底;
2、复位,指令为CMDO;
3、判断SD卡的版本,是2.0还是I. 1,指令为CMD8 ; 4、激活SD卡,指令为CMD55;
5、设置数据块为512字节,指令为CMD16;
6、读出SD卡的CSD数据,指令为CMD9;
CSD数据其中反应SD卡容量的是C_SIZE、C_SIZE_MULT和WRITE_BL_LEN值;若SD卡版本是2. 0,则SD卡容量=(C_SIZE+1) X 512 X 1024 bit ;若SD卡版本是I. 1,则SD卡容量=(C_SIZE+1) X C_SIZE_MULXWRITE_BL_LEN bit ;
双SD卡的切换并不难,因为SD卡的初始化在开机的时候就已经完成,而SD的电源又是常供,以后切换不需要重新对SD卡初始化,只需操作两步可以实现
一硬件上对CS进行切换;
二 软件上对SD卡的类型、CSD数据进行切换。由于模拟SPI方式的读写速度比较慢,在听SD卡中的歌曲时会有“卡歌”现象。为了解决此问题,将对GPIO的读写操作函数剥离成直接读写寄存器的方式,并将模拟SPI方式的读写函数放到了内部RAM中运行。此种方案大大加快了 SD卡的读写速度,“卡歌”问题迎刃而解。由于双SD卡初始化文件系统的速度比较慢,对于速度较慢的SD卡,初始化时间更长,有时需要一分钟甚至更长的时间,严重影响开机速度,这就需要将初始化SD卡文件系统的工作放到后台处理,而不影响手机正常使用。后台处理机制是在SD卡热插拔的基础上做了修改,即在刚开机时默认SD卡不存在,然后调用SD卡热插拔函数,让SD卡的文件系统的重构在后台处理而不影响前台处理的速度;此机制在读写速度慢的SD卡上显示了很大的优势。
权利要求
1.一种模拟SPI方式的双SD卡功能,其特征在于所述的SD卡在上电初期,卡主控通过检测引脚I (DAT3)来决定使用SD模式还是SPI模式;当此脚接高电平时,卡进入SD模式;当此脚为低电平,卡则工作于SPI模式。
2.根据权利要求I所述的一种模拟SPI方式的双SD卡功能,其特征在于所述的采用GPIO 口模拟SPI方式对SD卡进行操作,用CS引脚对SD卡进行切换,当CS脚为低电平时,则选中此SD卡。
3.根据权利要求I所述的一种模拟SPI方式的双SD卡功能,其特征在于所述的SD卡的SPI协议与SD总线协议相似,如果一片SO卡没有数掘要发送,则将DO引脚保持在全I的空闲状态,因此不是在每个时钟沿都从SO卡的DO引脚接收有效数掘。
4.根据权利要求I所述的一种模拟SPI方式的双SD卡功能,其特征在于所述的当SD卡有数据要回送给主机时,要在数据之前先发送一些以0为起始位的特定令牌;当这些令牌发送完毕之后,SD卡要发送的所有定长数据立即被发送出去。
5.根据权利要求I所述的一种模拟SPI方式的双SD卡功能,其特征在于所述的主机发送给SD卡的指令和数据都进循类似的格式,以全I指示总线空闲。
6.根据权利要求I所述的一种模拟SPI方式的双SD卡功能,其特征在于所述的全部数掘字节都以不带前缓的原始形式发送,和总线上其它所有通信过程一样,令牌大小也要和SPI传输的8位边界对齐。
7.根据权利要求I所述的一种模拟SPI方式的双SD卡功能,其特征在于所述的系统提供两种CRC算法CRC — 7用于小数据块;CRC — 16则用于大数据块。
全文摘要
本发明公开了一种模拟SPI方式的双SD卡功能,采用GPIO口模拟SPI方式对SD卡进行操作,用CS引脚对SD卡进行切换,当CS脚为低电平时,则选中此SD卡;此方案共占用5个GPIO口,在GPIO口资源很紧张的情况下,显示了很大的优势。由于SD卡的文件系统创建速度较慢,采用后台处理的方式对SD卡文件系统重构,不会影响开机速度。两张SD卡可以相互拷贝,并将模拟SPI读写函数放到内部RAM中运行,加快了拷贝速度。
文档编号G06K17/00GK102646202SQ201110040420
公开日2012年8月22日 申请日期2011年2月18日 优先权日2011年2月18日
发明者卢小通 申请人:上海三旗通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1