CortexM3寄存器总汇Word格式.docx

上传人:b****6 文档编号:21167500 上传时间:2023-01-28 格式:DOCX 页数:207 大小:75.70KB
下载 相关 举报
CortexM3寄存器总汇Word格式.docx_第1页
第1页 / 共207页
CortexM3寄存器总汇Word格式.docx_第2页
第2页 / 共207页
CortexM3寄存器总汇Word格式.docx_第3页
第3页 / 共207页
CortexM3寄存器总汇Word格式.docx_第4页
第4页 / 共207页
CortexM3寄存器总汇Word格式.docx_第5页
第5页 / 共207页
点击查看更多>>
下载资源
资源描述

CortexM3寄存器总汇Word格式.docx

《CortexM3寄存器总汇Word格式.docx》由会员分享,可在线阅读,更多相关《CortexM3寄存器总汇Word格式.docx(207页珍藏版)》请在冰豆网上搜索。

CortexM3寄存器总汇Word格式.docx

3]

[2]

SYSRESETREQ

W

让信号在外部系统有效,表示请求复位。

[1]

VECTCLRACTIVE

清除有效向量位:

1=清除活动NMI、故障和中断的所有状态信息

0=不清除

[0]

VECTRESET

系统复位位。

将系统复位,调试元件除外:

1=复位系统

0=不复位系统

注:

LPC1752支持32个优先级,在周立功程序中不对优先级分组,即无子优先级,只有抢占优先级。

2、LR异常返回值:

EXC_RETURN

4]

0XFFFFFFF

[3]

处理模式:

0:

返回后进入Handler模式;

1:

返回后进入线程模式

堆栈标志位:

从主堆栈中做出栈操作,返回后使用MSP;

从进程堆栈中做出栈操作,返回后使用PSP

保留,必须为0

处理器状态位:

返回到ARM状态;

返回到Thumb状态。

在Cortex-M3中必须为1

3、复位源标识寄存器RSID(0x400FC180)

RSID-地址0x400FC180

POR

上电复位(POR)信号有效时该位置位。

并清零该寄存器中其它所有的位。

但是如果上电复位信号撤销后另外一个复位信号(如外部复位)仍然保持有效,则这个复位信号对应的位置位。

POR位不受其它任何复位源的复位影响。

当VDD(3V3)引脚电平超过门限值(1V左右)时POR信号有效。

EXTR

RESET信号有效时该位置位。

该位由上电复位来清零,但不受WDT或掉电检测(BOD)复位的影响

WDTR

当看门狗定时器溢出和看门狗模式寄存器的WDTRESET位为1时,该位置位。

该位可由其它任何一个复位源清零

BODR

当的电源降到低于时,该位置位;

如果VDD电压从降低到然后又回升,则该位置位;

如果VDD(3V3)电压从降低到,接着再下降到POR有效的电压(通常为1V),则该位清零;

如果VDD(3V3)电压继续从1V以下上升到以上,则该位也将置位;

该位不受外部复位或看门狗复位影响;

只有在复位发生且位POR=0时,BODR位才指示VDD(3V3)电压是否

-

保留。

用户软件不要向其写入1。

从保留位读出的值未被定义

上述这些标志位通过写"

1"

清除。

上电复位的优先级最高,可清除其它复位标志;

面看门狗复位优先级最低,其它任何一类复位都可清除它的标志。

掉电复位和外部复位优先级相同,因而不能清除对方标志。

4、系统控制和状态寄存器SCS-(0x400FC1A0)

系统控制和状态寄存器SCS–地址0x400FC1A0

符号

访问

3:

保留,用户软件不要向其写入1。

NA

4

OSCRANGE

1

主振荡器范围选择

主振荡器的频率范围为1MHz~20MHz;

主振荡器的频率范围为15MHz~24MHz

5

OSCEN

主振荡器使能:

主振荡器被禁能;

主振荡器被使能,且在正确的外部电路连接到XTAL1和XTAL2引脚的情况下启动。

6

OSCSTAT

主振荡器状态:

主振荡器不稳定,不能用作时钟源;

主振荡器已稳定,能够用作时钟源;

主振荡器必须通过OSCEN位使能。

RO

31:

7

5、时钟源选择寄存器CLKSRCSEL–(0x400FC10C)

时钟源选择寄存器CLKSRCSEL地址0x400FC10C

 

1:

CLKSRC

00

01

10

11

如下选择PLL0的时钟源:

