132
EPSC – SED: Sistemes Electrònics Digitals - 1 - Índex Introducció ................................................................................................... 3 EX1 de Sistemes Electrònics Digitals ........................................................ 4 SPLD Pràctica 1: Disseny amb esquemàtics i VHDL d’un descodificador BCD-7SEG.......................... 5 Descripció:............................................................................................................................................ 5 Conceptes relacionats amb aquesta pràctica/problema: ........................................................................ 5 Temps d’estudi: .................................................................................................................................... 5 Desenvolupament de la pràctica: .......................................................................................................... 5 La instal·lació dels programes .......................................................................................................... 5 La llicència d’ús del programari ....................................................................................................... 6 El Project Navigator ......................................................................................................................... 7 La compilació del projecte ............................................................................................................... 9 La programació en VHDL de sistemes combinacionals ................................................................... 9 EX4 de Sistemes Electrònics Digitals ...................................................... 14 Descripció de la pràctica: ................................................................................................................... 15 Conceptes relacionats amb aquesta pràctica/problema: ...................................................................... 15 Desenvolupament de la pràctica/problema: ........................................................................................ 15 El disseny de la base de temps d’1 s a partir de l’oscil·lador de 25175 MHz i la seva simulació en l’entorn VHDL ............................................................................................................................... 15 La importació del disseny principal del rellotge i la problemàtica dels polsadors ......................... 18 La resta del rellotge ...fins on vulgueu arribar ...(OPCIONAL) ..................................................... 22 EX6 de Sistemes Electrònics Digitals ...................................................... 24 MICRO_Pràctica 2 : Tutorial de MPLAB i llenguatge assemblador ...................................................... 25 Descripció de la pràctica: ................................................................................................................... 25 Conceptes relacionats amb aquesta pràctica/problema: ...................................................................... 25 Guió inicial de la pràctica / problema: ................................................................................................ 25 El projecte a dissenyar .................................................................................................................... 25 La instal·lació de l’entorn de desenvolupament integrat de Microchip MPLAB IDE .................... 26 L’anàlisi del primer programa en assemblador............................................................................... 27 La compilació del projecte ............................................................................................................. 29 La simulació a través del laboratori virtual Proteus-VSM.............................................................. 29 El procés de “debugging” a través de l’execució pas a pas ........................................................... 31 Una ampliació senzilla del projecte (programació en assemblador)............................................... 31 Desenvolupament de la pràctica/problema. Treball del grup ............................................................. 31 L’anàlisi del primer programa en assemblador............................................................................... 31 La compilació del projecte ............................................................................................................. 34 La simulació a través del laboratori virtual Proteus-VSM.............................................................. 35 El procés de “debugging” a través de l’execució pas a pas ........................................................... 36 Gravació del projecte amb MPLAB i el programador PIC-START PLUS a un PIC 16F84A ....... 38

Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

  • Upload
    doantu

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 1 -

Índex

Introducció................................................................................................... 3

EX1 de Sistemes Electrònics Digitals ........................................................ 4SPLD Pràctica 1: Disseny amb esquemàtics i VHDL d’un descodificador BCD-7SEG..........................5

Descripció:............................................................................................................................................5 Conceptes relacionats amb aquesta pràctica/problema:........................................................................5 Temps d’estudi: ....................................................................................................................................5 Desenvolupament de la pràctica: ..........................................................................................................5

La instal·lació dels programes ..........................................................................................................5 La llicència d’ús del programari .......................................................................................................6 El Project Navigator .........................................................................................................................7 La compilació del projecte ...............................................................................................................9 La programació en VHDL de sistemes combinacionals...................................................................9

EX4 de Sistemes Electrònics Digitals ...................................................... 14Descripció de la pràctica: ...................................................................................................................15 Conceptes relacionats amb aquesta pràctica/problema:......................................................................15 Desenvolupament de la pràctica/problema:........................................................................................15

El disseny de la base de temps d’1 s a partir de l’oscil·lador de 25175 MHz i la seva simulació en l’entorn VHDL ...............................................................................................................................15 La importació del disseny principal del rellotge i la problemàtica dels polsadors .........................18 La resta del rellotge ...fins on vulgueu arribar ...(OPCIONAL) .....................................................22

EX6 de Sistemes Electrònics Digitals ...................................................... 24

MICRO_Pràctica 2: Tutorial de MPLAB i llenguatge assemblador ......................................................25 Descripció de la pràctica: ...................................................................................................................25 Conceptes relacionats amb aquesta pràctica/problema:......................................................................25 Guió inicial de la pràctica / problema:................................................................................................25

El projecte a dissenyar....................................................................................................................25 La instal·lació de l’entorn de desenvolupament integrat de Microchip MPLAB IDE....................26 L’anàlisi del primer programa en assemblador...............................................................................27 La compilació del projecte .............................................................................................................29 La simulació a través del laboratori virtual Proteus-VSM..............................................................29 El procés de “debugging” a través de l’execució pas a pas ...........................................................31 Una ampliació senzilla del projecte (programació en assemblador)...............................................31

Desenvolupament de la pràctica/problema. Treball del grup .............................................................31 L’anàlisi del primer programa en assemblador...............................................................................31 La compilació del projecte .............................................................................................................34 La simulació a través del laboratori virtual Proteus-VSM..............................................................35 El procés de “debugging” a través de l’execució pas a pas ...........................................................36 Gravació del projecte amb MPLAB i el programador PIC-START PLUS a un PIC 16F84A .......38

Page 2: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 2 -

EX7 de Sistemes Electrònics Digitals ...................................................... 41 Desenvolupament de la pràctica/problema. Treball del grup .............................................................42 A) Diagrames de blocs .......................................................................................................................42

B) Funcionament de l’esquema elèctric del circuit ........................................................................43 C)Compilació del projecte en MPLAB ..........................................................................................45 D)El procés de “debugging” a través de l’execució pas a pas .......................................................46

E)F)Gravació del projecte amb MPLAB i el programador PIC-START PLUS a un PIC 16F84A....48 G) Subrutina retard 1ms.(te que durar 15seg).................................................................................50 H) Programa per encendre tots els LED’s ......................................................................................51 Conclusions del treball ...................................................................................................................53

EX8 de Sistemes Electrònics Digitals ...................................................... 54

MICRO_Pràctica 4: Temporitzador. Versió 2........................................................................................55 Descripció de la pràctica: ...................................................................................................................55 Conceptes relacionats amb aquesta pràctica/problema:......................................................................55 Material necessari...............................................................................................................................55 Guió inicial de la pràctica / problema:................................................................................................55

El canvi de microcontrolador .........................................................................................................55 L’anàlisi inicial d’un programa basat en interrupcions...................................................................56 La transformació del projecte: de la tècnica del “polling” a les interrupcions ...............................57 El muntatge del prototip .................................................................................................................57

Desenvolupament de la pràctica/problema. Treball del grup .............................................................58 El canvi de microcontrolador .........................................................................................................58 L’anàlisi inicial d’un programa basat en interrupcions...................................................................63 La transformació del projecte: de la tècnica del “polling” a les interrupcions ...............................67

ANNEX 1 ...........................................................................................................................................71 ANNEX 2 ...........................................................................................................................................75

Mínim 4 ...................................................................................................... 79

Mínim 3 ...................................................................................................... 81

Opinió sobre les pràctiques escollides ..................................................... 90EX1: Disseny amb esquemàtics i VHDL d’un descodificador BCD-7SEG...........................................90 EX4: Disseny d’un rellotge digital d’HH:MM:SS en un sol xip amb VHDL i/o esquemàtics...............90 EX6: L’entorn MPLAB de Microchip per al desenvolupament d’aplicacions amb microcontroladors PIC..........................................................................................................................................................90 EX7: La programació assemblador amb subrutines ...............................................................................91 EX8: Interrupcions i utilització del perifèric TIMER0...........................................................................91

Pla de treball en grup................................................................................ 92

Reflexió de les opinions sobre l’aprenentatge realitzat pels membres del grup durant el curs . .........................................................................130

Avaluació del dossier............................................................................... 131

Conclusions .............................................................................................. 132

Page 3: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 3 -

Introducció

En aquest dossier hi ha algunes de les pràctiques fetes durant aquests curs, el fet d’escollir aquestes i no unes altres esta exposat a continuació d’aquestes en l’apartat d’opinió sobre les pràctiques escollides. A continuació hi ha les pràctiques exposades i darrera tots els comentaris fets pels autors sobre aquestes i sobre com ha anat el curs de Sistemes Electrònics Digitals, ho em fet així perquè qui vegi el contingut d’aquest dossier tregui unes conclusions pròpies sense veure’s influenciat per les opinions dels autors. Amb aquest dossier el que volem és fer arribar una petita idea del que és l’assignatura de Sistemes Electrònics Digitals, pels propers alumnes d’aquesta, que encara que és modifiqui alguna cosa, els hi servirà de gran ajuda el contingut de les pràctiques i sobretot els comentaris exposats pels autors. Finalment comentar que aquest dossier només és un petit resum de l’assignatura ni molt menys hem recollit tot el contingut d’aquesta.

Page 4: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 4 -

EX1 de Sistemes Electrònics Digitals

GRUP:11 DATA: 28-10-05 Descripció breu de les aportacions realitzades

- Hem instal·lat els programes. - Hem aconseguit les llicencies pel isplever i el Proteus. - Ens hem barallat amb ells per saber com funcionaven. - Primer varem fer és fer la pràctica sobre paper, un cop feta i entesa bé sobre paper o varem

passar al isplever. - Al passar la pràctica ens va donar algun error que fàcilment varem solucionar com per exemple

el ; del final de frase... - I per últim ho varem comprovar amb el proteus que anés tot correcte.

TEMPS D’ESTUDI I DE PREPARACIÓ DE L’EXERCICI:

Sessions TGA a l’aula: 2h Sessions TGB al laboratori 2h Sessions TGC fora de l’horari 1h Treball individual Estudiant 1: Eugenio Viudez Estudiant 2: Lidia Julià Estudiant 3: Ivan Castillo

3h 6h 3h

Temps total (per estudiant) 9h

Page 5: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 5 -

SPLD Pràctica 1: Disseny amb esquemàtics i VHDL d’un descodificador BCD-7SEG

Descripció:

S’instal·laran correctament al PC els programaris de disseny assistit per ordinador, Proteus VSM, ispLEVER i ispVSM. S’instal·larà també el fitxer de llicència d’ús per cada programari. Un circuit senzill ja dissenyat anteriorment a l’ED, es capturarà a través d’un projecte ispLEVER, es compilarà, se simularà en PROTEUS-VSM, i finalment, es programarà amb ispVMS en un GAL22V10 a través de la targeta PROTOGAL. Al laboratori es muntarà el prototip per verificar el seu funcionament. Conceptes relacionats amb aquesta pràctica/problema:

Sistemes combinacionals; disseny de circuits digitals; llenguatges de descripció de circuits digitals (VHDL); entorns de disseny CAD (Computer Aided Design) per als sistemes electrònics digitals i la seva instal·lació; simulació de circuits electrònics basada en SPICE; dispositius lògics programables senzills SPLD. Temps d’estudi:

Una sessió de TGB al laboratori (2h); 2 sessions de treball en grup TGC (4h) Desenvolupament de la pràctica:

La instal·lació dels programes

A) Instal·leu el Proteus – VSM a l’ordinador i activeu el fitxer de llicència.

B) Arrenqueu l’aplicació de captura de circuits ISIS i seleccioneu qualsevol programa de mostra del que inclou (Sample Design).

Fig. 1 Pantalla del PROTEUS que mostra els exemples

Page 6: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 6 -

C) Instal·leu el programa ispLEVER Starter que consta de 2 fitxers i un altre d’ajuda d’opcional: En primer lloc heu d’instal·lar el programa principal : - isp5_0m1.CPLD.exe Tot seguit heu d'instal·lar el mòdul Synplify: - isp5_0m2.Synplify.exe Voluntàriament podeu instal·lar també el mòdul d’ajuda: - isp5_0m4.Help.exe Finament, és necessari instal·lar també el mòdul "ispvmSystemV15.3.2a.exe" que és el que cal per poder gravar finalment el xip a partir del fitxer *.JED obtingut amb els compiladors anteriors. La llicència d’ús del programari

D) Col·loqueu al directori “License”, el fitxer de llicència que heu obtingut prèviament a través del vostre correu electrònic i la web de Lattice Semiconductor.

Fig. 2Directoris on queda instal·lat el ispLEVER

Fig. 3Pantalla de la web on podeu aconseguir la llicèncid’ús del programari per 6 mesos. http://www.latticesemi.com/products/devtools/licensing/flexlmlicense.cfm

Page 7: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 7 -

El Project Navigator

E) Executeu el “Project Navigator” i carregueu-li el projecte inicial HEX-7SEG.

Fig. 4 Projecte HEX-7SEG carregat al Project Navigator

Aquest projecte HEX-7SEG està construït a partir d’esquemàtics i VHDL i preparat per gravar-lo al dispositiu sPLD GAL22V10, el més senzill de Lattice i tot un clàssic que té unes 500 portes lògiques equivalents.

Fig. 5 Device Selector

Page 8: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 8 -

F) Busqueu per Internet el datasheet d’aquest component i estudieu la seva arquitectura interna. Imprimiu les 3 o 4 primeres pàgines del manual. Repasseu també la Unitat 1.15 i l’exercici 1.6 de l’assignatura ED per obtenir més informació sobre els sPLD.

Fig. 6 Símbol del descodificador HEX_7SEG

Si premeu damunt de l’arbre de fitxers veureu la composició dels blocs i esquemes que configuren el projecte.

Fig. 7 L’esquema intern del descodificador HEX_7SEG

Podeu comprovar com el disseny intern del descodificador, els SC2 i SC3 són esquemàtics amb portes lògiques, i en canvi el SC1 és un disseny combinacional a partir de la seva descripció VHDL. Imprimiu el fitxer d’aquest SC1 i intenteu explicar quines són les seves parts més importants.

Page 9: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 9 -

La compilació del projecte

G) Compileu el disseny HEX-7SEG i examineu els fitxers JED i RPT on hi trobareu la distribució de les patilletes del xip.

Fig. 8 La distribució de terminals una vegada realitzada la compilació

Per veure si el dispositiu ha quedat ben gravat amb el fitxer *.JED, cal que arrenqueu el programa Proteus – ISIS amb el disseny inicial que conté el xip i està preparat per simular el funcionament del circuit.

SC

DESCODIFICADOR HEX-7SEG

B

A

b_L

c_L

d_L

e_L

f_L

g_L

a_LD

C

RBO_L

LT_L

BI_L

RBI_L

R1

330

Vcc

0010

111 1

Fig. 9 L’esquema capturat amb Proteus. Dins del bloc SC hi ha el GAL22V10 que conté el fitxer JED

La programació en VHDL de sistemes combinacionals

H) Al directori “nomes_VHDL” teniu un altre projecte amb un fitxer començat en VHDL (solament té implementada la línia BI_L) per poder-lo analitzar i acabar-lo per tal que tingui la mateixa funcionalitat del xip descodificador anterior.

Page 10: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 10 -

Fig. 10 Símbol del fitxer VHDL del HEX_7SEG per acabar perquè encara no estan implementades les línies LT_L i RBI_L i RBO_L

Comenceu a documentar-vos sobre el llenguatge VHDL. A més del material de SED, teniu disponible informació d’altres universitats:

- Documents PDF : “06CombinVHDL.pdf” “didacticiel_GAL_Lattice_ISP.pdf”, etc - Tutorials interactius ALDEC_EVITA; U_VIGO - Un llibre de text en xarxa “cookbook_llibre_VHDL.pdf” - Unitat 1.14 d’ED, etc..

LIBRARY ieee; USE IEEE.STD_LOGIC_1164.all; ENTITY HEX_7SEG_VHDL IS PORT ( RBO_L : OUT STD_LOGIC; RBI_L : IN STD_LOGIC; LT_L : IN STD_LOGIC; V_ENT : IN STD_LOGIC_VECTOR(3 DOWNTO 0); BI_L : IN STD_LOGIC; V_SOR : OUT STD_LOGIC_VECTOR (6 DOWNTO 0) ); END HEX_7SEG_VHDL; -- EL vector d'entrada és: V_ENT(3) = D; V_ENT(2) = C; V_ENT(1) = B; V_ENT(0) = A; -- EL vector de sortida és V_SOR(6) = a; V_SOR(5) = b; V_SOR(4) = c; V_SOR(3) = d; -- V_SOR(2) = e; V_SOR(2) = f; V_SOR(0) = g; -- BI_L: entrada que borra el display -- RBO_L: salida que indica cuando RBI_L activo y entrada igual a 0, o bien BI_L activo. -- RBI_L: entrada que borra el display si RBI_L activo y entrada igual a 0. -- LT_L: entrada que activa todos los segmentos del display. -- Descripció de l'arquitectura del bloc a partir de la TdV ARCHITECTURE Arch_Taula_Veritat OF HEX_7SEG_VHDL IS BEGIN PROCESS (BI_L,LT_L,RBI_L, V_ENT) BEGIN RBO_L <= '1'; IF BI_L = '1' THEN IF LT_L = '1' THEN IF RBI_L = '0' AND V_ENT = ("0000") THEN RBO_L <= '0';

Page 11: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 11 -

V_SOR <= NOT("0000000"); ELSE CASE V_ENT IS -- DCBA abcdefg -- ---- ------- -- El NOT representa sortides actives a nivell baix WHEN "0000" => -- 0 V_SOR <= NOT("1111110"); WHEN "0001" => -- 1 V_SOR <= NOT("0110000"); WHEN "0010" => -- 2 V_SOR <= NOT("1101101"); WHEN "0011" => -- 3 V_SOR <= NOT("1111001"); WHEN "0100" => -- 4 V_SOR <= NOT("0110011"); WHEN "0101" => -- 5 V_SOR <= NOT("1011011"); WHEN "0110" => -- 6 V_SOR <= NOT("1011111"); WHEN "0111" => -- 7 V_SOR <= NOT("1110000"); WHEN "1000" => -- 8 V_SOR <= NOT("1111111"); WHEN "1001" => -- 9 V_SOR <= NOT("1110011"); WHEN "1010" => -- A V_SOR <= NOT("1110111"); WHEN "1011" => -- b V_SOR <= NOT("0011111"); WHEN "1100" => -- C V_SOR <= NOT("1001110"); WHEN "1101" => -- d V_SOR <= NOT("0111101"); WHEN "1110" => -- E V_SOR <= NOT("1001111"); WHEN "1111" => -- F V_SOR <= NOT("1000111"); END CASE; END IF; ELSE V_SOR <= NOT("1111111"); END IF; ELSE V_SOR <= NOT("0000000"); RBO_L <= '0'; END IF; END PROCESS; END Arch_Taula_Veritat;

Page 12: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 12 -

Adjuntem un diagrama de flux que ens varem fer per entendre millor el programa:

I) Realitzeu una altra vegada la simulació Proteus del xip a partir del JED generat a partir del projecte “nomes_VHDL” (en aquest directori també ja teniu un esquema Proteus mig començat).

J) Gravació del xip a la targeta PROTOGAL a través del ispVM System i muntatge del prototipe

laboratori.

Page 13: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

Fig. 11 ispVM System per gravar els components programables a través del mètode ”In Circuit Programmimg” sense haver de treure el component de la seva ubicació definitiva en l’aplicació final

Fig. 12 Targeta PROTOGAL per poder gravar d’una forma senzilla el ispGAL22V10 i poder-lo usar directament sobre el board de connexions del laboratori

K) Examineu un esquema similar al de la PROTOGAL per veure quins components i quants cables són necessaris per realitzar una programació “isp”. Cerqueu a la Internet més informació a través d’un buscador, per exemple amb el text “In Circuit Programming”.

