CN1369156A - 串行通信系统的时钟摆动控制 - Google Patents

串行通信系统的时钟摆动控制 Download PDF

Info

Publication number
CN1369156A
CN1369156A CN00811247A CN00811247A CN1369156A CN 1369156 A CN1369156 A CN 1369156A CN 00811247 A CN00811247 A CN 00811247A CN 00811247 A CN00811247 A CN 00811247A CN 1369156 A CN1369156 A CN 1369156A
Authority
CN
China
Prior art keywords
sampling
clock
shew
clock shew
bit
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.)
Pending
Application number
CN00811247A
Other languages
English (en)
Inventor
J·诺厄
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN1369156A publication Critical patent/CN1369156A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0262Arrangements for detecting the data rate of an incoming signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/08Modifications for reducing interference; Modifications for reducing effects due to line faults ; Receiver end arrangements for detecting or overcoming line faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • H04L7/0331Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop with a digital phase-locked loop [PLL] processing binary samples, e.g. add/subtract logic for correction of receiver clock

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Communication Control (AREA)

Abstract

一种用于在自动测定波特率期间考虑时钟摆动的系统和方法。在识别AT命令和入局数据流的波特率时,本发明根据入局数据流的波特率,用两种方法中的一种计及时钟摆动。如入局数据流的波特率为9600或更高时,本发明通过利用与ASCII字符和RS-232协议有关的特征来计及时钟摆动。此特征是通过间隔被紧密配合在两边上的停止位。此特征用于确定是否存在负向或正向时钟摆动。如果存在负向时钟摆动,并确定该负向时钟摆动落在某一门限值内,就跳过一个采样。如果存在正向时钟摆动并且落在某一门限内,通过取一个额外采样将正向时钟摆动转换为负向时钟摆动。基于所计算的摆动值,从原有采样和新采样中重构位而计及时钟摆动,以获得消除时钟摆的不利影响的真实采样。当入局数据流的波特率高于9600时,若存在多组每位8个采样,本发明通过从起始位起取中间一组8个采样来计及时钟摆动。这是通过搜索下一个起始位来实现。一旦发现下一个起始位,就确定哪一组8个采样是中间采样。本发明重算到该中间采样,并从中间采样读入数据来消除摆动影响。

Description

串行通信系统的时钟摆动控制
                     相关申请的交叉参考
共同专利受让人的下列申请与本申请具有某些共同揭示内容:
题目为“无数据丢失的基于UART的自动测定波特率”,申请日期为1996年7月18日,以QUALCOMM公司,代理档案号QCPA276名义的美国专利申请。
题目为“以自动波特模式保证点到点协议包检测中时钟摆动修正在波特率检测后无数据丢失”,申请日相同,以QUALCOMM公司,代理档案号QCPA862的美国专利申请。
                            发明背景
发明领域
本发明涉及移动通信领域,尤其涉及一种在AT命令串行发送给能够接收和发送数据的蜂窝电话中时钟摆动修正的系统和方法。
相关技术
除了话音发送能力外,蜂窝电话现在还能提供数据服务。配置有收发数据功能的蜂窝电话允许用户使用膝上型电脑和蜂窝电话远程接入因特网,电子邮件,传真及其他数据源。由其他数据源提供的数据必须转换为能适合于蜂窝电话能处理和发送的信号。依照时分多址(TDMA),频分多址(FDMA)或码分多址(CDMD)配置的蜂窝电话必须将数据转换为适合于各自协议的格式。
为了能正确地处理数据,必须确定发送给蜂窝电话(经数据链路,例如串行口)数据的波特率。这种处理被称为自动测定波特率(autobauding)。蜂窝电话必须能识别入局数据的波特率以便有效地将数据转换成适合的发送格式。
为了减少功率损耗和降低费用。在蜂窝电话中使用通用异步收发装置(UART)来处理输入的串行数据。通常这些装置遵循RS-232协议,并且仅支持标准的异步部分。当已知入局数据的波特率时,UART以字节模式工作。在字节工作模式中,UART通常用锁相环硬件自动修正时钟的摆动。另外,UART自动地除掉起始位和停止位,并检查奇偶校验(如果有)。摆动是指发送时钟和接收时钟在时钟速率上的差别。UART在自动测定波特率期间以采样模式工作。在自动测定波特率期间,在QUALCOMM的移动站调制解调器中,UART以较高速率采样输入的串行数据,以确定波特率。当UART按采样模式工作时,既不能计及摆动,也不能除掉起始位和停止位。在采样模式,UART简单地进行8个采样,以及将该8个采样表示为一个字节。UART设置成一种比特率,以致一个字节(一组8个采样)相应于以通过自动波特检测的最高比特率的一个位。被采样的一个位恰好是一位起始位或一位停止位。在确定了开始字节和波特率后,UART需要设置成字节工作模式,以接收入局数据流的剩余字符。当UART在退出前已经读入某字符的一部分时,就可能会产生问题。在UART退出采样模式进入字节模式后,UART企图进行正常的搜索起始位和停止位,计算时钟摆动等工作。如果在UART从采样模式转换成字节工作模式时,一个数据字符的一部分已经在UART中,UART可能把一个真实的数据字符认为是起始位。发生这种情况时,在下一条命令来临之前,该数据好像是无用信息。为了使输入的数据流可靠,UART需要在整条命令内维持采样模式。当UART维持在采样模式时,必须计及时钟摆动,否则,数据会丢失或者被误解,甚至该数据好像是无用信息。
需要的是一种在串行通信期间能提供可靠数据的系统和方法,以便当UART在自动测定波特率期间按采样模式工作时能修正摆动。
                           发明概述
