具有快速周转协议的高速半双工调制-解调器的制作方法

文档序号:7560160阅读:121来源:国知局

专利名称::具有快速周转协议的高速半双工调制-解调器的制作方法
技术领域
:本发明涉及数据通信和传输,具体地说,是描述一种具有高速信号交换过程和半双工快速线路周转协议的调制-解调器。计算设备在家庭和办公室的广泛应用,使得需要一种装置,用它能够快速、方便地把数据从一个计算设备传输到另一个计算设备。调制-解调器与公共电话网络一起,基本上满足了这个需要。调制解调器把计算设备所用的数字数据转换为能沿公共电话系统传输的模拟信号。一般说来,最好是采用全双工工作(能同时进行发送和接收)。同时,由于要从一个设备传输到另一个设备的数据量的增加,为了减少连接时间和电话负荷,一般都希望有高的数据传送率(每秒的比特数),特别是对于长途通信。然而,一个常规的电话线具有一个有限的带宽,近似为3KHz,这个有限的带宽与背景噪音、串音、和传输线路相位以及幅度的畸变一起,对在电话线路上能够进行成功传输的数据速率设置了一个上限。在美国通信数据速率达到2400比特/秒(bps)之前一般是全双工通信,而通信数据速率超过2400比特一般是半双工通信(即调制-解调器能够发送或接收,但两者不能同时进行)。一些调制-解调器可以高达1200bps的数据传送率进行传输,另一些调制-解调器可传输的速率高达2400bps,还有一些调制-解调器可传输的速率高达9600bps。为了使一个调制-解调器能够与另一个调制-解调器进行传输,这两个调制-解调器必须商定一个共同的数据传送率。两个调制-解调器商定数据传输率的方法一般称为“信号交换”。国际电报电话咨询委员会(CCITT)的建议V22(2)建议了一种信号交换的方法,使两个调制-解调器协商,是以1200或是以2400bps的数据传送率进行传输。然而还没有相应的建议,使调制-解调器协商是以1200,2400,4800或是9600bps的数据传送率进行传送。因此,这里需要一个补充CCITTV22(2)的信号交换的方法,以便为高到9600bps的数据传送率提供一个统一的信号交换方法。当数据传送率为2400bps或更低时一般是采用全双工通信。然而,当数据传送率超过2400bps时,因全双工通信设备通常很昂贵而希望采用半双工操作。采用半双工操作时,就需要第一调制-解调器通知第二调制-解调器第一调制-解调器要进行传输请准备接收。CCITT建议X.25提供了一个用于交换数据和控制信息的帧格式。然而,X.25格式提供了比绝对必须的还要多的信息和控制位。因为必须把这些位与每一帧一起传输,所以就要把一些可用来传输数据的时间浪费在传输非必要的或无用的控制和信息位上。因此就要求半双工格式中采用最少的控制和信息位数,特别是在第一调制-解调器通知第二调制-解调器它没有任何要传输的数据的控制帧里。多数的调制-解调器采用一个或两个微处理机来执行调制-解调功能。然而,在9600bps传输速率时,指令的执行时间会变成一个限制因子。当然,如果能够提供额外花费和功率损耗,并且能够容纳得了局部发热的话,可以采用一个极高速的微处理机。也可用低速便宜的微处理机,把任务分开承担,即是并行重叠方式,这里还要提供有两个微处理机之间数据通信的装置。因此,就需要有一个在两个微处理机之间把执行任务分开的方法,和一个使得两微处理机交换必要数据的装置。虽然传输速率可达比如9600bps,但由于电话线带宽的限制,使之不能以9600bps的速率一位一位地连续传输,为了达到9600bps的有效数据传送率,把比特系列分组,形成一组组的比特组。比如,四比特组(一组四比特)。用该四比特组去调制载波信号的相位和振幅。把四比特组更新在一个称为波特率的新的频率上。因此,如果有效的传输率是9600bps,且采用四比特组,那么波特率就是9600/4=2400波特。然而,为了精确地恢复四比特组,就需要在近似每一波特的同样次序采样输入的信号。这是通过处理信号来恢复波特时钟来达到的。通常把一个振荡器设置在大约为该波特时钟的频率,用输入的信号去调节该振荡器的相位和频率,使之与传输的波特钟频完全一致。通常用固定增量来调整该振荡器的相位,使之与输入信号的波特时钟的相位一致。然而,如果该固定增量太大,就不能使该振荡器精确地跟踪该波特时钟,从而将发生波特时钟跳动。相反地,如果该增量的值太小,则将需要一个很长的时间才能使该振荡器锁定在传输的波特时钟上。所以就需要有一个波特钟恢复电路,它能校正波特振荡器,使之快速精确地锁定到传输波特时钟上。本发明提供了一种具有改进的信号处理能力、信号交换和协议技术的调制-解调器,和一种改进的波特时钟恢复电路。概括地说,本发明的特征在于一种调制-解调器,这种调制-解调器把信号处理任务分给两个数字信号处理机,使之可并行完成独立的操作,而不是串行操作,从而取得了较快的执行速率。更具体地说,本发明的特征在于一个方法和装置,它们使两上微处理机能够通过公共的随机存取存储器(RAM)进行信息交换。本发明的特征还在于一个采用信号交换技术的每秒9600比特(bps)的调制-解调器,它与许多现存的1200和2400bps调制-解调器是兼容的。同时,本发明的特征还在于一个采用改进训练序列的调制-解调器,使得当进行从操作的训练方式到操作的数据交换方式转换时减少相位转动的影响。本发明的特征还在于一个采用快速线换向协议的调制-解调器,使得工作在半双工方式时,在第二调制-解调器没有任何要传输的数据的情况下,在第一调制-解调器上在线路的转换控制中所用的时间最少。本发明的特征还在于采用了自同步1.5分频器电路(divide-by-1.5dividerCircNlit)。这种分频电路的优点是不采用反馈脉冲,这样使这种分频器的元件不需要具有工作在比基准频率更高频率的能力。本发明的特征还在于一个采用改进的无跳动的接收波特时钟恢复电路,根据实际采样点与希望采样点不同的程度动态地调整所用步子的大小来校正采样点。从下面的详细描述中,将能更清楚地看出本发明所提供的上述特征和其它一些改进。图1A和1B表示改进的信号交换技术的最佳实施例。图2表示在该最佳实施例中所用的相位-振幅构象。图3表示在该最佳实施例中所用的重新训练请求序列。图4表示在该最佳实施例中所用的通信协议。图5A和5B是该最佳实施例的电原理图。图6是用于控制存储器的另一个实施例的电原理图。图7是1.5分频器的最佳实施例的电原理图。图8是表示1.5分频器的最佳实施例中的波形。图9是接收机波特时钟锁相环控制电路最佳实施例的方块图。图10是该最佳实施例计算超前/滞后步子大小所用方法的流程图。现在参照附图,在这些图中相同的标号代表同样的部件。图1A和1B表示优选的信号交换顺序。在该最佳实施例中,呼叫调制-解调器10开始呼叫並与应答调制-解调器12在标准电话线11上进行通信。每个调制-解调器10和12都有一个把信号送到电话线11上的发信机部分(T)和一个收听检测电话线11上信号的收信机部分(R)。在全双工方式中调制-解调器的发信机和收信机部分可同时工作。而在半双工方式中可交替地工作。因此,呼叫调制-解调器10工作在全双工方式时是序列13A到13E和14A到14E,而工作在半双工方式时是序列30A到30I。同样,应答调制-解调器12工作在全双工方式时是序列15A到15F和16A到16D,而工作在半双工方式时是序列31A到31H。虽然所示的信号交换顺序的主要目的是为了确定是以4800bps还是以9600bps进行通信,但所能希望的进行通信的调制-解调器仅能工作在300,1200和/或2400bps的速率。因此,信号交换序列的第一部分包含有CCITTV.22(2)的信号交换序列建议的部分。呼叫调制-解调器10的发信机部分(T)进入呼叫13A时序然后进入寂静13B期间。当设置呼叫的同时,呼叫调制-解调器10的收信机部分(R)进入等待14A,然后进入收听和检测应答音14B。应答调制-解调器12的收信机部分(R)在等待16A,发信机部分(T)首先进入寂静期间15A,然后发送2100Hz应答音15B,以后进入一个短的寂静期间15C。在该短寂静期间结束时,发信机部分(T)进入15D,发送BC1序列,与此同时收信机部分(R)收听并检测S序列的存在。按照CCITT建议V.22(2),序列BC1是一种以1200bps的非扰码二进制1,序列S1是以1200bps的非扰码双二位组00和11。在呼叫调制-解调器10的收信机部分(R)在14C检测到来自应答调制-解调器12的BC1序列后,发信机部分(T)进入13C,发送S1序列。还有,如果呼叫调制-解调器10识别出应答调制-解调器12作出的寂静应答,那么,在寂静期13B之后,呼叫调制-解调器10将进入13C,发送S1序列。通常,按照V.22(2)的建议,呼叫调制-解调器10的发信机部分(T)的下一个动作将是发送序列BC2。然而,在该最佳实施例中,发信机部分(T)在发送序列BC2(13E)之前发送序列S2(13D)。序列S2是一种以1200bps的非扰频二进制0。序列S2是一个足够短的期间,以便用通常的1200和/或2400bps调制-解调器的信号交换中不把它作为干扰或引起的问题而被检测。在另一个实施例中,序列S2与序列S1是同样的以1200bps的非扰码双二位组00和11.CCITT建议V.22(2)规定,序列S1是100+/-3毫秒。在这个实施例中,序列S2是序列S1的继续和延伸。速度不能超过2400bps的应答调制-解调器12将不能响应较长的双二位组序列。然而,速度能够超过2400bps的应答调制-解调器12将能把延长的双二位组序列识别为S1序列和S2序列,从而进行响应。同样,应答调制-解调器12在发送序列S1的同时(15E)收听来自呼叫调制-解调器10的序列S2(16C)。如果应答调制-解调器12检测到S2序列(16C),则应答调制-解调器12通过发送S2序列(15F)进行响应。呼叫调制-解调器10,在发送S2序列(13D)之后,开始发送BC2序列(13E),与此同时14E收听来自应答调制-解调器12的S2序列。在点22,呼叫调制-解调器10和应答调制-解调器12准备进入半双工方式,并开始4800bps和9600bps信号交换序列。应当指出,在点20如果应答调制-解调器12没有检测到S1序列,那么按照V.22(2),应答调制-解调器12继续V.22(2)的1200bps信号交换序列。同样,如果呼叫调制-解调器10没有检测到S1序列(14D),那么在点21呼叫调制-解调器10将继续V.22(2)的1200bps信号交换序列。如果答应调制-解调器12检测到S1序列(16B),但未检测到S2序列(16C),那么在点21应答调制-解调器12将继续V.22(2)的2400bps信号交换序列。同样,如果呼叫调制-解调器10已检测到S1序列(14D),但还未检测到S2序列(14E),则在点22呼叫调制-解调器10将继续V.22(2)的2400bps信号交换序列。因此,该最佳信号交换序列保持了用V.22建议的1200和2400bps调制-解调器进行通信的兼容性。应当指出,呼叫调制-解调器10已发送出BC2序列(13E),为的是在S2序列未被应答调制-解调器返回时,呼叫调制-解调器10将已开始发送为保持与V.22(2)的2400bps调制-解调器兼容并与之进行信号交换所要求的BC2序列。应答调制-解调器12仅通过分别响应于由呼叫调制-解调器10发送的S1和S2序列的检测来发送S1和S2序列,从而保持与V.22(2)调制-解调器的兼容。因此,采用S2序列以保持与现存的V.22(2)调制-解调器的兼容性,並提供一种信令模式指示其所连接的调制解调器是可以在较高的速率下操作的(大于2400bps)。现在假设呼叫调制-解调器10和应答调制-解调器12已经相互表示,希望数据传送率超过2400bps,并且它们都在点22准备从全双工方式转到半双工方式。首先,两个调制-解调器都为寂静期。呼叫调制-解调器处在寂静30A,然后开始发送第一训练信号TRN1(30B),与此同时应答调制-解调器12收听并接收TRN1训练序列,且开始它的均衡器的粗训练和调整。训练序列TRN1是一种以4800bps速率的非相位编码的扰码二进制1。该非相位编码扰码二进制1与CCITT建议V.32,部分5·2·3和图1所定义的相似但不相同。在训练序列TRN1完成后,呼叫调制-解调器10进入30C,发送一个最佳通信速率请求RR1。如果呼叫调制-解调器10提出以4800bps进行通信,则RR1是一种以4800bps速率的扰码二进制1。然而,如果呼叫调制-解调器10提出以9600bps进行通信,则RR1将是一种以4800bps速率的扰码二进制二位组01。当呼叫调制-解调器10完成发送速率请求RR1(30C)时,它将仃止发送。当检测到速率请求RR1的传输结束时,应答调制-解调器12开始发送第一训练序列TRN1(31C)。因此,呼叫调制-解调器10接收第一训练序列TRN1(30D)并开始它的均衡器的粗训练和调整。当序列TRN1完成时,应答调制-解调器12发送速率请求RR2(31D)。如果RR1请求4800bps则RR2将简单地承认该4800bps请求。然而,如果RR1是请求9600bps则RR2可以是9600bps请求的确认,在这种情况下,通信将以9600bps的速率进行;也可以是拒绝9600bps的请求,在这种情况下通信将开始以4800bps速率进行。呼叫调制-解调器10接收来自应答调制-解调器12的速率请求RR2(30E)。如果RR1或RR2,或两者都指定为4800bps则在点33,调制-解调器10和12完成信号交换,并开始以4800bps通信。然而,如果RR1和RR2两者都请求9600bps,则在点33调制-解调器10和12将开始传送以9600bps速率的训练序列。在应答调制-解调器12已仃止发送它的速率请求RR2(31D)以后,则呼叫调制-解调器10开始发送第二训练序列TRN2(30F)。序列TRN2是一种以9600bps非相位编码二进制1。对于TRN2,扰频器的输出被分为四比特组,并把相继四比特的最后两比特编码为A、B、C和D信号状态(图2)。当呼叫调制-解调器10在发送序列TRN2(30F)时,应答调制-解调器12正在接收序列TRN2(31E)和训练它的均衡器。在呼叫调制-解调器10完成发送序列TRN2以后,它就发送序列BC3(30G)。序列BC3是以9600bps传送的一种扰码二进制1。应答调制-解调器12接收序列BC3(31F)并进行它的均衡器的最后调整和训练。当呼叫调制-解调器10一结束发送序列BC3,应答调制-解调器12就开始发送序列TRN2(31G),以便呼叫调制-解调器10能接收到该序列(30H)并开始训练它的均衡器。在发送序列TRN2以后,应答调制-解调器12发送最后的序列BC3(31H)。呼叫调制-解调器10接收序列BC3(30I)并对它的均衡器进行最后的调整和训练。在应答调制-解调器12发送完序列BC3以后,则两个调制-解调器准备开始以9600bps进行半双工通信。在该最佳实施例中,在阶段30I和31F,接收调制-解调器必须检测至少32个连续的二进制1。如果未检测到这个数目的连续的二进制1,那么接收调制-解调器将请求重新发送序列TRN2和BC3。这种请求与指示失去均衡所用的请求相同。寂静的和发送特殊序列的期间是额定的,并允许在不影响信号交换序列的情况下的某些变化。本发明与300bps移频键控(FSK)的调制-解调器也可兼容。如果应答调制-解调器12为300bps的调制解调器,或设置在300bps进行回答,则应答调制-解调器12将不发送应答音或BC1,S1,S2序列,但将发送一个2250HZ的空闲(idle)标志信号。因此,在点22,呼叫调制-解调器10将通过缺席规则转换到FSK方式与应答调制-解调器12相连。然而,如果应答调制-解调器具有速率升降能力,则设置为允许升降,并根据来自呼叫调制-解调器10的S1,S2和BC2序列,应答调制-解调器12将如上述那样适当地发送BC1,S1和S2序列,使得以大于300bps的速率连接。同样,如果呼叫调制-解调器10是一个300bps的调制-解调器,或设置为以300bps发出呼叫,则呼叫调制-解调器10将不发送S1,S2和BC2序列,而将发送一个1270HZ的空闲标志信号。因此,如果在点20附近,应答调制-解调器12仍未检测到S1或BC2序列,则应答调制-解调器12将寻找该标志信号。如果存在该标志信号,应答调制-解调器12将转换到FSK方式,发送2250HZ的标志信号,然后与在300bps的呼叫调制-解调器10相连接。然而,如果呼叫调制-解调器具有速度升降能力,并设置为允许升降,则响应于应答调制-解调器12发送的BC1序列,呼叫调制-解调器10将发送S1,S2和BC2序列,如上所述使之在大于300bps的速率上相连接。图2表示对于4800和9600bps通信的最佳信号状态,在该最佳实施例中,带有格子编码的32点信号结构,如V.32的图3所描绘的那样,用于9600bps通信。同时,在该最佳实施例中,信号状态A、B、C和D用于4800bps的训练和通信。二位组00、01、10和11分别对应于信号状态A、B、C和D。如上所述,TRN1和TRN2是非相位编码,其意思是采用微分象限编码。可以理解A、B、C和D点是32点信号结构的一个4点子集。当从一个4点决定过程(训练)变化到一个32点决定过程(9600bps(通信)时,进行32点信号结构的一个子集4点训练结构,可以减少旋转效应。CCITT建议V.32训练点表示在图2的A′、B′、C′和D′。应当指出,V.32训练点不是32点信号结构的一个精确子集,因此均衡器必须补偿从4点训练过程转换到32点决定过程时所遇到的旋转效应。表1非相位编码信号状态二位组信号状态<tablesid="table1"num="001"><tablealign="center">00A(-3,-2)01B(+2,-3)10C(+3,+2)11D(-2,+3)</table></tables>之所以选用栅格编码是由于它的检错和校正能力。在另一实施例中,对于9600bps的通信未采用栅格编码。在该实施例中,把CCITT建议V.32的图1的16点信号结构,和它的4点子集用作训练、4800bps速率通信和9600bps速率通信。现在来看图3,它表示失去均衡/重新训练请求序列。假设,应答调制-解调器12正在对呼叫调制-解调器10发送数据(51A),呼叫调制-解调器10接收数据期间(50A)以后,经受了一个失去均衡的期间(50B)。当应答调制-解调器12结束发送数据(51A)并转换到接收方式(51B时),呼叫调制-解调器10将检测该数据的末尾并发送T1序列(51C)。该T4序列定义为一个320HZ音的150mS的脉冲串。该T1序列通知应答调制-解调器12,发出失去均衡并请求重新训练。应答调制-解调器12则通过发送一个320HZ音的150ms脉冲串来确认这个请求。这里,呼叫调制-解调器10和应答调制-解调器12二者都分别进入等待期间50E、51D,在该最佳实施例中它是250ms。在等待期间50D、51C结束时,调制-解调器进到图1B的点33,在此点上呼叫调制-解调器10开始发送训练序列TRN2(30F)。如果应答调制-解调器失去均衡,将产生类似的操作。在呼叫调制-解调器完成发送数据(52A)并进入接收方式(52B)以后,如果在接收数据时(53A)应答调制-解调器12失去均衡(53B),则应答调制-解调器12将发送T1序列(53C)。呼叫调制-解调器10将接收该T1序列(52B)并通过发送T1序列来确认该请求。接着两个调制-解调器将都进入等待状态52D,53E,然后进到图1B的点33开始重新训练序列。应当指出,每个调制-解调器都能请求重新训练序列,但在等待状态50E、5151D、53E以后,重新训练序列将在图1B的点33开始,且呼叫调制-解调器将首先发送训练序列,再有,如果未接收到请求的确认,请求的调制-解调器将重复该T1序列,一直到获得确认或发生时间已过断开。现在转向图4,它表示调制-解调器之间的两类半双工通信,即数据交换和零交换。在数据交换中,发送调制-解调器可以是呼叫调制-解调器10或应答调制-解调器12,首先把启动序列60置于线11,一般为一个15毫秒的启动时间,在这个启动期间(60)发送机分别对于4800bps或9600bps提供四点点阵训练序列TRN1,TRN2,大约为15毫秒。这个训练序列使在接收调制-解调器面的接收机波特时钟锁定,如果希望的话,还可用于开始该接收调制-解调器中的自适应均衡器系数的更新。跟着这个是5ms的空闲标志信号61a(用32点点阵的已扰频的1)。在启动序列60接收开始后大约10毫秒,接收调制-解调器开始寻找标志空闲信号61a。然后发送调制-解调器发送标志信号62a,接着是第一数据帧63a,标志信号62是序列01111110。接收调制-解调器在寻找标志信号62a之前必须检测在空闲标志信号61a中的16个连续的标志信号。数据帧63a之后是另一个标志信号62b和数据帧63b。数据帧63b之后将是标志62C,然后是数据帧63C。这个标志/数据帧过程被重复着,直到发送调制-解调器发送最后的数据帧63n和最后的标志62n+1。然后发送调制-解调器发送作为线往返信号的标志空闲信号61b。接收调制-解调器必须检测在空闲标志信号中至少7个连续标志位,来识别标志数据交换结束的空闲标志信号61b。这里,因为是半双工操作,现在的发送调制-解调器进入接收状态,而现在的接收调制-解调器进入发送状态并发送60-63单元。数据帧63a包括链层报头63aa、包报头63ab、可变长度数据流63ac和检查和63ad。该数据串63ac最好是已压缩的数据,但也可以是未压缩的数据。检查和63ad最好包含部分63aa,63ab和63ac,但如果希望的话也可仅选择它们之中的一个或两个。检查和63ad的运用,是采用本领域技术人员所熟知的方式,来检测在所包含的部分63aa、63ad和63ac中的传输差错。在本最佳实施例中,链层报头63aa与所规定的LAP-B报头的协议要求是一致的,检查和63ad采用HDLC/SDLC循环冗余检验(CRC)算法。包报头载有控制信息。报头63ab的一个用途是确定数据串63ac包含的是数据还是指令(比如“中断”指令)。所以,任何字符都能用在数据串63ac中来传送数据。或者如果需要的话,传送命令。报头63ab还被用来传送信息流控制信息。数据帧63a不需要含有包报头63ab或数据63ac。例如,管理数据帧63a,用于链路建立,或数据接收的认可,不带有返回数据,只由链层报头63aa和检查和63ad组成。链层报头63aa确定是否存在包报头63ab。在相反的方式中确定数据63ac的存在或不存在。数据帧63a被定义为各标志信号(比如标志62a和62b)之间的信息数据帧,比如63a,总是包含链层报头63aa和检查和63ad,而报头63aa确定是否有包报头63ab的存在。因此,当检测到帧63a的末端标志时,在报头63ab与检查和63ad之间的任何信息都被定义为数据63ac。这结果说明,各个数据帧(比如63a)的长度将取决于所传输的控制和/或数据信息。假设连接到调制-解调器10的第一装置(未示出),能以很高的速率输出数据;连接到调制-解调器12的第二装置(未示出),能接受较低速率的数据。如果让调制-解调器10象第一装置输出数据那样快地对调制-解调器12传输数据,则在第二装置中的缓冲器将最终发生溢出,数据将丢失。因此,接收调制-解调器(在本实施例中是调制-解调器12)要向发送调制-解调器(在本实施例中是调制-解调器10)发送一个说明或一个允许信号,通知调制-解调器10,它可以发送多少帧或包的数据63a。在本最佳实施例中,如下所述,最多允许传送7个数据帧63a。如果调制-解调器12向调制-解调器10发送一个四个数据帧的说明,则当调制-解调器10一旦发送了四个数据帧63a,它就不能发送更多帧的数据了,直到调制-解调器12向调制-解调器10提出另一数目的说明信号。所以,如果第二装置通知调制-解调器12,它的缓冲器已满或基本满了,调制-解调器12将不对调制-解调器10发送另外的说明信号。调制-解调器10将通知第一装置仃止输出数据。当第二装置里的缓冲器具有接受更多数据的空间时,第二装置将通知调制-解调器12,它准备接受更多的数据。调制-解调器12将对调制-解调器10发送一个说明信号,调制-解调器10将通知第一装置对它发送更多的数据,以便传送给调制-解调器12。这个过程不断重复,直到第一装置没有输出数据为止。链层报头63aa还包括予期接收的下一个帧的号码的信息。如果接收调制-解调器所接收的帧的号码与预期的不同,则接收调制-解调器将通知发送调制-解调器发生了差错并提供预期接收的帧的号码。然后传输调制-解调器将重新传送在帧的头上带有这个帧的号码的数据。在该最佳实施例中,对于特征62a到63n+1和数据帧63a到63n的系列的最大数据传输长度大约为900字节。另外,每个单独数据帧63的长度限定为大约128字节,在数据交换中可达到七个数据帧63,在9600bps时,其中给出一个小于1秒的最大传输时间,因此,一个调制-解调器在放弃控制另外的调制-解调器之前只能保持小于1秒的线路控制。这就避免了用户在能发送新的指令和另外的数据之前等待过多的时间。对发送长度的这个限制也保证了发送调制-解调器周期地接收数据,使得把接收机载波时钟和接收机波特时钟定时恢复电路周期性地重新同步到另外的调制-解调器的时钟上。另外,零交换可在大约77ms后发生,以使当开始没有调制-解调器发送数据,然后有一个调制-解调器要发送数据时,要发送数据的调制-解调器能很快得到线路控制。根据X.25LAPB程序,采用报头63aa来证实每一次传输。然而,经常出现的情况是没有调制-解调器传送数据,但它还希望保持与电话线11的连接。在这种情况下,也希望有最小的往返时间和协议,使得当其它调制-解调器正发送非数据的线往返协议时,要传送数据的调制-解调器不至于长期等待。该零交换满足了这些要求。该零交换包括一个载波启动序列60,一般为15毫秒,5毫秒的空闲标志信号61a,5个特征62a-62e,和15毫秒的空闲标志信号61b。特征62还是序列01111110。同时,如上所述,接收调制-解调器在空闲标志信号61a中必须检测至少16个连续1,在空闲标志61b中必须检测至少7个连续1。可以理解,零交换与数据交换类似,只是没有数据帧63a-63n或分开这些数据帧的标志。也可把零交换用来表示一个差错的情况,在该最佳实施例中,如果一个调制-解调器发送数据,而没有得到证实,并得到一个零交换回答,那么该发送调制-解调器将假定数据丢失了。该发送调制-解调器将询问该接收调制-解调器,来确定接收调制-解调器预期接收的下一个帧是哪一帧。然后,发送调制-解调器开始重新传送,其开始带有帧表示。该询问和重新传输与LAP-B协议规范类似。在另一实施例中,每个调制-解调器测量或规划估计在它的传输结尾和接收来自另一调制-解调器传送的始端之间的时间。这个时间(TPT)包括来回传播时间和另一调制-解调器的周转时间,当对几个数据传输周期进行TPT时间测量之后,仍未发送零交换,但在传输结束后,发送调制-解调器要等待TPT时间加上安全因子时间(TSF)。如果在TPT+TSF的末端未接收到任何信息,则发送调制-解调器将认为接收调制-解调器已正确地接了数据且无任何其它信息要发送了。而后发送调制-解调器将再继续传输。所以,通过消除所要求的发送零交换的时间,减少了周转时间並增加了数据的吞吐量。为了检验调制-解调器之间的连接依然有效,发送调制-解调器周期地查询接收调制-解调器,作为响应,接收调制-解调器发送一个回答,比如零交换。另一种方法,接收调制-解调器周期性地发送报告,比如零交换,通知发送调制-解调器,接收调制-解调器仍然连接着。如果没有收到回答或报告,则发送调制-解调器认为连接已经断开,并通知连接在它上面的设备(比如计算机)。这里还提供了不同速率的操作,比如,呼叫调制-解调器10和应答调制-解调器12开始可以9600bps通信。假设现在电话线11的噪音水平对于从调制-解调器10到调制-解调器12方向的通信来说增加很大,而对于从调制-解调器12到调制-解调器10方向的通信却没有增加。当然可以把两个方向的通信速率都降到4800bps,而并不采取在一个方向上仍可用9600bps进行通信的优点。因此,在另一实施例中,每一调制-解调器最好把发送的包报头63ab的部分的一个位表示接收信号的质量。例如,逻辑1表示对9600bps的接收质量是好的,而逻辑0表示对9600bps的接收质量是不好的。另外那个调制-解调器来检查这个位,以确定是用4800bps还是用9600bps进行传输,然后照此进行传输。这使两个调制-解调器可以不同的速率进行通信。在上面的实施例中,呼叫调制-解调器10可以4800bps发送而以9600bps接收;应答调制-解调器12可以9600bps发送而以4800bps接收。因此,可把电话线11使用到其最大的容量。当然接收信号质量是由接收调制-解调器确定的。测量接收信号的方法,比如测量接收数据的误码率,对本领域的技术人员是公知的。上面的并不限于对4800或9600bps选择,通过采用两个或更多的位可使速度上升和下降为300、1200、2400、4800和9600bps。可能有这种情况,噪音水平是如此之大,使得哪个调制-解调器都不能收到来自另一调制-解调器的速率下降命令。在这种情况下,在一个预定的时间,比如250ms以后,仍未收到关于速度的命令,将让该调制-解调器自动的降到下一个较低的速度,一直继续到建立通信、或者发生超时,或发生断路。因此调制-解调器从9600bps降到4800bps,然后以4800bps降到2400bps等等。在该最佳实施例中,仅管没有采用接收数据波特时钟的更新,在以半双工方式发送时仍取得了快速的线路周转。同样,仅管没有采用发送数据波特时钟的更新,在以半双工方式接收时仍取得了快速的线路周转。这使得在不用时波特时钟自由运转,当转换线时,波特时钟不是在任意的位置上启动,而将在时钟的精确公差之内保持同步。同样,当未采用发送数据载频和接收机解调载频更新时,因为调制-解调器在发送和接收方式之间交替变化,使得为保持连接着的调制-解调器同步所需要的调整最小。因为调制-解调器之间的同步需要极少的时间,以这种方式保持时钟和载频使得取得了快速线路周转。此外,在发送方式冻结了均衡器的系数。在返回到接收方式时,在大约24ms内不对均衡器系数更新。这种延迟给予了另一调制-解调器的发送机的稳定时间,并且避免了均衡器系数不正确的更新。这个技术也促进了获得快速的线路周转率。高速传输(4800或9600bps),快速线路周转能力和规定最大传输长度,使得半双工操作很近似地模拟了从全双工操作可取得的性能。跟踪空闲标志61b用于检测传输的结束,而且这一信号被接收调制-解调器用作的改变自适应线路的操作,比如,冻结均衡器抽头系数(egualizertapcoefficients),和开始让接收机波特时钟锁相环自由运转。这就避免了自适应线路在另一调制-解调器仃止发送后,企图适应无信号的状况。在该最佳实施例中,主微处理机和从属微处理机产生上述各种时钟、各种载频、和各种均衡器系数。应该知道,特别是在9600bps速率时,调制-解调器必须处理很高速发送和接收的数据。在该最佳实施例中,为了处理所要求速率的数据,在主从关系中采用了两台得克萨斯仪器公司(TexasInstrument)的TMS32010数字信号处理机。表二列出了主处理机和从属处理机所能执行的不同功能表2主处理机和从属处理机的功能p><p><tablesid="table3"num="003"><tablealign="center">V.32接收自动增溢控制,波特定时和恢复,Hi|bert转换解调,Viterbi译码相位译码分步隔开自适应均衡器,均衡器确定,均衡器错误计算,更新自适应均衡器系数,相位跟踪V.22,V.22(2)和BELL212发送相位编码,脉冲整形,滤波和调制无V.22,V.22(2)和BELL212接收自动增益控制,波特定时和恢复,Hilbert转换,解调,把数据从附属的机器传送到另一调制一解调器电路,将数据送到从属机分步隔开自适应均衡器,均衡器确定,均衡器错误计算,更新自适应均衡器系数,相位跟踪,相位译码V.21和BELL103A发送和接收自动增监控制,自相关低通滤波,标志/间隔确定,产生标志/间隔音无</table></tables>从表2应该知道主处理机的功能之一是在从属处理机和另一调制-解调电路之间传送数据。因此,必须要求从属处理机能与主处理机交换数据,主处理机能与从属处理机和另一调制-解调电路二者交换数据。图5A和5B是该最佳实施例的简图,表示主微处理机,从属微处理机和另一调制-解调电路之间的连接。另一调制-解调器电路80连接到电话线11。另一调制-解调器电路80还有一个RS-232C接口,它的各部分表示为发送数据(T×D)导线81、接收数据(R×D)导线82、和数据载波检测(DCD)导线83。T×D和R×D信号的用途是直通。然而,在该最佳实施例中,DCD信号没有精确地反映在半双工方式中数据载波的存在与否。应知道,在半双工方式中,与调制-解调器在传送时,不存在接收的数据载波。因此,如果DCD信号精确地反映数据载波的存在与否,那么当调制-解调器处在发送方式时DCD信号总是指出无载波。这对于一些外部设备(未示出)可能引起问题,它们会把数据载波的不存在认作为断路或通信信号结束。因此,在该最佳实施例中,当工作在半双工方式时,一旦检测到数据载波,DCD信号就将变成并保持运行的状态,直到另一调制-解调器电路80从电话线11断开。在瞬时信号下降和重新训练请求时,DCD信号也将保持运行状态。因此,在同另一调制-解调器的通信终了之前,外部设备(未示出)不会得知载波的不存在。除了表2所列的那些功能之外,其余的调制-解调器功能大多由另一调制-解调器电路80来完成。那些其余功能的一小部分是扰频、反扰频、线接口、回答和保护音产生等等。另一调制-解调器电路80的构成方法对于本领域的技术人员是公知的。另外,在美国专利申请申请号为792,520,申请日为1985年10月29,申请人是JettreyInskeep和GeergeR.Thomas,名称为“改进的调制-解调器控制器”;以及美国专利申请申请号为885927,申请日期1986年7月15日,申请人SeveitzerNash、Correa、Easley、Tiahjadi、Panella、Thomas和Martin,名称为“具有改进的数字信号处理机的调制-解调器”二者都描述了这另一调制-解调器电路80的构成和操作方法,以及它与主微处理机87的接口方法。这里把二者引入作为参考。另一调制-解调器电路80的输出,求反轮询中断请求(NPIR),通过导线84被连接到双输入端与门85的一个输入端。通过导线86把门85的输出连接到非轮询中断请求(NBIO),它是微处理机87的输入端。在该最佳实施例中,微处理机87是TexasInstruments,Inc,Houston,Texas制造的TMS32010型。厂家已出版了TMS32010的操作和程序设计的详细说明。如果需要可以得到。在该最佳实施例中,有两类轮询中断下面要解释的存储器160控制周转,和振铃信号。当振铃信号在电路线11上出现时,另一调制-解调器电路80将在导线84上交替地置逻辑0/逻辑1信号。当不存在振铃信号时,另一调制-解调器电路80将对导线84置逻辑1。同时,如下所述,当从属微处理机122控制RAM160时,NSINT导线95上将具有逻辑0;而当微处理机122从控制RAM160转回到主微处理机87时,该导线95上将具有逻辑1。微处理机87通过操作方式来了解轮询中断是来自另一调制-解调器电路80或是来自微处理机122。如果通信不是正在进行中,则从属微处理机122将是空闲的,中断一定来自另一调制-解调器电路80。同样,一旦通信正在进行,在电话线11上将没有振铃信号,于是中断一定来自从属微处理机122。通过导线90把另一调制-解调器电路80的输出,非中断请求(NINTR)连接到触发器91的D输入端。通过寻线92把触发器91的Q输出端连接到微处理机87的非中断(NINT)输入端。因此微处理机87接收两类来自另一调制-解调器80的中断轮询中断(NBIO);和经触发器91的同步中断(NINT)。在该最佳实施例中,另一调制-解调器电路80产生并提供对微处理机87的每秒9600接收机中断和每秒9600发送机中断。微处理机87,通过在导线96上的负写启动信号(NWEN),在导线94上的负存储器启动信号(NMEN),12位(MA0-MA11)地址总线(MADOR)的四位子组(MA0-MA3)、16位(MD0-MD15)、双向数据总线(MDATA)的低位字节(MD0-MD7)、和在导线107上外部产生的随机存取存储器启动信号(RAMEN)与另一调制-解调器电路80通信。导线107上的RAMEN信号是由采用地址总线的地址线MA8、MA9、MA10和MA11四输入端的与非(NAND)门106的转出提供的。用信号NMEN、RAMEN和NMWEN把数据从微处理机87写到另一调制-解调器电路80,同样,用信号NMEN和RAMEN把数据从另一调制-解调器电路80读到微处理机87中。因为只采用地址线MA0-MA3,另一调制-解调器电路80有一个16字锁存或随机存取存储器,每一字里是8位长(MD0-MD7)。微处理机87从一个16位4K只读存储器(ROM)110获得它的操作指令和其它参数。通过导线94把来自微处理机87的NMEN信号连接到反相器111的输入端。反相器111的输出端连接到二输入端与非门112的一个输入端。通过导线93把微处理机87的CLKOUT输出连接到门112的另一输入端。门112的输出连接到存储器110的负芯片选1(CS1)输入端。导线107上的RAMEN信号连接到存储器110的芯片选2(CS2)输入端。把存储器的芯片选3(CS3)输入端连接到逻辑1。把存储器110的16位数据输出端连接到MDATA总线102。当RAMEN导线107和CLKOUT导线93是逻辑1,而NMEN导线94是逻辑0时,数据从存储器110传输到微处理机87。另一调制-解调器电路80和存储器110二者都位于微处理机87的存储器地址空间。MADDR不是全译码,因此,存储器地址OOO-EFF(HEX)指向存储器110,而存储器地址FOO-FFF(HEX)指向另一调制-解调器电路80。因此可以知道,在4096字的存储器110中,只有3840个字是可以访问的。当然,如果希望的话,通过全译码MADDR可利用存储器110的更多字。微处理机87还通过一个8位16字RAM160与微处理机122交换数据。通过总线161把RAM160的数据输入/输出(D0-D7)连接到双向三态缓冲器157和162而B0-B7输入/输出。在该最佳实施例中,缓冲器157和162是SN74ALS245A八进制总线收发机。把缓冲器162的A0-A7输入/输出端连接到主数据总线102的低位数字节(MD0-MD7)。通过总线171把缓冲器157的A0-A7输入/输出连接到从属微处理机122的从属数据总线(SDATA)输入/输出的低位字节(SD0-SD7)。从属微处理机122也是TMS32010型。因此缓冲器162使微处理机87向RAM160写或从它之中读数据,而开关157使微处理机122向RAM160写或从它之中读数据。因此通过先将数据写入RAM160,而后微处理机122再从RAM160读出该数据的方式,微处理机87把数据传送到微处理机122。用类似的方式,微处理机122先将数据写入RAM160,而后再由微处理机87从RAM160中读出把数据传送到微处理机87。通过缓冲器162数据流的方向是由它的方向(DIR)输入控制的,而后者是由导线97上的NMDEN信号控制的。当NMDEN是逻辑0时,数据从RAM160传送到微处理机87。相反,当NMDEN是逻辑1,数据从微处理机87传送到RAM160。类似地,通过导线125把微处理机122的负数据启动(NDEN)输出连接到缓冲器157的DIB输入。导线125上的逻辑1使数据从微处理机122传输的RAM160,而逻辑0使数据从RAM160传输到微处理机122。应知道,DIR信号必须与缓冲器157和162的负输出启动(OE)输入一起使用。下面将描述该负输出启动信号的产生。RAM160具有四条地址线(A0-A3)、一个负写启动(WE)输入端和一个负片选(CS)输入端。把负片选输入端连接到逻辑0。把三条地址线A0-A2和负写启动输入端连接到一个四部分2∶1复用器(MUX)146的输出端。MUX146判定是来自主微处理机87的MA0-MA2地址线或是来自从属微处理机122的SA0-SA2地址线分别通过导线147、148和150被分别提供给RAM160的A0-A2地址输入。另外,MUX146还判定是在导线96上的负主微处理机写启动信号(NMWEN),或是在导线126上的负从属微处理机写启动信号(NWEN)通过导线151被提供到RAM160的负写启动输入。RAM160位于处理机87和122的输入/输出(I/O)空间里。然而,当执行采用TMS32010的I/O操作时,只能用3个最低有效位MA0-MA2,SA0-SA2。这只许可对RAM160中的8个字进行存取。在该最佳实施方案中,要求在处理机87和处理机122之间传输多于8个字。因此,RAM160的输入A3以不同的方式产生。总线101的地址线MA0-MA2分别连接到3-8译码器100(比如74HC138)的输入A0-A2。译码器100的CS1输入连接到逻辑1。通过导线97把负的第2和第3片选输入(CS2,CS3)连接到微处理机87的NDEN输出。在该最佳实施方案中,只采用了译码器100的Y5-Y7输出端。把导线97上的NDEN信号与地址线MA0-MA2一块使用,使得译码器100的输出中的一个被选者变为逻辑0。通过NM5导线103把译码器100的负的Y5输出连接到触发器134的负复位输入通过NM6导线104把译码器100的反Y6输出连接到触发器134的反置位端。因此,当微处理机87使导线130上的NM5信号变为逻辑0时,触发器134的Q输出变为逻辑0。当微处理机87使导体104上的NM6变为逻辑0时,触发器134的Q输出变为逻辑1。从属微处理机122,3-8译码器123和触发器128也以同样的方式执行操作。SADDR总线170的SA0-SA2信号连接到译码器123的A0-A2输入。通过导线125把从属微处理机122的“非”数据启动(NDEN)输出连接到译码器123的反CS2和CS3。译码器123的CS1输入连接到逻辑1。通过导线131把译码器123的“非”Y5输出连接到触发器128的“非”复位输入。通过导线130把译码器123的“非”Y6输出连接到触发器128的“非”复位输入。因此,当从属微处理机122使译码器123在它的“非”Y5输出上置逻辑0时,触发器128的Q输出变为逻辑0。同时,当从属微处理机122使译码器123在它的非Y6输出上置逻辑0时,触发器128的Q输出变为逻辑1。通过导线135把触发器134的Q输出连接到双输入端或门133的一个输入端。通过导线132把触发器128的Q输出连接到门133的另一输入端。通过导线136把门133的输出连接到RAM160的A3输入。因此,如果触发器134或触发器128的Q输出是逻辑1,RAM160的A3输入是逻辑1,从而寻址RAM160的高部8个字。当触发器134和触发器128二者的Q输出皆是逻辑0时,RAM160的A3输入是逻辑0,从而寻址RAM160中的低部8个字。从对或门133的连接应该知道,要从属微处理机122能寻址RAM160的低8个字节,触发器134的Q输出必须是逻辑0。同样,如果要主微处理机87能够寻址RAM160的低8个字节,触发器128的Q输出也必须是逻辑0。因此,当主微处理机87用完了RAM160,且准备把RAM160的控制转向从属微处理机122时,则主处理机87将使逻辑0脉冲出现在NM5导线103,从而把触发器134复位。同样,当从属微处理机122用完了RAM160,且准备把控制转向主处理机87时,则从属微处理机122将让译码四123在导线131上置一个逻辑0,从而把触发器128复位。把译码器100的非Y7输出端NM7(导线105)和译码器123的非Y7输出(导线127)用来在主微处理机87和从属微处理机122之间转换RAM160的控制。NM7导线105连接到触发器120的时钟输入和触发器140的“非”置位输入端。触发器120的数据(D)输入连接到逻辑0。触发器120的输出连接到触发器121的数据(D)输入。通过“非”从属中断(NSINT)导线95,把触发器121的Q输出连接到从属微处理机122的“非”中断输入(NINT)和与门85的另一输入端。通过导线127,把译码器123的“非”Y7输出连接到触发器120的非置位输入和触发器140的时钟输入。触发器140的数据(D)输入连接到逻辑0。通过导线141把触发器140的Q输出连接到Mu×146的非A/B(NA/B)输入。在主微处理机87和从属微处理机122之间RAM160的控制的转换如下。当主处理机87准备把控制交给从属微处理机时,主微处理机87让译码器100在NM7导线105上置一个逻辑0脉冲。这个逻辑0脉冲的上各式沿把逻辑0记到触发器120的Q输出。在导线124上来自从属微处理机122的CLKOUT信号的上升沿上,这个逻辑0被记入到触发器121的Q输出(NSINT导线95)。在NSINT导线95上的逻辑0中断从属微处理机122,该中断的意思是从属微处理机122可以取得对RAM160的控制。在NM7导线105上的逻辑0脉冲还使触发器140的Q输出对导线141置逻辑1。导线141连接到Mu×146的NA/B输入和双输入端与门154的一个输入端。在它的NA/B输入上的逻辑1使Mu×146把地址线SA0-SA2连接到RAM160地址输入A0-A2,并把来自所属微处理机122的导线126上的NWEN信号连接到RAM160的“非”写启动输入。通过导线142把触发器140的“非”Q输出连接到三输入端与非门143的一个输入端。通过导线144把门143的输出连接到缓冲器162的非输出启动(OE)输入。在NM7导线105上的逻辑0脉冲使触发器140在导线142上置逻辑0,因此门143在导线144上置逻辑1,它禁止缓冲器162的输出,从而使微处理机87不能向RAM160传输数据或从它那里得到数据。同时通过导线125把从属微处理机122的“非”数据启动(NDEN)输出连接到双输入端与门155的一个输入端和缓冲器157的方向控制(DIR)输入。当从属微处理机122对NDEN导线125置一个逻辑0时,门155的输出变为逻辑0。通过导线156把门155的输出连接到缓冲器157的“非”输出启动(OE)输入。因此,导线156上的逻辑0启动缓冲器157的输出。同时,把NDEN导线125上的逻辑0供给缓冲器157的DIR控制输入。因此在导线125上的逻辑0和导线156上的逻辑0使缓冲器157把数据从RAM160传输到从属微处理机122。通过使微处理机122对NDEN导线125置逻辑1和对NWEN导线126置逻辑0,把数据从从属微处理机122传输到RAM160。NWEN导线126上的逻辑0通过Mu×146,并把逻辑0置到导线151上,导线151连接到RAM160的“非”写启动输入。导线151还连接到反相器152的输入。反相器152的输出连接到与门154的另一输入。因为导线151其上具有逻辑0,所以在导线153上反相器152的输出将是逻辑1。应当记起,在导线141上的触发器140的Q输出也是逻辑1。因此,门154的输出将是逻辑0,且在导线156上的门155的输出将也是逻辑0。所以,缓冲器157的DIR输入是逻辑1,而非输出启动输入是逻辑0,于是缓冲器157把数据从微处理机122传输到RAM160。从属微处理机122从外部的ROM167接收它的操作指令和某些参数。在该最佳实施例中,存储器167是2K字16位存储器,存储器167的CS2和CS3片选输入连接到逻辑1。SADDR地址总线170的SA0-SA10线连接到存储器167的SA0-SA10地址输入。SDATA总线171的SD0-SD15线连接到存储器167的SD0-SD15输入/输出。通过导线163把从属微处理机122的“非”存储器启动NMEN输出连接到反相器164的输入。反相器164的输出连接到双输入端与非门165的一个输入端。从属微处理机122还把导线124上的CLKOUT信号供给门165的另一输入端。通过导线166把门165的输出连接到ROM167的非片选(CS1)输入。因而,把从ROM167到微处理机122的数据传输同步到CLKOUT信号上。现在假设从属微处理机122已完成了对于RAM160的数据传输,且准备把RAM160的控制转换到主微处理机87上。因此从属微处理机122将使译码器123在导线127上置一个逻辑0脉冲。在导线127上的该逻辑0脉冲把触发器120的Q输出置为逻辑1。在导线124上CLKOUT信号的下一个正瞬变,该逻辑1被记入到触发器121,并出现在NSINT导线95上。这清除了对从属微处理机122的中断,并且通过门85清除(逻辑1)了主微处理机87的轮询中断请求输入(NBIO)。应该记得,在NM7导线105上的逻辑0脉冲的上升沿,NSINT导线95变为逻辑0。因此,一旦主微处理机87把控制转向了从属微处理机122,输入NBIO将是逻辑0,并保持逻辑0,直到通过在导线127上放置一个逻辑0脉冲,从属微处理机122把控制转回到主微处理机87。当NBIO输入再变为逻辑1时,则主微处理机87就知道了,从属微处理机122完成了与RAM160的数据交换,因此主微处理机87可以与RAM160交换数据。应注意,在导线127上逻辑0脉冲的上升沿,把逻辑0记入到触发器140的Q输出端,而把逻辑1记入到触发器140的反相Q输出端。在导线141上(Q输出)的逻辑0使与门154的输出为逻辑1。当门154的输出是逻辑1时,门155仅起一个非反相缓冲器的作用。以后,当导线125上来自从属微处理机122的NDEN信号是逻辑1时,缓冲器157的输出将被禁止,然而如果微处理机122在NDEN导线125上置一个逻辑0,则缓冲器157将允许数据从总线161传输到微处理机122。在该最佳实施例中未采用这个特殊的特征。导线141上的逻辑0还使MU×146把来自主微处理机87的MA0-MA2地址线连接到RAM160的A0-A2地址输入,把来自微处理机87的NMWEN输出连接到RAM160的非写启动输入。所以,现在RAM160是在微处理机87的控制之下。通过导线142把触发器140的反相输出连接到三输入端与非门143的一个输入端。因此导线142上的逻辑0能禁止门143,而逻辑1能启动门143。NMDEN导线97连接到反相器98的输入。反相器98的输出连接到双输入端或门145的一个输入端。与导线151相连的MU×146的Z输出连接到反相器152的输入。反相器152的输出连接到门145的另一输入端。门145的输出连接到门143的另一输入端。RAMEN导线107也连接到门143的输入。通过导线144把门143的输出连接到缓冲器162的非输出启动输入端。通过让主微处理机87在RAMEN导线107和NMWEN导线96上置逻辑1,在NMDEN导线97置逻辑0脉冲,把数据以RAM160传输到主微处理机87。这使在145门上出现逻辑1脉冲,门在143的输出呈现逻辑0脉冲,缓冲器162的输出被启动。NMDEN导线97上的逻辑0也使缓冲器162在输出被启动时从RAM160到微处理机87方向传输数据。通过让微处理机87在RAMEN导线107和NMDEN导线97上置逻辑1,同时,在NMWEN导线96置逻辑0脉冲,使数据从微处理机87传输到RAM160。在NMWEN导线96上的逻辑0脉冲使逻辑0脉冲出现在RAM160的非启动输入,使逻辑1脉冲出现在反相器152的输出,使逻辑1脉冲出现在门145的输出,使逻辑0脉冲出现在门143的输出。来自门143的逻辑0脉冲启动缓冲器162的输出。NMDEN导线97上的逻辑1使缓冲器162受激励,当它的输出被启动时,在逻辑0脉冲期间从微处理机87向RAM160传输数据。现在来看图6,这是RAM地址电路的另一实施例的电原理图。该另一实施例需要两个附加的门180和182,而其中的好处是,微处理机87和122在把控制转到别的微处理机之前不需要分别地把触发器134和128复位。在这个另一实施例中,通过导线135把触发器134的Q输出端连接到双输入端的与门180的一个输入端。通过导线142把触发器140的反相Q输出端连接到门180的另一输入端。通过导线181把门180的输出连接到双输入端的或门133的一个输入端。通过导线136把门133的输出端连接到RAM160的A3输入端。通过导线132把触发器128的Q输出连接到双输入端的与门182的一个输入端。通过导线141把触发器140的Q输出连接到门182的另一输入端。通过导线183把门182的输出端连接到门133的另一输入端。应记得,当主微处理机87握有控制状态时,触发器140的Q输出是逻辑0,而反相Q输出是逻辑1。其意思是,当主微处理机87握有控制状态时,门1182将被禁止,而门180被启动。因此,不管触发器128的输出的状态如何,RAM160的A3输入都将对应于触发器134的Q输出。同样,当从属微处理机122握有控制状态时,触发器140的Q输出将是逻辑1,而反相Q输出将是逻辑0。而这种情况下,门180将被禁止,而门182将被启动那么不管触发器134的状态如何,RAM160的A3输入都对应于触发器128的Q输出。因此,门180和182的输入,消除了转控制之前对触发器128和134复位的必要性。在另一调制-解调电路80里包括编码器(codec)和驱动编码器(codec)的时钟发生器。在该实施例中,编码器(codec)的时钟是通过1.5分频另一快速的时钟而产生的。一般多数的1.5分频电路都用一个或多个反馈脉冲,使分频器第一级的输入具有比标准钟频更高的频率。这意味着分频器链的一个或多级必须能工作在比标准钟频或要求的钟频更高的频率上。这种更高的输入频率和电路要求适应的一般意味着更高的费用,更高的频率需要,和更大的去耦要求。现在看图7,这是在该最佳实施例中的另一调制-解调器电路80中所用的1.5分频电路的电原理图。在图7所示的分频器中没有任何反馈钟脉冲,因此使得在分频链中的部件能够很合适地工作在标准的钟频。复位导线200连接到触发器201、202、203、204、205和206的复位(R)输入端。把导线207上的标准时钟(CLK)供给触发器201、202和203的时钟输入端和反相器210的输入端。反相器210的输出是反相的时钟,通过导线211把它连接到触发器204、205和206的时钟输入端。通过导线212把触发器201的Q输出连接到触发器202的D输入和双输入端或非门213的一个输入端。通过导线214把触发器202的Q输出端连接到门213的另一输入端。触发器203的D输入端、三输入端与非门217的一个输入端和异或门(XOR)216的一个输入端。通过导线215把门213的输出端连接到触发器201的D输入端。通过导线224把触发器203的Q输出端连接到异或门(XOR)226的一个输入端。通过导线220把触发器204的Q输出端连接到触发器205的D输入端和门217的第二输入端。通过导线221把触发器205的Q输出端连接到触发器206的D输入端、门216的另一输入端、和门217的第三输入端。通过导线222把门217的输出端连接到触发器204的D输入端。通过导线225把触发器206的Q输出端连接到门226的另一输入端。连接在导线223上的门216的输出端是207导线上的标准钟频的1.5分频。连接在导线227上的门226的输出也是导线207上标准钟频的1.5分频,但由于触发器203和206的原因,使它滞后于导线223上的信号。现在看图8,它表示在图7电路中的波形。可以看到,由触发器201、202和门213组成的电路构成了一个三分频器。同时,如果忽略来自触发器202的门217的输入,则由触发器204、205和门217组成的电路构成了一个三分频器。另外,从导线21上的波形来看,应知道触发器205的输出仍对应于三分频。因此,与触发器202相连的门217的输入给出了一个同步信号,从而使由部件204、205和217组成电路的工作与由部件201、202和213组成的电路的操作同步。1.5分频操作是通过对触发器202和205的输出进行异或运算实现的。触发器202和205输出之间的相位差提供了导线223上所示的1.5分频输出。通过采用两个附加的触发器203、206和异或门226,在导线227上获得了导线223上的1.5分频信号的相位延迟型。触发器203和206把触发器202和205的输出只分别延迟了一个标准时钟周期(导线207)。从图8的波形来看。可以知道,这里没有要求一个部件(比如触发器)工作在比标准钟频(207)高的频率的反馈脉冲存在。没有触发器202和门217之间的连接,只要上半下半电路保持同步,门216和226的输出也将是1.5分频。然而,如果产生噪音的脉冲,使两半部分彼此失去同步,则该输出将不再是1.5分频。同时这两半部将保持不同步,直到复位为止。把触发器202的输出连接到门217的输入同步了上下两半部电路,使得即使因为噪音脉冲上下两半部电路之间的同步中断,这两部分电路将自动地重新同步,门216和226的输出将仍是1.5分频。现在来看图9,这是一个改进的波特时钟恢复电路的方框图。在该最佳实施例中,部件250到260不是分开实现的,而是由微处理机87和122实现的。采样电路250以每秒9600个样的采样率采样在导线249上输入的信号。接收机波特时钟锁相环(未示出)经过导线248控制采样电路250。把采样电路250的输出供给两个Hilbert滤波器251和252,在这里分别恢复了采样信号的I和Q分量。把滤波器251的输出供给解调器253并送到绝对值电路254。把滤波器252的输出也供给解调器253并送给绝对值电路255。电路254和255的输出端连接到加法器256的输入端。然后把加法器256的输出供给2400HZ带通滤波器257的输入端。再把该带通滤波器257的输出供给超前/滞后计算器260。把超前/滞后计算器260的输出供给接收机波特时钟锁相环(未示出),去调整采样点的定时。带通滤波器257的输出将是恢复后的波特钟频。在一个应用之中,该波特钟频是2400HZ,所恢复的波特钟波形261如插图中所示。为了减少数据错误率,要求对导线249上的输入信号的采样与恢复的波特时钟的零交叉点P同步这是通过确定初始采样点位于哪个象限,然后调整接收机波特钟锁相环,使初始采样点正好位于零交叉点P来实现的。通过把初始采样点的信号261的符号与在前面的非初始采样点的信号的符号进行对比来确定该象限。比如,如果初始采样点是XS,前面最近的非初始采样点是XS-1,则初始采样点XS是在如C所定义的象限中。然而,如果初始采样点是XS+1,那么前面最近的非初始采样点将是XS,因此,由于符号相同,都是正的,初始采样点XS+1将是在D所确定的象限中。因为现在确定了初始采样点所在的象限,则超前/滞后计算器260可在一个适当的方向调整接收机波特钟锁相环,使初始采样点与点P重合。例如,如果初始采样点是XS,那么初始采样点是滞后于点P,就必须提前该采样点。同样,如果初始采样点是XS-1,那么初始采样点是超前点P,就必须推迟采样点的定时。通过提前或推迟波特时钟的相位来调整采样点的位置。可以一个固定的增量,比如1度来做这一调整。然而,如果采用一个固定大小的增量,就不可能使初始采样点正好落在P点上,由于调整步骤的大小使初始采样点交替地超前和滞后点P,采样点P将在P点周围振荡(跳动)。要避免这个问题可采用小的调整步子和一个跟踪窗,如果初始采样点落在象限A或D,则小的调整步将需要一个很长的时间才能使采样点象限A或D移动到点P。在该最佳实施例中,移动初始采样点到点P所需步子大小是不固定的,而是根据现在初始采样点所在的象限,以及初始采样点和最近的前面非初始采样点二者的幅度来进行计算的。因此,移动位于XS+1的初始采样点所用的步子将大于移动位于XS的初始采样点所用的步子。因为带通滤波器257的输出是以9600HZ(采样/秒)采样的2400HZ信号261,所以信号261的每个周期有4个采样点。根据启动,超前/滞后计算器260确定这4个采样点的哪一个距P点最近,然后就把这个采样点指定为初始采样点。然后超前/滞后计算器260调整恢复波特时钟,使该初始采样点落到P点。在该最佳实施例中,这个启动程序被描述在上述的美国专利申请中,申请号为885927。在另一实施例中,不试图确定哪个采样点最接近点P,而是简单地把采样点的一个指定为初始采样点。现在看图10,这是初始采样点被确定以后,超前/滞后计算器260计算步子大小所用的程序的流程图。因为信号的每个周期有4个采样点,而只有一个是初始采样点,就必须跟踪初始采样点。用一个波特时钟计数器(BC)来做这项工作,在每次采样时使该计数器加1。在图10中,为方便假设已经预先确定初始采样点是被特时钟计数器(BC)等于1的采样点。因此,在步骤270把BC置1。然后,在步骤271得到下一个采样点Xn,并把BC增1。在判定点272分析BC,判定是否采样点Xn是初始采样点(BC=1)。如果不是,则判定点273,判定是否计数器BC已达到它的上限。如果是,则在步骤274把BC置0。如果BC仍小于4,同时在步骤274被执行以后,则在步骤275把Xn存储作为Xn-1。然后计算器返回到步骤271去计算Xn的下一个值,並再将BC加1。如果BC等于1,则Xn是初始采样点,并执行超前/滞后步子大小的计算。表3列出了依据象限的步子大小计算的公式。K是比例因子,在该最佳实施例中有一个统一的值。应指出,对于所有四个象限的公式有一个共同的分母。因此,步骤280计算该共同分母D。然而,由于乘法比除法快,所以不是用分母去除公式的分子,而是用分母的倒数去乘分子。在该最佳实施例中,通过查表可获得D,为方便限定为一个8位字。因此,在步骤280,计算分母D完了之后,计算分母的倒数M。判定点281、282和286判定初始采样点Xn位于哪个象限。如果Xn大于零且前面的非初始采样点Xn-1大于零,则初始采样点在D象限,且根据步骤287中的公式计算步子大小S。如果Xn小于零。Xn-1大于零,则初始采样点位于象限A,并根据步骤283中的公式来计算步子的大小S。如果Xn-1是负的,则初始采步点Xn将在象限B或C。因此根据285方框中的公式来计算步子大小S。按照步子283、285或287适当地计算了步子大小S之后,则在步骤284,把该步子的尺寸输出到恢复波特时钟锁相环。超前/滞后计算器260从步骤284返回到步骤275然后又开始这一过程。在该最佳实施例中,步子尺寸S为1对应于在初始采样点位置大约240ns的变化。因此,可根据初始采样点与P点之间的距离动态地调整步子的大小。结果,使采样点以大步子的速度集中于点P,并以最小的步子稳定地锁定到点P,而无跳动。虽然所述的是对于正向的过零交叉点P,应该知道,只要改变按照表3和图9计算的步子尺寸的符号,就可以把上面所述的用到负向过零交叉点G的情况。同时还应知道,如果信号261的特征频率是1200HZ,则采样频率最好为该特征频率的4倍,或4800HZ。另外,即使以比如9600HZ对1200HZ的信号261采样,通过简单地排除每一其它的采样,上面描述的方法就可被采用。从上述可知,本发明描述了一种调制-解调器,其中采用了两个进行数字信号处理的微处理机和其它技术,其目的在于提高速度、节省处理时间和存储器需求,取得快速半双工线路周转,保持与现存的300、1200和2400bps调制-解调器的兼容性,同时提供有4800和9600bps的能力。十分明显,一些众所周知的技术,比如标准的扰频、反扰频、频率合成、电源结构、电话线路接口等等,在许多出印刷的出版物和专利中都可得到,这里就不再赘述了。同时,从上面的详细描述应该了解,对本领域的技术人员来说,对该最佳实施例的任何修改和变化现在都是明显的。因此本发明只受下面的权利要求的限定。权利要求1.一种供在双工通信中工作的应答调制-解调器和应答调制-解调器使用的,校正在所述发端调制-解调器中的均衡器失去均衡的方法,其特征在于以下各步骤呼叫调制-解调器程序包括检测在所述发端调制-解调器中的所述均衡时均衡的失去;等待,直到所述应答调制-解调器完全传输;把载波发送一个第一预定期间;寂静一个第二预定期间;把训练序列对所述应答调制-解调器发送一个第三预定期间;接收来自所述应答调制-解调器的所述训练序列,并用所述训练序列调整在所述发端调制-解调器中的所述均衡器;应答调制-解调器程序包括检测所述发端调制-解调器发送的载波;在所述的第二预定期间寂静;在所述的第三预定期间寂静;把所述训练序列对所述发端调制-解调器发送一个所述第三预定期间。2.按照权利要求1的方法,其中所述训练序列包括用于粗调所述均衡器的第一序列和用于细调所述均衡器的第二序列。3.按照权利要求2的方法,其中所述第一序列包括一种9600bps的非相位编码扰频二进制1。4.按照权利要求2的方法,其中所述第二序列包括9600bps的扰频二进制1。5.按照权利要求1的方法,其中所述的应答调制-解调器在所述第三预定期间接收来自所述发端调制-解调器的所述训练序列,并采用所述训练序列训练在所述应答调制-解调器中的均衡器。6.按照权利要求5的方法,其中所述第三预定期间大约是1.75秒。7.按照权利要求1的方法,其中所述第一预定期间大约是20毫秒。8.按照权利要求1的方法,其中所述第二预定期间大约是250毫秒。9.按照权利要求1的方法,其中所述第三预定期间大约是1.75秒。10.按照权利要求1的方法,其中所述音调具有一个320Hz的频率。11.供在半双工通信中工作的发端调制-解调器和应答调制-解调器使用的,校正在所述应答调制-解调器中的均衡器里失去均衡的方法,其特征在于以下步骤应答调制-解调器程序包括检测在所述应答调制-解调器中的所述均衡器里的失去均衡;等待,直到所述发端调制-解调器完成传送;把载波发送一个第一预定期间;寂静一个第二预定期间;接收来自所述发端调制-解调器的训练序列,用所述训练序列调整在所述应答调制-解调器中的所述均衡器;呼叫调制-解调器程序包括检测所述应答调制-解调器发送的所述载波;寂静一个所述第二预定期间;把所述训练序列向所述应答调制-解调器发送一个第三预定期间。12.按照权利要求11的方法,其中所述应答调制-解调器程序还包括把所述训练序列向所述发端调制-解调器发送一个所述第三预定期间;所述发端调制-解调器程序还包括接收来自所述应答调制-解调器的所述训练序列,并用所述训练序列调整在所述发端调制-解调器中的所述均衡器。13.按照权利要求12的方法,其中所述的第三预定期间大约是1.75秒。14.按照权利要求12的方法,其中所述训练序列包括用于粗调所述均衡器的第一序列,和用于细调所述均衡器的第二序列。15.按照权利要求11的方法,其中所述训练序列包括用于粗调所述均衡器的第一序列,和用于细调所述均衡器的第二序列。16.按照权利要求15的方法,其中所述第一序列包括一个9600bps的非相位编码二进制1。17.按照权利要求15的方法,其中所述第二序列包括9600bps的扰频二进制1。18.按照权利要求11的方法,其中所述第一预定期间大约是20ms。19.按照权利要求11的方法,其中所述第二预定期间大约是250ms。20.按照权利要求11的方法,其中所述第三预定期间大约是1.75秒。21.按照权利要求11的方法,其中所述音调具有320Hz的频率。全文摘要一种改进信号处理和信号交换能力的调制-解调器。采用两个数字信号处理机来执行独立同时的操作,从而获得了较快的执行速率,并可能作出更精确地计算。该调制-解调器还采用了一种改进的信号交换技术,使得该调制-解调器保持与现在的1200和2400bps的调制-解调器兼容,并能实现4800和9600bps通信的协商。该调制-解调器还包括一个改进的波特时钟恢复电路,根据实际采样点与最佳采样点之间的差别动态地调整实际采样点。这使实际的采样点高速集中到希望的采样点,同时使在最佳采样点附近的跳动最小。文档编号H04L27/32GK1054869SQ90108040公开日1991年9月25日申请日期1988年5月26日优先权日1987年5月26日发明者塔罗纳·扎伊德,杰曼·尹·科亚,马修·弗·伊斯利,约翰·恩·马丁,兰迪·达·纳什,辛西娅·阿帕·勒,马丁·海索斯吉尔,乔治·雷·托马斯,查理斯·海·科维-吉尔,迈克尔利昂鲁宾斯坦,戴维弗斯特朗申请人:哈依斯微型计算机产品公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1