控制器局域網CAN(Controller Area Network)是一種具有很高保密性,有效支持分布式控制及實時控制的串行通信網絡。CAN總線屬于現(xiàn)場總線范疇,與現(xiàn)有的其它總線相比,它屬于一種分散式、數(shù)字化、雙向、多站點、多變量的通信系統(tǒng),具有通信速率高、可靠性強、連接方便、性能價格比高等諸多優(yōu)點,非常適用于分布式測量系統(tǒng)的數(shù)據通信。
計算機視覺檢測是目前正在發(fā)展的一種新型檢測技術。汽車車身視覺檢測站是用于測量車身關鍵點三維空間坐標的大型專用檢測系統(tǒng)。其主要原理是通過視覺傳感器(Visual Sensor),采用三角法獲取車身表面點的信息,通過三維視覺算法求取各關鍵點的坐標,從而完成對車身各頂點位置、擋風玻璃框尺寸、定位孔大小及位置、車門安裝處棱邊位置及走向等主要參數(shù)的測量。
本文結合CAN總線在汽車車身視覺檢測站中的應用,研究了基于CAN總線的多主分布控制系統(tǒng),并對該控制網絡的物理層接口、拓撲結構、通訊協(xié)議等作了較為詳細地說明。
1. 車身視覺檢測站的工作過程及控制系統(tǒng)
汽車車身視覺檢測是目前正在發(fā)展的一種新型車身檢測方法。它是由機械及定位系統(tǒng)、三維視覺傳感器系統(tǒng)、測量控制與接口系統(tǒng)、標定系統(tǒng)以及計算機軟件五大部分組成。主要方法采用視覺傳感器,經標定系統(tǒng)標定后,通過控制系統(tǒng)選取被測點,采集圖像,結合視覺檢測算法,求出被測點坐標等參數(shù)。汽車車身長寬高都是幾米范圍,被測控制點一般都要求在50個以上,網絡布線要求300米以上,系統(tǒng)中針對不同的測量對象,采用了單光條傳感器、多光條傳感器、十字叉絲傳感器和雙目立體視覺傳感器等,總數(shù)在50臺以上。檢測站的控制系統(tǒng)應能對這些傳感器的動作進行實時控制。此外控制系統(tǒng)還應實現(xiàn)對檢測站中的機械及定位系統(tǒng)的控制。根據需要檢測站的控制系統(tǒng)應完成以下任務:
(1) 主控機實時控制各個傳感器,使其動作相互協(xié)調;
(2) 自動控制白車身運載小車(用于將白車身運送到被測工位)的前進、后退、上升、下降、加速、減速等動作;
(3) 手動控制運載小車的上述各種動作;
(4) 位置傳感器能夠實時發(fā)送白車身的位置信息。
為了實現(xiàn)系統(tǒng)控制功能,控制網絡主要由以下四部分構成:
(1) 主控機:微機,它為控制系統(tǒng)的核心;
(2) 控制臺:完成手動控制運載小車、接受位置傳感器信息并發(fā)送給主控機及執(zhí)行主控機指令等功能;
(3) CAN接口卡:完成主控機信號和CAN協(xié)議標準信號之間的轉換;
(4) 傳感器控制部分:接受主控機指令,完成對傳感器的控制和向主控機發(fā)送傳感器狀態(tài)信息等功能。
系統(tǒng)中,主控機作為控制核心,負責傳感器和控制臺的管理??刂婆_既能通過執(zhí)行主控機指令控制運載小車,又能獨立控制,所以網絡應具有多主機控制能力,CAN總線支持多主機方式,且能在低層解決數(shù)據碰撞問題,出于以上各方面考慮,系統(tǒng)采用CAN總線作為本控制網絡的通信標準。
整個系統(tǒng)控制示意圖如圖1所示。
2.CAN總線控制網絡
2.1 CAN總線技術簡介
CAN總線是80年代初德國Bosch公司為解決現(xiàn)代汽車中眾多的控制與測試儀器之間的數(shù)據交換而開發(fā)的一種串行數(shù)據通信協(xié)議。它有效支持分布式控制或實時控制,并采用了帶優(yōu)先級的CSMA/CD協(xié)議對總線進行仲裁,通信介質可以是雙絞線、同軸電纜或光導纖維。因此,CAN總線具有以下優(yōu)點:它可實現(xiàn)全分布式多機系統(tǒng)無主、從機之分,各節(jié)點均可主動發(fā)送報文,這樣就保證了信息處理的實時性,并使得CAN總線網絡可以構成多主結構的系統(tǒng),保證系統(tǒng)的可靠性。此外,CAN總線采用短幀結構,每幀信息都有校驗及其它檢錯措施,具有強有力的錯誤檢測功能,能自動完成出錯處理和應答處理,保證了數(shù)據傳輸?shù)目煽啃浴;谏鲜鰞?yōu)點,CAN總線非常適用于抗強干擾的大型多機控制系統(tǒng)中的網絡數(shù)據通信,由此將其應用于汽車白車身尺寸激光視覺檢測站中。
2.2基于CAN的通訊網絡
在車身檢測站中,對各傳感器的數(shù)據采集及圖像處理等工作主要由PC機完成,為操作簡便,對機械部分的控制還應能通過控制臺進行。本系統(tǒng)控制節(jié)點多,可靠性要求高,傳統(tǒng)的集中控制方式雖然功能集中,速度較快,但具有硬件結構復雜(每個控制節(jié)點都對應于一個I/O端口)、現(xiàn)場布線困難、擴展能力低(受硬件端口數(shù)量限制)、故障診斷困難等缺點。
所以采用單片機作為直接控制單元,用于對傳感器的直接控制。每個單片機都是控制網絡上的一個節(jié)點,各節(jié)點直接掛接在數(shù)據總線上。PC機和控制柜也同樣各作為一個節(jié)點掛接在總線上,即控制網絡應具有多主機控制能力,所以整個網絡采用多主機結構,即每一個節(jié)點也是一個主機,通過主機之間的通訊以實現(xiàn)控制要求。為此采用總線型廣播式網絡拓撲結構,利用CAN靈活方便、支持多主機方式等優(yōu)點,建立控制網絡。不難看出,只要解決好“碰撞”問題,這種方法具有結構簡單、安全系數(shù)高、靈活性好、易于擴展等特點,可以充分滿足本檢測站的控制要求。其結構示意圖如圖2所示。
根據所攜帶的信息類型不同,CAN總線共有四種幀格式:數(shù)據幀、遠地幀、錯誤幀和超載幀。在本通訊系統(tǒng)中,主要用到數(shù)據幀和遠地幀。數(shù)據幀用于在發(fā)送節(jié)點到接受節(jié)點之間傳送數(shù)據。總線上的接收節(jié)點通過發(fā)送遠地幀的方式,請求發(fā)送節(jié)點重發(fā)與該請求幀標識符相同的報文(往往因為原發(fā)報文接收出錯),遠地幀與數(shù)據幀的區(qū)別是無數(shù)據場。遠地幀的引入,使系統(tǒng)的服務請求、狀態(tài)查詢等工作得以簡化,可以通過發(fā)送遠地幀,實現(xiàn)與響應節(jié)點的鏈路連通和數(shù)據傳輸。[!--empirenews.page--]
本系統(tǒng)中,根據檢測系統(tǒng)的需要和CAN的幀結構,重點結合測量傳感器和控制柜的功能要求,對網絡的通信協(xié)議進行了研究。CAN總線采用幀格式以報文為單位進行數(shù)據傳輸,并采取位仲裁的方式對總線進行訪問,即在報文起始部分發(fā)送節(jié)點標識符。由于標識符唯一且與各節(jié)點一一對應,故通過標識符可以實現(xiàn)對網絡介質的訪問控制。網絡節(jié)點的優(yōu)先級與節(jié)點標識符相對應,規(guī)定主控機和控制臺的優(yōu)先級最高,各傳感器的優(yōu)先級依重要性排列,以保證網絡的傳輸效率最高。
由于CAN總線標準數(shù)據幀的仲裁場有11位標識符,它主要用于解決總線上的碰撞問題,數(shù)據幀標識符越小,其優(yōu)先權越高。即當兩幀數(shù)據同時由高位向低位發(fā)送時,一旦有不同的電平,發(fā)送“凹槽”電平的數(shù)據幀將停止發(fā)送。這樣,CAN總線自身就解決了數(shù)據碰撞問題。系統(tǒng)中,每個節(jié)點設立一個8位DIP開關,通過它可以方便的改變傳感器單元地址,并且,以它代表的數(shù)據作為該節(jié)點發(fā)送的數(shù)據幀的標識符的高8位。從而,依據節(jié)點的重要性安排其地址,有效的解決了碰撞和優(yōu)先權問題。
PC機方面,是采用接口卡使PC機接入CAN總線,通過PC機與內部帶有支持CAN協(xié)議接口的單片機MC68HC05X16進行通訊,然后由單片機與總線通訊,最終實現(xiàn)PC機與總線通訊。其接口電路如圖3所示。
采用16V8的GAL進行地址譯碼。并設有撥碼開關,可進行地址段選擇。8255工作于方式2,A口作為雙向輸入口,C口的IBFA、STBA、ACKA和OBFA作為A口控制口,分別與MC68HC05X16的四個I/O口PB3~PB6相連。單片機通過查詢接收PA口數(shù)據。從CAN總線傳來的數(shù)據經過單片機轉換后,由IRQ2向PC機申請中斷,中斷過程負責數(shù)據接收。MC68HC05X16單片機工作流程如圖4所示:
在信道訪問方式的控制上,采用主從式與自由競爭式相結合的通信方式,即以PC機和控制臺作為主控節(jié)點,兩主控節(jié)點的優(yōu)先級與節(jié)點標識符相對應,主控節(jié)點命令及信息的發(fā)送可通過外部設置約定,也可通過自由競爭實現(xiàn)。
圖4 CAN接口轉換卡工作流程圖
3.結語
調試期間,為了測試系統(tǒng)的抗干擾能力,將上述通信網絡系統(tǒng)置于強干擾環(huán)境中,經連續(xù)試驗,在1000m距離,1Mbps傳輸速率下,完全可以保證數(shù)據的可靠傳輸。
本系統(tǒng)利用CAN總線實時性、靈活性好等特點,較好的解決了在強干擾環(huán)境中大型自動檢測系統(tǒng)的數(shù)據通信可靠性問題。同時,由于采用多主機分布式控制結構,使網絡功能十分靈活,通過軟件的編寫,可以完成十分強大的功能,并可以進行擴展,這對于檢測站功能的進一步完善及其它控制工作的完成,有著十分重要的意義。