摘要:本文給出基于8098單片機的
脈沖測量儀的硬件、軟件及抗干擾措施。實際使用證明該測量儀穩(wěn)定、可靠、精度高、測量速度快。
1、測量原理
8098單片機具有性能十分優(yōu)良的高速輸入輸出通道,HSO0~HSO5為高速輸出通道,能產(chǎn)生輸出寬度與周期均可調(diào)的脈沖波(PWM)。HSI0~HSI3為高速輸入通道,CPU通過它們可以同時接受來自外部的4個脈沖信號,并且隨時記錄脈沖信號中的高、低電平出現(xiàn)的時間,非常適用于對脈沖參數(shù)的檢測。
以高速輸入通道HSI為例,HSI部件有自己的中斷功能,當控制寄存器IOC1,7=1時,F(xiàn)IFO存儲區(qū)裝滿事件后發(fā)出中斷請求,如果IOC1,7=0,則保持寄存器在裝入事件后發(fā)出中斷請求,兩種原因引起的中斷請求可通過查詢狀態(tài)寄存器IOS1而鑒別:如果FIFO存儲區(qū)滿時,IOS1,6=1,反之,IOS1,6=0;如果保持寄存器內(nèi)有值時,IOS1,7=1,反之,IOS1,7=0。同時,HSI0也有自己的中斷,只要HSI0引腳上有事件發(fā)生,便可以提出中斷請求。HSI有方式寄存器HSIMODE、狀態(tài)寄存器HSISTATUS和時間寄存器HSITIME。HSI的方式寄存器HSIMODE可以規(guī)定每個通道的四種工作方式如下:
?、俜绞?:每8次正跳變后即觸發(fā);②方式1:每次正跳變時即觸發(fā);③方式2:每次負跳變時即觸發(fā);④方式3:每次跳變(正或負)時即觸發(fā)。
跳變檢測器按HSIMODE寄存器規(guī)定的工作方式對HSI0~HSI3共4個通道的輸入信號進行監(jiān)視與檢測,并將有關(guān)引腳電平狀態(tài)的檢測結(jié)果送狀態(tài)寄存器HSISTATUS,同時還將有關(guān)事件是否發(fā)生的信息送入FIFO單元。時間寄存器HSITIME的內(nèi)容為事件發(fā)生時記錄下來的定時器T1的當前值。
1.1硬件電路
圖1是由8098單片機組成的脈沖測量儀的電路原理圖。脈沖測量的結(jié)果由8個數(shù)碼管顯示,左邊4個用于脈沖寬度(μs)的顯示,右邊4個用于脈沖周期(μs)的顯示。
脈沖測量儀的輸入端,即單片機的HSI0引腳與脈沖信號發(fā)生器的輸出端(Vout)連接,單片機的Vss與脈沖信號發(fā)生器的GND相連。
1.2軟件設計
整個軟件由兩大部分組成:主程序和HSI位0中斷服務程序。主程序如下:
HSI位0中斷服務程序的框圖如圖2所示。
系統(tǒng)中有一個16位的看門狗(WDT)硬件定時電路,當系統(tǒng)復位時,WDT停止工作,可在軟件中設定WDT清零指令,當軟件運行時即起動WDT,如果軟件有故障時,會造成WDT溢出而復位,從而防止程序跑飛。另外,單片機的電源采用了隔離變壓器和低通濾波網(wǎng)絡。在單片機的復位電路中,為防止毛刺和雜波的干擾,在其RESET引腳與地之間,接入了一個提高抗*力的容值很小的電容。同時,8098單片機為提高供電的可靠性,其Vpd還單獨接到一個+5V的電池上,一旦+Vcc消失時,可以起到掉電保護的作用。
本系統(tǒng)經(jīng)過使用,具有穩(wěn)定、可靠、精度高、測量速度快等特點。在硬件上不需作改變,只是將脈沖發(fā)生器的輸出Vout同時接到單片機的HSI0和HSI1,再運行相應的程序即可對連續(xù)發(fā)生的兩個事件在時間間隔(如窄脈沖)很短時的連續(xù)脈沖使用多通道法進行測量。