本发明通过提供一种在自动测定波特率期间计及时钟摆动的系统和方法而解决上述问题。在识别AT命令和入局数据流的波特率时,本发明根据入局数据流的波特率用两种方法中的一种计及时钟摆动。
如果入局数据流的波特率为9600或更高,本发明通过利用与ASCII字符和RS-232协议有关的特征来计及时钟摆动。其特征是通过间隔被紧密配置在两边的停止位。此特征用于确定是否存在负向的或正向的时钟摆动。如果存在负向的时钟摆动,并且确定负向时钟摆动值超出某一门限,就跳过一次采样。如果存在正向时钟摆动,并且该值超出某一门限,通过一次额外采样将正向时钟摆动转变成负向时钟摆动。根据计算的摆动值,通过从原有采样和新采样中重构位来计及时钟摆动,以获得一个消除时钟摆动的不利影响的真实采样。
入局数据流的波特率低于9600时,当存在多组每位8个采样时,本发明通过从一个字符串的起始位读入中间一组8个采样来计及时钟摆动。这是通过搜索下一个起始位实现的。一旦找到下一个起始位,就确定哪个组8个采样是中间采样。本发明重算到该中间采样,并从该中间采样读入数据以消除摆动的影响。
下面将参照附图详细地描述本发明的更多功能和优点,以及本发明各种实施例的结构和工作原理。
                          附图简述
从下面所陈述的详细描述连同附图,本发明的功能、目的和优点变得更明白,在整个附图中相似参考符号表明相应元件。在附图中,相似的参考数字一般表示同种的,功能上相似的、和/或结构上相似的元件。在元件首次出现的图中,由相应参考数字的最左边的数字指出。
图1是一张框图,描述实现本发明实施的一个范例系统;
图2是一张示图,描述AT命令起始字符;
图3a是一张示图,描述不存在时钟摆动时,入局数据采样怎样与所接收的时钟同步;
图3b是一张示图,描述负向时钟摆动时,入局数据采样怎样与所接收的时钟不同步;
图3c是一张示图,描述正向时钟摆动时,入局数据采样怎样与所接收的时钟不同步;
图4是一张示图,描述RS232协议和ASCII字符的独有特征;
图5a是一张示图,描述负向时钟摆动的严重性;
图5b是一张示图,描述正向时钟摆动的严重性;
图6是一张示图,描述从前一采样和当前采样重构一个真实采样;
图7是一张流程图,描述入局数据流的比特率为9600或更大时,用于计及串行数据发送期间时钟摆动的一种方法;以及
图8是一张流程图,描述当入局数据流的比特率低于9600时,用于计及串行数据发送期间时钟摆动的一种方法。
                   本发明实施例的详述
