DE4223454A1 - Datenuebertragungssystem fuer eine digitale signalverarbeitungsvorrichtung - Google Patents

Datenuebertragungssystem fuer eine digitale signalverarbeitungsvorrichtung

Info

Publication number
DE4223454A1
DE4223454A1 DE4223454A DE4223454A DE4223454A1 DE 4223454 A1 DE4223454 A1 DE 4223454A1 DE 4223454 A DE4223454 A DE 4223454A DE 4223454 A DE4223454 A DE 4223454A DE 4223454 A1 DE4223454 A1 DE 4223454A1
Authority
DE
Germany
Prior art keywords
input
processing
data
dsp
digital signals
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.)
Ceased
Application number
DE4223454A
Other languages
English (en)
Inventor
Keita Gunji
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.)
Verigy Singapore Pte Ltd
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE4223454A1 publication Critical patent/DE4223454A1/de
Ceased 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Description

Die Erfindung betrifft ein Ein-Ausgabe-Verfahren für ein digitales Signalverarbeitungssystem und insbesondere ein Verfahren zum weitgehenden Vermeiden von Datenverlusten während des Datenzugriffs auf ein oder von einem externen Ein-Ausgabe-Gerät ohne eine zusätzliche übergeordnete oder organisatorische Verarbeitung bzw. Systemverwaltung.
Ein Testsystem zum Untersuchen der Eigenschaften eines integrierten digitalen Fernmeldenetzes (ISDN), eines A/D-Umsetzers und dergleichen führt digitale Berechnungen durch, wie Fouriertransformationen, inverse Fouriertransformationen und andere Filterfunktionen. Um die Verarbeitungsgeschwin­ digkeit zu erhöhen, wurde hierfür ein digitaler Signalpro­ zessor verwendet, der im folgenden als "DSP" bezeichnet ist.
Fig. 1 zeigt eine Ausgestaltung eines Signalverarbeitungs­ systems mit mehreren Prozessoren, das drei DSP-Einheiten 30A, 30B, 30C und eine Zentraleinheit (CPU) 1 zum Steuern dieser Einheiten aufweist. Die Einheiten 30A, 30B und 30C sind jeweils mit DSPs 31A, 31B und 31C, Speichern 32A, 32B und 32C und externen Ein-Ausgabe-Geräten (E/A-Geräten) 33A, 33B und 33C bestückt. Während des Betriebs wird beispiels­ weise in der Einheit 30A vom E/A-Gerät 33A auf Ein-Ausgabe- Daten (E/A-Daten) zugegriffen, und diese Daten werden dann zum DSP 31A gesandt und dort verarbeitet, beispielsweise durch eine Fouriertransformation. Die verarbeiteten Daten werden dann über eine E/A-Peripherie-Schnittstelle (nicht gezeigt) an die Einheit 30B übertragen und dort weiter verarbeitet, beispielsweise durch eine Filterung im DSP 31B. Die verarbeiteten Daten werden daraufhin über eine weitere E/A-Peripherie-Schnittstelle (ebenfalls nicht ge­ zeigt) zur Einheit 30C übertragen. Die verarbeiteten Daten werden vom DSP 31C weiter verarbeitet, beispielsweise durch eine inverse Fouriertransformation, und das verarbeitete Ergebnis wird für seine Ausgabe an das externe E/A-Gerät 33C übergeben.
Um ein Hochgeschwindigkeits-Verarbeitungsprogramm auszufüh­ ren, hat der DSP im allgemeinen weitere Funktionen zum Durchführen verschiedener Prozesse oder Verfahren. Zu diesen Einzel-Aufgaben oder Tasks gehört der Zugriff auf externe E/A-Geräte zum Empfangen von Daten von verschiedenen Ausga­ be-Geräten, wie einem A/D-Umsetzer, einem D/A-Umsetzer, ver­ schiedenen Arten von E/A-Peripherie-Schnittstellen und dergleichen, und zum Übertragen der berechneten Daten zu anderen externen E/A-Geräten. Die folgenden Verfahren zum Übertragen von Daten während des Empfangens und des Sendens von/zu externen E/A-Geräten sind bekannt: (1) Die Operatio­ nen zum Empfangen und Senden von Daten werden durch eine Unterbrechung (Interrupt) des Rechenprogramms des DSP aus­ geführt, und (2) die Daten werden ohne Unterbrechung (Inter­ rupt) vorübergehend in einer externen Registerdatei gespei­ chert, und der Datenempfang und die Datenübertragung werden dann nacheinander durchgeführt.
Fig. 2 zeigt einen schematischen Schaltplan einer Ausgestal­ tung eines herkömmlichen digitalen Signalverarbeitungs­ systems, das nach dem Verfahren (1) arbeitet. In Fig. 2 steuert ein DSP 2 den Zugriff auf einen Speicher 5, einen A/D-Umsetzer 3 und eine Peripherie-E/A-Schnittstelle 4 über herkömmliche Busse, wie einen Datenbus 6 und einen Adreß­ bus 7. Im Adreßbus 7 ist ferner ein Dekodierer 8 vorge­ sehen, um ein Freigabesignal (enable) an den A/D-Umsetzer 3 und die Peripherie-E/A-Schnittstelle 4 auszugeben. Zusätz­ lich führt die CPU 1 über den herkömmlichen Systembus ver­ schiedene Bearbeitungen durch, einschließlich dem Steuern des DSP 2, dem Laden des DSP-Programms in den Speicher 5 und dergleichen.
Der DSP 2 fährt ein DSP-Programm im Speicher 5, der als eine Echtzeit-Kontrollvorrichtung dient. Befehle für den DSP 2 sind in der Echtzeit-Kontrollvorrichtung so pro­ grammiert, daß eine Reihe von Signalverarbeitungsblocks zu einer Verarbeitungsaufgabe (Task) zusammengesetzt sind. Diese Programme werden unter der Verwaltung eines Steuerpro­ gramms (Scheduler) durchgeführt. Die E/A-Verarbeitung wird jedoch als eine andere Aufgabe (Task) als die oben genannte Aufgabe (Task) ausgeführt. Die E/A-Verarbeitung wird über ein Datenfreigabe-Signal des A/D-Umsetzers 3 durch einen Interrupt ausgelöst und dient zum vorübergehenden Übertragen von Eingangsdaten vom A/D-Umsetzer 3 in einen Puffer 51, der als ein Abschnitt des Speichers 5 in Fig. 2 dargestellt ist. Ein als Echtzeit-Überwachungsvorrichtung dienender Semaphor (Zeichenträger) kann ebenfalls im Puffer 51 einge­ richtet sein. Dann, wenn die zu verarbeitenden Daten im Puffer 51 vorhanden sind, synchronisiert der DSP 2 mit den auf dem Semaphorwert basierenden Daten und überträgt die Daten zu einer Signalverarbeitungs-Task, die auf die Daten wartet.
Da dieses Verfahren eine Interrupt-Verarbeitung zum Empfan­ gen der Eingangsdaten vom A/D-Umsetzer 3 erfordert, erhöht es jedoch im allgemeinen die Prozessorbelastung des DSP 2. Die Datenempfangs-Operation des DSP 2 von dem A/D-Umsetzer 3 wird beispielsweise über einen Interrupt ausgeführt und macht es dem DSP 2 unmöglich, andere Bearbeitungen, wie Hochgeschwindigkeits-Rechenoperationen, während des Ausfüh­ rens der obigen Verarbeitung durchzuführen. Die Arbeitsfä­ higkeit des DSP 2 ist dadurch erheblich beschränkt.
Ferner könnten dann, wenn der DSP 2 zum Verarbeiten der E/A-Daten länger braucht als die E/A-Periode des E/A-Gerätes dauert, einige Daten nach der Verarbeitung übrigbleiben. Die Daten-E/A-Periode des E/A-Gerätes ist also durch die Verarbeitungsgeschwindigkeit des DSP 2 begrenzt. Beispiels­ weise ist die Abtastrate des in Fig. 2 gezeigten A/D-Umset­ zers 3 oder die Erzeugungsgeschwindigkeit des D/A-Umsetzers durch die Verarbeitungsgeschwindigkeit des DSP 2 beschränkt. Dieses Verfahren hat also den Nachteil, daß die Geschwindig­ keit des E/A-Gerätes nicht über die Geschwindigkeit des DSP 2 erhöht werden kann.
Im Hinblick auf diese Beschränkung wird beim Realisieren des Verfahrens (2) mit einer Schaltung, wie der in Fig. 3 gezeigten, die E/A-Verarbeitung nicht als eine eigene Auf­ gabe (Task) ausgeführt, sondern mit einem in einer Signal­ verarbeitungs-Task enthaltenen Befehl. Bei diesem Verfahren ist eine externe Registerdatei 9 zwischen dem A/D-Umsetzer 3 und dem DSP 2 vorgesehen und führt die Synchronisierung der Daten ohne eine Echtzeit-Kontrollvorrichtung durch. Das heißt, dieses Verfahren verwendet keinen Interrupt, um mit dem Überwachungs- oder Verwaltungsprogramm zu kommuni­ zieren. Statt dessen führt die Registerdatei 9 eine E/A- Datenoperation nach Maßgabe eines Lese/Schreib-Befehles in einer Task für eine Reihe von Signalverarbeitungs-Tasks durch, bis die Ein-Ausgabe-Grenze der Registerdatei 9 er­ reicht ist. Eine solche E/A-Grenze schließt die Arbeitsperi­ ode des E/A-Gerätes ein.
Beim tatsächlichen Betrieb überprüft der DSP 2 den Inhalt der Registerdatei 9, um festzustellen, ob in der Register­ datei 9 Daten vorhanden sind. Wenn keine Daten in der Regi­ sterdatei 9 sind, wird der DSP 2 in einen Wartezustand versetzt, so daß keine anderen Arbeitsschritte, wie das Überprüfen des Inhalts des Semaphor gemäß dem Verfahren (1), durchgeführt werden müssen. Da der DSP 2 auf das E/A- Gerät über die Registerdatei 9 zugreift, benötigt der DSP 2 keine Interrupt-Verarbeitung. Dadurch kann die Belastung des DSP 2 aufgrund der Daten-E/A-Verarbeitung verringert werden.
Dieses Verfahren hat jedoch den Nachteil, daß der DSP 2 während dieses Wartezustandes noch immer keine anderen Arbeitsschritte ausführen kann, was zu einer erhöhten Sy­ stem-Verwaltungszeit führt. Die gesamte Verarbeitungs-Lei­ stungsfähigkeit des Systems ist also durch die Verarbeitung zur System-Verwaltung begrenzt. Dieses Verfahren hat den weiteren Nachteil, daß die Registerdatei 9 teure Hardware erfordert, die die Gesamtkosten des Systems erhöht. Darüber­ hinaus werden für ein System manchmal viele Registerdateien benötigt, so daß dieses Verfahren eine starke Erhöhung der gesamten Herstellungskosten für das System ergibt. Wenn die Daten-Eingabe- und Ausgabe-Periode die Verarbeitungsperiode des DSP 2 überschreitet, laufen ferner die Eingangsdaten für die Registerdatei 9 über, und auf diese Weise können einige Daten verloren gehen.
Es ist eine Aufgabe der Erfindung, die genannten Nachteile des Stands der Technik zu überwinden und eine Vorrichtung und ein Verfahren zu schaffen, um selbst dann ohne Datenver­ lust auf Daten zuzugreifen, wenn die E/A-Periode des exter­ nen E/A-Gerätes kürzer ist als die Datenverarbeitungs-Peri­ ode des DSP. Die Daten sollen ferner nacheinander verarbei­ tet werden, um eine Systemverwaltungs-Verarbeitung zu ver­ meiden, wenn die E/A-Periode länger als die Verarbeitungs­ periode des DSP ist. Ferner soll ein Steuerverfahren für ein digitales Signalverarbeitungssystem geschaffen werden, das den genannten Betrieb mit geringeren Kosten als bei ver­ gleichbaren bekannten Geräten durchführen kann.
Wenn die E/A-Periode eines externen E/A-Gerätes kürzer ist als die Verarbeitungsperiode des DSP werden der Datenempfang und die Datenübertragung von und zu externen E/A-Geräten, wie A/D-Umsetzer, D/A-Umsetzer und dergleichen erfindungs­ gemäß von einer Direktspeicherzugriff-Steuerung (DMA-Con­ troller) zwischen einem Speicher und den externen E/A-Gerä­ ten durchgeführt. Bei einer Ausgestaltung ist der DMA-Con­ troller zum Durchführen der Datenverarbeitung eingesetzt, welche normalerweise vom DSP durchgeführt wird, so daß die Daten-E/A-Verarbeitung unabhängig von den Berechnungen des DSP ausgeführt wird, wodurch die Belastung des DSP vermin­ dert ist. Da die E/A-Daten mit der maximalen Übertragungs­ geschwindigkeit des DMA-Controller verarbeitet werden kön­ nen, ist die Erfindung auch bei einem Hochgeschwindigkeits- E/A-Gerät einsetzbar. In den anderen Fällen werden der Datenempfang und die Datenübertragung von und zu den exter­ nen E/A-Geräten ohne den DMA-Controller direkt zwischen dem DSP und den externen E/A-Geräten ausgeführt.
Erfindungsgemäß berechnet eine Host-Zentraleinheit (CPU) die zur Verarbeitung durch den DSP benötigte Periodendauer. Die CPU vergleicht dann diese Periode mit der E/A-Periode des externen E/A-Gerätes und bestimmt, ob der Datenempfang und die Datenübertragung von und zu den externen E/A-Geräten über den DMA-Controller oder direkt vom DSP ausgeführt werden.
Erfindungsgemäß kann anstelle der Registerdatei ein kosten­ günstiger DMA-Controller verwendet werden, der nur etwa 1/10 der Kosten der Registerdatei hat. Die gesamten Herstel­ lungskosten des Systems werden dadurch erheblich gesenkt.
Der erfindungsgemäße DSP kann ferner unter Verwendung eines Semaphors ein Daten-Leer-Prüfprogramm (Data-Empty-Check) durchführen, um das Vorhandensein von E/A-Daten in einem Eingangspuffer des DSP zu ermitteln. Dieses Programm verhin­ dert, daß der DSP selbst in einen Wartezustand für die E/A- Daten fällt. Während des Daten-Leer-Zustands kann der DSP ohne zu warten andere Verarbeitungsschritte durchführen.
Die Erfindung ist ferner gekennzeichnet durch das Ausführen eines DSP-Programmes, das mindestens einen Prozeß mit E/A- Parametern und Datenempfangs- und Übertragungsadressen umfaßt, die während der Ausführung jedes Prozesses für die E/A-Parameter vorgesehen sind. Das heißt, durch die E/A- Parameter ist für jeden Prozeß eine Adresse für ein exter­ nes E/A-Gerät, wie ein Speicher, ein Latch und dergleichen, vorgesehen, indem einfach die Verarbeitungsfunktion für diesen Prozeß aufgerufen wird. Es ist daher nicht notwendig, für jeden Zugriff Befehle für den Zugriff auf Hardware, wie den Speicher und die externen E/A-Geräte, zu schreiben.
Ferner ist keine kundenspezifische Programmierung für ver­ schiedene Arten von externen E/A-Geräten notwendig, da lediglich geeignete E/A-Adressen über die E/A-Parameter für die DSP-Prozesse vorgesehen werden müssen. Darüberhinaus kann ein Signalverarbeitungsprogramm für ein System leicht auf ein anderes System übertragen werden, so daß die Soft­ warequellen effektiver genutzt werden können.
Die Erfindung ist im folgenden anhand bevorzugter Ausgestal­ tungsbeispiele mit Bezug auf die Zeichnungen mit weiteren Einzelheiten erläutert. Es zeigen:
Fig. 1 ein herkömmliches digitales Signalverarbeitungs­ system mit mehreren Prozessoren,
Fig. 2 ein herkömmliches digitales Signalverarbeitungs­ system, das mit Interrupt arbeitet,
Fig. 3 ein herkömmliches digitales Signalverarbeitungs­ system, das mit einer externen Registerdatei arbeitet,
Fig. 4 eine Ausgestaltung eines erfindungsgemäßen digi­ talen Signalverarbeitungssystems, bei dem das Steuerverfahren der Erfindung realisiert ist,
Fig. 5 ein Block-Fluß-Diagramm einer Ausgestaltung des Steuerverfahrens für das digitale Signalverarbei­ tungssystem von Fig. 4 und
Fig. 6 ein Daten-Fluß-Diagramm einer Ausgestaltung des Steuerverfahrens zur Verwendung im digitalen Signalverarbeitungssystem von Fig. 4.
Fig. 4 zeigt eine Ausgestaltung eines Steuersystems für ein digitales Signalverarbeitungssystem nach der Erfindung. In Fig. 4 sind eine Zentraleinheit CPU 1 und das Gesamtsystem mit dem digitalen Signalprozessor DSP 2 (wie der DSP 96 002 von Motorola Company), den externen E/A-Geräten (wie einem A/D-Umsetzer 3 und einer Peripherie-E/A-Schnittstelle 4) und dem Speicher 5 mit einer Echtzeit-Überwachungsvorrich­ tung über herkömmliche Busse, einen Datenbus 6 und einen Adreßbus 74 miteinander verbunden. Ein Dekodierer 8 zum Ausgeben eines Steuersignals an den A/D-Umsetzer 3 ist auf dem Adreßbus 7 vorgesehen. Zusätzlich ist ein Signalspeicher oder Latch 9 anstelle der in Fig. 3 gezeigten Registerdatei vorgesehen. Eine Direkt-Speicherzugriff-Steuerung (DMA- Controller) 10 ist zwischen dem Datenbus 6 und dem Adreßbus 7 angeordnet. Der Einfachheit halber zeigt das Signalverar­ beitungssystem von Fig. 4 lediglich eine der in Fig. 1 gezeigten DSP-Einheiten, weitere Einheiten sind nicht darge­ stellt. Wie in Fig. 5 und 6 gezeigt, sind im Speicher 5 vorzugsweise mehrere Signalverarbeitungs-Blocks, so daß diese Blocks eine einzelne Verarbeitungs-Aufgabe oder -Task bilden.
Das digitale Signalverarbeitungssystem nach der Erfindung ist so wie in Fig. 4 aufgebaut. Erfindungsgemäß wird jedoch während der Datenübertragung vom A/D-Umsetzer 3 entweder auf den DMA-Controller 10 oder auf den DSP 2 zugegriffen, abhängig vom Vergleich zwischen der E/A-Periode (Tio) des A/D-Umsetzers 3 und der Ausführungszeit einer Reihe von Signalverarbeitungsblocks des DSP 2, das heißt einer Sig­ nalverarbeitungsdauer (Tcal) des DSP 2. Wenn Tio<Tcal gilt, dann ist die E/A-Periode Tio des A/D-Umsetzers 3 kürzer als die Signalverarbeitungsperiode Tcal des DSP 2. Wenn also der Signalverarbeitungsblock einen direkten Daten­ zugriff auf den A/D-Umsetzer 3 benötigt, würden einige Daten verloren gehen. Daher wird in diesem Fall der DMA- Controller 10 eingesetzt, und die Daten-E/A-Operation wird unabhängig von der Verarbeitung durch die Reihe von Signal­ verarbeitungsblocks ausgeführt. Dieser Zustand ist im fol­ genden als der "erste Modus" bezeichnet. Der Maximalwert von Tio liegt bei einem bevorzugten Ausgestaltungsbeispiel ungefähr bei einer Million Worten/Sekunde. Wenn Tio bei­ spielsweise gleich 800 000 Worte/Sekunde ist, kann eine Beziehung von 1/Tio<1/Tcal erfüllt werden (obwohl diese Beziehung von der Größe von Tcal abhängt). Innerhalb einer zulässigen Tiefe des Speicherpuffers 51, in dem die E/A- Daten gespeichert sind, führt der DMA-Controller 10 die E/A-Operation unabhängig vom DSP 2 aus.
Wie mit Bezug auf Fig. 2 beschrieben, wird die Daten-Emp­ fangsoperation des DSP 2 dann, wenn der DSP 2 die E/A-Daten vom A/D-Umsetzer 3 empfängt, normalerweise nicht als eine unabhängige Task ausgeführt. Die Operation wird statt dessen über den Puffer 51 unter der Steuerung einer Echtzeit-Über­ wachungseinrichtung ausgeführt. Ferner ist im Puffer 51 ein Semaphor vorgesehen, in den die Eingangsdaten gespeichert werden, und der DSP 2 überträgt die Daten zur Signalverar­ beitungs-Task, während diese eine Leer-Überprüfung durch­ führt, um zu ermitteln, ob die Eingangsdaten im Puffer 51 gespeichert sind.
Wenn andererseits TioTcal, so ist die Signalverarbei­ tungsperiode Tcal des DSP 2 kürzer oder gleich der Eingabe­ periode Tio des A/D-Umsetzers 3. Wenn daher der Signalverar­ beitungsblock den direkten E/A-Datenzugriff mit dem A/D- Umsetzer 3 erfordert, gehen keine Daten verloren. Der Sig­ nalverarbeitungsblock wird also über eine Interrupt-Verar­ beitung durch einen Scheduler oder ein Daten-Bereit-Signal (ready-signal) vom A/D-Umsetzer 3 gestartet. Die Verarbei­ tung wird also ohne DMA-Controller 10 durchgeführt. Dieser Zustand ist im folgenden als der "zweite Modus" bezeichnet.
Wie unten beschrieben ist, wird Tcal jedoch auf der Basis der Zeit berechnet, die für eine Reihe von Verarbeitungs­ blocks erhalten wurde, und es kann dann ein Fehler bei der Berechnung auftreten, wenn Tio≈Tcal. Um die Zuverlässig­ keit des Verarbeitungsbetriebs zu gewährleisten, wird also selbst dann, wenn die Signalverarbeitungsperiode des DSP kürzer als die Abtastperiode des A/D-Umsetzers 3 ist, der Zugriff auf den A/D-Umsetzer 3 vom DMA-Controller 10 auf dieselbe Weise wie oben beschrieben ausgeführt. In diesem Fall wird also der Verarbeitungsmodus des DSP 2 auf den ersten Modus gesetzt, wie beschrieben. Die Signalverar­ beitungs-Task wird dann so gesteuert, daß sie für die Über­ tragung der Eingangsdaten in den Puffer 51 in den Wartezu­ stand gebracht wird, selbst wenn keine Daten im Puffer 51 sind. Die Berechnung der Perioden Tio und Tcal und deren Vergleich ist im folgenden im einzelnen beschrieben.
Während Tio von einem Host-Controller, wie der CPU 1, zu dem Zeitpunkt bestimmt wird, zu dem die Hardware, wie der A/D-Umsetzer 3, zum Empfangen der E/A-Daten gesteuert wird, wird Tcal durch Verbinden der Verarbeitungszeiten aller Blocks, die zum Verarbeiten der Daten notwendig sind, be­ rechnet. Dann wird Tio von der Host-CPU 1 mit Tcal vergli­ chen. Der erste oder der zweite Modus, wie oben beschrieben, wird dann vor dem Ausführen des Signalverarbeitungsprogramms gewählt.
Unmittelbar vor dem Unterbrechen des DSP 2 gibt die Peri­ pherie-E/A-Schnittstelle 4 für jede Datenübertragung ein Daten-Bereit- oder ein Daten-Leer-Signal aus. Danach werden diese Signale an das Interrupt-Verarbeitungsprogramm über­ geben, um die Peripherie-E/A-Schnittstelle 4 mit der Signal­ verarbeitungs-Task, die auf die Daten in der Peripherie- E/A-Schnittstelle 4 zugreift, zu synchronisieren.
Im folgenden ist das Programm der Signalverarbeitungs-Task des DSP 2 beschrieben. Zunächst werden, wie beim übergeben von Adressen an den Speicher 5, den externen Geräten, wie dem A/D-Umsetzer 3, der Peripherie-E/A-Schnittstelle 4 und dgl., Adressen zugewiesen. Diese Adressen werden an einen E/A-Verarbeitungsblock übergeben. Auf diese Weise wird auf jedes externe E/A-Gerät wie auf eine Funktion zugegriffen.
Tatsächlich werden, wie im Block-Flußdiagramm von Fig. 5 und im Daten-Flußdiagramm von Fig. 6 gezeigt, eine Reihe von vorgegebenen Signalverarbeitungsfunktionen im DSP 2 voreingestellt, um auf alle E/A-Daten mit einem Zeiger vor und hinter dem Funktionskörper oder Funktionsblock zuzugrei­ fen. Als Vorverarbeitung für jeden Prozeß 21 bis 23 oder als eine Verarbeitung vor dem Ausführen des ersten Prozesses 21 wird beispielsweise eine Funktion mit einer herkömmlichen Ein/Ausgabe ausgeführt, um jedem Prozeß eine Eingangs- und eine Ausgangsadresse mit den herkömmlichen Parametern "Ein­ gabe" und "Ausgabe" zuzuordnen. Wenn diese "Eingabe"- und "Ausgabe"-Parameter als Zeiger eingesetzt werden, kann die Signalverarbeitungsfunktion wie folgt dargestellt werden:
func X (Eingabe, Ausgabe)
(X = 1,2,3).
Die obigen "Eingabe"- und "Ausgabe"-Parameter können genauso wie ein Speicher behandelt werden.
Wenn eine Vorrichtung, auf die zugegriffen werden soll, ein E/A-Gerät ist (beispielsweise ein A/D-Umsetzer zum Empfangen der Daten beim Prozeß 21), wird während der Vorverarbeitung entweder der erste Modus mit der Verarbeitung durch den DMA-Controller 10 oder der zweite Modus mit der Verarbeitung durch den DSP 2 selbst für den Zugriff auf den A/D-Umsetzer 3 basierend auf einem Vergleich zwischen Tio und Tcal ge­ wählt. Darauf wird die Adresse eines Signalspeichers oder Latch 9 an den "Eingabe"-Zeiger übergeben, und "func 1" wird gleichzeitig mit dem Empfang der Daten gestartet. Wenn danach eine Vorrichtung, auf die zugegriffen werden soll, der Speicher 5 ist, wird nach der Berechnung im Prozeß 21 die Adresse des Speichers 5 an den "Ausgabe"-Zeiger gegeben. Darauf wird die Abtrennung des DMA-Controllers von Fig. 4 als eine Nachverarbeitung ausgeführt.
Wenn der Speicher 5 die Daten empfangen soll, so wie im Fall des Prozesses 22, wird die Warte-Prozedur unter Ver­ wendung des Semaphor ausgeführt. Dem "Eingabe"-Zeiger wird dessen Adresse übergeben. Auf dieselbe Weise, wie beim Prozeß 21, wird "func 2" gleichzeitig mit dem Datenempfang gestartet, um die Adresse der Datensendeseite dem "Ausgabe"- Zeiger zu übergeben. "func 2" sendet die Daten nach der Verarbeitung durch den Prozeß 22 zum Speicher 5.
Wenn ferner der Speicher 5 Daten sendet, wie beim Prozeß 23, wird, so wie beim Prozeß 22, die Warte-Prozedur unter Verwendung des Semaphor ausgeführt, um die Adresse an den "Eingabe"-Zeiger zu übergeben, und "func 3" beginnt. In diesem Fall ist jedoch die Peripherie-E/A-Schnittstelle 4 auf der Daten-Sendeseite. Während der Vorverarbeitung ist die Peripherie-E/A-Schnittstelle also als eine Vorrich­ tung, auf die zugegriffen werden soll, eingestellt, und die E/A-Verbindung wird während der Nachverarbeitung gelöst.
Die Prozesse oder Verfahren 21 bis 23 laufen wie beschrieben ab. Wenn in diesen Prozessen tatsächlich eine Funktion ausgeführt wird, werden die externen Geräte, auf die zuge­ griffen werden soll, wie der A/D-Umsetzer 3, der Speicher 5, die Peripherie-E/A-Schnittstelle 4 etc., mit der Adresse entweder als Eingang oder als Ausgang spezifiziert. Die Signalverarbeitung kann daher durch die Funktion ohne Beach­ tung der zusätzlichen Eingabe- und Ausgabeverarbeitung durch Spezifizieren der externen Geräte und Adressen ausge­ führt werden.
Die beschriebene Erfindung weist die folgenden Vorteile auf.
  • 1) Da die Datenübertragung entweder vom DMA-Controller oder vom DSP verarbeitet wird, abhängig von einem Vergleich der E/A-Periode des externen E/A-Gerätes mit der Verarbei­ tungsperiode der Signalverarbeitung des DSP, ist es möglich, ein Steuerverfahren zu realisieren, das für alle Signale mit beliebigen Perioden geeignet ist. Ferner sind, da keine externe Registerdatei verwendet wird, die Herstellungskosten des Systems herabgesetzt.
  • 2) Wenn die Daten-E/A-Periode des externen E/A-Gerätes, wie des A/D-Umsetzers, des D/A-Umsetzers und dergleichen, kürzer ist als die Verarbeitungsperiode des DSP, werden der Datenempfang und die Datenübertragung vom DMA-Controller durchgeführt, so daß die Eingabe- und Ausgabeoperationen selbst für ein externes Hochgeschwindigkeits-E/A-Gerät ohne einen Datenverlust vollständig beendet werden können. Die Datenverarbeitung wird also ohne eine Verminderung der Abtastgeschwindigkeit des A/D-Umsetzers, der Erzeugungsge­ schwindigkeit des D/A-Umsetzers und dgl. durchgeführt.
  • 3) Wenn die E/A-Periode des externen E/A-Gerätes länger als die Verarbeitungsperiode der Signalverarbeitungs-Task des DSP ist, kann die Systemverwaltungszeit vermindert werden. Die durch Vermindern der Systemverwaltungszeit gesparte Zeit kann für andere Prozesse verwendet werden. Auf diese Weise können komplizierte Prozesse ausgeführt werden, die beim herkömmlichen Verfahren nicht ausgeführt würden.
  • 4) Wenn bei der Datenübertragung mit dem DMA-Controller die E/A-Periode des externen E/A-Gerätes wesentlich länger als die Verarbeitungsperiode der Signalverarbeitungs-Task des DSP ist, muß zum Zeitpunkt der Dateneingabe nicht gewar­ tet werden. Zum genauen Messen dieser Periode war unglück­ licherweise eine komplizierte Hardware notwendig. Erfin­ dungsgemäß ist jedoch dasselbe Prinzip, das für den Fall, beim die E/A-Periode kürzer als die Verarbeitungsperiode des DSP ist, auf diesen Fall anwendbar. Die Wartezeit-Verar­ beitung unter Verwendung des Semaphors wird also ebenfalls durchgeführt. Dadurch wird die komplizierte Hardware und Software zum Durchführen der obigen Messung überflüssig.
  • 5) Da die Adressen der externen E/A-Geräte, wie A/D- oder D/A-Umsetzer, Peripherie-E/A-Schnittstellen und ähnliches, den E/A-Parametern im voraus zugeordnet werden und diese E/A-Parameter als Zeiger zum Zugreifen auf die externen Geräte bedient werden, kann die Datenübertragung zwischen den Prozessen oder Verfahren wie üblich ablaufen. Demzufolge müssen dann, wenn in einer Sprache wie Assembler program­ miert wird, die externen Geräte und deren Adressen nicht spezifiziert werden. Das Signalverarbeitungsprogramm kann daher unabhängig von der Hardware verbessert werden. Ein solches Programm kann allgemein eingesetzt werden, um die Entwicklungskosten zu vermindern.

