MSP430*248 vs. AD7793

OP #1409420
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
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
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
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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.