这里,虽然本发明是参考特定应用的说明性实施例介绍的,应当懂得本发明不应限止于此。那些熟悉这里所提供技术的人员将认识到,在其范畴和另外领域内的另外的修改、应用和实施例中,本发明将有重要的实用价值。
本发明直接针对自动测定波特率期间计及时钟摆动的一种系统和方法。在识别入局数据流的命令类型和波特率后,本发明根据检测的入局数据流的波特率,用两种方法中的一种计及时钟摆动。当波特率为9600或更高时,本发明根据停止位确定时钟摆动,因为停止位总是精密地配置在两个间隔之间。对于波特率低于9600,在为下一个起始位再次取中心之前,本发明通过从起始位和所有的后续位中读入中间一组8个采样来消除时钟摆动。
图1是一张实现本发明的范例系统100的框图。系统100包含通信装置102,配对装置106,和两根串行连接电缆118和120。串行连接电缆118和120或者相类似的通信链路,例如红外和射频(RF)的链路,使通信装置102与配对装置116相互连接。在一个较佳实施例中,通信装置102是蜂窝电话,而配对装置116可以是任何一种数据源,例如便携式或非便携式计算机,传真机,个人数字助理装置等。
通信装置102的相关部件是通用异步收发器(UART)104和微处理器110。UART 104将输入串行数据转换为并行数据以输入到微处理器110。该串行数据是从配对装置116经串行连接电缆或相类似的通信链路118输入的。UART104将从微处理器110来的并行数据转换为串行数据,并将数据经串行连接电缆或相类似的链路120发送给配对装置116。
UART 104包括两通道,一个接收通道122和一个发送通道124。接收通道122包含一个耦合至FIFO(先进先出)存储装置108的移位寄存器106。发送通道124包含一个耦合至FIFO(先进先出)存储装置112的移位寄存器114。接收和发送移位寄存器106和114,分别是8位移位寄存器。接收和发送的FIFO108和112分别为64×8比特宽。两个FIFO 108和112都用于存储数据。对于输入的串行数据,移位寄存器106在将数据左移至FIFO 108时,进行串行到并行的变换。对于从微处理器110输出的并行数据,移位寄存器114在将数据从FIFO 112移到右边时,进行并行到串行的变换。进入FIFO 108和112的第一个数据字节总是分别由微处理器110或移位寄存器114所接收的第一个数据字节。
串行电缆118和120上的数据信号的串行发送是按EIA/TIA-RS-232E接口协议进行的。EIA/TIA-RS-232E由电信工业协会在1992年6月出版的,题目为“ANSI/TIA/EIA-602-1992”文献中规定的。当UART 104按字节模式工作时,移位寄存器106从输入串行数据中搜索起始位和停止位,并除掉起始位和停止位。剩余的数据移位至FIFO 108作为微处理器110的输入。当UART按采样模式工作时,移位寄存器106不搜索起始位和停止位,只取8个采样并将它们移入FIFO 108。在微处理器110检索该采样进行处理之前,该采样一直保存在FIFO 108中。当FIFO几乎装满时,中断信号送到微处理器110。于是,微处理器通过检索所有的或部分的数据来响应。由处理器110从UART 104中检索得的采样按CDMA协议转换为适合于发送的数据格式。在一个较佳实施例中,UART 104是QUALCOMM公司提供的QUALCOMM公司MSM2 UART,本发明专利受让人。当UART按采样模式工作时,微处理器110也处理数据以计及摆动。下面将参考图7和图8描述该处理过程。
命令序列的开始字节可以是一个‘A’,‘a’,或一个‘~’。因此,自动测定波特率寻找‘A’,‘a’和‘~’。‘A’和‘a’表示一个AT命令的开始。AT命令包含所有的ASCII字符。RS-232,串行发送的EIA(电子工业协会)标准,需要由一位起始位,以标识一个字符的开始。起始位总是由一个间隔(即是一个0位)表示。字符的结束由一个位停止位来标识。停止位总由标记(即是一个1位)表示。ASCII字符的最高有效位总是一个间隔。这样,对于ASCII字符,停止位通过间隔被精密配置。
图2表示一张AT命令开始字节的示图。如先前所述,AT命令的开始字节是一个‘A’202或是‘a’220。‘A’202和‘a’220两者均含有间隔和标记。间隔表示0位,而标记表示1位。字符‘A’202包含第一个间隔204,第一个标记206,第二个间隔208,第二个标记210,第三个间隔212和第三个标记214。第一个间隔204表示起始位。第一个标记206表示最低有效位(LSB)。第二个间隔208包含5个间隔。第二个标记210含有一个标记。第三个间隔212是最高有效位(MSB),而第三个标记214是停止位。
字符‘a’220包含第一个间隔222,第一个标记224,第二个间隔226,第二个标记228,第三个间隔230和第三个标记232。第一个间隔222表示起始位。第一个标记224表示最低有效位(LSB)。第二个间隔226包含4个间隔。第二个标记210含有二个标记。第三个间隔230是最高有效位(MSB),而第三个标记232是停止位。
在ASCII中以0×7e标志表示的字符‘~’(未示出)代表点到点的协议(PPP)包。在PPP包检测中,保证时钟摆动修正的系统和方法在继续申请中发布,其题目为“在自动波特率模式的波特率测定后,保证在点到点协议包检测中无数据丢失的时钟摆动修正”,申请号___,申请日___(代理档案号为QCPD1138),这里一起并入作为整体参考。
每一个开始字节有一个独特的外形(profile),因此通过确定开始字节内间隔位和标记位的相对位置可以区别的。是否接收到相应于‘A’,‘a’或‘~’采样的判别以及自动波特率检测期间的波特率检测,已在题目为“无数据丢失的自动波特率检测的通用异步收发器(UART)”的继续申请中公布,其申请号为08/684346,申请日为1996年7月18日,(代理档案号为PA276),这里一起并入作为整体参考。
在确定开始字节和波特率后,UART需设置成字节工作模式以接收入局数据流中剩余的字符。如果UART 104在已经读入某一字符的一部分时退出采样模式,就会引起一个问题。在UART 104退出采样模式进入字节模式后,UART104企图进行搜索起始位和停止位,计及时钟摆动等正常工作。如果在UART104从采样模式转换成字节工作模式时,一个数据字节的一部分已在UART104内,UART104可能将一个真实的数据字符解释成起始位。当发生这种情况时,直到下一条命令来临以前,数据好像是无用信息。为了使输入的数据流可靠,UART 104需要在整条命令内维持采样模式。当UART104维持采样模式时,必须计及时钟摆动,否则,数据如像是无用信息。
本发明解决UART维持采样模式时的时钟摆动。时钟摆动是在发送装置以比接收装置较高或较低的时钟速率工作时产生。因为两个时钟不可能以完全相同的速率工作,时钟摆动是普遍存在的。图3a说明无时钟摆动时的理想的发送采样。采样302完全与从接收装置102来的接收时钟脉冲304(用虚线显示,表示时钟脉冲的前沿和后沿)同步。
负向时钟摆动发生在发送时钟比接收时钟快时。图3b示出一个负向时钟摆动的例子。采样302在接收时钟脉冲(以虚线表示)304开始之前到达。当发生该情况时,当前采样含有部分下一个采样或比特306。
正向时钟摆动发生在接收时钟比发送时钟快时。图3c示出一个正向时钟摆动的例子。采样302在接收时钟脉冲(以虚线表示)304开始之后到达。当发生该情况时,当前采样含有部分前一个采样或比特306。
本发明将参照AT命令描述。AT命令包括所有的ASCII字符。虽然本发明是参照AT命令描述,本发明可以适用于其他类型的命令。
对于波特率为9600或更高的情况,在发送AT命令时,本发明利用所有ASCII字符和RS-232协议所独有的特征计及时钟摆动。
图4描述当发送以ASCII字符表示的字符时,RS-232串行发送所独有的特征。图4表示由起始位402和停止位406所包围的一个ASCII字符410。ASCII字符410含有8位。其中ASCII字符的前7位可以是标记,间隔,或一个组合。ASCII字符410的最后一位404是最高有效位(MSB)。ASCII字符410的MSB 404总是一个间隔。RS-232,串行发送的EIA标准,要求由起始位402表明一个字符的开始。起始位402总是以一个间隔(即是0位)表示。由停止位406来表明一个字符的结束。停止位总是用一个标记(即是1位)表示。因此,所有ASCII字符的独有的特征是停止位由间隔包围:MSB 404在它的左边。而下一个起始位在它的右边。虽然用此特征描述本发明,本发明不应限止于此特征。字符集中含有该独有特征的其他类型编码方法也可以应用。
图5a和5b分别描述负向和正向时钟摆动的严重性。在图5a中示出四个负向时钟摆动502,506,510和514的例子。采样大小据表示为被MSB 404和起始位402包围的停止位406。每个采样代表8比特。接收装置102的时钟以两条线表示(以虚线示出)。这两条虚线表明时钟504的前沿和后沿。
例子502示出当发送时钟比接收时钟快2比特,导致一个-2/8的负向摆动。这样,该采样含有下一个字符的一部分或下面的2比特。即使发送和接收时钟相差2次采样,还能鉴别该采样代表一个标记。
例子506示出当发送时钟比接收时钟快4比特,导致一个-4/8的负向摆动。这样,该采样含有下一个字符的一部分或下面的4比特。此时,有50∶50的机会将该采样识别为一个标记。
例子510示出发送时钟比接收时钟504快6比特,导致一个-6/8的负向摆动。这样,该采样含有下一个字符的一部分或下面的6比特。带有发送和接收时钟的6比特偏差,在该例子中就不能肯定该采样是一个标记或是间隔。
例子514示出发送时钟比接收时钟504快8比特,导致-8/8的负向摆动。这样,该采样含有完整的下一个字符或下面的8比特。在这一点上,发送时钟与接收时钟504完全不同步。该采样将被识别为间隔,且从数据的该点起的采样好像是无用信息。
在图5b中示出四个正向时钟摆动520,524,528和532的例子。例子520示出接收时钟504比发送时钟快2比特,导致+2/8的正向摆动。这样,该采样含有前一个字符的一部分或前面的2比特。虽然接收和发送时钟相差2比特,还能鉴别该采样代表一个标记。
例子524示出接收时钟504比发送时钟快4比特,导致+4/8的正向摆动。这样,该采样含有前一个字符的一部分或前面的4比特。此时,有50∶50机会将该采样识别为一个标记。
例子528示出接收时钟504比发送时钟快6比特,导致+6/8的正向摆动。因此,该采样含有前一个字符的一部分或前面的6比特。带有接收和发送时钟的6比特偏差,在该例子中就不能肯定该采样是一个间隔或是标记。
例子532示出接收时钟504比发送时钟快8比特,导致+8/8的正向摆动。这样,该采样含有前一个字符的全部或前面的8比特。在这一点上,接收时钟504与发送时钟完全不同步。该采样将被识别为一个间隔,且从数据的该点起的采样好像是无用信息。
本发明通过记住当前的摆动,并且利用一部分前面采样和一部分新采样,以重构下一个采样而计及上述的摆动。在负向摆动导致误解采样的情况(即在从下一个字符接收越来越多的数据或比特的地方)之前,如例子510和514(图5a所示),接收装置102为了恢复与发送时钟的同步跳过一个采样。在正向摆动导致误解采样的情况(即在从下一个字符接收越来越多的数据或比特的地方)之前,如例子528和532(如图5b所示),接收装置102为了恢复与发送时钟的同步取一个额外采样。
图6描述通过利用一部分前面的采样和一部分新采样重构一个真实采样。第一个采样602含有一部分下一个采样或比特606。保存第一个采样602。一旦收到第二个采样604,第一个采样就变成前采样602。第二个采样或新采样604含有该字符的剩余部分或比特608,该剩余部分用于重构真实采样610。因而,真实采样包含从前采样602来的比特606和从新采样604来的比特608。
通过使前采样右移(k-n)位与使第二个采样左移n位相结合来重构真实采样:
真实采样=(前采样>>(k-n))|(新采样<<n),
这里:k=被采样的位的数;以及
n=摆动量
图7表示一张用于计及时钟摆动的方法流程图。该方法用于解决UART按采样模式工作并且入局数据流的波特率为9600或更高时,在串行数据发送期间产生的时钟摆动。处理过程从步骤702开始。这里,控制转到步骤704。
在步骤704,判断开始字符是否是‘A’,‘a’,或‘~’。一旦已知是开始字符,就测定波特率。开始字符是否是‘A’,‘a’,或‘~’的判断,以及在自测定波特率期间的波特率测定在上述的继续申请中公布,申请题目为“无数据丢失的自动测定波特率的通用异步收发器(UART)”。然后控制转入步骤706。
在步骤706,用停止位406计算时钟摆动,该停止位被MSB 404和起始位402包围。用一张查阅表来计算时钟摆动。读入该采样大小据值。该值用于在查阅表上寻找相应的时钟摆动。例如,在无时钟摆动时,读入的采样大小据为FF。在查阅表上的FF相应于0(零)摆动。接着控制转到判定步骤708。
在判定步骤708,确定是否存在负向时钟摆动。如果存在负向时钟摆动,控制转到判定步骤718。在判定步骤718,确定负向时钟摆动的绝对值是否大于门限值。该门限值的范围是:4比特<T<8比特。如果该时钟摆动的绝对值是在该门限范围内,控制转到步骤720。
在步骤720,跳过一个采样。当下一个特征出现时,完成了时钟摆动补偿。控制转到步骤722。
回到判定步骤718,如果时钟摆动的绝对值不在该门限范围内,控制转到714。在步骤714,通过从下一个特征出现之前,从为所产生的摆动读入原采样和新采样中,重构比特数来计及时钟摆动。然后控制转到步骤722。
回到判定步骤708,如果负向时钟摆动不存在,控制转到判定步骤710。在判定步骤710,确定时钟摆动的绝对值是否大于(8-T)的数量(这里T表示门限值),或换句话说,是否存在正向的时钟摆动。门限值T的范围是:4位<T<8位。如果读入的正向摆动大于(8-T),控制转到712。
在步骤712,取一个额外采样。额外采样的取得,使正向时钟摆动转换为负向时钟摆动。按上述模式将正向时钟摆动变成负向时钟摆动的转换,允许解决摆动的一种方法既适用于正向摆动又适用于负向摆动。然后控制转到步骤714。
在步骤714,通过从下一个特征出现之前,从为所产生的摆动读入的原采样和新采样中,重构比特数来计及时钟摆动。然后控制转到步骤722。
回到判定步骤710,如果正向时钟摆动不大于(8-T),控制转到步骤716。在步骤716,在下一个特征出现之前,不能计及时钟摆动。正向时钟摆动并未严重到导致错误地判断入局数据。控制转到步骤722。
在步骤722,判断是否存在更多的数据。如果存在更多的数据,控制转到步骤724。
在步骤724,通过从下一个特征出现之前,利用读入的时钟摆动,从输入的数据流中重构比特数来计及时钟摆动。用摆动信息重构后的比特搜索表格。该表含有所有可能的方法。在该表中,可在8比特流中找到“1”的连续流。因而,该表含有38条记录,而不是有256条记录。如果“1”的个数多于“0”的个数,该采样代表标记。相反,该采样代表间隔。如果找不到相应的匹配,已经发生错误。然后控制转到步骤706,在该步骤,为下一个特征计算时钟摆动,并自己重复上述的处理。
回到步骤722,如果没有更多的可用数据,控制转到步骤726。在步骤726,设置波特率,并且UART 104终止采样模式,进入字节模式。然后,控制转到步骤728。在步骤728,处理过程结束。
上述的方法应用于9600或更高的比特率。UART 104,以9600波特率按采样模式工作,在19200的比特,每比特产生一组8个采样;在9600位率,每比特为两组8个采样或16次采样;在4800位率,每比特为四组8个采样或32次采样;在2400位率,每比特为八组8个采样或64次采样;和在1200位率,每比特为十六组8个采样或128个采样。因而,在较低的比特率,存在多组每位8个采样。
对于低于9600的比特率,即是1200,2400和4800,停止位的特征就不适用了,因为较低的比特率随时间具有较少停止位。例如,在19200位率,一个字节的数据具有一定的长度。在9600位率的一个字节数据的长度是19200位率的两倍,产生的停止位数为原有的一半。在4800位率,数据字节的长度为4倍,产生的停止位数为原有的四分之一,等等。在这些较低的比特率中遇到停止位时,时钟摆动将不可修复。因而,对于较低比特率,摆动量(给出的停止位数)比较大。
起初,在采样的边界处的时钟摆动是最重要的,因为从前面的比特或后面的比特来的采样首先出现在当前采样的边界处。到拥有完整的采样之前,随着时间的推移,时钟摆动向左或向右漂移。因此,到较后面之前,时钟摆动不会影响采样的中间部分。因而,对于多于两组8个采样代表1位的较低的比特率,本发明读入中间的一组8个采样。用起始位来执行该居中技术。通过读入中间一组8个采样自动取消了摆动的影响。
图8描述一张用于解决摆动的方法流程图。该方法用于解决UART 104以采样模式工作并且入局数据流的比特率低于9600时,在串行数据发送期间的时钟摆动。处理过程在步骤802开始,在这里,控制转到步骤804。
在步骤804,判断开始字符是否为‘A’,‘a’,或‘~’。一旦已知开始字符,就确定波特率。开始字符是否是‘A’,‘a’,或‘~’的判断,以及在自动测定波特期间的波特率测定在上述的继续申请中公布,申请题目为“无数据丢失的自动测定波特率的通用异步收发器(UART)”。然后控制转入步骤806。
在步骤806,遇到前一个停止位404后,搜索起始位402。该搜索通过搜索第一组8个采样来完成,该采样的大多数均为间隔。接着控制转到判定步骤808。
在判定步骤808,确定哪组8个采样是中间采样。例如,在4800位率,有四组8个采样。中间采样是第二组和第三组8个采样。因而,确定第二组8个采样是中间采样。在2400位率,将选择第四组8个采样,而在1200,将选择第八组8个采样。然后,控制转到步骤810。
在步骤810,通过重算到合适组数的8个采样找到中间采样组。控制转到步骤812。
在步骤812,读入中间采样以消除摆动的影响。然后控制转到判定步骤814。
在判定步骤814,确定是否有更多的可用数据。如果有更多的可用数据,控制返回到步骤806。如果没有,控制转到步骤816。
在步骤816,设置波特率,并且UART 104退出采样模式进入字节工作模式。控制转到步骤818。在这里结束处理。
注意在19200位率,因为不存在多组每位8个采样,不能应用居中技术。虽然在9600位率,存在每比特两组8个采样,也不存在中心组每比特8个采样。两组8个采样均位于边界上,并有可能通过前面比特或下面比特超出边界。因而,居中方法不能应用于9600位率和更大的比特率。
                               结论
