admin管理员组

文章数量:1532462

2024年6月7日发(作者:)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.8

(22)申请日 2008.12.19

(71)申请人 康佳集团股份有限公司

地址 518053 广东省深圳市华侨城

(72)发明人 符乐安

(74)专利代理机构 深圳市君胜知识产权代理事务所

代理人 王永文

(51)

H04W88/02

G06F13/38

(10)申请公布号 CN 101521956 A

(43)申请公布日 2009.09.02

权利要求说明书 说明书 幅图

(54)发明名称

一种通过GPIO口读写T卡的方

法、系统和手机

(57)摘要

本发明公开了一种通过GPIO口读

写T卡的方法、系统和手机,所述系统包

括上层文件系统、处理器芯片和T卡,其

中,所述系统还包括一用于模拟SPI总线

时序的接口控制模块,其接收所述上层文

件系统对所述T卡的数据操作命令,并通

过所述处理器芯片上的GPIO口与所述T

卡相连,以读写所述T卡。本发明使没有

T卡控制器模块的手机也能支持T卡读

写,而且即使有内置T卡控制器模块的手

机,也可以通过此方式来实现双T卡,因

此本发明方案的可扩展性极强,突破芯片

硬件功能的制约,其应用场合非常广泛。

法律状态

法律状态公告日

法律状态信息

法律状态

权 利 要 求 说 明 书

1、一种通过GPIO口读写T卡的系统,包括上层文件系统、处理器芯片和T卡,

其特征在于,所述系统还包括一用于模拟SPI总线时序的接口控制模块,其接收所

述上层文件系统对所述T卡的数据操作命令,并通过所述处理器芯片上的GPIO口

与所述T卡相连,以读写所述T卡。

2、如权利要求1所述的系统,其特征在于,所述接口控制模块具体包括:

控制单元,用于接收所述上层文件系统发送的操作指令,并控制读数据单元、写数

据单元、时钟信号产生单元和片选信号产生单元工作;

读数据单元,通过第一GPIO口与所述T卡上的写数据接口相连,用于读取所述T

卡上存储的数据;

写数据单元,通过第二GPIO口与所述T卡上的读数据接口相连,用于将外部数据

写入所述T卡;

时钟信号产生单元,通过第三GPIO口与所述T卡上的时钟接口相连,用于产生与

SPI总线同步的时钟信号;

片选信号产生单元,通过第四GPIO口与所述T卡上的使能端相连,用于启动所述

T卡工作。

3、一种通过GPIO口读写T卡的方法,所述方法包括以下步骤:

A、上层文件系统向接口控制模块发送数据操作命令;

B、所述接口控制模块接收数据操作命令,其中的片选信号产生单元产生有效的片

选信号,并通过第四GPIO口发送给T卡的使能端;

C、所述接口控制模块中的时钟信号产生单元产生与SPI总线同步的时钟信号,并

通过第三GPIO口发送给所述T卡的时钟接口;

D、所述接口控制模块读写所述T卡。

4、如权利要求3所述的方法,其特征在于,所述步骤D还包括以下步骤:

D1、当所述数据操作命令为写数据命令时,写数据单元通过第二GPIO口向所述T

卡上写数据。

5、如权利要求3所述的方法,其特征在于,所述步骤D还包括以下步骤:

D2、当所述数据操作命令为读数据命令时,读数据单元通过第一GPIO口读取所

述T卡上的数据。

6、如权利要求4所述的方法,其特征在于,所述步骤D1具体包括以下步骤:

D11、所述接口控制模块从上层文件系统中获得数据块的个数和起始数据块的编号;

D12、所述接口控制模块设置每次需要写入所述T卡的数据块长度为预定字节;

D13、所述接口控制模块向所述T卡发送单个块写入指令、数据块开始令牌及数据

块;

D16、所述T卡向所述接口控制模块反馈写入结束信号,所述接口控制模块将所述

片选信号设为无效。

7、如权利要求5所述的方法,其特征在于,所述步骤D2具体包括以下步骤:

D21、所述读数据单元向所述T卡发送复位命令,并启动所述T卡内部初始化;

D22、所述读数据单元向所述T卡发送单个块读取指令;

D23、所述T卡响应所述单个块读取指令,并向所述接口控制模块发送单个数据块;

