摘要:介紹了由基于VxWorks的實(shí)時嵌入式操作系統(tǒng)、多個SCSI硬盤陣列以及高幀頻CCD數(shù)字相機(jī)構(gòu)成的嵌入式高速記錄系統(tǒng)。 關(guān)鍵詞: 在一些特別的科學(xué)研究和工程應(yīng)用領(lǐng)域,需要采用高幀頻、大面陣的CCD相機(jī)以獲取高質(zhì)量的圖像數(shù)據(jù),用于對變化較快的觀測對象的運(yùn)動軌跡及其變化特性分析或?qū)崟r計算。由此可產(chǎn)生高達(dá)50MB/s以上的實(shí)時數(shù)據(jù)流,需要持續(xù)地實(shí)時記錄,以便于事后分析。 本文介紹中科院光電技術(shù)研究所針對高速實(shí)時圖像記錄任務(wù)的要求,專門設(shè)計開發(fā)的VxWorks嵌入式操作系統(tǒng)下的高速嵌入式SCSI硬盤陣列記錄系統(tǒng)。 在本系統(tǒng)中采用的高幀頻CCD數(shù)字相機(jī)其工作幀頻為:200幀/秒,分辨率為:532×516像素,8bit灰度級,有效數(shù)據(jù)率約為55MB/s。要求能對其長時間地持續(xù)記錄,且不允許中間有丟幀現(xiàn)象。 實(shí)際工程項(xiàng)目中,在技術(shù)上采用了嵌入式計算機(jī)和Vxworks嵌入式操作系統(tǒng)以及SCSI硬盤陣列系統(tǒng),成功地完成了上述任務(wù)。 1.1 硬件框圖 硬件框圖如圖1所示。 整個系統(tǒng)在硬件上由嵌入式計算機(jī)、CCD相機(jī)、PCI采集卡、SCSI控制卡及SCSI硬盤陣列組成。系統(tǒng)基于PCI總線架構(gòu)。目前使用32位33MHz的PCI總線,可實(shí)現(xiàn)約132MB/s的數(shù)據(jù)傳輸率。以后將使用64位66MHz的PCI總線,以達(dá)到更高的數(shù)據(jù)傳輸率。來自CCD相機(jī)的高速數(shù)據(jù)流經(jīng)PCI采集卡交叉緩沖存儲后送往PCI總線,SCSI控制卡與PCI采集卡在PCI總線上通過DMA方式直接交換數(shù)據(jù)。記錄存儲介質(zhì)的接口采用SCSI總線接口。 1.2 SCSI總線接口 SCSI(Small Computer System Interface)小型計算機(jī)系統(tǒng)接口是一種連接主機(jī)與外圍設(shè)備的接口,支持包括磁盤驅(qū)動器、磁帶機(jī)、光驅(qū)、掃描儀在內(nèi)的多種設(shè)備。它由SCSI控制器進(jìn)行數(shù)據(jù)操作。SCSI控制器相當(dāng)于一塊小型CPU,有自己的命令集和緩存。SCSI 接口是智能化的,可以彼此通信而不增加CPU 的負(fù)擔(dān)。當(dāng)向SCSI硬盤讀寫數(shù)據(jù)時,主機(jī)CPU只需向SCSI控制卡發(fā)出讀寫命令,SCSI控制卡會自動處理并以DMA方式執(zhí)行相應(yīng)的讀寫操作,完全不需要主機(jī)的干預(yù),使主機(jī)和SCSI卡可以并行地工作。與IDE接口相比,速度、性能和穩(wěn)定性都要比IDE好得多,具體區(qū)別如表1。
SCSI接口幾經(jīng)變革,傳輸率、支持設(shè)備等功能都有大幅度的改進(jìn)。在速度上,SCSI接口規(guī)范隨時間有表2所示的規(guī)范版本。
從Ultra2之后,SCSI采用全新的LVD(Low Voltage Differential)串接模塊。LVD的特性為低電壓、信號干擾少、兼容傳統(tǒng)排線,可以有較長的串接距離,也可以兼顧傳輸速度與設(shè)備數(shù)。這次任務(wù)使用Ultra160,接口速度可達(dá)160MB/s。實(shí)際應(yīng)用中只需要55MB/s的傳輸速度。實(shí)際測出的速度達(dá)80MB/s以上。 2 系統(tǒng)軟件結(jié)構(gòu) 2.1 VxWorks操作系統(tǒng)簡介 系統(tǒng)軟件基于VxWorks操作系統(tǒng)平臺。VxWorks操作系統(tǒng)是目前世界上最先進(jìn)的高性能實(shí)時操作系統(tǒng),主要應(yīng)用于航空、航天、導(dǎo)彈武器系統(tǒng)(包括火星探陸車、愛國者導(dǎo)彈系統(tǒng)、F-16戰(zhàn)機(jī)等)。它包括一個微內(nèi)核、強(qiáng)大的網(wǎng)絡(luò)支持,以及文件系統(tǒng)和I/O管理、C++支持的各種模塊。它的多任務(wù)、搶占調(diào)度、快速上下文切換、低中斷延遲和快速靈活的通信機(jī)制更是VxWorks的突出優(yōu)點(diǎn)。 VxWorks特點(diǎn): (1) 支持多種CPU 包括x86、PowerPC、68K、i960、SPARC、Mips等。還支持RISC和DSP技術(shù)。 (2) 實(shí)時性 VxWorks系統(tǒng)本身的開銷很小,進(jìn)程調(diào)度、進(jìn)程間通信、中斷處理等系統(tǒng)公用程序精練而有效,造成的延遲很短。VxWorks提供多任務(wù)機(jī)制,對任務(wù)的控制采用了優(yōu)先級搶占(Preemptive Priority Scheduling)和輪轉(zhuǎn)調(diào)度(Round-Robin Scheduling)機(jī)制,也充分保證了可靠的實(shí)時性,使同樣的硬件配置能滿足更強(qiáng)的實(shí)時性要求,為應(yīng)用的開發(fā)留下更大的余地。 (3) 可裁減性 用戶在使用操作系統(tǒng)時,并不是操作系統(tǒng)中的每一個部件都用到。例如圖形顯示、文件系統(tǒng)以及一些設(shè)備驅(qū)動在某些嵌入式系統(tǒng)中并不使用。VxWorks 由一個體積很小的內(nèi)核及一些可以根據(jù)需要進(jìn)行定制的系統(tǒng)模塊組成,可裁剪的組件超過80個。VxWorks內(nèi)核最小為 8KB,即便加上其它必要模塊,所占用的空間也很小,且不失其實(shí)時、多任務(wù)的系統(tǒng)特征。由于其高度靈活,用戶可以很容易地對這一操作系統(tǒng)進(jìn)行定制或適當(dāng)開發(fā),滿足自己的實(shí)際應(yīng)用需要。 (4) 可靠性 操作系統(tǒng)的可靠性是用戶首要考慮的問題。而穩(wěn)定、可靠一直是VxWorks的一個突出優(yōu)點(diǎn)。VxWorks以其良好的可靠性在一些實(shí)時關(guān)鍵任務(wù)領(lǐng)域贏得了廣泛的用戶。 系統(tǒng)軟件結(jié)構(gòu)如圖2所示。記錄系統(tǒng)完全通過接收來自RS-232串口或TCP網(wǎng)絡(luò)的命令字進(jìn)行工作。記錄結(jié)束后通過TCP網(wǎng)絡(luò)下載記錄數(shù)據(jù)。 首先進(jìn)行系統(tǒng)初始化,對各硬件進(jìn)行必要的初始設(shè)置,確定其工作狀態(tài)。包括:網(wǎng)絡(luò)部件的初始化、SCSI卡的初始化、SCSI硬盤的初始化、PCI采集卡的初始化以及處理來自PCI采集卡硬件中斷的信號量的初始化。 然后進(jìn)行系統(tǒng)自檢,包括對SCSI硬盤記錄速度測試自檢以判定是否能達(dá)到要求的記錄速度、硬盤的讀寫自檢,以及對自己定義在硬盤前一段當(dāng)作數(shù)據(jù)檢索用的信息頭的自檢。 系統(tǒng)自檢成功后將會調(diào)用taskSpawn()系統(tǒng)調(diào)用使處理串口和網(wǎng)絡(luò)命令的模塊運(yùn)行起來。根據(jù)主控計算機(jī)發(fā)來的命令字調(diào)用相應(yīng)的功能模塊并給主控計算機(jī)相應(yīng)的回答響應(yīng)。具體命令包括:A查詢系統(tǒng)版本、B自檢、C開始記錄、D停止記錄、E查詢硬盤剩余容量、F開始圖像數(shù)據(jù)下載、G查詢系統(tǒng)狀態(tài)、H硬盤清空、I查詢單次任務(wù)信息。系統(tǒng)最重要的工作是記錄任務(wù)。PCI采集卡每75ms發(fā)出一個中斷,在這段時間里采集卡已經(jīng)完成了一個緩沖區(qū)共4MB數(shù)據(jù)的采集,此時來的圖像數(shù)據(jù)流存儲在另外一個4MB緩沖區(qū)中,即所謂的交叉存儲技術(shù),以保證數(shù)據(jù)不會丟失。在這75ms時間內(nèi)必須完成記錄4MB的任務(wù),記錄速度約為54MB/s。在實(shí)際測試中,記錄4MB的數(shù)據(jù)一般50ms即可完成,記錄速度約為80MB/s,因此較好地完成了記錄任務(wù)。實(shí)際編程,在硬件中斷服務(wù)程序中只是用semGive()系統(tǒng)函數(shù)放出一個信號量,由發(fā)起任務(wù)具體處理記錄操作。中斷服務(wù)程序不象一般的任務(wù)那樣運(yùn)行在普通的任務(wù)上下文中,它沒有任務(wù)控制塊,所有的中斷服務(wù)程序共享一個堆棧。所以對中斷服務(wù)程序的基本要求就是不能引起阻塞。例如在中斷服務(wù)程序不能調(diào)用printf()函數(shù)用于輸出信息。 此外,在中斷服務(wù)程序中也不能通過VxWorks驅(qū)動執(zhí)行I/O操作。此項(xiàng)目中陣列了三個SCSI硬盤,每個硬盤容量為36GB,共計108GB。由于一個硬盤物理的持續(xù)讀寫速度在30MB/s左右,因此必須陣列地讀寫多個SCSI硬盤,在處理中斷服務(wù)程序的任務(wù)中利用每個硬盤物理的讀寫間隙,按一定時隙分別寫入每個硬盤一定的數(shù)據(jù)量,實(shí)現(xiàn)了硬盤的并行工作,達(dá)到了高速存儲記錄的目的。 本系統(tǒng)成功地應(yīng)用于實(shí)際工程項(xiàng)目中,其可靠性和實(shí)時性已在嚴(yán)格的實(shí)際應(yīng)用環(huán)境中得到檢驗(yàn)。下一步,將進(jìn)一步提高記錄系統(tǒng)的性能指標(biāo),采用基于64位66MHz的PCI總線、SCSI Ultra 320接口、千兆網(wǎng)絡(luò)接口以及陣列更多的SCSI硬盤,使系統(tǒng)的記錄速度、記錄容量、下載傳輸速度和可靠性都有更大的提高。本系統(tǒng)雖然是專門為我所實(shí)時測控系統(tǒng)中高速記錄任務(wù)而設(shè)計,但實(shí)際上也廣泛地應(yīng)用于圖像處理、雷達(dá)、聲納等對實(shí)時圖像記錄有要求的領(lǐng)域。 |
- 記錄系統(tǒng)(7608)
相關(guān)推薦
高速嵌入式SCSI硬盤陣列記錄系統(tǒng)的組成結(jié)構(gòu)和應(yīng)用設(shè)計方案


