用於嵌入式裝置的系統單晶片(SoC)提供了驚人的整合度。先進的製程讓SoC和微控制器(MCU)開發人員擁有大量的電晶體資源進行操作。這些元件能整合多核心處理器、無線連接、記憶體以及繪圖控制器。然而,即使是最複雜和高度整合的SoC或MCU,也需要一些外部電路來進行電源管理、人機介面或連接到感測器。

因此,在一款設計中幾乎總會散佈著比較器、運算放大器、電平轉換器、各種邏輯電路和離散式電晶體。這些SoC幾乎從來不是真正的系統單晶片。在某些情況下,所需的支援邏輯可以用低階FPGA實現。但與離散式元件相較,用FPGA通常成本更高。而且因為FPGA無法實現類比或離散式元件,因此也不算是一款適當的解決方案。

對於嵌入式裝置來說,由於MCU或SoC無法處理所有的感測器、功耗和連接選項,這一挑戰將更加明顯。任一款嵌入式元件的出貨量都遠低於手機應用的SoC出貨量,這一事實使得情況更加複雜。因此,對於典型的MCU或SoC供應商來說,為了支援所有必要的選項組合以及整合所需的周邊支援電路,投入大量資源於設計與製造一款元件並不划算。

那麼,設計人員是否必須被迫使用單一邏輯電路、定價過高的類比元件和佔空間的離散式元件進行設計呢?下一代的嵌入式裝置是否會犧牲寶貴的空間資源,而被大量的物料清單(BoM)所累?

所幸答案是否定的,這是因為有了可配置的混合訊號IC(CMIC)。這些元件是可透過一次性可編程(OTP)非揮發性記憶體巧妙配置的類比和數位電路功能組合。

例如,Silego Technology於2009年推出了CMIC,至今並已完成1,300多款客製化設計,也銷售出20幾億片可配置元件。

Silego的CMIC提供各種類比和數位資源,讓設計人員可將其配置於混合訊號電路中。這些資源包括非同步狀態機、定時延遲計數器、脈寬調變器、比較器、電壓監測器、電壓基準、ADC、膠合邏輯和電平轉換器等。

設計人員可以拖放這些資源,並在原理圖擷取工具中「連線」其設計,或者也可以使用Silego的硬體開發套件來模擬設計。當他們對設計滿意時,就可以使用晶片OTP記憶體來編程CMIC元件。CMIC可用於各種必要的混合訊號功能,從馬達和風扇控制,到感測器介面和電源順序控制元件。

節省成本和空間

可配置的混合訊號IC取代傳統的離散和類比元件,為嵌入式設計人員和製造商提供了諸多好處。十幾個(或更多)元件佔用了寶貴的空間,若用於更大容量電池或實現精巧的外形,將會更物有所值;CMIC可將好幾個元件整合於佔位面積從8接腳1.0x1.2mm到20接腳2.0x3.0mm STQFN的微型封裝中。

傳統的電路原型設計需要幾天甚至幾週的時間來設計PCB、訂購元件、製造PCB、組裝、除錯和反覆運算。相形之下,採用CMIC的原型設計更快得多。原理圖擷取、模擬和編程可在同一天完成。更改功能就像修改原理圖和編程新元件一樣簡單。

在大多數情況下,CMIC的目的在於減少所用的離散和類比元件的BoM成本。根據最近在embedded.com上展示的設計強調,單個0.35美元的CMIC元件可取代了1.50美元的電平轉換和比較器電路。最後,由標準現成元件搭建的離散電路十分易於被複製或仿冒。CMIC電路內部就像完全客製的IC一樣安全,只有設計人員或其指定的ODM與供應鏈合作夥伴才能取得。

在設計可攜式系統時,尺寸和電池續航時間的限制通常是最嚴峻的挑戰。將許多功能整合於小尺寸和嚴苛功耗預算的一種傳統方式是使用低功耗MCU,例如TI MSP430。這種超低功耗MCU可提供高度的靈活性,並採用小型封裝。

Silego Technology採取了不同的方法來因應同樣問題:在其第五代GreenPAK CMIC產品系列中添加使用者可編程的非同步狀態機(ASM)巨集單元。以下的比較說明在決定採用MCU還是諸如CMIC中的ASM執行相同作業時,用戶可能考慮的設計折衷和技巧。

處理MCU程式碼

CMIC的非同步狀態機包含8個狀態和24種可能的決策。ASM代表一個具有多達24個IF..THEN語句的MCU程式。當8個狀態ASM功能與硬體輸入和輸出電路一起考慮時,CMIC可以表示為大致相當於為通用8位元和16位元MCU編寫的約100行標準C程式碼。

