DE19713870C1 - Elektronischer Funktionsgenerator mit FIFO-Speicher - Google Patents
Elektronischer Funktionsgenerator mit FIFO-SpeicherInfo
- Publication number
- DE19713870C1 DE19713870C1 DE1997113870 DE19713870A DE19713870C1 DE 19713870 C1 DE19713870 C1 DE 19713870C1 DE 1997113870 DE1997113870 DE 1997113870 DE 19713870 A DE19713870 A DE 19713870A DE 19713870 C1 DE19713870 C1 DE 19713870C1
- Authority
- DE
- Germany
- Prior art keywords
- generator according
- generator
- output
- signal
- fifo memory
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/02—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
- G01S7/28—Details of pulse systems
- G01S7/282—Transmitters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/02—Digital function generators
- G06F1/03—Digital function generators working, at least partly, by table look-up
- G06F1/0321—Waveform generators, i.e. devices for generating periodical functions of time, e.g. direct digital synthesizers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/02—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
- G01S7/28—Details of pulse systems
- G01S7/285—Receivers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Engineering & Computer Science (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Description
Die Erfindung befaßt sich mit arbiträren Funktionsgeneratoren, d. h. elektronischen Generatoren,
welche elektrische Signale mit unterschiedlichen Zeitfunktionen erzeugen können. Solche
Generatoren finden beispielsweise als Sendefunktionsgenerator in der Rückstrahl-Ortungstechnik
Anwendung, können aber auch bei der Funktionsprüfung elektronischer Schaltungen und Geräte,
bei der Ermittlung des Einschwing- und Zeitverhaltens solcher Schaltungen und Geräte sowie
allgemein im Labor vielseitig eingesetzt werden. Bislang auf dem Markt von Herstellern
elektronischer Meßgeräte angebotene Funktionsgeneratoren sind aufwendig und teuer.
Aufgabe der
Erfindung ist es folglich in erster Linie, einen arbiträren Funktionsgenerator zu schaffen, der aus
herkömmlichen und erprobten elektronischen Baugruppen kostengünstig aufgebaut und darüber
hinaus leicht auf unterschiedliche Funktionen umprogrammierbar ist.
Diese Aufgabe wird durch die im Anspruch 1 gekennzeichnete Erfindung gelöst. Sie macht sich
bestimmte Eigenschaften bekannter FIFO-Speicherbausteine (First-In-First-Out), nämlich deren
Retransmit-Funktion, zunutze und verwendet einen solchen asynchronen FIFO-Speicher als
funktionsbestimmendes Bauelement des Generators. Die Retransmit-Funktion asynchroner FIFO-
Strukturen wird normalerweise nur bei einer fehlerhaften Blockübertragung in digitalen Systemen
zum nochmaligen Datentransfer benutzt. Bei der Erfindung wird in den FIFO-Speicher mit Hilfe
eines beliebigen Prozessors eine N-Bit digitalisierte gewünschte Funktionssequenz mit insgesamt P
Stützstellen eingegeben. Abweichend von der normalen Speicheranwendung wird die Retransmit-
Leitung periodisch benutzt, um stationäre oder auch gepulste Funktionen zu erzeugen. Als
auslösendes Signal für die Retransmit-Operation dient das FIFO-typische Empty-Signal, welches
nach dem vollständigen Auslesen des Speichers auftritt. Nach jedem kompletten Auslesen der
programmierten Datensequenz durch insgesamt P Lesezyklen wird das Empty-Signal automatisch
aktiviert und hieraus das Retransmit-Signal abgeleitet. Das Empty-Signal löst also immer wieder
ein erneutes Auslesen des Speichers aus. Dieses repetierende Auslesen des FIFO-Speichers läßt die
gewünschte periodische Signalfunktion am Speicherausgang entstehen.
Der Einsatz von FIFO-Speichern in Generatorschaltungen ist an sich bekannt. So zeigt die in Patent
Abstracts of Japan, Sect. E, Bd. 17 (1993) unter Nr. 518 (E-1434) erörterte JP 5-13661 A eine
Synchronisierschaltung für einen spannungsgesteuerten Oszillator, bei der ein einem Zähler
vorgeschalteter FIFO-Speicher ein Halbbelegungssignal liefert, sobald die halbe Kapazität des
FIFO-Speichers belegt ist. Dann wird der Zähler zurückgesetzt und liefert ein Steuersignal an eine
die Frequenz des Oszillators beeinflussende Steuerschaltung. Ferner beschreibt die in Patent
Abstracts of Japan, Sect. E, Bd. 14 (1990) unter Nr. 483 (E-993) erwähnte JP 2-1999914 A einen
Impulsformer, bei dem unter Verwendung eines FIFO-Speichers in das Ausgangssignal eines
Impulsgenerators wahlweise ein zusätzlicher Impuls eingefügt werden kann.
Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung ergeben sich aus den
Unteransprüchen. Sie werden nachfolgend anhand mehrerer in den Zeichnungen wiedergegebener
Ausführungsbeispiele erläutert.
Darin zeigt:
Fig. 1 einen N = 9 Bit arbiträren Digitalsequenzgenerator;
Fig. 2a bis 2c die Zeitdiagramme der Empty- und Retransmit-Signale bei drei verschiedenen
Arten der Erzeugung des Retransmit-Signals;
Fig. 3 einen N = 9 Bit arbiträren Analogsignalgenerator;
Fig. 4 einen solchen Generator mit Frequenzvorteiler und PLL;
Fig. 5 einen Generator mit funktionaler Torschaltung;
Fig. 6 den Zeitverlauf des Generator-Ausgangssignals OUT und des Start-Stop-Signals R/S
für die Ansteuerung des Generators;
Fig. 7 einen Generator mit funktionaler Torschaltung und übergeordnetem
Pulseinheitenzähler M;
Fig. 8 einen zugehörigen Zeitverlauf der Signale OUT und R/S;
Fig. 9 einen Generator nach Fig. 7 mit zusätzlichem Amplitudensteller;
Fig. 10 einen Funktionsgenerator zur Verwendung als Sendestrahl-Richtungsbildner für
eine Echolotanlage; und
Fig. 11 die Draufsicht auf die Schaltungsplatine eines arbiträren Funktionsgenerators
gemäß der Erfindung etwa in Originalgröße.
Bei dem in Fig. 1 gezeigten arbiträren Digitalsequenzgenerator mit N = 9 Bit wird der FIFO-
Speicher D1, beispielsweise ein Baustein Typ CY7C464 der Firma CYPRESS, durch einen
geeigneten Prozessor an den neun Eingängen D0 bis D8 mit einer 9-Bit breiten Digitalsequenz der
Länge P programmiert. Dann erscheint an den neun Ausgängen Q0 bis Q8 beim ersten Lesezugriff
das zuerst einprogrammierte Datenwort, danach das zweite usw. Nach genau (P-1) Lesezugriffen
steht nur noch ein einziger Wert im FIFO, nämlich der zuletzt eingeschriebene. In Wirklichkeit
befinden sich natürlich noch alle Einschreibdaten im FIFO und nur die Lesehinweisadresse wurde
automatisch schrittweise fortgeschaltet. Andernfalls wäre keine Retransmit-Funktion möglich.
Voraussetzung ist, daß nicht mehr Daten einprogrammiert wurden, als der maximalen FIFO-
Speichertiefe Pmax entspricht. Damit die Bitsequenz für jeweils eine ganze Periode der
Taktgeberfrequenz FOSZ stabil ist, muß die Sequenz verriegelt oder zwischengespeichert werden.
Diesem Zweck dient das an die Ausgänge Q des FIFO D1 angeschlossene Vielfach-D-Flip-Flop
D2. Anderfalls wäre der Ausgabebus am Ende der "0"-Phase jedes Lesezugriffs zwischenzeitig
hochohmig. Unter obiger Voraussetzung
P ≦ Pmax [FIFO] (1)
erscheint beim P-ten Auslesen am Ausgang EF das "0"-aktive Empty-Signal, welches zum
Ansteuern des Retransmit-Eingangs RT benutzt werden soll. Dies kann auf drei verschiedene, in
Fig. 2 dargestellte Arten erfolgen. Dabei gelten die erste Signalzeile mit den Schreibzyklen WR und
die zweite Signalzeile mit den Lesezyklen RD für alle drei Varianten. Die Taktgeberfequenz FOSZ
liegt sowohl am Takteingang R des FIFO D1 als auch am Takteingang des Flip-Flops D2 an. Dieses
hat eine der Anzahl der FIFO-Ausgänge entsprechende Anzahl von Speicherzellen.
Bei der ersten in Fig. 2a gezeigten Schaltungsvariante wird das Empty-Signal vom Ausgang EF unter
Umgehung der Torschaltung G1 direkt an den Retransmit-Eingang RT gelegt. Es gilt also die
logische Gleichung
RETRANSMIT = EMPTY.
Hierbei erscheint EMPTY = "0" unmittelbar nach Beginn des P-ten Lesezugriffs und löst sofort
eine Retransmit-Funktion aus. Dies bedeutet, daß das letzte Datenwort nicht ausgegeben sondern
die Lesehinweisadresse sofort asynchron zum ersten Datenwort zurückgesetzt wird. Somit werden
von den P programmierten Datenworten nur die ersten (P-1) Werte (siehe Tabelle A) ausgegeben,
und das letzte Datenwort erscheint nicht im Ausgabesignalstrom. Gleichwohl kann diese Art der
Retransmit-Kopplung wohldefiniert benutzt werden. Der letzte Schreibtransfer stellt hierbei nur
einen Leerzugriff (DUMMY) dar, und das letzte programmierte Datum erscheint nicht am
Generatorausgang. Bei zeitkritischen Schaltungen mit Taktraten in der Größenordnung der
maximalen FIFO-Zugriffsrate wird dieses Verfahren durch die asynchrone Retransmit-Operation
eingeschränkt, weil diese Operation bis zur nächsten ansteigenden Flanke des Taktgebersignals
FOSZ vollständig durchgeführt sein, das zugehörige erste Datenwort am FIFO-Ausgang anliegen
und die Einstellzeit des verriegelnden D-Flip-Flop D2 eingehalten werden muß.
In der zweiten anhand von Fig. 2b zu erläuternden Schaltungsvariante tritt die genannte
Beschränkung nicht auf. Hier ist das Retransmit-Signal das in der Torschaltung G1 mit dem
Systemtakt FOSZ verriegelte Empty-Signal, d. h. es gilt
RETRANSMIT : = EMPTY.
In diesem in Fig. 2b dargestellten Fall gibt der FIFO-Speicher D1 nicht wie zuvor (Fig. 2a) nur (P - 1)
sonder jetzt (P + 1) Datenworte in das D-Flip-Flop D2 aus. Dabei werden zunächst exakt die P
programmierten Datenworte ausgegeben, und anschließend wird ein zusätzlicher hochohmiger Takt
durchlaufen. Das zwischengespeicherte Empty-Signal wird erst nach korrekter Ausgabe des letzten,
d. h. des P-ten Wortes als Retransmit-Signal zum Eingang RT durchgeschaltet und bleibt dann eine
ganze Taktperiode von FOSZ aktiv, so daß ausreichend Zeit zum internen Rücksetzen der
Lesehinweisadresse verbleibt. Während dieses Zusatztaktes wird standardmäßig der FIFO-Ausgang
deaktiviert, also hochohmig geschaltet. Normalerweise wird die BUS-Leitung vom FIFO zum D-
Flip-Flop zeitlich beschränkt freigegeben, so daß ein immer gleiches Datenwort (im allg. "11...11"
oder "00...00") stabil am Ausgang des FIFO anliegt und als zusätzlicher Zustand mit ausgegeben
wird.
Diese Variante hat den Vorteil, zeitunkritisch die Retransmit-Operation bis zur maximalen
Betriebsfrequenz des FIFOs ausführen zu können; jedoch muß der zusätzliche, nicht wahlfrei
programmierbare Retransmit-Zustand von vornherein in der Datensequenz vorgesehen werden. Bei
zyklischer Wiederholung der (P + 1) Werte (s. Tabelle A) müssen die arbiträr programmierten P
Werte dergestalt sein, daß sich der Retransmit-Wert lückenlos zwischen dem P-ten und dem ersten
Wert einfügt. Diese Bedingung läßt sich bei vielen praktischen Anwendungen ohne weiteres
erfüllen.
Nunmehr soll anhand von Fig. 2c eine dritte Variante der Erzeugung des Retransmit-Signals
beschrieben werden. Sie ermöglicht die exakte Ausgabe der P programmierten Datenworte
(s. Tabelle A), ohne einen zusätzlichen Zustand oder eine reduzierte Anzahl von Datenworten zu
liefern. Das Retransmit-Signal wird hier aus dem Empty-Signal EF und dem Lesetakt FOSZ
kombinatorisch nach der Beziehung
RETRANSMIT / = / EMPTY & FOSZ
erzeugt. Hierfür empfängt die Torschaltung G1, wie Fig. 1 zeigt, außer dem Empty-Signal auch den
Systemtakt FOSZ. Dadurch wird der P-te Lesezugriff beim Auslesen des letzten programmierten
Datenwortes vollständig abgearbeitet und dieses Datenwort verriegelt, obwohl das Empty-Signal
inzwischen bereits auf "0" geschaltet ist (vgl. Fig. 2c). Der Taktsignalzustand "0" blockiert die
Retransmit-Operation solange, bis der aktuelle Lesezyklus beendet ist. Erst danach wird durch
FOSZ = "1" die Retransmit-Funktion während der normalen Lesepause sofort initialisiert, so daß
zu Beginn des nächsten Lesezugriffs (FOSZ = "0") die interne Lesehinweisadresse wieder auf das
erste programmierte Datenwort zeigt. Da jedem FIFO-Speicher ohnehin eine minimale Lesepause
zugestanden werden muß, kann die Retransmit-Operation während dieser Pause ablaufen.
Die nachfolgende Tabelle A zeigt die Anzahl der Datenworte bei Programmierung einer Sequenz
mit P Worten:
Wie man sieht gibt nur die Variante c) die richtige programmierte Anzahl von Datenworten oder
Zuständen aus und läßt die völlige Wahlfreiheit der Programmierung arbiträrer Funktionen zu.
Daher werden nachfolgend nur diese in Fig. 1 gezeigte Variante und ihre weiteren Ausgestaltungen
erläutert.
Um aus den zyklisch ausgegebenen digitalen N-Bit Wortsequenzen analoge Signale abzuleiten,
muß entweder anstelle des D-Flip-Flops von Fig. 1 entsprechend Fig. 3 ein Digital/Analog-Umsetzer
DAC vorgesehen oder am Ausgang des D-Flip-Flops ein R2R-Kettenleiternetzwerk angeschlossen
werden. Sollen beide Signalformen digital und analog verfügbar sein, bietet die Kettenleiter-Lösung
eine Bauteilersparnis, weil die FIFO-Daten in jedem Fall verriegelt werden müsen. Fig. 3 zeigt einen
arbiträr programmierbaren Analogsignalgenerator mit N = 9 Bit und einem D/A-Umsetzer DAC,
dessen neun Eingange an die neun Ausgänge Q0 bis Q8 des FIFO-Speichers D1 angeschlossen sind
Außerdem erhält der D/A-Umsetzer die Taktfrequent FOSZ und liefert an seinem Ausgang das
analoge Ausgangssignal FOUT. Ansonsten stimmt die Schaltung mit Fig. 1 überein.
Mit einem solchen Funktionsgenerator kann bei fester Systemfrequenz FOSZ die Frequenz FOUT
des gelieferten Analogsignals zunächst nur durch Variation der programmierten Stützstellentiefe
eingestellt werden. Für ein FIFO mit großen Pmax (2048 oder mehr) kann man mit großen Werten
von P ≦ Pmax relativ feine Frequenzschritte realisieren. Für kleine Werte von P hingegen werden die
Schritte zu grobstufig. Man stellt deshalb dem Generator eine veränderbare Taktfrequenz FOSZ zu
Verfügung, so daß die sich ergebende Periodedauer des Ausgangssignals nunmehr durch FOSZ und
P optimiert werden kann. Grundsätzlich sollte man allerdings auch bei festem Systemtakt FOSZ die
maximale Stützstellentiefe des FIFOs möglichst gut ausnutzen. Wenn bei fester FOSZ nur wenige
Stützstellen benutzt werden, wobei die zur Frequenz FOUT des Ausgabesignals ideale
Stützstellenzahl klein und keine ganze Zahl ist, wird die maximale Anzahl von Z ganzen Perioden
der gewünschten Frequenz in die verfügbare Speichertiefe programmiert, damit die
Frequenzauflösung so groß wie möglich wird. Die tatsächliche Ausgangsfrequenz FOUT ergibt sich
dann zu
FOUT = FOSZ . Z/P (2)
Wenn man nun die Taktfrequenz FOSZ selbst, wie Fig. 4 zeigt, durch Einsatz einer digital
programmierbaren Phasenverriegelungsschleife PLL über einen großen Frequenzbereich ändern
kann, werden die Auflösung von FOUT sowie der insgesamt überstrichene Arbeitsbereich
entspechend verbessert. Lediglich extrem niedrige Ausgabefrequenzen lassen sich auf diese Weise
derzeit noch schlecht erzeugen, weil alle jetzt verfügbaren PLLs als minimale typische
Ausgabefrequenz 1 MHz haben.
Nach einer weiteren Ausgestaltung der Erfindung wird deshalb im arbiträren Generator ein
zusätzlicher, frei programmierbarer Frequenzvorteiler VT mit einem Vorteilerfaktor V
implementiert, wie dies in Fig. 4 dargestellt ist. Der Frequenzvorteiler ist eingangsseitig an den PLL-
Takt FPLL angeschlossen und liefert am Ausgang an den Systemtakt FCLK. PLL und VT stehen mit
den Dateneingängen D0 bis D8 des FIFO-Speichers D1 in Verbindung. Zum Programmieren der
PLL-Schaltung und/oder des Frequenzvorteilers sind beide an den Programmiereingang PRGM
angeschlossen. Ansonsten stimmt die Schaltung nach Fig. 4 mit Fig. 3 bzw. Fig. 1 überein. Gelingt es,
einen Vorteilerfaktor V in der Größenordnung von 1000 zu realisieren, so sind nach G1. 3 mit Z = 1
Ausgangsfrequenzen FOUT < 1 Hz bereits mit 1K-FIFO-Strukturen erzeugbar, selbst wenn
FPLLmin wie oben erwähnt, 1 MHz beträgt.
FOUT = (FPLL . Z) / (P . V) (3)
FOUT = (FOSZ . Z) / (P . V) (3a)
Mit einem durchaus gängigen Vorteilerfaktor V = 1024 läßt sich der Frequenzbereich um drei
Zehnerpotenzen erweitern. Dabei ist FOSZ nicht starr sondern kann beispielsweise im Bereich von
780 kHz bis zu einer maximalen Betriebsfrequenz von 66 MHz in feinsten Schritten verändert
werden. Die PLL-Option verfeinert das realisierbare Frequenzraster derart, daß für einen großen
Frequenzbereich die Frequenzabweichung praktisch Null ist. Sie bewirkt ferner eine nochmalige
Steigerung des insgesamt abgedeckten Ausgangsfrequenzbereichs, welcher bei Pmax = 32768 mit
lg[(FOSZmax/2 : FOSZmin/(Pmax . 1024))] = lg [(&6 MHz/2) : (780 kHz/(32768 . 1024))] 9,15
ungefähr 9 Zehnerpotenzen überstreicht.
Benutzt man statt der PLL-Schaltung nur einen Mutterquarz mit FOSZ, so gilt G1. 3a. Legt man den
Generator zusätzlich für einen extern einspeisbaren Betriebstakt XOSZ aus, so kann jede beliebig
kleine Frequenz entsprechend G1. 3a mit XOSZ anstelle von FOSZ erzeugt werden. Der Betriebstakt
FCLK liegt außerdem, wie in Fig. 1 und 3, am Takteingang R des FIFO-Speichers sowie an der
Torschaltung G1.
Bisher wurde nur der stationäre Dauerstrichbetrieb des Generators beschrieben. Er bietet aber auch
die Möglichkeit, jede arbiträr programmierte Funktion wohldefiniert bis zu ihrem funktionalen
Ende ablaufen zu lassen, ehe der Generator deaktiviert wird. Man bezeichnet das als funktionales
Gating oder funktionale Abschaltung. Eine solche Weiterbildung zeigt die Ausführungsform nach
Fig. 5. Der Generator wird hier durch ein externes Signal R/S bei "1" sofort gestartet und bei "0"
(gewünschte Stillsetzung) nicht sofort, sondern über die Torschaltung FG erst am funktionalen
Ende der gerade programmierten Sequenz, d. h. nach dem Auslesen der P-ten Stützstelle angehalten.
Die funktionale Torschaltung FG hat drei Eingänge, denen das Abschaltsignal R/S, das Empty-
Signal EF sowie der Systemtakt zugeführt werden. Der Ausgang FCLK dieser Torschaltung FG
liefert jetzt den freigeschalteten Systemtakt..
Man könnte diese funktionale Verknüpfung mit der Torschaltung FG durch sofortiges Abschalten
des Betriebstaktes umgehen, was jedoch bei arbiträr programmierten Pulsfunktionen kaum sinnvoll
ist. Für die Anwendung der Erfindung in Echolotgeräten werden beispielsweise Sendepulspakete
mit zeitlich begrenzter Impulslänge und vorgegebener Sendeimpuls-Kernfrequenz FOUT benötigt.
Der Echolotprozessor erzeugt das Sendertriggersignal R/S, dessen Aktivierungsdauer mit einem
Deaktivierungs-Signalüberganng "1 =< 0" zeitlich irgendwo innerhalb der letzten
Funktionssequenz enden kann. Diese vereinfachte Ansteuerung über eine funktionale Torschaltung
FG ergibt sich aus dem Zeitdiagramm nach Fig. 6. Die dort dargestellte funktionale Abschaltung des
Ausgangssignals FOUT gewährleistet bei geringen zeitlichen Anforderungen an das Abschaltsignal
R/S, daß das erzeugte Pulspaket immer definiert zu Ende gebracht wird. Die maximal mögliche
Länge des Pulspakets wird zunächst direkt durch die aktuell programmierte Anzahl arbiträrer
Stützstellen definiert, ist also durch die maximale Speichertiefe Pmax des eingesetzten FIFO-
Speichers beschränkt.
In der Echolottechnik und auch bei vielen anderen Anwendungsmöglichkeiten für den neuen
Funktionsgenerator haben zeitbegrenzte Pulspakete innerhalb eine Gesamtpakets vielfach einen
konstanten z. B. sinusförmigen Kurvenverlauf. Um dies zu erreichen, kann im Generator ein frei
programmierbarer übergeordneter Pulseinheitenzähler PZ vorgesehen werden, den Fig. 7 erkennen
läßt. Er zählt M aufeinander folgende Pulspakete DURCH Abzählen der auftretenden EF = 0
Signale ab und faßt diese zu einem übergeordneten Impulsblock M zusammen (vgl. Fig. 8). Erst am
Ende eines solchen Impulsblocks M wird ein gewünschtes Ende des Sendeimpulses, angezeigt
durch einen Signalübergang R/S =< "0", durch funktionale Abschaltung über eine funktionale
Torschaltung FG bewirkt. Somit kann die effektive Länge einer Impulseinheit um den
Pulseinheitenfaktor M gesteigert werden. Die zeitliche Dauer TPB eines solchen Impulsblocks
ergibt sich dann zu
TPB = (P . V . M) / FPLL (4)
Bei Verwendung eines Oszillatortaktes FOSZ anstelle einer programmierbaren PLL gilt demnach
G1. 4 mit FOSZ statt FPLL. Die Schaltung nach Fig. 7 erlaubt es, mit zeitlich sehr einfach zu
erzeugenden Triggersignalen R/S auch relativ lange Pulspakete M mit vorgebener Pulslänge P
exakt zu erzeugen; in Fig. 8 ist M = 3. Die Impulsblockdauer TBP beträgt nach G1. 4 jeweils P × M
Taktimpulsperioden. Dies ergibt mit P = Pmax = 32768 bei FPLL = 66 MHz mit M = 256 ud V =
1024 eine Impulsblockdauer von 130 sec und bei FPLL = 780 kHz eine Dauer von 11013 sec.
Der programmierbare Pulseinheitenzähler PZ ist mit seinen Eingängen an die funktionale
Torschaltung FG und das Emptysignal EF angeschlossen. Seine Ausgänge stehen mit den
Dateneingängen D0 bis D8 des FIFO-Speichers in Verbindung. Zum Programmieren des Wertes M
sind die Programmierleitung PRGM und die Schreibleitung WRITE sowie der parallele Datenbus
angeschlossen.
Mit den bisher beschriebenen Generatorschaltungen kann die Ausgangsamplitude nur durch
Variation der digitalen Stützstellenwerte beeinflußt werden. Dies bedeutet, daß für kleinere
Amplituden die Signalauflösung (relative Bitquantisierung) prozentual entsprechend abnimmt. Soll
die Amplitudenquantisierung für alle Pegelbereiche konstant sein, muß am Generatorausgang, wie
Fig. 9 zeigt, ein multiplizierender D/A-Umsetzer MDAC verwendet werden. Dessen
Referenzspannung wird durch einen als Amplitudensteller arbeitenden langsamen Stell- D/A-
Umsetzer SDAC oder durch eine Verriegelungsschaltung in Verbindung mit einem R-2R-
Kettenleiternetzwerk erzeugt. Zusätzlich ist in Fig. 9 ein externer Referenzspannungs-Eingang
XREF vorgesehen, welcher immer dann benutzt werden kann, wenn der interne Referenz-D/A-
Umsetzer MDAC hochohmig geschaltet wird oder wenn XREF und MDAC mittels eines
Summierpunkts überlagert werden. Der Stell-DAC SDAC ist mit seinen Dateneingängen an den
Programmierdatenbus des FIFO-Speichers angeschlossen. Der Ausgang des SDAC liegt am
Bezugsspannungseingang REF des multiplizierenden D/A-Umsetzers MDAC. Diesem Eingang REF
kann ferner ein externes Bezugssignal XREF zugeführt werden.
Die Auflösung des Amplitudenstell-DACs SDAC kann eine völlig andere sein als die des
eigentlichen Generator-DACs MDAC. In Fig. 9 wird als Beispiel jedoch dieselbe Bitquantisierung
N benutzt. Bei Verwendung des externen Referenzeingangs XREF kann man zum einen durch
Anlegen einer Gleichspannung die gewünschte Maximalamplitude festlegen. Darüber hinaus ist
eine direkte Amplitudenmodulation bis zum maximalen Betriebsfrequenzbereich der Schaltung
möglich. Damit können je nach den aktuellen Frequenzverhältnissen arbiträr erzeugte
Trägerschwingungen eine Amplitudeninformation erhalten oder umgekehrt extern eingespeiste
Träger arbiträr moduliert werden. Der programmierbare Amplitudenstell-DAC erlaubt bei
konstanter Signaläuflösung mit 8 Bit beispielsweise eine Amplitudenvariation A von
A = 0, 1, 2, ..... 126, 255. Diese 256 interaktiv programmierbaren Einstellungen (ca. 30 dB) können
z. B. einen programmierbaren Dynamikbereich von 0 V .... 5 V für den maximalen
Ausgangssignalwert liefern.
Das Programmieren des neuen Funktionsgenerators kann von jedem beliebigen Prozessor mit
paralleler BUS-Struktur erfolgen, wobei nur eine einzige Adresse des Prozessor-RAMs belegt wird.
Die in Fig. 11 schematisch dargestellte Konfiguration wird beispielsweise direkt von einem PC aus
über dessen CENTRONICS-Schnittstelle programmiert. Als einzige Adresse wird die des
verwendeten Parallel-PORTs und des zugehörigen PC-Controlregisters bedient. Für die
Programmiersequenz wird ein festes Programmierformat definiert. Nach Auslösen des
Rücksetzsignals wird der Funktionsgenerator automatisch in den Programmiermodus geschaltet. Er
erwartet nun eine Reihe von Bytetransfers, mit denen zum einen die Systemparameter
(Vorteilerfaktor V, Pulspaketfaktor M, Amplitudenparameter A und PLL-Parameter) eingegeben
werden und zum anderen, falls erwünscht, eine Neu/Umprogrammierung der Funktionssequenz
durchgeführt wird. Der Bytetransfer wird also in eine Steuersequenz und eine anschließende
Funktionssequenz unterteilt. In der Steuersequenz wird auch die Information mit übertragen, ob die
z. Zt. im Generator programmierte Funktion umprogrammiert werden soll oder nicht. Ist dies nicht
der Fall und werden also nur die Betriebsparameter geändert, so wird lediglich eine kurze
Steuersequenz von beispielsweise 3 Bytes übertragen. Danach kann der Generator mit den neuen
Betriebsparametern sofort die bereits programmierte Funktion mit numehr geänderten Parametern
liefern.
Soll dagegen eine Umprogrammierung der Funktion erfolgen, so schließt sich an die Steuersequenz
eine Anzahl P ≦ Pmax von Funktionssequenz-Bytes und parallel die gewählte
Synchronisationssequenz an. Hierzu zweigt die Hardware Bit 8 ab, welches dann als eigenständiges
Signal SYNC-OUT ausgegeben wird. Die Funktionsquantisierung arbeitet dann entsprechend nur
noch mit (N-1) Bits. Das Ende wird durch das Freigeben des während der Programmierung
abgeschalteten Taktgebers festgelegt. Ein weiterer Programmiermodus hängt an eine bereits
programmierte Funktionssequenz eine weitere Funktionsfolge an, ohne daß die alte Funktion neu
programmiert werden muß.
Da alle Betriebsparameter und die gesamte Funktionssequenz im Generator gespeichert sind, wird
während seiner Nutzung keinerlei Rechenzeit benötigt. Der Generator kann nach dem
Programmieren vom PC entfernt werden; nur die Spannungsversorgung muß verfügbar sein. Er
kann eigenständig oder extern getriggert beliebig lange laufen. Wird kein R/S-Signal angelegt, läuft
er im Dauerstrichbetrieb.
In Fig. 10 ist die Anwendung des anhand von Fig. 9 beschriebenen Funktionsgenerators in einem
Sendestrahl-Richtungsbildner einer Echolotanlage dargestellt. Der beschriebene Generator speist
hier eine Bank von 32 unabhängigen Beamformer-Laufzeitketten mit Digitalsequenzen. Die D/A-
Umsetzung findet anschließend in allen 32 Kanälen für die 32 elektroakustischen Wandler statt.
Zwischen die Bank von D/A-Umsetzern DAC00 bis DAC31 und die Signalausgänge Q0 bis Q8 des
FIFO-Speichers D1 ist für jeden Kanal 00 bis 31 eine digitale Verzögerungsschaltung VS
eingeschaltet. Der Funktionsgenerator kann über eine CENTRONICS-Schnittstelle oder über einen
beliebigen byte-orientierten Datenbus frei programmiert und alternativ zum bordeigenen ADC im
Bereich von 0 bis 40 MHz betrieben werden. Außer dem Frequenzvorteiler VT, der PLL-Schaltung,
dem Pulseinheitenzähler PZ und der funktionalen Torschaltung FG sind auch die 32
Amplitudensteller SDAC mit auf der Platine angeordnet, um jeden der Laufzeitkettenausgänge
einer unabhängigen, frei programmierbaren Amplitudengewichtung unterziehen zu können. Da der
Richtungsbildner sowohl für analoge Wandler-Endstufen als auch für ternär schaltende Brücken-
Endstufen ausgelegt sein kann, läßt sich der gesamte Generatorkern vom analogen wortparallelen 9
Bit-Modus in einen 2 Bit Ternärmodus umschalten. Ein Steuerwerk übernimmt auch in dieser
Betriebsweise alle Kontrollfunktionen, so daß im Ternärmodus die vierfache maximale Pulstiefe 4
× Pmax realisiert werden kann.
Fig. 11 zeigt etwa in Originalgröße einen Funktionsgenerator gemäß Fig. 9 mit den Baugruppen
D1: FIFO-Speicher
D2: Steuerwerk mit PZ, FG, VT, SDAC
D3: programmierbare PLL
C1: Pufferkondensator der Stromversorgung
U1: MDAC
G1: Oszillator FOSZ
D2: Steuerwerk mit PZ, FG, VT, SDAC
D3: programmierbare PLL
C1: Pufferkondensator der Stromversorgung
U1: MDAC
G1: Oszillator FOSZ
Er hat die Abmessungen eines Steckplatine (Dongle) und besteht aus minimal 2 und maximal 5
aktiven Chips. Die Speichertiefe Pmax beträgt je nach Bestückung 64 bis 32768 Speicherpositionen
(32K-FIFO), welche in 2er-Potenzschritten pinkompatibel bestückbar sind. Als Systemfrequenz
kann beispielsweise jeder Standard-Oszillator im 8DIL300 oder 14DIL300-Gehäuse bis zur
maximalen Taktfrequenz FOSZ von 66 MHz eingesetzt werden. Ist die PLL-Schaltung vorgesehen,
so muß die Mutter-Taktfrequenz FOSZ zwischen 2 MHz und 32 MHz liegen. Bei Verwendung einer
32K-Speicherstruktur sind Frequenzen im Bereich von FCLK/32768 bis FCLK/2 möglich. Man
kann also bereits ohne Variation der PLL-Ausgangsfrequenz und ohne programmierbaren
Frequenzvorteiler einen Frequenzbereich von lg[32768/2] = 4,21, also mehr als 4 Zehnerpotenzen
überdecken. Somit lassen sich auch Sinussignale mit kleinem Klirrfaktor bis in den MHz-Bereich
erzeugen. Die Schaltungsausgänge DC-OUT und AC-OUT können direkt niederohmige Lasten bei
einer Ausgangsimpedanz von 160 Ω treiben bzw. hochohmig (5 kΩ) ausgekoppelt eine nachfolgende
Verstärkerstufe ansteuern. TP-OUT stellt ein tiefpaßgeglättetes Ausgangssignal zur Verfügung,
wobei die Grenzfrequenz sowie die Ausgangsamplitude zusätzlich mit jeweils 8 Bit programmiert
werden können. SYNC-OUT liefert die wahlfrei progammierbare Synchronisationsfunktion in
Form von 0/1-Sequenzen entsprechend 0 V/5 V.
Claims (18)
1. Elektronischer Funktionsgenerator, dadurch gekennzeichnet, daß eine Periode (P) der zu
erzeugenden Funktion in Form mehrerer Stützwerte in einen asynchronen FIFO-Speicher (D1)
programmiert ist, dessen Retransmit-Eingang (RT) das am Ende des Auslesens auftretende Signal
(EF) vom Empty-Ausgang des Speichers zugeführt wird.
2. Generator nach Anspruch 1, dadurch gekennzeichnet, daß dem Retransmit-Eingang (RT)
zusätzlich eine das Fortschalten des Speichers steuernde Taktfrequenz (FOSZ) zugeführt wird.
3. Generator nach Anspruch 2, gekennzeichnet durch eine Torschaltung (FG) zur Verknüpfung
von Taktfrequenz und einem verriegelten Empty-Signal derart, daß erst nach Ausgabe des letzten
(P-ten) gespeicherten Datenworts das verriegelte Empty-Signal an den Retransmit-Eingang (RT)
durchgeschaltet wird.
4. Generator nach Anspruch 3, dadurch gekennzeichnet, daß das zuletzt ausgelesene Datenwort
zwischengespeichert und das Empty-Signal beim Auftreten des nächsten Taktimpulses an den
Retransmit-Eingang (RT) durchgeschaltet wird.
5. Generator nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß an die
Datenausgänge (Q0 bis Q8) des FIFO-Speichers (D1) ein mit der gleichen Taktfrequenz gesteuertes
Mehrfach-Flip-Flop (D2) mit einer der Anzahl der Datenausgänge entspechenden Anzahl von
Stufen angeschlossen ist.
6. Generator nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß zum Erzeugen
analoger Ausgangssignale an die Datenausgänge (Q0 bis Q8) des FIFO-Speichers (D1) ein R2R-
Kettenleiternetzwerk angeschlossen ist.
7. Generator nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß zum Erzeugen
analoger Ausgangssignale an die Datenausgänge (Q0 bis Q8) des FIFO-Speichers (D1) ein von der
gleichen Taktfrequenz gesteuerter D/A-Umsetzer (DAC) angeschlossen ist.
8. Generator nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß die Taktfrequenz
mit FOSZ fest vorgegeben ist.
9. Generator nach Anspruch 8, dadurch gekennzeichnet, daß zwischen dem Taktgeber (FOSZ)
eine programmierbare Phasenverriegelungs-Schaltung (PLL) nachgeschaltet ist.
10. Generator nach Anspruch 9, dadurch gekennzeichnet, daß zwischen die PLL-Schaltung und
den Betriebstaktanschluß (FCLK) ein programmierbarer Frequenzteiler (VT) eingeschaltet ist.
11. Generator nach Anspruch 9 oder 10, gekennzeichnet durch eine funktionale Torschaltung
(FG), die mit Eingängen an den Empty-Ausgang (EF) des FIFO-Speichers (D1), den Taktgeber und
eine Triggersignalquelle (R/S) angeschlossen ist und einen Ausgang (FCLK) als Systemtakt des
Generators hat.
12. Generator nach Anspruch 11, gekennzeichnet durch einen programmierbaren
Pulsgruppenzähler (PZ), der eingangsseitig an das Empty-Signal (EF) sowie die Dateneingänge des
FIFO-Speichers (D1) angeschlossen und ausgangsseitig mit der funktionellen Torschaltung (FG)
verbunden hat.
13. Generator nach einem der Ansprüche 7 bis 12, gekennzeichnet durch einen programmierbaren
Amplitudensteller (SDAC), der eingangsseitig an die Dateneingänge des FIFO-Speichers (D1) und
gegebenenfalls an den Pulsgruppenzähler (PZ) und/oder die PLL-Schaltung angeschlossen ist
während sein Ausgang mit einem Bezugssignaleingang (REF) des als multiplizierender D/A-
Umsetzer (MDAC) ausgebildeten D/A-Umsetzers in Verbindung steht.
14. Generator nach Anspruch 13, dadurch gekennzeichnet, daß der Amplitudensteller ein
programmierbarer D/A-Umsetzer (SDAC) ist.
15. Generator nach Anspruch 13 oder 14, dadurch gekennzeichnet, daß der
Bezugsspannungseingang (REF) des multiplizierenden D/A-Umsetzers (MDAC) an eine externe
Bezugssignalquelle (XREF) anschließbar ist.
16. Generator nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß an die
Ausgänge des FIFO-Speichers (D1) eine Bank paralleler D/A-Umsetzer (DAC 00 bis DAC31)
angeschlossen ist, welche die Wandler einer Ultraschall-Sendeanlage speisen.
17. Generator nach Anspruch 16, dadurch gekennzeichnet, daß zwischen die FIFO-Ausgänge und
die D/A-Umsetzer der Umsetzerbank je eine digitale Verzögerungsschalteung (VS) eingeschaltet
ist.
18. Generator nach einem der Ansprüche 9 bis 17, dadurch gekennzeichnet, daß zusätzlich ein
1 Bit-Synchronisationsausgang (SYNC) vorhanden ist, wobei die Funktionsquantisierung auf (N-1)
Bit reduziert ist.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1997113870 DE19713870C1 (de) | 1997-04-04 | 1997-04-04 | Elektronischer Funktionsgenerator mit FIFO-Speicher |
DE1998106271 DE19806271B4 (de) | 1997-04-04 | 1998-02-16 | Signalgenerator für Rückstrahl-Ortungsgeräte |
EP98106001A EP0887928A3 (de) | 1997-04-04 | 1998-04-02 | Elektronischer Funktionsgenerator und dessen Anwendung in Rückstrahl-Ortungsgeräten |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1997113870 DE19713870C1 (de) | 1997-04-04 | 1997-04-04 | Elektronischer Funktionsgenerator mit FIFO-Speicher |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19713870C1 true DE19713870C1 (de) | 1998-10-01 |
Family
ID=7825403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1997113870 Expired - Lifetime DE19713870C1 (de) | 1997-04-04 | 1997-04-04 | Elektronischer Funktionsgenerator mit FIFO-Speicher |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE19713870C1 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10229241A1 (de) * | 2002-06-28 | 2004-01-22 | Robert Bosch Gmbh | Funktionsgenerator |
DE19806271B4 (de) * | 1997-04-04 | 2004-04-29 | L-3 Communications Elac Nautik Gmbh | Signalgenerator für Rückstrahl-Ortungsgeräte |
-
1997
- 1997-04-04 DE DE1997113870 patent/DE19713870C1/de not_active Expired - Lifetime
Non-Patent Citations (4)
Title |
---|
JP 2-199914 A, In: Pat. Abstr. of JP, Sect. E, Vol. 14, (1990) * |
JP 5-136661 A. In: Pat. Abstr. of JP, Sect. E * |
Nr. 483 (E-993) * |
Vol. 17 (1993), Nr. 518 (E-1434) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19806271B4 (de) * | 1997-04-04 | 2004-04-29 | L-3 Communications Elac Nautik Gmbh | Signalgenerator für Rückstrahl-Ortungsgeräte |
DE10229241A1 (de) * | 2002-06-28 | 2004-01-22 | Robert Bosch Gmbh | Funktionsgenerator |
DE10229241B4 (de) * | 2002-06-28 | 2004-05-27 | Robert Bosch Gmbh | Funktionsgenerator |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2917017C2 (de) | Taktsignalgenerator | |
DE102004037162A1 (de) | Verfahren und Vorrichtung zur Erzeugung eines Taktsignals | |
DE3938126A1 (de) | Empfaenger mit direkter quadratur-abtastung des eingangssignals | |
DE69913582T2 (de) | Vielseitiger Signalgenerator | |
DE2510668A1 (de) | Digital programmierbare zeitgeber- und verzoegerungsanordnung | |
DE2230153C2 (de) | Adaptiver Decodierer | |
DE19713870C1 (de) | Elektronischer Funktionsgenerator mit FIFO-Speicher | |
DE3801993C2 (de) | Zeitgebersystem | |
DE10114942A1 (de) | Lineares Pulsbreitenmodulationssystem | |
DE1947555B2 (de) | ||
DE3917020A1 (de) | Digital-analog-wandler | |
DE3722906C2 (de) | Steuerbare Maximallängen- Linearwiederholungsfolgegeneratoranordnung | |
DE3919530A1 (de) | Verfahren zur digitalen modulation und digitaler modulator | |
WO2002023843A1 (de) | Verfahren zur erzeugung von mobilkommunikationssignalen verschiedener mobilfunkstandards | |
EP0607630B1 (de) | Schaltungsanordnung zum Verzögern eines Nutzsignals | |
DE10122702C2 (de) | Verfahren und Vorrichtung zum Erzeugen eines zweiten Signals mit einem auf einem zweiten Takt basierenden Takt aus einem ersten Signal mit einem ersten Takt | |
EP1573921A1 (de) | Digital steuerbarer oszillator | |
EP0497416B1 (de) | Schaltungsanordnung zur Zeitbasis-Transformation eines digitalen Bildsignals | |
DE102007043340B4 (de) | Erhöhung der PWM-Auflösung durch Modulation | |
EP1472844B1 (de) | Taktsteuerung und abtastratenumsetzung im sender eines digitalen transceivers | |
EP0887928A2 (de) | Elektronischer Funktionsgenerator und dessen Anwendung in Rückstrahl-Ortungsgeräten | |
DE19837658B4 (de) | Übertragungssignal-Empfängerschaltung | |
WO2000007142A1 (de) | Getaktete integrierte halbleiterschaltung und verfahren zum betreiben einer solchen | |
DE60308112T2 (de) | Einfaches Zweidraht-Kommunikationsprotokoll mit Rückmelde-Status | |
EP1012965B1 (de) | Schaltung zum erzeugen eines modulierten signals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8100 | Publication of the examined application without publication of unexamined application | ||
D1 | Grant (no unexamined application published) patent law 81 | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: L-3 COMMUNICATIONS ELAC NAUTIK GMBH, 24118 KIEL, D |
|
8364 | No opposition during term of opposition | ||
AG | Has addition no. |
Ref document number: 19806271 Country of ref document: DE |
|
R071 | Expiry of right |