電視監(jiān)控系統(tǒng)中CAN總線網(wǎng)絡(luò)應(yīng)用研究
隨著計算機技術(shù),通信技術(shù)和電視技術(shù)的發(fā)展,在許多場合,為了監(jiān)視和控制現(xiàn)場的運行狀況,提出了電視監(jiān)控系統(tǒng),用以實施集中控制,尤其是控制點與現(xiàn)場較遠(yuǎn),需要的監(jiān)視點比較多時,控制點和各個監(jiān)視點形成多微機系統(tǒng)。隨著現(xiàn)場總線技術(shù)的發(fā)展,CAN總線以其獨特的優(yōu)點,開始登上舞臺。CAN總線的傳輸距離可以達(dá)到10km,數(shù)據(jù)傳輸速率高達(dá)1Mbit/s,很好的解決了本電視監(jiān)控系統(tǒng)中的要求傳輸距離遠(yuǎn)、實時性強的問題。同時,CAN總線在報文傳送中不包含目的地址,以全網(wǎng)廣播為基礎(chǔ),各接收站根據(jù)報文中反映數(shù)據(jù)性質(zhì)的標(biāo)識過濾報文[1]。這種報文中不含目的地址的報文格式縮短了幀的長度,減少了傳輸中地址匹配的麻煩,提高了傳輸速率。而這種全網(wǎng)廣播形式,使各個節(jié)點站沒有主從之分,可以平等的向其他節(jié)點發(fā)送報文,減輕了將作為主節(jié)點的節(jié)點負(fù)擔(dān),也避免了主從機之間的通信。這種多主式總線局域網(wǎng)實現(xiàn)了本電視監(jiān)控系統(tǒng)的實時、較高數(shù)據(jù)要求的系統(tǒng)功能。
1 多通道多微機電視監(jiān)控系統(tǒng)簡介
如圖1所示,本系統(tǒng)設(shè)有64臺彩色攝像機,每臺攝像機配有可自動調(diào)整的鏡頭和云臺,每個單元作為CAN總線網(wǎng)絡(luò)的一個節(jié)點,64個節(jié)點構(gòu)成被控單元。這64臺設(shè)備分布在室外、室內(nèi)、廣場、站臺等場所。其中每一個節(jié)點以主控室為中心,通過CAN總線和64條視頻電纜與主控制室的上位機連接。
圖1 多通道多微機電視監(jiān)控系統(tǒng)組成
主控制室為系統(tǒng)控制中心,在CAN總線網(wǎng)絡(luò)中充當(dāng)上位機的角色。本系統(tǒng)雖為多主式控制系統(tǒng),但需要一個總控制中來對各個子控制室進行協(xié)調(diào)和管理。主控制室主要由一個帶有CAN接口的上位機構(gòu)成,還有一個用彩色監(jiān)視器組成的電視屏幕墻,作為系統(tǒng)的總監(jiān)視。其余個控制臺設(shè)1太彩色監(jiān)視器作為輔助監(jiān)視。
本系統(tǒng)可連接4個獨立的控制臺終端,每個控制臺終端與彩色攝像機和云臺的角色一樣,構(gòu)成一個CAN總線網(wǎng)絡(luò)節(jié)點。4個控制臺形成主控單元,但必須聽從上位機主控室的協(xié)調(diào)。它是編程,設(shè)定攝像機控制的發(fā)令終端。4個控制臺分別設(shè)在各樓的主管部門,與主調(diào)度室最遠(yuǎn)可達(dá)1km。
2 通信電路設(shè)計原理
2.1 云臺、鏡頭控制器
云臺有上、下、左、右旋轉(zhuǎn)控制,是通過控制2臺電機正反轉(zhuǎn)來實現(xiàn)的,鏡頭有光圈大、小,焦距遠(yuǎn)、近,變倍大、小6個通電和斷點開關(guān)控制。此外,還有雨刷動作控制。
如圖2所示,89C51作為CPU控制器,TXD和RXD兩條通訊線分別經(jīng)過光隔和CAN控制器連接,通過CAN總線收發(fā)器連接到CAN總 線上,完成與帶有CAN接口卡的上位機的連接電路,使用CAN總線協(xié)議。另外,2732是一個EPROM,存放控制程序。P1口P3口作為11個開關(guān)量。P1口除了作為8個開關(guān)量輸入輸出以外,還用2個74LS244實現(xiàn)8位撥碼開關(guān)作為輸入64個控制器的硬件序號設(shè)定。
圖2 云臺、鏡頭控制器電路原理圖
2.2控制臺電路設(shè)計
控制臺電路基本有以下三部分組成:
1. 鍵盤接口。采用行輸出列輸入程序?qū)崟r掃描方案。74LS373作為行輸出接口,74LS244作為列出入接口。按鍵分為三類:0~9為數(shù)字鍵;一類功能鍵,包括動作、執(zhí)行、左移、右移、鎖定、循環(huán)、方式、讀出、時間等功能;另一類就是攝象機動作控制鍵,包括了上、下、左、右、光圈大、小,焦距遠(yuǎn)、近,變倍大、小,雨刷動等。
2. LED數(shù)碼顯示接口。
3. 撥碼開關(guān)接口。參考圖2。
4. 發(fā)光二極管顯示燈。作為運行狀態(tài)指示。
5. CAN控制單元接口。這是一個與云臺、鏡頭控制電路中相同功能的接口。
2.3主控制室電路設(shè)計
從圖1可知,該系統(tǒng)所形成網(wǎng)絡(luò)結(jié)構(gòu)為分布式網(wǎng)絡(luò)。接口電路有兩種接口,視頻矩陣切換控制電路和多路控制的串行接口——-CAN總線。主控室的上位機通過CAN接口卡(以SJA1000為控制器)實現(xiàn)與下位機節(jié)點的連接。視頻矩陣切換控制電路主要是接收攝像機與云臺傳送過來的視頻圖像,并將視頻圖像輸出到各個子控制室。由于視頻信號要經(jīng)過CAN總線的數(shù)字通道傳輸,必須通過A/D、D/A轉(zhuǎn)換,這樣增加了整個系統(tǒng)的設(shè)計復(fù)雜度。所以,在進行視頻信號的傳輸時,采用了專用模擬通道——-視頻電纜。為提高其工作效率,采用DS87C520單片機來控制DG884芯片進行圖像信號切換。
1. CAN接口卡
這是一個位于上位機的接口卡,用來連接下位機的單片機與上位機的PC機。這個卡采用的控制器收發(fā)器均和云臺、鏡頭控制器電路以及控制器電路中的一樣,下面詳細(xì)的介紹這個接口的典型電路。
該接口電路主要微控制器89C52、PHILIPS公司的CAN控制器SJA1000及收發(fā)器PCA82C250組成。CAN 控制器功能像是一個時鐘源復(fù)位信號,由外部復(fù)位電路產(chǎn)生。SJA1000 的片選由微控制器的P2.7口控制[3]。
圖3 CAN控制器接口連接圖
PCA82C250與CAN總線接口部分采用了一定的安全和抗干擾措施。82C250的CANH和CANL引腳各自通過一個5歐姆的電阻與CAN總線相連電阻可起到一定的限流作用,保護82C250免受過流的沖擊。CANL何CANH與地之間并聯(lián)了兩個30P的小電容可以起到濾除總線上的高頻干擾和一定的放電磁輻射的能力。另外,在兩根CAN總線接入端與地之間分別反接了一個保護二極管,當(dāng)CAN總線有較高的負(fù)電壓時通過二極管的短路起到一定的過壓保護作用。82C250的RS腳上接有一個斜率電阻,斜率電阻大小可根據(jù)通信速度適當(dāng)調(diào)整一般在16K-140K之間。
2. 視頻切換矩陣電路設(shè)計
主控制室中可接視頻64路,視頻輸出16通道,而每一個輸出通道均可接入64路中任一路輸入。將這個矩陣分為8塊標(biāo)準(zhǔn)的8入16出的切換板,只加一個8選1的板號即可,每塊板上有4片DG884電路,每片DG884的視頻輸入信號IN1~IN8構(gòu)成8個視頻輸入信號;每個DG884的視頻輸出信號OU1~OUT4各自獨立輸出,構(gòu)成每板16通道輸出。8塊輸入切換板的16通道對應(yīng)輸出通道均相連,則構(gòu)成了64路輸入16通道輸出的切換矩陣。
圖4 DG884邏輯圖
DG884是一個數(shù)碼型可選擇的8路輸入4路輸出單片矩陣開關(guān)切換集成電路,其內(nèi)部功能如圖4。信號通道由矩陣?yán)锏腡形開關(guān)和串聯(lián)于每個輸出的附加低阻值開關(guān)組成。
DG884與DS87C520單片機接口的數(shù)字信號中,RESET用作電源復(fù)位,它把現(xiàn)存項目鎖定器的資料去除,并使所有輸出關(guān)斷。RESET只對現(xiàn)存項目地址鎖定器有效,而對存放在另一組設(shè)定資料的鎖存器是無效的。A2A1A0為8路選入地址,A3=1時為導(dǎo)通,A3=0時為關(guān)斷。B1B0為輸出通道選擇地址,WR為寫信號,置低后再返回高,這一動作重復(fù)3次,可將4個通道設(shè)定。但是,內(nèi)部邏輯禁止把兩個不同輸入連到同一個輸出地址上。當(dāng)存入4個輸入輸出通路的資料后,只要把SALVO變低后再返回高,現(xiàn)存項目鎖存器就把舊資料去除并載入了新的設(shè)定信息。
3 軟件設(shè)計
本系統(tǒng)的軟件設(shè)計主要集中在信息的傳遞上,以CAN2.0協(xié)議為基礎(chǔ),自定義通信協(xié)議,采用模塊化設(shè)計。
3.1用戶協(xié)議
在動作幀中,000是幀號,用來識別幀的類型。根據(jù)驗收濾波器中的內(nèi)容來選擇傳送幀的目的地。這利用了CAN2.0協(xié)議的特點。動作包括了對攝像機的動作控制命令和對圖像切換的控制命令,根據(jù)前面的內(nèi)容而定。
切換幀中,001為幀號。工作方式有四種:00為定點;01為循環(huán);10為四畫面循環(huán)[4]。
圖5 用戶協(xié)議
數(shù)據(jù)部分主要根據(jù)工作方式的不同,來確定所傳輸?shù)耐ǖ捞?、定點路號、循環(huán)路號等等。
時間幀中,010為幀號。循環(huán)時間是指畫面的循環(huán)時間[4]。
在CAN系統(tǒng)中,數(shù)據(jù)在節(jié)點間發(fā)送和接收以四種不同類型的幀出現(xiàn)和控制,其中:數(shù)據(jù)幀將數(shù)據(jù)由發(fā)送器傳至接收器;遠(yuǎn)程幀由節(jié)點發(fā)送,以請求發(fā)送具有相同標(biāo)志符的數(shù)據(jù)幀;出錯幀可由任何節(jié)點發(fā)送,以檢測總線錯誤,而超載幀用于提供先前和后續(xù)數(shù)據(jù)幀或遠(yuǎn)程幀之間的附加延時。另外,數(shù)據(jù)幀和遠(yuǎn)程幀以幀間空間隔同先前幀隔開。
有了完整的底層和上層協(xié)議,就可以設(shè)計本系統(tǒng)的軟件部分。主要集中在信息傳送上,采用模塊化設(shè)計。以下具體描述信息傳遞的程序設(shè)計,其他的部分讀者可參閱參考文獻中的涉及論文[4]。
3.2軟件框圖
1. 主程序模塊
主程序模塊如圖6所示,對系統(tǒng)進行統(tǒng)一的管理和調(diào)度。
圖6 主程序框圖
2. 初始化模塊
在這個模塊中主要是對系統(tǒng)的初始化,其中包括了CAN控制器SJA1000、DG884等的初始化。在這里詳細(xì)的介紹SJA1000的初始化程序流程。由于獨立的CAN控制器SJA1000有兩種不同的工作模式BasicCan 模式和PeliCan模式。上電時BasicCan模式是默認(rèn)工作模式。PeliCan是新的工作模式,它能夠處理所有的CAN2.0定義的幀了類型。還提供一些增強功能,本系統(tǒng)采用PeliCan模式。在進行信息傳遞時,首先必須對SJA1000進行初始化,這對SJA1000是一項很重要的工作。分別對其模式寄存器、時鐘分頻寄存器、接收代碼寄存器、接收屏蔽寄存器、總線定時寄存器0、1、輸出控制寄存器、發(fā)送錯誤計數(shù)器、錯誤代碼捕捉寄存器及中斷使能寄存器按照PeliCan的模式進行初始化。接下來才能進行信息的接收和發(fā)送。
3. 發(fā)送信息和接收信息模塊
根據(jù)CAN協(xié)議的約定,信息的發(fā)送和接收由SJA1000初始化完成。如圖7和圖8。
圖7 發(fā)送信息模塊 圖8 接收信息模塊
當(dāng)SJA1000初始化完成后,SJA1000進入了工作模式??梢宰x狀態(tài)寄存器中的內(nèi)容,判斷其中的發(fā)送完成狀態(tài)位、接收狀態(tài)位、發(fā)送緩沖器狀態(tài)位是否符合允許發(fā)送的前提條件。當(dāng)狀態(tài)寄存器中的內(nèi)容完全符合發(fā)送數(shù)據(jù)的要求,將要發(fā)送的數(shù)據(jù)放入到發(fā)送緩沖區(qū),然后將命令寄存器中的“發(fā)送請求”標(biāo)志置位標(biāo)志控制。本系統(tǒng)中,采用中斷發(fā)送。
收到的信息放到接受緩沖器中??梢园l(fā)送給主控制器的信息,有狀態(tài)寄存器地接受緩沖器狀態(tài)標(biāo)志“RBS”標(biāo)出和接收中斷標(biāo)志“RI”標(biāo)出。主控制器會將這條信息發(fā)送到本地的信息存儲器,然后釋放接受緩沖器并對信息進行操作。接收過程采用查詢接受的方式。
4. 幀信息處理模塊[2]
主要是從緩沖區(qū)中把各幀的信息存入。從用戶協(xié)議可知,幀有動作幀、切換幀和時間幀三種類型。所以,在這個模塊中,根據(jù)判斷接收到的是哪一種的幀來具體執(zhí)行相應(yīng)的內(nèi)容。
5. 圖象切換模塊[2]
按通道順序逐個的切換。
4 結(jié)束語
本系統(tǒng)采用CAN工業(yè) 網(wǎng)真正實現(xiàn)了實時通訊,發(fā)揮了CAN總線的優(yōu)勢。CAN作為多主總線,傳輸速率可以達(dá)到1Mbps[1],這個速度很好的滿足了工業(yè)控制的需要,也提高了本系統(tǒng)的整體性能。同時CAN的網(wǎng)絡(luò)節(jié)點不受限制,最多可以掛接110個節(jié)點[1],方便了大型工業(yè)控制網(wǎng)的組建,在傳輸距離上,最遠(yuǎn)可以傳輸10Km[1],達(dá)到了遠(yuǎn)距離傳輸?shù)囊?實踐證明,CAN總線網(wǎng)通訊效率高,準(zhǔn)確度高,值得在工業(yè)控制系統(tǒng)中推廣。
參考文獻
[1] 鄔寬明. CAN總線原理和應(yīng)用系統(tǒng)設(shè)計.北京航空航天大學(xué)出版社.1996
[2] 馬崇良 王金海 .多通道多微機電視監(jiān)控系統(tǒng). 天津紡織工學(xué)院學(xué)報 1997第16卷第4期
[3] SJA1000用戶指南.Philips Com.
[4] 王金海 馬崇良.多路視頻信號交叉點開關(guān)器的計算機控制研究.天津紡織工學(xué)院學(xué)報 1997 第16卷第4期