《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM的微伏信號在線監測系統設計
基于ARM的微伏信號在線監測系統設計
EEworld
摘要: 在線監測系統中,待測信號幅值在50μV左右,而背景噪聲幅值在50mV以上,用一般的采集和測量系統無法準確檢測該信號。針對被背景噪聲覆蓋的微小信號,采用濾波降噪和差分放大手段,提高信噪比,保證待測信號能被準確采集;采用基于ARM核的32位微處理芯片S3C44B0X和基于μClinux操作系統的嵌入式圖形用戶界面MicroWindows,完成實時顯示測量結果和實現故障自動報警,同時具有體積小、功耗低、操作靈活的特點,為實現微伏信號在線監測功能提供了一種良好的解決方案。
Abstract:
Key words :

1 引言

在線監測系統中,待測信號幅值在50μV左右,而背景噪聲幅值在50mV以上,用一般的采集和測量系統無法準確檢測該信號。針對被背景噪聲覆蓋的微小信號,采用濾波降噪和差分放大手段,提高信噪比,保證待測信號能被準確采集;采用基于ARM" title="ARM">ARM核的32位微處理芯片S3C44B0X和基于μClinux操作系統的嵌入式圖形用戶界面" title="圖形用戶界面">圖形用戶界面MicroWindows,完成實時顯示測量結果和實現故障自動報警,同時具有體積小、功耗低、操作靈活的特點,為實現微伏信號在線監測功能提供了一種良好的解決方案。

2 系統硬件設計

整個微伏信號在線監測系統硬件主要分為兩個部分,即前置放大電路和基于ARM的數據采集與顯示電路。

2.1 前置放大電路

待測信號幅值為50μV,而背景噪聲幅值在50mV以上,SNR(信噪比值)在1/1000以下,所以必須根據信號特點進行降低噪聲功率,提高信噪比。通過實驗,發現信號與噪聲頻譜不重疊,噪聲頻率主要集中在高頻段。利用濾波器的頻率選擇特性,可設置低通濾波器,其通帶范圍能夠覆蓋信號的頻譜,使信號通過濾波器衰減很少,同時噪聲頻率處于通帶之外,通過濾波器后功率大幅度衰減,因此信噪比得以提高。

本設計采用二階有源低通濾波器,經實驗對比,取二階有源低通濾波器的截止頻率fH為200Hz,品質因數Q為0.707,可使SNR達10以上,SNIR(信噪改善比)達10000以上。

在實際應用中發現,待測信號和監測系統之間的參考零電勢點之間存在電勢差,由于兩者由同一電源供電,因而形成“地環流”。電流從電源地線流入被測信號的接地點,然后通過信號地線流入監測系統,又通過監測系統的接地點回到電源地線,導致在線監測的過程中地線上出現很高的共模干擾噪聲。在這樣的工作環境下,使用普通的低溫漂高精度運算放大電路,不能準確放大和測量待測信號。因此本設計采用高增益、高輸入阻抗和高共模抑制比的三運放差分放大電路,消除共模干擾,如圖2所示。

 

圖2 三運放差分放大電路

集成運放A1和A2都接成同相輸入、比例運算電路形式,這樣電路輸入阻抗很高。電路結構采用嚴格地對稱形式,以使漂移、噪聲、失調電壓及失調電流等互相抵消。同時采用高精密電阻,以提高測量精度。將濾波后的信號線接入Vi+端口,而把信號地線接入Vi-端口,經過三運放差分放大電路輸出電壓為:

 

經實驗對比,本設計在強干擾環境下,對微伏信號有較好的放大效果。經過前置放大后的信號,有效地消除了干擾和噪聲,具有良好的線性關系,實驗結果如圖3所示。經過差動放大" title="差動放大">差動放大后的信號,再經過普通運算放大器進行電壓平移和放大,即可成為符合A/D采集要求的0~2.5V電壓單極性信號。

 

圖3 前置放大電路的線性關系

2.2 數據采集與顯示電路

本設計中數據采集和顯示電路的核心器件采用32位ARM7內核嵌入式處理器S3C44B0X。S3C44B0X內置部件有8通道10位ADC(模數轉換器)、8KB cache(高速緩存器)、內置SDRAM(同步動態存儲器)、LCD控制器、2通道UART(通用異步收發器)、4通道DMA(直接存儲器存取)、71個通用I/O端口等。