D24、所述接口控制模块接收所述单个数据块,并将该单个数据块发送到上层文件

系统;

D25、所述接口控制模块正确读取预定字节的数据块后,将所述片选信号设为无效。

8、如权利要求7所述的方法,其特征在于,所述步骤D23还包括以下步骤:

D231、当所述T卡响应所述单个块读取指令出错时,向所述接口控制模块反馈一

出错信号,所述接口控制模块接收该出错信号后,停止当前数据块读取,向所述T

卡发送下一单个数据块读取指令。

9、如权利要求8所述的方法,其特征在于,所述读取的数据块中包括所述T卡的

容量、最大可读写块长度及最大传输速率信息。

10、一种通过GPIO口读取T卡的手机,其特征在于,包括如权利要求1所述的系

统。

说 明 书

技术领域

本发明涉及一种手机,尤其涉及一种手机中T卡读写方法、系统和手机。

背景技术

目前微型安全数码卡(Micro Secure Digital Memory Card,Micro SD卡),简称SD卡

或T卡,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地使用于便

携式装置上,也是手机上应用广泛的一种移动存储卡。同一张SD卡可以应用在不

同型号的移动电话内,让移动电话制造商不用再为插卡式的研发设计而伤脑筋。

根据SD卡协议,所述T卡的数据传输可支持两种总线模式:一种是带循环冗余码

校验(Cyclical Redundancy Check,CRC)的SD总线模式,另一种是同步串行通讯接

口(Serial Peripheral Interface,SPI)总线模式,即SPI接口模式。SPI接口是以主从

方式工作的,通常有一个主器件和一个或多个从器件,其接口包括以下四种信号:

(1)主器件数据输出、从器件数据输入信号;(2)主器件数据输入、从器件数据输出

信号;(3)时钟信号,由主器件产生;(4)从器件使能信号,由主器件控制。

一般支持T卡的手机都是通过其基带芯片内置的T卡控制器模块来实现对T卡上

数据的存取,但也有不少相对低端的基带芯片,因没有内置T卡控制器模块而不

能支持T卡操作,给用户带来了不便。

同时,一般手机中处理器芯片上带有大量的通用输入输出口

(GeneralPurpose Input Output,GPIO),方便开发商扩展手机的功能,实际上大量

GPIO口处于闲置的状态。

发明内容

本发明的目的在于提供一种用于无内置T卡读取控制器模块的手机读写T卡的方

法、系统和手机。

本发明技术方案如下:

一种通过GPIO口读写T卡的系统,包括上层文件系统、处理器芯片和T卡,其中,

所述系统还包括一用于模拟SPI总线时序的接口控制模块,其接收所述上层文件系

统对所述T卡的数据操作命令,并通过所述处理器芯片的GPIO口与所述T卡相连,

以读写所述T卡。

本发明所述的系统,其中,所述接口控制模块具体包括:

控制单元,用于接收所述上层文件系统发送的操作指令,并控制读数据单元、写数

据单元、时钟信号产生单元和片选信号产生单元工作;

读数据单元,通过第一GPIO口与所述T卡上的写数据接口相连,用于读取所述T

卡上存储的数据;

写数据单元,通过第二GPIO口与所述T卡上的读数据接口相连,用于将外部数据

写入所述T卡;

时钟信号产生单元,通过第三GPIO口与所述T卡上的时钟接口相连,用于产生与

SPI总线同步的时钟信号;

片选信号产生单元,通过第四GPIO口与所述T卡上的使能端相连,用于启动所述

T卡工作。

本发明还提供了一种通过GPIO口读写T卡的方法,所述方法包括以下步骤:

A、上层文件系统向接口控制模块发送数据操作命令;

B、所述接口控制模块接收所述数据操作命令,其中的片选信号产生单元产生有效

的片选信号,并通过第四GPIO口发送给T卡的使能端;

C、所述接口控制模块中的时钟信号产生单元产生与SPI总线同步的时钟信号,并

通过第三GPIO口发送给所述T卡的时钟接口;

D、所述接口控制模块读写所述T卡。

本发明所述的方法,其中,所述步骤D还包括以下步骤:

D1、当所述数据操作命令为写数据命令时,写数据单元通过第二GPIO口向所述T

卡上写数据。

