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

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

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

基于RTDX技術(shù)實(shí)現(xiàn)圖像目標(biāo)識別系統(tǒng)的設(shè)計(jì)

電子設(shè)計(jì) ? 來源:國外電子元器件 ? 作者:胡敏露;徐剛鋒;李 ? 2021-05-21 09:41 ? 次閱讀

作者:胡敏露;徐剛鋒;李飚

1 引言

數(shù)字信號處理系統(tǒng)開發(fā)過程中,通常要對算法的正確性進(jìn)行驗(yàn)證,也就是程序調(diào)試。而傳統(tǒng)的主機(jī)調(diào)試器必須通過在目標(biāo)應(yīng)用程序中插入斷點(diǎn),在中斷目標(biāo)應(yīng)用程序運(yùn)行時(shí)觀測目標(biāo)機(jī)上各寄存器或內(nèi)存變量的值。但是,由于處理系統(tǒng)是實(shí)時(shí)的,因此,這種經(jīng)典的方法不能實(shí)時(shí)地跟蹤數(shù)據(jù)的變化,有時(shí)顯示的數(shù)據(jù)根本就是錯(cuò)誤的。這種方法的不足在筆者的圖像處理系統(tǒng)中表現(xiàn)得更為突出。且不說它不能實(shí)時(shí)反映數(shù)據(jù)處理的結(jié)果,即使可以實(shí)時(shí)反映,在用memoryView方法來觀測圖像處理的結(jié)果時(shí)也只是各內(nèi)存單元的值,因而非常不直觀,為故障診斷和系統(tǒng)性能測評等帶來許多不便,所以,必須尋找一種方法來實(shí)時(shí)跟蹤數(shù)據(jù)變化,而且數(shù)據(jù)還應(yīng)以非常直觀的形式顯示在主機(jī)屏幕上。

TI的Real-Time Data Ex-change(RTDX)技術(shù)就是利用DSPs的內(nèi)部仿真邏輯和JTAG接口來實(shí)現(xiàn)主機(jī)與目標(biāo)機(jī)之間的數(shù)據(jù)交換,它不占用DSPs的系統(tǒng)總線和串口等I/0資源,數(shù)據(jù)傳送完全可以在應(yīng)用程序的后臺運(yùn)行,對應(yīng)用程序影響很小,它完全可以在不中斷目標(biāo)應(yīng)用程序的前提下,向主機(jī)實(shí)時(shí)發(fā)送目標(biāo)機(jī)上各寄存器或內(nèi)存變量的值。而主機(jī)上的可視化應(yīng)用程序也可以通過嵌入COM的APl函數(shù)來獲得這些數(shù)據(jù),并以適當(dāng)?shù)母袷桨褦?shù)據(jù)顯示出來(如表格、波形圖或二維圖像等形式)。這樣,就可以實(shí)時(shí)觀測和分析應(yīng)用程序的運(yùn)行情況,使得編程人員查找和修改應(yīng)用程序的錯(cuò)誤更加方便,從而縮短系統(tǒng)的設(shè)計(jì)開發(fā)周期。

在設(shè)計(jì)圖像目標(biāo)識別系統(tǒng)時(shí),把攝像頭信號通過視頻采集卡進(jìn)行采樣和量化,并存放在處理機(jī)系統(tǒng)的外部存儲器中。為了獲得目標(biāo)在圖像中的位置,設(shè)計(jì)時(shí)必須對采樣的數(shù)據(jù)進(jìn)行識別算法處理。因?yàn)楣P者處理的是連續(xù)圖像幀序列,因而不能在中斷程序運(yùn)行的情況下觀測處理結(jié)果,而且無法通過只看相應(yīng)memo~的值來判斷跟蹤窗是否能跟上運(yùn)動(dòng)的目標(biāo),所以,采用了RTDX技術(shù)。

2 RTDX的原理

