Forum

Einloggen | Registrieren | RSS  

Sven P

12.04.2005,
13:00
 

Aus digitalem Bitmuster eine Frequenz erstellen. Wie? (Elektronik)

Hallo liebe Gemeinde,

Ich möchte über eine PIO-Karte von BMC eine Frequenz von 0 bis 2000Hz erzeugen (oder über LPT). Mein Problem ist nun, daß ich keinen Baustein finde der sich direkt mit 8-bit ansteuern lässt und mir daraus die Frequenz erzeugt. Beim Stöbern in alten Schulbüchern sind mir 2 Bausteine aufgefallen die ich vielleicht benutzen könnte:
den 10bit D/A Wandler AD7533 und den U/f-Wandler AD654.

Kennt jemand eine einfachere Lösung?

Danke schonmal

Sven

EL-Huber(R)

E-Mail

Vimercate,
12.04.2005,
14:31

@ Sven P

Aus digitalem Bitmuster eine Frequenz erstellen. Wie?

» Hallo liebe Gemeinde,
»
» Ich möchte über eine PIO-Karte von BMC eine Frequenz von 0 bis 2000Hz
» erzeugen

Hallo Sven,
zunächst einmal muß ich genau klären was Du machen willst.
Willst Du mit der BMC-Karte ein 8-bit-Bitmuster ausgeben, das dann mit einem D/A-Wandler in eine Spannung umgesetzt wird, die eine bestimmte Signalform einer Frequenz entspricht oder
brauchst Du auf einem digitalen Ausgang ein einzelnes Bit, das seinen Wert mit einer bestimmten Frequenz wechselt.

Für den ersten Fall ist der von Dir gefundene DAC oder ein R2R Netzwerk erforderlich. Außerdem brauchst Du noch ein Programm, das die Siganalform in quantisierter Form als Bitmuster ausgibt.

Der 2. Fall braucht im Prinzip nur ein Programm, das nur die Frequenz kontrolliert und dann das eine Bit (XOR) immer wieder alterniert.
Alternativ dazu könntest Du anstelle des PIO-Bausteins einen Zeitgeber einsetzten (wie früher die 8255, 8253, 8254-Bausteine). Der 8254 ist da ein 4-fach Zeitgeber, der nach Außen je 3 Anschlüsse hat: Tor, Ausgang und ext.Takt.
Damit habe ich auf einem simpel-Steuerungssystem eine Orgel gebaut. Das System frägt eine Tastatur ab und in abhängigkeit der gedrücketen Taste lädt es das Zeitgeber-Register des 8254 mit einem definierten Wert. Daraufhin entsteht am Ausgang eine bestimmte Frequenz.

CU
Stefano

Harald Wilhelms

E-Mail

12.04.2005,
15:50

@ Sven P

Aus digitalem Bitmuster eine Frequenz erstellen. Wie?

» Hallo liebe Gemeinde,
»
» Ich möchte über eine PIO-Karte von BMC eine Frequenz von 0 bis 2000Hz
» erzeugen (oder über LPT). Mein Problem ist nun, daß ich keinen Baustein
» finde der sich direkt mit 8-bit ansteuern lässt und mir daraus die
» Frequenz erzeugt. Beim Stöbern in alten Schulbüchern sind mir 2 Bausteine
» aufgefallen die ich vielleicht benutzen könnte:
» den 10bit D/A Wandler AD7533 und den U/f-Wandler AD654.
»
» Kennt jemand eine einfachere Lösung?

Ja, mit der Soundkarte! ;-)

Ansonsten gibt es in der 4000-er Serie noch programmier-
bare Frequenzteiler, die man auch dafür verwenden könnte.
Wichtig wäre es noch zu wissen, welche Auflösung und
Genauigkeit Du benötigst.
Gruss
Harald

Sven P

12.04.2005,
21:51

@ Sven P

Also ich wollt das so machen...