- 13 -

Page 14: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

EX4 de Sistemes Electrònics Digitals

GRUP: 11 DATA: 24/01/2006 Descripció breu de les aportacions realitzades - Primer varem mirar el codi de els projectes dels tres previs que se’ns van facilitar, fins que els varem entendre perfectament. - Després varem continuar fent el treball presentat, però on vem tindre més problemes i es el que creiem que ens va costar mes de tot el treball es detalla a continuació. - Varem fer les simulacions pertinents, encara que ens vem adonar que el Quarus 2 es penja molt i te molts problemes a l’ora de fer simulacions molt llargues, de l’ordre de segons. - També varem tenir dificultats a l’hora de gravar el codi del Quartus 2 a la Placa, ja que ens donava un error de JTAG quan l’intentàvem gravar, “Error : JTAG ID code specified in JEDEC STAPL Format File does not match any vàlid JTAG ID codes for device”, però després de estar molt de temps provant a veure que podia ser i de canviar fins i tot de placa UP1, per fi ens van deixar una placa que funcionava i ens va gravar el codi, ja que vem fer el mateix que amb les altres 2 plaques, els Jumpers estaven configurats igual i tot igual, però misteriosament aquesta placa ens va funcionar. TEMPS D’ESTUDI I DE PREPARACIÓ DE L’EXERCICI:

Sessions TGA a l’aula: 2h Sessions TGB al laboratori 2h Sessions TGC fora de l’horari 6h Treball individual Estudiant 1: Eugenio Viudez Estudiant 2: Lidia Julià Estudiant 3: Ivan Castillo

10h 8h 9h

Temps total (per estudiant) 19h

- 14 -

Page 15: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

UP1_PLD Pràctica 2: Disseny d’un rellotge digital d’HH:MM:SS en un sol xip amb VHDL i/o esquemàtics Descripció de la pràctica:

El circuit s’implementarà com un projecte Quartus II en VHDL. Es dissenyarà una base de temps d’1 s a partir d’un divisor de freqüències de l’oscil·lador de 25.175 MHz de la UP1 i s’aprofitarà gran part del disseny VHDL desenvolupat anteriorment per muntar el rellotge; així també es demostrarà la transportabilitat d’un disseny VHDL. Es verificarà el funcionament del sistema realitzant una simulació funcional Test-Bench (amb el programari DirectVHDL PE) amb antelació al muntatge en la targeta UP1. Conceptes relacionats amb aquesta pràctica/problema:

L’estalvi associat a un major nivell d’integració: menor consum de potència; reducció de la superfície de circuit imprès; estalvi de components. Transportabilitat del programari dissenyat en VHDL entre diferents entorns de programació. Els límits associats als PLD (CPLD i FPGA) en front dels xips dissenyats per aplicacions de gran consum Standard Cells, Gate Arrays; avantatges i inconvenients del disseny de sistemes electrònics digitals amb PLD. Introducció a la simulació Test-Bench en VHDL; els programaris EDA de terceres fonts com a complements específics de l’entorn bàsic de programació: DirectVHDL PE, ModelSim, etc. Desenvolupament de la pràctica/problema:

El disseny de la base de temps d’1 s a partir de l’oscil·lador de 25175 MHz i la seva simulació en l’entorn VHDL

A) En primer lloc obrireu el projecte ubicat al directori “PLD_Practica_2/previ_1” anomenat “divisor_1Hz”.

Veureu el bloc representatiu del divisor de la freqüència del rellotge de la targeta UP1 que és de 25,175 MHz. Observeu el fitxer VHDL i comproveu amb quina facilitat s’ha implementat el circuit digital (imagineu-vos la quantitat de recursos que representaria fer aquest divisor de freqüències amb xips TTL convencionals).

Location PIN_83Option Value

VCCclk INPUT

Location PIN_79Option Value

MAX_DIG2-DP_LOUTPUT

clk

clkout

Div _Freq_UP1_1Hz

inst

Fig. 13 Bloc d’esquemàtic corresponent al divisor de freqüència:L’entrada està connectada al rellotge del sistema i la sortida directament un pin de sortida.

El funcionament d’aquest bloc divisor de freqüència es molt senzill, el que fem es un comptador el qual incrementa en cada clock, una vegada arribem fins al màxim del comptador invertim la sortida per tal de tenir el període complert. El comptador que emprenem ha de se el seu màxim just la meitat del valor pel qual volem fer la divisió, per tal d’obtenir un cicle sencer.

- 15 -

Page 16: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

Fig. 14 Diagrama de blocs del funcionament del divisor de freqüències.

B) Genereu un fitxer de formes d’ona de test per verificar el disseny del divisor de freqüència (feu

que sigui un divisor per 100 per tal d’aconseguir una simulació més àgil). Alternativament, podeu generar-vos un Test-Bench per al programari DirectVHDL PE.

La modificació que hem realitzar al disseny VHDL ha estat adaptar el valor que te la constat “COMPTATGE” a la qual li hem assignat el valor de 50, així obtenim una divisió per 100, 50 al semiperíode positiu y 50 al semiperíode negatiu. Per tal de fer la simulació hem de saber quin es el període que hem de aplicar al clock que ens vindrà donat per la freqüència del oscil·lador i fer una aproximació per obtenir una simulació amb millor lectura.

.4025175

11 psMhzf

T ≈==

Una vegada ja sabem quin serà el període del nostre clock ja podem fer la simulació, ja que l’unia entrada al nostre circuit es aquest clock.

Fig. 15 Simulació del divisor per 100, tenim un cicle cada 4ns.

Si observem amb detall la simulació veurem que al primer semiperíode temin un error de uns 20 ps, aquest error es degut a que el nostre comptador començar a fer el comptatge a partir del primer flanc de pujada que troba, introduint el error del primer semiperíode del clock simulat que comença en un estat cero.

- 16 -

Page 17: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

Fig. 16 Divisor per 10, error d’un semicicle de clock, primer semiperíode amb 20 ps d’error

C) Compileu-lo i graveu-lo al xip MAX7128S de la targeta UP1.

Essencialment es tracta de veure com el LED corresponent al punt decimal del segon dígit s’il·lumina amb una intermitència d’1 segon. L’assignació de pins cal fer-la de la mateixa manera que a la pràctica anterior, abans de realitzar la programació del xip. A l’assignament Editor podem veure les assignacions de totes les entrades y sortides de el nostre projecte i amb quin patillatge del xip MAX718S les hem relacionat.

MAX_DIG2-DP_L

Fig. 17 La utilitat “Assignment Editor” i la representació dels dígits connectats al dispositiu MAX7128S. El punt decimal MAX_DIG2-DP_L és el que il·luminarem amb una periodicitat d’1 segon.

La pota 79 del chip es correspon amb el punt decimal del display numero 2, i la sortida MAX_DIG2-DP_L es la sortida del divisor de freqüència del projecte que hem creat, per tant quan la senyal de la sortida estigui en el semicicle negatiu s’encendrà el led, ja que els Led’s del visualitzador de la placa son de ànode comú i l’activem amb un “0” en comptes de amb un “1”.

- 17 -

Page 18: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

Fig. 18 aquesta captura de pantalla es pot visualitzar com el nostre projecte s’ha carregat al xip sense cap problema

ja que la barra de progrés està al 100%, si no fos així voldria dir que la placa no s’hauria gravat.

A la següent fotografia es pot veure la part de la placa UP1 corresponent als visualitzadors de 7 segments, es veu clarament que funciona y s’encén el punt decimal corresponent a la pota del xip numero 79.

Fig. 19 aquesta fotografia mostra com després de gravar el codi a la placa UP1 s’encén el Led del punt decimal del segon visualitzador, en la fotografia no s’aprecia però s’encén i s’apaga amb una freqüència de 1Hz. La importació del disseny principal del rellotge i la problemàtica dels polsadors

D) Obriu ara el projecte “div_visualitzador_1” disponible ja al directori “PLD_Practica_2/previ_2” per veure com s’han importat sense problemes els dissenys VHDL de les pràctiques anteriors amb SPLD (comptador mòdul 60, descodificador 7 segments). Comproveu com el disseny correspon a un circuit que compta cada vegada que premem el polsador MAX_PB2 (CE), i com es posa a zero el comptador al prémer el polsador MAX_PB1 (CD).

Location PIN_55Option Value

VCCCD INPUT

Location PIN_54Option Value

VCCCLK_Manual INPUT

Clock

Reset

Count_Enable

Count_Unitats[3..0]

Count_Decenes[3..0]

Terminal_Count_L

Counter_BCD_mod60

COMPTADOR_SEGONS

NOT

inst3

VCC

NOT

inst4

S'han de connectar amb cablesdes dels polsadors als pins del P4

Fig. 20 Connexió externa del CD i el CLK per estudiar la problemàtica dels polsadors mecànics

- 18 -

Page 19: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals Per tal de fer la simulació generarem un senyal al “CLK_Manual” que es el actiu amb els flanc de baixada ja que tenim un inversor del senyal, també verificarem el funcionament del CD (Clear Direct) el qual es asíncron i no ha de esperar cap tipus de senyal del clock.

Fig. 21 Compta cada vegada que tenim un flanc de baixada al “CLK_Manual” i posa a cero el comptador quan tenim actiu el CD sense tindre que esperar a cap clock (Asíncron). Displays actius amb cero lògic.

Es molt normal fer us de polsadors o interruptors en algunes de les entrades dels nostres circuits per controlar-los. Aquest polsadors no fan una connexió perfecta e instantània com podem pensar, un polsador es composa de dos parts de metall que entren en contacte, xoca una part amb l’altre, al accionar-lo. Aquest xoc genera uns diminuts rebots que succeeixen tan ràpid que son imperceptibles per nosaltres, però no ho son per al nostre circuit que treballa a freqüències de Mhz.

Fig. 22 Forma que te un pols realitzat amb un polsador.

Fig. 23 La presencia de rebots als polsadors introdueix errors en els resultats esperats.

- 19 -

Page 20: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

Fig. 24Per usar els polsadors MAX_PB1 i MAX_PB2 heu de connectar-los per exemple als pins d’entrada 55 i 54 disponibles al connector P4 a través d’un parell de cables. Així disposareu d’un parell de senyals a través de les quals podreu comandar el rellotge.

Expliqueu quins problemes presenta el polsador.

A la figura es pot veure com hem connectat amb cables les sortides 54(CLK manual )y 55(CD) del chip als polsadors corresponents per a poder insertar nosaltres els valors que volem posar a les entrades, hem connectat la pota 54 amb el polsador de la dreta i la 55 al polsador de la esquerra. A la placa hem pogut comprovar empíricament el efecte dels rebots, ja que al activar el polsador quan retirem el dit el visualitzador no augmentava de unitat en unitat sinó que saltava a un nombre sense cap lògica, com si amb una sola pulsació li estiguéssim introduint varies de cop. A la entrada CD no hi ha cap problema ja que encara que hi ha rebots se’ns posa a 0 el display igualment.

Fig. 25Placa UP1 gravada amb el previ 2 i en funcionament.

Com hem explicat amb detall anteriorment això es

om es pot veure a continuació la gravació del codi del estudi_ previ_ 2 en la placa UP1 ha estat

degut als rebots del polsador. Csatisfactòria tal com es mostra a la gràfica.

- 20 -

Page 21: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

Fig. 26 La barra de progrés de la gravació en la placa esta al 100%,això vol dir que s’ha gravat sense problemes.

La solució al problema dels rebots (debouncing circuits)

E) Per arreglar el problema dels polsadors, que són en definitiva elements mecànics, cal introduir un circuit com el “DEBOUNCE” que filtra el senyal provinent del polsador i genera un únic pols lliure de rebots. A partir de la seva descripció VHDL, deduïu el seu esquema elèctric digital. Obriu el projecte que està ja al directori “PLD_Practica_2/Previ_3” i assageu-lo sobre la targeta per verificar que efectivament els problemes amb els polsadors han desaparegut. Es tracta d’una solució similar a la que ofereixen els temporitzadors i els latches (vegeu també la Unitat 2.4 d’ED).

pb

clock_100Hz

pb_debounced

debounce

inst5

Fig. 27 Bloc funcional “Debounce” per filtrar els rebots dels polsadors.

Al introduir aquest últim bloc, el que fem es agafar una mostra del polsador cada 10 ms, en el cas de que quatre de les mostres agafades tinguin el mateix valor, a la sortida posarem aquest valor. D’aquesta manera ens assegurem que els rebots produïts pel polsador son eliminats per aquest bloc, ja que nomes donarem per bona una entrada la qual sigui estable durant quatre mostres seguides. La simulació en aquest cas no la hem posat, perquè per poder comprovar que el Debounce filtra correctament i nomes deixa passar quatre mostres quan el clock manual esta actiu durant 40ms necessitaríem fer una simulació que dures aproximadament mes de segon i mig mínim, per fer que una simulació et duri tot aquest temps ho has de fer de la següent manera Edit ==> End Time, en la opció End Time has de modificar el temps fins a arribar al temps que vulguis, per exemple 2 segons. Però al fer-ho, al intentar compilar la simulació per veure els resultats se’ns queda penjat l’ordinador al 33% de la simulació i no podem veure els resultats, hem deduït que es perquè quan fem una simulació de 1 segon o mes es massa gran perquè el programa la pugui dur a terme, ja que quan un programa es queda pensant mes de 5 minuts deduïm que s’ha quedat penjat, o que el programa no esta preparat per fer simulacions tan llargues. Hem gravat el disseny complet (els tres blocs), en la placa UP1, i ens ha compilat sense cap problema tal i com es mostra a la figura.

- 21 -

Page 22: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

Fig. 28 La barra de progrés de la gravació en la placa esta al 100%,això vol dir que s’ha gravat sense problemes.

Hem provat la placa de la mateixa manera que a l’apartat anterior, i hem comprovat que funciona correctament i que ara el display funciona correctament augmentant una unitat cada vegada que fas una pulsació (es a dir s’han eliminat els rebots). A la figura 17 de la pagina següent es pot veure un esquema del conexionat del “divisor_visualitzador_pulsadors.qpf”. La resta del rellotge ...fins on vulgueu arribar ...(OPCIONAL)

F) Ara ja esteu en condicions de dissenyar la resta de circuit necessària per realitzar un rellotge d’HH:MM:SS solament amb el MAX7128S i amb la vostra pròpia iniciativa. Feu també que en l’únic parell de dígits MAX_DIGIT es vegi alternativament l’hora, els minuts o els segons al prémer el polsador MAX_PB2.

NOTA: Aquesta és una proposta que feu vosaltres per primera vegada, per tant, si el disseny complet no cap en el xip MAX7128S, proveu de compilar el disseny per al FLEX10K de 20000 portes lògiques equivalents.

- 22 -

Page 23: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

Fig. 29 Circuit tal com està fins al projecte “divisor_visualitzador_pulsadors.qpf” disponible al directori “PLD_Practica_2/Previ_3”

Reflexioneu sobre què ha representat fer aquesta pràctica, sobre quins coneixements heu après, calculeu orientativament el temps d’estudi que heu invertit, com us heu distribuït el treball en grup, indiqueu si us sembla interessant aquesta línia de treball amb PLD’s. Coneixeu altres circuits o aplicacions que es puguin realitzar amb aquesta tecnologia? En aquesta practica hem aprés sobretot a utilitzar la placa UP1 i fer una estimació de tot el potencial que te el llenguatge VHDL, els diferents chips que podem arribar a programar i valorar que podem arribar a dissenyar petites aplicacions si aprofundim mes en el tema, també hem reflexionat la quantitat de hores que hem dedicat i que aprendre a utilitzar els programes necessaris y familiaritzar-nos amb les plaques per gravar els chips no es un treball fàcil i tens que dedicar molt de temps si al final vols obtenir un bon resultat.

- 23 -

Page 24: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 24 -

EX6 de Sistemes Electrònics Digitals

GRUP: 11 DATA: 24/01/2006 Descripció breu de les aportacions realitzades La realització d’aquest exercici a constat de dos parts en el seu procés de realització. Una primera part ha estat l’obtenció d’informació de tots el dispositius i del microcontrolador PIC 16F84A, per tal de saber el seu funcionament i característiques fonamentals. En aquet mateix bloc es podria introduir la recerca d’informació referent a la programació d’un PIC així com del llenguatge assemblador, i en últim lloc la instal·lació del software MPLAB. La segona part de la que constaria el procés de realització seria l’anàlisi en si mateix de l’exercici, codi assemblador, interpretació del software MPLAB, simulació amb el PROTEUS II, Debugging amb el mateix software de simulació, etc. Comentar que ja que no hem tingut ocasió de fer la programació directament amb el programador PICSTART PLUS, per que no se’ns ha facilitat al laboratori, hem suplert aquesta manca de recursos amb una aportació extra sobre l’adquisició del programador i la configuració al MPLAB necessària per fer-lo funcionar TEMPS D’ESTUDI I DE PREPARACIÓ DE L’EXERCICI:

Sessions TGA a l’aula: 2h Sessions TGB al laboratori 2h Sessions TGC fora de l’horari 6h Treball individual Estudiant 1: Eugenio Viudez Estudiant 2: Lidia Julià Estudiant 3: Ivan Castillo

9h 8h 10h

Temps total (per estudiant) 19h

Page 25: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 25 -

MICRO_Pràctica 2: Tutorial de MPLAB i llenguatge assemblador

Descripció de la pràctica:

Es tracta de realitzar l’edició, compilació, simulació i gravació d’un programa senzill en llenguatge assemblador sobre un PIC16F84A. S’usarà l’entorn de desenvolupament integrat MPLAB i també el laboratori virtual per verificar el funcionament final del disseny abans de la gravació final del microcontrolador que es muntarà finalment al laboratori sobre la placa PIC Millennium Board de BlueBird Electronics , la PICDEM2 DE Microchip, o bé directament sobre el board. Conceptes relacionats amb aquesta pràctica/problema:

L’arquitectura interna del sistema microcontrolador PIC16F84A; el repertori d’instruccions en assemblador; les parts bàsiques d’un programa en assemblador; les eines CAD de disseny de sistemes digitals basats en microprocessadors; l’execució pas a pas i l’etapa de detecció d’errors de programació (debugging); la simulació en laboratori virtual i a través d’una targeta d’entrenament o demostració; la gravació del microcontrolador a través d’un programador. Guió inicial de la pràctica / problema:

El projecte a dissenyar

A) Aplicarem els conceptes per aconseguir dissenyar a través d’un sistema microprocessador d’un comptador de polsos de 8 bits que representarà el compte acumulat a través d’un conjunt de 8 LED tal com mostra la Fig. 30. Un disseny que d’altra banda ja sabríem fer alternativament a través d’un PLD (Tema 1 de SED) o bé mitjançant lògica clàssica CMOS o TTL (Tema 2 d’ED). Això ens permetrà des d’un bon començament realitzar la comparativa de les diferents solucions tecnològiques disponibles per aconseguir el disseny final de la mateixa aplicació.

Fig. 30 Projecte a dissenyar a través d’un microcontrolador PIC

Page 26: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 26 -

La instal·lació de l’entorn de desenvolupament integrat de Microchip MPLAB IDE

B) Per raons de compatibilitat amb el compilador HI-TECH C Lite Compiler de lliure distribució que s’usarà més endavant per les pràctiques basades en el llenguatge C, triem el programari MPLAB versió 6.6. Instal·leu-lo al vostre ordinador i carregueu el projecte “Practica_1.mcp” (vegeu la Fig. 31).

Fig. 31 Icona del programari MPLAB i aspecte que té la finestra principal una vegada carregat el projecte i obert el fitxer assemblador

