DE69128008T2 - Verfahren und Gerät zur Steuerung von Digitalsignalverarbeitung - Google Patents
Verfahren und Gerät zur Steuerung von DigitalsignalverarbeitungInfo
- Publication number
- DE69128008T2 DE69128008T2 DE69128008T DE69128008T DE69128008T2 DE 69128008 T2 DE69128008 T2 DE 69128008T2 DE 69128008 T DE69128008 T DE 69128008T DE 69128008 T DE69128008 T DE 69128008T DE 69128008 T2 DE69128008 T2 DE 69128008T2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- digital signal
- program
- signal processor
- processing system
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 30
- 238000000034 method Methods 0.000 title claims description 16
- 230000015654 memory Effects 0.000 claims description 68
- 238000012546 transfer Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 239000000872 buffer Substances 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241000789558 Itoa Species 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/126—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 and has means for transferring I/O instructions and statuses between control unit and main processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Telephonic Communication Services (AREA)
- Exchange Systems With Centralized Control (AREA)
- Multi Processors (AREA)
- Stored Programmes (AREA)
Description
- Diese Patentanmeldung bezieht sich auf die EP-A-0 472 389 mit dem Titel "Method and Apparatus for Programming A Voice Services Systems" von Einhorn u. a., eingereicht am 20. August 1990, und auf die EP-A-0 472 125 mit dem Titel "Voice Services System" von Einhorn u. a., eingereicht am 20. August 1990.
- Diese Erfindung bezieht sich allgemein auf elektronische Schaltungen und insbesondere auf eine Digitalsignalprozessorsteuerung.
- Die digitale Signalverarbeitung ist ein wichtiger Aspekt vieler elektronischer Systeme einschließlich der Akustik, der Sprachverarbeitung, der Seismik und anderer Gebiete. Die digitale Signalverarbeitung bezieht sich auf die Manipulation von Signalen, die durch Zahlenfolgen dargestellt werden. Häufig sind die Manipulationen der numerischen Folgen sehr komplex.
- Integrierte Schaltungen für digitale Signalprozessoren sind so beschaffen, daß sie die für die Durchführung der Signalverarbeitungsalgorithmen erforderlichen Funktionen zur Verfügung stellen. Die Digitalsignalprozessoren sind insofern einem Mikroprozessor ähnlich, als sie ein in einem zugehörigen Speicher gespeichertes Programm ausführen. Die Digitalsignalprozessoren adressieren jedoch typischerweise einen beschränkten Speicherraum und besitzen keine virtuellen Speicherfähigkeiten. Um somit ein großes Programm laufen zu lassen, muß der Digitalsignalprozessor in einen Leerlaufzustand versetzt werden, während ein Teil des Programms in seinen lokalen Speicher geladen wird, und ein Rücksetzsignal wird angelegt, woraufhin der Digitalsignalprozessor die Verarbeitung wiederaufnimmt. Die Leerlauf-Laden-Rücksetzen- Prozedur wird ebenfalls verwendet, um ein im lokalen Speicher des DSPs gespeichertes Programm zu modifizieren.
- Dieses Verfahren des Anderns des Programms im Speicher des DSP bringt mehrere Probleme mit sich. Erstens ergibt sich ein Verlust im Echtzeitantwortverhalten, wenn der Mikroprozessor im Leerlauf betrieben wird und neue Daten in seinen Speicher heruntergeladen werden. Ferner kann das Zurücksetzen des DSP bewirken, daß der DSP Registerwerte verliert, weshalb diese in einem Kontextspeicher gespeichert werden müssen und vor dem Zurücksetzen des DSP neu geladen werden müssen, was eine zusätzliche Zeitspanne erfordert. Ferner führt bei einigen DSPs das Zurücksetzen zur Ausführung eines Selbsttests.
- Es besteht daher Bedarf an einen digitalen Signalverarbeitungsverfahren und einer Vorrichtung, die es ermöglichen, ein Programm, das einem Digitalsignalprozessor zugeordnet ist, zu verändern, ohne den Prozessor in den Leerlauf zu. versetzen und zurückzusetzen
- Das Dokument NASA TECH BRTEFS, Band A, Nr. 3, März 1986, Washington, USA, S. 274, "Experimental Parallel-Processing Computer", offenbart einen Computer mit Parallelverarbeitung, der als kostengünstiges Werkzeug für Versuche mit parallelen mathematischen Algorithmen dient. Der Computer verwendet einen S-100-Bus, wobei der Master-Prozessor und jeder Slave- Prozessor jeweils einen 16-Bit-Mikroprozessor 8086 und einen numerischen Daten-Coprozessor 8087 enthalten. Die Slave- Prozessoren sind so beschaffen, daß sie in einem bestehenden Computer mit einer geringen oder keiner Veränderung des Computers eingesteckt werden können.
- Auf jeden Slave-Speicher kann sowohl vom Master-Prozessor als auch vom Slave-Prozessor selbst zugegriffen werden. Ein Slave-Prozessor kann jedoch nicht in den Hauptspeicher oder einen weiteren Slave-Speicher schreiben. Alle Slave-Prozessoren können jedoch über den Hochgeschwindigkeits-Eingang/Ausgang-Datenbus miteinander kommunizieren.
- Jeder Slave-Prozessor besitzt einen eindeutig adressierten Steueranschluß, der mit dem S-100-Bus verbunden ist. Wenn die Master-Steuervorrichtung den richtigen "Auswahl"-Code an einen der Anschlüsse sendet, wird der Speicher für diesen Slave-Prozessor freigegeben und mit dem S-100-Bus verbunden, wodurch der Master-Prozessor in diesen Slave-Speicher schreiben oder aus diesem lesen kann. Gleichzeitig wird die die "Bereit"-Leitung dieses Slave-Prozessors auf dem Logikwert FALSCH gehalten, wodurch der Slave-Prozessor angehalten wird.
- Wenn der Master-Prozessor in eine Slave-Prozessor-Steuerwortadresse schreibt, veranlaßt die Busdecodierungsschaltung das Überwachungsprogramm des Slave-Prozessors, neu zu starten. Der Slave prüft anschließend die drei niederwertigen Bits des Steuerworts, die anzeigen, welcher der sieben Eintrittspunkte im Slave-Programm verwendet werden soll. Die übrigen 13 Bits des Steuerwortes können als Programmerker für die Modifizierung der Programmausführung verwendet werden.
- Wenn der Slave-Prozessor seine Task abgeschlossen hat, sendet er eine "Interrupt"-Anfrage an den Master-Prozessor und wartet auf neue Daten oder Befehle. Die Master-Steuervorrichtung kann anschließend die Ergebnisse aus dem Slave-Speicher laden und neue Daten oder Befehle zur Verfügung stellen.
- Die WO-A-89/12271 offenbart ein Sprachverarbeitungssystem, das eine CPU, mehrere programmierbare Kommunikationsschnittstelleneinheiten (PCUs) sowie einen VME-Bus umfaßt, der die CPU mit den programmierbaren Kommunikationsschnittstelleneinheiten verbindet.
- Jede PCI-Einheit ist mit einer oder mehreren Telephonleitungen verbunden. Die CPU und die PCU-Einheiten werden von einem Software-Betriebssystem gesteuert, in welchem sowohl digitalisierte Sprachsignale als auch andere digitale Daten für eine effiziente Verarbeitung in einer einzigen Dateistruktur gemeinsam existieren können.
- Ein DSP hat Zugriff auf zwei Bänke von RAM, die durch einen Anschlußprozessor ausgewählt werden können. Die Programme werden vom DSP unter der Steuerung des Anschlußprozessors in die RAM-Einheiten geladen.
- Der DSP hat ferner Zugriff auf ROM-Einheiten, die vorzugsweise den Startcode zum Testen des DSP-Untersystems enthalten, um Code vom Anschlußprozessor herunterzuladen, Code zum Anschlußprozessor heraufzuladen und um Code im Programm-RAM auszuführen.
- Der Anschlußprozessor kommuniziert mit dem DSP über einen Datenpuffer. Eine logische Einheit stellt Steuersignale für den Datenpuffer zwischen dem Anschlußprozessor und dem DSP zur Verfügung und wird als einzelner Ort im Adreßraum beider Prozessoren adressiert. Die Adresse für den Puffer-RAM wird von einem Zähler erzeugt, der vom Anschlußprozessor explizit geladen werden kann und mit jedem Pufferzugriff inkrementiert wird. Eine Serie von Lesezugriffen auf dieselbe Stelle (von irgendeinem Prozessor) liest eine Serie aufeinanderfolgender Datenbytes im Puffer-RAM.
- Zwischen den Prozessoren ist ein sehr einfacher Kommunikationsweg eingerichtet. Nur einer der Prozessoren kann zu einem Zeitpunkt auf den Puffer zugreifen. Typischerweise füllt ein Prozessor den Puffer auf, benachrichtigt den anderen Prozessor und wartet anschließend auf ein Signal, bevor er auf den Puffer erneut zugreift.
- Der vorliegende Erfindung schafft ein digitales Signalverarbeitungssystem, mit:
- einem digitalen Signalprozessor;
- einem ersten Speicher, der dem digitalen Signalprozessor zugeordnet ist, um einen vom digitalen Signalprozessor auszuführenden Programmcode zu speichern;
- einen zweiten Speicher zum Speichern von Programmroutinen;
- einer Schnittstellenschaltungsanordnung, die in der Weise arbeitet, daß sie eine Übertragung von Programmroutinen vom zweiten Speicher an den ersten Speicher ermöglicht; und
- einer Verarbeitungseinheit zum Steuern der Übertragung von Programmroutinen vom zweiten Speicher an den ersten Speicher, wobei der digitale Signalprozessor einen zugeordneten Interpretierer ausführt, der die an den ersten Speicher übertragenen Programmroutinen interpretiert, derart, daß die Übertragung ausgeführt werden kann, ohne daß der digitale Signalprozessor in einen Leerlaufzustand versetzt wird.
- Die Erfindung schafft ferner ein Verfahren zum Steuern eines digitalen Signalprozessors, mit den Schritten:
- Speichern mehrerer Programmroutinen, die einem Anwendungsprogramm zugeordnet sind, in einen zweiten Speicher;
- Übertragen von Programmroutinen vom zweiten Speicher an einen ersten Speicher, der dem digitalen Signalprozessor zugeordnet ist, wobei die Übertragung durch eine Verarbeitungseinheit gesteuert wird; und
- Ausführen eines Interpretiererprogramms durch den digitalen Signaiprozessor, das die Programmroutine interpretiert, derart, daß die Übertragung der Programmroutine ausgeführt werden kann, ohne daß der digitale Signalprozessor in einen Leerlauf versetzt wird.
- Gemäß der Ausführungsform der vorliegenden Erfindung, die in den beigefügten Zeichnungen dargestellt ist, wird ein digitales Signalverarbeitungssystem offenbart, das die Nachteile des Standes der Technik im wesentlichen beseitigt.
- Das digitale Verarbeitungssystem der dargestellten Ausführungsform der vorliegenden Erfindung enthält einen Digitalsignalprozessor, dem ein erster Speicher zugeordnet ist. Ein zweiter Speicher speichert Programmroutinen, die vom Digitalsignalprozessor ausgeführt werden sollen. Eine Schnittstellenschaltung dient zum Übertragen von Programmroutinen vom ersten Speicher zum zweiten Speicher unter der Steuerung einer Verarbeitungseinheit, so daß die Übertragung bewerkstelligt werden kann, ohne den Digitalsignalprozessor in einen Leerlaufzustand zu versetzen.
- Die dargestellte Ausführungsform der vorliegenden Erfindung bietet mehrere technische Vorteile gegenüber dem Stand der Technik. Erstens können die Programmroutinen zum und vom Digitalsignalprozessor mittels der Verarbeitungseinheit übertragen werden, so daß ein Programm, das wesentlich größer ist als der erste Speicher, vom Digitalsignaiprozessor effektiv ausgeführt werden kann. Das Programm kann dynamisch verändert werden durch Anpassen der Reihenfolge der Programmroutinen, die in den ersten Speicher übertragen werden. Ferner können die Routinen in ein Pseudocode-Format umgesetzt werden, das von einer speziellen Implementierung unabhängig ist.
- Für ein vollständigeres Verständnis der vorliegenden Erfindung und ihrer Vorteile wird im folgenden auf die folgenden Beschreibungen in Verbindung mit den beigefügten Zeichnungen Bezug genommen, in welchen:
- Fig. 1 ein Blockschaltbild eines Telekommunikationssystems zeigt, das die vorliegende Erfindung verwendet;
- Fig. 2 ein genaueres Blockschaltbild des Telekommunikationssystems der Fig. 1 zeigt;
- Fig. 3 ein Blockschaltbild der Sprachverarbeitungsplatine der vorliegenden Erfindung zeigt;
- Fig. 4 die Aufteilung des DSP-Speichers zeigt; und
- Fig. 5 ein Flußdiagramm zeigt, das das Herunterladen von Programmroutinen zu den Digitalsignalprozessoren beschreibt.
- Die bevorzugte Ausführungsform der vorliegenden Erfindung wird am besten mit Bezug auf die Fig. 1 bis 5 der Zeichnungen verstanden, wobei ähnliche Bezugszeichen für ähnliche und einander entsprechende Teile der verschiedenen Zeichnungen verwendet werden.
- Fig. 1 zeigt ein Blockschaltbild eines Telekommunikationssystems. Obwohl die vorliegende Erfindung in Verbindung mit dem Telekommunikationssystem der Fig. 1 beschrieben wird, ist sie auf ein beliebiges digitales Signalverarbeitungssystem anwendbar, das im folgenden genauer beschrieben wird.
- Das Telekommunikationssystem 10 umfaßt einen Telephoniesteuerabschnitt 12, der mit einer T-1-Leitung verbunden ist, und einen Dienststeuerabschnitt 14, der mit dem Telephoniesteuerabschnitt 12 und einem Datenbankmanagementsystem (DBMS) 16 verbunden ist.
- Im Betrieb ist das DBMS 16 ein Großconputer, der die Kundenaufzeichnungen, Beleginformationen, Sprachdatendateien und andere Daten hält, die ein größeres Datenbanksystem erfordern. Der Dienststeuerabschnitt 14 stellt die Schnittstelle zwischen dem Datenbankmanagementsystem 16 und den Benutzern des Telekommunikationssystems zur Verfügung. Zum Beispiel würde der Dienststeuerabschnitt 14 das Sprachnachrichtensystem überwachen. Dies würde Wiedergewinnungsnachrichten vom DBMS 16 mit sich bringen, die den Aufrufer nach Befehlen fragen und dergleichen. Der Telephoniesteuerabschnitt 16 ist die Schnittstelle zur T-1-Leitung und führt das aktuelle Senden und Empfangen von Sprachdaten zum bzw. vom Aufrufer und die Verwaltung der Telekommunikationsprotokolle durch.
- Fig. 2 zeigt ein genaueres Blockschaltbild des Telekommunikationssystems 10 der Fig. 1. Ein Bus 18, der vorzugsweise der NU-BUS-Norm entspricht, ist mit einer CPU 20, einem Kommunikationsträger 22, einer Plattenschnittstelle 24 und mehreren Sprachverarbeitungsplatinen (VPBs) 26 verbunden. Die CPU 20 ist mit einem Programmspeicher 28 verbunden. Die Plattenschnittstelle ist mit einem Festplattenlaufwerk 30 oder einer anderen Massenspeichervorrichtung verbunden. Die VPBs 26 sind ferner über einen T-1-Bus 31 mit der T-1-Leitung verbunden. Der Kommunikationsträger 22 ist mit dem DBMS 16 verbunden.
- Die VPBs 26 enthalten den Telephoniesteuerabschnitt 12. Jede VPB 26 umfaßt mehrere Digitalsignalprozessoren (DSPs), wie in Verbindung mit Fig. 3 genauer gezeigt ist. Jede VPB-Platine ist vorzugsweise ein Multitasking-System, so daß jede VPB 26 mehrere Kanäle auf der T-1-Leitung bedient.
- Die CPU 20 umfaßt vorzugsweise einen Mehrfachprozessor, z. B. den Motorola 68030. Der Programmspeicher 28 speichert Programmroutinen und Datenparameter, die unter der Steuerung der CPU 20 zu den VPBs 26 übertragen werden. Die CPU 20 enthält ferner einen (nicht gezeigten) lokalen Programmspeicher, der Befehle für den Mikroprozessor zur Verfügung stellt.
- Der Kommunikationsträger 22 stellt die Kommunikationsfunktionen zur Übertragung von Informationen zwischen dem Bus 18 und dem DBMS 16 zur Verfügung. Die Plattenschnittstelle 24 bietet eine Schnittstelle zwischen dem Bus 18 und einer Massenspeichervorrichtung wie z. B. einem Festplattenlaufwerk 30, das hauptsächlich zum vorübergehenden Speichern von Daten verwendet wird, die den Sprachnachrichtendiensten zugeordnet sind.
- Im Betrieb überträgt die CPU 20 Programmroutinen und Datenparameter vom Programmspeicher 28 zu den VPBs 26. Die VPBs 26 führen die von der CPU 20 heruntergeladenen Programmroutinen aus. Wenn die Ausführung der Programmroutinen abgeschlossen ist, wird die CPU 20 über den Bus 18 benachrichtigt, woraufhin die CPU eine weitere Programmroutine herunterladen kann.
- Jede Programmroutine kann als Abschnitt eines Anwendungsprogramms betrachtet werden. Durch Ausführen nur eines Abschnitts eines Anwendungsprogramms im VPB 26 ergeben sich mehrere Vorteile. Erstens, die Programmroutinen ermöglichen eine Ausführung eines Anwendungsprogramms, das Speicheranfor derungen aufweist, die sehr viel größer sind als die in den VPBs 26 enthaltenen lokalen Speichern. Zweitens, ein Anwendungsprogramm kann während der Laufzeit dynamisch angepaßt werden, indem die Reihenfolge der zu den VPBs 26 übertragenen Programmroutinen modifiziert wird. Drittens, zusätzliche Dienste und Merkmale können dem System 10 hinzugefügt werden, ohne seine laufenden Operationen zu unterbrechen.
- Fig. 3 zeigt ein Blockschaltbild einer VPB 26. Jede VPB 26 umfaßt mehrere DSPs 32 (einzeln als DSP 32a-c gezeigt). Jeder DSP 32a besitzt einen entsprechenden DSP-Speicher 34a-c und einen entsprechenden T-1-Puffer 36a-c. Die DSP-Speicher 34a-c sind zwischen den DSPs 32a-c kreuzgekoppelt, so daß die Kommunikation zwischen den DSPs möglich ist. Die Schaltung für die Kommunikation mit dem NU-Bus (nicht gezeigt) kann eine integrierte Schaltung TMS 320C25 von Texas Instruments enthalten.
- In der bevorzugten Ausführungsform umfassen die DSPs 32 die Digitalsignalprozessoren TMS 320C30 von Texas Instruments. Jeder DSP-Speicher 34 umfaßt einen 1 Megabyte Speicher, der in 256k 4 Bytes organisiert ist (für einen 32-Bit-Bus). Der T-1-Puffer umfaßt eine ST-Bus-Parallelzugriffsschaltung MT8920 von Mitel. Der T-1-Puffer übersetzt die von den DSPs erzeugten Signalwellen, um geeignete Signale zur Verfügung zu stellen, die auf eine T-1-Leitung ausgegeben werden. Zusätzliche T-1-Chips, wie z. B. der MT8980 und der MT89760 von Mitel, sind erforderlich, um mit der T-1-Leitung zu kommunizieren.
- Im Betrieb ist ein DSP 32 für den Lauf der Programmroutinen verantwortlich, die von der CPU 26 heruntergeladen worden sind. Die anderen DSPs sind bestimmten Funktionen zugewiesen. Zum Beispiel kann ein DSP der sprecherunabhängigen kontinuierlichen Zeichenerkennung zugewiesen sein, bei der ein Aufrufer die Zeichen in den Telephonempfänger sprechen kann, statt die Zeichen unter Verwendung einer Tastatur einzugeben. Eine weitere zugewiesene Funktion wäre die Sprecherüberprüfung, bei der der Anrufer identifiziert und überprüft wird, indem ein gesprochener Identifikationscode verwendet wird. Bei der Sprecherüberprüfung wird der Identifikationscode unter Verwendung der sprecherunabhängigen kontinuierlichen Zeichenerkennung ermittelt, wobei ein Sprachmuster aus dem DBMS 16 wiedergewonnen wird, das denjenigen des Identifikationscodes entspricht. Das Sprachmuster wird anschließend mit dem aktuellen gesprochenen Code verglichen, um zu ermitteln, ob der Anrufer ein authorisierter Benutzer ist.
- Obwohl die bevorzugte Ausführungsform drei DSPs und die zugehörigen Speicher und T-1-Puffer zeigt, können mehr oder weniger verwendet werden, in Abhängigkeit von der Eigenschaft der Vorrichtung, in der die DSPs 32 verwendet werden.
- Die Fig. 4 zeigt, wie der DSP-Speicher 34 in Verbindung mit dem DSP verwendet wird, der für die Ausführung der von der CPU übertragenen Programmroutinen verantwortlich ist. Der DSP-Speicher 34 kann als drei Bereiche aufweisend betrachtet werden, einen DSP-Steuerungsausführungscodeabschnitt 38, einen Programminterpretiererabschnitt 40 und einen Programmspeicherabschnitt 42. Der Programmspeicherabschnitt 42 speichert die Programmroutinen und Parameterdaten, die von der CPU 20 zur VPB 26 übertragen werden. Die Programmroutinen liegen vorzugsweise in einer Pseudocode-Form vor. Der Programminterpretiererabschnitt 40 enthält einen Code, der die pseudocodierten Programmroutinen im Programmspeicherabschnitt 42 interpretiert. Der DSP-Steuerungsausführungscodeabschnitt 38 speichert den Code, der von der CPU 20 nicht verändert wird. Dieser Code unterstützt Anforderungen von der heruntergeladenen Software, Multitasking sowie T-1- und MU-BUS-Übertragungsprotokolle. Zum Beispiel kann eine in den Programmspeicherabschnitt 42 heruntergeladene pseudocodierte Programmroutine eine Funktion "gen-tone (5)" enthalten, die anzeigt, daß ein DTMF-Signal gewünscht wird, das dem Tastaturzeichen 5 entspricht. Der Programminterpretierer interpretiert den Befehl und greift auf den geeigneten DSP-Steuercode zu, um das entsprechende DTMF-Signal zu erzeugen.
- Die wirkliche Programmiersprache, die vom Programminterpretierer interpretiert wird, ändert sich in Abhängigkeit von der Anwendung. Für die Anwendung eines obenbeschriebenen Telekommunikationssystems werden die folgenden Befehle unterstützt:
- Arithmetische Operationen: +, -, * , /, mod, = und '-' für ein unäres Minus.
- Boolsche Operationen: und, oder, exklusiv-oder, nicht
- Vergleiche werden in der "Falls-Bedingung-dann-Anweisung"-Konstruktion verwendet, um WAHR oder FALSCH auszuwerten. Es können sowohl Zeichenfolgen- als auch Ganzzahlvariablen verglichen werden.
- Arithmetische Vergleiche: --, !=, < , > , ≤, ≥
- Boolsche Vergleiche: und, oder, exklusiv-oder, nicht, eq.
- ATOI (Kettenausdruck): setzt ein Kette von Zeichen in seine numerische Darstellung um.
- CHR (Ganzzahlausdruck): gibt das ASCII-Zeichen zurück, das der gegebenen Zahl entspricht.
- ITOA (Ganzzahlausdruck) : setzt eine Zahl in die Kette um, die sie darstellt.
- LEN (Kettenausdruck): gibt die Länge der eingegebenen Kette zurück.
- VAL (Kettenausdruck): gibt den ASCII-Wert des ersten Zeichens in der Kette zurück.
- Die folgenden Prozeduren, die sich hauptsächlich auf Telekommunikationsoperationen beziehen, werden unterstützt.
- Answer_phone bereitet die VPB darauf vor, einen ankommenden Ruf zu empfangen, und aktiviert die Auflegen-Erfassungsroutine, sobald ein Ruf empfangen wird.
- Connect lines verbindet einen ankommenden und einen abgehenden T-1-Kanal, so daß die Anrufer an Ende der Leitung miteinander sprechen können.
- Gen_tone erzeugt Telephonsignale auf der bezeichneten Telephonleitung. Die Signale können DTMF- Töne, TOLLMF-Töne oder Spezialtöne wie z. B.
- Pieptöne, Wobbeltöne, Verbindungstöne und dergleichen sein.
- Monitor Abhören eines Telephonkanais und Ermitteln, was gehört wird.
- Play Abspielen der Inhalte einer Sprachdatei.
- Recognize sprecherunabhängige oder sprecherabhängige (oder beides gleichzeitig) Erkennung. Muster aktualisierung an sprecherabhängigen Ausdrücken.
- Record Aufzeichnen der Klänge auf der spezifizierten T-1-Leitung in einer digitalisierten Datendatei.
- Recv_tone aktiviert die Task, die Töne auf einen Telephonkanal detektiert.
- Send_Off-hook sendet ein Abheben-Signal auf den bezeichnenden Kanal. Dies nimmt einen ankommenden Ruf von Netzschalter an.
- Send_on_hook dies beendet die Verwendung eines T-1-Kanals.
- Sie erzeugt ein Auflegen-Signal für den Netzschalter, schließt den Kanal und gibt ihn von der VPB frei.
- Seize bereitet die VPB auf die Verwendung eines Ausgang-T-1-Kanals vor.
- Sicdr führt die sprecherunabhängige kontinuierliche Zeichenerkennung durch.
- Verify die (aufgezeichnete oder gesprochene) Stimme des Teilnehmers wird mit dem gespeicherten Muster des Teilnehmerprofils verglichen. Wenn der Sprachvergleich erfolgreich ist, wird das Muster aktualisiert.
- Wait_off_hook wartet darauf, daß am abgehenden T-1-Kanal ein Abheben auftritt. Das Abheben zeigt an, daß der Netzschalter darauf vorbereitet ist, die Kartennummer und die Karten-ID für einen abgehenden Ruf zu empfangen. Sobald das Abheben erfaßt worden ist, wird die Auflegen-Erfassungsroutine aktiviert.
- Die Fig. 5 zeigt ein Flußdiagramm des Herunterladeprozesses. Im Block 44 wird eine Programmroutine aus dem Programmspeicher 28 in den DSP-Speicher 34 geladen, der dem gewünschten DSP 32a-c zugeordnet ist. Nach dem Herunterladen der ersten Programmroutine kann die CPU 20 die Programmroutine ermitteln, die am wahrscheinlichsten als nächstes herunterzuladen ist (Block 46). Die CPU wartet anschließend darauf, daß der DSP 32 die Ausführung der Programmroutine beendet (Entscheidungsblock 48). Sobald die Ausführung der Programmroutine abgeschlossen ist, lädt die CPU die vom DSP während der Ausführung der Programmroutine erzeugten Parameter (falls vorhanden) herauf (Block 50). Auf der Grundlage der heraufgeladenen Parameter ermittelt die CPU die nächste vom DSP auszuführende Programmroutine (Block 52). Wenn das Anwendungsprogramm nicht abgeschlossen ist, wird die nächste Programmroutine heruntergeladen (Block 44).
- Die vorliegende Erfindung bietet gegenüber dem Stand der Technik mehrere Vorteile. Das Anwendungsprogramm kann während der Laufzeit dynamisch geändert werden, indem die Reihenfolge der Übertragung der Programmroutinen vom Programmspeicher 28 zu den VPBs 26 geändert wird. Da die CPU 20 Programmroutinen und Daten in einem Bereich des DSP-Speichers 34 überträgt, der vom DSP 32 nicht ausgeführt wird, der jedoch statt dessen durch die Ausführung des DSPs des Aufzeichnungsinterpretierers und des Steuercodes ausgeführt wird, ist eine Leerlauf- Rücksetzen-Routine unnötig, was die Probleme umgeht, die mit den Vorrichtungen des Standes der Technik zusammenhängen. Da ferner Pseudo-Code übertragen wird, kann der Code auf andere Plattformen übertragen werden, die eine andere Hardware verwenden, indem ein geeigneter Aufzeichnungsinterpretierer und ein Steuercode für den verwendeten Digitalsignalprozessor erzeugt werden.
- Obwohl die vorliegende Erfindung genau beschrieben worden ist, ist klar, daß verschiedene Änderungen, Ersetzungen und Abwandlungen daran vorgenommen werden können, ohne vom Umfang der Erfindung, wie sie in den beigefügten Ansprüchen definiert ist, abzuweichen.
Claims (14)
1. Digitales Signalverarbeitungssystem, mit:
einem digitalen Signalprozessor (32);
einem ersten Speicher (34), der dem digitalen
Signalprozessor (32) zugeordnet ist, um einen vom digitalen
Signalprozessor (32) auszuführenden Programmcode zu
speichern;
einem zweiten Speicher (25) zum Speichern von
Programmroutinen;
einer Schnittstellenschaltungsanordnung (24), die in
der Weise arbeitet, daß sie eine Übertragung von
Programmroutinen vom zweiten Speicher (28) an den ersten
Speicher (34) ermöglicht; und
einer Verarbeitungseinheit (20) zum Steuern der
Übertragung von Programmroutinen von zweiten Speicher (28) an
den ersten Speicher, wobei der digitale Signalprozessor
(32) einen zugeordneten Interpretierer ausführt, der die
an den ersten Speicher übertragenen Programmroutinen
interpretiert, derart, daß die Übertragung ausgeführt
werden kann, ohne daß der digitale Signalprozessor (32) in
einen Leerlaufzustand versetzt wird.
2. Digitales Signalverarbeitungssystem nach Anspruch 1, in
den die Programmroutinen in einen Pseudocode-Format
gespeichert sind.
3. Digitales Signalverarbeitungssystem nach Anspruch 1 oder
2, in dem der Interpretierer (40) ein im ersten Speicher
(34) gespeichertes Programm ist.
4. Digitales Signalverarbeitungssystem nach irgendeinem
vorangehenden Anspruch, ferner mit einem Steuercode, der
dem digitalen Signalprozessor (32) zugeordnet ist, um
vorgegebene Funktionen auszuführen.
5. Digitales Signalverarbeitungssystem nach Anspruch 4, in
dem der Steuercode im ersten Speicher (34) gespeichert
ist.
6. Digitales Signalverarbeitungssystem nach irgendeinem
vorangehenden Anspruch, in dem die Verarbeitungseinheit
(20) einen Mikroprozessor enthält.
7. Digitales Signalverarbeitungssystem nach irgendeinem
vorangehenden Anspruch, in dem die
Schnittstellenschaltungsanordnung einen Bus enthält.
8. Verfahren zum Steuern eines digitalen Signalprozessors,
mit den folgenden Schritten:
Speichern mehrerer Programmroutinen, die einem
Anwendungsprogramm zugeordnet sind, in einem zweiten Speicher;
Übertragen von Programmroutinen vom zweiten Speicher
an einen ersten Speicher, der dem digitalen
Signalprozessor zugeordnet ist, wobei die Übertragung durch eine
Verarbeitungseinheit gesteuert wird; und
Ausführen eines Interpretiererprogramms durch den
digitalen Signalprozessor (32), das die Programmroutine
interpretiert, derart, daß die Übertragung der
Programmroutine ausgeführt werden kann, ohne daß der digitale
Signalprozessor in einen Leerlauf versetzt wird.
9. Verfahren nach Anspruch 8, in dem der Speicherschritt den
Schritt des Speicherns der Programmroutinen in einem
Pseudocode-Format enthält.
10. Verfahren nach Anspruch 9, in dem der Ausführungsschritt
den Schritt des Ausführens des im ersten Speicher
gespeicherten Steuercodes als Antwort auf Befehle, die vom
Interpretiererprogramm interpretiert werden, enthält.
11. Verfahren nach Anspruch 8, ferner mit dem Schritt der
Angabe, daß der digitale Signaiprozessor die Ausführung
der Programmroutine abgeschlossen hat.
12. Verfahren nach Anspruch 11, ferner mit dem Schritt des
Übertragens vom Daten vom zweiten Speicher an den ersten
Speicher als Antwort auf die Angabe.
13. Verfahren nach Anspruch 12, ferner mit dem Schritt des
Bestimmens der nächsten vom ersten Speicher an den
zweiten Speicher zu überragenden Programmroutine als Antwort
auf die an den ersten Speicher übertragenen Daten.
14. Verfahren nach Anspruch 13, ferner mit dem Schritt des
Vorhersagens einer Programmroutine, die als nächstes am
wahrscheinlichsten zu übertragen ist, bevor die Daten an
den ersten Speicher übertragen werden.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/570,171 US5442764A (en) | 1990-08-20 | 1990-08-20 | Digital signal processing having improved execution efficiency |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69128008D1 DE69128008D1 (de) | 1997-11-27 |
DE69128008T2 true DE69128008T2 (de) | 1998-02-12 |
Family
ID=24278548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69128008T Expired - Fee Related DE69128008T2 (de) | 1990-08-20 | 1991-08-19 | Verfahren und Gerät zur Steuerung von Digitalsignalverarbeitung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5442764A (de) |
EP (1) | EP0472386B1 (de) |
JP (1) | JPH06149760A (de) |
DE (1) | DE69128008T2 (de) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2708359A1 (fr) * | 1993-06-30 | 1995-02-03 | Philips Electronics Nv | Procédé pour exploiter un processeur numérique de signal et dispositif mettant en Óoeuvre le procédé. |
US5928321A (en) * | 1997-05-30 | 1999-07-27 | Sony Corporation | Task and stack manager for digital video decoding |
US6314475B1 (en) | 1998-03-04 | 2001-11-06 | Conexant Systems, Inc. | Method and apparatus for monitoring, controlling and configuring local communication devices |
US6427178B2 (en) * | 1998-03-04 | 2002-07-30 | Conexant Systems, Inc. | Software modem having a multi-task plug-in architecture |
US6330597B2 (en) | 1998-03-04 | 2001-12-11 | Conexant Systems, Inc. | Method and apparatus for monitoring, controlling, and configuring remote communication devices |
US6711205B1 (en) | 1998-09-25 | 2004-03-23 | Intel Corporation | Tone detector for use in a modem |
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 |
US6625208B2 (en) | 1998-09-25 | 2003-09-23 | Intel Corporation | Modem using batch processing of signal samples |
US6351781B1 (en) * | 1998-09-25 | 2002-02-26 | Intel Corporation | Code swapping techniques for a modem implemented on a digital signal processor |
US6560276B1 (en) | 1998-09-25 | 2003-05-06 | Intel Corporation | Synchronization techniques using an interpolation filter |
US20020034971A1 (en) * | 1999-02-08 | 2002-03-21 | Chienchung Chang | Data allocation for multiple applications on a microprocessor or dsp |
WO2000052591A1 (fr) * | 1999-02-26 | 2000-09-08 | Fujitsu Limited | Processeur de signal |
JP2000357930A (ja) | 1999-06-15 | 2000-12-26 | Yamaha Corp | オーディオ装置、制御装置、オーディオシステム及びオーディオ装置の制御方法 |
US6829761B1 (en) * | 1999-10-21 | 2004-12-07 | Oracle International Corporation | Method and apparatus for managing shared memory in a run-time environment |
US7398451B2 (en) | 2001-08-09 | 2008-07-08 | Adaptive Networks, Inc. | Error correction process and mechanism |
KR100470993B1 (ko) * | 2002-07-10 | 2005-03-10 | 삼성전자주식회사 | 디에스피 프로그램 다운로드 장치 및 그 방법 |
EP1839130A1 (de) * | 2004-12-24 | 2007-10-03 | Telecom Italia S.p.A. | Verfahren und system zum aufrüsten der software eines telekommunikationsendgeräts insbesondere eines videotelefons und diesbezügliches computerprogrammprodukt |
JP4808016B2 (ja) * | 2005-12-20 | 2011-11-02 | 日立オートモティブシステムズ株式会社 | マイクロコンピュータの初期化装置および車載用制御装置 |
CN104866357B (zh) * | 2015-05-29 | 2019-08-23 | 中国电子科技集团公司第五十八研究所 | 数字信号处理器的boot启动方法及其启动装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4539652A (en) * | 1982-07-16 | 1985-09-03 | At&T Bell Laboratories | Networks for data communication |
WO1989012271A1 (en) * | 1988-05-26 | 1989-12-14 | Genesis Electronics Corporation | Voice information system and method for telephone applications |
EP0472125A3 (en) * | 1990-08-20 | 1992-08-19 | Texas Instruments Incorporated | Voice services system |
US5136631A (en) * | 1990-08-20 | 1992-08-04 | Texas Instruments Incorporated | Method and apparatus for programming a voice services system |
-
1990
- 1990-08-20 US US07/570,171 patent/US5442764A/en not_active Expired - Lifetime
-
1991
- 1991-08-19 EP EP91307612A patent/EP0472386B1/de not_active Expired - Lifetime
- 1991-08-19 DE DE69128008T patent/DE69128008T2/de not_active Expired - Fee Related
- 1991-08-20 JP JP3208228A patent/JPH06149760A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP0472386A2 (de) | 1992-02-26 |
JPH06149760A (ja) | 1994-05-31 |
US5442764A (en) | 1995-08-15 |
EP0472386B1 (de) | 1997-10-22 |
EP0472386A3 (en) | 1992-12-02 |
DE69128008D1 (de) | 1997-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69128008T2 (de) | Verfahren und Gerät zur Steuerung von Digitalsignalverarbeitung | |
DE69128854T2 (de) | Verfahren und Gerät zum Programmieren von Sprachdiensten | |
DE69030456T2 (de) | Generator für Sprachverwendungen | |
DE69228318T2 (de) | Funktionssteuersystem unter benutzung einer entwurfsorientierten zustandstabellensprache | |
DE69625631T2 (de) | Datenpuffer | |
DE69031295T2 (de) | Anordnung zur Integration von Anwendungsprogrammen in einem digitalen Datenverarbeitungssystem | |
DE3688759T2 (de) | Ein-/Ausgabe-Steuerungssystem. | |
DE69714880T2 (de) | Mustervergleichsverfahren und Vorrichtung dafür | |
DE3785897T2 (de) | Steuervorrichtung zum vorabruf von befehlen. | |
DE69028883T2 (de) | Übertragungseinheit mit einer Funktion und einem Verfahren zur Anruferidentifizierung in einem digitalen Fernmeldenetz | |
DE69329630T2 (de) | Vorrichtung zur Vektorverarbeitung | |
DE69222821T2 (de) | Genereller Datenaustausch | |
DE69429558T2 (de) | Tondatenverarbeitung | |
DE3686018T2 (de) | Betriebsfuehrung von hardwaremitteln. | |
DE4220698C2 (de) | Verfahren zum Betreiben einer Datenverarbeitungsanlage | |
DE69528736T2 (de) | Digitales Aufzeichnungsgerät für komprimierte Tonsignale | |
DE3303488A1 (de) | Digitales signalverarbeitungssystem | |
DE69133025T2 (de) | Multiprozessorsystem | |
DE3750768T2 (de) | Rechnergesteuertes Kommunikationssystem. | |
DE2064383B2 (de) | Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen | |
DE4223454A1 (de) | Datenuebertragungssystem fuer eine digitale signalverarbeitungsvorrichtung | |
DE69625625T2 (de) | Verfahren und Vorrichtung zur auf Software basierten Tonwellenformerzeugung | |
DE69533253T2 (de) | Verfahren und System zur individuellen Anpassung von Kommunikationen über ein Netzwerk | |
EP0632668A2 (de) | Verfahren zum Aktualisieren eines Systemprogramms in einer Vermittlungseinrichtung | |
DE69131088T2 (de) | Verfahren für integrierte Sprachkommunikation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |