LPC800系列總覽
前面一章已經(jīng)簡要地介紹了LPC800的基本特性和系列中各產(chǎn)品之間的對比。本章將通過框圖的形式,給出更詳細的配置信息,并引導(dǎo)讀者從框圖中捕捉到有用的信息。
下面先展示一下LPC81x/82x的框圖,然后再進行一些解讀。
圖1.LPC81x系統(tǒng)框圖
圖2.LPC82x系統(tǒng)框圖
從上面兩個框圖中,可以得到以下一些基本信息:
LPC81x與LPC82x在系統(tǒng)架構(gòu)上是一樣的。兩者都是使用Cortex-M0+CPU核心,CPU通過AHB輕總線連接片內(nèi)存儲器(包括Flash、SRAM和ROM),同時經(jīng)AHB至APB的橋接連接訪問各種片上外部設(shè)備。
GPIO模塊與CPU有直接通道,CPU對它的訪問不需經(jīng)過AHB或APB總線。這是Cortex-M0+核心的主要特色之一,可以實現(xiàn)快速的GPIO訪問。由于此直接通道,GPIO的最快輸入輸出速度可以達到CPU時鐘速度的1/2,相對于Cortex-M3/M4產(chǎn)品,由于需要通過普通的系統(tǒng)總線,GPIO只能達到CPU時鐘速度的1/4,有本質(zhì)的區(qū)別。
框圖里可以清晰準(zhǔn)確地看出,每個系列的外設(shè)配置情況,包括外設(shè)的種類、數(shù)量、輸入輸出信號以及信號方向等。這里舉幾個例子,更詳細地看看:
a.LPC81x和LPC82x都具有3個USART模塊,每個USART模塊都有5個輸入輸出信號。
b.LPC82x具有4個I2C模塊,但LPC81x只有1個I2C模塊。
c.LPC82x具有ADC功能,但LPC81x沒有。ADC模塊最多有12個輸入端。
d.兩個系列都有SCT定時器,但LPC82x的SCT定時器輸入端具有一個“輸入選擇器”,而LPC81x的輸入端是與外界(通過開關(guān)矩陣)直接相連。
我們知道CPU訪問AHB上的設(shè)備的速度要快于訪問APB上的設(shè)備,優(yōu)先級也較高。從框圖中可以看到所有的外設(shè),包括系統(tǒng)配置(SYSCON)和輸入輸出配置(IOCON)寄存器組,都是連接到APB總線,而SCT定時器卻是連接到AHB總線上,這樣的安排是為了保證可以更快地操控SCT。
LPC82x具有DMA控制器,它連接到AHB總線上。LPC81x不具備DMA控制器。框圖中灰色框所標(biāo)示的設(shè)備,能夠觸發(fā)或請求DMA傳輸。
所有功能模塊的對外連接,都是通過“開關(guān)矩陣”實現(xiàn)的。
兩個系列分別有18或29個連接到開關(guān)矩陣的輸入輸出引腳,同時具有18或29個GPIO輸入輸出信號線。后面的開關(guān)矩陣(SWM)章節(jié)會詳細介紹,GPIO模塊的輸入輸出信號是如何通過開關(guān)矩陣連接到外部引腳的。
在芯片中,每一個功能模塊都相對獨立,它們通過一些功能信號與其它模塊連接互動;這些功能信號除了供電、時鐘、中斷是每個模塊都需要的以外,就是連接到AHB或APB總線上的總線信號(包括地址、數(shù)據(jù)和控制信號等),CPU通過總線信號訪問功能模塊的寄存器組,實現(xiàn)配置和控制以及數(shù)據(jù)交換。在框圖中,每個功能模塊靠近總線一側(cè)的雙箭頭標(biāo)志,就是該模塊的總線信號。
對于具有需要連接到外部引腳的信號,框圖中用單線箭頭標(biāo)示出該信號的方向,并標(biāo)注了信號名稱。對于沒有連接到外部引腳的模塊,框圖中只畫出了它們的總線信號。例如加窗看門狗定時器、多速率定時器、CRC計算器、DMA控制器等模塊。
要特別提一下的是IOCON(輸入輸出配置)這個模塊,框圖中畫出了它與APB總線連接的這一端,這表示CPU通過APB總線訪問IOCON的寄存器組,圖中沒有畫出的是IOCON所控制的每一個IO引腳的部分,這部分內(nèi)容會在IOCON的相關(guān)章節(jié)中展示。
LPC83x的框圖與LPC82x的框圖非常相像,如果仔細比較就會發(fā)現(xiàn)以下一些差別,這些差別也反映在了上一章的對照表中:
圖3.LPC83x存儲器地址空間分配圖(片段)
圖4.LPC83x系統(tǒng)框圖
當(dāng)然,細心的讀者也注意到了,LPC83x的適用工作溫度范圍是-40°C ~ +85°C,LPC81x/LPC82x和LPC84x的適用工作溫度范圍擴大到-40°C ~ +105°C。
LPC84x相較前面幾個系列做了很大的擴充,整體的結(jié)構(gòu)沒有變,存儲器變大了,增加了一些新的外設(shè),引腳數(shù)目也增加了很多,使得她的應(yīng)用范圍更廣,功能更靈活。
LPC84x的數(shù)據(jù)手冊和用戶手冊中,在框圖的畫法上換了一種風(fēng)格,這樣畫更強調(diào)功能性以及模塊的配置。同時在這個框圖中,可以比前面幾個系列的框圖更直觀地看到AHB總線矩陣的連接方式,讀者可以更清晰地了解系統(tǒng)運行時的性能。
圖5.LPC84x系統(tǒng)框圖(功能配置)
上圖中的綠色虛線框部分就是AHB矩陣,框中的豎線是兩個總線主設(shè)備,橫線是總線的從設(shè)備。主從設(shè)備的區(qū)分在于,主設(shè)備能夠主動發(fā)起數(shù)據(jù)傳輸,并且需要發(fā)出讀寫控制信號和驅(qū)動地址信號線,而從設(shè)備只能被動地接受地址和控制信號,發(fā)送或接收數(shù)據(jù)。
在AHB矩陣中,共有五組從設(shè)備:
默認存儲執(zhí)行指令的Flash閃存和ROM。
第一個8KB的SRAM,此存儲區(qū)的基本功能是存放程序運行時的數(shù)據(jù),也可以用于存儲Cortex-M0+核心執(zhí)行指令的追蹤信息,供調(diào)試程序用。
第二個8KB的SRAM,此存儲區(qū)不能用于存放追蹤信息。
AHB至APB的橋。
SCT定時器、DMA控制器、CRC計算器、MTB控制器和FAIM控制器。
不同的主設(shè)備可以同時訪問不在同一組的從設(shè)備,例如在CPU從Flash取指令并執(zhí)行時,DMA控制器可以同時在SRAM中搬移數(shù)據(jù);或者在CPU從第一個SRAM區(qū)存取數(shù)據(jù)的同時,DMA控制器在另一個SRAM區(qū)存取數(shù)據(jù)。
處在同一組的從設(shè)備,只能按順序分別被訪問。
讀者了解了這些內(nèi)部構(gòu)造,可以根據(jù)自己的需要合理安排程序的執(zhí)行順序,最大限度地利用芯片內(nèi)部的數(shù)據(jù)通路,實現(xiàn)最佳性能。
在APB總線上,掛了很多設(shè)備,圖中設(shè)備的順序是按照它們的寄存器組,在存儲空間分配的地址順序排列的。對照用戶手冊中的存儲器地址映像表,可以知道每個APB外設(shè)的寄存器組分別占據(jù)了16KB的地址空間,看門狗的寄存器組處于所有APB外設(shè)地址空間的最低地址。
下面的框圖是按照LPC81x/LPC82x/LPC83x的風(fēng)格,從使用者的視角重畫的LPC84x系統(tǒng)框圖。
圖6.LPC84x系統(tǒng)框圖(程序員視角)
與其它幾個系列的框圖比較,我們可以看出不少新的東西:
更多的Flash和SRAM容量。
FAIM模塊。FAIM用于在系統(tǒng)啟動時,快速地配置其它模塊的初始狀態(tài),包括引腳的方向和上拉或下拉,啟動時的ISP端口和配置,以及為低功耗而設(shè)置的低主頻啟動等。
定時器CTimer。該32位定時器有四個輸入捕獲和四個輸出匹配信號,但芯片上只引出了三個捕獲和三個匹配信號,可以與外部引腳相連。
兩個10位DAC模塊。
從LPC82x最多的29個輸入輸出引腳,大幅增加到54個引腳,而且所有引腳功能都是經(jīng)過開關(guān)矩陣的配置。
STC定時器的輸出信號,比LPC82x/83x增加了一個,達到7個。
模擬比較器的輸入端,比LPC81x/82x增加了三個,達到5個。
與前面的框圖相比,圖8中還可以看到一個“JTAG測試和邊界掃描接口”,和一些信號線從“時鐘發(fā)生器,電源控制”模塊引出,這些內(nèi)容在其它系列里面也有相同的部分存在,只是沒有畫出來而已。
用于程序追蹤調(diào)試的MTB存儲器和控制接口,在其它系列里也是存在的,同樣也沒有畫在系統(tǒng)框圖中。
在本書即將完成之際,恩智浦又發(fā)布了一個新的子系列——LPC80x,分別有LPC802和LPC804兩種配置,及多種封裝形式,詳見表1(見第一章)。
下面是LPC 802和LPC804的框圖,此處不多做解釋,讀者可以結(jié)合前面幾個子系列的框圖,對照比較之后就能夠看出區(qū)別來。
圖7.LPC802系統(tǒng)框圖
圖8.LPC804系統(tǒng)框圖
圖中可以明顯看出LPC804是LPC802的增強版,增加了電容觸摸接口、可編程邏輯單元(PLU)、增加了10位的DAC輸出、增加了一個I2C接口,存儲器容量也增加了一倍,性價比更高了。
LPC86x是2023年NXP發(fā)布的新的產(chǎn)品系列。這里在原作者的基礎(chǔ)上補充進來。
LPC86x針對LPC84x的基礎(chǔ)上做了進一步的優(yōu)化,針對電機應(yīng)用移除了CTimer和SCT同時增加了兩個FlexTimer用于電機應(yīng)用,提升了ADC的采樣率,優(yōu)化了ADC和FlexTimer聯(lián)動機制,增加了新的外設(shè)I3C,使得它的應(yīng)用范圍更廣,功能更靈活。
LPC86x精簡了Switch Matrix的功能,即FlexTimer的相關(guān)輸入輸出功能只能被軟件分配到固定的三個外部引腳上去,其余外設(shè)的Switch Matrix功能不變。
LPC86x在LPC84x的基礎(chǔ)上將SRAM縮減到8kB,減少了USART,I2C的數(shù)量,刪除了MTB接口,刪除了DAC和電容觸摸等功能。
圖9.LPC86x配置框圖
END
更多恩智浦AI-IoT市場和產(chǎn)品信息,邀您同時關(guān)注“NXP客棧”微信公眾號
NXP客棧
恩智浦致力于打造安全的連接和基礎(chǔ)設(shè)施解決方案,為智慧生活保駕護航。
長按二維碼,關(guān)注我們
恩智浦MCU加油站
這是由恩智浦官方運營的公眾號,著重為您推薦恩智浦MCU的產(chǎn)品信息、開發(fā)技巧、教程文檔、培訓(xùn)課程等內(nèi)容。
長按二維碼,關(guān)注我們
原文標(biāo)題:LPC800前生今世 第二章-系列總覽
文章出處:【微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
mcu
+關(guān)注
關(guān)注
146文章
17149瀏覽量
351225 -
恩智浦
+關(guān)注
關(guān)注
14文章
5860瀏覽量
107469
原文標(biāo)題:LPC800前生今世 第二章-系列總覽
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論