對現有海底大地電磁信號采集系統的主控模塊進(jìn)行了改進(jìn)。采用AT91m40800為主控單元,通過(guò)移植嵌入式實(shí)時(shí)操作系統μC/OS-II進(jìn)行任務(wù)管理,并擴展了ISA總線(xiàn)、串行接口和網(wǎng)絡(luò )接口。概要介紹了改進(jìn)方案的設計思路、μC/OS-II的移植以及ARM對外圍器件的擴展,并通過(guò)ISA總線(xiàn)仿真了系統時(shí)序效果。 1 海底大地電磁儀的分析 海底大地電磁數據采集器是對海底大地電磁場(chǎng)和海底環(huán)境信息進(jìn)行自動(dòng)采集的智能化儀器,旨在建立具有我國特色的海底大地電磁探測技術(shù),并使之實(shí)用化,為我國海域區域地質(zhì)調查提供新的技術(shù)支撐,為發(fā)展我國海洋電磁探測奠定基礎。儀器于2000年研制成功后,在我國東海大陸架進(jìn)行了成功試驗。 整個(gè)數據采集器由電道前放板、磁道前放板、主放板、輔助通道板、時(shí)鐘板、數字板、標定信號板和主控單元構成層疊式電路結構。整個(gè)電路板的整體何種為90%26;#215;96%26;#215;170mm3,重量約1kg。采集器使用+5V和%26;#177;12V三路電源,工作狀態(tài)下整機功耗為7W,正常工作的環(huán)境溫度為-50℃~+70℃。目前一期完成的海底大地電磁儀最長(cháng)記錄時(shí)間為7天,頻率范圍為0.0001Hz~100Hz。數據采集器配置容量為144MB的固態(tài)電子盤(pán)。從數據處理的邏輯次序看,整個(gè)系統分為八部分,包括前置放大、數字和模擬濾波、低通濾波、高通濾波、主放大器、數據轉換、緩沖存儲和數據存儲。 一期建設中,海底大地電磁儀器整體效果還是令人滿(mǎn)意的。但也存在一些不足,主要體現在以下幾個(gè)方面: (1)系統功耗 目前系統正常工作下,功耗約為7W。其中主要包括磁場(chǎng)傳感器功耗290mW、傾斜傳感器功耗45mW、振動(dòng)傳感器功耗0.5W、主控電路功耗2W等。在電池電能一定的情況下,整個(gè)采集可以持續7天左右,采集時(shí)間長(cháng)度不夠。 (2)主控單元 目前采用286系列主控單元,在嵌入式系統發(fā)展到很高水平的今天,已不適應高效率、高集成度的技術(shù)需要。 (3)采集穩定性 海底大地電磁采集要求各采集點(diǎn)精確同步,所以系統對穩定性的要求十分高。而目前系統采用單道大循環(huán)程序實(shí)現各項系統任務(wù)。這樣不利于提高數據采集的穩定性。 2 改進(jìn)方案的設計思路 海底電磁數據采集需要的海上作業(yè),采集成本大。為了達到效率最大化,就必須明顯降低原有系統的功耗,并提高數據采集的穩定性。鑒于此,改進(jìn)方案如下: (1)用ARM芯片取代286系列主控單元 ARM具有集成度高、能耗低等特點(diǎn),通過(guò)使用ARM芯片取代目前的286系列主控單元將極大地降低系統的功耗,同時(shí)也可以縮減電路,進(jìn)而降低電路的復雜度,減小系統的體積。 (2)用μC/OS-II取代目前的單道程序 μC/OS-II取得了美國聯(lián)邦航空管理局(FAA)對于商用飛機的、符合RTCA DO-178B標準的認證,表明μC/OS-II具有足夠的安全性和穩定性。使用操作系統管理多任務(wù),實(shí)現多任務(wù)的并發(fā)和同步。通過(guò)這種方式取代目前的單道大循環(huán)程序,可以提高系統的穩定性。 3 改進(jìn)主控單元的硬件組成 ARM架構在推出后獲得了成功,各種ARM核心版本以及不同系統方案種類(lèi)繁多。使用ARM本身已經(jīng)比原有主控電路功耗降低,在滿(mǎn)足實(shí)際需要的情況下,還可以在A(yíng)RM各架構中選擇功耗較低的。最終選擇了ARM7TDMI結構,部分架構功耗比較見(jiàn)表1。由于原有數據采集系統前臺采集部分和后臺主控部分使用ISA總線(xiàn)標準進(jìn)行連接,在A(yíng)RM7TDMI架構的ARM芯片中,選擇了ATMEL公司支持ISA總線(xiàn)擴展的AT91M40800。為完成系統所需任務(wù),根據ATMEL公司發(fā)布的EB40開(kāi)發(fā)板電路設計主控單元。片內SRAM 8KB,外部Flash2MB,另有外部器件如串行接口和網(wǎng)絡(luò )接口等。AT91m40800共有37個(gè)寄存器,其中包括31個(gè)32位通用寄存器(含程序計數器PC在內)、6個(gè)32位狀態(tài)寄存器(但目前只使用其中的12位)。運行時(shí)的任意時(shí)刻,可見(jiàn)寄存器包括15個(gè)通用寄存器(R0~R14),一個(gè)或兩個(gè)狀態(tài)寄存器及程序計數器PC,其他寄存器多用于備份。經(jīng)測試證明:所購芯片功耗測量均值小于0.25mW,較之原有主控單元2W的功耗,顯著(zhù)降低。 表1 部分ARM架構功耗比較表 CPU Description Area(mm2) Power(mW) Clock(MHz) Mips(MHz) ARM7TDMI Core 0.53 <0.25 60~110 0.9 ARM9TDMI Core 1.1 0.3 167~220 0.9 ARM9E-S Synthesizable Core - 1 133~200 1.1 ARM1020E Macrocell32+32KB cache 10 0.85 200~400 1.24 4 嵌入式實(shí)時(shí)操作系統μC/OS-II的移植 盡管μC/OS-II是用標準C語(yǔ)言寫(xiě)的,但當應用到某個(gè)具體的CPU上時(shí),還需要用C和匯編語(yǔ)言寫(xiě)一些與處理器相關(guān)的代碼。改寫(xiě)過(guò)程主要結合改進(jìn)系統所采用的新主CPU AT91m40800的一些具體參數,完成整個(gè)操作系統的移植。 μC/OS-II可以大致分為內核、任務(wù)處理、時(shí)間處理、任務(wù)同步與通信、與CPU的接口等五部分。內核(OSCore.c)是操作系統的處理核心,包括操作系統初始化、系統運行、中斷處理、時(shí)鐘節拍、任務(wù)調度和事件處理等多任務(wù)。任務(wù)處理部分(OSTask.c)是與任務(wù)操作密切相關(guān)的,包括任務(wù)的建立、刪除、掛起、恢復等。時(shí)鐘部分(OSTime.c)定義μC/OS-II的最小時(shí)鐘單位是Timetick(時(shí)鐘節拍)。任務(wù)同步和通信部分包括信號郵箱、郵箱隊列和時(shí)間 標志等部分,主要用于任務(wù)間的互相聯(lián)系和對臨界資源的訪(fǎng)問(wèn)。與CPU接口部分是指μC/OS-II針對所使用的CPU的移植部分,主要包括中斷級任務(wù)切換的底層實(shí)現、任務(wù)級任務(wù)切換的底層實(shí)現、時(shí)鐘節拍的產(chǎn)生和處理、中斷和相關(guān)處理部分等內容。 μC/OS-II除了良好的穩定性和安全性以外,很重要的特點(diǎn)就是對多任務(wù)管理的優(yōu)異表現。μC/OS-II可以管理多達64個(gè)任務(wù)。除了8個(gè)μC/OS-II自用的任務(wù)以外,用戶(hù)的應用程序最多可有56個(gè)任務(wù)。用戶(hù)可以通過(guò)系統提供的任務(wù)結構來(lái)自行創(chuàng )立任務(wù)。改進(jìn)方案中需要管理的任務(wù)包括GPS校時(shí)、讀采集數據、數字濾波和存數據,執行框架如圖1。 在初始化時(shí),進(jìn)行GPS校時(shí)。讀優(yōu)先級最高,采集器不停地讀數據。當數據在緩沖區中還沒(méi)填滿(mǎn)時(shí),進(jìn)行濾波和寫(xiě)存儲器的任務(wù),一旦緩沖已滿(mǎn)就要繼續執行讀操作。這里所說(shuō)的讀操作實(shí)際上是系統從緩沖中讀的操作,并不是實(shí)際的采集器讀地磁信號操作。寫(xiě)任務(wù)其次,必須連貫地完成一次寫(xiě)任務(wù),中途不能被打斷。所以只有在不進(jìn)行讀操作時(shí),才可以進(jìn)行寫(xiě)操作。濾波任務(wù)在讀任務(wù)完成后執行,但是如果前一個(gè)寫(xiě)任還沒(méi)有完成,就不能濾波,以防止新數據無(wú)法寫(xiě)入。所以只有當新的讀任務(wù)結束,且舊的寫(xiě)任務(wù)完成后方可執行新讀數據的濾波任務(wù)。通過(guò)μC/OS-II提供的信號量機制,可很好地實(shí)現任務(wù)進(jìn)程的互斥與并發(fā)。 5 ARM對外圍設備的擴展 主控單元與前臺數據采集模塊間仍保留原有ISA總線(xiàn)接口標準,只是自行設計ARM主控單元的接口電路如圖2所示。符合原有協(xié)議標準后,改進(jìn)電路成功替代了原來(lái)的主控。 雖然串行接口速度較慢,但完全可以滿(mǎn)足與上位機之間的通信。改進(jìn)方案首先實(shí)現了ARM對于串口的擴展,作為通信手段之一。使用ARM公司自行開(kāi)發(fā)的的ARM調試專(zhuān)用環(huán)境ADS1.2測試串行接口的效果:擴展程序所設計的輸出結果為AT9140800USART_CUGB,連接采集儀和PC機,使用Windows自帶的超級終端可以看到輸出結果與設計一致,表明擴展是成功的。 各采集器間及采集器與上位機交互還可通過(guò)網(wǎng)絡(luò )實(shí)現。改進(jìn)方案基于μC/OS-II移植IP協(xié)議棧后,通過(guò)擴展網(wǎng)絡(luò )接口卡,可實(shí)現網(wǎng)絡(luò )功能。由于網(wǎng)絡(luò )接口芯片本身也遵守ISA標準,所以擴展的網(wǎng)絡(luò )接口還可以用來(lái)仿真測試ISA總線(xiàn)。檢測總線(xiàn)時(shí)序情況就可測試主控模塊的功能情況。抓取ISA設備時(shí)序,即得出系統接總線(xiàn)是否符號ISA協(xié)議標準。寫(xiě)一次后,邏輯分析儀截出幾次時(shí)序,結果如圖3所示。圖3時(shí)序情況:/CS8019為網(wǎng)絡(luò )接口芯片片選信號,/WE為寫(xiě)使能信號,/OE為輸出使能信號,A1~A5為低5位地址,D0~D7為8位數據位。圖3中顯示寫(xiě)使能一次后,輸出多次,對應地址循環(huán)(程序設定的輸出效果),數據位則是輸出8019的數據,具體內容沒(méi)有意義。如圖3虛線(xiàn)處,在C1時(shí)刻,開(kāi)始進(jìn)行寫(xiě)操作;C2時(shí)刻輸出,低5位地址為00000;C3時(shí)刻第二次輸出,地址為00001;C4時(shí)刻第三次輸出,地址為00010。依次類(lèi)推,表明主控單元改進(jìn)滿(mǎn)足了ISA總線(xiàn)的要求,網(wǎng)絡(luò )接口擴展也正常;诖,通過(guò)與前臺數據采集模塊直接連接,即可進(jìn)行海底大地電磁數據的高效采集。 由于采用ARM芯片取代原有主控單元,僅此一項就降低功耗約25%,實(shí)現了功耗降低的要求。另外在采用了操作系統后,將使整個(gè)采集過(guò)程更穩定有序,提高了整個(gè)采集過(guò)程的準確性和安全性。 |