新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 集成工具提高嵌入式DSP系統設計與自動化程度

        集成工具提高嵌入式DSP系統設計與自動化程度

        作者: 時間:2014-01-17 來源:網絡 收藏

        DSP系統傳統設計流程通常由概念到算法及算法到產品兩個階段構成,通常這兩個階段互相獨立且由不同設計小組完成。

        本文引用地址:http://www.104case.com/article/226874.htm

        傳統的設計流程里要用手工在兩個階段之間進行轉換與銜接,這樣容易出現錯誤而推遲產品的上市時間。本文介紹一種可以使設計與驗證測試更加自動化,且具有更高效率,可減少產品缺陷。

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

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

        在今天市場環境下,要將工程師的開發流程從概念發展至算法并最終推出產品,傳統的產品開發流程已顯得力不從心,新開發流程需要廣泛的工具集成,保證數據以及其它信息能夠動態共享以實現更高的工作效率。

        傳統DSP開發流程

        DSP系統傳統設計流程通常包括兩個主要階段,即概念到算法階段(由研發小組實施,其中包括算法開發與系統設計)以及算法到產品階段(由產品開發小組實施,該階段包括實際產品實現、目標編程和測試),如圖1所示。

        由于上面兩個階段常常是彼此獨立的,并由不同的設計小組完成,而各小組的目標可能不一致,因此這種結構內部會有一些問題。此外,設計小組使用的工具還可能彼此不兼容,不能夠整合在一起。

        在多數情況下,研發工程師使用數字計算環境,可充分發揮算法開發、分析以及各種科學、數學或工程應用可視化功能。研發工程師常常以M或C代碼創建算法,也可以為其算法創建測試向量(通常是文本或二進制格式的數據文件)。他們隨后會在主機PC上運行算法進行模擬,以便分析并使算法響應可視化,目標是確保算法不僅能夠獨立于特定的平臺進行工作,還能獨立于任何物理存儲器、速度或實時限制工作。當他們希望將設計轉給產品開發小組時,他們將提交書面規范或實際的C或M代碼,并請開發小組就具體的DSP目標實施算法。

        在產品開發方面,大多數DSP工作小組都使用集成開發環境(IDE),小組的目標是使用書面的規范實施算法、測試算法,并在最終產品中進行確認,以保證其滿足系統的實時、速度、功率及內存等限制條件。產品開發小組常常依靠手工方法從事上述任務,因為直接根據規范或算法測試向量進行產品測試通常沒有便捷路徑可循。在遇到復雜系統時,手動轉換和確認會延緩產品開發,影響產品的成功。

        產品工程師為防止出現前后脫節而采取一些手工方法包括:

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

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

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

        4. 利用外部硬件生成信號作為系統的輸入(如音樂或正弦波),以觀察系統是否能夠實時響應。與前面所說測試向量和數據已經數字化的情況不同,這里的數據是模擬的,必須通過A/D轉換器,這就會帶來更多的錯誤和不一致性,因為它不再是純粹的數字信號,導致內在的模擬失真。此外還會帶來額外的變量,造成更多不確定性,也使尋找問題根源更加困難重重。提高效率與生產率

        集成度更高的開發流程能以更動態的方式自動執行上述任務。

        我們不妨給出一個真實情況的例子,即在

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

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 抚州市| 镶黄旗| 十堰市| 阿克苏市| 游戏| 沂水县| 耿马| 扶沟县| 汉沽区| 文登市| 博罗县| 合江县| 紫阳县| 略阳县| 宾川县| 平凉市| 台湾省| 凉山| 察隅县| 伽师县| 通江县| 威远县| 莱西市| 方城县| 陈巴尔虎旗| 福鼎市| 永寿县| 威远县| 喀喇沁旗| 渭南市| 五原县| 益阳市| 麦盖提县| 温州市| 南溪县| 昌江| 贡山| 马边| 青铜峡市| 乾安县| 甘南县|