<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 礦用攝像機嵌入式CAN總線(xiàn)遠程控制技術(shù)

礦用攝像機嵌入式CAN總線(xiàn)遠程控制技術(shù)

作者: 時(shí)間:2012-11-30 來(lái)源:網(wǎng)絡(luò ) 收藏

本協(xié)議以標準格式的11位標識符(ID10一ID0)為控制器、轉接器地址,由于協(xié)議規定IDIO—ID4必須不能全為隱性1,因此有效地地址數為2032個(gè)。根據規定RTR位在數據幀格式里必須為顯性0,標識符和RTR位構成數據幀的仲裁域。需要指出的是由于仲裁域決定數據在上傳輸時(shí)的優(yōu)先級,因此在設置時(shí)應將重要場(chǎng)所的配置為高優(yōu)先級地址??刂朴虻膔位是兩位保留位,后面的DLC3一DLC0用于確定數據域的長(cháng)度,本協(xié)議所需數據域為8字節,故控制域取值為:DLC3一DLC0=1000。

所有控制命令全部在數據域的8個(gè)字節中設置,其中最后1個(gè)字節Byte0用于決定發(fā)送的是控制器更新地址還是控制字節,當其取值O*O1時(shí)表示發(fā)送的是更新地址,且其前面的Bytel~Byte2的高1 1位表示邏輯地址,Byte3-Byte4的高11位表示原地址,Byte5-Byte6的高11位表示要更新的地址;當字節Byte0取值0x02時(shí)表示其前面的6個(gè)字節Bytel—Byte6是控制字節,控制字節的詳細設置如圖3下部所示。

① 字節Bytel。第7位控制電源開(kāi)關(guān),取值0控制電源開(kāi),取值1控制電源關(guān)閉;第6位控制縮放,取值0控制攝像機進(jìn)行縮放,取值1維持原狀不縮放且第0~5位的取值無(wú)意義;第5位表示在進(jìn)行縮放時(shí)是縮還是放,0則縮,1則放;第4位取值0表示按標準格式縮放,取值1表示按可變格式縮放,且前面的第0~3位表示可變格式的控制,取值范圍由低到高分8級,以二進(jìn)制數0~7表示,等于8時(shí)表示按步進(jìn)格式縮放,取其他值無(wú)意義。

②字節Byte2。用來(lái)控制攝像機的調焦,設置與Bytel相似,從略。

③字節Byte3。第7位是控制工作臺移動(dòng)的開(kāi)關(guān),取值0為開(kāi)即進(jìn)行移動(dòng),取值1則關(guān)閉工作臺移動(dòng);第6—3位表示工作臺移動(dòng)的方向,取值0表示移動(dòng)方向有效,1表示無(wú)效。

④字節Byte4的第7~4共4位控制工作臺左右移動(dòng)速度,第3—0共4位控制工作臺上下移動(dòng)速度,分9個(gè)等級,以二進(jìn)制數0—8表示,取其他值無(wú)意義。需要說(shuō)明的是:控制字節的Byte2第7位、Byte3低3位以及Byte5、Byte6在協(xié)議中沒(méi)有使用,編程時(shí)全部取值1,Byte5、Byte6留作協(xié)議進(jìn)行下一步拓展時(shí)使用。雖然CRC域可以實(shí)現校驗,但是為了確保通信的可靠性,本協(xié)議仍以Byte7作校驗碼,校驗碼的計算方法為取Byte0~Byte6累加和的低8位。另外需要說(shuō)明的是:由于工作臺的控制采用PWM調速,所以分了4個(gè)方向、9個(gè)速度等級,由Byte4控制,上下、左右的速度等級可以取不同值對應不同的速度。

在本文中攝像模塊的控制要使用SONY的VISCA協(xié)議,因此還要在控制器中設計控制協(xié)議到VIS—CA協(xié)議的轉換。VISCA協(xié)議是公開(kāi)的,此處只需將控制命令轉換為VISCA協(xié)議的控制碼通過(guò)串口發(fā)送即可。

4 軟件設計

控制系統軟件包括上位機軟件、轉接器軟件以及控制器軟件。其中,上位機軟件主要是設計控制界面,以及與轉接器的串口通信。在此可基于微軟的VS2008平臺用C#語(yǔ)言開(kāi)發(fā)上位機軟件,該平臺提供了串口的控件,程序編寫(xiě)相對簡(jiǎn)單,文獻也較多,限于篇幅不再詳述。以下重點(diǎn)說(shuō)明控制器地址配置與修改方法以及控制器軟件設計。

4.1 控制器地址配置與修改

當前市場(chǎng)上的監控攝像機控制器(解碼器)地址設定都是采用DIP開(kāi)關(guān)來(lái)完成的。這在實(shí)際煤礦現場(chǎng)使用時(shí)很不方便,若要改變地址就必須到現場(chǎng)去手動(dòng)沒(méi)定,而煤礦中有許多地方人員由于會(huì )帶來(lái)安全問(wèn)題不便出入?;诖?,本文設計了地址可實(shí)時(shí)在上位機直接修改的方案,徹底拋掉了DIP開(kāi)關(guān)。

方案采用了地址映射的方法。將攝像機地理位置與監控界面對應的地址稱(chēng)為邏輯地址,攝像機控制器的CAN標識符對應的地址稱(chēng)為物理地址。在上位機程序中建立一張邏輯地址與物理地址的對應表,并將其映射到轉接器的程序地址表里,轉接器根據表的狀態(tài)變化實(shí)時(shí)修改控制器的物理地址。這樣控制命令采用物理地址進(jìn)行傳輸就不會(huì )影響上位機對攝像機地理位置的判斷,只是控制器使用前必須在上位機設定一次邏輯地址與物理地址,修改時(shí)使用圖3所示的控制器更新地址命令即可完成。這種方案的另一個(gè)優(yōu)點(diǎn)就是不會(huì )引起手動(dòng)設定時(shí)的地址沖突(可編寫(xiě)程序在設定地址前檢查有無(wú)沖突)。

4.2 控制器軟件設計

控制器軟件由主程序、子程序和中斷程序組成。主程序主要完成處理器的初始化。初始化內容主要包括:將P0.0、P0.1、P0.8、P0.9設置為串口功能,串口0工作為查詢(xún)模式,串口1工作為中斷模式,并設置其中斷優(yōu)先級及通信波特率,使能相應中斷位;設置P0.2、P0.3為I C功能,禁止其中斷功能;設置P0.7、P0.21為PWM功能,置P1.17、P1.19為通用I/O口功能;設置P0.23、P0.24為CAN控制器功能,工作為中斷方式,讀取存儲在24C04中的控制器物理地址,根據該地址設置CAN控制器的濾波寄存器,使能CAN中斷控制位;開(kāi)全局中斷控制;初始化完畢后主程序即進(jìn)入循環(huán)等待過(guò)程。

子程序主要有:24C04讀寫(xiě)子程序、攝像機模塊控制命令發(fā)送子程序(該程序同時(shí)完成CAN控制命令到VISCA協(xié)議的轉換)、工作臺控制子程序、控制器地址修改子程序。

中斷程序只有串口1中斷和CAN中斷。串口1開(kāi)始通信進(jìn)入中斷后要先進(jìn)行兩次握手,然后接收4字節的地址值,前2個(gè)字節的高11位是邏輯地址,后2個(gè)字節的高11位是物理地址。再接收1字節的校驗碼,然后按接收的數據計算校驗碼是否正確,若正確則調用24C04讀寫(xiě)子程序寫(xiě)入地址信息,若不正確返回發(fā)送錯誤信息,寫(xiě)入24C04時(shí),若發(fā)生錯誤,返回寫(xiě)入錯誤信息,否則,返回寫(xiě)入正確信息。通信過(guò)程中若發(fā)生超時(shí),則返回超時(shí)信息。CAN通信進(jìn)入中斷后先讀取接收緩沖區的CAN報文,計算校驗碼。若校驗碼不正確則發(fā)送錯誤幀后返回;若正確則先調用攝像機模塊控制命令發(fā)送子程序控制攝像機動(dòng)作,再調用工作臺控制子程序完成工作臺控制,然后返回。

5 結束語(yǔ)

本文設計的攝像機CAN系統經(jīng)試驗測試運行穩定可靠,無(wú)攝像機和工作臺失控、誤動(dòng)現象,適合在煤礦現場(chǎng)使用。雖然是控制的SONY攝像模塊,但電路在后端改造后也可控制其他攝像模塊。系統還可以在錯誤檢測及操作系統移植方面進(jìn)一步改進(jìn)。該控制系統是煤礦現場(chǎng)總線(xiàn)的典型應用。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>