Wiki source code of 4TE Controller ARM LPC1115

Version 4.3 by Stefan Taferner on 2014/06/26 22:46

Show last authors
1 == Features ==
2
3 * Controller für 4TE REG Gehäuse[[[[image:ARM_PCB_v1.0.jpg||style="float: right;" width="300"]]>>attach:ARM_PCB_v1.0.jpg]]
4 * Universell verwendbar
5 * Neue ARM Cortex Plattform
6 * Derzeit nur für Entwickler geeignet
7
8 == Beschreibung ==
9
10 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. Bei diesem Controller ist ein ARM LPC1115 verbaut. Optional kann auch ein LPC1114 verwendet werden. Er ist Pin kompatibel, hat aber nur halb so viel Flash.
11
12
13 Der Applikations-Stecker ist 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.
14
15 Der Led/Taster Stecker ist auch länger geworden. Auch hier sind die ersten Pins kompatibel zum LPC922. Es sollte also eine Led/Taster Platine vom LPC922 verwendbar sein (noch nicht getestet).
16
17 Es gibt keinen "Run" Jumper (wie beim LPC922).
18
19 == Aufbau ==
20
21 Der Aufbau ist nur für geübte Löter zu empfehlen. Die meisten Bauteile sind SMD, und der Prozessor ist etwas schwierig da kleine Pins.
22
23 Die IO Leitungen zum APP Stecker haben Pads für optionale Schutzwiderstände. Diese Widerstände müssen nicht bestückt werden, und die Leiterbahnen gehen auch durch.
24
25 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.
26
27 Wenn der Controller ohne Applikations-Platine betrieben wird dann unbedingt D8 mit einer SMAJ40C bestücken.
28
29 Über den JTAG Stecker wird der Prozessor programmiert. Damit wir sowohl den LPCxpresso Programmer als auch einen einfachen seriellen Programmer verwenden können haben wir die Belegung des Steckers selbst entschieden.
30
31 == Warenkorb ==
32
33 [[[[image:Icons_22@icon_shop_22.png]] Reichelt Warenkorb>>url:https://secure.reichelt.de/index.html?&ACTION=20&AWKID=925364&PROVID=2084||rel="__blank"]]
34
35 Dem Warenkorb fehlen der Prozessor. Hier ist ein LPC1115 im LQFP48 Gehäuse ideal, aber es kann auch ein LPC1114 sein (auch LQFP48). Beide gibt es bei TME: [[LPC1115 bei TME>>url:http://www.tme.eu/de/katalog/#search=LPC111||rel="__blank"]].
36
37 Dem Warenkorb fehlt auch der Schaltregler BD9G101.
38
39 ====== Option: Quarz statt Oszillator ======
40
41 Der Warenkorb enthält die Version mit Oszillator. Man kann auch optional statt dem Oszillator einen Quarz verwenden. Dazu wird "XO32 12,00000" aus dem Warenkorb entfernt und 1x "12,0000-HC49U-S", 2x "NPO-G0805 15P" hinzugefügt.
42
43 == Software ==
44
45 Bisher gibt es eine Bibliothek für die Entwicklung eigener Geräte und ein paar Beispiel Applikationen (die alle nicht fertig entwickelt sind). Die Software ist im Github Repository [[software-arm-incubation>>url:https://github.com/selfbus/software-arm-incubation||rel="__blank"]] eingecheckt.
46
47 Zur Entwicklung verwenden wir die Eclipse C++ Entwicklungsumgebung "LPCxpresso" die man hier kostenlos beziehen kann: [[url:http://www.lpcware.com/lpcxpresso/download||rel="__blank"]].
48
49 === Programmer ===
50
51 ===== Entwickler: LPCxpresso =====
52
53 Für die Entwicklung ist es am besten man kauft sich einen LPCxpresso. Diese kleinen Boards enthalten einen Programmer mit Hardware Debugger und einen Experimentier-Prozessor. Der Programmer ist was wir brauchen, der Experimentier-Prozessor ist nicht direkt nötig. Durch den integrierten Debugger kann man die Programme direkt auf dem ARM debuggen. Das will man haben ;-)
54
55 ===== Anwender: Selfbus USB Programmer =====
56
57 Wenn es nur darum geht fertige Firmware auf den ARM zu laden dann kann ein neuer [[USB Programmer>>doc:USB Programmer]] verwendet werden. Die neuen Modelle (ab Version 3.7) haben einen 5x2poligen ARM JTAG Stecker.
58
59 ===== Anwender: anderer USB Programmer =====
60
61 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.
62
63 ===== Verbindungskabel =====
64
65 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.
66
67 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.