DE69128008T2 - Verfahren und Gerät zur Steuerung von Digitalsignalverarbeitung - Google Patents

Verfahren und Gerät zur Steuerung von Digitalsignalverarbeitung

Info

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
Application number
DE69128008T
Other languages
English (en)
Other versions
DE69128008D1 (de
Inventor
Kenneth H J Einhorn
Jay D Stewart
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments 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 Texas Instruments Inc filed Critical Texas Instruments Inc
Application granted granted Critical
Publication of DE69128008D1 publication Critical patent/DE69128008D1/de
Publication of DE69128008T2 publication Critical patent/DE69128008T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program 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/126Program 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates 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

    [Verwandte Anwendungen]
  • 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.
  • [Technisches Gebiet der Erfindung]
  • Diese Erfindung bezieht sich allgemein auf elektronische Schaltungen und insbesondere auf eine Digitalsignalprozessorsteuerung.
  • [HINTERGRUND DER ERFINDUNG]
  • 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.
  • [Kurzbeschreibung der Zeichnungen]
  • 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.
  • [Genaue Beschreibung der Offenbarung]
  • 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:
  • ARITHMETIK
  • Arithmetische Operationen: +, -, * , /, mod, = und '-' für ein unäres Minus.
  • Boolsche Operationen: und, oder, exklusiv-oder, nicht
  • VERGLEICHE
  • 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: --, !=, < , > , &le;, &ge;
  • Boolsche Vergleiche: und, oder, exklusiv-oder, nicht, eq.
  • FUNKTIONEN
  • 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.
  • PROZEDUREN
  • Die folgenden Prozeduren, die sich hauptsächlich auf Telekommunikationsoperationen beziehen, werden unterstützt.
  • PROZEDUR ERLÄUTERUNG
  • 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.
DE69128008T 1990-08-20 1991-08-19 Verfahren und Gerät zur Steuerung von Digitalsignalverarbeitung Expired - Fee Related DE69128008T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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