Claims (7)

1. Signalverarbeitungsvorrichtung, mit
einem Speicher (5) zum Speichern digitaler Signale und Prozesse zur Verarbeitung der digitalen Signale, einer Eingabe-Ausgabe-Vorrichtung (4) zum ingeben und Ausgeben der digitalen Signale zur und von der Signalverarbeitungsvorrichtung,
einer Direkt-Speicherzugriffs (DMA)-Steuereinrichtung (10), die mit dem Speicher (5) und der Eingabe-Ausga­ be-Vorrichtung (4) verbunden ist, zum Speichern/Lesen der digitalen Signale in/von dem Speicher (5) und der Eingabe-Ausgabe-Vorrichtung (4) in einem Direkt- Speicherzugriffs-Modus und
einem digitalen Signalprozessor (DSP) (2), der mit der DMA-Steuereinrichtung (10), der Eingabe-Ausgabe- Vorrichtung (4) und dem Speicher (5) verbunden ist, zum Verarbeiten der im Speicher (5) gespeicherten digitalen Signale nach Maßgabe der Prozesse, wobei eine von einer Task (Einzelaufgabe) des Prozesses angeforderte Datenübertragung von der DMA-Steuerein­ richtung (10) durchführbar ist, wenn eine Daten-Ein- Ausgabe-Periode kürzer ist als eine Verarbeitungszeit der Task, und wobei die von der Task angeforderte Datenübertragung auf eine Eingabe-Ausgabe-Anforderung hin vom DSP (2) ausführbar ist, wenn die Ein-Ausgabe- Periode länger als die Verarbeitungszeit dieser Task ist.
2. Vorrichtung nach Anspruch 1, dadurch gekenn­ zeichnet, daß der DSP (2) einen Interrupt zum Starten der Datenübertragung von/zur Eingabe-Ausgabe- Vorrichtung (4) einsetzt, wenn die Verarbeitungszeit der Task kürzer als die Ein-Ausgabe-Periode ist.
3. Vorrichtung nach Anspruch 1 oder 2, dadurch ge­ kennzeichnet, daß der DSP (2) ein Leerda­ ten-Kontrollprogramm unter Verwendung eines Sema­ phors ausführt, um das Vorhandensein von zu verarbei­ tenden digitalen Daten zu kontrollieren, und einen anderen Prozeß ausführt, wenn die digitalen Daten für die Verarbeitung nicht verfügbar sind.
4. Vorrichtung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die Adressen der Eingabe-Ausgabe-Vorrichtung (4) zwischen den Prozessen in einem Ablauf-Funktionsaufruf übergebbar sind.
5. Verfahren zum Verarbeiten digitaler Signale in einer Signalverarbeitungsvorrichtung, mit einer Eingabe- Ausgabe-Vorrichtung (4), einem Speicher (5) zum Speichern der digitalen Signale und mehrerer Pro­ zesse, die mit den digitalen Signalen ablaufen, einer Direkt-Speicherzugriff (DMA)-Steuereinrichtung (10) und einem digitalen Signalprozessor (DSP) (2) zum Verarbeiten der im Speicher (5) gespeicherten digitalen Signale oder von direkt von der Eingabe- Ausgabe-Vorrichtung (4) empfangenen digitalen Signa­ len nach Maßgabe einer Datenübertragungs-Anforderung von den mehreren Prozessen, mit folgenden Verfah­ rensschritten:
  • a) Bestimmen einer Verarbeitungsperiode einer die digitalen Signale verarbeitenden Task (Einzelaufgabe),
  • b) Bestimmen einer Ein-Ausgabe-Periode,
  • c) Vergleichen der Verarbeitungsperiode mit der Ein-Ausgabe-Periode,
  • d) Aufrufen der DMA-Steuereinrichtung (10) zum Übertragen der digitalen Signale zu/von dem Speicher (5), abhängig von dem Vergleich in Schritt c), wenn die Verarbeitungsperiode länger als die Ein-Ausgabe-Periode ist, so daß vor ihrer Verarbeitung durch den DSP (2) keine Daten verloren gehen,
  • e) Unterbrechen der momentan die digitalen Sig­ nale verarbeitenden Task, abhängig vom Ver­ gleich in Schritt c), um eine Daten-Eingabe- Ausgabe-Übertragung zu starten, wenn die Verarbeitungszeit kürzer als die Ein-Ausgabe- Periode ist, und
  • f) Fortsetzen der Verarbeitung der digitalen Signale nach Maßgabe der mehreren im Speicher gespeicherten Prozesse.
