為工業應用量身訂作的低成本高效能32位元微控制器 恩智浦NXP LPC1100 系列在工業界的應用 智慧應用 影音
工研院
ADI

為工業應用量身訂作的低成本高效能32位元微控制器 恩智浦NXP LPC1100 系列在工業界的應用

圖 1,LPC1100 區塊圖。
圖 1,LPC1100 區塊圖。

工業應用被價格便宜的8位元和16位元微控制器限制而無法滿足效能的時代已經過去了。現在,有良好價格競爭力且專門為工業量身訂做的32位元微控制器已經出現,設計者可在不用超出預算下提升系統效能。

消費性應用中,高容量不是唯一的設計重點,還必須在更低的價格要求下需要更高的效能。在工業界存在著相同的競爭壓力,設計者總是被要求效能再提升但價格不能增加。因此,工程師們已經習慣地依賴以一般應用設計且價格不高的8位元和16位元微控制器來完成設計工作。但現今的系統需求已經增加,這是不爭的事實。以馬達控制領域為例,嶄新的、更有效率的技術,例如無刷馬達,就需要更複雜的控制演算法。

圖2,Coremark測試 LPC1100結果。

圖2,Coremark測試 LPC1100結果。

LPCXpresso開發板。

LPCXpresso開發板。

恩智浦LPC1100系列基於Cortex-M0架構,提供高效能、低功耗解決方案。

恩智浦LPC1100系列基於Cortex-M0架構,提供高效能、低功耗解決方案。

LPC1102區塊圖。

LPC1102區塊圖。

恩智浦半導體的LPC1100微控制器系列特別為工業應用而優化,而且讓設計者在價格競爭下,完成更精密的設計。基於ARM的高性能與低功耗 32位元 Cortex-M0架構,LPC1100系列包含了1組特別的週邊功能,是工業應用心目中的首選。圖1即是LPC1100架構概念。

卓越的運算效能

在 Dhrystone 基準測試下,LPC1100系列達到了每秒0.9 DMIPS的運算能力。其它的基準測試,由Coremark(www.coremark.org)專注在更多的嵌入式系統的效能分析,秀出了LPC1100系列可以達到每兆赫1.4 CoreMarks。和標準的8位元與16位元微控制器相比,這是一個極高的分數 (請見圖2)。

這個優秀的效能, 其提供的價格範圍,在歷史上只有8位元和16位元處理器才有,對工業應用而言,是1個非常重要的優勢 。加上整合了 NVIC (巢狀向量中斷控制器) 提供了1個只有16個週期的標準中斷延時。 算術運算方面有1個新的類似DSP的命令支援。 例如,1個32位元的乘法運算只需要1個時脈週期就可以完成。 極短的中斷延時加上決定性的中斷行為讓LPC1100 成為最適合應用在即時系統的應用。

電源管理

低功耗模式例如睡眠(核心時脈停止運作)及深度睡眠 (鎖相迴路和系統時脈停止運作)增加了效率並且降低了功率消耗。這個省電架構將進入與離開這些省電模式所需的時間最小化,所以不會影響全部的效能。

功率消耗在運算模式及睡眠模式在程式運行中可以被進一步的優化,只需要透過1個簡單的呼叫恩智浦特有的省電命令。這些設定程序讓優化的動作飛快地進行,而且在預設模式下,有一個模式專門用來優化處理能力,另外的效率模式可以平衡電流消耗及CPU效能,低電流模式可以把功率消耗最小化。

特別的週邊裝置

LPC1100系列提供了一些功能,例如UART、I2C以及SPI串列傳輸介面,強化了系統的通訊能力。The LPC11U00系列新增了1個 USB 2.0介面,而 LPC11C00 則包括了1個CAN 介面。所以設計者可以從每個協定裏選擇1個最適合自己的工業應用。在軟體的驅動程式方面,例如 CAN、CANOpen或 USB等都已經幫使用者內建在唯讀記憶體內了。如此不僅可以降低設計者的開發風險,更為使用者爭取了更多的記憶體空間(最高32KB 快閃記憶體)。

馬達控制

無刷馬達正漸漸普及並取代傳統的有刷馬達, 部分原因是因一般的趨勢朝著更高的能源效率方向前進, 加上在某些地區, 法令的規定限制了舊技術的使用。 這是明確的事實,例如家電 (洗衣機、 電冰箱、空調等等),無刷直流馬達可以帶來更高的能源效率,更低的電磁干擾以及更可靠的運作。

LPC1100系列包含了特別的特性讓它能夠更容易應用在無刷直流馬達中。有4個計數器 (2個16位元及2個32位元)搭配高達12個匹配輸出能力。全部可以被設定成PWM輸出應用在無刷馬達控制中。 LPC1100的 GPIO也可以被設定成外部中斷輸入,用來計算馬達的轉速、頻率或者工作週期等。10位元解析度的類比轉數位轉換器 (ADC)可以用來當做過電流保護,透過分流電阻讀取馬達電流。使用另外的 ADC 通道在零電位相位處量取電壓值,在通訊期間,不需要透過外部的感測器就可以檢測馬達旋轉的方向。另外,使用兩個計數器就可以完成精確的時序讓 ADC 量測的動作可以透過PWM輸出匹配事件來觸發。

