《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 電視監(jiān)控系統(tǒng)中CAN總線網絡應用
電視監(jiān)控系統(tǒng)中CAN總線網絡應用
中國自動化網
摘要: 本文針對多通道多微機電視監(jiān)控系統(tǒng)中實時通信的問題,利用單片機技術以及局域網構成原理,研制了以SJA1000為CAN控制器、以單片機為網絡節(jié)點核心器件的多主式現(xiàn)場總線局域網。實踐證明,CAN總線技術的應用解決了系統(tǒng)的實時通信問題,體現(xiàn)了CAN總線技術的優(yōu)越性。
Abstract:
Key words :

  隨著計算機技術,通信技術和電視技術的發(fā)展,在許多場合,為了監(jiān)視和控制現(xiàn)場的運行狀況,提出了電視監(jiān)控系統(tǒng),用以實施集中控制,尤其是控制點與現(xiàn)場較遠,需要的監(jiān)視點比較多時,控制點和各個監(jiān)視點形成多微機系統(tǒng)。隨著現(xiàn)場總線技術的發(fā)展,CAN總線以其獨特的優(yōu)點,開始登上舞臺。CAN總線的傳輸距離可以達到10km,數(shù)據傳輸速率高達1Mbit/s,很好的解決了本電視監(jiān)控系統(tǒng)中的要求傳輸距離遠、實時性強的問題。同時,CAN總線在報文傳送中不包含目的地址,以全網廣播為基礎,各接收站根據報文中反映數(shù)據性質的標識過濾報文[1]。這種報文中不含目的地址的報文格式縮短了幀的長度,減少了傳輸中地址匹配的麻煩,提高了傳輸速率。而這種全網廣播形式,使各個節(jié)點站沒有主從之分,可以平等的向其他節(jié)點發(fā)送報文,減輕了將作為主節(jié)點的節(jié)點負擔,也避免了主從機之間的通信。這種多主式總線局域網實現(xiàn)了本電視監(jiān)控系統(tǒng)的實時、較高數(shù)據要求的系統(tǒng)功能。
1. 多通道多微機電視監(jiān)控系統(tǒng)簡介
  如圖1所示,本系統(tǒng)設有64臺彩色攝像機,每臺攝像機配有可自動調整的鏡頭和云臺,每個單元作為CAN總線網絡的一個節(jié)點,64個節(jié)點構成被控單元。這64臺設備分布在室外、室內、廣場、站臺等場所。其中每一個節(jié)點以主控室為中心,通過CAN總線和64條視頻電纜與主控制室的上位機連接。

圖1 多通道多微機電視監(jiān)控系統(tǒng)組成
  主控制室為系統(tǒng)控制中心,在CAN總線網絡中充當上位機的角色。本系統(tǒng)雖為多 主式控制系統(tǒng),但需要一個總控制中來對各個子控制室進行協(xié)調和管理。主控制室主要由一個帶有CAN接口的上位機構成,還有一個用彩色監(jiān)視器組成的電視屏幕墻,作為系統(tǒng)的總監(jiān)視。其余個控制臺設1太彩色監(jiān)視器作為輔助監(jiān)視。
  本系統(tǒng)可連接4個獨立的控制臺終端,每個控制臺終端與彩色攝像機和云臺的角色一樣,構成一個CAN總線網絡節(jié)點。4個控制臺形成主控單元,但必須聽從上位機主控室的協(xié)調。它是編程,設定攝像機控制的發(fā)令終端。4個控制臺分別設在各樓的主管部門,與主調度室最遠可達1km。
2 通信電路設計原理
  2.1 云臺、鏡頭控制器
  云臺有上、下、左、右旋轉控制,是通過控制2臺電機正反轉來實現(xiàn)的,鏡頭有光圈大、小,焦距遠、近,變倍大、小6個通電和斷點開關控制。此外,還有雨刷動作控制。
  如圖2所示,89C51作為CPU控制器,TXD和RXD兩條通訊線分別經過光隔和CAN控制器連接,通過CAN總線收發(fā)器連接到CAN總 線上,完成與帶有CAN接口卡的上位機的連接電路,使用CAN總線協(xié)議。另外,2732是一個EPROM,存 放控制程序。P1口P3口作為11個開關量。P1口除了作為8個開關量輸入輸出以外,還用2個74LS244實現(xiàn)8位撥碼開關作為輸入64個控制器的硬件序號設定。

