Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CU9
PROYECTO CU9
PC16R
uP16
MUXMAR 2
RST BUS ADDRESS
MAR
IX
CLK
BUS
ENTRADA S A FPGA
DATA_IN
MUXMDRI
MEMORIA
MDRI
MUXRX IR
BUS
RX CONTROL
CPU
MDRO
REGPA REGPB
PORT A PORT B
SALIDAS DE FPGA ENTRADAS A FPGA
CU9
IR 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PC
MUXMAR2
MDRI
IX
SELEMUXMAR
CU9
CU9 CONTENIDO DEL ARCHIVO RAM.HEX PARA ESTE PROYECTO
RUTINA DE PRUEBA
0000 CLR RX
0001 LDI IX, 0A00
0002 0A00
0003 STR RX, IX
0004 INC IX
0005 INC RX
0006 STR RX, IX
0007 INC IX
0008 INC RX
0009 STR RX, IX
000A LDI IX, 0A00
000B 0A00
000C LDD RX, IX
000D STR RXL, PORTA
000E INC IX
000F STR RX, IX
0010 STR RXL, PORTA
0011 INC IX
0012 STR RX, IX
0013 STR RXL, PORTA
0014 INC RX
0015 JMP PC, 0001
0016 0001
CU9
SE 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.
CU9
RUTINA PARA DETECCIÓN Y EJECUCIÓN DE INSTRUCCIÓN LDI_IX
CU9
CU9
CU9
CU9
PROYECTO UP16
EP4CE22F17C6
PORTB(5,4,3,2)
UP16
UP16
EP4CE22F17C6
UP16KIT
DISTRIBUCIÓN DE COMPONENTES
A UTILIZAR EN LA PLACA DE0-NANO
PORTB(5)
PORTB(7)
PORTB(6)
UP16 VISTA DEL PIN PLANNER EDITOR
UP16
PROYECTO U16PKIT01
PROYECTO U16PKIT02
LAZO EXTERNO
LAZO INTERNO
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.
UP16 0800 0000 DIAGRAMA DE ESTADOS PARA EL
CONTROL DE SENTIDO DE BARRIDO
0802 FFFF
DEL GENERADOR DE SECUENCIA
NO
KEY1=1?
SI SI
KEY1=0?
NO
NO
0802=0?
NOT 0802
SI
EJECUTAR
EJECUTAR
SRL
SLL
SLL
LED7 LED0
SRL
UP16
RUTINA PRINCIPAL
SUBRUTINA DE
GENERACIÓN
DE DELAY
PC16R
uP16
MUXMAR 2
RST ❶ BUS ADDRESS
MAR
IX
CLK
BUS
ENTRADA S A FPGA
DATA_IN
MUXMDRI2
MEMORIA
MDRI
❶
MUXRX IR
CONTROLADOR DE ADC
BUS
RX CONTROL
CPU
CONVERSOR
ADC SERIE
MDRO
REGPA REGPB
PORT A PORT B
SALIDAS DE FPGA ENTRADAS A FPGA
CU10
A10
B10 A9 B14
CU10
CU10
FPGA
csn_adc
clock_adc
CONVERSOR
ADC SERIE din_adc CONTROLADOR DE ADC
dout_adc
ADC128S022
salida_contr
end_of_conv
addr_contr
start_contr
muxmdri <= salida_contr
uP16
CU10
IR 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Clock_50MHz
sal_controller
Controlador ADC
Reset
address End of Conversion
FPGA
csn sclk din dout
ADC128S022 8 canales
CU10
ADC128S022
CU10
ADC128S022
CU10
ADC128S022
CU10
ADC128S022
CU10
DIAGRAMA DE TIEMPOS DE LAS SEÑALES DE CONTROL
clock
t
start
t
Momento de escribir al ADC Momento de leer el ADC
csn
t
sclk
t
din
t
dout cuatro ceros DB11 DB10 DB9 DB8 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
t
Carga de datos al ADC: en cada flanco descendente de “sclk”.
Lectura de datos desde el ADC : en cada flanco ascendente de “sclk”.
CU10 Código del controlador del ADC
(Test en la placa DE0-Nano))
CU10
sclk
B16=GPI0_21=CSN
D16= GPIO_25=SCLK
G15=GPIO_212=DOUT
CU11
PROYECTO CU11
Memoria EEPROM
(2Kbits serie I2C)
24LC02B
CU11
I2C BUS
La versión extendida consiste de múltiples Master que pueden tomar el control del bus
a través de un modo de arbitraje.
CU11
I2C BUS
Las líneas SCL y SDA deben terminar
con una resistencia de pull-up y por
lo tanto los terminales de dispositivos
conectados a ellas deben admitir la
bidireccionalidad.
EL DISPOSITIVO AL RECIBIR
EL "STOP" LUEGO DE UN
PEDIDO DE "WRITE",
COMIENZA UN CICLO
INTERNO DE ESCRITURA
QUE PUEDE TARDAR HASTA SE ESCRIBEN 8 BYTES CONSECUTIVOS
5 ms...!!!
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).
CU11
24LC02B(I2C 2K EEPROM)
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 LA
MEMORIA 24LC02 .......!!!
Zoom de la primera rutina desde comienzo de START y escritura del CONTROL BYTE
CU11
Rutina de la segunda escritura desde START e indicando CONTROL BYTE y WORD ADDRESS
CU11
Clock_50MHz
Reset_in
Generador PWM sal_pwm
data_in
clock_50mhz
t
clock_per
t