Hallo Zusammen, meine frage wäre, gibt es ein AVR-Mikrocontroller, der einen 16-Bit Timer mit mindestens vier unabhängige Cpmpare outputs bzw. mit mindestens vier Compare Match Register besitzt? ( ich meine nur ein Timer mit mindestens Vier Compare Match Ausgänge).Ich habe mir diverse Datenblätter vom AVR-Controllern angeschaut und leider nicht fündig geworden. Es gibt welche mit 16-bit Timer aber nur mit drei Compare Outputs Z.B Atmega128 und nicht mit Vier oder mehr. Vielleicht weiß jemand von euch eine Antwort auf meine Frage. Für einen Hinweis bedanke ich mich hier im voraus. Gruß Kaveh
Nimm doch einen mit 2 16Bit-Timern, z.B. ATmega1284.
Kaveh Deiport schrieb: > meine frage wäre, gibt es ein AVR-Mikrocontroller, der einen 16-Bit > Timer mit mindestens vier unabhängige Cpmpare outputs bzw. mit > mindestens vier Compare Match Register besitzt? Meines Wissens nach nicht. > Für einen Hinweis bedanke ich mich hier im voraus. Es gibt AVRs mit zwei 16Bit-Timern, die jeweils zwei OC-Kanäle besitzen. Damit kann man recht problemlos einen 16Bit-Timer mit vier Outputs emulieren. Alles, was dazu nötig ist: Die beiden Timer "synchron" zu starten. Ein echter Synchronstart ist allerdings nicht möglich, man muß in einer exakt getimeten Sequenz erst einen Timer anlaufen lassen und dann im genau richtigen Moment auch den zweiten. Asm rules!
c-hater schrieb: > Ein echter Synchronstart ist allerdings nicht möglich, man muß in einer > exakt getimeten Sequenz erst einen Timer anlaufen lassen und dann im > genau richtigen Moment auch den zweiten. Soweit ich mich erinnere, gibt es für diesen Zweck irgendein Sync-Bit. Man muss also gar nicht unbedingt die Befehlstakte vorher abzählen - auch wenn Assembler etwas Schönes ist. ;-)
Kaveh Deiport schrieb: > Timer mit mindestens vier unabhängige Cpmpare outputs bzw. mit > mindestens vier Compare Match Register besitzt? > ( ich meine nur ein Timer mit mindestens Vier Compare Match > Ausgänge).Ich habe mir diverse Datenblätter vom AVR-Controllern Event routing (XMEGA) ? Markus Weber schrieb: > Soweit ich mich erinnere, gibt es für diesen Zweck irgendein Sync-Bit. Nicht bei XMEGAs. Und bei den anderen ging es auch nur, wenn die beiden Counter einen gemensamen Vorteiler haben.
Der ATxmega128A1 hat vier 16-Bit-Timer mit je vier Compare/Capture und vier 16-Bit-Timer mit je zwei Compare/Capture. Der ATtiny841 hat zwei 16-Bit-Timer mit je zwei Compare/Capture.
Markus Weber schrieb: > Soweit ich mich erinnere, gibt es für diesen Zweck irgendein Sync-Bit. Jain. Was du meinst, ist sicher der Prescaler-Reset (PSR). Das hilft dir nur, wenn du überhaupt den Prescaler benutzt, was bei einem 16Bit-Timer gerade bei den typischen PWM-Anwendungen meist nicht der Fall ist, weil sonst die PWM-Zyklusfrequenz zu niedrig wäre bzw. die PWM-Auflösung zu gering. Also doch: Takte zählen. Das funktioniert immer, mit Prescaler und ohne.
Wenn 1 Timer 2 Takte später startet dann kann man den Compare Wert entsprechend anpassen.
:
Bearbeitet durch User
Konrad S. schrieb: > Der ATxmega128A1 hat vier 16-Bit-Timer mit je vier Compare/Capture und > vier 16-Bit-Timer mit je zwei Compare/Capture. Auch die XMega A3 Serie hat diese Timer mit 4 Output Compare Registern. Das komplementäre Signal liefern sie auch gleich mit (AWEX ist dafür sehr gut geeignet)
Thomas O. schrieb: > Wenn 1 Timer 2 Takte später startet dann kann man den Compare Wert > entsprechend anpassen. Oder den Timer vor dem Starten mit zwei vorladen. BTW: Bei einem PIC18F45K22 kann man alle 5 Compare mit dem selben Timer verwenden.
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.