2011年1月24日 星期一

ARM 之Cortex-M0


今年元旦過後,好友 R君 剛好來電哈啦,閒聊之餘,順便問他有什麼新玩具可以玩的?

他剛好提到他正在用Cortex-M0 在作產品開發,問我有沒有興趣也玩一玩?

我說好啊!...R 君說:"不用花錢買 EVB (驗證版)與開發工具,只要報名參加原廠

的培訓課程就可以免費獲得一套。"

"不錯啊,原來現在要推銷與賣MCU 已經玩到這種地步了。"

所以,R 君就很熱心的幫我聯絡與安排上課報名事宜,為了這堂課,還讓我推掉一個

台北五星級的飯局,只希望這個課程值得我去聽啊。

我們就來瞧瞧這新一代的MCU 有什麼特色?

我們都知道全球新一代的單晶片微控器(微處理器)已經進展到 32 bits 時代了。

而在這一波新一代的微處理器,就屬ARM 最有名,幾乎席捲了全球的相關應用市場。

但我們也知道:32 bits 說要取代傳統的8 bits MCU 也沒有那麼容易,但我想:

以ARM 這樣子的MCU 架構,能席捲整個電子產業來看,一定有其過人之處,

人家也不可能說沒有那個擴張領土的市場企圖心啊?!

所以,ARM 這幾年就是一直在邊修改他的ARM 的架構,邊試探這些應用市場,

讓它們的產品可以向下延伸到一些低階 8 bits 的應用市場,所以在之前我們就有提到

Cortex-M3 系列產品,當時業界對於 Cortex-M3 的價格介於 US$ 1.00 左右時,其實,

這樣子的價格所能威脅的也只有一些 8 bits 的高階應用市場而已,對於要真正的侵蝕

8 bits 的應用市場,在價格上還有一段距離。

沒想到的是,在這短短幾年內(應該不到三年喔!),他們又再一次精簡ARM 的架構,

再推出了Cortex-M0 ,他整個核心從原來 Cortex-M3 的 43K Gate count 精簡到目前的

Cortex-M0 的 12K Gate count,的確令人詫異,在在的顯示他們的市場企圖心。

說真的,如果把一棵傳統的 8051 把它的功能完善一點,也不過是如此的Gate Count數,

更何況是:一般ARM 都是走比較有經濟效益的高階晶圓製程,所以,他們的產品競爭力,

也的確在醞釀中。這一點也的確令我們不得不留意啊。

------
好吧,我們就來看國內這一家業者利用了Cortex-M0 做出了怎樣的 一棵單晶片微控器。

下圖是我上完課所獲得的開發平台與講義,這代表我真的很認真的去上課,

中午還有提供免費的便當午餐...不錯,所以希望以後要賣MCU 的廠商可以比照辦理。

----

(圖)
 
PS : 您看多大方啊,直接免費給有帶USB 介面的 MCU 的開發驗證版給您耶,

您還幹嘛到處問人家說:我要去那邊買或弄到C 牌的USB 微控器呢?!

要學USB 介面,不就變得很簡單了嗎?!

----

那我們來看:除了基本的 ARM based的 Cortex-M0 之外,這些相關的實體MCU 他們

還包了哪些周邊應用介面給我們使用?

第一:那當然就是 Flash ROM 啊....什麼時代了啊?還在那邊OTP 或開Mask ,

那些OTP 或是 下Mask Code 的...是搞IC 的在折麼我們這些作系統開發的,您說:

萬一,一不小心Code 有問題要改版,那些庫存或那一缸子的IC 要算誰的?!

這個趨勢就不用說是 32 bits 的啦...連 8 bits 都也得這麼走吧。

第二:標準周邊:SPI/I2C/ADC/UART/PWM/RTC...等。其中他的UART 都有至少兩組,

有些系列產品中,最多可以支援到  3 組UART的 ...PWM 至少都有 4組...有的支援到8 組。

那就更不用說 I2C 或SPI 乃至於  ADC ...都是多組的,好像都是不用錢似的。

