K
Kurt Harders
Guest
Hallo,
vor einigen Wochen hatte ich nach Anregungen für meine anstehende
Prozessorauswahl gefragt. Es kamen viele Tips und Vorschläge, und ich
habe mich mal hingesetzt und mir die Prozessor-Dokumentation und die
wichtigsten Tools angeschaut. Das Ganze hat natürlich auch zu einem
Ergebnis geführt.
In der Hoffnung, dass ein solcher Auswahlprozess
auch anderen Informationen geben kann, versuche ich ihn hier einmal zu
skizzieren:
Die Anforderungen an den Prozessor waren recht klar definiert:
- ca. 8K Flash
- EEPROM oder byteadressierbaren Flash
- > 128 Byte Register/RAM
- ca. 4MIPS
- 16-Bit PWM oder Comparemode für 16-bit counter
- Interrupt auf Polaritätswechsel an mindestens einem Eingang
- >= 8 IO
- 5V Versorgunsspannung wegen der umgebenden Peripherie (Optokoppler)
- PDIP oder ähnliche preiswert sockelbare Variante
- Programmierung in C (oder Java
)
- Preis (1000) < EUR 1,50
In Betracht gezogen wurden:
LPC9xx (Philips) trotz 3,5V Betriebsspannung
HC08
8051 und Derivate
Atmel ATMega und AT89
PIC
Die meisten Prozessoren hatten in den kleineren Varianten Probleme mit
dem Interrupt auf Pegelwechsel. Meist war es (8051 u.ä.) nur eine
Flanke. Die dann evtl. geeigneten analogen Comparatoren hatten nur der
Philips LPC922, Atmel AT89 und einige größere Freescale HC08-Typen.
Trotz dieser schon einschränkenden Kriterien habe ich mal für die oben
genannten Prozessoren einige Toolchain-Varianten angeschaut. Dabei
zeigte sich, dass es für die nicht GCC-konformen Prozessorfamilien
entweder nur suboptimale Compiler, wie den sdcc gibt, oder hochpreisige
Entwicklungsumgebungen (Keil, Metrowerks...) erforderlich sind. Die
Einarbeitung in die jeweiligen Dialekte übersteigt dabei bei weitem die
Einarbeitungszeit in den jeweiligen Prozessor.
Nach ca. 2 Wochen, in denen ich versucht habe mich den Toolchains zu
nähern, habe ich angefangen, nach Lösungen zu suchen, die das mir
vertraute Umfeld mit eclipse ermöglichen. Dabei blieb nur ein
Hersteller und ein Compiler: gcc und Atmel ATMega. Zum einen enspricht
der ATMega voll den gestellten Anforderungen, zum anderen ist die
Toolchain mit dem gcc und anschließenden Tools freie Software ohne in
den Bereich "Hobbylösung" abzugleiten. Die Umgebung eclipse + CDT +
winavr ergibt eine für mich und die genannten Anforderungen nahezu
optimale Kombination bei akzeptablen Komponentenpreisen.
Eines hat sich allerdings in diesen Tagen gezeigt: ohne einen spürbaren
Zeitaufwand wird man den Wert einer Gesamtlösung aus Prozessorfamilie
und Toolchain nie bestimmen können.
Soviel zu dieser kleinen Auswahlreise durch die Mikrocontroller-Welt.
Gruß, Kurt
--
Kurt Harders
MBTronik - PiN - Präsenz im Netz GITmbH
mailto:news@kurt-harders.de
http://www.mbtronik.de
vor einigen Wochen hatte ich nach Anregungen für meine anstehende
Prozessorauswahl gefragt. Es kamen viele Tips und Vorschläge, und ich
habe mich mal hingesetzt und mir die Prozessor-Dokumentation und die
wichtigsten Tools angeschaut. Das Ganze hat natürlich auch zu einem
Ergebnis geführt.
auch anderen Informationen geben kann, versuche ich ihn hier einmal zu
skizzieren:
Die Anforderungen an den Prozessor waren recht klar definiert:
- ca. 8K Flash
- EEPROM oder byteadressierbaren Flash
- > 128 Byte Register/RAM
- ca. 4MIPS
- 16-Bit PWM oder Comparemode für 16-bit counter
- Interrupt auf Polaritätswechsel an mindestens einem Eingang
- >= 8 IO
- 5V Versorgunsspannung wegen der umgebenden Peripherie (Optokoppler)
- PDIP oder ähnliche preiswert sockelbare Variante
- Programmierung in C (oder Java
- Preis (1000) < EUR 1,50
In Betracht gezogen wurden:
LPC9xx (Philips) trotz 3,5V Betriebsspannung
HC08
8051 und Derivate
Atmel ATMega und AT89
PIC
Die meisten Prozessoren hatten in den kleineren Varianten Probleme mit
dem Interrupt auf Pegelwechsel. Meist war es (8051 u.ä.) nur eine
Flanke. Die dann evtl. geeigneten analogen Comparatoren hatten nur der
Philips LPC922, Atmel AT89 und einige größere Freescale HC08-Typen.
Trotz dieser schon einschränkenden Kriterien habe ich mal für die oben
genannten Prozessoren einige Toolchain-Varianten angeschaut. Dabei
zeigte sich, dass es für die nicht GCC-konformen Prozessorfamilien
entweder nur suboptimale Compiler, wie den sdcc gibt, oder hochpreisige
Entwicklungsumgebungen (Keil, Metrowerks...) erforderlich sind. Die
Einarbeitung in die jeweiligen Dialekte übersteigt dabei bei weitem die
Einarbeitungszeit in den jeweiligen Prozessor.
Nach ca. 2 Wochen, in denen ich versucht habe mich den Toolchains zu
nähern, habe ich angefangen, nach Lösungen zu suchen, die das mir
vertraute Umfeld mit eclipse ermöglichen. Dabei blieb nur ein
Hersteller und ein Compiler: gcc und Atmel ATMega. Zum einen enspricht
der ATMega voll den gestellten Anforderungen, zum anderen ist die
Toolchain mit dem gcc und anschließenden Tools freie Software ohne in
den Bereich "Hobbylösung" abzugleiten. Die Umgebung eclipse + CDT +
winavr ergibt eine für mich und die genannten Anforderungen nahezu
optimale Kombination bei akzeptablen Komponentenpreisen.
Eines hat sich allerdings in diesen Tagen gezeigt: ohne einen spürbaren
Zeitaufwand wird man den Wert einer Gesamtlösung aus Prozessorfamilie
und Toolchain nie bestimmen können.
Soviel zu dieser kleinen Auswahlreise durch die Mikrocontroller-Welt.
Gruß, Kurt
--
Kurt Harders
MBTronik - PiN - Präsenz im Netz GITmbH
mailto:news@kurt-harders.de
http://www.mbtronik.de