MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando...
Transcript of MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando...
![Page 1: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/1.jpg)
MÓDULO 2
![Page 2: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/2.jpg)
CU9
PROYECTO CU9
DISEÑO EN VHDL DE MICROPROCESADOR ELEMENTAL BASADO EN EL PROYECTO CU8, DONDE SE ADICIONA UN MODO DE DIRECCIONAMIEMTO INDIRECTO A MEMORIA DE DATOS, A TRAVÉS DE UN REGISTRO INDICE DENOMINADO "IX".
![Page 3: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/3.jpg)
RSTCLK
CU9
BUS DATA_IN
BUS ADDRESS
MEM
OR
IA
uP16
CPU
PC
16R
MA
R
RX
IR
MD
RO
MD
RI
MU
XM
AR
MUXRX
FPGA
CCRALU
BUS CONTROL
BUS DATA_OUT
PORT A PORT B
ENTRADAS A FPGASALIDAS DE FPGA
REGPAM
UX
MD
RI
REGPB
ENTR
AD
A S
A F
PG
A
IX
MU
XM
AR
2
![Page 4: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/4.jpg)
CU914 13 12 11 10 9 8 7 6 5 4 3 2 1 0IR 15
X”0000” 00000000 = CLR RXX”0100” 00000001 = INC RXX”0200” 00000010 = LDI RXX”0300” 00000011 = DEC RXX”0400” 00000100 = NOPX”8000” 10000000 = RSTX”0500” 00000101 = LDD RXX”0600” 00000110 = STR RXX”070X” 00000111 = OPERACIONES ARITMÉTICO-
LÓGICAS ENTRE MEMORIA DE DATOS Y REGISTRO “RX”.
X”0800” 00001000 = STR RXL, PORT AX”09X0” 00001001 = BIT SET I, PORT AX”0AX0” 00001010 = BIT CLR I, PORT AX”0B00” 00001011 = INC PORT AX”0C00” 00001100 = DEC PORT AX”0D00” 00001101 = LDI RX, PORT BX”0E00” 00001100 = BTIJC, PORT BX”0F00” 00001101 = BTIJS, PORT BX”1000” 00010000 = JMP PC, DIRX”1100” 00010001 = JMP PC, IF Z, DIRX”1200” 00010010 = JMP PC, IF C, DIRX”1300” 00010011 = DEC RX, IF NZX"1400" 00010100 = LDI IXX"1500" 00010101 = INC IX X"1600" 00010110 = LDD RX, IXX"1700" 00010111 = STR RX, IX
USO ESTOS BITS PARA ENTRAREL CÓDIGO DE IDENTIFICACIÓNDEL BIT A SELECCIONAR:PORT_A(BIT 0) = “000”PORT_A(BIT 1) = “001”
.
.
.
.PORT_A(BIT 6) = “110”PORT_A(BIT 7) = “111”
RESERVADOS PARA OPER. CON LA "ALU"
Total: 40 instrucciones
![Page 5: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/5.jpg)
SE SUMAN LAS SIGUIENTES INSTRUCCIONES :
LDI_IX CARGA INMEDIATA DE REGISTRO "IX". INC_IX INCREMENTO DEL CONTENIDO DEL REGISTRO "IX".LDD_RX_IX CARGA DE "RX" CON CONTENIDO DE MEMORIA
APUNTADA POR REGISTRO "IX".STR_RX_IX CARGA DE MEMORIA APUNTADA POR REGISTRO "IX"
CON EL CONTENIDO DE "RX".
CU9
DIRECCIONAMIENTO INDEXADO
![Page 6: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/6.jpg)
IX
![Page 7: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/7.jpg)
MUXMAR2
PC
MDRI
IX
MU
XM
AR
2
SELEMUXMAR
![Page 8: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/8.jpg)
CU9
![Page 9: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/9.jpg)
CU9CONTENIDO DEL ARCHIVO RAM.HEX PARA ESTE PROYECTO
0000 CLR RX0001 LDI IX, 0A000002 0A000003 STR RX, IX 0004 INC IX0005 INC RX0006 STR RX, IX0007 INC IX0008 INC RX0009 STR RX, IX000A LDI IX, 0A00000B 0A00000C LDD RX, IX000D STR RXL, PORTA000E INC IX000F STR RX, IX0010 STR RXL, PORTA0011 INC IX0012 STR RX, IX 0013 STR RXL, PORTA0014 INC RX0015 JMP PC, 00010016 0001
RUTINA DE PRUEBA
![Page 10: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/10.jpg)
CU9SE PRUEBAN LAS INSTRUCCIONES RELACIONADAS CON EL REGISTRO IX
PRIMERO : SE ESCRIBEN LAS POSICIONES DE RAM DE 0A00, 0A01 Y 0A02 CON "STR RX,IX"SEGUNDO: SE LEEN DICHAS POSICIONES CON "LDD RX, IX" MIENTRAS SE ESCRIBEN EN PORTA.TERCERO: AL TERMINAR EL CICLO, SE INCREMENTA RX Y SALTA A "0001" DONDE SE REPITE TODO
PERO CON NUEVOS VALORES DE "RX" EN UN LOOP INFINITO.
![Page 11: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/11.jpg)
CU9
RUTINA PARA DETECCIÓN Y EJECUCIÓN DE INSTRUCCIÓN LDI_IX
![Page 12: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/12.jpg)
CU9
![Page 13: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/13.jpg)
CU9
![Page 14: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/14.jpg)
CU9
![Page 15: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/15.jpg)
CU9
RUTINA SIMILAR A LA DE "LDI RX"
![Page 16: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/16.jpg)
CU9
![Page 17: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/17.jpg)
CU9
RUTINA PARA DETECCIÓN Y EJECUCIÓN DE LAS INSTRUCCIONESLDD RX, IX Y STR RX, IX
![Page 18: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/18.jpg)
CU9
![Page 19: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/19.jpg)
CU9
PARA RACIONALIZAR ESTADOS, VUELVO A UTILIZAR PARTE DE LAS RUTINASDE "LDD RX, MEM" Y "STR RX, MEM" COMUNES A "LDD RX, IX" Y "STR RX, IX".
![Page 20: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/20.jpg)
CU9
RUTINA PARA DETECCIÓN Y EJECUCIÓN DE INSTRUCCIÓN "INC IX"
![Page 21: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/21.jpg)
CU9
![Page 22: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/22.jpg)
UP16
PROYECTO UP16
EL MISMO DISEÑO EN VHDL DE MICROPROCESADOR DEL PROYECTO CU8,PERO ELIMINANDO LAS ENTRADAS-SALIDAS EMPLEADAS PARA TEST.
![Page 23: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/23.jpg)
UP16
COMO ERA DE ESPERAR, LA LÓGICA UTILIZADA NO HA VARIADO.SÓLO SE AHORRÓ EN LA CANTIDAD DE PINES DISPONIBLES QUEHA BAJADO A 18 (PORTA, PORTB, RST Y CLOCK)
![Page 24: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/24.jpg)
UP16PLACA DE0-NANO CYCLONE IV
PORTA PORTB(0)
RESET
PORTB(5,4,3,2)
CLK 50 MHZ
EP4CE22F17C6
![Page 25: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/25.jpg)
UP16
![Page 26: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/26.jpg)
UP16
EP4CE22F17C6
![Page 27: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/27.jpg)
UP16KIT
DISTRIBUCIÓN DE COMPONENTESA UTILIZAR EN LA PLACA DE0-NANO
LAS ENTRADAS A LOS PINES E1 Y J15 TIENENRESISTENCIAS DE PULL-UP POR LO QUE ESTÁN NORMALMENTE EN “1”.
![Page 28: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/28.jpg)
UP16KIT
![Page 29: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/29.jpg)
UP16
PORTB(5)
PORTB(6)
PORTB(7)
![Page 30: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/30.jpg)
UP16 VISTA DEL PIN PLANNER EDITOR
![Page 31: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/31.jpg)
UP16
DISPOSICIÓN DE PINES PARA COMPATIBILIDAD CON LA PLACA
![Page 32: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/32.jpg)
UP16
PORTA(0) PIN: A15PORTA(1) PIN: A13PORTA(2) PIN: B13PORTA(3) PIN: A11PORTA(4) PIN: D1PORTA(5) PIN: F3PORTA(6) PIN: B1PORTA(7) PIN: L3
PORTB(0) PIN: E1 (CONEXIÓN AL PULSADOR KEY_1)PORTB(1) PIN: M1 (CONEXIÓN AL DIPSWITCH_0)PORTB(2) PIN: T8 (CONEXIÓN AL DIPSWITCH_1)PORTB(3) PIN: B9 (CONEXIÓN AL DIPSWITCH_2)PORTB(4) PIN: M15 (CONEXIÓN AL DIPSWITCH_3)PORTB(5) PIN: D5 (CONEXIÓN A GPIO-00 : PUERTO DE EXPANSIÓN)PORTB(6) PIN: C6 (CONEXIÓN A GPIO-01: PUERTO DE EXPANSIÓN)PORTB(7) PIN: B3 (CONEXIÓN A GPIO-02 : PUERTO DE EXPANSIÓN)
CLOCKCU PIN: R8 (CONEXIÓN DIRECTA AL OSCILADOR DE 50MHZ) RESETCU PIN: J15 (CONEXIÓN AL PULSADOR KEY_0)
DISPOSICIÓN DE PINES PARA CONFIGURAR EL MICRO AL KIT
![Page 33: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/33.jpg)
UP16
PROYECTO U16PKIT01
PROYECTO CON EL MICRO UP16, SIMULANDO UN DESPLAZAMIENTO A IZQUIERDA DE UN BIT EN “1” POR EL PORT A, CON LAZO DE RETARDO.(DEBE VISUALIZARSE UN LED ENCENDIDO POR VEZ EN FORMA CÍCLICA DE DERECHA A IZQUIERDA).
![Page 34: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/34.jpg)
UP16
IMPLEMENTACIÓN DEL PROYECTO “UP16KIT01” EN EL KIT DE0-NANO
CONSTANTE DE LAZO DE RETARDO = X”FFFF”.
CONEXIÓN DEL PULSADOR KEY0 DE LA PLACA A LA ENTRADA DE RESETDEL MICROPROCESADOR.
CONEXIÓN DE LA SALIDA DEL OSCILADOR DE 50 MHZ A LA ENTRADA DE RELOJDEL MICROPROCESADOR FRECUENCIA DE RELOJ INTERNA DE 5 MHZ.
![Page 35: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/35.jpg)
UP16
0000 CLR RX0001 INC RX0002 STR RX, X” 0800”0003 08000004 LDI RX, X”FFFF”0005 0FFF0006 DEC RX, IF NZ0007 LDD RX, X” 0800”0008 08000009 STR RXL, PORTA000A SLL RX000B STR RX, X” 0800”000C 0800000D JMP PC, X”0005”000E 0004
PROGRAMA 01
DELAY
LED7 LED0
0000 00000001 01000002 06000003 08000004 02000005 FFFF0006 13000007 05000008 08000009 0800000A 0715000B 0600000C 0800000D 1000000E 0004
NEMOTÉCNICO HEX
MÁXIMO VALORDE RETARDO ...
8 BITS
![Page 36: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/36.jpg)
UP16
CONTENIDO DEL ARCHIVO RAM.HEX PARA ESTE PROYECTO
![Page 37: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/37.jpg)
UP16
CICLO DE APROX. 394 ms POR CONTEO
SIMULACIÓN PARA EL GENERADOR DE SECUENCIA
![Page 38: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/38.jpg)
UP16
PROYECTO U16PKIT02
PROYECTO CON EL MICRO UP16, SIMULANDO UN DESPLAZAMIENTO A IZQUIERDA DE UN BIT EN “1” POR EL PORT A, CON DOBLE LAZO DE RETARDO.(DEBE VISUALIZARSE UN LED ENCENDIDO POR VEZ EN FORMA CÍCLICA DE DERECHA A IZQUIERDA).
![Page 39: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/39.jpg)
UP16
IMPLEMENTACIÓN DEL PROYECTO “UP16KIT02” EN EL KIT DE0-NANO
CONSTANTE DE LAZO DE RETARDO EXTERNO = X”0005” Y PARA LAZO DE RETARDO INTERNO = X”FFFF”.
CONEXIÓN DEL PULSADOR KEY0 DE LA PLACA A LA ENTRADA DE RESETDEL MICROPROCESADOR.
CONEXIÓN DE LA SALIDA DEL OSCILADOR DE 50 MHZ A LA ENTRADA DE RELOJDEL MICROPROCESADOR FRECUENCIA DE RELOJ INTERNA DE 5 MHZ.
![Page 40: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/40.jpg)
UP16
0000 CLR RX0001 INC RX0002 STR RX, 0800 0003 08000004 LDI RX, 00050005 00050006 STR RX, 08010007 08010008 LDI RX, FFFF0009 FFFF000A DEC RX, IF NZ000B LDD RX, 0801000C 0801000D DEC RX000E JMP PC, IF Z, 0014000F 00140010 STR RX, 08010011 08010012 JMP PC, 0008 0013 00080014 LDD RX, 08000015 08000016 SLL RX 0017 STR RXL, PORTA0018 STR RX, 08000019 08000020 JMP PC, 00040021 0004
PROGRAMA 02
LED7 LED0
USAMOS DOBLE LAZO DE RETARDOEMPLEANDO RX Y UNA POSICIÓN DEMEMORIA DE DATOS
LAZOINTERNO
LAZOEXTERNO
MEM 0800 ALMACENAPOSICIÓN DE DESPLAZAMIENTO
MEM 0801 ALMACENA VALOR DELAZO DE RETARDOEXTERNO.
![Page 41: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/41.jpg)
UP16
CONTENIDO DEL ARCHIVO RAM.HEX PARA ESTE PROYECTO
LAZO EXTERNO
LAZO INTERNO
![Page 42: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/42.jpg)
UP16
PROYECTO U16PKIT03
PROYECTO CON EL MICRO UP16, SIMULANDO UN DESPLAZAMIENTO A IZQUIERDA Ó DERECHA DE UN BIT EN “1” POR EL PORT A, CON DOBLE LAZO DE RETARDO.CON EL PULSADOR KEY1 SE CAMBIA EL SENTIDO DE DESPLAZAMIENTO DEL“1”, CADA QUE SE PULSA.
![Page 43: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/43.jpg)
UP16
EJECUTARSRL
0802 FFFF
KEY1=1?
0802=0?
KEY1=0?
NO
NO
NO
SI
SISI
EJECUTARSLL
NOT 0802
DELAY
DIAGRAMA DE ESTADOS PARA ELCONTROL DE SENTIDO DE BARRIDODEL GENERADOR DE SECUENCIA
PARTE DE LA RUTINA DEL PROYECTO ANTERIOR
0800 0000
EJEMPLO DE CONCEPTO DE SUBRUTINA
![Page 44: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/44.jpg)
UP16
LED7 LED0
SLL
SRL
IMPLEMENTACIÓN EN LA FPGA CONECTANDOEL PULSADOR KEY0 A LA ENTRADA DE RESETDEL MICROPROCESADOR Y USANDO KEY1COMO UN SELECTOR DE FUNCIÓN
![Page 45: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/45.jpg)
UP16
RUTINA PRINCIPAL
SUBRUTINA DE GENERACIÓN
DE DELAY
EJEMPLO DE CONCEPTO DE SUBRUTINA
![Page 46: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/46.jpg)
UP160000 CLR RX0001 INC RX0002 STR RX, 0802 0003 08020004 BT1JS, 000F0005 000F0006 BT1JC, 00060007 00060008 LDD RX, 08020009 0802000A NOT RX000B STR RX, 0802000C 0802000D JMP PC, 000F000E 000F000F LDD RX, 08020010 08020011 JMP PC IF Z, 00180012 00180013 LDD RX, 08000014 08000015 SLL RX0016 JMP PC, 001B0017 001A0018 LDD RX, 08000019 0800 001A SRL RX001B STR RXL, PORTA001C STR RX, 0800 001D 0800001E JMP PC, 0100001F 0100
PROGRAMA 03
0100 LDI RX, 00050101 00050102 STR RX, 08010103 08010104 LDI RX, FFFF0105 FFFF0106 DEC RX, IF NZ0107 LDD RX, 08010108 08010109 DEC RX010A JMP PC, IF Z, 0110010B 0110011C STR RX, 0801011D 0801011E JMP PC, 0104 011F 01040110 JMP PC, 00040111 0004
RUTINA DE DELAY
![Page 47: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/47.jpg)
CU10
PROYECTO CU10
DISEÑO EN VHDL DE MICROPROCESADOR ELEMENTAL BASADO EN EL PROYECTO CU9, ADICIONANDO UN CONTROLADOR INDEPENDIENTE DEL CONVERSOR ANALÓGICO-DIGITAL TIPO SERIE ADC128S022, QUE SE ENCUENTRA INTEGRADO EN LA PLACA DE0-NANO DE LA CYCLONE IV. .
![Page 48: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/48.jpg)
RSTCLK
CU10
BUS DATA_IN
BUS ADDRESS
MEM
OR
IA
uP16
CPU
PC
16R
MA
R
RX
IR
MD
RO
MD
RI
MU
XM
AR
MUXRX
FPGA
CCRALU
BUS CONTROL
BUS DATA_OUT
PORT A PORT B
ENTRADAS A FPGASALIDAS DE FPGA
REGPA
MU
XM
DR
I2
REGPB
ENTR
AD
A S
A F
PG
A
IX
MU
XM
AR
2
CO
NTR
OLA
DO
R D
E A
DC
CO
NV
ERSO
RA
DC
SER
IE
❶
❶
![Page 49: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/49.jpg)
CU10
A10B10 A9 B14
![Page 50: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/50.jpg)
CU10
![Page 51: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/51.jpg)
CU10
CONTROLADOR DE ADCCONVERSOR
ADC SERIE
uP16
csn_adc
clock_adc
dout_adc
din_adc
salid
a_co
ntr
add
r_co
ntr
end
_of_
con
v
star
t_co
ntr
FPGA
muxmdri <= salida_contr
addr_contr <= salidair(7 downto 5)
ADC128S022
![Page 52: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/52.jpg)
CU1014 13 12 11 10 9 8 7 6 5 4 3 2 1 0IR 15
X”0000” 00000000 = CLR RXX”0100” 00000001 = INC RXX”0200” 00000010 = LDI RXX”0300” 00000011 = DEC RXX”0400” 00000100 = NOPX”8000” 10000000 = RSTX”0500” 00000101 = LDD RXX”0600” 00000110 = STR RXX”070X” 00000111 = OPERACIONES ARITMÉTICO-
LÓGICAS ENTRE MEMORIA DE DATOS Y REGISTRO “RX”.
X”0800” 00001000 = STR RXL, PORT AX”09X0” 00001001 = BIT SET I, PORT AX”0AX0” 00001010 = BIT CLR I, PORT AX”0B00” 00001011 = INC PORT AX”0C00” 00001100 = DEC PORT AX”0D00” 00001101 = LDI RX, PORT BX”0E00” 00001100 = BTIJC, PORT BX”0F00” 00001101 = BTIJS, PORT BX”1000” 00010000 = JMP PC, DIRX”1100” 00010001 = JMP PC, IF Z, DIRX”1200” 00010010 = JMP PC, IF C, DIRX”1300” 00010011 = DEC RX, IF NZX"1400" 00010100 = LDI IXX"1500" 00010101 = INC IX X"1600" 00010110 = LDD RX, IXX"1700" 00010111 = STR RX, IXX”1800” 00011000 =START CONV CH I, ADCX”1900” 00011001 = LDD RX, ADCX”1A00” 00011010 = JUMP PC IF EOC NZ, ADC
USO ESTOS BITS PARA ENTRAREL CÓDIGO DE IDENTIFICACIÓNDEL BIT A SELECCIONAR:PORT_A(BIT 0) = “000”PORT_A(BIT 1) = “001”
.
.
.
.PORT_A(BIT 6) = “110”PORT_A(BIT 7) = “111”
RESERVADOS PARA OPER. CON LA "ALU"
Total: 43 instrucciones
![Page 53: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/53.jpg)
Controlador ADCClock_50MHz
Reset
sal_controller
End of Conversionaddress
Controlador del conversor ADC128S022(de la placa Terasic DE0-Nano - Cyclone IV)
ADC128S022
doutdinsclkcsn
FPGA
8 canales
CU10
![Page 54: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/54.jpg)
ADC128S022CU10
![Page 55: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/55.jpg)
ADC128S022CU10
![Page 56: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/56.jpg)
ADC128S022CU10
![Page 57: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/57.jpg)
ADC128S022CU10
![Page 58: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/58.jpg)
csn
start
t
t
t
t
t
t
clock
DIAGRAMA DE TIEMPOS DE LAS SEÑALES DE CONTROL
sclk
din
dout DB11 DB10 DB9 DB8 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Carga de datos al ADC: en cada flanco descendente de “sclk”.Lectura de datos desde el ADC : en cada flanco ascendente de “sclk”.
Momento de escribir al ADC Momento de leer el ADC
CU10
cuatro ceros
![Page 59: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/59.jpg)
CU10 Código del controlador del ADC(Test en la placa DE0-Nano))
![Page 60: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/60.jpg)
CU10
Se usan los 8 bits mas significativosde los 12 adquiridos para servisualizados en los 8 LEDs de la placaDE0-Nano.
![Page 61: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/61.jpg)
CU10
![Page 62: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/62.jpg)
CU10
Cómo se debe adaptar este proyecto para ser usado porel microcontrolador ...???
![Page 63: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/63.jpg)
LEDs (D7 .....D0) = dout (11 ....4) = 01110101 = 75 (hexa)
Vmedida = 1,54 V Vref = 3,32 VLectura osciloscopio = 1879Calculo para 1,54 V = 1889
![Page 64: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/64.jpg)
dout_adc
sclk
dout_adc = 0000011101010111 = 0757(hexa) = 1879 (dec)
![Page 65: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/65.jpg)
B16=GPI0_21=CSN
F15=GPIO_28=DIN F16 =GPIO_29=EOC
D16= GPIO_25=SCLK
G15=GPIO_212=DOUT
PIN PLANNER de este proyecto
![Page 66: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/66.jpg)
CU11
PROYECTO CU11
DISEÑO EN VHDL DE UN CONTROLADOR MASTER PARA BUS SERIE I2C PARA SER EMPLEADO COMO CONTROL DE TRANSFERENCIA DE DATOSENTRE EL MICROCONTROLADOR Y LA MEMORIA EEPROM SERIE 24LC02B QUE POSEE LA PLACA TERASIC DE0-NANO CYCLONE IV.
![Page 67: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/67.jpg)
Controlador I2C
Start
Clock_200KHz
Reset
Dataout
Datain
Controlador de bus maestro I2C Ejemplo con la memoria EEPROM 24LC02B
(de la placa Terasic DE0-Nano - Cyclone IV)
Memoria EEPROM(2Kbits serie I2C)
24LC02B
SDASCL
FPGAVdd Vdd
R_Wn
Addressin
Acnowledge
Error_out
End_of_Trans
CU11
![Page 68: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/68.jpg)
I2C BUS
La versión básica suele usarun dispositivo Master quecontrola por el bus desdeun dispositivo Slave hasta128 que pueden interactuar sólo con el Master.El bus es de 2 hilos, del tipo open-drain: Uno es unreloj (SCL) que gobierna elMaster y el otro es dedatos (SDA) que es bidireccional.
La versión extendida consiste de múltiples Master que pueden tomar el control del busa través de un modo de arbitraje.
CU11
![Page 69: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/69.jpg)
I2C BUS Las líneas SCL y SDA deben terminarcon una resistencia de pull-up y porlo tanto los terminales de dispositivos conectados a ellas deben admitir labidireccionalidad.
Todo proceso de comunicación para latransferencia de información debeconsistir de una condición inicial deinicio (START) y una de finalización (STOP).
En cada paquete enviado por el masterse espera un reconocimiento del slaveseleccionado. Si no responde debegenerarse el apropiado manejo de erroren dicha transferencia en una capasuperior del protocolo de comunicación.
CU11
![Page 70: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/70.jpg)
I2C BUS
Los cambios en la línea deSDA para transferencia de datos se deben realizarsiempre con SCL en bajo.
Para comenzar una transacción se debe generarun flanco negativo en SDAcuando SCL esté en alto.
Para terminar una transacción se debe generarun flanco positivo en SDAcuando SCL esté en alto.
CU11
![Page 71: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/71.jpg)
I2C BUS
Cuando el master comienza una transacción, manda una señal de START con SCL en «1».En los próximos 8 estados en bajo de SCL, manda 7 bits con la dirección del dispositivo elegido y otro bit en «0» o «1» para señalar que va a escribir o leer en el mismo.En el noveno ciclo de SCL, el master pone la línea SDA en «Z» y espera a recibir un datopor SDA (reconocimiento = acknowldge). Si recibe un «0» prosigue, sino ha habido un error.La cantidad de bytes subsiguientes son ilimitados y depende del sistema. Al finalizar cada byte se debe pedir reconocimiento. Para terminar se debe generar una señal de STOP.
CU11
![Page 72: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/72.jpg)
24LC02B(I2C 2K EEPROM)
Memoria EEPROM de 2Kbits en arreglo de 265 x 8.Bus de comunicación serie de dos cables tipo I2C.Velocidad de transferencia de 100KHz ó 400KHz.Protección contra escritura por hardware.Retención de datos hasta 200 años.Mas de 1 millón de ciclos de borrado/escritura.
CU11
![Page 73: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/73.jpg)
24LC02B(I2C 2K EEPROM)
Este modelo de memoria tiene unaidentificación de 7 bits: 1010XXX.
CU11
![Page 74: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/74.jpg)
24LC02B(I2C 2K EEPROM)
La escritura de un simple byte "BYTE WRITE" se realiza enviando :1 - Dirección del dispositivo.2 - Posición de memoria.3 - Dato.
Se puede escribir también, en múltiples posiciones de memoria consecutivas (hasta 8) denominado "PAGE WRITE", desde la inicial, enviando cada dato con su respectiva confirmación (ACK).
MODO USADO AQUI
CU11
EL DISPOSITIVO AL RECIBIR EL "STOP" LUEGO DE UN PEDIDO DE "WRITE", COMIENZA UN CICLO INTERNO DE ESCRITURA QUE PUEDE TARDAR HASTA 5 ms...!!!
SE ESCRIBEN 8 BYTES CONSECUTIVOS
![Page 75: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/75.jpg)
24LC02B(I2C 2K EEPROM)
La memoria tiene un contador interno que se incrementa en cada acceso.Si por ejemplo, quedó apuntando en la dirección N, al generar una sesión delectura como se muestra, se leerá el dato de la dirección N+1.
CU11
![Page 76: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/76.jpg)
24LC02B(I2C 2K EEPROM)
La forma convencional de lectura de una posición de memoria específica, es la de Random Read. Se deben generar dos ciclos: uno START-ACK y otro START-STOP.
El primero direcciona el dispositivo y la posición de memoria deseada para leer.
El segundo direcciona nuevamente el dispositivo pero indicándole que se lo va a leer yluego se adquiere el dato almacenado.
MODO USADO AQUI
CU11
![Page 77: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/77.jpg)
24LC02B(I2C 2K EEPROM)
El caso «secuencial» permite la lectura de varias posiciones de memoria consecutivas, terminando la transacción con una señal de STOP.
CU11
![Page 78: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/78.jpg)
En la placa Terasic DE0-Nano de Cyclone IV, las resistencias de pull-up ya estáninsertadas en la placa del impreso.
CU11
![Page 79: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/79.jpg)
CU11Código del controlador I2C
![Page 80: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/80.jpg)
CU11
![Page 81: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/81.jpg)
CU11
IMPORTANTE:EL DISPOSITIVO 24LC02, AL RECIBIR EL STOP" COMIENZA UN CICLO INTERNO DE ESCRITURA QUE TARDA 5 ms...!!! => ESTO DEBE SER CONSIDERADO EN LA RUTINA DEL CONTROLADOR "I2C" PARA EL MANEJO DE LAMEMORIA 24LC02 .......!!!
QUE HABRÍA QUE MODIFICAR EN ESTE PROYECTO ...???
![Page 82: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/82.jpg)
CU11
![Page 83: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/83.jpg)
CU11
![Page 84: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/84.jpg)
CU11
![Page 85: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/85.jpg)
CU11
![Page 86: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/86.jpg)
CU11
![Page 87: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/87.jpg)
CU11
![Page 88: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/88.jpg)
Simulación de dos rutinas de escritura en la memoria serie EEPROM de
dirección 1010xxx en las posiciones de memoria 00 y 01
CU11
![Page 89: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/89.jpg)
Rutina completa de la primera escritura
CU11
![Page 90: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/90.jpg)
Zoom de la primera rutina desde comienzo de START y escritura del CONTROL BYTE
CU11
![Page 91: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/91.jpg)
Zoom de la primera rutina desde escritura de WORD ADDRESS y WRITE DATA
CU11
![Page 92: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/92.jpg)
Rutina de la segunda escritura desde START e indicando CONTROL BYTE y WORD ADDRESS
CU11
![Page 93: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/93.jpg)
Rutina de la segunda escritura desde WORD ADDRESS y WRITE DATA
CU11
![Page 94: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/94.jpg)
CU12
PROYECTO CU12
DISEÑO EN VHDL DE UN GENERADOR INDEPENDIENTE DE PWM (PULSE WIDTH MODULATION) PROGRAMABLE.
![Page 95: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/95.jpg)
Generador PWMClock_50MHz
Reset_in sal_pwmdata_in
Genera una onda cuadrada de ciclo de trabajo variable y frecuencia ajustable .
data_in (9 downto 0) = Define el ciclo de trabajo (resolución 1/1024 ó 1‰)data_in (13 downto 12) = Define la frecuencia de referencia(50, 25, 10 ó 5 KHz)
GENERADOR "PWM" (Pulse Width Modulation)CU12
![Page 96: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/96.jpg)
sal_pwm
clock_per
t
t
t
clock_50mhz
Desde 1 hasta 1022 ciclos de clock_per
mode_ucnt => "x x M1 M0 x x D9 ...............D0"
M1 M0 => F_pwm0 0 50 KHz0 1 25 KHz1 0 10 KHz1 1 5 KHz
Rango de 1 a 1023períodos de clock_perpara definir el "1" lógico
GENERACIÓN DE SEÑAL "PWM" (Pulse Width Modulation)
Desde 1022 a 1 Período de clock_per
CU12
![Page 97: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/97.jpg)
CU12
Código del Generador PWM
![Page 98: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/98.jpg)
CU12
![Page 99: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/99.jpg)
CU12
![Page 100: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/100.jpg)
CU12
Código del TestBench para el Generador PWM
![Page 101: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/101.jpg)
CU12
![Page 102: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/102.jpg)
Período de la frecuencia = 20,48 us
CU12
![Page 103: MÓDULO 2 - UNLPdiseÑo en vhdl de microprocesador elemental basado en el proyecto cu9, adicionando un controlador independiente del conversor analÓgico-digital tipo serie adc128s022,](https://reader033.fdocuments.mx/reader033/viewer/2022042002/5e6e02ceb12dff3fa42f3e75/html5/thumbnails/103.jpg)
Período de la frecuencia = 40,959 us
CU12