mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AD7495


Autor: Dirk (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich muss mich leider an die Community wenden, weil ich keine Idee mehr
habe wo mein Problem liegt.

Ich möchte mittels externen ADC (AD7495) eine Spannung messen. Der Ad
Wandler ist Hardwaremaessig am SPI Bus des ATmega16.

Die ADC Routine laeuft folgend ab:

Ich setze CS (SS) auf Low danach schiebe ich ueber MOSI 2* 8Bit raus,
nachdem 16 Clocksignal (SCLK) setze ich CS (SS) wieder auf High.
Eigentlich sollte ich jetzt alle Daten ueber MISO empfangen haben. Gebe
ich mir den 16Bit Wert aus erhalte ich immer 0.

Ich hab im Anhang meine Routinen und hoffe jemand hat nen Tipp fuer
mich wo mein Problem liegen koennte.

µC: AVR ATMEGA16 @4Mhz

Gruß,
Dirk

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Dirk,

>Ich setze CS (SS) auf Low danach schiebe ich ueber MOSI 2* 8Bit raus,
>nachdem 16 Clocksignal (SCLK) setze ich CS (SS) wieder auf High.

Überprüfe bitte zuerst die Hardware, mit einer einfachen LED oder einem
Oszi folgendes prüfen:

- geht CS wirklich auf LOW ?
- werden wirklich an MOSI Daten gesendet?

wenn das funktioniert, kannst Du MOSI und MISO miteinander verbinden,
d.h. der Master empfängt seine eigenen Daten, somit kannst Du Deine
Software Master-Seitig schonmal testen.

Bernhard

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

/CS habe ich geprüft indem ich einige Warteschleifen >1Sek beim /CS
Wechsel eingefuegt habe.

MOSI und MISO werde ich heute abend mal miteinander verbinden und
prüfen.

Leider besitze ich hier kein DSO sonst würde ich einmal kurz die Daten
sampeln, falls jemand ncoh einen Tipp hat wuerde ich mich ueber eine
Antwort freuen.

Ich werde heute abend nochmal Bericht erstatten.

Gruß,
Dirk

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist DSO? Deutsche Stiftung Organtransplantation

Bernhard

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

DSO = Digital Speicher Oszilloskope

Dirk

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

so habe mal MISO und MOSI verbunden und ich erhalte die Sendewerte. Der
AD Wandler gibt mir immer noch 0 zurueck.

Ich hab keine Idee mehr und kann mir das nicht erklaeren.

Gruß,
Dirk

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Dirk,

Welchen Wert haben die Pull-Up-Widerstände ?

Clock Polarity und Clock Phase geprüft ?

Nicht dass Dein AD7495 die Signale nicht versteht ;)

Könntest Du uns Deine Schaltung zur Verfügung stellen?

Bernhard

Autor: Dirk (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

>Welchen Wert haben die Pull-Up-Widerstände ?

Der Pullup am /CS Pin betraegt 10k. Für MISO hab ich keinen bzw. auch
keinen internen aktiviert. Ein Test mit aktivierten internen Pullup
blieb leider auch ohne Erfolg.CPOL habe ich in der Init beachtet (CPOL
= 1). Eine Test mit CPHA 1 und 0 blieb leider ohne Erfolg.
Eine kleine selbst geschriebene Funktion zur Ausgabe des Clocks und des
Samplen der Daten auf Miso brachte auch nix.

Ein Screenshot befindet sich im Anhang. Vin geht auf ein Spgteiler zum
Schutz des ADC's.

Langsam bestaerkt sich das Gefuehl das der Chip aus irgendwelchen
Gruenden defekt ist.

Gruß,
Dirk

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab mir gerade mal das Datenblatt angeschaut.

Ist ja interessant, der AD7495 kann nur über MISO Daten an den µC
senden.

Demzufolge ist MOSI bei Dir am µC nicht beschaltet?

Wenn ich es jetzt richtig überschaut habe, dann sendet der AD7495
sofort Daten, wenn CS auf LOW gezpgen wird und SCK einen Takt sendet.

Aber welche Bedeutung hat VDrive ?

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hoffentlich stimmt der LOW PEGEL bei SS (R103/R104) ?

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

>Wenn ich es jetzt richtig überschaut habe, dann sendet der AD7495
>sofort Daten, wenn CS auf LOW gezpgen wird und SCK einen Takt sendet.

Richtig, lowpegel liegt bei 0,3V an /SS. VDrive ist fuer die SPI I/O's
(5V/3,3V Systeme).

>Demzufolge ist MOSI bei Dir am µC nicht beschaltet?

MOSI haengt offen, weil ich nur die Clockimpulse benoetige und das
samplen auf MISO. Der AD Wandler besitzt auch keine Register fuer
Commando's / Einstellungen.

Ich hab mir jetzt nochmal ganz genau die PCB angeschaut und so wie es
aussieht hat der Bestueckungsautomat nen Kondensator verloren. Der
Kondensator ist zwischen MISO und /SS verloetet. Leider kann ich erst
morgen diesen entfernen und testen. Ich gebe morgen abend bescheid, ob
die Entfernung zum Erfolg fuehrte.

Ich bedanke mich recht herzlich fuer deine Beteilung @Bernhard

Gruß,
Dirk

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Der Kondensator ist zwischen MISO und /SS verloetet.

Das könnte natürlich die Ursache sein

>Ich bedanke mich recht herzlich fuer deine Beteilung

gern geschehen

Bernhard

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich wollte nur kurz bescheid geben.

Der AD Wandler funktioniert jetzt einwandfrei. Es war kein
Softwarefehler sondern es lag am Kondensator zwischen /SS und SCLK,
durch diesen Kondensator hat sich die Rise und Fall Time des
Clocksignals so stark veraendert.

Gruß,

Dirk

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.