版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章LPC2000系列ARM硬件结构第5章目录1.简介2.引脚配置3.存储器寻址4.系统控制模块5.存储器加速模块6.外部存储器控制器7.引脚连接模块8.向量中断控制器9.GPIO10.UART011.UART112.I2C接口13.SPI接口14.定时器0/115.脉宽调制器(PWM)16.A/D转换器17.实时时钟18.看门狗第5章目录1.简介2.引脚配置3.存储器寻址4.系统控制模块5.存储器加速模块6.外部存储器控制器7.引脚连接模块8.向量中断控制器9.GPIO10.UART011.UART112.I2C接口13.SPI接口14.定时器0/115.脉宽调制器(PWM)16.A/D转换器17.实时时钟18.看门狗5.1简介LPC2000系列微控制器概述
LPC2000系列微控制器基于ARM7TDMI-SCPU内核。支持ARM和Thumb指令集,芯片内集成丰富外设,而且具有非常低的功率消耗。使该系列微控制器特别适用于工业控制、医疗系统、访问控制和POS机等场合。器件型号引脚数片内RAM片内Flash10位AD通道数CAN控制器备注LPC21146416KB128KB4--LPC21246416KB256KB4--LPC221014416KB-8-带外部存储器接口LPC221214416KB128KB8-LPC221414416KB256KB8-LPC21196416KB128KB42-LPC21296416KB256KB42-LPC21946416KB256KB44-LPC229014416KB-82带外部存储器接口LPC229214416KB256KB82LPC229414416KB256KB84LPC2131648KB32KB8--LPC21326416KB64KB8-带1路DACLPC21346416KB128KB双8路-LPC21366416KB256KB双8路-LPC21386432KB512KB双8路-LPC2000系列器件信息芯片内部框图LPC2000系列微控制器包含四大部分:ARM7TDMI-SCPUAHBToVPB桥EMCVICI2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7局部总线系统功能ARM7TDMI-SCPUARM7局部总线及相关部件AHB高性能总线及相关部件VLSI外设总线及相关部件芯片内部框图ARM7TDMI-SCPUAHBToVPB桥EMCVICI2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7局部总线系统功能LPC2000系列微控制器将ARM7TDMI-S配置为小端模式(Little-endian)。ARM7TDMI-SCPUAHB外设分配了2M字节的地址范围,它位于4G字节ARM寻址空间的最顶端。每个AHB外设都分配了16KB的地址空间。EMCVICLPC2000系列微控制器的外设功能(除中断控制器)都连接到VPB总线。AHB到VPB的桥将VPB总线与AHB总线相连。VPB外设也分配了2M字节的地址范围,从3.5GB地址点开始。每个VPB外设都分配了16KB的地址空间。I2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟AHBToVPB桥芯片内部各单元简介ARM7TDMI-SCPUAHBToVPB桥EMCVICI2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7局部总线系统功能SRAMFlash内部存储器包括无等待SRAM和Flash;外部存储器控制器(EMC)支持4个BANK的外部SRAM或Flash,每个BANK最多16MB;系统功能包括维持芯片工作的一些基本功能,如系统时钟、复位等;向量中断控制器(VIC)可以减少中断的响应时间,最多可以管理32各中断请求;I2C串行接口为标准的I2C总线接口,支持最高速度400kb;EMC系统功能VICI2C串行接口芯片内部各单元简介ARM7TDMI-SCPUAHBToVPB桥EMCVICI2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7局部总线系统功能具有两个完全独立的SPI控制器,遵循SPI规范,可配置为SPI主机或从机;具有两个UART接口,均包含16字节的接收/发送FIFO,内置波特率发生器。其中UART1具有调制解调器接口功能;在LPC2119/2129/2290/2292等芯片中包含CAN总线接口;看门狗定时器带有内部分频器,可以方便设置溢出时间,在软件使能看门狗后只有复位可以禁止(具有调试模式);SPI串行接口UART0&1CAN看门狗定时器芯片内部各单元简介ARM7TDMI-SCPUAHBToVPB桥EMCVICI2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7局部总线系统功能系统控制模块包括一些与其它外设无关的功能,如功率控制等;外部中断有4路多引脚输入,可用于CPU掉电唤醒;定时器0/1为两个独立的带可编程32位预分频器的32位定时器/计数器,具有捕获和匹配输出功能;具有4/8路10位ADC,可以设置为多路循环采样模式。10位转换时间最短为2.44us;系统控制外部中断TIMER0/1ADC芯片内部各单元简介ARM7TDMI-SCPUAHBToVPB桥EMCVICI2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7局部总线系统功能不同封装的芯片具有数目不等的IO口,它们可以承受5V电压。每个IO口可以独立设置为输入/输出模式,在作为输出模式时可以分别置位或清零;脉宽调制器可以灵活设置,以适应不同的场合。可以设置为单边沿或双边缘输出方式,可以灵活的设置频率和占空比;实时时钟具有可编程的积存时钟分频器,以适应不同的晶振频率。带日历和时钟功能,提供秒、分、时、日、月、年和星期,同时具有非常的功耗。通用I/OPWM0实时时钟第5章目录1.简介2.引脚配置3.存储器寻址4.系统控制模块5.存储器加速模块6.外部存储器控制器7.引脚连接模块8.向量中断控制器9.GPIO10.UART011.UART112.I2C接口13.SPI接口14.定时器0/115.脉宽调制器(PWM)16.A/D转换器17.实时时钟18.看门狗5.2引脚配置LPC2000系列芯片外形LPC2210/2212/2214LPC2114/2124GPIOTXD0PWM1输出P0.05.2引脚配置引脚功能选择使用示例
LPC2000系列微控制器的引脚一般是多个功能复用,但是同一引脚在同一引脚在同一时刻只能使用其中一个功能,这可以通过设置PINSELx寄存器来选择,详细介绍见“引脚连接模块”小节。通过PINSEL0控制引脚功能第5章目录1.简介2.引脚配置3.存储器寻址4.系统控制模块5.存储器加速模块6.外部存储器控制器7.引脚连接模块8.向量中断控制器9.GPIO10.UART011.UART112.I2C接口13.SPI接口14.定时器0/115.脉宽调制器(PWM)16.A/D转换器17.实时时钟18.看门狗5.3存储器寻址地址空间0xFFFFFFFF0x00000000内部Flash0x40000000内部SRAM0x80000000外部存储器0x7FFFE000BootBlock片外存储器片内存储器一个具体应用可能存在的物理存储器5.3存储器寻址片内Flash编程方法:JTAG串口1.通过内置JTAG接口;2.通过在系统编程(ISP),使用UART0通信;3.通过在应用编程(IAP);5.3存储器寻址片外Flash编程方法(LPC2200):在CPU上运行一个装载程序(Loader,一般由用户编写),该程序通过串口接收要烧写的数据,然后擦除编程Flash。串口Loder程序外部Flash5.3存储器寻址存储器映射基本概念
ARM处理器产生的地址叫虚拟地址,把这个虚拟地址按照某种规则转换到另一个物理地址去的方法称为地址映射。这个物理地址表示了被访问的存储器的位置。它是一个地址范围,该范围内可以写入程序代码。通过地址映射的方法将各存储器分配到特定的地址范围后,这时用户所看见的存储器分布为存储器映射。5.3存储器寻址芯片复位后用户看见的地址空间128KBFlash(LPC2114/2212)256KBFlash(LPC2124/2214)16KBSRAM8KBBootBlock2MBVPB外设2MBAHB外设0x000000000xFFFFFFFF保留给片内存储器使用保留给片内存储器使用保留给外部储器使用0x400000000xE00000000x800000000xF00000000x00020000地址空间5.3存储器寻址异常向量表对于每一个异常事件,都有一个与之相对应的处理程序,它们是关联在一起的,并以一张一维表的格式存储在存储器的固定单元中。这张指定了各异常中断及其处理程序的对应关系的表,称为异常向量表。5.3存储器寻址异常向量表地址异常0x00000000复位0x00000004未定义指令0x00000008软件中断0x0000000C预取指中止(从存储器取指出错)0x00000010数据中止(访问存储器数据出错)0x00000014保留*0x00000018IRQ0x0000001CFIQ各异常向量的固定位置该位置被Boot装载程序用作有效用户程序的检测标志。通过定义此保留值,使向量表所有数据32位累加和为0,芯片复位后才能脱机运行用户程序。5.3存储器寻址位于启动代码中的异常向量表什么是启动代码?一般在32位ARM应用系统中,大多数采用C语言进行软件编程。但是在运行应用代码前需要进行系统初始化。常用一个汇编文件作启动代码,它可以实现异常向量表定义、堆栈初始化、系统变量初始化、中断系统初始化、I/O初始化、外围部件初始化、地址重映射等操作。位于启动代码中的异常向量表CODE32AREAvectors,CODE,READONLYENTRYResetLDRPC,ResetAddrLDRPC,UndefinedAddr...DCD0xb9205f80LDRPC,[PC,#-0xff0]LDRPC,FIQ_AddrResetAddrDCDResetInitUndefinedAddrDCDUndefined...NouseDCD0IRQ_AddrDCD0FIQ_AddrDCDFIQ_Handler前32字节为异常入口
后32字节为跳转地址
异常向量表位于启动代码中的异常向量表CODE32AREAvectors,CODE,READONLYENTRYResetLDRPC,ResetAddrLDRPC,UndefinedAddr...DCD0xb9205f80LDRPC,[PC,#-0xff0]LDRPC,FIQ_AddrResetAddrDCDResetInitUndefinedAddrDCDUndefined...NouseDCD0IRQ_AddrDCD0FIQ_AddrDCDFIQ_Handler异常向量表例如:发生未定义异常时1.程序计数器(PC)指向0x00000004;2.执行当前的指令,将Undefined地址值装入PC,实现至未定义异常处理程序的跳转。装入第5章目录1.简介2.引脚配置3.存储器寻址4.系统控制模块5.存储器加速模块6.外部存储器控制器7.引脚连接模块8.向量中断控制器9.GPIO10.UART011.UART112.I2C接口13.SPI接口14.定时器0/115.脉宽调制器(PWM)16.A/D转换器17.实时时钟18.看门狗5.4系统控制模块小节目录系统控制模块概述系统时钟复位外部中断存储器映射控制功率控制唤醒定时器5.4系统控制模块系统控制模块概述
系统控制模块包括一些系统构件和控制寄存器,它们具有众多与芯片内其它外设无关的功能。系统控制模块包括:系统时钟单元、复位、外部中断输入、存储器映射控制、功率控制和唤醒定时器。5.4系统控制模块小节目录系统控制模块概述系统时钟复位外部中断存储器映射控制功率控制唤醒定时器系统时钟小节目录系统时钟概述晶体振荡器(5.4.4)PLL(5.4.9)VPB分频器(5.4.10)系统时钟系统时钟概述
CPU正常工作需要有合适的时钟信号,包括ARM7内核使用的CCLK时钟,和芯片外设使用的PCLK时钟。通过LPC2000系列微控制器的时钟产生单元产生ARM7内核和芯片外设正常工作所需要的时钟节拍。系统时钟系统时钟概述ARM7核桥外设时钟产生FCCLKFPCLKFOSCCPU时钟结构系统时钟时钟产生单元
时钟产生单元包括晶体振荡器、锁相环振荡器(PLL)和VPB分频器。PLL晶体振荡器VPB分频器FCCLKFPCLKFOSC系统时钟晶体振荡器
LPC2000微控制器可以使用内部的晶体振荡器产生时钟信号,也可以从外部引入时钟信号。LPC2000LPC2000X1X2X1X2ClockCX1CX2CCXTAL从属模式振荡模式系统时钟晶体振荡器
使用从属模式时,时钟信号通过X1引脚从外部输入,输入频率范围:1~50(MHz),其幅度不小于200mVrms。LPC2000X1X2ClockCC从属模式系统时钟晶体振荡器
使用振荡模式时,时钟信号由内部晶体振荡器和外部连接的晶体振荡产生,振荡频率范围:1~30(MHz)。LPC2000X1X2CX1CX2XTAL振荡模式系统时钟晶体振荡器注意:如果使用了ISP下载功能或者连接PLL提高频率,则输入的时钟频率范围必须在10~25(MHz)之间。LPC2000LPC2000X1X2X1X2ClockCX1CX2CCXTAL从属模式振荡模式系统时钟小节目录系统时钟概述晶体振荡器(5.4.4)PLL(5.4.9)VPB分频器(5.4.10)系统时钟锁相环(PLL)
由晶体振荡器输出的时钟信号,通过PLL升频,可以获得更高的系统时钟(CCLK)。
PLL接受的输入时钟频率范围为10~25MHz,通过一个电流控制振荡器(CCO)倍增到10~60MHz。PLL晶体振荡器VPB分频器FCCLKFPCLKFOSC10MHz~25MHz10MHz~60MHzPLL相位频率检测CCO102P分频M分频0101FOSCFCCOFCLKPLL配置寄存器(PLLCFG):位76543210功能-PSEL[1:0]MSEL[4:0]MSEL[4:0]:PLL倍频器值,在PLL频率计算中其值为(M-1);PSEL[1:0]:PLL分频器值,在PLL频率计算中其值为P
。PLL相关寄存器相位频率检测CCO102P分频M分频0101FOSCFCCOFCLKPLL状态寄存器(PLLSETA):位15:11109876:54:0功能-PLOCKPLLCPLLE-PSEL[1:0]MSEL[4:0]MSEL[4:0]、PSEL[1:0]、PLLE、PLLC:读出反映这几个参数的设置值,写入无效;PLOCK:反映PLL的锁定状态。为0时,PLL未锁定;为1时,PLL锁定到指定频率。PLL相关寄存器PLL频率计算回路锁定后:FOSC=FCCO/(2P×M)FCLK=FOSC
×M相位频率检测CCO102P分频M分频0101FOSCFCCOFCLKFCCO/2PFCCO/(2P*M)FOSC:晶振频率;FCCO:CCO振荡器输出频率FCCLK:处理器时钟频率;M:PLL倍频值P:PLL分频值必须满足的条件:FOSC范围:10MHz~25MHz;
FCCLK范围:10MHz~60MHz;
FCCO范围:156MHz~320MHz;系统时钟锁相环(PLL)计算流程1.选择处理器的工作频率(CCLK)2.选择振荡器频率(FOSC)3.计算M值配置MSEL位4.计算P值配置PSEL位根据处理器的整体要求、UART波特率的支持等因素来决定。外围器件的时钟频率可以低于处理器频率
CCLK必须为FOSC的整数倍。
M=CCLK/FOSC,取值范围1~32。写入MSEL的值为(M-1)。选择合适的P值,使FCCO在限制范围内。P只能取1、2、4或8。写入PSEL的值为P。系统时钟锁相环(PLL)计算实例系统要求:FOSC=10MHz、CCLK=60MHz1.计算M值:M=CCLK/FOSC=6
;2.设置MSEL位:写入值为(M-1)=5;3.设置PSEL位:P=FCCO/(CCLK×2)
=(156~320)/120=1.3~2.67
所以P取整数2,PSEL写入值为2。系统时钟小节目录系统时钟概述晶体振荡器(5.4.4)PLL(5.4.9)VPB分频器(5.4.10)系统时钟VPB分频器
VPB分频器将PLL输出的时钟信号分频后作为芯片外设的时钟。PLL晶体振荡器VPB分频器FCCLKFPCLKFOSCVPB分频器系统时钟VPB分频器
VPB分频器决定处理器时钟(CCLK)与外设器件所使用的时钟(PCLK)之间的关系。VPB用途1:通过VPB总线为外设提供所需的PCLK时钟,以便外设在合适的速度下工作;VPB用途2:在应用不需要任何外设全速运行时使功耗降低。系统时钟VPB分频器相关寄存器位76543210功能--XCLKDIV[1:0]--VPBDIV[1:0]VPB分频寄存器(VPBDIV):VPBDIV[1:0]:设置分频值,可以设定3个值;XCLKDIV[1:0]:这些位用于控制LPC2200系列微控制器A23/XCLK引脚上的时钟驱动,取值编码方式与VPBDIV相同;系统时钟VPB分频器相关寄存器位76543210功能--XCLKDIV[1:0]--VPBDIV[1:0]VPB分频寄存器(VPBDIV):VPBDIV[1:0]说明00VPB总线时钟为处理器时钟的1/4。01VPB总线时钟与处理器时钟相同。10VPB总线时钟为处理器时钟的1/2。11保留。写入该值将不改变分频值。系统时钟初始化流程使能PLL设置VPB分频值PLL馈送序列等待PLL锁定设置PLL分频值连接PLLPLL馈送序列系统时钟初始化——启动代码实例//应当与实际一至晶振频率,10MHz~25MHz,应当与实际一至#defineFosc11059200//系统频率,必须为Fosc的整数倍(1~32),且<=60MHZ#defineFcclk(Fosc*4)//CCO频率,必须为Fcclk的2、4、8、16倍,范围为156MHz~320MHz#defineFcco(Fcclk*4)//VPB时钟频率,只能为(Fcclk/4)的1、2、4倍#defineFpclk(Fcclk/4)*1将系统内各时钟的频率定义为宏,方便用户操作。设置晶振频率设置内核工作频率设置CCO输出频率设置外设工作频率系统时钟初始化——启动代码实例使能PLL设置VPB分频值PLL馈送序列等待PLL锁定设置PLL分频值连接PLLPLL馈送序列使能PLL设置VPB分频值C代码分析:
PLLCON=1;#if(Fpclk/(Fcclk/4))==1VPBDIV=0;#endif#if(Fpclk/(Fcclk/4))==2VPBDIV=2;#endif#if(Fpclk/(Fcclk/4))==4VPBDIV=1;#endif...注意:在启动代码中很多地方使用了条件编译的方法,根据用户定义的宏来决定要设置的值,可以方便用户使用。系统时钟初始化——启动代码实例使能PLL设置VPB分频值PLL馈送序列等待PLL锁定设置PLL分频值连接PLLPLL馈送序列设置PLL分频值C代码分析:...#if(Fcco/Fcclk)==2PLLCFG=((Fcclk/Fosc)-1)|(0<<5);#endif#if(Fcco/Fcclk)==4PLLCFG=((Fcclk/Fosc)-1)|(1<<5);#endif#if(Fcco/Fcclk)==8PLLCFG=((Fcclk/Fosc)-1)|(2<<5);#endif#if(Fcco/Fcclk)==16PLLCFG=((Fcclk/Fosc)-1)|(3<<5);...系统时钟初始化——启动代码实例使能PLL设置VPB分频值PLL馈送序列等待PLL锁定设置PLL分频值连接PLLPLL馈送序列PLL馈送序列等待PLL锁定连接PLLPLL馈送序列C代码分析:...PLLFEED=0xaa;PLLFEED=0x55;while((PLLSTAT&(1<<10))==0);PLLCON=3;PLLFEED=0xaa;PLLFEED=0x55;注意:在修改PLL的控制和配置寄存器后,必须写入馈送序列,使修改生效。5.4系统控制模块小节目录系统控制模块概述系统时钟复位外部中断存储器映射控制功率控制唤醒定时器复位复位的分类外部复位
—把nRESET引脚拉为低电平,并保持一个最小时间,引发复位看门狗复位
—通过设置看门狗相关寄存器,当看门狗定时器溢出后,引发复位复位外部复位
外部复位引脚(nRESET)连接内部的施密特触发器,通过施密特触发器可以滤除引脚输入的干扰信号,保证复位的可靠性。如果外部复位信号一直有效,芯片将保持复位状态。 注意:如果芯片使用了外部晶体,上电后nRESET引脚的复位信号必须保持至少10ms,以便产生稳定的振荡信号。如果晶振已经稳定运行且X1引脚上以出现稳定信号时,nRESET引脚的复位信号只需保持至少300ns时间。1.在芯片未上电时,芯片振荡器没有工作;复位UX1tLPC2xxxnRESET电源输入X1X2外部复位复位振荡器稳定需要一段时间UX1tLPC2xxxnRESET电源输入X1X2外部复位2.芯片上电后,晶体振荡器开始振荡。因为振荡从开始到稳定需要一过程,所以外部复位信号至少要保持10ms;>=10ms>=300ns复位UX1t此时振荡器稳定工作外部复位LPC2xxxnRESET电源输入X1X23.在晶体振荡器保持稳定振荡,或者使用有源钟振时,外部复位信号可以缩短到不小于300ns;复位Boot程序
Boot程序是芯片生产厂家固化在芯片中的一段代码,它完成芯片复位后的初始化操作,并提供实现Flash编程的方法。Boot装载程序可启动对空片的编程、已编程器件的擦除和再编程,以及在运行的系统中由应用程序对Flash存储器进行编程。Boot程序工作流程——LPC2114/2124复位运行ISP服务程序看门狗复位根据硬件(P1.20、P1.26)配置进入ISP状态吗?(P0.14为低)初始化用户代码是否有效执行用户代码(片内Flash:0x00000000)NYYYNN在此检测特定引脚检测用户代码是否有效5.4系统控制模块小节目录系统控制模块概述系统时钟复位外部中断存储器映射控制功率控制唤醒定时器外部中断外部中断外部中断是通过引脚输入符合要求的信号而触发的中断。LPC2114/2124/2212/2214含有4个外部中断输入(作为可选引脚功能,通过PINSEL0/1寄存器设置相应管脚为外部中断功能)。外部中断输入可用于将处理器从掉电模式唤醒。管脚连接控制外部中断极性控制外部中断方式控制掉电唤醒控制中断标志CPU其它部件PINSELxEXTPOLAREXTMODEEXTINTEXTWAKE外部中断外部中断内部示意图2.控制某几个引脚作为外部中断输入;管脚连接控制1.可作为外部中断输入的引脚;外部中断极性控制外部中断方式控制掉电唤醒控制中断标志3.控制触发外部中断的信号波形;4.控制外部中断产生后是否唤醒CPU;5.外部中断产生后设置的标志位;(2)(1)(3)(3)(4)(5)外部中断相关寄存器外部中断极性控制寄存器(EXTPOLAR):位7:43210功能-EXTPOLAR3EXTPOLAR2EXTPOLAR1EXTPOLAR0该寄存器控制着外部中断输入信号的极性,其中低四位(EXTPOLAR[3:0])分别对应外部中断3~0。管脚连接控制外部中断极性控制外部中断方式控制掉电唤醒控制中断标志CPU其它部件PINSELxEXTPOLAREXTMODEEXTINTEXTWAKE外部中断极性控制外部中断相关寄存器外部中断3外部中断2外部中断1外部中断0(EINT3)(EINT2)(EINT1)(EINT0)分别控制着外部中断相关寄存器外部中断极性控制寄存器(EXTPOLAR):位7:43210功能-EXTPOLAR3EXTPOLAR2EXTPOLAR1EXTPOLAR0管脚连接控制外部中断极性控制外部中断方式控制掉电唤醒控制中断标志CPU其它部件PINSELxEXTPOLAREXTMODEEXTINTEXTWAKE当EXTPOLARx设置为1时EINTx引脚输入信号高电平或上升沿有效。当EXTPOLARx设置为0时EINTx引脚输入信号低电平或下降沿有效。外部中断相关寄存器外部中断相关寄存器外部中断极性控制寄存器(EXTPOLAR):位7:43210功能-EXTPOLAR3EXTPOLAR2EXTPOLAR1EXTPOLAR0管脚连接控制外部中断极性控制外部中断方式控制掉电唤醒控制中断标志CPU其它部件PINSELxEXTPOLAREXTMODEEXTINTEXTWAKE外部中断相关寄存器外部中断方式控制寄存器(EXTMODE):位7:43210功能-EXTMODE3EXTMODE2EXTMODE1EXTMODE0该寄存器控制着外部中断输入信号的有效触发方式,其中低四位(EXTMODE[3:0])分别对应外部中断3~0。外部中断相关寄存器管脚连接控制外部中断极性控制外部中断方式控制掉电唤醒控制中断标志CPU其它部件PINSELxEXTPOLAREXTMODEEXTINTEXTWAKE外部中断方式控制当EXTMODEx设置为0时输入信号为电平触发有效。当EXTMODEx设置为1时输入信号为边沿触发有效。外部中断相关寄存器外部中断方式控制寄存器(EXTMODE):位7:43210功能-EXTMODE3EXTMODE2EXTMODE1EXTMODE0外部中断相关寄存器管脚连接控制外部中断极性控制外部中断方式控制掉电唤醒控制中断标志CPU其它部件PINSELxEXTPOLAREXTMODEEXTINTEXTWAKE外部中断相关寄存器极性与方式控制的组合关系:外部中断相关寄存器管脚连接控制外部中断极性控制外部中断方式控制掉电唤醒控制中断标志CPU其它部件PINSELxEXTPOLAREXTMODEEXTINTEXTWAKE外部中断极性控制寄存器(EXTPOLAR)外部中断方式控制寄存器(EXTMODE)外部中断触发信号波形说明00低电平01下降沿10高电平11上升沿外部中断相关寄存器外部中断唤醒寄存器(EXTWAKE):位7:43210功能-EXTWAKE3EXTWAKE2EXTWAKE1EXTWAKE0设置该寄存器允许相应的外部中断将处理器从掉电模式唤醒。实现掉电唤醒不需要在向量中断控制器(VIC)中使能相应的中断。该寄存器的低四位(EXTWAKE[3:0])分别对应外部中断3~0。管脚连接控制外部中断极性控制外部中断方式控制掉电唤醒控制中断标志CPU其它部件PINSELxEXTPOLAREXTMODEEXTINTEXTWAKE掉电唤醒控制外部中断相关寄存器当EXTWAKEx设置为1时对应的外部中断将处理器从掉电模式唤醒。外部中断唤醒寄存器(EXTWAKE):位7:43210功能-EXTWAKE3EXTWAKE2EXTWAKE1EXTWAKE0管脚连接控制外部中断极性控制外部中断方式控制掉电唤醒控制中断标志CPU其它部件PINSELxEXTPOLAREXTMODEEXTINTEXTWAKE外部中断相关寄存器外部中断标志寄存器(EXTINT):位7:43210功能-EINT3EINT2EINT1EINT0若引脚上出现了符合要求的信号,EXTINT寄存器中对应的中断标志将被置位。向该寄存器的EINT0~EINT3位写入1,可将其清零。管脚连接控制外部中断极性控制外部中断方式控制掉电唤醒控制中断标志CPU其它部件PINSELxEXTPOLAREXTMODEEXTINTEXTWAKE中断标志注意:在电平触发方式下,清除中断标志只有在引脚处于无效状态时才可实现。比如设置为低电平中断,则只有在中断引脚恢复为高电平后才能清除中断标志。外部中断相关寄存器外部中断标志寄存器(EXTINT):位7:43210功能-EINT3EINT2EINT1EINT0管脚连接控制外部中断极性控制外部中断方式控制掉电唤醒控制中断标志CPU其它部件PINSELxEXTPOLAREXTMODEEXTINTEXTWAKE外部中断外部中断引脚设置通过软件设置引脚选择寄存器(PINESLEx),可以将多个引脚同时作为同一个外部中断的输入引脚。EINT3~EINT0外部中断的逻辑电路接收所有与之相连引脚的状态和信号。外部中断外部中断引脚设置根据其方式位和极性位的不同,外部中断逻辑处理如下:低电平触发方式:作为EINT功能的全部引脚的状态相与后作为输入信号;高电平触发方式:作为EINT功能的全部引脚的状态相或后作为输入信号;边沿触发方式:只使用GPIO端口号最低的那个引脚,并且与极性设置无关。外部中断外部中断应用示例1——设置EINT0为低电平触发中断...PINSEL1=(PINSEL1&0xFFFFFFFC)|0x01;EXTMODE&=0x0E;EXTPOLAR&=0x0E;...C代码:1.设置引脚连接模块,将P0.16设置为外部中断功能;2.设置中断方式寄存器,将外部中断0设置为电平触发;3.设置中断极性寄存器,将外部中断0设置为低电平触发;步骤:(1)(2)(3)外部中断外部中断应用示例2——设置EINT0为下降沿触发中断...PINSEL1=(PINSEL1&0xFFFFFFFC)|0x01;EXTMODE|=0x01;EXTPOLAR&=0x0E;...C代码:1.设置引脚连接模块,将P0.16设置为外部中断功能;2.设置中断方式寄存器,将外部中断0设置为边沿触发;3.设置中断极性寄存器,将外部中断0设置为下降沿触发;步骤:(1)(2)(3)5.4系统控制模块小节目录系统控制模块概述系统时钟复位外部中断存储器映射控制功率控制唤醒定时器存储器映射控制存储器映射控制的作用“存储器映射控制”用于控制地址范围为0x0000~0x003F存储区域的重新映射。该区域存放着异常向量表。
AREAvectors,CODE,READONLYENTRYResetLDRPC,ResetAddrLDRPC,UndefinedAddrLDRPC,SWI_AddrLDRPC,PrefetchAddrLDRPC,DataAbortAddr...当发生异常时,程序总是跳转到地址为0x0000~0x003F的对应入口处,在该地址范围内存储有异常向量表。指令未定义中止入口软件中断入口取数据中止入口预取指中止入口复位入口
...存储器映射控制的必要性异常向量表
AREAvectors,CODE,READONLYENTRYResetLDRPC,ResetAddrLDRPC,UndefinedAddrLDRPC,SWI_AddrLDRPC,PrefetchAddrLDRPC,DataAbortAddr...存储器映射控制的必要性复位后用户看见的地址空间FlashSRAMBootBlockVPB外设AHB外设0x000000000xFFFFFFFF0x400000000xE00000000x80000000片外存储器可能存在的程序存储器FlashSRAMBootBlock片外存储器异常向量表
AREAvectors,CODE,READONLYENTRYResetLDRPC,ResetAddrLDRPC,UndefinedAddrLDRPC,SWI_AddrLDRPC,PrefetchAddrLDRPC,DataAbortAddr...FlashSRAMBootBlockVPB外设AHB外设0x000000000xFFFFFFFF0x400000000xE00000000x80000000片外存储器异常向量表内部Flash可以来自存储器映射控制的必要性复位后用户看见的地址空间内部SRAM
AREAvectors,CODE,READONLYENTRYResetLDRPC,ResetAddrLDRPC,UndefinedAddrLDRPC,SWI_AddrLDRPC,PrefetchAddrLDRPC,DataAbortAddr...FlashSRAMBootBlockVPB外设AHB外设0x000000000xFFFFFFFF0x400000000xE00000000x80000000片外存储器异常向量表可以来自存储器映射控制的必要性复位后用户看见的地址空间BootBlock
AREAvectors,CODE,READONLYENTRYResetLDRPC,ResetAddrLDRPC,UndefinedAddrLDRPC,SWI_AddrLDRPC,PrefetchAddrLDRPC,DataAbortAddr...FlashSRAMBootBlockVPB外设AHB外设0x000000000xFFFFFFFF0x400000000xE00000000x80000000片外存储器异常向量表可以来自存储器映射控制的必要性复位后用户看见的地址空间外部存储器
AREAvectors,CODE,READONLYENTRYResetLDRPC,ResetAddrLDRPC,UndefinedAddrLDRPC,SWI_AddrLDRPC,PrefetchAddrLDRPC,DataAbortAddr...FlashSRAMBootBlockVPB外设AHB外设0x000000000xFFFFFFFF0x400000000xE00000000x80000000片外存储器异常向量表可以来自存储器映射控制的必要性复位后用户看见的地址空间为了让运行在不同存储器空间中的程序对异常进行控制。可以通过存储器映射控制,将位于不同存储空间的异常向量表重新映射至固定地址0x00~0x3F处,以实现异常向量表的来源控制。存储器映射控制寄存器(MEMMAP)是一个可读可写的寄存器。MAP[1:0]:用于存储器映射控制,实现部分地址的重新映射;-:表示该位保留。位76543210功能------MAP[1:0]PLL控制寄存器(PLLCON):存储器映射控制存储器映射控制寄存器描述
MEMMAP为不同值时,ARM内核发生异常,程序跳转到异常向量表的来源也不相同。MAP[1:0]映射方式00Boot装载程序模式。异常向
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年出售农民自建房合同范本
- 2024年代理服务简单版合同范本
- 2024年承接山地运输合同范本
- 【高中数学课件】随机事件的概率
- 2024芋儿种植买卖合同范本
- 2024至2030年中国微电脑控制点胶机数据监测研究报告
- 2024至2030年中国镭射冷裱膜数据监测研究报告
- 2024年电测仪器项目评估分析报告
- 2024年血液透析器项目成效分析报告
- 2024至2030年中国立体植绒工艺品数据监测研究报告
- (试卷)建瓯市2024-2025学年第一学期七年级期中质量监测
- 机耕道路维护方案
- 《安徽省二年级上学期数学期末试卷全套》
- 4.2 让家更美好(大单元教学设计) -2024-2025学年统编版道德与法治七年级上册
- 保安人员安全知识培训内容
- 山东省淄博市张店区2024-2025学年八年级上学期期中语文试题(含答案)
- 上海市普陀区2024-2025学年六年级(五四学制)上学期期中语文试题
- 2024黔东南州事业单位第二批遴选人员调减遴选历年高频难、易错点500题模拟试题附带答案详解
- 2024年海南省高考历史试卷(含答案解析)
- 2024版成人术中非计划低体温预防与护理培训课件
- 医院互联网共建合作协议书
评论
0/150
提交评论