Changes for page 4TE Controller ARM LPC1115
Last modified by Christian B. on 2019/04/14 20:16
From version 13.1
edited by Christian B.
on 2019/04/07 01:20
on 2019/04/07 01:20
Change comment:
There is no comment for this version
To version 12.2
edited by Stefan Taferner
on 2016/08/21 19:30
on 2016/08/21 19:30
Change comment:
Updated the relative links.
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -xwiki:XWiki. Doumanix1 +xwiki:XWiki.StefanT - Content
-
... ... @@ -1,173 +1,106 @@ 1 -(% class="row" %) 2 -((( 3 -(% class="col-xs-12 col-sm-8" %) 4 -((( 5 -(% class="jumbotron" %) 6 -((( 7 -(% class="container" %) 8 -((( 9 -Eine Controllerplatine auf Basis des LPC1115 (kurz "ARM" genannt) für 4TE-Geräte. 10 -))) 11 -))) 1 +== **Features** == 12 12 13 -= Überblick = 14 - 15 -* Controller für 4TE REG Gehäuse 3 +* Controller für 4TE REG Gehäuse[[[[image:lpc1115.jpg||alt="ARM_PCB_v1.0" style="float: right;" width="300"]]>>attach:lpc1115.jpg]] 16 16 * Universell verwendbar 17 -* ARM Cortex M0-Plattform18 -* Aktuell immer noch als "Dev-Board" als Hardware, aber bereitsverfügbareSoftware: 8out 10A, 8out 16A, 4fach-Jalo,Rauchmelder,...5 +* Neue ARM Cortex Plattform 6 +* Derzeit nur für Entwickler geeignet 19 19 20 -== Hardware ==8 +=== Beschreibung === 21 21 22 -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. OptionalkannstattdesLPC1115 auch ein LPC1114 verwendet werden. Er ist Pin-kompatibel, hat aber nur halb so viel Flash.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. 23 23 24 -=== Änderungen zum LPC922-Controller === 25 25 26 -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.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. 27 27 28 28 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). 29 29 30 30 Es gibt keinen "Run" Jumper (wie beim LPC922). 31 31 32 -== =Technischer Überblick===19 +== **Aufbau** == 33 33 34 -D as Herzder PlatineisteinLPC1115 mit ARM Cortex M0 Kern. ZurZeit läuft derControllernur mitmoderaten12Mhz,hier ist also noch Luft nachoben.Nebender Prog. LED sindsindnunauch jeweilseineRun,InfoundPowerLED vorhanden.Die zusätzlichenLEDs sind hauptsächlich fürEntwicklerinteressant.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. 35 35 36 -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. 37 - 38 -Der 4TE ARM Controller ist ein reines 3.3V Design, dadurch konnten wir den zusätzlichen Linearregler verzichten. Als Ergebnis ist die Stromaufnahme des 4TE Controllers bei 12Mhz CPU Takt 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. 39 - 40 -=== Applikations-Stecker (26-polig) === 41 - 42 -|=Pin|=Funktion|=ARM IO 43 -|1|EIB+ 44 -|2|GND 45 -|3|PWM 46 -|4|Prog. LED / Taster 47 -|5|3.3V 48 -|6|EIB DC 49 -|7|IO 1|PIO2_2 50 -|8|IO 2|PIO0_7 51 -|9|IO 3|PIO2_10 52 -|10|IO 4|PIO2_9 53 -|11|I2C - SDA|PIO0_5 54 -|12|I2C - SCL|PIO0_4 55 -|13|IO 5, SPI - SSEL0|PIO0_2 56 -|14|IO 6, SPI - MISO0|PIO0_8 57 -|15|IO 7, SPI - MOIS0|PIO0_9 58 -|16|IO 8, SPI - SCK0|PIO2_11 59 -|17|UART - TxD|PIO3_0 60 -|18|UART - RxD|PIO3_1 61 -|19|IO 9|PIO1_0 62 -|20|IO 10|PIO1_1 63 -|21|GND 64 -|22|IO 11|PIO1_2 65 -|23|IO 12|PIO1_4 66 -|24|IO 13|PIO1_5 67 -|25|IO 14|PIO1_7 68 -|26|IO 15|PIO1_6 69 - 70 -=== Aufbau === 71 - 72 -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. 73 - 74 74 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. 75 75 76 76 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. 77 77 78 -Wenn der Controller ohne Applikations-Platine betrieben wird ,dann unbedingt D8 mit einer SMAJ40C bestücken.27 +Wenn der Controller ohne Applikations-Platine betrieben wird dann unbedingt D8 mit einer SMAJ40C bestücken. 79 79 80 80 Ü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. 81 81 82 82 === Warenkorb === 83 83 84 - DemWarenkorb fehlt der Prozessor.Hier ist einLPC1115 im LQFP48 Gehäuseideal,abers 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"]].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"]] 85 85 86 -Dem Warenkorb fehl tauchderSchaltreglerBD9G101.Ist imShop,woesdiePlatinen gibt,oderbeidigikeyerhältlich.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"]]. 87 87 88 - ====Option:QuarzstattOszillator====37 +Dem Warenkorb fehlt auch der Schaltregler BD9G101. Ist im shop wo es die Platinen gibt oder bei digikey erhältlich. 89 89 39 +====== Option: Quarz statt Oszillator ====== 40 + 90 90 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. 91 -Empfehlung ist jedoch klar, den Oszillator zu nutzen. 92 92 43 +== **Software** == 93 93 94 - ==Bildergallerie ==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. 95 95 96 - [[[[image:lpc1115.jpg||alt="ARM_PCB_v1.0"width="300"]]>>attach:lpc1115.jpg]]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"]]. 97 97 98 -Die erste bestückte Version des ARM Controllers. 99 -))) 49 +=== Programmer === 100 100 101 -(% class="col-xs-12 col-sm-4" %) 102 -((( 103 -(% class="box" %) 104 -((( 105 -**Index** 51 +===== Entwickler: LPCxpresso ===== 106 106 107 -{{toc/}} 108 -))) 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 ;-) 109 109 55 +===== Anwender: Selfbus USB Programmer ===== 110 110 111 -(% class="box" %) 112 -((( 113 -= Eigenschaften = 57 +Wenn es nur darum geht fertige Firmware auf den ARM zu laden dann kann ein neuer [[USB Programmer>>doc:Selfbus.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 im shop wo es auch die Platinen gibt. 114 114 115 -(% border="2" cellpadding="1" %) 116 -|Stromaufnahme|< 2mA 117 -|Kosten (ca.)|15,- EUR 118 -|...| 119 -))) 59 +===== Anwender: anderer USB Programmer ===== 120 120 121 -(% class="box" %) 122 -((( 123 -= Links = 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. 124 124 125 - [[image:Icons_svg.WebHome@shopping-cart.svg||height="25" width="25"]][[Reichelt-WarenkorbARM Controller 4TE>>https://www.reichelt.de/my/1577121]]63 +===== Verbindungskabel ===== 126 126 127 - [[image:Icons_svg.WebHome@circuit-board.svg||height="35"width="31"]][[SchaltplanundBoard >>https://github.com/selfbus/hardware-incubation/tree/master/Controller/lpc1115_4te]]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. 128 128 129 - [[image:Icons_svg.WebHome@file-binary.svg||height="35"width="31"]][[Software Releases>>https://github.com/selfbus/software-releases/tree/master/ARM]]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. 130 130 131 -[[image:Icons_svg.WebHome@file-binary.svg||height="35" width="31"]] [[Sources >>https://github.com/selfbus/software-arm-incubation]] 132 -))) 69 +== **Hardware** == 133 133 134 -(% class="box" %) 135 -((( 136 -= Bilder = 71 +Das Herz der Platine ist ein LPC1115 mit ARM Cortex M0 Kern. Zur Zeit läuft der Controller nur mit moderaten 12Mhz, hier ist also noch Luft nach oben. Neben der Prog. LED sind sind nun auch jeweils eine Run, Info und Power LED vorhanden. Die zusätzlichen LEDs sind hauptsächlich für Entwickler interessant. 137 137 138 -[[image:Icons.WebHome@icon_tableu_128.png||alt="alt text"]] 139 -))) 73 +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. 140 140 75 +Der 4TE ARM Controller ist ein reines 3.3V Design, dadurch konnten wir den zusätzlichen Linearregler verzichten. Als Ergebnis ist die Stromaufnahme des 4TE Controllers bei 12Mhz CPU Takt 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. 141 141 142 142 78 +===== 26 poliger Applikations-Stecker ===== 143 143 144 - 145 -))) 146 -))) 147 - 148 - 149 -== Software == 150 - 151 -Die Software ist im Github Repository [[software-arm-incubation>>url:https://github.com/selfbus/software-arm-incubation||rel="__blank"]] eingecheckt. 152 - 153 -Zur Entwicklung verwenden wir die Eclipse C++ Entwicklungsumgebung "LPCxpresso" die man hier kostenlos beziehen kann: [[url:http://www.lpcware.com/lpcxpresso/download||rel="__blank"]]. 154 - 155 -== Programmer == 156 - 157 -=== Entwickler: LPCxpresso === 158 - 159 -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 ;-) 160 - 161 -=== Anwender: Selfbus USB Programmer === 162 - 163 -Wenn es nur darum geht fertige Firmware auf den ARM zu laden dann kann ein neuer [[USB Programmer>>doc:Selfbus.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 im shop wo es auch die Platinen gibt. 164 - 165 -=== Anwender: anderer USB Programmer === 166 - 167 -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. 168 - 169 -=== Verbindungskabel === 170 - 171 -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. 172 - 173 -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. 80 +|=Pin|=Funktion|=ARM IO 81 +|1|EIB+ 82 +|2|GND 83 +|3|PWM 84 +|4|Prog. LED / Taster 85 +|5|3.3V 86 +|6|EIB DC 87 +|7|IO 1|PIO2_2 88 +|8|IO 2|PIO0_7 89 +|9|IO 3|PIO2_10 90 +|10|IO 4|PIO2_9 91 +|11|I2C - SDA|PIO0_5 92 +|12|I2C - SCL|PIO0_4 93 +|13|IO 5, SPI - SSEL0|PIO0_2 94 +|14|IO 6, SPI - MISO0|PIO0_8 95 +|15|IO 7, SPI - MOIS0|PIO0_9 96 +|16|IO 8, SPI - SCK0|PIO2_11 97 +|17|UART - TxD|PIO3_0 98 +|18|UART - RxD|PIO3_1 99 +|19|IO 9|PIO1_0 100 +|20|IO 10|PIO1_1 101 +|21|GND 102 +|22|IO 11|PIO1_2 103 +|23|IO 12|PIO1_4 104 +|24|IO 13|PIO1_5 105 +|25|IO 14|PIO1_7 106 +|26|IO 15|PIO1_6