圖2 云臺、鏡頭控制器電路原理圖
  2.2控制臺電路設計
  控制臺電路基本有以下三部分組成:
  1. 鍵盤接口。采用行輸出列輸入程序實時掃描方案。74LS373作為行輸出接口,74LS244作為列出入接口。按鍵分為三類:0~9為數(shù)字鍵;一類功能鍵,包括動作、執(zhí)行、左移、右移、鎖定、循環(huán)、方式、讀出、時間等功能;另一類就是攝象機動作控制鍵,包括了上、下、左、右、光圈大、小,焦距遠、近,變倍大、小,雨刷動等。
  2. LED數(shù)碼顯示接口。
  3. 撥碼開關接口。參考圖2。
  4. 發(fā)光二極管顯示燈。作為運行狀態(tài)指示。
  5. CAN控制單元接口。這是一個與云臺、鏡頭控制電路中相同功能的接口。
  2.3主控制室電路設計
  從圖1可知,該系統(tǒng)所形成網絡結構為分布式網絡。接口電路有兩種接口,視頻矩陣切換控制電路和多路控制的串行接口——-CAN總線。主控室的上位機通過CAN接口卡(以SJA1000為控制器)實現(xiàn)與下位機節(jié)點的連接。視頻矩陣切換控制電路主要是接收攝像機與云臺傳送過來的視頻圖像,并將視頻圖像輸出到各個子控制室。由于視頻信號要經過CAN總線的數(shù)字通道傳輸,必須通過A/D、D/A轉換,這樣增加了整個系統(tǒng)的設計復雜度。所以,在進行視頻信號的傳輸時,采用了專用模擬通道——-視頻電纜。為提高其工作效率,采用D S87C520單片機來控制DG884芯片進行圖像信號切換。
  1. CAN接口卡
  這是一個位于上位機的接口卡,用來連接下位機的單片機與上位機的PC機。這個卡采用的控制器收發(fā)器均和云臺、鏡頭控制器電路以及控制器電路中的一樣,下面詳細的介紹這個接口的典型電路。
  該接口電路主要微控制器89C52、PHILIPS公司的CAN控制器SJA1000 及收發(fā)器 PCA82C250組成。CAN 控制器功能像是一個時鐘源復位信號,由外部復位電路產生。SJA1000 的片選由微控制器的P2.7口控制[3]。

圖3 CAN控制器接口連接圖
  PCA82C250與CAN總線接口部分采用了一定的安全和抗干擾措施。82C250的CANH和CANL引腳各自通過一個5歐姆的電阻與CAN總線相連電阻可起到一定的限流作用,保護82C250免受過流的沖擊。CANL何CANH與地之間并聯(lián)了兩個30P的小電容可以起到濾除總線上的高頻干擾和一定的放電磁輻射的能力。另外,在兩根CAN總線接入端與地之間分別反接了一個保護二極管,當CAN總線有較高的負電壓時通過二極管的短路起到一定的過壓保護作用。82C250的RS腳上接有一個斜率電阻,斜率電阻大小可根據通信速度適當調整一般在16K-140K之間。
  2. 視頻切換矩陣電路設計
  主控制室中可接視頻64路,視頻輸出16通道,而每一個輸出通道均可接入64路中任一路輸入。將這個矩陣分為8塊標準的8入16出的切換板,只加一個8選1的板號即可,每塊板上有4片DG884電路,每片DG884的 視頻輸入信號IN1~IN8構成8個視頻輸入信號;每個DG884的視頻輸出信號OU1~OUT4各自獨立輸出,構成每板16通道輸出。8塊輸入相連,則構成了64路輸入16通道輸出的切換矩陣。

圖4 DG884邏輯圖 切換板的16通道對應輸出通道均
  DG884是一個數(shù)碼型可選擇的8路輸入4路輸出單片矩陣開關切換集成電路,其內部功能如圖4。信號通道由矩陣里的T形開關和串聯(lián)于每個輸出的附加低阻值開關組成。
  DG884與DS87C520單片機接口的數(shù)字信號中,RESET用作電源復位,它把現(xiàn)存項目鎖定器的資料去除,并使所有輸出關斷。RESET只對現(xiàn)存項目地址鎖定器有效,而對存放在另一組設定資料的鎖存器是無效的。A2A1A0為8路選入地址,A3=1時為導通,A3=0時為關斷。B1B0為輸出通道選擇地址,WR為寫信號,置低后再返回高,這一動作重復3次,可將4個通道設定。但是,內部邏輯禁止把兩個不同輸入連到同一個輸出地址上。當存入4個輸入輸出通路的資料后,只要把SALVO變低后再返回高,現(xiàn)存項目鎖存器就把舊資料去除并載入了新的設定信息。
3.軟件設計
  本系統(tǒng)的軟件設計主要集中在信息的傳遞上,以CAN2.0協(xié)議為基礎,自定義通信協(xié)議,采用模塊化設計。
  3.1用戶協(xié)議
  在動作幀中,000是幀號,用來識別幀的類型。根據驗收濾波器中的內容來選擇傳送幀的目的地。這利用了CAN2.0協(xié)議的 特點。動作包括了對攝像機的動作控制命令和對圖像切換的控制命令,根據前面的內容而定。