最重要的是:它有些系列產品也有支援 USB 介面,這一點也算是很完整的周邊介面支持度了。

第三:PDMA ...直接存取控制介面,這一點就是許多傳統8 bits 一直不敢加進來的,

既然有這麼多的周邊介面,而且還是高效能的 32 bits ARM ,如果不支持DMA 功能就有點

說不過去,之前我玩過那個 ST 的STM32 ARM 就有支持這個東西,那時他們還可以外掛

幾十Mbit SRAM...這一種DMA 就非常好用,不過,這一家的PDMA 介面,我個人認為

只做了半套DMA,因為他們要把資料全部搬到一定的記體體中時,才可以啟動DMA...

比較高速的DMA 應該是功能一設定完之後,只要把資料往FIFO 中丟的話,

他會自動幫我處理傳輸,包括under-run 或over-run 的機制等。

不過,我覺得這樣子的半套也夠了啦。畢竟也不是說是ASSP 或是ASIC 的專用IC 啊。

第四:我是覺得ARM 再推廣他的微處理器時,要求所有的廠商都需要follow 他們的

CMSIS 的 Coding Rule ...這一點我覺得也是一個很重要的推廣產品利器,您說:

現在還有多少系統韌體工程師,還有那麼多美國時間,

在那邊K 規格與研究Registers 怎麼填?更何況現在學校裡培養出來的學生,

學軟體資訊的畢竟比做系統韌體的工程師比較多,寫成這一種架構,對於一些新進的

工程師是一個蠻不錯的進入點,等懂了,有興趣在進一步K 底層的東西。

所以,原廠在推出ARM 的產品之後,他的硬體周邊的許多設定與應用方式,

都已經包成標準  ANSI C 的一些格式,系統應用工程師,只要花時間呼叫與整理這些函數庫

就可以了,當然,您要自己去改這些基本的函數庫也可以,他們也都有提供原始碼。

這一點對與一些很基礎或標準周邊系統應用真的蠻方便的...

要不然,依傳統的8 bits MCU 的玩法,您就得去翻原廠有沒有提供相關的函數或範例程式,

才會搞懂他們家的MCU 要怎麼用。...

結果,還得要碰運氣,甚至有些東西還不一定合用。之前,我搞過的那一棵多核心的MCU,

根本都沒有人知道怎麼用,後來還說要做 Code Generator (程式產生器),結果:

客人用了之後,發現連原廠提供的程式產生器也是錯誤百出...真是折騰人啊。

倒不如提供類似如此的CMSIS (Cortex Microcontroller Software Interface Standard),

在結合一些市面上大家所常用的  Keil 或是 IAR 開發平台,一些工程師就可以很快上手,

所以,據他們家的講師說:這個東西去年初推出之後,不到兩年時間,

一個月的出貨量就可以達到單一客人幾百K 規模了...

這次說明這種產品導入市場的一個重要觀念與作法。

像以前那一種說:我開了一顆 MCU ,還在那邊慢慢孵...等看看市場什麼時候放量,

是截然不同了啦。

--------------------------
好啦...這些細節的部分,有興趣者,可以自個兒找門路去瞭解吧,我們就不要多說與討論了。

那我們就回歸到一個很現實的問題,像這一家提供了 ARM Based 的Cortex-M0 的MCU,

也提供了許多標準常見的周邊應用介面給我們,那就很好奇的要問:這些東西,就算用

傳統的 8 bits 的MCU就不行嗎?!一樣加上這些周邊應用介面,人家現在 1T 的RISC 8051

也是可以做到同樣的IC 功能...那您如何說服客人呢?!...Flash ? USB ?...都沒差啊?!

難道您用這麼一棵跑  50 MHz 的 32- bits ARM 就可以飛天遁地了?

在課堂上,我聽到一些學員問說:可不可以拿來解影音?...

或是作多媒體應用?...想太多了吧。

當然我也很好奇說:他們推這麼一棵MCU 主要的應用市場或是出貨量比較大的,

是哪一個領域?....答案還是觸控螢幕的應用領域。

