Forum: Mikrocontroller und Digitale Elektronik Welcher µC hat viele Timer und Cature/Compare-Einheiten?


von Thomas (kosmos)


Lesenswert?

Hallo,

ich suche einen µC der mind. 2 16bit-Timer hat und jeder Timer mind. 8 
Capture/Compare-Einheiten hat. Da ich insgesamt 8 Signale ausgeben will 
die sich auch mal überschneiden können, sehe ich das 
programmiertechnisch etwas schwierig zu bewerkstelligen, deshalb will 
ich das ganze mit einem µC aufbauen der hardwareseitig schon alles 
onboard hat damit ich nicht über Software(Timingprobleme) stolpere. Ich 
übergebe also 8 Start- und Stopwerte an die Compare Register die dann 
beim Auftreten einen Pin toggeln.

Bei Infineon bin ich auf den XC167 gestoßen, dieser hat 5 16bit Timer 
und mehrere CAP/COM Einheiten. Leider in kleinen Stückzahlen schwer zu 
bekommen, und außerdem glaube ich das man die Entwicklungssoftware 
(Keil) auch kaufen muss. Das AVR-Studio vom Atmel ist ja kostenlos. Gibt 
es ein Pedant von Atmel oder bei welchen Hersteller könnte man noch 
einen passenden µc mit günstiger Entwicklungsumgebung finden?

Manche Atmegas haben auch 4 16-Bit Timer aber nur 3 Compareregister und 
ich muss ja 16 Zeitpunkte festlegen.

von Sab (Gast)


Lesenswert?

Soviel Compareeinheiten wird's nie geben. Die muss man ordnen und 
nachladen.

von A.K. (Gast)


Lesenswert?

Wenn ein grösserer Controller so sehr anderweitig ausgelastet ist, dass 
er kritische Zeitbedingungen nicht einhalten kann, kommt evtl. ein 
zweiter kleinerer Controller eigens dafür in Frage. In diesem Fall 
könnte vielleicht ein Tiny2313 dafür verwendet werden, per UART (ohne 
Interrupt) einlaufende Kommandos in ein exaktes Zeitraster umzusetzen. 
Ist auch der zu langsam, könnte ein externes CPLD sinnvoller sein.

von Vaterssohn (Gast)


Angehängte Dateien:

Lesenswert?

Eine Übersicht der AVR's von der ATMEL - Homepage

von Thomas (kosmos)


Lesenswert?

ja die Übersicht kenne ich. Habe auch schon daran gedacht 2 große 
ATMegas zu nehmen wo sich jeder nur um 4 Signale kümmert. Dachte das es 
da evtl. fertige Bauteile gibt die für solche timerintensive Anwendungen 
gedacht sind und man sich das softwareseitige Sorteieren der Ereignisse 
sparen kann.

von AVRler (Gast)


Lesenswert?

Schau mal in die Tabelle hier:
http://atmel.com/dyn/products/param_table.asp?family_id=607&OrderBy=part_no&Direction=ASC
Atmels mit 8 PWMs wären z.B.:
- AT90CAN-Automotive
- ATMega128
Gibt's bis 16 PWMs z.B.:
- ATMega1280
Allerdings 8 Captures :-/
Müßtest Du dann schon mit PIN-Change IRQs realisieren.
Als "Heimwerkerlösung" würde ich's einfach mal mit'm Mega88 versuchen, 
der hat 6 PWMs, da noch zwei dranzutüdeln sollte kein so großes Problem 
sein.

von Obelix (Gast)


Lesenswert?

Schau dich mal bei Renesas um. Die M16C-Serie.

von Ralph (Gast)


Lesenswert?

Hallo

Sieh dir mal den TMS 470 von TI an.
Das ist ein ARM7 µC der eine interesannte Erweiterung hat.
Der HighEndTimer HET.

Mit diesem HET hast du bis zu 32 !! Pins (je nach Hardwareversion) die 
du beliebig ansteuern kannst.

Als :
 + normale IO Pins
 + PWM out
 + PWM in (messen)
 + externe Interruptquelle
 + capture
 + compare
 + ....
in beliebiger Kombination

der HET hat eine Programmspeicher bis zu 128 Befehle.

Damit kannst du die IO Operatioenen steuern und die Daten teilweise 
schon verarbeiten.


Entwicklungsumgebung für ARM 7 git es auch kostenlos.




von Thomas (kosmos)


Lesenswert?

interessant, werde mir die Teile mal anschauen.

von Tobias P. (hubertus)


Lesenswert?

etwas alt zwar, aber 16bit timers und ccu:
SAB-C517A von infineon.
wenn du etwas komplexere mikrocontroller magst:
MC68332 von freescale. integriert ist ein zweiter prozessor, TPU genannt 
(time processing unit). mit der kannst du die komplexesten aufgaben 
lösen, unter anderem auch pwm. kenne mich damit allerdings nicht so gut 
aus, da müsstest du im Programmer's Manual nachlesen.

von Peter D. (peda)


Lesenswert?

Sag doch einfach mal, welches Zeitraster Du überhaupt brauchst ?

Ohne die Anforderungen zu kennen, sind alle Tips nur Rauschen im Walde.


Peter

von Dirk H. (arm-dran)


Lesenswert?

