DE4223454A1 - Datenuebertragungssystem fuer eine digitale signalverarbeitungsvorrichtung - Google Patents
Datenuebertragungssystem fuer eine digitale signalverarbeitungsvorrichtungInfo
- 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
Links
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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling 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).
(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.
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.
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)
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)
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)
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 |
-
1991
- 1991-07-18 JP JP20400891A patent/JP3201786B2/ja not_active Expired - Fee Related
-
1992
- 1992-07-14 US US07/913,608 patent/US5487154A/en not_active Expired - Lifetime
- 1992-07-16 DE DE4223454A patent/DE4223454A1/de not_active Ceased
Non-Patent Citations (2)
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)
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 |