唉~大家都一樣的啦。有沒有比較特別的呢?

還有一點很好玩的是:這一家公司還是國內最傳統作 8051 MCU 的公司,

難道不會自己家產品打到自己家的?! 拿自己的左手砍右手?....

連講師工程師都是原來8051 部門工程師,改調到 ARM based 的MCU 部門。

那原來部門的單位情何以堪?就當作新人在職訓練單位嗎?!

但我個人覺得這家公司至少很有勇氣的去面對這樣子的市場趨勢與改變。

原來分析如下:他們已經是不得不採取如此的作法了。

-----
您看我們攤開他們家這麼一棵32 bits ARM based 之規格與周邊應用介面之後,

的確有著過人之處,不過,有一點我們所必須要面對的現實問題,就是價格...

因為人家這麼一棵 32 bit ARM 只要賣US$ 0.5 而已。

他對於MCU 市場的定價問題會造成很大的壓力 ,因為很簡單,這樣子的價格,

當場就把 16 bits MCU 給幹掉了...

大家共同的結論就是:可以宣布 16 bits MCU 的市場死刑了。

而對於8 bits 的MCU 呢?!那當然就是要退守最後防線 :US$ 0.3 ...台幣十元內!

以後就是:ARM 每進一步,8 bits MCU 就得再退守一步。

據我所瞭解:

連一些國外原來8 bits MCU 廠商也不得不趕工的要推出類似  ARM based 的 MCU 了。

當然,主要還是在於應用市場的定位...但就以同樣的應用市場來看:

譬如上述的觸控螢幕的市場來說:人家有運算能力比較強的MCU 而且價格也不差...

實在沒有道理人家會不採用啊。 ...那更不用說:萬一以後這些主控IC 平台都採用ARM 之後,

譬如:像手持裝置,手機或影音週邊產品的核心都採用ARM 之後,他們要擴充周邊之時,

您說:用 8 bits 去生一個 32 bits 比較快呢?!還是直接用一樣的ARM 會比較快呢?!

所以,我們在業界幾位的觀點就是 8 bits MCU 的確會很辛苦的堅守最後城池,也加速

8 bits MCU 市場的價格崩盤...上述的US$ 0.3 ,我們說的還是Flash 的8 bits MCU ,

國內廠商最喜歡的OTP 或是MASK 都幾乎要退守到 US$ 0.2 以內了...甚至更低。

據了解:在國內甚至都已經出現 8 bits MCU 的毛利都比更早的  4 bits MCU 還低。

(因為  4bits MCU 能玩也沒幾家了,就算您現在進來玩也玩不起來。所以反而還可守住價格!)

所以,我們就如果純粹的用開一棵MCU 的觀點來解讀未來市場來說:的確,

已經沒有多大的意義,因為您的功能與價格都已經被這樣一棵  32 bits ARM based 給封頂了。

接下來就是還是得看真正的應用市場的定位....能真正切到真正的產品應用與客人願意買單,

才是王道。...您的開發平台與產品的系統支援還可以讓多少新進工程師願意接受的呢?!

您沒有新一代的系統韌體工程師願意投入學習動力時,怎麼可能有新一代的系統應用產品呢?

或許,您還在想那個苦幹實幹的慢慢蹲馬步時,您覺得您還有多少市場機會?

只不過的是:這個趨勢您還能掌握多久?!因為人家已經在用0.15 um 製程在玩

MCU 了...甚至已經有人打算用 90 nm 來玩...這已經不是您所能左右決定的,因為您不如此,

別人也會啊。這已經是不得不走市場趨勢啊。

---

 

 

 

 