RTDX是一種可以在不影響目標(biāo)應(yīng)用程序運(yùn)行的情況下讓主機(jī)和目標(biāo)機(jī)進(jìn)行實(shí)時(shí)數(shù)據(jù)傳輸?shù)募夹g(shù)。RTDX支持雙向數(shù)據(jù)流,即目標(biāo)機(jī)到主機(jī)的數(shù)據(jù)流和主機(jī)到目標(biāo)機(jī)的數(shù)據(jù)流。RTDX數(shù)據(jù)流示意圖如圖1所示。

基于RTDX技術(shù)實(shí)現(xiàn)圖像目標(biāo)識別系統(tǒng)的設(shè)計(jì)

2.1目標(biāo)機(jī)到主機(jī)的數(shù)據(jù)傳送

目標(biāo)機(jī)為了向主機(jī)發(fā)送數(shù)據(jù),必須設(shè)定一個(gè)輸出通道oehanData。通過用戶接口可將數(shù)據(jù)送到輸出通道以使這些數(shù)據(jù)隨即保存到RTDX目標(biāo)機(jī)的緩存(由RTDX目標(biāo)函數(shù)庫定義)中,然后再將這些數(shù)據(jù)通過JTAG接口發(fā)送到主機(jī)。RTDX主機(jī)函數(shù)庫將接收到的數(shù)據(jù)保存在log文件中或主機(jī)的緩存中(具體由RTDX模式來決定)。

保存在log文件中或主機(jī)緩存中的數(shù)據(jù)可以通過COM Automation Client重新獲取析。下面是幾種典型的COM Automation Client:

Visual Basic applications;

Visual C++ applications;

Lab View;

Microsoft Excel。

2.2主機(jī)到目標(biāo)機(jī)的數(shù)據(jù)傳送

目標(biāo)機(jī)要從主機(jī)中獲得數(shù)據(jù),首先必須設(shè)定一個(gè)輸入通道ichanCmd,來接受主機(jī)發(fā)出的命令,從而實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)耐?。運(yùn)行中,系統(tǒng)可通過用戶接口發(fā)送一個(gè)讀取數(shù)據(jù)的請求,并將這個(gè)請求保存在RTDX目標(biāo)機(jī)的緩存中,然后通過JTAG接口發(fā)送到主機(jī)。同時(shí)應(yīng)由COM automation client通過COM接口把要發(fā)送的數(shù)據(jù)先寫入到RTDX主;帆函數(shù)庫中的緩存,以等待目標(biāo)機(jī)讀取數(shù)據(jù)的請求。當(dāng)RTDX主機(jī)函數(shù)庫收到從目標(biāo)機(jī)發(fā)出的讀取數(shù)據(jù)請求時(shí),保存在RTDX主機(jī)函數(shù)庫中的數(shù)據(jù)便可通過JTAG接口將數(shù)據(jù)發(fā)送到目標(biāo)機(jī),從而使該數(shù)據(jù)可以實(shí)時(shí)寫入目標(biāo)機(jī)指定的存儲區(qū)域。操作完成后,主機(jī)會通知RTDX目標(biāo)機(jī)函數(shù)庫。

2.3 RTDX目標(biāo)機(jī)函數(shù)庫的用戶接口和COM接口

利用RTDX目標(biāo)機(jī)函數(shù)庫的用戶接口可實(shí)現(xiàn)在目標(biāo)機(jī)DSP應(yīng)用程序和主機(jī)之間進(jìn)行安全可靠的數(shù)據(jù)交換。同時(shí)可利用它完成應(yīng)用程序向RTDX主機(jī)庫發(fā)送數(shù)據(jù)、應(yīng)用程序向RTDX主機(jī)庫發(fā)送數(shù)據(jù)請求以及在目標(biāo)機(jī)上提供數(shù)據(jù)緩存等功能。另外,數(shù)據(jù)發(fā)送前應(yīng)先將數(shù)據(jù)拷貝到目標(biāo)機(jī)緩存中,以減少對應(yīng)用程序?qū)崟r(shí)性的影響。 RTDX主機(jī)庫中的COM接口可用來確定COM automation client與RTDX主機(jī)函數(shù)庫的通信方式。而通過COM automation client可訪問保存在RTDX lox文件或BTDX主機(jī)函數(shù)庫緩存中的數(shù)據(jù)。同時(shí)COM automation client也可通過RTDX主機(jī)函數(shù)庫向應(yīng)用程序發(fā)送數(shù)據(jù)。