6. Verfahren nach Anspruch 5, dadurch gekenn­ zeichnet, daß Adressen der Eingabe-Ausgabe- Vorrichtung zwischen den. Prozessen als Eingabe- und Ausgabe-Parameter in einem Prozeß-Funktions-Aufruf weitergegeben werden.
7. Verfahren nach Anspruch 5, dadurch gekenn­ zeichnet, daß ein Leerdaten-Kontrollprogramm unter Verwendung eines Semaphors vom DSP ausgeführt wird, um das Vorhandensein von zu verarbeitenden digitalen Signalen zu kontrollieren, und daß ein anderer Prozeß ausgeführt wird, wenn die digitalen Signale für die Verarbeitung nicht verfügbar sind.
DE4223454A 1991-07-18 1992-07-16 Datenuebertragungssystem fuer eine digitale signalverarbeitungsvorrichtung Ceased DE4223454A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20400891A JP3201786B2 (ja) 1991-07-18 1991-07-18 ディジタル信号処理システムの制御方法

Publications (1)

Publication Number Publication Date
DE4223454A1 true DE4223454A1 (de) 1993-01-21

Family

ID=16483245

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4223454A Ceased DE4223454A1 (de) 1991-07-18 1992-07-16 Datenuebertragungssystem fuer eine digitale signalverarbeitungsvorrichtung

