精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

LPC800的前世今生大揭秘

恩智浦MCU加油站 ? 來源:未知 ? 2023-09-07 08:50 ? 次閱讀

1
前言

在此之前,NXP已經推出了基于Cortex-M0內核的LPC1100(2009年),代號“吸血魚”(亞馬遜河中的一種小魚,據稱能進入在河中洗澡的人體內),意為小而極具攻擊性。
LPC800的開發代號“哪吒”,意為小而勇敢。為什么要在LPC1100推出3年之后,又推出LPC800系列?“哪吒”的背后,有什么鮮為人知的故事?

2LPC800哪吒的誕生


“哪吒”項目的策劃始于2009年初,LPC1100剛剛發布不久,LPC團隊就提出了一個大膽的想法:能否讓32位MCU跟8位單片機一樣簡單易用?很快,團隊列出了幾條“簡單易用”的準則:

  • 能否象8位單片機一樣啟動?

  • GPIO操作能否更加迅速?

  • 外設能否更加小巧、靈活?

  • 封裝要小;

  • PCB布線要簡單;

  • 要滿足中國客戶希望串口多的需求;

  • 。。。


Rob Cosaro是LPC的首席架構師(現在他是NXP Fellow,去年曾經來深圳給工信部開過講座,是位名副其實的技術“網紅”),他提出了各種創新的點子,讓LPC800的思路愈發清晰了:

  • 外設要去除“大而全”,變得靈活、輕便。為此,重新設計了UARTI2C、SPI等外設IP;

  • 針對不同應用可以有不同類型的Timer。為此,設計了SCT和MRT;

  • 支持8位單片機小封裝。LPC800支持TSSOP20/16小封裝,甚至還為“發燒友”準備了DIP8封裝;

  • 特別地,LPC800提供了獨一無二的開關矩陣(SWM)模塊,能夠將數字外設功能映射到任意一個GPIO引腳上,從而大大簡化了PCB設計,成了硬件工程師的最愛;

  • 另外,內部Flash改至32位寬,工藝從0.18um改至0.14um,減少芯片面積的同時也極大地改善了芯片的功耗;

  • 一開始選擇了Cortex-M0內核,后來切換到Cortex-M0+。

隨著芯片規劃的不斷完善,對IP和芯片的設計提出了各種新的要求。寶劍鋒從磨礪出,從“哪吒”項目提出到第一顆LPC800問世,花了整整三年。想起神話故事中的哪吒三太子,其母懷胎三年方才生產,不生則已,一生驚人。LPC中國團隊給項目取名“哪吒”,寓意LPC800也像哪吒一樣,經歷了出生的磨難,卻變得更加驍勇善戰,在32位替代8位的戰場上,方興未艾。LPC800能夠象哪吒一樣大鬧中國MCU之海。

接著,設計的任務交給了當時由我領導的LPC中國設計團隊。在2009年的某一天,當我踏入時任LPC MCU產品線總經理的Geoff Lees(沒錯,就是現在NXP MICR業務部的老大)的辦公室時,就被墻上的白板吸引住了--上面寫滿了LPC800的規劃思路。Geoff告訴我,LPC800必須按照中國市場的需求來定義和設計,這令我激動萬分。

后來,每次去美國,LPC團隊都會在那塊白板上不斷改進我們的設計。在之后的一年多里,那面白板就沒有被擦掉過。

3LPC800的發展歷程


LPC800系列的發展經歷了三個階段:

  • 2012年11月,NXP發布了業界第一顆基于Cortex-M0+的LPC81x,支持16K Flash,并于次年7月正式量產;

  • 2014年10月,LPC82x正式量產,支持32K Flash;

  • 2016年8月,推出了經過簡化的LPC83x;

  • 2016年12月,與Freescale合并后的NXP正式宣布了新的LPC800路線圖,計劃于2017年相繼推出支持64K Flash的LPC84x和精簡設計的LPC80x。


如上所述,新的LPC800路線圖預示著這個精悍的產品線,將會迎來一個爆發式的成長,為了更好地推廣這一既是新產品又是傳統產品系列,2017年領導布置了一個任務,讓我來寫一個“LPC800Cookbook”。

領到這個任務之后,就開始琢磨這是個什么樣的“文檔”呢。首先,從字面上講Cookbook就是食譜、菜譜,查下字典Cookbook還有烹飪手冊的意思。真正翻看一份(本)食譜可以看到,內容是從食材、配料、刀工、廚具、火候等,一步步引領著如何做出一道菜來。