2.4 RTDX模式

RTDX主機(jī)函數(shù)庫提供了兩種接受目標(biāo)機(jī)數(shù)據(jù)的模式:第一種是非連續(xù)模式,在這種模式中,數(shù)據(jù)通常存到主機(jī)的log文件中。該模式一般應(yīng)用于非實(shí)時(shí)處理情況下,可在事后分析保存在log文件中的數(shù)據(jù)。第二種是連續(xù)模式,在這種模式中,數(shù)據(jù)不寫入log文件,而是由RTDX主機(jī)函數(shù)庫緩存,它一般應(yīng)用在實(shí)時(shí)情況下。

3 基-ZRTDX的視頻數(shù)據(jù)傳輸

在程序調(diào)試時(shí),筆者利用RTDX技術(shù)在主機(jī)上顯示采集圖像處理后的結(jié)果以驗(yàn)證算法的性能,并通過設(shè)定主機(jī)與目標(biāo)機(jī)的握手信號來在主機(jī)上實(shí)現(xiàn)動(dòng)態(tài)的視頻顯示。

考慮到數(shù)據(jù)傳輸都由JTAG接口完成而且圖像數(shù)據(jù)量很大,調(diào)試中往往采用將512X512圖像每4個(gè)相鄰像素取一個(gè)點(diǎn)的方法來將分辨率降為128X128,因?yàn)闇p少數(shù)據(jù)量可提高顯示幀頻。當(dāng)數(shù)據(jù)通過RTDX通道傳到主機(jī)時(shí),128X128的圖像數(shù)據(jù)可通過每個(gè)像素?cái)U(kuò)展成4個(gè)相鄰的像素來恢復(fù)圖像。最后通過VC的位圖顯示函數(shù)來顯示圖像結(jié)果。圖2所示是其視頻數(shù)據(jù)流示意圖。

為了使主機(jī)與目標(biāo)機(jī)之間能正確地傳送和接受數(shù)據(jù),主機(jī)應(yīng)用程序和目標(biāo)機(jī)應(yīng)用程序都要嵌入支持RTDX的APl函數(shù)。下面詳細(xì)介紹兩者之間的操作流程。

3.1在DSP應(yīng)用程序中使用RTDX

在DSP應(yīng)用程序中通過APl函數(shù)調(diào)用RTDX目標(biāo)機(jī)函數(shù)庫時(shí),必須將相應(yīng)的API函數(shù)嵌入應(yīng)用程序中。其步驟如下:

(1)設(shè)定相應(yīng)的RTDX通道為全局對象

RTDX通道為單向傳輸。設(shè)定RTDX輸出通道ochanData可使目標(biāo)機(jī)向主機(jī)傳輸數(shù)據(jù);而設(shè)定RT-DX輸入通道ichanCmd則可使主機(jī)向目標(biāo)機(jī)傳輸命令數(shù)據(jù),同時(shí),可用輸入通道來同步主機(jī)與目標(biāo)機(jī)。

其程序如下:

RTDX_CreatOutputChannel(ochanData);

RTDX_CreatlnputChannel(ichanCmd);

Void Task ch()

RTDX_enableOutput(&ochanData);

RTDX_enablelnput(&ichanCmd)

//START為主機(jī)向目標(biāo)機(jī)發(fā)送

的傳輸開始控制命令(用戶自定義)

