在一些特別的科學研究和工程應用領域,需要采用高幀頻、大面陣的CCD相機以獲取高質量的圖像數據,用于對變化較快的觀測對象的運動軌跡及其變化特性分析或實時計算。由此可產生高達50MB/s以上的實時數據流,需要持續地實時記錄,以便于事后分析。
本文介紹中科院光電技術研究所針對高速實時圖像記錄任務的要求,專門設計開發的VxWorks嵌入式操作系統下的高速嵌入式SCSI硬盤陣列記錄系統。
在本系統中采用的高幀頻CCD數字相機其工作幀頻為:200幀/秒,分辨率為:532×516像素,8bit灰度級,有效數據率約為55MB/s。要求能對其長時間地持續記錄,且不允許中間有丟幀現象。
實際工程項目中,在技術上采用了嵌入式計算機和Vxworks嵌入式操作系統以及SCSI硬盤陣列系統,成功地完成了上述任務。
1 系統硬件結構
1.1 硬件框圖
硬件框圖如圖1所示。
整個系統在硬件上由嵌入式計算機、CCD相機、PCI采集卡、SCSI控制卡及SCSI硬盤陣列組成。系統基于PCI總線架構。目前使用32位33MHz的PCI總線,可實現約132MB/s的數據傳輸率。以后將使用64位66MHz的PCI總線,以達到更高的數據傳輸率。來自CCD相機的高速數據流經PCI采集卡交叉緩沖存儲后送往PCI總線,SCSI控制卡與PCI采集卡在PCI總線上通過DMA方式直接交換數據。記錄存儲介質的接口采用SCSI總線接口。
1.2 SCSI總線接口
SCSI(Small Computer System Interface)小型計算機系統接口是一種連接主機與外圍設備的接口,支持包括磁盤驅動器、磁帶機、光驅、掃描儀在內的多種設備。它由SCSI控制器進行數據操作。SCSI控制器相當于一塊小型CPU,有自己的命令集和緩存。SCSI 接口是智能化的,可以彼此通信而不增加CPU 的負擔。當向SCSI硬盤讀寫數據時,主機CPU只需向SCSI控制卡發出讀寫命令,SCSI控制卡會自動處理并以DMA方式執行相應的讀寫操作,完全不需要主機的干預,使主機和SCSI卡可以并行地工作。與IDE接口相比,速度、性能和穩定性都要比IDE好得多,具體區別如表1。
SCSI接口幾經變革,傳輸率、支持設備等功能都有大幅度的改進。在速度上,SCSI接口規范隨時間有表2所示的規范版本。
從Ultra2之后,SCSI采用全新的LVD(Low Voltage Differential)串接模塊。LVD的特性為低電壓、信號干擾少、兼容傳統排線,可以有較長的串接距離,也可以兼顧傳輸速度與設備數。這次任務使用Ultra160,接口速度可達160MB/s。實際應用中只需要55MB/s的傳輸速度。實際測出的速度達80MB/s以上。
2 系統軟件結構
2.1 VxWorks操作系統簡介
系統軟件基于VxWorks操作系統平臺。VxWorks操作系統是目前世界上最先進的高性能實時操作系統,主要應用于航空、航天、導彈武器系統(包括火星探陸車、愛國者導彈系統、F-16戰機等)。它包括一個微內核、強大的網絡支持,以及文件系統和I/O管理、C++支持的各種模塊。它的多任務、搶占調度、快速上下文切換、低中斷延遲和快速靈活的通信機制更是VxWorks的突出優點。
VxWorks特點:
(1) 支持多種CPU
包括x86、PowerPC、68K、i960、SPARC、Mips等。還支持RISC和DSP技術。
(2) 實時性
VxWorks系統本身的開銷很小,進程調度、進程間通信、中斷處理等系統公用程序精練而有效,造成的延遲很短。VxWorks提供多任務機制,對任務的控制采用了優先級搶占(Preemptive Priority Scheduling)和輪轉調度(Round-Robin Scheduling)機制,也充分保證了可靠的實時性,使同樣的硬件配置能滿足更強的實時性要求,為應用的開發留下更大的余地。
(3) 可裁減性
用戶在使用操作系統時,并不是操作系統中的每一個部件都用到。例如圖形顯示、文件系統以及一些設備驅動在某些嵌入式系統中并不使用。VxWorks 由一個體積很小的內核及一些可以根據需要進行定制的系統模塊組成,可裁剪的組件超過80個。VxWorks內核最小為 8KB,即便加上其它必要模塊,所占用的空間也很小,且不失其實時、多任務的系統特征。由于其高度靈活,用戶可以很容易地對這一操作系統進行定制或適當開發,滿足自己的實際應用需要。
(4) 可靠性
操作系統的可靠性是用戶首要考慮的問題。而穩定、可靠一直是VxWorks的一個突出優點。VxWorks以其良好的可靠性在一些實時關鍵任務領域贏得了廣泛的用戶。
2.2 系統軟件功能
評論
查看更多