Minimale Anforderungen an die ARM-Schaltung


13

Ich habe mit dem ATMega einige Entwicklungen durchgeführt und möchte meinen Horizont erweitern. Ich habe ein paar Chips der Cortex M4-Serie und möchte ein ARM-Äquivalent zum Breadboarduino herstellen

Ich habe vor, entweder mein eigenes Board zu ätzen oder ein Breakout-Board für den ARM zu verwenden und den Rest für das Breadboard. Eine Bezugnahme oder ein Schema der minimalen Komponenten wäre sehr erwünscht.

Gibt es gute Ressourcen, um die erforderlichen Mindestkomponenten für den Betrieb und die ideale Programmierung eines ARM-Chips zu ermitteln?

AKTUALISIEREN:

Ich bin offen für alternative Hardware-Vorschläge. Unten ist der Chip, mit dem ich gerade arbeite:


7
Können Sie uns sagen, welche Geräte Sie haben? Link zum Datenblatt wäre toll.
Stevenvh

Ich hoffe, es ist nicht das WLCSP-Paket, für das Sie Ihre eigene Platine ätzen möchten: eine BGA mit 0,4 mm Rastermaß! : - /
stevenvh

@ Stevenvh Ich bin nicht so mutig. Es ist das LQFP 144-Paket
ZnArK

1
Überprüfen Sie die NXP LPC-Serie, sie (alle?) Haben einen integrierten seriellen Bootloader. lpc21isp ist ein gutes PC-Tool. LPC1114 ist sogar in DIP28 erhältlich! Der lpc1343 hat einen eingebauten USB (!) Bootloader (was gut klingt, aber etwas umständlich in der Verwendung von IMO ist).
Wouter van Ooijen

1
@Wouter - Ja, ich habe auch dieses DIP entdeckt (siehe Antwort). Der LPC1114 ist der einzige Cortex-Hersteller, der bei Digikey als DIP erhältlich ist.
Stevenvh

Antworten:


9

Dies hängt wirklich von den verwendeten Chips ab - Sie haben nicht angegeben, welche Sie haben. Normalerweise benötigen Sie mindestens einen Quarz, Entkopplungskappen und eine Rücksetzlogik. Die Programmierschnittstelle kann eine einfache JTAG-Schnittstelle sein.

All dies sollte jedoch im Datenblatt des Chips angegeben werden.

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 für die Verwendung des internen Reglers (durch Ziehen des Pins PDR_ON high)
  • 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 Rücksetzschaltung (integriert - siehe Seite 23) noch einen Oszillator (der integrierte 16-MHz-Oszillator wird beim Start ausgewählt, siehe Seite 22). Verwenden Sie also ein LQFP144-Breakout-Board (wie das von futurlec) (siehe unten auf der Seite) könnte also wirklich ausreichen.