Retumcode二RTDX_read(&ichanCmd,

received,4);

)while(received[0]?。篠TART);

(2)設(shè)定RTDX_Poll()的調(diào)用方式

RTDX目標(biāo)機(jī)函數(shù)庫是通過調(diào)用函數(shù)RTDXPon()來實(shí)現(xiàn)主機(jī)與目標(biāo)機(jī)間的通信的。RTDX_Poll()的調(diào)用有兩種方式:一種是在應(yīng)用程序中調(diào)用,另一種是利用中斷服務(wù)程序調(diào)用。程序如下

while(RTDX_writing!二NUIL)

#ifRTDX_POIIJNG

RTDX_Poll();

#endif )

若將宏RTDX_POII,ING_IMPLEMENTATION定義為1,則表示在應(yīng)用程序中調(diào)用RTDX_Poll(),而如果將其定義為0,則表示在中斷服務(wù)程序中調(diào)用

RTDX_Poll()。

(3)目標(biāo)機(jī)向主機(jī)發(fā)送視頻數(shù)據(jù)

若采集數(shù)據(jù)空間的一幀圖像(512X 512),可通過調(diào)用函數(shù)RTDX_write()發(fā)送到主機(jī),并可將一幀圖像分成若干塊傳輸,每一塊數(shù)據(jù)為1k。程序如下:

fOr(cond:0;cond《0x10;cond++)

rawdat_temp‘baseadd+cond*0x4000;

rawdat二(unsignedint*)mwdat_temp;

/*圖像在目標(biāo)機(jī)上的地址*/

