2008年11月8日 星期六
MCU -- Silicon Labs MCUs (1)
這一家公司出的MCU
是我目前用得最順手的
以往的8051總是給人不太好的印象
比方說
保密性不好
抗干擾不好
相容性不好
穩定度不好
周邊功能不足
運算速度太慢
.....
而我第一次接觸單晶片
也是從51開始的
用的是Atmel的AT89C2051
個人覺得並沒有很大的問題
可能它已經精簡了89C51的p0與p2埠
進而少了很多外接周邊的問題
對我來說
這是一個很順利的開始
當然這一切都要感謝引領我進入這領域的神人-- 林伸茂 先生
他是我的老闆
更是我電子技術上的啟蒙老師
很多我不知道的東西
都是他給我方向和概念
然後親自動手實作
才慢慢把技術建立起來
就因為如此
所以當我把51學得有點進階的時候
發現51有很多先天上的限制
為了突破這些限制
我們無所不用其極地思考電路上的組合與排列
為學習打了不錯的基礎
後來因為應用的東西越來越複雜
51真的有點沒辦法勝任了
才開始思索是不是該換換MCU了
當時有考慮的MCU
包括AVR, R8/M16, PIC.....
(後來這些MCU也都有加入設計線, 只是用得不多)
適逢Cygnal的F300與F310在台灣已經漸入佳境
我們決定嘗試看看
一用便上癮了
就在我開始用Cygnal的晶片沒多久
該公司與Silicon Labs 有合併的動作
後來就正式改由Silicon Labs 接手
本來很擔心才剛覺得好用的MCU就被併購了
未來會不會就中斷開發了?!
然而這樣的疑慮很快就得到了解答
Silicon Labs 不但全面更新原來的技術文件
更將其本來的專業強項加入了MCU當中
推出了史上最強的超高時脈8051
並整合了多項周邊
一次搞定相容性的問題
本來一直都用組語寫程式的我
對C的好感其實並不高
原因是編譯器的技巧還不純熟
無法有效將程式精簡
直到我用了搭配F310的Keil C之後
才開始對C完全改觀
事實上
這有一部分是受到老闆的影響
因為當初寫C要除錯
真的是相當辛苦
同樣的邏輯概念要一直嘗試不同的語法對它進行最佳化
演算式也不能說要加就加要乘就乘
順序上的差別就可能讓程式相差好幾十個Byte
所以才會對C有很大的排斥感
原因其實也在於用組語寫的每一個Byte都是自己加的
程式大小完完全全可以受到自己控制
在開發上不會有太大的誤差
說來可憐
當初的51
就是要在這少少的空間裡
盡可能地擠完它的每一寸資源
讓材料成本降到最低
而現今的大多數程式根本就不考慮這樣的問題
因為MCU空間都超大(不限51)
以前2K空間就不覺得不夠用
現在的16K, 64K, 甚至256K, 1M的都有
大家寫程式都只要求快速開發
已經不講究程式精簡了.....
題外話!!
這一個是F340的官方板
來看看它的規格
64K Flash
48 Mips
4K SRAM
2 UART
1 USB
10bits ADC
SMBus
PWM
......
真的是太強了~~~
MCU特寫
拍得不好
沒把雷射Mark照出來
另外一個重大突破
就是這一系列的MCU有硬體debug功能
換句話說
每一個MCU自己就是ICE
下載程式跟除錯只要透過照片上的Download工具就搞定了
這張照片有兩個版本
左邊的是RS232介面的(上一代)
右邊是USB介面的(新一代)
不過偷偷告訴大家一個秘密
最原始的RS232介面工具才是最值錢的(Cygnal版本)
因為裡面栽了一顆F120(要價NT$1200)
USB版本如果是官方的還要上千元
若不是官方的
好像幾百塊就買得到了
現在要學MCU真的是比以前的環境好太多啦!!!
Nichal 大哥,每天上菜,你真的讓我太羨慕啦!!
回覆刪除好久前就想做個整理
刪除只可惜太忙了
最近在DIY
就一起整理出來放上囉~~~