Essencialment els passos que se seguiran per implementar el projecte estan representats a la Fig. 32. Tot i que nosaltres, és clar, no realitzarem tot el procés complet que acaba amb la fabricació. A més, afegirem a l’apartat de “Debugger” i “Emulation Hardware” el programari Proteus-VSM que simularà directament en SPICE el funcionament dels nostres circuits.

Fig. 32 Exemple una de les moltes transparències i que podeu trobar en referència al disseny de sistemes microprocessadors

Page 27: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 27 -

L’anàlisi del primer programa en assemblador

C) Imprimiu i examineu el fitxer prog_1.asm representat a continuació. Analitzeu-lo per deduir el diagrama de flux a partir del qual es pot construir el programa1. Determineu:

- Directives d’assemblador - Origen del programa - Instruccions en assemblador - Registres on hi ha les dades i els ports d’entrada i sortida - El fitxer d’encapçalament amb les definicions pròpies del microcontrolador (en

aquest cal el PIC16F84A) pel qual s’ha de compilar el projecte (obriu-lo i examineu-lo).

Associeu cadascun dels blocs del diagrama de flux al conjunt d’instruccions en assemblador que el realitzen.

; ************************************************************************************** ; TÍTOL I DESCRIPCIÓ ; ***************************** TITLE "Comptador de polsos" ; Aquest programa està preparat per a la targeta PIC_MILLENIUM de demostració. ; El Port B està connectat a la barra de 8 LED. ; La línia RA4 està connectada al polsador S2 ; Cada vegada que es prem el polsador S2, s’incrementa en una unitat el compte ; de polsos que s’emmagatzema a la variable COUNT i es visualitza el seu valor ; en binari en els LED connectats al PORTB del PIC ; ************************************************************************************** ; SELECCIÓ DEL PIC ; **************************** LIST p=16F84A ; Aquesta directiva de l’assemblador amb l’opció p ; selecciona el PIC ; ************************************************************************************** ; DEFINICIONS PRÒPIES DEL PIC ; **************************** #INCLUDE <P16F84A.INC> ; Inclou les definicions del PIC seleccionat ; L'ús de noms en lloc de xifres facilita molt la ; comprensió dels programes. En aquesta aplicació ; solament usem les definicions següents: ; W EQU H'0000' ; F EQU H'0001' ;----- Register Files ----------- ; STATUS EQU H'0003' ; PORTA EQU H'0005' ; PORTB EQU H'0006' ; TRISB EQU H'0086' ;----- STATUS Bits -------------- ; RP0 EQU H'0005' ; ************************************************************************************** ; DEFINICIONS ; **************************** COUNT EQU 0x0C ; A la posició 0Ch comencen els registres de ; propòsit general dins de la memòria SRAM

1 Aquest tutorial inicial està basat en els exemples de programació que hi ha a la documentació que acompanya la targeta d’entrenament (picdem2.zip): PIC-DEM2 User’s guide (Chapter 3, Fig. 3.2)

Page 28: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 28 -

; Per tant, s’usa la primera posició per guardar ; el comptatge de polsos. ; ************************************************************************************** ; PROGRAMA ; **************************** ORG 005h ; La directiva 'org' indica on ha de començar el ; programa. La memòria FLASH de programa per aquest ; micro és de 1024 posicions de 14 bits cadascuna). ; La posició 000h és el començament, però hi ha el ; vector de reset, així que la posició 005h és la ; primera lliure desprès del vector d’interrupció ; Normalment començarem els programes en aquesta ; posició ; ----- Configurar el port B com a sortida Start ; Etiqueta que indica la primera posició del programa clrf PORTB ; Posa a 0 el registre PORTB on hi han els LED ; El registre TRISB està al bank 1 de la memòria RAM (0086h) bsf STATUS,RP0 ; Per tal d'adreçar-lo directament, cal configurar el bit 5 ; del registre d'estat STATUS. movlw 00h movwf TRISB ; Configura el PORT_B com a sortida bcf STATUS,RP0 ; Torna a l'adreçament del bank 0 clrf COUNT ; ----- Inicialitza el comptador Loop btfss PORTA,4 ; ----- Si hi ha S2 polsat saltem a incrementar el COUNT ; Al bit 4 del PORTA (RA4) hi ha connectat S2. goto Incrementa ; Quan hi ha tecla polsada, RA4 = 0. S'executa la propera ; instrucció que es d'incrementar el compte goto Loop ; Mentre no s'hagi premut S2, RA4 = 1el programa es queda ; en aquest llaç ; ----- Incrementa i visualitza el contingut de COUNT Incrementa Incf COUNT,F ; Incrementa i es guarda el valor en el propi registre (F=1) movf COUNT,W ; Porta el contingut de COUNT a l’acumulador movwf PORTB ; Porta W al port b per tal d’il·luminar els LED Debounce btfss PORTA,4 ; Comprova si s'ha deixat de prémer la tecla S2 goto Debounce ; Si encara RA4 = 0, espera es queda en el llaç

Page 29: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 29 -

goto Loop ; Ja s'ha deixat anar la tecla (RA4 = 1) i torna cap al llaç ; principal ; ************************************************************************************** ; VECTOR DE RESET ; **************************** ORG 000h ; Quan es prem el MCLR_L, el programa va ; a l'adreça 000h per tal d'executar la seqüència ; d'inicialització. En aquest cas, simplement un salt a ; l'origen del programa goto Start ; ************************************************************************************** ; BITS DE CONFIGURACIÓ GENERAL PER AL PROGRAMADOR ; **************************** __CONFIG _RC_OSC & _PWRTE_ON & _CP_OFF & _WDT_OFF ; Rellotge exterior RC (_RC_OSC) ; Usarem el temporitzador d'arrencada Power-Up Timer(_WRTE_ON) ; No usarem el Watch-Dog Timer (_WDT_OFF) ; No protegirem el codi (_CP_OFF) END ; Directiva que marca el fi del programa font ; **************************************************************************************

Fig. 33 El primer programa en assemblador

La compilació del projecte

D) Compileu el projecte amb l’opció “Project” → “Build All” i comprovareu si tot el programa MPLAB està ben instal·lat. Es recomana penjar el directori del projecte prop del directori arrel del disc dur, per exemple: C:\SED_PRACT/PIC\ASM_Practica_1.

Si tot funciona correctament, MPLAB generarà el fitxer de text “Prog_1.HEX” amb el contingut de la Fig. 34. És el fitxer que s’ha de gravar amb el programador adequat dins del PIC16F84A.

:020000040000FA :020000000528D1 :06000A00860183160030A0 :10001000860083128C01051E0E280B288C0A0C0802 :080020008600051E11280B28C3 :02400E00F33F7E :00000001FF

Fig. 34 El contingut del fitxer Prog_1.HEX

La simulació a través del laboratori virtual Proteus-VSM

E) Obriu el Proteus-VSM i carregueu el projecte “PIC_MILENNIUM_BOARD_PIC16F84A.DSN” i observeu en primer lloc el disseny de la font regulada de 5 V representada a la Fig. 35 que servirà per alimentar el mòdul comptador.

Page 30: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 30 -

C1220uF

C2220uF

BAT9V

D1

1N914

D2LED-GREEN

R1330

VI3 VO 1

GN

D2

U178L05

Vcc

C3100nF C4

10nF

VccV=5.00006

J1+9V

Fig. 35 Una font d’alimentació de 5 V a partir de 9V DC no regulats o bé d’una bateria

F) Entreu dins del mòdul COMPTADOR 8 BITs i comproveu que hi ha el circuit amb PIC representat a la Fig. 36. Verifiqueu editant el microcontrolador PIC16F84A que té assignat el programa Prog_1.HEX que acabem de compilar (vegeu la Fig. 37).

R24.7k

C5100nF

Vcc

R34.7k

Vcc

R422k

C6

22pF

Vcc

R5

330R6330R7330R8330

R9330R10330R11330R12330

OSC1/CLKIN16

RB0/INT 6

RB1 7

RB2 8

RB3 9

RB4 10

RB5 11

RB6 12

RB7 13

RA0 17

RA1 18

RA2 1

RA3 2

RA4/T0CKI 3

OSC2/CLKOUT15

MCLR4

U2

PIC16F84A

(Aprox 4MHz a Vcc = 5V)

S1

S2

D0

D1

D2

D3

D4

D5

D6

D7

Fig. 36 Circuit intern del mòdul COMPTADOR 8 BITS: el primer circuir amb microcontrolador

Fig. 37 Observeu com el PIC té assignat el fitxer amb el programa que ha d’executar

Feu córrer la simulació i premeu els polsadors per comprovar com compta en binari i representa el valor actual del compte en els LED.

Page 31: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 31 -

El procés de “debugging” a través de l’execució pas a pas

G) Proveu a través del Proteus-VSM el funcionament pas a pas del programa i la col·locació de “breakpoints” per aturar el programa a l’adreça desitjada. Vegeu també la finestra que mostra el contingut de tots els registres importants del microcontrolador.

Fig. 38 La finestra del codi font que s’està executant pas a pas amb la introducció de breakpoints

H) Graveu a través del mateix MPLAB amb el programador PIC-START un PIC 16F84A i munteu el circuit directament en el vostre board de laboratori.

I) (Extra) Imprimiu l’esquema de la targeta d’entrenament BlueBird PIC- Millennium2.

Modifiqueu el circuit, tant el connexionat com el programa, si fa falta, per tal de fer córrer el disseny sobre aquesta targeta.

Una ampliació senzilla del projecte (programació en assemblador)

J) Volem ampliar el programa i el circuit per tal que cada vegada que el comptador doni una volta completa s’il·lumini un LED que connectareu a la línia RA1. Comenceu modificant el vostre diagrama de flux i tot seguit amplieu el programa l’assemblador.

Desenvolupament de la pràctica/problema. Treball del grup

L’anàlisi del primer programa en assemblador

Les Directives d’assemblador son un grup d’ordres, que tot i no representar cap instrucció de la màquina donen informació a l’assemblador perquè pugui assemblar correctament un programa. Com ara per exemple: LIST, INCLUDE, ORG, etc. El origen del programa en assemblador ve donat per els diferents registres de que disposa cada microcontrolador i de la diferent arquitectura interna y complements de cada un d’ells. Les instruccions en assemblador utilitzades per fer el programa son les següents: - Bcf, Bsf, Btfss, Clrf, Goto, Incf, Movf, Movlw, Movwf

2 La documentació de la targeta PIC-MILLENNIUM juntament amb el seu esquema la teniu disponible al fitxer “Placa_BlueBird.zip”

Page 32: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 32 -

No explicarem amb detall aquestes instruccions perquè es poden consultar de diferents llibres i pàgines web i la explicació detallada podria ocupar algunes pàgines Bàsicament les funcions que executen les ordres amb les que hem treballat es moure paraules de 1byte de un registre a un altre, algunes d’elles utilitzen directament el registre W, altres serveixen per seleccionar entre 2 ordres que es tenen que executar depenent dels estats dels registres, y altres per canviar els bits dels registres. Es te que tindre cura amb l’espai de memòria que ocupen les instruccions del micro que son de 14 bits, en canvi les instruccions dels registres sols ocupen 1 byte. Els registres on hi ha les dades dels ports d’entrada i sortida que s’utilitzen en el programa d’aquesta practica son les següents: Els registres TrisA i TrisB son els encarregats de configurar el PortA i PortB respectivament, hem deduït que el portA està configurat sempre inicialment com a entrada(al menys el bit numero 5), ja que en el codi en assemblador de la pràctica no ha calgut modificar la configuració del TrisA. Status Es un registre que serveix per a seleccionar el dos bancs de memòria diferents que te el microprocessador, ja que quan el registre Status està configurat per que el micro treballi amb el banc de memòria 1 no es pot accedir ni modificar les dades del banc de memòria 2 i al revés. PortA(es un port d’entrada-sortida) En aquesta practica l’ hem utilitzat de port d’entrada. PortB(es un port d’entrada-sortida) En aquesta practica l’hem utilitzat de port de sortida, tenint que configurar el TrisB prèviament per a que el Port B pogués treballar com a tal. TrisB Registre de configuració del portB com a IN/OUT (entrada o sortida) W Es un registre que el PIC16F84A de la practica treballa molt amb ell y l’utilitza com una espècie de buffer de memòria, y han instruccions en assemblador per aquest pic que fan referència directament a aquest registre. La taula que es mostra a continuació mostra les diferents configuracions i funcions dels registres de tots els registres especials del PIC16F84A.

Page 33: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 33 -

Fig. 39 Taula de configuracions i funcions de tots els registres especials del PIC16F84A

Aquesta taula inclou les definicions del PIC emprat en aquesta practica: #INCLUDE <P16F84A.INC> ; W EQU H'0000' ; F EQU H'0001' ;----- Register Files ----------- ; STATUS EQU H'0003' ; PORTA EQU H'0005' ; PORTB EQU H'0006' ; TRISB EQU H'0086' ;----- STATUS Bits -------------- ; RP0 EQU H'0005'

On posa “Register Files” son els registres propis del PIC, i les variables F i W enters que li hem assignat valors per a que sigui mes fàcil programar el codi en assemblador, i el RPO creiem que es un bit de estat que esta definit també per el PIC.

Page 34: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 34 -

La compilació del projecte

En primera instancia el que hem de fer es obrir el projecte des de “File”→”Open WorkSpace”, anem al directori on tenim el arxius que formen par del projecte i obrim l’arxiu “Practica_1.mcw”. Una vegada ja el temin obert fem la compilació del projecte des de “Project” → “Build All”, al fer la compilació se’ns mostrarà una pantalla en la qual ens indicarà si ha anat tot bé, això ho podem verificar si al final de la finestra ens surt el missatge “BUILD SUCCEEDED”

Fig. 40 Missatge de compilació correcta del projecte

Com la compilació ha estat correcte, podem observar que en el directori on hi es emmagatzemat el nostre projecte ara tenim un arxiu nou amb l’extensió .HEX.

Fig. 41 Generació del arxiu “prog_1.HEX i el seu contingut

Page 35: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 35 -

La simulació a través del laboratori virtual Proteus-VSM

En el disseny de la font regulada de 5 V, podem observar com amb molts pocs components poder obtenir d’una font de uns 9V, por ser una pila o qualsevol altre font, no regulat, obtenim una tensió regulada a 5V. Es pot apreciar como hi ha diversos dispositius de protecció i regulació, como ara el diode a l’entrada de la font no regulada per tal de que no hi hagin corrent inverses, i tot un seguit de condensador per filtrar al màxim el soroll que poguéssim tenir al senyal, tant a la entrada del regulador de tensió 78L05 como a la sortida del mateix. Per últim vegem que tenim un LED el qual ens indicarà quan esta funcionant i el correcte funcionament del circuit regulador de tensió. Per fer l’anàlisi del circuit referent al PIC16F84A, ens endinsarem al mòdul COMPTADOR 8 BITs el qual conté el microprocessador. Per tal de verificar quin es el arxiu .HEX que tenim al microprocessador, seleccionarem el microprocessador i amb el ctl-c ens endinsarem al PIC i podem veure com l’arxiu “prog_1.HEX” es el que esta seleccionat per fer us del microprocessador.

Fig. 42 Arxiu “prog_1.HEX assignat al PIC16F84A

Posem en marxa el proteus i verifiquem el correcte funcionament del projecte. Després de cinc pulsacions al polsador S1, vegem que s’encenen el LEDs corresponent als bits que representen el nombre 5 en binari.

Fig. 43 Nombre cinc en binari representat pels LEDs

Page 36: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 36 -

Després d’una pulsació al polsador RESET tots els LEDs s’apaguen, tornant a el comptador a l’estat inicial.

Fig. 44 Reset del comptador, tots el LEDs apagats

El procés de “debugging” a través de l’execució pas a pas

Una eina molt útil per tal de depurar, trobar error, o nomes però observar si es fan correctament les interpretacions de les instruccions d’assemblador al PIC, es mitjançant el “debugging”. Per tal de fer un debug del nostre PIC, el que primer hem de fer es escollir que es el que volem veure al fer el debug, seleccionant al menú “Debug” les finestres aposant-hi un flag, fent clic amb el ratolí. En el nostre cas voldrem veure les finestres “PIC CPU Source Code – U2” i “ PIC CPU Registers – U2”, ja que son les finestres que ens aportaran la informació mes útil.

Fig. 45 Selecció de finestres al debug, “PIC CPU Source Code - U2 ” i “ PIC CPU Registers - U2”

Page 37: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 37 -

Des de la finestra “PIC CPU Source Code – U2”, la informació que s’obté es el codi en assemblador del nostre projecte. En aquesta finestra de depuració podem posar “breakpoints” per tal de aturar la execució del programa en qualsevol punt i fer una execució pas a pas, prement la tecla F10, així podrem veure la execució del programa i analitzar si fa correctament la seva execució, o per exemple si fa ve el salts entre línies o si es queda penjat l’execució del codi en algun punt el qual no estava previst. Per tal d’introduir un “breakpoint” des de la finestra “PIC CPU Source Code – U2” en posarem a la línea on volem introduir-lo i desprès farem clic a la icona de la dreta on hi ha un cercle vermell, veurem com a la línea se’ns introdueix el dibuix d’un cercle vermell, indicant que hi ha un “breakpoint”. Un cop executem el projecte, quan l’execució del programa arriba al “breakpoint”, atura el programa i se’ns obre de manera automàtica les finestres de debug per tal de fer un anàlisi i l’execució pas a pas.

Fig. 46 Finestra “PIC CPU Source Code – U2”, on es pot veure a ’introducció d’un “breakpoint” a la línea 60.

La darrera finestra de debug juntament amb la finestra “ PIC CPU Registers – U2”, fan un tàndem extraordinari per tal de depurar qualsevol programa implementat a un PIC16F84. A la finestra “ PIC CPU Registers – U2” el que obtenim es com el seu nom ens indica, el valor dels registres del microprocessador, com dels ports. De les informacions que ens aporta quest debug, les mes importats son:

- INSTR.: Ens indica quina serà la instrucció que s’executarà en el pròxim pas. - W: Es mostra el contingut del registre intern W. - STATUS: conte la informació que hi ha al registre d'estat STATUS

Page 38: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 38 -

- PORT A/B: Mostra la informació continguda als ports del microprocessador, tant del port A com del port B.

- TRIS A/B: Mostra la informació dels registres de configuració dels ports, registres TRISA i TRISB

Gravació del projecte amb MPLAB i el programador PIC-START PLUS a un PIC 16F84A

Per tal de fer la gravació del nostre projecte amb el programador PICSTART PLUS, necessitem adquirir el programador, el qual es troba disponible des de la mateixa pagina web de Microchip a una secció dedicada a la venta http://buy.microchip.com/ on podrem seleccionar el nostre país i fer la compra dels productes necessaris.

Fig. 47 L’adquisició del PICSTART PLUS te un cost de 166,3€

Posteriorment realitzarem la compra del microprocessador en qüestions, esta compra la realitzarem en una web espanyola www.electronicaweb.com per a que es pugui veure com estan disponibles en múltiples punts de venta a Internet.

Page 39: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 39 -

Fig. 48 L’adquisició del PIC te un cost de 3€

Una vegada ja tenim disponible els estris necessaris, connectarem el programador PICSTART PLUS al ordinador mitjançant un cable RS-232 al port sèrie. Des de el MPLAB a la secció “programmer”, seleccionarem el gravador PICSTART PLUS.

Fig. 49 Selecció del programador PICSTART PLUS

Un cop tenim seleccionat el gravador, podem configurar alguns paràmetres del configurador a “programmer”→”settings”. Dintre de les opcions a configurar tenim la possibilitat d’escollir quina serà la primera posició de memòria que programarem i també podem seleccionar fins a quina posició de memòria volem gravar, així podem regravar/gravar algunes zones de memòria contretes.