es soll eine Simulationskarte werden welche zu Testzwecken in eine Baugruppe eingeschoben wird. Die Funktionen sollen sein:
Rechtecksignal 0 bis 2000Hz
Mindestens 6 Digitalausgänge
eventuell auch eingänge (bleibt zu definieren).
Anfangs dachte ich kein Problem. Am Parallelport gibts ja 8 Datenleitungen und ein paar Eingangssignale. Kollegen erklärten mir dann, daß eine Frequenzerzeugung mit dem Port nicht ganz problemlos wäre weil Windows ja mehrere Tasks laufen hat, die auch mal rankommen wollen und somit das signal gestört sein könnte. Ich kann das nur so weitergeben, bin kein Fachmann!
Und weil wir im Betrieb mit Notebooks unterwegs sind, wo einige keinen LPT besitzen und die RS232 auch schon besetzt ist, will ich nun versuchen die Karte über USB anzusteuern. Da kam mir das USB PIO-modul von BMC gerade recht. Dazu brauche ich aber jetzt einen D/A-Wandler, der mir eine Frequenz ausgibt. Bisweilen ist mir nur die Kombination von dem AD7533 und AD654 (haben wir bereits im Einsatz) bekannt.

Sven

Kamikatse(R)

12.04.2005,
22:20

@ Sven P

Also ich wollt das so machen...

wie wäre es mit einem µC als Zwischenspeicher?

LPT oder andere Schnittstelle übergibt dem µC einen Binärcode, der wandelt die in eine Frequenz und gibt diese aus.
Die Frequenz wäre Stabil, ganz egal, wie ausgelastet der PC ist.

Dann hast du noch die Möglichkeit externe Signale im µC zu speichern bis der PC diese abrufen kann.

Die Idee dazu ...

Du teilst die 8 Datenleitungen auf in 4 Datenleitungen und 3 Handshakes.
Legst die Upper-Bits an die 4 Datenleitungen und machst nen Handshake (HS1).
Legst dann die Lower-Bits an die 4 Datenleitungen und machst nen Handshake (HS1).
Der µC hat jetzt die 8 Bit im Speicher. Mit einem Handshake (HS2) wird dann die Frequenz geändert.

Der 3. Handshake wäre für eine Signalübernahme. Liegen externe Signale am µC schaltet der die auf die LPT-Eingänge (als Beispiel). Wenn die Eingänge gelesen sind, gibt es den Handshake und der µC setzt die Ausgänge zurück.

Dann haste sogar noch eine Signalleitung über. Könntest sogar auf 10 Bit hoch gehen.

Zugegeben, es ist keine "einfach mal aufbauen" Schaltung. Viel Overhead und Traffic-Controll aber ich denk, dass dies stabiler und genauer sein dürfte, als die direkte Frequenzwandlung aus dem LPT. Grade wegen der Tasks des PCs.

--
Greez
Kami

-----------------------------------------

Die letzte Stimme, die man hört,
bevor die Welt explodiert,
wird die Stimme eines Experten sein,
der da sagt:
"Das ist technisch unmöglich!"

Peter Ustinov

Manfred Glahe

E-Mail

13.04.2005,
09:13

@ Sven P

Also ich wollt das so machen...

» es soll eine Simulationskarte werden welche zu Testzwecken in eine
» Baugruppe eingeschoben wird. Die Funktionen sollen sein:
» Rechtecksignal 0 bis 2000Hz
» Mindestens 6 Digitalausgänge
» eventuell auch eingänge (bleibt zu definieren).
» Anfangs dachte ich kein Problem. Am Parallelport gibts ja 8 Datenleitungen
» und ein paar Eingangssignale. Kollegen erklärten mir dann, daß eine
» Frequenzerzeugung mit dem Port nicht ganz problemlos wäre weil Windows ja
» mehrere Tasks laufen hat, die auch mal rankommen wollen und somit das
» signal gestört sein könnte. Ich kann das nur so weitergeben, bin kein
» Fachmann!
» Und weil wir im Betrieb mit Notebooks unterwegs sind, wo einige keinen LPT
» besitzen und die RS232 auch schon besetzt ist, will ich nun versuchen die
» Karte über USB anzusteuern. Da kam mir das USB PIO-modul von BMC gerade
» recht. Dazu brauche ich aber jetzt einen D/A-Wandler, der mir eine
» Frequenz ausgibt. Bisweilen ist mir nur die Kombination von dem AD7533 und
» AD654 (haben wir bereits im Einsatz) bekannt.
»
» Sven

