物聯(lián)網(wǎng)師資班_第1頁
物聯(lián)網(wǎng)師資班_第2頁
物聯(lián)網(wǎng)師資班_第3頁
物聯(lián)網(wǎng)師資班_第4頁
物聯(lián)網(wǎng)師資班_第5頁
已閱讀5頁,還剩161頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、物聯(lián)網(wǎng)設(shè)計(jì)物聯(lián)網(wǎng)設(shè)計(jì)與與實(shí)現(xiàn)實(shí)現(xiàn)-認(rèn)識(shí)認(rèn)識(shí)物聯(lián)網(wǎng)物聯(lián)網(wǎng)? 物聯(lián)網(wǎng)定義物聯(lián)網(wǎng)定義 到目前為止,物聯(lián)網(wǎng)還沒有形成一個(gè)為大家所公認(rèn)的定義。 通俗的講,物聯(lián)網(wǎng)就是“物物相連的互聯(lián)網(wǎng)”; 從技術(shù)上來說,物聯(lián)網(wǎng)可以定義為“通過射頻識(shí)別(RFID)、 紅外感應(yīng)器、全球定位系統(tǒng)、激光掃描器等信息傳感設(shè)備, 按約定的協(xié)議,把任何物品與互聯(lián)網(wǎng)連接起來,進(jìn)行信息 交換和通訊,以實(shí)現(xiàn)智能化識(shí)別、定位、跟蹤、監(jiān)控和管 理的一種網(wǎng)絡(luò)?!?國外定義:嵌入式+互聯(lián)網(wǎng)=物聯(lián)網(wǎng) 物聯(lián)網(wǎng)概述物聯(lián)網(wǎng)概述定義定義 物聯(lián)網(wǎng)概述物聯(lián)網(wǎng)概述框架框架 物聯(lián)網(wǎng)概述物聯(lián)網(wǎng)概述支撐技術(shù)支撐技術(shù) RFID技術(shù) ZigBee技術(shù)常見的組網(wǎng)技術(shù) 微機(jī)電系

2、統(tǒng)技術(shù) 智能服務(wù)技術(shù) 環(huán)境保護(hù) 安全防范 衛(wèi)生安全 商務(wù)金融 物聯(lián)網(wǎng)應(yīng)用物聯(lián)網(wǎng)應(yīng)用 交通事業(yè) 物流配送 電力系統(tǒng) 城市社區(qū) 物聯(lián)網(wǎng)應(yīng)用物聯(lián)網(wǎng)應(yīng)用 教育娛樂 工業(yè)生產(chǎn) 農(nóng)林畜牧 司法行政 物聯(lián)網(wǎng)應(yīng)用物聯(lián)網(wǎng)應(yīng)用 國防軍事醫(yī)療健康 物聯(lián)網(wǎng)應(yīng)用物聯(lián)網(wǎng)應(yīng)用 物聯(lián)網(wǎng)應(yīng)用物聯(lián)網(wǎng)應(yīng)用智能家居智能家居 物聯(lián)網(wǎng)應(yīng)用物聯(lián)網(wǎng)應(yīng)用智能家居智能家居 仿人機(jī)器人 虛擬管家 居家監(jiān)護(hù)網(wǎng)絡(luò)系統(tǒng) 物聯(lián)網(wǎng)的物聯(lián)網(wǎng)的3 3個(gè)層次個(gè)層次 物聯(lián)網(wǎng)的八層架構(gòu)物聯(lián)網(wǎng)的八層架構(gòu) 物聯(lián)網(wǎng)工程專業(yè)知識(shí)體系物聯(lián)網(wǎng)工程專業(yè)知識(shí)體系 物聯(lián)網(wǎng)設(shè)計(jì)物聯(lián)網(wǎng)設(shè)計(jì)與與實(shí)現(xiàn)實(shí)現(xiàn)嵌入式部分嵌入式部分 ARMARM公司公司 成立于1990

3、年11月 前身為 Acorn計(jì)算機(jī)公司 主要設(shè)計(jì)ARM系列RISC處理器 內(nèi)核 授權(quán)ARM內(nèi)核給生產(chǎn)和銷售半 導(dǎo)體的合作伙伴 ARM 公司不生產(chǎn)芯片 另外也提供基于ARM架構(gòu)的開 發(fā)設(shè)計(jì)技術(shù) 軟件工具, 評(píng)估板, 調(diào)試工具,應(yīng)用軟 件,總線架構(gòu), 外圍設(shè)備單元,等等 ARM 全球分布 England Cambridge, Maidenhead, Sheffield, Blackburn Germany Munich France Paris, Sophia Antipolis Korea Seoul US Seattle, Los Gatos, Walnut Cr

4、eek, Austin, Boston, San Diego Asia Taiwan Japan Shin-Yokohama (Tokyo) ARM合作伙伴 SILICON DESIGN SUPPORT SOFTWARE TRAINING CONSORTIA ARM Powered Products Google Nexus One JVC Pixstar GC-X1 Psion Revo Plus HP CapShare Sony MZ-R90 MiniDisc Nokia 8810Nokia Mediamaster Nintend

5、o Gameboy Advance Ericsson R380 Alba Bush Internet TV 3Com 10/100 PCI NIC Iomega HipZip Diamond Multimedia Rio 600 ARMARM處理器的最新發(fā)展處理器的最新發(fā)展 低功耗、低成本的微控制器方向低功耗、低成本的微控制器方向 Cortext-M3 Stm32系列 36MHz72MHz (LQFP48 基本型:1.8美元) ATMEL ATSAM3X系列 Cortex-M1 Cortex-M0 LPC11xx系列 實(shí)時(shí)方向?qū)崟r(shí)方向

6、 Cortex-R4 Cortex-R5 安全方向安全方向 SecurCore SC300 (Cortex-M3) SC200 (ARM9) SC100 (ARM7) 議程議程 Cortex-M0 內(nèi)核內(nèi)核 LPC1100 介紹介紹 LPC1100 外設(shè)外設(shè) ISP/IAP/SWD 下載和調(diào)試下載和調(diào)試 開發(fā)工具和環(huán)境開發(fā)工具和環(huán)境 RealView MDK 編譯器使用編譯器使用 LPC1114 開發(fā)開發(fā) uC/OS-II 傳感器和控制傳感器和控制 有線互聯(lián)有線互聯(lián) 無線互聯(lián)無線互聯(lián) 22 23 Cortex-M0 Cortex-M0 內(nèi)核內(nèi)核 ARM ARM Cortex-M0Cortex-

7、M0 處理器處理器 32-bit ARM RISC 處理器處理器 Thumb 16-bit 指令集 最優(yōu)化的功能和硅片面積最優(yōu)化的功能和硅片面積 用于低成本和功能少的設(shè)計(jì) 發(fā)生中斷和異常時(shí)自動(dòng)存儲(chǔ)狀態(tài)發(fā)生中斷和異常時(shí)自動(dòng)存儲(chǔ)狀態(tài) 異常進(jìn)入和退出時(shí)軟件開銷低 確定的指令運(yùn)行時(shí)序確定的指令運(yùn)行時(shí)序 指令永遠(yuǎn)占用相同時(shí)間運(yùn)行 24 ARM Cortex-M0 ARM Cortex-M0 處理器處理器 32-bit 內(nèi)核、三級(jí)流水線、馮內(nèi)核、三級(jí)流水線、馮 諾依曼結(jié)構(gòu)諾依曼結(jié)構(gòu) ARMv6-M 體系結(jié)構(gòu)體系結(jié)構(gòu) 16-bit Thumb 指令集并包含Thumb-2技術(shù) 簡(jiǎn)單的體系結(jié)構(gòu),易于學(xué)習(xí)和編程簡(jiǎn)

