Forum: Mikrocontroller und Digitale Elektronik 32-Bit Anfänger: LPC2148 oder LPC1769


von QImbra (Gast)


Lesenswert?

Hallo zusammen,
ich würde gerne von den AVR 8-Bit'ern auf 32-Bit umsteigen und habe mal 
nach Eval-Boards geschaut. In die engere Auswahl sind jetzt Boards mit 
LPC2148 und LPC1769 gekommen.
Jetzt meine Frage: Gibt es außer den technischen Vorteilen die der 
Cortex-M3 gegenüber dem Arm7 hat auch noch Vorteile welche die 
Entwicklung als 32-Bit Anfänger betreffen? Ich denke dabei an die 
Schnittstellen (UART, I2C...). Sind diese beim Cortex evtl. einfach zu 
Handeln?

Grüße,
Marc

von (prx) A. K. (prx)


Lesenswert?

Vergiss für einen Neueinstieg die alten LPC2000. Das Interrupt-Handling 
der Cortex-M ist weit besser und auch die Schnittstellenmodule haben 
sich weiterentwickelt - wenngleich sie dabei natürlich insgesamt eher 
komplexer als einfacher wurden.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Die LPC17xx Reihe ist neuer, daher ist auch die Peripherie ausgereifter, 
bzw. bietet mehr Features. LPC2xxx würde ich nicht nehmen.

Schaue noch beim Artikel STM32 vorbei.

Vom STM32 gibt es mehr Auswahl an Variationen und Gehäuse, daher ist der 
STM32 mein Favorit.

von Peter D. (peda)


Lesenswert?

Der ARM7 ist ne Sackgasse, nur 2 Interruptlevel.
Die ARM-Cortex haben mindestens 16.

von (prx) A. K. (prx)


Lesenswert?

Peter Dannegger schrieb:
> Der ARM7 ist ne Sackgasse, nur 2 Interruptlevel.

Die 16 oder 32 des getrennt eingebauten Interrupt-Controllers darf man 
schon mitrechnen. Aber das Interrupt-Konzept der ARM7 bleibt trotzdem 
hässlich.

> Die ARM-Cortex haben mindestens 16.

Bei den M0 sind es weniger.

von QImbra (Gast)


Lesenswert?

Dann wird es wohl einer mit Cortex M3. Danke für eure Antworten, dass 
hat mich schon einen Schritt weiter gebracht.

Gruß,
Marc

