Informació general


Tipus d'assignatura: Obligatòria

Coordinador: Julián Horrillo Tello

Trimestre: Segon trimestre

Crèdits: 4

Professorat: 

Marcos Faundez Zanuy

Competències


Competències específiques
  • CE21: Conèixer els fonaments i aplicacions de l'electrònica digital i els microprocessadors.

Descripció


L'assignatura de microprocessadors és la continuació d'electrònica digital II. Per a la interfície amb el món real s'aprofitaran també coneixements d'electrònica analògica.

S'hi treballarà amb un microcontrolador de baix cost (ARM Cortex M4, com el implementat en les plaques de desenvolupament launchpad TIVA TM4C123GX de Texas Instruments).

Un microcontrolador és un microprocessador amb més capacitat d'entrades i sortides del món analògic. Per tant, pot funcionar de forma autònoma sense requerir perifèrics.

En aquesta assignatura es programarà directament el dispositiu sense que hi hagi una capa de sistema operatiu. 

Es recomana a l'estudiant l'adquisició de la placa de desenvolupament Launchpad TIVA TM4C123GX de Texas Instruments per poder realitzar les pràctiques i exercicis sobre maquinari real. El cost d'aquesta placa és inferior als 15 €. No obstant això, és possible seguir l'assignatura i realitzar totes les activitats en mode simulació, sense disposar de la placa.

Aquesta assignatura disposa de recursos metodològics i digitals per fer possible la seva continuïtat en modalitat no presencial en el cas de ser necessari per motius relacionats amb la Covid-19. D’aquesta forma s’assegurarà l’assoliment dels mateixos coneixements i competències que s’especifiquen en aquest pla docent.

El Tecnocampus posarà a l’abast del professorat i l’alumnat les eines digitals necessàries per poder dur a terme l’assignatura, així com guies i recomanacions que facilitin l’adaptació a la modalitat no presencial

Resultats d'aprenentatge


1.     Implementa maquinari utilitzant components digitals discrets (SSI, MSI), programables (PLD), microprocessadors, microcontroladors i DSP. (CE21, CE28)

2.      Dissenya algoritmes i escriu codi en programes d'alt i de baix nivell. (CE23)

3.      Aplica eines de programació de dispositius PLD, microprocessadors, microcontroladors i DSP dels equips digitals. (CE21)

4.      Manega la terminologia cientificotècnica pròpia dels components electrònics digitals en anglès.(CE21, CE24, CE28)

5.      Elabora informes tècnics de projecte, avalua alternatives i justifica les seves anàlisis i criteris de disseny(CE21, CE24, CE28)

 

En acabar l'assignatura l'estudiant ha de ser capaç de:

1. Dissenyar sistemes autònoms de baix cost que resolguin problemes de complexitat mitjana.

2. Configurar els ports d'entrada i sortida així com programar microcontroladors.

3. Desenvolupar aplicacions com ara un marcapassos, màquina d'estats finits, o aplicacions que requereixin entrades i sortides analògiques (conversió A / D, processat i conversió D / A) en un entorn integrat de desenvolupament (IDE).

4. Debugar els dissenys realitzats tant a nivell del programari de desenvolupament com usant eines de visualització.

5. Interconnectar el microcontrolador amb elements de visualització (displays) i boosterpacks.

6. Implementar programari fàcil de mantenir i debugar (qualitat del programari)

Metodologia de treball


L'assignatura consta de teoria i pràctiques, seguint l'estructura del curs anàleg a la universitat de Texas.

Les classes teòriques no es limiten a l'explicació teòrica de la matèria sinó que inclouen demostracions pràctiques sobre l'entorn de desenvolupament. Per això es recomana que l'estudiant assisteixi a les classes amb el seu propi ordinador portàtil o amb un ordinador per a cada dues persones.

En finalitzar la setmana l'estudiant ha de realitzar a casa els exercicis pràctics proposats i qüestionaris Moodle. L'entorn de desenvolupament uVISION permet incloure una avaluador (grader) automàtic que proporcionarà feedback a l'estudiant sobre els errors del seu codi així com un codi numèric que l'estudiant haurà d'introduir en la plataforma Moodle per demostrar que ha finalitzat satisfactòriament l'exercici proposat.

Les sessions de laboratori impliquen la resolució de problemes més complexos que l'estudiant haurà de realitzar en primer lloc en mode de simulació i tot seguit sobre la placa de desenvolupament del microcontrolador. Les solucions poden requerir la incorporació d'elements externs muntats en protoboard (resistències, leds, polsadors, pantalla de visualització, etc.). Novament l'estudiant comptarà amb l'ajuda del grader automàtic per detectar possibles errors i verificar el correcte funcionament del circuit.

En cas de pandèmia covid-19, les classes teòriques seran online des de casa.

Continguts


1. Introducció. Els objectius d'aprenentatge. Sistemes embedits. Conceptes Fonamentals. Lògica digital. Informació binària Implementada amb transistors. Informació digital emmagatzemat en la memòria. Sistemes de numeració binaris. Numeració en coma fixa.