顧名思義,ASM沒有時脈,並且是以事件驅動的,這意味著當沒有事件出現時,ASM保持在一種狀態,而且沒有靜態功耗。因此,具有有限輸入週期的應用可以在漏電流功耗的情況下作業,而在室溫下的平均漏電流為幾奈安(nA)。

處理嵌入式控制問題

典型的嵌入式控制問題通常涉及透過一連串基於非同步外部輸入的離散式元件進行轉換的系統。ASM天生用於解決這一類的問題。Silego可使 ASM再生與現代化,緩解眾所周知的危害和競爭條件、編程/配置難題,同時為只需不到100行程式碼的簡單(最多8個狀態)嵌入式控制問題,保留所有固有的低功耗、低延遲優點。

比較MCU與CMIC ASM的價值

MCU包含處理器、程式碼、堆疊記憶體和各種週邊裝置,易於執行上述的應用案例,但在尺寸和功效方面較不理想。將MCU用於連1%的能力都發揮不到的設計案例比比皆是。諸如CMIC的ASM等元件非常適合簡單的嵌入式控制應用,特別是超低功耗應用。

20170519_Silego_TA31P1 圖1:GreenPack CMIC方塊圖

中斷延遲降至奈秒

在MCU上設計狀態機通常是由MCU核心上執行的軟體完成。在這種情況下,狀態被建置為軟體指令執行中的點,並且以條件軟體分支實現狀態轉換。

MCU還具有處理非同步輸入的能力,它透過專用的中斷控制器硬體和中斷服務程式(ISR)來實現。ISR是在硬體中斷啟動後執行的軟體。MCU的一項重要指標是外部中斷訊號到核心執行ISR第一條指令的時間間隔(即所謂的中斷延遲)有多短。通用裝置的MCU中斷延遲通常以5到10微秒的快速案例測量。

ASM的等效中斷延遲測得約為幾奈秒——相當於透過外部接腳到內部ASM輸入之間幾個閘極的解鎖時間。ASM具有從一個狀態到下一個狀態的延遲。如果CMIC工作在5V電源,則延遲最大為50ns。是的!ASM極快,功耗也極低。

VDD變異

CMIC ASM工作在較寬廣的電壓範圍。由於訊號長度和閘數確保了每個ASM訊號路徑,所以設計得當的ASM能夠確保規避了危險和競爭條件。因此,隨著VDD變化,傳播延遲也隨之改變。然而,傳播延遲都是相互匹配的,因而確保了性能。另一方面,MCU的時脈訊號與VDD不甚相關。隨著VDD變化,MCU的傳播延遲改變,但由於時序不變,使得時序餘裕很快地大打折扣。晶片設計對這些設計危害做出了回應,但是將MCU置於穩壓器之下,或者由於降低時脈速度會犧牲更多性能。然而,穩壓器會耗電,時脈速度較慢則會增加中斷延遲。

崩潰vs.不崩潰

設計和系統缺陷可能導致MCU崩潰。編寫不夠好的軟體、時序問題、中斷延遲計算錯誤、堆疊記憶體耗盡、記憶體洩漏以及編程記憶體的意外寫入等等,都是導致MCU崩潰的常見缺陷。

Silego的ASM採用非揮發性記憶體(NVM)位元硬體配置,沒有時序的問題;其延遲測得為奈秒級、無堆疊記憶體、無記憶體洩漏可能、不存在無意寫入編程記憶體的問題等特點,使其天生對VDD雜訊和掉電存在很強的免疫力。

基於GUI的工具與典型的MCU工具比較

使用GreenPAK Designer開發環境配置CMIC ASM。該軟體看起來像是原理圖擷取編輯器,而不是編碼工具。大多數的狀態機設計可以在幾分鐘內實現,讓典型MCU工具幾個月的學習曲線縮短到Silego GPAK僅需幾天的學習曲線。

20170519_Silego_TA31P2 圖2:Silego的GreenPack CMIC

總之,具有8狀態ASM的小型CMIC可以承載以往一直是MCU專屬領域的各種嵌入式控制應用。易於配置的ASM在超快狀態轉換、洩漏級靜態電流功耗、穩健的設計和電源電壓容限等方面具有關鍵優勢,因而在IoT、可攜式、行動和嵌入式應用中非常重要。

此外,CMIC提供了許多好處,讓嵌入式設計人員能工作地更輕鬆、產品更有利可圖。由於電路板空間緊湊,需要盡可能地節省空間以用於其它有價值的功能(如更大的電池),使得CMIC成為理想的解決方案。此外,它們還大幅減少了傳統的類比和離散元件數,同時顯著降低有關的風險和壓力,從而使採購人員更開心。