此時聯想起在這么多年的實際工作中,處理和解答過的很多問題,除一部分是因為沒有好好看文檔之外,很大部分是因為更深層次的問題,不少人把在MCU上寫程序作為一個單純的軟件問題,而沒有詳細了解在程序代碼背后,硬件是如何工作的,軟件和硬件是如何相互配合一起工作的。

4內容介紹


基于這樣一個思考,我決定從MCU及其各基礎模塊出發,從解析各部分的內部構造和配置原理出發,再結合具體的代碼演示例程,展示LPC800各部分的用法。這實際上也是我多年工作中,在理解使用一款新產品時所用的基本思路,因此希望能把這種思維方式提供給讀者,引領讀者不但知其一而且知其二,能夠把每一行代碼與底層的硬件配置結合在一起考慮,做到舉一反三,這樣以后可以用同樣的方法,在用到其它陌生的MCU時,能夠快速地熟悉上手,迅速地掌握其精髓。

在本書內容的編排上,引入了一些新的特色。

對于例程代碼,嘗試突破傳統的行注釋,使用了PPT中對話氣泡的方式更加方便靈活地注解代碼,展現行與行和程序塊之間的邏輯關系。對于一些不易理解的模塊,例如SWM、DMA、SCT等,都配有模擬的內部構造圖,再結合對應的寄存器位,讓讀者可以更深入系統地理解這些模塊的功能和用法,當理解了這些原理之后,即使以后忘記了它們的用法,只需回頭看看這些構造圖就可以很快地找到原來的感覺。

思路理清了,內容的呈現方式也就清晰了。首先這篇“文章”會是一本書的方式,就是您現在看到的這本書:

在書里面會先從介紹LPC800各個系列的基本概況入手(第1章),比較子系列間的區別,并特意抽出一些特色功能進行說明。然后將逐一展示各子系列的基本系統框圖(第2章),從這里可以解讀出很多有用甚至關鍵的信息;很多有經驗的工程師可以從一款產品的系統框圖,很快建立起一些關于這款產品的定位、性能級別、操作靈活性等基本概念,并對是否適合自己需求的一個基本判斷。

第3章介紹了Arm為Cortex-M處理器配套的嵌套式中斷控制器(NVIC), 這里解答了常見的中斷優先級和中斷嵌套的概念,并設計了一個演示例程以進一步體會優先級與嵌套的流程;這章里還以示意圖的形式,直觀地講解了NVIC的幾個特色的功能,讓讀者可以深入體會它的優勢。當然第3章還介紹了NVIC的使用方法和可以調用的函數。

第4章是本書所有例程和配套項目文件的基本介紹,并給出了書中所有例程與項目文件的對照關系,讀者在動手實驗時,可以隨時翻看這里,找到對應的項目代碼并運行體會。

第5-8章關于LPC800的一些核心的基礎部件,包括負責時鐘配置、外設模塊復位、低功耗配置及外部引腳中斷等部分的系統配置模塊(SYSCON),負責把內部功能信號與外部引腳對接的開關矩陣(SWM),設置外部引腳特性的輸入輸出引腳配置(IOCON),以及最基本的輸入輸出控制器(GPIO)等。所有使用LPC800的用戶都要首先接觸到這些模塊,所有的開發項目都會用到這些模塊。

第9-13章涉及引腳中斷和引腳組合邏輯、直接存儲器訪問(DMA)、UART、SPI和I2C,這部分都是絕大部分MCU都會有模塊和基本的通信接口。特色的引腳組合邏輯或稱模式匹配引擎,能夠根據多個引腳的組合邏輯運算結果,產生相應的中斷,與傳統的一個信號觸發中斷的方式相比,可以顯著優化對于復雜外部邏輯的相應速度。

第14-17章分別介紹了一些基本的定時器,包括狀態可編程定時器(SCT)、窗口型看門狗定時器(WWDT)、多速率定時器(MRT)和系統嘀嗒時鐘(SysTick)。尤其是對SCT的介紹,試圖從基礎原理上,全面地分析了SCT的用法,并通過多個例程展示了SCT編程及其強大的能力。

最后第18章介紹了12位ADC(模擬數字轉換器)及其使用,通過例程不但展示了ADC的基本用法,還展示了實際項目中經常會用到與DMA配合使用的方法。

5參考資料


均可在nxp.com/lpc800下載

LPC8N04數據手冊:LPC8N04 32-bit Arm Cortex-M0+ microcontroller

LPC8N04用戶手冊:LPC8N04 User manual

LPC802數據手冊:LPC802 Data Sheet

