0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

采用高速DSP和CPLD器件實(shí)現(xiàn)嵌入式視覺系統(tǒng)的設(shè)計(jì)

電子設(shè)計(jì) ? 來源:電子產(chǎn)品世界 ? 作者:賈建祿;段發(fā)階; ? 2020-04-27 08:00 ? 次閱讀

引言

隨著計(jì)算機(jī)科學(xué)和自動控制技術(shù)的發(fā)展,視覺系統(tǒng)被廣泛用于工業(yè)檢測、生物醫(yī)學(xué)、軍事偵察等領(lǐng)域。嵌入式視覺系統(tǒng),是將圖像的采集、處理與通信功能集成于單一相機(jī)內(nèi),從而提供了具有多功能、模塊化、高可靠性、易于實(shí)現(xiàn)的機(jī)器視覺解決方案。同時(shí),視覺傳感器需要通過網(wǎng)絡(luò)化設(shè)計(jì)完成控制信息、圖像數(shù)據(jù)的通信任務(wù),網(wǎng)絡(luò)通信裝置是視覺傳感器的重要組成部分。采用DSPCPLD作為核心芯片來控制圖像采集處理和傳輸,采集的圖像經(jīng)DSP的處理后,可經(jīng)以太網(wǎng)傳輸至微機(jī)進(jìn)一步處理,或與其他視覺系統(tǒng)、自動化檢測裝置通信,組成分布式監(jiān)測網(wǎng)絡(luò)。本系統(tǒng)的設(shè)計(jì)優(yōu)點(diǎn)為:

·使用CMOS為圖像傳感器直接采集數(shù)字圖像,采用高速DSP和CPLD作為核心芯片來控制圖像采集和處理,簡化了電路的復(fù)雜度,提高了系統(tǒng)的集成度,降低了成本。 在DSP內(nèi)對采集到的圖像實(shí)現(xiàn)快速圖像的預(yù)處理,提高了系統(tǒng)的智能化。

·通過以太網(wǎng)將圖像數(shù)據(jù)傳輸?shù)铰?lián)網(wǎng)計(jì)算機(jī),利于圖像的傳輸、保存和與其他視覺傳感器通信交換數(shù)據(jù),組成視覺網(wǎng)絡(luò)。并可與PLC、機(jī)器人和其他自動化裝置通信。

系統(tǒng)設(shè)計(jì)

圖1為系統(tǒng)框圖,系統(tǒng)通過DSP給CPLD發(fā)出一個(gè)采集命令,由CPLD控制CMOS圖像傳感器向FIFO寫入圖像數(shù)據(jù),同時(shí)DSP通過DMA將圖像轉(zhuǎn)移至SDRAM中并進(jìn)行圖像處理,在處理結(jié)束后,將處理的結(jié)果通過以太網(wǎng)傳給微機(jī)或其他設(shè)備,對其I/O接口經(jīng)擴(kuò)展后,可與PLC等執(zhí)行裝置相連,被外部執(zhí)行器觸發(fā),完成圖像的采集處理,達(dá)到控制檢測目的。

采用高速DSP和CPLD器件實(shí)現(xiàn)嵌入式視覺系統(tǒng)的設(shè)計(jì)

圖1 系統(tǒng)框圖

圖像采集過程

圖像采集過程主要通過DSP給CPLD(ALTERA的MAX II系列 EPM240)發(fā)送命令字,包括單幀采集、連續(xù)采集等控制命令。每次采集的圖像時(shí)都先復(fù)位FIFO,防止上一次采集過程出錯(cuò)有數(shù)據(jù)滯留而導(dǎo)致本次采集的圖像出錯(cuò)。CPLD采集程序的仿真波形如圖2所示,可以看出當(dāng)采集單幀數(shù)據(jù)時(shí),CPLD通過控制連續(xù)兩個(gè)VSYNC(幀同步信號)間的FIFO( CYPRESS的CYCY7C4291V)的/WE(寫使能信號)低有效來達(dá)到圖像采集的目的。OV7640每幀圖像的時(shí)間為33ms(30f/s),工作在黑白模式下,每幅圖像數(shù)據(jù)有300K(640×480),即9.3MByte/s,而DSP讀取的速度可以到66.7Mbyte/s,若采用16Bit總線寬度的FIFO,則可達(dá)到133Mbyte/s。本系統(tǒng)中由CPLD對圖像的行進(jìn)行計(jì)數(shù),為保證圖像數(shù)據(jù)不溢出FIFO(FIFO為128K字節(jié)),選取每80行圖像數(shù)據(jù)觸發(fā)一次DMA傳輸(DMA選擇為外觸發(fā)模式),每幅圖像分成6次傳輸(共480行數(shù)據(jù))。

