当前位置:首页 > 基于VHDL语言设计数字频率计
开始初始化设置测量参数选择液晶显示第一行液晶显示第二行 图5 主程序流程图
系统初始化后,开始测量参数的选择。测量参数选择子程序中包含键盘扫描子程序以及如何测量参数和对参数的处理等,其流程图见图6。然后将运算的频率值或周期值或脉宽值或占空比值送给液晶进行显示。程序不断在测量参数的选择以及显示之间循环,这样可以做到实时显示各参数的值。
占空比子程序是在脉宽子程序和周期子程序的基础上,分别得到被测信号的脉宽M和周期T,根据式(1)占空比计算公式即可计算占空比。
Z=M/T*100% (1)
图6 测量参数的选择
②显示子程序的设计
显示子程序流程图,如图7所示:
入口字符串长度设为0Y&=0x1X&=0xFN字符串尾?YNX<=0xFY显示单个字符字符串长度加一X++退出
图7 显示子程序流程图
③键盘扫描子程序的设计
键盘扫描子程序流程图,如图8所示,逐一判断各按键有没按下,若某一按键按下则相应的置state为某值。
入口测频率键按下NYState=1State=2Y测周期键按下N测脉宽键按下NYState=3State=4Y测占空比键按下N复位键按下NYState=5返回 图8 键盘扫描子程序流程图
④测频、测周期、测脉宽及测占空比子程序的设计
如图9为测频率子程序的流程图
入口开外部中断0并设定其工作方式为下降沿触发给FPGA测频率时所需的信号处理运算FPGA的计数值返回 图9测频子程序流程图
如图10为测周期子程序的流程图
入口调测频率子函数处理运算被测信号的周期返回 图10 测周期子程序流程图
如图11为测脉宽子程序的流程图
入口开外部中断1并设定其工作方式为下降沿触发给FPGA测脉宽时所需的信号处理运算FPGA的计数值返回 图11 测脉宽子程序流程图
如图12测占空比子程序的流程图
入口调用测周期子函数调用测脉宽子函数处理运算数据返回 图12 测占空比子程序流程图
4、系统外围电路的设计 ①输入信号整形模块
本系统不仅要测方波信号的频率还需测量正弦波信号的频率,FPGA测量单元的输入信号必须是脉冲信号,当输入信号是正弦波时必须经过处理送给FPGA,这样才能测量出正弦波的各参数值。所以在信号的输入端进行限幅、整形处理,如图13所示,信号首先经过限幅,防止输入信号幅度过大而损坏FPGA,然后经过LF353构成的跟随器使信号能与后级电路阻抗匹配,然后经过LM393电压比较器,让正弦波转换成同频率的方波信号,整形级的输出端还需加一跟随器进行阻抗匹配,而且其输出端还需进行上拉,使其输出的方波有一定的幅度。[4] +5VD1R2470DIODE38U1:A124R4U2:AR1100410kU1:B57682138R310MD2DIODELF353LM393--5VR510k4LF353 图13 输入信号整形模块
②电源电路的设计
共分享92篇相关文档