基于CAN總線(xiàn)多視覺(jué)傳感器測控系統的設計
4多視覺(jué)傳感器的控制設計
視覺(jué)傳感器的控制電路主要包括視頻切換、電源供給和CAN通訊接口三個(gè)部分。每個(gè)傳感器里有兩個(gè)CCD相機,即能同時(shí)采集兩路視頻輸入,但任一時(shí)刻傳感器只能輸出一路視頻信號,這里采用MAXIM公司的視頻復用放大器max4313和max4315進(jìn)行多路視頻信號的切換傳輸,傳感器內部用單片機控制max4313進(jìn)行二選一視頻切換,系統中多個(gè)傳感器之間通過(guò)多個(gè)八選一視頻切換芯片max4315的級連來(lái)實(shí)現多視覺(jué)傳感器的切換選擇。多路視頻切換開(kāi)關(guān)電路能很好實(shí)現這一功能,P89C668單片機的P2口的三跟地址線(xiàn)控制max4315的三個(gè)地址端決定切換哪一路通道的視頻信號。max4313 和max4315是低功耗高速多路視頻復用放大器,具有通道切換速度快(40ns)、切換瞬變低(10mVp-p)、差分增益誤差低(0.06%)、相位誤差?。?.02度)等良好的視頻特性,工作在+4~+10.5V的單電源(雙電源正負2V~正負5.25V),本例中工作在正負5V的雙電源下,為了減少干擾與傳感器內部空間安裝方便,電源電路與控制電路分開(kāi)制作,分別放在投射器二邊。由于視頻信號頻率較高,頻帶較寬,因此當兩路視頻信號相距較近要注意干擾問(wèn)題,時(shí),容易產(chǎn)生串擾,為了盡量減小串擾,電路設計時(shí)應注意以下幾點(diǎn):要把數字模塊與視頻切換模塊在一個(gè)板子上分成二個(gè)區域,以及盡可能減少視頻引線(xiàn)的長(cháng)度并注意使用75歐姆匹配電阻,視頻引線(xiàn)要使用帶屏蔽層的視頻同軸電纜(75歐姆阻抗)。
5CAN總線(xiàn)通訊
CAN總線(xiàn)是一個(gè)多主站現場(chǎng)總線(xiàn),各節點(diǎn)都有權向其他節點(diǎn)發(fā)送信息,其協(xié)議簡(jiǎn)單,實(shí)時(shí)性強,可靠性及抗干擾能力好,總線(xiàn)利用率高,硬件成本低。主要特點(diǎn)如下:
1)CAN總線(xiàn)的任一節點(diǎn)在任一時(shí)刻都主動(dòng)向網(wǎng)絡(luò )上其他節點(diǎn)發(fā)送數據而不分主從,通過(guò)優(yōu)先級確定總線(xiàn)為哪一節點(diǎn)所占用,通信靈活。
2)CAN總線(xiàn)上的節點(diǎn)可通過(guò)設置分為不同的優(yōu)先級,用來(lái)滿(mǎn)足不同的實(shí)時(shí)性要求。
3)CAN總線(xiàn)采用非破壞性總線(xiàn)仲裁,當多個(gè)節點(diǎn)同時(shí)向總線(xiàn)發(fā)送數據時(shí),優(yōu)先級低的節點(diǎn)主動(dòng)停止發(fā)送數據,退出競爭,而優(yōu)先級高的節點(diǎn)將擁有總線(xiàn)使用權,繼續發(fā)送數據。
4)CAN總線(xiàn)具有點(diǎn)對點(diǎn),一點(diǎn)對多點(diǎn)及全局廣播等多種數據通訊傳送方式。
5)節點(diǎn)間通訊位速率與節點(diǎn)間距離有關(guān),總線(xiàn)最遠通訊距離為10km,此時(shí)通訊速率為5kbps,最大通訊速率能達到1Mbps(通訊距離40m內)。
6)可根據報文的ID決定接收或屏蔽該報文,發(fā)送的報文遭到破壞后可自動(dòng)重發(fā)。
7)可靠的錯誤處理和檢錯機制,節點(diǎn)在錯誤嚴重的情況下具有自動(dòng)退出總線(xiàn)的功能。
8)報文不包含源地址和目標地址,僅用報文標志符來(lái)來(lái)指示功能信息和優(yōu)先級信息。
5.1CAN節點(diǎn)硬件接口
CAN總線(xiàn)接口硬件部分主要由微控制器、CAN控制器和CAN收發(fā)器構成。CAN控制器實(shí)現了CAN通訊中物理層和數據鏈路層的功能,提供了與微控制器和總線(xiàn)的物理線(xiàn)路接口,這樣用戶(hù)只需編寫(xiě)符合自己通訊和控制要求的應用層協(xié)議即可。本系統中微控制器使用Philips公司的8位增強型單片機 P89C668,CAN控制器和總線(xiàn)驅動(dòng)器用的分別是Philips公司的SJA1000、PCA82C250來(lái)構成典型的CAN通訊節點(diǎn)。
電路的核心部分是P89C668單片機,它以80C51為內核,具有ISP(在系統編程)和IAP(在應用編程)功能的片內Flash存儲器,片內BootROM包含底層FLASH編程子程序,以實(shí)現通過(guò)串行口下載升級程序,擁有8K字節RAM(可外擴到64K)和64K字節FLASH,還有 4個(gè)中斷優(yōu)先級、8個(gè)中斷源和4個(gè)8位I/O口,可方便地進(jìn)行各種片內操作和片外擴展。CAN控制器相對于微控制器來(lái)說(shuō)相當于一個(gè)存儲器I/O映象設備,SJA1000片內有模式寄存器、狀態(tài)寄存器、命令寄存器、中斷寄存器和收、發(fā)寄存器等。單片機就是通過(guò)讀寫(xiě)這些寄存器來(lái)實(shí)現對SJA1000的控制,芯片的TX0、TX1、RX0、RX1引腳用于CAN總線(xiàn)的接口,SJA1000的12M晶振由P89C668的外部晶振產(chǎn)生電路同時(shí)提供;PCA82C250是控制器與物理總線(xiàn)的接口,可提供對總線(xiàn)的差動(dòng)發(fā)送和接收功能,其TXD、RXD引腳分別接收和發(fā)送經(jīng)驅動(dòng)后的信號,再由 CANH、CANL接至總線(xiàn)傳輸介質(zhì)(這里采用雙絞線(xiàn))上,同時(shí)還要注意CANH、CANL之間要加上120歐姆的終端匹配電阻才能保證總線(xiàn)的正常通訊。
5.2CAN節點(diǎn)的軟件設計
CAN總線(xiàn)智能節點(diǎn)的軟件設計主要包括三個(gè)部分:CAN節點(diǎn)初始化、報文發(fā)送和報文接收。CAN節點(diǎn)的通訊實(shí)質(zhì)上就是對CAN控制器內部各寄存器進(jìn)行讀寫(xiě),由于這些寄存器或發(fā)送、接收緩沖器均有確定的地址,CPU可通過(guò)外設訪(fǎng)問(wèn)指令對它們進(jìn)行讀寫(xiě)操作。系統上電復位后,CPU對SJA1000的各個(gè)控制寄存器寫(xiě)入相應控制字信息,以完成CAN控制器的初始化。本例中,系統軟件采用結構化程序設計方法,程序具有較好的模塊性和可移植性,對于不同的檢測系統和應用環(huán)境,可以方便地進(jìn)行程序重組。編程語(yǔ)言采用單片機C語(yǔ)言KeilC51,它具有較高的效率,可讀性好,能夠有效減輕系統軟件編程的工作量。
評論