Fig. 50 Selecció de les posicions inicial i final a gravar.

Page 40: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 40 -

Altre de les configuracions que podem fer es la selecció del port de comunicació amb el PC, des de el COM1 fins al COM4.

Fig. 51 Selecció del port de comunicació del PC amb la PICSTAT PLUS

Page 41: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 41 -

EX7 de Sistemes Electrònics Digitals

GRUP: 11 DATA: 11-01-06 Descripció breu de les aportacions realitzades Hem cercat per Internet informació sobre tots els temes, hem sintetitzat la informació i hem explicat el millor que sabem. Hem programat en assemblador i “debuggat” els programes per veure els possibles errors. TEMPS D’ESTUDI I DE PREPARACIÓ DE L’EXERCICI:

Sessions TGA a l’aula: 2h Sessions TGB al laboratori 2h Sessions TGC fora de l’horari 4h Treball individual Estudiant 1: Eugenio Viudez Estudiant 2: Lidia Julià Estudiant 3: Ivan Castillo

5h 10h 8h

Temps total (per estudiant) 15h

Page 42: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 42 -

Desenvolupament de la pràctica/problema. Treball del grup

A) Diagrames de blocs

Per obrir aquest projecte, el primer que s’ha de fer es baixar els arxius de la pagina de SED, agafar el arxiu “SED_EX7_prj.zip” descomprimir-lo i dins de la carpeta SED_EX7, trobarem un arxiu anomenat “PIC_ASM_PRACTICA_2.DSN”, fem doble clic a aquest arxiu, com es d’extensió “.DNS” s’obre automàticament el “Proteus Isis”, a partir d’aquí podem simular el projecte com de costum.

Fig.1Esquema del programa principal. Fig,.2Esquema de la subrutina. NOTES: RA1 fa referència al bit 1 del PORTA. Les posicions de memòria estan expressades de tres maneres, b(binari), d(decimal), h(hexadecimal).

Page 43: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 43 -

B) Funcionament de l’esquema elèctric del circuit

El circuit del esquema funciona de la següent manera: Mitjançant un polsador i un PIC, només accionant el polsador es crea un voltatge de sortida que dura un cert temps, a la sortida del PIC connectem una resistència i un transistor que el fem treballar en commutació (zona de saturació i tall), de tal manera que quan s’activa el polsador hi fem circular corrent a la base del transistor i per tant s’activa el relè, el relè està format per una bobina i un diode 1N914, la bobina quan fa circular corrent provoca que s’accioni un interruptor commutador, i quan deixa de circular corrent el commutador torna a la seva posició inicial, el diode 1N914 està perquè quan a les bobines hi ha una variació de intensitat molt brusca provoquen una variació de tensió molt brusca, la qual pot fer malbé alguns components del circuit, perquè això no passi es posa el diode 1N914, el qual anul·la aquest efecte. El temps que el relè està activat tanca un circuit el qual fa que es posi en marxa un motor i s’encengui un led vermell el qual indica que el motor esta encès. En la captura de pantalla següent es mostra com al polsar el TRIGGER s’acciona el relè durant pocs segons i funciona el motor i s’encén el led corresponent(ON) avisant que el motor està en marxa.

Fig. 3Esquema de funcionament del circuit.

Sobre el motor cauen 4 Ampers, ja que esta alimentat a 48V i te una resistència de 12 Ohms. Calculeu el corrent de base IBQ1, de col·lector ICQ1 i el corrent del motor quan està activat.

Fig.452Estats de funcionament d’un BJT tipus NPN.

Page 44: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 44 -

A la sortida del PIC hi surt una tensió de 5V(el “1” lògic igual que la tecnologia TTL es a 5V). IbQ1= VPIC – 0,7 / R12 = 5V – 0,7V/ 2,2 KΩ = 2mA Llavors la corrent del col·lector variarà entre 2 valors (el màxim i el mínim) segons quina sigui la beta(β) del transistor (guany de corrent en contínua), segons la taula del “datasheet” que us mostrem el guany en continua del BC547 va de 110 (mín.) a 800(màx.), el guany del transistor mai es el mateix, ja que es degut a les toleràncies dels components emprats en el transistor sempre hi haurà un cert error, per això per a diferents transistors del mateix tipus(BC547) cadascú tindrà un guany diferent que anirà entre 110 i 800 . Icmín= β IbQ1 = 110 · 2mA= 220mAIcMàx= β IbQ1= 800 · 2mA= 1,6A

=0,7(tensió base-emisor llindar del transistor mínima per a que hagi corrent) Taula de característiques del transistor usat:

Fig. 5 taula de característiques del transistor utilitzat.(la hfe es com la β però amb un altre nom). El transistor utilitzat al programa de simulació es diu que es un BC547. Suposant una Beta mínima de 110 i una màxima de 800, ja que es la que ens mostra la taula de característiques del transistor anterior la intensitat pot variar entre 220mA i 1,6A. El motor es de 48V i 12Ω, segons la llei de ohm circularà una intensitat de I=V/R = 48 /12 = 4A Un motor en continua es constitueix bàsicament de 2 parts ven diferenciades una part mòbil (rotor) i una part fixa (estator). El rotor el forma bàsicament el bobinat induït, i l’estator te un altre bobinat. Quan circula l’electricitat per els bobinats es crea un camp magnètic que fa girar un el bobinat del rotor, s’aprofita aquest moviment giratori que es crea per a transmetre’l en forma de moviment de rotació a traves d’una barra, així funciona un motor en continua, entra corrent continua i es transforma en energia de rotació. Hi han gran varietat de formules per calcular els diferents efectes elèctrics, magnètics i mecànics que te un motor:

Page 45: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 45 -

Força magnètica resultant, parell de la maquina en funció del flux o tensió induïda son les corresponents a les mostrades però la mes important per nosaltres i la que més ens afecta es la de la potencia elèctrica absorbida per el motor que es la següent: P = V · I El efecte d’aïllament galvànic que es forma al relé es degut que te 2 parts de metall separades per un material aïllant i això fa que es formi un condensador paràsit (metall – aïllant - metall) i que degut a això s’indueixin corrents a través del camp elèctric y no pel magnètic, l’ efecte del condensador paràsit te un valor baix però en alguns casos no es admissible, per evitar aquest efecte en lloc d’un aïllant s’utilitza una pantalla de coure o alumini la qual esta connectada a terra, i d’aquesta manera les corrents induïdes per el camp elèctric van a parar a terra i no de la bobina al cable. C)Compilació del projecte en MPLAB

Quan compilem el projecte de la practica 7 (amb la opció “Build All”) podem veure com es compila amb èxit ja que al final de l’arxiu es veu “BUILD SUCCEEDED” seguit de la hora actual del sistema, el arxiu ho hem compilat prop del disc dur ja que el programa MPLAB IDE no esta preparat per treballar amb arxius amb una profunditat de ruta de carpetes massa llarga.

Fig. 6 .Ouput file

Com podem observar a la figura6, el fitxer que et mostra el programa un cop feta la compilació et mostra si hi ha hagut algun error en el codi del programa, si és així t’ho mostra amb un missatge de “BUID FAILED”, si és correcte “BUILD SUCESSED”, com és el nostre cas, a part d’això, també ens mostra els “WARNINGS” encara que el programa anirà igualment a pesar que tingui avisos.

Page 46: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 46 -

D)El procés de “debugging” a través de l’execució pas a pas

Una eina molt útil per tal de depurar, trobar error, o nomes però observar si es fan correctament les interpretacions de les instruccions d’assemblador al PIC, es mitjançant el “debugging”. Per tal de fer un “debug” del nostre PIC, el que primer hem de fer es escollir que es el que volem veure al fer el “debug”, seleccionant al menú “debug” les finestres aposant-hi un “flag”, fent clic amb el ratolí. En el nostre cas voldrem veure les finestres “PIC CPU Source Code – U2” i “ PIC CPU Registers – U2”, ja que son les finestres que ens aportaran la informació mes útil.

Fig. 7Selecció de finestres al debug, “PIC CPU Source Code - U2 ” i “ PIC CPU Registers - U2”

Des de la finestra “PIC CPU Source Code – U2”, la informació que s’obté es el codi en assemblador del nostre projecte. En aquesta finestra de depuració podem posar “breakpoints” per tal de aturar la execució del programa en qualsevol punt i fer una execució pas a pas, prement la tecla F10, així podrem veure la execució del programa i analitzar si fa correctament la seva execució, o per exemple si fa ve el salts entre línies o si es queda penjat l’execució del codi en algun punt el qual no estava previst. Per tal d’introduir un “breakpoint” des de la finestra “PIC CPU Source Code – U2” en posarem a la línea on volem introduir-lo i desprès farem clic a la icona de la dreta on hi ha un cercle vermell, veurem com a la línea se’ns introdueix el dibuix d’un cercle vermell, indicant que hi ha un “breakpoint”. Un cop executem el projecte, quan l’execució del programa arriba al “breakpoint”, atura el programa i se’ns obre de manera automàtica les finestres de “debug” per tal de fer un anàlisi i l’execució pas a pas.

Page 47: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 47 -

Fig. 8Finestra “PIC CPU Source Code – U2”, on es pot veure a ’introducció d’un “breakpoint” a la línea 60.

La darrera finestra de “debug” juntament amb la finestra “ PIC CPU Registers – U2”, fan un tàndem extraordinari per tal de depurar qualsevol programa implementat a un PIC16F84. A la finestra “ PIC CPU Registers – U2” el que obtenim es com el seu nom ens indica, el valor dels registres del microprocessador, com dels ports. De les informacions que ens aporta quest debug, les mes importats son:

- INSTR.: Ens indica quina serà la instrucció que s’executarà en el pròxim pas. - W: Es mostra el contingut del registre intern W. - STATUS: conte la informació que hi ha al registre d’estat STATUS - PORT A/B: Mostra la informació continguda als ports del microprocessador, tant del port A com del port B.

Page 48: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 48 -

- TRIS A/B: Mostra la informació dels registres de configuració dels ports, registres TRISA i TRISB

E)F)Gravació del projecte amb MPLAB i el programador PIC-START PLUS a un PIC 16F84A

Per tal de fer la gravació del nostre projecte amb el programador PICSTART PLUS, necessitem adquirir el programador, el qual es troba disponible des de la mateixa pagina web de Microchip a una secció dedicada a la venta http://buy.microchip.com/ on podrem seleccionar el nostre país i fer la compra dels productes necessaris.

Fig. 9L’adquisició del PICSTART PLUS te un cost de 166,3€

Posteriorment realitzarem la compra del microprocessador en qüestions, esta compra la realitzarem en una web espanyola www.electronicaweb.com per a que es pugui veure com estan disponibles en múltiples punts de venta a Internet.

Fig. 10 L’adquisició del PIC te un cost de 3€

Page 49: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 49 -

Una vegada ja tenim disponible els estris necessaris, connectarem el programador PICSTART PLUS al ordinador mitjançant un cable RS-232 al port sèrie. Des de el MPLAB a la secció “programmer”, seleccionarem el gravador PICSTART PLUS.

Fig. 11 Selecció del programador PICSTART PLUS

Un cop tenim seleccionat el gravador, podem configurar alguns paràmetres del configurador a “programmer”→”settings”. Dintre de les opcions a configurar tenim la possibilitat d’escollir quina serà la primera posició de memòria que programarem i també podem seleccionar fins a quina posició de memòria volem gravar, així podem regravar/gravar algunes zones de memòria contretes.

Fig. 12 Selecció de les posicions inicial i final a gravar.

Altre de les configuracions que podem fer es la selecció del port de comunicació amb el PC, des de el COM1 fins al COM4.

Fig. 13 Selecció del port de comunicació del PC amb la PICSTAT PLUS

Page 50: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 50 -

G) Subrutina retard 1ms.(te que durar 15seg)

Abans de res es te que tindre en compte que el PIC treballa a 4MHz el cicle de instrucció es 4 vegades el cicle de rellotge i dura 1µs, cada instrucció no te perquè durar nomes 1 cicle d’instrucció, pot durar mes. A la subrutina de retard li hem afegit un tercer bucle anomenat “bucle delay 1”, i hem calculat aproximadament el temps que es tenia que executar cada bucle per a que la simulació dures 1ms, l’hem compilat amb èxit i hem aconseguit que el motor funcionés durant un interval de 15 seg. NOTA: S’ha de tenir en compte que aquesta subrutina de retard fa que es retardi el programa 15 segons, per tant, al programa principal només cridarem un cop aquesta subrutina.(un cop bastarà per retardar 15 seg.) Temp ;(el valor màxim que es pot assignar a un “delay” es d’225’, i al codi nomes cridem a la funció un ;cop, perquè aquesta funció ja retarda 15 segons sencers), movlw d'58' ;Contra més gran sigui el “Delay 3” més bucles executarà. movwf DELAY3 ;i mes temps durarà el retard.(s’inicialitza el “DELAY3”) bucle_delay3 movlw d'200' ; Contra més gran sigui el “Delay 2” més bucles executarà. movwf DELAY2 ; i mes temps durarà el retard.(s’inicialitza el “DELAY2”) inici_retard movlw d'200' ; Contra més gran sigui el “Delay 1” més bucles executarà. movwf DELAY1 ;i mes temps durarà el retard.(s’inicialitza el “DELAY1”) bucle_delay1 nop decfsz DELAY1,F ;No surt del bucle fins que “Delay1” no arribi a 0. goto bucle_delay1 decfsz DELAY2,F ;No surt del bucle fins que “Delay2” no arribi a 0. goto inici_retard decfsz DELAY3,F ;No surt del bucle fins que “Delay3” no arribi a 0. goto inici_retard

movlw b'00000010' ; il·lumina el segment "a" per indicar que no movwf PORTB ; temporitza i s’està temporitzant return Per calcular una formula exacta per retardar el programa els segons que es vulgui es te que fer la tècnica de posar un bucle dintre de un altre, es calculen els cicles maquina que dura un bucle y es multiplica per els cicles maquina que duren els altres 2 bucles, així s’aconsegueix aproximadament el temps que s’estarà en execució el programa. Esta clar que el temps total superarà lleugerament el estimat mitjançant aquest mètode, però l’error que es pot produir al menys amb tan sols 3 bucles un dintre de l’altre es menyspreable. Per fer retards mes exactes hi ha una eina del microcontrolador molt útil, que es diu “TIMER”, en el cas del nostre PIC s’anomena “TIMER0”. A la captura mostrada a la figura 14 es pot veure com s’ha compilat el codi correctament i no ens dona cap problema, l’hem simulat un altre cop i el resultat es el mateix que amb el codi inicial però aquest cop dura el retard 15 segons.

Page 51: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 51 -

Fig. 14 Captura de l’execució del programa en el MPLAB en fase de pas a pas

H) Programa per encendre tots els LED’s

No hem aconseguit fer l’objectiu de que s’encenguin tots els LED’s ja que hem programat la rutina de subretard de la següent manera: Hem definit la variable “comptador” a sota de les definicions dels delay’s, hi hem intentat posar el següent codi: Movlw h'6' ; Movwf contador ;inicialitza la variable comptador i la posa a 6(per començar il·luminant el sisè bit)

;llavors quan s’entra a la subrutina, tindria que fer un bucle y que ;s’encenguessin tots els LED’s

; Subrutina retard 1ms Temp movlw d'10' ;Defineix el retard3 movwf DELAY3 bucle_delay3 movlw d'83' ; Defineix el retard2 movwf DELAY2 inici_retard movlw d'230' ; Defineix el retard1 movwf DELAY1 bucle_delay1 nop decfsz DELAY1,F ;va executant el bucle i perdent segons fins que

Page 52: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 52 -

goto bucle_delay1 ;el comptador(Delay1) arriba a 0, que es quan surt. decfsz DELAY2,F ;va executant el bucle i perdent segons fins que goto inici_retard ;el comptador(Delay2) arriba a 0, que es quan surt. clrf PORTB ;borra el PORTB (display) bsf PORTB,contador ;Mou el bit numero ‘contador’ al PORTB ;(encén un segmento del display).

Decf contador,F ;decrementa el comptador en 1 (F = 1). Btfsc PORTB,W ;Mira si el bit 0 del PortB es 0, si es així salta la ;instrucció

;següent. Movlw h'8' ;Es posa 2 vegades aquesta operació perquè són necessàries Btfsc PORTB,W ; 2 operacions per a inicialitzar a 6 el comptador. Movwf contador ;Si el bit 0 del PORTB esta a 1 es que ha arribat al final del decfsz DELAY3,F ;comptador i el tenim que posar a 6 un altre vegada. goto bucle_delay3 ;quan el comptador(Delay3) arriba a 0, que es quan surt del

;bucle

return ;surt del bucle a un altre instrucció del programa.

Desprès de compilar el programa i que no dones errors el programa no ens funcionava correctament, ja que no s’encenien LED’s del display, després de posar “breakpoints” al programa i “debbugar-lo” pas a pas, hem trobat l’error que hem comes al programar-lo. Es el següent:

Fig. 15 Captura de l’execució del programa en el MPLAB en fase de pas a pas

Com podem veure a la captura següent el que falla de el nostre programa es que quan s’executa la ordre de “bsf PORTB, contador” encerclada en la captura, al “PORTB” tindria que encendre’s el numero 5,

Page 53: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals perquè es el numero que marca el “contador”, (encerclats els valors de “contador” i “PortB”), i en comptes d’això posa a 1 el bit de major pes del Port B(sigui quin sigui el valor de comptador), com no tenim mes temps i no se ens acut una altra manera de programar el PIC de manera que s’encengui un LED diferent cada segon , deixem el treball en aquest punt. Segons la nostre ultima captura veiem un “warning” que coincideix amb la línia anterior, la que no s’executava segons les nostres previsions, es a dir, l’ordre “bsf PORTB, contador”, anteriorment s’ha mostrat que el programa ens falla a l’altura d’aquest avís del programa.

Fig. 16 Programa compilat, (el warning 202 fa que el programa no funcioni)

Conclusions del treball

La conclusió que hem extret d’aquest projecte es que és molt diferent programar en assemblador que en C, ja que en C un algorisme de programació similar al que hem empleat a l’apartat h) hauria donat resultat sense problemes, en canvi el assemblador tracta les variables y posicions de memòria de forma mes complexa al nostre semblar, contra mes complicats siguin els programes a elaborar, mes complicat serà programar en assemblador.

- 53 -

Page 54: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

EX8 de Sistemes Electrònics Digitals

GRUP: G11 DATA: 16 de Desembre del 2005 Descripció breu de les aportacions realitzades En aquesta practica, hem analitzat el codi assemblador, de tal manera que hem deduït els diagrames de flux de tot el que fa el programa. També hem estudiat i entès els conceptes de interrupcions, com configurar el PIC perquè t’accepti les interrupcions que tu vols fer, ja siguin interrupcions externes com a partir del timer0. Hem pogut veure com aprofitar el codi fet amb un microprocessador, y passar-lo a un altre microprocessador d’altre gama superior, i que no hi ha cap problema per fer-ho. Hem compres molt millor el funcionament del PIC i de com treballa amb els seus perifèrics, en aquest cas amb el TIMER0, també les Opcions de configuració que fa servir per controlar els seus perifèrics. Aquest conceptes han estar molt ben assimilats, però degut a la poca practica amb el llenguatge assemblador ens hem trobat amb diversos problemes de programació. TEMPS D’ESTUDI I DE PREPARACIÓ DE L’EXERCICI:

Sessions TGA a l’aula: 2h Sessions TGB al laboratori 2h Sessions TGC fora de l’horari 6h Treball individual Estudiant 1: Estudiant 2: Estudiant 3: Estudiant 4:

