恩智浦半導(dǎo)體LPC4350是在單芯片上首次實(shí)現(xiàn)32位ARM?Cortex?-M0/M4。 M4可以專注于高速數(shù)據(jù)平面處理,而M0可以處理低速控制任務(wù)。通過適當(dāng)?shù)貏澐謶?yīng)用軟件,設(shè)計人員可以利用芯片的異構(gòu)多核架構(gòu)來創(chuàng)建能夠以節(jié)能方式同時處理多個任務(wù)的應(yīng)用程序。目標(biāo)應(yīng)用包括電機(jī)控制,工業(yè)自動化,白色家電,嵌入式音頻,RFID閱讀器和電源管理。
本文介紹了LPC4350的特性和功能,并包含對LPC4300評估套件的實(shí)際操作,介紹如何編寫,下載和調(diào)試程序。它還突出了該器件獨(dú)特的狀態(tài)可配置定時器(SCT)和串行GPIO(SGPIO)接口。
在ARM中運(yùn)行ARM
雙核LPC4350加入了兩個代碼和工具兼容的ARM處理器,它們共享相同的總線并可以緊密協(xié)作。 32位ARM Cortex-M4包含一個帶有獨(dú)立本地指令和數(shù)據(jù)總線的三級流水線,以及一個用于外設(shè)的第三條總線。它還包括一個支持推測分支的內(nèi)部預(yù)取單元。 M4內(nèi)核支持單周期DSP和SIMD指令,并包含一個集成的硬件浮點(diǎn)處理器。在任何給定的應(yīng)用中,M4核心都可以進(jìn)行高速重載。
另一方面,低功耗Cortex-M0內(nèi)核通常處理非時間關(guān)鍵的監(jiān)督工作;它被設(shè)計為現(xiàn)有8/16位微控制器的低成本32位替代產(chǎn)品。與其兄弟M4一樣,M0處理器提供高達(dá)204 MHz的性能,但具有簡單的指令集和減小的代碼尺寸。
圖1顯示了LPC4350的基本架構(gòu)。 ARM Cortex-M4包括三條AHB-Lite總線,系統(tǒng)總線,I代碼總線和D代碼總線。 I代碼和D代碼核心總線允許來自不同從端口的并發(fā)代碼和數(shù)據(jù)訪問。多層AHB矩陣將ARM Cortex-M4總線和其他總線主控器連接到外設(shè),使得不同總線主控器可以同時訪問矩陣的不同從端口上的外設(shè)。這允許在應(yīng)用程序處理中具有很大的靈活性。
圖1:LPC4350框圖(由恩智浦提供)。
由于大多數(shù)外設(shè)中斷都連接到兩個處理器,因此Cortex-M0內(nèi)核可以平滑地從M4內(nèi)核卸載工作。 GPIO寄存器位于共享AHB總線上,以最大限度地減少延遲。這兩個內(nèi)核通過使用共享SRAM作為郵箱相互通信,一個處理器在另一個處理器的嵌套矢量中斷控制器(NVIC)中引發(fā)中斷,以指示它已發(fā)送消息。另一個處理器返回優(yōu)惠以確認(rèn)收到。
LPC4350的一個獨(dú)特功能是16個串行GPIO,提供標(biāo)準(zhǔn)的GPIO功能,增強(qiáng)了加速串行流處理的功能。每個SGPIO I/O Slice都可以執(zhí)行串行到并行或并行到串行的數(shù)據(jù)轉(zhuǎn)換。此外,這些片是雙緩沖的,包含一個32位FIFO,可以在每個時鐘周期將輸入值從引腳或輸出值移位到引腳。
另一個獨(dú)特的功能是狀態(tài)可配置定時器(SCT),它可以觸發(fā)計數(shù)器或根據(jù)狀態(tài)變量設(shè)置定時器,如限制,暫停或停止條件。 SCT可配置為兩個16位計數(shù)器或一個32位計數(shù)器。您可以使用SCT來更改CPU的時鐘速度,以響應(yīng)核心溫度的變化或在一定數(shù)量的外部事件之后。 (有關(guān)SCT的更多信息,請參閱TechZone文章“控制:恩智浦專利權(quán)SCT如何改進(jìn)電機(jī)控制”。)
SPI閃存接口(SPIFI)讓Cortex-M4能夠以低成本連接,串行閃存與較高引腳數(shù)的并行接口相比,性能損失很小。使用SPIFI,M4內(nèi)核可以通過處理器或DMA通道以高達(dá)40 MB/s的日期速率處理整個閃存范圍。
評估板功能
LPC4300評估板(圖2)圍繞LPC4350FET256,551構(gòu)建,具有65 MB SDRAM,32 MB并行閃存,512 kB SRAM和串行EEPROM。該板包括各種I/O接口,包括CAN,UART,USART,以太網(wǎng),USB(主機(jī),設(shè)備和OTG),HDMI和音頻輸入和輸出。 JTAG還有額外的連接器,外部電源,SIM卡,功率MOSFET和串行端口。如果你想要更多,有擴(kuò)展頭和小面包板區(qū)域的焊接空間,更不用說無數(shù)的跳線,讓你可以控制電路板的眾多配置。
圖2:LPC4300評估板(由恩智浦提供)。
板上附帶的軟件分發(fā)包含許多在LPC4350開發(fā)系統(tǒng)上運(yùn)行的示例。此外,它還包含一個ARM CMSIS DSP軟件庫,可讓您運(yùn)用Cortex-M4的浮點(diǎn)DSP功能。
電路板上的一個接頭與運(yùn)行KielμVISION4IDE的Keil ULINK2調(diào)試器接口,并且板上附帶了限制版本的ARM Keil MDK工具包。我用它來編譯,下載和運(yùn)行50多個示例程序。
開始使用這種復(fù)雜性的套件并不簡單,但它很簡單。首先,下載并解壓縮示例文件和閃存驅(qū)動程序,然后將它們移動到適當(dāng)?shù)哪夸浿小H绻褂玫氖荎eil MDK,則驅(qū)動程序庫二進(jìn)制文件具有多種內(nèi)置配置,包括構(gòu)建內(nèi)部SRAM(最快),SPIFI和Hitex Flash(Hitex板上的外部并行閃存)。按照“入門指南”中的說明設(shè)置跳線,連接ULINK2調(diào)試器,使用USB電纜連接到PC,即可開始使用。
有史以來設(shè)計的每個評估套件似乎都包含一個“眨眼”程序,這一個也不例外。實(shí)際上它有兩個,一個在RTOS下運(yùn)行而另一個沒有。更有趣的是雙核MBX(郵箱)示例,它展示了如何獨(dú)立控制Cortex-M4和M0內(nèi)核。
在本例中,Cortex-M4是主設(shè)備,Cortex-M0是從設(shè)備,每個核心運(yùn)行一個單獨(dú)的μVision實(shí)例。首先,我雙擊項目文件(M_Mo_ipc.uvmpw),它啟動了μVision。我選擇M0作為活動項目(圖3),LPC43xx_M0_FLASH作為目標(biāo),并重建項目。然后我為M4做了同樣的事情。
圖3:構(gòu)建M4和M0項目。
配置ULINK2和flash編程實(shí)用程序后,我能夠下載并運(yùn)行該程序。基本上這是另一個“眨眼”程序,雖然是一個復(fù)雜的程序,M4控制一個LED而M0控制另一個。我能夠逐步完成代碼,設(shè)置和刪除斷點(diǎn),并研究兩個核心之間的交互。該練習(xí)提供了豐富的信息,代碼是更復(fù)雜程序的有用框架,其中任何一個程序都將受益于其他一些示例程序,特別是外圍驅(qū)動程序。
-
電源
+關(guān)注
關(guān)注
185文章
18168瀏覽量
254221 -
處理器
+關(guān)注
關(guān)注
68文章
19723瀏覽量
232750 -
ARM
+關(guān)注
關(guān)注
134文章
9265瀏覽量
373311 -
恩智浦
+關(guān)注
關(guān)注
14文章
5927瀏覽量
111509
發(fā)布評論請先 登錄
相關(guān)推薦
非對稱雙核MCU基礎(chǔ)知識及核間通信
BMA423是什么?有哪些特性?LPC54102有何功能?
LPC4370/LPC4350/LPC4330/LPC4320/LPC4310勘誤表資料分享
LPC4300系列ARM雙核微控制器產(chǎn)品數(shù)據(jù)手冊
應(yīng)用非對稱雙核MCU增強(qiáng)系統(tǒng)性能

Divide and Conquer Works for Dual-Core MCUs, Too

LPC4350應(yīng)用指南

adf4350編程使用總結(jié)(adf4350引腳功能及應(yīng)用電路)

什么是非對稱雙核MCU?

EVAL-ADA4350 EVAL-ADA4350評估板
基于LPC4350-DB1-C微控制器的參考設(shè)計

評論