2. Introducció als ordinadors. Ports E / S. Registres de la CPU. Llenguatge assemblador. Sintaxi. Maneres d'adreçament i operands. Espai d'adreces. Procés de desenvolupament de programari.

3. Introducció a la programació en C. Estructura i organització de C. Variables i expressions. Funcions. Bifurcacions condicionals i bucles. L'entrada de teclat usant scanf. Paraules clau C Puntuació.

4. Ports paral·lels E/ S. Stellaris LM4F120 i Tiva TM4C123 LaunchPad. Pins E / S. Conceptes bàsics d'entrada i sortida dels ports. Programació d'E / S i registre de direccions.

5. Debug. Eines de depuració de hardware. Disseny i Desenvolupament. Cicle de Vida del Producte. Refinament endavant. Disseny de Qualitat. Funcions, procediments, mètodes, i subrutines. Presa de decisions. Condicional if-then Switch. Bucles. Depuració funcional.

6. Interfície amb polsadors i LEDs externs. Protoboard. Exemples. Disseny de hardware. Disseny de software. Tests.

7. Arrays, temps i debug funcional. Teoria del debugat. Temporitzador SysTick. Arrays, cadenes. Estabilització. Breakpoints. Debugat pas a pas. Bolcat a arrays.

8. Màquines d'Estats Finits. Phase-Lock Loop. Estructures. Màquines d'estats finits amb estructures indexades. Motors pas a pas. Exemples.

9. Interfície sèrie. Sincronització E / S. El transmissor receptor asíncron universal (UART). Comunicació asíncrona. Detalls de la UART del TM4C. Conversions. Sistemes Distribuït. Connexió a una pantalla LCD Nokia 5110 usant el port sèrie.

10. Interrupcions. Comunicació i sincronització multi-fil (thread). NVIC en el processador ARM Cortex-M. Interrupcions per flanc. SysTick en les interrupcions periòdiques. Interfície del motor de corrent continu amb PWM. Exemple de construcció d'un cotxe robotitzat.

11. Conversió Digital a Analògica i àudio. L'aproximació de senyals continus en el domini digital. Conversió Digital a Analògica. Generació de so i música.

12. Conversió analògica a digital. Adquisició de Dades i Control. ADC al TM4C123 / LM4F120. Teorema de Nyquist. Robot Car Controller.

13. Sistemes Embedded complets. Document de requeriments. El disseny modular. Introducció als Gràfics. Estructures d'organització de dades. Interrupcions periòdiques. Display NOKIA 5110

 

 

 

 

 

 

 

 

Activitats d'aprenentatge


 

Dedicació

Hores

Porcentatge

Aprenentatge dirigit

Grup gran/teoria

30

30%

Grup mitjà/pràctiques

0

 

Grup petit/laboratori

10

10%

Activitats dirigides

0

 

Aprenentatge autònom

 

60

60%

Activitats pràctiques:

  1. Instal·lació i Posada en marxa de l'entorn de desenvolupament integrat (IDE) uVISION, grader, Texasdisplay i placa de desenvolupament TM4C123G. Competencia E21
  2. Debugat i modificació d'un programa per controlar LEDs amb els polsadors de la placa de desenvolupament ( ). Resultats d’aprenentatge 2 i 4. Competències CB3 i E21
  3. Programar i executar en uVISION un programa que llegeixi les dimensions d'una habitació rectangular i calculi l'àrea. Resultats d’aprenentatge 3 i 4. Competències CB3 i E21
  4. Mesura de temps amb l'oscil·loscopi virtual i generació de polsos lluminosos de durada predeterminada, modificable mitjançant els interruptors. Resultats d’aprenentatge 1 i 6. Competències CB3 i E21
  5. Simulació de sistema marcapassos per al cor. Resultats d’aprenentatge 3, 4 i 6. Competències CB3 i E21
  6. Connexió de la placa de desenvolupament amb elements externs (LEDs i polsadors). Resultats d’aprenentatge 4 i 5. Competències CB3 i E21
  7. Màquina d'estats finits per controlar 3 semàfors de trànsit. Resultats d’aprenentatge 1 a 6. Competències CB3 i E21
  8. Conversió de dades numèriques a strings i transmissió per la UART Resultats d’aprenentatge  4 i 6. Competències CB3 i E21
  9. Generació d'àudio usant interrupcions. Resultats d’aprenentatge 1 a 6. Competències CB3 i E21
  10. Construcció d'un petit piano de 4 tecles. Resultats d’aprenentatge 1 a 6. Competències CB3 i E21
  11. Mesura i visualització de la posició d'un potenciòmetre lliscant. Resultats d’aprenentatge 1 a 6. Competències CB3 i E21

Algunes activitats pràctiques es realitzaran a classe teòrica, altres al laboratori en grup reduït (5 sessions) i altres les realitzarà l'alumne pel seu compte, preferiblement amb el seu propi ordinador.

Sistema d'avaluació


