自從Intel 公司在 1971 年發表了全球第一顆的4-bit微處理器 4004,它內建 2300 個電晶體採用當時最先進的 Intel 10微米的製程,迄今已逾 48 個年頭。當然以摩爾定律的理論來推估每隔 18 個月半導體的製程、性能便會增加一倍。以這趨勢的走向,也適用於微處理控制器使其功能已今非昔比。20 年前 Intel 的8051 幾乎是每位工程師在學校所接觸到的第一顆微控制器,當下它幾乎就是一本微控制器的聖經。
翻開微控制器的製造商的歷史也是道盡滄桑充滿了傳奇故事。以前耳熟能詳的廠商像 Zilog, NS, Motorola, Toshiba 等等著名的半導體公司或部門不是消失了就是被合併。如今最現實的市場演變是大者恆大的效應,再加上微處理控制器在製程及功能上已非昔日可比,小小一顆微控制器能擠入的周邊實在難以想像,但這也讓這些新的微控制器能夠扛下更多的應用也而無須添加額外的周邊或加元件以降低整體的成本。
以8-bit MCU市佔率第一的 Microchip 來說,新款的 MCU 除了基本的核心、記憶體及標準的周邊配備外,有眾多的 MCU 還配有類比元件的周邊。下圖是 Microchip 所列出的 PIC® 和AVR® MCU 周邊一覽表。
看一下此圖表,從左至右的類比周邊從基本的 8到 12-bit ADC、電壓比較器、斜率補償、參考電壓、運算放大器等,超過60種的周邊可供選擇。當然這些周邊不可能是整合在同一顆 MCU裡的,它會依使用的功能需求做一些周邊的整合。
問題來了,如何找到最適合的 MCU 來貼近應用的周邊需求呢?當然,Microchip 推出種類眾多的周邊相對的也要有適當的工具讓設計師能輕鬆的來選用 MCU。個人推薦使用 Microchip Advanced Part Selector (MAPS) 的選件工具,可以直接線上操作非常方便: https://www.microchip.com/maps/Microcontroller.aspx
只要點選所需使用到的周邊就可以尋找出適用的 MCU 來,使用非常方便。另外也可以使用網站上所提供的周邊快速參考手冊中尋找所需周邊的 MCU,例如:http://www.microchip.com/design-centers/8-bits
MCU 找到了,相關所需要的周邊也有了。可是現在要面對這麼多樣的周邊設定及連線也是個困擾。尤其是一些獨立於核心外的進階周邊 (Core Independent Peripherals) 多半是使用 MCU 內部的連線設計,這使的初始化設定成為一項挑戰。有幸的是 Microchip 也適時地提供一功能強大圖形視覺化的設定軟體 MPLAB® Code Configurator (MCC)。在MPLAB X IDE 下開啟 MCC 後,將所要使用的周邊模組一一加入到專案中並透過圖形化界面來做設定及內部的連線規劃。用 MCC 規劃完成後只要按下一個程式碼產生按鍵 (Generate) 即可自動產生周邊的函數及初始設定。此時你只要在 main.c 的主函數下開始轉寫你所需的程式。
底下便是一個使用 MCC 做規劃的範例。下圖是一個 SEPIC 交換式恆定電流控制的車用 LED 照明。圖中運算放大 OPA1 做為 LED 的恆流控制,正端輸入為參考電壓 FVR 及 數位至類比轉換器 DAC1 的電壓。OPA1 做誤差放大後送給斜率補償器 PRG 後再與峰值電流做比較以控制互補輸出產生器 COG 的 PWM 週期的結束。另有 PWM5 及 PWM6 產生 330KHz 及 1KHz 的PWM 一起送入資料訊號調變DSM 後產生 COG PWM 的初始工作週期。
如有任何選擇微控制器的相關問題,歡迎與我們經驗豐富的設計團隊聯繫。
作者 楊雲樟 Microchip應用工程師