8、單的體系結(jié)構(gòu),易于學(xué)習(xí)和編程 與與Cortex-M處理器系列向上兼容處理器系列向上兼容 25 Thumb Thumb 指令集指令集 32-bit運(yùn)行運(yùn)行, 16-bit指令指令 ARM7TDMI (T 代表 Thumb) 中有介紹 從一開始所有ARM 處理器就支持 更小的代碼尺寸 Thumb-2 所有處理器操作可只在 Thumb 狀態(tài)進(jìn)行 可優(yōu)化16/32-bit指令混合運(yùn)行 全部 Cortex處理器支持 26 Thumb ARM7ARM9Cortex-A9Cortex-R4Cortex-M3Cortex-M0 Thumb instruction set upwards compatibili

9、ty 指令集體系結(jié)構(gòu)指令集體系結(jié)構(gòu) 以以 ARM7TDMI 16-bit Thumb 結(jié)構(gòu)為基礎(chǔ)結(jié)構(gòu)為基礎(chǔ) 56 個(gè)指令, 所有指令有確定的運(yùn)行時(shí)間 一個(gè)指令可以傳送8, 16 或 32-bit 數(shù)據(jù) Dhrystone 0.9DMIPS/MHz 參考參考 ARM 文檔文檔 DDI0432 和和 DDI0419B27 28 程序寄存器程序寄存器 全部寄存器為全部寄存器為 32-bit 指令支持 8/16/32-bit 數(shù)據(jù) 13 個(gè)通用寄存器個(gè)通用寄存器 寄存器 r0 r7 (低寄存器) 寄存器 r8 r12 (高寄存器) 3 個(gè)專用個(gè)專用/通用寄存器通用寄存器 堆棧指針 (SP) r13 鏈

10、接寄存器 (LR) r14 程序計(jì)數(shù)器 (PC) r15 特殊功能寄存器特殊功能寄存器 - xPSR 29 指令表現(xiàn)指令表現(xiàn) 大部分指令大部分指令 2 bytes 內(nèi)存內(nèi)存 運(yùn)行時(shí)完全占用固定時(shí)間運(yùn)行時(shí)完全占用固定時(shí)間 數(shù)據(jù)處理 (e.g. 加, 移位, 邏輯或) 占用 1 cycle 數(shù)據(jù)傳送 (e.g. 裝載, 存儲(chǔ)) 占用 2 cycles 跳轉(zhuǎn), 當(dāng)發(fā)生時(shí)占用 3 cycles 指令操作為指令操作為 32-bit 數(shù)據(jù)值數(shù)據(jù)值 寄存器和 ALU 是 32-bit 寬! MULS 15 0 MULS r0, r1; Assembler a = a * b; C code 嵌套向量中斷控制

11、器嵌套向量中斷控制器 (NVIC)(NVIC) NVIC 有高效的異常有高效的異常/中斷處理中斷處理 集成在處理器內(nèi)部 與內(nèi)核有更緊密的連接 處理系統(tǒng)異常和中斷 NVIC 支持支持 32 向量向量 異常優(yōu)化 咬尾和晚到中斷處理技術(shù) 完全確定的異常處理時(shí)間性能完全確定的異常處理時(shí)間性能 處理異常時(shí)永遠(yuǎn)占用同樣的系統(tǒng)周期數(shù) 固定的16個(gè)時(shí)鐘周期, 沒有偏差 潛在的時(shí)間偏差由寄存器操作慢引起 所有編程可以使用所有編程可以使用 C 語言實(shí)現(xiàn)語言實(shí)現(xiàn) 30 31 中斷表現(xiàn)中斷表現(xiàn) 中斷時(shí), 硬件根據(jù)狀態(tài)自動(dòng)處理堆棧 中斷處理程序可全部使用C程序?qū)崿F(xiàn) 堆棧內(nèi)容支持 C/C+ ARM體系結(jié)構(gòu)過程調(diào)用標(biāo)準(zhǔn)(A

12、APCS) 復(fù)位時(shí)處理器從0 x0地址處取初始化堆棧指針 r0 r1 r2 r3 r12 r15 (PC) r14 (LR) xPSR Memory r13 (SP) Stack Growth Push 32 軟件支持睡眠模式軟件支持睡眠模式 ARM Cortex-M 系列有支持睡眠狀態(tài)的設(shè)計(jì)系列有支持睡眠狀態(tài)的設(shè)計(jì) 允許極低功耗狀態(tài)操作 對(duì)在應(yīng)用中延長(zhǎng)電池壽命有關(guān)鍵作用 有非常低門陣列的喚醒中斷控制器 (WIC) NVIC Cortex-M0 WIC Wake-up External interrupts Wake-up sensitive Interrupts Power Manageme

13、nt Unit Deep Sleep 睡眠睡眠 CPU 可以時(shí)鐘可控 NVIC 對(duì)中斷保持敏感 深度睡眠深度睡眠 WIC 對(duì)所選擇中斷保持敏感 Cortex-M0 可進(jìn)入狀態(tài)保持 WIC 向向 PMU 發(fā)出喚醒信號(hào)發(fā)出喚醒信號(hào) Core 可以幾乎立刻喚醒 對(duì)外部重要事件反應(yīng) ARM7, M3ARM7, M3和和M0M0對(duì)比對(duì)比: : 指令集指令集 33 ARM7, M3ARM7, M3和和M0M0對(duì)比對(duì)比: : 指令集和操作模式指令集和操作模式 34 ARM7, M3ARM7, M3和和M0M0對(duì)比對(duì)比: : 中斷中斷 35 36 32-bit 32-bit 對(duì)比對(duì)比 8/16-bit MCU

14、 8/16-bit MCU 代碼尺寸代碼尺寸 37 計(jì)算性能計(jì)算性能 38 LPC1100 LPC1100 介紹介紹 內(nèi)核內(nèi)核 Cortex-M0, 50MHz 內(nèi)置嵌套向量中斷控制器(NVIC) 系統(tǒng)定時(shí)器 (24bit) SWD 調(diào)試功能 內(nèi)存內(nèi)存 8 - 32kB Flash (將來128kB) 2 - 8kB SRAM 時(shí)鐘時(shí)鐘 內(nèi)部 RC 時(shí)鐘 主時(shí)鐘 串行外設(shè)串行外設(shè) UART SSP(包含SPI) I2C 內(nèi)部固件內(nèi)部固件 在系統(tǒng)編程 (ISP) , 在應(yīng)用編程 (IAP) 模擬外設(shè)模擬外設(shè) 10-bit ADC (8 channel, 400kHz) 其它外設(shè)其它外設(shè) 4 個(gè)通

