一种利用NandFlash总线扩展T卡的方法

文档序号:6482386阅读:297来源:国知局
专利名称:一种利用NandFlash总线扩展T卡的方法
技术领域
本发明涉及一种扩展T卡的方法,特别涉及一种利用NandFlash总线扩展T 卡的方法。
背景技术
随着多媒体技术的发展,手机内部的存储空间已经无法满足实际应用的需 求,采用T卡(T-Flash卡)进行存储空间的扩展是一种很好的解决方案。但是 当前很多的手机芯片方案当中,CPU具有NandFlash控制器的接口,却没有T卡 的接口。
针对这种CPU,如何进行T卡的拓展,是一个需要解决的问题。

发明内容
为了解决上述问题,针对不包含T卡接口的CPU,本发明提供了一种利用 NandFlash控制器总线扩展T卡的方法。该方法将T卡接在NandFlash控制器的 总线上,巧妙利用NandFlash的时序匹配T卡的时序,从而完成CPU对完成T 卡的相关操作。该方法还可以利用NandFlash控制器的内部缓存和DMA (Direct Memory Access)控制器,完成T卡的高速操作。其中,所述NandFlash控制器 总线包含读使能信号、写使能信号和数据线,所述T卡包含时钟信号、命令应答 信号和数据线该方法包括以下歩骤
(1) 插入T卡,其中所述NandFlash控制器总线的读使能信号和写使能信 号通过一个与门输出连接在所述T卡的时钟信号上,所述T卡的命令应答信号和 所述T卡的数据线都连接在所述NandFlash控制器总线的数据线上;
(2) 从T卡读取数据CPU通过NandFlash控制器总线向所述T卡发送一 个读数据命令,并查询所述T卡的命令应答估^和数据线的状态,如果所述T 卡的命令应答信号为低电平(设低电平为NandFlash控制器总线读数据时的电平 状态),CPU可以通过NandFlash控制器总线从所述T卡读取命令应答;如果所述T卡的数据线均为低电平,则CPU可以通过所述NandFlash控制器总线从所述 T卡中读取数据;
(3)向T卡写入数据CPU通过NandFlash控制器总线向所述T卡发送一 个写数据命令,并査询命令应答信号的状态,如果该命令应答信号为低电平(设 低电平为NandFlash控制器总线写数据时的电平状态),那么CPU可以通过 NandFlash控制器总线向所述T卡读取命令应答,该命令应答被接受后,CPU通 过NandFlash控制器总线向所述T卡发送数据。
其中,(3)中可以利用NandFlash控制器内部缓存和DMA控制器从T卡中读 取数据,(4)中可以利用NandFlash控制器内部缓存和DMA控制器向T卡中写入 数据。
本发明将结合实施例及附图进行详细说明,以便对本发明的目的,特征及优 点进行更深入的理解。