圖2 CPLD采集程序的仿真波形

圖3 帶有命令選項(xiàng)的圖像接受軟件

以太網(wǎng)的圖像傳輸

本系統(tǒng)的以太網(wǎng)設(shè)計(jì),采用Wiznet公司全功能硬件協(xié)議棧芯片W5100。W5100內(nèi)有16K的發(fā)送/接收緩存,支持TCP、UDP、ICMP、IPV4 ARP、IGMP等協(xié)議,本系統(tǒng)中采用TCP/IP協(xié)議,接收上位機(jī)的命令并執(zhí)行相應(yīng)的圖像采集和處理任務(wù)。Wiznet公司提供了完整的Socket API函數(shù),其工作方式類似于Windows的Socket API,程序在TI公司的CCS集成開發(fā)環(huán)境下,非常方便用C語言編寫。圖3是利用VC編寫的基于異步Socket的系統(tǒng)軟件。在不同的命令代碼下上傳圖像。如果所示輸入命令1,可以上傳單幅不加任何圖像處理的灰度圖。

軟件流程

系統(tǒng)的軟件流程如圖4所示。系統(tǒng)初始化后配置網(wǎng)絡(luò)設(shè)置,建立命令Socket,Socket連接成功后處在TCP連接狀態(tài)中。當(dāng)接收到命令時(shí),通過中斷觸發(fā)使DSP從W5100讀取命令字,根據(jù)命令字做出相應(yīng)的操作,添加圖像預(yù)處理程序。然后關(guān)閉命令Socket,啟動數(shù)據(jù)Socket進(jìn)行數(shù)據(jù)傳輸,發(fā)送處理后的圖像數(shù)據(jù)以便上位機(jī)進(jìn)行更高級的圖像處理,最終得到用戶想要的結(jié)果和數(shù)據(jù)。

圖4 軟件流程圖

圖像采集和處理程序示例

本系統(tǒng)可以應(yīng)用于視覺系統(tǒng)的多個(gè)領(lǐng)域,通過開發(fā)標(biāo)準(zhǔn)的軟件處理模塊,如幾何邊緣提取、Blob、灰度直方圖、OCV/OCR、簡單的定位和搜索等,由用戶根據(jù)實(shí)際的測量需求選擇相應(yīng)的處理模塊,由上位機(jī)編譯成相應(yīng)的固件并下載到系統(tǒng)中,從而實(shí)現(xiàn)特定功能的視覺檢測。目前系統(tǒng)開發(fā),只能完成特定的幾種功能,以下以圓盤的直徑檢測為例,介紹系統(tǒng)的處理效果。

算法的基本思想是:先對采集的圖像進(jìn)行濾波,再用邊緣檢測算法檢測出圓的邊緣,最后再利用圓檢測算法算出圓的外徑和孔徑。

檢測基本過程如下:

標(biāo)定

在能夠進(jìn)行檢測之前,系統(tǒng)必須要標(biāo)定。標(biāo)定決定圖像與物理世界之間的映射關(guān)系。因此,把圖像中的每個(gè)點(diǎn)與一定的物理世界坐標(biāo)以及反過來建立一一映射。使用一個(gè)無畸變的理想二維標(biāo)定平面來進(jìn)行標(biāo)定。首先,可以使用一個(gè)標(biāo)準(zhǔn)的網(wǎng)格變換把物理坐標(biāo)變換到目標(biāo)平面;然后使用非線性映射把這些中間坐標(biāo)變換到圖像平面。用于變換運(yùn)算的參數(shù)可以通過對一個(gè)包含已知位置信息的已知特征標(biāo)定物成像來獲取。非線性變換是通過在確定的測量點(diǎn)之間進(jìn)行線性插補(bǔ)來實(shí)現(xiàn)。