LPCXpresso馬達控制套裝工具

LPC1100軟體和硬體的開發工具上的支援種類很多,恩智浦也提供了 LPCXpresso,它是1個通用的開發平台,由恩智浦和合作夥伴嵌入式藝術家(Embedded Artists)合作開發。這不但是個便宜的開發工具(不到3美元)還結合了1個除錯器、1塊開發板還有1個以Eclipse為基準的軟體開發工具。在工業應用上,LPCXpresso 馬達控制套件是1個用來呈現馬達控制專案或是簡化馬達控制學習難度的理想方式。它支援了無刷直流馬達(BLDC)、無刷交流馬達 (BLAC)、步進馬達以及雙刷直流馬達。

開發板上有2個H橋,所以可以控制4個相位且PWM占空比可以達百分之百。電壓如同像電流量測般可以在3個相位被量測,而且虛接地電壓和共低邊電流也可以被量測。在安全像和保護方面,有過電流輸入保護。就設計的靈活性而言,有很多的通訊介面包括USB、乙太網、CAN、 RS-422/485、 以及1個 UART-to-USB 轉接器可供選擇。 開發板上也提供了1個小型的圖形使用者介面 (96x64 像素 OLED) 以及1個搖桿,提供1個簡單且直覺的人性化的互動。套件包含了1塊LPCXpresso馬達控制板,1塊 LPCXpresso LPC1114開發板搭配 LPC-Link JTAG (由LPCXpresso IDE有支援),1個裝有霍爾感應器的無刷直流馬達以及1個 24伏特 / 60瓦的電源變壓器。這些套件都已經發布在恩智浦半導體的代理商網路上,而且1個簡單的無刷直流馬達設計也已經被提供在恩智浦的網頁上(http://ics.nxp.com/support/lpcxpresso/)。

其他的應用

在有限空間的應用,LPC1102已經問世了,它是1個 2x2毫米晶圓級封裝 (WL-CSP)。 儘管它的外型短小,但卻具備了非常高的整合性,有著 32 kB的內部FLASH記憶體及8kB的 SRAM。這樣的小封裝讓LPC1102在微型化的遙控型感測器應用中,成為最理想的解決方案。因為它的高速計算能力可以使用在處理輸入進來的資料,加上它的RS-485兼容UART,可以被使用在長距離的通訊。

LPC1100系列也可以使用在實現1個多樣性的轉接器產品,例如:微控制器可以透過USB或CAN接收顯示資料,資料經處理後可以透過SPI通道輸出顯示。或者微控制器也可以當成1個轉接器,放在CAN和 RS-485裝置間。甚至微控制器可以取代實際的硬體轉接器,透過晶片的靈活度可以最小化晶片數。

在資料記錄應用中,資料透過SPI介面可以存在SD卡內,再透過 USB送給PC分析。在這個例子中,微控制器Cortex-M0高速的計算能力支援了資料壓縮或加密或錯誤檢測。

由LPC1100延伸出來的1個特殊產品:EM773,大大地加速了能源監視系統的開發時程。所有那些必要的計量演算法都已經由微控制器執行,而且可以透過應用程式介面(API)來呼叫使用。恩智浦半導體也提供了和EM773相關的參考設計,可以很容易量測出電源及消耗等數據並當成基準用於進一步的開發。

向上相容

Cortex-M0使用ARMv6指令集,屬於Thumb-2的子集合指令,而 Cortex-M3則使用 Thumb-2指令集。這表示軟體寫入Cortex-M0是向上相容於 Cortex-M系列。如此一來,對使用者來說更方便透過恩智浦全系列家族開發他們的產品。而且對使用者來說,在使用Cortex-M3 芯片時,這也是個很重要的特性,例如恩智浦半導體的 LPC1700系列。

Thumb-2 指令集結合了16位元Thumb指令集的優點,加上強力的32位元ARM指令效能,而且不需要手動切換這個16位元指令集和32位元指令集。

結論

恩智浦LPC100系列, 讓工業應用可以呈現更多元的特色且不會超出他們的研發預算。已優化的32位元ARM Cortex-M0核心實現了卓越的運算能力和低功耗能力。晶片的內在特性,特別在工業界的應用上,支援進階的通訊協定,包含了 USB 2.0、 CAN。在馬達應用上,特別是無刷直流馬達,因為微控制器整合了計數器、 ADC 加上可設定的GPIO,讓恩智浦M0在無刷直流馬達的控制應用上更容易、更有效率且更省電。LPC1100有著許多開發工具的資源和支援,包括恩智浦半導體擁有的 LPCXpresso在內,針對馬達控制,也都已經出現在大多數的開發工具套件上。更多的學習,請拜訪 www.nxp.com/microcontrollers

(本文由恩智浦NXP半導體提供,陳毅斌整理 )