Country Status (3)

Country Link
US (1) US5487154A (de)
JP (1) JP3201786B2 (de)
DE (1) DE4223454A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19810849A1 (de) * 1998-03-13 1999-09-16 Tally Computerdrucker Gmbh Verfahren und Schaltung zum Ansteuern von Düsenköpfen in Tintendruckern, insbesondere von Düsenköpfen der PiEzo-Bauart

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0672065U (ja) * 1993-03-17 1994-10-07 アンデン株式会社 高速フーリエ変換解析装置
JP2924643B2 (ja) * 1994-05-19 1999-07-26 ヤマハ株式会社 ディジタル信号処理方法及び装置
US5878217A (en) * 1994-11-21 1999-03-02 Cirrus Logic, Inc. Network controller for switching into DMA mode based on anticipated memory overflow and out of DMA mode when the host processor is available
US6351780B1 (en) * 1994-11-21 2002-02-26 Cirrus Logic, Inc. Network controller using held data frame monitor and decision logic for automatically engaging DMA data transfer when buffer overflow is anticipated
US5708815A (en) * 1995-05-05 1998-01-13 Intel Corporation DMA emulation via interrupt muxing
US5673272A (en) * 1996-02-13 1997-09-30 Teradyne, Inc. Apparatus and method for performing digital signal processing in an electronic circuit tester
DE19708755A1 (de) * 1997-03-04 1998-09-17 Michael Tasler Flexible Schnittstelle
US6134579A (en) * 1997-08-15 2000-10-17 Compaq Computer Corporation Semaphore in system I/O space
EP1215577B1 (de) * 2000-08-21 2012-02-22 Texas Instruments Incorporated Auf ID Aufgaben basierende Fehlerverwaltung und -beseitigung
EP1296237A1 (de) * 2001-09-25 2003-03-26 Texas Instruments Incorporated Durch Taskattribute gesteuerte Datenübertragung
US20050038946A1 (en) * 2003-08-12 2005-02-17 Tadpole Computer, Inc. System and method using a high speed interface in a system having co-processors
JP4969054B2 (ja) * 2005-04-22 2012-07-04 ルネサスエレクトロニクス株式会社 情報処理装置
CN101881944A (zh) * 2010-06-18 2010-11-10 北京斯普信电子技术有限公司 能耗综合控制系统和方法
CN103424642B (zh) * 2012-05-16 2016-12-14 杭州佳和电气股份有限公司 具备多设备动态智能识别及能耗拆分功能的多功能电力仪表
CN104614615A (zh) * 2015-02-05 2015-05-13 成都市宏山科技有限公司 一种便携式电能质量分析系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4262331A (en) * 1978-10-30 1981-04-14 Ibm Corporation Self-adaptive computer load control
US4392196A (en) * 1980-08-11 1983-07-05 Harris Corporation Multi-processor time alignment control system
US4517641A (en) * 1982-04-30 1985-05-14 International Business Machines Corporation Lookahead I/O device control subsystem
US4658351A (en) * 1984-10-09 1987-04-14 Wang Laboratories, Inc. Task control means for a multi-tasking data processing system
JPH0778785B2 (ja) * 1986-03-29 1995-08-23 株式会社東芝 プロセッサ選択方法
EP0551931B1 (de) * 1987-06-05 1998-07-15 Mitsubishi Denki Kabushiki Kaisha Digitaler Signalprozessor mit Adress-Generator für den Zugriff von Daten aus einem Zweidirektionalen Bereich eines Datenspeichers
US5291614A (en) * 1991-09-03 1994-03-01 International Business Machines Corporation Real-time, concurrent, multifunction digital signal processor subsystem for personal computers

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SCHNURR, Klaus:"DMA-Meßtechnik mit einem PC", In: Elektronik 4/90, S. 90-102 *
TOSHIBA."Micro DMA erleichtert Datentransfer", In:Design & Elektronik 4/89, S. 157-158 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19810849A1 (de) * 1998-03-13 1999-09-16 Tally Computerdrucker Gmbh Verfahren und Schaltung zum Ansteuern von Düsenköpfen in Tintendruckern, insbesondere von Düsenköpfen der PiEzo-Bauart
DE19810849C2 (de) * 1998-03-13 2000-05-18 Tally Computerdrucker Gmbh Schaltung zum Ansteuern von in Zeilenrichtung (5) relativ zum Aufzeichnungsträger bewegten Düsenköpfen der Piezo-Bauart für Tindendrucker
US6273548B1 (en) 1998-03-13 2001-08-14 Tally Computerdrucker Gmbh Method and circuit for controlling nozzle heads in inkjet printers, in particular nozzle heads of piezoelectric device type

