雖然微控制器 (MCU) 領域的許多主要參與者已經轉向基于 ARM 的 CPU 內核,例如用于通用應用的 Cortex-M3 和 Cortex-M0,但同樣的趨勢現在正在數字信號控制器 (DSC ) MCU 集成以 DSP 為中心的功能的領域。
意法半導體(ST)、德州儀器(TI)、飛思卡爾、愛特梅爾和恩智浦半導體都發布了基于 ARM Cortex-M4 內核的產品。IC 制造商面臨的挑戰是使他們的 DSC 與眾不同,同時還提供由廣泛使用和支持的指令集實現的簡化軟件開發周期的好處。對新興 DSC 的研究將說明基于 Cortex-M4 的 DSC 參與者的技術差異化和營銷策略。
Cortex-M4 是 ARM 以 MCU 為中心的最高性能內核。該內核與廣泛使用的 Cortex-M3 直接兼容,但增加了顯著的數學能力。M4 包括單周期、16 位和 32 位乘法累加 (MAC) 硬件。此外,內核還集成了單指令多數據 (SIMD) 執行單元。SIMD 模塊可以在一個周期內并行執行四個 8 位或兩個 16 位加法或減法運算。與 M3 內核一樣,浮點單元 (FPU) 是可選的,由 MCU/DSC 制造商決定是否包含。我們將在這里幾乎可以互換使用術語 MCU 和 DSC,因為所有 DSC 都是按定義定義的 MCU,盡管相反的情況肯定不正確。
到目前為止,飛思卡爾、NXP 和 ST 在Kinetis市場上都有基于 Cortex-M4 的產品,LPC4300和STM32 F4系列。由于所有 CPU 內核都是相同的,因此只有時鐘速度會區分內核性能。但是請記住,MCU,或者在這種情況下是 DSC,實際上是一個集成了外圍設備的片上系統,在大多數情況下,還有內存。每個制造商如何圍繞 CPU 集成功能肯定會影響系統級性能并將特定產品用于特定應用程序。
Cortex-M4 目標應用
通常,所有制造商都將面向計算性能的應用程序確定為其 DSC 的目標。示例包括高端音頻和電機控制應用。雖然基于 M3 的 MCU 可以使用軟件庫處理一些 DSP 應用,但 M4 DSC 包含加速這些功能所需的硬件。
飛思卡爾率先推出基于 M4 的 DSC,其策略有點獨特。該公司沒有提供基于 M3 的 MCU,而是選擇直接遷移到 M4。其他公司將 M3 用作低于 M4 的低性能平臺。飛思卡爾選擇專注于 M4 并追求規模經濟戰略,制造更少的 MCU 架構。飛思卡爾工業微控制器部門營銷總監 Jeff Bock 說:“沒有 FPU 的 M4 與 M3 之間的成本差異很小。因此,您可以在整個產品組合中獲得 DSP 指令?!?Bock 正在解決制造成本問題,最終支持單一架構的物流優勢增加了成本節約。
飛思卡爾能夠推行其戰略的一個原因是,Kinetis 盡早轉向 90 納米制造。其他公司也在使用 90 nm 工藝,并且清楚地看到了多種架構的好處。
ARM CPU 演進
ST 在推出 STM32 F4 產品線(入門/開發套件)時采用了最傳統的 ARM 內核演進方法。此外,該公司可能在STM32 F4、F2、F1和L1中擁有最廣泛的基于 ARM 的產品組合系列。該公司將基于 Cortex-M3 的 L1 系列稱為超低功耗系列,時鐘頻率最高可達 32 MHz。F1 主流系列包括基于 Cortex-M0 和 -M3 內核的 MCU。Hi-Performance F2 系列基于 M3,目前最高頻率為 128 MHz,而 F4 Hi-Performance & DSP 系列目前最高頻率為 168 MHz。
整個 ST Cortex 產品組合包括 250 多種型號,采用各種封裝,管腳數從 36 到 176 不等。但是,產品組合上下都有管腳和軟件兼容性。例如,在兼容的 64 引腳封裝中,您可以從 4 個 STM32 系列的產品中進行選擇,這些產品具有 16 KB 到 1 MB 的集成閃存。這為設計團隊提供了廣泛的靈活性,可以使用單個 PCB 設計開發具有可擴展功能集的產品系列。
與此同時,恩智浦在其首款基于 M4 的產品中引入了一個有趣的問題,同時仍將支持 DSP 的架構作為其基于 M3 產品的引腳兼容升級。目前,LPC4300 系列的所有成員都集成了 M4 內核和 M0 內核(圖 1)。NXP 微控制器產品營銷經理 Gordon Cooper 指出,“我們首先做了困難的事情”,指的是在單個芯片上集成雙核。恩智浦報告稱,它將提供基于 M4 的 DSC,而不再提供 M0。
??
圖 1:NXP Semiconductors LPC4300 DSC 系列集成了支持 ARM Cortex-M4 DSP 的內核和可管理數據移動的 Cortex-M0 內核。
雖然設計團隊可以將兩個內核都用于計算任務,但恩智浦設想了一種使用模型,其中 M0 內核更像是典型 MCU 上的外圍設備。例如,M0 內核可以實現完整的 USB 或以太網接口,從 M4 卸載所有處理要求。芯片首先啟動 M4 內核,然后 M4 依次啟動 M0 內核。
Cooper 補充說,NXP 假設 M4 將成為典型應用中的主機,但早期客戶正在使用該配置以及 M0 在啟動后充當主機角色的設計。例如,某些應用程序僅偶爾需要 DSP 或其他面向性能的計算能力。設計可以在不需要其功能時定期禁用 M4 內核并實現更低的系統功耗。
內存架構
談到其他差異化領域,記憶是一個重要的領域。例如,意法半導體就強調了其自適應實時 (ART) 內存加速器的重要性(圖 2)。ST 開發的架構通過最小化等待狀態來最大化性能,即使 CPU 時鐘速度大大超過了通常用于 MCU 中代碼存儲的集成閃存的讀取周期時間。
??
圖 2:STMicroelectronics 開發了自適應實時內存加速器(ART 加速器),通過緩存定期訪問的分支目標的內容來緩解閃存的性能限制。
ST 產品營銷經理 Stuart McLaren 指出,Flash 以 128 位寬的塊進行組織。由于 32 位 M4 還支持 Thumb 和 Thumb-2 16 位指令集,因此內存中通?;旌鲜褂?32 位和 16 位指令。McLaren 指出,一次內存讀取會提供四到八條指令,因此當處理器順序執行指令時,它不會等待狀態。
當處理器在代碼中進行分支或由中斷指示的分支時,會出現問題,處理器將導致等待狀態以從 Flash 加載新指令行。ART 包括 64 個 128 位的分支緩存來處理大多數此類事件。這個概念與微處理器如何使用高速緩存相反。高端微處理器大部分時間從緩存執行以避免等待狀態。ART 僅使用緩存來減輕對分支的懲罰。
ST 已發布的基準測試表明,在當前最大 168 MHz 時鐘速率及更高的時鐘頻率下,基本上零等待狀態的性能。McLaren 說:“我們相信 ART 加速器是高效的,并且基準數據支持這一點?!?/p>
ART 加速器部署在 F2 和 F4 ST MCU 產品線上。目前,可用的 F4 處理器包括STM32F405和STM32F407產品。這些功能包括支持高速 (280 Mbps) 和 On-The-Go (OTG) 操作的雙 USB 端口。DSC 包括三個 A/D 轉換器 (ADC) 和雙 D/A 轉換器 (DAC)。STM32F407 增加了以太網支持、攝像頭接口和其他功能。
目前,恩智浦不提供任何基于 M4 的集成閃存的 DSC。當前的LPC4330和LPC4350都不是MCU 或即將推出的部件包括 Flash。相反,恩智浦集成了它所謂的四線 SPI 閃存接口(SPIFI - 發音為 spiffy),它為外部 SPI 串行閃存提供了一個四線接口。
據 NXP 的 Cooper 稱,外部存儲器允許設計團隊選擇應用所需的確切內存量,從而優化成本。他指出,M4 的許多富媒體應用將需要更多的內存,這些內存在任何情況下都可以集成在芯片上。Cooper 補充說,根據代碼的不同,外部存儲器架構可以提供 60% 的零等待狀態性能。
盡管如此,恩智浦最終還是會推出集成閃存的型號。Cooper 指出,其基于 M3 的閃存產品使用 256 位接口來最大限度地減少等待狀態。最終,設計團隊必須在成本、功耗、占位面積和其他特性方面平衡選擇帶閃存的 MCU 和帶外部閃存的設計。
同步數據傳輸
飛思卡爾確實在其當前可用的 Kinetis K10、Kinetis K20、Kinetis K30、Kinetis K40 和 Kinetis K60 MCU 以及即將發布的 K50 和 K70 DSC 上集成了 Flash。Bock 表示,飛思卡爾使用推測性獲取等技術來優化性能。他還說,“更重要的是一次做不止一件事的能力”,這意味著能夠同時在外圍設備、內存和內核之間移動數據。
飛思卡爾在其 Kinetis 系列中集成了 3 x 3 或 4 x 4 交叉開關。例如,該矩陣將允許內核在數據移入和移出芯片以及外設和片上存儲器之間同時獲取指令。
ST 和 NXP 吹捧類似的功能。例如,基于 ST M4 的 MCU 采用 ARM AMBA(高級微控制器總線架構)高性能總線 (AHB),旨在鏈接外設和片上存儲器。圖 3 描繪了 ST 所稱的多 AHB 總線矩陣,該矩陣本質上是一種交換結構,具有 CPU、DMA 控制器、以太網和 USB,都具有總線主控功能。圖中不同顏色的數據流都可以并行發生。所描繪的示例包括 CPU 獲取指令和數據以及解碼存儲在 RAM 中的音頻數據。DMA 控制器同時輸出解碼的音頻和圖形圖像。
??
圖 3:基于 STMicroelectronics Cortex-M4 的 MCU 上使用的 Multi-AHB 總線矩陣允許在 CPU 內核、內存塊和外設之間同時移動數據。
NXP 的LPC4300 系列必須增加對第二個 CPU 內核以及外圍設備和外部存儲器的通信支持。該設計依賴于分段內存,允許兩個內核私有訪問資源以及專用的處理器間通信塊。
利用雙核
顯然,DSC 制造商正試圖平衡處理器性能、內存訪問速度和數據移動。NXP 使用額外的內核來分散處理負載,進一步提高同時操作的能力。Cooper 使用一個音頻示例來說明這些功能(圖 4)。
??
圖 4:在基于 NXP Semiconductors LPC4300 系列 MCU 的音頻應用中,Cortex-M4 內核處理音頻處理,而 Cortex-M0 內核運行 USB 堆棧讀取數據流并通過串行接口輸出處理后的數據。
DSC 中的 M4 內核當然可以處理運行 USB 堆棧和音頻處理的任務。然而,Cooper 表示,USB 處理會影響 M4 的音頻帶寬。他說典型的 M4 CPU 可以處理高質量的 2 聲道音頻,但通過將 USB 處理轉移到 M0 內核,Cooper 說 LPC4300 DSC 可以處理 7.1 聲道音頻。Cooper 說:“M0 完全有能力完成任何數據處理任務。” 除 USB 外,典型用途還包括可編程 I2C 和 I2S 外設。實際上,音頻示例使用 I2S 功能來輸出處理后的流。
外設目標應用程序
DSC 難題的最后一塊是外圍組合。對于 NXP,M0 內核就是其中的一部分。此外,M0 內核可以與串行通用 IO (SGPIO) 模塊一起使用,以創建前面提到的接口,并利用集成移位寄存器生成復雜的數據模式,而對內核 CPU 周期的影響很小。
NXP 還在其LPC4330和LPC4350 DSC 上集成了 USB 物理接口 (PHY),而許多 MCU 和 DSC USB 實施需要外部 PHY。上述兩種 IC 還包括以太網支持,后者增加了 LCD 控制器。
飛思卡爾認為,在 Kinetis 系列中實施的模擬外設集使其產品與眾不同。例如,該系列包括 16 位 ADC,而其他供應商最多提供 10 位或 12 位 ADC。飛思卡爾還提供 12 位 DAC、可編程增益放大器 (PGA),并支持觸摸感應應用。
另一個主要差異領域是集成 FPU 的選擇。ST 和 NXP 的基于 M3 的產品在某些情況下省略了 FPU,目前在所有基于 M4 的產品上都包含 FPU。這些公司假設客戶會為以數學為中心的應用選擇 M4 內核,因此會想要 FPU。
飛思卡爾在產品線的上下游提供帶和不帶 FPU 的 Kinetis DSC 版本。飛思卡爾的 Bock 表示,與 DSP 功能不同,即使在 90 nm 工藝中,FPU 在硅面積、成本或功耗方面也不是微不足道的。
飛思卡爾還提供低泄漏喚醒單元,可擴展 M4 內核固有的操作模式。FPU 的省略和低功耗模式共同導致 DSC 在以 32 kHz 運行時可以使用紐扣電池運行,電流消耗低于 100 nA。
安全性和可靠性
外圍設備組合也可以在系統安全性和可靠性方面發揮作用。例如,Kinetis K60 系列具有飛思卡爾的 DryIce 功能,可監控電壓、溫度和其他可能對可靠運行有害的條件。高端處理器還包括篡改檢測功能、隨機數生成器和用于安全數據傳輸和存儲的硬件加密處理器(圖 5)。
??
圖 5:飛思卡爾 Kinetis K60 MCU 系列包括一個安全和完整性功能塊(左下),可以實現防篡改系統設計以及可靠的數據通信和存儲。
ST 還宣布了即將推出的兩款新 ST32F4 系列 DSC 的安全功能。這些功能將包括一個加密/哈希處理器和一個隨機數生成器。
總結
不斷增長的基于 ARM-Cortex 的 MCU 使該技術成為嵌入式設計團隊的有吸引力的選擇。您可以從 IC 供應商和第三方處為軟件兼容內核提供多種開發工具。此外,在每個半導體供應商中,這些系列通常包括兼容的外圍設備,使 MCU 軟件在系統級別兼容。
在談到 ARM 趨勢時,飛思卡爾的 Bock 說:“很難否認 ARM 在行業中的市場吸引力。”
設計團隊現在在支持 DSP 的 Cortex-M4 產品中擁有廣泛的選擇,以配合早期基于 ARM 的產品。正如我們在這里所討論的,外設和內存選擇的組合可以支持大多數應用程序。此外,設計團隊可以開發具有引腳和軟件兼容性的可擴展產品
評論
查看更多