mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik D/A Wandlung


Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In Zeile 42.

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

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

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

Autor: Johnny Brian (Firma: MAXD) (laflamme)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wiw waehre es in C?
wie muss ich vorgehen?

Autor: Johnny Brian (Firma: MAXD) (laflamme)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute hat jemand eine Idee wie ich dieses Problem loesen kann?

Autor: Jochen Müller (taschenbuch)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johnny Brian (Firma: MAXD) (laflamme)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Jochen ich habe dir eine email geschrieben

Autor: Rene (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johnny Brian (Firma: MAXD) (laflamme)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Rene (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rene (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, habs gesehn ist der 68HC11, schon amlesen ^^.

Autor: Johnny Brian (Firma: MAXD) (laflamme)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Rene (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Johnny Brian (Firma: MAXD) (laflamme)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johnny Brian (Firma: MAXD) (laflamme)
Datum:

Bewertung
0 lesenswert
nicht 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/AD...

Autor: Rene B. (yob) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jochen Müller (taschenbuch)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johnny Brian (Firma: MAXD) (laflamme)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.