CN101521956B - 一种通过gpio口读写t卡的方法、系统和手机 - Google Patents
一种通过gpio口读写t卡的方法、系统和手机 Download PDFInfo
- Publication number
- CN101521956B CN101521956B CN200810241654.8A CN200810241654A CN101521956B CN 101521956 B CN101521956 B CN 101521956B CN 200810241654 A CN200810241654 A CN 200810241654A CN 101521956 B CN101521956 B CN 101521956B
- Authority
- CN
- China
- Prior art keywords
- card
- data
- control module
- write
- interface control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 20
- 238000012546 transfer Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
Images
Landscapes
- Telephone Function (AREA)
- Credit Cards Or The Like (AREA)
Abstract
本发明公开了一种通过GPIO口读写T卡的方法、系统和手机,所述系统包括上层文件系统、处理器芯片和T卡,其中,所述系统还包括一用于模拟SPI总线时序的接口控制模块,其接收所述上层文件系统对所述T卡的数据操作命令,并通过所述处理器芯片上的GPIO口与所述T卡相连,以读写所述T卡。本发明使没有T卡控制器模块的手机也能支持T卡读写,而且即使有内置T卡控制器模块的手机,也可以通过此方式来实现双T卡,因此本发明方案的可扩展性极强,突破芯片硬件功能的制约,其应用场合非常广泛。
Description
技术领域
本发明涉及一种手机,尤其涉及一种手机中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卡,因此本发明方案的可扩展性极强,突破芯片硬件功能的制约,对节约成本,增加产品附加值都有一定作用,其应用场合非常广泛。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (6)
1.一种通过GPIO口读写T卡的系统,包括上层文件系统、处理器芯片和T卡,其特征在于,所述系统还包括一用于模拟SPI总线时序的接口控制模块,其接收所述上层文件系统对所述T卡的数据操作命令,并通过所述处理器芯片上的GPIO口与所述T卡相连,以读写所述T卡;
所述接口控制模块具体包括:
控制单元,用于接收所述上层文件系统发送的操作指令,并控制读数据单元、写数据单元、时钟信号产生单元和片选信号产生单元工作;
读数据单元,通过第一GPIO口与所述T卡上的写数据接口相连,用于读取所述T卡上存储的数据;
写数据单元,通过第二GPIO口与所述T卡上的读数据接口相连,用于将外部数据写入所述T卡;
时钟信号产生单元,采用软件模拟SPI总线时钟,为读数据单元、写数据单元和T卡提供时钟信号,其通过处理器芯片的第三GPIO口与T卡的时钟信号相连,用于产生与SPI总线同步的时钟信号;
片选信号产生单元,通过第四GPIO口与所述T卡上的使能端相连,用于启动所述T卡工作。
2.一种通过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卡发送单个块写入指令、数据块开始令牌及数据块;
D14、所述T卡向所述接口控制模块反馈写入结束信号,所述接口控制模块将所述片选信号设为无效。
3.如权利要求2所述的方法,其特征在于,所述步骤D2具体包括以下步骤:
D21、所述读数据单元向所述T卡发送复位命令,并启动所述T卡内部初始化;
D22、所述读数据单元向所述T卡发送单个块读取指令;
D23、所述T卡响应所述单个块读取指令,并向所述接口控制模块发送单个数据块;
D24、所述接口控制模块接收所述单个数据块,并将该单个数据块发送到上层文件系统;
D25、所述接口控制模块正确读取预定字节的数据块后,将所述片选信号设为无效。
4.如权利要求3所述的方法,其特征在于,所述步骤D23还包括以下步骤:
D231、当所述T卡响应所述单个块读取指令出错时,向所述接口控制模块反馈一出错信号,所述接口控制模块接收该出错信号后,停止当前数据块读取,向所述T卡发送下一单个数据块读取指令。
5.如权利要求4所述的方法,其特征在于,所述读取的数据块中包括所述T卡的容量、最大可读写块长度及最大传输速率信息。
6.一种通过GPIO口读取T卡的手机,其特征在于,包括如权利要求1所述的系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810241654.8A CN101521956B (zh) | 2008-12-19 | 2008-12-19 | 一种通过gpio口读写t卡的方法、系统和手机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810241654.8A CN101521956B (zh) | 2008-12-19 | 2008-12-19 | 一种通过gpio口读写t卡的方法、系统和手机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101521956A CN101521956A (zh) | 2009-09-02 |
CN101521956B true CN101521956B (zh) | 2014-02-12 |
Family
ID=41082268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810241654.8A Expired - Fee Related CN101521956B (zh) | 2008-12-19 | 2008-12-19 | 一种通过gpio口读写t卡的方法、系统和手机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101521956B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479169A (zh) * | 2010-11-24 | 2012-05-30 | 上海三旗通信科技股份有限公司 | Mtk6223d平台实现sd卡热插拔功能 |
CN102543215B (zh) * | 2010-12-20 | 2015-01-21 | 西安奇维科技股份有限公司 | 一种基于ARM控制器的Nand FLASH智能检测方法 |
CN106022406B (zh) * | 2016-05-18 | 2019-04-16 | 深圳市微网力合信息技术有限公司 | 读写sd卡的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201063673Y (zh) * | 2007-07-30 | 2008-05-21 | 深圳市邦华电子有限公司 | 带至少两个移动存储卡的手机 |
CN101216898A (zh) * | 2008-01-03 | 2008-07-09 | 济南市泰信电子有限责任公司 | 基于flash总线的高效率低成本sd卡控制电路及其读写方法 |
CN201142081Y (zh) * | 2008-01-03 | 2008-10-29 | 济南市泰信电子有限责任公司 | 基于flash总线的高效率低成本sd卡控制电路 |
-
2008
- 2008-12-19 CN CN200810241654.8A patent/CN101521956B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201063673Y (zh) * | 2007-07-30 | 2008-05-21 | 深圳市邦华电子有限公司 | 带至少两个移动存储卡的手机 |
CN101216898A (zh) * | 2008-01-03 | 2008-07-09 | 济南市泰信电子有限责任公司 | 基于flash总线的高效率低成本sd卡控制电路及其读写方法 |
CN201142081Y (zh) * | 2008-01-03 | 2008-10-29 | 济南市泰信电子有限责任公司 | 基于flash总线的高效率低成本sd卡控制电路 |
Also Published As
Publication number | Publication date |
---|---|
CN101521956A (zh) | 2009-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9680972B2 (en) | SD switch box in a cellular handset | |
CN104731746A (zh) | 设备控制器装置 | |
CN104834620A (zh) | 串行外设接口spi总线电路、实现方法以及电子设备 | |
CN101814058A (zh) | 通用存储装置 | |
CN109656841A (zh) | 基于软件模拟i2c和硬件i2c的混合控制方法及装置 | |
CN111816627B (zh) | 一种存储封装芯片及其引脚复用方法 | |
KR20180085192A (ko) | 핫 플러그 모듈 및 메모리 모듈을 포함하는 시스템 | |
CN101521956B (zh) | 一种通过gpio口读写t卡的方法、系统和手机 | |
CN116450552B (zh) | 基于i2c总线异步批量读写寄存器的方法及系统 | |
CN103530215A (zh) | 一种内部集成电路主机的自检方法、装置及主机 | |
CN110554881A (zh) | 一种基于cpld的交换芯片工作模式远程切换系统及方法 | |
CN102693203A (zh) | 嵌入式usb主机 | |
CN101561663B (zh) | 一种运动控制系统及其控制方法 | |
KR20080000559A (ko) | 휴대폰 및 휴대용 어플라이언스를 위한 저전력 고체 상태저장장치 제어기 | |
US9298378B2 (en) | Logic device | |
CN104077080A (zh) | 存储器存取方法、存储器存取控制方法、spi闪存装置及其控制器 | |
CN204706031U (zh) | 串行外设接口spi总线电路以及电子设备 | |
CN216697245U (zh) | 一种烧录器和电子设备 | |
CN101436119A (zh) | 一种与存储卡通讯的系统和方法 | |
CN109144583A (zh) | 基于国产平台的主板信息获取方法、装置、系统及设备 | |
CN109446144A (zh) | 一种支持用户协议的通用i2c总线控制器 | |
US20140229641A1 (en) | Method and apparatus for latency reduction | |
CN101594719A (zh) | 脱机控制装置 | |
CN219266861U (zh) | 一种基于飞腾2000/4处理器的COMe模块 | |
CN201846372U (zh) | 具有u盘功能的移动通信终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140212 Termination date: 20141219 |
|
EXPY | Termination of patent right or utility model |