US Robotics USR5420 Manuel d'utilisateur Page 13

  • Télécharger
  • Ajouter à mon manuel
  • Imprimer
  • Page
    / 78
  • Table des matières
  • MARQUE LIVRES
  • Noté. / 5. Basé sur avis des utilisateurs
Vue de la page 12
MICROCONTROLADOR
13
Elektor
hacer una división de los mismos, pero esto
podría producir interferencias, de modo que
es mejor dividir la frecuencia de reloj.
Las sentencias de la Tabla 4 describen las
condiciones de temporización necesarias para
generar la señal de reset MRES para un conta-
dor M de 9 bits. Si observamos la sentencia
veremos un primer paréntesis, empezando por
su lado izquierdo, en el que la salida M del con-
tador se compara con un valor decimal, en el
lado derecho del paréntesis. El valor de esta
expresión solamente será 1 cuando la salida del
contador sea igual al valor decimal. Mientras
tanto permanecerá con un valor igual a 0. A
continuación nos encontramos con dos símbo-
los, “&&”, que nos indican la realización de una
operación AND, junto con otro paréntesis que
contiene la descripción de las tres entradas
ZYL (CYL), provenientes del conmutador DIP
de tres circuitos . El valor de los conmutadores
se compara con tres bits que representan un
número decimal comprendido entre 0 y 7. Sola-
mente cuando las sentencias incluidas en cada
paréntesis son verdad, se genera un 1 lógico.
Cada línea tiene dos líneas verticales que indi-
can que esta expresión se enlazará con la
siguiente línea a través de una función OR.
Esto significa que es suficiente con que las sen-
tencias de una de las líneas sea verdad para
que el pulso de reset MRES pase a valer un 1
lógico. En cualquier otro caso su valor será 0.
Así, por ejemplo, la línea 4 pasará a valer 1
cuando el contador alcance el valor de 118 y el
conmutador DIP tenga seleccionado el valor
de 3. En el siguiente flanco de subida de la
señal CLK, el contador pasará a valer 119 y la
señal MRES cambiará su estado a “1” lógico.
En el siguiente pulso de reloj el contador
pasará a tener un valor de 0 y esto hará que la
señal MRES pase también a su estado “0”
lógico. En este momento, el contador está listo
para comenzar de nuevo su cuenta ascen-
dente con el siguiente flanco de reloj. Por lo
tanto, contará desde 0 a 119, lo que equivale
a un total de 120 pulsos de reloj.
El comportamiento del contador M viene
definido por los valores introducidos en la
Tabla 5. Cuando la señal MRES está a nivel
alto, el siguiente valor del contador M será de
0. En el resto de los casos su próximo valor
será el de M + 1. En el flanco de reloj positivo
consecutivo el valor del contador se incre-
mentará en una unidad más o pasará a valer
0, dependiendo del estado de la señal MRES.
La Tabla 6 indica que la señal de entrada,
proveniente de la bobina de encendido, DZ_IN,
simplemente se amplifica, siendo su salida
DZ_IN_B. La salida amplificada utiliza dos
resistencias externas para construir una fun-
ción de “trigger Schmitt” con la señal DZ_IN.
La señal de entrada de encendido no estará
sincronizada con la frecuencia de reloj interno.
Tabla 7
/*==============================================================*/
/* Contador V */
always @ (V or VRES or MRES or TOR)
begin
if (VRES == 1’b1)
Next_V = 11’d0;
else
if (!VRES & MRES & TOR)
Next_V = V + 1’b1;
else
Next_V = V ;
end
/*==============================================================*/
Tabla 9
/*==============================================================*/
/* Copiando sobre un registro de salida */
always @ (LED_R or LED or TOR_NF)
begin
if ( TOR_NF )
Next_LED_R[15:0] = LED[15:0];
else
Next_LED_R[15:0] = LED_R[15:0];
end
/*==============================================================*/
Tabla 8
/*==============================================================*/
/* LEDs */
/* Mode 0 1000 a 6000 rpm, res. 333 */
/* Mode 1 750 a 4500 rpm, res. 250 */
/* Mode 2 4125 a 6000 rpm, res. 125 */
/* Mode 3 2500 a 10000 rpm, res. 500 */
always @ (LED[15] or MODE or VRES)
begin
if ( LED[15] && (V == 204) && (MODE == 0) ||
LED[15] && (V == 272) && (MODE == 1) ||
LED[15] && (V == 204) && (MODE == 2) ||
LED[15] && (V == 122) && (MODE == 3) )
Next_LED[15] = 1’b0;
else
if ( VRES & !LED[15])
Next_LED[15] = 1’b1;
else
Next_LED[15] = LED[15];
end
/*==============================================================*/
.
.
/*==========================================================*/
always @ (LED[0] or MODE or VRES)
begin
if ( LED[0] && (V == 1228) && (MODE == 0) ||
LED[0] && (V == 1637) && (MODE == 1) ||
LED[0] && (V == 297) && (MODE == 2) ||
LED[0] && (V == 491) && (MODE == 3) )
Next_LED[0] = 1’b0;
else
if ( VRES & !LED[0])
Next_LED[0] = 1’b1;
else
Next_LED[0] = LED[0];
end
/*==============================================================*/
Vue de la page 12
1 2 ... 8 9 10 11 12 13 14 15 16 17 18 ... 77 78

Commentaires sur ces manuels

Pas de commentaire