明確并滿足不同的需求
互連產(chǎn)品發(fā)展迅速:最初的系統(tǒng)相對(duì)簡(jiǎn)單,最具挑戰(zhàn)性的設(shè)計(jì)需求通常也只涉及通信的某些方面;而如今,設(shè)計(jì)人員的處境卻更為艱難:各個(gè)應(yīng)用領(lǐng)域中,需求組合不斷擴(kuò)展,卻幾乎不容妥協(xié)任何方面。每種應(yīng)用都要求開發(fā)人員根據(jù)需要轉(zhuǎn)移重點(diǎn),以應(yīng)對(duì)該應(yīng)用獨(dú)有的挑戰(zhàn)。不過,對(duì)更高性能和更低功耗的需求卻是大多數(shù)主流應(yīng)用領(lǐng)域的共同主題。
例如,智能工廠不僅依賴于低延時(shí)、高性能器件(用于信號(hào)處理),而且要求降低功耗,以便工廠工程師能在狹小空間中容納更多器件。消費(fèi)類可穿戴設(shè)備不僅需要低功耗設(shè)計(jì)以延長(zhǎng)電池續(xù)航時(shí)間,而且面臨著不斷增長(zhǎng)的信號(hào)處理需求,以便能夠處理更復(fù)雜的工作負(fù)載。在各個(gè)應(yīng)用領(lǐng)域中,設(shè)計(jì)人員承受的壓力越來(lái)越大,需要更有效地響應(yīng)關(guān)于器件、網(wǎng)絡(luò)和企業(yè)資產(chǎn)的漏洞的實(shí)際擔(dān)憂,使其免遭來(lái)自個(gè)別網(wǎng)絡(luò)竊賊、犯罪組織甚至國(guó)家贊助團(tuán)體的直接攻擊或高級(jí)持續(xù)性威脅。
為了滿足這些不同的需求,開發(fā)人員通常需要作出抉擇,在設(shè)計(jì)的某一方面作出妥協(xié)。他們可能會(huì)選擇犧牲應(yīng)用性能以降低功耗,使用較低性能的處理器、降低時(shí)鐘速率,或者降低處理器的占空比來(lái)支持低功耗狀態(tài)。然而,為了滿足嚴(yán)格的性能要求,他們就可能會(huì)采取相反的做法,使用更強(qiáng)大的處理器、更快的時(shí)鐘速率和更高的占空比,但代價(jià)則是功耗劇增。對(duì)于計(jì)算復(fù)雜度較高的應(yīng)用,他們可能會(huì)添加專用數(shù)字信號(hào)處理器 (DSP) 來(lái)加速算法執(zhí)行,但設(shè)計(jì)復(fù)雜性、成本和系統(tǒng)功耗也會(huì)相應(yīng)增加。即使功耗與性能達(dá)到了可接受的平衡,他們往往也需要接受設(shè)計(jì)成本和復(fù)雜性的增加以滿足安全要求。
盡管設(shè)計(jì)人員為滿足不同需求而心力交瘁,但對(duì)于醫(yī)療設(shè)備、工業(yè)自動(dòng)化系統(tǒng)、零售支付設(shè)備等關(guān)鍵應(yīng)用,用戶可接受的妥協(xié)空間越來(lái)越小,甚至拒不接受。NXP Semiconductors 的 LPC55S6x 微控制器系列器件架構(gòu),既有通用處理器的靈活性,又有新興應(yīng)用所需的專門處理能力和安全性,從而免除設(shè)計(jì)人員的妥協(xié)之困。
功能豐富,兼有專用處理內(nèi)核
NXP Semiconductors 的單核LPC55S66和雙核LPC55S69微控制器是市面上首款基于Arm?Cortex?-M33 的通用 MCU,具有 Arm M 系列架構(gòu)典型的低延時(shí)、確定性性能。NXP 的 LPC55S6x 器件在架構(gòu)上加設(shè)了諸多增強(qiáng)功能,包括該公司的高性能 PowerQuad DSP 加速器、CASPER(Cryptographic Accelerator and Signaling Processing Engine with RAM,帶 RAM 的加密加速器及信號(hào)處理引擎)加密引擎以及全面安全子系統(tǒng)。除了高達(dá) 640 KB 的閃存、320 KB 的 SRAM 和 128 KB 的 ROM 外,LPC55S6x 器件還集成了大量功能元件,而這些元件通常需要用于所有深度嵌入式系統(tǒng)設(shè)計(jì)(圖 1)。
圖 1:LPC55S6x 微控制器架構(gòu)在 Arm Cortex-M33 內(nèi)核的通用處理能力基礎(chǔ)上,擴(kuò)展了專門硬件模塊用于執(zhí)行信號(hào)處理、加密、安全存儲(chǔ)和密鑰管理,同時(shí)還提供典型嵌入式設(shè)計(jì)所需的全套外設(shè)。(圖片來(lái)源:NXP Semiconductors)
在這些功能元件中,LPC55S6x 器件配備了功能全面的定時(shí)器子系統(tǒng)、多個(gè)串行接口、安全的直接存儲(chǔ)器訪問 (DMA) 控制器和多達(dá) 64 個(gè)通用 I/O (GPIO) 引腳。除了這些數(shù)字子系統(tǒng),LPC55S6x 器件還集成了 16 位多通道逐次逼近寄存器 (SAR) 模數(shù)轉(zhuǎn)換器 (ADC)、模擬比較器和溫度傳感器。此外,片上可編程邏輯單元 (PLU) 允許開發(fā)人員配置 26 個(gè)五輸入查找表 (LUT) 結(jié)構(gòu),構(gòu)建狀態(tài)機(jī)等自定義組合邏輯或時(shí)序邏輯。開發(fā)人員可以訪問 PLU 寄存器,直接對(duì) PLU 編程以實(shí)現(xiàn)小型邏輯電路,或使用 NXP 工具實(shí)現(xiàn)使用 Verilog 寄存器傳輸語(yǔ)言 (RTL) 描述的較大型邏輯電路。
為了避免訪問多個(gè)子系統(tǒng)時(shí)出現(xiàn)瓶頸問題,LPC55S6x 器件采用多層總線矩陣,以 Arm 高級(jí)微控制器總線架構(gòu) (AMBA) 的高級(jí)高性能總線 (AHB) 架構(gòu)構(gòu)建。AHB 總線矩陣提供總線主控器與外設(shè)或存儲(chǔ)器之間的直接連接。例如,這種方法允許 DMA 傳輸以全速運(yùn)行,而不會(huì)影響處理器對(duì)存儲(chǔ)器的訪問性能。事實(shí)上,在眾多設(shè)計(jì)需求中,使處理器效率最大化的能力是 LPC55S6x 架構(gòu)的基礎(chǔ)。
在 LPC55S6x 架構(gòu)中,Cortex-M33 內(nèi)核提供多種功能來(lái)幫助設(shè)計(jì)人員更輕松地應(yīng)對(duì)不同的設(shè)計(jì)要求。與其他同類器件一樣,LPC55S6x 處理器支持多種低功耗模式。如果器件長(zhǎng)時(shí)間處于非活動(dòng)狀態(tài),開發(fā)人員可以將器件置于省電模式,可以完全保留 SRAM 的內(nèi)容,但是功耗僅為 15.4 μA;或?qū)⑵骷糜谏疃仁‰娔J剑^續(xù)為 4 KB 的 SRAM 部分供電,而功耗只有大約 0.59 μA。休眠模式和深度休眠模式下,處理器關(guān)閉,但會(huì)為外設(shè)和存儲(chǔ)器提供不同程度的操作:休眠模式下可進(jìn)行全面操作,功耗約為 2.7 mA,而深度休眠模式會(huì)對(duì)外設(shè)使用時(shí)鐘門控,從而將功耗降至約 110 μA。
增強(qiáng)功能
除了低功耗模式外,LPC55S6x 架構(gòu)還通過集成功能擴(kuò)展對(duì)不同設(shè)計(jì)需求的支持,從而提高性能和安全性。Cortex-M33 主內(nèi)核內(nèi)置的集成功能包括 Arm TrustZone 安全擴(kuò)展 (SECEXT)、存儲(chǔ)器保護(hù)單元 (MPU)、IEEE 754 標(biāo)準(zhǔn)浮點(diǎn)運(yùn)算單元 (FPU) 和嵌入式跟蹤宏單元 (ETM)。此外,主內(nèi)核還包含 CASPER 加密引擎和 PowerQuad 加速器,支持 DSP 和單指令多數(shù)據(jù) (SIMD) 操作。
請(qǐng)注意:雙核 LPC55S69 微控制器的另一個(gè) Cortex-M33 內(nèi)核不包含這些附加功能。
對(duì)于這些集成子系統(tǒng)和架構(gòu)特性,每個(gè)特性都能提供豐富的功能,相關(guān)詳細(xì)說(shuō)明遠(yuǎn)遠(yuǎn)超出了本文的涵蓋范疇。例如,PowerQuad DSP 加速器本身就是精密協(xié)處理器,能夠獨(dú)立完成信號(hào)處理功能,同時(shí)又可作為總線主控器訪問存儲(chǔ)器。
在內(nèi)部,PowerQuad 加速器將多個(gè)寄存器和接口與一組硬件引擎相結(jié)合,用于執(zhí)行關(guān)鍵信號(hào)處理功能,包括快速傅里葉變換 (FFT)、離散余弦變換 (DCT)、無(wú)限脈沖響應(yīng) (IIR)、有限脈沖響應(yīng) (FIR) 以及用于高效計(jì)算三角函數(shù)的坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算機(jī) (CORDIC) 算法(圖 2)。
圖 2:NXP Semiconductors 的 LPC55S6x 微控制器系列集成了該公司的 PowerQuad 協(xié)處理器,后者使用專門引擎來(lái)加速信號(hào)處理應(yīng)用常用算法的執(zhí)行。(圖片來(lái)源:NXP Semiconductors)
借助 PowerQuad 加速器,開發(fā)人員可以執(zhí)行復(fù)雜的信號(hào)處理運(yùn)算,而不會(huì)影響主機(jī)處理器響應(yīng)實(shí)時(shí)事件或完成一系列擴(kuò)展操作。主機(jī)處理器只需使用所需的信號(hào)處理函數(shù)設(shè)置 PowerQuad 寄存器,并指定來(lái)源、目標(biāo)和工作存儲(chǔ)區(qū)的存儲(chǔ)器地址。一旦調(diào)用,PowerQuad 加速器就會(huì)作為真正的協(xié)處理器運(yùn)行,作為總線主控器使用 AHB 矩陣來(lái)執(zhí)行 128 位存儲(chǔ)器傳輸。與此同時(shí),主機(jī)處理器可以立即返回執(zhí)行主處理任務(wù),只需定期輪詢 PowerQuad 忙位,或簡(jiǎn)單響應(yīng) PowerQuad 發(fā)送的完成中斷以訪問結(jié)果。
不過,對(duì)于開發(fā)人員而言,PowerQuad 操作大多是透明的。開發(fā)人員可使用標(biāo)準(zhǔn)應(yīng)用程序編程接口 (API) 來(lái)調(diào)用 Arm Cortex 微控制器軟件接口標(biāo)準(zhǔn) (CMSIS) 的 DSP 庫(kù)。NXP Semiconductors 的 MCUXpresso 軟件開發(fā)套件 (SDK) 包含支持 PowerQuad 的 NXP 版 DSP 庫(kù)。該庫(kù)通過調(diào)用 PowerQuad API 替代軟件實(shí)現(xiàn)的低級(jí)數(shù)學(xué)函數(shù)。
例如,若需計(jì)算復(fù)數(shù) FFT,開發(fā)人員使用標(biāo)準(zhǔn) CMSIS-DSP 函數(shù)arm_cfft_q31()
,數(shù)據(jù)設(shè)為 Q 格式,即 32 位定點(diǎn)數(shù)用 1 個(gè)符號(hào)位和 31 個(gè)指數(shù)位來(lái)表示。在純軟件實(shí)現(xiàn)中,調(diào)用arm_cfft_q31()
函數(shù)會(huì)相應(yīng)地調(diào)用 CMSIS DSP FFT 蝶形運(yùn)算函數(shù)arm_radix4_butterfly_q31()
和結(jié)束函數(shù)arm_cfft_radix4by2_q31()
;計(jì)算復(fù)數(shù)逆 FFT 時(shí)則會(huì)調(diào)用相應(yīng)的反函數(shù)。
但是,若使用 NXP 的 DSP 庫(kù)和 PowerQuad,正常調(diào)用arm_cfft_q31()
卻會(huì)調(diào)用PQ_TransformCFFT()
,并在硬件中處理相同的計(jì)算。最終,不僅減輕了 Cortex-M33 內(nèi)核的處理負(fù)荷,而且加速了 DSP 函數(shù)的執(zhí)行(圖 3)。
圖 3:MCUXpresso 軟件開發(fā)套件可顯著加速常用 DSP 算法的執(zhí)行,同時(shí)通過直接調(diào)用 PowerQuad 加速器來(lái)替代低級(jí) CMSIS-DSP 函數(shù),從而保持與標(biāo)準(zhǔn) Arm CMSIS DSP 庫(kù)高級(jí)調(diào)用的兼容性。(圖片來(lái)源:NXP Semiconductors)
CASPER 加密引擎作為另一個(gè)協(xié)處理器,同樣能減輕主處理器的負(fù)擔(dān),使其免于處理與非對(duì)稱加密算法相關(guān)的繁重計(jì)算負(fù)荷。CASPER 加密引擎執(zhí)行 Rivest-Shamir-Adleman (RSA) 算法、Diffie-Hellman 算法、橢圓曲線加密法 (ECC) 和橢圓曲線數(shù)字簽名算法 (ECDSA) 的速度是 Cortex-M33 內(nèi)核運(yùn)行同類加密軟件的八倍。
為了加速對(duì)稱算法的執(zhí)行,LPC55S6x 還集成了硬件模塊以支持高級(jí)加密標(biāo)準(zhǔn) 256 位加密 (AES-256) 和安全散列算法 2 (SHA-2)。
這些硬件模塊與 CASPER 引擎的組合為開發(fā)人員提供基于硬件的支持,有利于實(shí)現(xiàn)身份驗(yàn)證和數(shù)據(jù)加密常用的加密算法,滿足互連產(chǎn)品保護(hù)數(shù)據(jù)交換的需求。
正如本系列文章第 2 部分所討論,LPC55S6x 系列對(duì)安全性的支持遠(yuǎn)遠(yuǎn)超出了基本加密算法;該系列提供基于硬件的安全功能,可滿足全生命周期安全性的需求。
系統(tǒng)開發(fā)
借助 NXP 的LPC55S69 EVK,開發(fā)人員可以快速探索 LPC55S6x 微控制器的加密引擎、DSP 和通用處理能力。LPC55S69 EVK 旨在加速這些器件應(yīng)用的開發(fā)工作,該電路板具有雙核 LPC55S69 微控制器、NXP 的MMA8652FCR1加速計(jì)、LED、按鈕、調(diào)試接口,并支持ArduinoUNO、MikroElektronicaClick 和DigilentPMod 附加硬件等多種擴(kuò)展選項(xiàng)。
該電路板具有多個(gè)跳線和針座,可讓開發(fā)人員輕松設(shè)置不同的硬件配置并仔細(xì)檢測(cè)性能細(xì)節(jié)(圖 4)。例如,關(guān)注功耗的開發(fā)人員只需使用電壓表測(cè)量 P12 針座處的電壓降,便可測(cè)量 LPC55S69 的供電電流。
圖 4:NXP Semiconductors 的 LPC55S69 EVK 圍繞該公司的雙核 LPC55S69 微控制器構(gòu)建,提供多個(gè)跳線和針座,使開發(fā)人員可以輕松配置并檢測(cè)微控制器的電流消耗等性能細(xì)節(jié)。(圖片來(lái)源:NXP Semiconductors)
開發(fā)應(yīng)用時(shí),設(shè)計(jì)人員可將該電路板與 MCUXpresso 集成開發(fā)環(huán)境 (IDE) 和 SDK 配合使用,該套件使用 PowerQuad 功能(如前所述)等 LPC55S6x 專用硬件。此外,IAR和 Keil IDE 也支持 LPC55S69-EVK。NXP 還提供免費(fèi)軟件包,通過樣例代碼演示 LPC55S6x 功能使用的主要軟件設(shè)計(jì)模式。
總結(jié)
在物聯(lián)網(wǎng)、工業(yè)自動(dòng)化、醫(yī)療系統(tǒng)、消費(fèi)類設(shè)備等廣泛的應(yīng)用中,開發(fā)人員希望取得高性能、低功耗與安全性之間的平衡。如上所述,LPC55S6x 系列微控制器兼有功能強(qiáng)大的通用內(nèi)核與專用硬件和處理引擎,讓開發(fā)人員能夠更輕松地滿足高性能專用功能的需求,同時(shí)保持低功耗。
本系列文章第 2 部分介紹如何使用 LPC55S6x 系列來(lái)管理器件的全生命周期安全性。
-
ARM
+關(guān)注
關(guān)注
134文章
9100瀏覽量
367767 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44694瀏覽量
373907
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論