虽然本发明是按照蜂窝电话描述的,本发明也可用于使用通用异步收发器(UART)或通用同步/异步收发器(USART)的其他通信装置。上面提供的较佳实施例描述使任何技术熟练的人员能制作或使用本发明。虽然,本发明对其中关于较佳实施例作了特殊的展示和描述,那些技术熟练人员应该懂得,不需背离本发明的精神和范畴就能在格式和细节上作各种修改。

Claims (25)

1,一种串行通信中修正时钟摆动的方法,其特征在于,所述方法包括以下步骤:
从入局数据流接收含有某一预定特征的一个采样,其中所述入局数据流的波特率确定至少为9600;
用所述预定特征计算时钟摆动;
确定所述时钟摆动是否是负向;
如果所述时钟摆动不是负向的,确定所述时钟摆动是否是正向的;
如果存在所述的负向和正向时钟摆动中的一种,对所述的负向和正向时钟摆动中的一种作补偿;
确定所述采样是否代表标记和间隔中的一种;以及
如果在所述入局数据流中有更多的采样,在所述的预定特征再次出现之前基于所述时钟摆动计算,从所述入局数据流中重构位和字符;
2,权利要求1的方法,其特征在于,所述方法进一步包括:如果在所述数据流中没有更多的采样,设置所述波特率和退出采样模式的步骤。
3,权利要求1的方法,其特征在于,所述方法进一步包括:如果在所述输入的数据流中有更多的采样,返回到所述计算步骤的步骤。
4,权利要求1的方法,其特征在于,所述的补偿负向时钟摆动的步骤进一步包括以下步骤:
确定负向时钟摆动的绝对值是否超过一门限值;
如果所述的负向时钟摆动的绝对值不超过所述门限值,在所述预定特征再次出现之前,基于所述摆动计算,从原有采样和新采样重构比特位;以及
如果所述的负向时钟摆动的绝对值超过所述门限值,就跳过一个采样。
5,权利要求4的方法,其特征在于,所述门限值是在4和8比特之间。
6,权利要求5的方法,其特征在于,所述门限值为6比特。
7,权利要求1的方法,其特征在于,所述的补偿正向时钟摆动的步骤包括以下步骤:
确定正向时钟摆动的绝对值是否超过(k-T)数量,其中k是采样大小,而T是门限值:
如果所述的正向时钟摆动的绝对值超过(k-T),取一个额外采样;
如果所述的正向时钟摆动的绝对值超过(k-T),在所述预定特征再次出现之前,基于所述摆动计算,从原有采样和新采样中重构位。
8,权利要求7的方法,其特征在于,所述门限值是在4和8比特之间。
9,权利要求8的方法,其特征在于,所述门限值为6比特。
10,权利要求7的方法,其特征在于,所述采样大小,k是8。
11,一种串行通信中修正时钟摆动的系统,其特征在于,所述系统包括:
从入局数据流中接收一个含有某一预定特征的采样的装置,其中所述入局数据流的波特率确定至少为9600;
用所述预定特征计算时钟摆动的装置;
确定所述时钟是否是负向的装置;
如果所述时钟摆动不是负向,确定所述时钟摆动是否是正向的装置;
如果存在所述的负向和正向时钟摆动中的一种,补偿所述的负向和正向时钟摆动中的一种的装置;
确定所述采样是否代表标记和间隔中的一种的装置;及
如果在所述入局数据流中有更多的采样,所述预定特征再次出现之前,基于时钟摆动计算,从所述入局数据流中重构位和字符的装置。
12,权利要求11的系统,其特征在于,该系统进一步包括:如果在所述入局数据流中没有更多的采样,设置所述波特率和退出采样模式的装置。
13,权利要求11的系统,其特征在于,所述的补偿负向时钟摆动的装置包括:
确定负向时钟摆动的绝对值是否超过门限值的装置;
如果所述的负向时钟摆动没有超过所述门限值,在所述预定特征再次出现之前,基于所述摆动计算,从原有采样和新采样中重构位的装置;及
如果所述的负向时钟摆动的绝对值超过所述门限值,跳过一个采样的装置。
14,权利要求13的系统,其特征在于,所述门限值是在4和8比特之间。
15,权利要求14的系统,其特征在于,所述门限值为6比特。
16,权利要求11的系统,其特征在于,所述的补偿正向时钟摆动的装置包括:
确定正向时钟摆动的绝对值是否超过(k-T)的数量的装置,其中k是采样大小,而T是门限值;
如果所述的正向时钟摆动的绝对值超过(k-T),取一个额外采样的装置;及
如果所述的正向时钟摆动的绝对值超过(k-T),在所述预定特征再次出现之前,基于所述摆动计算,从原有采样和新采样中重构位的装置。
17,权利要求16的系统,其特征在于,所述门限值是在4和8比特之间。
18,权利要求17的系统,其特征在于,所述门限值为6比特。
19,权利要求16的系统,其特征在于,所述采样大小,k是8。
20,一种串行通信中修正时钟摆动的方法,其特征在于,该方法包括以下步骤:
从入局数据流中接收一个采样,其中所述入局数据流的波特率确定为低于9600;
从所述采样中搜索起始位;
确定所述采样的中间部分;
重算到所述采样的所述中间部分;及
读入所述采样的所述中间部分。
21,权利要求20的方法,其特征在于,该方法进一步包括步骤:
确定是否有更多的可用数据;
如果有更多的可用数据,返回到所述搜索步骤;及
如果没有更多的可用数据,设置所述波特率并且退出采样模式;
22,权利要求20的方法,其特征在于,所述搜索步骤包括寻找具有大部分间隔的一组比特位的步骤。
23,一种串行通信中修正时钟摆动的系统,其特征在于,该系统包括:
从入局数据流中接收一个采样的装置,其中所述入局数据流的波特率确定为低于9600;
从所述采样中搜索起始位的装置;
从所述采样搜索起始位的装置;
确定所述采样的中间部分的装置;
重算到所述采样的所述中间部分的装置;及
读入所述采样的所述中间部分的装置。
24,权利要求23的系统,其特征在于,该系统进一步包括:
确定是否有更多的可用数据的装置;及
如果没有更多的可用数据,设置所述波特率并且退出采样模式的装置。
25,权利要求23的系统,其特征在于,所述搜索方法包括寻找具有大部分间隔的一组比特位的装置。
CN00811247A 1999-08-04 2000-08-03 串行通信系统的时钟摆动控制 Pending CN1369156A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/368,204 US6366632B1 (en) 1999-08-04 1999-08-04 Accounting for clock slew in serial communications
US09/368,204 1999-08-04

