8位、32位處理器的動(dòng)向
在嵌入式處理器中,8位和32位可以說(shuō)是嵌入式的生力軍,前者市場(chǎng)最為龐大,后者崛起速度最為迅速。嵌入式的發(fā)展有何新的動(dòng)向?近日,世界8位、32位處理器/IP銷(xiāo)量最大的廠(chǎng)商—Microchip和ARM分別接受了本刊的專(zhuān)訪(fǎng)。
8位:開(kāi)拓更多的應用
近年來(lái),8位單片機(MCU)的性能在不斷拓展,現場(chǎng)可編程,成本不斷下降,I/O、指令更完備,開(kāi)發(fā)工具方便、廉價(jià),部分模擬和數字功能加入其中,超低功耗......。
8位MCU的功能不斷拓展,其驅動(dòng)力是應用領(lǐng)域的不斷擴大。Microchip的安防、單片機及技術(shù)開(kāi)發(fā)部副總裁Steve Drehobl列舉了8位MCU的一些新的有趣應用。
MCU開(kāi)關(guān)不是機械的集成,它好像觸摸屏或按鍵式開(kāi)關(guān)。過(guò)去的機械開(kāi)關(guān)是旋鈕式,而MCU里的開(kāi)關(guān)采用數字式(筆者推測是由處理器芯核外的模擬電路來(lái)實(shí)現的,原理如模擬IC中的可調增益,利用可選電阻排編程來(lái)實(shí)現)。例如洗衣機過(guò)去調整功能、轉速要用旋鈕,現用按鍵即可。機械電子的好處是可以降低成本,提高開(kāi)關(guān)功能。
典型的例子是壓縮機關(guān)閉延時(shí)(圖1)。盡管Microchip的PIC10F MCU比開(kāi)關(guān)貴一些(多10美分),但應用方面確實(shí)帶來(lái)了好處。傳統的機械定時(shí)延遲開(kāi)關(guān)裝在壓縮機內。PIC10F可以完全代替這種開(kāi)關(guān),并且還是小型智能單片機。壓縮機的測試需要很長(cháng)時(shí)間,有了這種MCU,可對壓縮機的供電條件進(jìn)行預設,模擬時(shí)幫助節省很多時(shí)間,且非常準確。
如果把整個(gè)ASIC設計改變或修訂的話(huà),成本相當于5萬(wàn)美元,因此很多設計師寧可不搞這種大規模的修復,而使用“電子膠”——MCU(圖2)。MCU可以把這些功能預先設計進(jìn)來(lái),就象給產(chǎn)品上了保險一樣,任何變化都可以讓設計師隨時(shí)調整。
因此,在設計PC板等電路板時(shí)往往會(huì )預留空間,把可能會(huì )出現問(wèn)題或系統需要升級的地點(diǎn)事先安排好,一旦出現故障,馬上用備用的器件進(jìn)行修理;或者一旦市場(chǎng)上需要新的功能,馬上就可升級。這正符合美國的一句俚語(yǔ):像撒胡椒面一樣,先撒上。
因此,電子膠可用于A(yíng)SIC、電路板、器件的修復、功能升級、后期變更和其他針對產(chǎn)品快速量產(chǎn)需要的補充件。
MCU的特點(diǎn)是量體裁衣,但隨著(zhù)MCU的應用層出不窮,量體裁衣越來(lái)越困難了。因為現在應用太多了,而且人們的想法層出不窮,廠(chǎng)家新型號與性能很難趕上。因此MCU公司如Microchip采用MCU的核心技術(shù),集成部分外圍及可編程內存,開(kāi)發(fā)出系列小巧靈活的產(chǎn)品?!霸诋a(chǎn)品交貨上我們不做任何工作,讓我們的用戶(hù)充分發(fā)揮創(chuàng )造力與想象力來(lái)開(kāi)發(fā)出他們所需要的應用?!?Drehobl總結道。
32位與操作系統
6月初,ARM舉辦了“嵌入式Linux 2004 開(kāi)發(fā)者大會(huì )”。會(huì )議期間,ARM中國業(yè)務(wù)總裁譚軍博士向我們介紹了32位處理器及其操作系統(OS)的狀況。由此深深感到:完成一個(gè)好的設計,操作系統與處理器同樣重要,還要有平臺開(kāi)發(fā)概念。
在32位領(lǐng)域靠IP(知識產(chǎn)權)打遍天下的ARM公司,其處理器核的特點(diǎn)是低功耗、高性能和低成本。但這也離不開(kāi)操作系統等第三方合作伙伴的緊密配合。此次是ARM進(jìn)入中國兩年多來(lái)第一次以嵌入式Linux為主題的研討會(huì )。此前ARM也曾攜手mC/OS做研討會(huì )。這次之所以選擇Linux,是因為嵌入式Linux是個(gè)群眾團體,同樣有很大的發(fā)展潛力。ARM希望通過(guò)這次大會(huì ),幫助第三方在A(yíng)RM芯片上做Linux的開(kāi)發(fā)、創(chuàng )業(yè)和增值。
為了推廣基于A(yíng)RM的操作系統,ARM還宣布了一個(gè)對中國用戶(hù)來(lái)說(shuō)的好消息:把許多資源貢獻了出來(lái),供廣大用戶(hù)免費下載,使ARM對kernel(內核)的裁減、優(yōu)化成果及時(shí)與用戶(hù)共享。
嵌入式OS所要做的
不同于臺式機與服務(wù)器領(lǐng)域,嵌入式操作系統有很多種,這是由嵌入式的應用多姿多彩決定的,例如MP3、多媒體播放、工控、洗衣機、微波爐??梢?jiàn)嵌入式是個(gè)很新的市場(chǎng),也是一個(gè)分得很細的市場(chǎng),因此沒(méi)有一家公司的操作系統可以壟斷這個(gè)市場(chǎng)。
嵌入式對操作系統有了很多新要求,因為在臺式電腦中Linux無(wú)所謂大小,功耗也不是問(wèn)題,性能也不是問(wèn)題。但在嵌入式里,若用5V電池跑臺式Linux實(shí)現PDA,僅CPU就已不夠用了,怎么能降低功耗?ARM kernel運行起來(lái)時(shí),即可聽(tīng)音樂(lè ),又可低功耗,還要帶外設,如何對kernel優(yōu)化呢?這是ARM正在做的,過(guò)幾年要對kernel進(jìn)行裁減,將來(lái)在開(kāi)發(fā)中實(shí)現嵌入式優(yōu)勢。
Linux是免費的,如何在開(kāi)發(fā)中賺錢(qián)?這是全球公司都在探討的問(wèn)題,也是MontaVista、 LinuxWorks等在考慮的問(wèn)題。譚軍認為,嵌入式Linux不外乎滿(mǎn)足客戶(hù)的這些需求:1,集成,要把系統做得很小,集成要靠硬件工具;2,軟件,要有操作系統和應用,例如MP3,MPEG4、WAPI等;3,系統實(shí)現什么功能,是demo(樣品演示)還是產(chǎn)品?很多Linux產(chǎn)品至今還停留在實(shí)驗室,原因是開(kāi)發(fā)者設計時(shí)不是從系統角度出發(fā),而是從技術(shù)角度出發(fā)??梢?jiàn)不能僅停留在技術(shù)層面,而應滿(mǎn)足客戶(hù)的需求。
中國有大量的開(kāi)發(fā)人員,在開(kāi)發(fā)嵌入式產(chǎn)品方面蘊涵著(zhù)無(wú)限商機。不同于臺式電腦開(kāi)發(fā),例如x86 CPU,通過(guò)開(kāi)發(fā)環(huán)境就可實(shí)現編程的功能—微軟、Intel的軟件、母板里都做好了各類(lèi)控制。因此在臺式電腦中該做的都做完了,沒(méi)有什么商機了。
嵌入式系統不同,你拿到芯片后啟動(dòng)都啟動(dòng)不起來(lái)。臺式電腦按啟動(dòng)后,當你看到Windows時(shí),里面已有十多個(gè)嵌入式軟件啟動(dòng)起來(lái)了。嵌入式開(kāi)發(fā)商要做的工作是拿這個(gè)芯片怎么實(shí)現引導功能,這個(gè)挑戰很大,從傳統的C++開(kāi)發(fā)到嵌入式開(kāi)發(fā),是很大的挑戰,要寫(xiě)引導和驅動(dòng)。正因為挑戰才有商機,才能有進(jìn)步和跳躍。
OS開(kāi)發(fā)思路
可見(jiàn)嵌入式是今后幾年工程師的課題。因為現在流行的電子產(chǎn)品多是嵌入式:智能家電、手機,未來(lái)的高清晰電視......。這些不是微軟能做的。
開(kāi)發(fā)時(shí)是否一定要硬件環(huán)境來(lái)支持?的確需要硬件環(huán)境,同時(shí)要有平臺概念。你想做的是個(gè)系統,而不是一個(gè)CPU,這時(shí)想到要做個(gè)板子。對于Linux,如何把kernel裁減,然后把BSP寫(xiě)進(jìn)來(lái),這是新的挑戰,一定要打破傳統的你一開(kāi)機、Windows就已經(jīng)給你提供所有環(huán)境的觀(guān)念。
移動(dòng)產(chǎn)品的開(kāi)發(fā)
目前手機上的移動(dòng)開(kāi)發(fā)成為熱點(diǎn)。智能手機就是臺電腦,有操作系統和應用。應用很可能是與臺式電腦一樣,不同之處是沒(méi)有現成的開(kāi)發(fā)環(huán)境。如果我們用Palm,就用Palm開(kāi)發(fā)環(huán)境;微軟用微軟的;Linux用Linux的。
不過(guò),移動(dòng)是未來(lái)商機很大的平臺。如果你現在的手機是黑白的,就相當于10年前的486電腦,如果你用的是Smart Phone(智能手機),就相當于5年前用的奔1、奔2電腦。摩爾定律預示著(zhù)今后三、四年里,手機性能將相當于前兩年的筆記本電腦一樣;今后6、7年,手機很可能像今天的筆記本電腦!那時(shí)的手機開(kāi)發(fā)不是今天意義上的手機開(kāi)發(fā)了,那時(shí)將需要開(kāi)發(fā)很多功能,不僅是打電話(huà),還能玩三維游戲,用GPS,以及實(shí)現很多辦公室才能完成的事情。那時(shí)Linux等OS將會(huì )有很大的開(kāi)發(fā)前景。因此,微軟6月與聯(lián)通簽約,盡管聯(lián)通運營(yíng)不是電腦廠(chǎng)商,但在聯(lián)通的手機中微軟要把其OS放到里面去。
手機是新的平臺,這個(gè)平臺數量將遠遠超過(guò)臺式電腦的數量。有分析表明,帶數碼相機的手機的銷(xiāo)量已超過(guò)純粹的數碼相機的銷(xiāo)量。因此可以預言,智能手機的銷(xiāo)量會(huì )超過(guò)臺式電腦的銷(xiāo)量。正因為如此,各廠(chǎng)商都在搶占這一市場(chǎng)。Intel近幾個(gè)月改變了口號,由過(guò)去的Intel Inside,改成現在的Intel Everywhere。Inside是呆在家里,Intel想要其芯片在無(wú)處不在的便攜式產(chǎn)品上應用。
Linux如何發(fā)展?
Linux在國外很熱,但在中國有個(gè)不容樂(lè )觀(guān)的現實(shí):對其關(guān)注的人倒很多,真正了解Linux的人很少,在Linux上成功的人更不多。因為L(cháng)inux的業(yè)務(wù)模型是免費的,這樣你做得再好,也要免費給人家,供應商不能靠銷(xiāo)售賺錢(qián),只能通過(guò)服務(wù)盈利。
但由于嵌入式世界的特殊性,確實(shí)可通過(guò)增值服務(wù)獲取利潤。例如,做MP3、機頂盒,若用Linux,不是下載后就能運行起來(lái)的,用供應商的Linux可以幫助客戶(hù)裁減內存。因此,在嵌入式里也許Linux是一個(gè)新的商機。
對于“一次編程,處處可運行”的Java,在臺式電腦中用得不多,在嵌入式里也不多。究其原因,Java編程不錯,但每次運行的速度慢,嵌入式業(yè)界不能忍受的是若用Java虛擬機,所耗的內存會(huì )更較高,在嵌入式里用的內存通常是Flash(閃存),Flash費用高。ARM為此在芯片中加入了Java指令集,將來(lái)下載Java時(shí)直接在指令集上運行。將來(lái)在手機中跑Java的速度是普通機的8倍以上;但功耗卻沒(méi)有很大區別。今年下半年,高通、TI、Motorola的芯片中就會(huì )有這樣的CPU了。
但是,有些基于A(yíng)RM的CPU不能用Linux,例如Oki的ARM基處理器,需要用OKi開(kāi)發(fā)的平臺。因為L(cháng)inux需要虛擬內存和MMU。Oki等公司采用的是非Linux CPU核。即使這樣,在一些簡(jiǎn)單CPU中還是可以用mCLinux。mCLinux是裁減過(guò)的Linux,把虛擬內存的需求關(guān)掉了。
當然,Linux與mC/OS也有競爭,ARM對二者都支持。二者的區別是mC/OS 是商業(yè)操作系統,Linux是免費操作系統。
嵌入式處理器/核的特點(diǎn)
32位處理器與Intel CPU不同,不會(huì )新一代出來(lái),老的就被淘汰了。ARM核有的是低功耗,有的為高性能,新核的出現是為了滿(mǎn)足新的應用需求,例如手機。
ARM認為,對于嵌入式處理器,速度不是主要的問(wèn)題,而功耗特別重要,用ARM核做的處理器速度沒(méi)有上限,你可做得很快,問(wèn)題是5V電池供電,還要考慮安全性,重量等??梢?jiàn),手機等便攜式產(chǎn)品在小空間里要實(shí)現奔2的性能,如何解決噪音、功耗等是非常大的挑戰。
軟核還是硬核?
ARM軟核和硬核都有,根據客戶(hù)的需要提供。軟核是給RTL源代碼,由用戶(hù)去硬化,然后變成光刻的數據;硬核是做好的芯核給用戶(hù),用戶(hù)直接用就行了。
業(yè)界對軟硬的偏愛(ài)是“三十年河東、三十年河西”。90年代初期普遍喜歡硬核;90年代末期喜歡軟核,因為軟核易于綜合,可到處去生產(chǎn)?,F在到了0.13mm、90nm工藝以后,軟核又不現實(shí)了,這是由于軟核理論上能達到的性能,硬化后達不到了,因為軟核會(huì )出現噪音、信號延時(shí)、失真等問(wèn)題,業(yè)界反過(guò)來(lái)需要硬核了。
中國客戶(hù)對軟核和硬核的需求也是不盡相同。國內客戶(hù)普遍需要上市速度快,不希望自己做硬化,還可降低費用,往往采用硬核形式。華虹等做智能卡的公司,從安全角度考慮,要重心合成電路,這樣別人就不知道你的電路了,因此采用軟核。
4、16位市場(chǎng)談得少
嵌入式里談4、16位較少。因為4位用于門(mén)鈴等簡(jiǎn)單的應用,其市場(chǎng)已停止增長(cháng)了。
業(yè)界一般認為16位是8、32位的過(guò)渡階段,除了汽車(chē)電子等市場(chǎng)外,其他地方可被8、32位替代。盡管有些工程師認為16位容易編程,但Microchip認為16位指令集很復雜,編程工具也較復雜,相對來(lái)說(shuō)8位是最簡(jiǎn)單的。ARM則認為16位處于8與32位之間,在尋址、CPU設置方面不如32位,費用方面比32位便宜不了多少。 ■
評論