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