Hallo Sven,

heute würde ich das nur noch mit einem DDS Baustein machen. Ich habe gerade mit einem PIC16F84 µP und dem DDS AD9833 (DC bis 2MHz in 1Hz Schritten einstellbar) solch eine Applikation fertiggestellt. Wenn Du möchtest, kann ich Dir die Unterlagen dafür zukommen lassen.

MfG Manfred Glahe

Sven P

13.04.2005,
22:54

@ Kamikatse

Also ich wollt das so machen...

» wie wäre es mit einem µC als Zwischenspeicher?
»
» LPT oder andere Schnittstelle übergibt dem µC einen Binärcode, der wandelt
» die in eine Frequenz und gibt diese aus.
» Die Frequenz wäre Stabil, ganz egal, wie ausgelastet der PC ist.
»
» Dann hast du noch die Möglichkeit externe Signale im µC zu speichern bis
» der PC diese abrufen kann.
»
» Die Idee dazu ...
»
» Du teilst die 8 Datenleitungen auf in 4 Datenleitungen und 3 Handshakes.
» Legst die Upper-Bits an die 4 Datenleitungen und machst nen Handshake
» (HS1).
» Legst dann die Lower-Bits an die 4 Datenleitungen und machst nen Handshake
» (HS1).
» Der µC hat jetzt die 8 Bit im Speicher. Mit einem Handshake (HS2) wird
» dann die Frequenz geändert.
»
» Der 3. Handshake wäre für eine Signalübernahme. Liegen externe Signale am
» µC schaltet der die auf die LPT-Eingänge (als Beispiel). Wenn die Eingänge
» gelesen sind, gibt es den Handshake und der µC setzt die Ausgänge zurück.
»
» Dann haste sogar noch eine Signalleitung über. Könntest sogar auf 10 Bit
» hoch gehen.
»
» Zugegeben, es ist keine "einfach mal aufbauen" Schaltung. Viel Overhead
» und Traffic-Controll aber ich denk, dass dies stabiler und genauer sein
» dürfte, als die direkte Frequenzwandlung aus dem LPT. Grade wegen der
» Tasks des PCs.

Hi,
genau das habe ich vor: eben mal aufbauen! *ggg*
An uC habe ich auch schon gedacht, stehe allerdings auf Kriegsfuss mit den Teilen. Es würde schon reichen, wenn an einer Bedienoberfläche xy Hz eingestellt werden, und auf dem Board kommt die Frequenz dann hinten raus. Ich werde mir mal anschaun was Manfred programmiert hat.

Aber vielen Dank fÜr die Antwort
Sven

Sven P

E-Mail

13.04.2005,
23:55

@ Manfred Glahe

Klingt interessant

» » es soll eine Simulationskarte werden welche zu Testzwecken in eine
» » Baugruppe eingeschoben wird. Die Funktionen sollen sein:
» » Rechtecksignal 0 bis 2000Hz
» » Mindestens 6 Digitalausgänge
» » eventuell auch eingänge (bleibt zu definieren).
» » Anfangs dachte ich kein Problem. Am Parallelport gibts ja 8
» Datenleitungen
» » und ein paar Eingangssignale. Kollegen erklärten mir dann, daß eine
» » Frequenzerzeugung mit dem Port nicht ganz problemlos wäre weil Windows
» ja
» » mehrere Tasks laufen hat, die auch mal rankommen wollen und somit das
» » signal gestört sein könnte. Ich kann das nur so weitergeben, bin kein
» » Fachmann!
» » Und weil wir im Betrieb mit Notebooks unterwegs sind, wo einige keinen
» LPT
» » besitzen und die RS232 auch schon besetzt ist, will ich nun versuchen
» die
» » Karte über USB anzusteuern. Da kam mir das USB PIO-modul von BMC gerade
» » recht. Dazu brauche ich aber jetzt einen D/A-Wandler, der mir eine
» » Frequenz ausgibt. Bisweilen ist mir nur die Kombination von dem AD7533
» und
» » AD654 (haben wir bereits im Einsatz) bekannt.
» »
» » Sven
»
» Hallo Sven,
»
» heute würde ich das nur noch mit einem DDS Baustein machen. Ich habe
» gerade mit einem PIC16F84 µP und dem DDS AD9833 (DC bis 2MHz in 1Hz
» Schritten einstellbar) solch eine Applikation fertiggestellt. Wenn Du
» möchtest, kann ich Dir die Unterlagen dafür zukommen lassen.
»
» MfG Manfred Glahe

