新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 學習方法與實踐 > 8位、32位MCU整體研發(fā)成本比較

8位、32位MCU整體研發(fā)成本比較

作者: 時間:2008-02-21 來源: 收藏

前言:在多數(shù)的微控器(MCU)應用中「成本」向來被視為第一設計要則,因此許多工程師傾向(或被要求)使用初階MCU來精省成本,然這僅是精省了量產(chǎn)時的硬件料件成本,若從整體成本的角度來審視,結果往往會適得其反。

過去,微控器(MCU)的應用設計相當講究硬件料件成本的精省,如果能在一個產(chǎn)品上多省個0.1美元,則產(chǎn)品的量產(chǎn)數(shù)愈多,則成本精省效應就愈高,所以過往都偏好使用簡易、低廉的MCU,能用4位MCU完成設計就用4位MCU,能用8位MCU完成設計就用8位MCU,很少在意后續(xù)硬件設計上的后續(xù)發(fā)展、擴充彈性。

不過,硬件料件精省法只適合于過去的「少樣、多量、少變」生產(chǎn),然今日市場已是「多樣、少量、快變」的走向,如此若再堅持「以料件精省為第一要則的設計」不僅無法省成本,反而會適合其反。ARM公司歐洲區(qū)車用及嵌入式部門經(jīng)理Boris Vittorelli表示。

為了因應「多樣、快變」的趨勢,研發(fā)單位必須增加MCU控制程序的撰寫心力,現(xiàn)在MCU應用開發(fā)的編制上已到了1:4的軟硬配置,即一個研發(fā)項目中有1名MCU硬件工程師與4名MCU軟件工程師,或者2名硬件工程師加上8名軟件工程師,可見MCU軟件研發(fā)的重要性大幅增高。

若更進一步了解,MCU的軟件研發(fā)成本不單是在功效的首次開發(fā)撰寫上,此方面的比重已退至1/3,有更大的比重(另2/3)是在軟件的后續(xù)維護支持上,此方面為程序發(fā)表后的持續(xù)更新補強、最佳化微調(diào)、新功能的追加等,這才是真正的成本癥結所在。
煩人的額外調(diào)修、轉(zhuǎn)移改寫的痛

那么,前面所言的「為精省硬件成本而選用初階MCU,反而是增加整體設計開發(fā)成本?!沟降资呛喂誓兀磕蔷褪恰高x用低階MCU雖精省了些許硬件成本,但卻使軟件的開發(fā)、維護成本大增,對整體成本而言反而是有增無減?!?br />
Boris說明:初階MCU的運算力有限、可存取的內(nèi)存容量有限,程序在開發(fā)設計時因這些硬件性限制而無法盡情揮灑,必須要用更多的人工心力來對程序進行最佳化,例如程序過大時必須想辦法精簡程序代碼,執(zhí)行過慢時必須對程序優(yōu)先權再行調(diào)整,這樣才能完成設計并合乎當初規(guī)劃設定的需求,然如此就增加了軟件工程師的額外心力、時間成本。

只是增加軟件的調(diào)修心力還不是最麻煩的,更麻煩的是:一旦確定原有使用的初階MCU,其架構已無法進一步滿足新的功效設計需求時,就必須進行架構的替換,這時就得開始物色新接替的(中階)MCU,然新MCU的架構往往與原有的MCU不兼容,這時原有的控制程序就要全面改寫,如此才能移轉(zhuǎn)到新架構上來執(zhí)行。

轉(zhuǎn)移(Migration)與轉(zhuǎn)寫(Porting)就造成相當龐大的心力成本。Boris說,原有的程序無法持續(xù)受用、程序設計師必須學習與適應新架構、重新摸索新架構的對應開發(fā)工具、找尋新架構所常用的函式及范例程序等。不僅如此,轉(zhuǎn)寫過程中還有程序重新整合的工作,轉(zhuǎn)寫完成后還要重新再來一次有關除錯、驗證、試行的工作,這才是真正的大成本。

如果這些移轉(zhuǎn)僅只一次或許還能勉為其難地接受,但通常若干年后就必須重演一次,因為轉(zhuǎn)移后的架構又開始不敷使用;或者當初物色評選時不夠嚴謹,選擇了不全然合用的架構;或初期合用但逐漸又難以合用的架構;或發(fā)創(chuàng)該架構的業(yè)者自行停終架構的后續(xù)發(fā)展,隨之芯片也停產(chǎn)等,這時上述一切的痛苦就必須再來一遍。

選擇良善架構、健全生態(tài)

所以,精省成本的第一目標依舊沒變,但實現(xiàn)手法必須改變,MCU的開發(fā)設計者必須在初期就選定一個最具未來性的MCU架構,該架構要能因應日后的各種新發(fā)展、新擴增,使程序代碼獲得最長效的沿用,免去每數(shù)年就必須再行轉(zhuǎn)移、改寫的無謂程序。