15、用定時(shí)器/計(jì)數(shù)器 可編程軟件狗定時(shí)器 (WDT) I/O 管腳管腳 Up to 42 pins Up to 2 high current sourcing/sinking (20mA) pins 系統(tǒng)控制系統(tǒng)控制 電力不足檢測(cè) (BOD) 時(shí)鐘產(chǎn)生單元 (CGU) 電源管理單元 (PMU) 三種低功耗模式: 睡眠, 深度睡眠, 深度掉電 芯片封裝芯片封裝 48-pin LQFP 33-pin HVQFN LPC1100 LPC1100 概述概述 39 40 電源效率高電源效率高 性能效率高性能效率高 代碼效率高代碼效率高 容易使用容易使用 低成本低成本 LPC1100 LPC1100 優(yōu)勢(shì)優(yōu)勢(shì)

16、 Sponsored Session LPC1100 Cortex-M0 LPC1100 Cortex-M0 配置配置 單周期乘法單周期乘法 小端對(duì)齊小端對(duì)齊 操作系統(tǒng)擴(kuò)展操作系統(tǒng)擴(kuò)展 24-bit Sys Tick 操作堆棧指針寄存器 管理調(diào)用指令 調(diào)試調(diào)試 只有串行線調(diào)試 無 JTAG 調(diào)試, 無 SWO 4 個(gè)斷點(diǎn), 2 個(gè)觀測(cè)點(diǎn) 41 LPC1100 LPC1100 框圖框圖 42 LPC1100 LPC1100 電源范圍電源范圍 單單 3.3 V 電源電源 VDD(3V3) 低電壓范圍 1.8 V to 2.0 V 正常電源范圍 2.0 V to 3.6V 片上 DC-DC 轉(zhuǎn)換器

17、VDD(3.3V) 同時(shí)為 ADC 參考電壓 (2.5V- 3.6V) VDD(I/O) I/O 低電壓范圍 1.8 V to 2.0 V I/O 正常電壓范圍 2.0 V to 3.6V 43 44 LPC1100 LPC1100 電源模式電源模式 睡眠模式睡眠模式 Core 時(shí)鐘停止 復(fù)位或中斷重新開始程序運(yùn)行 外設(shè)功能繼續(xù)運(yùn)行 深度睡眠模式深度睡眠模式 所有其它時(shí)鐘停止 (狀態(tài)保持),只有WDO和BOD工作 所有模擬部分停止,數(shù)字部分保持靜態(tài) 由13個(gè)GPIO管腳喚醒 深度掉電模式深度掉電模式 全部芯片電源關(guān) (狀態(tài)丟失),只有PMU的5個(gè)通用寄存器保存 一直處于域寄存器保持狀態(tài), 可以

18、用來通知在深度掉電之前處理器 Core處于什么狀態(tài) 由喚醒管腳喚醒 Performance Current Consumption 45 電流消耗圖標(biāo)電流消耗圖標(biāo) Deep Power- Down 220nA Sleep 2mA Deep- Sleep 6uA Active 12MHz 3mA Active 50MHz 8.6mA Normal voltage supply range VDD(3V3) = 2.0 V to 3.6 V LPC11Cxx / 11xxL / 11Uxx LPC11Cxx / 11xxL / 11Uxx 介紹介紹 46 LPC11Cxx 在LPC11xx基礎(chǔ)上增

19、加了CAN外設(shè) LPC11xxL 具有更低的功耗 LPC11Uxx 有USB外設(shè) 47 NXP LPC1xxx NXP LPC1xxx 系列發(fā)展系列發(fā)展 Performance Peripherals IAR EWARM IAR EWARM 介紹介紹 IAR Embedded Workbench for ARM 是一個(gè)針對(duì)是一個(gè)針對(duì)ARM 處理器的集成開發(fā)環(huán)境,處理器的集成開發(fā)環(huán)境, 包含項(xiàng)目管理器、編輯器、編譯連接工具和支持包含項(xiàng)目管理器、編輯器、編譯連接工具和支持RTOS 的調(diào)試工具,在該環(huán)的調(diào)試工具,在該環(huán) 境下可以使用境下可以使用C/C+和匯編語言方便地開發(fā)嵌入式應(yīng)用程序。和匯編語言方

20、便地開發(fā)嵌入式應(yīng)用程序。IAR EWARM 的主要模塊如下:的主要模塊如下: 項(xiàng)目管理器 功能強(qiáng)大的編輯器 高度優(yōu)化的IAR ARM C/C+ Compiler IAR ARM Assembler 1 個(gè)通用的IAR XLINK Linker IAR XAR 和XLIB 建庫程序和IAR DLIB C/C+運(yùn)行庫 IAR C-SPY 調(diào)試器(先進(jìn)的高級(jí)語言調(diào)試器) 命令行實(shí)用程序 48 IAR EWARM IAR EWARM 介紹介紹 EWARM 編譯器的軟件特色編譯器的軟件特色 先進(jìn)的通用編譯器優(yōu)化和針對(duì)特定處理器的速度優(yōu)化及存 儲(chǔ)器優(yōu)化功能 輕量運(yùn)行庫,用戶可以根據(jù)需要自行配置,提供全部源

21、代 碼 靈活的存儲(chǔ)器控制,允許詳細(xì)地為代碼和數(shù)據(jù)分配地址 去除不需要的函數(shù)和變量 C/C+變量和函數(shù)連接時(shí)全局類型檢查 可選的校驗(yàn)和生成功能,用于運(yùn)行時(shí)映象校驗(yàn) 自動(dòng)將代碼和數(shù)據(jù)放置到非連續(xù)的存儲(chǔ)器區(qū)域 強(qiáng)大的可重定位宏匯編器,支持豐富的命令集和操作符 49 50 RealView MDK 編譯器使用 51 議程議程 RealView MDK 介紹介紹 RealView MDK 使用使用 RealView MDK 程序運(yùn)行機(jī)制程序運(yùn)行機(jī)制 U-LINK2 仿真器仿真器 CoLinkEx 仿真器仿真器 52 Keil RealView MDK Keil RealView MDK 介紹介紹 簡(jiǎn)介簡(jiǎn)

22、介 RealView MDK全稱RealView MDK中國版開發(fā)套件,源自德國Keil公司,被全球超過10萬 的嵌入式開發(fā)工程師驗(yàn)證和使用,是ARM公司目前最新推出的對(duì)各種嵌入式處理器的軟 件開發(fā)工具。RealView MDK集成了業(yè)內(nèi)最領(lǐng)先的技術(shù),包括Vision4集成開發(fā)環(huán)境與 RealView編譯器,支持ARM7、ARM9和最新的Cortex-M0 、 Cortex-M1 、 Cortex-M3和 Cortex-M4核處理器,自動(dòng)配置啟動(dòng)代碼,集成Flash燒寫模塊,強(qiáng)大的Simulation設(shè)備模 擬,性能分析等功能,與ARM之前的工具包ADS等相比,RealView編譯器的最新版本

