一種具有自動(dòng)觸發(fā)功能的前端電壓采集系統(tǒng)及采集方法
【專利摘要】本發(fā)明公開了一種具有自動(dòng)觸發(fā)功能的前端電壓采集系統(tǒng),其包括有:一AD轉(zhuǎn)換模塊,用于采集信號(hào)源電壓并進(jìn)行模數(shù)轉(zhuǎn)換;一微控制器,所述微控制器內(nèi)預(yù)置有標(biāo)志變量表以及多個(gè)觸發(fā)模式,每一觸發(fā)模式對(duì)應(yīng)標(biāo)志變量表中的一組數(shù)值,所述微控制器用于接收控制指令并且當(dāng)所述控制指令滿足標(biāo)志變量表中的一組數(shù)值時(shí)進(jìn)入對(duì)應(yīng)的觸發(fā)模式:將AD轉(zhuǎn)換模塊的輸出信號(hào)中與該觸發(fā)模式相對(duì)應(yīng)的數(shù)據(jù)上傳;一PC機(jī),所述PC機(jī)預(yù)置有虛擬示波器,所述PC機(jī)用于向微控制器發(fā)送控制指令,以及接收微控制器上傳的數(shù)據(jù)并以電壓波形的形式顯示于虛擬示波器。本發(fā)明具有能準(zhǔn)確捕獲目標(biāo)波形、成本低廉、易于實(shí)現(xiàn)、應(yīng)用靈活、體積小巧、能耗低等有益效果。
【專利說明】
一種具有自動(dòng)觸發(fā)功能的前端電壓采集系統(tǒng)及采集方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及電壓采集、處理及顯示系統(tǒng),尤其涉及一種具有自動(dòng)觸發(fā)功能的前端 電壓采集系統(tǒng)及采集方法。
【背景技術(shù)】
[0002] 隨著科學(xué)技術(shù)的進(jìn)步,人們能夠?qū)芏嘈盘?hào)進(jìn)行采集,比如物理信號(hào)和化學(xué)信號(hào) 等,要對(duì)這些信號(hào)進(jìn)行分析和控制的前提是通過傳感器采集后轉(zhuǎn)換為電信號(hào),之后對(duì)其進(jìn) 行平整、放大、濾波,而要將電信號(hào)轉(zhuǎn)換為計(jì)算機(jī)容易處理的數(shù)字信號(hào)的核心環(huán)節(jié)是模擬信 號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換過程,也就是電壓信號(hào)的測量或者采集,自然界的電信號(hào)往往非常復(fù) 雜,有時(shí)候技術(shù)人員需要對(duì)某些特定頻率,特定幅度或者某種變化趨勢的有用信號(hào)或者一 定寬度的窄帶噪聲信號(hào)進(jìn)行提取,那么往往需要借助專業(yè)昂貴的示波器的觸發(fā)控制功能, 而某些場合攜帶麻煩,使用也不方便。
[0003] -般來說,通常采用電壓采集電路來測量電壓信號(hào),如中國專利 CN201380058364.9,CN201380059897.9,CN201110459617.6等,這些專利中的系統(tǒng)或者電路 大部分采用電阻和電容盤,結(jié)合溫度補(bǔ)償和相關(guān)的信號(hào)調(diào)理電路來實(shí)現(xiàn)電壓測量,測量穩(wěn) 定性容易達(dá)到,而且精度可以做到很高,但是適合測量直流電壓信號(hào),不適合動(dòng)態(tài)變化的電 信號(hào)。
[0004] 中國專利CN103901245A中提到了一種示波器,其包括信號(hào)輸入單元、信號(hào)處理單 元、中央處理器及顯示單元,該專利提出了以語音方式輸出測量結(jié)果的方法,以解決現(xiàn)有技 術(shù)中示波器的測量效率以及準(zhǔn)確性不高的問題(比如需要測量人員長期盯著示波器屏幕記 錄跳動(dòng)的數(shù)據(jù)),但是對(duì)于想捕獲某些特征的信號(hào),比如電平超過一定值或者有上升沿趨勢 的信號(hào),在信號(hào)變化毫無規(guī)律而且又快速的情況下,單靠語音難以準(zhǔn)確測量。
[0005] 中國專利CN102621366A中的提到的示波器將波形的顯示移植到了計(jì)算機(jī),大大減 少了成本和體積,但是里面只是將被測信號(hào)的頻率信息、二維坐標(biāo)值和被測信號(hào)的電壓信 息發(fā)送至計(jì)算機(jī),針對(duì)波形顯示,也提到了觸發(fā)電平和觸發(fā)方式,但沒有給出任何的技術(shù)方 案。
[0006] 中國專利CN102147426A提出了一種數(shù)字示波器寬帶觸發(fā)電路,包括選擇開關(guān)、觸 發(fā)耦合選擇模塊以及比較器;因?yàn)橄到y(tǒng)采用的是FPGA信號(hào)處理系統(tǒng),高速的模擬開關(guān)和高 速比較器,器件布局面積大,器件發(fā)熱量高,整機(jī)功耗大;由于噪聲信號(hào)的影響,傳統(tǒng)的模擬 比較器需要加入遲滯電路,以獲得穩(wěn)定的顯示波形,但是限制了模擬觸發(fā)系統(tǒng)的觸發(fā)靈敏 度。因此在低頻的信號(hào)測量中,成本和功耗顯得有些高,應(yīng)用不廣泛。
[0007] 結(jié)合以上所述可以看出,傳統(tǒng)的帶有顯示和控制面板的示波器不僅價(jià)格昂貴,而 且使用過程也不夠靈活,信號(hào)的采集、處理分析、顯示、存儲(chǔ)功能都集成在硬件系統(tǒng)中,成本 高、體積大、功耗也大。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明要解決的技術(shù)問題在于,針對(duì)現(xiàn)有技術(shù)的不足,提供一種能準(zhǔn)確捕獲目標(biāo) 波形、成本低廉、易于實(shí)現(xiàn)、應(yīng)用靈活、體積小巧、能耗低并且具有自動(dòng)觸發(fā)功能的前端電壓 米集系統(tǒng)及米集方法。
[0009] 為解決上述技術(shù)問題,本發(fā)明采用如下技術(shù)方案。
[0010] -種具有自動(dòng)觸發(fā)功能的前端電壓采集系統(tǒng),其包括有:一 AD轉(zhuǎn)換模塊,用于采集 信號(hào)源電壓并進(jìn)行模數(shù)轉(zhuǎn)換;一微控制器,連接于AD轉(zhuǎn)換模塊并接收AD轉(zhuǎn)換模塊輸出的數(shù) 字信號(hào),所述微控制器內(nèi)預(yù)置有標(biāo)志變量表以及多個(gè)觸發(fā)模式,每一觸發(fā)模式對(duì)應(yīng)標(biāo)志變 量表中的一組數(shù)值,所述微控制器用于接收控制指令并且當(dāng)所述控制指令滿足標(biāo)志變量表 中的一組數(shù)值時(shí)進(jìn)入對(duì)應(yīng)的觸發(fā)模式:將AD轉(zhuǎn)換模塊的輸出信號(hào)中與該觸發(fā)模式相對(duì)應(yīng)的 數(shù)據(jù)上傳;一 PC機(jī),連接于微控制器,所述PC機(jī)預(yù)置有虛擬示波器,所述PC機(jī)用于向微控制 器發(fā)送控制指令,以及接收微控制器上傳的數(shù)據(jù)并以電壓波形的形式顯示于虛擬示波器。
[0011] 優(yōu)選地,所述AD轉(zhuǎn)換模塊和微控制器集成于同一線路板上,所述微控制器與PC機(jī) 之間通過串口通信模塊進(jìn)行數(shù)據(jù)交互。
[0012] 優(yōu)選地,所述微控制器包括STC89C52單片機(jī),所述串□通信模塊包括MAX232芯片, 所述AD轉(zhuǎn)換模塊包括ADC0809芯片,所述微控制器的ALE引腳連接于AD轉(zhuǎn)換模塊的時(shí)鐘脈沖 輸入端CLK。
[0013] -種具有自動(dòng)觸發(fā)功能的前端電壓采集方法,該方法基于一前端電壓采集系統(tǒng)實(shí) 現(xiàn),所述前端電壓米集系統(tǒng)包括有一 AD轉(zhuǎn)換模塊、一微控制器及一 PC機(jī),所述AD轉(zhuǎn)換模塊用 于采集信號(hào)源電壓并進(jìn)行模數(shù)轉(zhuǎn)換后輸出至微控制器,所述前端電壓采集方法包括如下步 驟:步驟SI,PC機(jī)向微控制器發(fā)送控制指令;步驟S2,所述微控制器接收控制指令,所述微控 制器內(nèi)預(yù)置有標(biāo)志變量表以及多個(gè)觸發(fā)模式,每一觸發(fā)模式對(duì)應(yīng)標(biāo)志變量表中的一組數(shù) 值,當(dāng)所述控制指令滿足標(biāo)志變量表中的一組數(shù)值時(shí)進(jìn)入對(duì)應(yīng)的觸發(fā)模式:將AD轉(zhuǎn)換模塊 的輸出信號(hào)中與該觸發(fā)模式相對(duì)應(yīng)的數(shù)據(jù)上傳至PC機(jī);步驟S3,所述PC機(jī)預(yù)置有虛擬示波 器,當(dāng)所述PC機(jī)接收到微控制器上傳的數(shù)據(jù)后,將該數(shù)據(jù)以電壓波形的形式顯示于虛擬示 波器。
[0014] 優(yōu)選地,所述微控制器內(nèi)預(yù)置有Get_ad_data()函數(shù),所述Get_ad_data()函數(shù)用 于存儲(chǔ)AD轉(zhuǎn)換模塊輸出的電壓數(shù)據(jù),所述微控制器通過調(diào)用Get_ad_data ()函數(shù)來獲取電 壓數(shù)據(jù)。
[0015]優(yōu)選地,所述微控制器內(nèi)預(yù)置有用于組成標(biāo)志變量表的標(biāo)志變量:Auto、Nor、vol_ levol和Up_edge,所述觸發(fā)模式包括:正常顯示,用于輸出原始波形數(shù)據(jù),標(biāo)志變量為Auto =1,Nor =任意值,vol_levol =任意值,Up_edge =任意值;單次上升沿觸發(fā),用于輸出單次 上升沿波形數(shù)據(jù),標(biāo)志變量為Auto = 0,Nor = 0,vol_levol = 0,Up_edge = 1;單次下降沿觸 發(fā),用于輸出單次下降沿波形數(shù)據(jù),標(biāo)志變量為Auto = 0,Nor = 0,vol_levol = 0,Up_edge = 〇;單次電平觸發(fā),用于輸出單次電平波形數(shù)據(jù),標(biāo)志變量為Auto = 0,Nor = 0,vol_levol = 1,Up_edge = 2;連續(xù)上升沿觸發(fā),用于輸出連續(xù)上升沿波形數(shù)據(jù),標(biāo)志變量為Auto = 0,Nor =1,vol_levol = 0,Up_edge = 1;連續(xù)下降沿觸發(fā),用于輸出連續(xù)下降沿波形數(shù)據(jù),標(biāo)志變 量為Auto = 0,Nor=l,¥〇1_16¥〇1 = 0,你_6(^6 = 0;連續(xù)電平觸發(fā),用于輸出連續(xù)電平波形 數(shù)據(jù),標(biāo)志變量為 Auto = 0,Nor = l,vol_levol = l,Up_edge = 2 〇
[0016]優(yōu)選地,所述微控制器內(nèi)預(yù)置有長度為V0L_NUM的緩存區(qū)數(shù)組V0L_BUF。
[0017] 優(yōu)選地,所述緩沖器數(shù)組V0L_BUF的長度V0L_NUM為185。
[0018] 優(yōu)選地,包括有初始化步驟:步驟S10,微控制器串口初始化,觸發(fā)方式初始化并將 auto置1,清空緩存區(qū);步驟S11,微控制器判斷PC機(jī)是否發(fā)送觸發(fā)命令,若是則執(zhí)行步驟 S11,若否則調(diào)用Get_ad_data()函數(shù),將電壓數(shù)據(jù)逐個(gè)存儲(chǔ)到V0L_BUF緩存區(qū),并且當(dāng)緩存 區(qū)長度達(dá)到V0L_NUM時(shí),通過串口將V0L_BUF緩存區(qū)的電壓數(shù)據(jù)上傳至PC機(jī);步驟S12,若選 中單次觸發(fā)模式,則對(duì)應(yīng)進(jìn)入單次上升沿觸發(fā)模式、單次下降沿觸發(fā)模式或單次電平觸發(fā) 模式,若選中連續(xù)觸發(fā)模式,則對(duì)應(yīng)進(jìn)入連續(xù)上升沿觸發(fā)模式、連續(xù)下降沿觸發(fā)模式或連續(xù) 電平觸發(fā)模式。
[0019] 優(yōu)選地,所述步驟S12中,所述單次觸發(fā)模式包括如下步驟:步驟S120,微控制器預(yù) 置有標(biāo)志位rec_time,若標(biāo)志位rec_time置1,則執(zhí)行步驟S121,若標(biāo)志位rec_time未置1, 則跳過步驟S121而執(zhí)行步驟S122;步驟S121,采集長度為V0L_NUM的電壓信號(hào)到緩存區(qū)V0L_ BUF,之后執(zhí)行步驟S122;步驟S122,進(jìn)入單次上升沿觸發(fā)模式、單次下降沿觸發(fā)模式或單次 電平觸發(fā)模式。
[0020] 本發(fā)明公開的前端電壓采集系統(tǒng)中,AD轉(zhuǎn)換模塊用于將輸入信號(hào)轉(zhuǎn)換為數(shù)字信 號(hào),微控制器用于控制AD轉(zhuǎn)換模塊進(jìn)行模數(shù)轉(zhuǎn)換并對(duì)轉(zhuǎn)換的結(jié)果作進(jìn)一步處理,然后將數(shù) 字信號(hào)發(fā)送到PC機(jī)顯示,同時(shí)也接收PC機(jī)端虛擬示波器界面的命令來完成軟件觸發(fā)功能, 從而捕獲目標(biāo)特性的輸入信號(hào),基于上述特點(diǎn),使得本發(fā)明具有能準(zhǔn)確捕獲目標(biāo)波形、成本 低廉、易于實(shí)現(xiàn)、應(yīng)用靈活、體積小巧、能耗低等有益效果。
【附圖說明】
[0021 ]圖1為本發(fā)明前端電壓采集系統(tǒng)的組成框圖;
[0022] 圖2為本發(fā)明前端電壓采集系統(tǒng)的主程序流程圖;
[0023] 圖3為單次觸發(fā)模式下的工作流程圖;
[0024] 圖4為連續(xù)觸發(fā)模式下的工作流程圖。
【具體實(shí)施方式】
[0025] 下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作更加詳細(xì)的描述。
[0026] 本發(fā)明公開了一種具有自動(dòng)觸發(fā)功能的前端電壓采集系統(tǒng),如圖1所示,其包括 有:
[0027] 一 AD轉(zhuǎn)換模塊1,用于采集信號(hào)源電壓并進(jìn)行模數(shù)轉(zhuǎn)換;
[0028] 一微控制器2,連接于AD轉(zhuǎn)換模塊1并接收AD轉(zhuǎn)換模塊1輸出的數(shù)字信號(hào),所述微控 制器2內(nèi)預(yù)置有標(biāo)志變量表以及多個(gè)觸發(fā)模式,每一觸發(fā)模式對(duì)應(yīng)標(biāo)志變量表中的一組數(shù) 值,所述微控制器2用于接收控制指令并且當(dāng)所述控制指令滿足標(biāo)志變量表中的一組數(shù)值 時(shí)進(jìn)入對(duì)應(yīng)的觸發(fā)模式:將AD轉(zhuǎn)換模塊1的輸出信號(hào)中與該觸發(fā)模式相對(duì)應(yīng)的數(shù)據(jù)上傳;
[0029] - PC機(jī)3,連接于微控制器2,所述PC機(jī)3預(yù)置有虛擬示波器,所述PC機(jī)3用于向微控 制器2發(fā)送控制指令,以及接收微控制器2上傳的數(shù)據(jù)并以電壓波形的形式顯示于虛擬示波 器。
[0030] 本發(fā)明公開的前端電壓采集系統(tǒng)中,AD轉(zhuǎn)換模塊用于將輸入信號(hào)轉(zhuǎn)換為數(shù)字信 號(hào),微控制器用于控制AD轉(zhuǎn)換模塊進(jìn)行模數(shù)轉(zhuǎn)換并對(duì)轉(zhuǎn)換的結(jié)果作進(jìn)一步處理,然后將數(shù) 字信號(hào)發(fā)送到PC機(jī)顯示,同時(shí)也接收PC機(jī)端虛擬示波器界面的命令來完成軟件觸發(fā)功能, 從而捕獲目標(biāo)特性的輸入信號(hào),基于上述特點(diǎn),使得本發(fā)明具有能準(zhǔn)確捕獲目標(biāo)波形、成本 低廉、易于實(shí)現(xiàn)、應(yīng)用靈活、體積小巧、能耗低等有益效果。
[0031]關(guān)于硬件部分,所述AD轉(zhuǎn)換模塊1和微控制器2集成于同一線路板上,所述微控制 器2與PC機(jī)3之間通過串口通信模塊4進(jìn)行數(shù)據(jù)交互。所以,在使用時(shí),只需將前后端通過線 纜連接即可。作為優(yōu)選方式,所述微控制器2包括STC89C52單片機(jī),所述串口通信模塊4包括 MAX232芯片,所述AD轉(zhuǎn)換模塊1包括ADC0809芯片,所述微控制器2的ALE引腳連接于AD轉(zhuǎn)換 模塊1的時(shí)鐘脈沖輸入端CLK。
[0032]具體地,微控制器采用STC89S52芯片,串口通信模塊采用MAX232,穩(wěn)壓模塊采用 78L05CV,信號(hào)源為輸入交流電壓信號(hào),電壓范圍為0-5V,頻率范圍為0-10KHZ。經(jīng)過前端電 壓采集系統(tǒng)處理后送往PC機(jī)虛擬示波器界面進(jìn)行顯示,由于該系統(tǒng)自帶了軟件觸發(fā)功能, 所以可以對(duì)輸入信號(hào)源進(jìn)行觸發(fā)操作,只捕獲目標(biāo)波形。本實(shí)施例中中,采用AD轉(zhuǎn)換模塊對(duì) 輸入的信號(hào)源進(jìn)行模數(shù)轉(zhuǎn)換。AD轉(zhuǎn)換模塊采用ADC0809,即逐次逼近式A/D模數(shù)轉(zhuǎn)換器,分辨 率為8位,有8通道多路開關(guān),本發(fā)明中通過微控制器對(duì)ADC0809的地址輸入線的控制來選擇 通道1作為信號(hào)源的模擬輸入端,本發(fā)明中直接采用微控制器STC89S52的ALE腳作為 ADC0809的時(shí)鐘脈沖輸入端CLK,而ALE腳的輸出端剛好是微控制器外部晶振(頻率為 11.0592MHZ)的1/6,因此ADC0809的轉(zhuǎn)換頻率可以達(dá)到100ys,本實(shí)施例的優(yōu)勢在于不需要 額外的時(shí)鐘源,有效降低了產(chǎn)品成本和硬件的復(fù)雜性。在A/D轉(zhuǎn)換過程中,需要STC89S52通 過控制信號(hào)線來啟動(dòng)ADC0809的轉(zhuǎn)換,當(dāng)ADC0809的A/D轉(zhuǎn)換結(jié)束信號(hào)變成高電平,表示 ADC0809完成了模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換,微控制器STC89S52就會(huì)通過數(shù)據(jù)線讀取轉(zhuǎn)換 結(jié)果,計(jì)算公式為:
[0034]其中,Vol代表轉(zhuǎn)換后的電壓數(shù)字信號(hào),P2代表單片機(jī)P2 口的十進(jìn)制數(shù)值。
[0035] 當(dāng)獲取了轉(zhuǎn)換結(jié)果后,單片機(jī)通過串口通信模塊將其發(fā)送到PC機(jī)虛擬示波器界 面,通過波形曲線的形式顯示信號(hào)源的變化,根據(jù)上述原理,在STC89S52中,將ADC0809的啟 動(dòng)轉(zhuǎn)換、等待轉(zhuǎn)換、讀取數(shù)據(jù)、返回?cái)?shù)據(jù)的過程都封裝在名稱為"Get_ad_data〇"的函數(shù)中, 這樣每次電壓采集都可以通過調(diào)用該函數(shù)獲取轉(zhuǎn)換結(jié)果。
[0036] 在此基礎(chǔ)之上,本發(fā)明還公開了一種具有自動(dòng)觸發(fā)功能的前端電壓采集方法,該 方法基于一前端電壓采集系統(tǒng)實(shí)現(xiàn),所述前端電壓采集系統(tǒng)包括有一 AD轉(zhuǎn)換模塊1、一微控 制器2及一 PC機(jī)3,所述AD轉(zhuǎn)換模塊1用于采集信號(hào)源電壓并進(jìn)行模數(shù)轉(zhuǎn)換后輸出至微控制 器2,所述前端電壓采集方法包括如下步驟:
[0037] 步驟SI,PC機(jī)3向微控制器2發(fā)送控制指令;
[0038] 步驟S2,所述微控制器2接收控制指令,所述微控制器2內(nèi)預(yù)置有標(biāo)志變量表以及 多個(gè)觸發(fā)模式,每一觸發(fā)模式對(duì)應(yīng)標(biāo)志變量表中的一組數(shù)值,當(dāng)所述控制指令滿足標(biāo)志變 量表中的一組數(shù)值時(shí)進(jìn)入對(duì)應(yīng)的觸發(fā)模式:將AD轉(zhuǎn)換模塊1的輸出信號(hào)中與該觸發(fā)模式相 對(duì)應(yīng)的數(shù)據(jù)上傳至PC機(jī)3;
[0039]步驟S3,所述PC機(jī)3預(yù)置有虛擬示波器,當(dāng)所述PC機(jī)3接收到微控制器2上傳的數(shù)據(jù) 后,將該數(shù)據(jù)以電壓波形的形式顯示于虛擬示波器。
[0040] 本實(shí)施例中,所述微控制器2內(nèi)預(yù)置有Get_ad_data〇函數(shù),所述Get_ad_data()函 數(shù)用于存儲(chǔ)AD轉(zhuǎn)換模塊1輸出的電壓數(shù)據(jù),所述微控制器2通過調(diào)用Get_ad_data()函數(shù)來 獲取電壓數(shù)據(jù)。
[0041]作為一種優(yōu)選方式,所述微控制器2內(nèi)預(yù)置有用于組成標(biāo)志變量表的標(biāo)志變量: Auto、Nor、vo 1_1 e vo 1和Up_edge,所述觸發(fā)模式包括:
[0042] 正常顯示,用于輸出原始波形數(shù)據(jù),標(biāo)志變量為Auto = l,Nor =任意值,vol_levol =任意值,Up_edge =任意值;
[0043]單次上升沿觸發(fā),用于輸出單次上升沿波形數(shù)據(jù),標(biāo)志變量為Auto = 0,Nor = 0, vol_levol = 0 ?Up_edge = 1 ;
[0044]單次下降沿觸發(fā),用于輸出單次下降沿波形數(shù)據(jù),標(biāo)志變量為Aut〇 = 0,N〇r = 0, vol_levol = 0 ?Up_edge = 0 ;
[0045] 單次電平觸發(fā),用于輸出單次電平波形數(shù)據(jù),標(biāo)志變量為Auto = 0,Nor = 0, vol_ levol = l,Up-edge = 2;
[0046] 連續(xù)上升沿觸發(fā),用于輸出連續(xù)上升沿波形數(shù)據(jù),標(biāo)志變量為AutozOjorzi, vol_levol = 0 ?Up_edge = 1 ;
[0047] 連續(xù)下降沿觸發(fā),用于輸出連續(xù)下降沿波形數(shù)據(jù),標(biāo)志變量為Aut〇 = 0,N〇r=l, vol_levol = 0 ?Up_edge = 0 ;
[0048] 連續(xù)電平觸發(fā),用于輸出連續(xù)電平波形數(shù)據(jù),標(biāo)志變量為Auto = 0,Nor=l,vol_ levol = l ?Up_edge = 2〇
[0049] 本實(shí)施例中,前端電壓采集系統(tǒng)一共支持6種觸發(fā)方式,分別為單次上升沿觸發(fā)、 單次下降沿觸發(fā)、單次電平觸發(fā)、連續(xù)上升沿觸發(fā)、連續(xù)下降沿觸發(fā)和連續(xù)電平觸發(fā)。在前 端電壓采集的程序中,用不同的標(biāo)志變量的組合來進(jìn)入不同的觸發(fā)模式處理程序,標(biāo)志變 量包括六111:0、1'1〇1'、¥〇1_16¥〇1和1^_6(^6。這些標(biāo)志變量的不同組合代表程序進(jìn)入不同的觸 發(fā)方式或者進(jìn)入正常顯示模式。其中,請(qǐng)參照下表:
[0050] A、只要Auto為1,那么程序就切換到正常顯示模式,正常顯示模式就是對(duì)于原始信 號(hào)源的信號(hào)不加任何過濾的傳遞到PC機(jī)虛擬示波器界面顯示。
[0051 ] B、只要Nor = 0且Auto = 0那么就進(jìn)入單次觸發(fā)功能,至于是單次上升沿,還是單次 下降沿還是單次電平觸發(fā),由v〇l_levol,Up_edge的值的組合確定。
[0052] C、只要Nor=l且Auto = 0那么就進(jìn)入連續(xù)觸發(fā)功能,至于是連續(xù)上升沿,還是連續(xù) 下降沿還是連續(xù)電平觸發(fā),由v〇l_levol,Up_edge的值的組合確定。
[0055]實(shí)際控制過程中,除了正常顯示模式,不同觸發(fā)方式都需要設(shè)置一個(gè)觸發(fā)電平 Trijevel才能夠激活觸發(fā),而觸發(fā)電平和控制觸發(fā)方式的幾個(gè)標(biāo)志變量可以通過PC機(jī)虛 擬示波器界面來控制,微控制器通過串口中斷來實(shí)時(shí)的接收這些標(biāo)志變量和觸發(fā)電平的 值。
[0056]本實(shí)施例中,所述微控制器2內(nèi)預(yù)置有長度為V0L_NUM的緩存區(qū)數(shù)組V0L_BUF,用于 存儲(chǔ)通過ADC0809采集的原始信號(hào)源的電壓信號(hào),所述緩沖器數(shù)組V0L_BUF的長度V0L_NUM 為 185。
[0057]結(jié)合圖1和圖2所示,該前端電壓采集方法包括有初始化步驟:
[0058]步驟S10,微控制器串口初始化,觸發(fā)方式初始化并將auto置1,清空緩存區(qū);
[0059] 步驟S11,微控制器判斷PC機(jī)是否發(fā)送觸發(fā)命令,若是則執(zhí)行步驟S11,若否則調(diào)用 Get_ad_data ()函數(shù),將電壓數(shù)據(jù)逐個(gè)存儲(chǔ)到V0L_BUF緩存區(qū),并且當(dāng)緩存區(qū)長度達(dá)到V0L_ NUM時(shí),通過串口將V0L_BUF緩存區(qū)的電壓數(shù)據(jù)上傳至PC機(jī);
[0060] 步驟S12,若選中單次觸發(fā)模式,則對(duì)應(yīng)進(jìn)入單次上升沿觸發(fā)模式、單次下降沿觸 發(fā)模式或單次電平觸發(fā)模式,若選中連續(xù)觸發(fā)模式,則對(duì)應(yīng)進(jìn)入連續(xù)上升沿觸發(fā)模式、連續(xù) 下降沿觸發(fā)模式或連續(xù)電平觸發(fā)模式。
[0061] 在主程序中,微控制器首先對(duì)串口通信模塊進(jìn)行參數(shù)配置,將Auto置1,讓其工作 在正常顯示方式,然后清空緩存數(shù)組V0L_BUF。在主循環(huán)中,若上位機(jī)(PC機(jī))不發(fā)送觸發(fā)命 令,那么六111:0,1'1〇1',¥〇1_16¥〇1,1^_6(^6這些標(biāo)志變量的值保留初始值不變,那么前端電壓 采集系統(tǒng)就工作在正常顯示模式,信號(hào)源的信號(hào)可以連續(xù)的在PC機(jī)虛擬示波器界面上顯 示,如果上位機(jī)下發(fā)了進(jìn)入某種觸發(fā)方式的命令(通過表中的標(biāo)志變量的不同組合實(shí)現(xiàn)), 那么將會(huì)進(jìn)入相應(yīng)的觸發(fā)模式,或者是單次觸發(fā),或者是連續(xù)觸發(fā)。當(dāng)選中的是單次觸發(fā), 那么程序就跳轉(zhuǎn)到單次觸發(fā)波形顯示控制,從而捕獲滿足一定條件的波形(比如是上升沿, 還是下降沿,還是電平觸發(fā)),從而將目標(biāo)之外的波形隔離掉。
[0062] 請(qǐng)參照?qǐng)D3,所述步驟S12中,所述單次觸發(fā)模式包括如下步驟:
[0063] 步驟S120,微控制器預(yù)置有標(biāo)志位rec_time,若標(biāo)志位rec_time置1,則執(zhí)行步驟 S121,若標(biāo)志位rec_time未置1,則跳過步驟S121而執(zhí)行步驟S122;
[0064] 步驟S121,采集長度為V0L_NUM的電壓信號(hào)到緩存區(qū)V0L_BUF,之后執(zhí)行步驟S122; [0065]步驟S122,進(jìn)入單次上升沿觸發(fā)模式、單次下降沿觸發(fā)模式或單次電平觸發(fā)模式。 [0066] 在主程序中,若選中"單次觸發(fā)功能選中",即對(duì)應(yīng)的標(biāo)志變量的值:Nor = 0且Auto =0,那么程序流程將會(huì)跳轉(zhuǎn)到單次觸發(fā)波形顯示控制,如圖3所示,首先判斷標(biāo)志位rec_ time是否為1,若為1,則將電壓數(shù)據(jù)采集到V0L_BUF緩存數(shù)組,直到長度達(dá)到V0L_NUM為止, 若選中"上升沿觸發(fā)功能選中",則對(duì)應(yīng)的標(biāo)志變量值:Up_edge = 1且vol_levol = 0,若選中 "下降沿觸發(fā)功能選中",則對(duì)應(yīng)的標(biāo)志變量值:Up_edge = 0且vol_levol=0,若選中"電平 觸發(fā)功能選中",則對(duì)應(yīng)的標(biāo)志變量的值:v〇l_levol = l且Up_edge = 2,這些變量的值都是 通過上位機(jī)傳遞而來。
[0067]以選擇"上升沿觸發(fā)模式"為例,則對(duì)V0L_BUF內(nèi)數(shù)據(jù)的處理過程為:
[0068] A、若V0L_BUF的數(shù)據(jù)滿足上升沿觸發(fā)條件,即"V0L_BUF[0] =Tri_level且V0L_BUF [1 ] >V0L_BUF[0 ]且Nor = 0",也就說,當(dāng)前電壓緩存數(shù)組V0L_BUF的第0個(gè)元素V0L_BUF[0 ]和 上位機(jī)設(shè)置的觸發(fā)電平TrUevel相等,電壓緩存數(shù)組的第一個(gè)元素V0L_BUF[ 1 ]比第0個(gè)元 素V0L_BUF[0]大,標(biāo)志變量Nor為0,若都滿足那么就說明捕獲到了滿足單次上升沿觸發(fā)的 一個(gè)波形數(shù)據(jù)。則將該電壓緩存數(shù)組的電壓發(fā)往上位機(jī)進(jìn)行波形顯示。并且將標(biāo)志位rec_ time置0,接下來無論ADC0809采集的電壓信號(hào)如何,因?yàn)闃?biāo)志位rec_time已經(jīng)為0,因此不 會(huì)調(diào)用Get_ad_data〇函數(shù)來更新電壓緩存數(shù)組V0L_BUF的數(shù)據(jù),上位機(jī)一直鎖定并顯示滿 足單次上升沿觸發(fā)的一段波形。
[0069] B、若不滿足條件 "V0L_BUF [0 ] = Tri_leve 1 且V0L_BUF[ 1 ] >V0L_BUF[0 ]且Nor = 0", 則說明還沒捕獲到滿足單次上升沿觸發(fā)條件的波形,此時(shí)將V0L_BUF數(shù)組的元素都設(shè)置為 0x00,并將其發(fā)往上位機(jī),這樣上位機(jī)就起到不顯示波形的效果。也就是捕獲不到波形,則 波形界面不顯示任何波形。
[0070] 以選擇"下降沿觸發(fā)模式"為例,那么波形控制跟上升沿的類似,只是滿足下降沿 觸發(fā)功能的條件變?yōu)椋?br>[0071 ] V〇L_BUF[0]= Tri_leve1&&V0L_BUF[1]>V0L_BUF[0]且Nor = 0 〇
[0072] 以選擇"電平觸發(fā)模式"為例,波形控制與上升沿和下降沿類似,只是滿足電平觸 發(fā)的條件變?yōu)?V0L_BUF[0]=Tri_le Vel,也就是無論是上升沿還是下降沿,只要V0L_BUF的 第〇個(gè)元素等于觸發(fā)電平TrUevel就發(fā)生觸發(fā)。
[0073] 綜上所述,單次觸發(fā)的主旨是:只捕獲并鎖定滿足條件(上升、下降、電平)的單次 波形,也就是說只觸發(fā)一次,即使后續(xù)出現(xiàn)符合滿足條件的波形,也不會(huì)再觸發(fā)顯示,直至 通過上位機(jī)命令退出單次觸發(fā)模式,才可以通過虛擬示波器界面恢復(fù)顯示信號(hào)源的正常的 或者其他信號(hào)波形,單次觸發(fā)方式下由于波形顯示數(shù)據(jù)不會(huì)更新,所以能極其方便地鎖定 某個(gè)波形并對(duì)其進(jìn)行波形的分析。
[0074] 類似地,在"連續(xù)觸發(fā)模式"下,請(qǐng)參照?qǐng)D4,原理跟單次觸發(fā)模式類似,只是允許捕 獲多個(gè)滿足條件的波形(上升、下降、電平),連續(xù)觸發(fā)的主旨是:支持多個(gè)滿足條件的波形 觸發(fā),在下一個(gè)滿足條件的波形到來之前,波形顯示保留著上一個(gè)波形數(shù)據(jù),而當(dāng)下一個(gè)滿 足條件的波形到來之后,波形即刻被更新顯示。
[0075] 本發(fā)明公開的具有自動(dòng)觸發(fā)功能的前端電壓采集系統(tǒng)及采集方法,基于軟件控制 的電壓信號(hào)觸發(fā)模式,結(jié)合裝載于PC機(jī)的虛擬示波器界面,可以方便、靈活的對(duì)目標(biāo)電壓信 號(hào)進(jìn)行實(shí)時(shí)捕獲。解決了一般數(shù)據(jù)采集系統(tǒng)無法進(jìn)行有針對(duì)性隔離觀察的缺陷。本發(fā)明在 某些特定傳感信號(hào)測量和分析的環(huán)境,比如工業(yè)控制、物理化學(xué)中頻率不是很高的信號(hào)采 集(如濃度,位移,距離,壓力,光照等)和生物醫(yī)學(xué)信號(hào)中體征參數(shù)(如血壓、血樣、心率等) 的測量場合,本發(fā)明具有一定的優(yōu)勢和應(yīng)用價(jià)值,適合在本領(lǐng)域內(nèi)推廣應(yīng)用,并具有較好的 市場前景。
[0076] 以上所述只是本發(fā)明較佳的實(shí)施例,并不用于限制本發(fā)明,凡在本發(fā)明的技術(shù)范 圍內(nèi)所做的修改、等同替換或者改進(jìn)等,均應(yīng)包含在本發(fā)明所保護(hù)的范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 一種具有自動(dòng)觸發(fā)功能的前端電壓采集系統(tǒng),其特征在于,包括有: 一 AD轉(zhuǎn)換模塊,用于采集信號(hào)源電壓并進(jìn)行模數(shù)轉(zhuǎn)換; 一微控制器,連接于AD轉(zhuǎn)換模塊并接收AD轉(zhuǎn)換模塊輸出的數(shù)字信號(hào),所述微控制器內(nèi) 預(yù)置有標(biāo)志變量表以及多個(gè)觸發(fā)模式,每一觸發(fā)模式對(duì)應(yīng)標(biāo)志變量表中的一組數(shù)值,所述 微控制器用于接收控制指令并且當(dāng)所述控制指令滿足標(biāo)志變量表中的一組數(shù)值時(shí)進(jìn)入對(duì) 應(yīng)的觸發(fā)模式:將AD轉(zhuǎn)換模塊的輸出信號(hào)中與該觸發(fā)模式相對(duì)應(yīng)的數(shù)據(jù)上傳; 一 PC機(jī),連接于微控制器,所述PC機(jī)預(yù)置有虛擬示波器,所述PC機(jī)用于向微控制器發(fā)送 控制指令,以及接收微控制器上傳的數(shù)據(jù)并以電壓波形的形式顯示于虛擬示波器。2. 如權(quán)利要求1所述的具有自動(dòng)觸發(fā)功能的前端電壓采集系統(tǒng),其特征在于,所述ADR 換模塊和微控制器集成于同一線路板上,所述微控制器與PC機(jī)之間通過串口通信模塊進(jìn)行 數(shù)據(jù)交互。3. 如權(quán)利要求1所述的具有自動(dòng)觸發(fā)功能的前端電壓采集系統(tǒng),其特征在于,所述微控 制器包括STC89C52單片機(jī),所述串口通信模塊包括MAX232芯片,所述AD轉(zhuǎn)換模塊包括 ADC0809芯片,所述微控制器的ALE引腳連接于AD轉(zhuǎn)換模塊的時(shí)鐘脈沖輸入端CLK。4. 一種具有自動(dòng)觸發(fā)功能的前端電壓采集方法,其特征在于,該方法基于一前端電壓 采集系統(tǒng)實(shí)現(xiàn),所述前端電壓采集系統(tǒng)包括有一 AD轉(zhuǎn)換模塊、一微控制器及一 PC機(jī),所述AD 轉(zhuǎn)換模塊用于采集信號(hào)源電壓并進(jìn)行模數(shù)轉(zhuǎn)換后輸出至微控制器,所述前端電壓采集方法 包括如下步驟: 步驟SI,PC機(jī)向微控制器發(fā)送控制指令; 步驟S2,所述微控制器接收控制指令,所述微控制器內(nèi)預(yù)置有標(biāo)志變量表以及多個(gè)觸 發(fā)模式,每一觸發(fā)模式對(duì)應(yīng)標(biāo)志變量表中的一組數(shù)值,當(dāng)所述控制指令滿足標(biāo)志變量表中 的一組數(shù)值時(shí)進(jìn)入對(duì)應(yīng)的觸發(fā)模式:將AD轉(zhuǎn)換模塊的輸出信號(hào)中與該觸發(fā)模式相對(duì)應(yīng)的數(shù) 據(jù)上傳至PC機(jī); 步驟S3,所述PC機(jī)預(yù)置有虛擬示波器,當(dāng)所述PC機(jī)接收到微控制器上傳的數(shù)據(jù)后,將該 數(shù)據(jù)以電壓波形的形式顯示于虛擬示波器。5. 如權(quán)利要求4所述的具有自動(dòng)觸發(fā)功能的前端電壓采集方法,其特征在于,所述微控 制器內(nèi)預(yù)置有Get_ad_data()函數(shù),所述Get_ad_data()函數(shù)用于存儲(chǔ)AD轉(zhuǎn)換模塊輸出的電 壓數(shù)據(jù),所述微控制器通過調(diào)用Get_ad_data〇函數(shù)來獲取電壓數(shù)據(jù)。6. 如權(quán)利要求4所述的具有自動(dòng)觸發(fā)功能的前端電壓采集方法,其特征在于,所述微控 制器內(nèi)預(yù)置有用于組成標(biāo)志變量表的標(biāo)志變量:六111:0、1'1〇1'、¥〇1_16¥〇1和1^_6(^6,所述觸發(fā) 模式包括: 正常顯示,用于輸出原始波形數(shù)據(jù),標(biāo)志變量為Auto= 1,Nor =任意值,vol_levol =任 意值,Up_edge =任意值; 單次上升沿觸發(fā),用于輸出單次上升沿波形數(shù)據(jù),標(biāo)志變量為Auto = 0,Nor = 0,vol_ levol = 0,Up_edge = l; 單次下降沿觸發(fā),用于輸出單次下降沿波形數(shù)據(jù),標(biāo)志變量為Aut〇 = 0,N〇r = 0,V〇l_ 1evo1 = 0,Up_edge = 0; 單次電平觸發(fā),用于輸出單次電平波形數(shù)據(jù),標(biāo)志變量為Auto = 0,Nor = 0,vol_levol =1,Up_edge = 2; 連續(xù)上升沿觸發(fā),用于輸出連續(xù)上升沿波形數(shù)據(jù),標(biāo)志變量為Aut〇 = 0,N〇r=l,V〇l_ levol = 0,Up_edge = l; 連續(xù)下降沿觸發(fā),用于輸出連續(xù)下降沿波形數(shù)據(jù),標(biāo)志變量為Aut〇 = 0,N〇r=l,V〇l_ levol = 0,Up_edge = 0; 連續(xù)電平觸發(fā),用于輸出連續(xù)電平波形數(shù)據(jù),標(biāo)志變量為六111:〇 = 0,1'1(^=1,¥〇1_16¥〇1 =1,Up_edge = 2〇7. 如權(quán)利要求6所述的具有自動(dòng)觸發(fā)功能的前端電壓采集方法,其特征在于,所述微控 制器內(nèi)預(yù)置有長度為V0L_NUM的緩存區(qū)數(shù)組V0L_BUF。8. 如權(quán)利要求7所述的具有自動(dòng)觸發(fā)功能的前端電壓采集方法,其特征在于,所述緩沖 器數(shù)組V0L_BUF的長度V0L_NUM為185。9. 如權(quán)利要求7所述的具有自動(dòng)觸發(fā)功能的前端電壓采集方法,其特征在于,包括有初 始化步驟: 步驟S10,微控制器串口初始化,觸發(fā)方式初始化并將auto置1,清空緩存區(qū); 步驟S11,微控制器判斷PC機(jī)是否發(fā)送觸發(fā)命令,若是則執(zhí)行步驟S11,若否則調(diào)用Get_ ad_data()函數(shù),將電壓數(shù)據(jù)逐個(gè)存儲(chǔ)到V0L_BUF緩存區(qū),并且當(dāng)緩存區(qū)長度達(dá)到V0L_NUM 時(shí),通過串口將V0L_BUF緩存區(qū)的電壓數(shù)據(jù)上傳至PC機(jī); 步驟S12,若選中單次觸發(fā)模式,則對(duì)應(yīng)進(jìn)入單次上升沿觸發(fā)模式、單次下降沿觸發(fā)模 式或單次電平觸發(fā)模式,若選中連續(xù)觸發(fā)模式,則對(duì)應(yīng)進(jìn)入連續(xù)上升沿觸發(fā)模式、連續(xù)下降 沿觸發(fā)模式或連續(xù)電平觸發(fā)模式。10. 如權(quán)利要求9所述的具有自動(dòng)觸發(fā)功能的前端電壓采集方法,其特征在于,所述步 驟S12中,所述單次觸發(fā)模式包括如下步驟: 步驟S120,微控制器預(yù)置有標(biāo)志位rec_time,若標(biāo)志位rec_time置1,則執(zhí)行步驟S121, 若標(biāo)志位rec_time未置1,則跳過步驟S121而執(zhí)行步驟S122; 步驟S121,采集長度為V0L_NUM的電壓信號(hào)到緩存區(qū)V0L_BUF,之后執(zhí)行步驟S122; 步驟S122,進(jìn)入單次上升沿觸發(fā)模式、單次下降沿觸發(fā)模式或單次電平觸發(fā)模式。
【文檔編號(hào)】G01R19/25GK105866523SQ201610387949
【公開日】2016年8月17日
【申請(qǐng)日】2016年6月1日
【發(fā)明人】寧運(yùn)琨, 趙國如, 李慧奇
【申請(qǐng)人】深圳先進(jìn)技術(shù)研究院