LPC802用戶手冊:LPC802 User manual

LPC804數據手冊:LPC804 Data Sheet

LPC804用戶手冊:LPC804 User manual

LPC81x數據手冊:LPC81xM 32-bit ARM Cortex-M0+ microcontroller; up to 16 kB flashand 4 kB SRAM

LPC83x數據手冊:LPC83x 32-bit ARM Cortex-M0+ microcontroller; up to 32 KB flashand 4 KB SRAM; 12-bit ADC

LPC81x用戶手冊:LPC81x User manual

LPC83x用戶手冊:LPC83x User manual

LPC82x數據手冊:LPC82x 32-bit ARM Cortex-M0+ microcontroller; up to 32 kB flashand 8 kB SRAM; 12-bit ADC; comparator

LPC82x用戶手冊:LPC82x User manual

LPC84x數據手冊:LPC84x 32-bit Arm Cortex-M0+ MCU - Data Sheet

LPC84x用戶手冊:LPC84x User manual

應用筆記AN11538 SCTimer/PWMcookbook

LPC86x數據手冊:LPC86x 32-bit Arm Cortex-M0+ MCU - Data Sheet

LPC86x用戶手冊:LPC86x User manual

本書所有代碼均基于LPC824 ExampleCode Bundle IAR中的例程所開發。

有興趣的讀者也可以登錄www.nxpic.org論壇,與廣大工程師們進行技術交流,分享相關的知識和經驗,以求共同提高。也可以從NXP公司網站http://www.nxp.com/lpc800上獲得更多資料。

6致謝

前后大約花了兩年時間才斷斷續續地寫完了所有內容,在本書的寫作和校驗過程中得到了很多同事的幫助,尤其要感謝周榮正、王朋朋、蔣文衛的大力支持,還有張揚、張啟鵬、謝愉、牛曉東、武元偉等同事為保證內容的準確性,在百忙之中進行了試讀和實驗驗證,在此表示衷心的感謝,你們的幫助讓我對整體內容的正確性有了更多的信心。

接下來的數周里,我將按內容概況逐步更新,由于本人的經驗和水平有限,書中的錯誤和不妥之處在所難免,懇請廣大讀者批評指正。



END



更多恩智浦AI-IoT市場和產品信息,邀您同時關注“NXP客棧”微信公眾號




NXP客棧


恩智浦致力于打造安全的連接和基礎設施解決方案,為智慧生活保駕護航。





長按二維碼,關注我們


恩智浦MCU加油站


這是由恩智浦官方運營的公眾號,著重為您推薦恩智浦MCU的產品信息、開發技巧、教程文檔、培訓課程等內容。


長按二維碼,關注我們


原文標題:LPC800的前世今生大揭秘

文章出處:【微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    16984

    瀏覽量

    350294
  • 恩智浦
    +關注

    關注

    14

    文章

    5825

    瀏覽量

    106676

原文標題:LPC800的前世今生大揭秘

