作者:劉輝,唐露新,張智軍,姚歡
1 引言
隨著科技的發展,嵌入式操作系統在越來越多的領域發揮著重要的作用,目前已成為產品技術水平的標志之一。其中Linux因為其擁有開放性、多用戶、多任務、良好的用戶界面、豐富的網絡功能、可靠的系統安全和良好的可移植等特性被廣泛的應用到儀器測量設備中。
傳統的磁場測量設備(持斯拉計、高斯計)普遍存在精度低(典型測量精度為1.5%)、操作不便等缺點。本文提出一種基于嵌入式Linux的中頻磁場測量系統,它不但可以滿足當前磁場測量數據采集的需要,還因為其嵌入了操作系統Linux,使具有可靠性好、升級方便的特點,既提高了磁場測量的準確性,又為儀器的功能升級帶來便利。可應用于實驗室儀器,醫療儀器,姿態控制,安全檢測等需磁場檢測的領域。
2 磁場測量系統的硬件結構
磁場測量系統在硬件結構上采用ARM9作為控制器,與信號放大、整流濾波、程控放大等硬件構成了整個磁場測量系統。而且,測量系統還搭配了USB、RS232、以太網通信接口,系統通訊能力強,可實現網絡連網功能。其硬件結構如圖1所示。
·ARM9嵌入式處理器采用三星公司的$3C2410。S3C2410是基于ARM920T內核的16/32位RISC嵌入式微處理器,主要面向手持設備以及高性價比,低功耗的應用。它采用5級流水線和全性能的MMU,同時該芯片集成了大量的功能擴展單元,例如LCD控制器、I2C總線、觸摸屏接口、USB接口等。強大的芯片功能簡化了系統設計,不但縮小了系統體積,而且提高了系統的可靠性。
·USB、RS232和以太網接口可為系統提供不同的通信方式,適合不同測量環境和條件,以太網接口還可實現系統聯網功能。
·在磁場測量系統中,可使用觸摸屏簡便地對系統進行控制,實現不同顯示方式切換、參數設置和測量數據保存等功能。
·磁場測量電壓信號部分,由磁場傳感器得到微弱的電壓信號,經放大整流等措施后輸入控制系統。
·報警輸出可實現用戶自設定報警的上下限值,方便用戶測量現場的監控。
3 磁場測量系統前端信號處理模塊
磁場測量系統前端傳感器采用的測量方法為電磁感應法。電磁感應法是將測量線圈置入交變磁場中,根據法拉第電磁感應定律在線圈的引線間會產生感應電動勢,并且感應電動勢的大小與穿過線圈的磁通量的大小成正比。感應電動勢e為:
測量系統前端信號處理模塊的結構如圖2所示。
(1)為了實現多路磁場傳感器的信號輸入,設計中采用片選芯片74HCl5進行通道的選擇。通過對74HCl53控制端S0,Sl輸入不同的數據組合(00,10,0l,11),輸出端lY和2Y就可實現不同輸入通道的選擇。
(2)在整個系統的電路設計中,前置放大電路的主要作用是將傳感器輸出的、和磁場強度成正比的微弱電壓信號放大。根據其要求,設計的前置放大電路采用了差動放大的方式,電路如圖3所示。它具有高共模抑制比、輸入阻抗高、輸出阻抗低、失調小、溫漂小、線性好等優點。
(3)磁場測量系統對不同的測量對象進行測量時,磁場傳感器的感應強度都會不同。要實現不同測量對象自適應量程的切換,必須設計一個放大倍數可調的模塊,而且放大倍數的范圍應較廣。現采用BURR-BROWN公司的PGA202/203程控儀表放大器,該芯片無需外圍芯片,而且PGA202與PGA203經級聯可組成從l“8000倍的16種程控增益。放大范圍可滿足系統的需要。
(4)因磁場檢測時會受到環境中其它外部磁場的干擾而輸出偏移電壓,所以在電路設計中設有自動調零電路,在每次儀器使用前進行自動校準。實現方法是在輸入端增加一個開關,校準時輸入直接接地,測量時輸入接傳感器。主控制器將接地時的輸出記錄在數據區中,并將此輸出作為零點而實現自動調零。
(5)該儀器檢測的是交變磁場,所以對磁場的頻率檢測是必需的。實現方法是將磁場檢測信號通過一個過零比較器變成方波,方波經過二極管將正電壓部分送至單片機的輸入捕捉引腳進行頻率檢測。
總之,前端信號處理模塊的設計關系到系統測量數據是否可靠和準確。在設計的過程中,遇到信號在程控放大倍數設置為1000的時候會出現失真的情況,究其原因,是器件PGA202的性能問題導致。所以必須根據器件的性能參數選擇合適的放大倍數。
電壓的檢測也采用了在一秒的時間內取樣N次去掉最大和最小值然后取平均值的方法減少測量誤差。測量電壓V為:
在系統設計時,也充分考慮了抗干擾的要求。在硬件的設計中,采取了同軸電纜作為傳輸媒質、模擬地與數字地分開、光電隔離、系統加屏蔽罩等措施。軟件設計中加入數字濾波、定時自檢等措施抗干擾。
4 嵌入式Liinux系統的設計
嵌入式Linux系統不是針對某個硬件平臺而開發的,所以進行Linux移植時必須針對相應的硬件對Linux內核加以裁減、修改和補充。磁場測量系統采用的是基于ARM9內核的硬件平臺,下面介紹該硬件平臺下的Linux系統移植過程和方法。
4.1 建立交叉編譯環境
在進行移植前,首先要建立開發平臺的ARM—Linux交叉編譯環境。linux下的交叉編譯環境主要包括針對目標系統幾部分:編譯器gcc;二進制工具binutils:標準c庫glibc;linux內核頭文件。
4.2 啟動代碼的移植
啟動代碼主要完成硬件檢測和系統引導,建立內存空間映射圖,為正確調用操作系統內核做好準備。系統加電后,由引導代碼進行基本的硬件初始化,然后把內核經映像裝入內存運行。啟動代碼必須針對不同的硬件而設計,本測量系統選擇了當前流行的U-BOOT引導系統進行了修改移植。
U-BOOT的啟動具體可分為兩個階段,分別為硬件的初始化和內核調用的準備。U—BOOT為開源軟件,可找到很多接近目標開發板的參考程序。本系統在參考韓國某公司開發的VIVI啟動代碼的基礎上進行修改和移植,減少了開發時間且代碼健壯性好。
4.3 Linux內核的移植
Linux內核的移植是整個嵌入式系統設計的關鍵部分。Linux內核移植需要完成內核與啟動代碼的銜接部分的移植以及硬件相關部分的移植,如CPU、中斷控制器、定時器、內存控制器等的移植。根據磁場測量系統的硬件結構,Linux內核的移植分為以下四個步驟:
(1)首先是選擇內核版本、建立交叉編譯環境。本系統選擇的Linux內核版本為2.4.18,交叉編譯工具選擇arm-1inux-gcc 3.3.2;
(2)然后是配置和編譯內核,針對硬件對源碼作必要的修改。①先修改根目錄下的Makefile文件,分別指定目標平臺為ARM和指定交叉編譯器是arm-1inux-gcc 3.3.2;②接著對linux內核進行配置,此過程必須根據系統硬件和功能進行裁剪。進入linux內核目錄輸入命令make menuconfig,其配置方式為通過圖形方式進行配置,對驅動程序進行裁剪;③配置完成后保存退出,輸入Make命令,編譯成功后會在arch/arm/boot目錄中生成內核的鏡像;
(3)接著制作根文件系統并掛載。要實現程序固化,還必須將程序和模塊添加到根文件系統中。在程序的設計中,本系統主要是使用軟件QT進行觸摸屏界面的開發和相關功能的設計;
(4)最后是下載、調試內核并運行。
5 結語
電磁測量已廣泛應用于各個行業,隨著技術的發展和進步,對磁場測量系統的精度和擴展功能要求越來越高。本文的創新之處是將當前流行的嵌入式Linux系統和磁場測量技術結合起來,構建了一個系統功能豐富、易用性好且擴展功能強的智能化磁場測量系統。在實際應用中可提高測量系統的實時性和多任務處理的能力,符合當前測量發展的需要。
責任編輯:gt
-
處理器
+關注
關注
68文章
19169瀏覽量
229153 -
嵌入式
+關注
關注
5068文章
19021瀏覽量
303353 -
操作系統
+關注
關注
37文章
6742瀏覽量
123192
發布評論請先 登錄
相關推薦
評論