圖像預(yù)處理

圖5為采集到的原始圖象。由于CMOS傳感器本身的噪聲或系統(tǒng)的擾動等其它原因,原始圖像中會含有噪聲,所以要先對原始圖像做低通濾波處理,可采用3×3模板的低通濾波器,或選擇一些其它的更為復(fù)雜的濾波器,如自適應(yīng)濾波器。

邊緣檢測

采用牛頓插值法對圖像實(shí)現(xiàn)高精度的邊緣檢測,具體計(jì)算步驟如下:

·搜索像邊緣過渡區(qū)計(jì)算向量

根據(jù)像邊緣的位置沿著灰度值對應(yīng)的行或列從亮區(qū)向暗區(qū)搜索,若相鄰的兩個(gè)點(diǎn)的灰度值下降幅度大于閾值(閾值應(yīng)由實(shí)驗(yàn)確定),即認(rèn)為該點(diǎn)為像邊緣過渡區(qū)的起始節(jié)點(diǎn),過渡區(qū)包含有3~4個(gè)節(jié)點(diǎn),把其定義為一維數(shù)組,以像邊緣過渡區(qū)起始節(jié)點(diǎn)為首項(xiàng),沿灰度值矩陣的行或列順序存放由亮到暗像邊緣的灰度值。

·使用牛頓插值函數(shù)實(shí)現(xiàn)像邊緣光強(qiáng)函數(shù)軟件解調(diào)設(shè)向量u[m]={u1,u2,。..。..un},m=0,1,。..。...n。

在基點(diǎn)m=0處向前5階差分為:

D1u0=u1-u0

D2u0=u2-u1+u0

D3u0=u3-3u2+u1-u0 (1)

D4u0=u4-4u3+6u2-4u1+u0

D5u0=u5-5u4+10u3-10u2+5u1-u0

設(shè)t為[0.5]內(nèi)的連續(xù)變量,則五階牛頓向前插值函數(shù)為:

v(t)=u0+tD1u0+(t-1)D2u0/2+t(t-1)(t-2)D3u0/6+t(t-1)(t-2)(t-3)D4u0/24+t(t-1)(t-2)(t-3)(t-4)D5u0/120 (2)

·確定像邊緣特征點(diǎn)的坐標(biāo)

式(2)給出了表征象邊緣位置的連續(xù)函數(shù),對其求二階導(dǎo)數(shù),即,

d2u/dt2=D2u0+(t-1)D3u0+(12t2-36t+22)D4u0/24+(20t3-120t2+210t-100)D5u0/120 (3)

其零交叉點(diǎn)(d2u/dt2=0)即為特征點(diǎn)。圖6為邊緣檢測的效果圖。

直徑的計(jì)算

通過圓檢測算法,計(jì)算出圓的外徑和內(nèi)徑。限于篇幅,具體算法在此不作詳細(xì)介紹。

在實(shí)驗(yàn)中,使用的f=35mm的鏡頭,采用LED環(huán)形光源從底部同軸照明,圖像分辨率為640×480,相面尺寸為3.6mm×2.7mm。系統(tǒng)標(biāo)定在XY方向上每像素為0.0375mm。對標(biāo)稱外徑為15mm,內(nèi)徑為9mm的元件做了10次檢測,檢測直徑的平均外徑值為401.6像素即15.06mm,內(nèi)徑為241.3像素即9.049mm。

實(shí)驗(yàn)結(jié)果

圖7為我們設(shè)計(jì)的視覺傳感器樣機(jī)的系統(tǒng)實(shí)物圖。其由三部分組成,分別為主板、電源板和CMOS電路板。采用抓包程序Ethereal對數(shù)據(jù)傳輸速度進(jìn)行了測試。我們分別對發(fā)送數(shù)據(jù)量為100kbyte,200kbyte和300kbyte進(jìn)行了測試,實(shí)驗(yàn)結(jié)果如表1所示,對于本系統(tǒng)可以達(dá)到10f/s的圖像傳輸速度。

圖7 系統(tǒng)實(shí)物圖

表1 傳輸數(shù)據(jù)速度實(shí)驗(yàn)結(jié)果

