Externer 16 Bit D/A-Wandler parallel an 8 Bit AVR

OP #2637401
Lesenswert?

Hallo Forum!

Ich möchte einen externen 16 Bit D/A-Wandler(LTC1821) über eine 
parallele Schnittstelle mit einem AVR ATxmega128A3U ansteuern. Was muss 
ich dabei prinzipiell beachten? Ich meine, dass ich einen 16 Bit DAC 
nicht so einfach an einen 8 Bit Miktocontroller anschließen kann, oder 
etwa doch? Würde mich über ein Paar Tipps riesig freuen.

Danke.
Gast #2637414
Lesenswert?

>Oder sie ueber 2 Ports ausgeben

Oder durch zwei Schreibbefehle.

So wie das Lesenn/Schreiben von internen 16bit Registern.

Dazu brauchst du einen 74HC573.

Wenn Du willst, mach ich dir ne Skizze, wie das verschaltet werden muss
Gast #2637442
Lesenswert?

>Einen SPI Wandler mit 500kSample anzusteuern beschaeftgt
>einen normalen controller in hohem Masse.

Ob du 500k mal pro Sekunde
1
SPDR = ... ; // (8bit)
2
warte auf flag
3
SPDR = ... ; // (8bit)

oder
1
OWN_ADC = ... ; // (16bit)

ist egal. Die Auslastung ist gleich hoch. Es müssen in beiden fällen pro 
Sekunde 500k WORDs geholt und ausgegeben werden.
Gast #2637459
Lesenswert?

Alex Red schrieb:

> Würde mich über ein Paar Tipps riesig freuen.

Wie sind denn die Echtzeitanforderungen an die Einlesezeiten und 
Wandlungszyklen?

Die serielle Lösung, z.B. mit 2 kaskadierten 8-bit-Schieberegistern, 
wurde schon genannt. Unter Umständen übernimmt sogar ein noch freier 
UART im Halbduplex-Mode den Einlesevorgang automatisch.
OP #2637484
Lesenswert?

Wow, vielen Dank an alle für die Hilfe!

Die Aufgabenstellung(kurz gefasst) ist folgendermassen: es muss eine 
Elektronik entwickelt werden die Nervenzellen über einen 
Multi-Elektroden Array mit diversen Signalformen stimuliert(Sinus, 
Dreieck, Saegezahn...)

Zeitliche Aufloesung: 20 us
Spannungsbereich: +-10 V
Spannungsaufloesung: 2 mV
Strombereich: max 50 mA
Stromaufloesung: 1 uA

Es gab noch 2 weitere DAC's AD669 und DAC712, hab mich aber für den 
LTC1821 entschieden. Oder würdet ihr doch was anderes empfehlen?

Alex
Gast #2637508
Lesenswert?

Ich würde fast sagen der XMega ist mit 32MHz evtl zu langsam. Deine 
Spezifikationen scheinen auch arg utopisch, wie willst du denn so kleine 
Ströme messen? Willst du lookup Tables benutzen? Oder wie sieht deine 
Programmstructur aus. Klingt jedenfalls interessant.
Meinst du mit 2mV die Schrittweite oder möchtest du auf 2mV genau 
regeln?



Ingo
Gast #2637535
Lesenswert?

Alex Red schrieb:

> Oder würdet ihr doch was anderes empfehlen?

Vor 10 Jahren arbeitete ich mal mit einem AD7712, das ist ein 
integrierter Sigma-Delta-Wandler 24 bit auch mit integrierten 
Abgleichmodes, Kalibriermodes, sehr komfortabel. Hatte ca. 50k 
Wandlungszyklen pro Sekunde, und Zweidraht-Interface. Der hatte eine 
binär in 8 Stufen einstellbare Verstärkung, integrierte 
Differenzverstärker. Das faszinierte mich schon.

Allerdings war das Teil auch sauteuer, 40-50 Euronen, und noch mal 20 
Euronen mindestens für die Referenz.

Da gibts nach 10 Jahren bestimmt besseres, schnelleres, billigeres.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren