Forum: Mikrocontroller und Digitale Elektronik 16-Bit µC gesucht


von Christopher (Gast)


Lesenswert?

Hallo

ich suche einen gut lötbaren 16-Bit µC. Ich habe hier einen von 
Freescale im LQFP 160 Gehäuse, für maschinelle Bestückung ist der 
bestimmt super. Aber für den Hausgebrauch nicht so toll.

Folgende Ausstattung wäre gut:
-50 I/O's
-10-12 Bit ADC, mindestens 4
-PWM
-Uart

Gerne noch
- Quadratur Decoder für Inkrementalgeber

Ich brauche diesen für eine Digitale Regelung, insgesamt werden vier 
Regler damit realisiert. Ich möchte gerne einen 16-Bit Controller nutzen 
da diese schneller sind. Für andere Vorschläge bin ich aber auch offen.

Gerne würde ich den ATMega128 nehmen, ich habe aber bedenken das dieser 
8-Bit µC die Geschwindigkeit erreicht. Die Abtastzeit liegt bei 1ms, 
also 16000 Befehle bei 16 MHz pro Zyklus. Eigentlich müsste das doch 
reichen, oder?

Ich bin gespannt auf eure Meinungen.

Danke

Christopher


von A.K. (Gast)


Lesenswert?

Apropos Gehäuse: Ich bin mit diesen Namen nicht ganz so vertraut, aber 
der LPC213x steckt laut Datasheet in einem LQFP (0,5mm) und der 
ATmega128 in einem TQFP (0,5mm). Kann nicht recht erkennen, wie das eine 
gut lötbar sein soll, das andere nicht.

Ohne QFP sieht es eng aus. Was die Anzahl Pins angeht, gibt es wohl ein 
paar 51er die schon aus historischen Gründen auch in grösseren PLCCs 
daherkommen. Aber sonst läuft es dann eher auf Header-Boards raus.

Was die benötigte Leistung angeht, kann ich das nicht bewerten. Aber 
LPC21xx mit 46-47 I/O-Pins sind jedenfalls recht gut verfübar, ggf. auch 
per Header-Board.

von A.K. (Gast)


Lesenswert?

Apropos 16bit: Meiner Einschätzung nach liegen die kleineren 16bitter 
(z.B. MSP430) in der gleichen Klasse wie die 8bitter. Die grösseren 
(z.B. M32c) werden dann mittlerweile stark von den 32bittern bedrängt 
(meist ARM7 Basis), die noch dazu eher günstiger zu kriegen sind.

von Christopher (Gast)


Lesenswert?

Also die Abstände der Pins des Atmega128 betragen 0,8mm. Und da beide 
Prozessoren hier vor mir liegen sieht das TQFP(mit 64 Pins) Gehäuse 
humaner aus als das LQFP(mit 160 Pins). Aber Danke für den Tip mit den 
Header Boards.

von Benedikt K. (benedikt)


Lesenswert?

Vielleicht ein dsPIC von Microchip ?
Bis zu 40MIPs, DSP Core usw.
Und sogar als DIP18-40 erhältlich.

von Trillian (Gast)


Lesenswert?

Hallo Christopher,

also ich weiß nicht ob dir das wirklich weiterhilft aber bei dem 
Wörtchen "selberlöten" fiel mir sofort das folgende Projekt ein:

http://www.lochraster.org/etherrape/

hier noch ein deutsches wiki:
http://wiki.lochraster.org/wiki/Etherrape

Drauf ist ein  ATmega644 (8-Bit). Wie schon gesagt, das ganze paßt nicht 
wirklich zu deiner Suchanfrage, aber ich finde das Projekt ziemlich 
spannend. Und mit 60 Euro für den Bausatz find ich das ganze recht 
günstig. Also vielleicht hast du ja Lust das ganze mal auszuprobieren. 
Wenn nicht, dann vergiß den Vorschlag einfach wieder. :-)

Liebe Grüße,
Trillian

von A.K. (Gast)


Lesenswert?

Günstige Header-Boards für LPC2100, jedenfalls wenn man dem Versand Zeit 
lässt:
http://stores.ebay.de/Micro-Research
http://www.propox.com/

von Fritz (Gast)


Lesenswert?

Renesas H8/3003 und H8S/239x sind zu empfehlen.
H8 mit 0,65mm Pinabstand, 2xUART, 1xQuadraturdecoder und 5x 16Bit Timer 
mit PWM, +++
H8S mit 0,5mm, 3xUART, 2xQuadraturdecoder, noch mehr Timer, +++.

von Christopher (Gast)


Lesenswert?

Hallo

Danke für die vielen Antworten. Ihr habt mich jetzt auf eine Idee 
gebracht. Bei Reichelt gibt es für 16 Euros (L,P,T)QFP-Multiadapter 
Platinen die das QFP Format auf Stiftleiste bringen. Dann muss ich zwar 
einmal löten, aber kann das ganze dann auswechselbar gestalten. Außerdem 
wirds dank Lötstoppmaske bestimmt einfacher.

von Peter D. (peda)


Lesenswert?

Ob nun 4-, 8-, 16-, 32-, 64-, 128-Bit CPU ist nun wirklich sowas von 
schnurz.


Viel wichtiger ist ne ordentliche Projektvorbereitung, also rausfinden, 
wo ist der Flaschenhals und kann dabei ne höhere Datenwortbreite 
überhaupt helfen oder nicht.

Wenn man den Flaschenhals erstmal erkannt hat, ist es oftmals 
verblüffend einfach, ihn drastisch zu erweitern.

Ich hab z.B. einige Applikationen, die durch simples Umstellen des 
Programmablaufs von 80% auf 10% CPU-Last gesunken sind, aber für den 
User spürbar schneller arbeiten.

Es gibt überall ne hohe Bandbreite an Leistung, z.B. 8-Bitter gehen von 
etwa 1MIPS ... 100 MIPS.


Peter

von Christopher (Gast)


Lesenswert?

Hallo

Ich denke eine höhere Datenwortbreite wird schon helfen. da bei einer 
Digitalen Regelung immer nur zyklisch Rechnungen ausgeführt werden. Der 
Flaschenhals dabei ist  die Abtastzeit. 1ms ist in Mhz Zeiten nicht 
sonderlich viel. Nur sollte sich herausstellen das der Controller die 
Rechnungen in der besagten Zeit nicht schafft, kann man auch nichts mehr 
aufweiten. Codeoptimierungen sind da nicht mehr möglich. Eine 
alternative wäre dann nur die Abtastzeit zu erniedrigen(also z.B. 2 ms) 
das geht aber zu Lasten der Regelung. Ich denke schon, dass gerade die 
vier Grundrechenarten mit einem 16-Bit mC schneller zu erledigen sind 
als mit einen 8-Bit mC. Aber ich denke auch das ein (-Bit AVR mit 16 Mhz 
und somit satten 16000 Befehlen pro Millisekunde das auch bei vier 
Reglern hinbekommen sollte.

Christopher

von Peter D. (peda)


Lesenswert?

Christopher wrote:

> Ich denke eine höhere Datenwortbreite wird schon helfen.

Nur dann, wenn auch ein Großteil der CPU-Zeit 16Bittig gerechnet wird.
Bei 8Bit oder Bitschubsen, Statemachines usw. hilfts genau Null,Nix.


> Nur sollte sich herausstellen das der Controller die
> Rechnungen in der besagten Zeit nicht schafft, kann man auch nichts mehr
> aufweiten. Codeoptimierungen sind da nicht mehr möglich.

Da irrst Du aber !
Es gibt vielfältige Optimierungen beim Umsetzen einer mathematischen 
Formel in ein Programm. Nur werden die leider oft nicht angewendet.
Z.B. Herausnehmen von konstanten Rechnungen aus der Schleife, 
kleinstmöglicher Datentyp, Aufheben benötigter Ergebnisse aus vorherigen 
Iterationen, Annährung mittels Tabellen, Minimierung von Divisionen usw.
Auch reicht es oft, bei großen Regelabweichungen erstmal ne grobe 
Annäherung zu machen und die Feinarbeit dann im nächsten Schritt.


> Ich denke schon, dass gerade die
> vier Grundrechenarten mit einem 16-Bit mC schneller zu erledigen sind
> als mit einen 8-Bit mC.

Nö, das hängt nur davon ab, ob die Rechenarten in HW implementiert sind 
oder in SW gemacht werden müssen.
Z.B. hat der DS80C400 (8Bit) ne 32/16Bit Division und rechnet daher 
schneller als viele 16Bitter ohne MUL/DIV-Einheit.


Peter

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.