VxWorks操作系統(tǒng)具有哪些優(yōu)點(diǎn)
VxWorks操作系統(tǒng)基于ARM處理器的中斷怎么處理?
VxWorks操作系統(tǒng)有什么優(yōu)點(diǎn)?
VxWorks操作系統(tǒng)調(diào)試方法
Vxworks實(shí)時操作系統(tǒng)分析
嵌入式操作系統(tǒng)VxWorks設(shè)備驅(qū)動程序該怎么設(shè)計?
嵌入式操作系統(tǒng)UCOSII移植筆記
嵌入式操作系統(tǒng)上的FreeRTOS操作系統(tǒng)分析
嵌入式操作系統(tǒng)及其特點(diǎn)
嵌入式操作系統(tǒng)怎么實(shí)現(xiàn)網(wǎng)絡(luò)加載?
嵌入式操作系統(tǒng)怎么選擇?
嵌入式操作系統(tǒng)有哪些
嵌入式操作系統(tǒng)有哪些分類
嵌入式操作系統(tǒng)的發(fā)展
嵌入式操作系統(tǒng)的特點(diǎn)和應(yīng)用
嵌入式操作系統(tǒng)的相關(guān)資料分享
嵌入式操作系統(tǒng)相關(guān)資料分享
嵌入式系統(tǒng)和嵌入式電腦有什么區(qū)別?
嵌入式系統(tǒng)開發(fā)中操作系統(tǒng)的選型依據(jù)是什么
嵌入式Linux操作系統(tǒng)
嵌入式XPE操作系統(tǒng)構(gòu)建時要注意什么?
嵌入式實(shí)時操作系統(tǒng)FreeRTOS基本概述
嵌入式實(shí)時操作系統(tǒng)如何簡化應(yīng)用軟件的設(shè)計
操作系統(tǒng)除了嵌入式系統(tǒng)還有什么操作系統(tǒng)?
ARM嵌入式操作系統(tǒng)匯總
Android車載嵌入式操作系統(tǒng)怎么樣?
Linux嵌入式操作系統(tǒng)有什么優(yōu)勢?
Linux作為嵌入式操作系統(tǒng)的優(yōu)勢是什么?如何建立嵌入式Linux?
STM32嵌入式操作系統(tǒng)介紹
STM32嵌入式操作系統(tǒng)介紹
主流的14種嵌入式操作系統(tǒng)的特點(diǎn)
主流的嵌入式操作系統(tǒng)有哪些?
什么是VxWorks操作系統(tǒng)
什么是嵌入式操作系統(tǒng)內(nèi)存管理技術(shù)?
什么是嵌入式操作系統(tǒng)?嵌入式操作系統(tǒng)有何功能
什么是嵌入式操作系統(tǒng)?
什么是嵌入式系統(tǒng)復(fù)合通信模式?
介紹十四種嵌入式操作系統(tǒng)的特點(diǎn)
關(guān)于嵌入式操作系統(tǒng)和PC機(jī)的操作系統(tǒng)
在嵌入式操作系統(tǒng)下進(jìn)行開發(fā)的系統(tǒng)有哪些
基于嵌入式操作系統(tǒng)μcLinux怎么實(shí)現(xiàn)對網(wǎng)卡的驅(qū)動?
基于嵌入式視頻存儲的專用文件系統(tǒng)該怎么設(shè)計?
基于Linux的嵌入式操作系統(tǒng)
如何利用TS101DSP芯片實(shí)現(xiàn)嵌入式實(shí)時操作系統(tǒng)的設(shè)計?
如何實(shí)現(xiàn)嵌入式操作系統(tǒng)電源管理?
如何實(shí)現(xiàn)嵌入式操作系統(tǒng)的網(wǎng)絡(luò)加載?
如何提升嵌入式系統(tǒng)的VxWorks安全性?
如何構(gòu)建嵌入式Linux系統(tǒng)?
常見嵌入式操作系統(tǒng)介紹
常見的嵌入操作系統(tǒng)的利弊都有哪些?
快速入門嵌入式實(shí)時操作系統(tǒng)VxWorks實(shí)驗(yàn)教程
怎么設(shè)計開源嵌入式操作系統(tǒng)學(xué)習(xí)平臺?
怎樣去學(xué)習(xí)嵌入式Linux操作系統(tǒng)呢
怎樣去更好地使用嵌入式實(shí)時操作系統(tǒng)RTOS呢
用于嵌入式系統(tǒng)的操作系統(tǒng)
移植BootLoader嵌入式操作系統(tǒng)
請教VxWorks嵌入式操作系統(tǒng)上的應(yīng)用軟件中如何刪除文本中...
談?wù)?b class="flag-6" style="color: red">嵌入式操作系統(tǒng)的調(diào)試問題
通用嵌入式操作系統(tǒng)有什么區(qū)別?
嵌入式實(shí)時操作系統(tǒng)VxWorks中串口通信的實(shí)現(xiàn)

基于嵌入式操作系統(tǒng)VxWorks的SCSI硬盤高速記錄系統(tǒng)

嵌入式實(shí)時操作系統(tǒng)COS一Ⅱ與VxWORKs

嵌入式操作系統(tǒng)VxWorks設(shè)備驅(qū)動程序的設(shè)計

嵌入式VxWorks系統(tǒng)開發(fā)與應(yīng)用_王學(xué)龍

嵌入式VxWorks實(shí)時操作系統(tǒng)中串口通信的實(shí)現(xiàn)

基于嵌入式操作系統(tǒng)VxWorks的SCSI硬盤高速記錄系統(tǒng)


(完整版)vxworks嵌入式操作系統(tǒng)

嵌入式操作系統(tǒng)VxWorks中的網(wǎng)絡(luò)通信

什么是嵌入式操作系統(tǒng) 常見的嵌入式系統(tǒng)有哪些

嵌入式操作系統(tǒng)

一種嵌入式操作系統(tǒng)—VxWorks

評論