23、可 將性能改善超過20。 突出特性突出特性 菜鳥的阿拉伯飛毯 啟動(dòng)代碼生成向?qū)?,自?dòng)引導(dǎo),一日千里 高手的無劍勝有劍 軟件模擬器,完全脫離硬件的軟件開發(fā)過程 專家的哈雷望遠(yuǎn)鏡 性能分析器,看得更遠(yuǎn)、看得更細(xì)、看得更清 未來戰(zhàn)士的激光劍 支持Cortex-M0 、 Cortex-M1 、 Cortex-M4和Cortex-M4 業(yè)界最優(yōu)秀的編譯器 RealView 編譯器,代碼更小,性能更高配備ULINK2仿真 器 無需安裝驅(qū)動(dòng) Flash編程模塊 輕松實(shí)現(xiàn)Flash燒寫 絕對(duì)的高性價(jià)比 國際品質(zhì),本土價(jià)格 53 Keil RealView MDK Keil RealView MDK 介紹介紹

24、產(chǎn)品模塊介紹產(chǎn)品模塊介紹 Vision4 IDE 啟動(dòng)代碼生成向?qū)?設(shè)備模擬器性能分析器 RealView 編譯器MircoLib RL-ARM(可選) ULINK2仿真器 Vision4 IDE Vision IDE在全球擁有龐大的用戶群,超過10萬開發(fā)工程師在使用Keil開發(fā)工具。不管以前是用8位、16位MCU,還是 現(xiàn)在改用ARM 32位處理器,Vision IDE簡(jiǎn)單易用,能快速上手。 Vision4 IDE主要特性:主要特性: 功能強(qiáng)大的源代碼編輯器; 可根據(jù)開發(fā)工具配置的設(shè)備數(shù)據(jù)庫; 用于創(chuàng)建和維護(hù)工程的工程管理器; 集匯編、編譯和鏈接過程于一體的編譯工具; 用于設(shè)置開發(fā)工具配置的

25、對(duì)話框; 真正集成高速CPU及片上外設(shè)模擬器的源碼級(jí)調(diào)試器; 高級(jí)GDI接口,可用于目標(biāo)硬件的軟件調(diào)試和ULINK2仿真器的連接; 用于下載應(yīng)用程序到Flash ROM中的Flash編程器; 完善的開發(fā)工具手冊(cè)、設(shè)備數(shù)據(jù)手冊(cè)和用戶向?qū)А?54 Keil RealView MDK Keil RealView MDK 介紹介紹 啟動(dòng)代碼配置向?qū)?dòng)代碼配置向?qū)?Vision4 IDE 的啟動(dòng)代碼配置向?qū)⒏鱾€(gè)所需配置 的功能模塊以對(duì)話框方式展示,附加的提示說明, 幫助你快速輕松的做出選擇,生成完善的啟動(dòng)代碼, 免除手工寫幾百行匯編程序的痛苦。 55 Keil RealView MDK Keil R

26、ealView MDK 介紹介紹 Vision4設(shè)備模擬器設(shè)備模擬器 Vision4設(shè)備模擬器的功能強(qiáng)大,能模擬整個(gè)MCU的行為。使你在沒有硬件或?qū)δ繕?biāo) MCU沒有更深的了解的情況下,仍然可以立即開始開發(fā)軟件。 高效指令集仿真 中斷仿真片內(nèi)外圍設(shè)備仿真 ADC,DAC, EBI,Timers UART,CAN,I2C 外部信號(hào)和 I/O仿真 56 Keil RealView MDK Keil RealView MDK 介紹介紹 性能分析器性能分析器 性能分析器可給所有的MCU實(shí)現(xiàn)如程序運(yùn)行時(shí)間 統(tǒng)計(jì)、被調(diào)用次數(shù)統(tǒng)計(jì)、代碼覆蓋率統(tǒng)計(jì)等高端功 能,而這些功能對(duì)于快速定位死區(qū)代碼,幫助優(yōu)化 分析等起

