嵌入式系统设计5_第1页
嵌入式系统设计5_第2页
嵌入式系统设计5_第3页
嵌入式系统设计5_第4页
嵌入式系统设计5_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五讲 LPC2000系列ARM硬件结构v主要内容 一、向量中断控制器 二、GPIO 三、UART 四、定时器 五、A/D转换器 六、PWM脉宽调制器 5.1 向量中断控制器1、简介 向量中断控制器(Vectored Interrupt Controller,简写为VIC)具有32个中断请求输入(本模块具有这些中断请求输入,而不是芯片具有这些中断请求连接到本模块),可将其编程分为3类:FIQ、向量IRQ和非向量IRQ。 ARM PrimeCell向量中断控制器;最多32个中断请求输入;16个向量IRQ中断;16个优先级,可动态分配给中断请求;可产生软件中断。 2、特点中断输入请求在VIC中被设

2、置为三类:FIQ中断: 即快速中断请求,具有最高优先级,向量IRQ中断:具有中等优先级,该级别可分配32个请求中的16个。非向量IRQ中断:优先级最低3、中断类型 (1)中断使能寄存器(VICIntEnable) 使能分配为FIR或IRQ的中断请求或软件中断。 (2)中断使能清零寄存器VICIntEnClear) 禁止相应中断输入的使能。 (3)中断选择寄存器(VICIntSelect) 将中断请求分配为FIR或IRQ,对应为1,则分配 为FIR,为0分配为IRQ。4、相关的寄存器 (4)向量控制寄存器(VICVectCntl 0-15) 每一个寄存器控制16个向量IRQ slot 中的一个。

3、Slot 0优先级最高,slot15的优先级最低。 (5)向量地址寄存器(VICVectAddr0-15) 保存16个向量IRQ slot 中断服务程序的地址。 (6)默认向量地址寄存器(VICDefVectAddr) 保存非向量IRQ中断服务程序的地址。 (7)向量地址寄存器( VICVectAddr ) 当发生一个IRQ中断时,VIC会将对应的IRQ服务程 序地址存入该寄存器。 5、中断源模块可产生中断的标志VIC通道号WDT看门狗中断(WDINT)0保留给软件中断1ARM内核EmbeddedICE,DbgCommRx2ARM内核EmbeddedICE,DbgCommTx3定时器0匹配03

4、(MR0,MR1,MR2,MR3)捕获03(CR0,CR1,CR2,CR3)4定时器1匹配03(MR0,MR1,MR2,MR3)捕获03(CR0,CR1,CR2,CR3)5UART0Rx线状态(RLS),发送保持寄存器空(THRE)Rx数据可用(RDA),字符超时指示(CTI)6模块可产生中断的标志VIC通道号UART1Rx线状态(RLS),发送保持寄存器空(THRE)Rx数据可用(RDA),字符超时指示(CTI)7PWM0匹配06(MR0,MR1,MR2,MR3,MR4,MR5,MR6)8I2CSI(状态改变)9SPI0SPI中断标志(SPIF),模式错误(MODF)10SPI1SPI中断标

5、志(SPIF),模式错误(MODF)11PLLPLL锁定(PLOCK)12RTC计数器增加(RTCCIF),报警(RTCALF)13模块可产生中断的标志VIC通道号系统控制外部中断0(EINT0)14系统控制外部中断1(EINT1)15系统控制外部中断2(EINT2)16系统控制外部中断3(EINT3)17A/DA/D转换器18保留保留19316、使用VIC的注意要点(1)在片内RAM中调试程序时需要使用中断,那么必须将向量重新影射到地址0X00000000。(2)多个FIR中断源会增加中断程序的延迟,建议只将一个中断分配为FIR。(3)中断服务程序完毕后,对外设中断标志的清零会第VIC寄存器

6、的对应位产生影响。另外,必须在中断返回前对VICVectAddr寄存器执行一次写操作。(4)要禁止VIC中断,通过写VICIntEnClr来实现。5.2 GPIO1、特性单独位的方向控制,即每一个I/O口都可单独设置为输入/输出模式。单独控制I/O输出的置位或清零。所有I/O口在复位后默认为输入。2、用途通用I/O口;驱动LED或其他指示器;控制片外器件;检测数字输入,如键盘或开关信号。3、相关寄存器v简介 LPC2210有四个通用IO口:P0、P1、P2和P3 。P0口使用了30个引脚,P1口有16个引脚可用作GPIO功能,P2和P3,这个两个端口与外部存储器总线复用,当它们全部作为GPIO

