-
Notifications
You must be signed in to change notification settings - Fork 201
Capítulo 5: Prescaler de N bits
Ejemplos de este capítulo en github
Los prescalers sirven para ralentizar las señales de reloj. Por la entrada entra una señal de reloj de frecuencia f y por la salida se obtiene una de frecuencia menor. Para un prescaler de N bits, las fórmulas que relacionan las frecuencias y periodos de entrada con los de salida son:
Re-escribir....
Una de las aplicaciones de los contadores es usarlos como prescalers. Sirven para dividir la frecuencia de una señal de reloj, obteniendo otra de menor frecuencia. En este tutorial haremos un prescaler de N bits para hacer parpadear un led a diferentes frecuencias
Antes de implementar un prescaler de N bits, vamos a entender uno de sólo 2 bits
Se incrementa con cada flanco de subida de la señal de reloj clk, que tiene un periodo T. Si observamos las señales de salida de sus dos bits:
vemos que el periodo de la señal d0 es 2 veces T, y la de la señal d1 es 4 veces T. En general, si tenemos un prescaler de N bits, el bit de mayor peso tendrá un periodo de Tp = 2^N * T. Si tomamos los inversos para pasarlo a frecuancias, tenemos que fp = f / 2^N. La frecuencia del bit de mayor peso del prescaler es la frecuencia de su reloj dividida entre 2 elevado al número de bits del prescaler.
El contador de 26 bits del tutorial lo podemos ver como un contador de 4 bits cuyos bits se sacan por los leds y cuya señal de reloj proviene de un prescaler de 22 bits, con un reloj de entrada de 12Mhz
Aplicando la fórmula anterior, la **frecuencia de reloj del contador de 4 bits es **fp = 12Mhz / 2^22 = 2.86 Hz. Se incrementa cada Tp = 1 / fp = 1 / 2.86 = 0.35 segundos.
La frecuencia del contador la podemos variar cambiando el prescaler. En la siguiente tabla se han recopilado los datos de las frecuencias y periodos de prescalers según su número de bits:
Bits | Frecuencia | Periodo |
---|---|---|
1 | 6 MHz | 0.167 usec |
2 | 3 MHz | 0.333 usec |
3 | 1.5 Mhz | 0.666 usec |
4 | 750 Khz | 1.333 usec |
5 | 375 Khz | 2.666 usec |
6 | 187.5 Khz | 5.333 usec |
7 | 93.75 KHz | 10.666 usec |
8 | 46.875 Khz | 21.333 usec |
9 | 23437.5 Hz | 42.666 usec |
10 | 11718.7 Hz | 85.333 usec |
11 | 5859.37 Hz | 170.66 usec |
12 | 2929.68 Hz | 341.33 usec |
13 | 1464.84 Hz | 682.66 usec |
14 | 732.42 Hz | 1.365 ms |
15 | 366.21 Hz | 2.73 ms |
16 | 183.1 Hz | 5.46 ms |
17 | 92.552 Hz | 10.92 ms |
18 | 45.776 Hz | 21.84 ms |
19 | 22.888 Hz | 43.69 ms |
20 | 11.444 Hz | 87.38 ms |
21 | 5.722 Hz | 174.76 ms |
22 | 2.861 Hz | 349.52 ms |
0 You are leaving the privative sector (EN)
1 ¡Hola mundo! (EN) (RU)
2 De un bit a datos (EN)
3 Puerta NOT (EN)
4 Contador de 26 bits (EN)
5 Prescaler de N bits (EN)
6 Múltiples prescalers (EN)
7 Contador de 4 bits con prescaler (EN)
8 Registro de 4 bits (EN)
9 Inicializador (EN)
10 Registro de desplazamiento (EN)
11 Multiplexor de 2 a 1 (EN)
12 Multiplexor de M a 1 (EN)
13 Inicializando registros (EN)
14 Registro de N bits con reset síncrono
15 Divisor de frecuencias
16 Contador de segundos
17 Generando tonos audibles
18 Tocando notas
19 Secuenciando notas
20 Comunicaciones serie asíncronas
21 Baudios y transmisión
22 Reglas de diseño síncrono
23 Controladores y autómatas finitos
24 Unidad de transmisión serie asíncrona
25 Unidad de recepción serie asíncrona
26 Memoria ROM
27 Memoria ROM genérica
28 Memoria RAM
29 Puertas triestado
30 Hacia el microprocesador y más allá