同時,良善架構的MCU也保有開發(fā)設計的高度寬裕性,程序設計師可以專注于新功效的開發(fā),而不用回頭再去擔憂新撰寫的程序會否太占內(nèi)存空間、會否太耗用運算資源。

更重要的是,廣大采用且長時間受用的MCU架構,其生態(tài)系統(tǒng)也格外健全,程序設計師可以找到最多的范例程序、最多的開發(fā)支持工具,使開發(fā)更省心力、更具效率。有鑒于此ARM針對MCU應用提出最合適的新架構核心:Cortex-M3,Cortex-M3比原有ARM7TDMI核心更適合于嵌入式控制應用。

針對嵌入式控制而設計

Coretx-M3之所以更適用于嵌入式控制應用,主要在于其內(nèi)建了中斷控制,與過往其它未內(nèi)建中斷控制的核心相比,Coretex-M3可以在更快的頻率周期時間內(nèi)對中斷作出反應。此外Coretex-M3能對內(nèi)存進行最佳化運用,能分別以8位、16位、32位的寬度來存取內(nèi)存,如此任何地址都能存取,就不容易產(chǎn)生空隙、未用地址的情形。再加上Coretex-M3使用Thumb-2指令集,Thumb-2指令集能兼顧運算效能與內(nèi)存容量,讓嵌入式應用以更省的成本達到最佳的效能。

8位、32位量化比較

「選擇較具寬裕彈性的MCU架構,以精省軟件開發(fā)維護成本,進而精省整體開發(fā)成本?!惯@對多數(shù)的嵌入式應用工程師而言可說是完全顛覆了過去,恐一時間難以接受,且依舊會在意硬件料件成本。

對此Boris表示:新實現(xiàn)方式的唯一顧慮就是硬件料件成本的增加,如果連硬件料件成本都低于原有的實現(xiàn)方式,那么工程師就沒有理由再堅持原有的作法。Boris以量化數(shù)字為例說明:今日若有一個嵌入式應用設計,其效能需求須達5 DMIPS,程序代碼容量須低于256KB,且芯片都是用臺積電(TSMC)的180nm一般性制程來產(chǎn)制,以此3項為先決標準,則Cortex-M3核心的MCU只需要4MHz的工作頻率,原因是Cortex-M3核心每MHz的運算能有1.25 DMIPS的效能。

其次Cortex-M3核心每MHz工作頻率約耗用0.19W的電能,如此4MHz則耗用0.8mW電能。再者用180nm制程產(chǎn)制Coretex-M3核心只需要0.36平方公厘的裸晶面積,而存放程序代碼的閃存則只要64KB容量,理由是Cortex-M3為32位架構,一般而言比8位架構高出4倍的程序代碼密度,64KB Flash Memory用180nm制程產(chǎn)制的結果只占0.13平方公厘的電路面積。針對面積部分進行加總,0.36+0.13=0.49,0.49平方公厘換算成晶圓成本則約19美分。

相對的,若不實行Coretex-M3核心而使用8位架構的8051核心,則各項特性表現(xiàn)多無法與Coretex-M3相比。

首先是效能,8051若要達到5 DMIPS的效能,以最傳統(tǒng)、最標準的8051而言,其每12個頻率周期才能完成1個指令的運算(若干指令要24、36個周期),因此每MHz約0.08 DMIPS(更確切而言是0.083),5 MDIPS則需要約63MHz的頻率。(附注1)

頻率頻率為63MHz,且8051核心的功耗約0.5mW/MHz,乘以63則得31.5mW(約32mW),等于是Coretex-M3的39、40倍用電。

至于電路面積方面,8051核心約為0.1平方公厘,純就核心面積確實8051比Cortex-M3理想,但若將Flash Memory的用量面積算入就全然不同,8051的控制程序必須使用256KB的內(nèi)存容量,180nm制程后的面積為0.52平方公厘,核心與內(nèi)存相加的結果成為0.62平方公厘,就整體面積而成大于Cortex-M3方案的0.49平方公厘,最后對應到晶圓成本上則是20美分,還比Cortex-M3方式貴1美分。(附注2)

至此毫無疑問:若選擇新精省路線,連硬件料件成本都比原有路線更精省,那么嵌入式應用工程師就再也沒有理由或顧忌,當下就應當替換成新的核心架構,即便今日不替換,數(shù)年后原有架構無法再因應成長,屆時一樣要替換,相信聰明的工程師不會讓自己的明天拘限在窒礙的角落。

附注1:標準傳統(tǒng)8051確實以12個頻率為1個執(zhí)行周期,然今日以8051為核心的MCU多半能以4個頻率為1個周期,甚至是1個頻率為1個周期。
附注2:以上比較不含核心硅智財?shù)募夹g授權費與每件量產(chǎn)的權利金。


關鍵詞: MCU 研發(fā) 成本

評論


相關推薦

技術專區(qū)

關閉