Forum: Mikrocontroller und Digitale Elektronik Atmel ATtiny 417 Timer


von Nils K. (flying_nils)


Lesenswert?

Hallo,

Ich brauche für ein projekt einen IC, der im optimalfall über
vier 16bit Timer verfügt.
Nach einiger suche bin ich auf den ATtiny 417 gestoßen. Auf dieser 
Seite: "https://www.microchip.com/wwwproducts/en/ATtiny417 " steht, als 
erstes, dass er zwei 16bit Timer und einen 12bit Timer besitzt. Weiter 
unten, in einer Tabelle, steht jedoch ,dass er sechs 16bit Timer 
besitzt.
Auch im Datenblatt werden die insgesamt drei Timer angegeben.

Ich frage mich nun, wie viele Timer hat er nun wirklich, und falls es 
nur zwei 16bit Timer sind, was wäre eine gute alternative zu dem attiny 
417.

Danke für Hilfe im Voraus,
Nils

von mikro (Gast)


Lesenswert?

Ist wohl ein Fehler. Er hat anscheinend zwei 16bit- und einen 
12bit-Timer und einen 16bit RTC.

Einige Xmegas haben vier oder mehr 16bit-Timer, z.B. A4U oder D4.

von Karl M. (Gast)


Lesenswert?

Hallo Nils B. schrieb:
> Hallo,
>
> Ich brauche für ein projekt einen IC, der im optimalfall über
> vier 16bit Timer verfügt.

Nur aus Interesse, für was benötigt man 4x 16 Bit Timer?

von spess53 (Gast)


Lesenswert?

Hi

>Weiter unten, in einer Tabelle, steht jedoch ,dass er sechs 16bit Timer
>besitzt.

Das

 Timers    6 x 16-bit

in der Tabelle dürften eher die Anzahl der PWM-Kanäle sein

4x TCA/TCB (16Bit)
2x TCD     (12Bit)

MfG Spess

von Nils K. (flying_nils)


Lesenswert?

Hi,

danke für die Zahlreichen Hilfen!

Ich brauche die vier 16bit Timer nicht zwingend. Ich möchte für eine 
Schrittmotor Steuerung (im 200 bis 1500 us bereich) eine 
Beschleunigungs-Rampe für vier Motoren Programmieren. Mir ist bewusst, 
dass ich dies auch mit einem Timer schaffen kann.
Ich habe eine einfache Steuerung schon mit einem ATmega 32 zustande 
bekommen. Allerdings nur in groben Schritten, da der ATmega nur ein 16 
MHz IC ist (momentan in 10 us Schritten). Da ich nun eine kompliziertere 
Rampenfunktion einbinden möchte, habe ich gedacht, es ist sauberer wenn 
die Motoren von 2-4 Timern gesteuert werden, und der Chip außerdem etwas 
schneller lauft, da er ja zusätzlich noch Berechnungen durchführen muss.
Vier Timer im CTC Modus wären daher Optimal, da ich somit nur in den 
Interrupt gehe, wenn auch ein Schritt gemacht werden muss, da ich 
ansonsten immer bis zu 10 us an if() Funktionen verschenke.

Ich denke, ich werde zunächst die Steuerung mit zwei 16bit Timern 
ausprobieren, da dies auch dem optimum näher kommen sollte.
Ich möchte nämlich keinen "großen" Xmega verbauen, sondern eine 
Möglichst kleine Platine entwickeln, die auch noch mit nicht allzu viel 
Lötaufwand verbunden ist.

von mikro (Gast)


Lesenswert?

Der "große" Xmega E5 hat 8 Pins weniger als der Mega32, drei 16bit-Timer 
und einen 16bit RTC, einige Hardware für Motorsteuerungen und läuft mit 
32 MHz.

von Nils K. (flying_nils)


Lesenswert?

Der Xmega E5 hört sich sehr Interessant an. Ich habe mir ihn mal 
Oberflächlich angeguckt, und muss sagen, dass er sich als Alternative 
anbieten würde. Vor allem in Kombination mit dem zugehörigem Xplained 
board könnte man ihn sehr gut einsetzten. Ich verstehe dass mit dem RTC 
Timer nur noch nicht so ganz, da ich gerade erst in das Thema Timer 
einsteige. Was sind die genauen unterscheide zwischen diesem und einem 
herkömmlichen 16bit Timer?

von m.n. (Gast)


Lesenswert?

Nils B. schrieb:
> Vier Timer im CTC Modus wären daher Optimal, da ich somit nur in den
> Interrupt gehe, wenn auch ein Schritt gemacht werden muss,

Output-Compare ist besser geeignet, da es dazu in der Regel einen 
passenden Ausgang gibt, der den Takt jitterfrei ausgeben kann.
Beispiele für 2 x Stepper an einem ATmega328 zum einen per Poti, zum 
anderen per RS232 Einstellung.
http://mino-elektronik.de/Generator/takte_impulse.htm#bsp3a

Weiter unten gibt es auch Beispiele für Rampengenerierung.

von mikro (Gast)


Lesenswert?

Nils B. schrieb:
> Was sind die genauen unterscheide zwischen diesem und einem
> herkömmlichen 16bit Timer?

RTC ist asynchron zum CPU-Takt, läßt sich mit einem 32768 Hz Uhrenquarz 
synchronisieren und wird normalerweise z.B. für regelmäßige Interrupts 
alle 1-10ms zum Tastenentprellen, Uhr o.ä. benutzt.

von Nils K. (flying_nils)


Lesenswert?

Danke für die Tips.
Ich werde die Output Compare Funktion definitiv ausprobieren, da ich 
auch glaube, dass diese genau das Richtige ist.
Weiterhin bedanke ich mich für die Erklärung des RTC Timers und den 
hinweis auf den Xmega E5.

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
Noch kein Account? Hier anmelden.