本发明一般涉及一种数据接收器接口电路,特别是涉及一种用来接收在所预定的标准范围里的正确成帧的串行数据的方法和装置。 许多数据传送系统发送和接收成帧的串行数据。每个数据帧是由一个从前面的数据帧中分离出来的帧脉冲来识别的。这个帧的边缘可用来校直所传送的数据。例如,在一个多通道装置中传送一毕特(Bits)流时,每个通道具有十个毕特,其中第一个毕特表示通道1的毕特1,第二个毕特表示通道1的毕特2,……,第10个毕特表示通道1的毕特10和第11个毕特表示通道2的毕特1。每个通道的第一个毕特是一个帧脉冲,毕特2至毕特10构成了典型的数据毕特,但是在某些情况下也可以用每个相应通道的毕特2来进行奇偶校验。为了使数据毕特与它的相应的通道对准,接收器利用帧脉冲来接收其串行毕特流。因此帧脉冲是用来对数据组的边缘划界并提供具有帧标记地接收器。
在Stephen C.Dunning等人的4,323,790号美国专利中所披露的一种用于电话开关系统的弹性存贮电路表明了这种成帧数据的传送。这种电路使用了一种用来检测由于该数据的频度经常的增加或减少而使先入先出(FIFO)存贮器产生溢出或下溢的装置。该FIFO存贮器暂时存贮了由帧脉冲成帧的串行数据流部分。该电路没有提供监督数据讹误的装置。
当在连续帧脉冲对之间的时钟周期数等于一个预定数时,数据被认为是正确成帧的。但是在一传送系统的一个节点上讹误的数据被接收并不是罕见的,导致数据讹误的原因可能是时钟源不稳定,系统中的噪声,不良的连接或其它的种种原因。经常可以发现在一个系统中的两个连续帧脉冲之间出现了多余的时钟周期或不足的时钟周期,在那里该帧脉冲系列应该是周期性的,因而在它的每一对之间具有一预定的时钟周期数。如果这种情况未被检测,那么在误差控制装置有能力检测这个问题和开始正确的工作之前,接收器可能已接收了大量讹误的数据。大多数公知的数据接收器采用了一种包含有一个通常为FIFO形式的弹性缓冲器的输入级。目前,可使用的商品FIFO通常只给出先入先出-满和先入先出-空来表明溢出和下溢状态以及读出和写入指示字。但是,它不能利用读出和写入指示字来监控该FIFO的内容,因为对该器件来说它们是内部的。
本发明的一个目的是根据一种新颖的电路和方法用来接收当两个连续帧脉冲之间的时钟周期等于一预定的数时所被检测的正确成帧的数据,以及用来接收当时钟周期数等于该预定数时的数据。
根据本发明所提供的接收正确成帧数据的方法包括有在一存贮装置中存贮该数据的步骤,对在连续帧脉冲之间出现的时钟周期数进行计数的步骤,以及如果该时钟周期数等于一预定数时接收该被存贮数据的步骤。
另一方面,本发明提供了一种用来接收正确成帧数据的电路。一个存贮装置接收和存贮进入的数据,而一个计数装置响应于该被接收的数据以提供一个相应于每个连续帧脉冲对之间的毕特数的计数。一控制电路按一预定数对此计数比较和依据它的相互关系提供一个输出信号。然后在存贮装置中的数据被送至一数据接收器。
现在结合附图来说明本发明的一个实施例。
附图1是本发明的数据接收电路的方框图,和
附图2A和2B分别为图1电路中所示的读-写有限状态时序机(R/W-FSM)和复位有限状态时序机(R-FSM)的状态图。
参见附图1,连路接口电路(link-interfase circuit)1具有一个用来从一数据连路接收一输入信号的数据输入端2。该输入信号是一个在连续帧脉冲中具有周期性成帧数据的双相编码信号。众所周知,一个双相编码信号对数据,成帧信息和时钟信息编码都可以被复原。该编码可以这样来进行:逻辑1被编码为0,1,逻辑0被编码为1,0和一个表示一帧脉冲的双相扰动被编码为三个连续的1或0。因为连路输入信号通常是一个由数据毕特和帧毕特串联组合而成的串行数据流,因而有必要将该数据毕特和该帧毕特分开。在众所周知的本技术领域中和在4,323,790美国专利的例证中,图1所示的接口电路1提供了一种用来接收连路数据输入信号和用来单独地复原数据、时钟和成帧信息的装置。该连路接口电路1具有一个用来提供连路数据信号的第一输出端3,一个用来提供连路时钟信号的第二输出端4和一个用来提供连路帧信号的第三输出端5。这三个信号来自于复合连路输入信号。
数据接收器40准同步地读出数据。在接收器和发送器中准同步装置具有相同频率的时钟信号,然而在发送器和接收器之间的通信是异步的。通常,在一个异步通信装置中,一种诸如先入先出缓冲器的弹性缓冲器被用来暂时存贮数据。
先入先出缓冲器(FIFO)10具有一个与接口电路1的输出端3相连接的输入端6并用来暂时存贮一部分连路数据信号,然后该连路数据信号可在7端被输出到数据接收器40。对于这种器件,通常FIFO10具有一个先入先出-满端8和一个先入先出-空端9,一个复位端11,一个读出端R和一个写入端W。控制电路30根据来自接口电路1,计数电路装置20和FIFO10的信号控制FIFO10的工作。该控制电路30与接口电路1的输出端4和5相连接用来分别接收分流的连路时钟信号和分流的连路帧信号。为了使该数据接收器40具有本发明电路的功能,它提供给控制电路30一个具有相同频率的系统时钟信号作为连路时钟信号和一个具有相同频率的系统帧信号作为连路帧信号。
当预定的输入信号被认定时,控制电路30基本上是一个连到预置控制信号的输出端的逻辑门网络,该控制电路30因此可以被认为是一个有限状态时序机(FSM)。实际上该控制电路30可以被逻辑地分为如图1可示的读/写状态时序机(R/W-FSM)和复位状态机器(R-FSM)。
计数路电装置20具有第一和第二计数器25和26,用来对在任何给定的数据帧内的时钟周期进行计数。第一计数器25响应线21上的连路时钟信号和在第一清零线22上的延迟连路帧信号,以产生一个表示在连路输入信号中帧脉冲之间时钟周期数的连路帧计数。与此相似,第二计数器26响应输送线23上的系统时钟信号和在输入线24上的延迟系统帧信号,以产生一个表示在系统帧信号中系统帧脉冲之间存在的系统时钟信号数的系统帧计数。该延迟连路帧信号和延迟系统帧信号都分别来自于控制电路30中的连路帧信号和系统帧信号,并且由于它们位移是一个时钟周期,所以它们与各自的原始信号合拍。计数器25和26提供它们各自的输出信号到控制电路30。
计数器26和相关的电路系统用来监视数据接收器40和FIFO10之间的工作关系,以确保接收器能够正确地读出其FIFO的内容。
在运行时,连路接口电路1接收连路输入信号,如前面所论述的,该连路输入信号是一个包括数据毕特和帧毕特以及时钟信号的复合串行信号。接口电路1将所接收的信号解码为连路数据信号,连路时钟信号和连路帧信号。控制电路30接收连路时钟信号,连路帧信号,系统时钟信号,系统帧信号,先入先出-满信号,先入先出-空信号,连路和系统帧计数,并且按照所接收信号的状态产生写,读或复位信号送到FIFO10中。当写信号被确认时,FIFO10接收连路数据信号并按顺序存贮数据毕特直至读信号或复位信号被确认。当读信号被确认时,FIFO10的数据毕特由数据接收器40读出。当控制电路30判断出该数据是正确地成帧时,FIFO10作为一个暂时的缓冲器来存贮该数据。当复位信号被确认时,FIFO10清洗掉所有它的数据。这个清洗过程可以用复位在FIFO10中的读和写指示字来简单地实现,以代替现行的删除被存贮数据的过程。
第一和第二计数器25和26以相同的方式来工作,但具有不同的输入和输出信号。第一计数器25的计数是由连路时钟信号来增加并且当由控制电路30所产生的延迟连路帧信号确认时该计数被复位,控制电路30响应于连路帧信号,将由该连路帧计数所表示的计数与一个预定的数相比较。如果该计数等于该预定的数,则控制电路30依据系统时钟信号和系统帧信号被确认而产生读信号,并且存贮在FIFO10中的数据可以被读出。第二计数器26的计数由系统时钟信号来增加并且当延迟的系统帧信号确认时该第二计数器被复位。产生该读信号之前,系统一帧信号的完整性由测定在连续帧脉冲之间该系统一帧信号是否具有正确的时钟周期数来检验。如果在帧脉冲之间,该时钟周期数不正确,则控制电路30产生复位信号去清除FIFO10中的内容。
结合说明R/W-FSM作用的图2A和说明R-FSM作用的图2B可以更好地了解下面有关操作的说明。
下面的伪码用来表示R/W-FSM的操作:
状态0:读信号未产生
写信号未产生
读数=错误的
如果没有复位存在
如果连路-帧信号存在转到状态1否则到状态0
状态1:
读信号未产生
写信号产生
读数=错误的
如果没有复位存在
如果系统-帧信号存在转到状态2否则空闲等待系统-帧信号
否则转到状态0
状态2:读信号产生
写信号产生
读数=正确
如果没有复位存在转到状态2
否则转到状态0
在状态0,复位信号被确认以后直到连路-帧信号出现,读/写FSM将处于等待。当第一连路-帧脉冲出现时,R/W-FSM将确认写信号并且数据将写入FIFO。如果系统-帧信号产生,则根据状态1执行状态2,并且FIFO被读出。
下面的伪码是表示复位FSM操作:
状态0:如果读数=正确,并且先入先出-空被确认则转至状态3
如果先入先出-满转至状态3
如果连路-帧信号存在转至状态1
如果系统-帧信号存在转至状态2
转至状态0
状态1:如果连路-帧计数不等于预定值
这时转至状态3
否则转至状态0
状态2:如果系统-帧计数不等于预定值时
转至状态3
否则转至状态0
状态3:复位读/写-FSM=正确
转至状态4
状态4:复位位信号=正确
转至状态5
状态5:复位信号=错误
转至状态6
状态6:复位读/写-FSM=错误
转至状态7
状态7:如果连路-帧信号存在转至状态8
否则转至状态7
状态8:如果系统-帧信号存在转至状态0
否则至状态8
状态0是空闲状态,其中该R-FSM是来监视满或空状态的。如果连路帧计数不等于预定值时,状态1和2转至状态3。状态3和6是错误状态。复位读/写FSM信号首先复位R/W-FSM,而该复位信号的确认复位该FIFO。在返回到空闲状态0复位读/写FSM信号首先复位R/W-FSM,而该复位信号的确认复位该FIFO。在返回到空闲状态0之前,状态7和8等待到下一帧开始。
利用一个或多个适宜构成R/W-FSM和R-FSM的功能的可编程逻辑阵列可以方便地实现控制电路30。相类似地,计数器25和26也可以利用相同的或其他的可编程逻辑阵列来实现。
本发明的电路也允许数据连路接口电路使用可买到的商品单片FIFO来接收正确的成帧的数据。
在一种常规的数据接收器接口电路上附加了最低数量的电路,本发明提供了一种排除由于不正确的成帧面引起的讹误数据的经济和有效的途径。