多声道气体超声波流量计信号处理探讨 五十一
4.3.2计数器模块
本设计中的计数器模块采用Veri log HDL语言进行设计,设计的计数器计数频率为200MHz,该频率由PLL提供,计数器的位数为24位,计数的结果送给24位的移位寄存器,在由移位寄存器传输给单片机。下面给出由Verilog HDL语言实现的计数器的源代码。
Clk信号是来自FPGA的外部有源晶振50MHz的时钟信号,周期为20ns,计数器工作的时钟频率为经过PLL倍频后产生的200MHz的信号,周期为5ns,Reset信号为来自单片机的复位信号,每次重新计数时使计数器复位清零,为下一次计数做准备。Enable为计数允许信号,即计数开始信号。Cnt end信号是计时结束信号,来自电压比较器,当接收到的超声波信号电压大于电压比较器设置的基准电压是,电压比较器会产生电压比较脉冲,即计时结束信号。Cont为24位的计时结果数据,计时结束后,计数器把计时结果数据传递给数据输出模块,在有数据输出模块传输给单片机。
超声波流量计