本設計中使用S3C44B0X完成A/D數據采集、LCD控制液晶顯示器、鍵盤輸入和故障報警四個主要功能。經前置放大電路處理完成之后的0~2.5V電壓電極性信號,由S3C44B0X的10位精度片上A/D采集到CPU中。S3C44B0自帶LCD控制器,利用DMA控制器從系統RAM中的顯示緩沖區讀取顯示數據,提供給LCD控制器刷新液晶顯示屏。鍵盤和報警電路利用S3C44B0通用I/O端口進行控制。

3 系統軟件設計

本系統軟件設計基于μClinux操作系統和MicroWindows圖形用戶界面。μClinux操作系統是從Linux內核派生而來,在標準的Linux基礎上進行了適當的裁剪和優化,具有易配置、體積小、易移植的優點。用MicroWindows圖形用戶界面實現類似桌面電腦的視窗效果,易于實現人機交互。

系統軟件包括操作系統自帶的設備驅動程序、操作系統運行環境、根據用戶需要自定義的設備驅動程序、封裝了底層驅動的中間層接口程序、高級應用程序幾個部分。在本系統軟件設計中,分別在驅動層和高級應用層程序中實現,其中高級應用層程序框圖如圖4所示。

 

圖4 高級應用程序框圖

高級應用程序的設計以控制算法為核心,多個任務為控制服務。系統內核定時將測得的數據通過回調函數傳遞給高級應用程序。高級應用程序為每個被測通道分配一個數據緩沖區,數據緩沖區是個含有10個無符號整型數的數組,GCC編譯器默認無符號整型數長度為16位。測量電路中ADC為10位模數轉換器,緩沖區中的每個單元的低10位存儲數值,最高位為1表示該數據無效或者已經被處理,為0表示該數據有效并等待處理,第10~14位表示數據編號,用以區分不同通道的數據。內核驅動程序把測量數據按格式準備好后,回調函數把數據傳送給高級應用程序。應用程序只要使用“與”、“或”操作就可以提取數據類型、實際數據等信息。

3.1 自定義設備驅動

設備驅動程序是操作系統和硬件設備之間的接口,它主要完成對設備初始化、實現內核和應用程序與設備之間的數據交換、檢測處理設備錯誤等功能。在μClinux操作系統使用設備文件的方式來進行設備管理應用,一個具體的物理設備被映射為一個設備文件,用戶程序可以像對其它文件一樣對此設備文件進行打開、關閉、數據讀寫等操作。

系統軟件設計中的驅動層部分,除了使用μClinux操作系統自帶的設備驅動程序以外,需要對外部設備編寫自定義的設備驅動程序,以滿足操作系統的要求。以字符設備為ADC為例,主要對其編寫自定義的驅動程序。使用結構體file_operations{}作為ADC字符設備的函數接口,內核通過這個函數接口來操作設備。自定義后的file_operations{}結構體如下:

struct file_operations ADC_fops = {

       read:                     ADC_read,     //從設備中讀數據操作

       poll:               ADC_poll,      //查詢設備

       ioctl:              ADC_ioctl,     //進行讀、寫以外的IO控制操作

       open:              ADC_open,     //打開設備

       release:           ADC_release, //關閉設備

       ……};

編寫自定義的驅動程序完成后,內核調用相應的函數即對ADC設備文件進行open、ioctl等具體操作。

3.2 圖形用戶界面設計

圖形用戶界面(GUI)把圖形視窗引入到嵌入式平臺上,其友好的界面為大多數用戶所接受,也得到越來越廣泛的應用。本設計采用MicroWindows來實現圖形界面,以窗口形式顯示測量數據及其它參數。MicroWindows是一個較早出現的、開放源碼的嵌入式圖形用戶界面軟件,它提供了比較完整的圖形功能,支持多種外部設備輸入,具有占用空間小、可移植性好的優點。在μClinux操作系統上使用MicroWindows易于圖形程序的開發。

MicroWindows采用了層次化結構:在底層提供設備的驅動,在中間層通過一個可移植圖形引擎實現繪制多邊形、區域填充、使用顏色等,在頂層實現多種API以適應不同的應用環境。MicroWindows API 之間采用消息傳遞的基本通信機制。消息被儲存在應用程序的消息隊列中,不同消息對應不同的事件,核心的API通過傳遞對應相應事件的消息來實現各種功能,如窗口的創建、繪制、移動等等。