本发明所述的方法,其中,所述步骤D还包括以下步骤:

D2、当所述数据操作命令为读数据命令时,读数据单元通过第一GPIO口读取所

述T卡上的数据。

本发明所述的方法,其中,所述步骤D1具体包括以下步骤:

D11、所述接口控制模块从上层文件系统中获得数据块的个数和起始数据块的编号;

D12、所述接口控制模块设置每次需要写入所述T卡的数据块长度为预定字节;

D13、所述接口控制模块向所述T卡发送单个块写入指令、数据块开始令牌及数据

块;

D16、所述T卡向所述接口控制模块反馈写入结束信号,所述接口控制模块将所述

片选信号设为无效。

本发明所述的方法,其中,所述步骤D2具体包括以下步骤:

D21、所述读数据单元向所述T卡发送复位命令,并启动所述T卡内部初始化;

D22、所述读数据单元向所述T卡发送单个块读取指令;

D23、所述T卡响应所述单个块读取指令,并向所述接口控制模块发送单个数据块;

D24、所述接口控制模块接收所述单个数据块,并将该单个数据块发送到上层文件

系统;

D25、所述接口控制模块正确读取预定字节的数据块后,将所述片选信号设为无效。

本发明所述的方法,其中,所述步骤D23还包括以下步骤:

D231、当所述T卡响应所述单个块读取指令出错时,向所述接口控制模块反馈一

出错信号,所述接口控制模块接收该出错信号后,停止当前数据块读取,向所述T

卡发送下一单个数据块读取指令。

本发明所述的方法,其中,所述读取的数据块中包括所述T卡的容量、最大可读

写块长度及最大传输速率信息。

本发明还提供了一种包括前面所述的通过GPIO口读取T卡的系统的手机。

本发明通过用软件通过处理器芯片的GPIO口来模拟SPI总线时序,实现对T卡的

各种数据操作,不仅可以让较低端芯片的手机可以支持T卡的读写,即使有内置T

卡控制器的芯片,也可以通过此方式来实现双T卡读写操作。

附图说明

图1为本发明实施例的通过GPIO口读取T卡的控制系统框图;

图2为本发明实施例的通过GPIO口读取T卡的方法流程图;

图3为本发明实施例的单个数据块的数据读取操作数据传输流程图;

图4为本发明实施例的读取错误数据传输流程图;

图5为本发明实施例的单个数据块写入操作数据传输流程图。

具体实施方式

以下结合附图,对本发明的较佳实施例加以详细说明。

本发明实施例的通过GPIO口读取T卡的系统控制结构图如图1所示。图1中的上

层文件系统主要是指手机中基带芯片的系统,接口控制模块采用软件模拟SPI总线

时序,其向上与所述上层文件系统接口,向下与手机中处理器芯片中的GPIO口接

口,再通过所述GPIO口与T卡连接,实现上层文件系统对T卡的读写操作。即该

系统中的接口控制模块和GPIO口结合实现现有技术中的T卡控制器的功能,由于

是采用软件模拟SPI总线的时序,硬件上复用了手机中处理器芯片上的GPIO口,

基本上不用增加手机的硬件成本。

本发明实施例中的系统中的接口控制模块进一步包括控制单元、读数据单元、写数

据单元、时钟信号产生单元和片选信号产生单元。其中的控制单元主要用于与上层

文件系统交互信息,包括接收上层文件系统发送给接口控制模块的操作信号和需要

写入T卡的写入数据块,以及接口控制模块从T卡读到的读出数据块也通过该控

制单元发送给上层文件系统。所述控制单元还用于控制接口控制模块其余四个单元

的工作,包括根据上层文件系统发来的读取数据命令控制所述读数据单元从T卡

中读取数据,根据上层文件系统发来的写入数据命令将外部数据写入T卡。其中

读数据单元通过处理器芯片的第一GPIO口与T卡的写数据端相连,写数据单元通

过处理器芯片的第二GPIO口与T卡的读数据端相连。

本发明所述接口控制模块中的时钟信号产生单元主要是采用软件模拟SPI总线时钟,

为读数据单元、写数据单元和T卡提供时钟信号,其通过处理器芯片的第三GPIO

口与T卡的时钟信号相连。所述的片选信号产生单元主要是根据上层文件系统中