16h 6h 11h

Temps total (per estudiant) 21h

- 54 -

Page 55: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

MICRO_Pràctica 4: Temporitzador. Versió 2

Descripció de la pràctica:

Es tracta de realitzar el disseny d’un temporitzador (timer) a través d’un microcontrolador: l’especificació de funcionament; l’esquema del circuit al voltant d’un PIC16F873; la preparació del diagrama de flux del programa; l’edició del projecte en MPLAB; la seva compilació i simulació tant en el propi MPLAB com en Proteus-VSM; i la gravació final sobre un PIC16F873 per muntar-ho sobre una targeta d’entrenament. En aquesta cas, ja es realitzarà un programa ben estructurat fent ús dels recursos adequats per realitzar la interfície amb els senyals d’entrada i les temporitzacions. Bàsicament la novetat és l’ús de les interrupcions al programa principal per augmentar l’eficiència del sistema i la utilització de perifèrics especialitzats en tasques determinades, en aquest cas el temporitzador TIMER 0. S’aprofitarà l’aplicació presentada a l’EX7 per poder enfocar l’aprenentatge cap als canvis substancials de la programació, tot i així es tracta el concepte de smooth upward/downward migration per avaluar què representa “migrar” l’aplicació d’un microcontrolador a l’altre. Conceptes relacionats amb aquesta pràctica/problema:

L’arquitectura interna del sistema microcontrolador PIC16F873/876/877 de gama mitjana; la utilització d’interrupcions; la utilització de perifèrics específics: Timer 0; la generació de senyals de temps real; la migració entre microcontroladors de la mateixa família. Material necessari

- PIC 16F873A - Visualitzador de 7 segments - LED’s vermells o verds - Altres components senzill del kit de pràctiques de quadrimestre 1A

Guió inicial de la pràctica / problema:

El canvi de microcontrolador

K) El punt de partida per realitzar aquest projecte és l’EX7, el mateix disseny d’un temporitzador com el que està representat a la Fig. 53. Així que feu una còpia del directori i de tots els fitxers. Anomeneu-lo “PIC_ASM_Practica_3”. Canvieu les directives d’assemblador i l’entorn MPLAB per tal que compili el projecte pel xip PIC16F873/873A. Imprimiu l’arquitectura d’aquest xip per analitzar quines són les característiques que el diferencien del PIC16F84A.

L) Arrenqueu el laboratori virtual Proteus-VSM i realitzeu els canvis al circuit per adaptar el

temporitzador a aquest nou microcontrolador. Verifiqueu que continua funcionant correctament amb el nou projecte “PIC_ASM_Practica_3”.

- 55 -

Page 56: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

DIS[6..0]

DIS6DIS5DIS4DIS3DIS2DIS1DIS0

TIMER

CCT001

S1

S2TIME_OUT

ON

TRIGGER

RESET

VDC

Q1BC547

DIS[6..0]

b

g

a

1N914

R210k

DC-MOTOR

48V

R12

2.2k

RELE6V

Vdc1

B148V

GND

VDC

Fig. 53 Temporitzador a dissenyar a través d’un PIC16F873

L’anàlisi inicial d’un programa basat en interrupcions

M) Per entrenar-vos en el tema d’interrupcions i comprovar com es duu a la pràctica, analitzeu aquest altre projecte “SED_ASM_demo_int_timer” de visualització multiplexada de 4 dígits. Determineu per ambdós casos el diagrama de flux.

a. Part A) Programa sense interrupcions amb la tècnica del polling o interrogació contínua de l’estat del bit 5 del Port A (RA4). Fixeu-vos que si no premeu una estona el polsador, el pols no és capturat (el microprocessador té ja molta feina a representar les dades, i no està pas sempre pendent del polsador).

b. Part B) Programa amb la tècnica d’interrupcions. Fixeu-vos com ara no es “perd” cap pols

Fig. 54 Projecte de visualització multiplexada de 4 dígits per il·lustrar el tema de les interrupcions (al simulador Proteus-VSM es veu solament un dígit encès cada vegada, però si munteu el sistema en una targeta d’entrenament, els 4 dígits brillen simultàniament)

- 56 -

Page 57: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals La transformació del projecte: de la tècnica del “polling” a les interrupcions

La transformació del programa per tal que funcioni amb interrupcions es realitzarà en dos passos consecutius. Elaboreu en primer lloc el diagrama de flux del programa i useu per aquesta tasca, si s’escau, l’execució pas a pas, l’aturada controlada del programa (breakpoints) i la visualització dels registres o les variables de programa a través de l’aplicació watch.

N) Transformeu el vostre projecte per a que l’accionament del polsador TRIGGER activi la subrutina de temporització. Verifiqueu el seu funcionament correcte i documenteu els canvis que heu introduït. Heu d’imprimir o enganxar com una figura el report que us dóna per la finestra “Output” al compilar en MPLAB.

O) Expliqueu a través de la Fig. 55 l’estructura i funcionament del perifèric Timer 03. Expliqueu

com programareu els bits dels registres de configuració i com realitzareu la rutina de retard per aconseguir temporitzacions exactes.

P) Afegiu codi al projecte per realitzar mitjançant interrupcions la temporització de 15 s a través del

perifèric TIMER 0. Verifiqueu el seu funcionament correcte i documenteu els canvis que heu introduït. Heu d’imprimir o enganxar com una figura el report que us dóna per la finestra “Output” al compilar.

Fig. 55 Estructura del Timer 0 (Fig. 11.1 del manual “PICmicro Mid-Range MCU Family)

El muntatge del prototip

Q) Graveu a través del mateix MPLAB amb el programador PICSTART (o bé amb el vostre propi gravador) un PIC16F873 i munteu el circuit directament en el vostre board de laboratori. Podeu suposar, per simplificar que en lloc d’un relé i la càrrega teniu un simple LED.

R) (Extra) Imprimiu l’esquema de la targeta d’entrenament BlueBird PIC- Millennium4.

Modifiqueu el circuit, tant el connexionat com el programa, si fa falta, per tal de fer córrer el disseny sobre aquesta targeta i així no haver d’usar el board de laboratori que sempre acostuma a portar problemes de contactes.

3 Podeu llegir en primer lloc el capítol corresponent al perifèric TIMER 0 del datasheet del PIC16F16A, PIC16F87X o bé del manual general “PICmicro Mig-Range MCU Family”. També hi ha molta informació en els capítols 17 i 18 del llibre “Microcontrolador PIC16F84, desarrollo de proyectos”, E. Palacios, F. Remiro, J. L. López, RA-MA, 2004. 4 La documentació de la targeta PIC MILLENNIUM juntament amb el seu esquema la teniu disponible a la Unitat didàctica 2.4 de SED

- 57 -

Page 58: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals Desenvolupament de la pràctica/problema. Treball del grup

El canvi de microcontrolador

A) ADAPTACIÓ DEL PROJECTE AL PIC 16F873 En el mateix projecte, anant a la opció Configure Select device, s’obre un menú el qual et deixa escollir sobre quin PIC vols compilar el teu projecte.

Fig. 56 Adaptacio al MPLAB del projecte al PIC16F873

Després de fer tot això hem compilat el projecte i no ens ha donat cap problema, es te que guardar el treball anant a File Save Workspace i guardant-lo com a “PIC_ASM_Practica_3” en el nostre cas, desprès compilem el projecte per crear el arxiu “.HEX” i un cop creat quan obrim el Proteus canviem el arxiu que hi ha dins del PIC i posem el “PIC_ASM_Practica_3.HEX”, quan simulem el projecte veiem que funciona igual, i que no ha suposat cap problema el canviar el microprocessador per un de millor. Posteriorment, revisant el codi assemblador hem vist que hi ha un parell de directives les quals serien necessàries canviar, tot i així, sense fer cap canvi al codi ens ha funcionat al Proteus sense cap problema. Les directives que s’haurien de canviar serien “LIST p=16F873” i “#INCLUDE <P16F873.INC>”

- 58 -

Page 59: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

Comparació de les diferents Arquitectures: Entre les 2 arquitectures podem apreciar segons els diagrames el PIC16F873 i el PIC16F84A les següents diferencies: A nivell de ports es bàsicament que el PIC16F84A te 2 ports d’entrada-sortida, el PortA de 5bits i el PortB de 8 bits, en canvi el PIC16F873 te el PortA de 6 bits, el PortB de 8 bits i a mes te un PortC addicional de 8bits. El PIC16F873 te un convertidor analògic-digital de 10 bits amb 5 canals d’entrada, 3 Ports d’entrada/sortida(mencionats anteriorment), i tres TIMER’s en lloc de un, a part de coincidir amb el perifèric del TIMER0 aquest PIC també disposa de el TIMER1 y el TIMER2, encara que no es pugui apreciar al diagrama els tres temporitzadors no son exactament iguals encara que les seves funcions puguin semblar les mateixes, es a dir, el seu funcionament te petites variacions, per exemple en número de bits dels que disposen els temporitzadors son diferents, y tenen diferents opcions de configuració. El rellotge intern dels 2 Microcontroladors també es el mateix, això vol dir que el temps de instrucció serà també el mateix, són igual de ràpids. La memòria que te el PIC16F873 segons les especificacions(datasheet) i el diagrama de blocs, es 8 vegades mes gran que la del PIC16F84A, el fitxer de registres (RAM) i la memòria de dades EEPROM també son molt superiors en la versió del PIC16F873. A part d’aquestes diferencies en la capacitat de memòria i Ports I/O entre les 2 versions i tots els perifèrics afegits a la versió 16F873 (explicats anteriorment), dels quals la versió 16F84A no disposa, el funcionament dels dos microcontroladors és molt similar. Per últim al comentar q els perifèrics USART, CCP1-2 o el port síncron sèrie del PIC16F873 entre altres, també son millores que tenim que tenir en compte i que no es troben al PIC16F84A.

- 59 -

Page 60: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 60 -

Page 61: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 61 -

Page 62: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

B) ADAPTACIÓ DEL LA SIMULACIÓ DEL PROJECTE Com es pot veure a la següent captura, l’únic que es te que fer per simular el projecte amb el nou PIC es anar al component del PIC16F84 i canviar el nom del arxiu “.HEX”, això s’aconsegueix fent clic al boto esquerre del ratolí al component PIC16F84 un cop seleccionat, un cop fet això on posa "program file", si cliquem a la carpeta que esta marcada amb un cercle groc es desplega un menú del qual pots triar tots els possibles arxius “HEX” que pots triar, dels possibles arxius triarem el següent , “PIC_ASM_Practica_3.HEX”, el qual es el corresponent al programa compilat amb el PIC16F873, un cop canviat l’arxiu .HEX del Proteus, provem el circuit i continua funcionant igual que amb el PIC anterior.

- 62 -

Page 63: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals L’anàlisi inicial d’un programa basat en interrupcions

C) DIAGRAMES DE FLUX

PART A: “Poolling”

- 63 -

Page 64: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 64 -

Page 65: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 65 -

Page 66: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- 66 -

Page 67: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals La transformació del projecte: de la tècnica del “polling” a les interrupcions

D) INTERRUPCIÓ EXTERNA Fem la compilació del projecte i observem que no ens dona cap problema ni error de compilacio, tal i como es pot veure a la següent imatge.

Segons la següent captura, en la que mostrem els estats dels registres principals, podem apreciar com els registres INTCON esta configurat de manera que autoritza les interrupcions generals i les interrupcions de la pota del microcontrolador RBO/INT, també es veu les configuracions dels registres TrisA y TrisB, s’aprecia clarament que esta configurat el bit 0 del PortB(RBO/INT) com a entrada, i la resta de bits del PortB com a sortides dels leds, també s’aprecia que la primera entrada del port A esta configurada com a sortida(la que activa el motor).

- 67 -

Page 68: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals Els bits necessaris pera configurar el PIN0 del PORTB com a sortida externa estan explicats amb detall en el apartat E) de aquest treball. S’adjunta a l’annex 1 el codi en assemblador amb les modificacions fetes per tal de fer-ne us de les interrupcions. E) FUNCIONAMENT DEL TIMER0 El funcionament del Timer0 es configura a traves d’una sèrie de registres del PIC, dels quals el més significatiu n’és el INTCON.

• INTCON (controla les interrupcions), Direcció 0Bh. Fem un anàlisi bit a bit:

o RBIF (Flag d’interrupció per canvi al PORTB) Direcció INTCON,0 (bit 0) es posa a "1" quan algú dels pins RB4, RB5, RB6, o RB7 canvia el seu estat. Una vegada que està a "1" no passa a "0" per si mateix: s’ha de posar a zero per programa.

o INTF (Flag d’interrupció de RB0) Direcció INTCON,1. Si està a "1" es que hi ha succeït una interrupció per RB0, si està a "0" es que la interrupció no ha succeït. Aquest bit es una copia de RB0.

o TOIF (Flag d’interrupció per desbordament de TMR0) Direcció INTCON,2. Quan TMR0 es desborda aquest Flag avisa posant-se a "1". Posar a "0" por programa.

o RBIE (Habilita la interrupció per canvi al PORTB) Direcció INTCON,3. Si està a "1" les interrupcions per canvi al PORTB son possibles.

o INTE (Habilita la interrupció per RB0) Direcció INTCON,4. Si el posem a "1" la interrupció per RB0 es possible

o TOIE (Habilita la interrupció per desbordament de TMR0) Direcció INTCON,5. Si aquest bit esta a "1" la interrupció per desbordament de TMR0 es possible.

o EEIE (Habilita la interrupció per fi d’escriptura a la EEPROM de dades) Direcció INTCON,6. Quan aquest bit està a "1" la interrupció quan acaba l’escriptura a la EEPROM de dades es possible.

o GIE (Habilita les interrupcions globalment) Direcció INTCON,7. Aquest bit permet que qualsevol interrupció de les anteriors sigui possible. Per usar alguna de les interrupcions anteriors s’ha d’habilitar-les globalment e individualment.

També tenim un altre registre el qual ens permet la configuració de mes opcions sobre les interrupcions i sobre el TIMER0. Aquest registre es el OPTION (OPTION_REG)

• OPTION, Direcció 01h, (configuració del prescaler, Timer, y algunes coses més) l’observem bit a bit

o PS0, PS1 y PS2 (Bits del 0 al 2) Configuració del preescaler: El preescaler es un divisor de polses que està a l’entrada del Timer-contador. El prescaler divideix el nombre de polses que l’entren al timer-contador o al Wachtdog. El factor de divisió es el següent

(segons els valors de PS2, PS1 y PS0 respectivament

- 68 -

Page 69: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

o PSA, Direcció OPTION,3. Bit d’assignació de prescaler: si està a "1" el prescaler

s’assigna a WDT (Wachtdog), si està a "0" s’assigna al TMR0 o TOSE, Direcció OPTION,4. Bit de selecció del tipus de flanc per al TMR0. A "1"

s’incrementa TMR0 per flanc descendent de RA4, a "0" s’incrementa TMR0 per flanc ascendent de RA4.

o TOCS, Direcció OPTION,5. Selecciona l’entrada de rellotge de TMR0. A "1" l’entrada de rellotge de TMR0 es per flanc de la pota RA4, a "0" l’entrada de rellotge de TMR0 es per cicle de rellotge intern.

o INTEDG, Direcció OPTION,6. Tipus de flanc per la interrupció per RB0: A "1" la interrupció serà per flanc ascendent, a "0" la interrupció serà per flanc descendent.

o RBPU, direcció OPTION,7. Carrega Pull-Up en port B. A "0" totes les sortides del port B tindran una carrega de pull-Up interna.

Per tal de fer una temporització lo mes exacta possible fent us del Timer0, podem fer us de la següent formula:

Temps = Tcm · prescaler · (256 – Carrega TMR0)

On:

• Temps = Es el temps que aconseguirem de retard amb el Timer0 • Tcm = Es el temps d’un cicle de codi maquina, que es el que triga el micro en fer una operació,

pel cas del pic aquest temps es Tcm = 4 · Tosc, y com ja sabem el PIC l’estem fent treballar amb el rellotge intern que es de 4MHz, tenim que el Tcm es de 1µs.

• Prescaler, es el rang del divisor que hem escollit amb el bits PS2, PS1 y PS0 • Carga-TMR0, es el valor amb el qual hem carregat inicialment el Timer, restat a 256 que es el

valor màxim que ens pot comptar el Timer (00h a FFh) Per exemple: Per aconseguir 1ms, podríem realitzar-lo, configurant un prescaler de 4 y sense donar cap valor a la carrega inicial del Timer0.

Temps = 1µs · 4 · 256 = 1024µs ≈ 1ms.

- 69 -

Page 70: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals Una vegada ja sabem com funcionen els registres necessaris per fer la configuració del Timer0, podem fer un petit anàlisi de la figura que ens proporciona el fabricant sobre el funcionament intern de la configuració del Timer0.

Fig. 57 Estructura del Timer 0 (Fig. 11.1 del manual “PICmicro Mid-Range MCU Family) El primer que podem veure es la selecció del rellotge, a l’esquerra del dibuix, agafant el rellotge intern de 4MHz en el cas de que T0CS (OPTION_REG,5) estigues a “0” i seleccionant el rellotge extern, a traves de RA4, si esta a “1”. Posteriorment el pot apreciar com depenent de l’entrada PSA seleccionarem si el rellotge es passa pel prescaler o bé s’agafa directament. En cas de que PSA estigues a “0” el rellotge es passaria pel prescaler (amb el valor configurat a PS2, PS1 i PS0) i en cas de que fos un “1” no passaria pel prescaler (en aquest cas el prescaler s’assignarà al “Wachtdog”) i agafaríem el senyal de rellotge directament. Finalment vegem com el rellotge arriba al Timer0 el qual s’encarregarà de fer el compte necessari sincronitzat amb aquest rellotge que li arriba i generant el senyal de desbordament quan arriba al seu màxim compte. F) TEMPORITZACIÓ AMB EL TIMER0 En aquest apartat hem tingut un seguit de problemes en quant a la configuració amb el llenguatge assemblador, deguts a la poca practica amb el llenguatge, però això nos ens ha donat temps de poder finalitzar-ho. Tant així, els conceptes necessaris, como ara els registres que calen per fer us del Timer, han estat totalment assimilats. S’adjunta a l’annexa 2 el codi que encara falta perfilar per tal de fer-ne us del Timer0.

- 70 -

Page 71: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals ANNEX 1

************************************************************************************** ; TÍTOL I DESCRIPCIÓ ; ***************************** TITLE "Temporitzador. Primera versió" ; En aquesta pràctica es tractarà de dissenyar un temporitzador que ; activi el motor DC durant un temps programable, que en aquesta ; primera versió aproximarem a TIMER_OUT = 15 s. ; Mentre està temporitzant s'activarà el dígit fent una seqüència determinada. ; Veureu com s'organitza un programa en assamblador d'una forma estructurada ; usant subrutines que realitzen tasques concretes. ; 1) Prement TRIGGER es dispara el procés de temportizació que activa el MOTOR ; 2) A partir del cicle d'instrucció d'1 MHz, s'aniran incrementant variables ; per perdre temps. Cada 0.5 s aproximadament s'il·luminarà un segment diferent ; del dígit. Després de 15 s s'acabarà la temporització i el MOTOR es pararà. ; 4) Una millora pot ser convertir una de les variables a BCD i representar-la ; en el dígit de 7 segment (subrutines de binari a BCD, i de BCD a 7_segments) ; ************************************************************************************** ; SELECCIÓ DEL PIC ; **************************** LIST p=16F84A ; Aquesta directiva de l’assemblador amb l’opció p ; selecciona el PIC ; ************************************************************************************** ; DEFINICIONS PRÒPIES DEL PIC ; **************************** #INCLUDE <P16F84A.INC> ; Inclou les definicions del PIC seleccionat: tots els bits ; i registres importants, amb nom molt semblant al datasheet ; ************************************************************************************** ; DEFINICIONS ; **************************** FLASH_RESET EQU 000h ; Primera posició de la FLASH: Es on es va quan ; es prem el MCLR_L (reset general) FLASH_PROGRAMA EQU 005h ; Primera posició de la FLASH útil ; per instal·lar el programa VECTOR_INTERRUP EQU 004h ; Posició de memòria on salta quan es produeix ; una interrupció POLSADOR EQU 0 ; Línia del port B on hi ha el polsador CBLOCK 0x0C ; Aquesta directiva d'assemblador CBLOCK-ENDC ; és com un conjunt de directives EQU DELAY1 ; retards per la temportizació DELAY2 DELAY3 ENDC ; ************************************************************************************** ; PROGRAMA PRINCIPAL ; **************************** ORG FLASH_PROGRAMA ; Posició de la SRAM del PIC on començarà el programa Start ; Etiqueta que indica la primera posició del programa

