通信控制用的双向串行接口的制作方法

文档序号:6656260阅读:171来源:国知局
专利名称:通信控制用的双向串行接口的制作方法
技术领域
本发明涉及一种适用于微处理器的通信接口,更具体地说,本发明涉及一种便于在微控制器和远程设备之间的通信的串行接口。
背景技术
一种称之为内部集成电路总线(I2C)的通用串行通信接口采用两条线作数据传输线一条为用于数据串行传输的串行数据(SDA)线,另一条为用于时钟信号传输的串行时钟(SCL)线。参照图1所示,SDA 14和SCL 16线起源于一诸如微控制器之类的主设备10。一或多个从设备12,诸如RF串行接口,可以通过SDA线14和SCL线16与主设备10相连接。每次通信对话必须由主设备10启动,主设备还控制着SCL线16上的时钟信号。多个从设备12都具有预定的设备地址,该地址的低位可以作板级配置。每一次传输开始时,主设备10发送预定的从设备的设备地址。各个从设备12负责监测SDA线14并且只对其自己的地址作出响应。主设备10通过发出一起始条件来开始通信。随后,主设备10发送唯一的7位从设备地址并首先发送最高有效位。在起始起始条件之后的第8位指定从设备12是接收(“0”)还是发送(“1”)。一旦接收和识别出从设备12的地址,被定址的从设备12就在SDA线14上发送一ACK位,以表示其已准备好接收或发送。随后,发送器(从设备12或者主设备10,如ACK位的内容所示)就从最高有效位开始发送数据字节。在接收到数据字节后,接收器就发出一新的ACK位。如果需要发送更多字节,就重复该9位模式。
在一写入事务处理中(从设备12接收),当主设备10完成了其需要发送的所有数据字节之后,其监测一最后的ACK信号并随后在SDA线14上发出一停止条件。在一读取事务处理中(从设备12发送),主设备10不确认其接收的最后的字节,其改为发出一停止条件,以表示其已收到其要求的所有信息。
低成本、低速的通信的另一常见选择是一串行外围接口(SPI),SPI限定4个信号时钟(SCLK)、主数据输出/从数据输入(MOSI)、主数据输入/从数据输出(MISO)以及从选择(CSS)。类似于I2C,SPI主设备以一主从关系进行通信。图2显示了在一单从结构中的这4个信号。在该图中,SPI主设备20通过4条携带MOSI信号24、MISO信号26、SCLK信号28和CSS信号30的线与一或多个从设备22连接。SCLK信号28和CSS信号30由主设备20产生并且提供给所有连接的从设备22。每一额外的从设备共享相同的MOSI信号线24、MISO信号线26和SCLK信号线28,但是每一从设备具有其自己的与主设备20连接的专用CSS信号线30。
MOSI信号线24将数据自主设备20传输到从设备22。MISO信号线26将数据自从设备22传输回主设备20。当主设备20宣告与一特定从设备22连接的CSS信号线30时就可选定该从设备22。采用两个数据线,每一传输方向用一条线,SPI就可作全双工数据传输。一旦主设备20产生一时钟信号并选择一从设备22,就可以同时地双向传输数据。事实上,只要涉及到SPI,数据总是双向传输的。一接收的字节是否有意义要由主设备20和从设备22来判定。
通过一流式数据能力(相对于在一从设备中的编址单元的读取和写入),SPI系统可以提供一高的数据传输率。然而,SPI不具备一用于确认数据接收的确认机制,也不能提供任何流量控制。在没有通信协议的情况下。SPI主设备不能够确认一从设备是否存在。
I2C和SPI接口共有的限制为通信设备必须构成一主/从关系,这意味着主设备是唯一能够启始一通信对话的设备。此外,没有任何确认机制,SPI就没法防止在接收设备中的缓冲器溢出。在I2C的情况中,虽然接收器每当接收一字节时发送一确认位,但该确认位必须通过数据线来发送。其结果是降低了数据传输率。因此,所希望的是具有一种使任一通信设备都可启始一通信对话的接口系统。还希望的是具有一种在不占用通信带宽下提供一缓冲器溢出防止机制的接口系统。

发明内容
本发明启示了一种串行接口系统,其使用一在通信设备之间的单线线路作双向数据传输和一在通信设备之间的控制线以利于数据传输。任何一个通信设备都可启始一通信对话。一旦收到一数据字节,接收设备就在控制线上发出一确认信号,以表示收到该数据字节。


