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