基于DSP和VxWorks的RTOS視頻網(wǎng)絡檢測系統(tǒng)
在遠程測控系統(tǒng)中,嵌入式系統(tǒng)由于其穩(wěn)定性和實時性優(yōu)于傳統(tǒng)平臺而得到迅速發(fā)展。本文提出了一種以DSP芯片和VxWorks為操作系統(tǒng)的新型嵌入式系統(tǒng)設計方法。
1 測試系統(tǒng)工作原理
測試系統(tǒng)的主要任務是采用DSP芯片處理通過攝像頭拍攝并經(jīng)過A/D轉換的圖像。整個系統(tǒng)由視頻解碼器、DSP和PCI總線專用芯片組成。系統(tǒng)通過PCI總線同通信平臺交換數(shù)據(jù),同時通過網(wǎng)絡進行檢測控制。
2 關鍵設計及器件選擇
本系統(tǒng)設計的關鍵是視頻處理卡的設計,一般的視頻檢測卡功能有限,不能滿足本項目的需求,為此,筆者自行設計了一塊視頻檢測卡。
2.1 TMS320C32的功能特點
本測試系統(tǒng)中的DSP芯片選用T I公司的T M S 3 2 0 C 3 x系列產(chǎn)品,該器件的工作頻率為40MHz;采用哈佛總線結構。并且擁有獨特的指令系統(tǒng)和硬件乘加運算;外帶256K×32Bit的 FLASH、2k×8Bit的NVRAM和256K×32Bit的SRAM。該芯片是在TMS320C30的基礎上簡化而來的,含有TMS320C30的CPU內(nèi)核。
TMS320C32的主要功能如下:
●帶有程序引導功能;●串行接口傳輸和存儲器均可支持8、16、32位的數(shù)據(jù);
●可產(chǎn)生邊沿中斷和電平中斷;●可由用戶編程設定中斷向量表地址;
● 具有空等待和低功耗兩種電源管理方式;●具有兩個DMA通道;
●功能強大的外部存儲器接口既可以滿足視頻解碼接口8位數(shù)據(jù)的要求,又可以實現(xiàn)PCI接口32位數(shù)據(jù)的高速數(shù)據(jù)傳輸;
●靈活的程序加載可實現(xiàn)在系統(tǒng)編程;
一般情況下,S5933和DSP之間的硬件連接就是利用DSP的讀寫信號R/ W、地址選通控制信號IOSTRB、外部設備就緒信號RDY和部分地址信號以及S5933的FIFO狀態(tài)信號WRFULL來進行簡單的時序和邏輯組合,從而生成對S5933外加總線接口的讀寫控制信號。
2.2 其它器件的選擇
本系統(tǒng)中的CPLD芯片選用ALTERA公司的EPM9320RC208。兩組幀存儲器A和B采用CYPRESS公司生產(chǎn)的兩塊CY7C1049芯片,該芯片的容量為512k×8bit,存取時間不超過15ns,能滿足圖像實時采集要求。通過CPLD內(nèi)部的一個乒乓開關控制模塊可自動完成幀間讀寫兩個通道接口的切換。而DSP和SAA7113之間的所有控制信號接口邏輯和時序轉換都由CPLD來完成,并可編程修改,因而提高了系統(tǒng)的使用靈活性和可靠性。
SAA7113的作用是實現(xiàn)模擬圖像的A/D轉換。DSP與SAA7113之間的硬件接口的控制邏輯包括兩個子模塊:幀圖像寫入控制器和乒乓開關,這兩種功能可由一塊CPLD來完成。
在視頻卡設計中,電源模塊的設計也非常關鍵,它直接影響著視頻卡的最后實現(xiàn)和穩(wěn)定運行。
本監(jiān)控系統(tǒng)采用TI公司的TPS3307-33D來作為電源檢測IC。該器件的Reset有效電源復位電壓值定義為VDD=1.1V。TPS3307-33D可同時監(jiān)視兩種獨立電壓,還可控制另外一種電壓,這種電壓可以獨立調(diào)整并在內(nèi)部與復位邏輯電路相連。
3 通信平臺的嵌入式系統(tǒng)設計
本設計的軟件系統(tǒng)包括底層軟件和系統(tǒng)軟件兩部分,其中底層軟件主要是DSP圖像處理算法以及啟動等運行程序,這些程序可在CCS環(huán)境下由C語言編寫并進行匯編優(yōu)化,CCS是TI公司發(fā)布的DSP軟件運行環(huán)境;
在系統(tǒng)軟件方面,基于PCI總線的圖像處理系統(tǒng)所面臨的難點頗多,其中難度最大的是PCI驅(qū)動問題。
3.1 系統(tǒng)軟件的設計
系統(tǒng)軟件可以選用以VxWorks為操作系統(tǒng)的嵌入式設計方法。
VxWorks操作系統(tǒng)的集成環(huán)境叫Tornado。Tor-nado集成環(huán)境是一個高效明晰的圖形化實時應用開發(fā)平臺,它包括一套完整的、面向嵌入式系統(tǒng)的開發(fā)和調(diào)測工具。VxWorks的優(yōu)點如下:
(1)具有較好的可裁減性;
(2)支持應用程序的動態(tài)鏈接和動態(tài)下載;
(3)具有較好的兼容性;
(4)具有很高的可靠性和穩(wěn)定性;
(5)具有很好的實時性;
VxWorks的多任務機制對任務的控制采用優(yōu)先級搶占和輪轉調(diào)度機制,從而充分保證了實時性,并可用同樣的硬件配置滿足更強的實時性要求,以便為應用開發(fā)留下更大的余地。
PCI設備有三種物理存儲空間:配置空間、存儲器空間和I/O空間。其中配置空間是長度為256字節(jié)的一段連續(xù)空間,空間定義如圖4所示,在配置空間中, 只讀空間包括設備標識、供應商代碼、修改版本、分類代碼以及頭標類型。其中供應商代碼用來標識設備供應商的代碼;設備標識用來標識某一特殊的設備;修改版 本標識設備的版本號;分類代碼用來標識設備的種類;而頭標類型用來標識頭類型以及是否為多功能設備。除供應商代碼之外,其他字段的值可由供應商分配。
基地址寄存器最重要的功能是分配PCI設備的系統(tǒng)地址空間。在基地址寄存器中,bit0(最低位)可用來標識到底是存儲器空間還是I/O地址空間?;刂?寄存器映射到存儲器空間時,bit0為“0”,而當其映射到I/O地址空間時,bit0為“1”。
在驅(qū)動PCI設備時,首先是PCI設備的查找。嵌入式操作系統(tǒng)一般都提供有相應的API函數(shù)查找。而在VxWorks操作系統(tǒng)中,通過函數(shù) pciFindDevicePCI_VENDOR_IDPCI_DEVICEindex pciBus pciDevice,pciFunc_可以找到供應商代碼為PCI_VENDOR_ID、設備標識為PCI_DEVICE的第n(index+1)個 設備,并且返回總線號、設備號以及功能號,然后分別保存于pciBus、pciDevice、pci-Func中。
其次是PCI設備的配置。通過操作系統(tǒng)提供的API函數(shù)可以訪問PCI設備的配置空間,從而完成PCI設備基址寄存器的配置、中斷配置、以及ROM基地址 寄存器的配置,最終得到PCI存儲器空間和I/O地址空間的映射以及設備中斷號等。在VxWorks操作系統(tǒng)中,訪問PCI設備配置空間的API函數(shù)有: pciConfigOutLong和pciConfigInLong等,它們可分別完成對PCI設備配置空間的讀寫操作。
然后是根據(jù)PCI設備的配置參數(shù)來編寫不同設備的初始化程序、中斷服務程序以及對PCI設備存儲空間的訪問程序。
3.2 遠程控制與通信鏈路
由于基于串行口的PPP協(xié)通信方式現(xiàn)已被各種ISP所接受。而且VxWorks系統(tǒng)也支持PPP協(xié)議,因此,在VxWorks下通過Modem建立與ISP的物理連接,然后再完成設備的PPP數(shù)據(jù)鏈路設置,就可以通過Internet實現(xiàn)遠程控制。
評論