功能原型設計系列:為什么要進(jìn)行快速原型

發(fā)布時(shí)間:2010-3-22 10:24    發(fā)布者:老郭
關(guān)鍵詞: 功能 , 系統 , 原型
為什么要創(chuàng )建功能性原型呢?對于這個(gè)問(wèn)題,我們首先要從嵌入式應用及其開(kāi)發(fā)方式談起。

談到嵌入式系統,其范疇和定義是非常廣泛的,我們首先想到的往往是日常使用的手機,mp3,數碼相機這些小型的消費電子產(chǎn)品,但是嵌入式系統的范圍其實(shí)要廣泛得多,醫院里的心電監視儀,B超設備,核磁共振儀也是嵌入式系統,甚至汽車(chē)引擎控制器,智能移動(dòng)機器人、風(fēng)力發(fā)電機的主控與監測設備都是嵌入式系統。這里我們主要針對的是一些專(zhuān)業(yè)領(lǐng)域中,對系統的實(shí)時(shí)性、確定性、可靠性有較高要求的嵌入式應用。根據其需求和特點(diǎn),我們把這些應用分為三類(lèi),分別是實(shí)時(shí)控制、比如汽車(chē)和航空控制器設計中經(jīng)常涉及的快速控制原型、硬件在環(huán)仿真,還有屬于前沿研究領(lǐng)域的移動(dòng)機器人、無(wú)人車(chē)、無(wú)人機控制等等;第二類(lèi)是在線(xiàn)監測,比如結構監測,包括建筑和橋梁、公路等基礎設施的結構健康監測,地震監測,或者用于設備和機器維護的機器狀態(tài)監測等等;此外集成的測試與控制也是非常廣泛的一類(lèi)應用,比如一些風(fēng)洞測試,盡管主要是實(shí)時(shí)數據采集,但也要做快速計算出是否接近共振條件,從而控制風(fēng)速以免損壞設備

我們剛才列舉了專(zhuān)業(yè)領(lǐng)域的一些典型實(shí)時(shí)與嵌入式應用,這些應用的開(kāi)發(fā)從比較概括的說(shuō)可以分為兩個(gè)階段,階段一通常由領(lǐng)域專(zhuān)家,比如生物醫學(xué)、無(wú)線(xiàn)通信或汽車(chē)工程方面的研發(fā)人員,使用文本數學(xué)工具進(jìn)行算法設計、建模、仿真。這一階段的成果是特定的、達到一定目的的浮點(diǎn)算法。通常這部分的工作以軟件平臺為主。階段二的主要任務(wù)將算法移植到實(shí)時(shí)嵌入式硬件平臺之中加以實(shí)現,這部分任務(wù)通常由具有電子工程背景的嵌入式系統的開(kāi)發(fā)人員加以完成,硬件平臺常會(huì )采用微處理器,微控制器或FPGA,就會(huì )牽涉到相關(guān)的開(kāi)發(fā)環(huán)境比如C或VHDL,甚至匯編。

因此,在這兩個(gè)階段之間存在著(zhù)一個(gè)銜接的問(wèn)題。一方面,從文本數學(xué)平臺下開(kāi)發(fā)的浮點(diǎn)算法需要移植為能夠在嵌入式系統下運行的代碼,比如C代碼甚至定點(diǎn)算法,這個(gè)轉換過(guò)程的銜接,如果嵌入式系統開(kāi)發(fā)人員對專(zhuān)業(yè)領(lǐng)域知識缺乏一定深度的了解和掌握,往往會(huì )產(chǎn)生算法移植的偏差,甚至導致返工。另一方面,這樣的銜接和移植并不是一次性就能完成的,而且需要多次的循環(huán)往復,在階段二發(fā)現算法存在的問(wèn)題后,需要領(lǐng)域專(zhuān)家修改調整算法,然后再進(jìn)行重新的移植和系統實(shí)現,其工作量可能相當的大。