的启动信号来启动作为从器件的T卡开始工作,其通过处理器芯片的第四GPIO口

与T卡的使能端相连。

前面所述的处理器芯片的第一、第二、第三和第四GPIO口是指处理器芯片上的任

何四个未和手机系统已用功能重复的通用输入/输出管脚。

本发明中的通过GPIO口读写T卡的方法流程图如图2所示,其实现步骤如下:

步骤S201,上层文件系统向接口控制模块发送数据操作命令;

步骤S202,所述接口控制模块中的控制单元控制所述时钟信号产生单元与SPI总

线相同的时钟信号,通过所述第三GPIO口发送给所述T卡的时钟接口;

步骤S203,所述接口控制模块中的控制单元控制所述片选信号产生单元产生低电

平的片选信号,并通过所述第四GPIO口发送给所述T卡的使能端;

步骤S204,所述接口控制模块接收所述数据操作命令,通过所述处理器芯片的

GPIO口读取所述T卡上的数据。

本发明所述方法更具体描述为:上层文件系统向接口控制模块发送的数据操作命令

是读数据命令或写数据命令,所述控制单元接收该数据操作命令,并发送给相应的

数据操作模块,如果是读数据命令,则读数据模块接收该读数据命令,依据时钟信

号产生单元的时钟信号CLK,通过第一GPIO口向T卡的写数据端读取该T卡上

存储的数据。此时,T卡写数据端也依据同一时钟信号CLK将读取到的数据通过

第一GPIO口和读数据单元写入上层文件系统。如果上层文件系统发送的数据操作

命令是写数据命令,则写数据模块接收该命令,同时上层文件系统会向该接口控制

模块发送需要写入的数据块的个数和起始块的编号,写数据模块依据时钟信号产生

单元的时钟信号CLK,通过第二GPIO口向T卡的读数据端写入需要存储的数据。

接口控制模块实现读取T卡上数据的时序示意图如图3所示,具体步骤描述如下:

a、所述读数据单元向所述T卡发送复位命令,并启动所述T卡内部初始化;

b、所述读数据单元向所述T卡发送单个块读取指令;

c、所述T卡响应所述单个块读取指令,并向所述接口控制模块发送单个数据块;

d、所述接口控制模块接收所述单个数据块,并将该单个数据块发送到上层文件系

统;

e、所述接口控制模块正确读取521字节的数据块后,将所述片选信号拉高。

当步骤c中T卡响应单个块读取指令出错时,T卡会向接口控制模块反馈出错信息,

如图4所示。

接口控制模块实现向T卡写入数据的时序示意图如图5所示,具体步骤包括:

a1、所述接口控制模块从上层文件系统中获得数据块的个数和起始数据块的编号;

b1、所述接口控制模块设置每次需要写入所述T卡的数据块长度为512字节;

c1、所述接口控制模块向所述T卡发送单个块写入指令、数据块开始令牌及数据

块;

d1、所述T卡向所述接口控制模块反馈写入结束信号,所述接口控制模块将所述

片选信号拉高。

本发明实施例中所述的通过软件模拟GPIO口读取T卡上数据,包括读取T卡自身

的属性信息,包括T卡的容量、最大可读写块长度及最大传输速率等信息。

本发明所述的通过GPIO口读写T卡的手机采用本发明所述的通过GPIO口读写T

卡的方法或系统。所述手机可以是内置一块T卡的手机,也可以是内置两块T卡

的手机。如果是两块T卡,可以通过在GPIO口端设置一模拟开关选择需要读写的

T卡。所述手机可以是带有T卡控制器模块的,也可以是不带有T卡控制器模块的。

综上所述,本发明主要针对无法支持T卡读取的手机,考虑到手机处理器芯片中

的GPIO口数量多,且其中许多GPIO口处于闲置状态,通过软件模拟SPI总线时

序来配置GPIO口的读写时序及时钟信号,使没有T卡控制器模块的手机也能支持

T卡读写,即使有内置T卡控制器模块的手机,也可以通过此方式来实现双T卡,

因此本发明方案的可扩展性极强,突破芯片硬件功能的制约,对节约成本,增加产

品附加值都有一定作用,其应用场合非常广泛。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,

而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

本文标签: 模块控制数据接口单元