------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 10_1 - Comunicazione seriale Bidirezionale tra schede Launchpad e/o PC
Trasmissione e ricezione di semplici comandi tra scheda e pc
OBIETTIVI DISCIPLINARI
- Utilizzo dell'Uart
- Riorganizzazione del codice precedentemente scritto come libreria
PROCEDIMENTO / SPECIFICHE INIZIALI
- alla pressione del pulsante 1 viene inviato il comando 'r'; alla pressione del pulsante 2 viene inviato il comando 'b'; alla pressione del pulsante 1 e 2 viene inviato il comando 'g'; alla ricezione del comandi: 'r' -> accende il led rosso; 'b' -> accende il led blu; 'g' -> accende il led verde;
- da Pc inviare i comandi 'r', 'g', 'b' per comandare la launchpad
GRIGLIA DI VALUTAZIONE:
[3 punti] - relazione: premesse teoriche/specifiche - descrizione dell'uart, della trasmissione rs232, descrizione del blocco uart presente all'interno del microcontrollore Tiva
[2 punti] - relazione: diagramma di flusso (Main, UartTaskTx, UartTaskRx)
[3 punti] - implementazione del codice in C (Main, UartTaskTx, UartTaskRx)
[1 punto] - convenzioni di scrittura codice (intestazione, commenti, nomi var, ...)
[1 punto] - relazione: collaudo
RIFERIMENTI
- slide del corso
- [PDF] Tiva™ C Series TM4C123G LaunchPad Evaluation Board - User Guide
- [PDF] Tiva™ C Series TM4C123GH6PM Microcontroller Data Sheet (Rev. E)
- http://users.ece.utexas.edu/~valvano/Volume1/E-Book/C11_SerialInterface.htm
- Convenzioni per la scrittura di codice C nei sitemi embedded
- https://github.com/filippo-bilardo
OBIETTIVI DISCIPLINARI
ESERCITAZIONE 10_1 - Comunicazione seriale Bidirezionale tra schede Launchpad e/o PC
Trasmissione e ricezione di semplici comandi tra scheda e pc
OBIETTIVI DISCIPLINARI
- Utilizzo dell'Uart
- Riorganizzazione del codice precedentemente scritto come libreria
PROCEDIMENTO / SPECIFICHE INIZIALI
- alla pressione del pulsante 1 viene inviato il comando 'r'; alla pressione del pulsante 2 viene inviato il comando 'b'; alla pressione del pulsante 1 e 2 viene inviato il comando 'g'; alla ricezione del comandi: 'r' -> accende il led rosso; 'b' -> accende il led blu; 'g' -> accende il led verde;
- da Pc inviare i comandi 'r', 'g', 'b' per comandare la launchpad
GRIGLIA DI VALUTAZIONE:
[3 punti] - relazione: premesse teoriche/specifiche - descrizione dell'uart, della trasmissione rs232, descrizione del blocco uart presente all'interno del microcontrollore Tiva
[2 punti] - relazione: diagramma di flusso (Main, UartTaskTx, UartTaskRx)
[3 punti] - implementazione del codice in C (Main, UartTaskTx, UartTaskRx)
[1 punto] - convenzioni di scrittura codice (intestazione, commenti, nomi var, ...)
[1 punto] - relazione: collaudo
RIFERIMENTI
- slide del corso
- [PDF] Tiva™ C Series TM4C123G LaunchPad Evaluation Board - User Guide
- [PDF] Tiva™ C Series TM4C123GH6PM Microcontroller Data Sheet (Rev. E)
- http://users.ece.utexas.edu/~valvano/Volume1/E-Book/C11_SerialInterface.htm
- Convenzioni per la scrittura di codice C nei sitemi embedded
- https://github.com/filippo-bilardo
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 9_1 - SensoreParcheggio
Usare i timer in modalità cattura
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 8_1 - SensoreParcheggio
In sensore ultrasuoni andrà montato sopra un servo motori che ruoterà d 180°
OBIETTIVI DISCIPLINARI
- utilizzo dei timer in modalità pvm
- i servo motori
PROCEDIMENTO / SPECIFICHE INIZIALI
Fase2: Generazione di un segnale periodico con parte alta 10ns e periodo 20ms
- Utilizzare il timer in modalità pwm
- i servo motori
PROCEDIMENTO / SPECIFICHE INIZIALI
Fase2: Generazione di un segnale periodico con parte alta 10ns e periodo 20ms
- Utilizzare il timer in modalità pwm
RIFERIMENTI / LINK
- [PDF] Tiva™ C Series TM4C123G LaunchPad Evaluation Board - User Guide
- [PDF] Tiva™ C Series TM4C123GH6PM Microcontroller Data Sheet (Rev. E)
- slide corso
- I servomotori
- https://atmos.colostate.edu/ECE251/Lectures/Lecture18.pdf
- https://atmos.colostate.edu/ECE251/Lectures/Lecture19.pdf
- https://sites.google.com/site/luiselectronicprojects/tutorials/tiva-tutorials/tiva-general-purpose-timers
- [PDF] Tiva™ C Series TM4C123G LaunchPad Evaluation Board - User Guide
- [PDF] Tiva™ C Series TM4C123GH6PM Microcontroller Data Sheet (Rev. E)
- slide corso
- I servomotori
- https://atmos.colostate.edu/ECE251/Lectures/Lecture18.pdf
- https://atmos.colostate.edu/ECE251/Lectures/Lecture19.pdf
- https://sites.google.com/site/luiselectronicprojects/tutorials/tiva-tutorials/tiva-general-purpose-timers
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 7_1 - SensoreParcheggio
Implementare un sensore di parcheggio che rilevi la distanza di un oggetto tramite sensore ad ultrasuoni
OBIETTIVI DISCIPLINARI
- utilizzo dei timer in modalità oneshot e periodic
- i sensori ad ultrasuoni
PROCEDIMENTO / SPECIFICHE INIZIALI
Fase1: Generazione di un segnale periodico con parte alta 10us e periodo 50us
- Utilizzare il timer1 per abilitare periodicamente (50us) la generazione dell'impulso (10us)
- Utilizzare il timer0 per generare un impulso (timer one shot) di 10us
- Pilotando uno dei led della scheda e impostando come tempi 100ms e 1sec è possibile testare i timer senza oscilloscopio
RIFERIMENTI / LINK
- [PDF] Tiva™ C Series TM4C123G LaunchPad Evaluation Board - User Guide
- [PDF] Tiva™ C Series TM4C123GH6PM Microcontroller Data Sheet (Rev. E)
- slide corso
- Datasheet del sensore ultrasuoni SFR05
- http://coder-tronics.com/stellaris-timer-example/
- https://sites.google.com/site/luiselectronicprojects/tutorials/tiva-tutorials/tiva-general-purpose-timers
-------------------------------------------------------------------------------------------------------------
- i sensori ad ultrasuoni
PROCEDIMENTO / SPECIFICHE INIZIALI
Fase1: Generazione di un segnale periodico con parte alta 10us e periodo 50us
- Utilizzare il timer1 per abilitare periodicamente (50us) la generazione dell'impulso (10us)
- Utilizzare il timer0 per generare un impulso (timer one shot) di 10us
- Pilotando uno dei led della scheda e impostando come tempi 100ms e 1sec è possibile testare i timer senza oscilloscopio
RIFERIMENTI / LINK
- [PDF] Tiva™ C Series TM4C123G LaunchPad Evaluation Board - User Guide
- [PDF] Tiva™ C Series TM4C123GH6PM Microcontroller Data Sheet (Rev. E)
- slide corso
- Datasheet del sensore ultrasuoni SFR05
- http://coder-tronics.com/stellaris-timer-example/
- https://sites.google.com/site/luiselectronicprojects/tutorials/tiva-tutorials/tiva-general-purpose-timers
ESERCITAZIONE 6_1 - Gestione Pulsanti
Rilevare tramite interrupt e task, gli eventi press, click, dclick, lclick, tclick, lpress
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 5_1 - Generazione di un onda quadra utilizzando il systick
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 4_1 - LedPwm
Scrivere un programma che tramite la pressione dei due pulsanti sw1 e sw2 permetta di regolare il periodo del lampeggio del led, aumentandolo o diminuendolo.
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 3_1 - Interrupt
Scrivere un programma che rilevi la pressione del pulsante tramite interrupt
OBIETTIVI DISCIPLINARI
- gli interrupt nel cortex M4
PROCEDIMENTO / SPECIFICHE INIZIALI
- configurare pin led rosso, led verde e sw1
- abilitare int switch1 su fronte discesa
- nel mainloop fare lampeggiare il ledrosso
- con interrupt programmare lo stato del led verde
- verificare nel datasheet i registri da programmare per l'utilizzo dell'interupt
1. gpiointmask - scrivo 0 nel pin per disabilitare l'interrupt
2. interruppt sense -> fronti o livello
3. gpioint bothedge -> 0 so su un fronte, 1 entrambi i fronti
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 2_1 - LedBlink
Scrivere un programma che faccia lampeggiare i tre led presenti nella scheda ad intervalli di circa un secondo
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 1_1 - LedBlueOn
Scrivere un programma che accenda il led blu della scheda Launchpad
OBIETTIVI DISCIPLINARI
- Installazione dell'ide Keil uVision5
- Familiarizzazione con l'ide Keil uVision5
- Imparare a configurare i pin GPIO del microcontrollore Cortex M4
PROCEDIMENTO / SPECIFICHE INIZIALI
- Scaricare e installare Keil uVision, scaricare e installare TivaC MDK5 Software Packs
- Installare i drivers Stellaris ICDI Drivers per l'In-Circuit Debug Interface
- Creare un nuovo progetto Keil, scegliendo come device TM4C123GH6PM
- copiare il file c:\Keil_v5\ARM\Pack\Keil\TM4C_DFP\1.1.0\Device\Source\ARM\startup_TM4C123.s nella cartella del progetto appena creato e aggiungere il file ai sorgenti del progetto
- modificare le opzioni del target (menu flash--> configure...), impostando nel debug usare Stellaris ICDI, nella scheda target disabilitare il Floating Point Hardware
- Identificazione dei pin collegati ai led (datasheet launchpad)
- Leggere il cap 10 del datasheet del microcontrollore riportando nella relazione le informazioni principali
- rispettare le convenzioni di scrittura del codice
- recuperare dal file tm4c1231h6pm.h le define relativae ai registri della porta F e del registro SYSCTL_RCGCGPIO_R per l'abilitazione del clock (SYSCTL_RCGCGPIO_R5).
- definire il tipo uint32_t (typedef unsigned int uint32_t;) oppure includere la libreria <stdint.h>
- definire una costante per ogni pin da utilizzare (#define LED_BLUE_PIN 0x04)
- configurare i registri associati ai pin da utilizzare, lavorando sui singoli bit. Es.:
RIFERIMENTI / LINK
- ARM® Cortex®-M4F Based MCU TM4C123G LaunchPad™ Evaluation Kit
- [PDF] Tiva™ C Series TM4C123G LaunchPad Evaluation Board - User Guide
- [PDF] Tiva™ C Series TM4C123GH6PM Microcontroller Data Sheet (Rev. E)
- Convenzioni per la scrittura di codice C nei sitemi embedded
- http://users.ece.utexas.edu/~valvano/Volume1/E-Book/C6_MicrocontrollerPorts.htm
- https://github.com/filippo-bilardo
- [PDF] TM4C123G LaunchPad Workshop
- Getting Started with the TI Tiva TM4C123GXL LaunchPad Evaluation Board
-------------------------------------------------------------------------------------------------------------
GRIGLIA DI VALUTAZIONE:
[3 punti] - relazione: premesse teoriche/specifiche - descrizione dell'spi, delle librerie TivaWare relative all'spi, descrizione del blocco spi presente all'interno del microcontrollore Tiva
[2 punti] - relazione: diagramma di flusso (Main, UartTaskTx, UartTaskRx)
[3 punti] - implementazione del codice in C (Main, UartTaskTx, UartTaskRx)
[1 punto] - convenzioni di scrittura codice (intestazione, commenti, nomi var, ...)
[1 punto] - relazione: collaudo
- Redazione della relazione tecnica
-------------------------------------------------------------------------------------------------------------
prima versione del 24/09/16
- Scaricare e installare Keil uVision, scaricare e installare TivaC MDK5 Software Packs
- Installare i drivers Stellaris ICDI Drivers per l'In-Circuit Debug Interface
- Creare un nuovo progetto Keil, scegliendo come device TM4C123GH6PM
- copiare il file c:\Keil_v5\ARM\Pack\Keil\TM4C_DFP\1.1.0\Device\Source\ARM\startup_TM4C123.s nella cartella del progetto appena creato e aggiungere il file ai sorgenti del progetto
- modificare le opzioni del target (menu flash--> configure...), impostando nel debug usare Stellaris ICDI, nella scheda target disabilitare il Floating Point Hardware
- Identificazione dei pin collegati ai led (datasheet launchpad)
- Leggere il cap 10 del datasheet del microcontrollore riportando nella relazione le informazioni principali
- rispettare le convenzioni di scrittura del codice
- recuperare dal file tm4c1231h6pm.h le define relativae ai registri della porta F e del registro SYSCTL_RCGCGPIO_R per l'abilitazione del clock (SYSCTL_RCGCGPIO_R5).
- definire il tipo uint32_t (typedef unsigned int uint32_t;) oppure includere la libreria <stdint.h>
- definire una costante per ogni pin da utilizzare (#define LED_BLUE_PIN 0x04)
- configurare i registri associati ai pin da utilizzare, lavorando sui singoli bit. Es.:
RIFERIMENTI / LINK
- ARM® Cortex®-M4F Based MCU TM4C123G LaunchPad™ Evaluation Kit
- [PDF] Tiva™ C Series TM4C123G LaunchPad Evaluation Board - User Guide
- [PDF] Tiva™ C Series TM4C123GH6PM Microcontroller Data Sheet (Rev. E)
- Convenzioni per la scrittura di codice C nei sitemi embedded
- http://users.ece.utexas.edu/~valvano/Volume1/E-Book/C6_MicrocontrollerPorts.htm
- https://github.com/filippo-bilardo
- [PDF] TM4C123G LaunchPad Workshop
- Getting Started with the TI Tiva TM4C123GXL LaunchPad Evaluation Board
-------------------------------------------------------------------------------------------------------------
GRIGLIA DI VALUTAZIONE:
[3 punti] - relazione: premesse teoriche/specifiche - descrizione dell'spi, delle librerie TivaWare relative all'spi, descrizione del blocco spi presente all'interno del microcontrollore Tiva
[2 punti] - relazione: diagramma di flusso (Main, UartTaskTx, UartTaskRx)
[3 punti] - implementazione del codice in C (Main, UartTaskTx, UartTaskRx)
[1 punto] - convenzioni di scrittura codice (intestazione, commenti, nomi var, ...)
[1 punto] - relazione: collaudo
- Redazione della relazione tecnica
prima versione del 24/09/16
Nessun commento:
Posta un commento