<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 集成工具可提高嵌入式DSP系統(tǒng)的設(shè)計(jì)與驗(yàn)證自動化程度

          集成工具可提高嵌入式DSP系統(tǒng)的設(shè)計(jì)與驗(yàn)證自動化程度

          作者: 時(shí)間:2012-12-12 來源:網(wǎng)絡(luò) 收藏

          傳統(tǒng)流程通常由概念到算法及算法到產(chǎn)品兩個(gè)階段構(gòu)成,通常這兩個(gè)階段互相獨(dú)立且由不同小組完成。

          本文引用地址:http://www.ex-cimer.com/article/148197.htm

          傳統(tǒng)的流程里要用手工在兩個(gè)階段之間進(jìn)行轉(zhuǎn)換與銜接,這樣容易出現(xiàn)錯誤而推遲產(chǎn)品的上市時(shí)間。本文介紹一種可以使設(shè)計(jì)與測試更加,且具有更高效率,可減少產(chǎn)品缺陷。

          過去幾年以來,產(chǎn)品與在軟件方面的功能不斷增強(qiáng),高強(qiáng)度實(shí)時(shí)要求越來越多。對設(shè)計(jì)工程師而言,為與競爭對手展開競賽,爭取更快將新產(chǎn)品投向市場,高效開發(fā)方法成為重中之重,對開發(fā)數(shù)字信號處理器算法的工程師而言尤為如此。此外,產(chǎn)品開發(fā)周期和生命周期不斷縮短等因素,也促使工程師和設(shè)計(jì)經(jīng)理對開發(fā)方法和軟件進(jìn)程進(jìn)行全面重新評估。

          產(chǎn)品漏洞會導(dǎo)致市場份額迅速下降,如果公司犧牲質(zhì)量,那么其聲譽(yù)會馬上受到影響。產(chǎn)品工程師在實(shí)施由研發(fā)工程師設(shè)計(jì)的算法時(shí),會遇到很多難題,其中之一就是將系統(tǒng)參數(shù)、測試向量以及其它數(shù)據(jù)從基于主機(jī)PC概念的開發(fā)用手工方式轉(zhuǎn)向基于目標(biāo)硬件的代碼開發(fā)工具。這種手工轉(zhuǎn)化常常會造成錯誤,要在確認(rèn)和測試中才能被發(fā)現(xiàn),從而導(dǎo)致開發(fā)時(shí)間延長。市場調(diào)查顯示,客戶產(chǎn)品開發(fā)中常常有50%以上的時(shí)間是用于產(chǎn)品與測試。在這個(gè)階段,省時(shí)的工具對產(chǎn)品功能可靠性、上市時(shí)間以及能否最終取得成功都有很大的影響。

          在今天市場環(huán)境下,要將工程師的開發(fā)流程從概念發(fā)展至算法并最終推出產(chǎn)品,傳統(tǒng)的產(chǎn)品開發(fā)流程已顯得力不從心,新開發(fā)流程需要廣泛的工具,保證數(shù)據(jù)以及其它信息能夠動態(tài)共享以實(shí)現(xiàn)更高的工作效率。

          傳統(tǒng)開發(fā)流程

          DSP系統(tǒng)傳統(tǒng)設(shè)計(jì)流程通常包括兩個(gè)主要階段,即概念到算法階段(由研發(fā)小組實(shí)施,其中包括算法開發(fā)與系統(tǒng)設(shè)計(jì))以及算法到產(chǎn)品階段(由產(chǎn)品開發(fā)小組實(shí)施,該階段包括實(shí)際產(chǎn)品實(shí)現(xiàn)、目標(biāo)編程和測試),如圖1所示。

          由于上面兩個(gè)階段常常是彼此獨(dú)立的,并由不同的設(shè)計(jì)小組完成,而各小組的目標(biāo)可能不一致,因此這種結(jié)構(gòu)內(nèi)部會有一些問題。此外,設(shè)計(jì)小組使用的工具還可能彼此不兼容,不能夠整合在一起。

          在多數(shù)情況下,研發(fā)工程師使用數(shù)字計(jì)算環(huán)境,可充分發(fā)揮算法開發(fā)、分析以及各種科學(xué)、數(shù)學(xué)或工程應(yīng)用可視化功能。研發(fā)工程師常常以M或C代碼創(chuàng)建算法,也可以為其算法創(chuàng)建測試向量(通常是文本或二進(jìn)制格式的數(shù)據(jù)文件)。他們隨后會在主機(jī)PC上運(yùn)行算法進(jìn)行模擬,以便分析并使算法響應(yīng)可視化,目標(biāo)是確保算法不僅能夠獨(dú)立于特定的平臺進(jìn)行工作,還能獨(dú)立于任何物理存儲器、速度或?qū)崟r(shí)限制工作。當(dāng)他們希望將設(shè)計(jì)轉(zhuǎn)給產(chǎn)品開發(fā)小組時(shí),他們將提交書面規(guī)范或?qū)嶋H的C或M代碼,并請開發(fā)小組就具體的DSP目標(biāo)實(shí)施算法。

          在產(chǎn)品開發(fā)方面,大多數(shù)DSP工作小組都使用集成開發(fā)環(huán)境(IDE),小組的目標(biāo)是使用書面的規(guī)范實(shí)施算法、測試算法,并在最終產(chǎn)品中進(jìn)行確認(rèn),以保證其滿足系統(tǒng)的實(shí)時(shí)、速度、功率及內(nèi)存等限制條件。產(chǎn)品開發(fā)小組常常依靠手工方法從事上述任務(wù),因?yàn)橹苯痈鶕?jù)規(guī)范或算法測試向量進(jìn)行產(chǎn)品測試通常沒有便捷路徑可循。在遇到復(fù)雜系統(tǒng)時(shí),手動轉(zhuǎn)換和確認(rèn)會延緩產(chǎn)品開發(fā),影響產(chǎn)品的成功。

          產(chǎn)品工程師為防止出現(xiàn)前后脫節(jié)而采取一些手工方法包括:

          1. 手工復(fù)制并粘貼M文件測試向量(如100個(gè)值的陣列)至IDE的C代碼(或匯編)文件中。但是工程師必須注意,應(yīng)復(fù)制所有數(shù)據(jù)不能遺漏,還必須添加正確的語法以保證兼容性(如逗號、方括號、圓括號等);

          2. 使用典型IDE中的“載入數(shù)據(jù)”命令手工從PC硬盤向DSP存儲器載入整個(gè)數(shù)據(jù)文件。工程師必須注意應(yīng)以人工方式或通過腳本(需要編寫并調(diào)試)對數(shù)據(jù)進(jìn)行重新格式化,以保證文件格式和隨后的語法能夠匹配;

          3. 可使用IDE的文件I/O功能(如fscanf()功能)以便以自動方式像上面第二種方法一樣載入文件,但是有關(guān)文件格式與語法類型的問題仍然存在。傳統(tǒng)文件I/O帶來的另一大主要問題在于,工程師必須在DSP本身上面運(yùn)行龐大而低效的C庫,這將導(dǎo)致代碼膨脹,不僅浪費(fèi)內(nèi)存,還會拖慢DSP的速度,使其喪失實(shí)時(shí)工作性能;

          4. 利用外部硬件生成信號作為系統(tǒng)的輸入(如音樂或正弦波),以觀察系統(tǒng)是否能夠?qū)崟r(shí)響應(yīng)。與前面所說測試向量和數(shù)據(jù)已經(jīng)數(shù)字化的情況不同,這里的數(shù)據(jù)是模擬的,必須通過A/D轉(zhuǎn)換器,這就會帶來更多的錯誤和不一致性,因?yàn)樗辉偈羌兇獾臄?shù)字信號,導(dǎo)致內(nèi)在的模擬失真。此外還會帶來額外的變量,造成更多不確定性,也使尋找問題根源更加困難重重。

          集成工具效率與生產(chǎn)率

          集成度更高的開發(fā)流程能以更動態(tài)的方式自動執(zhí)行上述任務(wù)。

          我們不妨給出一個(gè)真實(shí)情況的例子,即在DSP上實(shí)施適應(yīng)性噪聲消除系統(tǒng)。設(shè)計(jì)第一步是設(shè)計(jì)一個(gè)適應(yīng)性過濾器(即過濾器系數(shù)、過濾器響應(yīng)等),開發(fā)工程師以通常采用的DSP算法設(shè)計(jì)和分析工具(諸如MathWorks公司提供的MATLAB)開發(fā)C代碼,并在DSP上運(yùn)行,而后綜合輸入信號并測試該過濾器的表現(xiàn)。

          通過將MATLAB與通用DSP IDE(如德州儀器的Code Composer Studio)進(jìn)行集成,工程師可使用相同的前端工具在模擬環(huán)境下進(jìn)行算法設(shè)計(jì)、可視化、分析與優(yōu)化,隨后在DSP目標(biāo)上實(shí)施設(shè)計(jì),對其再次運(yùn)行,并采用模擬設(shè)計(jì)對實(shí)際結(jié)果進(jìn)行比較。

          在我們給出的例子中,開發(fā)工程師可使用MATLAB直接訪問DSP目標(biāo)存儲器,當(dāng)DSP程序在目標(biāo)上運(yùn)行時(shí)對其進(jìn)行控制,同時(shí)可以獲得MATLAB的可視化、模擬和優(yōu)化功能。該連接由高速實(shí)時(shí)雙向數(shù)據(jù)通訊機(jī)制加以實(shí)現(xiàn),如TI的高速實(shí)時(shí)數(shù)據(jù)交換(RTDX)。圖2顯示了MATLAB代碼,展示了如何使用MATLAB對信號進(jìn)行綜合測試,通過RTDX實(shí)時(shí)連接可執(zhí)行過濾器的DSP實(shí)施,并使結(jié)果可視化。

          運(yùn)行于目標(biāo)DSP上的算法接收噪聲信號與白信號作為輸入,并執(zhí)行LMS算法消除噪聲。圖3顯示了通過RTDX實(shí)時(shí)發(fā)回至MATLAB的DSP輸出信號、過濾器閥(filter tap)和過濾器響應(yīng),這意味著代碼執(zhí)行時(shí),我們在MATLAB中可以動態(tài)優(yōu)化參數(shù),適應(yīng)性地調(diào)節(jié)過濾器,并運(yùn)行蒙特卡洛模擬使結(jié)果可視化。在算法運(yùn)行于DSP上的同時(shí),用戶還可以直接從MATLAB調(diào)用DSP上特定的函數(shù),并以批處理模式或互動模式對其加以執(zhí)行。

          因此,測試與小組可以使用原始的基于MATLAB的設(shè)計(jì)或規(guī)范,直接將其作為測試設(shè)置的一部分。測試小組再直接把實(shí)際系統(tǒng)輸出與原始MATLAB設(shè)計(jì)生成的所希望的輸出進(jìn)行比較,并以此進(jìn)行適當(dāng)?shù)膶?shí)時(shí)改變。

          本文結(jié)論

          通過將研發(fā)小組與產(chǎn)品開發(fā)小組所用的工具進(jìn)行集成,我們可以極大地生產(chǎn)率,從而使設(shè)計(jì)與測試不僅更加,而且具有更高的效率。開發(fā)DSP算法以及在真實(shí)目標(biāo)上對那些算法進(jìn)行實(shí)施工作的設(shè)計(jì)小組毋需改變開發(fā)流程方法,即可采用與IDE以及硬件后端集成的設(shè)計(jì)環(huán)境前端。他們也可以自動實(shí)時(shí)地轉(zhuǎn)移數(shù)據(jù),以便更迅速高效地重復(fù)產(chǎn)品設(shè)計(jì),而不會導(dǎo)致出現(xiàn)新的錯誤。

          設(shè)計(jì)與開發(fā)工具集成能夠推動開發(fā)周期早期的測試與驗(yàn)證,從而幫助工程師以更高的效率確認(rèn)并解決問題。工程師要以更快的速度構(gòu)建并向市場推出新型具有更強(qiáng)大功能的DSP產(chǎn)品,最重要的是要保證減少產(chǎn)品缺陷,工具集成將為最終成功助一臂之力。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();