L'avaluació contínua es basarà en tres elements:
1. La nota de les activitats pràctiques realitzades al laboratori (NL),
2. La nota de teoria i problemes (NTP)
3. Activitats realitzades per l'estudiant a la plataforma moodle (M)
qualificació:
La Nota Final (NF) de l'assignatura s'obté ponderant la Nota de Teoria i problemes (NTP) i la nota de les pràctiques de Laboratori (NL):
NF = 0.65 NTP + 0.35 NL
La NTP s'obté mitjançant l'avaluació contínua o mitjançant l'Examen de recuperació. L'assignatura està planificada de manera que, en condicions normals, pugui ser aprovada per avaluació contínua. No obstant, si algun alumne no aconsegueix aprovar l'avaluació contínua) pot obtenir la nota NTP directament de l'Examen de  recuperació. Per a presentar-se a l'examen de recuperació cal haver tret una nota superior a 2.5 a l'avaluació contínua.
Nota de Teoria i Problemes (NTP) per avaluació contínua:
La NTP s'obté a partir de ponderar 3 notes (N1, ..., N3). La nota Nk (per k = 1, ..., 3) és la qualificació obtinguda en l'examen Ek (el qual es realitza en l'horari de classes) sempre que l'alumne hagi lliurat satisfactòriament un 80% de les activitats moodle ( M) sobre els temes / objectius avaluats. En el cas de no arribar al 80%, Nk serà 0.
Els lliuraments inclouen tant la realització a temps (ia casa) dels Exercicis i problemes proposats després de cada sessió de teoria i problemes, com aquells Exercicis i problemes realitzats a la pròpia classe.
Els pesos que ponderen cada nota Nk són proporcionals a les hores de treball que l'estudiant dedica a realitzar les activitats planificades per aconseguir els objectius avaluats, així com de la importància relativa d'aquests objectius dins de l'assignatura.
NTP = (N1 + N2 + N3) / 3
La nota de Laboratori (NL):
En tractar-se d'una assignatura eminentment pràctica es reduiran al màxim les explicacions teòriques i es realitzaran pràctiques en les classes de teoria (grup complet) i en les classes de pràctiques (grup reduït). Això permet realitzar un total de 10 pràctiques.
La nota NL s'obté utilitzant la fórmula següent:
NL = 0.65 x PP + 0.35 IF
En cas de no haver-hi prova prèvia degut a confinament, NL=IF
on:
PP és la nota mitjana de totes les proves prèvies individual (d'uns 15 minuts de durada), la qual es realitza a l'inici de la sessió i que consisteix en preguntes similars a les activitats realitzades a pràctiques. No totes les pràctiques tenen prova prèvia.
IF és la nota mitjana de tots els informes finals realitzats durant les activitats pràctiques (no cal lliurar cap document en paper).

Nota Final:
En acabar les classes, després d'uns pocs dies de l'examen E3, l'alumne sabrà si ha aprovat l'assignatura mitjançant l'avaluació contínua de teoria i problemes, i l'avaluació del laboratori (NF> = 5). En cas d'aprovar, ja no cal que l'alumne realitzi l'Examen de recuperació.
Sistema de qualificació
Si no ha aprovat l'assignatura per avaluació contínua, l'alumne pot obtenir la nota NTP a través de l'examen final de recuperació. La nota final de l'assignatura es calcularà amb la mateixa ponderació utilitzada per als alumnes que van aprovar mitjançant l'avaluació contínua, utilitzant com a nota NTP la màxima nota entre la provinent de l'avaluació contínua i la provinent de l'Examen de recuperació.
Només es poden presentar a l'examen de recuperació aquells estudiants que no hagin aprovat per avaluació contínua i hagin obtingut una nota superior a 2.5 al promig dels examens de teoria.

Normes de realització de les activitats
Les proves es realitzaran de forma individual.
Les pràctiques es realitzaran per parelles. La nota de la Pràctica pot ser diferent per a cada membre del grup si el professor ho considera oportú.

Examen final de recuperació: els estudiants que no aprovin per avaluació contínua i hagin obtingut una nota superior a 2.5 en el promig dels examens  podran anar a l'examen final de recuperació. Aquest examen podrà ser teòric o pràctic .

 

Bibliografia


Bàsic
Introduction to ARM Cortex-M Microcontrollers

John Valvano ,Volume 1, Introduction to ARM Cortex-M Microcontrollers (fifth edition, 2nd printing- June 2014), 2016, ISBN: 978-1477508992

Real-Time Interfacing to ARM Cortex-M Microcontrollers

John Valvano , Volume 2, Real-Time Interfacing to ARM Cortex-M Microcontrollers (fifth edition, 1st printing June 2014), 2016, ISBN: 978-1463590154

Practical microcontroller engineering with ARM Technology

Ying Bai Practical microcontroller engineering with ARM Technology, IEEE Press Wiley 2016, ISBN 978-1-119-05237-1

E-Book J. Valvano

http://users.ece.utexas.edu/~valvano/Volume1/E-Book/ 

Marcos Faundez Zanuy, PowerPoints "Microcomputers" November 2020

Complementary
Real-Time Operating Systems for ARM Cortex-M Microcontrollers

John Valvano, Real-Time Operating Systems for ARM Cortex-M Microcontrollers Volume 3, third edition, 2016