Forum: Mikrocontroller und Digitale Elektronik MSP430*248 vs. AD7793


von Bergie B. (bergie)


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.

von Raimund R. (corvuscorax)


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.

von Bergie B. (bergie)


Lesenswert?

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

von Raimund R. (corvuscorax)


Lesenswert?

Tja, kein Vorteil ohne Nachteil.
Für irgend eine Methode wirst Du Dich aber wohl entscheiden müssen, 
gelle?

Bedenke: Die Summe aller Übel ist stets konstant. ;-)

von Bergie B. (bergie)


Lesenswert?

Ok erstmal danke für deine Hilfe =)

Meine hoffnung war das mir einer sagen kann das mein MSP430x248 das Rdy 
Signal des AD-Wandeles erkennt und so zu sagen automatisch nen Int. 
auslösen kann.

LG

von Arc N. (arc)


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).

von Raimund R. (corvuscorax)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.