27、了關(guān)鍵的作用。 57 Keil RealView MDK Keil RealView MDK 介紹介紹 RealViewRealView編譯器(編譯器(RVCTRVCT) RealView MDK集成的RealView編譯器(跟RVDS使用一樣 的編譯器),是業(yè)界最優(yōu)秀的編譯器,它能使代碼容量更 小、執(zhí)行效率更高;使應(yīng)用程序運(yùn)行更快、系統(tǒng)成本更低。 MicroLib 為進(jìn)一步改進(jìn)基于ARM處理器的應(yīng)用代碼密度,RealView MDK采用了新型MicroLib C庫(用于C的ISO標(biāo)準(zhǔn)運(yùn)行時(shí)庫 的一個(gè)子集),并將其代碼鏡像降低最小以滿足微控制器 應(yīng)用的需求。MicroLib C庫可將運(yùn)行時(shí)庫代

28、碼大大降低。 58 Keil RealView MDK Keil RealView MDK 介紹介紹 RealView Real-time Library實(shí)時(shí)庫實(shí)時(shí)庫 RealView實(shí)時(shí)庫(RealView RL-ARM)是為解決基于ARM MCU的嵌入式系統(tǒng) 中的實(shí)時(shí)及通信問題而設(shè)計(jì)的緊密耦合庫集合。它可以非常方便地應(yīng)用于所有 ARM7、ARM9和Cortex-M0 、 Cortex-M1 、 Cortex-M3和Cortex-M4系列的處理 器,使得在ARM處理器上運(yùn)行實(shí)時(shí)程序非常容易。 該實(shí)時(shí)庫包含4個(gè)部分:RTX實(shí)時(shí)內(nèi)核、Flash文件系統(tǒng)、TCP/IP協(xié)議簇和RTL- CAN(控制

29、域網(wǎng)絡(luò))。 RealView實(shí)時(shí)庫可以解決嵌入式開發(fā)中的如下幾個(gè)常見問題: 多任務(wù)(可以在單CPU上管理幾個(gè)工作或任務(wù)); 實(shí)時(shí)控制(可以控制任務(wù)在既定時(shí)間內(nèi)完成); 任務(wù)間通信(可以實(shí)現(xiàn)系統(tǒng)中的任務(wù)間通信); Internet 連接(通過以太網(wǎng)或串口(Modem); 嵌入式Web服務(wù)器(包括CGI腳本); E-mail公告(通過SMTP)。 59 議程議程 RealView MDK 介紹介紹 RealView MDK 使用使用 RealView MDK 程序運(yùn)行機(jī)制程序運(yùn)行機(jī)制 U-LINK2 仿真器仿真器 CoLinkEx 仿真器仿真器 60 Keil RealView MDK Keil

30、RealView MDK 使用使用 創(chuàng)建工程創(chuàng)建工程 Vision是一個(gè)標(biāo)準(zhǔn)的窗口應(yīng)用程序,可以單擊“程序”按鈕開始運(yùn)行。為了創(chuàng) 建一個(gè)新的Vision工程必須做如下處理: 選擇工具集; 創(chuàng)建工程文件; 選擇設(shè)備。 選擇工具集選擇工具集 Vision可以使用ARM RealView編譯工具、ARM ADS編譯器、GNU GCC編譯 器和Keil C ARM編譯器。當(dāng)使用GNU GCC編譯器或ARM ADS編譯器時(shí)必須另 外安裝它們編譯集。實(shí)際使用的工具集可以選擇“ProjectManage”,在彈上 的“Components,Environment and Books”對(duì)話框中選擇“Folde

31、rs/Extensions”頁。 61 Keil RealView MDK Keil RealView MDK 使用使用 創(chuàng)建工程文件創(chuàng)建工程文件 單擊ProjectNew.Vision Project菜單項(xiàng),Vision 4將打開一個(gè)標(biāo)準(zhǔn)對(duì)話框, 輸入希望新建工程的名字即可創(chuàng)建一個(gè)新的工程,建議對(duì)每個(gè)新建工程使用獨(dú) 立的文件夾。例如,這里先建立一個(gè)新的文件夾,然后選擇這個(gè)文件夾作為新 建工程的目錄,輸入新建工程的名字Project1,Vision將會(huì)創(chuàng)建一個(gè)以Project1 . uvproj為名字的新工程文件,它包含了一個(gè)缺省的目標(biāo)(target)和文件組名。 這些內(nèi)容在Project W

32、orkspaceFiles中可以看到。 選擇設(shè)備選擇設(shè)備 在創(chuàng)建一個(gè)新的工程時(shí),Vision要求為 這個(gè)工程選擇一款CPU。當(dāng)選擇設(shè)備對(duì) 話框顯示了Vision的設(shè)備數(shù)據(jù)庫后,只 需要選擇用戶所需的微控制器即可。例 如, 圖中顯示了選擇LPC1114微控制 器, 簡(jiǎn)化了工具的配置。 62 Keil RealView MDK Keil RealView MDK 使用使用 增加連接控制文件增加連接控制文件 對(duì)于GNU和ARM ADS/RealView工具鏈來說,鏈接器的配置是通過鏈接器控制 文件實(shí)現(xiàn)的。這個(gè)文件指定了ARM目標(biāo)硬件的存儲(chǔ)配置。預(yù)配置的鏈接器控制 文件在文件夾.ARM GNU或.AR

33、MADS中。為了與目標(biāo)硬件相匹配,用戶可 能會(huì)修改鏈接器控制文件,所以工程中的那個(gè)文件是預(yù)配置的連接控制文件的 一個(gè)副本。這個(gè)文件可以通過Project-Options for Target對(duì)話框的Linker頁添加到 工程中。 對(duì)于復(fù)雜的memory layout分配方式,應(yīng)該采用scatter File選項(xiàng)指定Scatter文件, 對(duì)于簡(jiǎn)單的工程,直接指定R/O和R/W的基地址即可。關(guān)于Scatter 文件的更多 內(nèi)容,請(qǐng)讀者參考ARM工具相關(guān)資料。 63 Keil RealView MDK Keil RealView MDK 使用使用 添加文件添加文件 創(chuàng)建源文件以后,就可以將這個(gè)文件添

34、加到工程中。Vision提供了幾種方法將 源文件添加到工程中。例如,在Project WorkspaceFiles頁的文件組上單擊鼠標(biāo) 右鍵,然后在彈出的菜單中選擇“Add Files”菜單項(xiàng),這時(shí)將打開標(biāo)準(zhǔn)的文件對(duì) 話框,選擇我們創(chuàng)建的.asm或.c文件即完成源文件的添加。 設(shè)置目標(biāo)硬件的工具選項(xiàng)設(shè)置目標(biāo)硬件的工具選項(xiàng) Vision可以設(shè)置目標(biāo)硬件的選項(xiàng)。通過工具欄 按鈕或選擇“ProjectOptions for Target”菜單項(xiàng), 打開“Options for Target”對(duì)話框,在Target頁中 設(shè)置目標(biāo)硬件及所選CPU片上組件的參數(shù)。 LPC1114的一些參數(shù)設(shè)置如圖3.7所

35、示。 64 Keil RealView MDK Keil RealView MDK 使用使用 編譯鏈接編譯鏈接 一般來說,在新建一個(gè)應(yīng)用程序的時(shí)候OptionsTarget頁中的所有的工具和屬 性都要配置。單擊“Build Target”工具欄按鈕將編譯所有的源文件,鏈接應(yīng)用程 序。當(dāng)編譯有語法錯(cuò)誤的應(yīng)用程序時(shí),Vision將在Output WindowBuild窗口 中顯示錯(cuò)誤和警告信息。單擊這些信息行,Vision將會(huì)定位到相應(yīng)的源代碼處。 圖中顯示了編譯結(jié)果輸出框。 65 Keil RealView MDK Keil RealView MDK 使用使用 程序調(diào)試程序調(diào)試 進(jìn)入調(diào)試模式之后

36、,可以選擇單步、全速運(yùn)行;可以設(shè)置斷點(diǎn)等常規(guī)的調(diào)試。所有有關(guān) 調(diào)試的操作都可以在Debug菜單下找到 當(dāng)程序進(jìn)入調(diào)試時(shí),常用的調(diào)試手段有以下幾種當(dāng)程序進(jìn)入調(diào)試時(shí),常用的調(diào)試手段有以下幾種: - 單步、全速運(yùn)行程序,按快捷鍵F10進(jìn)入單步運(yùn)行程序;按快捷鍵F5進(jìn)入全速運(yùn)行程序 - 對(duì)于各種模式下的寄存器,可以在左邊的窗口中查看??梢圆榭碅RM的7種模 式下的 寄存器。當(dāng)處理器處于任何一種模式時(shí),可以查看Current中所有的寄存器的值。處理器 從一種狀態(tài)改變到另外一種狀態(tài)時(shí),該模式下物理上獨(dú)立的寄存器將會(huì)被用到 - 設(shè)置斷點(diǎn):選中需要設(shè)置斷點(diǎn)的行,然后按F9鍵即在該行設(shè)置斷點(diǎn),程序運(yùn)行到此處 就

37、 停止運(yùn)行。 - 查看變量的實(shí)時(shí)值:對(duì)于局部變量,選擇“ViewWatch Top of Stack DCD Reset_Handler ; Reset Handler DCD NMI_Handler ; NMI Handler DCD HardFault_Handler ; Hard Fault Handler DCD MemManage_Handler ; MPU Fault Handler DCD BusFault_Handler ; Bus Fault Handler DCD UsageFault_Handler ; Usage Fault Handler DCD 0 ; Reserv

38、ed DCD 0 ; Reserved DCD 0 ; Reserved DCD 0 ; Reserved DCD SVC_Handler ; SVCall Handler DCD DebugMon_Handler ; Debug Monitor Handler DCD 0 ; Reserved DCD PendSV_Handler ; PendSV Handler DCD SysTick_Handler ; SysTick Handler ; External Interrupts DCD WAKEUP_IRQHandler ; 15 wakeup sources for all the D

39、CD WAKEUP_IRQHandler ; I/O pins starting from PIO0 (0:11) DCD WAKEUP_IRQHandler ; all 40 are routed to the same ISR DCD WAKEUP_IRQHandler DCD WAKEUP_IRQHandler DCD WAKEUP_IRQHandler DCD WAKEUP_IRQHandler DCD WAKEUP_IRQHandler DCD WAKEUP_IRQHandler DCD WAKEUP_IRQHandler DCD WAKEUP_IRQHandler DCD WAKE

40、UP_IRQHandler DCD WAKEUP_IRQHandler ; PIO1 (0:11) DCD CAN_IRQHandler ; CAN DCD SSP1_IRQHandler ; SSP1 DCD I2C_IRQHandler ; I2C DCD TIMER16_0_IRQHandler ; 16-bit Timer0 DCD TIMER16_1_IRQHandler ; 16-bit Timer1 DCD TIMER32_0_IRQHandler ; 32-bit Timer0 DCD TIMER32_1_IRQHandler ; 32-bit Timer1 DCD SSP0_

41、IRQHandler ; SSP0 DCD UART_IRQHandler ; UART DCD USB_IRQHandler ; USB IRQ DCD USB_FIQHandler ; USB FIQ DCD ADC_IRQHandler ; A/D Converter DCD WDT_IRQHandler ; Watchdog timer DCD BOD_IRQHandler ; Brown Out Detect DCD FMC_IRQHandler ; IP2111 Flash Memory Controller DCD PIOINT3_IRQHandler ; PIO INT3 DC

42、D PIOINT2_IRQHandler ; PIO INT2 DCD PIOINT1_IRQHandler ; PIO INT1 DCD PIOINT0_IRQHandler ; PIO INT0 NVICNVIC介紹介紹 其它中斷控制器其它中斷控制器 由第三方廠家分別獨(dú)立設(shè)計(jì) 不同廠家設(shè)計(jì)不同 ARM Core 只有IRQ和FIQ兩個(gè)中斷 NVIC ( (嵌套向量中斷控制器嵌套向量中斷控制器) ) NVIC是Cortex-M0內(nèi)部集成部分 與CPU緊耦合可提供低中斷潛伏 控制系統(tǒng)異常和外設(shè)中斷 NVIC支持32個(gè)向量中斷 4個(gè)硬件處理的可編程中斷優(yōu)先級(jí) 可產(chǎn)生軟件中斷 中斷控制寄存器中斷控

43、制寄存器 下面列出下面列出NVIC控制寄存器,具體位含義見控制寄存器,具體位含義見LPC1114 手冊(cè)手冊(cè) ISER, 中斷設(shè)置允許寄存器 ICER, 中斷清除允許寄存器 ISPR, 中斷設(shè)置判斷寄存器 ICPR, 中斷清除判斷寄存器 IPR0-IPR7, 中斷優(yōu)先級(jí)寄存器 外設(shè)中斷控制寄存器外設(shè)中斷控制寄存器 除NVIC控制寄存器外,還需要設(shè)置外設(shè)中斷控制器。例如:UART發(fā) 送和接收,是否允許中斷可以分別設(shè)置 中斷優(yōu)先級(jí)控制中斷優(yōu)先級(jí)控制 IPR0-IPR7 為中斷優(yōu)先級(jí)控制寄存器為中斷優(yōu)先級(jí)控制寄存器 IPRn為32-bit, 分為4個(gè)8-bit區(qū), 每個(gè)區(qū)控制一個(gè)中斷的優(yōu)先級(jí) 共有4個(gè)

44、優(yōu)先級(jí), 0-3, 0的優(yōu)先級(jí)最高 每個(gè)8-bit的bit7, bit6控制優(yōu)先級(jí), bit5-0為0 通過在IPRn中寫入相應(yīng)優(yōu)先級(jí)數(shù), 決定優(yōu)先級(jí) 系統(tǒng)異常優(yōu)先級(jí)控制寄存器系統(tǒng)異常優(yōu)先級(jí)控制寄存器 SHPR2, SHPR3為系統(tǒng)異常優(yōu)先級(jí)控制寄存器 可控制的系統(tǒng)異常為SVCall, PendSV, SysTick 系統(tǒng)異常的優(yōu)先級(jí)為0-3 硬件介紹硬件介紹 CMSIS介紹介紹 GPIO接口接口 UART接口接口 中斷接口中斷接口 系統(tǒng)和外設(shè)系統(tǒng)和外設(shè)定時(shí)器定時(shí)器 A/D轉(zhuǎn)換轉(zhuǎn)換 SPI/SSP總線總線 I2C總線總線 系統(tǒng)綜合編程系統(tǒng)綜合編程 代碼保護(hù)代碼保護(hù) LPC1114 LPC111

45、4 開發(fā)開發(fā) LPC1114 LPC1114 定時(shí)器介紹定時(shí)器介紹 SysTick 系統(tǒng)定時(shí)器系統(tǒng)定時(shí)器 Cortex-M0 Core 內(nèi)部包含的24-bit定時(shí)器 可以產(chǎn)生中斷, 中斷號(hào)15 非常便于RTOS 為不同型號(hào)Cortex-M0芯片帶來一致性 2個(gè)個(gè)16-bit外設(shè)計(jì)數(shù)器外設(shè)計(jì)數(shù)器/定時(shí)器定時(shí)器 16-bit計(jì)數(shù)/定時(shí)器和16-bit可編程預(yù)分頻器 1個(gè)16-bit捕獲通道 4個(gè)16-bit匹配寄存器 可用于PWM輸出 可產(chǎn)生中斷 2個(gè)個(gè)32-bit外設(shè)計(jì)數(shù)器外設(shè)計(jì)數(shù)器/定時(shí)器定時(shí)器 32-bit計(jì)數(shù)/定時(shí)器和32-bit可編程預(yù)分頻器 1個(gè)32-bit捕獲通道 4個(gè)32-bit匹

46、配寄存器 可用于PWM輸出 可產(chǎn)生中斷 SysTick SysTick 寄存器寄存器 下面列出下面列出SysTick控制寄存器,具體位含義見控制寄存器,具體位含義見 LPC1114手冊(cè)手冊(cè) SYST_CSR, 控制和狀態(tài)寄存器 SYST_RVR, 重裝載值寄存器 SYST_CVR, 當(dāng)前值寄存器 SYST_CVLIB, 校準(zhǔn)值寄存器 PRI_15, 中斷優(yōu)先級(jí)寄存器, 請(qǐng)參見中斷部分 外設(shè)定時(shí)器結(jié)構(gòu)外設(shè)定時(shí)器結(jié)構(gòu) 16-bit 16-bit 外設(shè)定時(shí)器寄存器外設(shè)定時(shí)器寄存器 下面列出下面列出16-bit 定時(shí)器控制寄存器,具體位含義見定時(shí)器控制寄存器,具體位含義見LPC1114手冊(cè)手冊(cè). 共共

47、0-1兩個(gè)兩個(gè), 用用n 表示表示 TMR16BnIR, 中斷寄存器 TMR16BnTCR, 定時(shí)器控制寄存器 TMR16BnTC, 定時(shí)器計(jì)數(shù)器 TMR16BnPR, 預(yù)分頻寄存器 TMR16BnPC, 預(yù)分頻計(jì)數(shù)器 TMR16BnMCR, 匹配控制寄存器 TMR16BnMR0-3, 匹配寄存器0-3 TMR16BnCCR, 捕獲控制寄存器 TMR16BnCR0, 捕獲寄存器0 TMR16BnEMR, 外部匹配寄存器 TMR16BnCTCR, 計(jì)數(shù)器控制寄存器 TMR16BnPWMC, PWM控制寄存器 32-bit 32-bit 外設(shè)定時(shí)器寄存器外設(shè)定時(shí)器寄存器 下面列出下面列出32-bi

48、t 定時(shí)器控制寄存器,具體位含義見定時(shí)器控制寄存器,具體位含義見LPC1114手冊(cè)手冊(cè). 共共0-1兩個(gè)兩個(gè), 用用n 表示表示 TMR32BnIR, 中斷寄存器 TMR32BnTCR, 定時(shí)器控制寄存器 TMR32BnTC, 定時(shí)器計(jì)數(shù)器 TMR32BnPR, 預(yù)分頻寄存器 TMR32BnPC, 預(yù)分頻計(jì)數(shù)器 TMR32BnMCR, 匹配控制寄存器 TMR32BnMR0-3, 匹配寄存器0-3 TMR32BnCCR, 捕獲控制寄存器 TMR32BnCR0, 捕獲寄存器0 TMR32BnEMR, 外部匹配寄存器 TMR32BnCTCR, 計(jì)數(shù)器控制寄存器 TMR32BnPWMC, PWM控制寄

49、存器 硬件介紹硬件介紹 CMSIS介紹介紹 GPIO接口接口 UART接口接口 中斷接口中斷接口 系統(tǒng)和外設(shè)定時(shí)器系統(tǒng)和外設(shè)定時(shí)器 A/D轉(zhuǎn)換轉(zhuǎn)換 SPI/SSP總線總線 I2C總線總線 系統(tǒng)綜合編程系統(tǒng)綜合編程 代碼保護(hù)代碼保護(hù) LPC1114 LPC1114 開發(fā)開發(fā) A/D A/D 轉(zhuǎn)換概念轉(zhuǎn)換概念 AD轉(zhuǎn)換是將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),被廣泛應(yīng)用于控制領(lǐng)域轉(zhuǎn)換是將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),被廣泛應(yīng)用于控制領(lǐng)域 常見常見A/D轉(zhuǎn)換器分類:轉(zhuǎn)換器分類: 積分型 積分型AD工作原理是將輸入電壓轉(zhuǎn)換成時(shí)間(脈沖寬度信號(hào))或頻 率(脈沖頻率),然后由定時(shí)器/計(jì)數(shù)器獲得數(shù)字值。其優(yōu)點(diǎn)是用簡(jiǎn) 單電路就能

