Forum: Mikrocontroller und Digitale Elektronik D/A Wandlung


von Gast (Gast)


Lesenswert?

Hi leute.ich habe gerade ein Problem mit meinem D/A wandler.
Da jeder D/A Wandlung etwas Zeit benötigt, daher ist es notwendig, einen 
Wartezyklus in das Programm mit einzubauen.
Wo im Programm muss ich dieses delay einbauen?

von Benedikt K. (benedikt)


Lesenswert?

In Zeile 42.

Mehr Infos:
- Welcher Controller
- Was wird DA gewandelt
- Welcher DAC
- usw.

von Gast (Gast)


Lesenswert?

Hi Benedikt:
Zu deiner Frage.
1) Es wird eine Spannung gewandelt.
2) ein 12 bit DAC (AD5324)
3) ein 68HC11 (8 bit)
also ich habe eine Regelstrecke die an einem AD angeschlossen ist.die 
Daten werden digitalisiert an einem Microcontroller geschickt .Da die 
Strecke mit analogen spannung arbeitet müssen die Spannungswerte 
selbstverständig wieder in eine elektrische Größe -hier Spannung 
umgewandelt werden.

AD------>MCU----------->DA---------regelestrecke----.>AD und wieder zu 
MCU.

Mein programm arbeitet ganz gut vom AD zu MCU aber wenn ich die Daten im 
DA schreibe passiert gar nix.
die Chip select Leitung sieht ganz schlecht aus.
am Ausgang des DA passiert gan nix auch.

von Benedikt K. (benedikt)


Lesenswert?

Dann würde ich mal sagen, du hast in der Software irgendwo einen Fehler.
Zeig also mal den Code mit dem du den DAC ansteuerst.

von Benedikt K. (benedikt)


Lesenswert?

Ich habe von 68HC11 Assemblerprogrammierung leider garkeine Ahnung, 
sorry da muss ich passen.

von Johnny B. (Firma: MAXD) (laflamme)


Lesenswert?

Wiw waehre es in C?
wie muss ich vorgehen?

von Johnny B. (Firma: MAXD) (laflamme)


Lesenswert?

Hi Leute hat jemand eine Idee wie ich dieses Problem loesen kann?

von Jochen M. (taschenbuch)


Lesenswert?

>>die Chip select Leitung sieht ganz schlecht aus.
Was immer das auch bedeuten soll...
...was hälst Du denn davon, das vielleicht erstmal in Ordnung zu 
bringen?

Oder etwas genauer gefragt:
Wenn irgend etwas "ganz schlecht aussieht" (wie Du ja selbst schreibst), 
öhm.. wieso bitte wundert es Dich dann, dass die ganze Sache nicht 
klappt?

>>Hi Leute hat jemand eine Idee wie ich dieses Problem loesen kann?
Wie soll Dir denn Deiner Meinung nach geholfen werden, wenn Du den Code 
nicht vorzeigst? Wie?

Jochen Müller

von Johnny B. (Firma: MAXD) (laflamme)


Lesenswert?

Hi Jochen ich habe dir eine email geschrieben

von Rene (Gast)


Lesenswert?

Hallo Johnny,

nach deinen Aussagen bin ich der selben Meinung meiner Vorredner. Es 
klingt sher verdächtig nah Softwarefehler. Hast du außerdem mal deine 
Datenleitungen vom MUC zum D/A-Wandler überprüft.

Gruß Rene

von Johnny B. (Firma: MAXD) (laflamme)


Lesenswert?

Hi rene.ich habe die Leitung überprüft. ich habe die CS Leitung vom DAC 
mit dem  Oszi überprüft. Die CS Leitung vom DAC ist schwach im vergleich 
zu dem CS vom ADC.
Mein Programm arbeit reibungslos bis zum Microcontroller.das heisst 
schick ich eine Spannung vom zum beispiel 2,5V auf mein ADC dann habe 
ich auf dem Display die 2,5V im Hexdecimal $0800.das heisst 2048 BCD da 
mein ADC bzw mein DAC 12 bit lang sind.
Am ende der AD wandlung habe ich folgendes auf dem A bzw B register

MSB : $08
LSB : $00
beides entsprechen $0800
bis da ist alles richtig.
soweit ich weiss um die 2,5V in eine elketrische Spannung (analog)
zu haben muss ich die gewonnen Daten(MSB ,LSB) im SPDR senden
und dann ist die sache erledigt.oder liege ich falsch?
NB:die daten werden über SPI  Übertragen
kann mir jemamnd sagen wo das problem liegen konnte?

