DE69935468T2 - Erzeugen von Nachrichtensignalen - Google Patents

Erzeugen von Nachrichtensignalen Download PDF

Info

Publication number
DE69935468T2
DE69935468T2 DE69935468T DE69935468T DE69935468T2 DE 69935468 T2 DE69935468 T2 DE 69935468T2 DE 69935468 T DE69935468 T DE 69935468T DE 69935468 T DE69935468 T DE 69935468T DE 69935468 T2 DE69935468 T2 DE 69935468T2
Authority
DE
Germany
Prior art keywords
buffer
samples
host computer
digital
communication signal
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 - Fee Related
Application number
DE69935468T
Other languages
English (en)
Other versions
DE69935468D1 (de
Inventor
Han C. Sunnyvale Yeh
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.)
Silicon Laboratories Inc
Original Assignee
Silicon Laboratories 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 Silicon Laboratories Inc filed Critical Silicon Laboratories Inc
Application granted granted Critical
Publication of DE69935468D1 publication Critical patent/DE69935468D1/de
Publication of DE69935468T2 publication Critical patent/DE69935468T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M11/00Telephonic communication systems specially adapted for combination with other electrical systems
    • H04M11/06Simultaneous speech and data transmission, e.g. telegraphic transmission over the same conductors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf Kommunikationssysteme, die eine Hostsignalverarbeitung (HSP = host signal processing) verwenden, und insbesondere auf Schnittstellen und Prozesse zum Aufrechterhalten eines Kommunikationssignals, wenn ein Hostcomputer eine geplante Ausführung eines Softwareabschnitts eines HSP-Modems überspringt. Sie bezieht sich ebenso auf ein Hostsignalverarbeitungsmodem, das einen Software-Kreispuffer und direkte Übertragungen von Abtastwerten verwendet, um ein Kommunikationssignal aufrechtzuerhalten.
  • Dieses Dokument ist verwandt mit den US-Patenten 5,721,830 und 5,787,305.
  • Die Hostsignalverarbeitung (HSP) verwendet eine zentrale Verarbeitungseinheit (CPU = central processing unit) in einem Hostcomputer, um Aufgaben für die Verarbeitung von digitalen Signalen auszuführen, die durch eine Hardware, die dem Hostcomputer hinzugefügt ist, einfacher ausgeführt werden können. Ein konventionelles Modem empfängt z.B. Daten von einem Hostcomputer, wandelt die Daten in ein analoges Signal gemäß einem Kommunikationsprotokoll um und überträgt das analoge Signal an eine entfernte Vorrichtung. Das konventionelle Modem empfängt auch ein analoges Signal von der entfernten Vorrichtung, extrahiert Daten aus dem analogen Signal und gibt die Daten an den Hostcomputer weiter. Bei einem HSP-Modem führt der Hostcomputer Software aus, die viele der Umwandlungen durchführt, die durch einen digitalen Signalprozessor oder eine andere Hardware in einem konventionellen Modem durchgeführt werden. Eine Hardware in dem HSP-Modem führt einfache Analog-zu-Digital- und Digital-zu-Analog-Umwandlungen, wie z.B. Umwandlungen eines empfangenen analogen Kommunikationssignals in eine Serie digitaler Abtastwerte durch, um die Amplituden des erhaltenen Signals darzustellen. Der Hostcomputer führt Software aus, die die Abtastwerte gemäß einem Kommunikationsprotokoll interpretiert und die erhaltenen Daten aus den Abtastwerten ableitet. Der Hostcomputer erzeugt auch eine Serie von Ausgangsabtastwerten, die Amplituden eines übertragenen Kommunikationssignals gemäß dem Protokoll darstellen, und eine Hardware des HSP-Modems wandelt die Ausgangsabtastwerte in das übertragene Signal um. Der Vergleich mit konventionellen Modems zeigt, dass HSP-Modems eine weniger komplexe (und kostengünstigere) Hardware aufweisen, weil der Hostcomputer bei HSP-Modems viele Aufgaben durchführt, die bei konventionellen Modems durch eine Hardware ausgeführt werden. Jedoch verwenden die HSP-Modems eine Prozessorleistung der Host-CPU, typischerweise durch ein periodisches Unterbrechen der Host-CPU.
  • Einige Kommunikationsprotokolle erfordern, dass Vorrichtungen an beiden Enden einer Kommunikationsverknüpfung konstant übertragen und empfangen. Das übertragene Signal muss selbst während einer Datenübertragungspause gleichmäßig sein, so dass eine empfangende Vorrichtung erkennt, dass die übertragende Vorrichtung sich immer noch an der Verknüpfung befindet. Bei solchen Systemen erzeugt ein HSP-Modem regelmäßige Unterbrechungen, um neue Abtastwerte anzufordern, die notwendig sind, um das übertragene Signal aufrechtzuerhalten. In manchen Systemen, wie z.B. Multitasking-Systemen, können die Unterbrechungen jedoch maskiert sein, oder der Hostcomputer kann anderweitig nicht in der Lage sein, eine Software gemäß den Anforderungen auszuführen, um das übertragene Signal aufrechtzuerhalten. Wenn der Hostcomputer nicht antworten kann, kann es zu einer Unterbrechung der Übertragung kommen, und die Vorrichtung an dem anderen Ende der Kommunikationsverknüpfung kann möglicherweise ihre Verbindung trennen, oder in einen Rückzugsmodus bzw. Retrain-Modus gehen. Dies ist für moderne Nutzer nicht akzeptabel. Folglich wird ein HSP-Kommunikationssystem benötigt, das eine Kommunikationsverknüpfung selbst dann aufrechterhält, wenn ein Hostcomputer nicht auf Unterbrechungen ansprechen kann, um eine Kommunikationsverknüpfung aufrechtzuerhalten.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Kommunikationssystem gemäß Anspruch 1 bereitgestellt.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Erzeugen eines Kommunikationssignals gemäß Anspruch 10 geliefert.
  • Wie in dem US-Patent 5,721,830 beschrieben, kann eine Hardware in einem HSP-Kommunikationssystem einen Ringübertragungspuffer umfassen. Während eines normalen Betriebs fügt der Hostcomputer dem Kreispuffer periodisch Abtastwerte hinzu, z.B. während Unterbrechungen, und ein Digital-zu-Analog-Wandler erzeugt ein übertragenes analoges Kommunikationssignal aus den Abtastwerten des Kreispuffers. Wenn jedoch der Hostcomputer die Routinen, die neue Abtastwerte in den Kreispuffer schreiben, nicht ausführen kann, erzeugt der Digital-zu-Analog-Wandler ein Aufrechterhaltungssignal, indem er wiederholt alte Abtastwerte aus dem Kreispuffer umwandelt, bis der Hostcomputer neue Abtastwerte liefert. In Anordnungen gemäß der vorliegenden Erfindung speichert ein Software-Kreispuffer in dem Hostcomputer Abtastwerte zur Aufrechterhaltung des übertragenen Signals. Eine direkte Übertragung, wie z.B. eine Übertragung gemäß dem PCI-Busmasterprotokoll oder eine direkte Speicherzugriff-(DMA- = direct memory access) Übertragung, bewegt Abtastwerte direkt zwischen Software-Kreispuffern in dem Hostcomputer und der HSP-Modemhardware. Die HSP-Modemhardware umfasst typischerweise einen Hardware-Kreispuffer, der kleiner und kostengünstiger als die Kreispuffergröße ist, die zur Aufrechterhaltung eines geeigneten übertragenen Signals erforderlich ist.
  • Die US-A-5 631 848 und die US-A-5 535 348 zeigen die Verwendung eines DMA, um auf einen externen Digital-zu-Analog-Wandler zuzugreifen.
  • In einem Ausführungsbeispiel der Erfindung hängt die Größe des Software-Kreispuffers von einer Abtastfrequenz des Digital-zu-Analog-Wandlers in einer HSP-Modemhardware, einer Baudfrequenz des Kommunikationssignals und einer Trägerfrequenz, wenn das Kommunikationssignal eine hat, ab. Insbesondere enthält der Software-Kreispuffer Abtastwerte für die Dauer einer ganzen Serie von Zeiträumen bei der Träger- und/oder Baudfrequenz. Somit ist das Aufrechterhaltungssignal bei der Träger- und/oder Baudfrequenz periodisch und ist bei Übergängen von dem letzten Abtastwert zu dem ersten Abtastwert in dem Kreispuffer relativ glatt. Der Software-Kreispuffer kann eine programmierbare Größe aufweisen, die sich an eine Reihe möglicher Träger- und/oder Baudfrequenzen für verschiedene Kommunikationsprotokolle anpassen kann. Darüber hinaus enthält der Softwarepuffer ausreichend Abtastwerte, so dass die Zeit, die erforderlich ist, um einen Puffer voller Abtastwerte umzuwandeln, um eine erwartete Latenz der Reaktion der Host-CPU auf eine Unterbrechung größer als die Zeit zwischen geplanten Unterbrechungen ist. Für den Fall, dass der Hostprozessor nicht auf eine Unterbrechung durch ein Erzeugen neuer Abtastwerte innerhalb der erwarteten Zeit reagiert, liefert der Software-Kreispuffer alte Abtastwerte zur Aufrechterhaltung eines übertragenen Kommunikationssignals.
  • Der Hardwarepuffer, der direkte Übertragungen von dem Software-Kreispuffer empfängt, weist eine Größe auf, die von der Latenz oder der maximalen erwarteten Verzögerung zwischen aufeinander folgenden Übertragungen abhängt. Die Größe des Hardware-Kreispuffers kann ferner von einer Abtastfrequenz des Digital-zu-Analog-Wandlers in einer HSP-Modemhardware, der Baudfrequenz des Kommunikationssignals und der Trägerfrequenz (wenn das Kommunikationssignal eine solche aufweist) abhängen. Für den Fall, dass direkte Übertragungen nicht innerhalb einer erwarteten Zeit abgeschlossen werden, hält eine wiederholte Umwandlung von Abtastwerten von dem Hardwarepuffer das übertragene Kommunikationssignal aufrecht.
  • Auch wenn das Aufrechterhaltungssignal falsche Daten darstellen kann, wenn der Hostcomputer nicht die Software ausführt, die neue Abtastwerte erzeugt, oder die direkten Übertragungen verzögert werden, ist das Aufrechterhaltungssignal typischerweise ausreichend, um eine Kommunikationsveknüpfung beizubehalten und um zu verhindern, dass eine entfernte Vorrichtung ihre Verbindung trennt oder in einen Rückzugsmodus bzw. Retrain-Modus geht. Fehlerkorrekturtechniken erfassen und korrigieren, möglicherweise, ungültige Daten, die übertragen werden, wenn eine HSP-Hardware das übertragene Signal aus wieder verwendeten Abtastwerten erzeugt hat. Typischerweise werden gültige Daten an eine entfernte Vorrichtung übertragen und von dieser angefordert, wenn der Hostcomputer wieder die Software ausführen kann, die erforderlich für einen Betrieb des HSP-Kommunikationssystems erforderlich ist.
  • 1 ist ein Blockdiagramm eines Hostsignalverarbeitungskommunikationssystems gemäß einem Ausführungsbeispiel der Erfindung.
  • 2 ist ein Blockdiagramm eines Hostsignalverarbeitungsmodems, das einen Software-Kreispuffer und direkte Übertragungen von Abtastwerten zwischen Software- und Hardwareabschnitten des Modems verwendet.
  • Eine Verwendung der gleichen Bezugszeichen in verschiedenen Figuren zeigt ähnliche oder identische Elemente an.
  • Die 1 zeigt ein Blockdiagramm eines Hostsignalverarbeitungs-(HSP-) Kommunikationssystems 100, das einen Hostcomputer 110 und eine Kommunikationsvorrichtung 130 umfasst. Die Vorrichtung 130 kommuniziert mit einer ent fernten Vorrichtung (nicht gezeigt) durch eine Kommunikationsverknüpfung 170 und umfasst eine Hybridschaltung 138, die die notwendige Hardwareverbindung zu der Verknüpfung 170 bereitstellt. Die Vorrichtung 130 enthält auch einen Analog-zu-Digital-Wandler (ADC = analog-to-digital converter) 133 und einen Digital-zu-Analog-Wandler (DAC = digital-to-analog converter) 137. Der ADC 133 tastet die Amplitude eines analogen Kommunikationssignals ab, das auf einer Kommunikationsverknüpfung 170 empfangen wird, und speichert digitale Abtastwerte in einem RX-Puffer 132 in der Vorrichtung 130. Der DAC 137 wandelt Abtastwerte von einem TX-Puffer 136 in der Vorrichtung 130 in ein analoges Kommunikationssignal um, das an der Kommunikationsverknüpfung 170 übertragen wird. Der Hostcomputer 110 erzeugt die Abtastwerte die, an den TX-Puffer 136 geroutet werden, und verarbeitet die Abtastwerte von dem RX-Puffer 132. Diese Abtastwerte passieren zwischen der Vorrichtung 130 und einem Hostcomputer 110 über einen lokalen Bus 160 des Hostcomputers 110 und eine Busschnittstelle 134 in der Vorrichtung 130. In einem exemplarischen Ausführungsbeispiel der Erfindung ist der Hostcomputer 110 ein IBM-Personalcomputer oder ein kompatibler Personal-Computer und ein lokaler Bus 160 ist ein PCI-Bus.
  • Der Hostcomputer 110 umfasst eine CPU 120, die eine Software unter Überwachung einer Betriebsumgebung, wie z.B. Microsoft WINDOWS95TM, ausführt. Gemäß dem Ausführungsbeispiel von 1 weist die CPU 120 einen Hauptspeicher 140 auf und führt eine Anwendung 142 und andere Anwendungen 141 aus, die in dem Speicher 140 gespeichert sind. Die Anwendung 142 kommuniziert mit der entfernten Vorrichtung über die Kommunikationsverknüpfung 170 und speichert Daten in einem Datenpuffer 144 in dem Speicher 140 zu Übertragungen an die entfernte Vorrichtung. Anwendungen, die mit entfernten Vorrichtungen kommunizieren, sind wohl bekannt und können z.B. zur Kommunikation über ein konventionelles Modem konfiguriert sein. Die Anwendung 142 kommuniziert mit dem HSP-Kommunikationssystem der vorliegenden Erfindung auf dieselbe Weise wie ein konventionelles Modem. Insbesondere können die Anwendung 142 oder andere Routinen in der Betriebsumgebung mit der Vorrichtung 130 über einen Kommunikations-(COM- = communication) Treiber 145 kommunizieren. Der COM-Treiber 145 ruft wiederum einen Tortreiber 146 für das Tor auf, mit dem die Vorrichtung 130 logisch verbunden ist, und der Porttreiber 146 ruft einen virtuellen Vorrichtungstreiber 147 auf. Der Vorrichtungstreiber 147 wird aufgabenspezifisch für die Vorrichtung 130 angepasst und umfasst einen universellen asynchronen Empfänger-Sender (UART = universal asynchronous receiver transmitter) und einen Softwareabschnitt des HSP-Kommunikationssystems. Ein Software-UART erlaubt eine Kommunikation, die Standardanwendungen, Systemroutinen und Kommunikationstoren in dem Betriebsumfeld des Hostcomputers 110 selbst dann verwendet, wenn die Schnittstelle 134 „nicht-standard" ist und an die Funktionen der Vorrichtung 130 angepasst ist.
  • Das US-Patent 5,787,305 beschreibt Schaltungen und Prozesse zum Implementieren eines Software-UART mit einer Hardware, die eine Nicht-Standard I/O-Schnittstelle aufweist.
  • Für eine Übertragung speichert die Anwendung 142 Daten in dem Datenpuffer 144, und die Host-CPU 120 führt periodisch eine Aktualisierungsroutine von dem Vorrichtungstreiber 147 aus, um die Daten in dem Datenpuffer 144 in digitale Abtastwerte eines analogen Signals, das die Daten darstellet, umzuwandeln. Die CPU 120 führt typischerweise die Aktualisierungsroutine ansprechend auf Unterbrechungen von der Vorrichtung 130 aus. Die Serie digitaler Abtastwerte sind Amplituden eines analogen Kommunikationssignals, das ein Kommunikationsprotokoll erfüllt. Das Kommunikationsprotokoll, das in dem System 100 eingesetzt wird, hängt von der Kommunikationsverknüpfung 170 und der entfernten Vorrichtung ab. Die Kommunikationsprotokolle stehen viele verschiedene Anwendungen, einschließlich Modems, Faxgeräte und Videotelefone, zur Verfügung, die bei verschiedenen Datenraten arbeiten. Beispiele wohl bekannter Kommunikationspro tokolle umfassen V.17, V.21, V.22bis, V.27ter, V.29, V.32bis, V.34 und V.PCM. Der Gerätetreiber 147 implementiert ein oder mehrere Kommunikationsprotokolle gemäß den Anforderungen für die Kommunikationsverknüpfung 170 mit der entfernten Vorrichtung. Das Protokoll kann in einer Software für eine neue oder andere Anwendung des Systems 100 geändert werden. Die Vorrichtung 130 erfordert für unterschiedliche Protokolle wenige oder keine Änderungen.
  • Der Vorrichtungstreiber 147 speichert neu erzeugte digitale Abtastwerte in einem Abtastwertpuffer 148 für eine Übertragung zu der Vorrichtung 130. Wenn der Hostcomputer 110 die Aktualisierungsroutine während Unterbrechungen ausführt, die durch eine Unterbrechungswarteschlange (IRQ = interrupt queue) initiiert wurde, können andere Anwendungen 141 in einer Multitasking-Umgebung Unterbrechungen maskieren, die bewirken, dass der Hostcomputer 110 eine Ausführung der Aktualisierungsroutine, die neue Abtastwerte erzeugt, die das übertragene Signal darstellen, verzögert oder überspringt. Wenn dies passiert, stehen neue Abtastwerte bei Bedarf möglicherweise nicht zur Verfügung. Wenn das übertragene Signal von der Vorrichtung 130 wegen Mangel an neuen Abtastwerten angehalten wird, kann die entfernte Vorrichtung, die mit der Kommunikationsverknüpfung 170 verbunden ist, möglicherweise ihre Verbindung von der Verknüpfung 170 trennen oder in einen Rückzugsmodus bzw. Retrain-Modus gehen. Folglich ist der Abtastwertepuffer 148 ein Kreispuffer, der der Vorrichtung 130 alte Abtastwerte zum Erzeugung eines Aufrechterhaltungssignals liefert. Das Aufrechterhaltungssignal entspricht dem Kommunikationsprotokoll und hält die Verknüpfung mit der entfernten Vorrichtung aufrecht.
  • Übertragungen an den und von dem Abtastwertepuffer 148 finden direkt zwischen dem Puffer 148 und der Vorrichtung 130 ohne ein Eingreifen der Host-CPU 120 statt. Die Schnittstelle 134 in der Vorrichtung 130 fragt periodisch gezielt einen Zugriff zu dem Speicher 140 zur Übertragung von Abtastwerten an den oder von dem Abtastwertepuffer 148 an. Übertragungen können z.B. gemäß dem PCI-Busmasterprotokoll oder über einen DMA-Kanal oder einen ähnlichen Hochgeschwindigkeitskanal zwischen der Vorrichtung 130 und dem Hostcomputer 110 durchgeführt werden. Eine Busentscheidungseinheit 165 entscheidet zwischen der Anforderung von der Vorrichtung 130 und allen Anforderungen von anderen Vorrichtungen 150, die mit dem Bus 160 verbunden sind. In dem exemplarischen Ausführungsbeispiel implementiert die Busentscheidungseinheit 165 das PCI-Busmasterprotokoll und gewährt jeder anfragenden Vorrichtung in der Reihenfolge der Anforderungen einen 14-μs-Zugriff zu dem Bus 160. Die maximale Latenz für eine direkte Übertragung hängt von der Anzahl der Vorrichtungen ab, die mit dem Bus 160 gekoppelt sind, und findet statt, wenn jede Vorrichtung in dem Bus 160 nahezu gleichzeitig einen Zugriff anfordert. Um eine Toleranz für die Latenz direkter Übertragungen zu liefern, weisen Hardwarepuffer 132 und 136 eine Größe auf, die größer als die Anzahl von Abtastwerten ist, die in der Zeit zwischen aufeinander folgenden Anforderungen für Übertragungen in derselben Richtung umgewandelt werden. Wie unten beschrieben, können die Hardwarepuffer 132 und 136 FIFO-Puffer oder Kreispuffer sein.
  • Die 2 zeigt ein Blockdiagramm eines HSP-Modems 200, das eine Software 220 und die Vorrichtung 130 enthält. Im Vergleich zur der 1 ist die Software 220 Teil des Vorrichtungstreibers 147 und arbeitet an einem Datenstrom 212 von einem Datenpuffer 144. Wie oben beschrieben umfasst die Vorrichtung 130 eine Schnittstelle 134, einen RX-Puffer 132, einen TX-Puffer 136, den ADC 133, den DAC 137 und eine Hybridschaltung 138. Die Software 220 erzeugt eine Serie von Abtastwerten STx, die Amplituden eines übertragenen Signals darstellen, das einem Kommunikationsprotokoll und Prozessabtastwerten SRx entspricht, um Daten aus einem erhaltenen Signal zu extrahieren. Die Abtastwerte STx und SRx werden zwischen der Software 220 und der Vorrichtung 130 durch direkte Übertragungen ohne ein Eingreifen des Hostprozessors übertragen.
  • Um Abtastwerte STx zu erzeugen, strömen 212 Partitionsdaten der Software 220 in Bitpakete, in denen jedes Paket einem Symbol entspricht, das während einer Periode einer Baudfrequenz (oder Baudrate) fb übertragen wird. Die Baudfrequenz fb und die Anzahl von Bits in einem Paket hängen von dem implementierten Kommunikationsprotokoll ab. Eine gängige Kommunikationsprotokollklasse definiert analoge Kommunikationssignale, die eine Trägerfrequenz fc und Variationen bei der Baudfrequenz fb aufweisen. Protokolle, die eine Pulsamplitudenmodulation, wie z.B. V.PCM, verwenden, weisen keine Trägerfrequenz fc auf, haben aber eine Baudfrequenz fb. Die Software 220 veranschaulicht ein Beispiel, bei dem das Kommunikationsprotokoll eine Quadratur-Amplituden-Modulation (QAM) von Symbolen verwendet, die durch die Kommunikationssignale dargestellt sind. Um ein konventionelles QAM zu implementieren, bildet eine Konstellationsabbildungseinrichtung 242 jedes Paket aus dem Datenstrom 212 auf den Koordinaten eines Punktes in einer Ebene ab. In einem Ausführungsbeispiel enthält jedes Paket zwei Bits und die Konstellationsabbildungseinrichtung 242 bildet jedes Paket nacheinander auf einem von vier Punkten ab, die durch das Protokoll definiert werden. So werden die Werte 00b, 01b, 10b und 11b auf Koordinaten (A, B) abgebildet, die gleich (–1, –1), (–1, 1), (1, –1) und (1, 1) sind, bzw. zu Zwecken der Erfüllung eines Protokolls wie z.B. von V.22. In einem weiteren Ausführungsbeispiel enthält jedes Paket vier Bit, die die Konstellationsabbildungseinrichtung 242 auf Koordinaten abbildet, die einen von 16 Punkten zum Zwecke der Erfüllung eines Protokolls, wie z.B. V.22bis.
  • Die Konstellationsabbildungseinrichtung 242 liefert einen Strom von Koordinaten A(i) und B(i), wobei i ein Index ist, der die Perioden bei einer Baudfrequenz fb nummeriert. Ein Formgebungsfilter 244 filtert die Zeitvariation der Koordinaten A(i) und B(i) und führt eine Interpolation durch, um einen Strom von Koordinaten A'(j) und B'(j) zu erzeugen, wobei j ein Index ist, der Perioden der Abtastfrequenz fs nummeriert. Die Koordinatenströme A'(j) und B'(j) weisen engere Bandbreiten als die Koordinatenströme A(i) und B(i) auf. Eine QAM Einheit 246 führt eine Funktionssuche durch oder bestimmt anderweitig Abtastwerte STx (j) aus den Koordinaten A'(i) und B'(i) unter Verwendung der Gleichung 1. STx(j) = A'(j)·cos(2π(fc/fs)·j) – B'(j) ·sin(2π(fc/fs)·j) Gleichung 1
  • Die Software 220 schreibt dann die Abtastwerte STx(j) in einen Software-TX-Ringpuffer 276 in dem Abtastpuffer 148.
  • Die Schnittstelle 134 fragt periodisch direkte Übertragungen von Abtastwerten von dem Puffer 276 an und speichert die Abtastwerte in dem Hardware-TX-Puffer 136. Der DAC 137 wandelt die Abtastwerte STx(j) in das übertragene Kommunikationssignal um. Der TX-Puffer 136 liefert Abtastwerte an den DAC 137, selbst wenn direkte Übertragungen scheitern, um rechtzeitig neue Abtastwerte zur Erzeugung eines übertragenen Signals zu liefern. Dies kann erreicht werden, indem aus dem TX-Puffer ein FIFO-Puffer oder ein Kreispuffer gemacht wird. Bei Ausführungsbeispielen, bei denen der TX-Puffer ein FIFO-Puffer ist, laden direkte Übertragungen den TX-Puffer 136 mit einer Reserve von Abtastwerten, so dass eine Umwandlung während der gesamten maximalen Latenz eines direkten Transfers fortgesetzt werden kann, ohne die neuen Abtastwerte aus dem TX-Puffer 136 zu entfernen. Wenn der TX-Puffer 136 ein Kreispuffer ist, werden alte Abtastwerte aus dem TX-Puffer 136 wieder verwendet, wenn neue Abtastwerte nicht rechtzeitig zur Umwandlung geliefert werden. Folglich behält die Vorrichtung 130 ein übertragenes Signal selbst dann bei, wenn direkte Übertragungen keine neuen Abtastwerte liefern. Die Größe eines Hardware-Kreispuffers und einer Abtastfrequenz fs des DAC 137 kann so gewählt werden, dass Abtastwerte in dem Hardware-Kreispuffer eine ganze Reihe von vollständigen Perioden bei einer Baudfrequenz fb und/oder eine ganze Zahl vollständiger Perioden bei einer Trägerfrequenz fc, falls das Protokoll eine Trägerfrequenz aufweist, darstellen. Allgemein sollten die Trägerfrequenz und die Baudfrequenz fc und fb ein ganzzahliges Vielfaches der Abtastfrequenz fs dividiert durch die Größe eines Kreispuffers 136 sein. Wenn z.B. das übertragene Signal eine Trägerfrequenz fc von 1800 Hz und eine Baudfrequenz fb von 2400 Hz aufweist und der DAC 137 eine Abtastfrequenz von 7200 Hz aufweist, enthält eine Pufferkapazität, die 12 digitale Abtastwerte speichert, Abtastwerte drei Perioden lang bei der Baudfrequenz und vier Perioden lang bei der Trägerfrequenz.
  • Die Vorrichtung 130 wandelt das über die Verknüpfung 170 empfangene Kommunikationssignal in eine Serie von digitalisierten Abtastwerten SRx (j) um, die zunächst in dem Hardware-RX-Puffer 132 gespeichert werden. Die Schnittstelle 134 fordert periodisch direkte Übertragungen von Abtastwerten von dem Hardware-RX-Puffer 132 an einen RX-Puffer 272 in dem Abtastpuffer 148 an. Ansprechend auf periodische Unterbrechungen filtert ein angepasster Filter 250 empfangene Abtastwerte SRx(j) von dem Softwarepuffer 272, um ein Rauschen zu entfernen und ein empfangenes Basisbandsignal SRx'(j) zu erzeugen. Das Signal SRx'(j) stellt den reellen Teil von [C''(j) + i·D''(j)]·ei{2πj(fc/fs)}, dar wobei i die Quadratwurzel von –1 ist. Eine Demodulationsprozedur 252 führt eine inverse Transformation, d.h. SRx'(j)·e–i{2πj(fc/fs)} = C''(j) + i·D''(j) durch, um wieder gewonnene Basisbandsignale C''(j) und D''(j) zu bestimmen, die die Koordinaten angeben, die ein Datenpunkt in der Konstellationsabbildung der Datenwerte anzeigt.
  • Eine Reihe von Aspekten müssen bei der Umwandlung der Basisbandsignale C'' und D'' in Datenwerte berücksichtigt werden. Ein Aspekt sind Geräusche, z.B. Echos, die in der Vorrichtung 130 und an der Kommunikationsverknüpfung 170 auftreten. Ein weiterer Aspekt ist ein Synchronisieren von Abtastwerten mit der Baudfrequenz und der Trägerfrequenz, die durch die entfernte Vorrichtung an der Verknüpfung 170 verwendet werden. Ein Echokompensationsprozess 248 speichert die Koordinaten A' und B', die vorher zu der Vorrichtung 230 geschickt wurden, und/oder an der Kommunikationsverknüpfung 170 übertragen wurden. Die Basisbandsignale C'' und D'' werden mit den vorigen Werten der Koordinaten A' und B' verglichen, um zu bestimmen, welcher Abschnitt der Basisbandsignale C' und D' auf Echos zurückzuführen sind. Bei einem Ausführungsbeispiel werden zwei Arten von Echos betrachtet, ein Echo am nahen Leitungsende und ein Echo am entfernten Leitungsende. Verzögerungen und Größen der größten Anpassung werden für beide Echos bestimmt. Um das Echo zu kompensieren ändert eine Addiereinrichtung 254 die Basisbandsignale C'' und D'' um einen Betrag, der aus den Koordinaten A' und B' bestimmt wird, um Basisbandsignale C' und D' zu liefern, die um Echos korrigiert sind.
  • Der Echokompensationsprozess 248 hält einen Puffer aufrecht, der mit den Koordinaten A' und B' für gerade übertragene Abtastwerte gefüllt ist. Wie oben besprochen, überträgt die Vorrichtung 130, weiter ein Kommunikationssignal basierend auf alten Abtastwerten von dem Software-TX-Puffer 276 oder dem Hardware-TX-Puffer 136, wenn Unterbrechungen verpasst werden, selbst wenn der Hostcomputer keine neuen Abtastwerte liefert. Nach einer verpassten Unterbrechung wird der Echokompensationsprozess 248 deaktiviert und der Echokompensationspuffer wird gespült, um Koordinaten zu entfernen, die sich von den durch den DAC 137 umgewandelten Abtastwerten unterscheiden können. Der Echokompensationsprozess 248 wird erst wieder aufgenommen, nachdem dem der Echokompensationspuffer voller korrekter Koordinatenwerte ist.
  • Ein Zeitgebungswiedergewinnungsprozess 256 bestimmt die Baudfrequenz fb der entfernten Vorrichtung und kombiniert die Werte C'(j) und D'(j) zu Durchschnittskoordinaten C'(i) und D'(i), die über eine Periode der Baudfrequenz fb der entfernten Vorrichtung gemittelt werden. Die Koordinaten C'(i) und D'(i) sind typischerweise nicht genau gleich den Koordinaten von einem der ausgewählten Punkte, die durch das Kommunikationsprotokoll definiert werden. Eine Phasenregel- und Ausgleichsprozedur 258 verschiebt die Werte C'(i) und D'(i) zu den Werten C(i) und D(i), die für einen der ausgewählten Punkte des Protokolls genau sind. Ein Demapper bzw. eine Rückabbildungsvorrichtung 260 bildet dann die Werte C(i) und D(i) auf einem entsprechenden Paket von Datenbits ab, die Teil eines Ausgangsdatenstroms 214 sind. Andere Operationen gemäß dem Protokoll, z.B. eine Fehlererfassung und eine Fehlerkorrektur, werden dann an den Daten durchgeführt, bevor die Daten in dem Datenpuffer 144 für die Anwendung 142 gespeichert werden.
  • Die Software 220 wird ansprechend auf Unterbrechungen ausgeführt, um den Datenstrom 212 auf die Abtastwerte STx umzuwandeln, die das übertragene Kommunikationssignal darstellen, und um die Abtastwerte SRx umzuwandeln, die das empfangene Kommunikationssignal zu dem Datenstrom 214 darstellen. Die Vorrichtung 130 plant regelmäßige Unterbrechung des Hostprozessors ein und fordert den Hostprozessor dazu auf, die Software 220 auszuführen. Wenn Unterbrechungen nicht maskiert sind und der Hostprozessor eine ausreichende Prozessorleistung aufweist, führt der Hostprozessor die Software 220 bei jeder Unterbrechung aus und die Software 220 erzeugt neue Abtastwerte STx mit einer durchschnittlichen Rate, die an die durchschnittliche direkte Übertragungsrate an die Vorrichtung 130 angepasst ist. Die Software 220 verarbeitet auch die empfangenen Abtastwerte SRx mit einer Durchschnittsrate, die gleich der Durchschnittsrate einer Abtastwerterzeugung und einer direkten Übertragung von der Vorrichtung 130 ist. Wenn jedoch der Hostprozessor die Software 220 nicht während jedem eingeplanten Unterbrechung ausführen kann, können die Raten für eine direkte Übertragung die Rate der Erzeugung der Abtastwerte STx und der Verarbeitung der Abtastwerte SRx überschreiben.
  • Die Softwarepuffer 272 und 276 sind Kreispuffer, so dass direkte Übertragungen schließlich unverarbeitete Abtastwerte SRx in dem Puffer 272 überschreiben und wiederholt alte Abtastwerte STx aus dem Puffer 276 wiedererlangen. Um einen Software-Kreispuffer zu implementieren, initialisiert der Hostcomputer Konfigurationsregister in der Schnittstelle 134, um den ersten und den letzten Speicherort in den Softwarepuffern 272 und 276 anzuzeigen. Die Schnittstelle 134 fordert eine direkte Übertragung eines Abtastwerteblocks an, der an dem ersten Speicherort eines Puffers nach einer Anforderung einer direkten Übertragung einschließlich des letzten Speicherortes beginnt, aber ansonsten fordert sie direkte Übertragungen sequentieller Abtastwerteblöcke an. Gemäß einem Aspekt der Erfindung weist der Softwarepuffer 276 eine Größe auf, die so ausgewählt ist, dass der Puffer 276 bei der Abtastfrequenz fs des DRC 137 Abtastwerte STx enthält, die einer ganzen Zahl kompletter Perioden bei der Baudfrequenz fb und einer ganzen Zahl kompletter Perioden bei der Trägerfrequenz fc, falls das Kommunikationssignal eine solche aufweist, entsprechen. Die Softwarepuffer 272 und 276 sind allgemein größer als die Hardwarepuffer 132 und 136 und weisen typischerweise eine Kapazität auf, die ein ganzzahliges Vielfaches der Kapazität der Puffer 132 und 136 ist. Wenn der Hostprozessor nicht die Software 220 ausführen und keine neuen Abtastwerte wie angefordert erzeugen kann, um ein übertragenes Signal zu erzeugen, übertragen direkte Übertragungen wiederholt dieselben Abtastwerte aus dem Puffer 276 und der DAC 137 wandelt wiederholt alte Abtastwerte in ein übertragenes Signal um, das ausreichend ist, um eine entfernte Vorrichtung an einer Kommunikationsverknüpfung zu halten. Da der Puffer 276 Abtastwerte enthält, die volle Perioden des übertragenen Signals darstellen, erzeugt der Übergang von einem Abtastwert an einem Ende des Softwarepuffers 276 zu einem Abtastwert an dem anderen Ende keine Signaldiskontinuität, die gegen das Kommunikationsprotokoll des übertragenen Signals verstößt. Folglich bleibt eine entfernte Vorrichtung an der Kommunikationsverknüpfung 170, wobei die entfernte Vorrichtung ansonsten ihre Verbindung trennen würde, wenn die Hardware 130 kein übertragenes Signal oder ein Übertragenes Signal das Diskontinuitäten aufweist, die gegen das Protokoll verstoßen, erzeugen würde.
  • Auch wenn die Erfindung Bezug nehmend auf bestimmte Ausführungsbeispiele beschrieben worden ist, so ist die Beschreibung lediglich ein Beispiel der Anwendung der Erfindung und sollte nicht als eine Einschränkung verstanden werden. Verschiedene Anpassungen und Kombinationen der Merkmale der offenbarten Ausführungsbeispiele befinden sich in dem Schutzbereich der in den folgenden Ansprüchen definierten Erfindung.

