2LPC800哪吒的誕生
能否象8位單片機(jī)一樣啟動?
GPIO操作能否更加迅速?
外設(shè)能否更加小巧、靈活?
封裝要小;
PCB布線要簡單;
要滿足中國客戶希望串口多的需求;
。。。
外設(shè)要去除“大而全”,變得靈活、輕便。為此,重新設(shè)計了UART、I2C、SPI等外設(shè)IP;
針對不同應(yīng)用可以有不同類型的Timer。為此,設(shè)計了SCT和MRT;
支持8位單片機(jī)小封裝。LPC800支持TSSOP20/16小封裝,甚至還為“發(fā)燒友”準(zhǔn)備了DIP8封裝;
特別地,LPC800提供了獨一無二的開關(guān)矩陣(SWM)模塊,能夠?qū)?shù)字外設(shè)功能映射到任意一個GPIO引腳上,從而大大簡化了PCB設(shè)計,成了硬件工程師的最愛;
另外,內(nèi)部Flash改至32位寬,工藝從0.18um改至0.14um,減少芯片面積的同時也極大地改善了芯片的功耗;
一開始選擇了Cortex-M0內(nèi)核,后來切換到Cortex-M0+。
隨著芯片規(guī)劃的不斷完善,對IP和芯片的設(shè)計提出了各種新的要求。寶劍鋒從磨礪出,從“哪吒”項目提出到第一顆LPC800問世,花了整整三年。想起神話故事中的哪吒三太子,其母懷胎三年方才生產(chǎn),不生則已,一生驚人。LPC中國團(tuán)隊給項目取名“哪吒”,寓意LPC800也像哪吒一樣,經(jīng)歷了出生的磨難,卻變得更加驍勇善戰(zhàn),在32位替代8位的戰(zhàn)場上,方興未艾。LPC800能夠象哪吒一樣大鬧中國MCU之海。
接著,設(shè)計的任務(wù)交給了當(dāng)時由我領(lǐng)導(dǎo)的LPC中國設(shè)計團(tuán)隊。在2009年的某一天,當(dāng)我踏入時任LPC MCU產(chǎn)品線總經(jīng)理的Geoff Lees(沒錯,就是現(xiàn)在NXP MICR業(yè)務(wù)部的老大)的辦公室時,就被墻上的白板吸引住了--上面寫滿了LPC800的規(guī)劃思路。Geoff告訴我,LPC800必須按照中國市場的需求來定義和設(shè)計,這令我激動萬分。
后來,每次去美國,LPC團(tuán)隊都會在那塊白板上不斷改進(jìn)我們的設(shè)計。在之后的一年多里,那面白板就沒有被擦掉過。
3LPC800的發(fā)展歷程
LPC800系列的發(fā)展經(jīng)歷了三個階段:
2012年11月,NXP發(fā)布了業(yè)界第一顆基于Cortex-M0+的LPC81x,支持16K Flash,并于次年7月正式量產(chǎn);
2014年10月,LPC82x正式量產(chǎn),支持32K Flash;
2016年8月,推出了經(jīng)過簡化的LPC83x;
2016年12月,與Freescale合并后的NXP正式宣布了新的LPC800路線圖,計劃于2017年相繼推出支持64K Flash的LPC84x和精簡設(shè)計的LPC80x。
如上所述,新的LPC800路線圖預(yù)示著這個精悍的產(chǎn)品線,將會迎來一個爆發(fā)式的成長,為了更好地推廣這一既是新產(chǎn)品又是傳統(tǒng)產(chǎn)品系列,2017年領(lǐng)導(dǎo)布置了一個任務(wù),讓我來寫一個“LPC800Cookbook”。
領(lǐng)到這個任務(wù)之后,就開始琢磨這是個什么樣的“文檔”呢。首先,從字面上講Cookbook就是食譜、菜譜,查下字典Cookbook還有烹飪手冊的意思。真正翻看一份(本)食譜可以看到,內(nèi)容是從食材、配料、刀工、廚具、火候等,一步步引領(lǐng)著如何做出一道菜來。
此時聯(lián)想起在這么多年的實際工作中,處理和解答過的很多問題,除一部分是因為沒有好好看文檔之外,很大部分是因為更深層次的問題,不少人把在MCU上寫程序作為一個單純的軟件問題,而沒有詳細(xì)了解在程序代碼背后,硬件是如何工作的,軟件和硬件是如何相互配合一起工作的。
4內(nèi)容介紹
基于這樣一個思考,我決定從MCU及其各基礎(chǔ)模塊出發(fā),從解析各部分的內(nèi)部構(gòu)造和配置原理出發(fā),再結(jié)合具體的代碼演示例程,展示LPC800各部分的用法。這實際上也是我多年工作中,在理解使用一款新產(chǎn)品時所用的基本思路,因此希望能把這種思維方式提供給讀者,引領(lǐng)讀者不但知其一而且知其二,能夠把每一行代碼與底層的硬件配置結(jié)合在一起考慮,做到舉一反三,這樣以后可以用同樣的方法,在用到其它陌生的MCU時,能夠快速地熟悉上手,迅速地掌握其精髓。
對于例程代碼,嘗試突破傳統(tǒng)的行注釋,使用了PPT中對話氣泡的方式更加方便靈活地注解代碼,展現(xiàn)行與行和程序塊之間的邏輯關(guān)系。對于一些不易理解的模塊,例如SWM、DMA、SCT等,都配有模擬的內(nèi)部構(gòu)造圖,再結(jié)合對應(yīng)的寄存器位,讓讀者可以更深入系統(tǒng)地理解這些模塊的功能和用法,當(dāng)理解了這些原理之后,即使以后忘記了它們的用法,只需回頭看看這些構(gòu)造圖就可以很快地找到原來的感覺。
思路理清了,內(nèi)容的呈現(xiàn)方式也就清晰了。首先這篇“文章”會是一本書的方式,就是您現(xiàn)在看到的這本書:
在書里面會先從介紹LPC800各個系列的基本概況入手(第1章),比較子系列間的區(qū)別,并特意抽出一些特色功能進(jìn)行說明。然后將逐一展示各子系列的基本系統(tǒng)框圖(第2章),從這里可以解讀出很多有用甚至關(guān)鍵的信息;很多有經(jīng)驗的工程師可以從一款產(chǎn)品的系統(tǒng)框圖,很快建立起一些關(guān)于這款產(chǎn)品的定位、性能級別、操作靈活性等基本概念,并對是否適合自己需求的一個基本判斷。
第3章介紹了Arm為Cortex-M處理器配套的嵌套式中斷控制器(NVIC), 這里解答了常見的中斷優(yōu)先級和中斷嵌套的概念,并設(shè)計了一個演示例程以進(jìn)一步體會優(yōu)先級與嵌套的流程;這章里還以示意圖的形式,直觀地講解了NVIC的幾個特色的功能,讓讀者可以深入體會它的優(yōu)勢。當(dāng)然第3章還介紹了NVIC的使用方法和可以調(diào)用的函數(shù)。
第4章是本書所有例程和配套項目文件的基本介紹,并給出了書中所有例程與項目文件的對照關(guān)系,讀者在動手實驗時,可以隨時翻看這里,找到對應(yīng)的項目代碼并運(yùn)行體會。
第5-8章是關(guān)于LPC800的一些核心的基礎(chǔ)部件,包括負(fù)責(zé)時鐘配置、外設(shè)模塊復(fù)位、低功耗配置及外部引腳中斷等部分的系統(tǒng)配置模塊(SYSCON),負(fù)責(zé)把內(nèi)部功能信號與外部引腳對接的開關(guān)矩陣(SWM),設(shè)置外部引腳特性的輸入輸出引腳配置(IOCON),以及最基本的輸入輸出控制器(GPIO)等。所有使用LPC800的用戶都要首先接觸到這些模塊,所有的開發(fā)項目都會用到這些模塊。
第9-13章涉及引腳中斷和引腳組合邏輯、直接存儲器訪問(DMA)、UART、SPI和I2C,這部分都是絕大部分MCU都會有模塊和基本的通信接口。特色的引腳組合邏輯或稱模式匹配引擎,能夠根據(jù)多個引腳的組合邏輯運(yùn)算結(jié)果,產(chǎn)生相應(yīng)的中斷,與傳統(tǒng)的一個信號觸發(fā)中斷的方式相比,可以顯著優(yōu)化對于復(fù)雜外部邏輯的相應(yīng)速度。
第14-17章分別介紹了一些基本的定時器,包括狀態(tài)可編程定時器(SCT)、窗口型看門狗定時器(WWDT)、多速率定時器(MRT)和系統(tǒng)嘀嗒時鐘(SysTick)。尤其是對SCT的介紹,試圖從基礎(chǔ)原理上,全面地分析了SCT的用法,并通過多個例程展示了SCT編程及其強(qiáng)大的能力。
最后第18章介紹了12位ADC(模擬數(shù)字轉(zhuǎn)換器)及其使用,通過例程不但展示了ADC的基本用法,還展示了實際項目中經(jīng)常會用到與DMA配合使用的方法。
5參考資料
均可在nxp.com/lpc800下載:
有興趣的讀者也可以登錄www.nxpic.org論壇,與廣大工程師們進(jìn)行技術(shù)交流,分享相關(guān)的知識和經(jīng)驗,以求共同提高。也可以從NXP公司網(wǎng)站http://www.nxp.com/lpc800上獲得更多資料。
6致謝
前后大約花了兩年時間才斷斷續(xù)續(xù)地寫完了所有內(nèi)容,在本書的寫作和校驗過程中得到了很多同事的幫助,尤其要感謝周榮正、王朋朋、蔣文衛(wèi)的大力支持,還有張揚(yáng)、張啟鵬、謝愉、牛曉東、武元偉等同事為保證內(nèi)容的準(zhǔn)確性,在百忙之中進(jìn)行了試讀和實驗驗證,在此表示衷心的感謝,你們的幫助讓我對整體內(nèi)容的正確性有了更多的信心。
接下來的數(shù)周里,我將按內(nèi)容概況逐步更新,由于本人的經(jīng)驗和水平有限,書中的錯誤和不妥之處在所難免,懇請廣大讀者批評指正。
END
更多恩智浦AI-IoT市場和產(chǎn)品信息,邀您同時關(guān)注“NXP客?!蔽⑿殴娞?/span>
NXP客棧
恩智浦致力于打造安全的連接和基礎(chǔ)設(shè)施解決方案,為智慧生活保駕護(hù)航。
長按二維碼,關(guān)注我們
恩智浦MCU加油站
這是由恩智浦官方運(yùn)營的公眾號,著重為您推薦恩智浦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)推薦
評論