图1所示为一现有技术的I2C串行接口的方框图。
图2所示为一呈一单主/单从结构的现有技术的SPI串行接口的方框图。
图3所示为本发明的一串行接口实施例的方框图。
图4所示为一根据本发明的实施例的从串行接口到微控制器的串行数据传输涉及的数据和控制信号的信号波形。
图5所示为一根据本发明的实施例的从微控制器到串行接口的串行数据接收涉及的数据和控制信号的信号波形。
图6所示为一根据本发明的实施例的一用于错误接收的控制信号的信号波形。
具体实施例方式
下面将结合一适用于诸如一微控制器、微处理器或有限态机器之类的处理单元的RF(射频)接口来叙述本发明的一示范性实施例。然而,应该理解的是,本发明并不限于RF接口。其可应用于任何在两个或多个设备之间的串行接口。
图3示出了一结合本发明的启示的RF串行接口。所示系统为一非接触型智能卡(图中未示),其包括设于一信用卡尺寸大小的塑料封装内的一微控制器44和一RF接口模块42,其中RF接口模块42用于接收来自诸如一平衡线(图中未示)的RF信号;一连接着第一和第二天线端L1和L2的天线。电功率可通过功率输入线自一外部电源,诸如一电池或一燃料电池来接收。RF接口模块42自RF信号提取数据信号和功率并随后将提取的数据信号通过一双向数据线46发送至微控制器44以及通过一功率线52给微控制器44提供功率。RF接口模块42还提供一接地线以使微控制器44良好地接地。在RF接口模块42完成一加电复位的序列之后,RF接口模块42还通过一时钟线50给微控制器44提供一自由运作时钟。一控制线4为RF接口模块42和微控制器44两者提供一第二通信信道,以启始和终止通信对话并在一通信对话期间提供接收确认。
由于本发明主要涉及在串行的RF接口模块42和微控制器44之间的串行接口,为使叙述和解释更加清晰和准确,在RF接口模块42和一诸如智能卡读写器(图中未示)之类的外部设备之间的通信将尽量减少。应该理解的是,RF接口模块42是在微控制器44和智能卡读写器之间的中介物。智能卡读写器以RF接口模块42通过该与第一和第二天线端L1和L2连接的天线就可自微控制器44读取也可向微控制器44写入。所有利用智能卡读写器的通信都是以一大小可变的数据包来进行的。在依照ISO/IEC 14443标准的应用中,智能卡读写器总是向智能卡发送一包含一命令的数据包,该智能卡则返回一单响应数据包。还有另外一些智能卡协议,其要求智能卡首先发送一数据包,或者使智能卡响应一单命令发送多个数据包。本发明的实施例支持所有这些协议的选项。为了简单起见,在下列实施例中说明的协议中,由智能卡读写器发送的一单命令数据包会导致智能卡发送一单响应数据包,其中智能卡包括一具有天线的RF接口模块42和一微控制器或逻辑模块44。
在一读取期间,智能卡读写器以RF方式向RF接口模块42发送一读取命令数据包。读取命令数据包包括一由一或多个字节组成的通信前同步,以及一通信停止序列。由于该读取命令数据包由RF接口模块42接收并以如图4所示的接收信令来通过数据线46逐个字节地发送到微控制器44。微控制器44处理所接收到的数据包并且通过使用如图5所示的发送信令作出响应,以将响应的数据通过数据线46逐个字节地发送至RF接口模块42,其以RF方式将一响应数据包发送到智能卡读写器。该响应数据包包括由一或多个字节组成的通信前同步以及一通信停止序列。
在一写入期间,智能卡读写器以RF方式将一写入命令数据包发送到RF接口模块42。该写入命令数据包包括由一或多个字节组的通信前同步以及一通信停止序列。该写入命令数据包由RF接口模块42接收并以如图4所示的接收信令来通过数据线46逐个字节地发送到微控制器44。微控制器44处理接收的数据包并且通过使用如图5所示的发送信令作出响应,将响应数据通过数据线46逐个字节地发送至RF接口模块42,其以RF方式将一响应数据包发送到智能卡读写器。该响应数据包包括由一或多个字节组成的通信前同步以及一通信停止序列。
在一读取期间和一写入期间之间的唯一差别在于由智能卡读写器和由微控制器44发送的数据包的内容。在读取和写入这两个实例中,RF接口模块42接收的字节是从RF信号中提取并通过串行接口发送到微控制器44。微控制器44的响应通过串行接口发送到RF接口模块42,其以RF信号方式将数据发送到智能卡读写器。在本发明中,发送或接收的状态是由控制线的状态控制,而不是通过数据线46上的字节的内容。
以下将叙述一在RF接口模块42和微控制器44之间的示范性通信的实施详情。当RF接口模块42开始自外部设备接收RF数据时,其启始一与微控制器44的通信对话以传递数据。参照图4,RF接口模块42以下列方式通过串行数据线46将串行数据发送到微控制器44当RF接口模块42收到一有效通信前同步时,就将一起始字节60发送到微控制器44。起始字节60例如可以是00h。微控制器44以一在控制线48上的就绪(READY)信号72作响应,以表示其已准备好接收。在该实施例中,该就绪信号为一在控制线48上的正脉冲且其持续时间为一串行时间单位(STU),该串行时间单位为通过该串行接口发送或接收一数据字节所需的时间。一旦检测到READY信号72,RF接口模块42就向微控制器44发送一第一数据字节62。微控制器44以一在控制线48上的第二READY信号74作响应,以表示其已准备好接收新的数据字节。所有后续的数据字节62、64都以一类似的方式输往微控制器44。在该实例中的最后两个字节为由外部设备诸如一智能卡读写器所发送的一第一和第二循环冗余校验(CRC)字节66、68以便检测数据。当RF接口模块42自外部设备诸如一智能卡读写器接收一通信停止序列时,就向微控制器44发送一单停止字节以终止传输。在本发明的此实施例中,当自该外部设备接收每一数据包时皆计算一CRC代码并与该数据包终端处的CRC代码相比较。如果RF接口模块42计算的CRC不匹配,则在该停止字节插入一出错代码。如果没有检测到错误,则停止字节例如可以是00h。串行接口并不需要CRC代码,但通常使用一CRC代码来改善采用RF信号方式的通信的可靠性。在实施一CRC的通信协议中,验证CRC代码是必需的,以确保不会处理有缺陷的数据包。CRC验证函数可以在微控制器44或者在RF接口模块2中进行。在本发明的此实施例中,CRC的计算和验证由RF接口模块42执行。
当微控制器44准备发送数据时,例如在外部设备作出一读请求的情况下,如图5所示,微控制器44通过在控制线48上发送一启动帧80来启始一与RF接口模块42的通信对话。在此实施例中,启动帧80为一在控制线48上的高电平信号。随后,微控制器44通过该串行数据线发送一第一数据字节82。一旦收到该第一数据字节82后,RF接口模块42将控制线48拉低为时一STU,以作为一READY信号86来表示收到该数据字节以及其已准备好接收下一数据字节。一旦微控制器44检测到该READY信号86,其继而会发送一第二数据字节84。一旦收到该第二数据字节84后,RF接口模块42就发送另一READY信号86以确认接收。这些接收一数据字节和发送一确认的步骤可以重复,直至所有数据字节皆已发送为止,这时微控制器44去除控制线48上的高电平信号,其会被RF接口模块42视为一结束帧88。基于从微控制器44接收的数据字节,RF接口模块42产生2个CRC字节并且将其发送到外部源作错误检验。
在RF接口模块42处于接收模式的时候,天线L1和L2可以接受用于另一系统的命令帧。这些帧在由微控制器44接收少数字节后就可被辨认出来。例如,该帧可以包含一无效命令代码或者一与一防止冲突序列所分配的代码不相匹配的设备识辨代码。(防止冲突过程使多个RF智能卡可与单个智能卡读写器通信。)如图6所示,一旦收到这些帧,微控制器44可通过在控制线48上返回一ERROR信号90而不是READY信号86来迫使RF接口模块42中止这些帧的接收。该ERROR信号90将迫使RF接口模块42返回一空闲状态,以等待下一个SOF。在图中,ERROR信号90为一在控制线48上的高电平信号且其持续时间为,例如,READY信号92的持续时间的3倍。
尽管本发明已根据一些具体的示范性实施例作出了说明,但是本领域的技术人员将会意识到,在本发明的范围内还可以轻易地实现其它实施例。
例如,RF接口模块可以由一适用于其它传输媒介例如光缆和电线的接口来取代。例如,本发明也可以用于一诸如由ISO 7816所叙述的接触式智能卡接口,或一使用光纤或者自由空间的光通信接口,一诸如一X10模块的电力线载波通信接口,或者一使用超声波的声波通信接口。因此,本发明的范围将只受限于所附的权利要求。
权利要求
1.一种用于一微控制器的串行接口,其包括一使所述串行接口与所述微控制器相耦合的单一的串行数据线,所述串行数据线配置成可向及可自所述串行接口传输数据;以及,一使所述串行接口与所述微控制器相耦合的单一的控制信号线,所述控制信号线配置成可向及可自所述串行接口传输至少一控制信号;所述微控制器和所述串行接口两者皆可通过在所述控制信号线上发送一起始信号来启始一通信对话。
2.如权利要求1所述的串行接口,其特征在于进一步包括与一天线相耦合的一第一和一第二天线引脚,所述天线配置成在所述微控制器和一远程设备之间作无线接收和发送至少一射频数据信号。
3.如权利要求2所述的串行接口,其特征在于进一步包括一用于将通过所述天线接收的所述数据信号转换成电功率的部件。
4.如权利要求2所述的串行接口,其特征在于进一步包括一自一外部电源接收电功率的功率输入线。
5.如权利要求2所述的串行接口,其特征在于进一步包括一配置成向所述微控制器发送一时钟脉冲的时钟输出线。
6.如权利要求2所述的串行接口,其特征在于,一由所述串行接口通过所述天线接收的数据字节配置成在一自所述微控制器的确认信号通过所述控制信号线接收后就即通过所述串行数据线被发送到所述微控制器。
7.如权利要求2所述的串行接口,其特征在于,所述串行接口配置成在通过所述串行数据线接收一自所述微控制器的数据字节后就即通过所述控制信号线向所述微控制器发送一确认信号来确认所述数据字节的接收。
8.如权利要求3所述的串行接口,其特征在于进一步包括向所述微控制器输送稳压电源的功率输出线。
9.如权利要求4所述的串行接口,其特征在于进一步包括一向所述微控制器输送稳压电源的功率输出线。
10.如权利要求3所述的串行接口,其特征在于进一步包括一提供一与所述微控制器耦合的接地连接的接地线。
11.如权利要求4所述的串行接口,其特征在于进一步包括一提供一与所述微控制器耦合的接地连接的接地线。
12.如权利要求4所述的串行接口,其特征在于,所述外部电源为一电池。
13.如权利要求4所述的串行接口,其特征在于,所述外部电源为一燃料电池。
14.如权利要求5所述的串行接口,其特征在于,所述时钟输出线配置成传输一得自通过所述天线接收的所述射频数据信号的时钟信号。
15.如权利要求6所述的串行接口,其特征在于,所述数据字节通过以下的步骤来接收自所述天线接收一有效通信前同步信号;自所述天线接收一数据字节;等待一通过所述控制信号线的自所述微控制器接收的控制信号,然后发送所述数据字节;以及,重复所述的接收和发送数据字节的步骤,直到自所述天线收到一有效通信停止信号。
16.如权利要求15所述的串行接口,其特征在于,所述数据字节的接收还包括一在收到所述有效通信前同步信号后即通过所述串行数据线向所述微控制器发送一启动字节的步骤。
17.如权利要求15所述的串行接口,其特征在于,所述数据字节是通过一在收到所述有效通信停止信号后即向所述微控制器发送一停止字节的另一步骤来接收。
18.如权利要求15所述的串行接口,其特征在于,一RF错误检测代码自所述数据字节中提取并且在检测到一错误时将一错误代码插入所述有效通信停止信号中。
19.如权利要求8所述的串行接口,其特征在于,数据传输包括以下的步骤通过所述控制信号线接收一自所述微控制器的有效启动帧信号;通过所述天线发送一通信前同步;通过所述串行数据线接收一自所述微控制器的第一数据字节;通过所述天线发送所述第一数据字节;通过所述控制信号线将一控制信号发送到所述微控制器,以表示收到所述第一数据字节;接收一自所述微控制器的下一数据字节;通过所述天线发送所述下一数据字节;将另一控制信号发送到所述微控制器,以表示收到所述下一数据字节;以及,重复所述的自所述串行数据线接收数据字节、通过所述天线发送数据字节和发送所述控制信号的步骤,直至收到一自所述微控制器的有效的帧结束控制信号,随即通过所述天线发送一通信停止信号。
20.如权利要求19所述的串行接口,其特征在于,一RF错误检测代码基于所述RF接口模块发送的所述数据字节来计算,所述错误检测代码是在发送所述通信停止信号之前通过所述天线来发送的。
全文摘要
一种用于串行通信的双向串行接口(见图3),其具有一便于在微控制器(44)和串行接口模块(42)之间的数据传输(46)的控制线(48)。微控制器和串行接口模块皆可以使用控制线来发送控制信号(CTRL),诸如启动信号、接收确认信号、出错信号和停止信号。由于具有一可供发送设备和接收设备两者使用的专用控制线,所以本发明使微控制器或串行接口模块两者都可以启始一通信对话。
文档编号G06F13/42GK101076788SQ200580020925
公开日2007年11月21日 申请日期2005年3月18日 优先权日2004年4月26日
发明者D·W·德雷瑟恩, G·S·盖泽 申请人:爱特梅尔股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1