Publications (1)

Publication Number Publication Date
CN1369156A true CN1369156A (zh) 2002-09-11

Family

ID=23450287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN00811247A Pending CN1369156A (zh) 1999-08-04 2000-08-03 串行通信系统的时钟摆动控制

Country Status (8)

Country Link
US (1) US6366632B1 (zh)
EP (1) EP1198918A1 (zh)
CN (1) CN1369156A (zh)
AU (1) AU767167B2 (zh)
CA (1) CA2380461A1 (zh)
HK (1) HK1046601A1 (zh)
MX (1) MXPA02001191A (zh)
WO (1) WO2001011816A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010066566A (ko) * 1999-12-31 2001-07-11 대표이사 서승모 프레임 위치를 임의의 위치로 이동시키기 위한 장치 및방법
US7017056B1 (en) 2000-07-31 2006-03-21 Hewlett-Packard Development Company, L.P. Method and apparatus for secure remote control of power-on state for computers
US7260660B1 (en) * 2004-05-21 2007-08-21 Zilog, Inc. Flow control by supplying a remote start bit onto a single-wire bus
US7895301B1 (en) 2004-05-21 2011-02-22 Uei Cayman Inc. Transmitting a codeset over a single-wire bus from a computer to a remote control device
SE528389C2 (sv) * 2005-03-11 2006-10-31 Atlas Copco Rock Drills Ab Vridanordning för en bom till en gruv- eller entreprenadrigg jämte rigg
CN101340671B (zh) * 2008-08-07 2011-12-28 北京天碁科技有限公司 一种at命令的查询方法及系统
CN101645752B (zh) * 2008-08-08 2013-01-09 鸿富锦精密工业(深圳)有限公司 通信协议自动侦测系统及方法
US10162606B2 (en) 2013-12-09 2018-12-25 Apiosoft Aps Computer-implemented method for generating and visualizing data structures

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4466111A (en) 1981-11-27 1984-08-14 Gte Products Corporation Synchronization apparatus and method
US5131015A (en) 1990-10-22 1992-07-14 Cirrus Logic, Inc. Combined BAUD rate generator and digital phase locked loop
US5627858A (en) * 1992-07-20 1997-05-06 Telefonaktiebolaget L M Ericsson Multi-channel autobauding circuit
GB2276797B (en) 1993-04-02 1996-10-23 Northern Telecom Ltd Digital demodulation
US5841823A (en) 1995-10-13 1998-11-24 Vlsi Technology, Inc. Method and apparatus for extracting a clock signal from a received signal
US5923705A (en) 1996-07-18 1999-07-13 Qualcomm Incorporated UART based autobauding without data loss
US6044121A (en) * 1997-07-22 2000-03-28 Cabletron Systems, Inc. Method and apparatus for recovery of time skewed data on a parallel bus
US6181912B1 (en) * 1998-09-09 2001-01-30 Qualcomm Inc System and method for user terminal clock error measurement and correction