7、使用时,GPIO引脚数多达112个。具体寄存器描述(1)GPIO引脚值寄存器(IO0PIN) 提供GPIO引脚的值,反映了外部环境对引脚的影响。可用于IO测试。(2)GPIO输出置位寄存器(IO0SET) 当引脚配置为GPIO输出模式时,可使用该寄存器从引脚输出高电平;写入0无效。读该寄存器的值返回的GPIO输出寄存器的值。(3)GPIO输出清零寄存器(IO0CLR) 当引脚配置为GPIO输出模式时,可使用该寄存器从引脚输出低电平。(4)GPIO方向寄存器(IO0DIR) 当引脚配置为GPIO模式时,可使用该寄存器控制引脚的方向。输出置为1,输入置为0。三、UART01、特性16字节接收FIF

8、O和16字节发送FIFO;寄存器位置符合16C550工业标准;接收FIFO触发点可设置为1、4、8或14字节;内置波特率发生器。2、引脚描述UART0引脚描述如下表:引脚名称类型描述RxD0输入串行输入,接收数据TxD0输出串行输出,发送数据3、相关寄存器描述 UAR0包含10个8位寄存器:(1)UART0接受缓存寄存器(U0RBR) U0RBR为只读存储器,是UART0 Rx FIFO的最高字节。(2)UART0发送器保持寄存器(U0THR) U0RBR为只读存储器,是UART0 Tx FIFO的最高字节。(3)UAR0除数锁存LSB寄存器(U0DLL) 除数锁存是波特率发生器的一部分,它保

9、存了用于产生波特率时钟的VPB时钟分频值,波特率时钟必须是波特率的16倍。(4)UAR0除数锁存MSB寄存器(U0DLM) 与U0DLL一起构成一个16位除数。(5)UAR0中断使能寄存器(U0IER) 用于使能四个UAR0中断源。(6)UAR0 FIFO 控制寄存器(U0FCR) 控制UAR0 Rx 和 Tx FIFO的操作。(7)UAR0中断标识寄存器(U0IIR) 提供状态代码用于指示以一个挂起中断的中断源和优先级。(8)UAR0线控制寄存器(U0LCR) 决定发送和接收数据字符的格式。(9)UAR0线状态寄存器(U0LSR) 为只读寄存器,他提供UAR0 Tx 和 Rx模块的状态信息。

10、(10)UAR0高速缓存寄存器(U0SCR) 可自由对该寄存器进行读写。5.4 定时器0/11、特性带有32位可编程预分频器的32位定时器/计数器;每个定时器的4个32位捕获通道可在输入信号跳 变时捕获定时器的瞬时值;4个32位匹配寄存器,匹配发生后的动作可设置;4个对应于匹配寄存器的外部输出,匹配输出的信号特征可设置。2、用途用于对内部事件进行计数的间隔定时器;通过捕获输入实现脉宽解调器;自由运行的定时器。3、寄存器描述(1)中断寄存器(IR) 包括4个位用于匹配中断,4个位用于捕获中断。如 有中断产生,相应位置位。(2)定时器控制寄存器(TCR) 定时器控制寄存器TCR用于控制定时器计数器

11、的操作。(3)定时器计数器(TC) 为32位计数器,计数频率为PCLK经过预分频计数器后频率值。(4)预分频寄存器(PR) 用于设定预分频值,为32位寄存器。(5)预分频计数器寄存器(PC) 为32位计数器,计数频率为PCLK,当计数值等于预分频计数器的值时,TC计数器加一。(6)匹配寄存器(MR0-MR3) 连续与定时器计数器值相比较,当匹配时触发相应的动作。(7)匹配控制寄存器(MCR) 用于控制在匹配时所执行的操作。(8)捕获寄存器(CR0-CR3) 在捕获引脚上产生捕获时间时,CR装载TC的值。(9)捕获控制寄存器(CCR) 捕获控制寄存器,用于设置捕获信号的触发特征,以及捕获发生时是

