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構成八位二進製計數器;後級由單片機內的計數器構成十六位二進製計數器,大大提高了頻率計的測量範圍。
參考文獻
[1]李光第,朱月秀等 . 單片機基礎[M] . 北京航空航天大學出版社,2004
[2]李朝青. 單片機原理及接口技術設計[M] . 北京航空航天大學出版社,2003
[3]趙茂泰. 智能儀器原理及應用[M] . 電子工業出版社,2004
[4]赫建國,劉建新等 . 基於單片機的頻率計設計[J] 西安郵電學院學報,2003
[5]曹柏榮,林士瑋 . 基於單片機的康複儀研究[J] 微計算機信息, 2006,2-1:21-23。
測量方法采用多周期同步測量法,保證了測量精度。
多周期同步測量原理與傳統的頻率和周期的測量原理不同,時鍾信號(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構成八位二進製計數器;後級由單片機內的計數器構成十六位二進製計數器,大大提高了頻率計的測量範圍。
參考文獻
[1]李光第,朱月秀等 . 單片機基礎[M] . 北京航空航天大學出版社,2004
[2]李朝青. 單片機原理及接口技術設計[M] . 北京航空航天大學出版社,2003
[3]趙茂泰. 智能儀器原理及應用[M] . 電子工業出版社,2004
[4]赫建國,劉建新等 . 基於單片機的頻率計設計[J] 西安郵電學院學報,2003
[5]曹柏榮,林士瑋 . 基於單片機的康複儀研究[J] 微計算機信息, 2006,2-1:21-23。