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