摘要:該系統以8051單片機為核心,應用單片機的運算和控制功能并采用LED顯示器實時地將所測頻率顯示出來,既滿足測量的精度要求, 又具有很好的性能價格比。
關鍵詞:單片機 同步 頻率測量
1 系統測量原理
測量方法采用多周期同步測量法,保證了測量精度。
多周期同步測量原理與傳統的頻率和周期的測量原理不同,時鐘信號(f0)經同步電路作用后與被測信號同步。主門 與主門 在時間T 內被同時打開,于是計數器 和計數器 便分別對被測信號和時鐘信號的周期數進行累計。在T內,事件計數器的累加數為Na;時間計數器的累加數為Nb。再由單片機運算得出被測頻率為(Na/Nb)×f。由于D觸發器的同步作用,計數器 所記錄的Na值已不存正負1誤差的影響。但由于時鐘信號與閘門的開和關無確定的相位關系,計數器 所記錄的Nb值仍存在正負1誤差的影響,由于時鐘頻率很高,正負1誤差影響小,所以測量精度與被測信號頻率無關,且在全頻段的測量精度是均衡的。
圖1 系統測量原理框圖
2 系統硬件設計
在頻率計設計中,硬件電路采用了8051單片機、雙四位二進制計數器74LS393、緩存器74LS244、8155帶RAM和定時器/計數器的可編程并行接口芯片、16K程序存儲器擴展芯片2716、十倍分頻器74s196、反向器74ls14、反向驅動器7406、7407等。所采用的芯片技術成熟,性能可靠,性價比較高。
系統硬件主要由四部分組成:通道部分、計數器部分、單片機控制和接口部分、顯示部分。
2.1通道部分
本頻率計的輸入通道由兩部分組成,第一部分就是常見的信號預處理電路,包括對被測信號的放大、整形、濾波等等。第一級由開關三極管構成的零偏置放大器,三極管采用開關三極管以保證放大器具有良好的高頻響應。第二級是由74LS14施密特觸發器構成的電路。施密特觸發器一方面起到整形作用,用于把放大器生成的單相脈沖信號轉換成與TTl/CMOS兼容的方波信號。另一方面其滯后帶寬可以有效抑制信號中的干擾。第三級是由74ls196構成的分頻器電路。本機設計測頻范圍20HZ~100MHZ,當被測頻率大于10 MHZ時,需經分頻電路分頻后再送入計數器電路。第四級是由4N25構成的光電隔離電路,用于把輸入的電信號轉化為光信號進行傳輸,從而把測量電路與外界干擾隔開,能有效地保證測量精度。
第二部分是同步門電路,它的作用是保證被測信號和頻率基準信號同時進入測量電路。其構成主要包括由與門組成的主門I和主門II,以及由D觸發器構成的同步門控制電路,主門I控制被測信號fx的通過,主門II控制時鐘信號f的通過。
2.2計數器部分
計數器包括時間計數器和事件計數器兩部分,它們是完全相同的計數電路。分別由前后兩級組成,前級電路由高速的TTL計數器74LS393構成八位二進制計數器;后級由單片機內的計數器構成十六位二進制計數器。計數前,先由P1.3發計數器清零信號,計數后通過74LS244 緩沖器將測量結果讀入內存。這樣設計既充分利用了硬件資源,又大大提高了測量頻率范圍。
圖2 計數器電路圖
2.3 單片機控制和接口部分
8051單片機的任務是進行整機測量過程的控制、故障的自動檢測以及測量結果的處理與顯示等。
P1口與P2 口被用于施加各種控制信號,其中:P1.0 作為預置閘門時間的控制線;P1.1作為同部門控制電路的復位信號線;P1.2用于查詢閘門時間的狀態線;P1.3作為計數器復位信號線。
單片機內部有兩個16位二進制定時/計數器,用做兩個主計數器的一部分,并通過T0,T1分別與外部事件計數器和時間計數器的進位端相接。外部的時間計數器和事件計數器的測量結果分別通過擴展輸入口與P0口相連。
8155作為單片機的擴展I/O口,主要用來與顯示電路接口, 8155內部的14 位計數器被用來作為本機的閘門時間計數器,定時器的輸入信號取自單片機ALE端;定時器的輸出與單片機的INT1相連,作為中斷信號。
2.4 顯示部分
采用8 位LED數碼管進行顯示。這是一個較為典型的采用8155并行口組成的顯示電路。八位LED顯示采用了動態顯示軟件譯碼工作方式。LED顯示器選用共陰極,段碼由8155PA口提供,位選碼8155PB口提供。其中7406反向驅動器做作為位選碼驅動器,這是因為8155PB口正邏輯輸出的位控與共陰極LED要求的低電平點亮正好相反,即當PB口位控線輸出高電平時,點亮一位LED。7407是同相驅動器,作段選碼驅動器。
3 系統軟件設計
軟件采用匯編語言編寫,應用模塊化設計方法,主要包括中斷監控服務程序,數值比較子程序,數據處理子程序,十進制轉換子程序,LED顯示子程序。主流程圖如下:
圖3 程序主流程圖
程序編寫較難的部分是數據處理部分,它涉及到多字節的乘除法。因為乘數和被乘數各為三字節,因此需要進行九次乘法運算,得到九個部分積。我們知道MUL AB 指令,把累加器A和寄存器B中的兩個無符號8位數相乘,所得的16位乘積結果,低位字節放在A中,高位字節放在B中。假定部分積的高字節以“H ”為標志,部分積的低字節以“L”為標志,還要對相加產生的進位進行處理。
下圖為乘法的具體實現過程的示意圖:
圖4 乘法運算示意圖
乘法運算程序的關鍵段如下:
MOV A,R6
MOV B,R3
MUL AB ;得第一次部分積
MOV O8H,A ;得乘積的第六字節
MOV 09H,B ;R3R6H
MOV A,R6
MOV B,R2
MUL AB ;得第二次部分積
ADD A,O9H ;R3R6H+R2R6L
MOV 0BH,A
CLR A
ADDC A,B ;R2R6H+C
MOV OAH,A
MOV A,R6
MOV B,R1
MUL AB ;得第三次部分積
ADD A,0AH ;R2R6H+R1R6L
MOV OCH,A
CLR A
ADDC A,B ;R1R6H+C
4 結束語
該系統結構簡單,與傳統的電路相比,該系統處理速度快、穩定性高,采用多周期同步測量法實現全頻段的頻率精確測量,具有較高的性價比。
本文的創新觀點是計數器和定時器分別由前后兩級組成,前級電路由高速的TTL計數器74LS393構成八位二進制計數器;后級由單片機內的計數器構成十六位二進制計數器,大大提高了頻率計的測量范圍。