6 則留言:

  1. 還有一個領域就是工業資料通訊,以前看別人用8051作一個把RS232轉TCP/IP的產品,掛64K SRAM還只能跑一個TCP connection,弄的辛苦的要死,換作ARM掛個SDRAM,不但空間倍增掛個OS也不用擔心吃掉太多系統效能...也不用bank切來切去~

    回覆刪除
    回覆
    1. 小老弟啊..
      關於您提的觀點有兩點不同論述:
      第一:您說像要外掛SDRAM 這種東西,在硬體上還是需要一些額外的控制介面,不管是對ARM 或8051 都是一樣要額外設計的...所以,以開IC 的角度來說:是一樣的工的啦!...只不過的是:一般SDRAM 都是至少 16 bits 或是32 bits以上的...您用8051 這一種傳統8 bits 匯流排,就算硬體幫您抓取後,速度還是有瓶頸的...雖然辛苦,還是有人可以搞出來的...所以重點就是我們說:就看價格啊。...若價格差太多,有人還是寧願慢慢搞....所以,我才說:這一回 32 bits ARM 願意再往下壓價格,那鐵定是會把這樣子的應用領域中的 8 bits 給擠出去的!
      ---
      第二:如果是針對工規、工控市場,搞這一種MCU 大概也只是會比較淡然處之,因為畢竟工控市場的量還是比不上一般消費性市場,如果要靠工控市場來達到經濟規模而降價,是比較難的啦....
      只不過,因為現在許多晶圓代工廠的IP 製程都很成熟了,已經有很多MCU 只要稍微要求一下Fab廠,都可以做出工規的MCU的啦。所以,這些MCU 廠就會多多少少讓一些工規市場的客戶試試,如果順利可以出貨的話,就算是他們產品額外撿到的啦....
      所以,以目前這樣子的趨勢,我個人認為說:過去許多搞工控的公司都會有點想自己開專用IC 來做,但是現在已經有太多標準品MCU 的效能都很好了,另外一點:現在自己設計IC 與投IC生產的成本是越來越高了(包括IC 本身所包括的相關IP,甚至往後的開發工具的完善等等!)...當然啊,還有現在搞IC 設計的~都有專業的IC 設計公司可以去了,就比較沒有人會待在同一家公司,好幾年甚至幹一輩子才開一兩顆IC 的啦。---- 我猜啦。

      刪除
  2. 請問是參加那一家代理商的研討會才有送板子?謝謝

    回覆刪除
    回覆
    1. 謝謝您的留言...
      我是參加原廠的培訓課程,他們在台灣只有在新竹園區總公司與台北...
      我是參加新竹原廠總公司的...好像是每兩個月才辦一次,
      您可以上他們公司網站查詢,而報名好像是要透過代理商,
      因為是朋友幫我安排的,所以詳細我也不清楚,反正有人要我的Email...
      然後,要我填一些基本資料,就可以領便當吃飯了。
      還有免費的咖啡不怕您喝...
      所以,真的希望以後要賣MCU的廠商都可以比照辦理,要不然我們會認定:
      太吝嗇的原廠,鐵定在價格方面也會比較硬的啦!是不是?!
      以前我賣MCU 時,原廠還要代理商自己出錢買Tools ,結果,
      還不是代理商自己含淚吞了下去...久了就不爽推了,對誰都沒好處。
      (PS: 圖片中的發展版,據原廠表示:他們的售價也只不過US$20 以內,
      也不是什麼大錢...對大家來說:奇蒙子就是不一樣的啦!)

      刪除
  3. 的確聽聞搞數位相機、數位相框的朋友,他們用的8051 SoC可以去access SDRAM(但是這也不是常規品,也沒辦法用一般的方法去access SDRAM,比方說指標可以很輕易的指過去);撇開價格的因素,就如同您之前講的,現在的系統工程師比較在意開發的方便性,我前面提到的那個用8051上網的例子,他的新一代產品也改用ARM了,因為做完那條TCP connection之後大概別的事情也不用作了,可是客人還要你加個Web、UDP、SNMP、TFTP怎麼辦?這時候大概就不是慢慢孵就孵的出來,而是8051這種老架構到底何不合適的問題了...(說真的為了去match 8051架構,去花費大量心力修改一些原本好好的code,真的值得嗎?)

    回覆刪除
  4. 原來還有這樣的好康啊~
    怎麼我接觸的代理商沒有告訴我...
    我也想搞一套來研究一下哩...

    回覆刪除