超聲波液位計及流量計在測量中時差法的探討二十二
4.1.2求取正切值電路
利用正/余弦積分電路分別獲得分子、分母的積分結果后,兩數值要進行除法運算。由于在利用數字方法進行除法運算時,只能是正整數之間的除法運算,所以在進行除法運算前先將積分結果取絕對值。根據所要求達到的相位精度(在這里取相位分辨率為0.1度,tan(O.1)---o.001745),為了使得進行除法運算后所獲得的商可以同正切表中存放的正切值相比較,所以先將除數放大1000倍,再進行除數和被除數之間的除法運算,這樣使得相除后的商放大1000倍。由于進行除法運算時,位數較長,每進行一次除法運算都需要較長時間,所以為了減少不必要的除法運算,在這里用一個異步脈沖控制除法運算只在積分求和完成之后進行一次。為了保證除法器輸入穩定,在將數據送給除法器之前,先利用鎖存器將積分結果鎖存起來,使其固定不變,由異步脈沖信號控制鎖存器時鐘使其將積分結果輸出。在原理圖中,
coNTRoLc0M模塊為鎖存器提供了進行一次除法運算的時鐘信號,另外該模塊還為逐次比較電路的計數器提供復位信號。
4.1.3逐次比較取得相位差電路
在利用除法器求得正切值后,CONTROLCOM模塊為逐次比較定時計數器提供啟動信號,使COUNTERl0模塊開始計數,該計數器的計數值控制正切表的地址線,使得存放正切值的程序存儲器根據時鐘信號頻率不斷地將正切值向外移,與同一時鐘信號控制的鎖存器中存放的除法器求得的商相比較,當該商值大于上一個正切值,而小于下一個正切值時,由角度輸出模塊的輸入端ageb產生一個下降沿,在模塊內部將控制將計數器COUNTERl0的計數值輸出,該計數值即為相位差角放大10倍后的結果。使用VHDL語言編寫的控制模塊COUNTERl0和角度輸出模塊ANGLE的程序文檔見附錄B。
電磁流量計