von Lothar (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Der ARM7 ist ne Sackgasse, nur 2 Interruptlevel.

Nun ja die Cortex-A und Cortex-R haben das IRQ/FIQ Konzept übernommen, 
weil es eben für Multitasking optimal ist. Zudem ist dabei die Anzahl 
der Interrupts praktisch unbegrenzt, und FIQ ist für Echtzeit fast 
latenzfrei.

Weil die Cortex-M spezifisch als Mikrocontroller entwickelt wurden, 
wurde das Interrupt Konzept eben genau dafür geändert. Lustigerweise 
wird im Automotive-Bereich aber der Cortex-R eingesetzt z.B. TMS570

von Automotive? (Gast)


Lesenswert?

Lothar schrieb:
> Weil die Cortex-M spezifisch als Mikrocontroller entwickelt wurden,
> wurde das Interrupt Konzept eben genau dafür geändert. Lustigerweise
> wird im Automotive-Bereich aber der Cortex-R eingesetzt z.B. TMS570

Wieso findest du das lustig? Die verwenden ja auch 
Multitaskin-Betriebssysteme, oder?

von (prx) A. K. (prx)


Lesenswert?

Lothar schrieb:
> Nun ja die Cortex-A und Cortex-R haben das IRQ/FIQ Konzept übernommen,
> weil es eben für Multitasking optimal ist.

Inwiefern ist es dafür optimal? Was den IRQ angeht, nicht FIQ.

Dass die Cortex-A und -R das alte Interrupt-Schema behalten haben, 
dürfte eher damit zusammenhängen, dass sie auch die alte 
Befehlssatz-Architektur behalten haben. Als Basis der Nachfolger von 
ARM9 und ARM11.

von (prx) A. K. (prx)


Lesenswert?

Automotive? schrieb:
> Wieso findest du das lustig? Die verwenden ja auch
> Multitaskin-Betriebssysteme, oder?

Lustig daran ist, dass der Interrupt-Controller der Cortex-M grad 
RTOS-Cores besser entgegen kommt als das alte Schema (PendSV ist da sehr 
nützlich). Nur werden die Cortex-A in Anwendungen eingesetzt, in denen 
die Interrupt-Latenz nicht im Vordergrund steht, man andererseits gerne 
den alten Kernel-Code nicht neu schreiben sondern weiter verwenden will.

von Lothar (Gast)


Lesenswert?

A. K. schrieb:
> Lustig daran ist, dass der Interrupt-Controller der Cortex-M grad
> RTOS-Cores besser entgegen kommt als das alte Schema

Warum wurde dann bisher nur Cortex-R als Automotive Grade 
Mikrocontroller zertifiziert? Wir machen eine BLCD-Steuerung immer 
zuerst mal für die "industriellen" M4 (z.B. LPC4078, XMC4500) und 
portieren dann für die "automotive" R4 (z.B. TMS570), oder notfalls 
sogar auf TriCore oder V850. Ok, Nuvoton versucht grade die 
Zertifizierung von M0 und M3.

von Peter (Gast)


Lesenswert?

Ihr driftet glaube ich gerade etwas ab...
Dem TO geht es darum, wie schnell man die Schnittstellen ansprechen kann 
und nicht schon um ein RTOS. Ich würde mich auch um ein paar Infos zur 
Einarbeitung mit dem LPC1769 freuen, da ich mir diesen auch zulegen 
möchte.

von Lothar (Gast)


Lesenswert?

Peter schrieb:
> Ich würde mich auch um ein paar Infos zur
> Einarbeitung mit dem LPC1769 freuen, da ich mir diesen auch zulegen
> möchte.

Kommt zunächst mal darauf an, ob man mit Eval-Board, Proto-Board oder 
Breadboard einsteigen möchte (gibt aber nicht immer LPC1769, manche sind 
noch mit LPC1768, macht aber keinen Unterschied). Hier mal günstige 
Boards:

https://www.olimex.com/Products/ARM/NXP/LPC1766-STK

http://www.watterott.com/de/LPC1769-LPCXpresso-Board

http://elmicro.com/de/chip1768.html

Als Compiler würde ich zunächst IAR Kickstart empfehlen. Es sind für 
alle o.g. Boards dutzende Beispiele dabei, die sofort funktionieren 
(Webserver, LCD, USB-Host, USB-Device, SD-Card, CAN, SPI, I2C, ADC, DAC, 
PWM). Zudem CMSIS für LPC17xx und USBLib.

Programmierung mit FlashMagic über seriell, Ethernet oder CAN. Debuggen 
(falls nötig) mit J-Link EDU für 50 EUR.

von Peter (Gast)


Lesenswert?

Lothar schrieb:
> Debuggen (falls nötig) mit J-Link EDU für 50 EUR.

Beim LPCXpresso ist doch der Debugger direkt mit auf dem Board?!

Der IAR Kickstart ist eine freie, also kostenlose Entwicklungsumgebung 
mit beschränktem Codeumfang oder sonstigem?

von Matthias (Gast)


Lesenswert?

Lothar schrieb:
> Warum wurde dann bisher nur Cortex-R als Automotive Grade
> Mikrocontroller zertifiziert?

Lockstep.

von Wilhelm F. (Gast)


Lesenswert?

Peter Dannegger schrieb:

> Der ARM7 ist ne Sackgasse, nur 2 Interruptlevel.

Für viele Anwendungen reicht das Konzept aber. Zwei gleichwertige höchst 
priorisierte Interrupts kann ein Controller alleine zur selben Zeit 
sowieso nicht bearbeiten, egal was für ein Interruptsystem er hat.

Außerdem konnte man sich mit den LPC2000 noch selbst einen 
Interrupthandler basteln, allerdings in Software. Für vieles war auch 
das schnell genug, und Beispiele für Interrupthandler findet man im 
Internet auch. Das nannte sich dort "Nested Interrupts".

Jedenfalls reichte er für mein Vorhaben bestens.

Allerdings würde ich mir heute auch die STM32 anschauen.



QImbra schrieb:

> In die engere Auswahl sind jetzt Boards mit
> LPC2148 und LPC1769 gekommen.

Ich selbst begann mit dem LPC2129, weil ich zwei CAN-Schnittstellen 
brauchte. Die Auswahl unter den LPC hat sicher für jeden was passendes.

Die hohe anfängliche Zahl an Errata sollte aus den LPC inzwischen raus 
sein. Dank Workarounds von NXP und Keil konnte man aber auch damit noch 
leben, so daß die Anwendung nichts davon zu spüren bekam.

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.