Home

Praktikumsanleitungen

image

Contents

1. bool ret_val 0 unsigned char mask 0 switch port return case 1 mask PINB amp bit_pos break case 2 mask PINC amp bit_pos break case 3 mask PIND amp bit_pos break if mask 0 ret_val 1 return ret_val xi Definition Main Funktion Kompiler Linker Einstellungen Erweiterte Einstellungen Extras AVR Hinclude lt avr io h gt a include Controller h Controller app 0x12 0x33 VL Echtzeitsysteme Praktikumsanleitungen Stand 01 04 15 Versuch 3 Statische Codeanalyse und Moduldiagramme C 1 4 Versuchsziele Kennlernen und Anwenden der Tools Splint PC lint und Cppcheck in Mikrocontrollerprojekten mit dem Compiler MPLAB C18 Erstellung einer einfachen Anwendung auf der Basis eines Moduldiagramms Wiederholungsfragen Wodurch unterscheiden sich statische und dynamische Tests Nennen Sie Fehlerarten die mit statischer Codeanalyse gefunden werden k nnen Welche Diagrammelemente werden in Moduldiagrammen verwendet Versuchsvorbereitung Wiederholen Sie die Vorgehensweise zur Erstellung einer Mikrocontrolleranwendung mit MPLAB X und dem Compiler C18 Verschaffen Sie sich einen berblick ber die Tool Splint Machen Sie sich mit der Bedienung des Modellierungs Tools BOUML vertraut Nutzen Sie dazu die Freeware Version und das C Beispiel Video Aufgaben a Starten Sie als erstes den Kommandozeileninterpreter cmd und kontrollieren Sie dass die Auf
2. Abbildung Signal E_Clock1 RS_Clock2 E81 L Data 0 DataO DO Stellen Sie die Sample Rate auf 200MHz und die Logic Threshold auf 2 5V Aktivieren Sie den Timing Mode und stellen Sie als Triggerbedingung einen Schreibzugriff mit dem Zeichen H 48h ein Sample Mode Setup Timing Mode Internal Sample Clock State Mode External Sample Clock Falling edge of CLK1 IV Sample only when qualifier CLK2 is High Base time scale on a clock Frequency z of IV Enable Compression Pre Fill Time Limit 30sec Post Fill Time Limit 30sec Sample data on the Apply 11 VL Echtzeitsysteme Praktikumsanleitungen Stand 01 04 15 Trigger when level amp is satisfied I Prequalify Pattern Value Terms r Level A conditions IV Edge A occurs 1 time s Cumulative while IV Pattern A is True x and IV Value of D ata 7 0 is Equal to 72 2 200E 7 2 200E 7 Seconds For duration Lessthan r Level B conditions IV EdgeB occurs oi timels Consecutive T Pattern B is Tue E IV Value of Datal7 0 is Equalto II 72 T For duration Lessthan 1E6 1E 6 Seconds Y sy Starten Sie eine Aufzeichnung und kontrollieren Sie die Einhaltung des im Datenblatt spezifi zierten Timings f r einen Schreibzugriff auf das Data Register d Deaktivieren Sie den Trigge
3. Nicht ANSI C Schl sselworten Drom Dram Dnear Dfar Include Pfad f r Header Dateien IC Programme Microchip mplabc18 v3 47 h Ausschalten von PIC Header Meldungen declundef Test auf reservierte ISO Bezeichner ausschalten isoreserved Simulieren Sie das Programm und testen Sie den Quellcode mit Splint PC lint und Cppcheck Wechseln Sie dazu im Kommandozeileninterpreter in Ihren Projekt Pfad Kommando cd Z B Projektpfad D pic Quelldatei lint_tst c D pic gt splint lint_tst c gt lint txt D pic gt lin lint_tst c Es empfiehlt sich die Ausgabe Dateien lint txt und _LINT TMP in jeweils einem Fenster in MPLAB X anzuzeigen Korrigieren Sie das Programm c ndern Sie den Vergleich in der if Struktur in eine Zuweisung und wiederholen Sie die stati schen Tests d L schen Sie den else Zweig und wiederholen Sie die statischen Tests e F hren Sie Tests auf Array Index Fehler durch z B mit folgendem Beispiel void main void int lauf char feld 10 feld 20 A for lauf 0 lauf lt 10 lauf VL Echtzeitsysteme Praktikumsanleitungen Stand 01 04 15 feldflauf A for f Entwerfen Sie mit dem Tool BOUML eine Projekt Architektur mit den Modulen Controller Tas ter und Led siehe Vorlesung Es soll bei Dr cken der Taste am Port Pin RBO eine LED am Port Pin RCO eingeschaltet werden ffnen Sie als erstes nach dem Start von BOUML das Standard C Projekt C p
4. Nutzung des AD Wandlers und der LCD Anzeige bereitstellen siehe Icd h und ra0 h Zur Konvertierung des Binarwertes vom AD Wandler in ASCII Darstellung bietet sich die Nutz ung der Funktion void itoa static int static char stdlib h sowie zur Ermittlung der Stringlange die Nutzung der Funktion size_t strlen auto const char s string h an Programmieren Sie f r die Anzeige auf dem LCD eine getrennte Task task_adc c Die Uber gabe des Anzeige Strings soll mittels einer Queue erfolgen Programmieren Sie die Deklaration der Queue Handle Variable Schl sselwort extern in eine eigene Header Datei queue_sys tem h VL Echtzeitsysteme Praktikumsanleitungen Stand 01 04 15 Versuch 2 UML und Objektorientierung 1 Versuchsziele Kennenlernen eines UML basierten Entwurfsprozesses mit Codegenerierung am Beispiel der Hardware myAVR Mk2 und der Entwicklungs Software SiSy3 AVR 2 Wiederholungsfragen Nennen Sie Diagramm Typen der UML f r die Darstellung des statischen und dynamischen Verhaltens eines Systems Erl utern Sie die Assoziationen Generalisierung Spezialisierung und Aggregation 3 Versuchsvorbereitung Wiederholen Sie die Themen Klassen und Vererbung unter C Verschaffen Sie sich einen berblick ber das Tool SiSy AVR mit Hilfe der Demo Version von der Internet Seite des Herstellers 4 Aufgaben a Legen Sie auf Laufwerk D eine Verzeichnis sisy mit zwei Unterverzeichnissen projekte und archive an Verbinde
5. VL Echtzeitsysteme Praktikumsanleitungen Stand 01 04 15 Versuch 1 FreeRTOS 1 4 a Versuchsziele Programmierung eines kleinen RTOS Projektes Kennenlernen einiger Mechanismen von Multi Tasking Systemen zyklische Tasks Queues Wiederholungsfragen Was versteht man unter einem preemtiven und einem non preemtiven Scheduler Nennen Sie die Bestandteile eines prioritatsbasierten preemptiven Schedulers Nennen und erlautern Sie die Zustande die eine Task einnehmen kann Versuchsvorbereitung Wiederholen Sie die Vorgehensweise zur Erstellung einer Mikrocontrolleranwendung mit MPLAB X und dem Compiler C18 Verschaffen Sie sich einen Uberblick Uber die Nutzung des Kernels FreeRTOS und den Micro chip PlCmicro PIC18 RTOS Port Testen Sie das Programmbeispiel Blinky aus der Vorlesung Legen Sie dazu ein entsprechen des Projekt unter MPLAB X an Aufgaben Modifizieren Sie das Projekt Blinky derart dass jede Task in einer eigene Quelldatei gespei chert wird Programmieren Sie dazu auch eine Haeder Datei task_system h welche die Proto typen der Tasks und Deklarationen der xTaskHandle Schl sselwort extern enth lt b Programmieren Sie eine weitere Task task_adc c welche zyklisch f nf mal pro Sekunde O lt einen Analog Wert vom Eingang RAO lie t und diesen im LCD Display anzeigt Binden Sie dazu die zwei vorkompilierten Objektdateien Icd o und ra0 o in Ihr Projekt ein wel che Ihnen Funktionen zur
6. en Sie f r die n chsten Schritte das Benutzerhandbuch SiSy Entwerfen Sie die Systemstruktur f r eine Software auf dem Mikrocontroller bei der durch Dr cken eines Tasters eine LED eingeschaltet wird Seite 88 Danach ist das Systemverhalten der Klassen Methoden zu programmieren Testen Sie das erstellte Mikrocontroller Programm O lt Die objektorientierte Struktur der Software soll jetzt verbessert werden Es soll dazu eine Klas se IOPin programmiert werden welche f r die Verwaltung der Pin Information zust ndig ist und Ihre Eigenschaften an die Klassen Taster und Led vererbt Das Attribut port der Klasse IOPin speichert die Port Information B 1 C 2 D 3 des verwendeten I O Pins das Attribut bit_pos enth lt f r den verwendeten Port Pin 0 7 an der entsprechenden Bitstelle eine 1 Weiter soll die Initialisierung der Objekte app led_rot und taster_1 ber parametrisierte Kon struktoren erfolgen so dass keine Init Methoden verwendet werden VL Echtzeitsysteme Praktikumsanleitungen Stand 01 04 15 Controller run void Controller taster_pin uint8_t led_pin Led led_rot taster1 Taster on void off void Led led_pin uint8_t Taster taster_pin uint8_t is_pressed bool RN IOPin bit_pos uint8_t port uint8_t IOPin pin_code uint8_t dir bool read bool wri
7. essen Sie die Zeitverz gerung zwischen den Prell Ereignissen mit Hilfe der Trace Aufzeichnung Setzen Sie dazu auf die zwei Befehlszeilen in der Interrupt Funktion je einen Toggle Trace Start Trigger und einen Toggle Trace Stop Trig ger g SchlieBen Sie zum Beenden zunachst die Debugger Software Entfernen Sie dann als erstes die Versorgungsspannung an der Target Leiterplatte und danach erst am ICE VL Echtzeitsysteme Praktikumsanleitungen Stand 01 04 15 Versuch 5 Logikanalyse 1 Versuchsziele Anwendung eines Low Cost Logikanalysators zur Verifikation von Timing und Funktionsweise von typischer Mikrocontroller Peripherie Timing und Zustandsanalyse an einer parallelen Schnittstelle zu einem Punkt Matrix LCD Timinganalyse an der seriellen I C Schnittstelle 2 Wiederholungsfragen Nennen und erlautern Sie die zwei Grundbetriebsarten eines Logikanalysators Nennen Sie die drei wichtigsten Kriterien durch welche die Leistungsfahigkeit eines Logikana lysators charakterisiert werden kann 3 Versuchsvorbereitung Wiederholen Sie die Vorgehensweise zur Erstellung einer Mikrocontrolleranwendung mit MPLAB X und dem Compiler C18 Machen Sie sich vertraut mit der Ansteuerung eines Punkt Matrix LCD sowie von IIC Slave Bausteinen durch einen PIC Mikrocontroller siehe u a Arbeitsmaterial und Praktikumsaufga ben zur Vorlesung Mikrocontrollerpraxis 4 Aufgaben a Starten Sie die Software LogicPort In der Hilfe finden Sie un
8. n Sie die Hardware mit dem USB Kabel und starten Sie die Software Si Sy3 AVR Legen Sie ein neues Projekt an W hlen Sie das AVR Vorgehensmodell Als Pro grammer ist mySmartUSB MK2 COM5 auszuw hlen Der Quarztakt betr gt 3 6864 MHz Im Dialog Diagrammvorlagen ist keine Vorlagen verwenden auszuw hlen Ziehen Sie das Symbol Klassendiagramm auf Ihr Arbeitsblatt Im Dialog Klassendiagramm mu ein Name eingegeben werden Die Optionen Fast UML sowie auf dem Tab Extras AVR myAVR Controllcenter nach Erstellung starten sind zu deaktivieren ber den Men punkt Nach unten ffnen im Kontext Men des Klassendiagramms gelangt man in den Editier Modus Im Dialog Diagrammvorlagen ist wieder keine Vorlagen verwenden auszuw hlen Ziehen Sie eine Klasse auf das Arbeitsblatt und geben Sie ihr den Namen Controller Fugen Sie in die Klasse zwei Operationen Zugriff public mit den Namen main und run ein F gen Sie als n chstes ein Objekt ein welches als Instanz Ihrer zentralen Anwendungsklasse genutzt wird und vergeben Sie einen geeigneten Namen Selektieren Sie die Klasse Controller und ziehen Sie mit der Maus eine Verbindung vom roten Verteiler zu Ihrem Objekt Es wird eine Assoziation mit der Beschriftung lt lt instanceOf gt gt erstellt ber das Aktionsmen kann das Projekt jetzt erzeugt und kompiliert werden 2 Erstellen Schauen Sie sich in Ihrem Projekt Ordner die erstellten cpp und h Quelldateien an b Nutz
9. r und wechseln Sie in den State Mode und starten Sie eine neue Aufzeichnung Sample Mode Setup Timing Mode Internal Sample Clock State Mode External Sample Clock Sample data on the Falling edge of CLK1 V Sample only when qualifier CLK2 is High Base time scale on a clock Frequency of 1 000000E 3 Hz Enable Compression Pre Fill Time Limit 30sec Post Fill Time Limit 30sec Apply e Erg nzen Sie Ihre Testanwendung zur Ansteuerung der IIC Peripherie Nutzen Sie dazu die gegebenen Funktionen aus dem Arbeitsmaterial zur VL Mikrocontrollerpraxis zum Schreiben und Lesen eines Bytes ber den IIC Bus sowie zur Initalisierung folgende Funktion void init_i2c void SSPCONIbits SSPM3 1 SSPADD 49 SSP Baud Rate Reload Register in 12C Master Mode SSPCONIbits SSPEN 1 12 VL Echtzeitsysteme Praktikumsanleitungen Stand 01 04 15 Erganzen Sie die folgenden Symbole zur Adressierung sowie die Endlosschleife der Funktion main define WRITE_LED_7SEGMENT 0x40 Adr 0x20 R W Bit 0 define READ_SWITCH Ox4F Adr 0x27 R W Bit 1 write_i2c WRITE_LED_7SEGMENT read_i2c READ_SWITCH Erg nzen Sie in der Signalkonfiguration der Software LogicPort entsprechend folgender Abbil dung einen I2C Interpreter 12C SDA L x 1 SCL x 4 13
10. rj aus dem Ver zeichnis C Program Files Bouml C und speichern Sie dieses unter einem neuen Namen auf dem Laufwerk D ab Im Projekt Browser wird zun chst ein leeres package mit Ihrem Projekt Namen angezeigt Le gen Sie darunter ein class view Objekt und ein class diagram Objekt an Im Klassen Dia gramm k nnen Sie nun die Systemstruktur Module Controller Led Taster p18f4520 entwer fen Legen Sie nun auf Laufwerk D mit MPLAB X ein neues Projekt an ffnen Sie in BOUML durch Doppelklick auf das package Objekt den Package Dialog Geben Sie auf dem Tab C in den Eingabefeldern header directory und sources directory den Da tei Pfad f r die Quelldateien in Ihrem MPLAB X Projekt ein Zur Code Generierung sind zwei Aktivit ten erforderlich Als erstes ist im Kontext Men des class view Objektes die Aktion Tool Deploy classes auszuf hren und danach im Kontext Me n des package die Aktion Generate C Binden Sie die erzeugten Quelldateien in ein MPLAB X Projekt ein und testen Sie dieses auf der PIC18F4520 Hardware VL Echtzeitsysteme Praktikumsanleitungen Stand 01 04 15 Versuch 4 In Circuit Emulation 1 Versuchsziele Anwendung eines ICE bei Softwaretest und Fehlersuche am Beispiel des PICE MC der Firma Phyton 2 Wiederholungsfragen Nennen Sie Tools f r den dynamischen Softwaretest in Mikrocontrollersystemen Welche Debugger Funktionen bietet ein In Circuit Emulator Welche Vor und Nach
11. rufpfade f r die Ausf hrung der Tools Splint und PC lint in der Umgebungsvariable PATH vor handen sind C splint 3 1 2 bin C lint Geben Sie dazu an der Kommandozeile den Befehl path ohne Parameter ein Bei Bedarf kann die Umgebungsvariable PATH unter Windows in den Systemeigenschaften ge ndert werden sysdm cpl b Starten Sie MPLAB X und legen Sie auf Laufwerk D eine neues Projekt f r den Mikrocontroller PIC18F4520 an Kontrollieren Sie dass in den Projekteinstellungen f r den Compiler die Option Enable integer promotions aktiviert ist Codieren Sie das Beispiel aus der Vorlesung Bit Muster f r Start inverses Muster f r Stop define START 0x55 0101 0101 define STOP START Bitweise Invertierung void main void char temp temp2 unsigned char mask START for if mask STOP temp P else temp A temp2 temp mask mask Speichern Sie eine Optionsdatei splintrc mit folgendem Inhalt in Ihrem Projektverzeichnis Mode Selector Flag weak VL Echtzeitsysteme Praktikumsanleitungen Stand 01 04 15 standard checks strict Formatierung der Ausgabe showfunc showcol linelen 60 Unterdr ckung einer Warnung wenn main void zur ckliefert Standard int maintype Test auf Speicherzugriffsverletzung einschalten bounds wenn logische Bedingung int Typ keine Warnung z B while 1 predboolint Unterdr ckung von
12. tch Fenster c Konfigurieren und Testen Sie einen Breakpoint bei schreibendem Zugriff auf eine der Varia blen d Entfernen Sie den Daten Breakpoint wieder und konfigurieren Sie einen komplexen Breakpoint welcher die Programmausf hrung nur stoppt wenn ein bestimmter Wert in die Variable ge schrieben wird e ffnen Sie das Tracer Fenster und verschaffen Sie sich einen berblick ber die Aufzeich nung f Entfernen Sie die Tasterabfrage aus der Endlos Schleife in der main Funktion und Program mieren Sie einen Interrrupt Funktion f r das Taster Signal an RBO void init_ext_int void RCONbits IPEN 1 enable interrupt priority INTCONbits GIEH 1 enable high priority interrupts INTCONbits INTOIE 1 Enables the INTO external interrupt INTO ist immer high priority INTCON2bits INTEDGO 0 0 Interrupt on falling edge JEF EEEE EEE TE E RE E AEE E ENE HE A AE E EE E AE EE E ERAS ESE AE ELE RR TETE E AEE E EERERE RES pragma interrupt high_isr void high_isr void VL Echtzeitsysteme Praktikumsanleitungen Stand 01 04 15 LATAbits LATAO LATAbits LATAO INTCONbits INTOIF 0 DSPERE REAPER E RES SRE SSARAAAL ARES SERS AA AAAS RCA ERE SEA REAR ERE RE RSS Interrupt Vektor hohe Priorit t a ENTE DEE o a a a E i a A pragma code high_vector 0x08 void interrupt_at_high_vector void _asm GOTO high_isr _endasm pragma code Testen Sie ob Taster Prellen auftritt und m
13. te bit_val bool void Controller uint8_t taster_pin uint8_t led_pin Controller Controller uint8_t taster_pin uint8_t led_pin taster 1 taster_pin led_rot ed_pin I x Definition Statements info Led Led uint8_t led_pin VL Echtzeitsysteme Praktikumsanleitungen Stand 01 04 15 Taster uint8_t taster_pin xi Taster Taster uint8_t taster_pin ee pin 1 al P IOPin lOPin uint8_t pin_code bool dir port pin_code gt gt 4 dir 8 bit_pos 1 lt lt OxOF amp pin_code switch port DDR Bit setzen f r Eingang case 1 DDRB DDRB bit_pos break case 2 DDRC DDRC bit_pos break case 3 DDRD DDRD bit_pos break DDR Bit l schen f r Ausgang PORT Bit setzen f r Pullup case 9 DDRB DDRB amp bit_pos PORTB PORTB bit_pos break case 10 DDRC DDRC amp bit_pos PORTC PORTC bit_pos break case 11 DDRD DDRD amp bit_pos PORTD PORTD bit_pos break port pin_code gt gt 4 void IOPin write bool bit_val unsigned char val_port port bit_val 8 switch val_port PORT Bit l schen case 1 PORTB PORTB amp bit_pos break case 2 PORTC PORTC amp bit_pos break case 3 PORTD PORTD amp bit_pos break PORT Bit setzen case 9 PORTB PORTB bit_pos break case 10 PORTC PORTC bit_pos break case 11 PORTD PORTD bit_pos break bool IOPin read
14. teile hat ein In Circuit Emulator gegen ber einem In Circuit Debugger Welche unterschiedlichen M glichkeiten gibt es den Emulationsprozessor f r einen In Cir cuit Emulator zu realisieren 3 Versuchsvorbereitung Wiederholen Sie die Vorgehensweise zur Erstellung einer Mikrocontrolleranwendung mit MPLAB X und dem Compiler C18 4 Aufgaben a Stecken Sie als erstes den Emulator auf den Targetadapter auf der Zielhardware und verbin den Sie den ICE mit dem PC und der Versorgungsspannung 3 3V Verbinden Sie erst danach die Target Leiterplatte mit der Versorgungsspannug Starten Sie nun die Software PICE MC In Circuit Emulator Verschaffen Sie sich als erstes einen berblick ber die M glichkeiten der Hardware Konfiguration Men Configure Hardware configuration W hlen Sie den Chip PIC18F4520 und als Clock Generator die Option External HS b Starten Sie nun MPLAB X und legen Sie ein kleines Projekt auf LW D an welches bei Bet ti gung des externen Tasters RBO die LED RAO ein oder ausschaltet Laden Sie das Pro gramm in den Emulator Men File load program for debugging File format COFF und tes ten Sie es im Einzelschritt und Run Modus Legen Sie zwei globale Variablen vom Typ volatile int an welche jeweils im if bzw else Zweig inkrementiert werden Nach jeder Softwareanderung in MPLAB ist im Debugger die Software mit Re load neu zu la den Boabachten Sie die Anderung der Variablen zur Programmlaufzeit im Wa
15. ter Anh nge die Anschlussbele gung des Logikanalysators Verbinden Sie die Logikanalysator Kan le mit dem SUT entspre chend folgender Tabelle Logikanalysator Kan le SUT DO D7 DO D7 am LCD Modul D8 D9 D10 E RW RS am LCD Modul CLK1 CLK2 E RS am LCD Modul D11 D12 SDA SCL am l C Peripherie Modul b Programmieren Sie eine Testanwendung auf der Basis der gegebenen Funktionen des Prakti kumsversuchs LCD Ansteuerung mit paralleler Schnittstelle zur VL Mikrocontrollerpraxis Nutzen Sie zur Initialisierung des LCD folgende Funktion void init_Icd void Reset Output Value on Port E and Port D LATE 0 LATD 0 Port E Digital l O ADCON 1bits PCFG3 1 ADCON bits PCFG2 0 ADCON bits PCFG1 1 ADCONbits PCFGO 0 TRISEbits TRISEO 0 TRISEbits TRISE1 0 TRISEbits TRISE2 0 wait_for_busy Set 8 bit Interface 2 line 5x7 dots displ_write instr_reg 0600111000 Display On Cursor Off Blinking Off displ_write instr_reg 0600001 100 Display Clear 10 VL Echtzeitsysteme Praktikumsanleitungen Stand 01 04 15 displ_write instr_reg 0600000001 Geben Sie in der Endlos Schleife der main Funktion jeweils ein Zeichen in jeder Zeile aus displ_write instr_reg 0x80 displ_write data_reg H displ_write instr_reg OxCO displ_write data_reg F a ao c Konfigurieren Sie die Signale und Gruppen zur Erfassung entsprechend folgender

Download Pdf Manuals

image

Related Search

Related Contents

フロン類回収業者の登録について    HSE130 - Pratique de l`étude des risques en entreprise  voir mode d`emploi - Festival du Film Court de Troyes  Ink Tools für Adobe Photoshop Benutzerhandbuch  Décalogue mode d`emploi  Manuel d`Installation  THE BRIDGE IIIP  

Copyright © All rights reserved.
Failed to retrieve file