00:

选择内部RC振荡器作为PLL0时钟源(默认)

01:

选择主振荡器作为PLL0时钟源

10:

选择RTC振荡器作为PLL0时钟源

11:

保留,不使用该值

不适当地设置该值,或改变该值的不正确序列都会导致器件不能正确地操作

7:

2

只有在PLL断开连接时,才可更换PLL输入时钟

6、PLL0STAT状态寄存器对应关系图:

7、PLL0控制寄存器PLL0CON–(0x400FC080)

PLL0控制寄存器PLL0CON–地址0x400FC080

PLLE0

PLL0使能。

当该位为1并且在有效的PLL0馈送之后,该位将激活PLL0并允许其锁定到指定的频率。

(见上图中的振荡器CCO)

PLLC0

PLL0连接。

在使能和锁定PLL0,即PLLE0和PLLC0都设为1,并后面跟随有效的PLL0馈送序列后,使PLL0作为CPU时钟源、AHB外设的时钟源,以及APB外设的时钟源。

PLL0输出可以用来计时USB子系统(如果频率为48MHz)。

(见上图中的切换开关)

31:

PLL0中的电流控制振荡器CCO的输出为:

275~550MHz

8、PLL0配置寄存器PLL0CFG–(0x400FC084)

PLL0配置寄存器PLL0CFG–地址0x400FC084

14:

MSEL0

PLL0倍频器值。

在PLL0频率计算中提供“M”值。

存储在这里的值为M-1。

支持的M值有从6~512的整数值,以及如表所示的值

有些M值硬件并不支持。

有关MSEL0正确值的选取,见“PLL0频率计算”

只有执行正确的PLL馈送序列后生效

15

NA

23:

16

NSEL0

PLL0预分频器值。

在PLL0频率计算中提供“N”值。

存储在这里的值为N-1,支持的N值范围是1~32

有关NSEL0正确值的选取,见“PLL0频率计算”。

24

9、PLL0状态寄存器PLL0STAT–(0x400FC088)

PLL0状态寄存器PLL0STAT–地址0x400FC088

读回PLL0倍频器值。

这是PLL0当前使用的值,它比实际的倍频器值少1

读回PLL0预分频器值。

这是PLL0当前使用的值,它比实际的分频器值少1

PLLE0_STAT

读回PLL0使能位。

当该位为1时,PLL0处于激活状态;

当该位为0时,PLL0关闭。

当进入掉电模式时,该位自动清零

25

PLLC0_STAT

读回PLL0连接位。

当PLLC0和PLLE0都为1时,PLL0作为LPC1700系列Cortex-M3微控制器的时钟源被连接;

当PLLC0或PLLE0位为0时,PLL0被旁路,当进入掉电模式时,该位自动清零

26

PLOCK0

反映PLL0的锁定状态。

当该位为0时,PLL0未锁定;

当该位为1时,PLL0锁定到指定的频率。

当使能PLL0或改变参数时,PLL0在新的条件下需要一些时间来完成锁定,可通过监控PLOCK0位来确定连接PLL0的时间。

27

10、PLLE0和PLLC0的组合表

PLL功能

PLL0被关闭并断开连接。

PLL0的输出时钟与输入时钟相同

PLL0被激活但是尚未连接。

PLL0可在PLOCK0有效后连接

与00组合相同。

这样消除了PLL0已被连接但没有使能的可能性

PLL0被激活且已被连接作为系统时钟源

11、PLL0馈送寄存器PLL0FEED–(0x400FC08C)

PLL0馈送寄存器PLL0FEED–地址0x400FC08C

PLL0FEED

PLL0馈送序列必须写入该寄存器才能使PLL0配置和控制寄存器的更改生效

0x00

8

11、PLL1控制寄存器PLL1CON–(0x400FC0A0)

PLL0控制寄存器PLL0CON–地址0x400FC0A0

PLLE1

PLL1使能。

当该位为1并且在有效的PLL1馈送之后,该位将激活PLL1并允许其锁定到指定的频率。

PLLC1

PLL1连接。

在使能和锁定PLL1,即PLLE1和PLLC1都设为1,并后面跟随有效的PLL1馈送序列后,使PLL1作为USB子系统的时钟源

PLL1中的电流控制振荡器CCO的输出为:

156~320MHz

12、PLL1配置寄存器PLL1CFG–(0x400FC0A4)

PLL1配置寄存器PLL1CFG–地址0x400FC0A4

4:

