DMA-Funktionsgenerator

Funktionsgeneratoren erfordern in der Regel einen erheblichen Schaltungsaufwand. Mit einem PC kann man einen Funktionsgenerator deutlich einfacher realisieren. In den 90er Jahren waren dabei zwei Ansätze üblich:

  1. Software-Realisierung: Die Bereitstellung der zyklisch auszugebenden Signalewerte erfolgt per Software. Diese Software blockiert den PC im Prinzip komplett. Dafür war nur ein geringer Hardwareaufwand nötig. Im einfachesten Fall genügte ein 8-Bit Digital-Analog-Umsetzer am Druckport.
  2. Hardware-Realisierung: Bei diesem Ansatz erfolt die zyklische Ausgabe und die interne Speicherung der Signalwerte mit separater hardware. Der PC wird nur genutzt, um die Kurvenformen der Signalverläufe zu erzeugen bzw. auf die Hardwarelösung übertragen und bestimmte Einstellungen (z.B. Taktfrequenz) vorzunehmen.

Bei dem hier vorgestellten Projekt wurde versucht, die Vorteile beider Ansätze zu kombinieren. Mit einem externen Zeitgeber (8253 oder 8254, beim Prototyp wird der russische Äquivaelnztyp KR580WI53 verwendet) wird die Datenausgabe zum Digital-Analog-Umsetzer über den DMA-Controller veranlaßt. Dadurch hält sich einerseits der Hardwareaufwand in Grenzen, andererseits wird der PC nicht merklich belastet und kann von anderen Programmen weiter genutzt werden.

Literatur

Röbenack, K.; Russwurm, D.: DMA im Einsatz: PC-Funktionsgenerator. Funkamateur, 1995, H.4, S. 373-376.

Prototyp-Realisierung auf einer Lockrasterplatte

Prototyp auf Lockrasterplatte

Realisierung auf einer zweiseitigen Leiterplatte

Zweiseitige Leiterplatte