結(jié)語

本文介紹的的視覺系統(tǒng),在硬件系統(tǒng),采用CMOS圖像傳感器,CPLD時(shí)序控制,以及高速DSP和以太網(wǎng)高速數(shù)據(jù)傳輸,構(gòu)成了一個(gè)典型嵌入式視覺系統(tǒng)。通過以太網(wǎng)接口可組成分布式視覺檢測網(wǎng)絡(luò)。對于簡單的視覺檢測任務(wù),系統(tǒng)可滿足在線檢測的要求。當(dāng)然,要想最終脫離微機(jī)高速的完成復(fù)雜的圖像處理任務(wù),單DSP還不能滿足要求。今后改進(jìn)是添加FPGA實(shí)現(xiàn)FPGA與DSP融合的處理系統(tǒng)以及多DSP并行處理系統(tǒng),實(shí)現(xiàn)高速嵌入式視覺系統(tǒng)。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    552

    文章

    7959

    瀏覽量

    347926
  • cpld
    +關(guān)注

    關(guān)注

    32

    文章

    1246

    瀏覽量

    169151
  • 嵌入式
    +關(guān)注

    關(guān)注

    5059

    文章

    18973

    瀏覽量

    302032
收藏 人收藏

    評論

    相關(guān)推薦

    如何解決嵌入式視覺系統(tǒng)所面臨的挑戰(zhàn)?

    迎來了更多的挑戰(zhàn),比如功耗、復(fù)雜的算法、處理器的性能、更高的圖像分辨率等,人們需要的是更加智能化的系統(tǒng),嵌入式視覺系統(tǒng)實(shí)現(xiàn)智能化系統(tǒng)重要的
    發(fā)表于 02-01 15:12 ?3718次閱讀

    嵌入式視覺系統(tǒng)開發(fā)過程有什么技巧?

    算法是在PC機(jī)上實(shí)現(xiàn)的。隨著嵌入式微處理器技術(shù)的進(jìn)步,32位ARM處理器系統(tǒng)擁有很高的運(yùn)算速度和很強(qiáng)的信號處理能力,可以作為視覺系統(tǒng)的處理器,代替PC機(jī)來
    發(fā)表于 08-15 06:15

    嵌入式主動視覺系統(tǒng)如何實(shí)現(xiàn)?

    根據(jù)通用主動視覺系統(tǒng)的設(shè)計(jì)要求,提出了基于DSP嵌入式主動視覺系統(tǒng)的設(shè)計(jì)方案,并完成系統(tǒng)的軟硬件設(shè)計(jì)。最終
    發(fā)表于 08-28 08:00

    嵌入式機(jī)器視覺系統(tǒng)有什么特性?怎么優(yōu)化?

    介紹了基于ARM+DSP架構(gòu)的嵌入式機(jī)器視覺系統(tǒng)的特性,分析了制約嵌入式機(jī)器視覺系統(tǒng)性能的因素。從操作
    發(fā)表于 03-11 06:47

    基于圖像傳感器的CPLD視覺系統(tǒng)設(shè)計(jì)方法

    算法是在PC機(jī)上實(shí)現(xiàn)的。隨著嵌入式微處理器技術(shù)的進(jìn)步,32位ARM處理器系統(tǒng)擁有很高的運(yùn)算速度和很強(qiáng)的信號處理能力,可以作為視覺系統(tǒng)的處理器,代替PC機(jī)來
    發(fā)表于 04-29 07:41

    基于DSP嵌入式主動視覺系統(tǒng)詳解

    基于DSP嵌入式主動視覺系統(tǒng)
    發(fā)表于 02-01 06:13

    采用圖像傳感器的CPLD視覺系統(tǒng)設(shè)計(jì)方法

    采用圖像傳感器的CPLD視覺系統(tǒng)設(shè)計(jì)方法 搭建一種低成本的嵌入式視覺系統(tǒng),系統(tǒng)由CMOS圖像傳
    發(fā)表于 03-29 15:07 ?454次閱讀
    <b class='flag-5'>采用</b>圖像傳感器的<b class='flag-5'>CPLD</b><b class='flag-5'>視覺系統(tǒng)</b>設(shè)計(jì)方法

    嵌入式機(jī)器視覺系統(tǒng)優(yōu)化研究

    介紹了基于ARM+DSP架構(gòu)的嵌入式機(jī)器視覺系統(tǒng)的特性,分析了制約嵌入式機(jī)器視覺系統(tǒng)性能的因素。從操作
    發(fā)表于 08-13 17:29 ?45次下載
    <b class='flag-5'>嵌入式</b>機(jī)器<b class='flag-5'>視覺系統(tǒng)</b>優(yōu)化研究

    基于DSP嵌入式通用主動視覺系統(tǒng)

    根據(jù)通用主動視覺系統(tǒng)的設(shè)計(jì)要求,提出了基于DSP嵌入式主動視覺系統(tǒng)的設(shè)計(jì)方案,并完成系統(tǒng)的軟硬件設(shè)計(jì)。最終
    發(fā)表于 01-08 18:26 ?57次下載

    嵌入式視覺系統(tǒng)的構(gòu)建模塊

    在本文中我們將會介紹嵌入式視覺系統(tǒng)的高級元素;如何簡便快捷地使用軟件 API 和 IP 庫構(gòu)建嵌入式視覺系統(tǒng),如何把算法開發(fā)的增值部分添加到圖像處理鏈中。
    發(fā)表于 02-08 12:28 ?1609次閱讀

    嵌入式視覺系統(tǒng)的構(gòu)建模塊

    傳統(tǒng)嵌入式視覺系統(tǒng)采用FPGA/處理器組合來實(shí)現(xiàn),也有越來越多地使用將高性能處理器與FPGA相結(jié)合的片上系統(tǒng)
    發(fā)表于 09-26 17:05 ?393次閱讀

    隨著嵌入式系統(tǒng)高速發(fā)展 嵌入式機(jī)器視覺系統(tǒng)的應(yīng)用也越來越廣泛

    嵌入式系統(tǒng)高速發(fā)展,嵌入式機(jī)器視覺系統(tǒng)越來越多地應(yīng)用于工業(yè)檢測與控制、智能交通、安防、醫(yī)療器械、機(jī)器人導(dǎo)航及消費(fèi)電子等領(lǐng)域。
    發(fā)表于 05-14 08:47 ?2229次閱讀
    隨著<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>的<b class='flag-5'>高速</b>發(fā)展 <b class='flag-5'>嵌入式</b>機(jī)器<b class='flag-5'>視覺系統(tǒng)</b>的應(yīng)用也越來越廣泛

    嵌入式機(jī)器視覺系統(tǒng)設(shè)計(jì)

    嵌入式機(jī)器視覺系統(tǒng)設(shè)計(jì)(嵌入式開發(fā)需要學(xué)什么)-該文檔為嵌入式機(jī)器視覺系統(tǒng)設(shè)計(jì)簡介資料,講解的還不錯(cuò),感興趣的可以下載看看………………………
    發(fā)表于 07-30 09:02 ?16次下載
    <b class='flag-5'>嵌入式</b>機(jī)器<b class='flag-5'>視覺系統(tǒng)</b>設(shè)計(jì)

    基于Linux的嵌入式視覺系統(tǒng)設(shè)計(jì)原理

    電子發(fā)燒友網(wǎng)站提供《基于Linux的嵌入式視覺系統(tǒng)設(shè)計(jì)原理.pdf》資料免費(fèi)下載
    發(fā)表于 10-11 11:26 ?0次下載
    基于Linux的<b class='flag-5'>嵌入式</b><b class='flag-5'>視覺系統(tǒng)</b>設(shè)計(jì)原理

    嵌入式機(jī)器視覺系統(tǒng)中ARM與DSP的數(shù)據(jù)通信方法

    電子發(fā)燒友網(wǎng)站提供《嵌入式機(jī)器視覺系統(tǒng)中ARM與DSP的數(shù)據(jù)通信方法.pdf》資料免費(fèi)下載
    發(fā)表于 10-18 10:19 ?0次下載
    <b class='flag-5'>嵌入式</b>機(jī)器<b class='flag-5'>視覺系統(tǒng)</b>中ARM與<b class='flag-5'>DSP</b>的數(shù)據(jù)通信方法