12、否产生中断。(10)外部匹配寄存器(EMR) 提供外部匹配引脚的控制和状态。5.5 A/D转换器1、简介 A/D转换器的基本时钟由VPB时钟提供。可编程分频器可将时钟调整至逐步逼近转换所需的4.5MHz(最大)。如要要得到10位精度的结果,需要11个A/D转换时钟。A/D转换器的参考电压来自V3A和VSSA引脚。2、特性10位逐次逼近式模式转换器;4个或8个引脚复用为A/D输入脚;测量范围:03.3V;10位转换事件=2.44us;一路或多路输入所谓Burst转换模式;可选由输入引脚的跳变或定时器的匹配信号触发转化;具有掉电模式。3、寄存器描述 A/D转换器的基址为0 x0034000。包括2

13、个寄存器。(1)A/D控制寄存器(ADCR) A/D转换开始前,必须设置ADCR寄存器来选择工作模式。(2)A/D数据寄存器(ADDR) 该寄存器包含ADC的结束标志位和10位的转换结果(当结束标志位为1时,转换结果才是有效的)。4、使用A/D转换器的注意要点(1)AD转换器的时钟不能大于4.5MHz;(2)使用MAT引脚触发AD转换启动时,相应的MAT信号不必输出到引脚。使用MAT引脚触发的方法,可以实现AD转换定时启动;(3)BURST模式下,每次转换结束后立即开始下一路的转换,所以BURST模式具有最高的效率;(4)软件模式下,SEL字段中只能有一位置位,如果多位置位,将使用最低有效位。

14、5.6 PWM脉宽调制器1、简介 PWM基于标准的定时器模块并具有其所有特性。不过LPC2210只将其PWM功能输出到管脚。定时器对外设时钟(pclk)进行计数,可选择产生中断或者根据7个匹配寄存器在到达指定的定时值时执行其它动作。PWM功能也建立在匹配寄存器事件基础之上。 2、特性带可编程32位预分频的32位定时器/计数器;7个匹配寄存器,可实现6个单边沿控制或3个双边沿控制PWM输出,或两者的混合输出;脉冲周期和宽度可以是任何的定时器计数值;匹配寄存器更新与脉冲输出同步,防止产生错误脉冲;支持单边沿控制和双边沿控制的PWM输出。3、PWM的单/双边沿控制 LPC2000的PWM基于标准的定

15、时器模块,具有定时器的所有特性,它是定时器功能中匹配事件的功能扩展。使用PWM功能,可以在指定引脚输出需要的波形。输出波形可分为两类: (1)单边沿输出 使用两个匹配寄存器就可以实现单边沿控制的PWM输出。其中一个匹配寄存器(PWMMR0)控制PWM周期,另一个匹配寄存器控制PWM边沿的位置,即占空比。PWMMR0是所有PWM输出共用的,所以每增加一路PWM输出,实际上只要增加一个控制占空比的匹配寄存器。当PWMMR0发生匹配时,输出都会变成高电平。 (2)实现双边沿输出需要3个匹配寄存器进行控制。其中PWMMR0用于控制PWM周期,其它两个匹配寄存器分别控制PWM输出的前沿和后沿的位置。与单

16、边沿输出一样,PWMMR0是所有输出共用的,所以每增加一路双边沿输出,需要增加两个匹配控制寄存器。 使用双边沿控制PWM输出时,指定的匹配寄存器控制输出的上升和下降沿。这样就产生了正脉冲(当上升沿先于下降沿时)和负脉冲(当下降沿先于上升沿时)。 4、寄存器描述(1)PWM中断寄存器(PWMIR) 如果有中断产生,则PWMIR中的对应位会置位;否则为0。向对应的IR位写入1会复位中断,写入0无效。(2)PWM定时器控制寄存器(PWMMTCR) 控制PWM定时器计数器功能(禁止或复位)。(3) PWM定时器计数器(PWMMTC) 为32位计数器,计数频率为PCLK经过预分频计数器后的频率值。(4)PWM预分频寄存器(PWMPR) 用于设定预分频值,为32位寄存器。(5)PWM预分频计数器控制(PWMPC) 为32位计数器,计数频率为PCLK,当计数值等于分频计数器的值时,TC计数器加一。(6)PWM匹配寄存器(PWMMR0) 连续与PWM定时器计数值相比较,当两个值相等时,自动触发相应动作。 (7)PWM匹配控制寄存器(PWMMCR) P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论