- 71 -

Page 72: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals ; ----- Configurar el port B com a sortida ; El registre TRISB està al bank 1 de la memòria RAM (0086h) bsf STATUS,RP0 ; Per tal d'adreçar-lo directament, cal configurar el bit 5 ; del registre d'estat STATUS. movlw h'01' movwf TRISB ; Configura el PORT_B com sortida movlw h'FE' movwf TRISA ; Configura RA0 com sortida la sortida TIMER_OUT bsf OPTION_REG,INTEDG ;configura el OPTION_REG bcf STATUS,RP0 ; Torna a l'adreçament del bank 0; posa a '0' el bit 5 clrf PORTA ; Posa a 0 el registre PORTA on hi ha TIMER_OUT movlw b'10000000' ; il·lumina el segment "g" per indicar que no temporitza ; i s'està inactiu movwf PORTB movlw b'10010000' ;configura el INTCON(configuració de les interrupcions) movwf INTCON Loop goto Loop ; Mentre no s'hagi unainterrrupció el programa es queda ; en aquest llaç sense fer res més return ; ************************************************************************************** ; Subrutina retard 5s aqui movlw b'00000001' ; activa la sortida TIMER_OUT movwf PORTA ; Salta a la subrutina de temporitzar 15 s que també activa ; els diferents segments cada 0,5 s. call Temp call Temp ; Ara Temp temporitza 1 ms aproximadament call Temp ; Heu de millorar aquest programa ; per tal de complir les especificacions call Temp call Temp call Temp call Temp movlw b'10000000' ; torna a indicar inactivitat (segment "g") ; i s'està inactiu movwf PORTB movlw b'00000000' ; desactiva la sortida TIMER_OUT movwf PORTA bcf INTCON,INTF retfie

- 72 -

Page 73: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals ; ************************************************************************************** ; Subrutina retard 1ms Temp movlw d'11' movwf DELAY3 inici_retardo movlw d'80' ; movwf DELAY2 inici_retard movlw d'249' ; movwf DELAY1 bucle_delay1 nop decfsz DELAY1,F ; goto bucle_delay1 decfsz DELAY2,F ; goto inici_retard movlw b'00000010' ; il·lumina el segment "a" per indicar que no temporitza ; i s'està temporitzant movwf PORTB decfsz DELAY3,F goto inici_retardo return ; ************************************************************************************** ; Subrutina per convertir de BCD a 7_SEG. ; Del llibre "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS" ; E. Palacios, F. Remiro y L. López, Editorial Ra-Ma. www.ra-ma.es BCD_to_7SEG addwf PCL,F ; Aquesta és la introcció bàsica: un salt indexat a la posició ; de memòria marcada pel (PCL + W) ; És a dir, cal entrar en aquesta subrutina, amb el W carregat ; amb el codi hexadecimal a convertir i se surt justament amb ; amb el codi de 7_segments situat al W ; ------------------------------------ codis retlw 3Fh ; b'00111111' per il·luminar el "0". retlw 06h ; "1". retlw 5Bh ; "2". retlw 4Fh ; "3". retlw 66h ; "4". retlw 6Dh ; "5". retlw 7Dh ; "6". retlw 07h ; "7". retlw 7Fh ; "8". retlw 67h ; "9". retlw 77h ; "A". retlw 7Ch ; "B". retlw 39h ; "C". retlw 5Eh ; "D". retlw 79h ; "E". retlw 71h ; "F".

- 73 -

Page 74: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals ; Compte !! Falta arreglar el codi per si el registre W conté un ; valor superior a h'0F' ; ************************************************************************************** ; VECTOR DE RESET ; **************************** ORG FLASH_RESET ; Quan es prem el MCLR_L, el programa va goto Start ; ************************************************************************************** ; Subrutina per incrementar el comptador cuan hi ha una interrupció ORG VECTOR_INTERRUP goto aqui ; Va al aqui ; ************************************************************************************** ; BITS DE CONFIGURACIÓ GENERAL PER AL PROGRAMADOR ; **************************** __CONFIG _XT_OSC & _PWRTE_ON & _CP_OFF & _WDT_OFF ; Rellotge exterior a cristall de quars XT (_XT_OSC) ; Usarem el temporitzador d'arrencada Power-Up Timer(_WRTE_ON) ; No usarem el Watch-Dog Timer (_WDT_OFF) ; No protegirem el codi (_CP_OFF) END ; Directiva que marca el fi del programa font ; **************************************************************************************

- 74 -

Page 75: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals ANNEX 2

************************************************************************************** ; TÍTOL I DESCRIPCIÓ ; ***************************** TITLE "Temporitzador. Primera versió" ; En aquesta pràctica es tractarà de dissenyar un temporitzador que ; activi el motor DC durant un temps programable, que en aquesta ; primera versió aproximarem a TIMER_OUT = 15 s. ; Mentre està temporitzant s'activarà el dígit fent una seqüència determinada. ; Veureu com s'organitza un programa en assamblador d'una forma estructurada ; usant subrutines que realitzen tasques concretes. ; 1) Prement TRIGGER es dispara el procés de temportizació que activa el MOTOR ; 2) A partir del cicle d'instrucció d'1 MHz, s'aniran incrementant variables ; per perdre temps. Cada 0.5 s aproximadament s'il·luminarà un segment diferent ; del dígit. Després de 15 s s'acabarà la temporització i el MOTOR es pararà. ; 4) Una millora pot ser convertir una de les variables a BCD i representar-la ; en el dígit de 7 segment (subrutines de binari a BCD, i de BCD a 7_segments) ; ************************************************************************************** ; SELECCIÓ DEL PIC ; **************************** LIST p=16F84A ; Aquesta directiva de l’assemblador amb l’opció p ; selecciona el PIC ; ************************************************************************************** ; DEFINICIONS PRÒPIES DEL PIC ; **************************** #INCLUDE <P16F84A.INC> ; Inclou les definicions del PIC seleccionat: tots els bits ; i registres importants, amb nom molt semblant al datasheet ; ************************************************************************************** ; DEFINICIONS ; **************************** FLASH_RESET EQU 000h ; Primera posició de la FLASH: Es on es va quan ; es prem el MCLR_L (reset general) FLASH_PROGRAMA EQU 005h ; Primera posició de la FLASH útil ; per instal·lar el programa VECTOR_INTERRUP EQU 004h ; Posició de memòria on salta quan es produeix ; una interrupció POLSADOR EQU 0 ; Línia del port B on hi ha el polsador CBLOCK 0x0C ; Aquesta directiva d'assemblador CBLOCK-ENDC ; és com un conjunt de directives EQU DELAY1 ; retards per la temportizació DELAY2 DELAY3 ENDC ; ************************************************************************************** ; PROGRAMA PRINCIPAL ; **************************** ORG FLASH_PROGRAMA ; Posició de la SRAM del PIC on començarà el programa Start ; Etiqueta que indica la primera posició del programa

- 75 -

Page 76: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals ; ----- Configurar el port B com a sortida ; El registre TRISB està al bank 1 de la memòria RAM (0086h) bsf STATUS,RP0 ; Per tal d'adreçar-lo directament, cal configurar el bit 5 ; del registre d'estat STATUS. movlw h'01' movwf TRISB ; Configura el PORT_B com sortida movlw h'FE' movwf TRISA ; Configura RA0 com sortida la sortida TIMER_OUT movlw b'00110111' ;configuremel prescales a 256 movwf OPTION_REG bcf STATUS,RP0 ; Torna a l'adreçament del bank 0; posa a '0' el bit 5 clrf PORTA ; Posa a 0 el registre PORTA on hi ha TIMER_OUT movlw b'10000000' ; il·lumina el segment "g" per indicar que no temporitza ; i s'està inactiu movwf PORTB movlw b'10010000' ;configura el INTCON(configuració de les interrupcions) movwf INTCON Loop goto Loop ; Mentre no s'hagi unainterrrupció el programa es queda ; en aquest llaç sense fer res més return ; ************************************************************************************** ; Subrutina retard 5s aqui Atencio_Interrupt btfss INTCON,INTF ; És el polsador? goto proxima_int btfss INTCON,INTE goto proxima_int goto int_polsador ; Si (INTF = '1' AND INTE = '1')--> salta proxima_int btfss INTCON,T0IF ; És el TIMER0? goto fi btfss INTCON,T0IE goto fi goto int_timer0 ; Si (T0IE = '1' AND TOIF = '1') --> salta int_polsador clrf TMR0 ; precarrega el valor 00h per tal que compti 256 polsos bsf INTCON, T0IE ; habilita les interrupcioms del TIMER0 i comença a comptar bsf INTCON,INTE ; deshabilita les interrupcions del polsador ; fins que no s'ha acabat la temporització no s'ha

- 76 -

Page 77: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals ; de tornar a fer cas del polsador bcf INTCON,INTF ; Borra el Flag d'interrupció del polsador movlw b'00000001' ; activa la sortida TIMER_OUT movwf PORTA movlw b'00000010' ; torna a indicar inactivitat (segment "g") ; i s'està inactiu movwf PORTB bsf INTCON, T0IE ; se activa el <timer0 fi retfie int_timer0 movlw b'10000000' ; ilumina el segmento a (segment "a") ; i s'està inactiu movwf PORTB movlw b'00000000' ; desactiva la sortida TIMER_OUT movwf PORTA goto fi retfie ; ************************************************************************************** ; Subrutina retard 1ms Temp movlw d'11' movwf DELAY3 inici_retardo movlw d'80' ; movwf DELAY2 inici_retard movlw d'249' ; movwf DELAY1 bucle_delay1 nop decfsz DELAY1,F ; goto bucle_delay1 decfsz DELAY2,F ; goto inici_retard movlw b'00000010' ; il·lumina el segment "a" per indicar que no temporitza ; i s'està temporitzant movwf PORTB decfsz DELAY3,F goto inici_retardo return

- 77 -

Page 78: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals ; ************************************************************************************** ; Subrutina per convertir de BCD a 7_SEG. ; Del llibre "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS" ; E. Palacios, F. Remiro y L. López, Editorial Ra-Ma. www.ra-ma.es BCD_to_7SEG addwf PCL,F ; Aquesta és la introcció bàsica: un salt indexat a la posició ; de memòria marcada pel (PCL + W) ; És a dir, cal entrar en aquesta subrutina, amb el W carregat ; amb el codi hexadecimal a convertir i se surt justament amb ; amb el codi de 7_segments situat al W ; ------------------------------------ codis retlw 3Fh ; b'00111111' per il·luminar el "0". retlw 06h ; "1". retlw 5Bh ; "2". retlw 4Fh ; "3". retlw 66h ; "4". retlw 6Dh ; "5". retlw 7Dh ; "6". retlw 07h ; "7". retlw 7Fh ; "8". retlw 67h ; "9". retlw 77h ; "A". retlw 7Ch ; "B". retlw 39h ; "C". retlw 5Eh ; "D". retlw 79h ; "E". retlw 71h ; "F". ; Compte !! Falta arreglar el codi per si el registre W conté un ; valor superior a h'0F' ; ************************************************************************************** ; VECTOR DE RESET ; **************************** ORG FLASH_RESET ; Quan es prem el MCLR_L, el programa va goto Start ; ************************************************************************************** ; Subrutina per incrementar el comptador cuan hi ha una interrupció ORG VECTOR_INTERRUP goto aqui ; Va al Run ; ************************************************************************************** ; BITS DE CONFIGURACIÓ GENERAL PER AL PROGRAMADOR ; **************************** __CONFIG _XT_OSC & _PWRTE_ON & _CP_OFF & _WDT_OFF ; Rellotge exterior a cristall de quars XT (_XT_OSC) ; Usarem el temporitzador d'arrencada Power-Up Timer(_WRTE_ON) ; No usarem el Watch-Dog Timer (_WDT_OFF) ; No protegirem el codi (_CP_OFF) END ; Directiva que marca el fi del programa font ; **************************************************************************************

- 78 -

Page 79: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

Mínim 4

Ejemplo de la utilización de un termómetro digital implementado con el PIC

En el presente trabajo se explica el diseño y desarrollo para implementar un "termómetro digital" basado en el microcontrolador PIC16F84, fabricado por Microchip, el cual se programará en el lenguaje ensamblador del microcontrolador para el funcionamiento del proyecto.

La importancia de realizar un termómetro digital es debido a que es muy fácil realizar medidas de la temperatura con un sistema de adquisición de datos, pero la realización de medidas de temperatura exactas y repetibles no es tan fácil.

DISEÑO DEL TERMÓMETRO DIGITAL

El termómetro digital será desarrollado de acuerdo al siguiente diagrama a bloques:

Para las aplicaciones más habituales (casi un 90%) la elección de una versión adecuada de PIC es la mejor solución; sin embargo, dado su carácter general, otras familias de microcontroladores son más eficaces en aplicaciones específicas, especialmente si en ellas predomina una característica concreta, que puede estar muy desarrollada en otra familia.

Los detalles más importantes de la excelente acogida que tienen los PIC son los siguientes:

- Sencillez de manejo: Tienen un juego de instrucciones reducido; 35 en la gama media.

- Buena información, fácil de conseguir y económica. - Precio: Su coste es comparativamente inferior al de sus competidores. - Poseen una elevada velocidad de funcionamiento. Buen promedio de

parámetros: velocidad, consumo, tamaño, alimentación, código compacto, etc.

- Herramientas de desarrollo fáciles y baratas. - Existe una gran variedad de herramientas hardware que permiten

grabar, depurar, borrar y comprobar el comportamiento de los PIC. - Diseño rápido.

- 79 -

Page 80: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

- La gran variedad de modelos de PIC permite elegir el que mejor responde a los requerimientos de la aplicación.

Una de las razones del éxito de los PIC se basa en su utilización. Cuando se aprende a manejar uno de ellos, conociendo su arquitectura y su repertorio de instrucciones, es muy fácil emplear otro modelo.

En lo que respecta al PIC16F84A el programa, para interpretar el valor de la conversión y la visualización de la misma, se desarrolló el programa de conforme al siguiente diagrama de bloques:

- 80 -

Page 81: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

Mínim 3

Exercici 1 He carregat el projecte, he simulat i no té errors.

A continuació des de el disseny del generador de paritat senar, clicant a sobre del dibuix amb el boto esquerra seleccionat “topen design file” ens mostra l’VHDL corresponent al bloc en el que estem.

- 81 -

Page 82: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals VHDL dels tres blocs: DADES_IN: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY GEN_PAR_SENAR IS PORT ( DADES_IN : IN STD_LOGIC_VECTOR(3 DOWNTO 0); TX : OUT STD_LOGIC_VECTOR(4 DOWNTO 0) ); END GEN_PAR_SENAR; ARCHITECTURE Algebra_Boole OF GEN_PAR_SENAR IS SIGNAL BIT_PS : STD_LOGIC; BEGIN -- Funció NXOR és la de paritat senar BIT_PS <= NOT (DADES_IN(3) XOR DADES_IN(2) XOR DADES_IN(1) XOR DADES_IN(0)); TX(3) <= DADES_IN(3); -- Assignem les dades d’entarda 3 a la sortida 3. TX(2) <= DADES_IN(2); -- Assignem les dades d’entarda 2 a la sortida 2. TX(1) <= DADES_IN(1); -- Assignem les dades d’entarda 1 a la sortida 1. TX(0) <= DADES_IN(0); -- Assignem les dades d’entarda 0 a la sortida 0. TX(4) <= BIT_PS; -- Assignem el resultat del calcul de paritat a la sortida 4. end Algebra_Boole; DADES OUT: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; -- Comprovador de paritat senar de 4 bits. -- S'activa ER_PS quan es detecta un error en la recepció ENTITY COMP_PAR_SENAR IS PORT ( RX : IN STD_LOGIC_VECTOR(4 DOWNTO 0); DADES_OUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); ER_PS : OUT STD_LOGIC ); END COMP_PAR_SENAR; ARCHITECTURE Algebra_Boole OF COMP_PAR_SENAR IS BEGIN DADES_OUT (3)<= RX(3); -- Assignem les dades de transmisió 3 a la sortida 3. DADES_OUT (2)<= RX(2); -- Assignem les dades de transmisió 2 a la sortida 2. DADES_OUT (1)<= RX(1); -- Assignem les dades de transmisió 1 a la sortida 1. DADES_OUT (0)<= RX(0); -- Assignem les dades de transmisió 0 a la sortida 0.

- 82 -

Page 83: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals -- Funció NXOR ER_PS <= NOT( RX(4) XOR RX(3) XOR RX(2) XOR RX(1) XOR RX(0)); -- Funció NXOR és la de paritat senar i l’assignem a la sortida ER_PS que ens indicarà si hi ha hagut error de paritat. end Algebra_Boole; BIT ERROR: LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY error_CABLE IS port ( BIT_ERROR : IN STD_LOGIC; TX : IN STD_LOGIC_VECTOR(4 downto 0); RX : OUT STD_LOGIC_VECTOR(4 downto 0) ); END error_CABLE; ARCHITECTURE bdf_type OF error_CABLE IS signal CABLE : STD_LOGIC_VECTOR(4 downto 0); BEGIN CABLE(4) <= TX(4); -- Assignem al cable 4 la transmissió 4. CABLE(3) <= TX(3) XOR BIT_ERROR; -- Aquest fil és el que pot tenir un possible error CABLE(2) <= TX(2); -- Assignem al cable 2 la transmissió 2. CABLE(0) <= TX(0); -- Assignem al cable 0 la transmissió 0. CABLE(1) <= TX(1); -- Assignem al cable 1 la transmissió 1. RX <= CABLE; END;

- 83 -

Page 84: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals Exercici 2 Primer he creat el fitxer de formes d’ona per poder verificar que el receptor efectivament detecta un error. El primer procediment a seguir és: crear el fitxer .vwf en el qual em afegit una a una les entrades i sortides a estudiar amb valors a l’atzar per veure el seu comportament.

Hem simulat amb mode timing el fitxer .vwf.

Tot seguit he obert el simulation report per comprovar el resultat de les sortides.

- 84 -

Page 85: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals Com es pot apreciar a la imatge superior, si mirem la sortida del bit d’error, veurem que efectivament el receptor detecta l’error. Exercici 3 Per assignar els pins vaig a Assignament Editor i apareix:

- 85 -

Page 86: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals Assigno els pins: Al compilar m’ha donat error als pins 23 i 14:

- 86 -

Page 87: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals Per solucionar el problema he canviat els pins mirant el pin planer per saber quins pins podia agafar.

Al canviar els pins compila bé.

- 87 -

Page 88: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals Selecciono el dispositiu per fer la comprovació. Un cop fets tots els canvis compilo el chip amb la placa UP2 amb sistema EPM7128SLC84-7 alimentada entre 7 i 8 volts i ens dona error JTAG. No he sabut corregir aquest error.