Es gibt µCs mit dieser Anzahl von Capture/Compare.

Nur finde ich es komisch, daß Du den Controller-Typ danach aussuchen 
willst !?

Dirk

von Andreas K. (oldcoolman)


Lesenswert?

Hallo,

der tip mit dem 517 ist ganz nett, könnte noch den c509 dazustellen.
beide infineon.
Beid controller sind abgekündigt. Also wenns was für die Zukunft sein
soll. Vorsicht!

gruß

Andreas

von Dirk H. (arm-dran)


Lesenswert?

Sorry Andreas,

aber welchen Grund gint es heute noch "INFINEON" µCs einzusetzen.
Außer daß es in den UNIs von Infineon getürkt eingeredet wird?

Auch der C167 ???

Jeder Hersteller bietet mehr, JEDER !!!!
Ein Wunder, daß man bei Infineon nicht noch für den Download eines 
Datasheet
bezahlen muß.

Die Firma ist so unnötig wie eine Zecke auf der Haut.


von Thomas (kosmos)


Lesenswert?

@ Peter Dannegger: Das Zeitraster ist eher unkritisch, es wäre aber 
einfacher zu programmieren wenn sich die Timer um das ganze kümmern also 
ihren Interrupt anspringen und ich nicht erst vorsortieren muss welche 
Aktion als nächstes kommt. Ich versuche es mal anhand einer kleinen 
Zeichnugn zu erklären.

So wie es unten ist kann man schön dem Output Compare-Register den 
Zählerstand für die gewünschte nächste Aktion mitteilen, es kann aber 
passieren das das 2te Ausgangssignal(untere) sich zeitlich nach links 
verschiebt und dann kommt man in den Bereich wo es zu Überschneidungen 
der Aktionen kommt oder das erst Aktion 3 und dann 2 ausgeführt werden 
muss. Bei 8 Ausgangssignalen die nicht miteinander identsich sind ist 
das dann entsprechend komplizierter zudem sich die Frequenzen  als auch 
Pulslängen verändern.

   1.     2.       5.    7.
  _______        _______
__|      |________|      |________
           3.   4.    6.
           _____     _______
___________|    |_____|

von Andreas K. (oldcoolman)


Lesenswert?

@dirk...

die Betonung in meinem Beitrag sollte auf dem Hinweis sein,
daß beide typen abgekündigt sind.

gruß


Andreas

von Falk B. (falk)


Lesenswert?

@ Thomas O.

>So wie es unten ist kann man schön dem Output Compare-Register den
>Zählerstand für die gewünschte nächste Aktion mitteilen, es kann aber
>passieren das das 2te Ausgangssignal(untere) sich zeitlich nach links
>verschiebt und dann kommt man in den Bereich wo es zu Überschneidungen
>der Aktionen kommt oder das erst Aktion 3 und dann 2 ausgeführt werden
>muss. Bei 8 Ausgangssignalen die nicht miteinander identsich sind ist
>das dann entsprechend komplizierter zudem sich die Frequenzen  als auch
>Pulslängen verändern.

Wie wäre es die 8 Ausgangssignale in einen Datenstrom zusammenzufassen 
und über EINEN Output-Compare Interrupt auszugeben? Schliesslich muss 
man "nur" die Punkte berechen, an denen sich das 8-Bit Datenwort ändert, 
dort muss der Output-Compare klingeln. Dann einfach ein neues 8-Bit 
Datenwort ausgeben und weiter gehts. Als einzige Randbedingung steht 
dabei der minimale Abstand zwischen zwei Flanken, der bei dieser 
Softwarelösung in Assembler bei ca. 10..20 Takten liegt.

MFG
Falk

von Peter D. (peda)


Lesenswert?

Thomas O. wrote:
> @ Peter Dannegger: Das Zeitraster ist eher unkritisch


Dannn würde ich ne Softwarelösung nehmn, ne Art Scheduler.
Schön ist dann natürlich ein MC mit Interruptprioritäten, dann gibt man 
die höchste Priorität dem Scheduler und die anderen Interrupts laufen 
ganz normal.

In Hardware könnte man auch einen Atmel 8051 mit PCA nehmen, der hat 5 
Ausgänge die per Compare gesetzt werden und dann hat man Zeit, den 
nächsten Comparewert zu laden.
Für die restlichen 3 Ausgänge kann man T0, T1, T2 nehmen, wobei T0 und 
T1 den Pin per Interrupthandler setzen müssen (auf Priorität 3 setzen).


Peter

von Pikotz (Gast)


Lesenswert?

> Jeder Hersteller bietet mehr, JEDER !!!!

Jemand der in Großbuchstaben schreibt, dazu mit mehreren Ausrufezeichen, 
hat im Allgemeinen nicht allzuviel Ahnung.

von dennis (Gast)


Lesenswert?

mb90350 von fujitsu.

www.glyn.de

auch in kleinen stückzahlen.
d.

von Dirk H. (arm-dran)


Lesenswert?

Pikotz wrote:
>> Jeder Hersteller bietet mehr, JEDER !!!!
>
> Jemand der in Großbuchstaben schreibt, dazu mit mehreren Ausrufezeichen,
> hat im Allgemeinen nicht allzuviel Ahnung.

Na dann schreib mal schön in Großbuchstaben.

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.