fOr(count:0;count while(!RTDX-write(&ochan,mwdat+count*datanum,datanum*sizeof(int)));

3.2在VC編程環(huán)境下使用RTDX

在VC環(huán)境下獲取RTDX主機(jī)函數(shù)庫緩存中的數(shù)據(jù)并顯示的步驟如下:

(1)在VC中實(shí)現(xiàn)與RTDX主機(jī)函數(shù)庫的握手

(Handshanking)程序如下:

::Colnitialize(NULL); //initializeCOM

::Variantlnit(&sa); //initializeVARIANTsa

h二ndx.Createlnstance(uuidof(RTDXINTLib::Rtdx-

Exp)); //instantiate出eRTDX//COMObiect

訂(FAILED(血)){

MessageBox(//Error:Instantiationfailed?。?/p>

return-1; )

status二rtdx-》Open(“ochan’‘,”R“);

//opepachannel(ochan)fOrreading

訂(status!二Success){

MessageBox(”-Error

fdled!“);

return-1; 1

(2)在VC中重新獲得由目標(biāo)機(jī)傳送來的數(shù)據(jù)

rtck-》ReadSAl4(&sa);

//read a 32-ht integermessage

switch(status) {

//teststatus returnedfrom ReadSAl4

case Success:

for(i:0;i《(signed)sa.parray-》

rgsabound[0].cElements;i++)

{hr二::SafeArrayGetElement(sa.parray,

&i,(10ng*)&data);

datatemp:(unsignedint)data;

fOr(intitochar:0;itochar《4;itochar十+)

ImageT[count+itochar];(char)(datatemp

》》itochar-k9)&隊(duì)000000ff);

count+:4;1//counter為傳輸像素計(jì)數(shù)器

break;

case Failure:

MessageBox(-Error:ReadSAl4

returnedfmlure!\n”);

case

return-1;

EnoDataAvailsble:

MessageBox(“NODataiscurrendy

available!”);

return-1;

case EendOfl_ogFile:

MessageBox(“DataProcessingComplete!”)

1 while(status!二EEndOfLogFile)

(3)在VC中顯示數(shù)據(jù)的程序如下:

if(count二:16384) //128*128:

count二0;

br(inti:0;i for(intj:0¨ lpTemlmage¨*m_nWidth+¨:ImageT

[(m_nHei少t-i-1)*m_nWidth+¨

m_rawdat:RawToDib(hlmage);

Draw(m_rawdat,dc,1eft,top);

/*調(diào)用函數(shù)Draw()畫圖*

4 結(jié)束語

RTDX是一種非常優(yōu)秀的實(shí)時(shí)數(shù)據(jù)傳輸技術(shù),為軟件調(diào)試提供了一種全新的方法。該項(xiàng)技術(shù)所設(shè)計(jì)的調(diào)試軟件具有占用系統(tǒng)資源少、速度快和COM Automatic Client選擇靈活等特點(diǎn),為DSP編程人員發(fā)現(xiàn)程序錯(cuò)誤和監(jiān)測系統(tǒng)運(yùn)行狀況提供了實(shí)時(shí)的、直觀的表示形式。其實(shí),RTDX不但可以用在軟件調(diào)試過程中,而且可用于醫(yī)療監(jiān)測、工業(yè)控制等領(lǐ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)注

    551

    文章

    7824

    瀏覽量

    346828
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5253

    瀏覽量

    119201
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7366

    瀏覽量

    163091
收藏 人收藏

    評論

    相關(guān)推薦

    關(guān)于MATLAB建立圖像處理和目標(biāo)識別系統(tǒng)流程的求助

    本人新手,之前從未接觸過圖像處理,現(xiàn)在因?yàn)轫?xiàng)目需要搭建一個(gè)關(guān)于圖像處理和目標(biāo)識別的MATLAB系統(tǒng),系統(tǒng)介紹如下: 想要從圖片中將
    發(fā)表于 07-10 15:05

    如何選擇合適頻率的射頻識別系統(tǒng)

    (Transponder/Tag)和詢問器 /讀寫器(Interrogator/Reader)之間雙向通信,從而達(dá)到識別目的并交換數(shù)據(jù)的新興技術(shù)技術(shù)實(shí)現(xiàn)
    發(fā)表于 05-29 08:14

    嵌入式系統(tǒng)中的目標(biāo)識別技術(shù)有哪些?

    嵌入式系統(tǒng)中的目標(biāo)識別技術(shù)
    發(fā)表于 03-09 08:33

    怎么實(shí)現(xiàn)基于Z85C30的動(dòng)目標(biāo)識別系統(tǒng)的串行通信設(shè)計(jì)?

    怎么實(shí)現(xiàn)基于Z85C30的動(dòng)目標(biāo)識別系統(tǒng)的串行通信設(shè)計(jì)?
    發(fā)表于 05-31 06:32

    怎么實(shí)現(xiàn)基于STM32F103單片機(jī)的車牌識別圖像處理識別系統(tǒng)的設(shè)計(jì)?

    STM32的主要優(yōu)點(diǎn)是什么?怎么實(shí)現(xiàn)基于STM32F103單片機(jī)的車牌識別圖像處理識別系統(tǒng)的設(shè)計(jì)?
    發(fā)表于 09-29 06:29

    基于DSP的毫米波主被動(dòng)復(fù)合探測器目標(biāo)識別系統(tǒng)設(shè)計(jì)【回映分享】

    。因此,毫米波主被動(dòng)復(fù)合探測體制是毫米波探測技術(shù)的發(fā)展趨勢之一。 本文介紹了3mm波段毫米波主被動(dòng)復(fù)合探測系統(tǒng)的工作原理,探討了探測系統(tǒng)的主要技術(shù)指標(biāo),并確定了
    發(fā)表于 12-30 10:36

    智能車目標(biāo)識別系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)資料推薦

    1、智能車目標(biāo)識別系統(tǒng)實(shí)現(xiàn)  首先,簡單介紹一下上面提到的各個(gè)話題的范圍 (Domain),人工智能 (Artifitial Intelligence)是最大的話題,如果用一張圖來說明的話
    發(fā)表于 09-06 14:54

    基于RT-Thread和N32G457的嵌入式目標(biāo)識別系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)

    1、基于RT-Thread和N32G457的嵌入式目標(biāo)識別系統(tǒng)設(shè)計(jì)  本演示示例移植蘇州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院王宜懷教授團(tuán)隊(duì)的金葫蘆嵌入式人工智能:物體認(rèn)知系統(tǒng)中的代碼在N32G457上實(shí)現(xiàn)
    發(fā)表于 11-30 11:36

    基于USB和目標(biāo)識別圖像采集系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)

    介紹了一種有目標(biāo)識別功能的圖像采集系統(tǒng),用USB 接口芯片實(shí)現(xiàn)了數(shù)據(jù)的傳輸。闡述了系統(tǒng)的硬件、固件、設(shè)備驅(qū)動(dòng)程序和應(yīng)用軟件的設(shè)計(jì)與
    發(fā)表于 08-13 08:42 ?14次下載

    運(yùn)動(dòng)目標(biāo)識別與跟蹤系統(tǒng)的研究

    提出了一種運(yùn)動(dòng)目標(biāo)識別與跟蹤系統(tǒng)的方案,給出了系統(tǒng)的原理圖和結(jié)構(gòu)框圖。重點(diǎn)論述了圖像處理的過程和算法,包括顏色模型的選擇,圖像的預(yù)處理,
    發(fā)表于 07-20 16:14 ?29次下載

    基于圖像檢索的地標(biāo)識別系統(tǒng)

    設(shè)計(jì)并實(shí)現(xiàn)了基于圖像檢索的地標(biāo)識別系統(tǒng)。該系統(tǒng)通過捕捉地標(biāo)的視覺特征,幫助游客或使用者更好地理解圖像的內(nèi)容并同時(shí)提供
    發(fā)表于 07-16 17:02 ?25次下載

    紅外動(dòng)目標(biāo)識別跟蹤系統(tǒng)實(shí)現(xiàn)方案

    紅外動(dòng)目標(biāo)識別跟蹤系統(tǒng)實(shí)現(xiàn)方案
    發(fā)表于 01-12 22:13 ?24次下載

    《光學(xué)精密工程》—采用優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)的紅外目標(biāo)識別系統(tǒng)

    采用優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)的紅外目標(biāo)識別系統(tǒng) 人工智能技術(shù)與咨詢 前天 本文來自《光學(xué)精密工程》,作者劉可佳等 關(guān)注微信公眾號:人工智能技術(shù)與咨詢。了解更多咨詢! 摘要 針對視頻數(shù)據(jù)利用低效和光測設(shè)備
    發(fā)表于 11-16 14:33 ?1033次閱讀
    《光學(xué)精密工程》—采用優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)的紅外<b class='flag-5'>目標(biāo)識別系統(tǒng)</b>

    機(jī)器視覺的圖像目標(biāo)識別方法綜述

    文章來源:MEMS引言從20世紀(jì)80年代開始,機(jī)器視覺技術(shù)的發(fā)展速度不斷加快,已經(jīng)走進(jìn)了人們的日常生活與工作之中。機(jī)器視覺的圖像目標(biāo)識別系統(tǒng)的自動(dòng)化程度較高,應(yīng)用范圍廣,尤其在危險(xiǎn)場所的運(yùn)用,采用
    的頭像 發(fā)表于 02-23 08:26 ?595次閱讀
    機(jī)器視覺的<b class='flag-5'>圖像</b><b class='flag-5'>目標(biāo)識別</b>方法綜述

    目標(biāo)智能識別系統(tǒng)

    智慧華盛恒輝多目標(biāo)智能識別系統(tǒng)是一種利用現(xiàn)代計(jì)算機(jī)視覺技術(shù)和人工智能算法,從圖像或視頻中同時(shí)識別和分類多個(gè)
    的頭像 發(fā)表于 07-16 10:42 ?1.2w次閱讀