- 88 -

Page 89: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

ANNEX

Fotos fetes amb el mòbil durant la realització del mínim 3.

- 89 -

Page 90: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

Opinió sobre les pràctiques escollides

EX1: Disseny amb esquemàtics i VHDL d’un descodificador BCD-7SEG

Hem escollit aquesta pràctica perquè va ser la primera del curs. En ella varem prendre contacte amb programes totalment diferents als utilitzats normalment (Word, Excel...), varem aprendre a instal·lar-los amb les corresponents llicències. El més complicat d’aquesta pràctica va ser entendre el llenguatge VHDL per poder modificar-lo. L’elecció d’aquesta pràctica bàsicament ha estat perquè va ser el nostre primer contacte amb l’assignatura, el qual va ser bastant positiu.

EX4: Disseny d’un rellotge digital d’HH:MM:SS en un sol xip amb VHDL i/o esquemàtics

Aquesta practica l’hem escollit perquè creiem que es una de les mes interessants, bàsicament pel fet de que a partir del codi de VHDL compilat al programa isplever, hem programat un rellotge digital que compta les hores minuts i segons, és grava en un microchip MAX d’altera.

Ens agrada molt aquesta pràctica perquè l’aplicació final és implementat físicament a partir de la placa d’altera UP2, el software d’altera(isplever) i els displays necessaris.

EX6: L’entorn MPLAB de Microchip per al desenvolupament d’aplicacions amb microcontroladors PIC

Aquesta pràctica l’hem escollit perquè va ser el primer contacte amb microcontroladors PIC, per la qual cosa aquesta va ser una pràctica de buscar informació del seu funcionament i les seves característiques principals. També va ser el nostre primer contacte amb llenguatge assemblador i el programa MPLAB fent la simulació amb el Proteus. Va ser una pràctica complicada ja que el llenguatge és força difícil i el temps per fer la pràctica va ser molt just.

- 90 -

Page 91: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

EX7: La programació assemblador amb subrutines

En aquesta pràctica hem programat en llenguatge assemblador, hem introduït el concepte de subrutines, hem utilitzat les subrutines entre altres usos per introduir retards, també hem condicionat el circuit de un motor que es accionat a traves d’un microcntrolador PIC, mitjançant també un transistor.

Aquesta és una de les practiques que ens van retornar la qual calia millorar, però només hi havia anotacions sobre les faltes ortogràfiques, ja que la pràctica esta molt complerta i molt ben explicada, la varem tornar a entregar amb les faltes corregides, però tot hi així creiem que la nota va ser una mica baixa.

EX8: Interrupcions i utilització del perifèric TIMER0

Aquesta pràctica l’hem trobat molt interessant ja que hem utilitzat un perifèric del microcontrolador, el perifèric utilitzat és el TIMER0, els perifèrics és programa modificant els registres del microcontrolador corresponents al perifèric que es vol programar, a part del Timer hem après a treballar amb les interrupcions en general, i hem compres molt millor el funcionament del PIC.

En aquesta pràctica és programa el Pic per a fer una visualització multiplexada mitjançant 4 displays, cada cop que accionem un polsador s’incrementa el numero visualitzat en una unitat. Creiem que aquesta pràctica és molt entretinguda i ha estat una de les que mes ens ha agradat ja que l’aplicació que hem explicat abans(i vem visualitzar amb el Proteus) és molt interessant perquè hem après a aprofitar i optimitzar els recursos del PIC.

- 91 -

Page 92: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

Pla de treball en grup.

SETMANA 1 Equip de treball: G__11

S1 – TGA1 DATA: Dimarts 13 de setembre MI: 1 NPR: 4

Participants: 3 Objectius i resultats:

Tema 1 Disseny de sistemes electrònics digitals en PLD UNITAT 1-1

1.0 Presentació del curs. Organització de l’assignatura El temari. Els professors. Els horaris de classes. La web de l’assignatura. El projecte d’aplicació. L’avaluació. La formació de grups cooperatius Estructuració i definició dels grups base: - Heterogenis - Grups de 3 estudiants - Els estudiants han de ser del mateix subgrup per tal de facilitar el treball de base durant tot

el curs. L’estat actual del desenvolupament tecnològic dels sistemes electrònics digitals. El “technology roadmap”

2 h

S1 – TGB1 (LAB)

DATA: Dimarts 13 / dimecres 14 de setembre

MI: 1 NPR: 3

Participants: 3 Objectius i resultats: UNITAT 1-2 Eines CAD d’ajuda al disseny de circuits electrònics digitals Establiment dels grups de treball cooperatius definitius.

Presentació del primer exercici / pràctica EX1. Instal·lació del programari de laboratori virtual Proteus-VSM i de la seva llicència Instal·lació del programari de disseny de Lattice ispLEVER i la sol·licitud de llicència a la seva web (http://www.latticesemi.com)

2h

- 92 -

Page 93: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

S1 – TGC1 Equip de treball: G__11 Data: 14-09-05 HI – HF: 2h TA: REP NPR: 3 Participants: 3 Objectius i resultats:

- Mirar els objectius de la assignatura. - Organitzar-nos el treball en grup.

Data: HI – HF: TA: NPR: Participants: Objectius i resultats:

S1 – TI1 Data: HI – HF: TA: NPR: Estudiant 1

Eugenio Viudez Descripció

Data: HI – HF: TA: NPR: Estudiant 2

Lidia Julià Descripció

Data: HI – HF: TA: NPR: Estudiant 3

Ivan Castillo Descripció

Grup 6h

Temps total d’estudi en hores

Individual Estudiant 1 Estudiant 2 Estudiant 3

- 93 -

Page 94: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

SETMANA 2 Equip de treball: G__11

S2 – TGA2 DATA: Dimarts 20 de setembre MI: 1 NPR: 4

Participants: 3 Objectius i resultats: UNITAT 1-3 Dispositius Lògics Programables (PLD. Els sPLD amb la seva tecnologia interna i les possibilitats de programació. La grandària dels projectes que en poden programar en un xip sPLD La verificació dels sPLD GAL2210 en Proteus-VSM

Projecte d’aplicació (I): Selecció del títol del treball a desenvolupar

S2 – TGB2 (LAB)

DATA: Dimarts 20 / dimecres 21 de setembre

MI: 1 NPR: 4

Participants: 3 Objectius i resultats: UNITAT 1-4 VHDL per sistemes combinacionals L’entorn de programació de PLD de Lattice Semiconductor “ispLEVER”

Continuació de l’EX1: Com anar substituint els esquemàtics per codi VHDL ? Com desenvolupar un projecte en l’entorn de ispLEVER i verificar-lo a través del laboratori virtual Proteus-VSM.

- 94 -

Page 95: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

S2 – TGC2 Equip de treball: G___11 Data: 21-09-05 HI – HF: 2h TA: REP NPR: 4 Participants: 3 Objectius i resultats:

- Entendre la pràctica 1 i fer-la. - Hem trobat dificultats per saber com anaven els programes.

Data: HI – HF: TA: NPR: Participants: Objectius i resultats:

S2 – TI2 Data: 21-09-05 HI – HF: 2h TA: REP NPR: 2 Estudiant 1

Eugenio Viudez Descripció

- Instal·lar els programes.

Data: 24-09-05 HI – HF: 5h TA: REP NPR: 4 Estudiant 2

Lidia Julià Descripció

- Instal·lar els programes al portàtil i fer la pràctica.

Data: 21-09-05 HI – HF: 1h TA: REP NPR: 2 Estudiant 3

Ivan Castillo Descripció

- Dificultats per les llicencies al instal·lar els programes.

Grup 6h 2h 5h

Temps total d’estudi en hores

Individual Estudiant 1 Estudiant 2 Estudiant 3 1h

- 95 -

Page 96: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

SETMANA 3 Equip de treball: G___11

S3 – TGA3 DATA: Dimarts 27 de setembre MI: 2 NPR: 3

Participants: 3 Objectius i resultats: UNITAT 1-5 VHDL per sistemes seqüencials. La realització del senyal de rellotge de sincronisme El disseny d’una FSM Presentació i proposta de l’EX2: El disseny VHDL d’un sistema seqüencial

S3 – TGB3 (LAB)

DATA: Dimarts 27 / dimecres 28 de setembre

MI: 2 NPR: 4

Participants: 3 Objectius i resultats: UNITAT 1-6 VHDL per sistemes seqüencials (continuació)

Lliurament de l’EX1 Criteris de qualitat per a presentar treballs de SED. La primera revisió i la millora a través de la correcció de la primera versió. Obtenció del PDF de l’exercici.

- 96 -

Page 97: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

S3 – TGC3 Equip de treball: G___11 Data: 28-09-05 HI – HF: 2h TA:EXG NPR: 4 Participants: 3 Objectius i resultats:

- Entendre la pràctica bé per saber com dissenyar la pràctica amb el Proteus. - Fer la part dels minuts.

Data: HI – HF: TA: NPR: Participants: Objectius i resultats:

S3 – TI3 Data: 30-09-05 HI – HF: 2h TA:EXI NPR: 3 Estudiant 1

Eugenio Viudez Descripció - Intentar entendre el funcionament del disseny que ens proporcionen.

Data: 1-10-05 HI – HF: 2h TA: EXI NPR: 3 Estudiant 2

Lidia Julià Descripció

- Acabar de fer la part del minuts.

Data: 30-09-05 HI – HF: 2h TA: REP NPR: 2 Estudiant 3

Ivan Castillo Descripció

- Presa de contacte amb el software per anteriors problemes amb llicencia.

Grup 6h 2h 2h

Temps total d’estudi en hores

Individual Estudiant 1 Estudiant 2 Estudiant 3 2h

- 97 -

Page 98: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

SETMANA 4 Equip de treball: G___11

S4 – TGA4 DATA: Dimarts 4 d’octubre MI: 2 NPR: 2

Participants: 3 Objectius i resultats: UNITAT 1-7 Les famílies MAX7000 i FLEX10K d’Altera.

Quins subsistemes i sistemes electrònics digitals es poden implementar en PLD’s de 20k-100k portes lògiques? Curs web directament des d’Altera sobre l’entorn QUARTUS-II Continuació de l’estudi de sistemes seqüencials en VHDL. La necessitat de representar l’esquema de la “entity” a dissenyar per a planificar el treball abans de realitzar qualsevol disseny. La concurrència de processos i l’especificació de l’arquitectura a través de blocs interconnectats a través de SIGNALS.

S4 – TGB4 (LAB)

DATA: Dimarts 4 / dimecres 5 d’octubre

MI: 2 NPR: 2

Participants: 3 Objectius i resultats: UNITAT 1-8

Targetes de desenvolupament UP1 d’Altera. Proposta de l’EX3: Tutorial d’introducció a la targeta UP1. Gravació d’un projecte senzill QUARTUS-II a la CPLD FLEX10K Aclariments sobre el comptatge del temps d’estudi i la realització del pla de treball setmanal. Proposta de l’EX4: La transportabilitat d’un projecte VHDl desenvolupat prèviament en ispLEVER al QUARTUS-II Lliurament de l’EX2

- 98 -

Page 99: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

S4 – TGC4 Equip de treball: G___11 Data: 5-10-05 HI – HF: 2h TA: EXG NPR: 2 Participants: 3 Objectius i resultats:

- Tenim problemes per programar els minuts. Ens falten les hores i a classe s’està explicant l’exercici 3.

- Encara que modifiquem el codi dels minuts quant fem la simulació amb el Proteus fa el mateix que els segons.

Data: HI – HF: TA: NPR: Participants: Objectius i resultats:

S4 – TI4 Data: 7-10-05 HI – HF: 2h TA: EXI NPR: 2 Estudiant 1

Eugenio Viudez Descripció

- Fer un analisi a fons del VHDL per localitzar el problema que tenim.

Data: 8-10-05 HI – HF: 3h TA: EXI NPR: 2 Estudiant 2

Lidia Julià Descripció

- Fer proves per saber que falla en els minuts.

Data: 9-10-05 HI – HF: 2h TA: EXI NPR: 2 Estudiant 3

Ivan Castillo Descripció

- Mirar VHDL dels minuts.

Grup 6h 2h 3h

Temps total d’estudi en hores

Individual Estudiant 1 Estudiant 2 Estudiant 3 2h

- 99 -

Page 100: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

SETMANA 5 Equip de treball: G___11

S5 – TGA5 DATA: Dimarts 11 d’octubre MI: 2 NPR: 3

Participants: 3 Objectius i resultats: UNITAT 1-9 La simulació en VHDL.

a) La simulació inclosa en el propi entorn de simulació (waveform editor & simulator) b) La simulació a través del concepte TEST-BENCH del VHDL

S5 – TGB5 (LAB)

DATA: Dimarts 11 d’octubre (2AT42) / dimecres 2 de novembre (2AT41)

MI: NPR:

Participants: Objectius i resultats: Sessió extra de laboratori. Projecte d’Aplicació (PA) La llista de subsistemes o perifèrics com a proposta de disseny del PA

FESTA 12 D’0CTUBRE EL PILAR!!!

- 100 -

Page 101: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

S5 – TGC5 Equip de treball: G___11 Data: 13-10-05 HI – HF: 2,5h TA: EXG NPR:4 Participants: 3 Objectius i resultats:

- Hem solucionat el problema amb els minuts. Ja ens funciona. - El .jet del minuts es deia igual que els dels segons i encara que estiguessin a llocs diferents

guardats carregava només el dels segons a les dues gals, per això per molt que modifiquéssim el codi dels minuts no veiem cap resultat.

- A classe s’està explicant l’exercici 4!!!!!. Encara no em acabat el 2. Data: HI – HF: TA: NPR: Participants: Objectius i resultats:

S5 – TI5 Data: 15-10-05 HI – HF: 4h TA: EX2 NPR: 4 Estudiant 1

Eugenio Viudez Descripció - Modificar el codi de les hores per separat dels minuts i segons.

Data: 15-10-05 HI – HF: 3h TA: EX2 NPR: 4 Estudiant 2

Lidia Julià Descripció

- Acabar de retocar els minuts e intentar fer les hores.

Data: 15-10-05 HI – HF: 2h TA: EX2 NPR: 3 Estudiant 3

Ivan Castillo Descripció

- Intentar fer les hores.

Grup 4,5h 4h 3h

Temps total d’estudi en hores

Individual Estudiant 1 Estudiant 2 Estudiant 3 2h

- 101 -

Page 102: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

SETMANA 6 Equip de treball: G___11

S6 – TGA6 DATA: Dimarts 18 d’octubre MI: 2 NPR: 4

Participants: Objectius i resultats: UNITAT 2-1

La idea inicial: el sistema digital microprogramat 2h

S6 – TGB6 (LAB)

DATA: Dimarts 18 / dimecres 19 d’octubre

MI: 3 NPR: 3

Participants: Objectius i resultats: UNITAT 2-2

Arquitectura d’un microprocessador 2h

- 102 -

Page 103: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

S6 – TGC6 Equip de treball: G__11 Data: 18-10-05 HI – HF: 1,30h TA:EXG NPR: 4 Participants: 3 Objectius i resultats:

- Acabar la practica 2. Data: 19-10-05 HI – HF: 5 h TA: EXG NPR:4 Participants: 3 Objectius i resultats: - Enllestir la practica 2.

S6 – TI6 Data: 20-10-05 HI – HF: 6h TA:EXA i EX2 NPR:4 Estudiant 1

Eugenio Viudez Descripció

Fer mínim 2,la part b i la practica 2

Data: 19-10-05 HI – HF: 6h TA: EXA i EX2 NPR:4 Estudiant 2

Lidia Julià Descripció

Fer mínim 2,la part b i la practica 2

Data: 19-10-05 HI – HF: 5h TA: EXA i EX2 NPR:4 Estudiant 3

Ivan Castillo Descripció

Fer mínim 2,la part b i la practica 2

Grup 10,5h 16,5h 16,5h

Temps total d’estudi en hores

Individual Estudiant 1 Estudiant 2 Estudiant 3 15,4h

- 103 -

Page 104: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

SETMANA 7 Equip de treball: G___11

S7 – TGA7 DATA: Dimarts 25 d’octubre MI: 3 NPR: 4

Participants: Objectius i resultats: UNITAT 2-3

Arquitectura d’un microcontrolador (II) 2h

S7 – TGB7 (LAB)

DATA: Dimarts 25 / dimecres 26 d’octubre

MI: 3 NPR: 4

Participants: Objectius i resultats: UNITAT 2-4

Eines CAD de desenvolupament de sistemes amb microcontroladors 2h

- 104 -

Page 105: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

S7 – TGC7 Equip de treball: G___11 Data: 26-10 -05 HI – HF: 8h TA:EXG NPR:5 Participants: 3 Objectius i resultats:

- Fer l’exercici 3.

Data: 27-10-05 HI – HF: 3h TA:EXG NPR:3 Participants:3 Objectius i resultats:

- Deixar enllestit l’exercici 3 per entregar.

S7 – TI7 Data: 25-10-05 HI – HF: 3h TA:EX3 NPR:3 Estudiant 1

Eugenio Viudez Descripció

- Llegir i entendre l’exercici 3.

Data: 25-10-05 HI – HF: 2h TA: EX3 NPR:3 Estudiant 2

Lidia Julià Descripció

- Llegir be l’exercici per saber i entendre tot el que s’ha de fer.

Data: 24-10-05 HI – HF: 4h TA: EX3 NPR:4 Estudiant 3

Ivan Castillo Descripció - Entendre i començar a fer l’exercici 3.

Grup 15h 18h 17h

Temps total d’estudi en hores

Individual Estudiant 1 Estudiant 2 Estudiant 3 18h

- 105 -

Page 106: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

SETMANA 8 Equip de treball: G___11

S8 – TGA8 DATA: MI: NPR:

Participants: Objectius i resultats:

FESTA, TOTS SANTS!!!!

S8 – TGB8 (LAB)

DATA: dimecres 2 de novembre (2AT41)

MI: 4 NPR:4

Participants: Objectius i resultats: Sessió extra de laboratori. Projecte d’Aplicació (PA) 2h

- 106 -

Page 107: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

S8 – TGC8 Equip de treball: G___11 Data: 2-10-05 HI – HF: 2h TA:EX4 NPR:4 Participants:3 Objectius i resultats:

- Ajuntar el que em fet individualment per fer l’exercici 4. Data: 3-10-05 HI – HF: 4h TA:EX4 NPR:3 Participants:3 Objectius i resultats:

- Deixar llest per entregar l’exercici 4.

S8 – TI8 Data: 30-10-05 HI – HF: 10h TA:EX4 NPR:4 Estudiant 1

Eugenio Viudez Descripció

- Fer l’exercici 4.

Data: 1-11-05 HI – HF: 6h TA:EX4 NPR:3 Estudiant 2

Lidia Julià Descripció

- Fer l’exercici 4.

Data: 31-10-05 HI – HF: 8h TA: EX4 NPR:4 Estudiant 3

Ivan Castillo Descripció

- Fer l’exercici 4.

Grup 11h 10h 8h

Temps total d’estudi en hores

Individual Estudiant 1 Estudiant 2 Estudiant 3 9h

- 107 -

Page 108: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

SETMANA 9 Equip de treball: G___11 Setmana d’exàmens parcials del dia 7 al dia 11 de novembre

S9– E DATA:

- - - - -

S9 – TGA DATA:

- - - - -

S9 – TGB DATA:

- - - - -

Examen de mínims (MI): Examen individual

Recuperació dels mínims

- 108 -

Page 109: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