Hallo Manfred,
das hört sich sehr interessant an. Wie ich Kamikatse schon geschrieben habe, wollte ich keinen Controller oder Prozessor verwenden. Soeben habe ich herausgefunden, dass die IC aus der AD983X reihe eigentlich genau das sind, was ich brauche. Wenn es keine Umstände macht würde ich mir gerne mal deine Unterlagen ansehn.

Schonmal danke im vorraus
Sven

Manfred Glahe

E-Mail

14.04.2005,
09:08

@ Sven P

Klingt interessant

> Wenn es keine Umstände macht würde ich mir gerne
» mal deine Unterlagen ansehn.
»
» Schonmal danke im vorraus
» Sven

Hier die Unterlagen.
Ach noch ein Tip, AD hat auf seiner Hompage eine Online Bitmusterberechnung, da kann man gut seine eigenen errechneten Ergebnisse Vergleichen.

MfG Manfred Glahe

http://www.elektronik-kompendium.de/forum/upload/20050414090829.asm

Manfred Glahe

E-Mail

14.04.2005,
09:19

@ Manfred Glahe

Klingt interessant

Und die Schaltung.

http://www.elektronik-kompendium.de/forum/upload/20050414091918.pdf

Sven P

14.04.2005,
22:40

@ Manfred Glahe

Echt gut,

super, vielen Dank. Ich werde mir das Ganze mal ansehen und versuchen etwas auf die Beine zu stellen.

MfG
Sven

raimund.wlo

13.01.2020,
10:42

@ Manfred Glahe

Also ich wollt das so machen...

» » es soll eine Simulationskarte werden welche zu Testzwecken in eine
» » Baugruppe eingeschoben wird. Die Funktionen sollen sein:
» » Rechtecksignal 0 bis 2000Hz
» » Mindestens 6 Digitalausgänge
» » eventuell auch eingänge (bleibt zu definieren).
» » Anfangs dachte ich kein Problem. Am Parallelport gibts ja 8
» Datenleitungen
» » und ein paar Eingangssignale. Kollegen erklärten mir dann, daß eine
» » Frequenzerzeugung mit dem Port nicht ganz problemlos wäre weil Windows
» ja
» » mehrere Tasks laufen hat, die auch mal rankommen wollen und somit das
» » signal gestört sein könnte. Ich kann das nur so weitergeben, bin kein
» » Fachmann!
» » Und weil wir im Betrieb mit Notebooks unterwegs sind, wo einige keinen
» LPT
» » besitzen und die RS232 auch schon besetzt ist, will ich nun versuchen
» die
» » Karte über USB anzusteuern. Da kam mir das USB PIO-modul von BMC gerade
» » recht. Dazu brauche ich aber jetzt einen D/A-Wandler, der mir eine
» » Frequenz ausgibt. Bisweilen ist mir nur die Kombination von dem AD7533
» und
» » AD654 (haben wir bereits im Einsatz) bekannt.
» »
» » Sven
»
» Hallo Sven,
»
» heute würde ich das nur noch mit einem DDS Baustein machen. Ich habe gerade
» mit einem PIC16F84 µP und dem DDS AD9833 (DC bis 2MHz in 1Hz Schritten
» einstellbar) solch eine Applikation fertiggestellt. Wenn Du möchtest, kann
» ich Dir die Unterlagen dafür zukommen lassen.
»
» MfG Manfred Glahe


Hallochen, ich wäre an den Unterlagen interessiert ... insbesondere an der Programmlogik zur Steuerung des AD9833
... haben Sie die Unterlagen noch?

MfG