<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > VxWorks操作系統及實(shí)時(shí)多任務(wù)程序設計

VxWorks操作系統及實(shí)時(shí)多任務(wù)程序設計

作者: 時(shí)間:2012-03-27 來(lái)源:網(wǎng)絡(luò ) 收藏


 ?。?) 存儲管理 在基本的wind內核中,任務(wù)直接操作線(xiàn)性物理內存,不存在虛擬存儲等復雜的存儲管理策略,這主要是從性能來(lái)考慮的。不過(guò)也提供支持POSIX標準的虛擬存儲區和共享內存(多處理器間共享)組件。
  
 ?。?)任務(wù)間通信在任務(wù)間傳遞控制信息時(shí),通信量小,wind內核支持各種UNIX的通信手段:信號量(semaphore)、消息隊列(message queue)、管道(pipe)、信號(signal)、套接字(socket)。信號量主要用于對臨界資源訪(fǎng)問(wèn)的同步和互斥;消息隊列多用于消息驅動(dòng)機制;管道是基于文件系統實(shí)現的任務(wù)間按先進(jìn)先出方式傳送數據的通信方式;信號相當于軟中斷;套接字機制主要用于網(wǎng)絡(luò )通信。

  當任務(wù)間需要大量交換數據時(shí),由于直接操作物理內存,可以直接訪(fǎng)問(wèn)全局存儲區,不需要特別的手段,與Linux下的共享存儲段申請和WindowsNT中的存儲映射文件方式不同。

 ?。?)中斷在下,所有中斷服務(wù)程序都不屬于任何一個(gè)任務(wù),并且使用同一個(gè)棧進(jìn)行數據存儲,則中斷將不會(huì )引起上下文切換,以實(shí)現高效的中斷響應。中斷與各任務(wù)之間可以通過(guò)前面所述的各種手段進(jìn)行通信,但要注意對中斷服務(wù)程序有一些限制,例如不能進(jìn)行可能導致阻塞的資源申請等等。

 ?。?) 文件系統 VxWorks支持多種本地文件系統:MS_DosFS、RawFS和RT 11FS,可根據具體配置選擇;還支持網(wǎng)絡(luò )文件系統NFS,可以沒(méi)有局域文件系統。

 ?。?) 網(wǎng)絡(luò )支持 Vxworks支持多種物理介質(zhì)的TCP/IP協(xié)議族和幾乎所有常用的基于TCP/IP協(xié)議的應用層協(xié)議,例如ARP、BOOTP、SLIP和FTP,甚至其啟動(dòng)就是通過(guò)BOOTP或FTP方式取得系統映像文件的。以上簡(jiǎn)單介紹了一些VxWorks的技術(shù)特點(diǎn)。要注意,這些特點(diǎn)都是跟VxWorks的特性 ——實(shí)時(shí)性與嵌入式密切相關(guān)的。

  三、 X窗口系統

  本系統采用美國Peritek公司的VCL V圖形控制器插件進(jìn)行顯示輸出和輸入控制,客戶(hù)界面基于X Window。X客戶(hù)程序的開(kāi)發(fā)選用美國SeaWeed公司的SeaWindM軟件。

  X是美國麻省理工學(xué)院(MIT)研制的一個(gè)可移植的網(wǎng)絡(luò )透明的窗口系統。它具有設備獨立性和網(wǎng)絡(luò )透明性的特點(diǎn),即基于X開(kāi)發(fā)的應用程序不需要重寫(xiě)或重新編譯就可以在新的顯示硬件上執行,并且在網(wǎng)絡(luò )環(huán)境下通過(guò)X可在網(wǎng)絡(luò )任一節點(diǎn)上運行X的應用程序而不必考慮該節點(diǎn)的物理位置。

  四、 顯示與控制系統的具體實(shí)現

  本系統的功能主要是初始化各處理模件、根據輸入命令對各處理模件進(jìn)行控制和對處理結果的實(shí)時(shí)顯示。這些都是通過(guò)與相應子系統的數據通信來(lái)完成的。對通信數據和策略的分析是系統設計的關(guān)鍵。系統與其他子系統中存在著(zhù)這樣幾類(lèi)通信數據:與前端模擬子系統的控制信息與數據、與數字信號處理子系統相關(guān)的控制信息和數據、發(fā)射信號控制信息、顯示數據以及從鍵盤(pán)和鼠標獲得的輸入信息。這幾類(lèi)數據都是通過(guò)VME背板總線(xiàn)傳輸,通過(guò)對VME地址空間直接讀寫(xiě)進(jìn)行訪(fǎng)問(wèn)。其中由數字信號處理子系統送來(lái)的數據是由數據更新事件驅動(dòng)的。為了滿(mǎn)足實(shí)時(shí)性的要求,需要在每組結果數據更新之前完成通信,因此處理的優(yōu)先級需要很高。

  基于上面的考慮,系統劃分為4個(gè)任務(wù):系統監控、顯示與輸入、子模件控制和錯誤處理。

  系統監控——提交和監控其他子任務(wù)。
  顯示與輸入——實(shí)時(shí)顯示信號處理結果和產(chǎn)生輸入消息。
  子模件控制——向各子模件發(fā)送控制參數和計算數據,由輸入消息驅動(dòng)。
  錯誤處理——根據錯誤類(lèi)型進(jìn)行相應處理:顯示錯誤信息、重啟動(dòng)各模件、中止系統,由出錯消息驅動(dòng)。
  信號處理結果讀取在顯示和輸入任務(wù)中完成,其驅動(dòng)事件為處理結果更新。在被動(dòng)聲納處理中,短時(shí)間能量積累的結果每64ms更新一次,平均功率譜結果每 1.5s更新一次;主動(dòng)聲納處理的幅度信息數據率為1.3kb/s,頻域處理結果更新率為5~10次/s。如果由信號處理模件在數據更新后向 MVME177發(fā)送中斷事件,由于數據更新率差別較大,可能造成瞬間中斷頻繁,增加處理復雜度。所以采用定時(shí)中斷,使用間隔為50ms的定時(shí)中斷去檢查數據更新標志,既能保證實(shí)時(shí)數據刷新,又能簡(jiǎn)化處理結構。

  各任務(wù)間的大批量數據傳輸利用VxWorks的共享內存直接訪(fǎng)問(wèn),而傳遞控制消息多采用消息隊列(message queue)。在顯示和輸入任務(wù)中有兩類(lèi)驅動(dòng)事件:鍵盤(pán)、鼠標輸入和顯示數據更新。顯示刷新的優(yōu)先級應該高于人工輸入,所以在這里使用了信號(signal)。當任務(wù)捕獲信號時(shí),立即中斷正在執行的流程,轉而進(jìn)行信號服務(wù)處理。完成后,繼續原處理流程可以保證顯示的實(shí)時(shí)刷新。

  各任務(wù)之間的通信機制由4個(gè)消息隊列、1個(gè)定時(shí)中斷和1個(gè)信號完成:

  消息隊列SystemMsg:系統開(kāi)機、系統關(guān)機、系統復位、系統重啟等,由錯誤處理任務(wù)和鍵盤(pán)輸入產(chǎn)生;由系統監控任務(wù)接收。
  消息隊列ParamModifyMsg:更改前端硬件參數、DSP參數等,由鍵盤(pán)輸入產(chǎn)生,由子模件控制任務(wù)接收。
  消息隊列ErrorMsg:定義了各種錯誤類(lèi)型,由各任務(wù)的出錯接口產(chǎn)生;由錯誤處理任務(wù)接收。
  X消息隊列:由顯示和輸入任務(wù)接收(被SeaWindM軟件包封裝)。 定時(shí)中斷:由系統監控任務(wù)啟動(dòng)和停止,讀取DSP處理結果。 信號處理:由顯 示和輸入任務(wù)注冊,定時(shí)中斷發(fā)送信號,接收到后進(jìn)行數據顯示。
  系統定義全局變量System_Data。其數據類(lèi)型為自定義的System_Data_Struct結構。通過(guò)System_Data實(shí)現任務(wù)間的數據交換。

  結束語(yǔ)

  以上介紹了數字式聲納的顯控系統的設計?;赩xWorks的多任務(wù)設計使系統的實(shí)時(shí)性和穩定性都非常好。目前該顯控系統已通過(guò)測試,達到了系統的設計要求。

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>