Atmega8 - TWI und ADC gleichzeitig?

OP #1214175
Lesenswert?

Hallo,
ich wollte mal fragen ob es Probleme bereitet oder ob ich etwas dabei 
beachten muss, wenn ich den ADC und den TWI anschalte, da die ja 
teilweise die gleichen Pins verwenden.
Oder muss ich die einfach nur beide einschalten und der adc geht dann 
halt auf den beiden TWI Pins nicht?
Gast #1214213
Lesenswert?

Hi

>Oder muss ich die einfach nur beide einschalten und der adc geht dann
>halt auf den beiden TWI Pins nicht?

Richtig. Du solltest aber Vermeiden, während der ADC-Wandlung das TWI zu 
benutzen. Du könntest das Messergebnis verschlechtern.

MfG Spess
Gast #1214297
Lesenswert?

Wenn du der Slave bist, kannst du ja je nach Protokoll 2 Befehle 
vorsehen:
1) eine Messung starten
2) Messergebnis abfragen (wenn fertig, eine evtl. vorhandene 
Interrupt-Leitung benutzen)

Zwischen den beiden Befehlen könntest du ja den TWI abschalten. Der 
Master muss halt dann zwischen den beiden Befehlen eine bestimmte Zeit 
warten.
Gast #1214412
Lesenswert?

Die Beeinflussung des ADs durch ein aktives TWI sollte nicht so stark 
sein. Man sollte ein bischen auf den Verlauf der Masse achten und wenn 
möglich keine extra kleine Vref benutzen, dann sollten die Fehler eher 
klein, d.h. kaum merklich, bleiben.

Wenn man unbedingt will, könnte man die AD werte verwerfen, wenn gerade 
während der Wandlung was per TWI reinkommt. Vermutlich ist das aber 
nicht nötig.
Gast #1214574
Lesenswert?

>Und auf keinen Fall darf ich den Master auf irgend eine Weise aufhalten,
>da er zeitkritische Sachen macht ;)

Na, wenn das so ist, sollte der Master ja wohl so programmiert sein, daß 
eine Taktverlängerung auf dem TWI-Bus ihn nicht ausbremst. Schließlich 
sieht die TWI-Spezifikation den Fall explizit vor.

Ist also das Problem vom Master, nicht deins :-)

Oliver
#1336494
Lesenswert?

Hallo!

Ich habe ein ganz ähnliches Problem:
Ein ATmega8, der sammelt per TWI Daten von verschiedenen Sensoren.
Ein HCS12, der fordert dann und wann die gesammelten Daten per TWI vom 
ATmega8 an.

Sensorplatine:
- ATmega8 in Multimaster TWI (ist selber mal Master und mal Slave)
- alle 6 ADCs in Benutzung

--> Pins 27 und 28 sind also doppelt belegt:
- Pin 28: ADC5 und SCL
- Pin 27: ADC4 und SDA

Was genau  muss ich jetzt bei der Beschaltung und Programmierung 
beachten, damit keine Verwirrung entsteht?

DANKE im Voraus!!
Gast #1336505
Lesenswert?

>--> Pins 27 und 28 sind also doppelt belegt:
>- Pin 28: ADC5 und SCL
>- Pin 27: ADC4 und SDA
>
>Was genau  muss ich jetzt bei der Beschaltung und Programmierung
>beachten, damit keine Verwirrung entsteht?

Einen uC besorgen wo sie nicht doppelt belegt sind.
#1336820
Lesenswert?

Anna-zaira Engeln schrieb:
> Heißt das, ich KANN die beiden NICHT gleichzeitig (also abwechselnd)
> benutzen?

Dem ATmega8 ists wurscht, aber Deine angeschlossene Schaltung wird 
Probleme haben.

Du kannst nicht analoge und digitale Signale auf einen Draht legen und 
erwarten, daß die sich nicht gegenseitig stören.
Du könntest die Pins mit nem Analog-MUX umschalten, dann geht es.

Aber dann ist es einfacher, einen AVR zu nehmen, der 6 AIns und I2C auf 
getrennten Pins hat, z.B. ATtiny261, ATtiny24.


Peter

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