S9 – TGC9 Equip de treball: G___11 Data: HI – HF: ---- TA: ---- NPR: ---- Participants: ---- Objectius i resultats: ---- Data: HI – HF: TA: NPR: Participants: Objectius i resultats:

S9 – TI9 Data: --- HI – HF: --- TA:--- NPR:--- Estudiant 1

Descripció

Data: --- HI – HF: --- TA: --- NPR: --- Estudiant 2

Descripció

Data: --- HI – HF: --- TA: --- NPR: --- Estudiant 3

Descripció

Grup ---

--- ---

Temps total d’estudi en hores

Individual Estudiant 1 Estudiant 2 Estudiant 3 ---

- 109 -

Page 110: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

SETMANA 10 Equip de treball: G____11

S10 – TGA8 DATA: Dimarts 15 de novembre MI: 5 NPR: 3

Participants: 3 Objectius i resultats: UNITAT 2-5

Perifèrics E/S digitals. Ports Entrada/Sortida. Visualitzadors i teclats

S10 – TGB8 (LAB)

DATA: Dimarts 15 de novembre / dimecres 16 de novembre

MI: 5 NPR: 3

Participants: 2 Objectius i resultats: UNITAT 2-6

Desenvolupament de projectes de microcontroladors en llenguatge C

- 110 -

Page 111: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

S10 – TGC10 Equip de treball: G___11 Data: 16-11-03 HI – HF: 2h TA: EX5 NPR: 3 Participants: 3 Objectius i resultats: - Entendre l’exercici 5 i repartir feina. Data: 21-11-05 HI – HF: 3h TA: EX5 NPR:3 Participants: 3 Objectius i resultats: - Ajuntar el que em fet individualment i deixa llest per entregar.

S10 – TI10 Data: 17-11-05 HI – HF: 5h TA: EX5 NPR:4 Estudiant 1

Eugenio Viudez Descripció - Fer l’exercici 5.

Data: 18-11-05 HI – HF: 3h TA: EX5 NPR:3 Estudiant 2

Lidia Julià Descripció

- Fer l’exercici 5.

Data: 18-11-05 HI – HF: 4h TA: EX5 NPR:3 Estudiant 3

Ivan Castillo Descripció

- Fer l’exercici 5.

Grup 5h 10h 8h

Temps total d’estudi en hores

Individual Estudiant 1 Estudiant 2 Estudiant 3 9h

- 111 -

Page 112: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

SETMANA 11 Equip de treball: G___11

S11 – TGA9 DATA: Dimarts 22 de novembre MI: EX6 NPR:4

Participants: 3 Objectius i resultats: UNITAT 2-7

Interfície de senyals analògics

S11 – TGB9 (LAB)

DATA: Dimarts 22 de novembre / dimecres 23 de novembre

MI: EX6 NPR:4

Participants:3 Objectius i resultats: UNITAT 2-8

Busos de comunicacions externs

- 112 -

Page 113: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

S11 – TGC11 Equip de treball: G___11 Data: 23-11-05 HI – HF: 3h TA: EX6 NPR:3 Participants: 3 Objectius i resultats: - Fer l’exercici 6. Repartir el que no ens ha donat temps d’acabar. Data: 28-11-05 HI – HF: 3h TA:EX6 NPR:3 Participants: Objectius i resultats: - Ajuntar i muntar l’exercici per entregar.

S11 – TI11 Data: 27-11-05 HI – HF: 4h TA: EX6 NPR: 3 Estudiant 1

Eugenio Viudez Descripció - Fer l’exercici 6.

Data: 26-11-05 HI – HF: 4h TA: EX6 NPR: 3 Estudiant 2

Lidia Julià Descripció

- Fer l’exercici 6.

Data: 25-11-05 HI – HF: 5h TA: EX6 NPR: 3 Estudiant 3

Ivan Castillo Descripció

- Fer l’exercici 6.

Grup 6h 9h 10h

Temps total d’estudi en hores

Individual Estudiant 1 Estudiant 2 Estudiant 3 8h

- 113 -

Page 114: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

SETMANA 12 Equip de treball: G___11

S12 – TGA10 DATA: Dimarts 29 de novembre MI: 7 NPR: 4

Participants:3 Objectius i resultats: UNITAT 2-9

Generació de senyals

S12 – TGB10 (LAB)

DATA: Dimarts 29 de novembre / dimecres 30 de novembre

MI: 7 NPR: 4

Participants:3 Objectius i resultats: UNITAT 2-10

El prototip final: disseny de targetes de circuit imprès (PCB) amb PCAD

- 114 -

Page 115: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

S12 – TGC12 Equip de treball: G_____11 Data: 1-12-05 HI – HF: 4h TA:EX7 NPR:4 Participants:3 Objectius i resultats: - Fer l’exercici 7 amb la informació recopilada pels tres. Data: HI – HF: TA: NPR: Participants: Objectius i resultats:

S12 – TI12 Data: 30-11-05 HI – HF: 5h TA:EX7 NPR:3 Estudiant 1

Eugenio Viudez Descripció

- Buscar informació per poder fer l’exercici 7.

Data: 30-11-05 HI – HF: 10h TA:EX7 NPR:4 Estudiant 2

Lidia Julià Descripció

- Buscar informació per poder fer l’exercici 7.

Data: 30-11-05 HI – HF: 8h TA:EX7 NPR:3 Estudiant 3

Ivan Castillo Descripció

- Buscar informació per poder fer l’exercici 7.

Grup 4h

5h 10h

Temps total d’estudi en hores

Individual Estudiant 1 Estudiant 2 Estudiant 3 8h

- 115 -

Page 116: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

SETMANA 13 Equip de treball: G___11

S13 DATA: Dimarts 6 de desembre MI: NPR:

Participants: Objectius i resultats:

¡¡¡FESTA!!!

S13 DATA: Dimarts 6 desembre / dimecres 7 de desembre

MI: NPR:

Participants: Objectius i resultats:

¡¡¡FESTA!!!

- 116 -

Page 117: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

S13 – TGC13 Equip de treball: G___11 Data: 9-12-05 HI – HF: 2h TA:EX8 NPR:3 Participants:3 Objectius i resultats:

- Repartir la feina per fer l’exercici 8.

Data: HI – HF: TA: NPR: Participants: Objectius i resultats:

S13 – TI13 Data: 10-12-05 HI – HF: 2h TA:8 NPR:4 Estudiant 1

Eugenio Viudez Descripció

Buscar informació per fer l’exercici 8.

Data: 11-12-05 HI – HF: 2h TA:8 NPR:4 Estudiant 2

Lidia Julià Descripció

Buscar informació per fer l’exercici 8.

Data: 10-12-05 HI – HF: 2h TA:8 NPR:4 Estudiant 3

Ivan Castillo Descripció

Buscar informació per fer l’exercici 8.

Grup 2h

2h 2h

Temps total d’estudi en hores

Individual Estudiant 1 Estudiant 2 Estudiant 3 2h

- 117 -

Page 118: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

SETMANA 14 Equip de treball: G___11

S14 – TGA11 DATA: Dimarts 13 de desembre MI: 8 NPR:4

Participants:3 Objectius i resultats: UNITAT 2-11

Els processadors digitals de senyal (DSP)

S14 – TGB11 (LAB)

DATA: Dimarts 13 de desembre / dimecres 14 de desembre

MI: 8 NPR:4

Participants:3 Objectius i resultats: UNITAT 2-12

Megafuncions IP de DSP per CPD/FPGA

- 118 -

Page 119: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

S13 – TGC13 Equip de treball: G___11 Data: 15-12-05 HI – HF: 4h TA:8 NPR:4 Participants:3 Objectius i resultats:

- Fer l’exercici 8 ajuntant tota la informació del tres.

Data: HI – HF: TA: NPR: Participants: Objectius i resultats:

S13 – TI13 Data: 12-12-05 HI – HF: 14h TA:8 NPR:4 Estudiant 1

Eugenio Viudez Descripció

Fer la part corresponent de l’exercici 8 abans repartida.

Data: 13-12-05 HI – HF: 4h TA:8 NPR:3 Estudiant 2

Lidia Julià Descripció Fer la part corresponent de l’exercici 8 abans repartida.

Data: 13-12-05 HI – HF: 9h TA:8 NPR:4 Estudiant 3

Ivan Castillo Descripció

Fer la part corresponent de l’exercici 8 abans repartida.

Grup 4h 14h 4h

Temps total d’estudi en hores

Individual Estudiant 1 Estudiant 2 Estudiant 3 9h

- 119 -

Page 120: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

SETMANA 15 Equip de treball: G___11

S15 – TGA12 DATA: Dimarts 20 de desembre MI: 9 NPR:3

Participants:3 Objectius i resultats: TEMA 3. Sistemes en xips programables (SoPC) UNITAT 3-1

Per què són necessaris microcontroladors de 16/32 bits ?

S15 – TGB12 (LAB)

DATA: Dimarts 20 de desembre / dimecres 21 de desembre

MI: 9 NPR:3

Participants:3 Objectius i resultats: UNITAT 3-2

Millores i noves prestacions de les arquitectures bàsiques FPGA

- 120 -

Page 121: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

S15 – TGC15 Equip de treball: G___11 Data: 21-12-05 HI – HF: 2h TA:9 NPR:4 Participants:3 Objectius i resultats:

- Repartir la feina de la primera part de l’exercici 9 per fer durant les vacances de nadal individualment.

Data: HI – HF: TA: NPR: Participants: Objectius i resultats:

S15 – TI15 Data: 22-12-05 HI – HF: 2h TA:9 NPR:2 Estudiant 1

Eugenio Viudez Descripció

Fer la part que hem toca de l’exercici 9.

Data: 22-12-05 HI – HF: 3h TA:9 NPR:3 Estudiant 2

Lidia Julià Descripció

Buscar informació sobre els fabricants de embedded systems.

Data: 22-12-05 HI – HF: 2h TA:9 NPR:4 Estudiant 3

Ivan Castillo Descripció

Fer la part que hem toca de l’exercici 9.

Grup 2h 2h 2h

Temps total d’estudi en hores

Individual Estudiant 1 Estudiant 2 Estudiant 3 2h

- 121 -

Page 122: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

SETMANA 16 Equip de treball: G_____ Setmana de NADAL

S16 – TGA DATA:

- - - - -

S16 – TGB DATA:

- - - - -

SETMANA 17 Equip de treball: G_____ Setmana d’ANY NOU

S17 – TGA DATA:

- - - - -

S17 – TGB DATA:

- - - - -

- 122 -

Page 123: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

S17 – TGC17 Equip de treball: G___11 Data: 8-1-06 HI – HF: 2h TA:9 NPR:3 Participants:3 Objectius i resultats:

- Ajuntar la informació per acabar la primera part de l’exercici 9 i deixar-ho llest per entregar.

Data: HI – HF: TA: NPR: Participants: Objectius i resultats:

S17 – TI 17 Data: HI – HF: TA: NPR: Estudiant 1

Descripció

Data: HI – HF: TA: NPR: Estudiant 2

Descripció

Data: HI – HF: TA: NPR: Estudiant 3

Descripció

Grup 2h

Temps total d’estudi en hores

Individual Estudiant 1 Estudiant 2 Estudiant 3

- 123 -

Page 124: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

SETMANA 18 Equip de treball: G___11

S18 – TGA13 DATA: Dimarts 10 de gener MI: 9 NPR:4

Participants:3 Objectius i resultats: UNITAT 3-3

SoPC: Un microcomputador fet a mida en una FPGA

S18 – TGB13 (LAB)

DATA: Dimarts 10 de gener / dimecres 11 de gener

MI: 9 NPR:3

Participants:3 Objectius i resultats: UNITAT 3-4

Desenvolupament de projectes amb en sistema NIOS d’Altera

- 124 -

Page 125: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

S18 – TGC18 Equip de treball: G___11 Data: 11-1-06 HI – HF: 4h TA:9 NPR:4 Participants:3 Objectius i resultats:

- Entendre i començar a fer la segona part de l’exercici 9. - Repartir feina.

Data: HI – HF: TA: NPR: Participants: Objectius i resultats:

S18 – TI 18 Data: 13-1-06 HI – HF: 2h TA:EX9 NPR:2 Estudiant 1

Eugenio Viudez Descripció Fer la part de l’exercici 9 que em toca.

Data: 14-1-06 HI – HF: 3h TA:EX9 NPR:3 Estudiant 2

Lidia Julià Descripció

Fer la part de l’exercici 9 que em toca.

Data: 15-1-06 HI – HF: 3h TA:EX9 NPR:3 Estudiant 3

Ivan Castillo Descripció

Fer la part de l’exercici 9 que em toca.

Grup 4h

2h 3h

Temps total d’estudi en hores

Individual Estudiant 1 Estudiant 2 Estudiant 3 3h

- 125 -

Page 126: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

SETMANA 19 Equip de treball: G___11

S19 – TGA14 DATA: Dimarts 17 de gener MI: 9 NPR:3

Participants:3 Objectius i resultats: UNITAT 3-5

RTOS: Sistemes operatius en temps real

S19 – TGB14 (LAB)

DATA: Dimarts 17 de gener / dimecres 18 de gener

MI:9 NPR:3

Participants:3 Objectius i resultats:

Presentació del PA

- 126 -

Page 127: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

S19 – TGC19 Equip de treball: G___11 Data: 16-1-06 HI – HF: 2h TA:9 NPR:3 Participants:3 Objectius i resultats:

- Enllestir la pràctica per entregar el dimecres Data: 20-1-06 HI – HF: 2h TA:Dossier NPR:2 Participants:3 Objectius i resultats:

- Escollir les pràctiques pel dossier.

S19 – TI19 Data: HI – HF: TA: NPR: Estudiant 1

Descripció

Data: HI – HF: TA: NPR: Estudiant 2

Descripció

Data: HI – HF: TA: NPR: Estudiant 3

Descripció

Grup 4h

Temps total d’estudi en hores

Individual Estudiant 1 Estudiant 2 Estudiant 3

- 127 -

Page 128: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

SETMANA 20 Equip de treball: G___11 Setmana dels segons exàmens parcials de 20 a 27 de gener

S20 – E DATA:

- - - -

S20 – TGA DATA:

- - - -

S20 – TGB DATA:

- - - -

Examen de mínims (MI): Examen individual

Recuperació dels mínims

- 128 -

Page 129: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

S20 – TGC20 Equip de treball: G___11 Data: 24-1-06 HI – HF: 6h TA:Dossier NPR:4 Participants:3 Objectius i resultats:

- Fer el dossier de SED.

Data: 25-1-06 HI – HF: 2h TA:Dossier NPR:3 Participants:3 Objectius i resultats: - Últims retocs del dossier abans d’imprimir.

S20 – TI20 Data: HI – HF: TA: NPR: Estudiant 1

Eugenio Viudez Descripció

Data: HI – HF: TA: NPR: Estudiant 2

Lidia Julià Descripció

Data: HI – HF: TA: NPR: Estudiant 3

Ivan Castillo Descripció

Grup 8h

Temps total d’estudi en hores

Individual Estudiant 1 Estudiant 2 Estudiant 3

- 129 -

Page 130: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

Reflexió de les opinions sobre l’aprenentatge realitzat pels membres del grup durant el curs .

La conclusió que ha extret el nostre grup format per : Eugenio Viudez, Lidia Julià e Ivan Castillo sobre l’assignatura de Sistemes Electrònics Digitals és que ha estat molt instructiva a nivell de coneixements, hem explotat en gran mesura la nostra capacitat autodidacte, adquirint grans coneixements sobre la matèria que engloba l’assignatura. Sent conscients de la carrega de treball que ens ha suposat i l’esforç i temps dedicat a l’assignatura que ha estat molt superior als sis crèdits dels quals consta l’assignatura (120 hores lectives aproximadament) esperem i creiem que aquest nou mètode d’aprenentatge sigui més efectiu i els coneixements adquirits siguin d’una manera més solida. Esperem que aquest primer curs amb aquest nou mètode, que s’ha impartit d’una manera molt precària sigui d’ajuda tant per la elaboració del temari al personal docent de l’assignatura, com a futurs estudiants que imparteixin aquesta assignatura.

- 130 -

Page 131: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

Avaluació del dossier Data: 24-1-06 Grup de classe: 2AT41 Grup de treball al que pertany la carpeta avaluada: 11 GRUP AVALUADOR: Eugenio Viudez, Lidia Julià e Ivan Castillo. (en cas d’autoavaluació pels propis estudiants) P = puntuació (0-10); W = pes de l’apartat; T = qualificació = P × W P W T

8 0.20 1.6

Organització, ordre i facilitat de lectura. Assigneu la màxima puntuació si: - El material de la carpeta és fàcilment llegible (20%) - Té un índex d’activitats i exercicis proposats (20%) - Es pot trobat ràpidament qualsevol element concret, o saber si hi

manca (20%) - Té el full de reflexió amb opinions sobre l’aprenentatge del curs (20%)

7 0.10 0,7

Presentació de la carpeta. Assigneu la puntuació màxima si: - Les fulles són iguals i tenen el mateix format (30%) - Les fulles tenen marges adequats i informació significativa als

encapçalaments i peus de pàgina (30%) - El material està fet amb processador de text (40%)

5 0.20 1

Els registres de les sessions de treball TGC. Assigneu màxima puntuació si: - Són concisos (20%) - Tenen informació completa dels assistents i horari (20%) - Tenen informació clara dels objectius i dels resultats de la sessió

(40%) - Tenen apuntat el temps de dedicació a l’estudi (20%) (Si solament hi ha un X% de registres, multipliqueu la nota per X/100)

9 0.10 0,9

Activitats del projecte d’aplicació. Assigneu puntuació màxima si: - S’inclou la memòria redactada segons la plantilla (30%) Portada, Índex, Capítol I, Capítol II, Capítol III

8 0.20 1,6

Exercicis i controls. Assigneu la puntuació màxima si: - Si estan tots ordenats i classificats correctament (50%) - S’han realitzat seguint els criteris: plantejament, mètode,

desenvolupament, solució i verificació (probablement també hi ha versions millorades) (50%)

- S’ha inclòs el full de reflexió sobre l’elecció del material per al dossier

6 0.20 1,2

Notes de classe i cerca de material d’estudi. Assigneu la puntuació màxima si: Material d’estudi: - Està ben classificat (20%) - Hi ha la referència de la font i els autors del material - Hi ha algunes pàgines de datasheets de fabricants - Hi ha ampliacions, resums, experiments, informació addicional, etc.

que s’hagi desenvolupat per cada tema (20%) Glossari: - És complet (conté tots els termes i definicions noves (30%) - És concís i clar en la definició dels termes (30%)

Qualificació global (suma de la columna)

7

- 131 -

Page 132: Índex Introducció3 EX1 de Sistemes Electrònics Digitals4 EX4 de ...digsys.upc.es/ed/SED/grups_classe/05-06_Q1/2AT4/carpeta_grups/... · La simulació a través del laboratori virtual

EPSC – SED: Sistemes Electrònics Digitals

Conclusions Un cop finalitzat el dossier, hem pogut apreciar d’una manera més palpable tot el treball elaborat durant aquest quadrimestre, en la valoració del qual els tres autors coincidim en que ha estat un treball ben realitzat i molt acceptable. S’ha vist un evolució clara en els temaris tractats des del primer fins l’últim temari començant amb tecnologies amb més baix nivell, VHDL i acabant amb tecnologies de més nivell i molt potents, assemblador i llenguatge c. Aquest dossier engloba la gran majoria de temaris tractats, exercicis, mínims, documents teòrics, etc. el qual culmina l’assignatura de SED i que ens agradarà molt conservar-lo i que serveixi d’ajuda pels pròxims estudiants i per nosaltres mateixos com a futures consultes, i per últim és una gran aportació al nostre historial acadèmic .

- 132 -