Minimale Anforderungen an die ARM-Schaltung

Ich habe mit dem ATMega etwas entwickelt und möchte meinen Horizont erweitern. Ich habe ein paar Chips der Cortex M4-Serie und möchte ein ARM-Äquivalent zum Breadboarduino machen

Ich habe vor, entweder mein eigenes Board zu ätzen oder ein Breakout-Board für den ARM und den Rest zu verwenden. Eine Referenz oder ein Schema der Mindestkomponenten wäre sehr willkommen.

Gibt es gute Ressourcen zum Bestimmen der mindestens erforderlichen Komponenten zum Betreiben und idealerweise zum Programmieren eines ARM-Chips?

AKTUALISIEREN:

Für alternative Hardwarevorschläge bin ich offen. Unten ist der Chip, mit dem ich gerade versuche zu arbeiten:

Können Sie uns sagen, welche Geräte Sie haben? Link zum Datenblatt wäre super.
Ich hoffe, es ist nicht das WLCSP-Gehäuse, für das Sie Ihr eigenes PCB ätzen möchten: ein 0,4-mm-Pitch-BGA! :-/
@stevenvh Ich bin nicht so mutig. Es ist das LQFP 144-Paket
Sehen Sie sich die NXP LPC-Serie an, sie (alle?) haben einen integrierten seriellen Bootloader. lpc21isp ist ein gutes PC-seitiges Tool. LPC1114 ist sogar in DIP28 erhältlich! Der lpc1343 hat einen eingebauten USB (!) Bootloader (was gut klingt, aber meiner Meinung nach etwas umständlich zu bedienen ist).
@Wouter - Ja, ich habe diesen DIP auch entdeckt (siehe Antwort). Der LPC1114 ist der einzige Cortex, egal welcher Hersteller, der bei Digikey gelistet ist und in DIP verfügbar ist.

Antworten (6)

Dies hängt wirklich von den Chips ab, die Sie verwenden - Sie haben nicht angegeben, welchen Sie erhalten haben. Normalerweise benötigen Sie mindestens einen Kristall, Entkopplungskappen und eine Reset-Logik. Die Programmierschnittstelle könnte eine einfache JTAG-Schnittstelle sein.

All dies sollte aber im Datenblatt der Chips stehen.

Update (für den STM32F407):

Schauen Sie sich die folgenden Seiten im Datenblatt an

  • 23ff. für die benötigten Spannungen (1,8-3,6 V, Sie benötigen also einen Regler) und wie Sie den internen Regler verwenden (indem Sie den Pin PDR_ON hochziehen)
  • 69ff. für die Pinbelegung
  • 69+74 für das Stromversorgungsschema (dies sind die interessantesten Seiten, da sie die Stromversorgungsanschlüsse und die benötigten Kondensatoren zeigen)