Sie können sich auch den Schaltplan der STM32F4DISCOVERY-Karte ansehen (siehe 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 darin bestehen würde, einen EE-Abschluss zu machen, aber meine derzeitige Karriere und andere Aufgaben machen dies derzeit nicht möglich. Gibt es irgendwelche offenen Hardwareprojekte, die einen Schaltplan ihrer ARM-Schaltung hätten? Ich bin zuversichtlich, dass ich das auseinander nehmen und ein brauchbares Projekt machen könnte.
ZnArK

1
Die oben verlinkte STM-Demo-Karte wird mit dem Schaltplan geliefert, damit Sie beginnen können. Ansonsten öffnet Olimex ihre Schaltpläne, zB für diese M4- Karte .
hli

Das habe ich nicht gemerkt. Danke für die Information. Sehr hilfreich,
ZnArK

10

Möchten Sie dies wirklich für einen Cortex-M4 tun? Es ist ein großer Schritt von AVR, und ich verstehe nicht, wie Sie alle Funktionen nutzen würden, die es bietet. Zunächst einmal wird der Cortex-M4 in der Regel in einem großen Paket geliefert, normalerweise mit mehr als 80 Pins für die Einstiegsteile, und 200+ sind 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 hohe Geschwindigkeiten ausgelegt: 120 MHz bis 200+ MHz (typisch). OK, Sie müssen Ihre Platine möglicherweise nicht für diese Geschwindigkeiten entwickeln, wenn Sie eine On-Chip-PLL verwenden. Aber was ist mit Peripheriegeräten wie USB oder Ethernet?

Natürlich können Sie es mit niedrigeren Geschwindigkeiten laufen lassen und viel von der On-Chip-Funktionalität weglassen, aber ich frage mich, womit ein Cortex-M4 anfangen soll. Ich denke, ein Cortex-M3 oder sogar -M0 ist am besten geeignet, um damit zu beginnen. Ich möchte Sie nicht entmutigen, ich möchte realistisch bleiben.

Wenn Sie Sie gehen möchten , voran mit dem Cortex-M4 können Sie mit nur wenigen externen Hardware zu tun. Der NXP LPC407x verfügt beispielsweise über einen internen RC-Oszillator, der beim Zurücksetzen der Standardoszillator ist, sodass Sie nicht einmal einen benötigen. Ein Reset-Schaltkreis und eine ordnungsgemäße Entkopplung der Stromversorgung sind alles, was Sie benötigen, um das Gerät in Betrieb zu nehmen.

Für einen Cortex-M0 ist der NXP LPC111x möglicherweise einen Blick wert. Zugegeben, es kommt nicht mit viel Speicher, aber es ist in einem DIL-28-Paket verfügbar , was für ARMs eine Seltenheit ist. Alternativ können Sie ein Entwicklungsboard wie das LPCXpresso verwenden .

Bildbeschreibung hier eingeben

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


Tolles Feedback. Ich bin nicht schwer mit dem Cortex-M4. Ich werde in die M3 / M0-Modelle schauen. Ich überprüfe den genauen Chip und das Paket und aktualisiere die Frage.
ZnArK,

1
Ich habe einen Sprung von PIC18 auf LPC2100 gemacht (dies war 2008, ARM7 wurde inzwischen von Cortex-M3 abgelöst). Es war ein großer Leistungssprung, aber es war kein großer Sprung in der Hardwarekomplexität auf der Platinenebene.
Nick Alexeev

1
@Nick - Ich habe auch mehrere LPC2000-Teile verwendet, aber wie Sie sagen, sie wurden durch Cortex-M3 ersetzt. Cortex-M4 ist eine andere Liga.
Stevenvh

8

Wie Steven sagt, ist es ein ziemlicher Sprung von einem 8-Bit-Mikro zu ARM. Erwarten Sie also ein gutes Stück Lernen / Zeit, die Sie auf dem Weg verbringen.
Ich würde den M4 auch nicht für dein erstes ARM nehmen, einfach weil er nicht zu lang ist und es weniger Support / Infos dafür gibt. Ich denke, ein M3 oder M0 ist eine bessere Wahl und es wird viel zu tun geben.

Sie können sicherlich Ihr eigenes Board bauen, aber es wäre vielleicht besser, zuerst ein kleines / billiges Entwicklerboard zu ergattern. 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, was etwas billiger ist als Keil / Rowely aber gut genug.

Schauen Sie sich eines der einfachen Entwicklungsboards von jemandem wie ST, Olimex usw. an. Dieses Entwicklungsboard enthält ungefähr das einfachste Schema, das ich finden konnte, für ein STM32 Cortex-M3.

Bildbeschreibung hier eingeben


Toller Vorschlag. Ich habe ein Entwicklungsboard auf dem Weg (Stellaris Launchpad). Ich plane, mich damit vertraut zu machen, bevor ich mein eigenes Board baue. Ich habe auch meinen Beitrag mit den Hardware-Informationen aktualisiert.
ZnArK,

Beachten Sie, dass Boards etwa dreimal so viel kosten wie STs eigenes Angebot.
Chris Stratton

Das neueste Launchpad von @ChrisStratton TI war für 5 US-Dollar erhältlich . Möglicherweise ist es noch verfügbar. Harter Preis zu schlagen.
ZnArK,

@ ChrisStratton - ja, ich habe es eher für den Schaltplan als für den Preis hinzugefügt (habe nicht einmal nachgesehen). Ich habe eine der Discovery-STM32F4-Karten, sie sind in der Tat sehr billig, aber ich dachte, es könnte die Dinge ein wenig verwechseln mit all dem zusätzlichen Zeug dort und dem integrierten STLink-Programmierer ohne "Standard" -JTAG-Verbindung. Für weniger als 10 US-Dollar (oder was auch immer es jetzt ist) lohnt es sich wahrscheinlich, auch einen davon zu ergattern (vielleicht ist die M3-Version besser, wie erwähnt)
Oli Glaser,

Für einfache eingebettete Projekte finde ich die 4-polige SWD viel praktischer als jtag. In der ursprünglichen Form der Hersteller-Lock-in-Tools ist dies möglicherweise nicht der Fall, es gibt jedoch offene Lösungen, um jetzt mit den Adaptern zu sprechen.
Chris Stratton

5

Der Arduino Due sollte ziemlich bald herauskommen:

Adruino fällig

Chip ist ein SAM3X8 Cortex-M3 von Atmel. Das Warten lohnt sich vielleicht, wenn Sie bereits mit Arduino-Style-Boards und Atmel-Style-Dokumentation vertraut sind. Und da es Open Source sein wird, um die Arduino-Anforderungen zu erfüllen, könnten Sie es natürlich mit einem Breadboard-Duino versehen.


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

4

Ich würde empfehlen, dass Sie überprüfen, ob Mbed ein cortex-m3-Gerät mit ein paar netten Peripheriegeräten ist, nxp Compiler und viele Bibliotheken und Community-Bibliotheken bietet, 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 zu ARM zu wechseln.


2

Viele der ST-Teile können, zumindest wenn sie keinen USB-Transceiver verwenden, ihren internen Hochgeschwindigkeitsoszillator verwenden.

Das heißt im Grunde, Ihre "Schaltung" besteht aus Bypass-Kappen und einigen Widerständen für Dinge wie das Zurücksetzen und als Terminierung auf der SWD-Schnittstelle.

Die ST-Evaluierungskarten im Wert von 8-10 USD programmieren Teile, die Sie über den SWD-Bus auf Ihre eigene Karte setzen. Es gibt auch Open-Source-Tools für sie, so dass Sie den Programmiervorgang direkt in Ihr Makefile einfügen können.

Wenn Sie sich für den 48 PQFP entscheiden, wird dies wahrscheinlich das Leben bei Ihrem ersten Board-Versuch erleichtern. Sie können diese ohne Vergrößerung zusammenbauen (Sie müssen nur ein feines Geflecht zur Verfügung haben, um die Brücke zu befestigen, oder zwei, die Sie wahrscheinlich pro Seite herstellen), aber eine Lupe zur Verfügung zu haben, um Ihre Arbeit zu überprüfen, wäre hilfreich.


1
$ 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
Stevenvh

1
Cortex M3 ... sie neigen dazu, jede Version in mehreren Paketen herzustellen, von denen der QFP-48 am einfachsten per Hand zu bearbeiten sein wird.
Chris Stratton
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.