基于FPGA的超声波液体密度传感器的设计
2.3 运算、补偿模块
运算、补偿模块分为计算和补偿两个部分。其作用是根据计数器的计数结果和补偿电路对温度修正后的结果计算液体的密度。本设计中发射和接收探头之间的距离为2cm;声波在两探头之间传递的时间可由计数器的计数结果(cntvalue)得到,因为单位计数的时间是计数频率的倒数,所以有:
(2-1)
运算器结构如图3所示。输入c1和c2是计数值,经过并行乘法器运算后的结果送入并行除法器;因为压缩系数K是常数,但每一种液体的K都不相同,因此整个密度计需要有对液体进行选择的功能,图中的sel模块是实现这一功能的部分,输入信号用来选择待测液体,本设计中的密度计能够测量300种液体,因此选择信号为9位编码的二进制数,选择模块的实质是一个存储了各种液体压缩系数的存储器,根据选择信号寻找待测液体密度的系数,其结果也送入除法器。
图3 运算、补偿模块结构
图中的tem为温度补偿模块。温度对声速的影响很大,在液体中,温度每变化1℃将引起声速约为2%的变化,而在实际环境中,一般会有40℃以上的温度变化范围,由此造成的声速8%以上的变化就可能给实际测量引入8%以上的误差。在利用超声波声速对液体密度进行测量时,为了提高精度,势必就要对温度进行补偿[2]。
2.4 控制和运算电路
控制和运算电路的整体结构如图4所示。其中pulse为方脉冲产生模块;count为高速计数器;operate为运算和补偿模块;
图4 控制、运算整体结构图
评论