在此把這回研討會所展示的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,
不只效能好,連人家都已經架構兩核心~四核心...整合架構了。要不然您要怎麼辦?!
您說:對不對啊?!
----
第一段影片:
---
第二段影片:
---