欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第4章 LPC2000系列ARM硬件结构(14~18).ppt

    • 资源ID:2337335       资源大小:2.36MB        全文页数:155页
    • 资源格式: PPT        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第4章 LPC2000系列ARM硬件结构(14~18).ppt

    1.LPC2000系列简介2.引脚描述3.存储器寻址4.系统控制模块5.存储器加速模块(MAM)6.外部存储器控制器(EMC)7.引脚连接模块8.GPIO,LPC2000系列ARM硬件结构,9.向量中断控制器10.外部中断输入11.定时器0和定时器112.SPI接口13.I2C接口14.UART(0、1)15.A/D转换器16.看门狗17.脉宽调制器(PWM)18.实时时钟,4.14 UART(0、1),特性,LPC2000系列微控制器具有两个功能强大的UART,其特性如下:16字节接收FIFO和16字节发送FIFO;寄存器位置符合16C550工业标准;接收FIFO触发点可设置为1、4、8或14字节;内置波特率发生器;UART1含有标准调制解调器接口信号。,应用示例,只有UART1才有Modem接口,UART结构图,UART发送单元,UART0、UART1各含有1个16字节的发送FIFO缓冲区。UnTHR是UARTn发送FIFO的最高字节。UART的发送FIFO是一直使能的。,UART发送FIFO缓冲区,UART接收模块,UART0、UART1各含有1个16字节的接收FIFO缓冲区。软件设置接收FIFO缓冲区的触发字节。,UART接收FIFO缓冲区,UART线状态寄存器UnLSR,线状态寄存器(UnLSR)为只读寄存器,它提供UARTn发送和接收模块的状态信息。,4.14 UART(0、1),UART波特率发生器,UART0和UART1各含有一个单独的波特率发生器,两者的功能相同,且相互独立。,4.14 UART(0、1),这两个寄存器决定波特率时钟的频率,而波特率时钟必须是波特率的16倍。波特率计算公式如下:BaudRate=FPCLK/(U0DLM,U0DLL16),Modem控制寄存器U1MCR,该寄存器使能Modem的回写模式,并控制Modem的输出信号。,4.14 UART(0、1),4.14 UART(0、1),回写模式,在Modem回写模式下,发送器输出的串行数据在内部连接到接收器的串行输入端。输入脚RxD1对回写模式无影响,输出脚TxD1保持总为1的状态。4个Modem输入(CTS,DSR,RI和DCD)与外部断开。此时,U1MSR的高4位分别由U1MCR的低4位驱动。,Modem状态寄存器,该寄存器为只读,它反映Modem输入信号的状态信息。需要注意的是,Mdoem信号对UART1的操作没有直接影响,Modem信号的操作是通过软件来实现的。,4.14 UART(0、1),4.14 UART(0、1),中断接口,UART0和UART1的中断接口包含中断使能寄存器(UnIER)和中断标识寄存器(UnIIR)。,4.14 UART(0、1),中断使能寄存器,UnIER可以控制UARTn的4个中断源。其中RBR中断使能包括两个中断,一个是接收数据可用(RDA)中断,一个是接收超时中断(CTI)。稍后将对各中断源作详细介绍。,4.14 UART(0、1),中断标识寄存器,UnIIR提供状态代码用于指示一个挂起中断的中断源和优先级。在访问UnIIR过程中,中断被冻结。如果在访问UnIIR时产生了中断,该中断将被记录,在下次访问UnIIR时可以读出,避免了中断的丢失。,注意:只有UART1才有Modem中断。,4.14 UART(0、1),UART中断示意图,注意:只有UART1才有Modem中断。,4.14 UART(0、1),UART中断优先级,RLS中断:该中断为最高优先级。它在UARTn发生下面的错误时产生中断:1、溢出错误(OE)2、奇偶错误(PE)3、帧错误(FE)4、间隔中断(BI)通过查看UnLSR4:1可以了解到产生该中断的错误条件。读取UnLSR时清除该中断;,4.14 UART(0、1),中断源说明,RDA中断:该中断与CTI中断并列为第二优先级。当接收的有效数据到达接收FIFO设置寄存器(UnFCR)中设置的触发点时,RDA被激活。当接收FIFO中的有效数据少于触发点时,RDA复位;,1.移位寄存器(UnRSR)从RxDn引脚接收串行数据后,送入接收FIFO中;,2.当接收FIFO中的有效数据数量到达预定的触发点时,置位RDA中断;,3.从UnRBR寄存器中读取FIFO中最早到达的数据,当FIFO中的有效数据小于预定触发点时,清零RDA中断;,DATA,中断源说明,CTI中断:当接收FIFO中的有效数据少于预定的触发点数量(至少有一个字节)时,如果在一定时间内仍然没有接收到新的数据,那将触发该中断。这个时间为:3.54.5个字节所需要的时间。注:对接收FIFO的任何操作都会清零该中断标志。,接收FIFO,触发点设置=8,UnRBR,1.移位寄存器(UnRSR)从RxDn引脚接收串行数据后,送入接收FIFO中;,2.当接收FIFO中的有效数据少于触发个数,但至少有一个时,如果长时间没有数据到达,将触发CTI中断;,3.从UnRBR中读取接收FIFO中的数据,或者有新的数据送入接收FIFO,都将清零CTI中断;,UnRSR,DATA,RxDn,中断源说明,接收FIFO,触发点设置=8,UnRBR,说明:“3.54.5个字节的时间”,其意思是在串口当前的波特率下,发送3.54.5个字节所需要的时间;,UnRSR,DATA,RxDn,注意:当接收FIFO中存在多个数据,从UnRBR读取数据,但是没有读完所有数据,那么在经过3.54.5个字节的时间后将触发CTI中断;,CTI中断:当接收FIFO中的有效数据少于预定的触发点数量(至少有一个字节)时,如果在一定时间内仍然没有接收到新的数据,那将触发该中断。这个时间为:3.54.5个字节所需要的时间。注:对接收FIFO的任何操作都会清零该中断标志。,中断源说明,THRE中断:该中断为第三优先级。当发送FIFO为空并且满足一定的条件时,该中断将被触发。这些条件是:,发送FIFO,1.系统启动时,虽然发送FIFO为空,但不会产生THRE中断。,DATA,UnTSR,2.在上一次发生THRE中断后,向发送FIFO中写入1个字节数据,将在延时一个字节加上一个停止位后发生THRE中断。,这是因为:如果发送移位寄存器为空,那么写入发送FIFO的数据将直接进入发送移位寄存器;,此时发送FIFO仍然为空,如果立即产生THRE中断,就会影响紧接着要写入发送FIFO的数据;,所以在发送完该字节以及一个停止位后,才产生THRE中断;,3.如果在发送FIFO中有过两个字节以上的数据,但是现在发送FIFO为空时,将立即触发THRE中断。,当THRE中断为当前有效的最高优先级中断时,往UnTHR写数据,或者对UnIIR的读操作,将使THRE中断复位。,中断源说明,4.14 UART(0、1),UART设置,使用UART前需要设置的寄存器,4.14 UART(0、1),UART设置,使用UART前需要设置的寄存器,4.14 UART(0、1),UART设置,使用UART前需要设置的寄存器UnLCR,设置UART通信字符长度、停止位个数、奇偶校验位等参数。,UART特殊寄存器,位置相同的寄存器,UART应用示例操作流程,UART应用示例初始化代码,UART0初始化代码:,#define UART_BPS 115200Void UART0_Ini(void)uint16 Fdiv;PINSEL0=0 x00000005;U0LCR=0 x83;Fdiv=(Fpclk/16)/UART_BPS;U0DLM=Fdiv/256;U0DLL=Fdiv%256;U0LCR=0 x03;,UART应用示例初始化代码,UART0初始化代码:,#define UART_BPS 115200Void UART0_Ini(void)uint16 Fdiv;PINSEL0=0 x00000005;U0LCR=0 x83;Fdiv=(Fpclk/16)/UART_BPS;U0DLM=Fdiv/256;U0DLL=Fdiv%256;U0LCR=0 x03;,UART应用示例收发数据,void UART0_SendByte(uint8 data)U0THR=data;while(U0LSR,uint8 UART0_RcvByte(void)uint8 rcv_data;while(U0LSR,查询方式发送一字节数据:,查询方式接收一字节数据:,UART中断,UART与VIC的关系,UART0、UART1分别位于VIC的通道6和通道7。中断使能寄存器VICIntEnable的Bit6和Bit7分别用来控制通道6和通道7的使能。,UART中断,UART0与VIC的关系,当VICIntEnable6=0时,通道6中断禁止;,UART中断,UART0与VIC的关系,当VICIntEnable6=0时,通道6中断禁止;,当VICIntEnable6=1时,通道6中断使能。,UART中断,UART1与VIC的关系,当VICIntEnable7=0时,通道7中断禁止;,UART中断,UART1与VIC的关系,当VICIntEnable7=0时,通道7中断禁止;,当VICIntEnable7=1时,通道7中断使能。,UART中断,UART中断,LPC2000系列ARM UART中断分为 四类:,接收中断 发送中断(THRE)接收状态中断(RLS)Modem中断(Modem),接收超时中断(CTI)接收数据可用中断(RDA),UART中断,UART中断示意图,注意:只有UART1具有Modem中断。,UART中断,UART中断示意图,注意:只有UART1具有Modem中断。,中断使能位为1时,对应的中断使能,UART中断总结,接收中断数据可用中断(RDA),LPC2000系列ARM UART接口具有16字节的接收FIFO,接收触发点可以设置为1、4、8、14字节,当接收到的字节数达到接收触发点时,便会触发中断。,触发RDA中断,UART中断总结,接收中断接收超时中断(CTI),当接收FIFO中的有效数据个数少于触发个数时(注:接收FIFO中至少有一个字节),如果在3.5到4.5个字符的时间内,没有收到其它数据,将触发CTI中断。,触发CTI中断,UART中断总结,发送中断,LPC2000系列ARM UART接口具有16字节的发送FIFO,当发送FIFO由非空变为空时,便会触发“发送中断”。,触发发送中断,注意:前面对“发送中断”做了详细的描述,在这里,为了描述方便,将发送中断简单表示成“发送FIFO由非空变为空”。,UART中断总结,接收状态中断,在UART接收数据时,如果出现:溢出错误(OE)、奇偶错误(PE)、帧错误(FE)和间隔中断(BI)中的任意一个错误时,都会触发接收状态中断。,+,触发接收状态中断,UART中断总结,Modem中断,UART1接口具有Modem中断,当引脚DCD、DSR或CTS上发生状态变化时,都会触发Modem中断。此外,Modem输入引脚RI上低到高电平的跳变也会产生一个Modem中断。,+,触发Modem中断,1.LPC2000系列简介2.引脚描述3.存储器寻址4.系统控制模块5.存储器加速模块(MAM)6.外部存储器控制器(EMC)7.引脚连接模块8.GPIO,LPC2000系列ARM硬件结构,9.向量中断控制器10.外部中断输入11.定时器0和定时器112.SPI接口13.I2C接口14.UART(0、1)15.A/D转换器16.看门狗17.脉宽调制器(PWM)18.实时时钟,4.15 A/D转换器,特性,LPC2114/2124具有一个AD转换器,LPC2200系列具有两个AD转换器,它们具有如下特性:10位逐次逼近式模式转换器;测量范围:03.3V;10位转换事件=2.44us;可设置AD转换触发方式;具有掉电模式。,4.15 A/D转换器,A/D转换器描述,A/D转换器的基本时钟由VPB时钟提供。可编程分频器可将时钟调整至逐步逼近转换所需的4.5MHz(最大)。如要要得到10位精度的结果,需要11个A/D转换时钟。A/D转换器的参考电压来自V3A和VSSA引脚。,4.15 A/D转换器,A/D转换器描述,A/D引脚描述,4.15 A/D转换器,A/D转换器内部结构,A/D转换器寄存器描述,A/D转换器寄存器描述控制寄存器,ADCR,ADCR,A/D转换器寄存器描述控制寄存器,ADCR,A/D转换器寄存器描述控制寄存器,ADCR,A/D转换器寄存器描述控制寄存器,ADCR,首先转换最低有效位,再转换更高的有效位,A/D转换器寄存器描述控制寄存器,ADCR,A/D转换器寄存器描述控制寄存器,ADCR,A/D转换器寄存器描述控制寄存器,ADCR,A/D转换器寄存器描述控制寄存器,ADCR,A/D转换器寄存器描述控制寄存器,ADCR,A/D转换器寄存器描述控制寄存器,ADDR,A/D转换器寄存器描述数据寄存器,ADDR,A/D转换器寄存器描述数据寄存器,ADDR,A/D转换器寄存器描述数据寄存器,ADDR,A/D转换器寄存器描述数据寄存器,ADDR,A/D转换器寄存器描述数据寄存器,ADDR,A/D转换器寄存器描述数据寄存器,ADDR,A/D转换器寄存器描述数据寄存器,ADC中断与VIC的关系,ADC中断,ADC处于VIC的通道18,中断使能寄存器VICIntEnable用来控制VIC通道的中断使能。,ADC中断与VIC的关系,ADC中断,ADC处于VIC的通道18,中断使能寄存器VICIntEnable用来控制VIC通道的中断使能。,当VICIntEnable18=0时,通道18中断禁止;,ADC中断与VIC的关系,ADC处于VIC的通道18,中断使能寄存器VICIntEnable用来控制VIC通道的中断使能。,当VICIntEnable18=0时,通道18中断禁止;,ADC中断,当VICIntEnable18=1时,通道18中断使能;,ADC中断说明,ADC中断,A/D转换器没有专门的中断使能位,这一点是和其它功能部件所不同的。,启动A/D转换,A/D转换后,DONE置位,触发中断。,4.15 A/D转换器,使用A/D转换器的注意要点,AD转换器的时钟不能大于4.5MHz;使用MAT引脚触发AD转换启动时,相应的MAT信号不必输出到引脚。使用MAT引脚触发的方法,可以实现AD转换定时启动;BURST模式下,每次转换结束后立即开始下一路的转换,所以BURST模式具有最高的效率;软件模式下,SEL字段中只能有一位置位,如果多位置位,将使用最低有效位。,A/D转换器操作示例,操作流程,A/D转换器操作示例,#define ADCLK 4500000/定义AD部件时钟频率,单位:Hz#define ADBIT 10/定义BURST模式下的转换精度#define ADBIT2(10-ADBIT).PINSEL1=(PINSEL1.,使用软件方式对Ain0转换:,设置引脚连接模块,硬件触发边沿设置,AD启动设置,测试模式设置,AD部件上电设置,BURST模式精度,BURST模式禁止,启动AD转换,等待转换结束,读取转换结果,转换通道选择,ADC部件时钟,1.LPC2000系列简介2.引脚描述3.存储器寻址4.系统控制模块5.存储器加速模块(MAM)6.外部存储器控制器(EMC)7.引脚连接模块8.GPIO,LPC2000系列ARM硬件结构,9.向量中断控制器10.外部中断输入11.定时器0和定时器112.SPI接口13.I2C接口14.UART(0、1)15.A/D转换器16.看门狗17.脉宽调制器(PWM)18.实时时钟,4.16 看门狗,看门狗简介,在嵌入式应用中,CPU必须可靠工作,即使因为某种原因进入了一个错误状态,系统也应该可以自动恢复。看门狗的用途就是使微控制器在进入错误状态后的一定时间内复位。其原理是在系统正常工作时,用户程序每隔一段时间执行喂狗动作(一些寄存器的特定操作),如果系统出错,喂狗间隔超过看门狗溢出时间,那么看门狗将会产生复位信号,使微控制器复位。,4.16 看门狗,特性,LPC2000系列微控制器都集成有看门狗部件,其特性为:带内部预分频器的可编程32位定时器;如果没有周期性重装(喂狗)动作,则产生片内复位;具有调试模式;看门狗软件使能后,必须由复位来禁止;错误的喂狗动作,将立即引起复位。,看门狗内部结构图,看门狗寄存器描述,寄存器描述看门狗模式寄存器,寄存器描述看门狗模式寄存器,寄存器描述看门狗模式寄存器,寄存器描述看门狗模式寄存器,寄存器描述看门狗常数寄存器,该寄存器决定看门狗超时值,当喂狗时序产生时,该寄存器的内容重新装入看门狗定时器。该寄存器的复位值为0 xFF,即使写入更小的值,也会装入0 xFF。溢出最小时间:tpclk0 xFF4溢出最大时间:tpclk0 xFFFFFFFF4,0 xAA,寄存器描述看门狗喂狗寄存器,向该寄存器写入0 xAA,然后写入0 x55会使WDTC的值重新装入看门狗定时器。如果看门狗通过WDMOD寄存器使能,那么第一次喂狗操作还将启动看门狗运行。在看门狗能够产生中断/复位之前,即看门狗溢出之前,必须完成一次有效的喂狗时序。注意:如果喂狗时序不正确,将在喂狗之后的第二个PCLK周期产生看门狗复位。,0 x55,寄存器描述看门狗定时器值寄存器,该寄存器用于读取看门狗定时器的当前值,该寄存器为只读。,WDT中断与VIC的关系,WDT中断,WDT处于VIC的通道0,中断使能寄存器VICIntEnable用来控制VIC通道的中断使能。,WDT中断与VIC的关系,WDT中断,WDT处于VIC的通道0,中断使能寄存器VICIntEnable用来控制VIC通道的中断使能。,当VICIntEnable0=0时,通道0中断禁止;,WDT中断与VIC的关系,WDT处于VIC的通道0,中断使能寄存器VICIntEnable用来控制VIC通道的中断使能。,当VICIntEnable0=0时,通道0中断禁止;,WDT中断,当VICIntEnable0=1时,通道0中断使能;,WDT中断注意事项:,WDT中断,WDT的中断标志位无法通过软件清零,只能通过硬件复位清零。因此,当发生WDT中断时,只能通过禁止WDT中断的方式返回,即,VICIntEnable0=0。,4.16 看门狗,使用看门狗的注意要点,WDT定时器为递减计数,向下溢出时产生中断和(或)复位;使能看门狗后,必需要要执行一次正确的喂狗操作才能启动看门狗;看门狗没有独立的振荡器,其使用PCLK作为时钟。所以CPU不能进入掉电模式,否则看门狗将停止工作;看门狗溢出时间=Ntpclk4,使用示例,操作流程,使用示例,Void WDTInit(void)/看门狗初始化 WDTC=0 x10000;WDMOD=0 x03;WdtFeed();Void WdtFeed(void)/喂狗程序 WDFEED=0 xAA;WDFEED=0 x55;,C代码:,1.LPC2000系列简介2.引脚描述3.存储器寻址4.系统控制模块5.存储器加速模块(MAM)6.外部存储器控制器(EMC)7.引脚连接模块8.GPIO,LPC2000系列ARM硬件结构,9.向量中断控制器10.外部中断输入11.定时器0和定时器112.SPI接口13.I2C接口14.UART(0、1)15.A/D转换器16.看门狗17.脉宽调制器(PWM)18.实时时钟,4.17 脉宽调制器,特性,独立的32位定时器/计数器;7个匹配寄存器,可实现6路单边沿PWM输出,或3路双边沿PWM输出,或两者的混合输出;所有PWM输出的频率都是相同的;脉冲周期和宽度可以是任意的定时器计数值;匹配寄存器更新与脉冲输出同步,防止产生错误脉冲。,4.17 脉宽调制器,PWM简介,LPC2000的PWM基于标准的定时器模块,具有定时器的所有特性,它是定时器匹配功能的扩展。使用PWM功能,可以在指定引脚输出需要的波形。输出波形可分为两类:单边沿输出;双边沿输出。,PWM简介单边沿输出,使用两个匹配寄存器就可以实现单边沿PWM输出。这两个匹配寄存器的功能:控制PWM周期PWMMR0;控制PWM的占空比PWMMRn。,PWMMR0控制PWM周期,所有单边沿输出在周期开始时都为高电平,并在匹配发生前一直保持高电平,PWM简介双边沿输出,实现双边沿输出需要3个匹配寄存器进行控制,其功能分别为:控制PWM周期PWMMR0;控制PWM输出上升沿的位置;控制PWM输出下降沿的位置。,PWMMR0控制PWM周期,与标准定时器部分完全一致。,脉宽调制器结构图,4.17 脉宽调制器,PWM引脚描述,注意:虽然有7个匹配寄存器,但是并没有PWM0输出通道。因此,通常都使用匹配寄存器0来控制PWM通道的周期。,4.17 脉宽调制器,单边沿PWM输出,单边沿PWM输出在PWM周期开始时为高电平;单边沿PWM输出在到达其匹配值时会变为低电平。,举例:单边沿输出通道:PWM2,PWMMR0=80,PWMMR2 20。,PWM周期开始时,PWM2输出高电平,PWM计数值与PWMMR2匹配时,输出低电平。,PWMMR0匹配时,PWM计数器复位。PWM2输出高电平。,PWMMR2匹配时,输出低电平。,4.17 脉宽调制器,双边沿PWM输出,双边沿PWMn输出的上升沿位置在PWMMRn-1处;双边沿PWMn输出的下降沿位置在PWMMRn处。,举例:双边沿输出通道:PWM2,PWMMR0=80,PWMMR1=20,PWMMR2 40。,PWMMR1匹配时,PWM2输出高电平,PWMMR2匹配时,PWM2输出低电平。,PWMMR0匹配时,PWM计数器复位。PWM2输出不变。,PWMMR2匹配,PWM2输出低电平。,PWMMR1匹配,PWM2重新输出高电平,4.17 脉宽调制器,PWM输出触发关系,举例说明:使用PWM通道5输出时。如果为单边沿输出,那么匹配0事件置位输出引脚,匹配5事件清零输出引脚。如果为双边沿输出,那么匹配4事件置位输出引脚,匹配5事件清零输出引脚。,4.17 脉宽调制器,PWM寄存器描述,PWM模块建立在定时器的基础上,所以一部分寄存器功能与定时器功能类似。所有寄存器大致可以分为两类:基本功能寄存器 匹配控制寄存器,PWM寄存器描述基本功能寄存器,大部分寄存器的功能与定时器部件相同,所以仅介绍与之不同的地方,PWM定时器控制寄存器TCR含有两个功能:控制定时器计数器的操作;控制PWM的使能。,PWM寄存器描述定时器控制寄存器,PWM寄存器描述匹配功能寄存器,PWM寄存器描述匹配控制寄存器,PWM寄存器描述匹配寄存器,PWM匹配寄存器值连续与PWM定时器计数值相比较当这两个值匹配时,根据匹配控制寄存器的设置,自动执行相应动作:产生中断、复位PWM计数器、停止PWM计数器。,通常使用匹配寄存器0(PWMMR0)来控制PWM的周期、频率。,PWM寄存器描述锁存使能寄存器,在PWM运行模式下,修改PWM匹配寄存器时,新值并不直接写入到目标寄存器中,而是写入相应的映象寄存器中。在PWMMR0发生匹配并且PWMLER中的相应位置位时才能使修改值生效。,PWM寄存器描述锁存使能寄存器,PWM寄存器描述PWM控制寄存器,PWM控制寄存器用于使能并选择每个PWM通道的类型。,PWM寄存器描述PWM控制寄存器,说明:PWM1的双边沿输出与单边沿是相同的,因此,PWM1不具有双边沿PWM输出。如果将PWM3和PWM5用作双边沿PWM输出,那么此时只能有2路双边沿PWM输出。只有将PWM2、PWM4和PWM6作为双边沿输出时,才能够达到3路双边沿PWM输出。,PWM寄存器描述PWM控制寄存器,4.17 脉宽调制器,寄存器描述中断标志寄存器,中断寄存器包含11个位。其中7个位用于匹配中断,其它的位保留。中断发生时,对应位将被置“1”。向对应的IR位写入1会复位中断,写入0无效。,PWM中断与VIC的关系,PWM中断,LPC2000系列ARM含有1个脉宽调制器(PWM),可以产生7路匹配中断,PWM位于VIC的通道8。中断使能寄存器VICIntEnable的Bit8用来控制通道8的使能。,PWM中断,PWM与VIC的关系,当VICIntEnable8=0时,通道8中断禁止;,PWM中断,PWM与VIC的关系,当VICIntEnable8=0时,通道8中断禁止;,当VICIntEnable8=1时,通道8中断使能。,PWM中断,PWM中断是匹配中断,PWM含有7个匹配寄存器,当发生匹配事件时,便触发中断。,匹配控制寄存器MCR控制匹配中断的使能,相关位为“1”时,中断使能。,4.17 脉宽调制器,使用PWM的注意要点,所有的PWM输出频率都是相同的。修改匹配寄存器之后,必须设置锁存使能寄存器中的相应位,否则匹配寄存器的值不能生效;修改匹配寄存器时,不需要停止PWM定时器,以免产生不完整的PWM波形;不使用PWM功能时,可将该部件作为一个标准的32位定时器使用;PWMTC计数频率=Fpclk/(PWMPR+1),PWM使用示例,操作流程,PWM使用示例单边沿输出,Void PWM1Out(uint16 FREQ)PINSEL0,PWM1输出50占空比方波,输出频率,单位Hz,PWM使用示例双边沿输出,Void PWM2Out(uint16 FREQ)PINSEL0,PWM2双边沿控制输出,输出频率,单位Hz,1.LPC2000系列简介2.引脚描述3.存储器寻址4.系统控制模块5.存储器加速模块(MAM)6.外部存储器控制器(EMC)7.引脚连接模块8.GPIO,LPC2000系列ARM硬件结构,9.向量中断控制器10.外部中断输入11.定时器0和定时器112.SPI接口13.I2C接口14.UART(0、1)15.A/D转换器16.看门狗17.脉宽调制器(PWM)18.实时时钟,4.18 实时时钟,特性,LPC2000系列微控制器内部集成了一个功能完整的实时时钟模块,它具有如下特性:带有日历和时钟功能;超低功耗设计;提供秒、分、小时、日、月、年和星期;可编程基准时钟分频器允许调节RTC以适应不同的晶振频率。,4.18 实时时钟,描述,实时时钟(RTC)提供一套计数器在系统工作时对时间进行测量。RTC消耗的功率非常低,这使其适合于由电池供电的,CPU不连续工作(空闲模式)的系统。注意:LPC22xx、LPC211x系列微控制器的RTC没有独立的时钟源,它使用的时钟频率是通过对Fpclk分频得到,所以CPU不能进入掉电模式。,实时时钟结构图,寄存器描述,寄存器描述时钟产生寄存器组,时间计数器,=,PCLK,时钟产生寄存器组控制产生RTC时间计数器需要的秒时钟信号。,预分频器用于将任何频率高于65.536KHz的PCLK时钟分频产生32.768KHz的基准时钟。这样就可以不管外设时钟的频率为多少,RTC总是以正确的速率运行。预分频寄存器分为整数部分和小数部分,因此有可能某个时钟节拍多包含一个PCLK周期,而某个节拍却少一个PCLK周期。但是每个时钟节拍的周期一定是32768个PCLK周期。,寄存器描述预分频寄存器,寄存器描述预分频寄存器,预分频整数部分为13位有效位,小数部分为15位有效位。预分频整数部分的计算公式为:PREINT=int(PCLK/32768)1 预分频小数部分的计算公式为:PREFRAC=PCLK(PREINT+1)32768),寄存器描述时钟控制寄存器,时钟控制寄存器包含4位有效位,用来对时钟分频电路进行控制,包括启动RTC和复位时钟节拍计数器(CTC)等功能。,寄存器描述时钟节拍计数寄存器,时钟节拍计数器对预分频器的输出时钟进行计数,用于产生秒的时钟节拍。它是一个只读寄存器,但它可通过时钟控制寄存器(CCR)复位为0。,寄存器描述时间计数器,时间计数器组中包含当前的时间,它们分为两类:完整时间寄存器和分类时间寄存器。,在完整时间寄存器中,时间以一个比较完整的格式存储,程序只需要3次读操作即可读出所有计数器值。这些寄存器为只读寄存器。,寄存器描述时间计数器,寄存器描述时间计数器,分类时间寄存器包含8个寄存器,所有寄存器都可读可写。,注意:这些日期的寄存器只能在适当的时间间隔处递增,而在定义的溢出点处复位。为了使这些值有意义,它们不能进行计算且必须正确初始化。其中DOY寄存器需要单独初始化,也就是说该寄存器的值不会因为对年、月、日寄存器进行初始化而自动确定到一个正确 的值。,寄存器描述时间计数器,时间计数器,=,PCLK,RTC部件的中断分为两类,一类为时间计数器的增量中断,由增量中断寄存器控制。另一类为报警匹配产生的中断,由报警屏蔽寄存器控制。,寄存器描述中断产生寄存器,实时时钟中断示意图,中断位置寄存器是一个2位的寄存器,它指出哪些模块产生中断,它实际上是一个中断标志寄存器。,寄存器描述中断标志寄存器,增量中断寄存器可使计数器每次增加时产生一次中断,比如设置秒增加中断为1,则每秒均产生一次中断。在清除增量中断标志之前,该中断一直保持有效。,寄存器描述增量中断使能寄存器,报警屏蔽寄存器允许用户屏蔽任意的报警寄存器,被屏蔽的报警寄存器将不与时间计数器比较。未被屏蔽的报警寄存器与时间计数器比较如果匹配,将产生中断。该中断只有在从不匹配到匹配时才发生,可以避免中断重复。注意:如果所有屏蔽位都置位,报警将被禁止。,寄存器描述报警屏蔽寄存器,寄存器描述报警屏蔽寄存器,报警寄存器的值与时间计数器相比较,如果所有未被屏蔽的报警寄存器都与它们对应的时间计数器相匹配,那么将产生一次中断。向中断位置寄存器的bit1写入1清除中断。,寄存器描述报警屏蔽寄存器,寄存器描述报警寄存器组,概述,RTC中断,LPC2000系列ARM RTC具有两种类型的中断:,增量中断,用户可以通过读取中断位置寄存器(ILR)来区分中断类型。,报警中断,RTC中断与VIC的关系,RTC中断,RTC处于VIC的通道13,中断使能寄存器VICIntEnable用来控制VIC通道的中断使能。,RTC中断与VIC的关系,RTC中断,RTC处于VIC的通道13,中断使能寄存器VICIntEnable用来控制VIC通道的中断使能。,当VICIntEnable13=0时,通道13中断禁止;,RTC中断与VIC的关系,RTC处于VIC的通道13,中断使能寄存器VICIntEnable用来控制VIC通道的中断使能。,当VICIntEnable13=0时,通道13中断禁止;,RTC中断,当VICIntEnable13=1时,通道13中断使能;,RTC中断,增量中断,当秒、分、小时等增加时,触发增量中断。计数器增量中断寄存器CIIR0:7分别用来控制增量中断的使能。,RTC中断,报警中断,RTC的当前时间与报警时间进行比较,当相等时,便触发报警中断。,报警屏蔽寄存器用来屏蔽相关的报警时间。,4.18 实时时钟,使用RTC的注意要点,RTC部件使用VPB时钟,如果该时钟出现任何的异常都会导致时间值的偏移,所以芯片不能进入掉电模式;芯片掉电后RTC不能保持寄存器的内容;芯片复位后只有预分频寄存器被硬件初始化,其它寄存器的内容不受复位影响;RTC部件的闰年计算比较简单,当年计数器的最低两位为0时,认为该年为闰年,这在2100年时会出错。闰年影响2月份的日期数和年的日期数。,RTC使用示例,操作流程,Void RTCIni(void)PREINT=Fpclk/327681;PREFRAC=Fpclk(Fpclk/32768)*32768;YEAR=200;MONTH=2;DOM=19;DOW=4;HOUR=8;MIN=30;SEC=0;CIIR=0 x01;CCR=0 x01;,RTC使用示例RTC初始化示例,.ILR=0 x03;/清除RTC中断标志CIIR=0 x02;/设置分值增量中断ALHOUR=12;/设置小时比较值ALMIN=0;/设置分比较值ALSEC=0;/设置秒比价值AMR=0 xF8;/设置报警屏蔽寄存器/只允许时、分、秒比较.,RTC使用示例RTC定时报警设置,

    注意事项

    本文(第4章 LPC2000系列ARM硬件结构(14~18).ppt)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开