基于RS-485總線的計(jì)算機(jī)視頻監(jiān)控系統(tǒng)設(shè)計(jì)
RS-485總線采用平衡發(fā)送和差分接收方式實(shí)現(xiàn)通信:發(fā)送端將串行口的TTL電平信號(hào)轉(zhuǎn)換成差分信號(hào)A,B兩路輸出,經(jīng)過線纜傳輸之后在接收端將差分信號(hào)還原成TTL電平信號(hào)。由于傳輸線通常使用雙絞線,又是差分傳輸,所以又極強(qiáng)的抗共模干擾的能力,總線收發(fā)器靈敏度很高,可以檢測(cè)到低至200mV電壓。故傳輸信號(hào)在千米之外都是可以恢復(fù)。RS-485總線最大的通信距離約為1219M,最大傳輸速率為10Mb/S,傳輸速率與傳輸距離成反比,在100Kb/S的傳輸速率下,才可以達(dá)到最大的通信距離,如果需傳輸更長(zhǎng)的距離,需要加485中繼器。RS-485采用半雙工工作方式,支持多點(diǎn)數(shù)據(jù)通信。RS-485總線網(wǎng)絡(luò)拓?fù)湟话悴捎媒K端匹配的總線型結(jié)構(gòu)。即采用一條總線將各個(gè)節(jié)點(diǎn)串接起來,不支持環(huán)形或星型網(wǎng)絡(luò)。如果需要使用星型結(jié)構(gòu),就必須使用485中繼器或者485集線器才可以。RS-485總線總線一般最大支持32個(gè)節(jié)點(diǎn),如果使用特制的485芯片,可以達(dá)到128個(gè)或者256個(gè)節(jié)點(diǎn),最大的可以支持到400個(gè)節(jié)點(diǎn)。
1 視頻監(jiān)控系統(tǒng)的組成
本監(jiān)控系統(tǒng)的一臺(tái)主機(jī)和多臺(tái)從機(jī)組成,如圖1所示。主機(jī)為工控機(jī),內(nèi)含高速RS-485通信卡,主要完成監(jiān)控系統(tǒng)的控制、管理和圖像數(shù)據(jù)的后期處理等任務(wù)。從機(jī)為便攜式圖像壓縮終端,該終端以TI公司的TMS320VC5402數(shù)字信號(hào)處理器為核心,擴(kuò)展一些外圍器件組成一個(gè)獨(dú)立的視頻圖像壓縮和傳輸設(shè)備,主要完成視頻圖像的實(shí)時(shí)采集、變換編碼和傳輸控制。主機(jī)與從機(jī)之間通過RS-485總線進(jìn)行通信。主要啟動(dòng)并控制網(wǎng)上每一次通信,每個(gè)從機(jī)有一個(gè)唯一的地址,只有被尋址的從機(jī)響應(yīng)主機(jī)的命令并向主機(jī)發(fā)回信息幀。當(dāng)從機(jī)數(shù)量超過64個(gè)或與主機(jī)距離超過120m時(shí),應(yīng)在網(wǎng)絡(luò)上加裝中繼器以保證通信速率達(dá)到1Mbps。
2 便攜式圖像壓縮終端簡(jiǎn)介
壓縮終端是本系統(tǒng)的關(guān)鍵部件,組成框圖如圖2所示。它以TMS320VC5402 DSP為處理器,擴(kuò)展了視頻器、行場(chǎng)分離電路、幀緩沖器、程序存儲(chǔ)器、串行通信接口芯片和RS-485總線接口芯片。
2.1 TMS320VC5402 DSP簡(jiǎn)介
TMS320VC5402 DSP(以下簡(jiǎn)稱C5402)是TI公司生產(chǎn)的新一代定點(diǎn)DSP芯片,C5402是C5000系列中性價(jià)比較高的一顆芯片。獨(dú)特的6總線哈佛結(jié)構(gòu),使其能夠6條流水線同時(shí)工作,工作頻率達(dá)到100MHz。VC5402除了使用VC54x系列中常用的通用I/O口(GeneralPurposeI/O,簡(jiǎn)稱GPIO)外,還為用戶提供了多個(gè)可選的GPIO:HPI-8和McBSP。
C5402主要特點(diǎn)有 :
(1)操作速率達(dá)1 0 0MIPS ;
?。?)具有先進(jìn)的多總線結(jié)構(gòu) (1條程序總線、3條數(shù)據(jù)總線和 4條地址總線 ) ;
?。?) 40位算術(shù)邏輯運(yùn)算單元 (ALU) ,包括 1個(gè) 40位桶形移位寄存器和 2個(gè)獨(dú)立的 40位累加器 ;
?。?)17位 17位并行乘法器與 40位專用加法器相連,用于非流水式單周期乘法 /累加 (MAC)運(yùn)算 ;
(5)雙地址生成器 ,包括 8個(gè)輔助寄存器和 2個(gè)輔助寄存器算術(shù)運(yùn)算單元 (ARAU) ;
?。?)數(shù)據(jù) /程序?qū)ぶ房臻g 1M 1 6bit,內(nèi)存 4K 1 6bitROM和 1 6K 1 6bit雙存取RAM ;
(7)內(nèi)置可編程等待狀態(tài)發(fā)生器、鎖相環(huán) (PLL)時(shí)鐘發(fā)生器、2個(gè)多通道緩沖串行口、1個(gè) 8位并行與外部處理器通信的HPI口、2個(gè) 1 6位定時(shí)器以及 6通道DMA控制器 ;
?。?)低功耗 ,工作電源 3 . 3V和1 .8V(內(nèi)核 ) 。
2.2 視頻采集電路
視頻圖像信號(hào)采集由視頻緩沖器、高速A/D轉(zhuǎn)換器和行、場(chǎng)同步分離電路組成。A/D轉(zhuǎn)換器采用TI公司的TLV5510芯片,TLV5510為8bit、10Msps的高速并行A/D轉(zhuǎn)換器,本電路中將TLV5510作為C5402的一個(gè)擴(kuò)展的并行輸入口,C5402的R/W信號(hào)作為轉(zhuǎn)換時(shí)鐘信號(hào),讀該端口時(shí)啟動(dòng)A/D轉(zhuǎn)換。行、場(chǎng)同步分離電路輸出行同步信號(hào)、垂直同步信號(hào)和奇、偶場(chǎng)信號(hào)作為C5402的外部中斷輸入信號(hào)。C5402采用中斷響應(yīng)方式采集一幀圖像的奇場(chǎng)數(shù)據(jù)和偶場(chǎng)數(shù)據(jù)。
2.3 存儲(chǔ)器配置
480KB的幀緩沖器用來存放原始圖像數(shù)據(jù)和壓縮后的圖像數(shù)據(jù),32KB的FlashROM用來存放應(yīng)用程序,二者都映射到C5402的外部數(shù)據(jù)空間。由于C5402的數(shù)據(jù)空間僅為64KW,因此采用內(nèi)存頁(yè)擴(kuò)展技術(shù),將外部數(shù)據(jù)空間擴(kuò)展為16頁(yè),每頁(yè)32KB。使用C5402的一個(gè)擴(kuò)展輸出口作為擴(kuò)展內(nèi)存的頁(yè)選擇信號(hào),分別選擇0~16頁(yè),并且將C5402的A15腳與擴(kuò)展靜態(tài)RAM的使能端相連,當(dāng)A15=0時(shí)選擇片內(nèi)RAM,當(dāng)A15=1時(shí)選擇片外RAM。因此本系統(tǒng)的數(shù)據(jù)存儲(chǔ)器配置如下:
系統(tǒng)硬件復(fù)位時(shí),頁(yè)選擇信號(hào)被自動(dòng)清零,F(xiàn)lashROM映射到數(shù)據(jù)空間,C5402將FlashROM中的應(yīng)用程序加載到片內(nèi)DARAM中。
2.4 數(shù)據(jù)傳輸電路
數(shù)據(jù)傳輸使用了TI公司的異步串行收發(fā)器TL16C550和MAXIM公司的MAX3485E。TL16C550含16bit的FIFO,通信速率達(dá)1Mbps。MAX3485E是半雙工RS-485總線接口芯片,傳輸速率達(dá)12Mbps,傳輸距離達(dá)4000英尺。
2.5 軟件實(shí)現(xiàn)
C54x DSP集成開發(fā)工具支持C語(yǔ)言和匯編語(yǔ)言編程,為了提高代碼執(zhí)行效率,滿足圖像實(shí)時(shí)壓縮和傳輸?shù)男枰?,采用匯編語(yǔ)言編程。主程序可分成以下幾個(gè)部分:
?。?)初始化C5402,接受上位機(jī)的命令幀,做好采集圖像的準(zhǔn)備工作;
?。?)開放奇場(chǎng)中斷(INT1),關(guān)閉偶場(chǎng)中斷(INT2)和行中斷(INT3);
?。?)當(dāng)奇場(chǎng)同步信號(hào)到來時(shí),C5402進(jìn)入奇場(chǎng)中斷服務(wù)子程序,開放行中斷做好采集奇場(chǎng)數(shù)據(jù)的準(zhǔn)備。當(dāng)行同步信號(hào)以來時(shí),C5402進(jìn)入行中斷服務(wù)子程序,連續(xù)采集一行圖像數(shù)據(jù)。當(dāng)各行圖像數(shù)據(jù)采集完畢后,關(guān)閉行中斷;
?。?)當(dāng)偶場(chǎng)同步信號(hào)到來時(shí),C5402進(jìn)入偶場(chǎng)中斷服務(wù)子程序,開放行中斷做好采集偶場(chǎng)數(shù)據(jù)的準(zhǔn)備。當(dāng)行同步信號(hào)到來時(shí),C5402進(jìn)入行中斷服務(wù)子程序,連續(xù)采集一行圖像數(shù)據(jù)。當(dāng)各行圖像數(shù)據(jù)采集完畢后,關(guān)閉行中斷和奇、偶場(chǎng)中斷;
(5)將圖像數(shù)據(jù)分成一系列的8×8塊,先對(duì)第一個(gè)數(shù)據(jù)塊進(jìn)行DCT變換、量化、Huffman編碼,然后開放串行口中斷(INT0),將壓縮后的圖像數(shù)據(jù)發(fā)送給上位機(jī)。重復(fù)執(zhí)行這個(gè)編碼和傳輸過程,直到全部圖像數(shù)據(jù)處理結(jié)束。最后關(guān)閉串行發(fā)送中斷,開始下一幀圖像的處理。
3 通信軟件設(shè)計(jì)
本系統(tǒng)為主從式監(jiān)控系統(tǒng),由主機(jī)啟動(dòng)并控制網(wǎng)上的每一次通信。主機(jī)先向從機(jī)下達(dá)采集圖像的命令,然后接收從機(jī)傳來的壓縮圖像數(shù)據(jù)。從機(jī)接受主機(jī)的命令,按命令要求調(diào)整攝象機(jī)的焦距和鏡頭方向、修改圖像大小和采樣速率,最后進(jìn)行圖像采集、壓縮和傳輸。要完成這些功能就必須定義嚴(yán)格的網(wǎng)絡(luò)通信協(xié)議。
3.1 網(wǎng)絡(luò)通信協(xié)議
本網(wǎng)絡(luò)為專用系統(tǒng),要求通信速率達(dá)到1Mbps,故采用電路交換方式。網(wǎng)上傳輸?shù)男畔H為兩種形式之一:命令幀或信息幀。
主機(jī)發(fā)往從機(jī)的命令幀由八個(gè)字節(jié)組成,如表1所示。地址為要訪問的從機(jī)地址、有效地址為0~255;焦距為攝象機(jī)的焦距編碼;方向?yàn)閿z象機(jī)鏡頭的方向編碼;大小為圖像的大小編碼;速度為圖像采樣率編碼;控制為現(xiàn)場(chǎng)控制設(shè)備或報(bào)警器控制命令編碼;校驗(yàn)-命令幀結(jié)束和校驗(yàn)標(biāo)志。
表1 命令幀格式
地址 | 焦距 | 方向 | 大小 | 速率 | 控制 | 校驗(yàn) |
從機(jī)發(fā)往主機(jī)垢信息幀如表2所示。地址為從機(jī)地址;狀態(tài)-攝象機(jī)焦距和鏡頭方向調(diào)整機(jī)構(gòu)及其它控制設(shè)備的狀態(tài)編碼;數(shù)據(jù)為圖像壓縮碼流;校驗(yàn)為信息幀校驗(yàn)和結(jié)束標(biāo)志。地址、狀態(tài)、校驗(yàn)均為一個(gè)字節(jié),數(shù)據(jù)長(zhǎng)度可變。
表2 信息幀格式
地址 | 狀態(tài) | 數(shù)據(jù) | 校驗(yàn) |
3.2 從機(jī)通信程序設(shè)計(jì)
從機(jī)通信流程如圖3所示。壓縮終端上電復(fù)位后打開串行口中斷,RS-485接口芯片處于接收狀態(tài)。一旦接到主機(jī)的命令幀,壓縮終端便按命令幀的要求調(diào)整焦距、鏡頭方向和其他控制設(shè)備的狀態(tài),然后進(jìn)行圖像的采集和壓縮編碼,同時(shí)檢測(cè)總線的狀態(tài)。若總線上沒有講者則將壓縮碼流發(fā)往主機(jī),總線被占用直到一幀信息幀全部發(fā)送完畢。為了提高圖像的處理效率,壓縮和傳輸并行進(jìn)行。
3.3 主機(jī)通信程序設(shè)計(jì)
主機(jī)通信流程控制如圖4所示。正常情況下,主機(jī)對(duì)全部或部分現(xiàn)場(chǎng)進(jìn)行輪流監(jiān)控,各壓縮終端送來的壓縮數(shù)據(jù)被分別保存起來,同時(shí)經(jīng)解壓縮后顯示在計(jì)算機(jī)屏幕上。一旦發(fā)生異常情況,主機(jī)自動(dòng)對(duì)異?,F(xiàn)場(chǎng)進(jìn)行單獨(dú)監(jiān)控。主機(jī)在向壓縮終端發(fā)命令幀之間檢測(cè)總線的狀態(tài),若總線上沒有講者則將命令幀發(fā)往壓縮終端,然后將RS-485接口置于接收狀態(tài),等待壓縮終端發(fā)送信息幀。為了保證命令幀的可靠性,命令幀被連續(xù)發(fā)送三次。
本系統(tǒng)使用TMS320VC5402 DSP和RS-485總線實(shí)現(xiàn)了靜止圖像的實(shí)時(shí)壓縮和高速傳輸。采用標(biāo)準(zhǔn)JPEG壓縮算法,每秒鐘可壓縮并傳輸5幀512×512×8的灰度圖像,性價(jià)比極高,適用于無人倉(cāng)庫(kù)、超級(jí)市場(chǎng)、交通道口、井下工程、列車車箱等的監(jiān)控管理。
評(píng)論