Académique Documents
Professionnel Documents
Culture Documents
datos en paralelo a travs de una lnea serie. UARTs se utilizan con frecuencia
en combinacin con el EIA (ElectronicIndustries Alliance) estndar RS-232, que
especifica el funcionamiento elctrico, mecnico,,y las caractersticas de
procedimiento del equipo de comunicacin de dos datos. Debido a que el
voltaje nivel definido en la RS-232 es diferente de la de FPGA I / O, un chip
convertidor de voltaje esnecesario entre un puerto serie y pasadores Iio de un
FF'GA.La junta S3 tiene un puerto RS-232 con el conector de nueve pines
estndar. La junta contieneel chip convertidor de voltaje necesario y configura
las distintas RS-232 seales de control depara generar automticamente el
reconocimiento para el puerto serie del PC. Un straightthrough estndarcable
serie se puede utilizar para conectar la placa S3 y el puerto serie del PC. La
junta S3bsicamente se encarga de la RS-232 estndar y slo tenemos que
concentrarnos en el diseo de laCircuito UART.Un UART incluye un transmisor
y un receptor. El transmisor es esencialmente una especialregistro de
desplazamiento que carga datos en paralelo y se desplaza hacia fuera poco a
poco a una velocidad especfica. losreceptor, por otra parte, los cambios en bit
de datos a poco y luego vuelve a montar los datos. La serielnea es '1' cuando
est inactivo. La transmisin comienza con un bit de inicio, que es 'O', seguido
porbits de datos y un bit de paridad opcional, y termina con bits de parada,
que se '1'. el nmero debits de datos pueden ser 6,7, u 8. El bit de paridad
opcional se utiliza para la deteccin de error. Para paridad impar,se pone a '0'
cuando los bits de datos tienen un nmero impar de 1 de. Para paridad par, se
pone a '0'cuando los bits de datos tienen un nmero par de 1 de. El nmero
de bits de parada puede ser de 1, 1,5 o 2.
A flag FF
Un FF bandera y una sola palabra
Un buffer FIFO
Desde que usamos el puerto serie del PC para comunicarse con la junta S3 en
muchos experimentos y proyectos, las siguientes observaciones nos ayudan a
manipular y procesar el cdigo ASCII:
Tenga en cuenta que el cdigo ASCII utiliza slo 7 bits, aunque una palabra de
datos se compone normalmente de 8 bits (es decir, un byte). El PC utiliza un
conjunto extendido en el que el MSB es 1 y los caracteres son smbolos
grficos especiales. Este cdigo, sin embargo, no es parte de la norma ASCII.
7.5 Personalizacin de una UART
La UART discutido en las secciones anteriores es la medida para una
configuracin particular. El diseo y el cdigo pueden ser fcilmente
modificados para adaptarse a otras caractersticas requeridas:
* Err: seal de salida de 3 bits en el que los bits indican la existencia del error
de paridad, o 9.600 baudios paridad par, o de error de trama de paridad
impar, y los datos invadido error
1. Modificar el grfico ASMD en la Figura 7.3 para dar cabida a las extensiones
requeridas.
3. Revisar el cdigo del transmisor UART para dar cabida a las extensiones
requeridas.
Cuando se recibe una c o C (de " borrar " ) se recibe el cdigo ASCII , el
cronmetro aborta mientras est contando, se borra a cero, y establece
el mtodo de recuento de " arriba ".
Cuando se recibe una g o G (para " ir " ) se recibe el cdigo ASCII , el
cronmetro comienza a contar.
Cuando se recibe una p o P (de " pausa" ) el cdigo ASCII , contando
pausas.
Cuando se recibe una u o U (de " arriba-abajo " ) de cdigo ASCII , el
cronmetro invierte la direccin del conteo.
Cuando se recibe una r o R (para "recibir" ) se recibe el cdigo ASCII , el
cronmetro transmite el tiempo actual hasta el PC . El tiempo debe
mostrarse como " DD.D Es , donde D es un dgito decimal.
Sern ignorados Todos los dems cdigos.
Disear el nuevo cronmetro, sintetizar el circuito, conctelo a un PC y utilizar
HyperTerminal para verificar su funcionamiento.
7.7.5 UART-controlado rotando la bandera LED
Considere el circuito de la bandera LED giratoria en el Experimento 4.7.5. Con
la UART, podemos utilizar HyperTerminal de PC para controlar su
funcionamiento y dinmicamente modificar los dgitos en la bandera:
CAPITUL
O8
TECLADO de
PS2
8.1. INTRODUCCIN
Puerto PS2 fue introducido en Systed2 Personal computadoras personales
de IBM. Es un ampliamente interfaz soportada por un teclado y el ratn para
comunicarse con el host . El puerto PS2 contiene dos hilos para fines de
comunicacin. Un cable es para los datos , que se transmite en un flujo en
serie . El otro cable es para la informacin del reloj , que especifica cundo
los datos son vlidos y se puede recuperar . La informacin se transmite de
forma 1 de
1 bit " paquete " que contiene un bit de inicio , 8 bits de datos , un bit de
paridad impar y un bit de parada . Mientras que el formato bsico del
paquete es el mismo para un teclado y un ratn, la interpretacin de los bits
de datos es diferente. La placa de prototipo FPGA tiene un puerto PS2 y
acta como anfitrin. Se discute la interfaz de teclado en este captulo y
cubrimos la interfaz del ratn en el Captulo 9 .
La comunicacin del puerto PS2 es bidireccional y el anfitrin puede enviar
un comando para
el teclado o el ratn para ajustar ciertos parmetros. Para nuestros
propsitos, la bidireccional comunicacin apenas se requiere para el teclado
PS2, y por lo tanto la discusin se limita a una sola direccin, desde el
teclado a la placa de prototipos . Diseo bidireccional se examinar en la
interfaz del ratn en el Captulo 9 .
1C 1C
1C
. . . 1C
FO 1 C
La parte principal del cdigo es el FSM, que las pantallas para el cdigo de
ruptura y coordina el funcionamiento de los otros dos mdulos.
Comprueba los paquetes recibidos en el estado
de espera-brk continuamente. Cuando se detecta el paquete FO, se mueve
al estado de cdigo
get y espera para el siguiente paquete, que es el cdigo de maquillaje de la
tecla. El FSM afirma a continuacin la seal de cdigo-hecho-tick para un
ciclo de reloj y vuelve al estado de espera-brk.
funci
onamiento.
9.1 INTRODUCCIN
Un ratn del ordenador est diseado principalmente para detectar el movimiento de dos
dimensiones en una superficie. Su circuito interno mide la distancia relativa de movimiento
y comprueba el estado de los botones. Para un ratn con una interfaz PS2, esta informacin
se embala en tres paquetes continuamente en una frecuencia de muestreo previamente
designado.
La comunicacin del puerto PS2 es bidireccional y el anfitrin puede enviar un comando
para el teclado o el ratn para ajustar ciertos parmetros. Para nuestros propsitos, esta
funcionalidad es apenas necesario para un teclado para el anfitrin FPGA. Sin embargo, a
diferencia del teclado, un ratn est configurado para estar en el modo no humeante
despus del encendido y no enva ningn dato. El anfitrin debe primero enviar un
comando al ratn para inicializar el mouse y activar el modo de secuencia. Por lo tanto, es
necesaria una comunicacin bidireccional del puerto PS2 para la interfaz del ratn PS2, y
debemos desinar del subsistema de transmisin (es decir, de la junta FPGA para ratn) para
la interfaz PS2.
En este captulo, ofrecemos un breve resumen del protocolo del ratn PS2, disear una
interfaz PS bidireccional, y derivamos una sencilla INTERFCE ratn.
9.2 Protocolo PS2 MOUSE
9.2.1 Operaciones Bsicas
Un estndar ps2 mouse informa movimiento del eje x (derecha / izquierda) y el eje Y (arriba /
abajo) y el estado del botn izquierdo, botn central, y el botn de la derecha. La cantidad de cada
movimiento se registra en el contador interno de un ratn. Cuando los datos se transmiten al host, el
contador se pone a cero y se reinicia el conteo. El contenido del contador representa un entero con
signo de 9 bits en el que un nmero positivo indica la derecha o hacia arriba el movimiento, y un
nmero negativo indica la izquierda o hacia abajo el movimiento.
La relacin entre las distancias fsicas se define con el parmetro de resolucin del ratn. El valor
por defecto de la resolucin es cuatro cargos por milmetro. Cuando un ratn se mueve
continuamente, los datos se transmiten en una tasa regular. La tasa se define por el parmetro de
frecuencia de muestreo del ratn. El valor por defecto de la frecuencia de muestreo es de 100
muestras por segundo. Si un ratn se mueve demasiado rpido, la cantidad del movimiento durante
el periodo de muestreo puede exceder el alcance mximo de la barra. El contador se ajusta a la
magnitud mxima en la direccin apropiada. Dos bits de desbordamiento se utilizan para indicar las
condiciones.
El ratn informa las actividades de movimiento y de botn en 3 bytes, que estn incrustados en tres
paquetes de PS2. El formato detallado de los datos de 3 bytes se muestra en la Tabla 9.1. Contiene
la siguiente informacin:
l: estado del botn izquierdo, que es ' 1 ' cuando se pulsa el botn izquierdo
r: estado de botn derecho , que es ' 1 ' cuando se pulsa el botn derecho
m: estado opcional de botn central , que es ' 1 ' cuando se pulsa el botn central
Durante la transmisin, el paquete 1 byte se enva primero y el paquete de byte 3 se enva pasado.
9.2.2 Procedimiento de inicializacin bsica
El funcionamiento de un ratn es ms compleja que la de un teclado. Dispone de diferentes modos
de funcionamiento. El ms utilizado es el modo de secuencia, en la que un ratn enva los datos de
movimiento cuando detecta movimiento o el botn de actividad. Si el movimiento es continuo, los
datos
se
generan
en
la
frecuencia
de
muestreo
designado.
Durante la operacin, un host puede enviar comandos a un ratn para modificar los valores
predeterminados de diversos parmetros y establecer el modo de funcionamiento, y un ratn puede
generar la situacin y enviar un acuse de recibo. Para nuestros propsitos, los valores
predeterminados son adecuados, y la nica tarea es establecer el ratn al modo de corriente.
est inicialmente en el estado de reposo. Para iniciar la transmisin , el host activa la seal
wr- ps2 y coloca los datos en el bus din. El FSMD carga din , junto con el bit de paridad ,
en el registro shift-reg, luego carga el " 1 . . - 1 "en el registro c , y se traslada al estado
RTS (por " solicitud de envo " ) o. En este estado, el ps2c de salida se establece en "0" y el
correspondiente tri -c se activa para encender el correspondiente buffer tri-estado. El c- reg
se utiliza como un contador de 13 bits para generar un retraso de 164 -ps. El FSMD luego
pasa al estado de inicio , en la que se desactiva la lnea de reloj de PS2 y la lnea de datos se
establece en ' 1 ' . El dispositivo PS2 (es decir , el ratn ) ahora se hace cargo y genera
seal de reloj sobre la lnea ps2c. Despus de detectar el flanco descendente de la seal
ps2c a travs de la seal de flanco descendente, el FSMD va al estado de datos y tiene un
desplazamiento lateral de 8 bits de datos y 1 bit de paridad. El registro n se utiliza para
realizar un seguimiento del nmero de bits desplazados. El FSMD luego pasa al estado de
parada, en la que se desactiva la lnea de datos, vuelve al estado de reposo despus de
detectar el ltimo flanco de bajada. El FSMD tambin incluye una seal de tx-idle para
indicar si la transmisin est en curso. Esta seal puede ser utilizada para coordinar el
funcionamiento entre los subsistemas de recepcin y transmisin. El cdigo sigue el grfico
ASMD y se muestra en el listado 9.1. Un circuito de filtrado similar a la de la Seccin 8.2
se utiliza para generar la seal de flanco descendente.
Listado 9.1 transmisor puerto PS2
y volver a montar los bytes de datos 3. La salida del circuito son XM y ym, que
son dos seales x- 9 bits y movimiento del eje y; btm, que es la seal de
estado del botn 3-bit; y m-hacer-tick, que es una seal de estado de un solo
ciclo de reloj y se afirma cuando los datos reunidos se encuentra disponible. El
cdigo HDL se muestra en el listado 9.4. Se lleva a cabo por un FSMD con siete
estados. El initl, init 2 y 3 estados init se ejecutan una vez despus de que se
afirma la seal de reset.
En estos estados, el FSMD emite el comando F4, espera a la finalizacin de la
transmisin, y luego espera a que el paquete de confirmacin. El ratn est en
el modo de marcha ahora. El FSMD luego obtiene y rene los siguientes tres
paquetes en los estados packl, Pack2 y Pack3, y se activa la seal de m-hechotick en el estado hecho. El FSMD circula estos cuatro estados despus.