在本設計中,編寫基于Microwindows的應用程序,基本結構為初始化、創建窗口與資源、進入消息循環三部分。主程序中相關部分如下所示:

int WINAPI WinMain()

{MwRegisterEditControl(NULL);   // 申明不使用控件

wndclass.style= CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW;

wndclass.lpszClassName = szAppName;    // 創建窗口屬性的結構體變量

RegisterClass(&wndclass);  

hwnd=CreateWindowEx();   //創建窗口

while (1)

{if(PeekMessage(&msg,NULL,0,0,PM_REMOVE))    //消息查詢

{TranslateMessage(&msg);DispatchMessage(&msg);}   //傳遞消息至窗口處理程序

ScanKey_function();   //掃描鍵盤

RxKeyvalue(hedit_Param);

……}}

在調用窗口創建函數CreateWindowEx()后,系統在內存中創建了一個虛擬的窗口,之后調用窗口顯示函數ShowWindow()就可將虛擬窗口顯示為可視窗口,成為Windows風格的視窗界面。在本設計中,主程序運行時不斷調用提取消息函數PeekMessage(),查看消息隊列是否收到任務信息,當有信息產生時,就執行對應的消息處理函數。同時,在消息循環里也反復調用鍵盤緩沖區查詢函數RxKeyvalue (),查看是否有鍵盤輸入,以便隨時響應。

4 抗干擾措施

在本設計中,采用低溫漂的基準穩壓電源為前置放大電路供電,并且在每個元件的電源管腳處加去耦電容。元器件選用高精度、漂移小的精密運算放大器;選用高精度、低溫漂的精密電阻;信號線采用雙絞線或屏蔽線。印刷板布線時,盡量縮短前置放大電路的信號線,并確保了電路接地、屏蔽良好。

5 結語

本文創新點在于設計和實現了一種基于ARM的微伏信號在線監測系統,以差動放大方式消除外界對測量信號的干擾,利用S3C44B0X微處理器和μClinux操作系統實現液晶屏顯示數據、人機交互和故障自動報警功能,為實現微伏信號在線監測提供了一種體積小、功耗低、操作靈活的解決方案。本設計已投入使用,長時間工作穩定。

 

參考文獻:

[1] Samsung公司,《S3C44B0 Microprocessor——Product overview》

[2] 萬沛霖等,低噪聲寬頻帶弱信號前置測量電路的研制,電測與儀表, No.429: 26-27,2001,

[3] 周立功等,《ARM嵌入式Linux系統構建與驅動開發范例》,北京:北京航空航天大學出版社,2006

[4] 張進等,基于ARM7的嵌入式系統中頻率數據獲取與共享,微計算機信息,No.11: 82-83,2006

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: a级黄色毛片 | 久久婷婷午色综合夜啪 | 欧美国产在线观看 | 日韩字幕在线 | 久久夜视频 | 亚洲一级毛片免费在线观看 | 久久成人乱小说 | 欧美人妖xxx| 东北老妇xxxxhd | 亚洲va欧美va人人爽夜夜嗨 | 国产99视频精品免视看7 | 日韩欧美一区二区三区不卡视频 | 人人爽人人拍 | 久久香蕉国产线看观看亚洲片 | 最近中文字幕2019免费6 | 欧美日韩亚洲无线码在线观看 | 色的视频在线观看免费播放 | 欧美日本综合一区二区三区 | 无遮羞肉体动漫影院免费版 | 91精品啪在线观看国产线免费 | 亚洲经典三级 | 8x福利精品第一导航 | 中国日韩欧美中文日韩欧美色 | 日韩天堂网 | 日本三级带日本三级带黄国产 | 国产小视频免费观看 | 一级一片在线播放在线观看 | 区二区三区四区免费视频 | 涩涩涩在线视频 | 日韩一级生活片 | 一级做a爰片性色毛片视频图片 | 国产精品动漫视频网站 | jiujiure精品 | h网站免费在线观看 | 久久久国产精品网站 | 天堂网在线播放 | 久久9999国产精品免费 | 激情综合亚洲 | 欧美一级淫片a免费播放口aaa | 日本一区二区视频 | 你懂的网站在线观看 |