文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    深入了解Java泛型——從前世今生到PECS原則

    本文主要介紹泛型誕生的前世今生,特性,以及著名PECS原則的由來。 在日常開發中,必不可少的會使用到泛型,這個過程中經常會出現類似“為什么這樣會編譯報錯?”,“為什么這個列表無法添加
    的頭像 發表于 11-21 11:45 ?65次閱讀
    深入了解Java泛型——從<b class='flag-5'>前世</b><b class='flag-5'>今生</b>到PECS原則

    帶你揭秘:功率放大器的前世今生~

    關于功率放大器功率放大器,作為一種可放大交直流信號,在給定失真率條件下,能產生最大功率輸出以驅動某一負載的實驗室儀器,在MEMS測試、超聲波測試、電磁場驅動、無線電能傳輸、院校電子實驗測試等領域都有良好應用,那么你知道功放的發展史嗎?今天Aigtek就給大家分享一下~功率放大器發展史功率放大器的發展史可以追溯至20世紀初,隨著電子技術的不斷進步,功率放大器也
    的頭像 發表于 11-07 08:00 ?713次閱讀
    帶你<b class='flag-5'>揭秘</b>:功率放大器的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>~

    LDO噪聲揭秘

    電子發燒友網站提供《LDO噪聲揭秘.pdf》資料免費下載
    發表于 09-21 09:13 ?0次下載
    LDO噪聲<b class='flag-5'>揭秘</b>

    EMC大揭秘 PCB設計必備指南

    EMC大揭秘 PCB設計必備指南
    的頭像 發表于 06-15 16:29 ?3016次閱讀
    EMC大<b class='flag-5'>揭秘</b> PCB設計必備指南

    嵌入式系統的前世今生

    一、初始階段(1960-1970)1960年代末:嵌入式系統的概念開始形成,最初用于專業的軍事和航天應用,例如用于導彈控制的計算機系統。微處理器的誕生:1971年,英特爾推出了4004芯片,這是世界上第一個商用微處理器。它的出現標志著嵌入式系統發展的一個里程碑,使得更小型、成本更低的電子設備設計成為可能。二、發展階段(1980年代)個人計算機(PC)的普及:
    的頭像 發表于 04-12 08:11 ?1493次閱讀
    嵌入式系統的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>

    揭秘共模電感選擇技巧

    電子發燒友網站提供《揭秘共模電感選擇技巧.docx》資料免費下載
    發表于 03-29 14:36 ?0次下載

    FPGA中競爭與冒險的前世今生

    競爭冒險:在組合電路中,當邏輯門有兩個互補輸入信號同時向相反狀態變化時,輸出端可能產生過渡干擾脈沖的現象,稱為競爭冒險。那么 FPGA 產生競爭冒險的原因是什么呢? 信號在 FPGA 器件內部通過連線和邏輯單元時,都有一定的延時。 延時的大小與連線的長短和邏輯單元的數目有關 同時還受器件的制造工藝、工作電壓、溫度等條件的影響 信號的高低電平轉換也需要一定的過渡時間 。由于以上存在的因素,多路信號的電平值發生變化時,在信號變化的瞬間,組合邏輯的輸出有先后順序,并不是同時變化往往會出現一些不正確的尖峰信號,這些尖峰信號稱為毛刺 。如果一個組合邏輯電路中有毛刺出現,就說明該電路存在冒險 。與分立元件不同,由于 PLD 內部不存在寄生電容電感,這些毛刺將被完整的保留并向下一級傳遞,因此毛刺現象在 PLD 、 FPGA 設計中尤為突出 。 毛刺的累加 將會影響整個設計的可靠性和精確性 。因此判斷邏輯電路中是否存在冒險以及如何避免冒險是 FPGA 設計人員必須要考慮的問題。 接下來我們就要考慮如何消除冒險 ,消除冒險的方式有一下幾種: 1、利用冗余項消除毛刺 函數式和真值表所描述的是靜態邏輯,而競爭則是從一種 穩態到另一種穩態的過程。因此競爭是動態過程,它發生在輸入變量變化時。此時,修改卡諾圖,增加多余項,在卡諾圖的兩圓相切處增加一個圓,可以消除邏輯冒險。但該法對于計數器型產生的毛刺是無法消除的。 2、采用格雷碼 我們可以通過改變設計,破壞毛刺產生的條件,來減少毛刺的發生。例如,在數字電路設計中,常常采用格雷碼計數器取代普通的二進制計數器,這是因為格雷碼計數器的輸出每次只有一位跳變 消除了競爭冒險的發生條件,避免了毛刺的產生。 3、采樣法 由于冒險出現在變量發生變化的時刻,如果待信號穩定之后加入取樣脈沖,那么就只有在取樣脈沖作用期間輸出的信號才能有效。這樣可以避免產生的毛刺影響輸出波形。 一般說來,冒險出現在信號發生電平轉換的時刻,也就是說在輸出信號的建立時間內會發生冒險,而在輸出信號 的保持時間內是不會有毛刺信號出現的。如果在輸出信號的保持時間內對其進行采樣,就可以消除毛刺信號的影響。 4、吸收法 增加輸出濾波,在輸出端接上小電容C可以濾除毛刺 。但輸出波形的前后沿將變壞,在對波形要求較嚴格時,應再加整形電路,該方法不宜在中間級使用。 5、延遲辦法 因為毛刺最終是由于延遲造成的,所以可以找出產生延遲的支路。對于相對延遲小的支路,加上毛刺寬度 的延遲可以消除毛刺。 還可以用高頻時鐘來驅動一移位寄存器,待延時信號作數據輸入,按所需延時正確設置移位寄存器的級數 ,移位寄存器的輸出即為延時后的信號。 當然最好的就是,在設計之初,就對競爭冒險進行規避,具體規避方法有: 1、在設計中每一個模塊中只用一個時鐘,避免使用多時鐘設計,同時避免使用主時鐘分頻后的二次時鐘作為時序器件的時鐘輸入, 因為時鐘偏斜會比較大 。 2、設計譯碼邏輯電路時必須十分小心,因為譯碼器和比較器本身會產生尖峰,容易產生毛刺,把譯碼器或比較器的輸出直接連到時鐘輸入端或異步清除端,會造成嚴重的后果。 3、在設計中 應該盡量避免隱含 RS 觸發器的出現。一般要控制輸出被直接反饋到輸入端,采用反饋環路會出現隱含 RS 觸發器,其對輸入尖峰和假信號很敏感,輸入端有任何變化都有可能使輸出值立刻改變,此時易造成毛刺的產生,導致時序的嚴重混亂。 4、在設計電路時 要用寄存器和觸發器設計電路,盡量不要用鎖存器,因它對輸入信號的毛刺太敏感。如果堅持用鎖存器設計必須保證輸入信號絕對沒有毛刺,且滿足保持時間。 5、在設計中充分利用資源 ,因為 大部分 FPGA 器件都為時鐘、復位、預置等信號提供特殊的全局布線資源,要充分利用這些資源。 6、在設計中 不論是控制信號還是地址總線信號、數據總線信號,都要采用另外的寄存器,以使內部歪斜的數據變成同步數據。 7、在設計中 應該盡 量避免使用延遲線,因它對工藝過程的變化極為敏感,會大大降低電路的穩定性和可靠性,并將為測試帶來麻煩。 8、在設計中 對所有模塊的輸入時鐘、輸入信號、輸出信號都用D觸發器或寄存器進行同步處理,即輸出信號直接來自觸發器或寄存器的輸出端。這樣可以消除尖峰和毛刺信號。
    發表于 02-21 16:26

    恩智浦推出基于LPC860的系列解決方案

    在恩智浦豐富的微控制器產品組合中,基于Arm Cortex-M0+的LPC800 MCU是非常有特色的一個產品系列,其不僅顯著提升了性能,還極大地降低了功耗,提高了能效,加之廣泛的伙伴生態合作體系支持,為嵌入式開發者提供了一個簡單易用、設計靈活的解決方案!
    的頭像 發表于 01-26 10:14 ?654次閱讀

    機器人的前世今生

    機器人主要是用于代替人工作的,首先它是一個機器。對于傳統的機器,被使用者設計制造出來后,它的工作步驟、路徑都是確定的。機器的設計也是根據它所應用的工作而進行的。
    發表于 12-29 14:54 ?523次閱讀
    機器人的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>

    LPC800 MCU技術資源合集:純干貨,快接住!

    作為恩智浦新一代基于Arm Cortex-M0+的微控制器,LPC800系列不僅顯著提升了性能,還極大地降低了功耗,提高了能效,加之廣泛的伙伴生態合作體系支持,為嵌入式開發者提供了一個簡單易用
    的頭像 發表于 12-27 08:10 ?510次閱讀
    <b class='flag-5'>LPC800</b> MCU技術資源合集:純干貨,快接住!

    LPC800前生今世-第九章 直接存儲器訪問 (DMA)

    送到 USART 進行發送。 下圖是 LPC82x 的部分框圖,圖中醒目標出了總線主設備,和 DMA 控制器。 ? ? ? ? ? ?
    的頭像 發表于 12-21 08:55 ?935次閱讀
    <b class='flag-5'>LPC800</b>前生今世-第九章 直接存儲器訪問 (DMA)

    ad7195采集數據不正常是什么原因導致的?

    我在調試AD7195時使用了官方例程ad7190_rl78g13.zip,使用NXP LPC800做為控制器,現在程序讀取器件ID和溫濕度都正常,但是在讀取其它通道數據始終是顯示0x00ffffff
    發表于 12-21 06:56

    二極管的前世今生

    二極管的前世今生
    的頭像 發表于 12-14 18:35 ?1086次閱讀
    二極管的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>

    LPC800前生今世-第八章 引腳中斷和引腳組合邏輯 (Pin Interrupt &amp; Pin Pattern)

    外部引腳可以觸發芯片內部的中斷,這是每一個通用MCU都具備的基本功能。 在LPC800中,所有外部引腳都可以配置為產生中斷的觸發源。每個引腳不但可以獨立地觸發中斷,還可以和其它引腳的信號狀態進行組合
    的頭像 發表于 12-14 16:20 ?1787次閱讀
    <b class='flag-5'>LPC800</b>前生今世-第八章 引腳中斷和引腳組合邏輯 (Pin Interrupt &amp; Pin Pattern)

    揭秘什么是LDO噪聲

    揭秘什么是LDO噪聲
    的頭像 發表于 12-07 16:05 ?661次閱讀
    <b class='flag-5'>揭秘</b>什么是LDO噪聲