50、獲得高分辨率,但缺點(diǎn)是由于轉(zhuǎn)換精度依賴于積分時(shí) 間,因此轉(zhuǎn)換速率極低。初期的單片AD轉(zhuǎn)換器大多采用積分型, 現(xiàn)在逐次比較型已逐步成為主流。 逐次比較型 逐次比較型AD由一個(gè)比較器和DA轉(zhuǎn)換器通過逐次比較邏輯構(gòu)成, 從MSB開始,順序地對(duì)每一位將輸入電壓與內(nèi)置DA轉(zhuǎn)換器輸出 進(jìn)行比較,經(jīng)n次比較而輸出數(shù)字值。其電路規(guī)模屬于中等。其 優(yōu)點(diǎn)是速度較高、功耗低,在低分辯率(12位)時(shí)價(jià)格很高。 并行比較型/串并行比較型 并行比較型AD采用多個(gè)比較器,僅作一次比較而實(shí)行轉(zhuǎn)換,又 稱FLash(快速)型。由于轉(zhuǎn)換速率極高,n位的轉(zhuǎn)換需要2n-1個(gè)比 較器,因此電路規(guī)模也極大,價(jià)格也高,只適用于視頻AD轉(zhuǎn)換

51、 器等速度特別高的領(lǐng)域。 A/D A/D 轉(zhuǎn)換器的主要技術(shù)指標(biāo)轉(zhuǎn)換器的主要技術(shù)指標(biāo) 分辯率分辯率(Resolution) 指數(shù)字量變化一個(gè)最小量時(shí)模擬信號(hào)的變化量 轉(zhuǎn)換速率轉(zhuǎn)換速率(Conversion Rate) 是指完成一次從模擬轉(zhuǎn)換到數(shù)字的AD轉(zhuǎn)換所需的時(shí)間的倒數(shù)。 積分型AD的轉(zhuǎn)換時(shí)間是毫秒級(jí)屬低速AD,逐次比較型AD是微秒 級(jí)屬中速AD,全并行/串并行型AD可達(dá)到納秒級(jí)。 量化誤差量化誤差(Quantizing Error) 由于AD的有限分辯率而引起的誤差 偏移誤差偏移誤差(Offset Error) 輸入信號(hào)為零時(shí)輸出信號(hào)不為零的值 滿刻度誤差滿刻度誤差(Full Scale E

52、rror) 滿度輸出時(shí)對(duì)應(yīng)的輸入信號(hào)與理想輸入信號(hào)值之差。 線性度線性度(Linearity) 實(shí)際轉(zhuǎn)換器的轉(zhuǎn)移函數(shù)與理想直線的最大偏移,不包括以上三種誤差。 LPC1114 ADCLPC1114 ADC 精度 10-bit 轉(zhuǎn)化時(shí)間 2.44us 低功耗 測(cè)量范圍 0 3.6V (不超 過VDD) 8通道 LPC1114 ADCLPC1114 ADC寄存器寄存器 下面列出下面列出LPC1114 ADC寄存器,具體位含義見寄存器,具體位含義見 LPC1114手冊(cè)手冊(cè) AD0CR, A/D控制寄存器 AD0GDR, A/D全局?jǐn)?shù)據(jù)寄存器 AD0INTEN, A/D中斷允許寄存器 AD0DR0-7

