Home
Dokument 1 - Dokumentenserverhosting der SUB
Contents
1. thw th gt gt Hsync thfp thds tep P gt DE SSC thde gt 320 A RGB Data 11213 4 NCLK Bild 2 7 H Sync Timingbeispiel Aus dem Datenblatt des Displays LTA057 von Toshiba Bild 2 7 zeigt das Timing der einzelnen Pixel mit der horizontalen Synchronisation Um das Display korrekt anzusteuern ist es n tig die einzelnen Parameter im Datenblatt nach zu schlagen Es ist zu erkennen das der H Sync Impuls thw auch ber mehrere Takt Signale gehen kann Bevor die Pixeldaten geschrieben werden ist es n tig f r eine gewissen Anzahl an Taktzyklen den H Sync Impuls zu setzen Gleichzeitig mit dem Low setzen des H Sync Signals muss der Data Enable Eingang DE f r einen gewissen Zeitraum ebenfalls auf Low gesetzt werden Der DE Eingang wird auf High hier 3 3 Volt gelegt Nun wird mit jedem Takt Signal ein Pixel geschrieben bis die Zeile voll ist Am Ende wird der DE Ein gang wieder auf Low gelegt und das ganze wiederholt sich F r den R cksprung an die An fangsposition ist ein Kombination von mehreren H Sync Impulsen mit einem V Sync Im puls notwendig In der Regel geschieht das indem w hren der vertikalen Synchronisation zwei Pulse der Horizontalen auftreten wobei eine vom Display abh ngige Anzahl von H Sync Impulsen folgt Die Gr e des Pixel kann beeinflusst werden indem die Pulse fr her gesetzt wer
2. ADDR 31 0 gt Adress register 3 Scan debug gt m conttol 3 E O Address E incremeter 8 4 Register bank 31 x32 bit registers B 6 status register 2 32x 8 3 lt gt 2 2 multiplier 2 2 lt Instruction Decoder and Control logic Batel shifter 5 ea 32 bit ALU Instruction pipline Write data register Read data register Thumb instruction decoder WDATA 31 0 RDATA 31 0 Bild 2 1 Aufbau des ARM7DMI S Technische Referenz Rev r4p3 CLK CLKEN CFGBIGEND nIRG nFIQ nRESET ABORT LOCK WRITE SIZE 1 0 PROTT1 0 TRANS 1 0 DBG outputs DBG inputs CP control CP handshake Nach dem Load and Store Daten Speicherzugriffe sind nur durch spezielle Befehle erlaubt Prinzip werden die Daten f r die Verarbeitung vorbereitet Somit m ssen vor einer Rechen operation alle Werte in Register umkopiert werden Es existiert keine Adressarithmetik auf CPU Basis Die 32 Bit RISC Architektur unterst tzt ein dreifaches Pipelining zur schnelle ren Abarbeitung des Codes Sofern die Pipeline gef llt ist werden die Daten in einem Takt geholt die zuvor geholten Daten dekodiert und die dekodierten Daten ausgef hrt 5 2 Grundlagen Im ARM7TDMI S sind zwei Befehlss tze enthalten Ein 32 Bit ARM Befehlssatz mit 556 Befehlen sowie einen 16 Bit Thumb Befehlssatz mit 48 Befehlen F r die Verwendung des Thumb Befehlssatzes wird ein eingebauter Thumb instruction decod
3. Textelement y koord x koord Reserve Screen Number Typidentifikation Reserve Backgroundcolor Foregroundcolor Text 6 Chars aktive textbox y koord x koord GrafikID Screen Number Typidentifikation Reserve Auto Man Local State Font Backgroundcolor Foregroundcolor Link to Parameter Elementnumber Progbar Ee Ee PE J jr PR y koord x koord GrafikID Screen Number Typidentifikation Height width Pen size Backgroundcolor Foregroundcolor Value Font V A kA W kW Link to Parameter To insert into structure 3x4 Byte Ee 2g 39 wa SC e EL SC Se Ef EL SC gA Za Ze SC 27 5 SCH 24 Z i Ef SCH a 5o EJ Ef SC d Ef EZ EL 4 Za EZ SCH ay 4 EZ El 4 a Ef EZ Ef 85 Anhang A3 Pinbelegung LPC2478 Tab A 2 Pinnbelegung GU lfdnr Symbol Pin Ball Type Description Use 1 P00 94 U15 I O General purpose digital input output pin ito eegen 5 P0 1 96 T14 I O General purpose digital input output pin Tastatur 2 STOP 9 P0 2 202 C4 I O General purpose digital input output pin Tastatur 3 ACK 11 P0 3 204 D6 I O General purpose digital input output pin Tastatur 4 DOWN 13 P0 4 168 B12 I O General purpose digital input output pin Tastatur 5 LEFT 17 P0 5 166 C12 I O General purpose digital input output pin Tastatur 6 UP 21 P0 6 164
4. _ _ ie _ END GND1 GND1 GND1 GNDI Bild 3 4 a Hupe b Lautsprecher Der CAN Transceiver SN65HVD251D wird direkt an die TxD bzw RxD Anschl sse des Controllers angebunden Aufgrund der geringen Entfernungen zu den anderen Platinen wird hier eine Taktung von 1 MHz oder mehr m glich sein Mit dem LM60 ist ein Temperatursensor an einen der analogen Eing nge gef hrt Die vier Ausg nge des resistive Touchscreen werden in dem TSC2046 s Bild 3 5 in Ko otdinaten umgewandelt und ber eine weitere SPI Schnittstelle und einem externen Inter rupt mit dem Controller verbunden Bei diesem Touchscreen Controller handelt es sich um einen ADC welcher die ber die Widerstandsmatrix gewonnene analoge Spannung in ein digitales Signal umwandelt Der Baustein muss aufgrund eines Interruptausgangs nicht ge pollt werden F r die Spannungserzeugung der LED Hintergrundbeleuchtung wird der LED Treiberbau stein TPS61165 eingesetzt welcher ber eine PWM gesteuert f r die Einstellung der n ti gen Hintergrundbeleuchtung sorgt Die Beschaltung ergibt sich aus dem Datenblatt Die zus tzlichen Kondensatoren und Spulen dienen dem Schutz des Ger tes und der Erh hung der St rungsunempfindlichkeit s Bild 3 6 12 http www ti com 3 Hardwareplattform 29 3 3V VCI 2 R17 R18 10k U4 SCK1 LM x X X SSEL1 Ses AE Y MOS LIN x Xx e Busy D pr 3
5. Element 1 break Draw Draw Element n break Default break Bild 4 20 Flussdiagramm der Funktion createscreen 4 Software 68 Widget Elemente Die aufgrund der gegebenen Mittel konomischste L sung ist Messwerte Auswahlboxen oder Ladebalken einfach ber die Widgets zu realisieren Diese sollten initialisiert werden damit eine sp tere Pflege der Inhalte entf llt indem der darzustellende Inhalt einfach ber einen dereferenzierten Zeiger ausgelesen wird Erste Versuche haben allerdings erwiesen das eine Kopplung der Widgets an einen bestimmten Wert nicht m glich ist somit ist eine Verwaltungsfunktion n tig Die Nachricht WM CREATE wird einmalig beim Erstellen eines Fensters aufgerufen und kann somit f r die Initialisierung der Elemente genutzt werden die mit Hilfe der Widgets dargestellt werden sollen An dieser Stelle wird die Funktion void createScreenWidget U32 screen WM HWIN hdlScreen aufgerufen Diese enth lt als Parameter den Bildschirm auf den die Elemente gezeichnet werden sollen sowie den Handle f r das Fenster an das das Widget geh ngt wird Dieser steht in der Struktur pMsg gt sre welche jeder Callbackfunktion bermittelt wird Die Funk tion createScreenWidger hat schematisch den gleichen Aufbau wie Bild 4 20 mit dem Unter schied dass die Elemente nicht direkt gezeichnet werden sondern ber Funktionen initiali siert werden
6. Bild 2 10 Entwicklungsumgebung Keil Projektbereich Ausgabefenster C Datei Debugging Mit Hilfe des integrierten Debuggers s Bild 2 11 ist die Steuerung des Programmablau fes durch Haltepunkte und zeilenweises Ausf hren des Programmcodes bis zu einem ver sehentlich eingebauten Fehler m glich Die aktuell auszuf hrende Programmzeile ist dabei mit einem gelben Pfeil markiert Nach jedem Schritt kann dabei der aktuelle Zustand der einzelnen Register mitte links Speicherbereiche oben und der Inhalt von Variablen mit te unten sowie Zeigeradressen begutachtet werden Damit ist eine schnelle Fehlerbehe bung m glich 2 Grundlagen 19 Es besteht die M glichkeit mit dem Debugger einen Mikrocontroller zu simulieren oder aber in Echtzeit mit der Hardware zu arbeiten Hierbei bietet der Compiler unter dem Men punkt Peripherals die M glichkeit jegliche Peripherie z B SPI VIC AD zu ber wachen oder in die Register zu schreiben was die M glichkeiten sehr umfangreich macht Es k nnen einzelne Flags berpr ft werden oder z B an den Timereinstellungen gearbeitet werden Vh Versiond visions Disassembly R Eile Edit View Project Debug Flash Peripherals Tools SVCS Window Help Sek ielo alo 3 S su oa enmol vo goje m ra 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
7. Ovetload Frame Erzeugt eine Pause zwischen Daten und Remote Frame rezessiv 1 7 3 dominant 2 aa d el v 2 E y v E 2 o EL 2 8 8 o DB gt G KS Ei v uiu Sil B amp 8 o 5462523 Gei B Si D Al e R e Lie sls L O d Blow a Q o E v OI A O a no H S 2 a O 9 3 H 3 1 S A 5 St 3 Mm 4 o E 5 O O 23 lt Bild 2 5 CAN Datentelegramm Standard Bild 2 5 zeigt den Aufbau eines Standard Frames Hierbei ist zu beachten das das Szartbit Start of Frame immer dominant ist Das Identifier Extension Bit ergibt zusammen mit der L nge und dem reservierten Bit das Kontrollfeld Das Datenfeld kann zwischen 0 und 8 Byte variieren CRC und CRC Delimiter Trenner bilden das Pr fsummenfeld ACK Best ti gungs Slot und ACK Delimiter bilden das Best tigungsfeld Ein Remote Frame fordert von einem anderen Teilnehmer Daten an wobei das rezessive Re mote Transmission Bit gesetzt sein muss Dies verhindert den Verlust der Arbitrierung bei gleichzeitigem senden eines Datentelegramms Wichtig ist hierbei die korrekte Angabe ber die L nge der Nutzdaten Ein Error Frame besteht aus zwei Feldern wobei das erste Feld sechs dominante oder rezes sive Fehler Flags beinhaltet und das zweite acht rezessive Fehler Trenner zu einer m gli chen n chsten Nachricht Nun wird zwischen einem Fehler aktiven und einem Fehler passi ven Telegramm unterschieden wobei das Fehl
8. Um eine sp tere Aktualisierung m glich zu machen ist eine eindeutige Identifizierung des Widegts n tig Dies geschieht indem beim Erstellen der Widgets ein Z hler hochgez hlt wird der gleichzeitig der ID des Widgets entspricht Da jeder Typ Widget eine eigene Funktion be sitzt ist auch f r jeden Typ Widget ein eigener Z hler n tig Eine Aktualisierungsfunktion bezieht nun nacheinander dynamisch den Handle f r das Widget und schickt den aktuali sierten Wert ab Es wird zuerst abgefragt ob ein Typ Widgets existiert und nacheinander ber alle IDs dieses Widgets die Werte aktualisiert Nun erscheint es als sinnvoll zwei Listen mit zwei Arten von Elementen zu erstellen Die die einmalig aufgerufen werden und die die immer wieder gezeichnet werden Diese Da tenverwaltung entf llt jedoch wenn alle passiven Elemente an den Anfang der Struktur ge schrieben werden und alle Widget Elemente an das Ende Somit kann die createscreen Funk tion nach erreichen des ersten Widgets die Schleife abbrechen und es entsteht kein Perfor manceverlust Bei dem einmaligen Initialisieren der Widgets ist dieses weniger von Bedeu tung 4 Software 69 4 4 Aktualisierung F r die Anzeige ist es ausreichend die Werte alle 250 ms zu aktualisieren Es ist somit un n tig abzufragen ob eine Ver nderung bei einem Wert stattgefunden hat Alle darzustellen den Messwerte liegen in einem Feld vor aus dem sie jederzeit ausgelesen werden k nnen Da immer
9. 3 8 test c while 1 i Em GUI Delay 100 a General deines i amp LPC2478 s Variables RTC c Wkk 4a ka ERRARE RR RR RR RR LEE ERE RTOS c U8 toggle 0 gpio c WM HWIN hClient Handle get Dialogs E global c WM HWIN hText Handle for the RTC char acTime 0000 00 00 00 00 00 Array for RTC Timer IRQ Communication y Array of funktions for easy page svitching void ptr2Process 5 U8 mainWin userWinl userWin2 userWin3 userWin4 E can c WAR AREEREEEEAEEREEEEEEEEEEEEEEE E E E EE GUN Core Code GUN Font AAA AAA AAA GUNLCD Initialisation GUN Color GUI Init Initialisation of the GUI and GPIO GUI WM initMainWin Initializes the Mainframe menuevin h GUN Widgets _ GUI Pr Infinite Loop while 1 8 GULX c ICAN CAN 1 LCDConf c if CAN1 RxQueueCnt CAN1 get rx queue Menue User if CAN1 TxQueueCnt CAN1 get tx queue 8 process c menue display c ECAN menue c f if CAN2 RxQueueCn CAN2 get rx queu menuewin c if CAN2 TxQueueCn CAN2 get tx queu LEI menue control c Trigger Tasks 35 work Ak de ke je EELER J RRC SR aD E EEEEEsQEEs CHE x compiling menue control c j linking El Program Sizes Code 133920 RO data 26644 RW data 1044 ZI data 20508 i Objects GU axf 0 Error s 1 Warning s Build Epid A Find in Files TE E Simulation
10. Es wird davon ausgegangen das alle zu zeichnenden Elemente ber CAN angekommen sind und in einem Feld abgelegt wurden Hierbei spielt es keine Rolle ob das Feld dyna misch erzeugt worden ist oder nicht 4 Software 66 2D Elemente Die 2D Elemente wie Linien Kreise Rechtecke oder auch konstanter Text lassen sich schr einfach ber die in Kap 2 7 3 beschriebenen Callbackroutinen darstellen Hierbei wird die Nachricht WM_PAINT genutzt die an die zum jeweiligen Fenster geh rende Routine ge sendet wird wenn das Bild neu gezeichnet werden muss Es reicht somit ene Callbackfunk tion f r alle vier Benutzer spezifischen Seiten aus da immer nur eine dieser Seiten existiert und das eigentlich zeichnen in der folgenden Funktion stattfindet 1 void createScreen U32 screen wobei der bergabeparameter screen das jeweils darzustellende Fenster ist Dieses l sst sich ermitteln indem nach der Erstellung des Fensters mit Hilfe von Funktion 2 WM SetId hUserWin GUI_ID USER n die IDs 1 4 zugewiesen werden Nach dieser Zuweisung wird die ID ber die Nachricht WM SET ID aus der Nachrichtenstruktur pMsg gt Data v einer statischen Variablen zuge wiesen die die ID f r den n chsten Aufruf der Callbackfunktion speichert Der bergabe parameter hUserWin ist der Handle des erstellten Fensters Die Funktion createscreen arbeitet nun die Elementstruktur ab und f hrt die n tigen Zei chenoperationen gem der in der Struk
11. dem Finger bedient werden 4 Software 4 1 Betriebssystem Hauptprogramm Die GUI basiert auf einer Art RTOS Es handelt sich hier um eine sehr einfache Art ein Echtzeitbetriebsystem zu realisieren und arbeitet mit sog Trigger Tasks Ein Timer l st alle 70 ms einen Interrupt aus In dessen Interrupt Service Routine werden nun bei jedem Durchlauf vorher initialisierte Variablen runtergez hlt Hierbei entspricht der Initialisierungswert einer Zahl die nach der Anzahl der Durchl ufe die gew nschte Zeit ist Die Variable f r 20 ms beinhaltet also eine zwei was nach zwei Durchl ufen dazu f hrt dass der Status f r 20 ms gesetzt wird In der main Funktion wird nun auf diesen Status abgefragt und es ist m glich eine Task zu schreiben die alle 20 ms ausgef hrt wird Reicht nun die Zeit zwischen zwei Tasks nicht aus wird die entsprechende Task dennoch ausgef hrt da der Status bereits gesetzt wurde aller dings nicht mehr exakt nach 20 ms In diesem Projekt wurden Tasks f r 70 ms 20 ms 50 ms 100 ms 200 ms 500 ms 1 s 25 und 10s vorgesehen Ergibt sich am Ende das nicht alle Tasks ben tigt werden k nnen diese hinterher entfernt werden Zum jetzigen Zeitpunkt wurden die folgenden Task implementert Eine st ndige Abfrage ob CAN Frames eingetroffen sind Alle 10 ms wird ein Flag abgefragt ob eine Ber hrung des Bildschirms stattgefun den hat Alle 20 ms wird die Anzeige mit den Werten einer Ber
12. dieses Kontakts lassen sich die Koordinaten bestimmen 10 4 Wire Resistive Touch Der in diesem Projekt genutzte resistive 4 Wire Touchscreen s Bild 2 8 basiert auf der analogen Technologie und ist die bevorzugte L sung im Low Cost Bereich Hierbei f hren vier Leitungen zum Controller Die Vorteile liegen in der hohen Aufl sung und der Drucksensitivit t was die Eingaben nicht f r Schmutz Staub Wasser oder Licht angreifbar macht Auch ist der Stromver brauch relativ gering Der Nachteil liegt in der Empfindlichkeit der Oberfl che in Bezug auf Scharfe Objekte allerdings gibt es auch L sungen mit Glasschichten die weniger emp findlich sind Alternativ gibt es auch L sungen als 5 bzw 8 Wire Touchscreens die jedoch mit h heren Kosten in Verbindung stehen Uy2 Bild 2 8 4 Wire Resistiver Touchscreen 6 engl f r Abstandshalter 2 Grundlagen 17 2 5 LPC2478 OEM Base Board Das Evaluationboard s Bild 2 9 der Firma Embedded Artists hat alle f r die geplante Entwicklung der CMA302 ben tigten Features Zus tzlich zu dem integrierten Touch Panel ist es auch m glich ein externes LCD TFT an zuschlieBen Den Speicher gibt es mit 16 und 32 Bit Datenanbindung Die notwendigen Programmierschnittstellen JTAG und UART sind vorhanden Die UART Schnittstelle ist zus tzlich ber einen USB zu UART Konverter erreichbar da moderne Notebooks immer seltener mit einer COM Schnittstelle ausgeliefert werden Die r
13. t ber nimmt die berwachung von Netzversorgungen im Nieder Mittel und Hochspannungs bereich und kann diese bei Netzschwankungen ber einen Leistungsschalter abschalten Gleichzeitig kann ein Dieselgenerator angeworfen und gesteuert werden um den m glichen Energiebedarf zu decken Eine bersicht ist in Anhang B5 Pr sentation Symap CD zu finden Das SYMAP existiert in drei Serien die Grundeinheit SYMAP Y die Basiseinheit SY MAP X sowie der Basiseinheit SYMAP BC erweitert mit LED Anzeige Ereignisda tenschreiber Erweiterungskarte Power Management und Dieselsteuerung Die SYMAP Familie soll nun um eine weitere Serie dem SYMAP Compact erweitert werden wobei dies eine komplette Neuentwicklung sein wird Der prim re Aufbau des SYMAP Compact wird aus drei ARM7 Controllern bestehen Die Aufgaben der Control ler werden Einlesen von Messwerten Steuerung und Interaktion mit dem Benutzer sein Dieses Projekt befasst sich mit der Entwicklung und Programmierung der Displayeinheit bzw Grafikkarte Es gilt somit eine Benutzerschnittstelle f r ein digitales Schutzrelais im Bereich Nieder Mittel und Hochspannung zu entwickeln Basis wird die Entwicklung einer Platine sein welche mit dem LPC2478 Mikrocontroller der Firma NXP best ckt wird Es gilt ein TFT anzusteuern und eine Men f hrung ber eine Tastatur zu erstellen Die Kommunikation zur Displayeinheit soll intern ber einen CAN Bus stattfinden wodurch erm g
14. 00 00 00 00 00 00 00 00 00 00 Sloxaoooooas 00 00 00 00 OO OO 00 OO OO 00 OO OO 00 00 8 Do Memory 1 Memory 2 Memory 3 Memory 4 if RTOS READY 10sec EJOx000006C4 E59F0090 LDR RO PC 0x0090 0x000006C8 ESDO0000 LDRB RO RO 0x000006CC E3500000 CMP RO 0x00000000 0x000006DO 0A000004 BEQ 0x000006E8 207 RIOS READY 10sec 0x000006D4 E59F0080 LDR RO PC 0x0080 0x000006D8 ESD00000 LDRB RO RO Ox000006DC E2400001 SUB RO RO 0x00000001 0x000006E0 ES9F1074 LDR R1 PC 0x0074 0x000006E4 ESC10000 STRB RO R1 123 while 1 t OX000006E8 EAFFFF67 B 0x0000048C OxO000006EC 30303030 DD 0x30303030 0x000006F0 2E30302E DD Ox2E30302E 0x000006F4 202E3030 DD 0x202E3030 ka002a5e0 0x000006F8 3030202D DD 0x3030202D Ox000004b4 Ox000006FC 3A30303A DD 0x3A30303A 0x00000700 00003030 DD 0x00003030 0x000007042 00020B20 DD 0x00020B20 00000708 A00258B4 DD 0xA00258B4 E manc canc E LPC2478s amp Disassembly X Currently used 160940 Bytes 61 x gt Stack Frames Value Address P EJ mano WS 1 2 unions PWMIMRI1 3 type F2to edit error 10 Syntax error ZE 1 PWMIMR1 WS gt ASSIGN BreakDisable BreakEnable BreakKill BreakList TS Build Command Find in Files 7 4 dy Real Time Agent Target Stopped Output Window JJ IHN Locas watch 1 watch 2 c ULINK ARM Debugger D 0 00000000 sec Bild 2 11 Debug
15. 23 76 P9 I O General purpose digital input output pin LCDVD 13 G3 90 P1 24 78 T9 I O General purpose digital input output pin LCDVD 14 G4 94 P1 25 80 T10 I O General purpose digital input output pin LCDVD 15 G5 198 P1 26 82 R10 I O General purpose digital input output pin LCDVD 20 B1 202 P1 27 88 T12 I O General purpose digital input output pin LCDVD 21 B2 206 P1 28 90 T13 I O General purpose digital input output pin LCDVD 22 B3 210 P1 29 92 U14 I O General purpose digital input output pin LCDVD 23 B4 221 ADO 5 40 P1 I A D converter 0 input 5 Temperatur 222 P2 0 154 B17 I O General purpose digital input output pin LCDPWR 230 P22 150 D15 I O General purpose digital input output pin LCDDCLK 86 Tab A 2 Fortsetzung lfdnr Symbol Pin Ball Type Description Use 234 P2 3 144 E16 I O General purpose digital input output pin LCDFP 238 P2 4 142 D17 I O General purpose digital input output pn LCDENAB 242 P2 5 140 F16 I O General purpose digital input output pin LCDLP 246 P2 6 138 E17 I O General purpose digital input output pin LCDVD 4 R1 250 P2 7 136 G16 I O General purpose digital input output pin LCDVD 5 R2 254 P2 8 134 H15 I O General purpose digital input output pin LCDVDI6 R3 258 P2 9 132 H16 I O General purpose digital input output pin LCDVD 7 R4 263 EINTO 110 N15 I RU QU UART JTAG 268 P242 106 N14 I O General purpose digital input output pin LCDVD 3 RO 272 P243 102 T16 I O General purpose digit
16. 5 V oder mehr als rezessiv und das Low Signal mit einer Spannungs differenz von 1 5 V oder kleiner als dominant s Bild 2 3 Das ganze bezogen auf eine Spannung von 2 5 V Bitzeit 2 usbei Bild 2 3 CAN 500 kBit s Spannungspegel 2 Grundlagen Die Priorit t des Signals resultiert aus der internen Beschaltung des CAN Transceivers Der Transceiver bestimmt auch die maximal Anzahl von Teilnehmern 32 64 110 mit Ein schr nkungen 128 Es ist jedoch ein Kopplung ber Repeater m glich was noch mehr Teilnehmer erm glicht Ein CAN Bus kann auf drei verschiedene Arten aufgebaut werden Im Infotainmentbe reich wird haupts chlich der Ringbus eingesetzt in der Kfz Elektrik der Sternbus An die ser Stelle wird ein linear aufgebauter Bus s Bild 2 4 gezeigt Der linear aufgebaute Bus wird im Symap Compact verwendet 1 Teilnehmer 1 Teilnehmer 2 Teilnehmer 3 Teilnehmer n Bild 2 4 Struktur Bus Topologie Datensicherung Bei CAN sind alle Teilnehmer auf dem Bus gleichberechtigt Folglich kann jeder Teilneh mer ohne Aufforderung auf den Bus schreiben Die damit im Zusammenhang stehenden Kollisionen werden jedoch von der Hardware abgefangen Eine Adressierung der Teilneh mer erfolgt nicht Jedes Datenpaket wird mit einem eindeutigen Identifier versehen Jeder Controller am Bus kann nun entscheiden ob das Paket weiterverarbeitet wird oder nicht Da
17. D13 I O General purpose digital input output pin Tastatur 7 ENTER 25 P07 162 C13 I O General purpose digital input output pin Tastatur 8 1 29 P0 8 160 A15 I O General purpose digital input output pin Tastatur 9 RIGHT 33 P0 9 158 C14 I O General purpose digital input output pin Tastatur 10 F1 37 P0 10 98 T15 I O General purpose digital input output pin Tastatur 11 F3 41 P0 11 100 R14 I O General purpose digital input output pin Tastatur 12 F4 45 P0 12 41 Ri I O General purpose digital input output pin Tastatur 13 F2 49 P0 13 45 R2 I O General purpose digital input output pin Tastatur 14 START 53 P0 14 69 T7 I O General purpose digital input output pin Tastatur 15 INV 57 P0 15 128 J16 I O General purpose digital input output pin Tastatur 16 73 P0 19 122 L17 I O General purpose digital input output pin Horn 84 RDI 118 M16 I CANI receiver input CAN 88 TD1 116 N17 O CANT transmitter output CAN 89 P0 23 18 H1 I O General purpose digital input output pin LED STROM 93 P0 24 16 G2 I O General purpose digital input output pin LCD R L 97 P0 25 14 F1 I O General purpose digital input output pin LCD U D 103 AOUT 12 El O D A converter output Lautsprecher 168 PWM1 1 66 P7 O Pulse width modulator 1 channel 1 output DY PWM 74 P1 20 70 U7 I O General purpose digital input output pin LCDVD 10 GO 78 P1 21 72 R8 I O General purpose digital input output pin LCDVD 11 G1 82 P1 22 74 U8 I O General purpose digital input output pin LCDVD 12 G2 86 P1
18. Fenster Speicherbereich Register Assembler Code Ausgabefenster Watch Windows F r das Debuggen und Flashen in der Entwicklungsumgebung ist der Programmieradapter ULINK2 von Keil notwendig Wenn man auf das Debuggen verzichten m chte gibt es g nstigere Alternativen wie zum Beispiel den R Link von der Firma ST welcher nur etwa 1 5 so viel kostet MicroLib Die MicroLib ist eine von Keil optimierte Bibliothek die f r ARM basierte in C geschrie ben Applikationen angedacht ist Die Bibliothek ist daraufhin optimiert den Speicherver 2 Grundlagen 20 brauch zu reduzieren was jedoch nicht ohne Einschr nkungen geschieht Sind diese jedoch bekannt ist eine erhebliche effektivere Speichernutzung m glich Configuration Wizard Der Configuration Wizard erm glicht eine men gesteuerte Konfiguration einer Initialisie rungsdatei Dabei spielt es keine Rolle ob die Datei in C oder Assembler geschrieben ist Der Configuration Wizard nutzt dabei in Kommentare eingebettete Kommandos Tab 2 2 zeigt die Kommandos mit denen sich der Wizard konfigurieren l sst Der Wizard erm glicht die Initialisierung der Peripherie ber ein Men und erleichtert somit die ber sicht im Programmcode Variablen oder Register k nnen vor dem Kompilieren ohne tiefe re Kenntnisse von dem Programmaufbau ver ndert werden Tab 2 2 Configuration Wizard Kommandos Kommando Text Beschreibung lt h gt ja berschrift f r eine O
19. Speichers Tab 6 1 zeigt die Adressbereiche der GU Tab 6 1 Speicherbereichsadressierung GU Adressbereich Speicherbereich Beschreibung 0x0000 0000 512 kB Flash Memory 0x0007 FFFF 0x4000 0000 64 kB RAM 0x4000 FFFF 0xA000 0000 32 MB Ex RAM 0xA200 0000 0x8000 0000 1 MB Ex Flash 0x8010 0000 Eine erste Absch tzung f r den Speicherverbrauch des Codes ergab c a 150 kB Die Sch t zungen f r die GUI wurden dem ewWin Handbuch entnommen Das Projekt ben tigt im aktuellen Zustand bereits 154916 Byte Davon sind 38060 RO Daten und 1496 RW Daten Compiler Der Speicherbereich f r den LCDC ist allerdings nicht mit eingebunden und wird gesondert verwaltet Die Abweichungen zu dem gegebenen Code lassen sich damit er kl ren dass die von der Firma SEGGER angegebenen Absch tzungen sich lediglich auf den Kern des einzelnen Elementes beziehen nicht aber auf die genutzten Funktionen Auch sind die eigens geschriebenen Routinen nicht in der Berechnung enthalten Wird von dem jetzigen Zustand unter Beobachtung der Softwareentwicklung ausgegangen wird der Code vermutlich eine Gr e von 250 300 kB erreichen was unter anderem mit einer sehr gro en Menge an Strings zusammenh ngt Die Entwicklungsumgebung bietet jedoch die M glichkeit den Prozessor im Thumb Mode Kap 2 1 laufen zu lassen sowie eine von der Firma KEIL gegebene MicroLib anzuwen den Mit dem Optimierungslevel 1 konnte der Code auf weiterhin 60 reduzier
20. Unterschied besteht darin das nur die PWM Funktionalit t nach au en gef hrt wurde A D Umsetzer Der ADC hat eine Aufl sung von 10 Bit 1024 Stufen und acht Kan le die ber einen Multiplexer verkn pft sind Die Konversationszeit betr gt 2 44 us D A Umsetzer Der digital zu analog Umsetzer hat eine Aufl sung von 10 Bit Eine Umsetzung dauert hierbei 2 5 us Real time Clock Die RTC beinhaltet eine Reihe von Z hlern f r Zeitmessung und funktioniert auch wenn das System aus ist Die RTC kann an einen 32 786 kHz Oszillator oder ber einen Presca ler reduziert einen hohe Frequenz auf eine geringere an den AHB Takt angeschlossen werden Der separate Pin VBAT f r die Spannung kann an den Rest des System oder an eine Batterie angeschlossen werden SPI Serial Peripheral Interface Der LPC2478 enth lt einen SPI Controller SPI ist eine vollduplexf hige Schnittstelle die dazu entworfen wurde mehrere an einen Bus angeschlossenen Master und Slaves zu ver walten Es kann immer nur ein einziger Master und ein einziger Slave zur selben Zeit auf dem Bus kommunizieren UART Universal Asynchronous Receiver Transmitter Es sind drei einfache UART Schnittstellen mit Sende und Empfangsleitungen und ein Fullmodem mit zus tzlichen Leitungen DTR RTS CTS DSR DCD RI vorhanden CAN Controller Area Network Es sind zwei CAN Controller und Busse nach Spezifikation 2 0B ISO 11898 1 vorhanden Datenraten bis zu 1 MBit s si
21. einen Zugriff und eine Verarbeitung der CAN Nach richten au erhalb der Interrupt Routine des CAN Ein Akzeptanzfilter erm glicht das Filtern der eintreffenden Frames und verhindert einen Interrupt bei Nachrichten die f r die anderen Komponenten des Systems vorgesehen sind Das Filter ist in den Controller integriert und funktioniert in dem ein Speicherbereich aus gelesen wird indem die zu filternden IDs stehen Neben dem Ablegen von Parametern sind auch Steuerbefehle vorgesehen wie z B des Re setbefehl Die Daten treffen zyklisch ein oder werden nach Anforderung gesendet Tastatur Wie auf Bild 4 3 zu erkennen existieren 15 Tasten die verschiedene Funktionen aus ben Wird eine Taste gedr ckt wird in der ISR ber das entsprechende Statusregister gepr ft welche der Tasten den Interrupt ausgel st hat und ein Flag f r die entsprechende Taste ge setzt Hierf r sind nur 2 Zeilen n tig for i 14 i gt 0 i if 100 INT STAT F 1 lt lt i Somit ist beim Eintreten der if Anweisung immer die gedr ckte Taste in der Variablen i ge speichert und ein Flag kann gesetzt werden Laut Segger sind deren Verarbeitungsfunktionen f r Tastatureingaben interruptf hig dies hat sich allerdings als nicht wahr herausgestellt Die eigentliche Verarbeitung der Tastaturbefehle findet in der main Funktion statt Ist das Flag f r eine Taste gesetzt wird in der Tastaturfunktion ber eine sw7tch case Anweisung die geforderte Ak
22. f r Daten die bei einem Stromausfall ber eine Batteriebepufferung gesichert werden k nnen F r den Betrieb des Prozessors ist nur eine einzige Spannung von 3 3 Volt 3 0 bis 3 6 Volt notwendig Aufgrund des Power Management Moduls welches drei verschiedene Zust nde zul sst ist eine enorme Stromreduzierung m glich Der Prozessor kann die Zust nde Idle Leerlauf Sleep Schlafmodus und Power down Herunterfahren annehmen Aus den verschiedenen Stromsparmodi kann der Prozessor ber Interrupts aktiviert werden Die Programmierung erfolgt ber die serielle Schnittstelle UART oder ber das Test Debug Interface JTAG Um den Prozessor ber die serielle Schnittstelle zu Programmie ren ist ein extra Programm notwendig z B Flash Magic von Embedded Systems Academy Hierf r muss zun chst der Boot Loader gestartet werden Dazu muss die Tas tenkombination RESET und EINTO gedr ckt werden Nun ist der Controller empfangsbe reit f r Daten oder Befehle ber das JTAG Interface kann direkt aus der Entwicklungs umgebung programmiert werden und bietet neben einer h heren Geschwindigkeit auch die M glichkeit des Echtzeit Debuggings Der LPC 2478 wird in den Bauformen TFBGA208 Ball Grid Array und LQFP208 Quad Flat Pack geliefert 6 2 2 1 Peripherie Timet Der LPC2478 beinhaltet vier 32 Bit Z hler Timer Die Timer k nnen entweder ber einen System gesteuerten Takt oder ber einen externen Takt gesteuert werden Die o
23. festgelegte Funktionen Die vier F Tasten sowie die Cursor Tasten und die Entertaste sind jedoch va riable und erm glichen das Navigieren durch das Men und die Steuerung innerhalb des Menus 4 Software 47 Bild 4 3 Tastatutlayout Sy map Compact Der Benutzer soll ber das grafische Interface die M glichkeit bekommen alle von ihm ge w nschten Messwerte darzustellen aber auch Einstellungen am Ger t vorzunehmen Ein solches Men in QVGA zu zeichnen welches zus tzlich ber den RGB Farbraum verf gt ist eine sehr zeitaufw ndige Arbeit Eine Analyse des Marktes hat ergeben dass es bereits vorgefertigte Bibliotheken f r diese Art von Anwendungen gibt Da die Auswahl in diesem Bereich sehr beschr nkt ist hat sich die Bibliothek von Segger herauskristallisiert Das Aussehen der Objekte entsprechen den Vorstellungen f r das Symap Compact Somit entf llt das Design der Tasten und Fenster was eine Konzentration auf das eigentliche Problem des Aufbaus der Struktur und der Verarbeitung der Daten erm glicht Nachteil ist die Abh ngigkeit von der Bibliothek Eine Einarbeitung ist n tig um mit den gegebenen Werkzeugen umzugehen Die durch den C Code gegebene Flexibilit t der Struktur t uscht Eine solche Struktur baut aufeinander auf und ein Eingriff k nnen Kon sequenzen f r das gesamte System haben F r die Ber hrungsempfindlichkeit existieren zu diesem Zeitpunkt noch keine Vorgaben und es muss bedacht werd
24. nur eine Seite zur Zeit dargestellt wird macht es wenig Sinn st ndig alle Werte aktuell zu halten Es reicht somit nur die Werte zu aktualisieren die sich gerade auf der An zeige befinden Das bestehende System besteht aus Fenstern die wie Objekte zu schen sind die eine Abh ngigkeit voneinander haben Es ist keine Struktur vorgesehen die Abspeichert welche Seite aktuell aufgerufen wird Die Einf hrung einer solchen Struktur h tte zur Folge das bei jeder Aktualisierung eine gro e Menge an Abfragen get tigt werden m ssen wel ches Fenster nun aktualisiert werden soll Eine alternativ angedachte Idee war es alle avez Elemente wie Objekte zu behandeln und deren Adtessen in einer Liste zu speichern Letzt endliche hat sich jedoch eine andere L sung als die effektivste erwiesen Zu jedem Fenster existiert eine Funktion um dieses zu aktualisieren Diese Vorgehensweise ist n tig da jedes Fenster anders aufgebaut ist und andere Messwerte oder Parameter be zieht Es existiert nun ein globales Feld welches die Zeiger auf die Funktionen zur Initiali sierung enth lt void updateF N void Funktionl Funktion2 oT FunktionN Update3 Update1 Bild 4 21 Zugriff ber Funktionszeiger Nun existiert ein Pointer vom Typ der Aktualisierungsfunktion void updateFakt void Dieser Pointer zeigt jeweils auf die aktuelle Aktualisierungsfunktion und wird im Haupt program zyklisch m
25. r HOCH und RUNTER f hrt nun zu einem Wechsel der Seiten und gleichzeitig zu einem Wechsel des in der Listbox angezeigten Elementes MEN CONROL Wird eines der ausgegrauten Elemente des Men s angew hlt wird daraufhin ein Dialog zur Passwortabfrage erstellt Der Dialog besteht aus einem FRAMEWIN mit einem EDIT Feld sowie einem Textfeld Das EDIT Widget wird so konfiguriert dass eine vier stellige Dezimalzahl zu sehen ist welche sich ber die Cutsortasten ndern l sst Es wurde ein Blinken der ausgew hlten Zahl mit einer Zeit von 200 ms eingestellt Bei einem Dr cken der ENTER Taste wird nun die im Fokus stehende Zahl mit einem als globale Variable de klarierten Passwort verglichen F llt dieser Vergleich positiv aus werden die vorher ausge grauten Untermen s aktiviert Ist der Ausgang negativ erscheint eine Meldung dass das Passwort nicht korrekt ist F r die gesamte Zeit der Eingabe erscheint eine Meldung zur Bedienung in der Statuszeile Die Auswahl eines dieser Untermen s generiert nun ein FRAMWIN s Bild 4 11 welches seinen Inhalt dynamisch innerhalb der Callbackfunktion erstellt Beim ersten Men punkt System werden drei LISTV TEW s generiert welche jeweils ber zwei Spalten verf gen und jeweils eine HEADER Widget beinhalten W hrend das Wechseln der Zeile innerhalb eines LISTVIEWs ber dessen Eigenschaften l uft bedarf es beim Wechsel zum n chsten LISTVIEW eines Tricks Ziel ist es mit den Tasten f r links und
26. r die Schleifen und Variablen der entsprechenden Seite gesetzt Im n chsten Schritt wird die Anzahl der im Bitfeld aktivierten Seiten festge legt um Speicher f r das Array zu reservieren Daraufhin wird abgefragt welcher String be 25 Quellcode menu_display c 26 Quellcode language c 4 Software 57 n tigt wird dementsprechend Speicher reserviert und der String aus dem globalen Array an die ben tigte stelle kopiert Der R ckgabewert ist ein Zeiger auf ein String Feld Bild 4 13 zeigt ein Flussdiagramm um den Ablauf zu veranschaulichen Init Variables Get Number of Items Allokate Memory for Number of menu Items Return String Allokate Memory Array for Strings Copy correct String from Array Bild 4 13 Dynamische Generierung des String Arrays mit Hilfe der Funktion genarry Die Funktion void freeStrAry char strAry gibt den Speicher wieder frei Informationen ber die Gr e des Feldes aufgrund der Programmierweise und dem Aufbau des Feldes werden nicht ben tigt Jede dieser Listboxen bekommt nun die selbe Callbackfunktion zugewiesen Es spielt also keine Rolle von welchem Reiter aus die Listbox generiert wurde Innerhalb dieser Callbackfunktion werden die Tasten f r LINKS und RECHTS auf PGUP und PGDOWN umgelegt denn diese f r das Muitipage Widget vorinitialisierten Tasten sind auf der SYMAP Compact Tastatur nicht vorhanden Ein Dr cken auf die Entert
27. rechts die drei Eingabefel der zu wechseln Die Tastatureingaben werden Bibliotheksbedingt aber nur so lange an ein bergeordnetes Fenster gesendet bis sie benutzt werden Da das LISTVIEW die Tasten Links und Rechts abet zum scrollen ben tigt wird bei der Tastatureingabe gleichzeitig eine selbst definierte Nachricht mitgesendet die innerhalb der Callbackfunktion als links und rechts behandelt werden kann Da das FRAMEWIN Widget genau drei Kinder hat kann mit dem Aufruf von WM SetFocus WM GetNextSibling WM GetFocussedWindow der Focus auf das n chste Fenster gesetzt werden Dabei ist der R ckgabewert der inneren Funktion der Handle des aktuell im Fokus stehenden Fensters Der n chste R ckgabewert ist der Handle des n chsten Fensters auf gleicher Ebene welches nun den Fokus bekommt Die zwei anderen Untermen s sind auch ber Listviews realisiert ausgegangen von dem Vorg ngermodell war hier allerdings keine Unterteilung in mehrere Listviews n tig Da die Ausgaben dieser Fenster lediglich von den Nutzereingaben abh ngig sind ist keine spezielle Aktualisierungsfunktion n tig Die Werte ver ndern sich nur bei Interaktion und k nnen somit innerhalb der Callbackfunktion abgehandelt werden 27 Quellcode menu control c 4 Software Prozess Die Funktion der Prozess Taste F3 wurde beim Symap Compact ver ndert Wurden da mit vorher die Display Prozess Seiten gewechselt bekommt die Taste beim Compact zu s tzl
28. sion3 der Firma Keil Rafael Khan Title of the paper Embedded System as Human Machine Interface with flexible menu structure and CAN connection to a digital network relay Keywords HMI Graphic User Interface CAN flexible Structure Embedded System Touch screen ARM7 LCD Abstract This Paper is about the draught of an Embedded System as a graphic user interface with the LPC2478 NXP as basis The microconroller has a 32 Bit ARM7DMI S Core imple mented The interface has only a CAN connection to the rest of the system Four of the pages to be displayed are completely gene rateable about an external tool The other parts of the menu have to be adaptable that its structure can be changed about a simple paramet er The Display is controlled over a keyboard and a touchscreen The developing environ ment for the software part is u Vision3 of the company Keil Inhaltsverzeichnis Ee I Minister RTT 1 2 rd Doe Dos qu e PRI A AA A T 2 Zu ARM c TOL ee 2 22 PPC O AA A dt 5 2 4 ET 6 222 E 8 DOO COOL iia 11 ZB LE Dis ee eEeEeedeeg 13 254 TOUCHSCREEN arena Reigen 15 2o EPC2ATS OEM Base Beat nn ee 17 2 6 Entwicklunssumgebung un aaa reiten UR er RU KR a 18 EE 21 PANEM ir M 21 2 52 Widgets E 22 2 9 Callback IL Tr 24 3 Hlardwareplatform ass ae 25 EL EE 26 32 LOD ER 30 2 WELSCH SAUL baum EE 34 3A Kontisttrabionsler Per phene i5 cada ciet EE RISUS Seve ds 37 A SOLOW pid ae D 42 dL PREECE ear ded tied Het o tes EA Ee 43 EE
29. und CAN MOD Hierbei werden Baudrate sowie Interrupt festgelegt und ein Reset durchgef hrt Die detaillierte Beschreibung der Register ist in Kapitel 18 nachzulesen EMC Die Konfiguration des EMC ist in Kapitel 5 der Bedienungsanleitung ersichtlich Der EMC kann ber seine Register konfiguriert werden oder es kann der Wizard genutzt werden des sen Einstellungen in der Startup Datei LPC2478 s zu finden sind Bild 3 13 zeigt den f r die EMC Konfiguration wichtigen Abschnitt im Wizard an Die ben tigten Informationen finden sich in den Datenbl ttern der genutzten Speicher External Memory Controller Setup EMC v EMC Configuration Register EMCConfig Dynamic Memory Interface Setup v Dynamic Memory Refresh Timer Register EMCDynamicRefresh Dynamic Memory Read Configuration Register EMCDynamicReadConfig Dynamic Memory Timings Dynamic Memory Percentage Command Period Register EMCDynamictRP Dynamic Memory Active to Precharge Command Period Register EMCDynamictRAS Dynamic Memory Self refresh Exit Time Register EMCDynamictSREX Dynamic Memory Last Data Out to Active Time Register EMCDynamictAPR Dynamic Memory Data in to Active Command Time Register EMCDynamictDAL Dynamic Memory Write Recovery Time Register EMCDynamictWR Dynamic Memory Active to Active Command Period Register EMCDynamictRC Dynamic Memory Auto refresh Period Register EMCDynamictRFC Dynamic Memory Exit Self refresh Reg
30. und ben tigen daf r 10 Bit Speicher F r die Zuordnung des Bildes werden 2 Bit ben tigt sowie 4 Bit um das Element zu identifizieren Element Koordinaten Attribut 1 Attribut 2 Attribut 3 Bit Bit Bit Bit Linie X1 Y1 X2 Y2 Strichst rke 2 10 9 3 Rechteck X1 Y1 X2 Y2 Strichst rke Ausgef llt 2 10 9 3 1 Dreieck X1 Y1 X2 Y2 Strichst rke Ausgef llt Rotation 3 1 2 10 9 2 Kreis X1 Y1 Radius Strichst rke Typ 10 9 10 3 4 Text X1 Y1 Schriftart Text 10 9 3 18 Auswahlbox X1 Y1 Schriftart Typ Zustand 10 9 3 2 1 Schalter X1 Y1 X2 Y2 Strichst rke Blinkt Zustand 2 10 9 3 1 1 Ladebalken X1 Y1 Gr e Rahmentyp 10 9 10 9 2 Phasenwinkelanzeige X1 Y1 Breite H he 10 9 7 6 Analogmesswert X1 Y1 Breite H he Typ 10 9 10 9 2 Messwert X1 Y1 Kommawert Stellen Zeit 10 9 2 3 1 a Die Koordinaten ergeben sich aus der Anzahl der Pixel f r ein VGA Vollbild b Es besteht die M glichkeit eines Halbkreises c Alle aktiven Elemente ben tigen noch ein Attribut Parameter welches die Verkn pfung zu ei nem Messwett o beinhaltet Dies wurde auf 16 Bit festgelegt d Es sind zwei verschiedene Auswahlboxen m glich Hierbei handelt es sich um einen ersten Entwurf um den Speicherverbrauch abzusch tzen Ob alle Attribute ben tigt werden oder weiter hinzukommen zeigt sich im laufe des Projek tes Au erd
31. und den minimalen Speicherverbrauch Es wurde die Entscheidung getroffen embOS in einer Form zu pr sentieren die f r alle un terst tzten Zentraleinheiten v llig vereinbar ist EmbOS f r Mitsubishi M7700 und NECs V25 x86 Reihe wutde vet ffentlicht SEGGER fing die Entwicklung eines neuen Softwareproduktes emWin an Eine grafische Software f r monochrome Displays Im November ver ffentlichte SEGGER die erste emWin Version Anfang der emWin GSC Entwicklung mit enger Zusammenarbeit einer Automobilgesell schaft In det Zusammenarbeit mit Mitsubishi fing die Entwicklung des Blinkers M16C an Im April ver ffentlichte SEGGER Blinker Version 1 Im August pr sentierte SEGGER die erste em Win GSC Version incl Bitmap Konverter Schriftart Konverter und Windows Simulation Im Laufe der Jahre f gte SEGGER eine breite Reihe von Eigenschaften zu ihren vorhande nen Produkten hinzu Im August 2002 pr sentierte SEGGER die erste emFile Version die Multimediakarten unterst tzt Im November 2003 kam SEGGER mit einer neuen JTAG Feh lersuchprogramm Schnittstelle f r ARM Kerne heraus Im Januar ver ffentlichte SEGGER embOS Simulation die dem Entwickler erlaubt das An wendungsprogramm ohne Bed rfnis nach einer funktionellen Hardware zu schreiben und zu pr fen In der engen Zusammenarbeit mit dem IAR Schweden erweiterte SEGGER das J Verbindungserzeugnis mit einem Fehlersuchprogramm Emulator f r den TI MSP430 Mikro controller SEGGER
32. 0 33 Pin IRISO 9637S 33A TB 50 000 Std 73 US 66 US Abacus Deltron Interface 18 Bit Vbest ie 500 350 1440x1046x150 LED 20 bis 70 33 Pin Winstar WF57ATIACDO 350 200 126 0x101 6x5 7 LED 140 mA 10 2 V 20 bis 70 50 Pin 10 000 Std Interface 24 Bit Winstar WF57ATIACDO 000 350 200 126 0x101 6x7 2 LED 0 bis 50 50 Pin 10 000 Std Interface 24 Bit mit Touch Winstar WF57ATIBCD0 200 300 141 1x102 7x12 7 LED 0 bis 70 50 Pin 10 000 Std 16 Bit Daten 18 Bit Adresse 90 Anhang B Anhang BI Quellcode CD Anhang B2 Symap Compact Frontansicht CD Anhang B3 Manual SEGGER CD Anhang B4 Manual LPC2478 CD Anhang B5 Pr sentation Symap CD Anhang B6 Abmessungen LCDs CD Anhang B7 Stromlaufplan CMA302 CD Anhang B8 Men struktur Settings CD Anhang C Datenbl tter Anhang CI CAN TRANCEIVER SN65HVD251D CD Anhang C2 LED DRIVER TPS61165 CD Anhang C3 S FLASH M4PE89 CD Anhang C4 SD RAM MT48LCI6MI6A2 CD Anhang C5 TFT G240320LTSW I I8W E 3 2 v1 0 CD Anhang C6 TSCTSC2046 CD Anhang C7 Verst rker LM386 CD Anhang C8 Controller LPC2478 CD Anhang C9 LCD Controller SSDI289 1 3 CD Kann bei Prof Dr rer nat Schneider eingesehen werden 91 Versicherung ber Selbststandigkeit Hiermit versichere ich dass ich die vorliegende Arbeit Embedded System als Human Machine Interface mit flexibler Men struktur und CAN Anbindung an ein digitales Schutzrelais im Sinne der Pr fungsordnung nach
33. 0 bis 70 40 Kyocera CCFL 10 bis 70 33 Kyocera LED 10 bis 70 33 Kyocera CCFL 0 bis 60 Newtec LED 20 bis 70 50 OSD LED 140 mA 10 2 V 20 bis 70 50 Sharp CCFL 30 bis 80 33 Sharp CCFL 30 bis 80 33 Suntai CCFL 10 bis 70 33 Tianma LED 60 mA 12 4 V 20 bis 70 54 a Die Komplette Tabelle mit Typnummer Distributor Preis sowie aller zur Verf gung stehenden Displays befindet sich in Anhang A4 Tabelle LCDs 3 Hardwareplattform 32 In der Tabelle 3 3 sind alle Displays aufgef hrt von denen Muster zum testen vorhanden sind dabei handelt es sich um 30 und 40 Polige Displays Es sind ausschlie lich Displays mit 3 3 V Ansteuerung f r die digitale Logik und LED Hintergrundbeleuchtung vorhan den Bis auf das Powertip PH320240T 005 I Q welches ein 24 Bit Display ist sind alle an deren Displays 18 Bit Tab 3 3 Auswahl LCD 2 Hersteller Typ Nr Ampire AM320240NSTNQW 00H Andi YL T320x240 17 057L2H AUO G057QNO01 Data Image FG050701DSSWBGO01 EDT ET057003DM6 Everbouquet MF320240B57 BF Gi Far GFT057AA320240 Hantronix HDA570S V Hitachi TX14D12VMICPC Kyocera TCG057QVLBA GOO Nanya LM740 0A Optrex T 55265GD057J LW AAN Powertip PH320240T 005 IC1Q Powertip PH3202401 005 I Q PrimeView PD057VU5 Toshiba LTA057A340F URT UMSH 8044MD T Neben Anschlussm glichkeit und Preis wurde auf Helligkeit Kontrast und Bildsch rfe ge testet Die Einbaum glichkeiten wurden mit den Geh usespezifi
34. 1 DBGEN 9 F4 I JT AG interface control signal UART JTAG 502 TDO 2 D3 O Test Data out for JT AG interface UART JTAG 503 TDI 4 C2 I Test Data in for JTAG interface UART JTAG 504 TMS 6 E3 I Test Mode select for JTAG interface UART JTAG 505 TRST 8 DI I Test reset for JTAG interface inverted UART JTAG 506 TCK 10 E2 I Test Clock for JTAG interface UART JTAG 507 RICK 206 C3 I O JTAG interface control signal UART JTAG 508 un 29 K3 O being in reset state inverted RSTOUT 509 RESET 35 M2 I external reset input UART JTAG Anhang A4 Tabelle LCDs Tab A 3 Vollst ndige Tabelle der zu Verf gung stehenden LCDs Helligkeit Temp Lebensdauer Preis Preis Hersteller Typ Nr cd m Kontrast Abmessungen Typ Versorgung eC Anschluss Anschlusstyp Beleuchtung 100 Stk 1000 Stk Anbieter Kommentar AM320240N6TMQW ee 59 80 45 50 Zettler l Ampire 00H 300 350 126 0x101 8x9 7 LED 126 mA 10 5 V 20 bis 70 40 Pin FA5B040HP1R3000 10 000 Std 63 70 5190 Beck Elektronik Interface 18 Bit Ampire TF320240 20 0 450 350 131 0x102 2xN A LED 126 mA 10 5 V 20 bis 70 24 34Pin mehrere 30 000 Std ers Registeransteuerung Ampire ee 500 350 131 0x102 2x10 9 LED 126 mA 9 6 V 20 bis 70 40 Pin FA5BO40HP1R3000 30 000 Std Zettler Interface 18 Bit 56 20 Beck Elektronik deeg See 800 350 1310x1022x109 LED 126 mA 9 6V 20 bis 70 40 Pin FASBO40HP1R3000 30 000 Std 53 30 Mewa electronic Interface 18 Bit 52 00 Ul
35. 2 2 Configuration Wizard Kommandos 2 iro OX EO ive usen 20 abe e Nachtichten der Callbae E 24 Tab Ort Pl tinen des Symap C peto bete dehet dele clt stein sier bi rte iu avons 25 Tab 3 2 LEDs die den Anforderungen nicht entsprechen sca gi na 31 Tab 2 3 Auswahl LED EE 32 Tab 34 Sp eA iii a tl Omen sea 33 Tab 4 1 Belegung des Bitfeldes f r den dynamischen Men aufbau sss 54 T b 4 2 Attributetoben der Elemente ni eere dre c ed RUE RI REA wen ONU OE UM RUN aqaa 61 Tab LEAN ID Rassen unse in 73 Tab 6 L Speicherbereichsadkessierumig G3 RE 74 Tab AT Geschichte SEGGER E 81 Tab A2 Pinnbelestin EE 85 81 Anhang A Anhang Al Geschichte Segger Tab A 1 Geschichte SEGGER Jahr Geschichte 1991 1993 1994 95 1996 1997 1998 1999 2000 03 2004 2005 2006 SEGGER Mikrocontroller Systeme wurde von Rolf Segger in Hilden gegr ndet Zu diesem Zeitpunkt hatte er bereits zehn Jahre Erfahrung mit eingebetteten Systemen Segger MCS fing an Software f r verschiedene Gesellschaften in Deutschland und den Vereinigten Staaten zu entwickeln Des erste RTOS wurde f r die Mikrocontroller der NEC KO Reihe entwickelt Der Code wut de vollst ndig in Assembler geschrieben Das RTOS wurde basierend auf Erfahrung mit eigenen Produkten und Feed Backs des Kun den verbessert Es wurde in C neu entworfen und verbesserte sich in Hinblick auf die maxi male Vielseitigkeit die Geschwindigkeit
36. 25 4 ohne fremde Hilfe selbst ndig verfasst und nur die angegebenen Hilfsmittel benutzt habe W rtlich oder dem Sinn nach aus anderen Werken entnommene Stellen habe ich unter Angabe der Quellen kenntlich gemacht Ort Datum Unterschrift
37. 3V Asa Mear vBar 7 VCI 4 PUG E pEnIRa vec e Tuer ovol e 8 aux ono C8j C9 C10 CL C12 C13j 224F T 100nF 47nF 47nF GIFT int 10V 50V 50V 50v 50V 50v e I Bild 3 5 TSC2046 Um das Testen der Bildschirme zu vereinfachen und einen leichten Umstieg zu erm gli chen werden auf der ersten Version der CMA302 drei Anschlusstypen verbaut Hierbei handelt es sich um einen 33 poligen Anschluss sowie um zwei 40 polige Anschl sse Dabei werden die Leitungen parallel an alle Anschlusstypen gef hrt Hierbei muss beachtet wer den dass der 33 polige Anschlusstyp zus tzlich zwei Pins f r die vertikale und die horizon tale Ausrichtung besitzt Die Displays von Hitachi ben tigen keine Synchronisation VC H ma L BAT46W be UF LnF 4 TyF kint Jl 50V TPS61165 50V 50V LED STROM GNDI GND1 GND1 Bild 3 6 TPS61165 Datenbl tter zu den einzelnen Komponenten befinden sich in Anhand C Datenbl tter Der komplette Schaltplan f r die CMA302 befindet sich in Anhang B7 Stromlaufplan CMA302 Das Display wird ber 16 Bit RGB 565 mit dem LCDC verbunden Da es sich in den meis ten fallen um 18 Bit Bildschirme handelt werden die LSBs von Rot und Blau auf Masse ge legt was keine Einschrankungen in der Ansteuerung zur Folge hat 3 Hardwareplattform 3 2 LCD Display Kriterien Bei dem gro en Angebot an zur Verf gung stehenden Displays ist es n tig eine di
38. 46 4 21 AAA dE 48 A22 Realisieruno O 53 4a Die Viet Variablen Selen veas tede in een RE 60 eA SE 62 EE soe depu quedar a 65 e WE 69 45 Graphic Builder OS A dd df rN Bee Oe NRN s 71 5 E 73 A OO 74 7 Zusammenfassung und Ausblick ansehen 75 TT 76 Abku tzungsvetzeiclitiis iecur ku ino Boa RAP ANS XAN FREE R AERE A EEN 77 O eo NRI Age 78 NK BHIS ooa oto a aa i ioo idR Fond een 80 Anhang M ENN SEA 81 Anhang AT Geschichte Sepe eb issn fa ori beue oda 81 Anhang EE 82 Anhang A3 Pinbelesung LPCAT E 85 Anhang Ad Tabele C RE 88 Anhan Bosius reet xA verto alas dab caf Tee Tee ran Med AAA 90 Anbane ERR e EE 90 A hane B2 Symap Compact Frontansich CO Isaias 90 Anhang Bo Manuals BS ERICO E 90 Anhang B4 Manual Eege 90 Anhang Bos Pr sentation Symap CID EE 90 Anhang B6 Abmessungen LEDSACO erste bene 90 Anhang BT Stromilautplan CMIADUS GL E 90 Anhang E KE 90 Anhat s C KENE 90 Anhang C1 CAN TRANCEIVER SN65HVD251D CD E 90 Athans 62 EED IORIVER TESOTIG5 RE 90 Anbang C3 Si BEASELMAPESU C DU E 90 Anhang C4 SD RAM MT48LCT6MTOA2 CD nen a 90 Anhang C5 TET G240320LTS W 118W E 3 2 v1 0 CD ne 90 Anhang C6 TSC 1962046 C Dy aee ee 90 Anbatio C7 Verstarker LMSS C Di naeh 90 Anhans Co E E KEE 90 Anhans C9 LC Gontrelle s 355 DI2EI FFC Dias einher 90 Versicherung ber Selbstst ndigkeit eee eene 91 Einleitung Basis dieser Arbeit wird eine Erweiterung der SYMAP Familie sein Dieses Ger
39. 8 prot U8 com mit WM HWIN hParent Der Handle an den das Fenster geh ngt wird U8 menu Aufbau des gesamten Men s U8 io Aufbau des Unterpunktes IO U8 prot Aufbau des Unterpunktes Protect U8 com Aufbau des Unterpunktes Communication das Men nach dem Baukastenprinzip zusammen zubauen Dabei entspricht der R ckgabe wert dem Handle des Men s welcher beim L schen wieder ben tigt wird Es ist neben der Verankerung innerhalb des Men s wichtig den Elementen eine ID zu geben um sie sp ter identifizieren zu k nnen Das Men wird beim Dr cken der ENTER Taste erstellt und l scht sich automatisch beim Verlassen oder bei der Anwahl eines Men punktes F r das L schen des Men s ist die Funktion void deleteMenu MENU Handle hMenu n tig da innerhalb des Men s keine Hierarchie besteht Ein erneutes aufrufen des Men s w rde dann zum Speicher berlauf f hren Die Callbackroutine des Clientwindows im Hauptfenster bernimmt die Verwaltung des Men s Tritt in dieser Routine die Nachricht WM_MENU auf kann aus der Datenstruktur pMsg gt Data p gelesen werden was f r eine Aktion stattgefunden hat Die abgeleitete Struk tur PData gt MsgType stellt nun folgende Nachrichten zur Verf gung ike MENU ON ITEMPRESSED In diesem Fall wird ber MENU GetItem MENU Handle U16 MENU ITEM DATA abgefragt welcher Men punkt bet tigt wurde und in welchem Zustand dieser sich befindet Die Parameter sind in eingetragener Rei
40. BAR dient lediglich der Veranschaulichung von Werten Das TEXT Widget erm glicht es einem Text einen festen Bereich zuzuweisen Dabei ist es m glich dieses Widget eindeutig zu identifizieren und somit den Text dyna misch zu ver ndern Hierbei stehen eine Reihe von Formatierungsm glichkeiten zur Verf gung wie links oder rechts ausgerichteter Text oder diverse Umbr che a c ERA Progress bar This text is shown LELLTEG GL SN Tg 1 1 Ez 5 Floor TE EA ina message box d Floor 3 Floor Floor AA ad dl E a dl IO E 1 Floor Bild 2 14 Widgets a Multipage b Progbar c Framwin Jedes dieser Elemente kann ber eine gro e Auswahl an Funktionen angepasst und erstellt werden Kapitel 15 der Bedienungsanleitung f r emWin besch ftigt sich ausschlie lich mit den Widgets und beschreibt alle zur Verf gung stehenden Funktionen 8 2 Grundlagen 24 2 7 3 Callbacks Callbackroutinen werden vom Benutzer definiert um dem System mitzuteilen dass eine be stimmte Funktion bei einem bestimmten Ereignis stattfinden soll Eine solche Funktion kann an jedes beliebige Fenster angeh ngt werden Und hat den folgenden Prototyp void callback WM MESSAGE pMsg mit pMsg Pointer auf eine Datenstruktur vom Typ WM MESSAGE Die Aktion die eine Callbackroutine ausf hren soll h ngt nun von dem Typ der Nachricht ab die sie als bergabeparameter bekommt Eine Differenzierung findet hierbei typischer weise be
41. CD amp i 55 801 00 asp Des weiteren wurde folgende Literatur f r die Programmierung zur Hilfe gezogen Bollow Friedrich Homann Matthias K hn Klaus Peter 2002 C und C f r Embedded Systems 1 Aufl Bonn mitp Verlag Erlenk tter Helmut 2005 C Programmieren von Anfang an 10 Aufl Reinbek Rowohlt Taschenbuch Verlag GmbH Herrmann Dietmar 1999 Effektiv Programmieren in C und C 4 Aufl Braun schweig Wiesbaden Friedr Vieweg amp Sohn Verlagsgesellschaft mbH Die Quellen sind als Anhang auf der CD zu finden 77 Abk rzungsverzeichnis ACK AHB ARM ALU CAN CISC CRC DMA EoF EMC HMI IFS I O JTAG LCD LED RTOS RISC SD RAM SIMD SMD SIP TRE VIC UART Acknowledge Advanced High performance Bus Acorn Risc Machine Arithmetic Logical Unit Controller Area Network Complex Instruction Set Computer Cycling redundancy check Direct Memory Access End of Frame Extern Memory Controller Human Machine Interface Intermission Frame Space In Out Joint Test Action Group Liquid Crystal Display Light Emitting Diode Real time operating System Reduced Instruction Set Computer Synchronous Dynamic Random Access Memoty Single Instruction Multiple Data Surface mounted device Shielded Twisted Pair Thin film Transistor Vector Interrupt Controller Universal Asynchronous Receiver Transmitter 78 Bildverzeichnis pudo Aufbau deS RE 3 Did 2 2 Ee big daa ES n 5 Bild 2 3 CA
42. ES 485 422 BR ZEN CMA 301 us Ye Bild 3 1 Kommunikationsverbindungen der Komponenten im Symap Compact 3 Hardwareplattform 26 3 1 CMA 302 Dieses Projekt befasst sich mit der Entwicklung der GU Graphic Unit Hierbei soll es sich um ein flexibles Interface handeln welches lediglich ber eine CAN Verbindung mit dem Rest des Systems kommuniziert Dies soll erm glichen ein Display auch au erhalb des Ger tes anzubringen In Bild 3 2 sind die einzelnen Komponenten mit dazugeh riger Schnittstelle in einem Blockschaltbild zusammengefasst Der 4 Wire resitive Touchscreen ist ber die SSPO angeschlossen UART JTAG GU 72 MHz 5 MHz LCD 20MHz SSPO 20MHz EMC SD RAM 20MHz SSP1 Flash LEL Key BP 2xHorn Li Bild 3 2 Blockschaltbild CMA302 Ausgehend von dem SYMAP BCG fallen jedoch Elemente wie LEDs und sieben Seg ment Anzeigen weg Als I O bleiben nun eine Tastatur sowie zwei Lautsprecher f r Alar me brig Nun besteht die M glichkeit einen externen LCD Controller einen im LCD verbauten oder einen im Mikrocontroller integrierten LCD Controller zu verwenden Letzterer ver 3 Hardwareplattform 27 eint die Vorteile von den beiden Ersten Ein integrierter LCD Controller ist platzsparender und hat keine Bindung an ein bestimmtes Display Da der eingebaute LCD Controller keinen eigenen Bildspeicher hat ist es n tig eine
43. ES U32 fgcolor 5 Foregroundcolor U32 param 16 Link to Parameter U32 num 16 Elementnumber 47 e switch Bild 4 17 Strukturelement eines Schalters ber das folgende Makro ist ein vereinfachter Zugriff moglich define el i paramti elemente insert Dies erleichtert an dieser Stelle das Protokoll f r den Bus da nicht auf das Datenformat geachtet werden muss struct U32 dwordl To insert U32 dword2 into structure a U32 dword3 3x4 Byte insert Bild 4 18 Strukturelement zum Einsetzen der Daten 4 Software 4 3 2 Realisierung Insbesondere bei der Darstellung muss nun beachtet werden dass verschieden Typen von Elementen existieren die zum einen durch die Eigenschaft der Elemente zum anderen durch die Eigenschaften der Grafikbibliothek sehr unterschiedlich gehandhabt werden m ssen oder k nnen An dieser Stelle wird nun auf die Realisierung mit den vorhandenen Mittel eingegangen ER we ao Local Text Remote Bild 4 19 Elementauswahl Bei den in Bild 4 19 dargestellten Elementen handelt es sich um eine beispielhafte Aus wahl die sich am Vorg ngermodell orientiert Es ist eine beliebige Anzahl an Variationen m glich lediglich bei den aktiven Elementen wird es Vorgaben geben Aufgrund der durch die Grafikbibliothek gegebenen Mittel hat es sich als effektiv erwiesen die Elemente auf zwei unterschiedliche Art und Weise
44. Hitachi TX14D12VMICBA 350 350 131 0x102 2x10 9 CCFL 20 bis 70 40 Pin 50 000 Std Interface 18 Bit Hitachi TX14D12VM1CBB 600 350 131 0x102 2x10 9 CCFL 20 bis 70 40 Pin 50 000 Std Interface 18 Bit Hitachi TX14D12VMICBC 350 350 131 0x102 2x10 9 LED 20 bis 70 A0 Pin 00008 LAOS DDR Me Interface 18 Bit N A 98 95 Glyn Hitachi TX14D12VMICPC 280 350 131 0x102 2x12 4 LED 20 bis 70 40 Pin 40 000 Std 133 00 118 00 Data Modul Interface 18 Bit mit Touch N Enn uu righ keitsgaranti Kyocera TCG057QV1AA GO00 470 300 144 0x104 8x12 7 CCFL 10 bis 70 33 Pin 75 000 Std N A Data Modul Jahre Vert gparkeitsgarannie Mechanisch identisch mit 91 70 Display Devices RN Powertip und Primeview 116 00 105 00 Data Modul Interface 18 Bit Kyocera TCG057QVLAC GO00 350 450 144 0x104 8x13 0 LED 10 bis 70 33 Pin 50 000 Std N A 90 00 Ultratronik Mechanisch identisch mit N A 119 00 Display Devices Powertip und Primeview Kyocera TCG057QVLBA GO00 300 500 127 2x100 4x5 7 LED 30 mA 22 1 V 20 bis 70 40 Pin IMSA 96818 40A GF 70 00 Ultratronik Interface 18 Bit Nanya LM740 0A 400 250 143 7x104 4x9 7 LED 140mA 102V 20bis 70 33 Pin EE 5720 Getronic Interface 18 Bit 0 5SH 55 or comp Newtec NFD57A CIW 350 200 126 0x101 6x5 7 LED 20 bis 70 50 Pin Optrex T 500 350 144 0x104 6x13 0 LED 180 mA 13 2 V 20 bis 70 33 Pin N A 65 00 Display LC Interface 18 Bit OSD OSD057ACA6A0 300 200 126 0x101 6x5 7 LED 14 0mA 10 2 V 20 bis 70 50 Pin In
45. LASH INTERFACE HIGH SPEED GPIO INTERNAL ARM7TDMI S 160PINs CONTROLLERS TOTAL SRAM FLASH EXTERNAL D 31 0 MEMORY A 23 0 CONTROLLER E control lines EMULATION TRACE MODULE AH G MASTER AHBTO SLAVE USB DEVICE Vaus MIVRMII PORT AHB BRIDGE PORT HOSTIOTG WITH pati 4kB RAM AND DMA port2 Cy _ GP oma CONTROLLER EDER EXTERNAL INTERRUPTS AV LCD INTERFACE TE A contro dl 2 WITH DMA TU XC CAPTURE COMPARE KEEN TIMEROTIMER1 KO 4 x MAT2 MATS TIMERZTIMER3 2 x MATO 3 x125RX 3 x MAT CA ss INTERFACE A cue PP x 1 2x PCAP1 SSPO SPI INTERFACE e A LEGACY GPI O SSELO SSEL 64 PINS TOTAL iu SSP1 INTERFACE een SSEL1 SONMMC CARD MCICLK MCIPWR INTERFACE MCICMD MCIDAT 3 0 UARTO UART2 UART3 Ben TXD1 DTR1 RTS1 RXD1 DSR1 CTS1 DCD1 RI RD1 RD2 E CAN1 CAN2 eS er y E SCLO SCL1 SCL2 a 12C0 1201 1202 SDAO SDA1 SDA2 SYSTEM CONTROL Bild 2 2 LPC2478 Blockschaltbild Datenblatt LPC2478 2 engl fur Echtzeitubr 2 Grundlagen Bild 2 2 zeigt den gesamten Aufbau des Controllers als Blockschaltbild Es stehen dem Prozessor insgesamt 512 kB Flash Speicher zur Verf gung auf den ber 128 Bit zugegrif fen wird Die internen 96 kB RAM sind aufgeteilt in 64 kB erreichbar ber den lokalen Advanced High performance Bus AHB zur schnellen Benutzung 16 kB f r das Ethernet Interface 16 kB f r allgemeine DMA Dircet Memory Access Zugriffe oder die USB Schnittstelle und 2 kB
46. N Sparmmu ospepel nee ehe ee en 8 Bild 2 4 Str kt r KEE 9 Bild 2 5 CAN Darenicl grarnbi e oCOndatd EE 10 Bild 2 6 Interner Aufbau des LCD Controllers im LPC2478 essere 11 Bild 2 7 H Syne Timing bes D 14 Bild 2 8 4 Wire Resistiver TOuchscteeti cescsssssssssssessssesssssessssssssesessssssssesssessesesesessesssesssscssaeeasensensnees 16 Bild 2 9 OEM Base Boards 5o ote e e das 17 Bild 2 10 Entwicklungsumgebung Keil Projektbereich Ausgabefenster C Datel 18 pulo TEE 19 Bild 2 12 Widgets a Edit RRE 22 Bila 2215 Widgets ay Ley Ob E 22 Bild 2 14 Widgets a Multipage b Progbar c ETATS eoo ea 23 Bild 3 1 Kommunikationsverbindungen der Komponenten im Symap Compact 25 Bild 3 2 BlockscHaltbild EMS 2 shia en Cot gea x on nd E las 26 Bild 3 3 M45PE80 Setieller Hash ce precisi iR MPa een 27 Bild 3 4 2 H pe b BEE 28 Bid 33 KEE 29 Bild NN EE 29 Bild 3 7 Testaufbau Gesamtbild Evaluationboard Adapter LCD Uastpang sss 34 Bild 3 8 Adapter a Seitlich DIOCESE idee uiu piede Pda I E A 35 Bild 3 9 Pinbelegung des Adapters a Expansion Connector b LCD Connector 35 Bild 3 10 OEM Base Board mit Verkabelung nennen 36 Bild 3 11 Blockschaltbild des Testaufbaus essent nennen neret 36 Bild 3 12 Blockschaltbild der Module im LPC2478 sese 37 Dila 515 BMCCISOD tera HOt omn do deas AA tuf ul uita o E ph E D 39 Bild 3 14 System Funktionen na 40 Bild 3 15 Druckbestimmu
47. NTSC Rate 58 3 Hardwareplattform 34 3 3 Versuchsaufbau Da die CMA302 erst noch entwickelt werden musste war ein Testaufbau n tig um parallel zur Hardwareentwicklung die n tige Software schreiben zu k nnen Bild 3 7 Testaufbau Gesamtbild Evaluationboard Adapter LCD Tastatur Bild 3 7 zeigt den Gesamtaufbau fixiert auf einer Holzplatte Die Spannungsversorgung der LCD Hintergrundbeleuchtung geschieht ber eine Spannungsquelle der Firma Conrad mit einem Ausgang von 0 30 Volt und 0 01 3 Ampere Bis auf das Display wurden alle Kom ponenten an der Platte fixiert Das Display steht mit einem Winkel von 35 in einer Schr ge um einen Displaywechsel f r sp tere Tests komfortabel zu halten und einen g nstigen Be trachtungswinkel zu gew hrleisten Es ist die provisorische Tastatur zu sehen Die Taster sind ber Pullup Widerst nde auf High gezogen und direkt mit dem GPIO Eing ngen 0 0 0 15 des Prozessors verbunden Bild 3 8 zeigt den Adapter der das Flachbandkabel ber den SMD Steckverbinder auf eine dreireihige Steckleiste f hrt Auf der Unterseite der Platine ist diese mit dem Anschluss f r den 50 polige Pfostenstecker verl tet Der 50 Polige Pfostenstecker ist verbunden mit dem Anschluss f r ein externes Display auf dem Evaluationbord ber die Jumper roter Pfeil 3 Hardwareplattform ab l sst sich die Ausrichtung f r das Display ndern Die auf der Oberseite zu sehenden Lei tungen sind mit dem LSB
48. Peripheral Clock Selection Register 0 PCLKSELO Bild 3 14 System Funktionen 17 Quellcode gpio c gpio h 18 engl f r Echtzeitbetriebssystem 19 Quellcode LPC2478 s delay c delay h rtos t c 3 Hardwareplattform 41 Ber hrungsempfindlichkeit Da der 4 Wire resistive Touchscreen ber den TSC2046 s 29 K 3 1CMA 302 ange schlossen ist erfolgt die Ansteuerung komplett ber die SPI Hierbei kann jede Konversion der analogen Daten in drei bertragungen abgehandelt werden Das Ansprechen des Touch Interfaces erfolgt dabei ber 1 Byte Datengr e Im ersten Schritt wird die Konver sion gestartet und das Interface konfiguriert In den n chsten zwei Schritten bei 12 Bit Konversion kommen im ersten Byte die drei ersten Bit mit dem MSB beginnend an im letzten Schritt das restliche Byte Der TSC2046 wurde so konfiguriert dass mit jeder Be r hrung des Bildschirmes ein Interrupt ausgel st wird In der ISR wird nun ein Flag ge setzt was dazu f hrt dass im Hauptprogramm die Funktion GUI TOUCH Exec ausge f hrt wird Diese von SEGGER vorgegebene Funktion bernimmt die Weiterverarbeitung der Ber hrungsdaten f r die Bibliothek wobei der Treiber f r die Ansteuerung zu schrei ben ist Es sind lediglich zwei Funktionsprototypen vorgegeben die als R ckgabewert den Digitalwert der X Y Koordinaten erwarten Wird nun der Bildschirm ber hrt erfolgt auf der Treiberseite eine Abfrage ber den Druck der Ber hrung ALL P
49. Rafael Khan Embedded System als Human Machine Interface mit flexibler Men struktur und CAN Anbindung an ein digitales Schutzrelais Diplomarbeit eingereicht im Rahmen der Diplompr fung im Studiengang Informations und Elektrotechnik Studienrichtung Informationstechnik am Department Informations und Elektrotechnik der Fakult t Technik und Informatik der Hochschule f r Angewandte Wissenschaften Hamburg Betreuender Pr fer Prof Dr rer nat Jochen Schneider Zweitgutachter Prof Dr Franz Schubert Abgegeben am 20 August 2009 Rafael Khan Thema der Diplomarbeit Embedded System als Human Machine Interface mit flexibler Men struktur und CAN Anbindung an ein digitales Schutzrelais Stichworte HMI Graphic User Interface CAN flexible Struktur eingebettetes System Touchscreen ARM7 LCD Kurzzusammenfassung Bei dieser Arbeit geht es um den Entwurf eines eingebetteten Systems mit grafischer Be nutzeroberfl che auf Basis des LPC2478 von NXP Der Mikrocontroller basiert auf einem 32 Bit ARM7TDMI S Das Interface wird nur ber CAN mit dem Rest des Systems ver bunden wobei vier der darzustellenden Seiten komplett ber ein externes Tool generierbar sind Die Teile des Men s k nnen flexibel gehalten werden sodass ber einfache Parameter Men punkte und Unterpunkte variable sind Gesteuert wird ber eine Tastatur und ein be r hrungsemfindliches Display Die Entwicklungsumgebung f r den Software Teil ist pVi
50. T Thin Film Transistor Farbdisplays mit Aufl sun gen von 320x200 320x240 640x200 640x240 640x480 800x600 und 1024x768 Pixel Ein Hardwarecursor steht f r Singe Panel Displays zur Verf gung F r den Monochrombereich kann der Entwickler mit 15 Graustufen arbeiten Bei einem STN Display stehen ihm 3375 2 Grundlagen 12 Farbschattierungen zur Verf gung Bei einem TFT k nnen bis zu 32786 Farbschattierun gen genutzt werden F r die Ansteuerung l sst sich der interne Peripherietakt oder aber ein an das Takt Ein gangspin angeschlossener externen Takt nutzen Die Ansteuerung erfolgt ber eines der Register 6 F r die Ansteuerung stehen folgende Anschl sse zur Verf gung LCDPWR LCDDCLK LCDENA LCDFP LCDLE LCDLPS LCDVD 23 0 LCD panel power enable LCD panel Clock STN AC bias drive or TFT data enable output STN Frame pulse or TFT vertical sync pulse Line end signal TN Line pulse or TFT horizontal sync pulse LCD panel data 2 Grundlagen 2 3 LCD Die hier genutzten Displays geh ren zur Familie der Liquid Crystal Displays LCD Diese M glichkeit der Visualisierung hat sich unter den verschiedene Techniken der TFTs heraus kristallisiert Die sog Fl ssigkristallanzeige basiert auf den Eingenschafen von Fl ssigkris tallen welche beim Anlegen einer Spannung die Polarisationsrichtung von Licht beeinflus sen Da die Fl ssigkristalle lediglich das Licht ver ndern nicht aber welch
51. abei sind die Farben wie bei allen Widgets variable Ein ndern der Far be signalisiert dem Benutzer in welchem Fenster sich der Fokus befindet Bei dem FRA MEWIN handelt es sich um zwei Fenster dem Farbigen Balken mit einer berschrift ge nannt Frame und dem darunter liegenden Clientfenster Eine LISTBOX gibt einem die M glichkeit eines oder mehrere Elemente aus einer vorgegebenen Liste zu selektieren a c d i Deutsch Bild 2 12 Widgets a Edit b Framewin c Listbox Das LISTVIEW Widget Bild 2 13 erm glicht das Selektieren aus einer Liste mit verschie denen Spalten Zur Verwaltung der Spalten enth lt das LISTVIEW Widget ein HEADER Widget ber welches sich die Elemente auch sortieren lassen Das MENU Widget bietet ei nem verschiedene M glichkeiten ein Men zu erstellen Dabei kann das Men horizontal oder vertikal erscheinen und eine beliebige Anzahl von Untermen s haben Beim L schen muss darauf geachtet werden dass alle Untermen s einzeln gel scht werden da beim an h ngen an einen anderen Men punkt keine Vater Kind Hierarchie erstellt wird 623499 0010001 623499 001 0002 623499 0010003 623499 0010004 623499 0010005 Bild 2 13 Widgets a Listview b Menu 2 Grundlagen 23 ber die MULTIPAGE Bild 2 14 k nnen mehrere ber Reiter anw hlbare Seiten in dem selben Bereich angezeigt werden Dabei w hlt ein Reiter ein Fenster an welches nun einen beliebigen Inhalt darstellen kann Die PROG
52. al input output pin LCDVD 19 BO 280 P2 15 99 P13 I O General purpose digital input output pin TP IRQ 285 CAS 87 Ril O SDRAM column address strobe inverted RAM 287 RAS 95 R13 0 SDRAM row address strobe inverted RAM 289 e 59 U3 O SDRAM Clock 0 RAM 293 DYCSO 73 T8 O SDRAM chip select 0 inverted RAM 299 SCKO 85 U12 I O Serial Takt for SSPO Flash 303 SSELO 64 U5 I O Slave Select for SSPO Flash 305 o 53 P5 O SDRAM Clock enable 0 RAM 315 MOSIO 47 Di I O Master out slave in for SSPO Flash 317 T 49 P4 O vin SE 0 used with SDRAM and static RAM 319 e 43 N3 O pads Lm 1 used with SDRAM and static RAM 329 DO 197 B4 I O External Memory data line 0 RAM 331 D1 201 B3 I O External Memory data line 1 RAM 333 D2 207 B1 I O External Memory data line 2 RAM 335 D3 3 E4 I O External Memory data line 3 RAM 337 D4 13 F2 I O External Memory data line 4 RAM 339 D5 17 G1 WO External Memory data line 5 RAM 341 D6 25 Jl I O External Memory data line 6 RAM 343 D7 27 LI I O External Memory data line 7 RAM 345 D8 19 D8 I O External Memory data line 8 RAM 347 D9 199 C5 I O External Memory data line 9 RAM 349 D10 205 B2 I O External Memory data line 10 RAM 351 D11 208 D5 I O External Memory data line 11 RAM 353 D12 1 D4 I O External Memory data line 12 RAM 355 D13 7 Cl I O External Memory data line 13 RAM 357 D14 21 H2 I O External Memory data line 14 RAM 359 D15 28 M1 I O External Memory data line 15 RAM Tab A 2 Fortsetzung lf
53. am PC mit einfachen Mitteln zu sammenbauen kann Zus tzlich soll das Men so flexibel gehalten werden dass lediglich eine Parameterliste n tig ist um die Struktur zu ndern In einem ersten Ansatz sollte das Men wie die vier Be nutzerseiten ber ein externes Tool zusammengesetzt werden k nnen Dies hat sich aller dings als zu aufw ndig erwiesen Somit sollen sich nun einzelne Men punkte und einzelne Parameter ber Bitfelder konfigurieren lassen bzw soll sich der Men aufbau anhand der verwendeten Hardware selber an das System anpassen Im Gegensatz zum SYMAP soll durch eine durchdachte Fenster und Men struktur das vertraute Arbeiten wie an einem Computer erzeugt werden Es stellen sich also zwei verschiedene Bereiche auf 1 Der Aufbau des Men s 2 Die vier variablen Seiten Vor dem Nutzen der Grafikbibliothek muss diese mit den gegeben Parametern initialisiert werden sowie eine Initialisierung des Controllers und des Bildschirms stattfinden Es werden Probleme die sich in den einzelnen Bereichen ergeben erl utert bzw verschie dene L sungsans tze diskutiert Der Rest des Kapitels wird sich mit der L sung und Reali sierung des Projektes besch ftigen Die Touchfunktionalit t wurde zu Testzwecken schon komplett implementiert wird jedoch erst in einer sp teren Serie Anwendung finden Die Men f hrung ist in dieser Version noch auf die vom Vorg ngermodell bernommenen Tastatur aufgebaut kann jedoch auch mit
54. am selben Ciienten angeh ngt und berdeckt immer das Hauptfenster ist somit immer sichtbar Der Seitenaufbau geschieht dynamisch nach Angaben in einem Bitfeld Hierbei orientiert sich der Seitenaufbau an den Festlegungen in Tab 4 1 Alle in der Tabelle dargestellten Sei ten haben mehrere Verankerungen im System Die Seiten existieren als Seite an sich und als anw hlbares Textfeld mit Vorschauseite welches beim Anw hlen auf die eigentliche Seite springt Die Verankerung des Fensters wurde bereits im Zusammenhang mit der Tastatur erl utert s 4 1 Die Verankerung in Bezug auf das Textfeld wird im Zusammenhang mit der Multipage erl utert werden Es existieren weiterhin Bitfelder f r den gesamten Settingbereich der eine komplett neuen Aufbau im Vergleich zum Vorg nger bekommt Es sind nicht nur Zeilen auf einer Seite va riable sondern der gesamte Aufbau des Men baums Tab 4 1 Belegung des Bitfeldes f r den dynamischen Men aufbau Bit 0 12 Fl Seiten Bit 0 9 F2 Seiten Bit 0 13 F3 Seite 0 berblick 0 Aktive Alarme 0 berblick 1 Strom 1 Alarm Gruppen 1 Benutzerseite 1 2 Spannung 2 Aktive Events 2 Benutzerseite 2 3 Z hler 3 Events Verlauf 3 Benutzerseite 3 4 Bodentichtwert 4 Detaillierter Verlauf 4 Benutzetseite 4 5 Harmonische Wellen 5 Verriegelung Seite 5 Maschinen berblick 6 Frequenzen 6 Systemfehler Seite 6 Leistung Management 7 Analoge Eing nge 7 Reserve 7 Ladeseite 8 Display Einstellungen 8 Reserve 8 PM Regulatio
55. aste f hrt nun zu der in Bild 4 9 gezeigten Darstellung z Dieses Fenster welches wiederum f r alle Reiter das Selbe ist passt sich individuell an die Multipage an ber die IDs und Funktionen der Bibliothek wird abgefragt welche Listbox mit welchem Element das Fenster ge ffnet hat Der Inhalt des Elements wird abgefragt so wie als Titel des Fenster dargestellt Gleichzeitig wird das vorher aktive Element ausgegraut Die Funktion vod drawPage U8 page 8 select zeichnet nun den gew nschten Inhalt gem der aufrufenden Seite und dem selektierten Objekt angepasst an das Bitfeld auf welchem die Listbox basiert 4 Software Die Selektierung basiert allerdings auf dem Zusammenhang zwischen Liszbox und der dar ber aufgerufenen Dialogbox ber die Funktion LISTBOX Gets el hList l sst sich nur die Nummer des Elementes innerhalb der Liste feststellen Da der Inhalt allerdings variabel ist ist kein direkter Bezug zwischen Feld und Nummer vorhanden Die zuvor erl uterte Funk tion genarry generiert die Strings immer in einer festen Reihenfolge Dies bedeutet wieder um fehlt ein String haben alle darauf folgenden Strings eine kleinere Nummer als Attribut innerhalb der Liste Somit muss nur festgestellt werden wie viele Fenster vor dem selektier ten Fenster innerhalb einer Kategorie ausgeschaltet sind um die Anzahl auf das selektierte Fenster zu addieren und die richtige Auswahl bei der Selektion zu treffen Das Dr cken der Tasten f
56. auf Fenstern die wie Objekte zu behandeln sind Da diese Fenster alle Abh ngigkeiten untereinander besitzen ist es n tig sich eine Struktur der sp teren Men f hrung auf Basis dieser Abh ngigkeiten zu erstellen Hierf r ist es n tig sich einen Einblick in die Grafikbibliothek zu verschaffen da einige Objekte auf mehreren Fenstern basieren Desktop Client gt Hauptfenster Status Bar Men Listbox Listbox Listbox Bild 4 12 Abh ngigkeit der Fenster innerhalb des Men s Bild 4 12 zeigt einen Teil der Fensterbeziehungen zur Veranschaulichung Das Desktop fenster wird hierbei immer automatisch erstellt bildet somit den Vater f r alle folgenden Fenster Hierbei stellen die Blockpfeile eine Abh ngigkeit dar und die Linienpfeile eine Ver 4 Software 54 kn pfung Es ist somit m glich von einer der dargestellten Listboxen auf eine der Display seiten zuzugreifen Alle darzustellenden Seiten werden im Hauptfenster gezeichnet alle ge ffneten Fenster sind Cenrfenster des Hauptfensters Dies bietet den Vorteil dass das L schen aller angeh ngter Fenster automatisiert ist Wird eine neue Seite aufgerufen wird das Hauptfenster einmal gel scht was auch zum l schen aller darin ge ffneter Fenster f hrt Die Statuszeile ist im Clenten des Hauptfensters verankert um st ndig sichtbar zu sein Das bei Tastendruck erstellte Men ist
57. cbProcess age die gew nschte Callbackfunktion angegeben werden dabei ist page die anzuzeigende Seite Meters Alarms Die Meters und Alarms Seiten aufrufbar ber das Men oder der F1 und F2 Taste sind nach dem selben Prinzip aufgebaut wie die Prozess Seiten IDs Da in der gesamten Men f hrung eine gro e Menge an Objekten erstellt wird ist es n tig einen berblick ber die verwendeten IDs zu behalten um ggf berlappungen zu vermei den welche zu Konflikten f hren k nnte Es ist allerdings nur n tig dabei die derzeit aktu elle Seite zu beobachten da Aufgrund der Men struktur keine zwei Hauptfenster gleichzei tig vorhanden sind Es gibt jedoch die Ausnahme dass ein paar IDs f r die Statuszeile ver geben wurden diese d rfen innerhalb einer Seite nicht nochmal verwendet werden 4 Software 60 4 3 Die vier variablen Seiten Mit der geforderten Flexibilit t der variablen Seiten und der Vorgabe dass die Daten ber ein externes Tool auf einen der Co Prozessoren geladen und erst ber den CAN Bus an die GU weitergeleitet werden sind noch weitere Anforderungen gekn pft Die Seiten sol len ber das Men anw hlbar sein und zus tzlich ber die Taste F3 Die darzustellenden Elemente sollen alles beinhalten was es in der SYMAP Serie bis jetzt gegeben hat dazu ge h ren neben passiven Elementen wie Linien oder Symbolen Generator etc auch aktive Elemente wie Schalter Auswahlboxen und Messwertanzeigen Es solle
58. ch gew hrleistet dass auch im Standbybetrieb des Ger tes weiterhin etwas zu schen ist wenn kein transflex tives Display verbaut wird Der Leistungsverbrauch einer CCFL Beleuchtung liegt mit 4 Watt etwa 2 3 mal so hoch wie der einer LED Beleuchtung was sich in der W rmeentwick lung niederschl gt Ein OLED w re eine alternativ gewesen allerdings war es nicht m glich dieses in ausrei chender St ckzahl sowie in der geforderten Gr e zu bekommen Aufgrund dieser Kriterien wurde sich f r die LED Variante entschieden Tab 3 2 zeigt eine Auswahl der f r das Projekt nicht in Frage kommenden Displays Aus sortiert wurden alle Displays ohne LED Hintergrundbeleuchtung sowie solche mit sehr speziellen Anschl ssen 3 Hardwareplattform 31 Tab 3 2 LCDs die den Anforderungen nicht entsprechen Die mit markierten Attribute sind f r die Nichtauswahl des LCDs verantwortlich Hersteller Hintergrund Hintergrundbeleuchtung Temp Anschluss CC Pin Ampire LED 126 mA 10 5 V 20 bis 70 24 34 Ampire LED 140 mA 42 V 20 bis 70 40 Ampire CCFL 6 mA 650 V 55 kHz 20 bis 70 40 Ampire LED 20 bis 70 24 34 Ampire LED 330 mA 10 5 V 20 bis 70 54 CTC CCFL 8 mA 710 V 35 kHz 20 bis 70 33 CTC LED 60 mA 12 4 V 20 bis 70 54 DEM LED 60 mA 13 V 20 bis 70 60 Gi Far LED 20 bis 70 50 Hantronix CCFL 20 bis 70 33 Hitachi CCFL 20 bis 70 40 Hitachi CCFL 20 bis 70 40 Hitachi LED 2
59. den Zus tzlich sind sie abh ngig von einem Parameter Die Elemente existieren nicht als Objekte an sich sondern m ssen immer wieder anhand ihrer Attribute neu gezeichnet werden aber auch Eingaben ber die GUI an das System zur ck senden Es ist somit zwangsl ufig so dass alle Parameter eine feste Struktur ben tigen um sie sp ter eindeutig mit einem Element verkn pfen zu k n nen W hrend der Ladebalken und die Textbox nur auf eine Art und Weise gezeichnet wer den k nnen gibt es bei dem Schalter eine Vielzahl von Variationen Dazu geh ren z B die Austichtung sowie diverse m gliche Schalterstellungen Die erste berlegung war ziemlich unflexibel Es wurden fertige Elemente vorausgesetzt die aufgerufen werden k nnen Diese speicherschonende L sung ist allerdings wenig flexi bel Es muss jede erdenkliche Art von Schalter vorgesehen werden Ein Schalter besteht nun nicht aus einem Element sondern aus mehreren wobei sich der aktive Teil lediglich auf die Wippe beschr nkt Bild 4 14 zeigt einen Schalter bestehend aus vier passiven Ele menten hier Linien und einem a irez der Wippe Dieses Konzept wird f r alle Elemente umgesetzt Ein Messwert ist nicht ein Element sondern besteht aus Zahl und Text als Ein heit Tab 4 2 zeigt den Entwurf f r die einzelnen Elemente Bild 4 14 Schalter 4 Software 61 Tab 4 2 Attributgr en der Elemente Die Elemente beinhalten ggf eine Vordergrund sowie Hintergrundfarbe
60. den als die Anzahl der Pixel pro Zeile bzw die Zeilen des Displays 2 Grundlagen 2 4 Touchscreen Bei einem Touchscreen handelt es sich um einen ber hrungsempfindlichen Bildschirm bei dem die Befehlseingabe f r ein Ger t ber das direkte Tasten auf Teilen eines Bildes er folgt Da der Finger o daf r verwendet werden kann wird eine Maus zur Steuerung des Zeigers berfl ssig Ein Tippen mit dem Finger oder Zeiger ist analog zum Klicken mit der Maustaste Ein System das mehrere gleichzeitige Ber hrungen verarbeiten kann ist als Mul ti Touch bekannt Es existieren verschieden Technologien zur Umsetzung dieser Funktionalit t Kapazitiv Akustisch Optisch Dispersiv Resistiv Kapazitive Touchscreens Diese Technologie nutzt die kapazitiven Eigenschaften eines mit Metalloxid beschichteten Glassubstrates Dieses in geringer st rke unsichtbare Material ist nun mit Elektroden ver bunden die sich an den R ndern des Bildschirms befinden Wird diese gleichm ig aufgela dene Schicht nun mit dem Finger ber hrt springt ein Teil der Ladung ber Aus dem Ent ladezyklus kann nun die exakte Position der Ber hrung ermittelt werden Gegen ber ande ren Technologien ist die Eingabe mittels Stift nicht m glich 10 Akustische Touchscreens Beim Surface Acoustic Wave Verfahren SAW basiert die Ber hrungsempfindlichkeit auf dem Prinzip der Oberflachenausbreitung Hierbei werden Schwingungen in der Glasober fl che erzeu
61. dnr Symbol Pin Ball Type Description Use General purpose digital input output pin LSB 412 P3 29 11 F3 I O General purpose digital input output pin Ger telD 2 416 P3 30 19 H3 I O General purpose digital input output pin Ger teID 3 408 P3 28 5 D2 I O Ger telD 1 General purpose digital input output pin 420 P3 31 25 J3 I O MSB Ger telD 4 424 A0 75 U9 I O External Memory address line 0 RAM 426 Al 79 U10 I O External Memory address line 1 RAM 428 A2 83 T11 I O External Memory address line 2 RAM 430 A3 97 U16 I O External Memory address line 3 RAM 432 A4 103 R15 I O External Memor address line 4 RAM 434 A5 107 R16 I O External Memory address line 5 RAM 436 A6 113 M14 I O External Memor address line 6 RAM 438 A7 121 L16 I O External Memor address line 7 RAM 440 A8 127 H7 I O External Memory address line 8 RAM 442 A9 131 H17 I O External Memory address line 9 RAM 444 A10 135 G17 I O External Memory address line 10 RAM 446 All 145 F14 I O External Memory address line 11 RAM 448 A12 149 C16 I O External Memory address line 12 RAM 450 A13 155 B16 I O External Memory address line 13 RAM 452 A14 159 B15 I O External Memory addtess line 14 RAM 466 SCK1 109 R17 I O Serial Clock for SSP1 Touch 470 SSEL1 115 M15 I O Slave select for SSP1 Touch 474 MISO1 123 K14 I O Master in slave out for SSP1 Touch 478 MOSI1 129 J15 I O Master out slave in for SSP1 Touch 482 WE 179 B9 O Write enable signal inverted RAM 50
62. e Textfeld Funktion drei schreibt nun formatiert in einen tempor ren String welcher bei Funktion vier in das Textfeld geschrieben wird Sind nun von der Formatierung her identische Werte in der Variablen meters n abgelegt und auch die IDs der Textfelder mit identischen Anzeigewerten hintereinander k nnen alle Felder vom selben Typ ber eine Z hlvariable aktualisiert werden Variable Seiten Da die vier variablen Seiten einen nicht bekannten Aufbau haben und es Elemente wie den Schalter gibt die eigens gezeichnet wurden ist eine differenzierte Aktualisierung n tig W hrend die Windsers sich selbst aktualisieren wenn sie einen neuen Wert bekommen wer den die ber die Nachricht WM_PAINT verwalteten Elemente nur dann neu gezeichnet wenn das Fenster berdeckt wurde Die ber WM_PAINT gezeichneten Elemente werden aktualisiert indem dem Fenster bei einer Ver nderung die Nachricht INVALID gesendet wird welche zu einer Neuzeichnung f hrt Da dies nicht allzu oft geschieht und sehr schnell von statten geht entsteht hierbei auch kein Flimmern oder Flackern des Bildes Im vorigen Kapitel wurde bereits erl utert wie Widgetelemente f r die variablen Seiten erstellt und eingebunden werden Die Aktualisierungsfunktion dieser Elemente macht sich zu nut ze dass jeder Typ Widget einen eigenen ID Bereich besitzt und eine Z hlvariable die die Anzahl der Elemente dieses Typs beinhaltet Mit Z hlvariable und Offsett des Widgertyps kann so
63. e hat gezeigt das der Speicher f r die Funktionen zu sp t reserviert wurde Ein Eingriff in die Struktur konnte dieses Problem jedoch beheben Weiterhin hat sich herausgestellt dass die Routinen f r die Eingabeverarbeitung nicht interruptf hig sind Die Touch Funktionalit t wurde Hardwarem ig implementiert und Softwarem ig getes tet Da zu Beginn des Projektes diese jedoch noch nicht feststand wurde drauf verzichtet die auf der Tastatureingabe bestehende Men f hrung nochmal umzustellen Die Funktio nalit t des Touchscreens wird zu einem sp teren Zeitpunkt in das Symap Compact einflie en um kosten f r die Hardware zu reduzieren Zum jetzigen Zeitpunkt ist eine Steuerung per Finger oder Stift nur innerhalb der Men strukturen m glich Da die Platine fertig entworfen ist wird nach der Best ckung mit der CMA302 weitergear beitet werden Bis zu diesem Zeitpunkt wird der LED Treiber an einem Evaluationboard getestet um das Display optimal anzusteuern Auf der Softwareseite ist das n chste Ziel Parameter am Computer zu erstellen und via USB auf das Ger t zu laden und zu verteilen Der gesamten grafischen Bereich soll fertig gestellt werden Die variablen Seiten haben da bei die h chste Priorit t Die Einstellung des Ger tes wird in der ersten Version lediglich ber externe Software m glich sein Erst im laufe der Zeit soll eine Parametrierung am Ger t selber m glich wer den 76 Literaturverzeichnis 1 Etsch
64. em werden noch weitere Elemente hinzukommen Die Anzahl der ben tigten Elemente wurde gro z gig auf 200 gesch tzt Da es sich dabei um eine Vielzahl von unterschiedlichen Elementen Handeln kann erscheint es sinnvoll die se in einem festen Format in dem Speicher abzulegen Diese Vorgehensweise w rde eine aufwendige Speicherverwaltung vermeiden 4 Software 62 4 3 1 Elementstruktur Um die Verwaltung der Elemente m glichst einfach zu halten bietet es sich an daf r feste Strukturen anzulegen Ein Element beinhaltet neben den Koordinaten Attribute f r Far ben Strichst rke ggf zu koppelnde Ereignisse und Seitennummer Eine Struktur f r die Elemente k nnten ausschen wie in Bild 4 15 wobei nun das Attribut ID hinzukommt wel ches noch genauer erl utert werden wird Schalter Textelement ID ID x1 y1 Schalter ID Text Bild 4 15 Elementstruktur ohne Event Text Anpassung Hierbei sollen Farb Attribute Parameter Text informationen Strichst rke etc in Reserve Attribute Attribute dem Element Attribute unterge bracht werden Geht man nun von einer Gr e von 2 Byte pro Feld aus ergeben sich bei 200 Elementen 200 16 Byte 3 125 kByte Da eine zeitaufw ndige Speicherverwaltung erspart werden soll m ssen f r die Elemente feste Speicherbereiche festgelegt werden Da nicht ersichtlich ist wie viele Elemente eines Typs existieren m ssten f r jeden Elementtyp 200 Elemente angelegt werden was zu ungenutzten Spe
65. en Tastatur F r die Tastatur werden die interruptf higen PINS von Port 0 verwendet Hierf r m ssen lediglich die Register I00 INT EN F und IOO_INT_EN_R beschrieben werden welche die steigende bzw fallende Flanke f r die Ausl sung des Interrupts einstellen Es besteht allerdings das Problem dass sich der LCD Controller und die Interrupt f higen GPIO B nke den selben externen Interrupt teilen LCDDVD 19 LSB Blau l st somit st ndig Interrupts aus Ein einmaliges setzen von EXTINT 1 lt lt 3 behebt diese Problem aller dings RTC Die Konfiguration der Real Time Clock l sst sich in Kapitel 26 nachlesen ber das PCLKSELO Register l sst sich der im Wizard eingestellte Vortakt Prescaler ermitteln Im PCONP Register an der Stelle neun l sst sich nun die RTC einschalten Die RTC kann einen Interrupt ausl sen Dies Funktion wird in dieser Anwendung allerdings nicht ben tigt Der Interrupt ist einstellbar ber das Register RTC_CIIR ber das RTC_CCR l sst sich die RTC ein und ausschalten Nun m ssen nur noch die Prescaler speziell f r die RTC eingestellt werden Dies geschieht ber die Register RTC_PREINT und RTC_PREFRAC Deren Werte ber eine Formel aus der Bedienungsanleitung berechnet werden m ssen 13 Quellcode LCDConf c LCDConf h 14 Quellcode gpio c gpio h 15 Quellcode RTC c RTC h 3 Hardwareplattform 39 CAN Die CAN Initialisierung geschieht ber die Register CANIBTR CANIIER
66. en 2 7 1 emWin Bei emWin handelt es sich um eine in ANSI C geschriebenen Software Bibliothek Der Code ist einsehbar und bietet somit die n tige Flexibilit t das Programm an die Gegeben heiten anzupassen Die Firma SEGGER gibt an dass ihr emWin auf jedem System mit jedem Controller und jedem Display funktionst chtig ist Das Paket beinhaltet neben grundlegenden Funktionen wie dem Zeichnen von Linien und Polygonen optimierte Darstellung von Werten und Schriftzeichen Es werden diverse Ein gabem glichkeiten unterst tzt Eine Erweiterung sind die sogenannten Widgets Hierbei handelt es sich um eine Reihe von vorgefertigten Modulen wie Dialogboxen Tasten oder Ladebalken welche einem ein typi sches vom PC gewohntes Aussehen vermitteln Ein Vorteil der Widgets ist dass sie sich sel ber neu zeichnen wenn dies erforderlich ist oder automatisch gel scht werden wenn das Fenster an dem sie h ngen gel scht wird Dies f hrt zu einem geringeren Verwaltungsauf wand Diese Eigenschaften werden im Laufe dieser Arbeit erl utert Wird ber die Arbeit mit den grundlegenden Elementen hinausgegangen ist es n tig ob jektorientiert zu denken F r jedes darzustellende Modul sei es ein Fenster oder ein ganzer Dialog werden sogenannte Handle erstellt Dem Handle werde nun Attributen Verhaltens weisen oder weitere Module zugewiesen welche in einer Vater Kind Hierarchie za verstehen sind Ein Vater kann mehrere Kinder besitzen welche wiede
67. en dass es sich um ein Ger t f r die Industrie handelt welches bei einer solchen Steuerung sehr leicht verschmutzen k nnte Nach einer ersten Serie von Ger ten mit Tastatur ist eine weitere mit Touch Funktionalit t gew nscht um Kosten zu reduzieren Der erste Schritt der Entwicklung soll nur darstellende Elemente enthalten Eine Parame trierung erfolgt hierbei lediglich ber einen extern angeschlossenen Computer Im n chsten Schritt wird dann die Parametrierung ber das Men erm glicht es m ssen somit austel chend Ressoutcen zur Verf gung stehen und die Struktur f r die Parametrierung geschaf fen werden 23 Entspricht einer Aufl sung von 320 x 240 Pixel 4 Software 48 4 2 1 Aufbau Symap Vorg nger Der Vorg nger des Symap Compact hat einen linearen Aufbau Wird die Taste ENTER MENU gedr ckt werden den Tasten F7 F4 die in Bild 4 4 dargestellten Funktionen zuge teilt Ein Dr cken der entsprechenden Taste f hrt nun zu weiteren Untermen s oder ggf auf andere spezielle Seiten ENTER MENU Bild 4 4 Ausschnitt aus der Men struktur des Vorg ngermodells ber die Taste F7 kommt man nun in den Unterpunkt Display welcher wiederum in drei ber die F Tasten zu erreichenden Seiten eingeteilt ist W hlt man nun eine dieser Seiten an bekommt man eine Auswahl an Messgr en zur Veranschaulichung s Bild 4 5 Hierbei bleibt auf der rechten Seite eine vom Benutzer g
68. en soll k nnen damit Datenleitungen im Vergleich zu einem parallelen Flash eingespart werden 3 3V 3 3V vC1 2 vC1 2 RSTOUT bag GND1 Bild 3 3 M45PE80 Serieller Flash 11 http www micron com 3 Hardwareplattform Bei der Tastatur handelt es sich um einfache Taster welche mit Pullup Widerst nden ber zwei Treiberbausteine mit den interruptf higen GPIO Eing ngen des Controllers verbun den werden Somit entf llt ein Polling der Eing nge denn bei jedem Tastendruck wird ein Interrupt ausgel st Bei den 16 Bit Treibern welche zus tzlich auch zwischen LCDC und LCD geschaltet wer den handelt es sich um den SN74LVC16245A von Texas Instruments Die verwendete Beschaltung f hrt zu einem stabilisierten Signal von Bus A zu Bus B Der erste Lautsprecher ist eine Hupe welcher sich ber den Transistor BSP295 ein und ausschalten l sst Der zweite Lautsprecher h ngt an dem Verst rker LM386M welcher an einem DAC Ausgang des Controllers angeschlossen ist s Bild 3 4 a Der Spannungsteiler am Eingang erm glicht eine maximale Aussteuerung des Verst rkers ber den DAC des Controllers Pin 1 und 8 werden offen gelassen was eine Verst rkung von 20 zur Folge hat s Bild 3 4 b a m b 50V C65L C66 zs 100uF T 100nF 16V 50V TFT D BSP295 S r7 ENDI p c O64 R27 100nF 10k 50V R29 L w ll DND GND1 H H1 C68 XAXKXXK KKH LK 33nF Lautsprecher 50V
69. enberger Konrad 2002 Controller Area Network 3 Aufl M nchen Wien Catl Hanser Verlag 2 Lawrenz Wolfgang 2000 CAN Grundlagen und Praxis 4 Aufl Heidelberg H thig GmbH 3 Seal David 2001 ARM Architecture Referenz Manual 2 Aufl Glagow Addison Wisley 4 Embedded Artsists 2008 OEM Base Board User Manual 5 Hitex 2009 Insiders Guide LPC2300 2400 6 NXP 2009 UM10237 LPC24XX User manual 7 NXP B V 2008 Datenblatt LPC2478 Rev 01 8 Segger 2008 User s reference manual for emWin N 4 18 9 Stucke Elektronik GmbH 2008 SYMAPO Bedienungsanleitung 10 Atterer Richard 18 04 2007 Touch Screen Technologien M nchen Ludwig Maximilian Unsiversit t http www medien ifi Imu de lehre ws0607 mmil essays Nihad Zehic xhtml 11 Boccella Daniela Krechel Verena 06 07 2009 LCD Facharbeit http bbsw koblenz de fachbereiche klassen fsi2003 TFT htm 12 Embedded Software 06 07 2009 emW in www segger com http www segger com cms emwin html 13 Eye Q 03 07 2009 Injrarot Touch Willich Anrath http www eye q de infrarot_touch html 14 IT Lexikon 05 06 2009 ARM advanced RISC machine DATACOM Buchverlag GmbH http www itwissen info definition lexikon advanced RISC machine ARM ARM Prozessor html 15 PCMAG COM 03 08 2009 transmissive LCD Ziff Davis Publishing Holdings Inc http www pcmag com encyclopedia term 0 2542 t transmissivet L
70. er verwendet welcher die Befehle in Echtzeit umwandelt Wird der Thumb Befehlssatz be nutzt so werden die Instruktionen zun chst von dem eingebauten Thumb instruction de coder in den 32 Bit ARM Befehlssatz umgewandelt und erst danach ausgef hrt Dieses ge schieht in Echtzeit ohne Geschwindigkeitsverlust Der Thumb mode hat so alle Vorteile einer 32 Bit CPU wie 32 Bit Adressbereich 32 Bit Register 32 Bit Schieberegister und ALU sowie 32 Bit Speichertransfer Dieser reduzierte Befehlssatz erm glicht es nun die Codegr e um ca 1 3 zu reduzieren und bei einem 16 Bit Speichersystem die Durchsatzrate um 160 zu erh hen Es besteht jedoch der Nachteil das die Anzahl der verf gbaren Register reduziert wird Es stehen nur die Register 10 bis r7 zur Verf gung Der Stackpointer SP wird in Register 113 abgelegt Register r15 beinhaltet nun den Programm Counter PC 3 2 Grundlagen 2 2 LPC2478 Der LPC2478 Mikrocontroller von NXP basiert auf einem ARM7TDMI S Kern Der Pro zessot kann mit bis zu 72 MHz getaktet werden wof r ein 12 MHz Quarz verwendet wird F r die RTC Real Time Clock ist ein 32 768 kHz Quarz vorgesehen Neben der industri ellen Anwendung findet man die LPC24xx Reihe unter anderem in medizinischen Syste men Mobiltelefonen PDAs Protokoll Konvertern und Routern 7 TMS TDI trace signals TRST TCK TDO Vssa Vssio VSSCORE VDD DCDC 3V3 PO P1 P2 B 512k8 TEST DEBUG P3 P4 M F
71. er aktive Telegramm durch das Senden von sechs dominanten Bits bewusst die Regeln des Bitstuffing verletzt um die Teilnehmer auf dem Bus neu zu initialisieren Das Overload Frame hat den Aufbau eines Fehlertelegramms es wird gesendet wenn ein Knoten noch nicht bereit ist neue Daten zu empfangen 2 2 Grundlagen 11 2 2 3 LCD Controller Ein Grund f r die Auswahl des LPC2478 war der fest integrierte LCD Controller Da kein internet Bildspeicher vorhanden ist verf gt der Controller ber ein AHB Interface um di rekt auf den externen RAM zuzugreifen welcher dem Controller als Bildspeicher dient Zut Pufferung der Bilddaten stehen 16 programmierbare FIFOs mit einer Breite von 64 Bit zur Verf gung welche die langsame Geschwindigkeit des externen Speichers ausglei chen 4 LCD Control Timing signals controller 3 LCD panel m Panel dock generator LCDCLKIN Y Y RAM Palette 128x32 Y Pixel serilizer Upper STN Hardware Cursor FIFO underflow AHB error gt Interrupt ke Interrupt gt generation Bild 2 6 Interner Aufbau des LCD Controllers im LPC2478 In Bild 2 6 ist der interne Aufbau zu erkennen Der Controller unterst tzt eine ganze Reihe von Displaytypen Dazu geh ren Singel und Dual Panel STN Super Twisted Nematic Farb displays mit 4 oder 8 Bit Interface TF
72. es erzeugen k n nen ist eine ausreichende Beleuchtung n tig Hierbei wird in reflektiv transflektiv und trans massive Displays unterschieden Bei den transmassiven Displays bleibt ohne eingeschaltet Hin tergrundbeleuchtung das Bild dunkel w hrend die reflektiven Displays das einfallende Tages oder Kunstlicht als anteilige Reflexion als Lichtquelle nutzen Die transmassive Variante ver einte beide Eigenschaften indem bei unzureichender externen Beleuchtung eine zus tzliche Hintergrundbeleuchtung dazu geschaltet wird 15 TFT Bei den TFT Monitoren wird ein d nner mit Transistoren beschichteter Siliziumfilm ber die gesamte Bildfl che gelegt Hierbei bekommt jeder Pixel einen Transistor zugewiesen Diese auch aktive Matrix genannte Vorgehensweise f hrt zu dazu dass einzelne Pixel sehr schnell angesprochen werden und k nnen somit Bild nderungen schneller verarbeitet wer den Dies ist der Hauptvorteil anderen Displays mit einer passiven Matrix gegen ber Denn die Steuerspannung der Pixelpunkte sinkt bei einer passiven Matrix mit der Anzahl der Pi xel bzw der Anzahl der Zeilen und Spalten Dies f hrt dazu dass passive Matrizen in ihrer Gr e begrenzt sind Eine Erh hung der Spalten und Zeilenanzahl bei Verringerung der Bildpunktgr e f hrt zu einer Erh hung der parasit ren Kapazit ten Wird ein lokaler Ver st rker mit separater Stromversorgung eingesetzt k nnen dennoch schnelle Umschaltzeiten f r eine Hohe Bildfrequen
73. ew nschte Grafik erhalten und auf der linken w rden die Messwerte dargestellt werden Es besteht in diesem Fall zus tz lich die M glichkeit jeden der anderen beiden Men punkte auszuw hlen Overview Current meters Voltage meters Power meters Counter Ground values Harmonic waves METERS Frequency meters Analog inputs SAS Display setting display of selected graphic Bild 4 5 Men struktur des Vorg ngermodells 4 Software 49 Die Displayseiten beinhalten auch noch den Sonderfall dass sich diese auch direkt ber die F Tasten von der Hauptseite aus darstellen lassen Sie sind somit ber die Men struktur an w hlbar oder ber die F Tasten durchzuschalten Der Men punkt Control f hrt nach einer Passwortabfrage zu drei Seiten mit verschiedenen Einstellungsm glichkeiten f r das System Bei diesen besteht allerdings nicht mehr die M glichkeit von einer einmalig angew hlten Seite zu einer anderen des Men punktes Con trol zu wechseln Die Men struktur beinhaltet somit 1 Auswahllisten die auf Seiten f hren die den halben oder ganzen Bildschirm ausf llen Men unterpunkte die Querverweise zu anderen Men bereichen haben Seiten mit darzustellenden Objekten Seiten mit Objekten f r Interaktionen Passwortabfragen Six EU Ze CQ T Seiten nur f r den Service auf die der User keine Zugriff hat An dieser Stelle sollte nur der generelle Aufbau des Men s veranschaulicht werden Des Weiteren gib
74. fferen zierte Auswahl zu treffen Hierbei sollte in erster Linie darauf geachtet werden dass ein Displaytyp gew hlt wird der eine gro e Anzahl an identischen Anschlussm glichkeiten be sitzt Dies erm glicht es im Notfall auf einen anderen Displaytyp zu wechseln Au erdem ist die Helligkeit und der Kontrast sehr wichtig wobei nach Aussage der Distri butoren eine Helligkeit von 250 cd m genug sein sollte da das Display ausschlie lich in geschlossenen R umen Verwendung findet Es gibt zwei Arten von Hintergrundbeleuchtungen die f r das Ger t in Frage kommen k nnen 1 LED 2 CCFL Die Variante mit LEDs als Hintergrundbeleuchtung hat den Vorteil dass die Helligkeit bis zur vollst ndigen Dunkelheit dimmbar ist Allerdings altern die Bauelemente bei hohen und sehr tiefen Temperaturen schnell Das hei t die angegebene Zeit von beispielsweise 50 000 Stunden kann nicht mehr garantiert werden da sich diese Zeitangabe meist auf eine Temperatur von ca 25 C bel uft Somit w re im Schiffsbereich sicherlich eine CCFL Hin tergrundbeleuchtung angebrachter Der Nachteil an dieser Beleuchtung ist die H ufigkeit der Ein und Ausschaltvorg nge welche die Lebensdauer der R hre reduziert sowie die Helligkeit die nur bedingt dimmbar ist etwa auf max 20 30 der Helligkeit Die Schalt spiele der Lampe k nnen umgangen werden indem man die Helligkeit auf das Minimum reduziert Dadurch wird die Lebensdauer erh ht Zus tzlich ist auch no
75. ffnet ein amerikanisches B ro im Westminster Massachusetts SEGGER bringt ein neues Hardware Produkt innerhalb des J Verbindungserzeugnisses auf den Markt J Spur ein JTAG Emulator einschlie lich der Spur Unterst tzung a bersetzt von http www segger com about overview html 23 06 2009 Anhang A2 Elementstruktur typedef struct union struct Switeh 7 U32 yl 9 yl koord U32 x1 10 i koord U32 id 4 GrafikID U32 state 2 Every switch gets 1 drawing for each position the first gets a 1 for state the 2nd a 0 U32 blink 1 Element blinking ES U32 screen 2 Screen Number U32 type gt 4 Typidentification zi U32 y2 OF y2 koord T U32 x2 10 x2 koord 7 U32 strength 3 Pen size tf U32 bgcolor 5 Backgroundcolor U32 fgcolor 5 Foregroundcolor U32 param 16 Link to Parameter U32 num 16 Elementnumber Ef e switch struct Line U32 yl 9 yl koord U32 x1 10 xl koord y U32 reserve 7 Reserve ES U32 screen 2 Screen Number U32 type 4 Typidentification 2 U32 y2 9 y2 koord U32 x2 10 Z x2 koord Ef U32 strength 3 Pen size U32 bgcolor 5 Backgroundcolor T U32 fgcolor 5 Foregroundcolor EL U32 reserve2 16 Reserve tf U32 Num 16 Elementnumber e line struct rect U32 yl Y yl koord U32 x1 107 JE x
76. gt die sich mit einer genau definierten Geschwindigkeit ausbreiten Wird nun das Panel ber hrt ver ndern sich diese Schwingungen was zu einer exakten Lokalisierung f hrt Der Vorteil liegt in der potentialfreien Oberfl che Die Ber hrung wird nur ber das Glas registriert was zu keiner optischen Ver nderung des Bildschirms f hrt Auch f hren Kratzer zu keinem Ausfall der Funktionalit t 10 Infrarotlicht Bei dieser Technologie wird von LEDs erzeugtes Licht auf der gegen berliegenden Seite des Panels erkannt Eine Unterbrechung des Lichtstrahls f hrt zu einer X Y Koordinate f r die Ber hrung 13 DST Die Dispersive Signal Technology basiert auf dem Ansatz dass Ber hrungen Vibrationen auf dem Tragermaterial erzeugen Wird das Glas ber hrt wird die Vibrationsenergie ge messen und mittels Dispersionsanalyse ausgewertet Diese Technologie sticht durch seine Fehlsicherheit hervor ein Ablegen eines Gegenstandes auf dem Ger t bei gleichzeitiger Eingabe ist m glich da ein ruhender Gegenstand keine Vibrationsenergie erzeugt 10 2 Grundlagen 16 Analog resistive Touchscreens Bei dieser Technologie werden zwei Schichten aus einem transparenten halb leitenden Ma terial bereinander gelegt Die zwei Schichten werden durch Spacer Dots voneinander ge trennt An die zweite Schicht wird eine Gleichspannung angelegt Ein Druck auf diese Schichten f hrt nun zu der Entstehung eines Elektrischen Kontakts ber den Widerstand
77. henfolge Men Handle Men punkt Zustand Die In formationen sind in der Datenstruktur vorhanden Dies ist von Bedeutung da es Elemente wie die des Contro Men s gibt die erst ber ein Passwort zug nglich gemacht werden sol len Die Message MENU_ON_ITEMPRESSED tritt aber in jedem Fall auf auch wenn das Objekt ausgegraut wurde und bietet somit die M glichkeit eine Passwortabfrage einzubau en indem eine Aktion stattfindet nachdem das ausgegraute Objekt angew hlt wird 4 Software Z MENU ON ITEMACTIVATE Diese Nachricht wird genutzt um in der Statuszeile eine Information ber den angew hlten Men punkt zu zeigen Sind die IDs in der selben Reihenfolge definiert wie die dazugeh ri gen Statustexte ist eine einfach Darstellung ber die ID Nummer moglich in dem in Ver bindung mit einem Offset ber die ID direkt die dazugeh rige Nachricht ausgew hlt wird SS MENU ON ITEMSELECT ber eine Abfrage der ID wird selektiert welcher Men punkt ausgew hlt wurde Die ent sprechende Seite wird daraufhin ge ffnet oder eine Aktion gestartet Das Men wird erst aufgerufen nachdem die ENTER Taste gedr ckt wird und baut sich jedes mal in der Form auf dass nur die f r den Benutzer zug nglichen Men punkte sicht bar sind wobei sich die Unterpunkte der jeweiligen Hardwarekonfiguration anpassen ber bestimmte Passw ter lassen sich weitere Men punkte f r Konfiguration und Service frei schalten Die Struktur des Men punktes Sett
78. hrung des Bildschirmes oder den Informationen ber ein eingetroffenes CAN Frame gef llt Dies findet nut zu Debugzwecken statt Alle 100 ms wird abgefragt ob eine Taste gedr ckt wurde und die Anzeige aktuali siert Alle 250 ms wird die aktuelle Seite mit den aktuellen Messwerten oder Parametern aktualisiert Alle 500 ms wird der Systemstatus gepr ft Jede Sekunde geschieht eine berpr fung des CAN sowie eine Aktualisierung der dargestellten RTC Au erdem wird der Watchdog gef ttert Echtzeituhr Die Echtzeituhr kann mit Zeit und Datum initialisiert werden und wird haupts chlich be n tigt um Ereignissen im Verlauf einen Datumsstempel f r eine sp tere Diagnose zu ge ben Einmal initialisiert und konfiguriert arbeitet die RTC als eigenst ndige Komponente 20 Quellcode main c rtos c rtos h 4 Software CAN Tritt eine CAN Nachricht ein wird ein Interrupt ausgef hrt der nach einer Abfrage um welchen BUS es sich handelt es sind zwei CAN Busse vorgesehen eine Funktion aufruft die die CAN Nachricht in eine Warteschlange schreibt Die Warteschlange wurde vorerst mit einer Gr e von 20 definiert Sp tere Tests mit dem Endger t werden ergeben was f r eine Gr e angemessen sein wird Mit jeder Nachricht in der Warteschlange wird ein Z hler inkrementiert Die in der main Funktion beim Erhalt einer oder mehrere Nachrichten zyklisch aufgerufene Funktion CANT get rx queue erm glicht nun
79. ich die Aufgabe zwischen den benutzerspezifischen Seiten zu wechseln Zus tzlich ist eine Standartseite vorhanden falls der Benutzer keine spezifische Seite w nscht Au erdem gibt es die M glichkeit die Seiten direkt ber das Men anzuw hlen wobei nur die im bereits erl uterten Bitfeld freigeschalteten Seiten anw hlbar sind Selbiges gilt auch f r das Wechseln ber die F3 Taste Der Aufbau einer Seite ist in diesem Fall nur von der Callbackfunktion abh ngig Jede Seite wird in dem selben Fenster gezeichnet welches ein Client vom Clientsfenster des Haupt fensters ist Beim erstellen eines neuen Fensters wird das Alte gel scht was zu einem voll st ndigen L schen aller evtl offenen Fenster f hrt Es ist somit beim Aufruf einer neuen Seite nicht n tig zu wissen welche Seite vorher ge ffnet wurde Alle Callbackfunktionen der Prozessseiten sind in einem Funktionsfeld eingetragen Beim Aufruf einer dieser Seiten ist nun anstelle der Callbackfunktion das Array eingetragen wo bei die Stelle im Array der aufzurufenden Seite entspricht Die Folgende Definition zeigt das Array static void ptr2cbProcess 11 WM MESSAGE cbMainWin cbUserWin cbUserWin cbUserWin cbUserWin cbEngine cbPower cbLoad cbPM cbSync cbBreaker Die Funktion wird als Static deklariert da sie nur in dieser einen Datei bekannt sein muss Der Typ ist ein Pointer auf eine Funktion mit dem bergabeparameter WM MESSAGE Somit kann durch p r2
80. icher f hrt Die L sung des Problems ist eine UNION Somit belegen alle Elemente den selben Speicherbereich nur das durch die Strukturen unterschiedlich auf sie zugegriffen werden kann Da die Elemente jetzt den selben Speicherbereich belegen ist nun eine Typidentifikation notwendig die darauf schlie en l sst um welches Element es sich handelt Im Verlauf der Arbeit ist noch eine Elementnummer dazu gekommen um ggf auch ein Element eindeutig identifizieren zu k nnen Wird nun zu einem sp teren Zeitpunkt beschlossen den Speicher dynamisch zu verwalten ist hierf r lediglich die Gesamtzahl der genutzten Parameter notwendig Aufgrund der gew hlten Struktureinteilung bleiben viele Bits der Struktur allerdings unge nutzt was den Speicherverbrauch einer Struktur unn tig vergr Dert Eine Verschiebung und Gr enanpassung innerhalb der Struktur ist somit notwendig Bild 4 16 zeigt die ef fektive Nutzung des Speichers innerhalb einer Struktur Ein Element der Struktur ben tigt nur noch 12 Byte Speicher Somit konnte der Speicherverbrauch von 16 Byte auf 12 Byte bei 200 Elementen somit von 3 125 kByte auf 2 4 kByte reduziert werden 4 Software 63 b typedef struct union struct linie struct Text Um schalter Text struct Text Attribute MA textelement elemente ELEMENTSTRUKTUR Bild 4 16 Optimierte Elementstruktur a Schaubild b Beispielcode Diese Form der Formatierung f hr
81. ie Displaydaten n tig Es hat allerdings gereicht eine Abschirmung des Kabels mit Aluminium zu verwenden Bild 3 10 OEM Base Board mit Verkabelung Der Testaufbau ist in Bild 3 10 als Blockschaltbild zu erkennen Der 50 polige Stecker zum Adapter wurde aufgrund der Bauweise des Steckers auf dem OEM Base Board gew hlt CAN OEM Base Board QVGA v1 1 a 3 Adapter LCD Touch Bild 3 11 Blockschaltbild des Tes taufbaus Tastatur 3 Hardwareplattform 37 3 4 Konfiguration der Peripherie Der Prozessor hat in der angedachten Konfiguration intern den im Bild 3 12 ersichtlichen Aufbau Hierbei wurden Komponenten wie Horn Touch oder EMC der bersichtlichkeit halber weggelassen LPC 2478 VO CAN Interface Grafikroutinen Libary SEGGER Hauptprogramm a LCD Treiber Tastatur Treiber LCD Controller Bild 3 12 Blockschaltbild der Module im LPC2478 Es ist also eine Reihe von hardwarespezifischen Konfigurationen des LCP2487 n tig um die Peripherie anzusteuern Hierzu geh ren folgende Komponenten LCD Controller Tastatur CAN Horn EMC RTC System Funktionen Clock Setup Heap Stack Prescaler Ein Teil der Komponenten wie der EMC und die System Funktionen System Funktions lassen sich ber den Configuration Wizard einstellen Es werden an die
82. ie Kommunikation der GU mit dem Rest des Systems lediglich ber den CAN Bus stattfindet ist es n tig ein Protokoll zu entwickeln welches die bis zu 10000 m glichen Parameter verwalten kann ohne wichtige Kommunikation die Messungen bzw den Schutz betrifft zu blockieren Mit dem Standard Protokoll stehen 2048 verschiedene Identifier zur Verf gung Jedoch ist es m glich mit jedem Frame bis zu 4 Byte an Daten zu verschicken Kombiniert mit der berlegung die anzuzeigenden Messwerte in Prozenten zu bertragen haben diese nun eine feste Gr e von 2 Byte Somit bleiben die restlichen 2 Byte f r ein Unterprotokoll zur Verf gung welches pro Frame theoretisch 65533 M glichkeiten bietet die Daten zu unter scheiden Der Vorteil gegen ber dem 29 Bit Identifier besteht darin dass der Overhead Pro Frame sich nicht vergr ert Da ein Teil der Messwerte f r die Schutzfunktionen ben tigt wird macht es durchaus Sinn diese zyklisch ber den Bus zu senden Hierf r wurden 100 ms angesetzt F r die Anzeige w ren 250 ms ausreichend ein doppeltes Senden erscheint allerdings unn tig Die Mess werte werden direkt mit Bezug auf den Nominalwert umgerechnet und in einem float Feld abgespeichert Die Werte habe in der Regel eine Nachkommastelle Auf den Gro teil der Parameter wird jedoch bei Einstellungs nderungen am Ger t zuge griffen was nach einer Installation eher selten der Fall sein wird Diese werden somit nur auf Anforderung ber den B
83. ings orientiert sich an der f r das Symap Com pact gegebenen Struktur aus Anhang B8 Men struktur Settings CD MULTIPAGE Der Men punkt Display f hrt nun auf eine Multipage wie in Bild 4 9 zu sehen indem ber die Funktionen 1 hMutltipageDisplay MultiPage 2 MULTIPAGE SelectPage hMutltipageDisplay 0 die Multipage generiert wird sowie der gew nschte Reiter ausgew hlt Das dynamische Erstellen der Multipage geschieht indem zuerst der Rahmen an das aktu elle Fenster geh ngt wird sowie Gr e Koordinaten und ID festgelegt werden Nun werden nacheinander drei Dialoge bestehend aus Fenster sowie Text und Listbox als Seiten an das Clientfenster der Multipage geh ngt Jeder Dialog besitzt eine eigene Call backfunktion mit der f r den Dialog individuellen Initialisierung Innerhalb dieser Initiali sierung wird dynamisch der Inhalt f r die Listbox generiert Dies geschieht mit Hilfe der Funktion GUI ConstString genarray U8 len const char strmatr U32 selA mit U8 len Die gew nschte Sprache const char strmatr Zeiger auf die String Matrix U32 selA Bitfeld f r den Aufbau Diese Funktion generiert dem Bitfeld entsprechend ein Feld bestehend aus Strings f r die gew nschte Seite Dabei wird der Inhalt des Arrays aus einem mehrdimensionalen String Feld geladen welches die Eintr ge in einer beliebigen Anzahl von Sprachen enthalten kann Als erstes werden die Parameter f
84. ister EMCDynamictXSR Dynamic Memory Active Bank A to Active Bank B Time Register EMCDynamicRRD Dynamic Memory Load Mode Register to Active Command Time EMCDynamictMRD Configure External Bus Behaviour for Dynamic CSO Area v Dynamic Memory Configuration Register EMCDynamicConfig0 Dynamic Memory RAS amp CAS Delay register EMCDynamicRASCASO Bild 3 13 EMC Konfiguration Ist der externe Speicher nun durch den EMC in das System eingebunden l sst er sich auch in die Speicherverwaltung des Compilers einbinden Hierf r muss in den Options for Target GU uVision3 gt Project Options for Taget die Startadresse und die Gr e des Speichers angegeben werden In diesem Fall wird die Startadresse bei 0x 40025800 gesetzt da die ers ten 153600 Byte f r den Bildspeicher des LCD Controllers ben tigt werden 16 Quellcode Can c can h 3 Hardwareplattform Der externe Speicher hat eine 16 Bit Datenanbindung Der Speicher wird f r Daten und zus tzlich als Bildspeicher f r den LCD Controller genutzt Dies hat zus tzliche Zugriffe zur Folge Die Auslastung des Prozessors wird durch das DMA Interface des LCD Con trollers zwar verringert jedoch greifen beide Komponenten immernoch mit dem gleichen Bus auf den Speicher zu Horn F r die Ansteuerung des Beepers wird lediglich ein Pin als Ausgang ben tigt Der Verst rker f r den Lautsprecher wird ber einen DAC angesteuert Der Prescaler l sst sich ber den Wiza
85. it updateFakt aufgerufen s Bild 4 21 Wenn ein neues Fenster ge ffnet bzw erstellt wird wird einmalig beim Erstellen des Fensters der entsprechende Zeiger aus dem Feld auf den Funktionszei ger vom selben Typ kopiert welcher zyklisch die Funktion im Hauptprogramm aufruft Es ist somit nicht n tig zu wissen welches Fenster ge ffnet ist da immer die richtige Funktion ausf hrt wird 4 Software Men Das Aktualisieren der dargestellten Werte geschieht ber zus tzliche Funktionen Da die darzustellenden Werte alle hintereinander im Speicher abgelegt sind und auch die IDs der Elemente alle durchnummeriert wurden ist es m glich diese teilweise ber for Schleifen zu aktualisieren Ob dies m glich ist oder nicht h ngt davon ab ob die Ausgaben eine identi sche Formatierung haben Ein Beispiel w re eine Seite mit 10 Messwerten davon haben vier insgesamt f nf Stellen wovon zwei Nachkommastellen sind Die restlichen sechs sind ganzzahlig Somit k nnen in zwei Schleifen alle Messwerte aktualisiert werden Die folgenden Codezeilen veranschauli chen die Funktionsweise anhand eines Wertes 1 hClient WM GetClientWindow hMainWin 2 hText WM GetDialogItem hClient IDFREQ i 3 sprintf buff 22 2f meter i 4 TEXT SetT xt hText buff Im ersten Schritt wird hierbei der Handle f r das aktuelle Fenster abgespeichert in Schritt zwei der Handle f r das zu aktualisierend
86. kationen des SYSMAP Compact verglichen Dabei f llt auf dass die verschiedenen Displays untereinander nicht kompatibel sind s Anhang B6 Abmessungen LCDs CD Der erste Entwurf der Grafikkarte beinhaltete Anschluss und Befestigungsm glichkeiten f r die 33 und 40 Poligen Displays Hierf r wurde eine Zwischenplatine entworfen auf der die M glichkeit besteht die Bohrung f r das verwendetet Display anzupassen Eine Analyse der Attribute und Preise hat jedoch ergeben dass auf die 40 Poligen Anschl sse verzichtet werden kann da keine signifikanten Unterschiede der Displays bestehen Die Zwischenpla tine wird jedoch beibehalten um Flexibilit t zu gew hrleisten 3 Hardwareplattform 33 LCD Hantronix Die Aufl sung und die Pixelabst nde sind bei allen Modellen nahezu identisch was zu ei ner gleichm igen Sch rfe bei allen Bildschirmen f hrt Der Eindruck eines Displays unter scheidet sich wenn ein mattes oder ein gl nzendes Panel verwendet wird W hrend ein gl nzendes Display lediglich Geschmackssache ist hat das Testen der Panels signifikante Unterschiede der einzelnen Displays ergeben Bei den g nstigen Varianten m ssen Abstriche in verschiedenen Bereichen vorgenommen werden Das Display von URT welches zu den g nstigsten Vertretern geh rt hat zwar einen akzep tablen Kontrast jedoch ist es nicht allzu hell in Kombination mit einem Touch welches das Display noch dunkler erscheinen l sst ist es nur in seh
87. l koord U32 filled i 17 f Filled NA U32 reserve 6 Reserve 7 U32 screen 2 Screen Number U32 type 4 Typidentification 3 U32 y2 2 9 JF y2 koord U32 x2 105 x2 koord A U32 strength 3 Pen size dA U32 bgcolor 5 Backgroundcolor Ef U32 fgcolor 5 Foregroundcolor AS 83 U32 reserve2 U32 Num e rect struct U32 yl U32 x1 U32 type U32 y2 U32 x2 U32 Num U32 filled U32 rotation U32 reserve U32 screen U32 strength U32 bgcolor U32 fgcolor U32 reserve2 e triangle struct U32 yl U32 x1 U32 type U32 x2 U32 filled U32 reserve U32 screen U32 reserve2 U32 strength U32 bgcolor U32 num e cyrcle struct U32 yl U32 x1 U32 id U32 type U32 font U32 num e mvalue U32 fgcolor U32 reserve3 U32 screen U32 reserve U32 bgcol U32 fgcol or or U32 param Lo s167 16 16 fr JR JE JR JAR Je y JR JE fr JE Reserve Elementnumber triangle yl koord xl koord Filled Rotation 0 0 01 90 Reserve Screen Number Typidentification 4 y2 koord x2 koord Pen size Backgroundcolor Foregroundcolor Reserve Elementnumber circle yl koord x1 koord Filled Reserve Screen Number Typidentification 5 Reserve
88. lemente beinhaltet Hierbei besteht die Hauptseite aus dem Bereich unter dem Men bis zum Anfang der Sta tuszeile Der Rest wird in jedem Fenster sichtbar sein Diese Hauptseite sowie die dynami schen Seiten sind alle ber die Taste F3 durchschhaltbar Bild 4 8 zeigt wie LEDs 7 Seg ment Anzeigen und Echtzeituhr realisiert wurden Display Control Setting Service 000 kW e OFF PM OFF DOO M ro Protection Statusbar o Bild 4 8 Symap Compact Hauptseite Seiten wie die Men unterpunkte von Display und Setting lassen sich ber eine Multipage realisieren Das Men an sich erscheint nur wenn ein Taste gedr ckt wird und verschwindet bei der Auswahl einer Seite oder eines Men punktes um eine gr tm glichen Bereich f r die Darstellung zur Verf gung zu haben 4 Software 51 ber die Cursortasten f r links und rechts l sst sich nun zwischen den Bereichen wech seln wobei ein Druck auf die Entertaste zu einer Vorschau der darzustellenden Messwet te oder Einstellunm glichkeiten f hrt s Bild 4 9 Display Control Setting Service Frequency meters Counter Ground values Harmonic waves Frequency meters Analog inputs Presse Enter naxinize Displau Meters Bild 4 9 Multipage a Men punkt b Ausgew hlter Men punkt ber die Cursortasten f r hoch und runter l sst sich nun eine Vorschau jeder Seite aufru fen wobei im Titel und in der Multipage die aufgerufene Seite markie
89. licht wird diese Einheit auch getrennt vom Rest des Systems zu verbauen Die grafische Benutzeroberfl che soll flexibel gehalten werden Individuelle Seiten werden ber ein externes Tool am PC generiert und ber USB auf das Schutzrelais geladen Auch soll die Men struktur ber Parameter konfigurierbar sein um das Men auf einfach Weise anpassen und erweitern zu k nnen Men punkte sollen ein und ausschaltbar sein und um weitere Punkte erg nzt werden k nnen Es soll m glich sein ganze Registerkarten aber auch einzelne Elemente aus Listen zu deaktivieren Das folgende Kapitel wird damit beginnen einige Grundlagen zum ARM Acorn Risc Ma chine Prozessor zu erl utern gefolgt von einer Einf hrung zu dem genutzten Mikrocon troller und dem eingesetzten Evaluationboard Es wird die Entwicklungsumgebung votge stellt und mit der Vorstellung der eingesetzten Softwarebibliothek abgeschlossen Kapitel drei besch ftigt sich nun mit der eingesetzten Hardware und der Entwicklung der Platine Es wird auf das genutzte LCD eingegangen und veranschaulicht warum dieses ge w hlt wurde Es wir gezeigt wie die Peripherie konfiguriert wird In Kapitel vier wird die gesamte Software vorgestellt Es wird veranschaulicht warum und wie das System Realisiert wurde und es werden verschieden L sungsans tze diskutiert Die letzten Kapitel besch ftige sich mit dem eingesetzten Busprotokoll und der Speicher verwaltung Am Ende der Arbeit befindet sich n
90. mit die Arbitrierung funktioniert muss jeder Identifier einem Sender eindeutig zugewie sen wetden somit k nnen keine zwei Sender mit dem selben Identifier senden Laut Spezifikation werden zwei unterschiedliche Formate definiert 11 Bit Identifier der auch Base Frame Format genannt wird CAN 2 0A 29 Bit Identifier der auch Extended Frame Format genannt wird CAN 2 0B Aufgrund der Dominanz des Low Signals resultiert eine h here Priorit t der kleineren Identifier Werden zwei Pakete gleichzeitig bertragen erfolgt ein berschreiben mit der ge ringeren ID und das niedriger priorisierte Paket muss neu gesendet werden Zur Fehlersi cherheit kann des weiteren gesagt werden dass ein Bit Monitoring ein Messsage Frame Check ein CRC Check und eine Hemming Distanz von sechs existieren Zus tzlich muss jede Nachricht quittiert werden 2 In diesem Projekt wird lediglich das Base Frame Format Anwendung finden Die 2048 Identi Der fallen zwar geringer aus jedoch ist der damit im Zusammenhang stehende Overhead auf dem Bus auch kleinet 2 Grundlagen 10 Telegramm Aufbau Die zu bertragenden Nutzdaten werden als sog Frames verschickt Dabei werden die Da ten in 8 Byte gro e Anteile zerteilt und mit Identifier sowie Kontrollbits versehen Dabei existieren vier verschiedene Arten von Frames Daten Frame bertr gt die Nutzdaten Remote Frame Fordert ein Datenframe an Error Frame Sender einen erkannten Fehler
91. mit eindeutig die ID eines Widgets bestimmt werden Ist die Z hlvariable gr er als Null bedeutet es dass Elemente dieses Typs existieren und es kann ber die Anzahl der Elemente aktualisiert werden Dies geschieht bei jedem Widgertyp anders und wird der bersichtlichkeit halber hier aber nicht aufgef hrt 28 Quellcode meters c alarms c process c 29 Quellcode menu c 4 Software 71 4 5 Graphic Builder Tool Das Programm zur Erstellung der grafischen Oberfl che welche das Ger t anzeigen soll hei t Graphic Builder Tool s Bild 4 22 Es wird die M glichkeit bieten einfache grafische Formen und Texte auf einem virtuellen Display zu platzieren Dabei wird Gr e und Far be des Symbols bestimmt sowie dieses mit einem bestimmten Parameter verkn pft Ein Beispiel w re ein Schalter der mit einem Ereignis verkn pft ist welches das Schlie en des Schalters zur Folge hat Zus tzlich wird es eine Grafikbibliothek geben bei der komplexere Symbole als Gruppe zusammengefasst und abgespeichert werden k nnen Diese k nnen dann nach Bedarf in das aktuelle Bild hineingezogen und bearbeitet werden S mtliche Projektdateien und Bi bliothekseintr ge werden im XML Format zur besseren Portierbarkeit abgespeichert Das Grafic Builder Tool ist nicht Bestandteil dieser Arbeit gewesen Select working screen Standard Graphic Tools Library Tools magg Lulli Jl 100 E Selected Shape prope
92. n wandern durch die gesamte Men baumstruktur ist n tig um an die gew nschte Stelle zu gelangen 9 SYSTEM PARAMETER 00 Codes 01 General parameter 02 Nominal ratio values 03 Communication 04 Analogous inputs 05 Binary inputs 06 Analogous outputs 07 Binary outputs Event builder Power management SCHUTZ ALARM LEER ENDE Bild 4 2 Men des Symap Compact Vorg ngermodells Das SYMAP Compact soll nun eine vom Computer bekannte Bedienungsoberfl che be kommen Somit w re eine Bedienung vereinfacht da die Benutzer in der Regel mit Compu tern vetttaut sein werden Angedacht war es das Men ber ein externes Tool generieren zu k nnen Das Problem der Vorg ngergeneration war die steife Struktur die f r jede nderung ein umprogrammie ren der Software ben tigte Ein flexibles Men angepasst auf die genutzte Peripherie macht technisch und konomisch einen Sinn und erspart eine spezielle Anpassung Erste Ans tze haben jedoch ergeben dass der Aufwand das Men extern gestalten zu wollen zu gro werden w rde Der zweite Ansatz wat nun ein Men mit einer festen Struktur jedoch zus tzlich mit der M glichkeit einzelne Seiten oder Men punkte ber einen Parameter hinzuzuf gen und ent fernen zu k nnen bzw ein sich selbst anpassendes Men Bild 4 3 zeigt das Tastatur Design welches f r das SYMAP Compact vorgesehen ist und auf dessen Basis das Men aufgebaut werden soll Die farbigen Tasten haben
93. n Ladebalken analo ge Zeiger und weitere m gliche Elemente eingef gt werden und stetig ausgebaut werden Daf r stehen vier Seiten zur Verf gung wobei Farbe und Gr e der Elemente variabel ist Eine Analyse der darzustellenden Elemente zeigt dass diese in a amp tive und passive Elemente getrennt werden k nnen Unter passiven Elementen sind diejenigen zu verstehen die einma lig gezeichnet werden und sich nicht mehr ver ndern Als Beispiel zu nennen w ren Texte Linien oder Symbole Als z amp ve Elemente werden alle diejenigen verstanden die sich im laufe des Betriebes ver ndern oder abh ngig von internen oder externen Zust nden sind wie Messwerte Schalter oder Auswahlboxen Hierbei stellen sich zwei Hauptprobleme dar Wie werden die aktiven Elemente realisiert Wie kann das m glichst Speicher schonend stattfinden um den Bus und die anderen Pro zessoren nicht zu belasten Als erstes gilt es genauer zu definieren welche Elemente es gibt und welche Eigenschaften sie haben Es muss festgestellt werden wie gro der ben tigte Speicher f r ein Attribut sein k nnte Zus tzlich hat jedes Element eine Vordergrund sowie eine Hintergrundfarbe und ein Attribut welches die Seite angibt Die aktiven Elementen ben tigen zus tzlich eine Ver kn pfung mit einem Parameter oder Messwert Wie ist nun so ein ak amp tives Element zu realisieren Die Problematik besteht darin dass diese Elemente auf verschiedene Art und Weise gezeichnet wer
94. n ex ternen RAM anzubinden Ein Vollbild mit 16 Bit pro Pixel ergibt bei 76800 Pixel einen Speicherbedarf von 153600 Byte F r das Abspeichern von ggf vorhanden Logos ist ein Flash vorgesehen Als Display wird ein QVGA 5 7 Zoll RGB Farbdisplay mit 18 Bit paralleler Anbindung ver wendet Beschaltung Der LPC2478 wird mit seiner maximalen Taktrate von 72 MHz betrieben Programmiert wird ber JTAG wobei die n tigen Pins hierbei direkt an den Prozessor angeschlossen wet den Um die Datenleitungen zu reduzieren wird ein 256 MBit 32 MByte SDRAM ber 16 Da tenleitungen an den EMC angeschlossen Hierbei werden die Pins direkt mit den zugehori gen Pins des Controllers verdrahtet Verwendet wird hierbei der MT48LC64M4A2 der Fir ma Micron Der EMC verwaltet den Speicher so dass f r 4 Byte Zugriffe zwei Mal auf den Speicher gelesen oder geschrieben wird was somit trotz 16 Bit Speicheranbindung kei ne Einschr nkung in der Programmierung zur folge hat Es muss jedoch bedacht werden dass ein 32 Bit Zugriff zwei Mal so lange dauert wie bei einer 32 Bit Anbindung Der EMC selber wird mit 20 MHz betrieben F r den Flash Speicher wird ein 1 MB serieller Flash verwendet M45PES80 s Bild 3 3 welcher lediglich mit vier Datenleitungen auskommt und mit 20 MHz ber die SPI ange schlossen wird Das SPI Interface erm glicht einen Zugriff von 256 Byte auf ein Mal Da dieser Speicher nur f r das einmalige Laden eines Logos o genutzt werd
95. n zu behandeln Es ist n tig gewesen die Elemente zu trennen Es m ssen 2D Zeichenfunktionen oder einfache Ausgaben und Elemente die ber die ezW IN Widgets dargestellt werden Aufbau der Seiten Die ersten Version basierte darauf dass f r jedes der vier variablen Seiten eine eigene Funktion erstellt wurde die ein eigenes Fenster mit einer eigenen ID erstellt hat Die er stellten Fenster riefen die selbe Callbackfunktion auf wobei ber die ID festgestellt werden konnte welche der Seiten gerade aktuell ist und sie dementsprechend aufbauen Der Seiten wechsel konnte ber ein Feld der Funktionen an jeder Stelle des Programms stattfinden Dies basierte auf der Annahme dass f r jede dieser Seiten ein eigenes Fenster erstellt wer den muss um sp ter in der Callbackfunktion differenzieren zu konnen welches der Fenster nun angezeigt wird und dass die Prozessseiten ihren eigenen Bereich bekommen Eine Vertiefung mit der Thematik hat jedoch ergeben dass die Seiten genau wie in Kapitel 4 2 2 S 59 beschrieben aufgebaut werden k nnen denn die ID ist nicht speziell an ein Fenster gekn pft Die nderung gegen ber den den restlichen Seiten besteht nun darin dass die variablen Seiten die selbe Callbackfunktion nutzen jedoch das Fenster je nach auf zurufender Seiten eine eigene ID zugewiesen bekommt ber die die Seite unterschiedlich aufgebaut werden kann Der Aufbau der Seiten basiert nun auf zwei Funktionen die im folgenden erl utert werden
96. nd auf jedem Bus m glich sowie ein Akzeptanzfilter f r 11 Bit und 20 Bit Identifier weitere Peripherie USB Interface SD MMC Karteninterface Ethernet Block SSP PS IC 5 2 Grundlagen 2 2 2 CAN Bei CAN handelt es sich um ein Multimaster Feldbussystem welches 1983 von Bosch ent wickelt wurde 1987 wurde zusammen mit Intel diese Projekt vorgestellt 1993 war es dann soweit dass das CAN Protokoll als Internationaler Standard ISO 11898 f r hohe Daten bertragungsraten von mehr als 125 kBit s ver ffentlicht wurde Sp ter dann auch als DIN ISO 11898 Der CAN Bus findet haupts chlich Anwendung in der Autoindustrie und in der Industrie allgemein 1 Physikalische Grundlagen Es gibt zwei Gruppen in die CAN unterteilt wird Den hightspeed CAN mit Datenraten bis zu 1 MBit s bei einer maximalen Busl nge von 40 m und den lowspeed CAN mit einer Da tenraten von 125 kBit s bei einer maximalen Leitungsl nge von 1000 m s Tab 2 1 Tab 2 1 CAN Baudtate Leitungsl nge Baudrate 0 40 m 1 Mbit s 40 300 m 200 kBit s 300 600 m 50 kBit s 600 1000 m 50 kBit s Alle Ger te sind durch einen CAN Transceiver ber zwei Leitungen mit dem BUS verbun den Die Leitungen m ssen an den Enden mit jeweils 120 Q abgeschlossen werden Bei den Leitungen handelt es sich idealerweise um zwei verdrillte Einzeladern mit Abschir mung STP Bei den Pegelzust nden auf dem BUS gilt das High Signal mit einer Span nungsdifferenz von 3
97. nen 9 Reserve 9 Reserve 9 Synchronisierer 10 Reserve 10 Unterbrecher Z hler 11 Reserve 11 Reserve 12 Reserve 12 Reserve 13 Reserve a Bei dem Bitfeld handelt es sich um zwei U32 Variablen die ber eine Funktion wie eine U64 Variable be handelt werden k nnen Das Programm beginnt mit der Initialisierung des Haupfensters Dies ist n tig da alle an deren Fenster an dieses Hauptfenster geh ngt werden Die Handles f r das Framewindon so wie f r Men und Statuszeile werden hierbei global angelegt da auf diese Komponenten des fteren aus unterschiedlichen Bereichen zugegriffen werden muss Zus tzlich wird ein globaler Handle f r die darzustellenden Fenster ben tigt Es existiert zwar jedes Fenster als 24 Quellcode menuwin c 4 Software 55 eigenes Objekt da aber immer nur eines zur Zeit dargestellt wird ist es m glich immer wie der den selben Handle zu nutzen Auch f hrt ein l schen dieses Handles vor der Generie rung eines neuen Fensters dazu dass evtl existierende Kindfenster jedes Mal vollst ndig ge l scht werden und nicht im Speicher verbleiben Men Die Initialisierungsfunktion erstellt den Hauptframe und Statuszeile sowie drei Statusanzei gen Am Ende der Funktion wird ein Fenster als Startseite aufgerufen In der selben Datei ist die Funktion _AddMenultem zu finden welche ber eine Reihe von Parametern erm glicht in der Funktion WM HWIN CreateMenu WM HWIN hParent U8 menu U8 io U
98. ng mit Hilfe des FCS2064 50 2 41 Bild 421 Kalibrierung des Tone na nun 45 Bild 4 2 Men des Symap Compact Vorganpgermodells uui een enable 46 Bild 4 3 Tastatarlayout Symap Sorina cts u Ne Hn erbe EH p PLU 47 Bild 4 4 Ausschnitt aus der Men struktur des Vorg ngermodells sss 48 Bild 4 5 Men struktur des Vorsangermodels e oda errasse ete Ei 48 Bild 4 6 Elemente des Vorg ngermodells a Hauptseite b 7 Segment Anzeige c LEDs 49 Bild 4 7 Symap Compact Men a Men punkt b Untermen 50 Bild 4 5 Sym p Compact Hauptseite nee a ee 50 Bild 4 9 Multipage a Men punkt b Ausgew hlter Men punkt seen 51 Bild 4 10 Messwertseite Fregtenzen Sean an 51 Bild 4 11 Anwend ngsbeispiel BvR 52 Bild 4 12 Abh ngigkeit der Fenster innerhalb des Mons eee pe vereris 53 Bild 4 13 Dynamische Generierung des String Arrays mit Hilfe der Funktion genat 57 HE E EE 60 Bild 4 15 Elementstruktur ohne Anpassi oe ee 62 Bild 4 16 Optimierte Elementstruktur a Schaubild b Beispielcode sss 63 Bild 4 17 Strukturelement eines Schalter 64 Bild 4 18 Strukturelement zum Einsetzen der Daten 64 Bild 4 19 Elementauswabhl aaa sent d der Eet ER Eu 65 Bild 4 20 Flussdiagramm det Funktion credtescreen use 67 Bild 4 21 Zugriff Uber te 69 Bild 4 22 Grafic Builder Tool Bild 4 23 Belspieltur einAnvendumosblld cualidad ee cds 80 Tabellenverzeichnis EE EEN 8 Tab
99. nnen damit bereits alle passi ven Elemente wie Linien Kreise und Text in jeglicher Form und Farbe dargestellt werden Das Darstellen a amp Zver Elemente wie Ladebalken Schalter und Auswahlbox ist zus tzlich m glich Die Men struktur ist flexibel und kann jederzeit erweitert werden Vorlagen f r alle darstellenden Seiten sind mit Aktualisierungsfunktion implementiert Bei der Parametrierung der Strukturen wurde daf r gesorgt dass ausreichend Platz f r Er weiterungen vorhanden ist Ein Umsteigen auf ein VGA Display ist m glich Alle Elemen te k nnen mit Parametern verkn pft werden Probleme haben sich in verschiedenen Bereichen ergeben Das externe Display nach Vor gabe des in das Evaluationboard integrierten Displays anzusteuern hat sich als nicht m g lich erwiesen Es hat sich herausgestellt dass das interne Display mit dem RGB 5 5 5 1 For mat angesteuert wird und nicht mit dem gew nschten RGB 5 6 5 Format Das Ergebnis daraus war dass die Pinbelegung des Adapters nicht stimmte und ein Gelbstich im Bild zu sehen war Das starke Prellen der Tastatur hat eine direkte Abfrage auf die Flanken erst nach dem Endprellen ber einen Timer m glich gemacht Beim Einstellen der Register hat sich herausgestellt dass der CAN Controller nur an einer Stelle im Code eingeschaltet wer den kann ansonsten nicht funktioniert Ein Fehler in der Grafikbibliothek hat es n tig ge macht den LCD Controller zweimal initialisieren zu m ssen Eine Analys
100. och eine Zusammenfassung sowie ein Ausblick auf die Weiterf hrung des Projektes 2 Grundlagen 2 1 ARM 1983 wurde das ARM Design von einem Team unter der Leitung von Roger Willson und Steve Furber gestartet Die Entwicklung ging von einem Entwicklungsprojekt des Engli schen Computerherstellers Arcon aus Die Zielsetzung wat nicht wie die anderen Hersteller auf Produkte der Firma Intel und Motorola zur ck zu greifen sondern einen eigenen Prozessor mit geplanten 32 Bit und 4 MHz zu entwickeln Der Prozessor ist dann mit 8 MHz und dem ARM2 in Serie gegangen Die Serie wurde 1989 mit dem ARM3 fortgesetzt was dazu f hrte dass im Jahre 1990 Acorn zusammen mit Apple und VLSI Technologie das Unternehmen Advanced RISC Reduced Instruction Set Computer Machines Ltd In GB gr ndeten Die ARM Architektur zeichnet sich durch einen Befehlssatz aus der eine Kompakte Um setzung eines ASCI American Standard Code for Information Interchange Designs er m glicht Advaced RISC Machines LTD hat an interessierte Halbleiterhersteller Lizenzen verkauft die eine Implementierung des ARM Kerns in ihre Chips erlaubt Dazu geh ren unter ande rem Analog Devices Atmel Freescale ehemals Motorola HP IBM Infineon Intel NEC NXP ehemals Philips Samsung Texas Instruments Aufgrund der geringen Leistungsaufnahme werden ARM Prozessoren in vielen eingebette ten Systemen verwendet unter anderem in PDAs Handys und Spielkonsolen Die ARM Proze
101. om Typ WM KEY INFO mit int Key gedr ckte Taste int pressed count Zustand b data v beinhaltet eine Nachricht die abh ngig von dem Sendenden Widget ist c data p beinhaltet die Koordinaten eines Rechtecks welches neu gezeichnet werden muss d data v ist 1 wenn der Fokus akzeptiert wird e data v beinhaltet die neue ID f data p zeigt auf eine GUI PID STATE Struktur mit int x int y U8 pressed Zustand g data p beinhaltet die selben Informationen wie bei f nur das die Koordinaten vom Kind kommen h hWinSrc Handle des gel schten Fensters 3 Hardwareplattform 25 3 Hardwareplattform Die gesamte Hardware des SYMAP Compact soll aus drei Platinen bestehen wobei evtl eine vierte f r weitere Kommunikationsschnittellen angedacht ist Die Tabelle 3 1 zeigt die betriebsinternen Bezeichnungen der Karten Tab 3 1 Platinen des Symap Compact Bezeichnung der Karte Beschreibung CMA 300 CMA 301 CMA 302 CMA 303 Mess und Kontrolleinheit Umsetzetkarte Grafikkarte Kommunikation Kerne dieser Platinen sind die drei Controller die sich auf der CMA 302 GU und CMA 300 MU CU befinden Es handelt sich hier drei Mal um den LPC2478 der Firma NXP der auf dem ARM basiert Bild 3 1 zeigt hierbei die internen und externe Kommunikati onswege der einzelnen Komponenten MU CU 10 ZN
102. ote Platine beinhaltet neben dem LPC2478 256 MBit externen RAM sowie 32 MBit NOR FLASH und 1 GBit NAND Flash Bild 2 9 OEM Base Board Es wurden alle Pins des Mikrocontrollers nach au en gef hrt was ein gro es ma an Flexi bilit t erm glicht Zus tzlich wurden viele Anschlussm glichkeiten zur direkten Nutzung herausgef hrt SD Karten Halterung optionale Stromversorgung ber USB CAN und Ethernet Die ersten Schritte der Entwicklung wurden alle auf diesem Entwicklungsboard get tigt Eine externe Tastatur sowie ein externes Display erm glichen eine optimale Simulation des geplanten Ger tes 4 7 http www embeddedartists com 2 Grundlagen 18 2 6 Entwicklungsumgebung Die Entwicklungsumgebung pVision3 der Firma Keil bietet weitreichende M glichkeiten f r die ARM Programmierung Neben der M glichkeit zu programmieren kann mit Hilfe des selben Programms geflasht und debuggt werden Es ist ber eine Vielzahl an Einstellun gen m glich den geschrieben Code zu optimieren In Bild 2 10 ist der auch von anderen Compilern gewohnte Aufbau zu erkennen y Versiond uVisiona8 CADokumente und Einstellungen rklEigene DatejentuVision Projects Projec EJ File Edit View Project Debug Flash Peripherals Tools SVCS Help c B g 5 Bal 22 EEE 5 Ua Subtes RA S e Project Workspace GUI SetFont amp GUI Font24 ASCII zi SCH GU GUI DispStringHCenterAt TESTMODE 160 5 CN Debug DemoShowColorBar
103. ptio nale Generierung von Interrupts kann zeitgesteuerte Ereignisse ausf hren basierend auf vier Match Registern Des weiteren sind vier Capture Eing nge vorhanden GPIO Es sind f nf Schnittstellen f r universelle Ein und Ausgaben vorhanden Von diesen f nf Schnittstellen sind drei High Speed GPIO B nke und zwei normale GPIO B nke die je doch auf High Speed umgeschaltet werden k nnen So ist es m glich bis zu 160 Ein und Ausg nge zu benutzen die intern auch mit Pullup oder Pulldown Widerst nden versehen werden k nnen Interrupt Controller Der Prozessor hat zwei Interrupt Eing nge Den Interrupt Request IRQ sowie den Fast Interrupt Request FIQ Der Vectored Interrupt Controller VIC besitzt 32 Eing nge die dynamisch nach Priorit t verwaltet werden k nnen Der FIQ besitzt immer die h chste Priorit t Der Controller besitzt die M glichkeit vier externe einzelne Interrupts sowie mit den Portb nken Null und Eins einen Bank Interrupt zu generieren 3 Direkter Zugriff auf den Speicher 4 Verwaltet und verteilt die Interrupts 2 Grundlagen Watchdog Der Zweck des Watchdog ist es den Mikrocontroller nach einer bestimmten Zeit neu zu starten falls dieser sich in einem fehlerhaften Zustand befindet Wenn aktiviert wird der Reset ausgel st falls der Watchdog nicht mehr gef ttert wurde PWM Pulsweitenmodulation Die PWM basiert auf dem Standard Timer und beinhaltet alle Features eines Timers Der
104. ptionsgruppe lt e gt ja berschrift f r eine Optionsgruppe mit Check boxen lt e 4 gt ja berschrift um ein bestimmtes Bit zu modifizieren hier Bit 4 lt h gt oder lt e gt ja Ende der Beschriftung lt i gt ja Hilfetext f r das vorige Element lt q gt ja Optionen f r Bitwerte die in einer Check Box dargestellt werden lt o gt ja Optionen mit einem w hlbaren Nummerneintrag lt o0 4 5 gt ja Modifizieren von Bits hier 4 und 5 lt 0 4 gt ja Modifizieren von einem Bit lt s gt ja Option mit String Eintrag lt s 10 gt ja Option mit String Eintrag und Gr en Limitierung hier 10 Zeichen Variable lt 0 31 gt nein Wertebereich f r Optionsfeld 0 100 10 gt nein Wertebereich f r Optionsfeld in 10er Schritten 0x40 0x1000 0x10 gt nein Wertebereich im hex Format lt 0 gt ja Wert und Text zu Auswahl lt 1 gt lt 1 gt nein Modifizierung des Wertes lt H 8 gt lt 3 gt H http www keil com arm microlib asp 09 06 2009 9 http www keil com support man docs uv3 uv3 ut configwizard htm 09 06 2009 2 Grundlagen 21 2 SEGGER Die Firma SEGGER verbreitet und entwickelt Softwarekomponenten f r die Industrie Diese in ANSI C geschriebene Bibliotheken erm glichen es einem Unternehmen Zeit bei der Entwicklung zu sparen und sich mit dem wesentlichen Kern der Programmierung zu befassen Die Geschichte der Firma kann im Anhang Al Geschichte Segger nachgelesen werd
105. r abgedunkelten R umen ein wandfrei nutzbar Im Gegensatz dazu steht das Display von Powertip Dieses Display er reicht eine sehr hohe Helligkeit ist aber auch das teuerste Modell Die Helligkeit ergibt sich allerdings auf Kosten der Lebensdauer und des Stromverbrauches was zusammen mit dem Preis ein Ausschluss ergibt Das Display von Optrex hat sich als sehr gut erwiesen Es hat einen guten Kontrast in allen Farbbereichen sowie eine hohe Helligkeit bei langer Lebens dauer Letztendlich wurde sich f r das Hantronix entschieden welches die selben Eigenschaften wie das Nanya hat jedoch ein wenig g nstiger ist und sich aus diesem Grund gegen ber al len anderen Displays durchsetzen konnte Die Helligkeit ist f r diese Anwendung austei chend bei einem relativ hohen Kontrast und einem optisch guten Eindruck Tab 3 4 zeigt die aus dem Datenblatt bekannten Eingenschaften des Displays Tab 3 4 Spezifikationen Datenblatt HDA570S V Nr Begriff Beschreibung Einheit 1 Gr e 5 7 Zoll 2 Aufl sung 320 H x RGB x 240 V Pixel 3 Pixelabstand 0 120 H x 0 360 V mm 4 Aktiver Bereich 115 20 H x 86 40 V mm 5 Dimensionen 144 00 W x 104 60 H x 13 00 T mm 6 Display Typ Wei Transmissiv 7 Pixel Struktur RGB Streifen 8 Eingags Interface 18 Bit parallel RGB 9 Oberfl che Anti Glanz AG 10 Gewicht 210 g 11 Temperaturbereich 20 Ta 70 Ta C 12 Blickwinkel 55 50 60 60 Grad 13 Helligkeit 380 cd m 14 Lichtquelle LED 15
106. r eine switch case Anweisung statt Tab 2 3 beinhaltet die f r dieses Projekt wichtigen Nachrichten Des Weiteren gibt es noch WM MOVE WM NOTIFY VIS CHANGED WM SIZE WM TIMER WM MOU SEOVER WM MOUSEOVER END 8 Tab 2 3 Nachrichten der Callbackroutinen Message Id Erkl rung Msgld System Nachrichten WM_CREATE Diese Nachricht wird direkt nach dem Erstellen eines Fenster gesendet WM DELETE Wird dem Fenster kurz vor dem l schen gesendet um ggf Speicher freizugeben WM GET ID Witd zu einem Fenster gesendet wenn die ID abgefragt wird WM INIT DIALOG Witd gesendet nachdem ein Dialog initialisiert wurde WM KEY Witd zu dem im Fokus stehenden Fenster gesendet wenn ein Taste gedr ckt wird WM NOTIFY PARENT Benachrichtigt den Vater dass etwas in einem der Kinder passiert ist WM PAINT Witd zu einem Fenster gesendet falls es berdeckt wurde und neu gezeichnet werden muss WM SET FOCUS Witd zu einem Fenster gesendet wenn es den Fokus vetliert WM SET ID Witd zu einem Fenster gesendet wenn die ID sich ndert Eingabeger te WM TOUCH Witd gesendet wenn eine Ber hrung stattfindet WM TOUCH CHILD Witd gesendet wenn ein Kindfenster ber hrt wurde Benachrichtigungs Code WM NOTIFICATION CHILD DELETED Wird gesendet wenn ein Kind gel scht wurde Benutzer definierte Nachricht WM USER Diese Nachricht ist frei vom Benutzer definierbar a data p zeigt auf eine Struktur v
107. rd einstellen Nun m ssen noch das PINSEL1 und PINMODEI Register gem Kapitel 29 der Bedienungsanleitung konfiguriert werden ber das DACR Register kann nun ein analoger Wert ausgegeben werden System Funktionen Die Prescaler sowie Heap und Stack lassen sich ber den Wizard einstellen s Bild 3 14 Die Timer lassen sich nach Kapitel 24 konfigurieren Wobei ein weiterer Prescaler je nach gew nschter Aufl sung verwendet werden kann TxPR Insgesamt werden vier Timer be n tigt Der Timer f r das RTOS Real Time Operation System l st bei erreichen des Zahlenwertes in TOMRO einen Interrupt aus TOMCR 1 Diese Funktionalit t wird f r das RTOS ben tigt Der zweite Timer wurde so konfiguriert dass der bergabewert der Funktion der Anzahl an Millisekunden Wartezeit entspricht Der dritte Timer schaltet den externen Interrupt auf Port 1 bei Tastendruck f r 100 ms aus Der vierte Timer l st zy klisch einen Interrupt aus welcher eine gedr ckte Taste simuliert Stack Configuration Stack Sizes in Bytes Undefined Mode 0x0000 0400 Supervisor Mode 0x0000 0100 Abort Mode 0x0000 0000 Fast Interrupt Mode 0x0000 0000 Interrupt Mode 0x0000 0100 User System Mode 0x0000 0400 Heap Configuration Heap Size in Bytes 0x0000 0400 Clock Setup v System Controls and Status Register SYS PLL Configuration Register PLLCFG CPU Clock Configuration Register CCLKCFG USB Clock Configuration Register USBCLKCFG
108. ressure 3 1 Zi Die interne Berechnung der Widerst nde ist in Bild 3 15 ersichtlich berschreitet der Druck einen vorgegebenen Wert k nnen im n chsten Schritt X und Y Koordinaten be stimmt werden wobei es sich an dieser Stelle noch um die Ausgangswerte des A D Umset zers handelt nicht um die Pixelkoordinaten auf dem Display a c Z Position X Position X b K Bild 3 15 Druckbestimmung mit Hilfe des TCS2064 durch a X Position b Z Po sition c Z2 Position 4 Software 42 4 Software Die Software wurde komplett in ANSI C geschrieben Hierbei wurde speziell auf eine ef fektive Nutzung des Speichers geachtet F r eine gute Performance stehen ausreichend Ressourcen zur Verf gung Die GUI basiert zwar auf dem Vorg nger Modell dem SYMAP jedoch bietet die 16 Bit Farbtiefe und ein Touchscreen mehr M glichkeiten in der Gestaltung was eine komplette Neuentwicklung zur Folge hat Es soll die M glichkeit geben vier flexible Seiten mit dem Graphic Builder Tool am PC zu er stellen und dann auf das System zu laden Hierbei werden die Daten auf die CU Control Unit geladen welche die Parameter bei einem Reset auf den BUS legt Bei dem alten Pro dukt musste f r jeden neuen Kunden der zust ndige Programmierer die ersten Seiten an die Applikation anpassen war also f r weitere Neuentwicklungen blockiert Diese Proble matik erledigt sich wenn jeder Kunde sein Men selber
109. rt wird Ein weiterer Druck der Entertaste zeigt die Seite im Hauptbildschirm Bild 4 10 F r die Serie mit dem ber hrungsempfindlichen Bildschirm wird anstelle des Vorschau fensters ein Fenster mit zwei Tasten erscheinen als Best tigung ob die Seite aufgerufen werden soll evtl mit Kurzbeschreibung Symap Compact Display Control Setting Service max Hz d mHz min Hz 00 00 00000 00 00 Gen Bus1 00 00 00000 00 00 00 00 Bus2 00 00 00000 00 00 00 00 Bild 4 10 Messwetrtseite Fre Statusbar COM Ready quenzen F r Bereiche in denen Einstellm glichkeiten vorgenommen werden bietet es sich an List views zu verwenden Hierbei macht eine Anwahl des Elementes eine nderung der Ein stellung m glich s Bild 4 11 4 Software 52 Bei den hier vorgestellten Elementen handelt es sich um eine Auswahl um die Realisierung der Men f hrung im Symap Compact zu demonstrieren Display Control Setting Serwice System Control Bild 4 11 Anwendungsbeispiel Listview Enter Systen EYSZOHECKI com Wie aus Anhang B1 Quellcode ersichtlich handelt es sich bei den Elementen nicht um Platz halter sondern um komplett realisierte Bereiche denen lediglich der Eingabeparameter fehlt Es wurden weitere Elemente realisiert die nach dem hier dargestellten Prinzip erstellt wurden 4 Software 53 4 2 2 Realisierung GUI Die gesamte grafische Oberfl che basiert
110. rties Text Label Name TextLabel5 Text Text Foreground colon Black E Background color _ Not defined O Filed FI Draw Gid Line thickness 1 Font size no E Starting point Size Align Grid size x 267 Width 38 Center v Y 1190 Height 14 Bild 4 22 Grafic Builder Tool 4 Software 72 Parametersatz Beispiel Das folgende Beispiel Bild 4 23 zeigt wie ein Bild mit dem dazugeh rigen Parametersatz aufgebaut werden k nnte Textelement Passive Grafikelemente Messwertelement BUS2 Y Y y 4 400V 4 Textelement Aktiver Si Schalter 4 gt Autom Aktive A Textbox lt gt 399 V 400V 50 03 Hz 49 00 Hz lt Textelement Passive Elemente Messwertelement Bild 4 23 Beispiel f r ein Anwendungsbild Der dabei generierte Code k nnte folgenderma en aussehen 0000 0014 00B1 0470 0000 0000 Textfeld mit den Zeichen BUS2 oben links 0000 0010 0018 008F 0018 0000 Langer waagerechter Strich oben 0000 0030 0018 0030 004A 0000 kurzer senkrechter Strich oben links 0000 0070 0018 0070 004A 0000 kurzer senkrechter Strich oben rechts 0000 0030 009A 0030 00A4 0000 kurzer senkrechter Strich mitte links 0000 0070 009A 0070 00A4 0000 kurzer senkrechter Strich mitte rechts Verbrauch ca 348 Byte 5 Bus Protokoll Bei den Vorg ngermodellen des SYMAP Compact befanden sich die Prozessoren f r Grafik und Kontrolleinheit auf der selben Platine Da nun d
111. rum Kinder besitzen k nnen Nun besteht die M glichkeit die von SEGGER genannten Callbackroutinen za verwenden Die Philosophie dahinter ist ein Ereignis gesteuertes System Der Kontrollmechanismus er folgt von der Anwendung zum System und wieder zur ck zur Anwendung Hierbei ist haupts chlich das Neuzeichen von Fenstern zu verstehen Ohne nutzen dieser Routinen ist es sehr viel aufwendiger sich um das Aktualisieren der Fenster zu k mmern wenn z B ein Bildschirmteil zeitweilig von einem Fenster berdeckt wird Fur die Kommunikation der Module untereinander bzw mit den Callbackrontinen existiert eine Nachrichtenstruktur Diese beinhaltet gedr ckte Tasten Flags oder Informationen ber get tigte Eingaben 12 10 http www segger com cms emwin html 2 Grundlagen 22 2 7 2 Widgets Die folgenden Namen Begriffe und Abbildungen wurden von der Firma SEGGER ber nommen Die Namen und Begriffe werden ab Kapitel 4 Software Seite 42 Anwendung finden und von nun an als bekannt betrachtet werden Die hier vorgestellten Widgets sind nut die bis zum jetzigen Zeitpunkt im Projekt verwendeten Dieses Kapitel bezieht sich auf Anhang B3 Manual SEGGER Kapitel 15 Ein EDIT Widget Bild 2 12 existiert in erster Linie f r die Eingabe von Texten Es ist aber auch m glich darin vorgegebene Zahlenwerte abzufragen es besteht aus einem einfa chen Eingabefeld Das FRAMEWIN Widget gibt dem Benutzer ein vom PC gewohntes Erscheinungsbild d
112. ser Stelle nur funktionelle Register erl utert Das f r die CMA302 vorge nommen Pinning befindet sich in der Tabelle in Anhang A3 Pinbelegung LPC2478 Hierf r wurden die PINSEL PINMODE und IODIR gem Kapitel 9 5 und 10 6 der Be dienungsanleitung beschrieben Alle in diesem Abschnitt beschriebenen Verweise auf die Bedienungsanleitung beziehen sich auf Anhang B4 Manual LPC2478 CD 3 Hardwareplattform LCD Controller Der Controller wird ber das Schreiben einer eins in das PCONP Register an der Stelle 20 eingeschaltet Nach der Konfiguration der PWM1 f r die Steuerung der Hintergrundbe leuchtung folgt das Einstellen der n tigen Pins F r die Konfiguration des Controllers sind die folgenden Informationen ber das zu ver wendende LCD n tig H he und Breite des Panels horizontale und vertikale Synchronisationszeiten Bits pro Pi xel single oder dual Panel Die f r die Anwendung zu beschreibenden Register sind LCD CTRL LCD TIMEH LCD TIMEV LCD POL LCD LE LCD CFG F r den Bildspeicher muss noch die Basisadresse des externen Speichers angegeben wer den In Einzelf llen ist es n tig die Kan le f r Rot und Blau zu tauschen oder das Signal komplett zu invertieren W hrend das Tauschen von Rot und Blau auf Hardwareseite m g lich ist ist das Invertieren der Farbinformation nur auf Softwareseite realisierbar Eine detaillierte Beschreibung der Register ist in Kapitel 12 der Bedienungsanleitung nach zules
113. ssoren arbeiten mit einer RISC Reduced Instruction Set Computing Ar chitektur verzichten somit auf komplexe Befehle Als Konsequenz ergibt sich ein schnel lerer Prozessor welcher z gig nach einer Unterbrechung z B Interrupt weiterarbeiten kann 14 ARM7 Bei dem ARM7 handelt es sich um die siebte Generation des Prozessors Der hier einge setzte ARM7TDMI besitzt typischerweise eine gro e Anzahl an Registern Hierbei handelt es sich um 37 32 Bit breite Register Von den 37 Registern zur Verarbeitung der Daten sind sechs Register reine Statusregister Im Adressregister ist die Speicheradresse enthalten auf die die CPU zugreifen soll Es handelt sich um ein 32 Bit System die Speicherstruktur ist jedoch nur auf 8 Bit ausgelegt somit wird die Adresse immer um 4 Byte erh ht Der 32x8 Multiplikator erm glicht durch seine fest verdrahtete Logik schnelle Multiplikationen Der ebenso fest verdrahtete Barrel shifter bietet als Schieberegister die M glichkeit zum verschie ben eines oder mehrerer Bits Die ALU Arithmetic Logical Unit f hrt als Kern alle n ti gen Rechenoperationen durch In der Instruction decoder and control logic werden die Befehle f r die Ausf hrung decodiert Die Register WDATA und RDATA dienen als Schnittstelle zu den Daten s Bild 2 1 Es ist eine Speicherverwaltung bis 4 GB moglich 1 engl f r Rechnen mit reduzierten Befehlssatz 2 Grundlagen
114. t es vom SYMAP BCG ausgehend f nf LEDs f r Status Kommunika tion System Alarm und Trip Es gibt vier Felder bestehend aus drei 7 Segment Anzeigen mit jeweils drei LEDs Diese stellen Spannung Strom Leistung und Frequenz jeweils in Prozent oder der jeweiligen Einheit dar Bild 4 6 Die Hauptseite besteht aus einer ber sicht ber die Peripherie und einer auf das System angepassten Zeichnung a b c HEA A LJ SYS CHECK Bild 4 6 Elemente des Vorg ngermodells a Hauptseite b 7 Segment Anzeige c LEDs Symap Compact Ein aus z B Microsoft Windows bekanntes Men hat den Vorteil gegen ber der aus den SY MAPS bekannten Men f hrung das jeder Men punk direkt angesprochen werden kann Die Anzahl der Elemente ist nicht auf drei beschr nkt drei Untermen s F4 f r Zur ck Der Men punkt Service wurde aus dem Bereich Setting entfernt und ist nun ein eigenst ndi 4 Software 50 ger Men punkt jedoch f r den Endnutzer nicht direkt anw hlbar Zu einem sp teren Zeit punkt wird dieser komplett verschwinden Bild 4 7 zeigt die Umsetzung der Men struktur 2 RR b Display Control Setting Service 000 Eas Bild 4 7 Symap Compact Men a Men punkt b Untermen Aufgrund der Spezifikation dass vier Seiten frei Strukturierbar sind und dadurch dass ex terne Elemente wie die 7 Segment Anzeigen nun fehlen war die Erstellung einer Haupt oder Defaultseite n tig welche alle wichtigen E
115. t werden jedoch hat teilweise unvorhersehbares Verhalten dazu gef hrt diesen Optimierungslevel wieder ausschalten zu m ssen Da insgesamt 500 kB an Flash Speicher zur Verf gung stehen kann evtl auf jegliche Optimierung verzichtet werden Viele Daten die ber den Bus kommen m ssen nicht im Flash abgelegt werden sondern k nnen im RAM gespeichert werden Es wurde bei der Programmierung darauf geachtet dass eine sp tere Optimierung immer noch m glich ist 7 Zusammenfassung und Ausblick Mit der Bedienungsanleitung des Controllers und anhand einiger Beispiele von NXP war ein schneller Einstieg in die Thematik m glich Insbesondere das Schreiben des Display treibers hat Einblicke in die Funktionsweise von LCD und LCD Controller gegeben Der Kontakt zu den Distributoren f r die Beschaffung und Selektion der Displays hat diese Kenntnisse noch vertieft Nach Erarbeitung der Grundlagen war der Aufbau einer Testumgebung n tig um parallel zur Hardwareentwicklung an der Software arbeiten zu k nnen Es wurde die Peripherie an gebunden und getestet Dazu geh ren Tastaturtreiber LCD Treiber sowie CAN Treiber Die Vorgabe dass viet Seiten komplett extern generierbar sein sollten ben tigte eine Reihe an Vor berlegungen denn Speicherverbrauch und Flexibilit t stehen im Vordergrund Es hat sich als effektiv heraus gestellt die gesamte Struktur im vornherein zu entwerfen damit parallel am Graphic Builder Tool gearbeitet werden konnte Es k
116. t zu weiteren Vorteilen in der Handhabung Bei der Co degenerierung ber das Graphic Builder Tool kann jeder Parameter in der selben Form als Code erstellt werden Zu jedem Parameter geh ren drei U32 Variablen die ber die in Bild 4 18 ersichtliche Struktur eingef gt werden k nnen welche ebenfalls zur UNION gehort Das folgende Beispiel soll den Aufbau auf Bit Ebene anhand eines Messwertelementes noch einmal veranschaulichen Die gesamte Struktur ist in Anhang A2 Elementstruktur einsehbar Messwert Element T 232 SIXXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX Bit 29 31 Strukturidentifikation Bit 27 28 Bildnummer Bit 19 26 ID Bit 9 18 X1 Koordinate Bit 0 8 Y1 Koordinate 2 432 3SIXXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX Bit 27 31 Vordergrundfarbe Bit 22 26 Hintergrundfarbe Bit 8 21 Reserve Bit 0 7 Schriftart 3 U32 3IXXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX Bit 16 31 Parameter Bit 0 15 Elementnummer 4 Software typedef struct union struct Switch U32 yl 9 yl koord U32 x1 iLO J xl koord af U32 id 4 GrafikID U32 state 2 Every switch gets 1 drawing for each position the first gets a 1 for state the 2nd a 0 E U32 blink 1 Element blinking E U32 screen 2 Screen Number U32 type 4 Typidentification 1 U32 y2 8 y2 koord rd U32 x2 10 x2 koord U32 strength 3 Pen size X U32 bgcolor 5 Backgroundcolor
117. terface 24 Bit 2 PH320240T 005 P em ELCO 08 6210 033 59 00 55 50 Display Devices Mechanisch identisch mit Powertip ICIQ 450 250 144 0x104 6x13 0 LED 25 mA 23 5 V 20 bis 70 33 Pin 340 800 mind 30k N A 60 32 Mewa electronic Pritneview und Kyocera IMSA 9637S 49 00 43 00 Data Modul Interface 24 Bit Powertip PH320240T 005 I Q 380 500 167 0x111 0x7 8 LED 60 mA 33 V 20 bis 70 40 Pin 54 600 Std 52 90 49 95 Display Devices Sehr gute Befestigungsm glichkeit 40Y905 Btm f N A 54 30 Mewa electronic Interface 18 Bit 107 50 US Ineltek Garantie auf Hardwarem ige PrimeView PD057VUS 700 400 144 0x104 6x13 0 LED 240mA 11V 30 bis 70 33 Pin BTC O a a DS 88 57 Hy Line Gleichheit ber mehrere Jahre 340 800A 91 00 MR 34 00 Display Devices Mechanisch identisch mit Powertip und Kyocera 109 00 E V B Sharp LQ057V3DG01 400 600 144 0x104 6x12 3 CCFL 30 bis 80 33 Pin 50 000 Std N A Data Modul Sharp LQ057Q3D12 500 350 144 0x104 6x13 0 CCFL 30 bis 80 33 Pin 50 000 Std 2 T P ERA Interface 18 Bit Suntai SFD 057A 300 250 144 0x104 6x13 0 CCFL 10 bis 70 33 Pin Tianma TMTO57DNAFWU 250 250 126 1x101 6x6 4 LED 60 mA 12 4 V 20 bis 70 54 Pin N A 50 000 Std 45 00 Display LC Interface 24 Bit Toshiba LTA057A340F 400 500 144 0x104 6x7 8 LED 45 mA 192 V 10 bis 70 33 Pin N A 20 000 Std 68 00 Glyn Interface 18 Bit URT UMSH 8044MD T 300 250 144 0x104 6x13 0 LED 60 mA 23 1 V 20 bis 7
118. tion ausgef hrt Da einige Tasten in Kombination mit einer weiteren Taste bedient werden k nnen kann in diesen f llen das Break weggelassen werden Die Tasten sind ber einen Z hler entprellt der bei Tastendruck den Interrupt f r 100 ms ausschaltet Ein Scrollen f r die Tasten UP und DOWN wird ber einen weiteren Z hler erm glicht der bei gedr ckter Tasten alle 30 ms einen Interrupt ausl st Sollten bei der Weiterf hrung des Projektes ein Mangel an Z hlern bestehen w hre es auch m glich das Scrollen als Task zu realisieren Ber hrungsempfindlichkeit Um den ber hrungsempfindlichen Bildschirm effektiv zu nutzen sind eine Reihe von Kon figurationen notwendig Dazu geh rt die Austichtung des Bildschirms sowie die genutzte Aufl sung Um die Pixelkoordinaten zu bestimmen ben tigt die Bibliothek die Minimum 21 Quellcode gpio c gpio h 4 Software 45 und Maximumwerte des A D Umsetzers Diese k nnen ber die Bestimmung von zwei Koordinaten z B oben links und unten rechts bestimmt werden Die physikalischen Wer te werden abgespeichert und der folgenden Funktion bergeben int GUI TOUCH Calibrate int Coord int Log0 int Logl int Phys0 int Physl mit Coord X oder Y Koordinate LogO Soll Minimumwert Logl Soll Maximumwert PhysO Ist Minimumwert Physl Ist Maximumwert Der R ckgabewert ist hierbei eine Null bei erfolgreicher Kalibrierung und eine Eins bei einer fehlerhaften Kalibrier
119. tratronik Ampire ER 260 270 131 0x102 2x12 4 CCFL DNB 20 bis 70 40 Pin Zettler Interface 18 Bit TOOH A kHz Ampire e HORAE 800 350 131 0x102 2x10 9 LED 20 bis 70 40 Pin Zettler Interface 18 Bit Ampire SE 500 350 131 0x102 2x10 9 LED 20 bis 70 40 Pin Zettler Registeransteuerung Ampire EMIS UNO E 9 170 144 0x104 6x130 LED 330 mA 10 5 V 20 bis 70 33 Pin PLC damus ASA Zettler Interface 18 Bit 00H 340 800A Ampire poen ONTTMQW 450 350 167 0x109 0x13 1 LED 20 bis 70 24 34 Pin Zettler Registeransteuerung Ampire NSINON 500 350 1440x1046x130 LED 330mA 105V 20bis 70 54Pin 30 000 Std Zettler Registeransteuerung Andi Ae erede tiec 2 350 167 0x109 0x8 9 LED 126mA 10 5 V 20 bis 70 40 Pin FA5B040HP1R3000 10 000 Std 65 85 dba 7S AE ETS 057L2H Sehr gute Befestigungsm glichkeit AUO G057QN01 400 600 144 0x104 6x123 LED 15mA 30 bis 85 33 Pin Hirose PH12 33S OS 79 50 65 80 Dan Modul Interface 18 Bit 0 5SH 55 or comp Mostron CTC T2432A11VP01 400 400 1440x1046x130 cet 9 710V 35 50 bis 70 33 Bin ELCO DO DAIO OS Neum ller Interface 18 Bit kHz 340 800A CTC T2432C04V DO 250 250 126 1x101 5x4 8 LED 60 mA 12 4 V 20 bis 70 54 Pin N A 20 000 Std Neum ller Interface 24 Bit FG050701DSSWBGO A d ELCO 08 6210 033 N A Ultratronik Data Image 1 220 350 127 0x98 4x9 7 LED 5V 20 bis 70 33 Pin 340 800 50 00 Vers electa Interface 18 Bit Data Image DO 02070 DSSWBGL 490 350 1270x984x9 7 LED 5V 20 bis 70 33 Pin en 54 00 Ul
120. tratronik Interface 18 Bit FG050700DSSWDG T x ELCO 08 6210 033 N A Ultratronik Data Image 01 360 350 144 0x104 8x12 7 LED k A 20 bis 70 33 Pin 340 800 47 85 Mewa dectonie Interface 18 Bit DEM an TMH 250 250 126 1x101 5x6 4 LED 60 mA 13 V 20 bis 70 60 Pin 50 000 Std 64 80 WF Elektronik Interface 24 Bit EDT ET057003DM6 400 300 124 7x100 0x6 0 LED 60 mA 30 V 20 bis 70 33 Pin IMSA 9637S 33A TB 40 000 Std Ultratronik Interface 18 Bit Interface 24 Bit Everbouquet MF320240B57 BF 380 250 159 4x111 0x9 0 LED 200 mA 8 6 V 20 bis 60 40 Pin N A 70 00 Neum ller Mindestabnahme 500 St ck sehr gute Befestigungsm glichkeit Braucht 4 verschiedene Gi Far GFT057FA320240 N A 250 120 3x95 7x1 6 LED N A 20 bis 70 50 Pin IRISO 9637S 50A TB Pohl Electronic Spannungen Interface 18 Bit Gi Far GFT057AA320240 500 350 131 0x102 2x10 9 LED 126 mA 9 6 V 20 bis 70 40 Pin FA5B040HF1R3000 30 000 Std 69 90 64 60 Pohl Electronic Interface 18 Bit Tab A 3 Fortsetzung Helligkeit Temp Lebensdauer Preis Preis E Hetsteller Typ Nr cd m Kontrast Abmessungen Typ Versorgung C Anschluss Anschlusstyp Beleuchtung 100 Stk 1000 Stk Anbieter Kommentar Hantronix HDA570S F 500 350 144 0x104 6x13 0 CCFL 20 bis 70 33 Pin 50 000 Std 80 50 US 75 65 US Ineltek Interface 18 Bit Hantronix HDA570S V 380 450 144 0x104 6x13 0 LED 75mA 22V 20 bis 70 33 Pin FH12 33S 0 5SH 10 000 Std 80 50 US 74 25 US Ineltek Interface 18 Bit
121. tur stehenden Eigenschaften aus Das diese Funkti on zyklisch alle 250 ms aufgerufen werden muss wurde darauf geachtet dass alle 2D Ele mente am Anfang der Struktur sind Somit kann die genutzte Schleife beim einmaligen Er reichen eines anderen Elementes abgebrochen werden Bild 4 20 zeigt den generellen Ab lauf der Zeichenfunktion Jedes Element wird abgefragt ob es zu dem zu zeichnenden Bildschirm geh rt und dann gem seiner Eigenschaften gezeichnet Dies geschieht f r diese Art von Elementen zyklisch mit dem Aufruf der Aktualisierungsfunktion Da ein Schalter in der Bibliothek nicht vorgesehen ist ist es am einfachsten diesen als zwei 2D Linien zu verstehen Um ein Maximum an Flexibilit t zu gew hrleisten werden keine festen Speicherelemente genutzt lediglich die Wippe ist ein aktives Element Dies erh ht zwar die Anzahl der Elemente jedoch hat der Kunde dadurch mehr M glichkeiten den Schalter zu gestalten Nun bekommt ein Schalter zwei Zeichnungen f r zwei Schalterstel lungen wobei die erste ber ein Flag die Kennzeichnung als Standartzeichnung bekommt Es wird nun beim Zeichnen immer auf dieses Flag abgefragt um das Erste der beiden Ele mente herauszufischen Nun wird je nach Parameter die eine oder die andere Schalterstel lung gezeichnet 4 Software 67 CreateScreen U32 screen BOOL result TRUE NO Switch type Result FALSI break
122. ung Die Grafikbibliothek nutzt nun intern die kalibrierten Da ten Eine Ber hrung an der Stelle X Y z B 30 120 hat nun zur Folge dass die abgefrag ten Koordinaten auch X Y 30 120 sind und nicht mehr die Ausgangswerte des D A Umsetzers Bild 4 1 zeigt die Bildschirmausgabe der Kalibrierungsfunktion Die Eingabe funktioniert allerdings auch mit gesch tzten Werten f r den D A Umsetzer Nach ber hren der Ko ordinate oben links erscheint ein weiterer Punkt unten rechts Sollte diese Genauigkeit nicht ausreichen k nnen weitere Messpunkte oben rechts und unten links gew hlt werden um ber eine Mittelung eine exakte Koordinatenbestimmung zu bekommen Press here upper left position Runtime calibration please touch the screen at the center of the ring Bild 4 1 Kalibrierung des Touchscreen 22 Quellcode touch c touch h 4 Software 46 4 2 Men Die Men struktur sollte von dem Vorg ngermodell bernommen werden Da es sich hier bei jedoch um ein monochromes Display handelt welches keine Men struktur an sich hat muss die Struktur von Grund auf neu berdacht werden Das alte Men lie sich lediglich ber vier Tasten steuern die je nach Men punkt andere Funktionen bekommen haben In Bild 4 2 sind Beispielhaft die Funktionen SCHUTZ ALARM und ENDE aufgef hrt die sich ergeben wenn man in den Men punkt Display anw hlt Es ist somit nicht m glich ein zelne Seiten direkt anzuw hlen Ei
123. us geschickt In der Regel handelt es sich hier eher um kleinere Datenmengen Die Tabelle 5 1 zeigt einen Entwurf des Bus Protokolls welcher in Zusam menarbeit mit den Entwicklern f r die MU und CU entstanden ist Tab 5 1 CAN ID Range CANID Name Amount Bytes CAN Cycle Unit Sender Receiver Range Objects ms 0 20 Firmware Update 20 CU MU GU 100 101 MU Event data 128 Events 16 2 Event Bits MU CU GU 110 199 CU Event data 5000 Events 625 80 Event Bits CU MU GU 1000 1009 MU Measure data FAST 8x U16 16 2 100 MU CU GU 1010 1029 MU Measure data SLOW 40 x U16 80 10 250 MU CU GU 1030 1049 MU Calibration Data 10 MU GU 1050 1079 MU DEBUG Data 20 MU GU 1100 1199 CU Process data 8x U16 16 100 CU MU GU 1200 1299 GU User Interface data 100 1500 1509 Parameter System start 10 CU MU GU 1510 1519 Parameter 10 CU MU GU Communication 1520 1529 Parameter GU Editor 10 GU CU MU 1530 1539 Parameter MU Calibration 10 MU CU GU 6 Speicher 74 6 Speicher Dem System steht neben dem Mikrocontroller internen Speicher zus tzlich der externe RAM zur Verf gung Dieser wurde mit der Startadresse 0xA0025800 und einer Gr e von 153600 Byte 0x1FDAS800 direkt an das System angebunden p Vision Options for Target Target Der Speicherbereich von der Adresse 0xA0000000 bis zur Adresse 0xA0025800 wurde f r den LCDC als Frame buffer freigehalten befindet sich somit im An fangsbereich des externen
124. von Rot und Blau verbunden und ziehen diese auf Low da die Displays alle ein 18 Bit Interface besitzen der Controller das Display aber nur mit 16 Bit ansteuert MMM A s a S Bild 3 8 Adapter a Seitlich b Oberseite Pin 1 vom Display ist mit dem Pfeil markierten Pin 1 des Adapters verbunden s Bild 3 9 Die Verkabelung erfolgt weiter in n rdlicher Richtung Die Pinbelegung des LCD Expansi on Connectors ist in dem Schaltplan des Evaluationboard ersichtlich a DA 0 amp OL 0 OG 22 0 Q 3234 66 55 40 42 44 46 48 60 05600901 15e909 2 23 6 5153 0656769 9 43 45 47 4 b ODD eo A OMODOe DS LL Ses Gao 000 000 00 0908 OOO Gaz Bild 3 9 Pinbelegung des Adapters a Expansion Connector b LCD Connector Bild 3 10 zeigt das Evaluationboatd Der gr ne Pfeil markiert das von der Tastatur kom mende Flachbandkabel welches auf die interruptfahigen GPIO Eing nge der Platine geht Da die internen Pins f r die CAN Verbindung schon reserviert sind ist es n tig die Signale ber zwei externe Leitungen roter Pfeil umzuleiten Da kein direkter Zugriff auf die Lei tungen des Tranceivers m glich ist wurden die Leitungen an einen Jumper angeschlossen Somit entspricht die Pinbelegung die der CMA302 und es ist keine Anpassung der Software beim Umstieg auf die Grafikkarte n tig 3 Hardwareplattform 36 Aufgrund der schlechten EMV ist eine zus tzliche Abschirmung f r d
125. x2 koord r x1 x2 Pen size Backgroundcolor Foregroundcolor Reserve Elementnumber Value y koord x koord GrafikID Screen Number Typidentification 6 font Reserve Backgroundcolor Foregroundcolor Link to Parameter Elementnumber zy Sc ay ay T 10 180 11 2270 EH 7 SEH SC SC P4 d ay SCH SC Al el y ur Ey uA Z Ef Ef 7 SS SCH ay Ef SC ud SC SCH EL Za el ef E S 84 struct U32 U32 U32 U32 U32 U32 U32 U32 U8 Y x reserve screen type reserve2 bgcolor fgcolor text e text struct U32 U32 U32 U32 U32 U32 U32 U32 U32 U32 U32 U32 U32 y x id ol screen type reserve textbox state font bgcolor fgcolor param num is NY 1 C AO Ne Ne Ne Me oe oo Ne Ne Ss NW JO Wo Se Ne Ne Ne Ne Ne Ne Ne Me Ne D OT y F5 p gm D Ne 16 Leo e textbox struct U32 U32 U32 U32 U32 U32 U32 U32 U32 U32 U32 U32 U32 U32 struct y x id screen type height width strength bgcol fgcol LOT LOI value font type2 param e progbar U32 dwordl U32 dword2 U32 dword3 insert elemente LCD PARAMETER SD 3 CO MO Ne Ne Ne Me oe GU UT Ee SCH XO se Ne Ne gt Ot 63 oy CO Ne Ne Me Ne ER fr fr
126. z garantiert werden Farbdisplays F r eine farbige Anzeige ist es n tig jedes Pixel in drei Subpixel zu unterteilen Rot Gr n Blau Durch die in der Informationstechnik genannte additive Farbmischung kann durch die Ansteuerung der einzelnen Subpixel jede beliebige Farbe erzeugt werden Hierbei ist die Intensit t der einzelnen Pixel von Bedeutung Eine berlagerung verschiedener Pixel f hrt zu unterschiedlichen Farben W hrend das Einschalten aller Pixel mit der gr tm glichen Intensit t zu der Farbe wei f hrt f hrt ein Ausschalten der drei Subpixel zu einem schwarzen Punkt Diese Art der Farbkodierung erm glicht maximal 274 unterschiedliche Farben Als hexadezimaler Wert umgesetzt k nnen diese von einer Grafikkarte oder einem LCD Controller an den Bildschirm gesendet werden 11 Ansteuerung Die hier genutzten TFT Displays ben tigten drei verschiedene Takte f r den Betrieb Ne ben dem invertierten Takt wird eine horizontale Synchronisation H Sync und eine vertika le Synchronisation V Sync ben tigt Wird es ber eine externe Beschaltung oder Register 5 Entdeckt 1988 von dem sterreichischen Botaniker Friedrich Reinizer 2 Grundlagen 14 nicht anders angegeben werden f r das darstellen der Daten mit jedem Takt an den 18 Far being ngen bei 18 Bit Interfaces bzw 24 Farbeing nge bei einem 24 Bit Interface die In formationen vom LCDC an das Display gesendet
Download Pdf Manuals
Related Search
Related Contents
Sony VGN-NS205N/S User's Guide Avisos e garantia - Epson America, Inc. KAPA・ブレードセット Samsung MM-DJ740 User Manual カタログダウンロード Manual - PSKmail Fusion Remote & Fusion Remote Black.indd KUDA 078280 holder Copyright © All rights reserved.
Failed to retrieve file