PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welcher AVR erfüllt die Anforderung?



Tido
07.08.2007, 15:33
Hallo,

da die C-Control zu langsam ist, will ich die Ausgangssignale eines 2-Kanal-Modellbauempfängers mittels AVR auswerten.

Welchen AVR sollte ich (wegen der Geschwindigkeit) verwenden, um die 1-2ms langen High-Signale des Empfängers (mindestens zweimal/Sekunde) auszuwerten und als Bytewert (also an 8 Ports) auszugeben. Welchen Quarz muss ich verwenden/bzw. reicht der interne?

Weitere Aufgaben soll der uC nicht wahrnehmen.

Lunarman
07.08.2007, 15:41
Da geht jeder atmega, knall nen 16er Quarz dran. Wenns dann nicht geht, isser kaputt, da ein Takt dann eine sechzehntel Mikrosekunde dauert...
ich würd nen Atmega16 nehmen, da ein 8 doch seeehr klein ist, und du schon gut suchen musst für 9 I/Os, und nen 16er ist nicht sooo teuer (außer bei Conrad ^^). Also: Atmega16 mit 16 Mhz.

Tido
07.08.2007, 15:57
Danke,

habe ich das dann richtig verstanden, dass die 2 Kanäle je an einen Eingang angeschlossen werden und in BASCOM mittels PULSEIN ausgelesen werden?

Lunarman
07.08.2007, 16:00
Jou, genau so. Allerdings weiß ich nicht, ob du so überhaupt zwei auf einmal auslesen kannst, da pulsein ja wahrscheinlich wartet, und das is schlecht. Also zumindest kannst du nicht zwei zur exakt selben Zeit auslesen, zweimal pro Sekunde beide sollte allerdings locker gehen.

Tido
07.08.2007, 16:05
Ja danke, so wars gemeint, sie sollen nacheinander eingelesen und nacheinander ausgegeben werden.

Thx

SIGINT
07.08.2007, 19:48
Hi zusammen,
ich hab zwar noch nicht viel zeitkritisches gemacht, aber das Problem sollte doch ohne weiteres mit der Timerhardware der ATmegas zu schaffen sein.
Der ATmega162 enthält z.B. zwei Input Capture Einheiten, die dafür brauchbar sein sollten.

Gruß,
SIGINT

Schokohoernl
08.08.2007, 14:40
also jetzt mal langsam.....

nen atmega16???... pff... das ist ja nicht mit kanonen auf spatzen, sondern mit kernwaffen auf ameisen geschossen...

hier (https://www.roboternetz.de/phpBB2/viewtopic.php?t=25289) werte ich mit nem attiny13 bei 9.6MHz internen takt nen R/C signal auf ca. 27µS genau aus... und das mit nem 8-bit timer...

ich würde ja nen ATtiny2313 nehmen.... da kann man die zwei kanäle an INT0 und INT1 anklemmen, und über PORT B die 8-Bit ausgeben (da liegen sie auch schön nebeneinander) interner takt irgendwas bei 8MHz und nen 8-Bit Timer.... wenn mans übertreiben will mit der genauigkeit kann man auch den 16-Bit timer nehmen, halt ich aber für übertrieben (andererseits: wenn er für nichts gebraucht wird, warum nicht?)

der ATtny24/44/84 würde auch gehen, hat aber zwei kleine nachteile:
1. PortA (anstatt PortB beim 2313) liegt nicht schön nebeneinander, sonder zwei pins sind auf der anderen seite
2. hat bloß INT0. man müsste also entweder einmal INT0 und einen Pin-change-interrupt nehmen, oder eben ne softwarelösung machen.

der vorteil: ist noch kleiner als der ATTINY2313 und hat ebenfalls einen 8-Bit und einen 16-Bit timer.... zudem sogar noch nen integrierten Temperatur-sensor ;-)

also... mein tip: nim nen ATtiny2313....

MfG

Schoko

Tido
10.08.2007, 10:36
Hallo,

den werde ich mir mal anschauen...