7: Práctica de Módulos Contadores y Aplicaciones de Circuitos
time[0] := (phsa - 624) #> 0
time[1] := (phsb - 624) #> 0
Con todos los retrasos en el código no hay una diferencia apreciable. Se hace más evidente cuando se
comenta el código que ocasiona los retrasos (excepto el
carga). También ayuda declarar una variable para contar la repeticiones del ciclo repeat y mostrar su
valor entre cada medición. Con este arreglo se podrá observar cuantas mediciones se toman por
segundo.
Inténtelo.
Conversión D/A – Controlando luminosidad del LED con Modos DUTY
Hay dos opciones de modos DUTY, terminación sencilla y diferencial. Un modulo contador en
terminación sencilla permite controlar una señal que puede ser usada por conversión digital a análoga
con el registro FRQ. Aun si la señal cambia rápidamente entre alto y bajo el tiempo promedio que
esta alto (duty) es determinada por la proporción del registro FRQ a 2
pin high time
duty = ───────────── = ─────────────
time
Para conversión D/A vamos a decir que el programa tiene que enviar una señal 0.825 V. Eso es 25%
de 3.3 V por lo que se requiere 25% de una señal "duty". Calcular el valor a almacenar en el registro
FRQ es simple. Solo coloque duty = 0.25 y resuelto para FRQ.
FRQ
0.25 = ─────────────
4_294_967_296
También puede usar la Eq 1 para calcular que señal de tarea está enviando un objeto. Vamos a decir
que el valor 536,870,912 es almacenado en un registro de modulo contador y su registro CTR lo ha
configurado a modo DUTY de terminación sencilla.
536_870_912
duty = ───────────── = 0.125
4_294_967_296
En una escala de 3.3 V eso resultaría 0.4125 V. Nuevamente el gran detalle de los contadores es que
pueden hacer sus tareas sin atar un cog. Así el cog gestara libre para continuar ejecutando comandos
mientras el contador cuida de mantener la señal de tarea de la conversión D/A.
Como trabaja el modo DUTY de terminación sencilla
Cada vez que FRQ se suma a PHS el sumador de fase del modulo contador (que suma FRQ a PHS
con cada ciclo reloj) activa o limpia una bandera de acarreo. Esta operación de acarreo es similar a la
operación de acarreo de la suma decimal. Vamos a decir que está permitido 3 posiciones decimales y
se intenta agregar dos valores que suman más de 999. Algún valor normalmente no sería acarreado de
los cientos a los miles. La versión binaria de la suma con acarreo se aplica cuando el registro FQR se
waitcnt
FRQ
4_294_967_296
→
FRQ = 1_073_741_824
Kit Educativo de Practicas Propeller: Fundamentos · Página 133
que da a los capacitores el tiempo de
32
.
Eq. 1