CN101464846B - 数据卡读写方法、接口控制方法和装置 - Google Patents

数据卡读写方法、接口控制方法和装置 Download PDF

Info

Publication number
CN101464846B
CN101464846B CN2008102391358A CN200810239135A CN101464846B CN 101464846 B CN101464846 B CN 101464846B CN 2008102391358 A CN2008102391358 A CN 2008102391358A CN 200810239135 A CN200810239135 A CN 200810239135A CN 101464846 B CN101464846 B CN 101464846B
Authority
CN
China
Prior art keywords
data
microprocessor
write
address
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.)
Active
Application number
CN2008102391358A
Other languages
English (en)
Other versions
CN101464846A (zh
Inventor
韩彬伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhigu Tech Co Ltd
Original Assignee
Beijing Star Net Ruijie Networks Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Star Net Ruijie Networks Co Ltd filed Critical Beijing Star Net Ruijie Networks Co Ltd
Priority to CN2008102391358A priority Critical patent/CN101464846B/zh
Publication of CN101464846A publication Critical patent/CN101464846A/zh
Application granted granted Critical
Publication of CN101464846B publication Critical patent/CN101464846B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

本发明涉及一种数据卡读写方法、接口控制方法和装置。该读写方法包括:微处理器发送查询总线状态指令以读取标识;检测读取的标识,为空闲标识时发送申请总线转换指令以写入本机标识为当前微处理器的标识,为其他标识时继续查询,为本机标识时与数据卡通过接口控制装置进行读操作和/或写操作;微处理器发送释放指令以写入空闲标识释放总线资源。该接口控制方法包括:当接收到查询总线状态指令时,读取标识并反馈;当接收到申请总线转换指令时,写入标识作为当前连接微处理器的标识;进行读写操作;当接收到释放指令时,写入空闲标识以释放资源。该装置包括实现上述接口控制方法的功能模块。本发明实现了多个微处理器对一个数据卡的共享。

Description

数据卡读写方法、接口控制方法和装置
技术领域
本发明涉及一种数据处理技术,尤其涉及一种数据卡读写方法、数据卡接口控制方法和装置。
背景技术
目前,数据卡已成为人们生活和工作中的常用工具,例如压缩闪存(Compact Flash;以下简称:CF)卡、多媒体卡(Multi Media Card;以下简称:MMC)和安全数据记忆卡(Secure Digital Memory Card;以下简称:SD)等。其中SD卡是一种较为常用的数据卡,属于一种基于半导体快闪记忆器的记忆设备,拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性。数据卡一般可以通过各种总线模式来进行数据交互,例如,SD卡可以采用SD总线模式或串行外围设备接口(Serial PeripheralInterface;以下简称:SPI)总线模式与微处理器之间实现数据交互。
一般而言,微处理器与数据卡之间的读写访问是需要读卡器等专用接口芯片来实现的,专用芯片往往通过通用串行总线(Universal Serial BUS;以下简称:USB)接口和微处理器交互,对于没有USB接口的微处理器则无法直接支持。申请号为200410102979.X、名称为《对SD卡接口进行控制的装置和方法》的中国专利申请即公开了一种现有微处理器与数据卡之间的交互技术方案,其采用一种专用设备来实现单个微处理器和SD卡之间的数据交互。但是,现有技术存在着如下缺陷:读卡器芯片只能支持USB接口,不能与微处理器采用本地总线模式交互数据;或者,专用的读卡器芯片往往只能支持单个微处理器对数据卡的读写访问,这难以满足双微处理器设备共享数 据卡中数据的需求,尤其是某些特殊应用环境中的通信类产品,其往往需要多个微处理器共享数据卡中的数据。
发明内容
本发明的目的是提供一种数据卡读写方法、接口控制方法和装置,以实现多个微处理器与数据卡之间的读写访问。
为实现上述目的,本发明提供了一种数据卡读写方法,包括:
步骤A10、微处理器向接口控制装置发送查询总线状态指令,以按照所述查询总线状态指令中包含的地址从所述接口控制装置的标识寄存器中读取标识,并执行步骤A20;
步骤A20、所述微处理器检测读取的所述标识,当检测到读取的所述标识为空闲标识时,则执行步骤A30,当检测到读取的所述标识为所述微处理器自身的标识时,则执行步骤A40,当检测到读取的所述标识为其他标识时,则返回执行步骤A10;
步骤A30、所述微处理器向所述接口控制装置发送申请总线转换指令,以按照所述申请总线转换指令中包含的地址向所述标识寄存器中写入所述微处理器的标识,作为数据卡所连接的当前微处理器的标识,并返回执行步骤A10;
步骤A40、所述微处理器与所述数据卡通过所述接口控制装置进行读操作和/或写操作,并执行步骤A50;
步骤A50、所述微处理器向所述接口控制装置发送释放指令,以按照所述释放指令中包含的地址向所述标识寄存器中写入空闲标识。
为实现上述目的,本发明还提供了一种数据卡接口控制方法,包括:
步骤B10、当接口控制装置接收到微处理器发送的查询总线状态指令时,按照所述查询总线状态指令中包含的地址从本地的标识寄存器中读取标识,并反馈给所述微处理器;
步骤B20、当所述接口控制装置接收到所述微处理器发送的申请总线转换指令时,按照所述申请总线转换指令中包含的地址将所述微处理器的标识写入所述标识寄存器中,作为数据卡所连接的当前连接微处理器的标识;
步骤B30、所述接口控制装置进行所述微处理器与所述数据卡之间的读操作和/或写操作;
步骤B40、当所述接口控制装置接收到所述微处理器发送的释放指令时,按照所述释放指令中包含的地址将空闲标识写入所述标识寄存器。
为实现上述目的,本发明又提供了一种数据卡接口控制装置,包括:
至少两个微处理器接口,用于插接微处理器;
数据卡接口,用于插接数据卡;
标识寄存器,用于存储所述数据卡所连接的当前微处理器的标识或空闲标识;
仲裁模块,所述仲裁模块包括查询响应单元和写入响应单元,
所述查询响应单元,与所述微处理器接口和标识寄存器相连,用于当接收到微处理器发送的查询总线状态指令时,按照所述查询总线状态指令中包含的地址从所述标识寄存器中读取标识,并反馈给所述微处理器;
所述写入响应单元,与所述微处理器接口和标识寄存器相连,用于当接收到所述微处理器发送的申请总线转换指令时,按照所述申请总线转换指令中包含的地址将所述微处理器的标识写入所述标识寄存器中,作为数据卡所连接的当前微处理器的标识,且当接收到所述微处理器发送的释放指令时,按照所述释放指令中包含的地址将空闲标识写入所述标识寄存器;
转换模块,与所述微处理器接口和数据卡接口相连,用于进行所述微处理器与所述数据卡之间的读操作和/或写操作。
由以上技术方案可知,本发明采用接口控制装置对微处理器进行仲裁以确定数据卡的当前微处理器的技术手段,实现了多个微处理器可通过发送指令从接口控制装置获取与数据卡交互的授权,从而多个微处理器可以共享一 个数据卡中的数据。本发明丰富了数据卡的使用功能,尤其可以适用于某些通信类产品中的特定应用环境,满足用户的不同需求。
附图说明
图1所示为本发明数据卡读写方法第一实施例的流程图;
图2所示为本发明数据卡读写方法第二实施例的流程图;
图3所示为本发明数据卡读写方法第三实施例的流程图;
图4所示为本发明数据卡接口控制方法第一实施例的流程图;
图5所示为本发明数据卡接口控制方法第二实施例的流程图;
图6所示为本发明数据卡接口控制方法第三实施例的流程图;
图7所示为本发明数据卡接口控制装置第一实施例的结构示意图;
图8所示为本发明数据卡接口控制装置第二实施例的结构示意图。
具体实施方式
下面通过具体实施例并结合附图对本发明做进一步的详细描述。
数据卡读写方法第一实施例
图1所示为本发明数据卡读写方法第一实施例的流程图。具体应用中,多个微处理器需要通过一接口控制装置与一数据卡相连,从而实现数据交互。其中,与微处理器配合工作的接口控制装置较佳的是可以采用复杂可编程逻辑器件(Complex Programable Logic Device;以下简称:CPLD)来实现,CPLD是一种用户可以根据各自需要而灵活自行构造逻辑功能的数字集成电路,其基本设计方法是借助集成开发软件平台,用原理图或硬件描述语言等方法,生成相应的目标文件,通过下载电缆将代码传送到目标芯片中,从而实现设计的数字系统。各微处理器和数据卡往往基于总线模式与接口控制装置进行数据交互,对于多个微处理器共享一个数据卡的情况,为了避免接口控制装置中出现总线冲突现象,需要首先解决多个微处理器的总线仲裁问题, 即需要确保同一时间只能有一个微处理器和数据卡之间实现总线转换通信。本实施例以一个请求与数据卡交互的微处理器为例来说明微处理器所执行的数据卡读写方法。如图1所示,该微处理器可以执行下述操作:
步骤A10、微处理器向接口控制装置发送查询总线状态指令,以按照查询总线状态指令中包含的地址从接口控制装置的标识寄存器中读取标识;
步骤A20、微处理器检测读取的标识是否为空闲标识或该微处理器自身的标识,当检测到读取的该标识为空闲标识时,则执行步骤A30,当检测到读取的标识为该微处理器自身的标识时,则执行步骤A40,当检测到读取的标识为其他标识,即不是空闲标识也不是微处理器自身标识时,则执行步骤A10;
步骤A30、微处理器向接口控制装置发送申请总线转换指令,以按照申请总线转换指令中包含的地址向标识寄存器中写入该微处理器自身的标识,作为数据卡所连接的当前微处理器的标识,并返回执行步骤A10;
步骤A40、微处理器与数据卡通过接口控制装置进行读操作和/或写操作;
步骤A50、微处理器向接口控制装置发送释放指令,以按照释放指令中包含的地址向标识寄存器中写入空闲标识。
具体应用中,微处理器可以采用并行总线或串行总线等不同的总线模式与接口控制装置交互,其实现的方式类似,只要指令中包含上述的地址和数据内容即可。本实施例具体以常见的本地总线为例来说明上述步骤。
本地总线是指连接微处理器和外围器件的并行总线,按照功能不同一般可分为数据信号线、地址信号线和控制信号线。数据信号线是双向总线,用于传送数据信息,既可以把微处理器的数据写入到外围器件,也可以将外围器件的数据读取到微处理器。数据信号线的宽度,即其根数决定每次能同时传输数据信息的位数。地址信号线是单向总线,用于将地址从微处理器传送到外围器件。控制信号线用于传送控制信号和时序信号,控制信号中有些是微处理器送往外围器件的,如读/写信号、片选信号、复位信号等,也有些是外围器件反馈给微处理器的,如中断请求信号等。具体地,微处理器的本 地总线可以包括8位(bit)输入输出的数据信号线Data(7:0),8位输出的地址信号线Add(7:0),以及输出的写使能信号线WE#、读使能信号线OE#和片选信号线CS#,则向接口控制装置发送的上述指令格式具体可以如表1所示:
表1
指令名称 地址信号线 数据信号线 WE# OE# CS#
查询总线状态指令 10000000 当前微处理器的标识 无效 有效 有效
申请总线转换指令 10000000 微处理器自身的标识 有效 无效 有效
释放指令 10000000 空闲标识 有效 无效 有效
其中各个指令地址信号线中传输的地址均是指向接口控制装置中的标识寄存器,标识寄存器中存储着当前与数据卡进行数据交互的微处理器的标识,称为当前微处理器的标识。各微处理器的标识可以为预先分配给各微处理器的唯一8位标识(ID),例如“00000001”、“00000010”等。请求交互的微处理器首先发送查询总线状态指令以读取标识寄存器中的标识,并判断读取的标识是否为本机标识或空闲标识。若为该微处理器自身的标识,则表示该微处理器已成为当前微处理器,可以执行后续的读写操作。若为空闲标识,例如可以为预设的“00000000”,表示此时没有微处理器要求进行本地总线和数据卡总线的交换。若判断出既不是该微处理器自身标识也不是空闲标识,则微处理器可以定时地向接口控制装置发送查询总线状态指令和申请总线转换指令,直到读取的标识为本机自身标识时,则进行后续的读操作或写操作。当读操作或写操作的交互完成后,当前微处理器可以发送释放指令,将空闲标识写入标识寄存器以释放对数据卡总线的占用,可以令其他待交互的微处理器读取到空闲标识从而执行类似的操作。
本实施例具体为微处理器与数据卡进行读写操作之前执行的获取授权的操作,上述技术方案能够有效的解决接口控制装置对微处理器总线的仲裁问题,使两个或两个以上微处理器可以共享一个数据卡中的数据。并且,具体可以采用CPLD来形成接口控制装置,无须采购专门的芯片,由于 CPLD的通用性强、使用量大,因此可以降低生产成本,并且CPLD的生命周期更长,供货更稳定,所以适用于通信类产品对稳定供货的需求。
数据卡读写方法第二实施例
图2所示为本发明数据卡读写方法第二实施例的流程图。对于很多微处理器来说,通常其并不具备数据卡接口所采用的SPI总线或者SD总线,因此微处理器和数据卡之间的数据通讯需要进行总线转换。本实施例可以上述第一实施例为基础,在某微处理器确定与数据卡进行交互后具体执行微处理器与数据卡通过接口控制装置进行的读操作,如图2所示,包括以下步骤:
步骤A41a、微处理器向接口控制装置发送写地址指令,将待操作地址按照写地址指令中包含的地址写入接口控制装置的地址寄存器中;
步骤A42a、微处理器向接口控制装置发送读启动指令,以指示接口控制装置按照待操作地址读取数据卡中的数据,并存储到接口控制装置的数据寄存器中;
步骤A43a、微处理器向接口控制装置发送读数据指令,以从数据寄存器中读取数据。
本实施例仍以上述实施例中微处理器的本地总线为例来说明,则各指令的内容如表2所示:
表2
指令 地址信号线 数据信号线 WE# OE# CS#
写地址指令 00001000 待操作地址 有效 无效 有效
读启动指令 00001011 有效 无效 有效
读数据指令 00001100 数据寄存器中的数据 无效 有效 有效
本实施例以数据卡采用SPI总线模式为例来进行说明。SPI总线技术是一种同步串行总线,可以同时发送和接收串行数据,SPI需要四条线来完成通讯,分别为:输出SPI控制器时钟信号“Sck_spi”的串行时钟线(SCK);输出SPI控制器从设备选择信号“Cs_spi的低电平有效从设备选择线(CS);输出SPI控制器主设备数据输出从设备输入信号“Di_spi”的主设备输出/ 从设备输入数据线(DI);以及输入SPI控制器主设备数据输入从设备输出信号“Do_spi”的主设备输入/从设备输出数据线(DO)。接口控制装置完成微处理器本地总线到数据卡SPI总线之间的转换。
当微处理器发送写地址指令时,按照地址信号线传送的地址将数据信号线传送的待操作地址写入接口控制装置内部的地址寄存器中,该待操作地址是微处理器所要操作的数据卡的空间地址值。而后微处理器发送读启动指令,指示接口控制装置对数据卡进行读取操作。具体的,可以依据所使用总线的相应规范,接口控制装置根据读启动指令中的地址识别到该指令为读指令,则按照地址寄存器中的待操作地址读取数据卡中的数据,将待操作地址输出到SPI总线的“Do_spi”上,则数据卡相应空间位置的数据可通过“Do_spi”输出至接口控制装置中,并存储在接口控制装置内部的数据寄存器中。微处理器随后发送读数据指令,将暂存在数据寄存器中的数据读取到微处理器中。在数据读操作结束后,微处理器可以执行上述步骤A50,写入空闲标识,释放总线资源。
在接口控制装置从数据卡读取数据的过程中,根据数据卡协议,数据卡在数据输出之前包含一个数据输出开始标志,例如8位数据中的一个位数据输出开始标志。当接口控制装置检测到这个数据输出开始标志之后,则开始接收数据,可以通过时钟计时,在接收到8位数据之后为数据接收完成。微处理器向接口控制装置发送读数据指令的时间可以是在发送读启动指令之后的设定时间后发送,即在微处理器发送读启动指令之后即开始计时,当计时达到第一设定门限值时执行步骤A43a,发送读数据指令。例如,可以预先通过测试获知接口控制装置从数据卡读取数据的时间为t,而后可以预先设置微处理器发送读启动指令和读数据指令的时间间隔大于t,例如可以设置2t为第一设定门限值,从而确保微处理器读取数据的正确性。
数据卡读写方法第三实施例
图3所示为本发明数据卡读写方法第三实施例的流程图。与上述第二实施例类似,本实施例具体为微处理器与数据卡之间通过接口控制装置进行写操作的流程。如图3所示包括如下步骤:
步骤A41b、微处理器向接口控制装置发送写地址指令,将待操作地址按照写地址指令中包含的地址写入接口控制装置的地址寄存器中;
步骤A42b、微处理器向接口控制装置发送写数据指令,将待写入数据写入到接口控制装置的数据寄存器中;
步骤A43b、微处理器向接口控制装置发送写启动指令,以指示接口控制装置按照待操作地址将数据寄存器中的数据写入到数据卡中。
类似的,当微处理器采用上述微处理器的本地总线时,除上述表2所示的写地址指令之外,其他指令内容如表3所示:
表3
指令 地址信号线 数据信号线 WE# OE# CS#
写启动指令 00001010 有效 无效 有效
写数据指令 00001001 待写入数据 无效 有效 有效
当数据卡采用上述SPI总线时,具体的操作是:微处理器首先发送写地址指令,按照地址信号线传送的地址将数据信号线传送的待操作地址写入接口控制装置内部的地址寄存器中。而后微处理器发送写数据指令,按照地址信号线传输的地址将数据信号线上传输的待写入数据写入接口控制装置内部的数据寄存器中。微处理器再发送写启动指令,将地址寄存器中的待操作地址和数据寄存器中的待写入数据依次分别从接口控制装置内部中输出到SPI总线的“Do_spi”上,待写入数据存入数据卡内部相应的地址空间中。在数据写入数据卡的过程中,根据数据卡协议,数据卡完成数据输入之后会输出一个响应数据到接口控制装置。当接口控制装置检测到这个响应数据之后,数据卡写操作完成,微处理器才可以进行对数据卡的其它操作,与读操作类似,微处理器发送写数据指令和写启动指令之间的时间间隔可以通过预先设定延时来实现。即当微处理器发送写数据指令之后进行计时,当计时达到第二设定门限值时执行步骤A43b。最后微处理器发送释放指令,释放总线资源。
在具体实现上述技术方案时,可以设定读操作和写操作不同时进行,则读操作和写操作可以使用同一数据寄存器。或者,为同时实现读操作和写操 作,或是为提高可靠性,可以为读操作和写操作设定独立的读数据寄存器和写操作寄存器。在上述读操作和写操作过程中,可以通过初始化数据卡来设定数据卡内单位空间的数据长度,例如可以设定为1字节,直至512字节等。数据寄存器设定为具有相应的空间,则通过预先设定,可以控制读操作和写操作过程中传输数据的长度。
为了避免不同微处理器对数据卡内同一地址空间进行重复的写操作而覆盖掉有用数据,可以为不同的微处理器划分相应的写操作地址空间,则在上述步骤A41b之前,还可以执行:
步骤A40b、微处理器从设定范围的地址中选定待操作地址,并将其设置在写地址指令中。
采用上述方案可以避免不当写操作对有用数据的覆盖。微处理器的读操作可以不受此限制,从而实现各个微处理器对一个数据卡内数据的共享。
在上述数据卡读写方法实施例的基础上,还可以在各微处理器发送查询总线状态指令和申请总线转换指令之前进行下述操作:
当微处理器接收到中断信号时,向接口控制装置发送状态读取指令,读取接口控制装置的状态寄存器中所存储的数据卡的状态。
上述技术方案以中断请求的方式使各个微处理器均能够获知数据卡的状态,例如是否插入、是否写保护,进而可以发送指令查询总线状态、申请总线转换,以及进行读操作和写操作。
在本发明数据卡读写方法中,微处理器的总线和指令并不限于上述具体的格式,只要包括相应的指令内容即可控制接口控制装置实现相应的功能。上述的技术方案有效解决了现有专用读卡器芯片仅能通过USB接口与微处理器交互的问题,实现了对微处理器本地总线交互模式的支持,而且实现了多个微处理器对数据卡中数据的共享,满足了用户的不同需求。
数据卡接口控制方法第一实施例
图4所示为本发明数据卡接口控制方法第一实施例的流程图。本实施例的方法是由接口控制装置执行的,具体可以配合上述数据卡读写方法来实施, 如图4所示,包括如下步骤:
步骤B10、当接口控制装置接收到微处理器发送的查询总线状态指令时,按照查询总线状态指令中包含的地址从本地的标识寄存器中读取标识,并将读取的标识反馈给微处理器;
步骤B20、当接口控制装置接收到微处理器发送的申请总线转换指令时,按照申请总线转换指令中包含的地址将微处理器的标识写入标识寄存器中,作为数据卡所连接的当前连接微处理器的标识;
上述步骤B10和B20的先后顺序并不固定,微处理器可以定时地发送查询总线状态指令和申请总线转换指令,接口控制装置当接收到某个指令时按照上述步骤执行相应操作即可。
步骤B30、接口控制装置进行微处理器与数据卡之间的读操作和/或写操作;
步骤B40、当接口控制装置接收到微处理器发送的释放指令时,按照释放指令中包含的地址将空闲标识写入标识寄存器。
本实施例为接口控制装置所实施的对数据卡接口的控制方法,可以与本发明的数据卡读写方法配合实施,该接口控制装置较佳的是可以采用CPLD来实现。具体的,当微处理器采用本地总线时,接口控制装置所接收到的微处理器的指令较佳的是如上表1所示。
本实施例的技术方案能够支持多个微处理器与一个数据卡相连,共享其中的数据,满足用户不同的使用需求。并且,具体可以采用CPLD来形成接口控制装置,无须制作专门的芯片,因此可以降低生产成本。
数据卡接口控制方法第二实施例
图5所示为本发明数据卡接口控制方法第二实施例的流程图。具体应用中,微处理器和数据卡可能采用不同的总线模式,则在进行读写操作时需要进行总线转换。如图5所示,在上述数据卡接口控制方法第一实施例的基础上,接口控制装置进行微处理器与数据卡之间的读操作具体包括如下流程:
步骤B31a、当接口控制装置接收到微处理器发送的写地址指令时,按照 写地址指令中包含的地址将写地址指令中的数据写入本地的地址寄存器中作为待操作地址;
步骤B32a、当接口控制装置接收到微处理器发送的读启动指令时,按照待操作地址读取数据卡中的数据,并存储到本地的数据寄存器中;
步骤B33a、当接口控制装置接收到微处理器发送的读数据指令时,从数据寄存器中读取数据到微处理器中。
本实施例的数据卡接口控制方法可以与本发明数据卡读写方法第二实施例的技术方案配合执行,当微处理器具体采用本地总线,而数据卡采用SPI总线时,接口控制装置可以实现总线转换功能。具体指令的较佳格式可以如上表2所示。
数据卡接口控制方法第三实施例
图6所示为本发明数据卡接口控制方法第三实施例的流程图。如图6所示,在上述数据卡接口控制方法第一实施例的基础上,接口控制装置进行微处理器与数据卡之间的写操作具体包括如下流程:
步骤B31b、当接口控制装置接收到微处理器发送的写地址指令时,按照写地址指令中包含的地址将写地址指令中的数据写入本地的地址寄存器中作为待操作地址;
步骤B32b、当接口控制装置接收到微处理器发送的写数据指令时,将写数据指令中的数据写入本地的数据寄存器中;
步骤B33b、当接口控制装置接收到微处理器发送的写启动指令时,按照待操作地址将数据寄存器中的数据写入到数据卡中。
本实施例的数据卡接口控制方法可以与本发明数据卡读写方法第三实施例的技术方案配合执行,当微处理器具体采用本地总线,而数据卡采用SPI总线时,接口控制装置需要实现总线转换功能。具体指令的较佳格式可以如上表3所示。
本发明上述实施例的技术方案实现了多个微处理器与数据卡之间的数据交互,多个微处理器可以共享一个数据卡中的数据。还实现了总线转换功能, 使微处理器与数据卡的交互不受总线形式的限制,兼容性更强,通用性更强。例如,数据卡还可以采用SD总线,SD总线相比于SPI总线来说增加了三根数据信号线,实现的方式基本类似。
在上述技术方案的基础上,该接口控制装置还可以包括中断处理功能,主要作用是检测数据卡是否插入、是否处于写保护等状态,则在微处理器进行数据读写操作的过程中,还可以包括下述步骤:
接口控制装置中的比较模块采集数据卡的插座信号,了解数据卡的当前状态“current_state”,并将采集的插座信号与本地状态寄存器中保存的插座信号进行比较,即将“current_state”与历史状态“sd_status”进行比较,当比较的结果为不一致时,说明数据卡的状态已经变化,则以采集的插座信号更新本地状态寄存器中的插座信号,并向接口控制装置上所连接的各个微处理器发送中断信号,以触发各微处理器对状态寄存器的读取,微处理器在获知数据卡的状态后方可进行相应的操作。
具体的,接口控制装置中可以设置一中断处理模块,与数据卡的插座信号相连,例如数据卡设置第一开关(SW1)、第二开关(SW2)和第三开关(SW3),通过其上的电平来表征数据卡所处的状态,具体的SW1直接下拉到地,SW2可以通过4.7K上拉,SW3通过4.7K上拉。如表4所示,SW2和SW3的组合状态可以指示数据卡的四种状态。
表4
SW2 SW3
卡存在(写保护) 0 1
卡存在(没有写保护) 0 0
卡不在位 1 1
上述技术方案利用数据卡上的结构设计,可以定时地对数据卡的状态进行检测,并以中断请求的方式触发各微处理器来读取状态寄存器中的数值,以便微处理器能够获知数据卡的状态而进行相应的操作。
数据卡接口控制装置第一实施例
图7所示为本发明数据卡接口控制装置第一实施例的结构示意图,且具 体示出了微处理器采用本地总线、数据卡采用SPI总线时与数据卡接口控制装置的连接关系。如图7所示,该数据卡接口控制装置200具体包括:用于插接微处理器100的至少两个微处理器接口210;用于插接数据卡300的数据卡接口220;标识寄存器230,用于存储数据卡300所连接的当前微处理器的标识或空闲标识;仲裁模块240,该仲裁模块240包括查询响应单元241和写入响应单元242。其中,查询响应单元241与微处理器接口210和标识寄存器230相连,用于当接收到微处理器100发送的查询总线状态指令时,按照查询总线状态指令中包含的地址从标识寄存器230中读取标识,并反馈给微处理器100;写入响应单元242与微处理器接口210和标识寄存器230相连,用于当接收到微处理器100发送的申请总线转换指令时,按照申请总线转换指令中包含的地址将微处理器100的标识写入标识寄存器230中,作为数据卡300所连接的当前连接微处理器的标识,且当接收到微处理器100发送的释放指令时,按照释放指令中包含的地址将空闲标识写入标识寄存器230。该数据卡接口控制装置200还包括一转换模块250,与微处理器接口210和数据卡接口220相连,用于进行微处理器100与数据卡300之间的读操作和/或写操作。
本发明的数据卡接口控制装置可以执行本发明的数据卡接口控制方法,且可以配合微处理器实施本发明的数据卡读写方法。该技术方案能够实现多个微处理器与一个数据卡之间的数据交互,能够共享一个数据卡中的数据,满足用户的多种需求。
数据卡接口控制装置第二实施例
图8所示为本发明数据卡接口控制装置第二实施例的结构示意图,在上述实施例的基础上,该数据卡接口控制装置200还可以包括:用于存储待操作地址的地址寄存器270;用于存储读取自或写入到数据卡300中的数据寄存器280。且该转换模块250具体包括:写地址单元251、读启动单元252、读数据单元253、写数据单元254和写启动单元255。其中,写地址单元251与微处理器接口210和地址寄存器270相连,用于当接收到微处理器100发送的写地址指令时,按照写地址指令中包含的地址将写地址指令中的数据写 入地址寄存器270中作为待操作地址;读启动单元252与微处理器接口210、地址寄存器270、数据寄存器280和数据卡接口220相连,用于当接收到微处理器100发送的读启动指令时,按照待操作地址读取数据卡300中的数据,并存储到数据寄存器280中;读数据单元253与微处理器接口210和数据寄存器280相连,用于当接收到微处理器100发送的读数据指令时,从数据寄存器280中读取数据到微处理器100中;写数据单元254与微处理器接口210和数据寄存器280相连,用于当接收到微处理器100发送的写数据指令时,将写数据指令中的数据写入数据寄存器280中;写启动单元255与微处理器接口210、地址寄存器270、数据寄存器280和数据卡接口220相连,用于当接收到微处理器100发送的写启动指令时,按照待操作地址将数据寄存器280中的数据写入到数据卡300中。
在上述实施例的基础上,接口控制装置200还可以包括:状态寄存器290“sd_status”、比较模块2100和中断模块2110。其中,状态寄存器290用于存储数据卡300的插座信号;比较模块2100与数据卡接口220和状态寄存器290相连,用于采集数据卡300的插座信号,并与状态寄存器290中保存的插座信号进行比较;中断模块2110与比较模块2100、状态寄存器290和微处理器接口210相连,用于当比较结果不一致时,更新状态寄存器290,并向所连接的各微处理器100发送中断信号。状态寄存器290可以设置为相对于微处理器100为只读状态,具体可以通过8位寄存器来实现,例如,可以设置“0x01”表示“卡存在且写保护”;“0x02”表示“卡存在且没有写保护”;“0x03”表示“卡不在位”。
本发明的数据卡接口控制装置可以实施本发明数据卡接口控制方法任一实施例的技术方案,并连接多个微处理器,配合微处理器执行本发明的数据卡读写方法实施例。通过本发明数据卡接口控制装置上的各寄存器和功能模块可以实现对当前微处理器的仲裁,合理为各微处理器分配总线资源,从而实现了多个微处理器可以共享同一数据卡中的数据,满足了用户的不同需求。
另外,本发明的数据卡接口控制装置可以实现微处理器和数据卡之间的 总线转换,使数据卡的应用更加灵活,不受总线形式的限制。例如,微处理器接口可以为本地总线接口,包括地址总线、数据总线和控制总线。数据卡接口为串行外围设备接口或SD总线接口,包括串行时钟线、从设备选择线、主设备输出/从设备输入数据线和主设备输入/从设备输出数据线。通过调整接口控制装置内寄存器的大小即可以使其适用于为不同数据总线宽度的微处理器提供总线转换功能,例如:8位、16位、32位和64位等,兼容性较强。该接口控制装置通过增加标识寄存器可存储的标识数量即可实现连接微处理器数量的增加,扩展性能好。
进一步的,该接口控制装置可以利用数据卡上的插座信号,以中断信号的形式触发各微处理器对数据卡状态的检测。
本发明的数据卡接口控制装置较佳的是可以采用CPLD来形成具有上述功能模块的集成电路,其通用性强,而且设计开发成本低,有利于推广应用。对于某些特定的应用领域,例如路由器、交换机等通信设备,其具有较长的使用寿命以及对专用芯片的需求量较少,这对于作为消费类产品的专用芯片来说,会提高供货成本。而且这类专用芯片的更新换代快、生命周期短,所以当通讯设备在数年后需要采购专用芯片时,则往往会发生呆料的问题。本发明采用CPLD制成的接口控制装置可以有效控制物料材料,保证了稳定供货,且降低了采购成本。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (16)

1.一种数据卡读写方法,其特征在于,包括:
步骤A10、微处理器向接口控制装置发送查询总线状态指令,以按照所述查询总线状态指令中包含的地址从所述接口控制装置的标识寄存器中读取标识,并执行步骤A20;
步骤A20、所述微处理器检测读取的所述标识,当检测到读取的所述标识为空闲标识时,则执行步骤A30,当检测到读取的所述标识为所述微处理器自身的标识时,则执行步骤A40,当检测到读取的所述标识为其他标识时,则返回执行步骤A10;
步骤A30、所述微处理器向所述接口控制装置发送申请总线转换指令,以按照所述申请总线转换指令中包含的地址向所述标识寄存器中写入所述微处理器的标识,作为数据卡所连接的当前微处理器的标识,并返回执行步骤A10;
步骤A40、所述微处理器与所述数据卡通过所述接口控制装置进行读操作和/或写操作,并执行步骤A50;
步骤A50、所述微处理器向所述接口控制装置发送释放指令,以按照所述释放指令中包含的地址向所述标识寄存器中写入空闲标识。
2.根据权利要求1所述的数据卡读写方法,其特征在于,所述微处理器与所述数据卡通过所述接口控制装置进行读操作具体包括:
步骤A41a、所述微处理器向所述接口控制装置发送写地址指令,将待操作地址按照所述写地址指令中包含的地址写入所述接口控制装置的地址寄存器中;
步骤A42a、所述微处理器向所述接口控制装置发送读启动指令,以指示所述接口控制装置按照所述待操作地址读取所述数据卡中的数据,并存储到所述接口控制装置的数据寄存器中;
步骤A43a、所述微处理器向所述接口控制装置发送读数据指令,以从所述数据寄存器中读取数据。 时,按照所述待操作地址将所述数据寄存器中的数据写入到所述数据卡中。
3.根据权利要求2所述的数据卡读写方法,其特征在于,还包括:
在所述微处理器发送所述读启动指令之后进行计时,当计时达到第一设定门限值时执行步骤A43a。
4.根据权利要求1所述的数据卡读写方法,其特征在于,所述微处理器与所述数据卡通过所述接口控制装置进行写操作具体包括:
步骤A41b、所述微处理器向所述接口控制装置发送写地址指令,将待操作地址按照所述写地址指令中包含的地址写入所述接口控制装置的地址寄存器中;
步骤A42b、所述微处理器向所述接口控制装置发送写数据指令,将待写入数据写入到所述接口控制装置的数据寄存器中;
步骤A43b、所述微处理器向所述接口控制装置发送写启动指令,以指示所述接口控制装置按照所述待操作地址将所述数据寄存器中的数据写入到所述数据卡中。
5.根据权利要求4所述的数据卡读写方法,其特征在于,还包括:
在所述微处理器发送所述写数据指令之后进行计时,当计时达到第二设定门限值时执行步骤A43b。
6.根据权利要求4所述的数据卡读写方法,其特征在于,在所述步骤A41b之前,还包括:
步骤A40b、所述微处理器从设定范围的地址中选定待操作地址,并将其设置在所述写地址指令中。
7.根据权利要求1所述的数据卡读写方法,其特征在于,还包括:
当微处理器接收到中断信号时,向所述接口控制装置发送状态读取指令,读取所述接口控制装置的状态寄存器中所存储的数据卡的状态。
8.一种数据卡接口控制方法,其特征在于,包括:
步骤B10、当接口控制装置接收到微处理器发送的查询总线状态指令时,按照所述查询总线状态指令中包含的地址从本地的标识寄存器中读取标识, 并反馈给所述微处理器;
步骤B20、当所述接口控制装置接收到所述微处理器发送的申请总线转换指令时,按照所述申请总线转换指令中包含的地址将所述微处理器的标识写入所述标识寄存器中,作为数据卡所连接的当前连接微处理器的标识;
步骤B30、所述接口控制装置进行所述微处理器与所述数据卡之间的读操作和/或写操作;
步骤B40、当所述接口控制装置接收到所述微处理器发送的释放指令时,按照所述释放指令中包含的地址将空闲标识写入所述标识寄存器。
9.根据权利要求8所述的数据卡接口控制方法,其特征在于,所述接口控制装置进行所述微处理器与所述数据卡之间的读操作具体包括:
步骤B31a、当所述接口控制装置接收到所述微处理器发送的写地址指令时,按照所述写地址指令中包含的地址将所述写地址指令中的数据写入本地的地址寄存器中作为待操作地址;
步骤B32a、当所述接口控制装置接收到所述微处理器发送的读启动指令时,按照所述待操作地址读取所述数据卡中的数据,并存储到本地的数据寄存器中;
步骤B33a、当所述接口控制装置接收到所述微处理器发送的读数据指令时,从所述数据寄存器中读取数据到所述微处理器中。
10.根据权利要求8所述的数据卡接口控制方法,其特征在于,所述接口控制装置进行所述微处理器与所述数据卡之间的写操作具体包括:
步骤B31b、当所述接口控制装置接收到所述微处理器发送的写地址指令时,按照所述写地址指令中包含的地址将所述写地址指令中的数据写入本地的地址寄存器中作为待操作地址;
步骤B32b、当所述接口控制装置接收到所述微处理器发送的写数据指令时,将所述写数据指令中的数据写入本地的数据寄存器中;
步骤B33b、当所述接口控制装置接收到所述微处理器发送的写启动指令 时,按照所述待操作地址将所述数据寄存器中的数据写入到所述数据卡中。
11.根据权利要求8所述的数据卡接口控制方法,其特征在于,还包括:
所述接口控制装置中的比较模块采集所述数据卡的插座信号,并与本地状态寄存器中保存的插座信号进行比较,当比较的结果不一致时,更新本地的状态寄存器,并向所连接的各微处理器发送中断信号。
12.一种数据卡接口控制装置,其特征在于,包括:
至少两个微处理器接口,用于插接微处理器;
数据卡接口,用于插接数据卡;
标识寄存器,用于存储所述数据卡所连接的当前微处理器的标识或空闲标识;
仲裁模块,所述仲裁模块包括查询响应单元和写入响应单元,
所述查询响应单元,与所述微处理器接口和标识寄存器相连,用于当接收到微处理器发送的查询总线状态指令时,按照所述查询总线状态指令中包含的地址从所述标识寄存器中读取标识,并反馈给所述微处理器;
所述写入响应单元,与所述微处理器接口和标识寄存器相连,用于当接收到所述微处理器发送的申请总线转换指令时,按照所述申请总线转换指令中包含的地址将所述微处理器的标识写入所述标识寄存器中,作为数据卡所连接的当前微处理器的标识,且当接收到所述微处理器发送的释放指令时,按照所述释放指令中包含的地址将空闲标识写入所述标识寄存器;
转换模块,与所述微处理器接口和数据卡接口相连,用于进行所述微处理器与所述数据卡之间的读操作和/或写操作。
13.根据权利要求12所述的数据卡接口控制装置,其特征在于:
还包括地址寄存器和数据寄存器,
地址寄存器,用于存储待操作地址;
数据寄存器,用于存储读取自或写入到所述数据卡中的数据;
所述转换模块具体包括:
写地址单元,与所述微处理器接口和地址寄存器相连,用于当接收到所述微处理器发送的写地址指令时,按照所述写地址指令中包含的地址将所述写地址指令中的数据写入所述地址寄存器中作为待操作地址;
读启动单元,与所述微处理器接口、地址寄存器、数据寄存器和数据卡接口相连,用于当接收到所述微处理器发送的读启动指令时,按照所述待操作地址读取所述数据卡中的数据,并存储到所述数据寄存器中;
读数据单元,与所述微处理器接口和数据寄存器相连,用于当接收到所述微处理器发送的读数据指令时,从所述数据寄存器中读取数据到所述微处理器中;
写数据单元,与所述微处理器接口和数据寄存器相连,用于当接收到所述微处理器发送的写数据指令时,将所述写数据指令中的数据写入所述数据寄存器中;
写启动单元,与所述微处理器接口、地址寄存器、数据寄存器和数据卡接口相连,用于当接收到所述微处理器发送的写启动指令时,按照所述待操作地址将所述数据寄存器中的数据写入到所述数据卡中。
14.根据权利要求12所述的数据卡接口控制装置,其特征在于,还包括:
状态寄存器,用于存储所述数据卡的插座信号;
比较模块,与所述数据卡接口和所述状态寄存器相连,用于采集所述数据卡的插座信号,并与所述状态寄存器中保存的插座信号进行比较;
中断模块,与所述比较模块、状态寄存器和微处理器接口相连,用于当比较结果不一致时,更新所述状态寄存器,并向所连接的各微处理器发送中断信号。
15.根据权利要求12所述的数据卡接口控制装置,其特征在于:所述 数据卡接口控制装置为复杂可编程逻辑器件。
16.根据权利要求12所述的数据卡接口控制装置,其特征在于:所述微处理器接口为本地总线接口,包括地址总线、数据总线和控制总线;所述数据卡接口为串行外围设备接口或安全数据记忆卡总线接口,包括串行时钟线、从设备选择线、主设备输出和从设备输入数据线、以及主设备输入和从设备输出数据线。 
CN2008102391358A 2008-12-09 2008-12-09 数据卡读写方法、接口控制方法和装置 Active CN101464846B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102391358A CN101464846B (zh) 2008-12-09 2008-12-09 数据卡读写方法、接口控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102391358A CN101464846B (zh) 2008-12-09 2008-12-09 数据卡读写方法、接口控制方法和装置

Publications (2)

Publication Number Publication Date
CN101464846A CN101464846A (zh) 2009-06-24
CN101464846B true CN101464846B (zh) 2011-07-20

Family

ID=40805432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102391358A Active CN101464846B (zh) 2008-12-09 2008-12-09 数据卡读写方法、接口控制方法和装置

Country Status (1)

Country Link
CN (1) CN101464846B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102054306B (zh) * 2011-01-31 2012-02-08 潘海朗 采用可变形二维曲线的人流量检测方法及系统
CN102866970B (zh) * 2012-09-28 2015-03-18 哈尔滨工业大学 Dsp专用cf卡读写控制ip核
CN106155953B (zh) * 2015-03-24 2020-07-24 联想(北京)有限公司 一种信息处理方法及电子设备
CN105046296B (zh) * 2015-06-30 2018-06-22 上海玮舟微电子科技有限公司 安全数码卡的数据传输方法及装置
CN106874222B (zh) * 2016-12-26 2020-12-15 深圳市紫光同创电子有限公司 指令延时控制方法、控制器以及存储器
CN110855347A (zh) * 2019-11-18 2020-02-28 四川光发科技有限公司 一种基于can总线通信装置
CN114265872B (zh) * 2022-02-24 2022-05-24 苏州浪潮智能科技有限公司 一种用于总线的互联装置

Also Published As

Publication number Publication date
CN101464846A (zh) 2009-06-24

Similar Documents

Publication Publication Date Title
CN101464846B (zh) 数据卡读写方法、接口控制方法和装置
CN100383737C (zh) 单片机在线加载升级方法及系统
CN101454746B (zh) 一种以多功能存储卡通讯的方法
CN100440242C (zh) 用于识别标准卡以及非标准卡的卡识别系统
CN106909425A (zh) 一种dsp和fpga系统在线升级方法
CN108616610A (zh) 地址分配方法、主机、从机及总线系统
CN102855151A (zh) 不打断业务的光模块固件在应用升级方法
CN102866683B (zh) 一种信号转换装置及自动测试系统
CN103500154A (zh) 一种串行总线接口芯片、串行总线传输系统及方法
CN106557446A (zh) 总线系统
CN111213099B (zh) 一种运动控制卡、运动控制系统、机器人系统及数控机床
KR100390058B1 (ko) 주국과적어도하나의종국을갖는통신시스템
CN110968352B (zh) 一种pcie设备的复位系统及服务器系统
US9779047B2 (en) Universal intelligent platform management interface (IPMI) host to baseboard management controller (BMC) communication for non-x86 and legacy free systems
US20100023669A1 (en) Host controller disposed in multi-function card reader
CN104217768A (zh) 一种eMMC内嵌式存储器的检测方法和装置
CN101082896A (zh) 一种主从模块间的控制方法和装置
CN103412836A (zh) 热插拔处理方法、装置以及系统
CN103064309B (zh) 确定选针器地址的方法及系统
CN106874228A (zh) 基于i2c总线的控制器及通信方法、多控制器间的通信方法
CN101187912A (zh) 存储卡系统及传输其主机识别信息的方法
CN110120877B (zh) 一种交换芯片的配置电路及交换芯片的参数的配置方法
CN103412838A (zh) 一种扩展系统、通信方法、地址配置方法、设备及装置
CN101465754A (zh) 加载复位配置字的方法、设备及通信单板
CN100585577C (zh) Usb装置、usb系统和usb控制方法

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
ASS Succession or assignment of patent right

Owner name: BEIJING Z-GOOD TECHNOLOGY SERVICE CO., LTD.

Free format text: FORMER OWNER: BEIJING XINGWANG RUIJIE NETWORK TECHNOLOGIES CO., LTD.

Effective date: 20140813

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100036 HAIDIAN, BEIJING TO: 100085 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20140813

Address after: 100085 Beijing city Haidian District No. 33 Xiaoying Road 1 1F06 room

Patentee after: BEIJING ZHIGU TECHNOLOGY SERVICES CO., LTD.

Address before: 100036 Beijing Haidian District City 33 Fuxing Road Cuiwei East 1106

Patentee before: Beijing Xingwang Ruijie Network Technologies Co., Ltd.

EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20090624

Assignee: Beijing Xingwang Ruijie Network Technologies Co., Ltd.

Assignor: BEIJING ZHIGU TECHNOLOGY SERVICES CO., LTD.

Contract record no.: 2014990000854

Denomination of invention: Data card read-write method, interface control method and apparatus

Granted publication date: 20110720

License type: Common License

Record date: 20141105

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model