53、, A/D通道0-7數(shù)據(jù)寄存器 AD0STAT, A/D狀態(tài)寄存器 硬件介紹硬件介紹 CMSIS介紹介紹 GPIO接口接口 UART接口接口 中斷接口中斷接口 系統(tǒng)和外設(shè)定時(shí)器系統(tǒng)和外設(shè)定時(shí)器 A/D轉(zhuǎn)換轉(zhuǎn)換 SPI/SSP總線總線 I2C總線總線 系統(tǒng)綜合編程系統(tǒng)綜合編程 代碼保護(hù)代碼保護(hù) LPC1114 LPC1114 開發(fā)開發(fā) LPC1114 SPI/SSP LPC1114 SPI/SSP 控制器特性控制器特性 LPC1114有2個(gè)SPI/SSP接口,可以實(shí)現(xiàn)串行數(shù)據(jù)的傳輸。每個(gè)SPI/SSP 接口各有2個(gè)移位寄存器分別負(fù)責(zé)接收和發(fā)送數(shù)據(jù)。在傳送數(shù)據(jù)期間, 發(fā)送數(shù)據(jù)和接收數(shù)據(jù)是同步進(jìn)行的

54、,傳送的頻率可由相應(yīng)的控制寄存 器設(shè)定。如果只想發(fā)送數(shù)據(jù),則接收數(shù)據(jù)為啞元。如果只想接收數(shù)據(jù), 則需發(fā)送啞元“0 xff”。SPI接口共有4個(gè)引腳信號(hào):串行時(shí)鐘 SCK(SPICLK0,1)、主入從出MISO(SPICLK0,1)和主出從入 MOSI(SPIMOSI0,1)數(shù)據(jù)線、低電平有效引腳/SS(nSSO,1)。 兼容 Motorola SPI, 4-wire TI SSI, 和 National Semiconductor Microwire buses 支持主和從操作 發(fā)送和接收都有8個(gè)幀 FIFOs 每幀可以 4-bit 到 16-bit SPI SPI 總線介紹總線介紹 SPI