von Rene (Gast)


Lesenswert?

Ok, das ist schon mal ein kleiner Ansatz. Die Daten zum DAC werden 
gesendet oder liegt die Leitung immer auf Low oder meinst du mit schwach 
das etwas gesendet wird aber die Pegel niedrig sind. Option wäre dann 
Pull-UP oder Pull-Down , wobei ich mir da grad nicht ganz sicher bin ob 
das bei SPI geht wegen bidirektioaler Verbindung. Welchen 
Mikrocontroller verwendest du denn?
Dann kuck ich mal mit ins Datenblatt rein.

Grüße Rene

von Rene (Gast)


Lesenswert?

Ok, habs gesehn ist der 68HC11, schon amlesen ^^.

von Johnny B. (Firma: MAXD) (laflamme)


Lesenswert?

die CS leitung sieht so aus:


.     .
. .   .  .
. .   .  . usw.

ich meine die Amplituden sind nicht gleich gross.
ich benutze ein HC11 und eine AD7924 ung einen  AD5324 vom 
www.analog.com
ich glaube das Problem ist ein softwarefehler.kennst du dich gut mit 
demn Assembler damit ich dir das Programm schicke?

von Rene (Gast)


Lesenswert?

Ok, ich seler programmier PIC's von Microchipin Assembler beruflich 
recht oft.

Ich würde erstmal die SPI-Programmierung überprüfen. Freescale hat den 
aufbau der SPI-Schnittstelle gut beschrieben und welche Fehler auftreten 
können. Dabei abe ich mir das Datenbltt des MC68HC11D3 angesehen.

Ist dein MUC als Master konfiguriert und deine Wandler als Slaves?
Hast du auch immer genügen Zeit gelassen damit die Daten in ruhe 
eingelesen werden können  bzw. genug Zeit versteicht damit neue Daten 
geschrieb werden können? Einfach mal lange Pausen reinsetzen solage es 
der komplett erlaubt. Es dient ja nur zum gucken.

Ich meld mich mal an, bin ja öfters hier wegen Mail.

von Johnny B. (Firma: MAXD) (laflamme)


Lesenswert?

Hi mein MCU ist konfugiert als Master.
Ja jeder D/A Wandlung benötigt etwas Zeit.ich überlege mir noch da wo 
ich ein wartezyklus einbauen kann
bis später

von Johnny B. (Firma: MAXD) (laflamme)


Lesenswert?

Hi leute.ich habe ein Problem mit meiner Chip select leitung.
diese ist die ganze Zeit auf Low.
wie Kann ich meine Clockleitung mit meiner CS leitung synchronisieren?

http://www.analog.com/UploadedFiles/Data_Sheets/AD5304_5314_5324.pdf

von Rene B. (yob) Benutzerseite


Lesenswert?

Jap, das ist immer gut erst mal lansam laufen lassen und päter auf 
Gescwindigkeit optimieren, theoretisch müsstest du aber auch die 
Datenübertragung (einlesen vom ADC) und dann Datenübertragung (schreiben 
zum DAC) in deiner Entwicklungsumgebung fürs programmieren, simulieren 
können. Dabei kannst du dir dann die Register genau anschauen was bit 
für bit passiert und ob du dabei geung Zeit zwischen den Operationen 
hast damit kein Fehler auftritt.

Gruß Rene

von Jochen M. (taschenbuch)


Lesenswert?

Johnny,

Dieses treppenförmige Signal an deiner CS-Leitung ist auf jeden Fall 
verdächtig. Das muss AUF JEDEN FALL erst geklärt werden.
Sowas tritt typischerweise dann auf, wenn sich auf der CS mehrere 
Signale bekämpfen. Im einfachsten Fall ist auf der Platine ein 
Kurzschluss zwischen CS und einer anderen Signalleitung. Es kann auch 
sein, dass irgendwo die Richtung der Ports nicht stimmt. Hängt sonst 
noch etwas an der CS-Leitung?

Jochen Müller

von Johnny B. (Firma: MAXD) (laflamme)


Lesenswert?

Hi
Fuer den Fall dass es vielleicht ein Kurzschluss laege werde ich am mir 
dir das ganz genau anschauen.
an der CS-Leitung haengt nix anderes.
Sobald ich das ueberprueft habe werde ich ihne Bescheid sagen
Hi rene ich werde mir die Register bit fuer bit  anschauen
Hi Jochen was hattest mit mit dem Pulldown und Pullup gemeint?wie kann 
man das softwaremaessig realisieren?
Ok Leute vielen dank fuer eure Mithilfe

Leute

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.