Claims (15)

  1. Ein Kommunikationssystem (100) mit folgenden Merkmalen: einem Hostcomputer (110), der einen Hauptprozessor (120) und einen Speicher (140) aufweist; einem Puffer (148), der in dem Speicher zugeordnet ist; einem Programm, das durch den Hostcomputer ausgeführt wird, wobei das Programm codiert ist, um digitale Abtastwerte zu erzeugen, die Amplituden eines analogen Kommunikationssignals darstellen, und die digitalen Abtastwerte in den Puffer zu schreiben; und einer Vorrichtung (130), die mit dem Hostcomputer gekoppelt ist, wobei die Vorrichtung folgende Merkmale aufweist: eine Schnittstelle (134), die konfiguriert ist, um direkte Übertragungen der digitalen Abtastwerte von dem Puffer (148) in die Vorrichtung ohne eine Anweisung von dem Hauptprozessor einzuleiten, wobei die direkten Übertragungen zum Übertragen von Abtastwerten in einer Reihenfolge von dem Puffer dienen, wobei eine Übertragung eines Abtastwerts von einer ersten Speicherposition in dem Puffer einer Übertragung eines Abtastwerts von einer letzten Speicherposition in dem Puffer unmittelbar folgt, was ein Übertragen von Abtastwerten, die vorher übertragen worden sind, umfasst, falls ein neuer Abtastwert nicht verfügbar ist; einen Digital-zu-Analog-Wandler (137), der angepasst ist, um digitale Abtastwerte von dem Puffer umzuwandeln, um ein gesendetes analoges Kommunikationssignal aufrechtzuerhalten; wobei die Vorrichtung ferner einen Hardware-Kreispuffer (136) aufweist, der zwischen die Schnittstelle (134) und den Digital-zu-Analog-Wandler gekoppelt ist; wobei die Schnittstelle konfiguriert ist, um Abtastwerte von dem Puffer (148) in dem Speicher (140) des Hostcomputers (110) zu dem Hardware-Kreispuffer (136) zu übertragen; und wobei der Digital-zu-Analog-Wandler (137) angepasst ist, um digitale Abtastwerte von dem Hardware-Kreispuffer (136) in ein analoges Kommunikationssignal umzuwandeln.
  2. Das System gemäß Anspruch 1, bei dem das Programm eine Routine aufweist, die zur Ausführung durch den Hostcomputer ansprechend auf ein Unterbrechungssignal codiert ist.
  3. Das System gemäß Anspruch 1 oder 2, bei dem der Digital-zu-Analog-Wandler (137) angepasst ist, um die Abtastwerte mit einer Abtastfrequenz umzuwandeln, und eine Trägerfrequenz des analogen Kommunikationssignals ein ganzzahliges Vielfaches der Abtastfrequenz geteilt durch eine Anzahl von in dem Puffer verwendeten Speicherpositionen ist.
  4. Das System gemäß Anspruch 3, bei dem eine Baud-Frequenz des analogen Kommunikationssignals ein ganzzahliges Vielfaches der Abtastfrequenz geteilt durch die Anzahl von in dem Puffer verwendeten Speicherpositionen ist.
  5. Das System gemäß einem der vorhergehenden Ansprüche, bei dem der Digital-zu-Analog-Wandler (137) angepasst ist, um Abtastwerte von dem Puffer mit einer Abtastfrequenz umzuwandeln, und eine Baud-Frequenz des analogen Kommunikationssignals ein ganzzahliges Vielfaches der Abtastfrequenz geteilt durch eine Anzahl von in dem Puffer verwendeten Speicherpositionen ist.
  6. Das System gemäß einem der vorhergehenden Ansprüche, bei dem der Digital-zu-Analog-Wandler (137) angepasst ist, um Abtastwerte von dem Hardware-Kreispuffer (136) mit einer festen Abtastfrequenz umzuwandeln, und eine Baud-Frequenz des analogen Kommunikationssignals ein ganzzahliges Vielfaches der Abtastfrequenz geteilt durch eine Anzahl von in dem Hardware-Kreispuffer verwendeten Speicherpositionen ist.
  7. Das System gemäß Anspruch 6, bei dem der Puffer (148) in dem Speicher des Hostcomputers eine Kapazität aufweist, die ein ganzzahliges Vielfaches der Anzahl von in dem Hardware-Kreispuffer (136) verwendeten Speicherpositionen ist.
  8. Das System gemäß einem der vorhergehenden Ansprüche, bei dem der Hostcomputer (110) ferner einen lokalen Bus (160) umfasst, mit dem die Vorrichtung (130) gekoppelt ist.
  9. Das System gemäß Anspruch 8, bei dem der lokale Bus (160) ein PCI-Bus ist und die Schnittstelle (134) konfiguriert ist, um die direkten Übertragungen gemäß dem PCI-Bus-Hauptprotokoll einzuleiten.
  10. Ein Verfahren zum Erzeugen eines Kommunikationssignals, das folgende Schritte aufweist: Erzeugen einer Serie von digitalen Abtastwerten, die ein analoges Signal darstellen, gemäß einem Kommunikationsprotokoll in einem Hostcomputer (110); Schreiben der digitalen Abtastwerte in einen Puffer (148), der in einem Speicher des Hostcomputers zugeordnet ist; Übertragen von Abtastwerten über direkte Übertragungen gemäß einer Kreisordnung von Speicherpositionen von dem Puffer zu einer Vorrichtung (130), die mit dem Hostcomputer gekoppelt ist, wobei die direkten Übertragungen unabhängig von Aktionen des Hostcomputers eingeleitet werden, wobei, wenn ein Erzeugen und Schreiben der Abtastwerte in den Puffer keine neuen Abtastwerte schreibt, wenn es für eine der direkten Übertragungen erforderlich ist, diese direkte Übertragung Abtastwerte überträgt, die vorher von dem Puffer übertragen wurden; Umwandeln der digitalen Abtastwerte in analoge Spannungen in dem Kommunikationssignal, wobei das Umwandeln das Kommunikationssignal aufrechterhält, wenn das Erzeugen und Schreiben der Abtastwerte in den Puffer (148) keine neuen Abtastwerte schreibt, wenn es für eine der direkten Übertragungen erforderlich ist; wobei das Übertragen von Abtastwerten ein periodisches Anfordern von direkten Übertragungen von dem Puffer (148) aufweist; und wenn eine Anforderung bewilligt wird, das Übertragen von Abtastwerten zu einem Hardware-Kreispuffer in der Vorrichtung (130); und das Umwandeln der digitalen Abtastwerte das Umwandeln der digitalen Abtastwerte in einer Kreisreihenfolge von dem Kreispuffer (148) und das zweimalige Umwandeln von einigen der digitalen Abtastwerte aufweist, wenn eine Anforderung einer direkten Übertragung nicht rechtzeitig bewilligt wird, um neue Abtastwerte zu dem Hardware-Kreispuffer (138) zu übertragen, wenn es für eine Umwandlung erforderlich ist.
  11. Das Verfahren gemäß Anspruch 10, bei dem, wenn das Erzeugen und Schreiben der Abtastwerte in den Puffer (148) keine neuen Abtastwerte schreibt, wenn es für eine der direkten Übertragungen erforderlich ist, das Umwandeln der digitalen Abtastwerte ein zweimaliges Umwandeln der digitalen Abtastwerte aufweist.
  12. Das Verfahren gemäß Anspruch 10 oder 11, bei dem das Umwandeln der digitalen Abtastwerte digitale Abtastwerte mit einer Abtastfrequenz umwandelt, und eine Baud-Frequenz des analogen Kommunikationssignals ein ganzzahliges Vielfaches der Abtastfrequenz geteilt durch eine Anzahl von in dem Hardware-Kreispuffer (136) verwendeten Speicherpositionen ist.
  13. Das Verfahren gemäß Anspruch 12, bei dem der Puffer (148), der in dem Speicher des Hostcomputers (110) zugeordnet ist, eine Anzahl von Speicherpositionen verwendet, die ein ganzzahliges Vielfaches der Anzahl von in dem Hardware-Kreispuffer (136) verwendeten Speicherpositionen ist.
  14. Das Verfahren gemäß einem der Ansprüche 10 bis 13, bei dem die Vorrichtung mit einem PCI-Bus in dem Hostcomputer (110) verbunden ist, und die direkten Übertragungen dem PCI-Bus-Hauptprotokoll entsprechen.
  15. Das Verfahren gemäß einem der Ansprüche 10 bis 14, bei dem das Umwandeln der digitalen Abtastwerte digitale Abtastwerte mit einer Abtastfrequenz umwandelt, und eine Baud-Frequenz des analogen Kommunikationssignals ein ganzzahliges Vielfaches der Abtastfrequenz geteilt durch eine Anzahl von in dem Puffer verwendeten Speicherpositionen ist.