55、(Serial Peripheral interface) 就是串行外圍設(shè)備接口, 是一種高速的、全雙工、同步的通信總線,并且在芯片的 管腳上只占用四根線,節(jié)約了芯片的管腳,同時(shí)為PCB 的 布局上節(jié)省空間,提供方便。 該接口一般使用4 條線:串行時(shí)鐘線(SCK)、主機(jī)輸入/ 從機(jī)輸出數(shù)據(jù)線MISO、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI 和 低電平有效的從機(jī)選擇線SS(有的SPI 接口芯片帶有中斷信 號(hào)線INT 或INT、有的SPI 接口芯片沒有主機(jī)輸出/從機(jī)輸入 數(shù)據(jù)線MOSI)。 SPI 的工作模式有兩種:主模式和從模式,無論那種模式, 都支持3Mbit/s的速率 SPISPI總線時(shí)序總線時(shí)序

56、 典型接線典型接線 LPC1114 SPI/SSPLPC1114 SPI/SSP寄存器寄存器 下面列出下面列出LPC1114 SPI/SSP寄存器,具體位含義見寄存器,具體位含義見 LPC1114手冊(cè)手冊(cè), 寄存器分為寄存器分為0和和1兩組兩組 SSPnCR0-1, 控制寄存器0-1 SSPnDR, 數(shù)據(jù)寄存器 SSPnSR, 狀態(tài)寄存器 SSPnCPSR, 時(shí)鐘分頻寄存器 SSPnIMSC, 中斷屏蔽設(shè)置和清除寄存器 SSPnRIS, 原始中斷狀態(tài)寄存器 SSPnMIS, 屏蔽中斷狀態(tài)寄存器 SSPnICR, 中斷清除寄存器 硬件介紹硬件介紹 CMSIS介紹介紹 GPIO接口接口 UART接

57、口接口 中斷接口中斷接口 系統(tǒng)和外設(shè)系統(tǒng)和外設(shè)定時(shí)器定時(shí)器 A/D轉(zhuǎn)換轉(zhuǎn)換 SPI/SSP總線總線 I2C總線總線 系統(tǒng)綜合編程系統(tǒng)綜合編程 代碼保護(hù)代碼保護(hù) LPC1114 LPC1114 開發(fā)開發(fā) I2C I2C 概述概述 I2C使用兩根雙向信號(hào)線來傳遞數(shù)據(jù)使用兩根雙向信號(hào)線來傳遞數(shù)據(jù) Serial Clock Line (SCL) Serial Data Address (SDA) 總線速度分為標(biāo)準(zhǔn)速度總線速度分為標(biāo)準(zhǔn)速度100kbps,快速模式,快速模式 400kbps,高速模式,高速模式1Mbps 特點(diǎn)是:半雙工,僅需要兩根線(所以又被稱為特點(diǎn)是:半雙工,僅需要兩根線(所以又被稱為

58、2-wire總線)總線) I2C I2C 總線硬件協(xié)議介紹總線硬件協(xié)議介紹 SDA下降沿跟隨一個(gè)SCL下降沿表 示傳輸開始 SCL上升沿跟隨一個(gè)SDA上升沿表 示傳輸結(jié)束 主設(shè)備傳送一個(gè)字節(jié)到從設(shè)備 I2CI2C總線的限制總線的限制 I2C總線設(shè)備都是OC/OD輸出,所以高電平靠上拉 電阻產(chǎn)生 由于驅(qū)動(dòng)能力和靜態(tài)功耗限制,上拉電阻不能取 太小值,導(dǎo)致電壓上升率dV/dt受限 I2C總線上總負(fù)載電容越小越有利于驅(qū)動(dòng) I2C高速規(guī)范要求負(fù)載電容小于400pF I2C I2C 總線結(jié)構(gòu)框圖總線結(jié)構(gòu)框圖 LPC1114 I2C LPC1114 I2C 總線控制器讀寫總線控制器讀寫 7bit地址的寫模式

59、 7bit地址的讀模式 LPC1114 I2C LPC1114 I2C 總線控制器數(shù)據(jù)傳輸總線控制器數(shù)據(jù)傳輸 數(shù)據(jù)傳輸,支持中斷方式 LPC1114 I2C LPC1114 I2C 寄存器寄存器 LPC1114 I2C 寄存器數(shù)量多寄存器數(shù)量多, 這里只介紹分類這里只介紹分類, 具具 體寄存器參見體寄存器參見LPC1114手冊(cè)手冊(cè) 控制寄存器 狀態(tài)寄存器 數(shù)據(jù)寄存器 地址寄存器 時(shí)鐘周期寄存器 硬件介紹硬件介紹 CMSIS介紹介紹 GPIO接口接口 UART接口接口 中斷接口中斷接口 系統(tǒng)和外設(shè)系統(tǒng)和外設(shè)定時(shí)器定時(shí)器 A/D轉(zhuǎn)換轉(zhuǎn)換 SPI/SSP總線總線 I2C總線總線 系統(tǒng)綜合編程系統(tǒng)綜合

60、編程 代碼保護(hù)代碼保護(hù) LPC1114 LPC1114 開發(fā)開發(fā) LPC1114 LPC1114 系統(tǒng)綜合編程系統(tǒng)綜合編程 下面列出下面列出LPC1114 系統(tǒng)綜合編程的注意事項(xiàng)系統(tǒng)綜合編程的注意事項(xiàng) 系統(tǒng)時(shí)鐘的設(shè)置 選擇適當(dāng)?shù)臅r(shí)鐘源 外設(shè)時(shí)鐘的配置 配置適合的分頻 外設(shè)電源的開啟 電源開啟由時(shí)鐘Enable控制 復(fù)用管腳的設(shè)置 大部分管腳有多個(gè)復(fù)用功能, 需要根據(jù)實(shí)際使用進(jìn)行設(shè)置 外設(shè)驅(qū)動(dòng)文件管理 每一外設(shè)驅(qū)動(dòng)程序分別有單獨(dú)的源代碼和頭文件 中斷配置 中斷優(yōu)先級(jí)設(shè)置(NVIC), 中斷允許和中斷禁止等 外設(shè)關(guān)聯(lián) 各外設(shè)的互相配合和影響 硬件介紹硬件介紹 CMSIS介紹介紹 GPIO接口接口

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論