Professional Documents
Culture Documents
jjrondonr@unal.edu.co, lmpeinadoc@unal.edu.co
int_adc
Señal AC volt true_rms data_LCD
Acondicionamien
True RMS Visualización
to de Señal rd_adc
INTEGRAL
aux <= aux * 2
aux(0) <= div(n-1)
div <= div*2
Inicio
count--
No Si
aux<divisor
aux <= 0
rst_div <= '1'
rd_adc <= '0'
div(0) <= '1' div(0) <= '0'
aux_p <= 0 aux <= aux - divisor
No Si
rd_adc <= '0' volt=0 rd_adc <= '0' No
count=0
Si
No No
int_adc='0' int_adc='0' data_div <= div
done <= '1'
Si Si
Figura 8. Diagrama de flujo del divisor
aux <= aux + volt^2 rd_adc <= '1'
auxp <= auxp + 1
rd_adc <= '1'
No
int_adc='1' 3.2.3. Root_complete
No
int_adc='1' Si Finalmente falta calcular la raíz cuadrada, para lo cual se
Si decide implementar un algoritmo de métodos numéricos
Inicio
No
que se basa en la siguiente fórmula:
volt=0
Si aprox
+ aprox
dato_int <= aux dato = aprox ' (2)
periodo <= auxp 2
rst_div <= '0'
true_rms
ROOT_COMPLETE
4. SIMULACIONES
Inicio
4.3. Root_complete
escribir ","
En el instante en el cual la señal de done_div se pone en
alto comienza a trabajar el bloque Root_complete
escribir b
ofreciendo como resultado 179 para el caso de la señal
sinusoidal; si se realiza la raíz cuadrada de 32 731
escribir c
obtenemos un resultado de 179.91; y de 145 para la señal
triangular en vez de 145.58 que es el resultado correcto.
cursor en Home
La explicación del pequeño error presentado en los dos
Figura 11. Diagrama de flujo de la visualización. casos se debe también a que este bloque únicamente puede
dar resultados enteros.
5