Eine Controllerplatine auf Basis des LPC1115 (kurz "ARM" genannt) für 4TE-Geräte.
Überblick
- Controller für 4TE REG Gehäuse
- Universell verwendbar
- ARM Cortex M0-Plattform
- Aktuell immer noch als "Dev-Board" als Hardware, aber bereits verfügbare Software: 8out 10A, 8out 16A, 4fach-Jalo, Rauchmelder (spezielle Hardware),...
Hardware
Die meisten Geräte bestehen aus zwei Platinen. Einem Controller und einer Applikations-Platine. Der Controller ist universell einsetzbar und ist u.A. für alle 4TE Applikationen geeignet.
Änderungen zum LPC922-Controller
Der Applikations-Stecker ist im Vergleich zum LPC922 länger geworden. Beim LPC922 ist dieser Stecker 20 polig, beim ARM ist er 26 polig. Die ersten 20 Pole sind kompatibel zum LPC922. Es kann also eine Applikationsplatine mit 20-poligem Stecker angeschlossen werden.
Der Led/Taster Stecker ist auch länger geworden. Auch hier sind die ersten Pins kompatibel zum LPC922. Die Led/Taster Platine des LPC922 ist also auch für den ARM verwendbar. Es gibt keinen "Run" Jumper (wie beim LPC922) mehr.
Technischer Überblick
Das Herz der Platine ist ein LPC1115 mit ARM Cortex M0 Kern. Neben der Prog. LED sind nun auch jeweils eine Run, Info und Power LED vorhanden. Die zusätzlichen LEDs sind hauptsächlich für Entwickler interessant.
Die Spannungsversorgung ist effizienter geworden - das Schaltregler Urgestein ist einem modernen Buck-Converter gewichen. Durch die deutlich höhere Schaltfrequenz baut es kompakter und ist selbst für empfindliche Ohren nicht mehr wahrnehmbar.
Der 4TE ARM Controller ist ein reines 3.3V Design, dadurch konnten wir auf den zusätzlichen Linearregler verzichten. Als Ergebnis ist die Stromaufnahme des 4TE Controllers auf unter 2mA gesunken. Der Applikationsplatine stehen nun bis zu 50mA bei 3.3V zur Verfügung (bei 29V Bus-Spannung werden 10mA aufgenommen). Der Schaltregler kann durchaus mehr Strom abgeben, allerdings werden dann mehr als 10mA vom Bus entnommen.
Applikations-Stecker (26-polig)
Pin | Funktion | ARM IO |
---|---|---|
1 | EIB+ | |
2 | GND | |
3 | PWM | |
4 | Prog. LED / Taster | |
5 | 3.3V | |
6 | EIB DC | |
7 | IO 1 | PIO2_2 |
8 | IO 2 | PIO0_7 |
9 | IO 3 | PIO2_10 |
10 | IO 4 | PIO2_9 |
11 | I2C - SDA | PIO0_5 |
12 | I2C - SCL | PIO0_4 |
13 | IO 5, SPI - SSEL0 | PIO0_2 |
14 | IO 6, SPI - MISO0 | PIO0_8 |
15 | IO 7, SPI - MOIS0 | PIO0_9 |
16 | IO 8, SPI - SCK0 | PIO2_11 |
17 | UART - TxD | PIO3_0 |
18 | UART - RxD | PIO3_1 |
19 | IO 9 | PIO1_0 |
20 | IO 10 | PIO1_1 |
21 | GND | |
22 | IO 11 | PIO1_2 |
23 | IO 12 | PIO1_4 |
24 | IO 13 | PIO1_5 |
25 | IO 14 | PIO1_7 |
26 | IO 15 | PIO1_6 |
Aufbau
Der Aufbau ist nur für geübte Löter zu empfehlen. Die meisten Bauteile sind SMD, der Prozessor ist insbesondere etwas schwieriger zu löten, da er kleine Pins hat. Ohne Flussmittel oder zumindest Übung mit der Entlötlitze sollte man nicht an das ARM-Löten heran gehen.
Die IO Leitungen zum Applikations-Stecker haben Pads für optionale Schutzwiderstände. Diese Widerstände müssen nicht bestückt werden, und die Leiterbahnen gehen auch durch.
Die LEDs sind nicht alle nötig. Unbedingt bestückt werden soll die Prog-LED. Optional sind Run, Info und Power LED. Im Warenkorb sind alle LEDs enthalten.
Wenn der Controller ohne Applikations-Platine betrieben wird, dann unbedingt D8 mit einer SMAJ40C bestücken.
Über den SWD-Stecker wird der Prozessor programmiert. Damit wir sowohl den MCUXpresso Programmer als auch einen einfachen seriellen Programmer verwenden können haben wir die Belegung des Steckers selbst entschieden.
Warenkorb
Im Warenkorb fehlen Schaltregler BD9G101 und der Prozessor LPC1115FBD48/303EL.
Beides kann z.B. in Doumanix's Shop oder den bekannten Distributoren (z.B. Mouser, Digikey) bezogen werden.
Software
Die Software ist im Github Repository software-arm-incubation eingecheckt.
Zur Entwicklung verwenden wir die Eclipse C++ Entwicklungsumgebung "MCUxpresso", die man kostenlos beziehen kann.
Programmer
Entwickler: Selfbus Debugger SBDAP
Für die Entwicklung ist es am besten man nutzt unseren Debugger SBDAP oder nutzt einen MCU Link (Pro) von NXP. Durch den integrierten Debugger kann man die Programme direkt auf dem ARM debuggen. Das will man haben ;-)
Anwender: Selfbus USB Programmer
Wenn es nur darum geht fertige Firmware auf den ARM zu laden dann kann ein neuer USB Programmer verwendet werden. Die neuen Modelle (ab Version 3.7) haben einen 5x2poligen ARM JTAG Stecker. Die RM2,00mm Stecker gibt es bei Reichelt. Das Flachbandkabel 30cm z.B. in Doumanix's Shop wo es auch die Platinen gibt.
Anwender: anderer USB Programmer
Der ARM ist sehr unkritisch zu programmieren, es gibt einige fertige Programmer im 10-20 EUR Preisbereich von verschiedenen Herstellern. Einzig das Verbindungskabel muss selbst hergestellt werden.
Verbindungskabel
Auf jeden Fall braucht man ein Programmier-Kabel. Die passenden Stecker mit Rastermaß RM2,0 gibt es bei Reichelt: "PL 2X05G 2,00". Ein Flachbandkabel muss entsprechend Streifenraster 1mm haben.
Die Steckerleiste für den Programmer ist "WL 2X05G 2,00" bei Reichelt. Sie ist im ARM Warenkorb enthalten, fehlt aber beim LPC Programmer Warenkorb.
Links
Reichelt-Warenkorb ARM Controller 4TE
Die erste bestückte Version des ARM Controllers.