Atmega8 - TWI und ADC gleichzeitig?

OP #1214175
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
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
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.
OP
Nein, nein und nochmals nein ;)
Die beiden Systeme müssen eigenständig und asynchron arbeiten. Und auf 
keinen Fall darf ich den Master auf irgend eine Weise aufhalten, da er 
zeitkritische Sachen macht ;)
Denke das geht schon so...
OP
Die Kurzfassung?
Ich baue ein 2D Positionserkennungssystem für einen Roboter, basierend 
auf Ultraschall und Infrarot. Der Atmega soll die Position berechnen, 
plausibilisieren (heißt das so?) und dem Master zur Verfügung stellen.
Daher ein eigener µC mit ADC und TWI.
Gast
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
>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
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
>--> 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.
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

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.