<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)多視覺(jué)傳感器測控系統的設計

基于CAN總線(xiàn)多視覺(jué)傳感器測控系統的設計

作者: 時(shí)間:2012-09-15 來(lái)源:網(wǎng)絡(luò ) 收藏
通訊的成功與否重點(diǎn)是SJA1000的初始化設置,初始化程序通過(guò)將CAN控制器的寄存器寫(xiě)入控制字,確定CAN的工作方式。用 P89C668的P2.7作為片選信號與SJA1000的CS引腳相連,SJA1000的片內寄存器和P89C668單片機寄存器是重疊編址的,因此 SJA1000寄存器尋址時(shí)要定義成片外RAM尋址。下面給出了CAN節點(diǎn)的初始化程序:

Init_Can(void)
{MODE=0x09;file://進(jìn)入復位模式,對SJA1000進(jìn)行初始化;
CDR=0x88;file://選擇PeliCan;
CMR=0x0C;file://清除數據溢出和釋放接收緩沖器;
IER=0x03;file://開(kāi)放接收中斷和發(fā)送中斷;
ACR0=0x66;
ACR1=0x66;
ACR2=0x66;
ACR3=0x66;file://根據具體的協(xié)議定義設置驗收碼寄存器;
AMR0=0xFF;
AMR1=0xFF;
AMR2=0xFF;
AMR3=0xFF;file://根據具體的協(xié)議定義設置驗收屏蔽寄存器;
BTR0=0x41;
BTR1=0x1B;file://12MHz晶振下,設置波特率為200kbps;
OCR=0XAA;
EWLR=0x60;
RBSA=0x00;file://RX緩存器起始地址寄存器設置為0;
TXERR=0x00;file://發(fā)送錯誤接收器設置為0;
ECC=0x00; 
MODE=0x08;file://單向濾波方式,進(jìn)入正常模式,初始化完畢;

由于測控系統要進(jìn)行多為在線(xiàn)檢測,實(shí)時(shí)性要求較強,這里各傳感器節點(diǎn)采用中斷接收方式接收上位機的控制命令,節點(diǎn)初始化后,當一幀信息經(jīng)過(guò)出錯檢測確認為正確信息后裝入接收緩沖器,SJA1000的INT腳會(huì )產(chǎn)生中斷信號,該信號連接到單片機P89C668的外邊中斷0引腳,在外部中斷0中斷處理程序中判別該信息的標志符如果是本節點(diǎn)地址,便讀出接收緩沖器的數據并保存在RAM中,中斷接收程序框圖如下:
系統中發(fā)送報文采用查詢(xún)方式,傳感器節點(diǎn)在收到主控機的數據請求命令后發(fā)送數據,發(fā)送模塊首先進(jìn)行狀態(tài)查詢(xún),判定總線(xiàn)是否空閑,如空閑,則將目的節點(diǎn)地址寫(xiě)入發(fā)送標志符寄存器,數據寫(xiě)入發(fā)送緩沖器,完成一幀CAN信息發(fā)送。
CAN信息格式分為信息和數據兩部分,頭兩個(gè)字節是信息部分,其前11位為標志符,標志符的前八位用作接收判斷,應包含本信息包的目的節點(diǎn)地址,然后是一位RTR位(0為數據幀,1為遠程幀,本例使用數據幀),最后是四位的DLC。其余八個(gè)字節為是數據部分,存有實(shí)際要發(fā)送的數據。本例中只用到前兩個(gè)數據,第一個(gè)表示傳感器地址,第二個(gè)字節表示選擇傳感器里的兩路攝像機中的哪一路采集圖像。
CAN節點(diǎn)之間通訊成功的另一個(gè)關(guān)鍵是波特率的設置,不僅上的各下位機節點(diǎn)要設置相同的波特率,總線(xiàn)與上位PC機相連的USBCAN接口卡也要有相同的波特率,這樣才能保證通訊暢通。由于USBCAN接口卡內的CAN控制器SJA1000用的是16M晶振,而各傳感器節點(diǎn)內的 SJA1000與P89C668使用12M晶振,因此對于不同的通訊速率一定要計算出兩種晶振都相一致的BTR0、BTR1來(lái)設置總線(xiàn)波特率。

6結束語(yǔ)

本文主要著(zhù)重于多控制系統的設計研究,目前系統軟硬件已初步調試完成,并能做到各個(gè)的快速切換傳輸視頻圖像,且切換是圖像抖動(dòng)較小,效果較好。在系統應用于之前還必須對各視覺(jué)傳感器進(jìn)行標定以及系統的總體標定,系統標定完成后即可投入使用。本系統的精度主要由硬件決定,選用高精度、高分辨力的CCD攝像機和激光器,激光器投射出的線(xiàn)結構光越細光強分布越均勻,則測量精度越高。測量精度高必然導致測量視場(chǎng)范圍小,而傳感器有效視場(chǎng)大小又與相機同激光器的擺放夾角以及攝像機的內部參數有關(guān),限于篇幅這里不再贅述。
鑒于CAN網(wǎng)絡(luò )的優(yōu)良性能,能夠快速、可靠的交換信息,特別適合多通訊節點(diǎn)的互連,形成多主機控制器局部網(wǎng)。本文探索了它在多視覺(jué)傳感器測控系統上的控制應用,本視覺(jué)系統不僅要有較好的網(wǎng)絡(luò )擴展能力,在系統工作過(guò)程中增減一些傳感器節點(diǎn)不會(huì )影響系統工作,只需對軟件進(jìn)行少量修改即可,針對不同測量目標,視覺(jué)傳感器里的激光器還可以換成鹵素燈(傳感器電路中預先留有電源接口),這樣系統可很方便地面對不同測量任務(wù)。驅動(dòng)能力強、網(wǎng)絡(luò )性能恰好,能滿(mǎn)足不同測量系統的要求,系統節點(diǎn)數可靈活調整而不影響系統的可靠性。CAN總線(xiàn)網(wǎng)絡(luò )性?xún)r(jià)比較高,可移植性強,本文所設計的多視覺(jué)傳感器測控系統,已經(jīng)成功應用于汽車(chē)車(chē)身在線(xiàn),而且稍作修改后能夠適用于工業(yè)自動(dòng)化領(lǐng)域中其他測量控制系統。

上一頁(yè) 1 2 3 下一頁(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>