2008年11月8日 星期六

MCU -- Silicon Labs MCUs (1)

1977649395

這一家公司出的MCU

是我目前用得最順手的

以往的8051總是給人不太好的印象



比方說

保密性不好

抗干擾不好

相容性不好

穩定度不好

周邊功能不足

運算速度太慢

.....





而我第一次接觸單晶片

也是從51開始的

用的是Atmel的AT89C2051

個人覺得並沒有很大的問題

可能它已經精簡了89C51的p0與p2埠

進而少了很多外接周邊的問題

對我來說

這是一個很順利的開始

當然這一切都要感謝引領我進入這領域的神人-- 林伸茂 先生

他是我的老闆

更是我電子技術上的啟蒙老師

很多我不知道的東西

都是他給我方向和概念

然後親自動手實作

才慢慢把技術建立起來



就因為如此

所以當我把51學得有點進階的時候

發現51有很多先天上的限制

為了突破這些限制

我們無所不用其極地思考電路上的組合與排列

為學習打了不錯的基礎



後來因為應用的東西越來越複雜

51真的有點沒辦法勝任了

才開始思索是不是該換換MCU了



當時有考慮的MCU

包括AVR, R8/M16, PIC.....

(後來這些MCU也都有加入設計線, 只是用得不多)

適逢Cygnal的F300與F310在台灣已經漸入佳境

我們決定嘗試看看

一用便上癮了

1977649394





就在我開始用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的都有

大家寫程式都只要求快速開發

已經不講究程式精簡了.....

題外話!!





1977649396

這一個是F340的官方板

來看看它的規格

64K Flash

48 Mips

4K SRAM

2 UART

1 USB

10bits ADC

SMBus

PWM

......


真的是太強了~~~



1977649397

MCU特寫

拍得不好

沒把雷射Mark照出來





1977649398

另外一個重大突破

就是這一系列的MCU有硬體debug功能

換句話說

每一個MCU自己就是ICE

下載程式跟除錯只要透過照片上的Download工具就搞定了

這張照片有兩個版本

左邊的是RS232介面的(上一代)

右邊是USB介面的(新一代)

不過偷偷告訴大家一個秘密

最原始的RS232介面工具才是最值錢的(Cygnal版本)

因為裡面栽了一顆F120(要價NT$1200)

USB版本如果是官方的還要上千元

若不是官方的

好像幾百塊就買得到了

現在要學MCU真的是比以前的環境好太多啦!!!

2 則留言:

  1. Nichal 大哥,每天上菜,你真的讓我太羨慕啦!!

    回覆刪除
    回覆
    1. 好久前就想做個整理
      只可惜太忙了
      最近在DIY
      就一起整理出來放上囉~~~

      刪除