圖5 用戶協(xié)議
  切換幀中, 001為幀號。工作方式有四種:00為定點;01為循環(huán);10為四畫面循環(huán)[4]。
  數(shù)據部分主要根據工作方式的不同,來確定所傳輸?shù)耐ǖ捞?、定點路號、循環(huán)路號等等。
  時間幀中,010為幀號。循環(huán)時間是指畫面的循環(huán)時間[4]。
  在CAN系統(tǒng)中,數(shù)據在節(jié)點間發(fā)送和接收以四種不同類型的幀出現(xiàn)和控制,其中:數(shù)據幀將數(shù)據由發(fā)送器傳至接收器;遠程幀由節(jié)點發(fā)送,以請求發(fā)送具有相同標志符的數(shù)據幀;出錯幀可由任何節(jié)點發(fā)送,以檢測總線錯誤,而超載幀用于提供先前和后續(xù)數(shù)據幀或遠程幀之間的附加延時。另外,數(shù)據幀和遠程幀以幀間空間隔同先前幀隔開。
  有了完整的底層和上層協(xié)議,就可以設計本系統(tǒng)的軟件部分。主要集中在信息傳送上,采用模塊化設計。以下具體描述信息傳遞的程序設計,其他的部分讀者可參閱參考文獻中的涉及論文[4]。
  3.2軟件框圖
  1. 主程序模塊
  主程序模塊如圖6所示,對系統(tǒng)進行統(tǒng)一的管理和調度。

圖6 主程序框圖
  2. 初始化模塊
  在這個模塊中主要是對系統(tǒng)的初始化,其中包括了CAN控制器SJA1000、DG884等的初始化。在這里詳細的介紹SJA1000的初始化程序流程。由于獨立的CAN控制器SJA1000有兩種不同的工作模式BasicCan 模式 和PeliCan模式。上電時BasicCan模式是默認工作模式。PeliCan是新的工作模式,它能夠處理所有的CAN2.0定義的幀了類型。還提供一些增強功能,本系統(tǒng)采用PeliCan模式。在進行信息傳遞時,首先必須對SJA1000進行初始化,這對SJA1000是一項很重要的工作。分別對其模式寄存器、時鐘分頻寄存器、接收代碼寄存器、接收屏蔽寄存器、總線定時寄存器0、1、輸出控制寄存器、發(fā)送錯誤計數(shù)器、錯誤代碼捕捉寄存器及中斷使能寄存器按照PeliCan的模式進行初始化。接下來才能進行信息的接收和發(fā)送。
  3. 發(fā)送信息和接收信息模塊
  根據CAN協(xié)議的約定,信息的發(fā)送和接收由SJA1000初始化完成。如圖7和圖8。

圖7 發(fā)送信息模塊 圖8 接收信息模塊
  當SJA1000初始化完成后,SJA1000進入了工作模式??梢宰x狀態(tài)寄存器中的內容,判斷其中的發(fā)送完成狀態(tài)位、接收狀態(tài)位、發(fā)送緩沖器狀態(tài)位是否符合允許發(fā)送的前提條件。當狀態(tài)寄存器中的內容完全符合發(fā)送數(shù)據的要求,將要發(fā)送的數(shù)據放入到發(fā)送緩沖區(qū),然后將命令寄存器中的“發(fā)送請求”標志置位標志控制。本系統(tǒng)中,采用中斷發(fā)送。
  收到的信息放到接受緩沖器中??梢园l(fā)送給主控制器的信息,有狀態(tài)寄存器地接受緩沖器狀態(tài)標志“RBS”標出和接收中斷標志“RI”標出。主控制器會將這條信息發(fā)送到本地的信息存儲器,然后釋放接受緩沖器并對信息進行操作。接收過程采用查詢接受的方式。
  4. 幀信息處理模塊
  主要是從緩沖區(qū)中把各幀的信息存入。從用戶協(xié)議可知,幀有動作幀、切換幀和時間幀三種類型。所以,在這個模塊中,根據判斷接收到的是哪一種的幀來具體執(zhí)行相應的內容。
  5. 圖象切換模塊
  按通道順序逐個的切換。
4.結束語
  本系統(tǒng)采用CAN工業(yè)網真正實現(xiàn)了實時通訊,發(fā)揮了CAN總線的優(yōu)勢。CAN作為多主總線,傳輸速率可以達到1Mbps[1],這個速度很好的滿足了工業(yè)控制的需要,也提高了本系統(tǒng)的整體性能。同時CAN的網絡節(jié)點不受限制,最多可以掛接110個節(jié)點[1],方便了大型工業(yè)控制網的組建,在傳輸距離上,最遠可以傳輸10Km[1],達到了遠距離傳輸?shù)囊?實踐證明,CAN總線網通訊效率高,準確度高,值得在工業(yè)控制系統(tǒng)中推廣。
參考文獻
  [1] 鄔寬明. CAN總線原理和應用系統(tǒng)設計.北京航空航天大學出版社.1996
  [2] 馬崇良 王金海 .多通道多微機電視監(jiān)控系統(tǒng). 天津紡織工學院學報 1997第16卷第4期
  [3] SJA1000用戶指南.Philips Com.
  [4] 王金海 馬崇良.多路視頻信號交叉點開關器的計算機控制研究.天津紡織工學院學報 1997 第16卷第4期

此內容為AET網站原創(chuàng),未經授權禁止轉載。