Also Published As

Publication number Publication date
JPH0530112A (ja) 1993-02-05
JP3201786B2 (ja) 2001-08-27
US5487154A (en) 1996-01-23

Similar Documents

Publication Publication Date Title
DE3210816C2 (de)
DE4223454A1 (de) Datenuebertragungssystem fuer eine digitale signalverarbeitungsvorrichtung
DE2718051C3 (de) Datenverarbeitungsanlage mit Einrichtungen zur wechselnden Bearbeitung mehrerer Aufgaben
EP0655682B1 (de) Recheneinheit mit mehreren ausführbaren Tasks
DE10085374B4 (de) Systemmanagementspeicher für die Systemmanagement-Interrupt-Behandler wird in die Speichersteuereinrichtung integriert, unabhängig vom BIOS und Betriebssystem
DE4011745C2 (de)
DE2629459C2 (de)
EP0519109A1 (de) Zugriffskontrolle in Rechnernetzen
DE3732808A1 (de) Verfahren und vorrichtung zum erzeugen und bearbeiten von unterbrechungspunkten in einem monitorprogramm
DE2744531A1 (de) Elektronische datenverarbeitungsanlage
DE2244402A1 (de) Datenverarbeitungsanlage
EP0799441B1 (de) Verfahren zur steuerung von technischen vorgängen
DE2064383B2 (de) Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen
DE4005042A1 (de) Architektur eines digitalen bewegungssteuerungselements hoher geschwindigkeit
DE2927481A1 (de) Datenverarbeitungsvorrichtung
DE2806409A1 (de) Vorrichtung zur reduzierung der befehlsausfuehrungszeit bei einem rechner mit indirekter adressierung eines datenspeichers
DE102019001129A1 (de) Numerische Steuervorrichtung
DE10213860B4 (de) Programmierbare Steuerung
EP0590175B1 (de) Prozesssteuerungssystem
DE3911840C2 (de)
DE2931121C2 (de)
EP1260905B1 (de) Programmgesteuerte Einheit
DE2507405A1 (de) Verfahren und anordnung zum synchronisieren der tasks in peripheriegeraeten in einer datenverarbeitungsanlage
DE4210844A1 (de) Programmierbare steuerung und verfahren zur ueberwachung eines ablaufprogrammes der steuerung
DE2607685B2 (de) Verfahren zum Betrieb von Prozessoren in einem Multiprozessorsystem

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8127 New person/name/address of the applicant

Owner name: AGILENT TECHNOLOGIES, INC. (N.D.GES.D.STAATES DELA

8127 New person/name/address of the applicant

Owner name: VERIGY (SINGAPORE) PTE. LTD., SINGAPORE, SG

8131 Rejection