MSEL1

PLL1倍频器值。

在PLL1频率计算中提供“M”值

00000时M=100001时M=200010时M=3……11110时M=3111111时M=32

6:

PSEL1

PLL1分频器值。

在PLL1频率计算中提供“P”值

00时P=101时P=210时P=411时P=8

0

13、PLL1状态寄存器PLL1STAT–(0x400FC0A8)

PLL1状态寄存器PLL1STAT–地址0x400FC0A8

读回PLL1倍频器值。

这是PLL1当前使用的值

读回PLL1分频器值。

PLLE1_STAT

读回PLL1使能位。

当该位为1时,PLL1处于激活状态;

当该位为0时,PLL1关闭。

9

PLLC1_STAT

读回PLL1连接位。

当PLLC和PLLE都为1时,PLL1作为微控制器的时钟源被连接;

当PLLC或PLLE位为0时,PLL1被旁路,微控制器直接使用振荡器时钟。

PLOCK1

反映PLL1的锁定状态。

当该位为0时,PLL1未锁定;

当该位为1时,PLL1锁定为指定的频率

14、PLLE1和PLLC1的组合表

PLL1被关闭并断开连接。

PLL1的输出时钟与输入时钟相同

PLL1被激活但是尚未连接。

PLL1可在PLOCK1有效后连接

这样消除了PLL1已被连接但没有使能的可能性

PLL1被激活且连接。

PLL1作为USB子系统的时钟源

15、PLL1馈送寄存器PLL1FEED–(0x400FC0AC)

PLL1馈送寄存器PLL1FEED–地址0x400FC0AC

PLL1FEED

PLL1馈送序列必须写入该寄存器才能使PLL1配置和控制寄存器的更改生效

16、CPU时钟配置寄存器CCLKCFG–(0x400FC104)

PU时钟配置寄存器CCLKCFG–地址0x400FC104

CCLKSEL

从PLL0输出中选择建立CPU时钟(CCLK)的分频值

分频值只能是0和奇数值(1、3、5…,255)并且可以在编程CCLKSEL位时使用

当置位CCLKSEL位时使用偶数值(2、4、6…,254)可能会导致操作错误

不允许,由于CPU时钟频率不能大于100MHz(注:

CCO为255~550MHz)

2:

对PLL0输出进行3分频,产生CUP时钟(CCLK)

对PLL0输出进行4分频,产生CUP时钟(CCLK)

………

255:

对PLL0输出进行256分频,产生CUP时钟(CCLK)

PLL0输出经过分频后可供CPU或USB子系统使用,如果使能PLL1,那么PLL1就作为USB子系统时钟源。

17、USB时钟配置寄存器USBCLKCFG–(0x400FC108)

USB时钟配置寄存器USBCLKCFG–地址0x400FC108

USBSEL

该寄存器仅在PLL1禁止时使用。

如果PLL1使能,则其输出自动用作USB时钟源,且必须配置PLL1为USB子系统提供正确的48MHz时钟

从PLL0输出中选择建立精确48MHz的USB时钟的分频值,仅有下面所列值班为可用的PLL0输出分频值:

值为5时:

6分频PLL0输出,此时PLL0输出为288MHz

值为7时:

8分频PLL0输出,此时PLL0输出为384MHz

值为9时:

10分频PLL0输出,此时PLL0输出为480MHz

18、IRC调整寄存器IRCTRIM–(0x400FC1A4)

IRC调整寄存器IRCTRIM–地址0x400FC1A4

IRCtrim

IRC调整值。

它控制片内4MHz的IRC频率

0xA0

15:

软件必须写0到这些位

19、外设时钟选择寄存器PCLKSEL0–(0x400FC1A8)

外设时钟选择寄存器PCLKSEL0–地址0x400FC1A8

PCLK_WDT

WDT的外设时钟选择

PCLK_TIMER0

TIMER0的外设时钟选择

5:

PCLK_TIMER1

TIMER1的外设时钟选择

PCLK_UART0

UART0的外设时钟选择

9:

PCLK_UART1

UART1的外设时钟选择

11:

13:

12

PCLK_PWM1

PWM1的外设时钟选择

14

PCLK_IC0

IC0的外设时钟选择

17:

PCLK_SPI

SPI的外设时钟选择

19:

18

21:

20

PCLK_SSP1

SSP1的外设时钟选择

22

PCLK_DAC

DAC的外设时钟选择

25:

PCLK_ADC