Also Published As

Publication number Publication date
MXPA02001191A (es) 2002-07-30
EP1198918A1 (en) 2002-04-24
HK1046601A1 (zh) 2003-01-17
AU6523600A (en) 2001-03-05
CA2380461A1 (en) 2001-02-15
US6366632B1 (en) 2002-04-02
AU767167B2 (en) 2003-11-06
WO2001011816A1 (en) 2001-02-15

Similar Documents

Publication Publication Date Title
CN1104094C (zh) 数据压缩方法和设备
US5923705A (en) UART based autobauding without data loss
CN1009893B (zh) 测定数据传输速率的方法和装置
CN1162996C (zh) 用于移动通信系统的数据速率检测设备和方法
CN1691631A (zh) 用于对电子名片进行管理的方法
CN1293852A (zh) 用于异步串行通信的自动速率检测
EP1455304A3 (en) Method and apparatus for segmentation of compound documents
CN1369156A (zh) 串行通信系统的时钟摆动控制
CN1552033A (zh) 对网页中的电话号码进行代码转换的系统和方法
CN86105459A (zh) 输入处理系统
CN1086533C (zh) 在电话线路上线路编码信号的传输电路
CN1081860C (zh) 用于数字通信的同步装置
CN101034385A (zh) 通过触摸屏手机向电脑输入信息的方法
CN1317890A (zh) 获取和维护系统帧号和连接帧号的方法及装置
US20050278608A1 (en) Communication system
CN1179662A (zh) 模式匹配装置
CN1496062A (zh) 网络中智能信息处理的方法和系统
EP0669738A2 (en) System and method for automatically detecting speed, parity, and character length
US20050201488A1 (en) Display of digital interface symbol information from an analog signal
CN1355631A (zh) 帧定位查找及码流转换电路和方法
US6381703B1 (en) Guaranteeing clock slew correction in point-to-point protocol packet detection without data loss after baud rate detection in autobaud mode
CN111797137B (zh) 一种通过压缩时标查询采样数据的方法
CN1640001A (zh) 借助于迭代相关系统而具有下行链路同步的移动终端
CN1350678A (zh) 用于传送数字传输协议的参量的方法
CN1571426A (zh) 传输接口的流量控制

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1046601

Country of ref document: HK