




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、重庆理工大学嵌入式体系结构课程总结题目: LPC2131 ARM硬件结构及程序设计二级学院计算机科学与工程专业计算机科学与技术班级37-3学生姓名周艺静 学号 11103070334教师刘政时间2013. 11.10成绩目录1)系统控制和启动过程2)GPIO3)向量中断及外部中断输入4)定时器5)SPI6)I 2C7)UART8)A/D9)WDT10)PWM共 17 页 第 1 页、 启 动过程和控制系统1. )系统启动:ARM微处理器在上电或复位后首先运行 Boot Block 中的一段代码,这段代码称为 “引导代码” ,有芯片厂商固化在芯片中。此后,在正式运行用户 Main 函数之前,还需
2、要运行一段启动代码,由用户添加。 启动代码包括向量表定义,对战初始化,系统变量初始化,中断系统初始化, I/O 初 始化,外围初始化,地址重映射等。流程图:( 2.)系统控制:一个 ARM 芯片中通常有很多功能部件, 有一些部件是全局性的, 它们状态的改变可能引起 整个系统运行状态的改变,这些部件我们统一称之为系统控制模块。在这些系统控制模块中, 有些部件需要外部引脚的配合, 如晶体振荡器、 外部复位输入。模块包括 : 晶体振荡器 ,复位 ,存储器映射控制 ,锁相环 (PLL),VPB 分频器 ,功率控制 ,唤醒定时器共 17 页 第 2 页部件名称功能简介晶体振荡器通过外接晶振或时钟源为系统
3、提供时钟信号复位复位使 ARM 内核与外设部件进入一个确定的初始状 态存储器映射控制控制异常向量表的重新设方式锁相环( PLL )将晶体振荡器输入的时钟倍频到一个合适的时钟频率VPB 分频器将内核时钟与外设时钟分开的部件功率控制使处理器空闲或者掉电,还能关闭指定的功能部件,以降低芯片功耗唤醒定时器系统上电或掉电唤醒后,保证晶体振荡器能输出稳定的时钟信号在系统控制模块中,有些部件需要在进行寄存器配置后才能正常工作,如存储器映射控制、锁相环等。名称描述访问存储器映射控制MEMMAP存储器映射控制R/W锁相环PLLCONPLL 控制寄存器R/WPLLCFGPLL 配置寄存器R/W共 17 页 第 3
4、 页PLLSTATPLL状态寄存器ROPLLFEEDPLL馈送寄存器WO、 GPIO 介绍GPIO:LPC2131微控制器具有两个端口 P0和 P1,可以作为 GPIO使用的引脚为 46 个。ARM的 GPIO 具有如下特征:1、可以独立控制每个 GPIO口的方向(输入 / 输出模式)2、可以独立设置没 GOIO得输出状态(高 / 低电平)。3、所有 GPI 口在复位后默认为输入状态。GPIO用于输出控制或者用于引脚电平状态的读取。GPIO相关的寄存器包括:引脚值寄存器 IOxPIN :读取该寄存器可以了解 GPIO引脚当前的电平状态。Bak=IO0PIN方向寄存器 IOxDIR :控制引脚的
5、输入输出方向。IO0DIR=0x000000FF输出位置寄存器 IOxSET:控制引脚输出高电平。IO0SET=0x00000FFBak=IO0SET输出清零寄存器 IOxCLR:控制引脚输出低电平。IO0CLR=0x000000F引脚设置为输出方式时, 输出状态由 IOxSET 和 IOxCLR 中最后操作的寄存器决定; 大部分 GPIO 输出为推挽方式 (个别引脚为开漏输出) ,正常拉出 /灌入电流均为 4mA (短时间极限值 40mA ); 复位后默认所有 GPIO 为输入模式。共 17 页 第 4 页三、向量中断及外部中断输入ARM7TDMI 内核具有两个中断输入,分别为 IRQ 中断
6、和 FIQ 中断。 向量中断控制器VIC)负责管理芯片的中断源,最多可以管理 32 个中断输入请求。程序状态寄存器 CPSR 与 VIC 的关系ARM 内核通过 CPSR 来监视和控制内部的操作,模式和 FIQ 模式的使能。中断分类CPSR中的“I”位和 “F”位分别用来控制 IRQ当I = 1 时,禁止 IRQ 中断当I = 0 时,使能 IRQ 中断中断输入请求可以在 VIC 中被设置为以下三类:FIQ 中断:具有最高优先级;向量 IRQ 中断:具有中等优先级;非向量 IRQ 中断:具有最低优先级;FIQ中断具有最高优先级。一旦发生FIQ中断, ARM处理器进入 FIQ模式, PC指向 F
7、IQ异常入口 0x1C,开始处理 FIQ 中断。VICIntSelect=1(1EINT0_num);EXTINT=0x01;VICIntEnable=(1EINT0_num);IRQ 中断具有中等优先级。一旦发生向量IRQ 中断, ARM处理器进入 IRQ 模式PC 指向 IRQ异常入口 0x18,同时姓梁 IRQ 服务程序的地址从相应通道的向量 地址寄存器中复制到 VIC 的向量地址寄存器, PC根据 VICVectAddr 内的地址进 行跳转,执行相应的服务程序。 VICIntSelect=0x00;VICVectCnt10=0x20|Timer0_num; VICVectAddr0=(
8、unsigned int)Time0_ISR;T0IR=0x01;VICIntEnable=(1Timer0_num);IRQ 中断具有最低优先级。一旦发生非向量IRQ中断, ARM处理器进入 IRQ 模共 17 页 第 5 页VICDefVectAddr 复制到向量地同时中断服务程序的地址从默认向量地址寄存器 础器 VICVectAddr 中。VICIntSelect=0x00000000;VICDeVectAddr=(unsigned int)Eint0_ISR;EXTINT=0x01;VICIntEnable=(1EINT0_num);寄存器描述控制寄存器控制寄存器功能描述中断选择寄存器
9、 VICIntSelect: 将中断请求非别分配为 FIQ或 IRQ。 中断使能寄存器 VICIntEnable :用来使能已经分配的中断, 中断使能清零寄存器 VICIntEnClear :禁止对应通道的中断源产生中断。寄存器描述参数设置寄存器参数设置寄存器功能描述向量地址寄存器 VICVectAddr :存放 IRQ 中断服务程序的地址。 默认向量地址寄存器 VICDefVectAddr: 保存非向量 IRQ 中断服务程序的地址。向量地址寄存器 015 VICVectAddr015: 保存 16 个向量 IRQ 通道的中断服务地址。 向量控制寄存器 015 VICDefVectCnt101
10、5 :确定每个向量 IRQ 的中断通道的优先级。寄存器描述状态寄存器共 17 页 第 6 页IRQ 中断的设计实例:将定时器 0 中断分配为向量 IRQ 通道 0,中断服务程序地址设置为Timer0_ISR 。代码:VICIntSelect = 0x00000000;VICVectAddr0 = (int)Timer0_ISR;VICVectCntl0 = (0x20 | 4);VICIntEnable = (1 4);LPC2000 系列 ARM 具有 4路外部中断,可以设置为 2 种类型:边沿触发:上升沿触发下降沿触发电平触发:高电平触发低电平触发1. 边沿触发中断 .:下降沿触发类型中断
11、的请求和清除时序。2. 电平触发中断 .:低电平触发类型中断的请求和清除时序。3. 外部中断源: LPC2000 系列微控制器几乎所有的外设部件都可以产生中断。其中外部中断含有 4 个独立的中断输入。外部中断应用示例:PINSEL1 = (PINSEL1&0xFFFFFFFC) | 0x01; / 初始化 EINT0 为电平中断共 17 页 第 7 页EXTMODE = EXTMODE & 0x0E;/ 初始化 EINT0 为下降沿中断PINSEL1 = (PINSEL1&0xFFFFFFFC) | 0x01;EXTMODE = EXTMODE | 0x01;EXTPOLAR = EXTPOL
12、AR & 0x0E;/ 清除所有外部中断标志EXTINT = 0x0F;四、定时器定时器: LPC21/22XX含有两个 32位定时器: 定时器 0 和定时器 1.定时器对外设时钟进行技 术,根据 4 个匹配寄存器的设定, 可设置为匹配是产生中断或执行其他动作。 还包括 4 个捕 获输入,拥有在输入信号发生跳变时捕获定时器的当前值,并且可选择产生中断。定时器主要功能 :1. 预分屏器2. 匹配功能3. 捕获功能基本寄存器:IR 中断标志寄存器:用于捕获中断的标志位。T0IR=Oxff;TCR定时器控制寄存器:用于控制定时器计数器的操作。T0TCR=0x01;TC定时器计数器:为 32 位计数器
13、,计数频率为 PCLK经过预分频计数器后频率值。PR预分频寄存器:用于设定预分频值,为32 位寄存器。PC预分频计数器:为 32 位计数器,计数频率为 PCLK,当计数值等于预分频计数器的值时, TC计数器加 1。匹配功能寄存器:MCR匹配控制寄存器:用于控制在匹配时是否产生中断或复位TC。MR0匹配寄存器 0:通过 MCR寄存器可以设置匹配发生时的动作。MR1匹配寄存器 1: 通过 MCR寄存器可以设置匹配发生时的动作。MR2匹配寄存器 2: 通过 MCR寄存器可以设置匹配发生时的动作。MR3匹配寄存器 3: 通过 MCR寄存器可以设置匹配发生时的动作。EMR外部匹配寄存器 :EMR控制外部
14、匹配管脚 MATx.0 MATx.3。捕获功能寄存器:CCR捕获控制寄存器: CCR控制用于装载捕获寄存器的捕获输入边沿以及在发生捕获时是否 产生中断。CR0捕获寄存器 0:当在 CAP0.0(CAP1.0) 上产生捕获事件时, CR0装载 TC的值。共 17 页 第 8 页CR1捕获寄存器 1:当在 CAP0.0(CAP1.0) 上产生捕获事件时, CR0装载 TC的值。CR2捕获寄存器 2:当在 CAP0.0(CAP1.0) 上产生捕获事件时, CR0装载 TC的值。CR3捕获寄存器 3:当在 CAP0.0(CAP1.0) 上产生捕获事件时, CR0装载 TC的值。中断标志寄存器 IR控制
15、寄存器 TCR定时器控制寄存器 TCR 用于控制定时器计数器的操作。定时器操作示例定时器 0 初始化Void Time0Init(void)T0TC = 0;/ 定时器设置为 0T0PR = 0;/ 设置预分频值T0MCR = 0x03;/ 设置匹配模式,复位并中断T0MR0 = Fpclk / 10;/ 设置匹配值, 0.1ST0TCR = 0x01;/ 启动定时器 0五、SPI介绍SPI 接口特性如下: 1具有两个完全独立的 SPI 控制器。2. 遵循同步串行接口规范3. 全双工数据通信4. 可配置为 SPI 主机或从机共 17 页 第 9 页5. 最大数据位速率为外设时钟 Fpclk 的
16、 1/8引脚描述SCK:行时钟。用于同步 SPI 接口间数据传输的时钟信号。该时钟信号总是由主机输出。SSEL: 从机选择。 SPI 从机选择信号是一个低有效信号。MISO: 主入从出。 MISO信号是一个单向的信号,它将数据由从机传输到主机。MOSI: 主出从入。 MOSI信号是一个单向的信号,它将数据从主机传输到从机。数据传输 时钟极性控制位 CPOL 该位决定了 SPI 总线空闲时, SCK 时钟线的电平状态。CPOL = 0,当 SPI总线空闲时, SCK 时钟线为低电平;CPOL = 1,当 SPI总线空闲时, SCK 时钟线为高电平。 时钟相位控制位 CPHA 该位决定 SPI 总
17、线上数据的采样位置 。CPHA = 0:SPI 总线在时钟线的第 1 个跳变沿处采样数据;CPHA = 1:SPI 总线在时钟线的第 2 个跳变沿处采样数据。CPOL 和 CPHA 位在 SPI 控制寄存器中进行设置。SPI 寄存器SPCR:SPI 控制寄存器。该寄存器控制 SPI 的操作模式SPSR: SPI 状态寄存器。该寄存器显示 SPI 的状态SPDR: SPI数据寄存器。该双向寄存器为 SPI 提供发送和接收的数据。发送数据通过写该寄 存器提供。 SPI 接收的数据可以从该寄存器读出。SPCCR: SPI 时钟计数寄存器。该寄存器控制主机SCK的频率SPINT: SPI 中断标志寄存
18、器。该寄存器包含 SPI 接口的中断标志SPI 应用示例作为主机#define MSTR (1 5)#define CPOL (1 4)#define CPHA (1 3)#define LSBF (1 6)#define SPI_MODE (MSTR | CPOL) void MSpiIni(uint8 fdiv)if(fdiv =2.44us5. 一路活多路输入的 Burst 转换模式6. 转换触发信号可选择:输入引脚的跳变或定时器的匹配7. 具有掉电模式A/D 寄存器A/D 控制寄存器( ADCR):A/D 转换开始前,必须写入 ADCR寄存器来选择工作模式。A/D数据寄存器(ADDR)
19、:该寄存器包含 ADC的DONE标志位和 10位的转换结果 (当DONE 位为 1 时,转换结果才是有效的)AIN0 初始化示例:PINSEL1=0x00400000;ADCR=(10)|(Fpclk/10000-1)8)|(016)|(017)|(021)|(022)|(024)|(0 6)&0x3ff;ADC中断 中断选择寄存器 VICIntEnable 用来分配 VIC通道的中断,当某一位为 1 时,敌营的通道中 断分配为 FIQ;当某一位为 0 时,对应的通道中断分配为 IRQ。 VICIntSelect18 用来控制 通道 18,即:1.ICIntEnable18 = 0时,通道 1
20、8 中断禁止, ADC中断分配为 IRQ 中断。2. 当 VICIntEnable18 = 1 时,通道 18 中断使能, ADC中断分配为 FIQ中断。九、WDT看门狗特性:1. 带内部预分频器的可编程 32 位定时器2. 如果没有周期性重装(喂狗)动作,则产生片内复位3. 看门狗软件使能后,必须由复位来禁止4. 错误/不完整的喂狗时序会导致复位 / 中断;5. 具有指示看门狗复位的标志和模式;6. 在 WDTC寄存器中设置模式,并使能看门狗;7. 通过向 WDFEED寄存器顺序写入 0*55 ,启动看门狗;8. 在看门狗向下溢出之前应当再次喂狗以防止复位或中断共 17 页 第 14 页看门
21、狗寄存器描述:1. 看门狗模式寄存器 WDMO:D包含看门狗定时器的基本模式和状态 WDMOD=0x02;2. 看门狗定时器常数寄存器 WDT:C 决定看门狗超时值 WDTC=ox10000; WDMOD=0x03;3. 看门狗喂狗寄存器 WDFEE:D通过它执行特定喂狗时序 WDFFED=0xAA WDFFED=0x55;4. 看门狗定时器值寄存器 WDT:V 用于读取看门狗定时器的当前值 WDT基本操作方法:1. 设置看门狗定时器重装值 WDTC;2. 设置看门狗的工作模式中断、中断且复位;3. 周期性喂狗,调用函数 WDFEEDWDT中断当 VICIntEnable0 = 0 时,通道
22、0 中断禁止,分配为 IRQ 中断。当 VICIntEnable0 = 1 时,通道 0 中断使能,即 WDT中断使能。分配为 FIQ 中断。十、 PWMPWM 的特性:1. 独立的 32位定时器 /计数器2.7 个匹配寄存器,可实现 6 路单边沿 PWM输出,或 3 路双边沿 PWM输出,或两者的混合输 出3. 所有 PWM输出的频率都是相同的4. 脉冲周期和宽度可以是任意的定时器计数值5. 匹配寄存器更新与脉冲输出同步,防止产生错误脉冲6. 如果不能使 PWM模式, PWM定时器可作为一个标准定时器使用 PWM 结构:PWM寄存器描述共 17 页 第 15 页1.PWM中断寄存器 PWMIR:如果有中断产生, PWMIR中的对应位会置位,否则为 0。2 PWM定时器控制寄存器 .PWMTC:R控制 PWM定时 /计数器功能(禁止或复位) 。PWMTCR=0x09;3. PWM定时器计数器 PWMT:C当预分频计数器到达技术的上限时, 32 位定时器计数器 TC 加1.如果 PWMTC在到达技术上限之前没有被复位,将一直技术到0*FFFF FFFF, 然后翻转到0*0000 0000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 图书发行合同3篇
- 预交保证金租房合同2篇
- 琵琶课件教学课件
- 甘孜建设工程检测方案(3篇)
- 福州净化工程方案(3篇)
- 理想信念课件
- 电网工程签证方案实例(3篇)
- 安全整改教育培训课件
- 农业温室智慧农业技术在国际市场的应用与发展研究报告
- 地质工程策划方案模板(3篇)
- 口腔科消毒管理制度
- 2025年中国煤炭洗选设备行业市场前景预测及投资价值评估分析报告
- DB31/T 1052-2017临床核医学工作场所放射防护与检测评价规范
- 货币互换协议书
- 航运企业船员安全培训及宣传制度
- 高校教师命题能力培养机制研究
- GB/T 37507-2025项目、项目群和项目组合管理项目管理指南
- 粪菌移植技术进展
- GB 14930.2-2025食品安全国家标准消毒剂
- 《食品专业英语》课件-1 Food+Processing-+An+Overview
- 全过程跟踪审计实施方案
评论
0/150
提交评论