新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CAN總線多視覺傳感器測控系統的設計

        基于CAN總線多視覺傳感器測控系統的設計

        作者: 時間:2012-09-15 來源:網絡 收藏

        4多的控制設計

        的控制電路主要包括視頻切換、電源供給和CAN通訊接口三個部分。每個傳感器里有兩個CCD相機,即能同時采集兩路視頻輸入,但任一時刻傳感器只能輸出一路視頻信號,這里采用MAXIM公司的視頻復用放大器max4313和max4315進行多路視頻信號的切換傳輸,傳感器內部用單片機控制max4313進行二選一視頻切換,系統中多個傳感器之間通過多個八選一視頻切換芯片max4315的級連來實現多的切換選擇。多路視頻切換開關電路能很好實現這一功能,P89C668單片機的P2口的三跟地址線控制max4315的三個地址端決定切換哪一路通道的視頻信號。max4313 和max4315是低功耗高速多路視頻復用放大器,具有通道切換速度快(40ns)、切換瞬變低(10mVp-p)、差分增益誤差低(0.06%)、相位誤差小(0.02度)等良好的視頻特性,工作在+4~+10.5V的單電源(雙電源正負2V~正負5.25V),本例中工作在正負5V的雙電源下,為了減少干擾與傳感器內部空間安裝方便,電源電路與控制電路分開制作,分別放在投射器二邊。由于視頻信號頻率較高,頻帶較寬,因此當兩路視頻信號相距較近要注意干擾問題,時,容易產生串擾,為了盡量減小串擾,電路設計時應注意以下幾點:要把數字模塊與視頻切換模塊在一個板子上分成二個區域,以及盡可能減少視頻引線的長度并注意使用75歐姆匹配電阻,視頻引線要使用帶屏蔽層的視頻同軸電纜(75歐姆阻抗)。

        5通訊

        是一個多主站現場總線,各節點都有權向其他節點發送信息,其協議簡單,實時性強,可靠性及抗干擾能力好,總線利用率高,硬件成本低。主要特點如下:

        1)的任一節點在任一時刻都主動向網絡上其他節點發送數據而不分主從,通過優先級確定總線為哪一節點所占用,通信靈活。
        2)CAN總線上的節點可通過設置分為不同的優先級,用來滿足不同的實時性要求。
        3)CAN總線采用非破壞性總線仲裁,當多個節點同時向總線發送數據時,優先級低的節點主動停止發送數據,退出競爭,而優先級高的節點將擁有總線使用權,繼續發送數據。
        4)CAN總線具有點對點,一點對多點及全局廣播等多種數據通訊傳送方式。
        5)節點間通訊位速率與節點間距離有關,總線最遠通訊距離為10km,此時通訊速率為5kbps,最大通訊速率能達到1Mbps(通訊距離40m內)。
        6)可根據報文的ID決定接收或屏蔽該報文,發送的報文遭到破壞后可自動重發。
        7)可靠的錯誤處理和檢錯機制,節點在錯誤嚴重的情況下具有自動退出總線的功能。
        8)報文不包含源地址和目標地址,僅用報文標志符來來指示功能信息和優先級信息。

        5.1CAN節點硬件接口

        CAN總線接口硬件部分主要由微控制器、CAN控制器和CAN收發器構成。CAN控制器實現了CAN通訊中物理層和數據鏈路層的功能,提供了與微控制器和總線的物理線路接口,這樣用戶只需編寫符合自己通訊和控制要求的應用層協議即可。本系統中微控制器使用Philips公司的8位增強型單片機 P89C668,CAN控制器和總線驅動器用的分別是Philips公司的SJA1000、PCA82C250來構成典型的CAN通訊節點。
        電路的核心部分是P89C668單片機,它以80C51為內核,具有ISP(在系統編程)和IAP(在應用編程)功能的片內Flash存儲器,片內BootROM包含底層FLASH編程子程序,以實現通過串行口下載升級程序,擁有8K字節RAM(可外擴到64K)和64K字節FLASH,還有 4個中斷優先級、8個中斷源和4個8位I/O口,可方便地進行各種片內操作和片外擴展。CAN控制器相對于微控制器來說相當于一個存儲器I/O映象設備,SJA1000片內有模式寄存器、狀態寄存器、命令寄存器、中斷寄存器和收、發寄存器等。單片機就是通過讀寫這些寄存器來實現對SJA1000的控制,芯片的TX0、TX1、RX0、RX1引腳用于CAN總線的接口,SJA1000的12M晶振由P89C668的外部晶振產生電路同時提供;PCA82C250是控制器與物理總線的接口,可提供對總線的差動發送和接收功能,其TXD、RXD引腳分別接收和發送經驅動后的信號,再由 CANH、CANL接至總線傳輸介質(這里采用雙絞線)上,同時還要注意CANH、CANL之間要加上120歐姆的終端匹配電阻才能保證總線的正常通訊。

        5.2CAN節點的軟件設計

        CAN總線智能節點的軟件設計主要包括三個部分:CAN節點初始化、報文發送和報文接收。CAN節點的通訊實質上就是對CAN控制器內部各寄存器進行讀寫,由于這些寄存器或發送、接收緩沖器均有確定的地址,CPU可通過外設訪問指令對它們進行讀寫操作。系統上電復位后,CPU對SJA1000的各個控制寄存器寫入相應控制字信息,以完成CAN控制器的初始化。本例中,系統軟件采用結構化程序設計方法,程序具有較好的模塊性和可移植性,對于不同的檢測系統和應用環境,可以方便地進行程序重組。編程語言采用單片機C語言KeilC51,它具有較高的效率,可讀性好,能夠有效減輕系統軟件編程的工作量。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 鹤岗市| 湖南省| 镇巴县| 焉耆| 名山县| 昭苏县| 兴国县| 凌海市| 苍山县| 丘北县| 怀化市| 临城县| 花莲县| 马山县| 万年县| 启东市| 手机| 安仁县| 吉安市| 古蔺县| 宁陵县| 高雄县| 丰顺县| 嘉荫县| 巴南区| 朔州市| 陆川县| 康乐县| 杭锦旗| 仙游县| 黑水县| 丹江口市| 泽库县| 大荔县| 略阳县| 石门县| 牡丹江市| 夏津县| 长子县| 布尔津县| 二连浩特市|