基于嵌入式操作系統(tǒng)的磁場測量系統(tǒng)的設(shè)計(jì)
電壓的檢測也采用了在一秒的時(shí)間內(nèi)取樣N次去掉最大和最小值然后取平均值的方法減少測量誤差。測量電壓V為:
在系統(tǒng)設(shè)計(jì)時(shí),也充分考慮了抗干擾的要求。在硬件的設(shè)計(jì)中,采取了同軸電纜作為傳輸媒質(zhì)、模擬地與數(shù)字地分開、光電隔離、系統(tǒng)加屏蔽罩等措施。軟件設(shè)計(jì)中加入數(shù)字濾波、定時(shí)自檢等措施抗干擾。
4 嵌入式Liinux系統(tǒng)的設(shè)計(jì)
嵌入式Linux系統(tǒng)不是針對某個(gè)硬件平臺而開發(fā)的,所以進(jìn)行Linux移植時(shí)必須針對相應(yīng)的硬件對Linux內(nèi)核加以裁減、修改和補(bǔ)充。磁場測量系統(tǒng)采用的是基于ARM9內(nèi)核的硬件平臺,下面介紹該硬件平臺下的Linux系統(tǒng)移植過程和方法。
4.1 建立交叉編譯環(huán)境
在進(jìn)行移植前,首先要建立開發(fā)平臺的ARM—Linux交叉編譯環(huán)境。linux下的交叉編譯環(huán)境主要包括針對目標(biāo)系統(tǒng)幾部分:編譯器gcc;二進(jìn)制工具binutils:標(biāo)準(zhǔn)c庫glibc;linux內(nèi)核頭文件。
4.2 啟動代碼的移植
啟動代碼主要完成硬件檢測和系統(tǒng)引導(dǎo),建立內(nèi)存空間映射圖,為正確調(diào)用操作系統(tǒng)內(nèi)核做好準(zhǔn)備。系統(tǒng)加電后,由引導(dǎo)代碼進(jìn)行基本的硬件初始化,然后把內(nèi)核經(jīng)映像裝入內(nèi)存運(yùn)行。啟動代碼必須針對不同的硬件而設(shè)計(jì),本測量系統(tǒng)選擇了當(dāng)前流行的U-BOOT引導(dǎo)系統(tǒng)進(jìn)行了修改移植。
U-BOOT的啟動具體可分為兩個(gè)階段,分別為硬件的初始化和內(nèi)核調(diào)用的準(zhǔn)備。U—BOOT為開源軟件,可找到很多接近目標(biāo)開發(fā)板的參考程序。本系統(tǒng)在參考韓國某公司開發(fā)的VIVI啟動代碼的基礎(chǔ)上進(jìn)行修改和移植,減少了開發(fā)時(shí)間且代碼健壯性好。
4.3 Linux內(nèi)核的移植
Linux內(nèi)核的移植是整個(gè)嵌入式系統(tǒng)設(shè)計(jì)的關(guān)鍵部分。Linux內(nèi)核移植需要完成內(nèi)核與啟動代碼的銜接部分的移植以及硬件相關(guān)部分的移植,如CPU、中斷控制器、定時(shí)器、內(nèi)存控制器等的移植。根據(jù)磁場測量系統(tǒng)的硬件結(jié)構(gòu),Linux內(nèi)核的移植分為以下四個(gè)步驟:
(1)首先是選擇內(nèi)核版本、建立交叉編譯環(huán)境。本系統(tǒng)選擇的Linux內(nèi)核版本為2.4.18,交叉編譯工具選擇arm-1inux-gcc 3.3.2;
(2)然后是配置和編譯內(nèi)核,針對硬件對源碼作必要的修改。①先修改根目錄下的Makefile文件,分別指定目標(biāo)平臺為ARM和指定交叉編譯器是arm-1inux-gcc 3.3.2;②接著對linux內(nèi)核進(jìn)行配置,此過程必須根據(jù)系統(tǒng)硬件和功能進(jìn)行裁剪。進(jìn)入linux內(nèi)核目錄輸入命令make menuconfig,其配置方式為通過圖形方式進(jìn)行配置,對驅(qū)動程序進(jìn)行裁剪;③配置完成后保存退出,輸入Make命令,編譯成功后會在arch/arm/boot目錄中生成內(nèi)核的鏡像;
(3)接著制作根文件系統(tǒng)并掛載。要實(shí)現(xiàn)程序固化,還必須將程序和模塊添加到根文件系統(tǒng)中。在程序的設(shè)計(jì)中,本系統(tǒng)主要是使用軟件QT進(jìn)行觸摸屏界面的開發(fā)和相關(guān)功能的設(shè)計(jì);
(4)最后是下載、調(diào)試內(nèi)核并運(yùn)行。
5 結(jié)語
電磁測量已廣泛應(yīng)用于各個(gè)行業(yè),隨著技術(shù)的發(fā)展和進(jìn)步,對磁場測量系統(tǒng)的精度和擴(kuò)展功能要求越來越高。本文的創(chuàng)新之處是將當(dāng)前流行的嵌入式Linux系統(tǒng)和磁場測量技術(shù)結(jié)合起來,構(gòu)建了一個(gè)系統(tǒng)功能豐富、易用性好且擴(kuò)展功能強(qiáng)的智能化磁場測量系統(tǒng)。在實(shí)際應(yīng)用中可提高測量系統(tǒng)的實(shí)時(shí)性和多任務(wù)處理的能力,符合當(dāng)前測量發(fā)展的需要。
參考文獻(xiàn):
[1].RS232datasheethttp://www.dzsc.com/datasheet/RS232_585128.html.
[2].ARM920Tdatasheethttp://www.dzsc.com/datasheet/ARM920T_139814.html.
[3].RISCdatasheethttp://www.dzsc.com/datasheet/RISC_1189725.html.
[4].PGA202datasheethttp://www.dzsc.com/datasheet/PGA202_546804.html.
[5].PGA203datasheethttp://www.dzsc.com/datasheet/PGA203_546810.html.
評論