US Robotics USR5420 Manuel d'utilisateur Page 12

  • 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 11
y Z2. Un motor de cuatro tiempos
produce un impulso de arranque por
cada cilindro y por cada dos vueltas
del cigüeñal (suponiendo que sólo
tenemos una bujía por cilindro). Por
lo tanto, un motor de cuatro cilindros
produce dos impulsos por vuelta,
mientras que uno de ocho genera
cuatro impulsos. Una buena manera
de contar los pulsos de entrada sería
MICROCONTROLADOR
12
Elektor
RESET: entrada para la señal “Power-on-
Reset”, es decir Reset de Encendido.
C4_OUT: salida del oscilador de cristal.
MRES: terminal de salida de depuración.
LED_R_OA [15 a 0]: primer conjunto de
16 salidas para los diodos LEDs.
LED_R_OB [15 a 0]: segundo conjunto
de 16 salidas para los diodos LEDs. Los termi-
nales de salida sólo pueden suministrar 12
mA, por lo que cada diodo LED tiene dos sali-
das conectadas en paralelo para incrementar
el suministro de corriente.
DZ_IN_B: entrada amplificada de la señal
DZ_IN. Las dos resistencias externas produ-
cen el efecto de un disparador Trigger Schmitt.
Todas las salidas y las señales internas
también son definidas como reg (registros),
pero esto no significa necesariamente que la
señal sea producida por un biestable.
En la Tabla 2 se muestran todos los bies-
tables utilizados en el diseño. Las indicacio-
nes de la lista correspondiente (el comentario
que está dentro del paréntesis y después de la
palabra always), son las condiciones que pro-
vocan que las señales de salida cambien de
estado. Por ejemplo, el flanco positivo de la
señal de reloj o el flanco negativo de la señal
de RESET. Todas las salidas de los biestables
se ponen a cero durante el proceso de reset.
En el flanco de subida de la señal de reloj las
señales se actualizan a sus nuevos valores con
las sentencias “NEXT_estado”. El código para
la asignación del estado de la sentencia NEXT
está separado de la asignación de la lógica de
salida. Este modo de escribir el texto no es
esencial, pero es el que recomiendan la mayo-
ría de las guías de diseño del lenguaje Verilog,
especialmente para los proyecto que trabajen
con máquinas de modelismo.
Las funciones lógicas
Dentro de las funciones lógicas, lo primero que
se define es el oscilador de cristal, que sólo
está formado por un inversor (ver Tabla 3).
Las líneas que contienen el signo “=” no
tienen otro propósito que el de separar, de
manera visual, cada bloque de función. Una
línea de descripción es suficiente para descri-
bir el oscilador. La señal de salida C4_OUT es
sencillamente igual a la señal de entrada C4-
IN, pero invertida. El símbolo de admiración
“!”sólo significa que la señal está invertida.
En el siguiente bloque de descripción se
divide la frecuencia de reloj de acuerdo con la
configuración de los conmutadores DIP Z0, Z1
Tabla 5
/*==============================================================*/
/* Contador M, Reset usando MRES, si no contar hacia arriba */
always @ (M or MRES)
begin
if (MRES ==1’b1)
Next_M = 9’d0;
else
Next_M = M + 1’b1 ;
end
/*==============================================================*/
Tabla 6
/*==============================================================*/
/* Señal de Entrada, contador en aumento, etc.(TOR = gate) */
always @ (DZ_IN)
begin
DZ_IN_B = DZ_IN;
end
/*==============================================================*/
/*==============================================================*/
always @ (DZ_IN)
begin
Next_DZ_IN_1D = DZ_IN;
end
/*==============================================================*/
/*==============================================================*/
always @ (DZ_IN_1D)
begin
Next_DZ_IN_2D = DZ_IN_1D;
end
/*==============================================================*/
/*==============================================================*/
always @ (DZ_IN_1D or DZ_IN_2D or TOR)
begin
if (DZ_IN_1D & !DZ_IN_2D)
Next_TOR = !TOR;
else
Next_TOR = TOR;
end
/*==============================================================*/
/*==============================================================*/
always @ (TOR)
begin
Next_TOR_D = TOR;
end
/*==============================================================*/
/*==============================================================*/
always @ (TOR or TOR_D)
begin
Next_TOR_NF = !TOR & TOR_D;
end
/*==============================================================*/
/*==============================================================*/
always @ (TOR_NF)
begin
Next_VRES = TOR_NF;
end
/*==============================================================*/
Vue de la page 11
1 2 ... 7 8 9 10 11 12 13 14 15 16 17 ... 77 78

Commentaires sur ces manuels

Pas de commentaire