AD7495

Gast #329524
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
Angehängte Dateien:
#329525
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
Gast #329526
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
Gast #329531
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
Angehängte Dateien:
#329532
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 ?
Gast #329534
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
Gast #329536
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

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.