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