MSP430*248 vs. AD7793

OP #1409420
Lesenswert?
• ▲
▼
Hallo,

ich habe die Aufgabe bekommen mit einem externen ADC Widerstände zu 
Messen. Ich habe den AD7793 gewählt und über SPI mit meinen µC 
verbunden.

Probleme habe ich jetzt mit der Behandlung des "data-ready signal".

Meine erste Idee war das die einen Interrupt auslösen soll, aber mein 
SPI Pin kann dieses nicht.

Kann mir einer Helfen?




------------------------------------------------------------------
The DOUT/RDY pin operates as a data-ready signal also, the line going 
low when a new data-word is available in the output register. It is 
reset high when a read operation from the data register is complete. It 
also goes high prior to the updating of the data register to indicate 
when not to read from the device, to ensure that a data read is not 
attempted while the register is being updated.
#1409464
Lesenswert?
• ▲
▼
Wo ist denn jetzt Dein Problem?
Sei einfach mal ein bißchen kreativ!

Wer sagt denn, daß man(n) das DOUT/RDY-Signal nur an einen Pin des 
Controllers legen darf?
Da der Pin ja eine duale Funktion hat, kann man ihn sowohl an SPI hängen 
für die 'normale' Kommunikation und an einen maskierbaren 
Interrupt-Eingang, der in der Lage sein sollte die fallende Flanke am 
DOUT/RDY-Signal zu detektieren und daraufhin einen Interrupt auszulösen. 
Während man selbst mit dem AD7793 kommuniziert sollte man dann tunlichst 
den Interrupt-Eingang via Maske 'disablen', damit Dein µC keine 
Interrupts während dieser Zeit vom ADC akzeptiert.

Eine andere Methode wäre das Status-Register kontinuierlich zu pollen 
und SR7 (was das /RDY-Bit ist) abzufragen.
#1409543
Lesenswert?
• ▲
▼
Bergie B. schrieb:
> Das Problem ist das ich gehoft habe die spärlich vorhandenen Interrupt
> für anderes benutzen zu können. =)
>
> Ein Pollen habe ich getest, verbraucht mir aber zu viel Rechenleistung.
>
> LG Bergie

Warum Pollen oder Interrupt?
Der interne Oszillator des AD7793 ist genau und stabil genug, um die 
Wandlungen einfach per Timer alle x-Millisekunden (mit entsprechenden 
Reserven) starten zu können (bzw. die Ergebnisse auszulesen).
#1409556
Lesenswert?
• ▲
▼
Arc Net schrieb:
> Warum Pollen oder Interrupt?
> Der interne Oszillator des AD7793 ist genau und stabil genug, um die
> Wandlungen einfach per Timer alle x-Millisekunden (mit entsprechenden
> Reserven) starten zu können (bzw. die Ergebnisse auszulesen).

Kann man auch machen. Nur dann sollte man tunlichst nicht den 
"Continuous Conversion Mode", der auch noch der Default-Mode ist, 
wählen, sondern den "Single Conversion Mode" - dann gibt es jedenfalls 
keine Probleme, das der ADC und der µC asynchron zueinander werden 
können, und man kann den Timer zur 'Ablaufsteuerung' mißbrauchen.

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.