ADC的外设时钟选择

27:

PCLK_CAN1

CAN1的外设时钟选择

29:

28

PCLK_CAN2

CAN2的外设时钟选择

30

PCLK_ACF

CAN滤波器的外设时钟选择

位为00时PCLK_perpheral=CCLK/4;

位为01时PCLK_perpheral=CCLK

位为10时PCLK_perpheral=CCLK/2;

位为11时PCLK_perpheral=CCLK/8

CAN1、CAN2和CAN滤波部件除外,当选择“11”时,PCLK_CAN1/PCLK1_CAN2/PCLK_ACF=CCLK/6

20、外设时钟选择寄存器PCLKSEL1–(0x400FC1AC)

外设时钟选择寄存器PCLKSEL1–地址0x400FC1AC

PCLK_QEI

正交编码器接口的外设时钟选择

PCLK_GPIOINT

GPIO中断的外设时钟选择

PCLK_PCB

引脚连接模块的外设时钟选择

PCLK_IC1

IC1的外设时钟选择

PCLK_SSP0

SSP0的外设时钟选择

PCLK_TIMER2

TIMER2的外设时钟选择

PCLK_TIMER3

TIMER3的外设时钟选择

PCLK_UART2

UART2的外设时钟选择

PCLK_UART3

UART3的外设时钟选择

PCLK_IC2

IC2的外设时钟选择

PCLK_IS

IS的外设时钟选择

PCLK_RIT

重复中断定时器的外设时钟选择

PCLK_SYSCON

系统控制模块的外设时钟选择

PCLK_MC

电机控制PWM的外设时钟选择

21、系统控制寄存器SCR–(0xE000ED10)

系统控制寄存器SCR–地址0xE000ED10

-

不能向该位写1

SLEEPONEXIT

从处理模式到线程模式是否进入退出睡眠模式。

此位置1使能中断避免应用程序返回空的mian函数

在线程模式中不睡眠

当从ISR返回到线程模式进入睡眠模式或深度睡眠模式

SLEEPDEEP

在低功耗模式下选择处理器使用睡眠模式还是深度睡眠模式

睡眠

1

深度睡眠

3

SEVONPEND

发送中断信号。

当有中断进入等待中断模式,中断信号可将CPU从WFE中唤醒。

如果CPU没有等待中断,但是中断信号已经有效,将会在下一个WFE指令后生效。

当然执行SEV指令也可将CPU唤醒

只有使能的中断才可以将CPU唤醒,没有使能的中断将被忽略

所有的中断,包括使能和没有使能的中断都可以将CPU唤醒

5

不能向这些位写1

0x00

21、功率模式控制寄存器PCON–(0x400FC0C0)

功率模式控制寄存器PCON–地址0x400FC0C0

PM0

功率模式控制位0。

该位控制进入掉电模式。

详细内容见“低功耗模式的编码”。

PM1

功率模式控制位1。

该位控制进入深度掉电模式。

BODRPM

掉电低功耗模式。

当BODRPM为1时,掉电检测电路将在芯片进入掉电模式或深度睡眠模式时关断,使功耗进一步降低。

此时,不能使用掉电检测作为掉电模式的唤醒源。

当该位为0时,掉电检测功能在掉电模式和深度睡眠模式中保持有效。

有关掉电检测的详细内容请见“系统控制模块”。

3

BOGD

掉电全局禁能。

当BOGD为1时,掉电检测电路一直被完全禁止,且不消耗功率。

当该位为0时,掉电检测电路被使能。

BORD

掉电复位禁能。

当BORD为1时,低压检测的第二阶段()将不会导致芯片复位。

当BORD为0时,复位被使能。

低压检测的第一阶段()Brown-out中断不受影响。

7:

从保留位读出的值未被定义。

SMFLAG

睡眠模式进入标志。

当成功进入睡眠模式时该位置位。

通过向该位写入1由软件将其清零。

DSFLAG

深度睡眠进入标志。

当成功进入深度睡眠模式时该位置位。

PDFLAG

掉电进入标志。

当成功进入掉电模式时该位置位。

DPDFLAG

深度掉电进入标志。

当成功进入深度掉电模式时该位置位。

低功耗模式的编码

1、00:

正如Cortex-M3系统控制寄存器的SLEEPDEEP位所定义,执行WFI或WFE进入睡眠或深度睡眠模式

2、01:

如果Cortex-M3系统控制寄存器的SLEEPDEEP位为1,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1