基于ARM的海底大地電磁信號采集系統(tǒng)主控模塊改進
表1 部分ARM架構(gòu)功耗比較表
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 嵌入式實時操作系統(tǒng)μC/OS-II的移植
盡管μC/OS-II是用標準C語言寫的,但當應用到某個具體的CPU上時,還需要用C和匯編語言寫一些與處理器相關的代碼。改寫過程主要結(jié)合改進系統(tǒng)所采用的新主CPU AT91m40800的一些具體參數(shù),完成整個操作系統(tǒng)的移植。
μC/OS-II可以大致分為內(nèi)核、任務處理、時間處理、任務同步與通信、與CPU的接口等五部分。內(nèi)核(OSCore.c)是操作系統(tǒng)的處理核心,包括操作系統(tǒng)初始化、系統(tǒng)運行、中斷處理、時鐘節(jié)拍、任務調(diào)度和事件處理等多任務。任務處理部分(OSTask.c)是與任務操作密切相關的,包括任務的建立、刪除、掛起、恢復等。時鐘部分(OSTime.c)定義μC/OS-II的最小時鐘單位是Timetick(時鐘節(jié)拍)。任務同步和通信部分包括信號郵箱、郵箱隊列和時間 標志等部分,主要用于任務間的互相聯(lián)系和對臨界資源的訪問。與CPU接口部分是指μC/OS-II針對所使用的CPU的移植部分,主要包括中斷級任務切換的底層實現(xiàn)、任務級任務切換的底層實現(xiàn)、時鐘節(jié)拍的產(chǎn)生和處理、中斷和相關處理部分等內(nèi)容。
μC/OS-II除了良好的穩(wěn)定性和安全性以外,很重要的特點就是對多任務管理的優(yōu)異表現(xiàn)。μC/OS-II可以管理多達64個任務。除了8個μC/OS-II自用的任務以外,用戶的應用程序最多可有56個任務。用戶可以通過系統(tǒng)提供的任務結(jié)構(gòu)來自行創(chuàng)立任務。改進方案中需要管理的任務包括GPS校時、讀采集數(shù)據(jù)、數(shù)字濾波和存數(shù)據(jù),執(zhí)行框架如圖1。
在初始化時,進行GPS校時。讀優(yōu)先級最高,采集器不停地讀數(shù)據(jù)。當數(shù)據(jù)在緩沖區(qū)中還沒填滿時,進行濾波和寫存儲器的任務,一旦緩沖已滿就要繼續(xù)執(zhí)行讀操作。這里所說的讀操作實際上是系統(tǒng)從緩沖中讀的操作,并不是實際的采集器讀地磁信號操作。寫任務其次,必須連貫地完成一次寫任務,中途不能被打斷。所以只有在不進行讀操作時,才可以進行寫操作。濾波任務在讀任務完成后執(zhí)行,但是如果前一個寫任還沒有完成,就不能濾波,以防止新數(shù)據(jù)無法寫入。所以只有當新的讀任務結(jié)束,且舊的寫任務完成后方可執(zhí)行新讀數(shù)據(jù)的濾波任務。通過μC/OS-II提供的信號量機制,可很好地實現(xiàn)任務進程的互斥與并發(fā)。
5 ARM對外圍設備的擴展
主控單元與前臺數(shù)據(jù)采集模塊間仍保留原有ISA總線接口標準,只是自行設計ARM主控單元的接口電路如圖2所示。符合原有協(xié)議標準后,改進電路成功替代了原來的主控。
雖然串行接口速度較慢,但完全可以滿足與上位機之間的通信。改進方案首先實現(xiàn)了ARM對于串口的擴展,作為通信手段之一。使用ARM公司自行開發(fā)的的ARM調(diào)試專用環(huán)境ADS1.2測試串行接口的效果:擴展程序所設計的輸出結(jié)果為AT9140800USART_CUGB,連接采集儀和PC機,使用Windows自帶的超級終端可以看到輸出結(jié)果與設計一致,表明擴展是成功的。
各采集器間及采集器與上位機交互還可通過網(wǎng)絡實現(xiàn)。改進方案基于μC/OS-II移植IP協(xié)議棧后,通過擴展網(wǎng)絡接口卡,可實現(xiàn)網(wǎng)絡功能。由于網(wǎng)絡接口芯片本身也遵守ISA標準,所以擴展的網(wǎng)絡接口還可以用來仿真測試ISA總線。檢測總線時序情況就可測試主控模塊的功能情況。抓取ISA設備時序,即得出系統(tǒng)接總線是否符號ISA協(xié)議標準。寫一次后,邏輯分析儀截出幾次時序,結(jié)果如圖3所示。圖3時序情況:/CS8019為網(wǎng)絡接口芯片片選信號,/WE為寫使能信號,/OE為輸出使能信號,A1~A5為低5位地址,D0~D7為8位數(shù)據(jù)位。圖3中顯示寫使能一次后,輸出多次,對應地址循環(huán)(程序設定的輸出效果),數(shù)據(jù)位則是輸出8019的數(shù)據(jù),具體內(nèi)容沒有意義。如圖3虛線處,在C1時刻,開始進行寫操作;C2時刻輸出,低5位地址為00000;C3時刻第二次輸出,地址為00001;C4時刻第三次輸出,地址為00010。依次類推,表明主控單元改進滿足了ISA總線的要求,網(wǎng)絡接口擴展也正常?;诖?,通過與前臺數(shù)據(jù)采集模塊直接連接,即可進行海底大地電磁數(shù)據(jù)的高效采集。
由于采用ARM芯片取代原有主控單元,僅此一項就降低功耗約25%,實現(xiàn)了功耗降低的要求。另外在采用了操作系統(tǒng)后,將使整個采集過程更穩(wěn)定有序,提高了整個采集過程的準確性和安全性。
評論