在這個(gè)過(guò)程中,系統開(kāi)發(fā)所面臨的挑戰和需要解決的問(wèn)題主要包括兩方面。對于設計階段,我們需要在早期階段就能引入實(shí)際數據并在其基礎上調整模型,以減少算法移植后的改動(dòng),從而減少兩個(gè)階段之間的循環(huán)往復。對于實(shí)現階段,由于需要用實(shí)時(shí)系統的編程語(yǔ)言,且確定性執行的編程、調試和驗證很困難,而且實(shí)際系統往往需要連接到多種傳感器和接口,因此從離線(xiàn)仿真到實(shí)際系統實(shí)現之間存在的很大的距離,而且前端設計的變化經(jīng)常會(huì )導致后期的大量返工,導致開(kāi)發(fā)周期的延遲。據《嵌入式軟件發(fā)展:?jiǎn)?wèn)題與挑戰》(Embedded Software Development: Issues and Challenges, 2003年7月)統計,將近50%的設計投放市場(chǎng)的時(shí)間都太晚甚至沒(méi)有投放市場(chǎng),而30%的設計在正式發(fā)布后都是不成功的。顯然,產(chǎn)品設計過(guò)程中總會(huì )充滿(mǎn)著(zhù)沒(méi)有預料到的困難。

因此,一種更好的開(kāi)發(fā)方法是在開(kāi)發(fā)流程中引入原型階段,也就是在開(kāi)發(fā)的早期階段創(chuàng )建實(shí)速運行在系統環(huán)境中的設計原型,從而進(jìn)行系統級快速、高效、可靠的驗證。比如說(shuō),我們在開(kāi)發(fā)引擎控制器的時(shí)候,在進(jìn)行板級設計完成最終系統之前,先將控制算法下載到一定的硬件平臺,并連接到真實(shí)的受控對象和各種傳感器,在接近實(shí)際運行條件的情況下,對算法進(jìn)行早期、硬件級的評估和驗證。



通過(guò)引入原型階段,我們可以在開(kāi)發(fā)早期進(jìn)行覆蓋面更廣的測試,及時(shí)發(fā)現問(wèn)題,減少后期風(fēng)險,從而可以從總體上縮短開(kāi)發(fā)時(shí)間,降低開(kāi)發(fā)成本,并提高產(chǎn)品和系統的可靠性和質(zhì)量。

一種更為釜底抽薪的解決方案是將設計和實(shí)現這兩個(gè)階段的工作移植到統一開(kāi)發(fā)平臺之中,即在一個(gè)開(kāi)發(fā)平臺下集成算法和硬件:一方面,在算法設計階段引入硬件I/O進(jìn)行前期的驗證,可以在更早階段發(fā)現并修正潛在的錯誤;另一方面,由于使用同樣的開(kāi)發(fā)環(huán)境,算法設計的代碼可以在原型驗證的過(guò)程中被重用,從而簡(jiǎn)化編程的復雜性,降低了對算法設計人員和嵌入式開(kāi)發(fā)人員在系統設計流程中各個(gè)步驟的要求。從根本上加快循環(huán)遞進(jìn)的過(guò)程,從而縮短系統的開(kāi)發(fā)時(shí)間。

NI的嵌入式硬件平臺CompactRIO非常適合進(jìn)行快速原型,它上面集成了實(shí)時(shí)的嵌入式處理器和FPGA,可以執行各種算法,同時(shí)可以通過(guò)自定義選擇不同的I/O模塊快速為算法添加硬件I/O,從而完成實(shí)體原型的建立和測試。除了適合進(jìn)行原型階段的開(kāi)發(fā),NI的圖形化系統設計理念可以貫穿設計、原型、發(fā)布這個(gè)過(guò)程的始終。借由圖形化系統設計軟件LabVIEW,我們可以設計并仿真算法和模型(這是純軟件工作),再在CompactRIO上為算法添加I/O完成原型驗證,之后同樣的算法不需要進(jìn)行任何修改就可以通過(guò)低成本的Single-Board RIO單板嵌入式平臺完成大量發(fā)布。

今日,許多世界著(zhù)名的廠(chǎng)商都把原型設計階段提升到產(chǎn)品設計過(guò)程中非常重要的位置。事實(shí)上,除了降低風(fēng)險和成本、縮短上市周期等優(yōu)勢之外,快速原型也是一個(gè)搶的商業(yè)先機的手段。通過(guò)快速原型,你可以很快地將你的想法在硬件上實(shí)現出來(lái),向客戶(hù)展示并說(shuō)明最終的功能,這樣可以博得客戶(hù)的信任,有時(shí)還能幫助贏(yíng)得投資。

要繼續原型開(kāi)發(fā)過(guò)程的后續步驟,請返回能原型系統系列。

作者:NI公司應用工程師徐征

NI公司供稿
本文地址:http://selenalain.com/thread-9697-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
youyou_zh 發(fā)表于 2011-3-27 13:54:52
大的
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页