图l是本发明的硬件框图。
图2是NandFlash总线的读数据和写数据的时序图。
图3是从T卡读数据的时序图。
图4是向T卡写数据的时序图。
图中
S: Start bit T: Transmit Bit P: One cycie Pul!-叩 E: End bit
Z: High impedance state D: data bit
X: Don't care data bits *: repeater
CRC: cyclic redundancy check bits
具体实施例方式
下面结合附图和实施例对本发明的具体实施方式
做进一歩详细的说明,但不 应以此限制本发明的保护范围。如图1所示,NandFlash控制器总线1的读使能信号(cWE) 11和写使能信号 (cRE)12通过一个与门3之后连接T卡2的时钟信号(CLK)21, NandFlash总线1 的数据线的第4位(D4) 13连接T卡2的命令应答信号(CMD)22, NandFlash控 制器总线1的数据线的低4位(D[3. . 0]) 14连接T卡2的数据总线(D'[3. . 0]) 24。
图2是NandFlash控制器总线的读数据和写数据的时序图。如图2所示, NandFlash控制器总线l每次向总线写数据时,NandFlash控制总线的写信号(WE) 有一个低脉冲,数据总线输出相应的数据;NandFlash控制器总线1每次从总线 读数据,NandFlash控制器总线1的读信号(RE)有一个低脉冲,数据总线输出 相应的数据。
图3是从T卡2读数据的时序图。如图3所示,T卡2的控制器先向T卡2 发送一个读数据命令,然后T卡2的控制器查询命令应答信号(CMD) 22和数据线 数据总线(D'[3..0]) 24的状态。如果该命令应答信号(CMD)22为低电平,T卡 控制器可以从T卡读取命令应答;如果T卡2的数据总线(D'[3. . 0]) 24为低电
平,T卡2的控制器可以从T卡2中读取数据。
图4是向T卡2写数据的时序图。如图4所示,T卡2的控制器先向T卡2 发送一个写数据命令,然后T卡2的控制器查询命令应答信号(CMD)22的状态。 如果命令应答信号(CMD) 22为低电平,那么T卡2的控制器可以从T卡2中读取 命令应答。T卡2的控制器接受应答之后,T卡2的控制器开始向T卡2发送数 据。
下面进以具体的T卡为例来进一歩说明。
对于T卡2的操作包括T卡2的初始化和T卡2数据块的读写。其中T 卡2的初始化包含T卡2的控制器向T卡2发送一组初始化命令,并且从T卡2 接收相关的命令应答信号(CMD)22。综上T卡2的操作可以归纳为(1)向T卡 2发送命令;(2)从T卡2接收应答;(3)向T卡2发送数据;(4)从T卡2读 取数据。所有的操作的具体实现如下
(1)向T卡2发送命令通常情况下, 一组命令包含6个字节。根据图1 所示,该6字节命令以36bit位通过D4 13这根数据线发送出去,发送命令的 过程中,NandFlash控制器总线1的数据线的低4位(D[3. .O]) 14应该保持高电平。综上所述,每次向T卡2发送命令,手机软件应该向NandFlash控制器的 缓存写36字节的数据,每个数据的第5位为T卡命令数据,每个数据的低4位 都是高电平。
(2) T卡2接收命令应答向T卡2发送据命令之后,T卡2的控制器需要 从T卡2接收应答数据。根据图1和图3所示,査询D4 13这根数据线的状态, 如果该数据线为低电平,表示可以从T卡2接收应答数据。通常情况下,T卡2 的应答数据为6个字节或者17个字节。综上所述,手机软件读取NandFlash控 制器的缓存并且判断D4 13是否为0,如果D4 13为0,手机软件根据应答的类 型从NandFlash控制器的缓存读取36个字节的数据或者是136个字节的数据。
(3) 从T卡2读数据根据图3所示,向T卡2发送读取数据命令之后,由 于数据的起始位为0,根据图1所示,手机软件应该査询数据总线的低4位
(D[3..0]) 14是否为0来判断数据是否到来。如果数据查到数据总线的低4位 (D[3..0]) 14为低电平,手机软件可以读取NandFlash总线控制器的缓存,并 且取其中地低4位作为有效数据。
(4) 利用DMA (DirectMemoryAccess,直接内存存取)从T卡读取数据根 据歩骤(3)所述,检测到数据的起始位之后,手机软件应该读取NandFlash缓 存从而获取T卡2的数据。NandFlash控制器的缓存通常情况下可以32bit数据 宽度的方式进行访问,NandFlash的数据接口可以为8bit数据宽度或者16bit 数据宽度。针对本发明,从T卡2读取数据过程中,Nemd芯片的数据接口应该 配置为8bit, NandFlash控制器的缓存以32bit的数据宽度进行访问,这样软件 读NandFlash缓存一次,NandFlash控制器会发送4个RE的低电平脉冲,手机 软件通过数据位组合得到2个字节的有效数据。如果以DMA的方式读取T卡2 的数据,设置DMA控制器的数据源为NandFlash控制器的缓存,然后设置匿A 的数据宽度为32bit,设置DMA的数据长度为n,这样DMA操作完成之后,可以 得到2n个字节的有效数据,而且此过程不占用CPU的资源。
(5) 向T卡2写数据依据图4所示,向T卡2发送写数据命令并且等待该 条命令的应答。整个命令发送过程完成之后,可以向T卡2发送数据,在数据发 送结束的时候发送数据的冗余校验(CRC)。依据图1所示,手机软件通过D4 13 向T卡2发送写数据命令和接受应答,然后再通过D[3. . 0] 14向T卡2发送数据。(6)利用DMA向T卡写数据根据(4)和(5)所述,NandFlash的数据接口应 该配置为8bit, NandFlash控制器的缓存以32bit的数据宽度进行访问,这样手 机软件写NandFlash缓存一次,NandFlash控制器会发送4个WE的低电平脉冲, T卡2可以接收2个字节的数据。手机软件首先通过算法把n个字节的要发送的 数据以4bit宽度进行拆分得到2n个字节的数据。如果以匿A的方式向T卡2 写数据,设置DMA控制器的数据目的地址为NandFlash控制器的缓存,然后设置 DMA的数据宽度为32bit, NandFlash控制器每次发送4个WE的低脉冲,这样应 当设置DMA的数据长度为n/2。这样DMA完成之后,T卡可以得到n个字节的有 效数据,此过程不占用CPU的资源。
以上所述仅为本发明的较佳实施例而己,并非用来限定本发明的实施范围。即 凡依本发明申请专利范围的内容所作的等效变化与修饰,都应为本发明的技术范 畴。
权利要求
1、一种利用NandFlash总线扩展T卡的方法,其中,所述NandFlash控制器总线包含读使能信号、写使能信号和数据线,所述T卡包含时钟信号、命令应答信号和数据信号,该方法包括如下步骤(1)插入T卡,将所述NandFlash控制器总线的该读使能信号和该写使能信号通过一个与门输出连接在所述的T卡的该时钟信号上,所述T卡的该命令应答信号和所述的T卡的该数据信号都连接在所述的NandFlash控制器总线的该数据线上;(2)从T卡读取数据CPU通过NandFlash控制器总线向所述T卡发送一个读数据命令,并查询所述T卡的命令应答信号和数据线的状态,如果所述T卡的命令应答信号为低电平(设低电平为NandFlash控制器总线读数据时的电平状态),CPU可以通过NandFlash控制器总线从所述T卡读取命令应答;如果所述T卡的数据线均为低电平,则CPU可以通过所述NandFlash控制器总线从所述T卡中读取数据;(3)向T卡写入数据CPU通过NandFlash控制器总线向所述T卡发送一个写数据命令,并查询命令应答信号的状态,如果该命令应答信号为低电平(设低电平为NandFlash控制器总线写数据时的电平状态),那么CPU可以通过NandFlash控制器总线向所述T卡读取命令应答,该命令应答被接受后,CPU通过NandFlash控制器总线向所述T卡发送数据。
2、 根据权利要求1所述的方法,其特征在于,歩骤(1)中所述的NandFlash控制 器总线的该数据线的第四位连接在所述的T卡的该时钟信号上。
3、 根据权利要求1或2所述的方法,其特征在于,歩骤(1)所述的NandFlash控 制器总线的该数据线的低4位连接在所述的T卡的数据线上。
4、 根据权利要求1所述的方法,其特征在于,歩骤(2)可以利用NandFlash控制 器内部缓存和DMA控制器从所述T卡中读取数据。
5、 根据权利要求1所述的方法,其特征在于,歩骤(3)可以利用NandFlash控制 器内部缓存和DMA控制器向所述T卡中写入数据。
全文摘要
本发明介绍一种利用NandFlash总线扩展T卡的方法,该方法将NandFlash控制器总线的读使能信号和写使能信号通过一个与门输出连接在T卡的时钟信号上,将T卡的命令应答信号和T卡的数据信号都连接在NandFlash控制器总线的数据线上;从而利用NandFlash的时序匹配T卡的时序,完成对T卡的相关操作。该方法还可以利用NandFlash控制器内部缓存和DMA控制器,完成T卡的高速操作。
文档编号G06F13/42GK101576866SQ200910047078
公开日2009年11月11日 申请日期2009年3月5日 优先权日2009年3月5日
发明者武 石 申请人:上海闻泰电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1