Sie benötigen weder eine Reset-Schaltung (sie ist integriert – siehe Seite 23) noch einen Oszillator (der integrierte 16-MHz-Oszillator wird beim Start ausgewählt, siehe Seite 22). Die Verwendung eines LQFP144-Breakout-Boards (wie das von futurlec (siehe unten auf der Seite) könnte also wirklich ausreichen.

Sie können sich auch den Schaltplan des STM32F4DISCOVERY-Boards ansehen (siehe dessen Benutzerhandbuch , Seite 33). Was Sie dort sehen, ist die Grundschaltung - und sie enthält sogar die externen Kristalle.

Danke für deinen Beitrag. Ich stelle diese Frage, weil das Datenblatt riesig ist und ich ehrlich gesagt nicht alles darin verstehe. Ich weiß, dass die wirkliche Lösung ein EE-Abschluss wäre, aber meine derzeitige Karriere und andere Verantwortlichkeiten machen dies derzeit nicht möglich. Gibt es offene Hardwareprojekte, die einen Schaltplan ihrer ARM-Schaltung haben würden? Ich bin zuversichtlich, dass ich das auseinander nehmen und ein brauchbares Projekt machen könnte.
Das oben verlinkte STM-Demoboard wird mit dem Schaltplan geliefert, sodass Sie damit beginnen können. Ansonsten öffnet Olimex seine Schaltpläne, zB für dieses M4-Board .
Das war mir nicht klar. Danke für die Information. Sehr hilfreich,

Sind Sie sicher, dass Sie dies für einen Cortex-M4 tun möchten? Es ist ein großer Sprung von AVR, und ich sehe nicht, wie Sie alle Funktionen nutzen würden, die es bietet. Zunächst einmal wird ein Cortex-M4 normalerweise in einem großen Gehäuse geliefert, normalerweise mehr als 80 Pins für die Einstiegsteile, und 200+ ist keine Ausnahme, denken Sie an QFP oder BGA. Werden Sie ein Breakout-Board mit zwei Reihen von 40 Pins zum Steckbrett machen?

Der Cortex-M4 ist auch für Hochgeschwindigkeit ausgelegt: typischerweise 120 MHz bis 200+ MHz. OK, Sie müssen Ihre Leiterplatte möglicherweise nicht für diese Geschwindigkeiten entwerfen, wenn Sie eine On-Chip-PLL verwenden. Aber was ist mit den Peripheriegeräten wie USB oder Ethernet?

Natürlich können Sie es mit niedrigeren Geschwindigkeiten ausführen und einen Großteil der On-Chip-Funktionalität weglassen, aber ich frage mich, was der Nutzen eines Cortex-M4 für den Anfang ist. Ich denke, ein Cortex-M3 oder sogar -M0 ist für den Anfang besser geeignet. Ich möchte Sie nicht entmutigen, ich möchte realistisch bleiben.

Wenn Sie mit dem Cortex-M4 weitermachen möchten, können Sie mit minimaler externer Hardware auskommen. Der NXP LPC407x hat zum Beispiel einen internen RC-Oszillator, der beim Zurücksetzen der Standardoszillator ist, sodass Sie nicht einmal einen Quarz benötigen. Eine Reset-Schaltung und eine ordnungsgemäße Entkopplung der Stromversorgung sind alles, was Sie brauchen, um es zum Laufen zu bringen.

Für einen Cortex-M0 kann der NXP LPC111x einen Blick wert sein. Zugegeben, es ist nicht mit viel Speicher ausgestattet, aber es ist in einem DIL-28-Paket erhältlich , was für ARMs eine Seltenheit ist. Alternativ können Sie ein Entwicklungsboard wie das LPCXpresso verwenden .

Geben Sie hier die Bildbeschreibung ein

wobei die rechte Hälfte die Anwendungsplatine ist, die vom LPC-Link getrennt werden kann. Wie Sie sehen, ist für die Anwendung kaum externe Hardware erforderlich. Und wenn Sie einen Satz Header darauf löten, können Sie es auf ein Steckbrett stecken.

Tolles Feedback. Ich bin nicht fest entschlossen, den Cortex-M4 zu verwenden. Ich werde mir die M3/M0-Modelle ansehen. Ich werde den genauen Chip und das Paket, das ich habe, überprüfen und die Frage aktualisieren.
Ich habe einen Sprung von PIC18s zu LPC2100s gemacht (das war 2008, inzwischen wurde ARM7 von Cortex-M3 abgelöst). Es war ein großer Leistungssprung, aber kein großer Sprung in der Hardwarekomplexität auf Board-Ebene.
@Nick - Ich habe auch mehrere LPC2000-Teile verwendet, aber wie Sie sagen, werden sie durch Cortex-M3 ersetzt. Cortex-M4 ist eine andere Liga.

Wie Steven sagt, ist es ein ziemlich großer Sprung von einem 8-Bit-Mikro zu ARM, also erwarten Sie einiges an Lern-/Zeitaufwand auf dem Weg.
Ich würde mich auch nicht für den M4 für Ihren ersten ARM entscheiden, einfach weil es noch nicht allzu lange auf dem Markt ist und es weniger Support/Infos dafür gibt. Ich denke, ein M3 oder M0 ist eine bessere Wahl und wird viel sein, um damit zurechtzukommen.

Sie können sicherlich Ihr eigenes Board erstellen, aber es wäre vielleicht besser, sich zuerst ein kleines / billiges Entwicklerboard zu schnappen. In Bezug auf die Entwicklung gibt es viele Optionen, von kostenlos (Eclipse + GCC + OpenOCD) bis teuer (Keil, Rowley usw.). Persönlich verwende ich die Raisonance Ride7 IDE und Tools mit den ARM M3/M4s der STM32-Serie, die etwas billiger sind als Keil/Rowely, aber gut genug.

Schauen Sie sich eines der einfachen Entwicklungsboards von jemandem wie ST, Olimex usw. an. Dieses Entwicklungsboard hat ungefähr den einfachsten Schaltplan , den ich für einen STM32 Cortex-M3 finden konnte.

Geben Sie hier die Bildbeschreibung ein

Toller Vorschlag. Ich habe ein Entwicklungsboard auf dem Weg (Stellaris Launchpad). Ich habe vor, mich damit vertraut zu machen, bevor ich mein eigenes Board mache. Ich habe auch meinen Beitrag mit den Hardware-Informationen aktualisiert.
Beachten Sie, dass Boards etwa dreimal so viel kosten wie das eigene Angebot von ST.
Das neueste Launchpad von @ChrisStratton TI war für 5 US-Dollar versandt erhältlich . Es könnte sein, dass es noch verfügbar ist. Schwer zu schlagender Preis.
@ChrisStratton - ja, ich habe es eher für den Schaltplan als für den Preis hinzugefügt (habe es nicht einmal überprüft). Ich habe eines der Discovery STM32F4-Boards, sie sind in der Tat sehr billig, aber ich dachte, es könnte die Dinge mit all dem zusätzlichen Zeug und dem integrierten STLink-Programmierer ohne "Standard" -JTAG-Verbindung ein wenig verwirren. Trotzdem, für weniger als 10 Dollar (oder was auch immer es jetzt ist) lohnt es sich wahrscheinlich, sich auch eines davon zu schnappen (vielleicht ist die M3-Version besser, wie erwähnt)
Für einfache eingebettete Projekte finde ich die 4-polige SWD viel praktischer als jtag. In seiner ursprünglichen Vendor-Lock-in-Tools-Form ist dies möglicherweise nicht der Fall, aber es gibt jetzt offene Lösungen, um mit den Adaptern zu sprechen.

Der Arduino Due sollte ziemlich bald erscheinen:

adruino fällig

Chip ist ein SAM3X8 Cortex-M3 von Atmel. Das Warten könnte sich lohnen, wenn Sie bereits mit Boards im Arduino-Stil und der Dokumentation im Atmel-Stil vertraut sind. Und da es Open Source sein wird, um die Arduino-Anforderungen zu erfüllen, könnten Sie es natürlich mit einem Steckbrett duinoen.

Toller Vorschlag. Ich wusste, dass dies herauskommen würde, dachte aber nicht daran, dieses aa-Modell zu verwenden. Toller Vorschlag.

Ich würde Ihnen empfehlen, Mbed zu überprüfen, es ist ein Cortex-m3-Gerät mit ein paar netten Peripheriegeräten, nxp bietet einen Compiler und viele Bibliotheken und Community-Bibliotheken, eine wirklich einfache Möglichkeit, es zu programmieren, und es ist bereits in einem Paket enthalten, das auf einem Steckbrett verwendet werden kann. Ich denke, es wäre der einfachste Weg, von AVR auf ARM umzusteigen.

Viele der ST-Teile können, zumindest wenn sie keinen USB-Transceiver verwenden, mit ihrem internen Hochgeschwindigkeitsoszillator betrieben werden.

Das bedeutet im Grunde, dass Ihre "Schaltung" aus Bypass-Kappen und einigen Widerständen für Dinge wie den Reset und als Terminierung an der SWD-Schnittstelle besteht.

Die Evaluierungsboards von ST für 8-10 US-Dollar programmieren Teile, die Sie über den SWD-Bus auf Ihr eigenes Board stecken. Es gibt auch Open-Source-Tools für sie, sodass Sie die Programmieroperation direkt in Ihr Makefile einfügen können.

Wenn Sie sich für etwas im 48er PQFP entscheiden, wird das Leben bei Ihrem ersten Boardversuch wahrscheinlich einfacher. Sie können diese ohne Vergrößerung zusammenbauen (halten Sie einfach ein feines Geflecht bereit, um die oder zwei Brücken zu befestigen, die Sie wahrscheinlich pro Seite erstellen werden), aber es wäre hilfreich, eine Lupe zur Verfügung zu haben, um Ihre Arbeit zu überprüfen.

8-10 $ werden nicht Cortex-M4 sein, denke ich. Können Sie angeben, an welche Teile Sie denken? Auch für das QFP-48-Paket? TIA
Cortex M3 ... sie neigen dazu, jede Version in mehreren Paketen herzustellen, von denen der QFP-48 am einfachsten von Hand zu bearbeiten sein wird.