文/朱偉
頻率計是獲取未知信號頻率的精密測量裝置,頻率測量電路不斷更新發展,先后出現了TTL數字集成電路,專用大型IC,如ICM7216頻率計芯片,單片機數字頻率測量,FPGA高速處理器頻率測量等,前兩種方案現在已經基本淘汰,FPGA高速處理器適合高頻率高精度信號測量,但該方法實現成本高且編程復雜,在一些小型設備中并不實用。本文提出基于低成本高性能STC8A8K16S4A12 單片機的頻率計的設計方法,高速比較器 TLV3501用于對前級輸入信號進行整形,該器件延遲時間為4.5ns,輸入失調電壓小于6.5mV,小信號比較效果好,能將微弱的交流電壓信號轉換為 TTL電平,可以被單片機端口直接識別。
系統總體框圖如圖1所示。采用TLV3501 軌對軌高速比較器對輸入信號進行比較整形,當被測信號幅值為100 mV~2 V 的正弦波信號時,通過直通開關輸入TLV3501進行比較,信號幅值大于2V時,直通開關斷開,信號經過一個電阻Π型衰減器,衰減20dB后輸入。如幅值2V的輸入信號經過衰減得到200mV 信號,送比較器作比較,輸出效果良好,通過衰減最大可以滿足幅值為20V的輸入信號測量,且不需要再設計其他硬件電路,調試也比較簡單。
系統以STC8A8K16S4A12單片機為控制核心,被測信號變成方波信號后,利用單片機的定時/計數器功能對其進行計數。編寫相應的程序可以使單片機完成計數、運算和測量參數顯示等功能。系統使用直流5V供電,使用高精度溫補晶振作時鐘源,以及16位定時器重載工作方式來進一步提高測量精度。

圖1:頻率計方案設計框圖

圖2:TLV3501比較整形電路原理圖
考慮被測信號頻率和幅值的隨機性,當輸入信號幅值為毫伏量級的微弱信號時,單片機輸入引腳不能直接識別,必須通用整形電路處理,通常由寬帶放大器放大再經高速比較器比較才可以得到脈沖信號,但是引入放大器件在高頻輸入時容易自激,抗干擾能力也差,普通高速比較器也不能直接輸出TTL信號,單片機讀取錯誤率高,故嘗試采用德州儀器公司的高速軌至軌比較器TLV3501 將正弦波轉換為方波,該器件是推挽輸出的比較器,其輸出邏輯電平取決于比較器的電源電壓,并且屬于軌至軌I/O,能輸出標準TTL信號,同時具有低延遲時間4.5 ns,輸入失調電壓小于6.5mV,非常適合低電壓高速信號的比較。如圖2所示。

圖3:Π型衰減電路原理圖
衰減器的主要功能是衰減大幅度輸入信號,與TLV3501的輸入電壓范圍一致。這里采用一簡單Π型衰減器(圖3)將其衰減20dB。經過衰減器輔助設計工具軟件計算,得R3=R5=61.11Ω,R4=247.5Ω,設計時選用E24系列電阻,取值R3=R5=62Ω,R4=240Ω,則實際衰減值為19.68dB。
頻率計的控制核心選用宏晶科技有限公司生產的STC8A8K16S4A12單片機,該單片機是超高速8051內核,比傳統8051快12倍以上,指令代碼兼容傳統8051,具有豐富的外設和片上資源,成本低,應用較為方便。頻率計MCU最小系統原理如圖4所示,MCU的時鐘可以在內部IRC和外部時鐘之間配置,最高工作頻率為33Mhz,這里為了提高頻率測量精度和測量上限,選用32Mhz溫補有源晶振作為外部時鐘源,精度+-1.5ppm,晶振輸出振蕩信號經第9引腳送入單片機。
頻率計的軟件設計采用Keil C語言設計,整體采用功能模塊化設計方法,程序有初始化模塊、定時計數器功能模塊、計算和顯示等模塊組成。系統軟件流程如圖5 所示。上電后,首先初始化MCU,然后將T0設置為計數器模式,并將T1設置為2ms自動重載定時器工作模式。在每次進入定時器中斷處理過程中,取T0的計數值并進行累加,直到計滿160次后,用平均值濾波法求取被測頻率值以減小誤差,最后數據經過調整送LCD顯示。

表1:測量結果及誤差
經過整形處理后的被測頻率信號由單片機的P3.4 腳輸入計數,在定時器中斷處理程序中,對計數器溢出標志TF0進行判斷并進行分支程序處理,可在單個定時周期內實現最大131070個脈沖計數,當T1連續中斷160次后,進行平均值濾波求出被測頻率,這里采用移位算法求平均值來提高單片機運行效率,最后數據經過調整送LCD顯示。
計數并求出被測頻率的主要程序:

實驗測試中采用32 M有源溫補晶振作為系統時鐘,在室溫條件下對信號發生器輸出幅值1V的正弦波信號進行測量,結果如表1。
從實驗結果可以看出,在低頻段1KHz測量時誤差高達60%,這實際上是因測量信號頻率和二倍采樣頻率接近,造成輸入信號脈沖無法正常識別造成的測量錯誤所致,應當舍棄,輸入大于 10Khz進入頻率正常測量范圍。高頻段根據系統時鐘可計算出理論輸入頻率最大值為16M,但因單片機端口的工作速率等限制,在15Mhz輸入信號時,已經出現4.25%的誤差,所以可靠頻率測量上限是14MHz。通過實測,在0.1Mhz-14Mhz范圍內相對誤差小于0.3‰,可見采用本設計方法能達到較高的精度要求。

圖4:STC8A8K16S4A12單片機最小系統原理圖
以STC8A8K16S4A12單片機為核心設計一款數字頻率計,軌至軌高速比較器的使用,降低了信號前端處理電路的設計難度,擴大了輸入信號幅度的范圍,可以測量正弦波信號輸入電壓RMS值的范圍為100mV至20V,頻率范圍為10Khz至14Mhz。測量范圍內的相對誤差小于0.5‰,實際系統相對簡單,成本低,實用。系統中低頻測量精度不高且測量下限偏高,在后續完善的時候可以考慮低頻段將計數器測頻轉變為測周期,利用頻率與周期互為倒數關系換算其頻率值,用于增加低頻信號的測量精度和測量范圍。

圖5:軟件流程設計