在此把這回研討會所展示的Demo 小玩意簡單的帶一下。
也順便藉此簡單的說明一下:如何從一般的規格書來判斷一棵IC 的基本架構。
-----
一般來說:20 pins 包裝的MCU 算是MCU 應用市場裡的一級戰區。
最早從Microchip 的PIC 到 Atmel 推出所謂的89S2051 開始,這一等級的
MCU 可說是各家MCU 廠兵家必爭之地,大家無不竭盡所能的來推出相關產品應戰。
SiLabs 原本在這一級產品為C8051F330...也沒有說這樣子的規格沒有什麼不對的。
但MCU IC 市場競爭,不能只看表面的規格而已,這其中牽涉到IC 原廠對於這樣子的
市場維護與保持一定的競爭優勢 :主要的考量就是"性價比"。...
但最能凸顯IC 性價比的特質就是要搭配IC 的製造成本,譬如說:就算規格保持一定,
但萬一您的IC 成本不能有效控制或降低成本的話,縱然有好的性能表現,最終也有
可能會被市場所淘汰。
----
譬如:您原來的IC 是用 0.35 um 製程做的,但隨著製程提升與製造經濟規模的提升,
您總不能老是停留在0.35 um 製程吧!萬一人家IC 晶圓代工廠隨著設備提升與改善,
反而有可能您原本所需的0.35um 製程的製造成本增加了,或是說:人家新一代的
製程的製造成本降低了...(當然也有可能是IC 晶圓代工廠故意的~)。那您要不要把
您的產品移到新一代的IC 製造製程上生產。(講難聽一點:有許多IC 晶圓代工廠的
每一世代的IC 製程都有其一定的產能,產能有限,自然就會供給配合度比較好的客戶,
所以啦~
萬一您們家的IC 常常三天捕魚,五天曬網的...您就別想人家會給您好臉色(價格)!)
下回就不要老是很衝動的想動不動想開顆IC 來玩玩,您看現在這些IC 晶圓代工是什麼
臉色?!憑什麼人家要陪您玩?!更何況現在製程設備投資常常是越來越難回收的,
人家為什麼要讓您在那邊Try 產品啊?!IC 製造又不是洗PCB 版啊!
-----
所以想當然爾,以國外 SiLabs 這一種MCU 廠來說:F330 也算是他數一數二的主力
明星產品,人家當然也會如此考量的嘛!所以他今年推出了一棵準備取代 F330 ,
而較具市場競爭力的產品--- 其實主要應該還是配合先進製程的MCU 吧。
而要取代原本F330 市場,最重要的當然就是硬體上 Pin 腳的相容性嘛!這樣子既有客人
才可以無縫接軌。以下是他相對應的IC 編號:看起來沒有什麼差別。
------------------
但是我們看到以下簡單規格時: 1.8V ~3.6 V... 我們大概就可猜得到是:他們的確是進了一階
IC 製程....這一部份待會兒我們還可以從別的地方得到佐證。
(有可能就是從0.35um 進到0.18 um 製程)。
------------------------------
既然IC 製程提升了,代表一樣的IC 晶圓面積就可以增加額外的數位回路來增加功能,
當然啊~您也可以純粹降低IC 面積來降價求售...不過不是每一次這一招都有用的啦...
最好的方法應該是:加值不加價。維持一樣的售價,然後增加一些額外的硬體功能
來進一步提升性價比,增加產品在市場的競爭力。
所以我們就可以很明顯的看到這一個新產品觀念所帶來新功能:
首先:製程提升,代表IC 內部每一個邏輯閘之間的間距變小了,代表可以用更高速的方式
來處理程式的執行效能...所以明顯的他從原來的 25MHz 可以提升到 50 MHz 的執行效能...
當然也不一定可以完全跟著製程提升而同步提升的,這還是要看IC 架構上 Pre-Fetch
Flash ROM 的效能...這是需要Tuning 的啦。所以~我們要看要8051 要跑到 100 MHz
不是光靠製程提升這麼簡單的一件事。..8051 要跑到100 MHz 以上真的很難的啦。
---
第二部分就是當您塞了一大堆硬體方塊功能之後,您就得提供相對應的Registers 來控制
這些周邊硬體...但我們都知道8051 的 SFR 是在直接存取區 :80H~FFH 之間而已。
才區區128 Bytes 而已,而原本的8051 又佔去一些...所以SFR 是鐵定不夠用的啦。
一般人常用的方法是把這些SFR 用外部記憶體區來定義:xdata ...也沒有不好。
效能差一點...
但是萬一要提供中斷時怎麼辦?!當然可以學USB中斷啊~先一個中斷進去再來判斷。
但這樣子寫程式的人很辛苦。所以 Silabs 想到是在SFR 裡直接做Page ...這一種搞Page
的~他也不是第一家。Microchip 的PIC 早就常常碰到容量不足而切Page 了。
-----
SFR 切 Page 也見怪不怪了~但因為8051 中斷或副程式的Stack 也是佔用idata 那一塊
記憶體,當您提供硬體中斷越多,您的Stack 就要越深...更何況進中斷之後,您還要
存取這些切Page 的SFR 呢,那不就搞死這些寫韌體程式的工程師啊?!...
從這一點我們就看到了目前 8 bit MCU 常常會碰到的問題,沒辦法~
這是8 bit MCU 架構先天上的問題...雖然這一部份IC 原廠已經部分用硬體幫我們
處理掉了,但您還是有可能不小心又會採到這一個地雷的。
--------------
另外從規格可以看到原本 5V 容忍度的I/o 已經不見了~這明顯就是IC 製程的提升,
他們又不願意在I/O Cell 下太多功夫去處理這一個問題...
(就算您能夠在這一部份解決了,成本也不一定可以省啦!)。
----
至於IC 製程提升,IC 的面積肯定可以多出許多空間,所以多送您幾個 Timer 或I2C ...
甚至在多給您一個硬體的CRC 也沒關係啦。這些對於一般IC 設計者來說:都是小菜一碟啦。
只是要送您什麼硬體~就比較難挑一點吧。...(因為 IC 可能限於 IO Pad limit ...
要塞個 20 pin 在IC 四周~又每一根I/O Pad 就那麼粗,那肯定是Pad Limit 的啦!)
上一表格就是新的SFR 定義...落落長的一大堆。您有什麼辦法...又要人家送您一大堆硬體的
,不管您喜不喜歡,人家就是要強迫給您中獎的啦。...不過已經算客氣的啦~因為只有
切兩個Page 而已。(一個是Page 0 ,另一個為Page F 。)
--------------
送數位邏輯算什麼?人家再送您Circuit 的 Clock Circuit 給您...只是都是這一種 80KHz
,20 MHz 的~...又不是人家常用的 32.768KHz....還真的不知道送這個要幹嘛?!
還不如把Clock Tree 做得有彈性一點不是更好嗎?!
其實Clock Tree 做得太複雜也不行,會造成Clock Lag ...也很容易造成系統不穩。
所以會長成這樣子也不意外吧。
---
---
但是很討厭的是:他的PCA ~不管幾組PCA 總是共用同一個Source Clock 這一點~
他還是沒有提供更好的解決之道...唉~包袱啦....
---
好啦...反正您們自己就看著辦吧...MCU 該怎麼用?!或是您該如何在人家都不得不
加值不加價的情形下~您就自己想辦法增加自己的系統應用附加價值吧。
以下是人家好心送了我幾顆 Sample ...我就順手把他做了一個簡單的Demo 小玩意吧。
很簡單:因為他的8051 可以跑到 50 MHz ...又有一大堆Timer 及500 Kbps A/D 給您
用無驚耶。我就寫個小程式:(這一種小玩意東西,就自己用功一點K 一下 音源處理
的Algorithm...不要老是動不動想用32 bits ARM 或是DSP 來玩吧!...能用8 bits MCU
就用 8 bits MCU 吧!.............)
用兩組 500 Kbps 來處理左右音源線的輸入值,然用作簡單的數值運算...
然後把結果分別送到六組的 PWM 來控制 上下兩組 RGB LED ,分別代表左右聲道的
音樂效果...這跟一般純粹用OP 比較器來Trigger 外部中斷的作法不同...
當然所呈現的音樂聲光效果就不同。不過影片拍得很爛~真實的現場效果還不錯啦。
外加一組可以隨著音樂節奏變化自行調整的雷射旋轉效果...
那天在現場就有人當場交換名片,要我多做一組給他...不好意思...
純手工,僅此一組...沒了...各位就參考看看吧。
---
結論:很簡單啦~8 bits 的8051玩到這樣子...也算是他與生俱來的極限了啦...
再Based on 如此架構下,真的很難再有驚為天人之作了啦。....
所以不是我在唱衰 8 bit 8051 ,要不然您有更好的想法嗎?!人家 32 bits 的ARM,
不只效能好,連人家都已經架構兩核心~四核心...整合架構了。要不然您要怎麼辦?!
您說:對不對啊?!
----
第一段影片:
---
第二段影片:
---
類似的問題我也被FAE問過。
回覆刪除為何一定要用ARM這種32位元處理器?
我就說明我現在用的軟體架構:
檢測信號產生是利用PWM模組,相位差是利用PWM於馬達控制應用的功能。
相位差做ADC觸發用,可精確控制取樣條件避開其他信號動作時間。
取得ADC值要先配合硬體倍率,如同浮點數的指數項,先乘回到一般數值域,再...
然後FAE還沒等我說完就說,看來八位元不合適於您的應用。
然後呢?!難道會一直用八位元的就比較厲害?!
刪除當然以前用八位元~因為硬體限制很多,所以不得不在程式邏輯
與演算法推演方面下許多功夫。這些功夫沒有不對的地方...
但如果一樣的功夫用在32 位元上不是更好嗎?!
--- 說真的啦...現在八位元的MCU 是鐵定越做越小了啦,否則他的性價比
肯定是打不過 32 位元的ARM了。但說真的,小小一棵幾K bytes
的程式容量能做出什麼偉大的東西?!...以前我們搞多核心時,
人家還說:容量小,可以早一點出貨--- 問題是:價錢彼此砍得凶啊!
因為程式容量小,代表您的韌體附加價值也不高啊。
這個才是我們做系統應用在市場上做產品時所必須面對的市場產品
價值的重要因素啊。
-----
現在應該沒有人還在到處找支持 64 KBytes ROM 的單獨一棵 8051
MCU 了吧...因為您要外掛一棵Flash ROM ?!...光8051 外拉的I/O 腳,
就把您IC 包裝成本給吃死了。IC 原廠也不會笨到想一直做這一種生意吧。
所以啦...我這一篇文章主要要闡述的是:IC 基本成本架構的改變,
才是往後真正主導整個MCU 市場走勢吧。
當您以後買不到適當的八位元MCU 時,您就得乖乖的換32 位元了。
很簡單的市場操作道理。
其實這也可以從另一個觀點來看,8bit MCU跟32bit ARM,何者比較容易找到合格的工程師?8bit MCU需要比較多經驗跟規劃的技巧...相反地32bit ARM可以靠效能cover很多技巧不足的問題,當ARM便宜到某種程度的時候,老闆就會想我請個便宜的工程師就會比請一個有經驗的8bit MCU工程師划算了
回覆刪除就像Java剛出來時,很多人都罵這麼慢的東西誰敢用!?沒想到後來成為排名第一的程式語言,除了現在大部分電腦夠快跑起來已經很順外,一個很大的重點就是他是一個防呆設計非常多的語言,同樣的老闆要找到合格便宜的工程師也比較容易
講得很好~ =D> ... =D> ... =D> ...
刪除誠如以下回應所說:一方面越來越難買得到夠一般工程師可以好好發揮的
MCU 時。另一方面您說的:也越來越少年輕工程師們願意還要花那一種
美國時間在那邊精簡程式....那以老闆來說:當然想找個容易使喚又容易
上手的工程師來用。
-----
不用幾年啦...年輕工程師會越來越少想去寫需要許多時間去磨來寫一般
8 bits MCU 了。隨隨便便一個32 bits ARM...原廠都附有一定程式的
參考程式碼--- 三兩下就可以交差了。幹嘛那麼累?!
MCU 單體的硬體成本要看性價比。
當然寫韌體程式的工程師也會算投資報酬率啊。--- 人家用簡單容易上手的,
可以早早下班...現在也沒什麼科技新貴了,還幹嘛這麼賣肝?!
-------
我想:您我所討論的不是就簡簡單單的8 bits 跟32 bits MCU 本身問題,
而是許多周邊,外在環境的改變...自然就會迫使產品的世代交替了。
PS : 8 bits MCU 當然在許多產品是夠用的,但您就慢慢賣吧...
賣到當您找不到工程師維護時,您大概就知道了。
話說的那麼多, 你那個ARM Cortex-M0板子到底玩得怎麼樣了?一個月都過去了,該不會已經棄置在牆角爬蜘蛛網了? :))
回覆刪除哈~哈~哈~ :)) ... :)) ... :)) ... :)) ... :)) ...
刪除我跟您說:我在N年前,參與了一個"偉大" 的計畫 ---
(...不能講 ...講了會成公民公敵...哈~哈~...
該計畫在內湖科技園區附近...)...這一個案子前後我搞了快一年,
用的就已經是STM32 。這不重點!!年紀已經大了,
也不能老是像年輕人這麼"遊手好閒"的~摸摸這個,搞搞那個。
----- 最主要的原因也是跟時下一般公司一樣:要做什麼東西才是重點?
要搞懂一棵MCU 有很難嗎?!寫寫程式會很難嗎?!
但就只是拿來寫跑馬燈?!...好了,就讓算您寫個 FFT 或高級一點的
演算法了啦。做什麼?!寫個MP3 播放器?!要證明什麼?!
是要證明我比較厲害呢?!還是Cortex-M0 比較厲害?!
--------
等我想到要拿來做什麼時,我再您說。至少我目前八位元的
還用得嚇嚇叫的!...別人看過~也覺得不錯....所以不急啦。
那個不是要拿來放在牆角爬蜘蛛網的,是要來拿嚇嚇人家的。
哈~哈~哈~.... :)) ...代表我們也是一路往前看的啦!
----
簡單思考模式,僅供大家參考!
回覆刪除有人斯有土===>抄地皮
有土斯有財===>聚資本
有財斯有用===>錢賺錢
結論: 只有[人](指上班族及空有技術者而言)若沒有[土]與[財], 在當今社會是很難以致[用]的!!!
苦工人主 小P......
所以啦...搞技術的就要從以上這些人的身上搞一點錢來賺錢。
刪除要不然呢?!搞技術的怎麼辦?!
只是現在我們這些搞技術的~搞到最後就又有點像搞詐騙集團似的。
明明講好了什麼永續經營?!什麼技術卓越@%#$...結果最後我們還不是
一天到晚就想騙人家的錢來個什麼員工分紅...董監事酬勞等等...
拿投資者的錢來慷自己或經營團隊的慨!...當然最後人家還是乾脆
還是繼續做自己的本業:
有人斯有土===>抄地皮
有土斯有財===>聚資本
有財斯有用===>錢賺錢
---- 您說這些搞技術的~是不是自己自作孽啊?! :)) ... :)) ... :)) ...