DE69935468T 1998-01-22 1999-01-19 Erzeugen von Nachrichtensignalen Expired - Fee Related DE69935468T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/010,813 US6112266A (en) 1998-01-22 1998-01-22 Host signal processing modem using a software circular buffer in system memory and direct transfers of samples to maintain a communication signal
US10813 2001-11-13

Publications (2)

Publication Number Publication Date
DE69935468D1 DE69935468D1 (de) 2007-04-26
DE69935468T2 true DE69935468T2 (de) 2007-11-29

Family

ID=21747561

Family Applications (2)

Application Number Title Priority Date Filing Date
DE0942577T Pending DE942577T1 (de) 1998-01-22 1999-01-19 Erzeugen von Nachrichtensignalen
DE69935468T Expired - Fee Related DE69935468T2 (de) 1998-01-22 1999-01-19 Erzeugen von Nachrichtensignalen

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE0942577T Pending DE942577T1 (de) 1998-01-22 1999-01-19 Erzeugen von Nachrichtensignalen

Country Status (5)

Country Link
US (1) US6112266A (de)
EP (1) EP0942577B1 (de)
JP (1) JP3388708B2 (de)
DE (2) DE942577T1 (de)
HK (1) HK1022583A1 (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
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
US6400759B1 (en) 1997-06-30 2002-06-04 Integrated Telecom Express, Inc. Device driver for rate adaptable modem with forward compatible and expandable functionality
US6252900B1 (en) 1997-06-30 2001-06-26 Integrated Telecom Express, Inc. Forward compatible and expandable high speed communications system and method of operation
DE69700328T2 (de) * 1997-09-13 1999-11-04 Hewlett Packard Co Ausgleich von Latenzzeit in einem Speicher
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
US6295314B1 (en) * 1998-11-16 2001-09-25 Advanced Micro Devices, Inc. Method and apparatus for partitioning a modem between non-real-time and real-time processing environments
US6314478B1 (en) 1998-12-29 2001-11-06 Nec America, Inc. System for accessing a space appended to a circular queue after traversing an end of the queue and upon completion copying data back to the queue
US6570912B1 (en) * 1999-03-05 2003-05-27 Pctel, Inc. Hybrid software/hardware discrete multi-tone transceiver
US6327249B1 (en) * 1999-08-04 2001-12-04 Ess Technology, Inc Data communication device
US6700917B1 (en) * 2000-06-30 2004-03-02 Intel Corporation Method and apparatus for increasing soft modem capacity
US6968409B1 (en) * 2001-08-29 2005-11-22 Lsi Logic Corporation Method and apparatus of establishing a dynamically adjustable loop of delayed read commands for completion in a queue buffer
US6687344B1 (en) 2001-09-07 2004-02-03 Pctel,Inx. Parallel handset on-hook/off-hook detection by software-based signal power measurement
US20030093809A1 (en) * 2001-09-28 2003-05-15 Zhengjin Shu Channel equalization
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
US7391816B2 (en) * 2003-09-17 2008-06-24 Intel Corporation Decoding upstream V.92-encoded signals
KR100542259B1 (ko) * 2004-03-17 2006-01-11 엘지전자 주식회사 개인용 이동 단말기에서 모뎀공유 방법
US20060075184A1 (en) * 2004-10-01 2006-04-06 Jen-Ying Chen Synchronous\asynchronous memory device with single port memory unit
US7616627B2 (en) * 2005-06-29 2009-11-10 Intel Corporation Techniques for high definition audio modems
US8143509B1 (en) * 2008-01-16 2012-03-27 iZotope, Inc. System and method for guitar signal processing
US8291136B2 (en) * 2009-12-02 2012-10-16 International Business Machines Corporation Ring buffer
RU2598323C1 (ru) * 2015-03-26 2016-09-20 Общество с ограниченной ответственностью "Научно-производственное предприятие "Цифровые решения" Способ адресации кольцевого буфера в памяти микропроцессора
DE102022132136A1 (de) 2022-12-05 2024-06-06 Rohde & Schwarz GmbH & Co. Kommanditgesellschaft Digital-analog-wandler insbesondere zur erzeugung periodischer signale

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0267974B1 (de) * 1986-11-14 1992-02-19 International Business Machines Corporation Steuerungsschnittstelle für Datentransfer zwischen einer Datenverarbeitungseinheit und Ein-Ausgabevorrichtungen
US4972411A (en) * 1988-04-27 1990-11-20 Mitsubishi Denki Kabushiki Kaisha Signalling transmission system
US4991169A (en) * 1988-08-02 1991-02-05 International Business Machines Corporation Real-time digital signal processing relative to multiple digital communication channels
US4965641A (en) * 1989-02-21 1990-10-23 Motorola, Inc. Processor modem
US4995074A (en) * 1989-04-03 1991-02-19 Goldman Bruce J Switched line modem interface system
US5390304A (en) * 1990-09-28 1995-02-14 Texas Instruments, Incorporated Method and apparatus for processing block instructions in a data processor
US5375228A (en) * 1991-02-04 1994-12-20 Analog Devices, Inc. Real-time signal analysis apparatus and method for digital signal processor emulation
US5642437A (en) * 1992-02-22 1997-06-24 Texas Instruments Incorporated System decoder circuit with temporary bit storage and method of operation
US5625845A (en) * 1992-10-13 1997-04-29 International Business Machines Corporation System for facilitating continuous, real-time, unidirectional, and asynchronous intertask and end-device communication in a multimedia data processing system using open architecture data communication modules
DE69300523T2 (de) * 1993-11-26 1996-03-14 Sgs Thomson Microelectronics Prozessorschnittstellenschaltung zum Austausch von seriellen digitalen Daten mit einem Peripheriegerät.
US5678059A (en) * 1994-02-18 1997-10-14 Lucent Technologies Inc. Technique for time-sharing a microprocessor between a computer and a modem
US5768628A (en) * 1995-04-14 1998-06-16 Nvidia Corporation Method for providing high quality audio by storing wave tables in system memory and having a DMA controller on the sound card for transferring the wave tables
US5721830A (en) * 1995-09-12 1998-02-24 Pc-Tel, Inc. Host signal processing communication system that compensates for missed execution of signal maintenance procedures
US5864714A (en) * 1996-04-16 1999-01-26 Comsys Communication & Signal Processing Ltd. Communication system which dynamically switches sizes of sample buffer between first size for quick response time and second size for robustness to interrupt latency
US5892978A (en) * 1996-07-24 1999-04-06 Vlsi Technology, Inc. Combined consective byte update buffer

Also Published As

Publication number Publication date
EP0942577A1 (de) 1999-09-15
US6112266A (en) 2000-08-29
HK1022583A1 (en) 2000-08-11
JP3388708B2 (ja) 2003-03-24
EP0942577B1 (de) 2007-03-14
JPH11317789A (ja) 1999-11-16
DE942577T1 (de) 2000-06-29
DE69935468D1 (de) 2007-04-26

Similar Documents

Publication Publication Date Title
DE69935468T2 (de) Erzeugen von Nachrichtensignalen
DE69838545T2 (de) Verfahren und vorrichtung zur verringerung der signalverarbeitungsansprüche zur datenpaketübertragung mit einem modem
EP0762655B1 (de) Kommunikationssystem für eine Datenverarbeitungsanlage mit Ersetzung von fehlgeschlagenen Routinen durch Kompensationssignale
DE69836307T2 (de) Signalprozessorgestützter Mehrfachbus-Kommunikationsadapter mit Multiplex
DE69620781T9 (de) Verfahren und vorrichtung zur digitalen datenübertragung
US5727233A (en) Byte-mode and burst-mode data transfer mechanism for a high-speed serial interface
CN1149791C (zh) 数据通信装置、接口、调制解调器和方法
AU710044B2 (en) Operation right interlinking method and cooperative working method for shared application programs
JPH02260945A (ja) モデム
EP2681632A1 (de) Bussystem mit einem master und einer gruppe von slaves sowie kommunikationsverfahren zum austausch von daten in einem derartigen bussystem
EP0952716A3 (de) System und Verfahren zur Datenumwandlung und Übertragung in Netzwerken
EP0383986A1 (de) Verfahren und Anordnung zur Übertragung von Daten zwischen einer zentralen Datenstation und mehreren Datenendeinrichtungen im lokalen Bereich
DE102004046822A1 (de) Verfahren zum Übertragen von Daten zwischen einem Speicher und mehreren peripheren Einheiten mit Hilfe einer Direct Memory Access-Steuerung sowie entsprechende Direct Memory Access-Steuervorrichtung
US5220561A (en) Data transfer between high bit rate buses via unshielded low bit rate bus
DE112012006248B4 (de) Datenverarbeitungsvorrichtung und Programm
DE69727921T2 (de) Verfahren und schnittsstellenschaltung für multiplex-kommunikation
EP0249045A2 (de) Verfahren zum Gewinnen eines Phasendifferenzsignals
DE2707820B2 (de) Datenverarbeitungsanlage
JPS61188653A (ja) ダウンロ−ド制御方式
US6625263B1 (en) Method, device for detecting the calling of a telephone and modem including such a device
Joshi Knowledge-based network diagnostics.
DE202022106909U1 (de) Asymmetrisches Automotive-Ethernet unter Verwendung von Frequenzteilungs-Duplex-Schema mit Echounterdrückung mit niedriger Rate
JPH07177197A (ja) 通信タスク管理方式
DE2653716B2 (de) Modem
JPH03110653A (ja) ネットワーク間制御指令変換装置

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee