當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]一種多視覺傳感器控制系統(tǒng)的實現(xiàn)

1 引言

  結(jié)構(gòu)光傳感器是應(yīng)用較早、發(fā)展較成熟的視覺傳感器,因此本系統(tǒng)采用結(jié)構(gòu)光傳感器來采集圖像并經(jīng)圖像采集卡送給計算機處理。由于視覺傳感器在視覺測量中擔(dān)負著視頻圖像信號(測量數(shù)據(jù))的采集、切換與傳輸。因此,如何讓視覺傳感器測控系統(tǒng)快速、精確地獲得理想的視頻圖像信息,進而為后期的圖像處理提供可靠的支持,亦即視覺傳感器的測控系統(tǒng)的設(shè)計顯得尤為重要。
 

  2 視覺系統(tǒng)的概述

  視覺檢測系統(tǒng)中采集被測物體圖像的視覺傳感器有單目和雙目兩種之分,本測控系統(tǒng)可以使用單目視覺傳感器也可以使用雙目視覺傳感器來采集數(shù)據(jù),本文主要討論由多個雙目視覺傳感器組成的多視覺傳感器測控系統(tǒng),其中的每個視覺傳感器采用的是目前技術(shù)已經(jīng)比較成熟的線結(jié)構(gòu)光視覺傳感器,其結(jié)構(gòu)是由雙CCD攝像機、一個激光投射器和一塊MCU控制電路組成,基于立體視差原理,利用兩臺攝像機來模仿實現(xiàn)人眼的功能,利用空間點在兩攝像機像面上的透視或像點坐標(biāo)來求取空間點的三維坐標(biāo)。當(dāng)被測工件較大需要不止一個視覺傳感器時,上述多個視覺傳感器加上多路視頻切換開關(guān)就構(gòu)成了多視覺傳感器測控系統(tǒng)。如對汽車車身上的很多特征點進行檢測時,就需要幾十甚至上百個傳感器來測量,由于控制器局部網(wǎng)CAN(controller area network)總線具有很強的帶負載能力,一個CAN網(wǎng)絡(luò)上最多能接110個節(jié)點,所以本系統(tǒng)采用CAN總線進行通訊和網(wǎng)絡(luò)控制。

  

 

  視覺傳感器中MCU控制電路提供CCD攝像機、激光投射器的電源并且控制著它們的開啟與關(guān)閉,為避免激光投射器使用時間過長激光器發(fā)熱引起線結(jié)構(gòu)光光能分布不穩(wěn)從而影響測量精度,當(dāng)傳感器開始測量時,先上電初始化,再打開激光器,測量完畢后即關(guān)閉以延長投射器壽命。

  本系統(tǒng)中,上位機為PC機,下位機為8051單片機控制單元,上、下位機之間用CAN總線進行通訊,由于PC機中并不帶CAN總線接口,因此必需一個CAN接口卡,這里選用廣州周立功公司的USBCAN智能接口卡來通信,因其具有體積小、外置且即插即用等特點。這樣,PC可通過USB總線方便地連接至CAN總線網(wǎng)絡(luò)控制各個CAN節(jié)點進行數(shù)據(jù)采集和處理。USBCAN智能CAN接口卡可以與ZLGCANTest通用CAN-bus測試軟件連接運行,執(zhí)行CAN-bus總線數(shù)據(jù)的接收、發(fā)送測試任務(wù),較易于實現(xiàn)CAN-bus產(chǎn)品開發(fā)和數(shù)據(jù)分析。USBCAN智能CAN接口卡采用周立功公司提供的通用的ZLGVCI驅(qū)動庫,支持WIN98、2000和XP操作系統(tǒng)并支持Linux平臺。用戶通過接口卡提供的ZLGVCI動態(tài)開發(fā)庫可以方便快捷的開發(fā)出CAN系統(tǒng)應(yīng)用產(chǎn)品。為了把模擬CCD相機輸出的被測物體的模擬視頻圖像轉(zhuǎn)換成數(shù)字信號并由計算機進行處理,這里采用了北京大恒圖像公司的CG400型圖像采集卡,其采用PCI總線,所采集的圖像數(shù)據(jù)傳輸基本不占用CPU時間,并可將圖像直接傳送的計算機內(nèi)存或顯存。

  3 CAN總線簡介

  CAN總線是德國BOSCH公司從80年代初為解決現(xiàn)代汽車中眾多的控制與測試儀器之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議,它是一種多主總線,通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維。通信速率可達1Mbps。CAN總線通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗、優(yōu)先級判別等項工作。CAN協(xié)議的一個最大特點是廢除了傳統(tǒng)的站地址編碼,而代之以對通信數(shù)據(jù)塊進行編碼。采用這種方法的優(yōu)點可使網(wǎng)絡(luò)內(nèi)的節(jié)點個數(shù)在理論上不受限制,數(shù)據(jù)塊的標(biāo)識碼可由11位或29位二進制數(shù)組成,因此可以定義211或229個不同的數(shù)據(jù)塊,這種按數(shù)據(jù)塊編碼的方式,還可使不同的節(jié)點同時接收到相同的數(shù)據(jù),這一點在分布式控制系統(tǒng)中非常有用。數(shù)據(jù)段長度最多為8個字節(jié),可滿足通常工業(yè)領(lǐng)域中控制命令、工作狀態(tài)及測試數(shù)據(jù)的一般要求。同時,8個字節(jié)不會占用總線時間過長,從而保證了通信的實時性。CAN協(xié)議采用CRC檢驗并可提供相應(yīng)的錯誤處理功能,保證了數(shù)據(jù)通信的可靠性。CAN卓越的特性、極高的可靠性和獨特的設(shè)計,特別適合工業(yè)過程監(jiān)控設(shè)備的互連,因此,越來越受到工業(yè)界的重視,并已公認為最有前途的現(xiàn)場總線之一。

  為了滿足大尺寸物體的三維輪廓的檢測,本系統(tǒng)要求最少能帶64個傳感器,每個視覺傳感器里有兩個攝像機,即共有128路視頻輸入,而任一時刻系統(tǒng)只選取其中一路視頻圖像傳給計算機進行圖像采集處理,如對汽車車身周圍布置了幾十個傳感器來檢測車身上關(guān)鍵尺寸如擋風(fēng)玻璃窗尺寸、車門安裝棱邊縫隙、定位孔位置,測量其相應(yīng)的棱邊、孔表面的空間位置尺寸。視覺傳感器可以按要求順序進行工作,也可以選取被測對象的特定點并通過CAN控制網(wǎng)絡(luò)選擇特定傳感器來檢測,計算機采集檢測點圖像并進行處理,將計算值與標(biāo)準(zhǔn)值比對,從而得出視覺檢測的結(jié)果。

   [!--empirenews.page--]4 多視覺傳感器的控制設(shè)計

 

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

  5 CAN總線通訊

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

  1)CAN總線的任一節(jié)點在任一時刻都主動向網(wǎng)絡(luò)上其他節(jié)點發(fā)送數(shù)據(jù)而不分主從,通過優(yōu)先級確定總線為哪一節(jié)點所占用,通信靈活。

  2)CAN總線上的節(jié)點可通過設(shè)置分為不同的優(yōu)先級,用來滿足不同的實時性要求。

  3)CAN總線采用非破壞性總線仲裁,當(dāng)多個節(jié)點同時向總線發(fā)送數(shù)據(jù)時,優(yōu)先級低的節(jié)點主動停止發(fā)送數(shù)據(jù),退出競爭,而優(yōu)先級高的節(jié)點將擁有總線使用權(quán),繼續(xù)發(fā)送數(shù)據(jù)。

  4)CAN總線具有點對點,一點對多點及全局廣播等多種數(shù)據(jù)通訊傳送方式。

  5)節(jié)點間通訊位速率與節(jié)點間距離有關(guān),總線最遠通訊距離為10km,此時通訊速率為5kbps,最大通訊速率能達到1Mbps(通訊距離40m內(nèi))。

  6)可根據(jù)報文的ID決定接收或屏蔽該報文,發(fā)送的報文遭到破壞后可自動重發(fā)。

  7)可靠的錯誤處理和檢錯機制,節(jié)點在錯誤嚴重的情況下具有自動退出總線的功能。

  8)報文不包含源地址和目標(biāo)地址,僅用報文標(biāo)志符來來指示功能信息和優(yōu)先級信息。

  5.1 CAN節(jié)點硬件接口

  CAN總線接口硬件部分主要由微控制器、CAN控制器和CAN收發(fā)器構(gòu)成。CAN控制器實現(xiàn)了CAN通訊中物理層和數(shù)據(jù)鏈路層的功能,提供了與微控制器和總線的物理線路接口,這樣用戶只需編寫符合自己通訊和控制要求的應(yīng)用層協(xié)議即可。本系統(tǒng)中微控制器使用Philips公司的8位增強型單片機P89C668,CAN控制器和總線驅(qū)動器用的分別是Philips公司的SJA1000、PCA82C250來構(gòu)成典型的CAN通訊節(jié)點。其硬件電路圖如圖3所示:

  電路的核心部分是P89C668單片機,它以80C51為內(nèi)核,具有ISP(在系統(tǒng)編程)和IAP(在應(yīng)用編程)功能的片內(nèi)Flash存儲器,片內(nèi)Boot ROM包含底層FLASH編程子程序,以實現(xiàn)通過串行口下載升級程序,擁有8K字節(jié)RAM(可外擴到64K)和64K字節(jié)FLASH ,還有4個中斷優(yōu)先級、8個中斷源和4個8位I/O口,可方便地進行各種片內(nèi)操作和片外擴展。CAN控制器相對于微控制器來說相當(dāng)于一個存儲器I/O映象設(shè)備,SJA1000片內(nèi)有模式寄存器、狀態(tài)寄存器、命令寄存器、中斷寄存器和收、發(fā)寄存器等。單片機就是通過讀寫這些寄存器來實現(xiàn)對SJA1000的控制,芯片的TX0、TX1、RX0、RX1引腳用于CAN總線的接口,SJA1000的12M晶振由P89C668的外部晶振產(chǎn)生電路同時提供;PCA82C250是控制器與物理總線的接口,可提供對總線的差動發(fā)送和接收功能,其TXD、RXD引腳分別接收和發(fā)送經(jīng)驅(qū)動后的信號,再由CANH、CANL接至總線傳輸介質(zhì)(這里采用雙絞線)上,同時還要注意CANH、CANL之間要加上120歐姆的終端匹配電阻才能保證總線的正常通訊。[!--empirenews.page--]5.2 CAN節(jié)點的軟件設(shè)計

 

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

  CAN總線通訊的成功與否重點是SJA1000的初始化設(shè)置,初始化程序通過將CAN控制器的寄存器寫入控制字,確定CAN的工作方式。用P89C668的P2.7作為片選信號與SJA1000的CS引腳相連,SJA1000的片內(nèi)寄存器和P89C668單片機寄存器是重疊編址的,因此SJA1000寄存器尋址時要定義成片外RAM尋址。下面給出了CAN節(jié)點的初始化程序:

  Init_Can (void)

  { MODE = 0x09; file://進入復(fù)位模式,對SJA1000進行初始化;

  CDR = 0x88; file://選擇PeliCan;

  CMR = 0x0C; file://清除數(shù)據(jù)溢出和釋放接收緩沖器;

  IER = 0x03; file://開放接收中斷和發(fā)送中斷;

  ACR0 = 0x66;

  ACR1 = 0x66;

  ACR2 = 0x66;

  ACR3 = 0x66; file://根據(jù)具體的協(xié)議定義設(shè)置驗收碼寄存器;

  AMR0 = 0xFF;

  AMR1 = 0xFF;

  AMR2 = 0xFF;

  AMR3 = 0xFF; file://根據(jù)具體的協(xié)議定義設(shè)置驗收屏蔽寄存器;

  BTR0 = 0x41;

  BTR1 = 0x1B; file://12MHz晶振下,設(shè)置波特率為200kbps;

  OCR = 0XAA;

  EWLR =0x60;

  RBSA = 0x00; file://RX緩存器起始地址寄存器設(shè)置為0;

  TXERR= 0x00; file://發(fā)送錯誤接收器設(shè)置為0;

  ECC =0x00; ?

  MODE= 0x08; file://單向濾波方式,進入正常模式,初始化完畢;

  由于視覺傳感器測控系統(tǒng)要進行視覺檢測多為在線檢測,實時性要求較強,這里各傳感器節(jié)點采用中斷接收方式接收上位機的控制命令,節(jié)點初始化后,當(dāng)一幀信息經(jīng)過出錯檢測確認為正確信息后裝入接收緩沖器,SJA1000的INT腳會產(chǎn)生中斷信號,該信號連接到單片機P89C668的外邊中斷0引腳,在外部中斷0中斷處理程序中判別該信息的標(biāo)志符如果是本節(jié)點地址,便讀出接收緩沖器的數(shù)據(jù)并保存在RAM中,中斷接收程序框圖如下:

  系統(tǒng)中發(fā)送報文采用查詢方式,傳感器節(jié)點在收到主控機的數(shù)據(jù)請求命令后發(fā)送數(shù)據(jù),發(fā)送模塊首先進行狀態(tài)查詢,判定總線是否空閑,如空閑,則將目的節(jié)點地址寫入發(fā)送標(biāo)志符寄存器,數(shù)據(jù)寫入發(fā)送緩沖器,完成一幀CAN信息發(fā)送。

  CAN信息格式分為信息和數(shù)據(jù)兩部分,頭兩個字節(jié)是信息部分,其前11位為標(biāo)志符,標(biāo)志符的前八位用作接收判斷,應(yīng)包含本信息包的目的節(jié)點地址,然后是一位RTR位(0為數(shù)據(jù)幀,1為遠程幀,本例使用數(shù)據(jù)幀),最后是四位的DLC。其余八個字節(jié)為是數(shù)據(jù)部分,存有實際要發(fā)送的數(shù)據(jù)。本例中只用到前兩個數(shù)據(jù),第一個表示傳感器地址,第二個字節(jié)表示選擇傳感器里的兩路攝像機中的哪一路采集圖像。

  CAN節(jié)點之間通訊成功的另一個關(guān)鍵是波特率的設(shè)置,不僅CAN總線上的各下位機節(jié)點要設(shè)置相同的波特率,總線與上位PC機相連的USBCAN接口卡也要有相同的波特率,這樣才能保證通訊暢通。由于USBCAN接口卡內(nèi)的CAN控制器SJA1000用的是16M晶振,而各傳感器節(jié)點內(nèi)的SJA1000與P89C668使用12M晶振,因此對于不同的通訊速率一定要計算出兩種晶振都相一致的BTR0、 BTR1來設(shè)置總線波特率。

  6 結(jié)束語

  本文主要著重于多視覺傳感器控制系統(tǒng)的設(shè)計研究,目前系統(tǒng)軟硬件已初步調(diào)試完成,并能做到各個視覺傳感器的快速切換傳輸視頻圖像,且切換是圖像抖動較小,效果較好。本系統(tǒng)的精度主要由硬件決定,選用高精度、高分辨力的CCD攝像機和激光器,激光器投射出的線結(jié)構(gòu)光越細光強分布越均勻,則測量精度越高。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