CN1201241C - 通信信道和处理器间的接口 - Google Patents
通信信道和处理器间的接口 Download PDFInfo
- Publication number
- CN1201241C CN1201241C CNB96180131XA CN96180131A CN1201241C CN 1201241 C CN1201241 C CN 1201241C CN B96180131X A CNB96180131X A CN B96180131XA CN 96180131 A CN96180131 A CN 96180131A CN 1201241 C CN1201241 C CN 1201241C
- Authority
- CN
- China
- Prior art keywords
- data
- processor
- storer
- look
- interface
- 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.)
- Expired - Lifetime
Links
- 238000004891 communication Methods 0.000 title claims abstract description 95
- 230000005540 biological transmission Effects 0.000 claims abstract description 58
- 238000012546 transfer Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 39
- 230000004044 response Effects 0.000 claims description 23
- 230000007704 transition Effects 0.000 claims description 6
- 238000011282 treatment Methods 0.000 claims description 6
- 108010076504 Protein Sorting Signals Proteins 0.000 claims 1
- 238000000034 method Methods 0.000 abstract description 80
- 238000012545 processing Methods 0.000 abstract description 26
- 238000013500 data storage Methods 0.000 abstract description 4
- 238000005070 sampling Methods 0.000 description 64
- 230000008569 process Effects 0.000 description 38
- 238000001514 detection method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 8
- 238000013144 data compression Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000033764 rhythmic process Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000007812 deficiency Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 108700007698 Genetic Terminator Regions Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000005662 electromechanics Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000005039 memory span Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000011514 reflex Effects 0.000 description 1
- 230000029058 respiratory gaseous exchange Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/128—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M11/00—Telephonic communication systems specially adapted for combination with other electrical systems
Abstract
一种在处理器和通信信道之间进行接口的装置和方法,该处理器可用于带有通信应用程序的数据终端设备,例如一台计算机中,目的是采用该计算机处理器,而不用附加的或冗余的微处理器或数字信号处理器部件在通信信道上提供数据发送和接收。该装置和方法在接口装置和通信信道间提供了以与具体的数据传输速率相对应的第一个、确定的频率进行的数据传输。该装置和方法在接收装置和处理器之间提供以第二个、不确定的频率进行的数据传输,并且由该计算机处理器在数据发送(或数据接收)和数据处理(例如调制和解调制)之间在存储器中提供了中间数据存储。该装置和方法还提出了产生一个给该处理器的中断信号,以指示存在用于处理的已接收数据以及缺少用于发送的数字信号。
Description
技术领域
本发明一般涉及数据通信设备,特别是一种在处理器和通信信道之间进行接口的数据发送和数据接收的方法和装置。
背景技术
一般来讲,可编程的、由处理器控制的数据终端设备(“DTEs”),例如个人电脑、工作站和数据终端在学校、车间和社会上日益普及。另外,随着计算机中采用更高速和更强大的处理器,例如摩托罗拉的PowerPC处理器和英特尔的Pentium处理器,处理器的能力正在明显增加。可以对这些处理器进行编程,来实现各种各样的功能。
在通信信道,例如公共交换电话网络(“PSTN”)或综合业务数字网(“ISDN”)上的各种数据终端设备之间通常采用了数据通信设备(“DCDs”),例如模拟和数字调制解调器、ISDN终端适配器以及计算机网络设备,这样的数据通信设备通常已经成为独立的设备,例如桌面调制解调器、架装调制解调器、PCMCIA卡或计算机外壳内所采用的独立的电路板。再有,在现有技术中,这种数据通信设备通常还包含几个处理器,例如一个数字信号处理器(“DSP”)和一个微处理器,或者一个组合了该DSP和微处理器的诸功能的单式处理器。因为诸数据通信设备计算和数学运算的强度大,完成诸如调制、解调制、编码、译码、数据压缩、纠错、预编码、与数据终端设备接口等功能以及其它控制功能,所以诸数据通信设备已经趋于需要独立的处理能力。此外,诸数据通信设备正在实现越来越快的传输速率,例如国际电信联盟(“ITU”)V.34标准下可用的28.8kbps以及在V.42和V.42bis标准下可用的带有数据压缩和纠错的协议。与从DTE中所采用的一个更通用的多用途处理器那里一般可得到的或需要的相比,如此计算密集的处理已经趋向于需要更强的处理器能力和更多的处理时间。
随着诸数据终端设备中的通用处理器中的处理器能力的增加,例如在PowerPC和Pentium处理器中可得到的能力增加,在数据通信设备中可得到的附加的和独立的处理能力可能不再是必需的,并且可能是多余的。如果在诸数据终端设备中可得到这种增加的处理能力,那么提供一个带有适当的硬件和软件的单一处理器可能是更经济有效的,该处理器能够实现各种计算机应用程序的功能(如字处理、数学计算和图形)以及数据通信设备的诸功能(如调制、解调制和数据压缩)。在1990年10月23日发表的,在Blackwell et al.美国专利号4,965,641的“处理器调制解调”一文中揭示了这种组合的处理器调制解调装置,在此引用供参考。
随着目前数据通信设备(其应该兼容于V.34和V.42bis协议)所要求的数据传输速率和其它复杂功能的增加,实现处理器调制解调可能是复杂的或困难的,并可能有增加的和潜在的不兼容性能要求。例如,实现处理器调制解调的一个困难是有关新一代通用计算机所带来的高处理速度,新一代通用计算机处理器能够以比一条信道上通常可得到的实际传输速率更快的速率来处理传输数据。例如,计算机处理器也许能够以兆赫兹或吉赫兹范围的速率来处理数据,这样的速率大于一般的数据传输速率几个量级,例如V.34的28.8kbps或者ISDN的64到128kbps。相应地,来自一条通信信道的数据可能正在以某一特定的且预定的数据传输速率连续地到达,该速率通常比计算机处理器的处理速率低得多,并且不能有效地利用该计算机处理器的全部处理能力。例如,当该处理器能够同时执行其它应用功能时,却让该处理器等待接收28.8或14.4kbps速率下的数据是对计算机处理器能力的无效率使用。这个在数据传输速率和数据处理速率之间的不匹配或接口问题趋于产生一个“瓶颈”问题,即,或者从处理器得到的用于传输的数据太多(给定数据传输速率),或者从信道得到的用于后续处理的数据太少(给定计算机处理能力)。
此外,该处理器正在实现其它应用功能的同时,也许还需要周期地或者不断地响应于数据传输协议的各种要求,例如一旦接收到诸数据分组或帧就发出诸确认信号。因此,为了得到一种与通用计算机处理器接口并且在通信信道上发送和接收数据的效率更高的装置和方法,需要为有效的数据传输和处理器能力的有效使用创造条件。
发明内容
本发明提供了一种在处理器和通信信道之间提供接口的接口装置,该处理器可工作在带有一个通信应用程序的数据终端设备中,该通信应用程序能够完成调整、均衡、编码和译码等调制解调功能,该通信应用程序响应于来自该接口装置的诸中断信号,该接口装置包括:一个与通信信道相耦连的信道接口电路,接收呼入数据信号并发送呼出数据信号;一个存储器,用于存储多个数字数据序列;一个耦连到存储器并且进一步耦连到信道接口电路的编译码器,以第一预定频率周期性地对呼入数据信号进行采样,以形成一个呼入已采样数据序列,并把该呼入已采样数据序列传递到存储器,并从该存储器接收一个呼出数字数据序列,并把该呼出数字数据序列变换为呼出数据信号;一个中断信号发生器,响应于存储器中的数据情况,产生第一中断信号并把该第一中断信号发送到处理器,该第一中断信号表明第一种和第二种数据情况之一,第一种情况指的是供通信应用程序处理的第一预定量的数字数据出现在存储器中;第二种情况指的是存储在存储器中供在信道上发送的第二预定量的数字数据不存在。这样一来,通信应用程序能够通过从存储器中移去数据来响应于第一种情况,实现调制解调功能,并且能够通过把数据写到存储器来响应于第二种情况,该数据已经被通信应用程序中的调制解调功能处理;以及一个接口电路,被耦连到存储器和中断信号发生器,并且被耦连到处理器,用于处理器和存储器之间的数据传递以及第一中断信号向处理器的发送。
如上所述,在实际实现一个带有调制解调软件应用程序的处理器调制解调器时可能遇到的最大困难是计算机处理速率或频率与数据传输的速率或频率不同。这些不同的速率或频率可能产生一个瓶颈类型的问题,这个问题是没有有效地利用或优化可用的计算机处理能力,或者从处理器得到的用于传输的数据太多(给定数据传输速率),或者从信道得到的用于后续处理的数据太少(给定计算机处理能力)。在现有技术中,不存在这个问题,这是因为(在该数据通信设备中)至少一个专用处理器处理呼入数据,在存储器中或接近于数据终端设备处直接产生一个最终文件,供第二个专用计算机处理器做后续处理。现在当一个处理器将同时并实时地完成两个功能时,本发明的装置和方法克服了这个不兼容问题。
其次,正如下文所讨论的那样,为了同时优化计算机处理器的数据传输功能和其它应用功能,根据本发明的接口装置和方法致力于数据传输的确定的方面以及计算机处理的更多的不确定的方面并使两者之间可以有接口界面。例如,数据传输协议,例如V.34和V.32bis,通常要求具有非常确定的采样速率的明确的和确定的传输速率,以提供已发射或已接收信号的准确表示(representation)。同样,例如对于ISDN的数据传输协议,也有具体的和确定的传输速率,在各种B和D信道(针对ISDN)之间和之中或DSOs(针对T1或E1系统)进行定时和同步。相反,一个计算机处理器可能正同时运行几个程序或功能,并且每个程序或功能可能具有不同的处理要求,导致该处理器以一个更加不确定的频率,例如以该用户所需要或指定的某一频率,周期性地用每个程序进行运行。
第三,本发明的装置和方法为计算机提供了在同时实现其它功能的条件下,满足数据传输或网络协议要求的装置。第四,本装置和方法提出了几种从各种处理器或计算机问题中恢复的机制。第五,正如下文更详细地讨论的那样,本发明的装置和方法提供了克服处理器响应时间上的延迟的基础,该延迟可以由操作系统或者几个程序或功能的同时工作造成。例如,本发明的装置和方法产生一个给该处理器的中断信号,表明下列两种情况之一或两种情况同时存在:存在供处理的呼入数据或者不存在供传输的呼出数据。根据该处理器能够或不能如何快地响应于一个来自外部设备或卡的中断请求,例如根据一个把有待处理的呼入数据读入该处理器并且把有待传输的呼出数据写出该接口装置的读写请求,该装置和方法提供了避免在可用来传输的数据不足的情况下数据欠载的方案;并且避免了在可用来处理的数据过量的情况下数据超载的方案,最后,亦如下文更详细地讨论的那样,本发明的装置和方法提出了在一种动态可变频率下的中断信号产生,以提供在部分数据传输协议,例如V.32和V.32bis期间可能要求的较快的响应。
附图说明
图1是一张图解表示根据本发明的一种装置的第一实施例的总体方框图。
图2是一张图解表示根据本发明的一种装置的第二实施例的总体方框图。
图3是一张图解表示根据本发明的一种装置的最佳实施例的详细方框图。
图4是一张图解表示一种根据本发明的接口装置的替代实施例的方框图,该装置用于与数字网络接口。
图5是一张图解表示一种根据本发明的接口装置的替代实施例的详细方框图,该装置被耦连至带有调制解调应用软件程序的计算机。
图6是一张图解表示根据本发明的接收数据接口方法的流程图。
图7是一张图解表示根据本发明的发送数据接口方法的流程图。
具体实施方式
参照图1,图1是根据本发明图解表示接口装置101的第一个实施例的一张总体方框图。图1表示了一个DTE102,诸如包含处理器103,例如PowerPC或Pentium处理器的个人电脑、文件服务器或工作站。通过线路、线缆或总线104把该处理器连接至接口装置101,该接口装置进一步连接至一条用于数据发送和接收的通信信道(或“信道”)105。诸线路、线缆或总线104可以是任何一种用来连接一台计算机的装置,例如ISA或PCI总线或PCMCIA标准兼容槽。下面参照图3和图4详细讨论接口装置101,该接口装置实现通常能在调制解调器中找到的诸如振铃检测、脉冲或音频拨号以及数/模转换等功能。处理器103包含或运行通信应用程序,例如调制解调应用程序,通常实现其它调制解调功能,诸如调整(train)、均衡、倒频(Scrambling)、编码、译码、回波抵消和预编码。采用与通信信道105接口的接口装置101,处理器103可以包含或运行其它通信应用程序,例如电话应答,以及语音或话音识别或处理。如果被耦连至一条数字
通信信道,例如ISDN,那么处理器103可以包含或运行其它通信应用程序,例如一个适用于ISDN终端适配器的程序。
图2是根据本发明图解表示接口装置101的第二实施例的一张总体方框图。如图2所示,根据本发明,接口装置101已经被并入DTE102内。例如,可以把接口装置101实施为一块电路板、一块ISA卡、一块PCMCIA卡或一个集成电路。如图1所示,还采用任何适当的装置,例如ISA总线、PCI总线或PCMCIA槽把接口装置101连接或耦连至DTE102的处理器103。继续参照图2,接口装置101还进一步被连接至用于数据发送和接收的通信信道105。与图1相似,接口装置101(也被在下文中参照图3和图4详细讨论)实现通常能在调制解调器中找到的诸如振铃检测、脉冲和音频拨号以及数/模转换等功能。同样,处理器103包含或运行通信应用程序,例如调制解调应用程序下,通常实现其它调制解调功能,诸如调整、均衡、倒频(Scrambling)、编码、译码、回波抵消和预编码。
图3是一张图解说明根据本发明的接口装置101的最佳实施例的详细方框图。如图3所示,接口装置101被通过总线107,例如ISA或PCI总线耦连至或连接在DTE102内,并被耦连至一条用于数据发送和接收的通信信道105。在接口装置101内,信道接口电路106接收在信道105,例如PSTN上发送的数据。该信道接口电路106可以是譬如被称为“DAA”的拨号(或数据)接入装置,DAA在现有技术中已被了解,并可以由各种分立部件组成,包括模拟复用器、电阻器、电容器、混合电路以及运算放大器,或者可以整个或部分作为一个集成电路来实施,并实现诸如阻抗匹配、功率电平调整以及4/2线缆连接相互转换等功能。对于信道接口电路106,使用DAA应该是适合于与模拟线路,例如电话线连接,并且在这种情况下,在该信道上发送以及从该信道接收的信号应该是模拟信号。正如参照图4所讨论的那样,信道接口电路106还可以是其它设备,例如适合于连接到数字线路或信道的数字接口电路,包括被用来连接至数字设备,例如ISDN的S/T接口和U接口,并且该信道接口电路起到了诸如数字数据格式化的作用。这样,在该信道上发送以及从该信道接收的数据信号就是数字信号了。
为了在信道105上传输模拟信号,通常把编码-译码器(“codec”)108,或者一个与之等同的模/数和数/模变换器,本文称之为模/数(“ A/D”)变换器(例如SGS Thompson ST7544或7545)连接至信道接口电路106。该编译码器(或A/D变换器)(经由信道接口电路106)把从信道105接收到的数据信号(例如模拟信号)采样并转换为数字形式,并把数字信息转换为在信道105上发送的数据信号(例如模拟信号)。由于在本发明中A/D变换器和编译码器的可互换性或等价性,所以在提到译码器或者A/D变换器中的任一个时,应该理解为二者中的任一个就是意指并包括另一个。因为ISDN的信道接口电路106将直接接受数字数据,所以在ISDN或其它数字环境下,通常不需要A/D变换器或编译码器108以及接口电路101的其它部分。此外,处理器103,例如摩托罗拉MC68302集成多协议处理器,通常包含一系列通信控制器,这些通信控制器将把并行的处理器格式的数据变换为在信道105上传输的串行数据;在这种情况下,总线107和接口120的诸部分,以及存储器115,例如发送采样FIFO114并接收采样FIFO116,可以被包含在处理器113内,如下文所讨论的那样。
接着来看图3,接口装置101包括一个存储器,在最佳实施例中,该存储器被图示为叉簧(hook)FIFO(先入,先出)110、振铃FIFO112、发送采样FIFO114以及接收采样FIFO116。可以以各种形式来实施存储器115,例如随机存取存储器,并且仅为简便起见,在图3中把它表示为带有独立的诸FIFO。此外,假如该存储器具有以按序或顺序方式,例如以数字数据序列的形式来保存所存储数据的容量,那么该存储器可能具有其它格式,而不是图示的先入、先出存储器。存储器的振铃FIFO112部分还被耦连至一个一比特量化器118,该量化器被耦连至信道接口电路106,同时叉簧FIFO被表示为直接连接到信道接口电路106。发送采样FIFO114和接收采样FIFO116也被耦连至编译码器(或A/D变换器)108。每一个FIFO存储器电路被连接到机电(或光)接口120,例如ISA、PCI或PCMCIA接口,为了在DTE102内适当地进行操作,接口120通常包括一个针对地址选择的部件(feature)、线路或连接122,以及一个针对IRQ选择的特性、线路或连接;或者另一方面可能包括一个“即插即用”型芯片或其它此类的集成电路。机电接口120,例如ISA接口、PCI接口或PCMCIA接口,被连接到总线107,例如相应的ISA、PCI或PCMCIA总线,用来与一个处理器连接,例如图1和图2中的DTE102中的处理器103。每一个FIFO存储器电路还被经由状态线路(或总线)126耦连到功能模块138,用于状态监视。功能模块138包括一个时钟信号发生器(亦称之为时钟,或称之为时钟或定时电路)134、中断发生器128以及状态检测器136。这些各种各样的时钟、中断和状态特性还可以被作为独立的或集成的部件来实现,可以被组合在其它功能模块内,并且仅为图示简便起见,被包括在功能模块138内。包含在功能模块138内的时钟信号发生器134、中断发生器128以及状态检测器136还可以经由线路132耦连至编译码器(或A/D变换器)108,经由线路130耦连至信道接口电路106,并且经由线路(或总线)140连接至机电接口120。
时钟信号发生器(或时钟)134还可以被包含在处理器103内。时钟信号发生器134被用来为编译码器(或A/D变换器)108产生一个稳定的时钟信号,以便编译码器(或A/D变换器)108可以以规则的、固定的、确定的,或相反,预定的间隔,称之为第一频率或确定的频率,对呼入数据信号进行采样,以获得由连续的数字数值流所组成的已接收信号的准确的数字表示,并进而由连续的数字数值流精确地构成一个用于传输的呼出数据信号(例如一个模拟信号)。
接着来看图3,接口装置101负责通过信道接口电路106接收呼入信号(例如数据信号),由编译码器(或A/D变换器)108以第一或确定频率把该呼入信号抽样并变换为数字形式,并在信道105上发送呼出信号(例如数据信号),由该编译码器(或A/D变换器)108亦在第一或确定频率上从数字数据产生该呼出信号。已接收信号的数字采样被转换并存储在接收采样FIFO116中。由于受到状态检测器136通过状态线路(或总线)126的监视,当足够的或预定数目的采样已经被转换并存储在接收采样FIFO116中时,中断发生器128产生一个给处理器103的中断信号(或第一中断信号),该中断信号被经由接口(或机电接口)120和总线107发送给处理器103。第一中断信号或任何其它等价信号的作用是向处理器103指示,如被编程或嵌入通信应用程序和/或操作系统内,处理器103应该在预定的时间周期内把保存在接收采样FIFO116中的采样点读入处理器存储器。响应第一中断信号,处理器103被编程以确认第一中断信号,并且从接收采样FIFO116把诸采样点读入处理器存储器。这样,接收采样FIFO116已经被清空,并且可由来自编译码器(或A/D变换器)108的呼入数据来重填。如果以一种不同于FIFO的形式来实施该存储器,那么存储在该存储器中的信息可以被重写(write over),或反之,由新的呼入数据来修改。
同时地,在相同的中断周期期间(即,响应相同的第一中断信号),处理器103可以把数字数据写入发送采样FIFO114,通过接口120发送。来自该处理器的数字数据被存储在发送采样FIFO114中,供编译码器(或A/D变换器)108以第一或预定频率把它转换为用于数据发送的呼出数据信号(例如模拟信号)。随着编译码器(或A/D变换器)108从存储在发送采样FIFO中的数字数据产生一个呼出数据信号,该发送采样FIFO被清空,并可以在下一个中断周期期间由处理器103来重填。另一方面,写入和存储数字数据以及形成呼出数据信号的步骤的先后次序可以是响应第二中断信号,第二中断信号可以与第一中断信号的形式相同或不同,或者等同于第一中断信号。例如,在各种实施例中,可能需要单独地并独立于数据接收过程来控制数据发送过程,在这种情况下,第二中断信号在某些方式上应该可区别于第一中断信号。
在最佳实施例中,对于调整状态的整理(ranging)部分或者先于数据发送和接收的调整过程,发送采样FIFO114和接收采样FIFO116每一个都有存储至少18个采样点的容量,这取决于下列条件:2400Hz的V.32bis符号速率,每个符号3个采样点的7200Hz的采样时钟,在每个中断(或中断周期)6个符号的速率下,就得出每个中断18个采样点。于是该中断速率处在低于1KHz的400Hz。可以根据符号速率、采样速率、所需的数据传输协议或标准(例如V.32、V.32bis或V.34)、任一所需的中断速率以及任一所需的执行(例如在诸ASIC中)来修改这些各种参数的每一个。此外,可以根据防止潜在的数据超载和数据欠载的所需的保护等级来增加或降低存储器的存储容量。例如,诸中断信号间较长的间隔将趋向要求发送和接收存储器电路具有大于18个采样点的容量,以避免数据超载和欠载情况。在最佳实施例中,对于稳态数据传输,发送采样FIFO114和接收采样FIFO116每个都有至少存储90个采样点以及存储多达256个采样点的容量,具有一个最终的80Hz的中断速率,以避免数据超载(如果该处理器不足够快地响应于该中断信号,并且呼入数据连续积累),并且避免数据欠载(如果该处理器不足够快地响应于该中断信号,并且呼出数据开始消耗)。
本发明的最佳实施例还为中断信号的产生提供了一个动态可变的频率(或速率),并且例如用各自具有容纳18个到256个采样点的容量间变化的容量的发送采样FIFO114和接收采样FIFO116提供动态变化的存储容量。实验研究和仿真已经表明:在具有其它实时应用,例如图像和声音回放等所有这些同时要求处理器103可用的多任务环境中,采用例如Pentium级的处理器,中断等待可能明显增加,并可能处于5到7毫秒的量级。为了在这种环境下并行工作,在处理器103中实现的软件调制解调器(或其它数据通信设备)应该采用某一中断频率,该中断频率有着足以跨过该等待延时的足够长的持续期的周期。但是,采用慢速的中断频率,对于各种调制方式,例如V.32、V.32bis和V.34的初始调整阶段期间的适当响应,可能存在定时分辨率不足的问题,例如,上述调制方式对于远端回波计算和均衡器调整可能要求2-5毫秒之内的握手响应。因此,在最佳实施例中,中断信号产生的频率在第一频率和第二频率之间的范围内动态变化。更明确地讲,在初始调整阶段的诸部分之间,中断频率(或速率)动态变化,从第一频率,例如数据传输方式(或数据方式)的最初的较慢的速率,到第二频率,例如调整阶段各部分的临时的较快的速率,随后,中断频率再次改变回第一频率,例如稳态数据模式下的较慢的速率。在最佳实施例中,如果任一重新调整被指示,那么该中断速率将再次动态改变为第二频率--对于重新调整状态或步骤的适当部分而言较快的速率。
在第一和第二中断频率之间的这些转换期间,例如从较慢的到较快的以及从较快的到较慢的中断频率,存储器115的容量(例如(发送FIFO114和接收FIFO116)的FIFO尺寸或容量)也应该动态变化,以避免数据欠载或过载情况。例如,在一个具有较慢的中断速率的模式期间,例如稳态数据传输模式,在诸中断信号之间的周期期间,包括中断等待时间所涉及的任一时间周期,发送FIFO114应该是足够大的,具有可用来发送的足够的数据(以避免发送时数据欠载),并且接收FIFO116应具有足够的容量来接收呼入数据(以避免接收时超载)。结果是,在从较慢向较快的中断速率过渡的过程中,发送FIFO114可能一直包含还没有被以确定速率发出的用来发送的数据,并且接收FIFO116可能一直包含还没有(被处理器103)以不确定的速率读取的已接收数据。在此期间,直到分别通过以确定的速率发送并由处理器103读取,新的数据已经被“排出(drain down)”,并且仅包含可以分别以较高中断速率来发送或读取的数据量,新的发送数据才应该被加给发送FIFO114或由接收FIFO116来接收。可以通过使运行在处理器103中的软件程序的发送部分失效,随后,当发送FIFO114仅包含以较高的中断速率来发送的足够的数据时,重新使能上述发送部分来实现这一点。因为处理器103可以具有允许以甚至更快的中断速率读取所有保存在接收FIFO116中的数据的容量,所以对于数据接收中的这种中断频率过渡,可能不需要附加的步骤,并且可能不需要改变或中断数据接收。
类似的条件还适用于从较快的中断频率向较慢的稳态中断频率的过渡。对于较慢的频率,需要附加的数据填充发送FIFO114,这样一来,在下一个(较慢速率)中断信号,在发送FIFO114中将存在可用来发送的数据,以避免一种由于网络连接的潜在损耗造成的数据欠载情况。因此,对于这个过渡,发送FIFO114被用附加数据“填塞(padded)”,例如,事先用待发送的下一个序列采样点来填充发送FIFO114。随着呼入数据到达,接收FIFO116将或应该自动填满。
此外,在最佳实施例中,各种FIFO的容量改变以及中断频率变化还可能潜在地影响在调整步骤期间所作出的经验性判断。例如,根据各种信号被处理器103检测和响应、被提供可变速率的中断信号的速度,远端位置处的发送设备,例如另一个调制解调器,可以推导出一个误差计算,计算出在它的均衡器的远端回波计算中所采用的大致的旅行时延。结果是,在最佳实施例中,在均衡器调整期间,可以采用较慢的稳态中断速率,而不采用其它调整步骤的较快的速率。由于可变的FIFO尺寸,所以类似的条件还应用于由处理器103完成的近端回波计算。结果是,也可以测量、经验性地判断或在均衡器调整期间所作出的计算中考虑由较大的或较小的FIFO容量所引起的可能的延时。
动态变化的存储器容量以及动态变化的中断频率还可以适用于ISDN或其它数字网络环境。例如,在数字通信网络中通常采用的“握手”或其它初始化过程或模式可能需要这种变化的存储容量和变化的中断频率。
本发明的最佳实施例还嵌入了各种防卫或恢复机制,以抵消由于采用用于数据发送或接收的处理器(例如处理器103)或计算机(例如DTE102)而可能遇到诸情况或问题。例如,计算机内的各种程序有时相互干扰,引起通信系统故障或计算机系统故障,诸如,例如造成该计算机对外部激励(例如键盘或鼠标)不响应,或造成该计算机有一个一般保护错误,“崩溃”或死锁(seize),并可能需要该操作系统的重新设置或重新启动。(正如本文所使用的那样,“通信系统”是采用通信程序或其它通信软件的或运行于其下的处理器103(或DTE102)连同接口装置101的组合,并且可以被看作是整个计算机或处理器系统的一部分或子集)。在任何这类通信系统故障或其它“灾难性”故障发生的情况下,在最佳实施例中,状态检测器136通过状态线路126监视发送采样FIFO114和接收采样FIFO116的状态,以确定是否处理器103已经响应于诸中断信号,并且是否已经在预定时间周期内从接收采样FIFO116中读取,或者已经写入发送采样FIFO114中。如果状态检测器136已经确定或检测到某一预定时间周期内,例如3秒,不存在任何这种活动,状态检测器136确定通信系统故障已经发生,并且在线路130上产生一个给信道接口电路106的状态信号,该状态信号指明信道接口电路106应该摘掉(drop)线路并终止通信,例如使某一中继(relay)打开,在簧(go on hook),并摘掉线路或呼叫。
在最佳实施例中,还采用状态线路126,状态检测器136还确定是否数据超载情况可以存在于接收采样FIFO116中,以及是否数据欠载情况可以存在于发送采样FIFO114中。如果这种数据欠载情况、数据超载情况或者其它数据误差情况(分别并总称为“数据容量情况”)存在,或者如果这些数据容量情况持续某一预定时间周期或超过某一预定门限,状态检测器136将产生一个状态信号,表明一种误差情况,以复位接收采样FIFO116和发送采样FIFO114,并重新调整该通信系统(例如,作为接口装置101的通信系统,该接口装置与带有通信程序,例如调制解调应用程序的DTE102共同工作)。当采用一种一致的数据调制过程时,因为例如在数据欠载情况下的失去适当的序列和同步或者在数据过载情况下潜在丢失数据,所以可能需要通信系统的这种复位和重新调整。在最佳实施例中,状态检测器136引起复位和重新调整,并且在不带来通信损耗的条件下这样做,例如不脱离(dropping)通信线路。
接着来看图3,在检测用于数据接收的呼入振铃信号时采用振铃FIFO112和一比特量化器118。一种典型的振铃信号可以有着例如20到60Hz之间的频率,该频率具有特定的节律(cadence)(断断续续的序列(onand off sequence))和相当高的电压。对于一个呼入振铃信号,在最佳实施例中一比特量化器118以1KHz的速率对该信号进行采样,并且如果呼入信号的值大于某一预定门限,例如在最佳实施例中的30V,就产生数字1(一);并且如果呼入信号的值小于或等于该预定门限,就产生数字0(零)。一比特量化器118产生一个比特流,该比特流被传送至并存储在存储器115的振铃FIFO112部分。在最佳实施例中,振铃FIFO112有32比特的容量,用来存储32毫秒的信息。当振铃FIFO112达到预定容量,例如32比特时,一个经由状态线路126从振铃FIFO112到中断发生器128的状态信号被产生。另一方面,状态检测器136否则可以以预定间隔,例如每隔10毫秒监视振铃FIFO112的状态,并确定是否振铃FIFO112已经达到预定容量。当正如状态信号,或者其它状态检测,或者监视所确定的那样,振铃FIFO112已经达到预定容量时,中断发生器128产生一个中断信号,该中断信号被通过接口(或机电接口)120和总线107发送给处理器103。该中断信号可能不同于、相同于或类似于第一中断信号(和/或第二中断信号)。因此,根据所需的执行,可以把表示振铃FIFO112状态的中断信号称作第一、第二或第三中断信号。采用调制解调或其它通信应用软件的处理器103就处理该比特流,检测一个有效的呼入振铃信号。例如,一个有效的呼入振铃信号应该是一个数字1的序列,接着是一个数字0的序列,等等……,表示有效呼入振铃信号的特定节律和电压。
对于呼出拨号,接口装置1可以采用双音多频(“DTMF”)或脉冲拨号。对于DTMF,可以由从处理器103到发送采样FIFO114的适当的数字拨号信息的传输来完成拨号,由编译码器或A/D变换器108把该数字拨号信息处理为一个呼出信号(例如一个呼出模拟信号)。在最佳实施例中,由从处理器103到叉簧FIFO110的适当的数字信息的传递来完成脉冲拨号,该信息应该指示离簧并包含适当的脉冲拨号序列。例如,某一特定的、预定的数字0和1组成的比特流应该通过在信道接口电路106中打开和关闭一个适当的中继来表示离簧。通过发出预限定比特的某一特定序列来完成脉冲拨号。该特定序列表明所需的拨号节奏,例如,3个在簧/离簧序列,随后是静默,静默之后是2个在簧/离簧序列。在典型的脉冲拨号中,中继?被正常关闭,导致高电压(逻辑1)。在最佳实施例中,如果该处理器没有把数据写入叉簧FIFO中超过32毫秒,叉簧FIFO110将使一个默认打开,切断该呼叫,以避免信道105上的振荡。
接着来看图3,根据所需的执行,机电接口120通常将包含一个IRQ选择线路或部件124以及一个地址选择线路或部件122,用于与主处理器或计算机适当地接口。该地址选择线路或部件124把各种地址映射到诸如发送采样FIFO114和接收采样FIFO116这类部件(item)中。IRQ选择线路或部件122向处理器或计算机提供唯一的中断线路,以避免与其它板、卡的潜在冲突。通常都通过卡或板的接口上的开关来实现地址选择部件122和IRQ选择部件124。等效地,可以通过目前已知的集成电路,例如“即插即用”芯片来实现这些部件。
图4是根据本发明图解表示用来与数字网络接口的接口装置的另一个实施例的方框图。功能上虚拟等同于上文讨论的接口装置101,而不是具有用于与模拟网络,例如PSTN接口的信道接口电路106(例如DAA),图4中的接口装置150包括一个数字接口电路140,例如S/T接口或者U接口,用于在数字信道例如ISDN上以数字形式进行数据传输。在这种方式下,本发明的接口装置除了在模拟信道上实现通信功能,例如作为一个模拟或数字调制解调器或者作为一个电话应答机来工作之外,还可以作为一个ISDN终端适配器来工作,或者在数字信道上实现其它通信功能。因此,如本文所用,信道接口电路106应该被理解为意味着且指的是它的各种模拟或数字实施例或副本,并且以上这些都包括在它的范围内,例如数字接口装置(用来连接到一条数字信道),例如一个S/T或U接口,或者一个模拟接口装置,例如DAA。如上所述,在数字环境中,图3中所示的编译码器108的模拟采样和数字变换功能不是必需的,因此,在图4中没有画出这样一个编译码器。相反,数字接口电路140连同处理器103一起实现所有必需的数字成帧、信令以及其它数字传输功能。
图5是图解表示根据本发明的接口装置101的详细方框图,该接口装置101被耦连至在模块210中带有调制解调或其它通信应用软件程序的计算机200,目的是图解表示与接口装置101的工作相对应的计算机或处理器的工作。响应一个可以指示需要传输数据的中断信号,该调制解调或其它通信应用软件模块210在数据入口线路(data-in line)211上从存储器中的一个文件接收数字数据,并完成各种调制解调或通信功能,例如预编码、数据压缩、滤波、插值、倒频以及编码,把该数字数据变换为处理后的数字数据,该处理后的数字数据具有一种适合于由编译码器或A/D变换器108以及信道接口电路106,或者由数字接口电路140来进行任意附加处理的形式。这个处理后的数字数据被传送到输出缓冲器215。在最佳实施例中,在调整过程的整理部分期间作为一种调制解调软件进行工作的软件模块210应该处理6个信息符号,并且输出缓冲器215相应地应该存储18个采样点;并且在稳态数据传输期间,应该处理30个信息符号,并且输出缓冲器215相应地也应该存储90个采样点。然后软件输入/输出驱动器220把处理后的数字数据传递给接口装置101的总线107,用来存储在发送采样FIFO114中,并用来由编译码器(或A/D变换器)108(或数字接口电路140)来处理,并在信道105上发送。
同样,响应于一个表明呼入数据可用来处理的中断信号,还可以由计算机200(或处理器103)来处理来自接收采样FIFO116的已接收的采样后数字数据。软件输入/输出驱动器220从接收采样FIFO116获得接收到的采样后的数字数据,把接收采样FIFO116清空,并且存储在呼入缓冲器225中处理的接收到的采样后数据,供软件模块210处理。在最佳实施例中,输入缓冲器225还具有存储18到90个采样点的容量。作为调制解调软件工作的软件模块210在已接收的采样点上实现各种调制解调功能,例如回波抵消、定时和载波频率偏移均衡、其它信道均衡、滤波、解调制、译码以及去倒频,以在数据出口线路(data-out line)212上产生数字数据输出,输出到存储器中的一个文件。软件模块210还可以包括能够用于数据压缩和纠错的V.42、V.42bis或者其它数据、视频或多媒体协议。
接着看图5,可以由软件模块210相应地来完成振铃检测和脉冲拨号步骤。软件输入/输出驱动器220从振铃FIFO112获得采样后数据,并把该数据存储在振铃检测缓冲器230中,供软件模块210处理。脉冲拨号数据被从软件模块210传递到脉冲拨号缓冲器235,然后由软件输入/输出驱动器220传递到叉簧FIFO110。
总之,图3至图5揭示了一种用来在处理器103和通信信道105之间接口,进行数据发送和接收的装置,处理器103可工作于带有一个通信应用程序,例如调制解调或终端适配器应用程序的数据终端设备102中。接口装置101包括:第一,信道接口电路106,可耦连至通信信道105,用于接收数据信号以形成一个呼入数据信号并且用于发送来自一个呼出数据信号的数据信号;第二,存储器115,被耦连至信道接口电路106以存储多个数字数据序列;第三,编译码器108,被耦连至存储器115,并进而被耦连至信道接口电路106,以第一频率(通常为某一确定频率)周期性地对呼入数据信号进行采样,来构成一个呼入已采样数据序列,并把该呼入已采样数据序列传送到存储器115,并从存储器115接收一个呼出数字数据序列,并把该呼出数字数据序列变换为呼出数据信号;第四,中断信号发生器128,被耦连至存储器115,以产生第一中断信号,并把该第一中断信号发送给处理器103;以及第五,接口电路120,被耦连至存储器115和中断信号发生器128,该接口电路120进一步可耦连至处理器103,用于处理器103和存储器115之间的数据传递,并且用于第一中断信号向处理器103的传输。中断信号发生器128也可以进一步作出响应,产生第一中断信号,表明出现了供处理的第一个预定量的数字数据,并且/或者表明不存在供传输的第二个预定量的数字数据。中断信号发生器128也可以进一步作出响应,产生第二中断信号(该信号可以是等同于或不同于第一中断信号),表明出现了呼入振铃信号,在这种情况下,为了把第二中断信号发送到处理器,接口电路120进一步被耦连至处理器。通常是以第二频率来产生各种第一和第二终端信号,该第二频率通常是一个不确定的或可变的频率。
最佳实施例也可以包括一个状态检测器136,该状态检测器被耦连至存储器115和中断信号发生器128,进而被耦连至信道接口电路106,该状态检测器作出响应,检测存储器115中的数据容量情况,并且响应于对存储器115中数据容量情况的检测,状态检测器136产生一个状态信号,复位存储器115,并且开始该通信系统的重新调整过程。状态检测器136还可以作出响应,检测通信系统故障,并且根据这个检测作出响应,产生一个状态信号,终止与通信信道105的连接。
再者,在接口装置101的最佳实施例中,中断信号发生器128进一步作出响应,在调整模式的第一部分,例如整理部分期间,以第一中断频率产生第一中断信号。在调整模式的第二部分,例如诸调整状态或过程的其余部分期间,以第二中断频率产生第一中断信号,并且在数据模式期间,例如在稳态数据传输期间,以第二中断频率产生第一中断信号。此外,在最佳实施例中,存储器115的容量作为中断频率的一个函数来变化。更明确地讲,存储容量可以在第一容量和第二容量之间变化,当该中断信号是以第一中断频率产生时,第一容量出现;当该中断信号是以第二中断频率产生时,第二容量出现。
图6是一张图解表示根据本发明的接收数据接口方法的流程图。该过程开始于接收数据信号的起始步骤300,类似于图3中由信道接口电路106完成的处理。然后,在步骤305,类似于图3中的编译码器(或A/D变换器)108提供的处理,以第一个确定的或预定的频率周期性地对已接收的数据信号进行采样,并把它转换为数字形式,作为采样后的数字数据,构成一个已接收的采样后数据序列。对于数字网络上的数据接收,如果呼入数据已经处在数字格式并且不需要另一个变换,就可以省略步骤305。然后,在步骤310,接收到的采样后数字数据序列存储在存储器,例如图3中的接收采样FIFO116中。然后在步骤315,该方法确定是否存储器已经达到了某一预定容量,例如18或90个采样点,并且如果已经达到了存储容量,那么在步骤320,一个中断信号被产生并被发送到该处理器,正如由图3中的状态检测器136和中断发生器128所提供的处理。如果在步骤315中没有达到存储容量,那么该方法重复并返回步骤305,采样并转换该接收到的信号为数字形式,并且在步骤310把接收到的采样后数字数据存储在存储器中。再者,在数字网络环境中,该方法还应该重复,但是应该返回步骤310,把接收到的采样后数字数据存储在存储器中。在这个过程中,在步骤325,该方法还可以对接收到的信号进行量化,用于检测呼入振铃信号,并且在步骤330,还以一种类似于由一比特量化器118和振铃FIFO112完成的处理的方式,把该量化后的数据存储在存储器中。该方法在步骤335判断是否呼入振铃存储器,例如振铃FIFO112已经达到了某一预定容量;如果是这样,那么在步骤320,也产生一个中断信号。如果该呼入振铃存储器仍没有达到某一预定容量,那么该过程重复,返回步骤325。当一个中断信号已经被产生时,从步骤320出发,该过程以第二且通常是不确定的频率,把采样后数据信号或者量化后的呼入振铃信息传递给处理器供处理,例如解调制、译码、均衡、纠错以及其它调制解调操作或通信功能。在步骤345,该过程判断是否该呼入信号已经停止,即,已经到达了呼入信号的末尾,例如一个表示该传输的末尾的预定的比特序列,并且没有更多的信息将被接收到。如果在步骤345仍没有到达该传输的末尾,也就是说,更多的信息正在被接收,那么该过程重复并返回步骤305(或对于数字通信系统而言是返回步骤310)。如果已经到达了传输的末尾,这样一来,在步骤345中没有更多的信息正在被接收,那么在步骤350,该过程结束。
又如图6所示(并且相应地如图7所示),在最佳实施例的接收数据过程期间,类似于由图3中的状态检测器136所完成的处理,各种状态检测过程也正在发生。在步骤355,该过程监视通信系统故障或其它灾难性事件,并监视数据容量(过载和欠载)条件。如果在步骤360中一个通信系统故障或其它灾难性事件已经发生,那么在步骤365,该方法终止通信,并在步骤350结束该过程。如果在步骤370,一个数据容量条件已经发生,或者任何其它可能造成无序或失去同步的事件已经发生,那么在步骤375,该过程提供对存储器复位并重新调整该通信系统,并返回接收数据的过程--步骤305(或者对于数字通信系统,是步骤310)。
图7是一张图解表示根据本发明的发送数据接口方法的流程图。该方法在起始步骤400,把通常以一个不确定的或可变的速率或频率从处理器接收数字数据序列作为开始。在步骤410,该数字数据序列被存储在存储器,例如图3的发送采样FIFO114中。类似于由编译码器(或A/D变换器)108以及图3中的信道接口电路106,或者由图4中的数字接口电路140来完成的处理,在步骤415,该数字数据序列(通常被以某一确定频率)变换为呼出数据信号,并且在步骤420被在信道上发送。该过程还确定是否已经从处理器接收到脉冲拨号信息,并且如果是这样,那么在步骤425,该脉冲拨号信息被存储在存储器中,并被在信道上发送,正象在采用叉簧FIFO110所完成的处理中的那样。该过程连续进行到步骤435,在该步骤中,该方法确定是否更多的数据被存储在存储器中,并可用来在信道上发送,如果在步骤435中更多的数字数据被存储并可用于发送,那么该过程重复并返回步骤415,把该数字数据序列变换为一个用于发送的呼出数据信号。如果在步骤435中没有更多的数据被存储并可用于传送,那么在步骤440,该过程确定是否最后的已接收数字数据表示一个发送的结束。如果在步骤440,从处理器接收到的最后的信息不表示发送的结束,那么在步骤450,该方法继续产生一个给该处理器的中断信号,使之接收更多的用于发送的数字数据,并且该过程重复,返回到步骤410。如果在步骤440中从处理器接收的最后的数据的确表明发送结束,那么该过程结束于步骤460。
对应于图6中所示的数据接收,图7也图示了在最佳实施例中发送数据过程期间所发生的各种状态检测过程,这些状态检测过程类似于由图3中的状态检测器136所完成的处理。在步骤465中,该过程监视通信系统故障或其它灾难性事件,并监视数据容量条件。如果在步骤470中已经发生了一个通信系统故障或其它灾难性事件,那么在步骤475,该方法终止通信,并在步骤460结束该过程。如果在步骤480中一个数据容量条件或者任何其它可能造成无序或失去同步的事件已经发生,那么在步骤485,该过程提供对存储器的复位并重新调整该通信系统,并且在步骤410返回发送数据的过程,正在从处理器接收数据并且把数据存储在存储器中。
如上所述,本发明的数据接收和数据发送部分可以独立工作。没有被图示在图6和图7中,数据发送和数据接收功能也可以以串联或某些其它相关的方式工作,例如同时以全双工调制解调器或终端适配器运作方式来工作。为了概括这种双运作,本发明包括一种在用于数据发送和接收的处理器和通信信道间进行接口的方法,该处理器可工作于带有一个通信应用程序的数据终端设备中。该方法包括:第一,(a)在步骤300,从通信信道接收一个数据信号,以形成一个接收到的数据信号;(b)在步骤305,以第一频率周期性地对接收到的数据信号进行采样,以形成一个接收到的采样后数据序列;(c)在步骤310,把接收到的采样后数据序列存储在存储器中;并且(d)在步骤340,以第二频率周期性地把接收到的采样后数据从存储器传递到处理器;并且第二,(e)在步骤340,以第二频率周期性地把一个数字数据序列从处理器传递到存储器;(f)在步骤410,把该数字数据序列存储在存储器中;(g)在步骤415,以第一频率周期性地把该数字数据序列传递给编译码器,以产生一个呼出数据信号;(h)在步骤420,在通信信道上发送该呼出数据信号;并且(i)在步骤320和450,产生一个给处理器的中断信号。此外,该方法还可以包括步骤(j)从通信信道接收并检测一个呼入振铃信号,包括(1)在步骤325,对从通信信道接收的呼入振铃信号的电平进行量化,以形成数字振铃信息;(2)在步骤330中,把数字振铃信息存储在存储器中;(3)在步骤320和340,响应于该中断信号,以第二频率周期性地把该数字振铃信息从存储器传递到处理器。本发明的发送部分也可以包括步骤(k),检测是否该数字数据序列是脉冲拨号信息,并且在该数字数据序列是脉冲拨号信息的情况下,在步骤425,在信道上传递相应的拨号脉冲。该发送和接收方法还包括步骤(l),重复步骤(a)到(d)(内含a和d),以及步骤(i),直到接收的数据信号已经停止;以及步骤(m),重复步骤(e)到(i)(内含e和i),直到从处理器传递来的数字数据的终止序列已经被传递到存储器。再者,当数据接收和数据发送将发生时,步骤(a)到(d)(内含a和d)就与步骤(e)到(i)(内含e和i)同时发生。最后,该发送和接收方法可以包括步骤(n),检测数据容量情况,并根据这种检测,产生一个状态信号来复位存储器,并开始通信系统的重新调整步骤;以及步骤(o)检测通信系统故障,并根据检测结果,产生一个状态信号来终止与通信信道的连接。
如上所示,本发明的接口装置和方法判明数据传输速率以及处理速率的失配,并提出一种对应于相应的瓶颈问题的方案。响应于一个表明需要发送数据的中断信号,该处理器可以以更高的处理器速率或频率,把与目前通常以较低的数据传输速率发送的数据相比,较多的数据发送到发送采样FIFO114,供短期存储。相应地,以较低的数据发送速率接收的呼入数据将已经被存储在接收采样FIFO116中,随后可以由该处理器以较高的或较快的处理器速率或频率对其整体进行处理。
在此期间,再者,既不要求该处理器也不要求接口装置延迟或等待另一方来实现自己的功能,从而优化整个性能。例如,在由呼入采样点填满接收采样FIFO116所需要的时间期间,处理器可能正在完成其它应用功能。相应地,对于数据发送,该处理器可以快速填满发送采样FIFO114,然后该发送采样FIFO存储以较低的数据传输速率传输的信息。在发送数据的同时,该处理器还可以同时执行其它应用程序,不会由于可用来处理的已接收数据太少或者可用来发送的已处理数据太多而导致一种瓶颈型的情况。本发明的装置和方法还提出了各种从通信系统故障恢复的方案,以及从各种数据容量情况或其它数据误差情况恢复的方案。
我们将从上文看出,在不背离本发明的新颖概念的主旨和范围的条件下,多种变化和修改可以是有效的。应该懂得,不想或者不应该推测在本文所示的具体方法和装置方面没有限制。当然想用附带的权利要求覆盖所有这些落入本权利要求范围内的修改。利用下面的权利要求对本发明作出进一步的限定。
Claims (10)
1.在处理器和通信信道之间提供接口的接口装置,该处理器可工作在带有一个通信应用程序的数据终端设备中,该通信应用程序能够完成调整、均衡、编码和译码等调制解调功能,该通信应用程序响应于来自该接口装置的诸中断信号,该接口装置包括:
一个与通信信道相耦连的信道接口电路,接收呼入数据信号并发送呼出数据信号;
一个存储器,用于存储多个数字数据序列;
一个耦连到存储器并且进一步耦连到信道接口电路的编译码器,以第一预定频率周期性地对呼入数据信号进行采样,以形成一个呼入已采样数据序列,并把该呼入已采样数据序列传递到存储器,并从该存储器接收一个呼出数字数据序列,并把该呼出数字数据序列变换为呼出数据信号;
一个中断信号发生器,响应于存储器中的数据情况,产生第一中断信号并把该第一中断信号发送到处理器,该第一中断信号表明第一种和第二种数据情况之一,第一种情况指的是供通信应用程序处理的第一预定量的数字数据出现在存储器中;第二种情况指的是存储在存储器中供在信道上发送的第二预定量的数字数据不存在。这样一来,通信应用程序能够通过从存储器中移去数据来响应于第一种情况,实现调制解调功能,并且能够通过把数据写到存储器来响应于第二种情况,该数据已经被通信应用程序中的调制解调功能处理;以及
一个接口电路,被耦连到存储器和中断信号发生器,并且被耦连到处理器,用于处理器和存储器之间的数据传递以及第一中断信号向处理器的发送。
2.权利要求1的接口装置,其中,中断信号发生器进一步作出响应,产生并向处理器发出第二中断信号,表明在通信信道上出现了呼入振铃信号。
3.权利要求1的接口装置,其中,第一中断信号是由中断信号发生器以不同于一第一频率的第二不确定频率产生的。
4.权利要求2的接口装置还包括:
一个被耦连到信道接口电路用来检测呼入振铃信号的一比特量化器。
5.权利要求4的接口装置,其中,存储器包括一个振铃FIFO,用于接收被检测为呼入振铃信号的呼入采样数据。
6.权利要求1的接口装置,其中,存储器的存储容量是可变的,其存储容量在第一容量和第二容量间变化,当以第一中断频率产生中断信号时,第一容量出现;当以第二中断频率产生中断信号时,第二容量出现。
7.权利要求6的接口装置,其中,中断信号发生器包括以第一和第二速率之一来产生诸中断的装置,相对于第二速率,第一速率是较低的速率,并且其中,该中断信号发生器响应于某一调整事件,这样,在调整事件的数据发送模式期间和稳态模式期间,以第一速率产生诸中断;并且这样,在调整阶段期间,以第二速率产生诸中断;以及
其中,当从较低频率向较高频率变化来产生中断信号时,可变的存储容量从第一容量向第二容量改变;并且其中,存储器中补充数字数据序列的传输和存储被暂停,直到以前被发送并存储在存储器中的数字数据序列达到了第二容量水平。
8.权利要求7的接口装置,其中,中断信号发生器进一步作出响应,在一个初始化模式的一部分期间以第一中断频率产生第一中断信号,并在数据模式期间,以第二中断频率产生第一中断信号。
9.权利要求7的接口装置,其中,可变的存储器能够容纳来自处理器的90到250个数据采样点,当中断信号发生器正在稳态模式下以第一速率产生诸中断时,上述采样点将被作为一个呼出数据信号序列发送。
10.权利要求7的接口装置,其中,在以第一速率产生诸中断和以第二速率产生诸中断之间的过渡中,存储器不能接收其它数据,直到其中包含的、尚未读出以发送到信道或处理器的足够采样点被读出,以便可以用第二速率继续读取剩余的尚未读取的数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/607,911 US5802153A (en) | 1996-02-28 | 1996-02-28 | Apparatus and method for interfacing between a communications channel and a processor for data transmission and reception |
US08/607,911 | 1996-02-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1214172A CN1214172A (zh) | 1999-04-14 |
CN1201241C true CN1201241C (zh) | 2005-05-11 |
Family
ID=24434216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB96180131XA Expired - Lifetime CN1201241C (zh) | 1996-02-28 | 1996-08-30 | 通信信道和处理器间的接口 |
Country Status (7)
Country | Link |
---|---|
US (1) | US5802153A (zh) |
EP (1) | EP0885517A4 (zh) |
KR (1) | KR100358025B1 (zh) |
CN (1) | CN1201241C (zh) |
AU (1) | AU6962696A (zh) |
HK (1) | HK1019679A1 (zh) |
WO (1) | WO1997032432A1 (zh) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6018755A (en) | 1996-11-14 | 2000-01-25 | Altocom, Inc. | Efficient implementation of an FIR filter on a general purpose processor |
NZ500194A (en) * | 1997-03-21 | 2000-12-22 | Canal Plus Sa | Broadcasting randomized subscriber entitlement management messages for digital television |
DE19716323A1 (de) * | 1997-04-18 | 1998-10-22 | Alsthom Cge Alcatel | Modulationseinrichtung zur Modulation digitaler Signale |
US5931950A (en) | 1997-06-17 | 1999-08-03 | Pc-Tel, Inc. | Wake-up-on-ring power conservation for host signal processing communication system |
DE19739530C1 (de) * | 1997-09-09 | 1998-12-24 | Siemens Ag | Schaltungsanordnung zur Erzeugung eines Interruptsignals für einen Mikroprozessor |
US6320847B1 (en) * | 1997-11-18 | 2001-11-20 | At&T Corp. | Method and apparatus for reduction of call setup time using anticipation technique for multimedia applications in widely distributed networks |
US6408351B1 (en) * | 1998-03-31 | 2002-06-18 | Compaq Computer Corporation | Host modem having a peripheral codec powered by a peripheral bus |
US6246754B1 (en) * | 1998-06-09 | 2001-06-12 | Legerity, Inc. | Mechanism for changing a modem's connection rate within a family of interoperable modems |
US6567464B2 (en) | 1998-07-24 | 2003-05-20 | Compaq Information Technologies Group, L.P. | Fast retrain based on communication profiles for a digital modem |
US6345071B1 (en) * | 1998-07-24 | 2002-02-05 | Compaq Computer Corporation | Fast retrain based on communication profiles for a digital modem |
US6216182B1 (en) * | 1998-07-30 | 2001-04-10 | Fore Systems, Inc. | Method and apparatus for serving data with adaptable interrupts |
US6374312B1 (en) * | 1998-09-25 | 2002-04-16 | Intel Corporation | System for dedicating a host processor to running one of a plurality of modem programs and dedicating a DSP to running another one of the modem programs |
US6711206B1 (en) | 1998-09-25 | 2004-03-23 | Intel Corporation | Modem using a digital signal processor and separate transmit and receive sequencers |
US6490628B2 (en) * | 1998-09-25 | 2002-12-03 | Intel Corporation | Modem using a digital signal processor and a signal based command set |
US6502138B2 (en) * | 1998-09-25 | 2002-12-31 | Intel Corporation | Modem with code execution adapted to symbol rate |
US6711205B1 (en) | 1998-09-25 | 2004-03-23 | Intel Corporation | Tone detector for use in a modem |
US6625208B2 (en) | 1998-09-25 | 2003-09-23 | Intel Corporation | Modem using batch processing of signal samples |
US6661848B1 (en) | 1998-09-25 | 2003-12-09 | Intel Corporation | Integrated audio and modem device |
US6236677B1 (en) * | 1998-11-02 | 2001-05-22 | Ming Chih Hsieh | Modem operating with central office clock |
US6233250B1 (en) | 1998-11-13 | 2001-05-15 | Integrated Telecom Express, Inc. | System and method for reducing latency in software modem for high-speed synchronous transmission |
GB2345992B (en) * | 1999-03-10 | 2001-01-24 | Elan Digital Systems Ltd | Apparatus and method for handling peripheral device interrupts |
US6819749B1 (en) * | 1999-04-12 | 2004-11-16 | Mindspeed Technologies, Inc. | Method and apparatus for fast V.90 modem startup |
US6704399B1 (en) | 1999-04-12 | 2004-03-09 | Conexant Systems, Inc. | Quick connect parameter exchange |
USRE42661E1 (en) | 1999-04-12 | 2011-08-30 | V-Dot Technologies, Llc | Method and apparatus for fast V.90 modem startup |
US6731726B1 (en) | 1999-04-12 | 2004-05-04 | Conexant Systems, Inc. | Communication on hold |
US6912276B1 (en) * | 1999-04-12 | 2005-06-28 | Silicon Laboratories, Inc. | Modem on hold |
US6327249B1 (en) * | 1999-08-04 | 2001-12-04 | Ess Technology, Inc | Data communication device |
US6751302B1 (en) | 2000-01-07 | 2004-06-15 | Motorola, Inc. | Method and apparatus for providing an automated selection of a telecommunication service from among a plurality of telecommunication services |
DE10105707A1 (de) * | 2001-02-08 | 2002-09-05 | Siemens Ag | Verfahren und Vorrichtung zur Datenübertragung |
US7299350B2 (en) * | 2002-01-17 | 2007-11-20 | Intel Corporation | Internet protocol security decryption with secondary use speculative interrupts |
KR100480605B1 (ko) * | 2002-07-25 | 2005-04-06 | 삼성전자주식회사 | 네트워크 제어기의 송신부 버퍼 및 수신부 버퍼를제어하는 방법 및 네트워크 제어기 |
US7380151B1 (en) | 2002-12-11 | 2008-05-27 | National Semiconductor Corporation | Apparatus and method for asynchronously clocking the processing of a wireless communication signal by multiple processors |
US7016695B1 (en) * | 2002-12-11 | 2006-03-21 | National Semiconductor Corporation | Apparatus and method for processing a deterministic data flow associated with a wireless communication signal |
US20050031026A1 (en) * | 2003-08-07 | 2005-02-10 | Huaiyu Zeng | Hybrid computer modem |
US7254165B2 (en) | 2003-08-07 | 2007-08-07 | Intel Corporation | Re-configurable decoding in modem receivers |
RU2445744C1 (ru) * | 2010-07-07 | 2012-03-20 | Общество С Ограниченной Ответственностью "Владимирский Завод "Электроприбор-1" | Блок сопряжения устройства сопряжения двухпроводной линии с радиостанцией укв-диапазона |
GB201321148D0 (en) * | 2013-11-29 | 2014-01-15 | Bridgeworks Ltd | Data transfer |
CN111610745B (zh) * | 2020-05-08 | 2023-03-21 | 中国人民解放军海军潜艇学院 | 一种载人潜水器模拟训练平台控制方法及模拟训练平台 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4823312A (en) * | 1986-10-30 | 1989-04-18 | National Semiconductor Corp. | Asynchronous communications element |
US5170470A (en) * | 1988-05-02 | 1992-12-08 | National Semiconductor Corp. | Integrated modem which employs a host processor as its controller |
US4965641A (en) * | 1989-02-21 | 1990-10-23 | Motorola, Inc. | Processor modem |
US5367534A (en) * | 1993-06-16 | 1994-11-22 | Universal Data Systems, Inc. | Synchronous flow control method |
US5566208A (en) * | 1994-03-17 | 1996-10-15 | Philips Electronics North America Corp. | Encoder buffer having an effective size which varies automatically with the channel bit-rate |
-
1996
- 1996-02-28 US US08/607,911 patent/US5802153A/en not_active Expired - Lifetime
- 1996-08-30 EP EP96930657A patent/EP0885517A4/en not_active Withdrawn
- 1996-08-30 CN CNB96180131XA patent/CN1201241C/zh not_active Expired - Lifetime
- 1996-08-30 KR KR1019980706792A patent/KR100358025B1/ko active IP Right Grant
- 1996-08-30 AU AU69626/96A patent/AU6962696A/en not_active Abandoned
- 1996-08-30 WO PCT/US1996/014043 patent/WO1997032432A1/en not_active Application Discontinuation
-
1999
- 1999-10-14 HK HK99104533A patent/HK1019679A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
HK1019679A1 (en) | 2000-02-18 |
EP0885517A4 (en) | 2003-01-22 |
WO1997032432A1 (en) | 1997-09-04 |
CN1214172A (zh) | 1999-04-14 |
MX9802208A (es) | 1998-08-30 |
AU6962696A (en) | 1997-09-16 |
KR19990087380A (ko) | 1999-12-27 |
EP0885517A1 (en) | 1998-12-23 |
US5802153A (en) | 1998-09-01 |
KR100358025B1 (ko) | 2002-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1201241C (zh) | 通信信道和处理器间的接口 | |
US5799064A (en) | Apparatus and method for interfacing between a communications channel and a processor for data transmission and reception | |
US5757801A (en) | Advanced priority statistical multiplexer | |
US5682386A (en) | Data/voice/fax compression multiplexer | |
US6216170B1 (en) | Methods and apparatus for interconnecting personal computers (PCs) and local area networks (LANs) using packet protocols transmitted over a digital data service (DDS) | |
US5727233A (en) | Byte-mode and burst-mode data transfer mechanism for a high-speed serial interface | |
KR100204076B1 (ko) | 데이터 전송용 어댑터 | |
US6233643B1 (en) | Apparatus including a host processor and communications adapters interconnected with a bus | |
US5812534A (en) | Voice over data conferencing for a computer-based personal communications system | |
KR940000395B1 (ko) | 패킷 전송을 이용하는 음성 또는 정보 신호 통신 방법 및 시스템 | |
WO1993023809A1 (en) | Isdn-based high speed communication system | |
EP0762655A2 (en) | Host signal processing communication system that compensates for missed execution of signal maintenance procedures | |
US6108720A (en) | Echo canceling modem which dynamically switches sizes of sample buffer between first size for quick response time and second size for robustness to interrupt latency | |
JPS6288461A (ja) | 信号プロセツサの通信インタフエ−ス | |
CN1377541A (zh) | 数据通信装置 | |
US5892980A (en) | System for dynamically changing the length of transmit and receive sample buffers utilizing previous responding to an interrupt in a communications system | |
US5267263A (en) | Method and apparatus for interfacing synchronous data devices over an asynchronous communications channel | |
CN1448018A (zh) | 具有数据帧优先权管理用以数据传输的网络发送器 | |
KR100330210B1 (ko) | 원격접속서버에서의 음성 및 팩스 데이터 처리를 위한 장치 | |
EP0695061A1 (en) | Channel allocation method for a ring network | |
CN100535877C (zh) | 一种利用电话传输计算机数据文件的装置和方法 | |
MXPA98002208A (en) | Interface between a channel of communications and a process | |
KR100406958B1 (ko) | 키스테이션 시스템용 인터넷 접속 인터페이스 | |
Flip et al. | IHTLAM-A Novell compatible INTegrated service Local Area Network | |
Alvarez | Development of a security network (SECNET) based on integrated services digital network (ISDN) |
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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20050511 |
|
EXPY | Termination of patent right or utility model |