UM2082F08 用户手册
UM2082F08 用户手册
版本:V1.0
广芯微电子(广州)股份有限公司
条款协议
x文档的所有部分,其著作产权归广芯微电子(广州)股份有限公司(以下简称广芯微电子)所有,未经广芯微电子授权许可,任何个人及组织不得复制、转载、仿制本文档的全部或部分组件。本文档没有任何形式的担保、立场表达或其他暗示,若有任何因本文档或其中提及的产品所有资讯所引起的直接或间接损失,广芯微电子及所属员工恕不为其担保任何责任。除此以外,本文档所提到的产品规格及资讯仅供参考,内容亦会随时更新,恕不另行通知。
1. 本文档中所记载的关于电路、软件和其他相关信息仅用于说明半导体产品的操作和应用实例。用户如在设备设计中应用本文档中的电路、软件和相关信息,请自行负责。对于用户或第三方因使用上述电路、软件或信息而遭受的任何损失,广芯微电子不承担任何责任。
2. 在准备本文档所记载的信息的过程中,广芯微电子已尽量做到合理注意,但是,广芯微电子并不保证这些信息都是准确无误的。用户因本文档中所记载的信息的错误或遗漏而遭受的任何损失,广芯微电子不承担任何责任。
3. 对于因使用本文档中的广芯微电子产品或技术信息而造成的侵权行为或因此而侵犯第三方的专利、版权或其他知识产权的行为,广芯微电子不承担任何责任。本文档所记载的内容不应视为对广芯微电子或其他人所有的专利、版权或其他知识产权作出任何明示、默示或其它方式的许可及授权。
4. 使用本文档中记载的广芯微电子产品时,应在广芯微电子指定的范围内,特别是在最大额定值、电源工作电压范围、热辐射特性、安装条件以及其他产品特性的范围内使用。对于在上述指定范围之外使用广芯微电子产品而产生的故障或损失,广芯微电子不承担任何责任。
5. 虽然广芯微电子一直致力于提高广芯微电子产品的质量和可靠性,但是,半导体产品有其自身的具体特性,如一定的故障发生率以及在某些使用条件下会发生故障等。此外,广芯微电子产品均未进行防辐射设计。所以请采取安全保护措施,以避免当广芯微电子产品在发生故障而造成火灾时导致人身事故、伤害或损害的事故。例如进行软硬件安全设计(包括但不限于冗余设计、防火控制以及故障预防等)、适当的老化处理或其他适当的措施等。
版本修订
版本 | 日期 | 描述 |
V1.0 | 2022.06.08 | 初始版 |
目录
5.2.1 Reg00 Default Value:0x7D 52
5.2.2 Reg01 Default Value:0x14 52
5.2.3 Reg02 Default Value:0xF0 52
5.2.4 Reg04 Default Value:0x00 53
5.2.5 Reg05 Default Value:0x00 53
5.2.6 Reg06 Default Value:0x00 54
5.2.7 Reg07 Default Value:Read only 54
5.2.8 Reg08 Default Value:Read only 54
5.2.9 Reg09 Default Value:Read only 55
5.2.10 Reg10 Default Value:Read only 55
5.2.11 Reg11 Default Value:Read only 55
5.2.12 Reg12 Default Value:0x20 56
5.2.13 Reg13 Default Value:0x05 56
5.2.14 Reg14 Default Value:0x1F 57
5.2.15 Reg15 Default Value:0x06 57
5.2.16 Reg17 Default Value:0x69 58
5.2.17 Reg18 Default Value:0x96 58
5.2.18 Reg21 Default Value:0x00 59
5.2.19 Reg22 Default Value:0x3F 59
5.2.20 Reg24 Default Value:0x3C 59
5.2.21 Reg31 Default Value:0x00 60
5.2.22 Reg32 Default Value:0x00 60
5.2.23 Reg33 Default Value:0x00 60
5.2.24 Reg34 Default Value:0x00 61
5.2.25 Reg35 Default Value:0x00 61
5.2.26 Reg36 Default Value:0x00 61
5.2.27 Reg37 Default Value:0x00 61
5.2.28 Reg38 Default Value:0x00 62
5.2.29 Reg40 Default Value:0x00 62
5.2.30 Reg42 Default Value:0x33 62
5.2.31 Reg43 Default Value:0x09 63
5.2.32 Reg127 Default Value:0x00 63
10 TIMER0/1(定时器) 89
10.1 主要特性 89
10.2 定时器 0/1 工作方式 89
10.3 使用流程 89
11 UART0/1 (增强型串口) 90
11.1 特性 90
11.2 UART0 工作模式 90
11.3 UART1 工作模式 93
11.4 多机通讯 94
11.5 xx率 94
11.6 使用流程 95
11.6.1 UART0 mode1 使用流程 95
11.6.2 UART1 modeB 使用流程 96
12 SPI 97
12.1 主要特性 97
12.2 寄存器描述 97
12.2.1 SPCR1 控制寄存器 97
12.2.2 SPCR2 控制寄存器 98
12.2.3 SPCR3 控制寄存器 99
12.2.4 SPCR4 控制寄存器 100
12.2.5 SPIIE 中断使能寄存器 100
12.2.6 SPSR 状态寄存器 101
12.2.7 TXBUF 发送数据寄存器 101
12.2.8 RXBUF 接收数据缓冲寄存器 102
12.3 使用流程 102
12.3.1 SPI 初始化 102
12.3.2 SPI 发送流程 102
12.3.3 SPI 接收流程 103
13 LPTIM(低功耗定时器) 104
13.1 概述 104
13.2 主要特性 104
13.3 工作模式 104
13.3.1 普通定时器 104
13.3.2 外部异步脉冲计数 104
13.3.3 计数模式 105
13.3.4 16bit PWM 105
13.4 寄存器描述 105
13.4.1 LPTCFG0 寄存器 105
13.4.2 LPTCFG1 寄存器 106
13.4.3 LPTCNT 计数值寄存器 107
13.4.4 LPTCMP 比较值寄存器 107
13.4.5 LPTTARGET 目标值寄存器 107
13.4.6 LPTIE 中断使能寄存器 108
13.4.7 LPTIF 中断标志寄存器 108
13.4.8 LPTCTRL 控制寄存器 108
13.5 使用流程 109
13.5.1 普通定时器 109
13.5.2 PWM 输出 109
13.5.3 外部异步脉冲计数模式 109
14 I2C 111
14.1 概述 111
14.2 主要特性 111
14.3 寄存器描述 111
14.3.1 I2C_SLAVE_ADDR1 从设备地址寄存器 1 112
14.3.2 I2C_CLK_DIV 时钟分频寄存器 112
14.3.3 I2C_CR0 控制寄存器 0 112
14.3.4 I2C_CR1 控制寄存器 1 113
14.3.5 I2C_SR0 状态寄存器 0 114
14.3.6 I2C_SR1 状态寄存器 1 115
14.3.7 I2C_DR 数据寄存器 115
14.3.8 I2C_SLAVE_ADDR2 从设备地址寄存器 2 115
14.4 功能描述 116
14.4.1 模式选择 116
14.4.2 I2C 从模式 116
14.4.3 I2C 主模式 117
14.5 使用流程 118
14.5.1 I2C 初始化 118
14.5.2 作为主发送器 118
14.5.3 作为主接收器 119
14.5.4 作为从发送器 119
14.5.5 作为从接收器 119
15 ADC(模/数转换器) 121
15.1 主要特性 121
15.2 使用流程 121
16 WDT(看门狗定时器) 122
16.1 概述 122
16.2 使用流程 122
17 LVD 123
17.1 概述 123
17.2 主要特性 123
17.3 使用流程 123
18 中断 124
18.1 特性 124
18.2 中断汇总 124
19 指令集 125
19.1 指令操作数说明 125
19.2 算数操作指令 125
19.3 逻辑操作指令 126
19.4 数据传送指令 127
19.5 控制程序转移指令 128
19.6 位操作指令 128
20 电气参数 129
20.1 绝对最大额定值 129
20.2 通用工作条件 129
20.3 低频无线唤醒功耗值(不含 MCU) 130
20.4 低频无线唤醒通道建立时间 130
20.5 低频无线唤醒接收灵敏度 130
20.6 DC 参数 130
20.7 交流 AC 参数 132
20.8 12 位A/D 转换器 135
20.9 内存擦/写特性 137
20.10 低功耗模式返回时间 137
21 封装信息 138
21.1 QFN20(4*4MM) 138
图目录
图 11-1:Transmit Timing of Mode 0 91
图 11-2:Receive Timing of Mode 0 91
图 11-3:Transmit Timing of Mode 1 92
图 11-4:Receive Timing of Mode 1 92
图 11-5:Transmit Timing of Mode 2 93
图 11-6:Receive Timing of Mode 2 93
图 14-1:I2C 通信时序图 116
图 14-2:7 位从发送器的传送图 116
图 14-3:7 位从接收器的传送图 117
图 14-4:7 位主发送器的传送图 117
图 14-5:7 位主接收器的传送图 118
图 21-1:QFN20 封装图 138
表目录
表 11-1:UART0 工作方式列表 90
表 11-2:UART1 工作方式列表 93
表 11-3:xx率误差表 94
表 13-1:LPTIMER 寄存器列表 105
表 14-1:I2C 寄存器列表 111
表 18-1:中断信号汇总表 124
表 19-1:指令操作数表 125
表 19-2:算数操作数表 125
表 19-3:逻辑操作指令表 126
表 19-4:数据传送指令表 127
表 19-5:控制程序转移指令表 128
表 19-6:位操作指令表 128
表 20-1:芯片绝对最大额定值表 129
表 20-2:通用工作条件 129
表 20-3:各工作模式下功耗表 130
表 20-4:通道建立时间表 130
表 20-5:接收灵敏度表 130
表 20-6:静态参数表 130
表 20-7:IO 特性表 131
表 20-8:端口输出特性表 132
表 20-9:端口输入特性表 132
表 20-10:RCH 振荡器特性表 133
表 20-11:RCL 振荡器特性表 133
表 20-12:RC 振荡器表 133
表 20-13:LC 振荡器表 134
表 20-14:LVR 低电压检测特性表 134
表 20-15:LVD 低电压检测特性表 135
表 20-16:ADC 特性表 135
表 20-17:内存擦/写特性表 137
表 20-18:低功耗模式返回时间表 137
1 系统概述
UM2082F08 是广芯微电子(广州)股份有限公司研制的基于单周期8051 内核的超低功耗8 位、具有三通道低频无线唤醒ASK 接收功能的 SOC 芯片。芯片可检测 30KHz~300KHz 范围的 LF(低频)载波频率数据并触发唤醒信号,同时可以调节接收灵敏度,确保在各种应用环境下实现可靠唤醒,其拥有的三个独立通道可配置成不同的唤醒模式且每个通道都具有 RSSI 检测功能,支持多种数据率的配置,支持曼彻斯特编码方式。此外,芯片内部集成了 32KB 的Flash、最大 2KB+256B 的 SRAM、12 位 1Msps 的SAR ADC 以及UART、SPI、I2C、PWM 等通用外围通讯接口。
UM2082F08 具有资源高整合度、高抗干扰性能、高可靠性、低功耗设计以及极简外围器件等技术特点。内置高速时钟 ROSC、LDO 和POR 模块,板级电路可免晶振、LDO、复位电路。低频无线唤醒采用独立的内部集成时钟信号发生器,时钟源来自内部 RC 振荡器(32KHz),用户无需进行外部校准就能让芯片发挥出最佳性能。支持 Keil MDK 通用集成开发环境,支持 C 语言和汇编语言进行软件开发。
典型应用场景:
⚫ PKE 无钥匙门禁系统
⚫ 智能交通,智慧城市,智能家居
⚫ 智能门锁,资产追踪、无线监控等智能传感器终端应用
⚫ 工业物联网终端应用
⚫ 玩具控制等通用控制器应用
1.1 主要特点
⚫ 超低功耗电源管理系统(不含低频无线唤醒)
- 0.59μA @3.0V DeepSleep+定时唤醒,低速时钟运行,IO、SRAM 以及寄存器数据保持
- 0.32μA @3.0V Stop 模式,所有时钟停止,IO、SRAM 以及寄存器数据保持
- 95μA/MHz @3.0V Active 模式
- 内置ROSC/LDO/POR 模块,板级系统可免去晶振/LDO/复位电路
⚫ 存储器
- RAM:Idata 256B,Xdata 最大
2KB
- 32KB eFlash:
✓ Sector 大小:512B
✓ Sector 擦除时间:5ms
✓ Byte 编程时间:7.5μs
✓ 擦写次数:20,000 次
✓ 数据保存时间:100 年 @常温
⚫ 低频无线唤醒(不含MCU)
- 三个独立天线通道:X/Y/Z 轴
- 载波频率范围:30KHz~300KHz
- 接收灵敏度:<70uVrms
- 数据率:1kbps~8kbps
- 唤醒距离:>10m
- 低功耗:
✓ 三通道轮询扫描模式:2.9μA
✓ 三通道间歇运行模式:2.1μA
✓ 单通道间歇运行模式:1.7μA
⚫ 定时/计数器
- 2 个 16 位通用定时器 T0/T1,可作 LPTimer 用
- 1 个 16 位低功耗定时器LPTimer,支持PWM 输出
- 1 个看门狗WDT
⚫ 时钟源
- 内部高频 RC 振荡器:48MHz
(系统最高可以跑 24MHz,即内部高频 RC 时钟的 2 分频,此时需将 flash读等待时间设置为 1。默认情况下内部高频 RC 时钟 3 分频之后作为系统时钟,即 16MHz)
- 内部低频 RC 振荡器:32KHz
- 低频无线唤醒内部独立 RC 振荡器:32KHz
⚫ 复位源
- POR(上电复位)
- LVR(掉电复位)
- LVD(低电压检测)
- 看门狗复位
⚫ 内建低电压检测模块(LVD)
⚫ 外围接口
- PWM:2 路 16 位PWM 输出(含
LPTimer 中 1 路)
- UART:2 个增强型串口
UART0/UART1
- ADC:6 通道 12 位 SAR ADC, 1Msps 采样速率
- I2C:主/从模式,速率 400Kbps
(xxx)
- SPI:1 路,主/从模式,
Mode0/1/2/3 协议,最高速率 12Mbps
- GPIO:最大 11 个,内置上/下拉可配置
⚫ 主要电气参数
- 工作电压:2.0V~3.6V
- 工作温度:-40°C ~+85°C
- ESD 保护:3KV(HBM)
⚫ 中断源
- 定时器 T0/T1
- EFC 中断
- 全部 IO 支持外部中断
- UART0/UART1
- ADC
- PWM 周期中断
- SPI
- LPTIMER
- I2C
⚫ 省电模式支持
- Sleep Mode
- DeepSleep Mode
- Stop Mode
- PIN Reset
⚫ 封装 QFN20
1.2 功能框图
Analog VDT(LVD/LVR) POR LDO 12bit ADC x6 24MHz RCH 32KHz RCL | Core 1T 8051 NVIC | Interface GPIO x11 SPI PWM x2 UART x2 I2C | ||
Timer TIMER x2 LPTIMER WDT | ||||
32KB eFlash Memory 2KB+256B SRAM |
125K AFE
RF
图 1-1:功能框图
1.3 电源框图
Analog Cirtuit
VDDH
GPIO
1.8~5.5V 4.7uF//0.1uF
VSS
12bit ADC
I/O Circuit
Digital Circuit
LDO
HSE XTAL
LSI RCOSC
LVR
HSI RCOSC
LVD
POR
图 1-2:电源框图
每组电源都需要一个去耦电容,去耦电容尽量靠近相应电源管脚。
1.4 低频无线唤醒系统结构框图
Demodulator
Logic
LC-Oscillator
Wakeup
Channel
Amplifier-1
RF
Interface
Tuning
Caps
Channel
Amplifier-2
Channel
Selector
Correlator
Tuning
Caps
Channel
Amplifier-3
Manchester Dcoder
Tuning
Caps
I/V
Bias
RC
Oscillator
Clock
Buffer
Wake
LFP1
RF_SCL RF_SDA
LFP2
LFP3
LFN
GND
VDD
图 1-3:低频无线唤醒系统内部结构框图
2 引脚描述
RF_SCL
2.1 封装管脚分布
10
9
8
7
6
11
5
12
4
13
3
14
2
15
1
16
17
18
19
20
UM2082F08
VDD
P0.3
VDDH
P0.1
LFP3 RF_SDA
LFP2 LFP1
LFN
P2.6
P2.7
RESETN (P0.2)
P0.4 WAKE
2.2 信号描述
P1.0
P1.3
P1.4
P1.5
P2.2
图 2-1:QFN20 封装管脚分布图
表 2-1:引脚功能描述
封装引脚编号 | 引脚 | IO | 复位状态 | 引脚类型 | 功能描述 | |
(QFN20) | 名称 | Type | DIR | PU PD | ||
0 | GND | G | AP | - | GND | 芯片地(LF PAD)公共地 |
1 | LFP3 | I | AI | - | LFP3 | 通道 3 天线输入 |
2 | LFP2 | I | AI | - | LFP2 | 通道 2 天线输入 |
3 | LFP1 | I | AI | - | LFP1 | 通道 1 天线输入 |
4 | LFN | I | AI | - | LFN | 通道共用地 |
5 | P0.4 | I/O | DI | - | P0.4(默认) | 通用数据输入/输出管脚 |
I2C_SDA | I2C_SDA信号 | |||||
6 | P1.0 | I/O | DI | - | P1.0(默认) | 通用数字输入/输出管脚 |
PWM0 | PWM0 信号 |
封装引脚编号 | 引脚 | IO | 复位状态 | 引脚类型 | 功能描述 | |
(QFN20) | 名称 | Type | DIR | PU PD | ||
LPT_IN | LPTIMER 输入信号 | |||||
I2C_SCL | I2C_SCL 信号 | |||||
7 | P1.3 | I/O | DI | - | P1.3(默认) | 通用数字输入/输出管脚 |
SPI_SCK | SPI_SCK 信号 | |||||
8 | P1.4 | I/O | DI | - | P1.4(默认) | 通用数字输入/输出管脚 |
RX1 | UART1 RX 信号 | |||||
AIN0 | ADC CH0 输入 | |||||
SPI_MOSI | SPI_MOSI 信号 | |||||
9 | P1.5 | I/O | DI | - | P1.5(默认) | 通用数字输入/输出管脚 |
TX1 | UART1 TX 信号 | |||||
SPI_MISO | SPI_MISO 信号 | |||||
AIN1 | ADC CH1 输入信号 | |||||
10 | P2.2 | I/O | DI | - | P2.2(默认) | 通用数字输入/输出管脚 |
AIN3 | ADC CH3输入 | |||||
11 | WAKE | - | DO | - | WAKE | 唤醒中断信号输出 |
12 | RESETN | I/O | DI | PU | RESETN (默认) | Reset Pin,低电平复位,内部强制上拉 此信号为UART 批量下载必要信号,建议 PCB 上引出该管脚信号(pad 或 pin) |
P0.2 | 通用数字输入/输出管脚 | |||||
13 | P2.7 | I/O | DI | - | P2.7(默认) | 通用数字输入/输出管脚 |
RX0 | UART0 RX (BOOT UART 下载用此口,需 NRST 信号配合使用) | |||||
AIN6 | ADC CH6 输入 | |||||
14 | P2.6 | I/O | DI | - | P2.6(默认) | 通用数字输入/输出管脚 |
封装引脚编号 | 引脚 | IO | 复位状态 | 引脚类型 | 功能描述 | |
(QFN20) | 名称 | Type | DIR | PU PD | ||
TX0 | UART0 TX (BOOT UART 下载用此 口,需 NRST 信号配合使用) | |||||
AIN5 | ADC CH5 输入 | |||||
15 | RF_SDA | - | DIO | - | RF_SDA | RF_SDA 信号 |
16 | RF_SCL | - | DI | - | RF_SCL | RF_SCL 信号 |
17 | P0.1 | I/O | DI | - | P0.1(默认) | 通用数字输入/输出管脚 |
18 | VDDH | P | AP | - | VDDH | 芯片电源 2.0V~3.6V |
19 | P0.3 | I/O | DI | - | P0.3 (默认) | 通用数字输入/输出管脚 |
SPI_CSN | SPI CS 信号 | |||||
LPT_OUT | LPTIMER OUT 信号 | |||||
20 | VCC | P | AP | - | VCC | 芯片电源 2.0V~3.6V |
说明:
A –模拟信号; D –数字信号; I – Input; O – Output; G – Ground; P – Power;PU– pull up
上拉;PD– pull down 下拉;HZ – 高阻状态。
3 处理器
3.1 主要特性
CPU 内核xxx:XXX,X,XXX,XX,XXX,XXX,XXX,XXX0,XXX0
3.2 程序状态字寄存器(PSW)
程序状态字(PSW)寄存器包含了程序状态信息。
3.3 累加器(ACC)
累加器 ACC 是一个常用的专用寄存器,常用于存放参加运算的操作数及运算结果。
3.4 B 寄存器
在乘除指令中,会用到B 寄存器,在其他指令中,B 寄存器可作为通用暂存寄存器。
3.5 数据指针(DPTR)
数据指针DPTR 是一个 16 位专用寄存器,其高位字节寄存器用 DPH 表示,低位字节寄存器用 DPL 表示。它们既可以作为一个 16 位寄存器 DPTR 来处理,也可以作为 2 个独立的 8 位寄存器 DPH 和DPL 来处理。包含双数据指针DPTR&DPTR1,通过DPS(bit0)寄存器选择。
4 存储器
4.1 主要特性
包括内部 RAM (ISRAM)、外部存储空间。外部存储空间中包括用于存放用户程序的程序空间 EFLASH。
4.2 内部 RAM (ISRAM)
为数据存储提供了 256 个字节的内部RAM(ISRAM),通过 MOV 指令访问。ISRAM 分为低 128
字节和高 128 个字节。
⚫ 低 128 字节的 ISRAM(地址从 00H 到 7FH)可直接或间接寻址
⚫ 高 128 字节的 ISRAM(地址从 80H 到 FFH)只能间接寻址。高位 128 字节的 ISRAM 占用的地址空间和 SFR 相同,但在物理上与 SFR 的空间是分离的。当一个指令访问高于地址 7FH 的内部位置时,CPU 可以根据访问的指令类型来区分是访问高位 128 字节数据 ISRAM 还是访问SFR。
ISRAM
(128Bytes,间接
寻址)
SFR
(直接寻址)
80
ISRAM
(128Bytes,直接
或间接寻址)
7F
00
4.3 外部存储空间
为数据存储提供了 2K /1K Bytes 字节的外部存储空间 XRAM,可通过 MOVX 指令直接访问。外部存储空间的低 2K Bytes 地址可以是外部XRAM,或者是 EFLASH 空间,两种占用的地址空间相同,可通过xdata 关键字访问 XRAM 空间。
XRAM(2KB)
0X07FF
0X0000
模块名 | 地址空间 | 大小 |
EFLASH | 0x0000——0x8000 | 32K Bytes |
BootLoaderShadow | 0x8000——0x8600 | 1.5K Bytes |
Reserved | 0x8600——0x9000 | 2.5K Bytes |
NVR0 | 0x9000——0x9200 | 512 Bytes |
NVR1 | 0x9200——0x9400 | 512 Bytes |
Reserved | 0x9400——0xC000 | 11K Bytes |
IO_IE/LVR_LV/IO_SR | 0xC000——0xC400 | 1K Bytes |
SPI | 0xC400——0xC800 | 1K Bytes |
LPTIM | 0xC800——0xCC00 | 1K Bytes |
I2C | 0xCC00——0xD000 | 1K Bytes |
Reserved | 0xCC00——0xFFFF | 13K Bytes |
外部存储空间其地址映射(低 2K Bytes 为EFLASH 空间时)如下表所示,用来存储用户程序。表 4-1:外部存储空间地址映射表
4.4 程序存储器 EFLASH
EFLASH 的主要特性如下:
⚫ 32K Bytes 程序空间
⚫ Sector 大小 :512B
⚫ Sector 擦除时间:5ms
⚫ Byte 编程时间:7.5us
⚫ 擦写次数:20,000 次
⚫ 数据保存年限:100 年@常温
⚫ EFLASH 支持 IAP 功能(In Applicating Programing)
EFLASH 编程(可通过以下两种方式对EFLASH 进行读写):
⚫ IAP(In Applicating Programing)模式,用户程序代码可对未使用的 EFLASH 区进行编程,具体参照 EFC 章节。
⚫ 通过系统Boot 程序,通过串口对 EFLASH 编程。
5 系统配置(SFR)
5.1 地址映射
系统SFR 映射表如下:
表 5-1:系统 SFR 映射表
可位寻址 | 不可位寻址 | ||||||||
0/8 | 1/9 | 2/A | 3/B | 4/C | 5/D | 6/E | 7/F | ||
F8H | FFH | ||||||||
F0H | F7H | ||||||||
E8H | - | - | EFH | ||||||
E0H | E7H | ||||||||
D8H | DFH | ||||||||
D0H | D7H | ||||||||
C8H | - | - | - | - | - | CFH | |||
C0H | - | - | - | - | - | - | C7H | ||
B8H | - | BFH | |||||||
B0H | - | - | B7H | ||||||
A8H | - | - | AFH | ||||||
A0H | - | - | A7H | ||||||
98H | - | 9FH | |||||||
90H | - | - | - | 97H | |||||
88H | 8FH | ||||||||
80H | - | 87H | |||||||
0/8 | 1/9 | 2/A | 3/B | 4/C | 5/D | 6/E | 7/F |
5.1.1 P0
80H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
P0 | - | - | - | P0.4 | P0.3 | P0.2 | P0.1 | RF_SCL |
读/写 | 读 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:5 | - | - | ||||||
4 | P0.4 | 当端口配置为输出状态时: 0:输出低电平 1:输出高电平 当端口配置为输入状态时:读到的是端口状态 |
3 | P0.3 | 当端口配置为输出状态时: 0:输出低电平 1:输出高电平 当端口配置为输入状态时:读到的是端口状态 |
2 | P0.2(RESTEN) | 当端口配置为输出状态时: 0:输出低电平 1:输出高电平 当端口配置为输入状态时:读到的是端口状态 |
1 | P0.1 | 当端口配置为输出状态时: 0:输出低电平 1:输出高电平 当端口配置为输入状态时:读到的是端口状态 |
0 | RF_SCL | 当端口配置为输出状态时: 0:输出低电平 1:输出高电平 当端口配置为输入状态时:读到的是端口状态 |
5.1.2 SP
栈指针 SP 是一个 8 位专用寄存器,在执行 PUSH、各种子程序调用、中断响应等指令时,SP先加 1,再将数据压栈;执行POP、RET、RETI 等指令时,数据退出堆栈后 SP 再减 1。堆栈栈顶可以是片上内部RAM(00H-FFH)的任意地址,系统复位后,SP 初始化为 07H,使得堆栈事实上由 08H 地址开始。
81H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
SP | SP | |||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:0 | SP | 栈指针 SP 寄存器。可通过写操作更新SP 栈指针的值。在执行PUSH、各种子程序调用、中断响应等指令时,SP 先加 1,再将数据压栈;执行 POP、 RET、RETI 等指令时,数据退出堆栈后SP 再减 1。 |
5.1.3 DPTR
数据指针DPTR 是一个 16 位专用寄存器,其高位字节寄存器用 DPH 表示,低位字节寄存器用 DPL 表示。它们既可以作为一个 16 位寄存器 DPTR 来处理,也可以作为 2 个独立的 8 位寄存器 DPH 和DPL 来处理。包含双数据指针DPTR&DPTR1,通过DPS(bit0)寄存器选择。
82H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
DPL | DPL | |||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | DPL | 数据指针DPTR0 的低 8 位。 |
83H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
DPH | DPH | |||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | DPH | 数据指针DPTR0 的高 8 位。 |
84H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
DPL1 | DPL1 | |||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | DPL1 | 数据指针DPTR1 的低 8 位。 |
85H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
DPH1 | DPH1 | |||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | DPH1 | 数据指针DPTR1 的高 8 位。 |
5.1.4 PCON
87H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
PCON | - | - | - | - | - | - | STOP | IDLE |
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:2 | - | - | ||||||
1 | STOP | 写 1,进入 Stop Mode 或DeepSleep Mode,读一直返 0。 | ||||||
0 | IDLE | 写 1,进入 Sleep Mode,读一直返 0。 |
5.1.5 TCON
88H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
TCON | TF1 | - | TR1 | T1CLKS | TF0 | - | TR0 | T0CLKS |
读/写 | 读/写 | 读 | 读/写 | 读/写 | 读/写 | 读 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7 | TF1 | 定时器 1 溢出标志: 0:无溢出(必须软件清 0) 1:溢出(硬件置位,软件写 1 无效,写 0 清 0) | ||||||
6 | - | - | ||||||
5 | TR1 | 定时器 1 使能位: 0:停止定时器 1 1:开始定时器 1 | ||||||
4 | T1CLKS | 定时器 1 计数时钟选择位: 0:选择系统时钟作为定时器 1 的计数时钟 1:选择RC32K 作为定时器 1 的计数时钟 | ||||||
3 | TF0 | 定时器 0 溢出标志: 0:无溢出(必须软件清 0) 1:溢出(硬件置位,软件写 1 无效,写 0 清 0) | ||||||
2 | - | - | ||||||
1 | TR0 | 定时器 0 使能位: 0:停止定时器 0 1:开始定时器 0 | ||||||
0 | T0CLKS | 定时器 0 计数时钟选择位: 0:选择系统时钟作为定时器 0 的计数时钟 1:选择RC32K 作为定时器 0 的计数时钟 |
5.1.6 TMOD
89H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
TMOD | - | - | T1PS | - | - | T0PS | ||
读/写 | - | - | 读/写 | 读/写 | - | - | 读/写 | 读/写 |
复位值 | - | - | 0 | 0 | - | - | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:6 | - | - | ||||||
定时器 1 预分频比选择位: | ||||||||
00:1/1 | ||||||||
5:4 | T1PS[1:0] | 01:1/8 | ||||||
10:1/64 | ||||||||
11:1/256 | ||||||||
3:2 | - | - | ||||||
定时器 0 预分频比选择位: | ||||||||
00:1/1 | ||||||||
1:0 | T0PS[1:0] | 01:1/8 | ||||||
10:1/64 | ||||||||
11:1/256 |
5.1.7 TL0
8AH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
TL0 | TL0 | |||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | TL0 | Timer0 低 8 位 [7:0] |
5.1.8 TL1
8BH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
TL1 | TL1 | |||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | TL1 | Timer1 低 8 位 [7:0] |
5.1.9 TH0
8CH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
TH0 | TH0 | |||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | TH0 | Timer0 高 8 位 [15:8] |
5.1.10 TH1
8DH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
TH1 | TH1 | |||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | TH1 | Timer1 高 8 位 [15:8] |
5.1.11 PDSEL
8EH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
PDSEL | - | - | - | - | - | - | - | PDSEL |
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 |
7:1 | - | - |
0 | PDSEL | STOP 模式选择位: 1:STOP 模式使能。当此位为 1,向 PCON 的STOP 位写 1,将进入 STOP 模式,系统所有时钟源全部关掉。 0:STOP 模式禁止。当此位为 0,向 PCON 的STOP 位写 1,将进入 Deepsleep 模式,系统RCL 时钟源在运行,RCH 时钟源关闭。 |
5.1.12 POREN
8FH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
POREN | - | - | - | LVRS | LVR_ENB | |||
读/写 | 读 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:5 | - | - | ||||||
4:1 | LVRS | LVR 检测点电压设置: | ||||||
LVRS | LVR point | LVRS | LVR point | |||||
0000 | 1.65V | 1000 | 2.45V | |||||
0001 | 1.75V | 1001 | 2.55V | |||||
0010 | 1.85V | 1010 | 2.65V | |||||
0011 | 1.95V | 1011 | 2.75V | |||||
0100 | 2.05V | 1100 | 2.85V | |||||
0101 | 2.15V | 1101 | 2.95V | |||||
0110 | 2.25V | 1110 | 3.05V | |||||
0111 | 2.35V | 1111 | 3.15V | |||||
0 | LVR_ENB | 掉电复位使能信号: 0:掉电复位使能; 1:关闭掉电复位功能; |
5.1.13 P1
90H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
P1 | - | - | P1.5 | P1.4 | P1.3 | - | - | P1.0 |
读/写 | - | - | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | - | - | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:6 | - | - | ||||||
5 | P1.5 | 当端口配置为输出状态时: 0:输出低电平 1:输出高电平 当端口配置为输入状态时:读到的是端口状态 |
4 | P1.4 | 当端口配置为输出状态时: 0:输出低电平 1:输出高电平 当端口配置为输入状态时:读到的是端口状态 |
3 | P1.3 | 当端口配置为输出状态时: 0:输出低电平 1:输出高电平 当端口配置为输入状态时:读到的是端口状态 |
2:1 | - | - |
0 | P1.0 | 当端口配置为输出状态时: 0:输出低电平 1:输出高电平 当端口配置为输入状态时:读到的是端口状态 |
5.1.14 LDOTRIML
91H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
LDOTRIML | - | - | VADJ_STANDBY | VTRM_STANDBY | ||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:6 | - | - | ||||||
5:4 | VADJ_STANDBY | STANDBY 模式下电压中心值设置 | ||||||
3:0 | VTRM_STANDBY | STANDBY 模式下TRIM 值 |
5.1.15 DPS
92H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
DPS | - | - | - | - | - | - | - | DPS |
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:1 | - | - | ||||||
0 | DPS | 1:数据指针选择DPTR1; 0:数据指针选择DPTR0。 |
5.1.16 ADCIER
93H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
ADCIER | - | - | - | - | - | - | - | RXINTEN |
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:1 | - | - | ||||||
0 | RXINTEN | 接收器 BUF 存有效数据中断使能位: 1:启用中断 0:未启用中断 |
5.1.17 P0DR
97H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
P0DR | - | - | - | P0_4DR | P0_3DR | P0_2DR | P0_1DR | RF_SCLDR |
读/写 | 读 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:5 | - | - | ||||||
4 | P0_4DR | 端口P0_4 驱动能力配置寄存器: 0:高驱动能力 1:低驱动能力 | ||||||
3 | P0_3DR | 端口P0_3 驱动能力配置寄存器: 0:高驱动能力 1:低驱动能力 | ||||||
2 | P0_2DR | 端口P0_2 驱动能力配置寄存器: 0:高驱动能力 1:低驱动能力 | ||||||
1 | P0_1DR | 端口P0_1 驱动能力配置寄存器: 0:高驱动能力 1:低驱动能力 | ||||||
0 | RF_SCLDR | 端口RF_SCL 驱动能力配置寄存器: 0:高驱动能力 1:低驱动能力 |
5.1.18 S0CON
98H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
S0CON | SM0 | SM1 | SM20 | REN0 | TB80 | RB80 | TI0 | RI0 |
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 |
7 | SM0 | UART0 模式选择控制位: SM0 SM1 MODE 描述 Baud Rate 0 0 0 Shift register SYSCLK/12 0 1 1 8-bit UART 可配置 1 0 2 9-bit UART SYSCLK/16 1 1 3 9-bit UART 可配置 |
6 | SM1 | |
5 | SM20 | UART0 多机通讯使能控制位: 0:关闭多机通讯功能 1:使能多机通讯功能只接收 RB80 = 1 的 9 位数据 |
4 | REN0 | UART0 接收允许使能控制位: 0:不允许串口 0 接收 1:允许串口 0 数据接收 |
3 | TB80 | UART0 Mode2,3 第 9 位发送数据位 |
2 | RB80 | UART0 Mode2,3 第 9 位接收数据位 |
1 | TI0 | UART0 发送中断标志位: 当发送数据完成后,硬件置位,必须由软件清 0 |
0 | RI0 | UART0 接收中断标志位: 当完成一次数据接收,硬件置位,必须由软件清 0 |
5.1.19 S0BUF
99H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
S0BUF | S0BUF.7 | S0BUF.6 | S0BUF.5 | S0BUF.4 | S0BUF.3 | S0BUF.2 | S0BUF.1 | S0BUF.0 |
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | S0BUF[7:0] | UART0 数据寄存器: 读 S0BUF 返 UART0 接收到的数据写 S0BUF 启动 UART0 数据发送 |
5.1.20 S1CON
9BH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
S1CON | SM | - | SM21 | REN1 | TB81 | RB81 | TI1 | RI1 |
读/写 | 读/写 | - | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 |
7 | SM | UART1 模式选择控制寄存位: |
6 | - | - |
5 | SM21 | UART1 多机通讯使能控制位: 0:关闭多机通讯功能 1:使能多机通讯功能,只接收RB81= 1 的 9 位数据 |
4 | REN1 | UART1 接收允许使能控制位: 0:不允许串口 1 接收 1:允许串口 1 数据接收 |
3 | TB81 | UART1 第 9 位发送数据位 |
2 | RB81 | UART1 第 9 位接收数据位 |
1 | TI1 | UART1 发送中断标志位: 当发送数据完成后,硬件置位,必须由软件清 0 |
0 | RI1 | UART1 接收中断标志位: 当完成一次数据接收,硬件置位,必须由软件清 0 |
SM | Mode | 描述 | Baud Rate |
0 | A | 9-bit UART | 可配置 |
1 | B | 8-bit UART | 可配置 |
5.1.21 S1BUF
9CH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
S1BUF | S1BUF.7 | S1BUF.6 | S1BUF.5 | S1BUF.4 | S1BUF.3 | S1BUF.2 | S1BUF.1 | S1BUF.0 |
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7-0 | S1BUF[7:0] | UART1 数据寄存器: 读 S1BUF 返 UART1 接收到的数据写 S1BUF 启动 UART1 数据发送 |
5.1.22 S1REL
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
S1RELL (9DH) | S1RELL. 7 | S1RELL. 6 | S1RELL. 5 | S1RELL. 4 | S1RELL. 3 | S1RELL. 2 | S1RELL. 1 | S1RELL. 0 |
复位值 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 0 |
S1RELH (BBH) | - | - | - | - | - | - | S1RELH. 1 | S1RELH. 0 |
复位值 | - | - | - | - | - | - | 1 | 1 |
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
位编号 | 位符号 | 说明 | ||||||
7:0 | S1RELL[7:0] | UART0 Mode xx率配置寄存器: S1RELH +S1RELL 构成xx率设置 S1REL[9:0] Baud Rate = SYSCK 16×(1024−S1REL) | ||||||
1:0 | S1REH[1:0] |
5.1.23 UARTXXx
0XX | Xxx0 | Xxx0 | Xxx0 | Xxx0 | Xxx0 | Xxx0 | Xxx0 | Xxx0 |
XXXXXX | XXXXXX | XXXXX | - | - | - | UART1EN | UART0EN | |
读/写 | 读/写 | 读/写 | 读/写 | 读 | 读 | 读 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:6 | OUTSEL | 11:保留 10:系统时钟输出 01:RCL32K 时钟输出 00:RCHDIV 时钟输出 | ||||||
5 | OUTEN | CLK 输出使能: 1:P0_3 作为 CLKOUT 输出功能 0:P0_3 不作为CLKOUT 输出功能 | ||||||
4:2 | - | - | ||||||
1 | UART1EN | UART1 使能控制位: 0:关闭UART1 功能,P1.4,P1.5 作为 GPIO 功能 1:打开UART1 功能,P1.4,P1.5 作为 UART1 RX1,TX1 功能 | ||||||
0 | UART0EN | UART0 使能控制位: 0:关闭UART0 功能,P2.6,P2.7 作为 GPIO 功能 1:打开UART0 功能,P2.6,P2.7 作为 UART0 TX0,RX0 功能 |
5.1.24 RCLTRIM
9FH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
RCLTRIM | - | RTRIM | S | |||||
读/写 | 读 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7 | - | - | ||||||
6:5 | RTRIM | 片内低频RCL 修调值 | ||||||
4:0 | S | 片内低频RCL 修调值 |
5.1.25 P2
A0H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
P2 | P2.7 | P2.6 | RF_SDA | - | WAKE | P2.2 | - | - |
读/写 | 读/写 | 读/写 | 读/写 | 读 | 读/写 | 读/写 | 读 | 读 |
复位值 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
位编号 | 位符号 | 说明 |
7 | P2.7 | 当端口配置为输出状态时: 0:输出低电平 1:输出高电平 当端口配置为输入状态时:读到的是端口状态 |
6 | P2.6 | 当端口配置为输出状态时: 0:输出低电平 1:输出高电平 当端口配置为输入状态时:读到的是端口状态 |
5 | RF_SDA | 当端口配置为输出状态时: 0:输出低电平 1:输出高电平 当端口配置为输入状态时:读到的是端口状态 |
4 | - | - |
3 | WAKE | 当端口配置为输出状态时: 0:输出低电平 1:输出高电平 当端口配置为输入状态时:读到的是端口状态 |
2 | P2.2 | 当端口配置为输出状态时: 0:输出低电平 1:输出高电平 当端口配置为输入状态时:读到的是端口状态 |
1:0 | - | - |
5.1.26 OUS
A1H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
OUS | - | - | - | OUS | ||||
读/写 | - | - | - | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | - | - | - | 0 | 0 | 1 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:5 | - | - | ||||||
4:0 | OUS | Flash 擦写时间标尺: 此寄存器的值应为:(系统时钟频率/2)-1; 如:系统运行在 16MHz,此寄存器的值应为 7。 |
5.1.27 OINTEN
A2H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
OINTEN | - | - | VDDLOWEN | WPOGERREN | - | - | - | PRODON EEN |
读/写 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:6 | - | - | ||||||
5 | VDDLOWEN | 1:LVD 低电压中断使能 0:LVD 低电压中断禁止 | ||||||
4 | WPOGERREN | 1:操作错误中断使能 0:操作错误中断禁止 | ||||||
3:1 | - | - | ||||||
0 | PRODONEEN | 1:擦写完成中断使能 0:擦写完成中断禁止 |
5.1.28 OINTUS
A3H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
OINTUS | - | - | VDD_LOW | WPOGERR | - | - | - | PRODONE |
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:6 | - | - | ||||||
5 | VDD_LOW | 1:LVD 低电压中断状态位 0:LVD 低电压中断状态位写 1 清 0 | ||||||
4 | WPOGERR | 1:操作错误中断状态位 0:操作错误中断状态位写 1 清 0 | ||||||
3:1 | - | - | ||||||
0 | PRODONE | 1:擦写完成中断状态位 0:擦写完成中断状态位写 1 清 0 |
5.1.29 OSTATUS
A6H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
OSTATUS | - | LVDLOW | - | - | EFCREADY | |||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:4 | - | - | ||||||
3 | LVDLOW | 0:LVD检测电压正常 1:LVD检测电压过低 此位反应当前 LVD 检测的实时状态。 | ||||||
2:1 | - | - |
0 | EFCREADY | EFlash状态指示位。该反映EFlash工作的状态: 1:EFlash状态空闲 0:EFlash 状态忙 |
5.1.30 OPSET
A7H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
OPSET | READM1 | READM0 | RDWAIT | CHIPSER SET | PAGESER SET | PAGEWR SET | ||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
位编号 | 位符号 | 说明 | ||||||
7 | READM1 | 此位不可写 1,保留为 0 | ||||||
6 | READM0 | 此位不可写 1,保留为 0 | ||||||
5:3 | RDWAIT | 读等待时间设置 | ||||||
2 | CHIPSERSET | 1:CHIP 擦除模式使能 0:CHIP 擦除模式关闭 | ||||||
1 | PAGESERSET | 1:PAGE 擦除模式使能 0:PAGE 擦除模式关闭 | ||||||
0 | PAGEWRSET | 1:PAGE 写模式使能 0:PAGE 写模式关闭 |
5.1.31 IEN0
A8H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
IEN0 | EA | EADC | EPWM | ES0 | ET1 | ES1 | ET0 | EX0 |
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7 | EA | 总中断开关: 0:关闭中断 1:打开中断 | ||||||
6 | EADC | ADC 中断使能开关: 0:关闭中断 1:打开中断 | ||||||
5 | EPWM | PWM 中断使能开关: 0:关闭中断 1:打开中断 | ||||||
4 | ES0 | UART0 中断使能开关: 0:关闭中断 1:打开中断 | ||||||
3 | ET1 | Timer1 中断使能开关: 0:关闭中断 1:打开中断 |
2 | ES1 | UART1 中断使能开关: 0:关闭中断 1:打开中断 |
1 | ET0 | Timer0 中断使能开关: 0:关闭中断 1:打开中断 |
0 | EX0 | 外部中断初级使能开关: 0:关闭中断 1:打开中断 |
5.1.32 IP
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
IP0(A9H) | - | - | IP0.5 | IP0.4 | IP0.3 | IP0.2 | IP0.1 | IP0.0 |
IP1(B9H) | - | - | IP1.5 | IP1.4 | IP1.3 | IP1.2 | IP1.1 | IP1.0 |
读/写 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
每个中断源都可被单独设置为 4 个中断优先级之一,分别通过 IP0 和IP1 的相应位来设置实现,具体设置见下表:
IP1.x | IP0.x | PriorityLevel |
0 | 0 | Level0 (lowest) |
0 | 1 | Level1 |
1 | 0 | Level2 |
1 | 1 | Level3 (highest) |
Bit | 对应中断 |
IP1.0,1P0.0 | 外部中断 0EX0 和 ADC 中断 |
IP1.1,1P0.1 | 定时器 0 中断ET0 和SPI 中断 |
IP1.2,1P0.2 | 串口 1 中断 ES1 |
IP1.3,1P0.3 | 定时器 1 中断ET1 和 EFC 中断 |
IP1.4,1P0.4 | 串口 0 中断 ES0 和 LPTIMER 中断 |
IP1.5,1P0.5 | PWM 中断 EPWM 和I2C 中断 |
5.1.33 S0REL
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
X0XXXX(AAH) | S0RELL.7 | S0RELL.6 | S0RELL.5 | S0RELL.4 | S0RELL.3 | S0RELL.2 | S0RELL.1 | X0XXXX.0 |
复位值 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 0 |
S0RELH(BAH) | - | - | - | - | - | - | S0RELH.1 | S0RELH.0 |
复位值 | - | - | - | - | - | - | 1 | 1 |
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
位编号 | 位符号 | 说明 | ||||||
7:0 | S0RELL[7:0] | UART0 Mode1,3 xx率配置寄存器: S0RELH +S0RELL 构成xx率设置 S0REL[9:0] |
1:0 | S0REH[1:0] | Baud Rate = SYSCK 16×(1024−S0REL) |
5.1.34 ADCGCR0
ACH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
ADCGCR0 | - | ADCCLKSEL | ADCRCEN | - | - | - | ADCCUNSET | ADCEN |
读/写 | 读 | 读/写 | 读/写 | 读 | 读 | 读 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7 | - | - | ||||||
6 | ADCCLKSEL | ADC 时钟源选择信号: 0:ADC 内部时钟分频器产生的时钟 1:系统时钟发生器产生的时钟(与之反相) | ||||||
5 | ADCRCEN | ADC 数据寄存器(ADCDRx)读清除使能: 0:禁止读取ADC 数据寄存器的清除 1:使能读取清除ADC 数据寄存器 | ||||||
4:2 | - | - | ||||||
1 | ADCCUNSET | 连续模式设置位: 1:ADC 工作在连续模式 0:ADC 工作在单次模式 | ||||||
0 | ADCEN | ADC 控制器使能信号: 0:模块禁用 1:模块启用 |
5.1.35 ADCGCR1
ADH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
ADCGCR1 | - | - | - | - | - | ADCSTEN | ADCRST | ADCPDEN |
读/写 | 读 | 读 | 读 | 读 | 读 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:3 | - | - | ||||||
2 | ADCSTEN | ADC 转换启动使能信号。 当信号具有从低到高的转换时,ADC 转换开始。 当信号具有从高到低的转换时,ADC 转换操作完成。当 ADCEN=0 时,它将被清除。默认值:0 | ||||||
1 | ADCRST | ADC 内部数字逻辑复位信号。 1:SAR ADC 复位 0:SAR ADC 释放 | ||||||
0 | ADCPDEN | SAR ADC 掉电使能信号。 0:SAR ADC 上电(power on) 1:SAR ADC 掉电(power down) |
5.1.36 REMAP
AFH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
REMAP | - | - | - | - | - | REMAP_FLAG | REMAP_IM | REMAP |
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:3 | - | - | ||||||
2 | REMAP_FLAG | 系统是否发生REMAP 的标志。 1:系统发生REMAP; 0:系统未发生REMAP | ||||||
1 | REMAP_IM | 写 0,地址直接发生REMAP。 | ||||||
0 | REMAP | 写 0,地址发生REMAP,并产生系统复位,复位后从 eFlash 的main 区启动。 |
5.1.37 CLKST
B1H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
CLKST | WACKDELAY | - | RCHSTAB | RCLSTAB | ||||
读写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:6 | WACKDELAY | 唤醒时间延时设置: 00:64 个系统时钟周期 01:128 个系统时钟周期 10:245 个系统时钟周期 11:384 个系统时钟周期 | ||||||
5:4 | - | - | ||||||
3:2 | RCHSTAB | RCH 稳定时间设定: 00:1 个RCH32K 时钟周期 01:4 个RCH32K 时钟周期 10:32 个 RCH32K 时钟周期 11:256 个RCH32K 时钟周期 | ||||||
1:0 | RCLSTAB | RCL 稳定时间设定: 00:1 个RCL32K 时钟周期 01:4 个RCL32K 时钟周期 10:32 个 RCL32K 时钟周期 11:256 个RCL32K 时钟周期 |
5.1.38 ESTCR
B2H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
ESTCR | - | - | - | - | ERSTEN | ERSTLVT | ERSTLVEN |
读/写 | 读 | 读 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:4 | - | - | ||||||
3 | ERSTEN | 外部复位引脚使能位: 1:外部复位功能使能 0:外部复位功能禁止 | ||||||
2:1 | ERSTLVT | 外部复位滤波时间设置: 11:1 个RCL32K 时钟周期 10:8 个RCL32K 时钟周期 01:16 个 RCL32K 时钟周期 00:29 个 RCL32K 时钟周期 | ||||||
0 | ERSTLVEN | 1:外部复位滤波使能 0:外部复位滤波禁止 |
5.1.39 ADCGCR2
B4H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
ADCGCR2 | - | - | - | - | XXXX | |||
读/写 | 读 | 读 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:4 | - | - | ||||||
3:0 | XXXX | xx相关ADC 通道进行模数转换。默认值:0。 0000:关闭通道 0001:通道 0 0010:通道 1 0011:保留 0100:通道 3 0101:保留 0110:通道 5 0111:通道 6 1000:通道 7(输入来源固定为内部 LDO) |
5.1.40 ADCGCR3
B5H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
ADCGCR3 | - | - | - | - | - | - | - | SAMPNEG |
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:1 | - | - |
0 | SAMPNEG | ADC 数据在EOC 信号的边沿采样选择: 0:ADC 数据在 EOC 的上升沿被采样 1:ADC 数据在 EOC 的下降沿被采样 注意:在本芯片设计中此位只能设置为 0。 |
5.1.41 ADCDR0
B6H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
ADCDR0 | CHDATAL | |||||||
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | CHDATAL | A/D 通道接收数据低位寄存器 |
5.1.42 ADCDR1
B7H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
ADCDR1 | CHDATAV | - | - | - | CHDATAH | |||
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7 | CHDATAV | 数据有效信号。信号在获取有效数据后激活,在 ADCEN = 0 时清除,或在 ADCRCEN = 1 时由软件读取ADCDR0/1 寄存器后清除。 0:数据无效 1:数据有效 | ||||||
6:4 | - | - | ||||||
3:0 | CHDATAH | A/D 通道接收数据高位寄存器 |
5.1.43 IEN1
B8H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
IEN1 | - | - | I2CINTEN | LPTIMINTEN | EFCINTEN | - | SPIINTEN | - |
读/写 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读 | 读/写 | 读 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:6 | - | - | ||||||
5 | I2CINTEN | I2C 中断使能: 1:I2C 中断使能 0:I2C 中断关闭 | ||||||
4 | LPTIMINTEN | LPTIMER 中断使能: 1:LPTIMER 中断使能 0:LPTIMER 中断关闭 |
3 | EFCINTEN | EFC 中断使能: 1:EFC 中断使能 0:EFC 中断关闭 |
2 | - | - |
1 | SPIINTEN | SPI 中断使能: 1:SPI 中断使能 0:SPI 中断关闭 |
0 | - | - |
5.1.44 LDOTRIMH
BDH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
LDOTRIMH | - | VADJ_ACT | VTRM_ACT | |||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7 | - | - | ||||||
6:5 | VADJ_ACT | ACTIVE 模式下电压中心值设置 | ||||||
4:0 | VTRM_ACT | ACTIVE 模式下 TRIM 值 |
5.1.45 RCHTRIMH
BEH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
RCHTRIMH | RCHTRIMH | |||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:0 | RCHTRIMH | 片内高频 RCH 频率修调值高位 |
5.1.46 RCHTRIML
BFH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
RCHTRIML | RCHTRIML | |||||||
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:2 | - | - | ||||||
1:0 | RCHTRIML | 片内高频 RCH 频率修调值低位 |
5.1.47 PWM0PL/H
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
PWM0PL(CBH) | PWM0P[7:0] |
PWM0PH(CCH) | PWM0P[15:8] | |||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
15:0 | PWM0P[15:0] | PWM0 数据寄存器 |
注意:修改寄存器PWM0PH 将使得PWM0 的输出在下一个周期生效。如果用户需要修改PWM 周期,先要修改PWM0PL,再修改 PWM0PH。
5.1.48 PWM0DL/H
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
PWM0DL(C3H) | PWM0D[7:0] | |||||||
PWM0DH(C4H) | PWM0D[15:8] | |||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
15:0 | PWM0D[15:0] | PWM0占空比控制,控制PWM0波形占空比的输出时间。 |
注意:修改寄存器 PWM0DH 将使得PWM0 的输出在下一个周期生效。如果用户需要修改 PWM 占空比,要先修改PWM0DL,再修改PWM0DH。
5.1.49 PWM0CON
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
PWM0CON(C8H) | PWM0EN | PWM0S | - | - | - | PWM0IE | PWM0IF | PWM0SS |
读/写 | 读/写 | 读/写 | - | - | - | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | - | - | - | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7 | PWM0EN | PWM0 使能: 0:禁止PWM0 模块 1:使能PWM0 模块 | ||||||
6 | PWM0S | PWM0 输出模式: 0:PWM0 占空比期间输出高电平,占空比溢出后输出低电平 1:PWM0 占空比期间输出低电平,占空比溢出后输出高电平 | ||||||
5:3 | - | - | ||||||
2 | PWM0IE | PWM0 中断使能控制位: 0:禁止PWM0 中断 1:允许PWM0 中断 | ||||||
1 | PWM0IF | PWM0 中断标志位: 0:PWM0 周期计数器没有溢出 1:PWM0 周期计数器溢出,硬件置位,软件写 1 无效,写 0 清 0 | ||||||
0 | PWM0SS | PWM0 引脚输出控制位: 0:PWM0 输出禁止,用作 I/O 功能 1:PWM0 输出允许 |
5.1.50 PSW
D0H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
PSW | CY | AC | F0 | RS1 | RS0 | OV | F1 | P |
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7 | CY | 进位标志: 当最后一次算术操作产生进位(加法)或借位(减法)时,该位置 1,其它算术操作将其清 0。 | ||||||
6 | AC | 辅助进位标志: 当最后一次算术操作向高半字节有进位(加法)或借位(减法)时,该位置 1,其它算术操作将其清 0。 | ||||||
5 | F0 | 用户标志 0: 这是一个可位寻址、用于软件控制的通用标志位。 | ||||||
4:3 | RS[1:0] | RS1-RS0:寄存器区选择: 00: 页 0(映射到 00H-07H) 01: 页 1(映射到 08H-0FH) 10: 页 2(映射到 10H-17H) 11: 页 3(映射到 18H-1FH) | ||||||
1 | F1 | 用户标志 1: 这是一个可位寻址、用于软件控制的通用标志位 | ||||||
0 | P | 奇偶校验位: 0:累加器中 8 个位的和为偶数 1:累加器中 8 个位的和为奇数 |
5.1.51 OADRL/H
D1H~D2H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
OADRL | EFLASH 烧录地址低位[7:0] | |||||||
OADRH | EFLASH 烧录地址低位[15:8] | |||||||
读/写 | 读/写 | |||||||
复位值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
5.1.52 ODATA
D3H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
ODATA | EFLASH 烧录数据[7:0] | |||||||
读/写 | 读/写 | |||||||
复位值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
5.1.53 OCTRL
D4H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
OCTRL | VPPO_EN | PUMP_EN | PUMP_SEL<2:0> | - | PUMP_OK | PUMP_6O5V | ||
读/写 | 读/写 | 读/写 | 读/写 | - | 读 | 读 | ||
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7 | VPPO_EN | EFLASH IAP 编程启动控制信号: 0:关闭(硬件自动清 0) 1:启动EFLASH 编程(软件写 1 启动EFLASH IAP 编程,硬件完成 IAP 后清 0) 此 bit 置位后,CPU 将处在 Idle 状态,待 IAP 完成后恢复 | ||||||
6 | PUMP_EN | PUMP 模块使能控制位: 0:关闭内部PUMP 功能 1:打开内部PUMP 功能 | ||||||
5:3 | PUMP_SEL[2:0] | Pump 输出电压选择控制位: | ||||||
PUMP_SEL | VPP(V) | PUMP_SEL | VPP(V) | |||||
000 | 6.5 | 100 | 7.5 | |||||
001 | 6.75 | 101 | 7.75 | |||||
010 | 7.0 | 110 | 8 | |||||
011 | 7.25 | 111 | 8.25 | |||||
建议实际 IAP 编程设置PUMP_SEL<2:0> = 001,6.75V | ||||||||
2 | - | - | ||||||
1 | PUMP_OK | VPP 输出电压标志 1: 0:VPP OUT 电压低于PUMP_SEL 设定电压 1:VPP OUT 电压高于PUMP_SEL 设定电压 | ||||||
0 | PUMP_6O5V | VPP 输出电压标志 2: 1:VPP OUT 电压高于 6.5V 0:VPP OUT 电压低于 6.5V |
5.1.54 P0PD
D5H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
P0PD | - | - | - | P0_4PD | P0_3PD | P0_2PD | P0_1PD | RF_SCLPD |
读/写 | 读 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:5 | - | - |
4 | P0_4PD | 端口P0_4 下拉配置寄存器: 0:禁止 1:使能 |
3 | P0_3PD | 端口P0_3 下拉配置寄存器: 0:禁止 1:使能 |
2 | P0_2PD | 端口P0_2 下拉配置寄存器: 0:禁止 1:使能 |
1 | P0_1PD | 端口P0_1 下拉配置寄存器: 0:禁止 1:使能 |
0 | RF_SCLPD | 端口RF_SCL 下拉配置寄存器: 0:禁止 1:使能 |
5.1.55 P0OD
D6H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
P0OD | - | - | - | P0_4OD | P0_3OD | P0_2OD | P0_1OD | RF_SCLOD |
读/写 | 读 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:5 | - | - | ||||||
4 | P0_4OD | 端口P0_4 开漏输出配置寄存器: 0:禁止 1:使能 | ||||||
3 | P0_3OD | 端口P0_3 开漏输出配置寄存器: 0:禁止 1:使能 | ||||||
2 | P0_2OD | 端口P0_2 开漏输出配置寄存器: 0:禁止 1:使能 | ||||||
1 | P0_1OD | 端口P0_1 开漏输出配置寄存器: 0:禁止 1:使能 | ||||||
0 | RF_SCLOD | 端口RF_SCL 开漏输出配置寄存器: 0:禁止 1:使能 |
5.1.56 P0CS
D7H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
P0CS | - | - | - | P0_4CS | P0_3CS | P0_2CS | P0_1CS | RF_SCLCS |
读/写 | 读 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:5 | - | - | ||||||
4 | P0_4CS | 端口P0_4 输入类型配置寄存器: 0:Schmitt input buffer 1:CMOS input buffer | ||||||
3 | P0_3CS | 端口P0_3 输入类型配置寄存器: 0:Schmitt input buffer 1:CMOS input buffer | ||||||
2 | P0_2CS | 端口P0_2 输入类型配置寄存器: 0:Schmitt input buffer 1:CMOS input buffer | ||||||
1 | P0_1CS | 端口P0_1 输入类型配置寄存器: 0:Schmitt input buffer 1:CMOS input buffer | ||||||
0 | RF_SCLCS | 端口RF_SCL 输入类型配置寄存器: 0:Schmitt input buffer 1:CMOS input buffer |
5.1.57 RSTSTAT
D8H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
RSTSTAT | WDOF | WDEN | LVDRF | PORF | ERSTF | WDT[2:0] | ||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值(POR) | 0 | 0 | x | 1 | x | 0 | 0 | 0 |
复位值(WDT) | 1 | 0 | x | x | x | 0 | 0 | 0 |
复位值(PIN) | x | 0 | x | x | 1 | 0 | 0 | 0 |
复位值(LVD) | x | 0 | 1 | x | x | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7 | WDOF | 看门狗溢出标志位:看门狗溢出时由硬件置 1,可由软件或上电复位清 0 0:未发生WDT 溢出 1:发生WDT 溢出 | ||||||
6 | WDEN | 看门狗使能控制位: 0:关闭看门狗功能 1:使能看门狗功能 | ||||||
5 | LVDRF | LVD 复位标志位:LVD 复位后由硬件置 1,由软件清 0 0:没有发生低电压复位 1:发生过低电压复位 | ||||||
4 | PORF | 上电复位标志位:上电复位后硬件置 1,由软件清 0 0:没有发生上电复位 1:发生过上电复位 |
3 | ERSTF | Reset 引脚复位标志位:引脚复位后置 1,由软件清 0 0:没有发生引脚复位 1:发生过引脚复位 |
2:0 | WDT[2:0] | WDT 溢出周期控制位: 000:溢出周期最小值= 4096ms 001:溢出周期最小值= 1024ms 010:溢出周期最小值= 256ms 011:溢出周期最小值= 128ms 100:溢出周期最小值= 64ms 101:溢出周期最小值= 16ms 110:溢出周期最小值= 4ms 111:溢出周期最小值= 1ms |
5.1.58 SYSDIV
D9H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
SYSDIV | - | - | - | - | - | SYSDIV[2] | SYSDIV[1] | SYSDIV[0] |
读/写 | 读 | 读 | 读 | 读 | 读 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:3 | - | - | ||||||
2:0 | SYSDIV[1:0] | 高频时钟(经过 RCHDIV 分频后 RCH48M)分频控制,分频后输出作为系统时钟: 000:HSCLK 不分频 001:HSCLK /2 分频输出 010:HSCLK /4 分频输出 011:HSCLK /8 分频输出 100:HSCLK /16 分频输出 101:HSCLK /32 分频输出 110:HSCLK /64 分频输出 111:HSCLK /128 分频输出 |
5.1.59 P1PD
DAH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
P1PD | - | - | P1_5PD | P1_4PD | P1_3PD | - | - | P1_0PD |
读/写 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:6 | - | - | ||||||
5 | P1_5PD | 端口P1_5 下拉配置寄存器: 0:禁止 1:使能 |
4 | P1_4PD | 端口P1_4 下拉配置寄存器: 0:禁止 1:使能 |
3 | P1_3PD | 端口P1_3 下拉配置寄存器: 0:禁止 1:使能 |
2:1 | - | - |
0 | P1_0PD | 端口P1_0 下拉配置寄存器: 0:禁止 1:使能 |
5.1.60 P1OD
DBH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
P1OD | - | - | P1_5OD | P1_4OD | P1_3OD | - | - | P1_0OD |
读/写 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:6 | - | - | ||||||
5 | P1_5OD | 端口P1_5 开漏输出配置寄存器: 0:禁止 1:使能 | ||||||
4 | P1_4OD | 端口P1_4 开漏输出配置寄存器: 0:禁止 1:使能 | ||||||
3 | P1_3OD | 端口P1_3 开漏输出配置寄存器: 0:禁止 1:使能 | ||||||
2:1 | - | - | ||||||
0 | P1_0OD | 端口P1_O 开漏输出配置寄存器: 0:禁止 1:使能 |
5.1.61 P1CS
DCH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
P1CS | - | - | P1_5CS | P1_4CS | P1_3CS | - | - | P1_0CS |
读/写 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:6 | - | - |
5 | P1_5CS | 端口P1_5 输入类型配置寄存器: 0:Schmitt input buffer 1:CMOS input buffer |
4 | P1_4CS | 端口P1_4 输入类型配置寄存器: 0:Schmitt input buffer 1:CMOS input buffer |
3 | P1_3CS | 端口P1_3 输入类型配置寄存器: 0:Schmitt input buffer 1:CMOS input buffer |
2:1 | - | - |
0 | P1_0CS | 端口P1_0 输入类型配置寄存器: 0:Schmitt input buffer 1:CMOS input buffer |
LVDS | LVD point | LVDS | LVD point |
0000 | 1.65V | 1000 | 2.45V |
0001 | 1.75V | 1001 | 2.55V |
0010 | 1.85V | 1010 | 2.65V |
0011 | 1.95V | 1011 | 2.75V |
0100 | 2.05V | 1100 | 2.85V |
0101 | 2.15V | 1101 | 2.95V |
0110 | 2.25V | 1110 | 3.05V |
0111 | 2.35V | 1111 | 3.15V |
5.1.62 LVDCON
DDH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
LVDCON | LVDF | - | LVDREN | LVDEN | LVDS[3:0] | |||
读写 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7 | LVDF | LVD 检测标志位: 0:未检测到低电压 1:检测到低电压 | ||||||
6 | - | - | ||||||
5 | LVDREN | LVD 复位使能控制: 0:关闭检测到低电压复位功能 1:使能检测到低电压复位功能,使能复位前必须使能LVDEN | ||||||
4 | LVDEN | LVD 模块使能控制: 0:使能 LVD 模块 1:关闭 LVD 模块 | ||||||
3:0 | LVDS[3:0] | LVD 检测点电压设置: |
5.1.63 PCLK0
DCH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
PCLK0 | I2CCEN | LPTIMCEN | PWMCEN | ADCCEN | SPICEN | WDTCEN | UART1CEN | UART0CEN |
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7 | I2CCEN | 1:I2C 时钟使能 0:I2C 时钟禁止 | ||||||
6 | LPTIMCEN | 1:LPTIMER 时钟使能 0:LPTIMER 时钟禁止 | ||||||
5 | PWMCEN | 1:PWM 时钟使能 0:PWM 时钟禁止 | ||||||
4 | ADCCEN | 1:ADC 时钟使能 0:ADC 时钟禁止 | ||||||
3 | SPICEN | 1:SPI 时钟使能 0:SPI 时钟禁止 | ||||||
2 | WDTCEN | 1:WDT 时钟使能 0:WDT 时钟禁止 | ||||||
1 | UART1CEN | 1:UART1 时钟使能 0:UART1 时钟禁止 | ||||||
0 | UART0CEN | 1:UART0 时钟使能 0:UART0 时钟禁止 |
5.1.64 PCLK1
DFH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
PCLK1 | - | - | - | TIMCEN | - | GIO2CEN | GIO1CEN | GIO0CEN |
读/写 | 读 | 读 | 读 | 读/写 | 读 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:5 | - | - | ||||||
4 | TIMCEN | 1:TIMER 时钟使能 0:TIMER 时钟禁止 | ||||||
3 | - | - | ||||||
2 | GIO2CEN | 1:GPIO2 时钟使能 0:GPIO2 时钟禁止 | ||||||
1 | GIO1CEN | 1:GPIO1 时钟使能 0:GPIO1 时钟禁止 | ||||||
0 | GIO0CEN | 1:GPIO0 时钟使能 0:GPIO0 时钟禁止 |
注:PCLK1 的比特位写操作必须用位与等(&=)和位或等(|=)进行操作,例如操作 GIO0CEN
时用“PCLK1 &= ~(1<<0)” , “PCLK1 |= (1<<0)” 。不能用直接赋值的方式进行寄存器写操作
(PCLK1=0x1),否则会带来 TIMER 不能正常工作。
5.1.65 ACC
累加器 ACC 是一个常用的专用寄存器,常用于存放参加运算的操作数及运算结果。
E0H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
ACC | ACC | |||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | ACC | 存放参加运算的操作数及运算结果 |
5.1.66 PxIRQ
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
P0IRQ(E1H) | - | - | - | P0IRQ.4 | P0IRQ.3 | P0IRQ.2 | P0IRQ.1 | RF_SCLIRQ |
P1IRQ(E2H) | - | - | P1IRQ.5 | P1IRQ.4 | P1IRQ.3 | - | - | P1IRQ.0 |
P2IRQ(E3H) | P2IRQ.7 | P2IRQ.6 | RF_SDAIRQ | - | WAKEIRQ | P2IRQ.2 | - | - |
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | PxIRQ.y x=0-4, y=0-7 | 端口中断标志位: 0:端口未产生中断 1:端口产生了中断写 0 清 0 |
5.1.67 P2PD
E4H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
P2PD | P2_7PD | P2_6PD | RF_SDAPD | - | WAKEPD | P2_2PD | - | - |
读/写 | 读/写 | 读/写 | 读/写 | 读 | 读/写 | 读/写 | 读 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7 | P2_7PD | 端口P2_7 下拉配置寄存器: 0:禁止 1:使能 | ||||||
6 | P2_6PD | 端口P2_6 下拉配置寄存器: 0:禁止 1:使能 | ||||||
5 | RF_SDAPD | 端口RF_SDA 下拉配置寄存器: 0:禁止 1:使能 | ||||||
4 | - | - |
3 | WAKEPD | 端口WAKE 下拉配置寄存器: 0:禁止 1:使能 |
2 | P2_2PD | 端口P2_2 下拉配置寄存器: 0:禁止 1:使能 |
1:0 | - | - |
5.1.68 P1DR
E5H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
P1DR | - | - | P1_5DR | P1_4DR | P1_3DR | - | - | P1_0DR |
读/写 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:6 | - | - | ||||||
5 | P1_5DR | 端口P1_5 驱动能力配置寄存器: 0:高驱动能力 1:低驱动能力 | ||||||
4 | P1_4DR | 端口P1_4 驱动能力配置寄存器: 0:高驱动能力 1:低驱动能力 | ||||||
3 | P1_3DR | 端口P1_3 驱动能力配置寄存器: 0:高驱动能力 1:低驱动能力 | ||||||
2:1 | - | - | ||||||
0 | P1_0DR | 端口P1_0 驱动能力配置寄存器: 0:高驱动能力 1:低驱动能力 |
5.1.69 PRESET0
E6H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
PRESET0 | I2CREN | LPTIMREN | PWMREN | ADCREN | SPIREN | WDTREN | UART1REN | UART0REN |
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7 | I2CREN | 1:I2C 复位释放 0:I2C 复位 | ||||||
6 | LPTIMREN | 1:LPTIM 复位释放 0:LPTIM 复位 | ||||||
5 | PWMREN | 1:PWM 复位释放 0:PWM 复位 | ||||||
4 | ADCREN | 1:ADC 复位释放 0:ADC 复位 |
3 | SPIREN | 1:SPI 复位释放 0:SPI 复位 |
2 | WDTREN | 1:WDT 复位释放 0:WDT 复位 |
1 | UART1REN | 1:UART1 复位释放 0:UART1 复位 |
0 | UART0REN | 1:UART0 复位释放 0:UART0 复位 |
5.1.70 PRESET1
E7H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
PRESET1 | - | - | - | TIMREN | - | GPIO2REN | GPIO1REN | GPIO0REN |
读/写 | 读 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:5 | - | - | ||||||
4 | TIMREN | 1:TIMER 复位释放 0:TIMER 复位 | ||||||
3 | - | - | ||||||
2 | GPIO2REN | 1:GPIO2 复位释放 0:GPIO2 复位 | ||||||
1 | GPIO1REN | 1:GPIO1 复位释放 0:GPIO1 复位 | ||||||
0 | GPIO0REN | 1:GPIO0 复位释放 0:GPIO0 复位 |
5.1.71 PxIEN
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
P0IEN(E9H) | - | - | - | P0IEN.4 | P0IEN.3 | P0IEN.2 | P0IEN.1 | RF_SCLIEN |
P1IEN(EAH) | - | - | P1IEN.5 | P1IEN.4 | P1IEN.3 | - | - | P1IEN.0 |
P2IEN(EBH) | P2IEN.7 | P2IEN.6 | RF_SDAIEN | - | WAKEIEN | P2IEN.2 | - | - |
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | PxIEN.y x=0-4, y=0-7 | 端口中断使能控制位: 0:关闭端口中断功能 1:使能端口中断功能 |
5.1.72 P2OD
ECH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
P2OD | P2_7OD | P2_6OD | RF_SDAOD | - | WAKEOD | P2_2OD | - | - |
读/写 | 读/写 | 读/写 | 读/写 | 读 | 读/写 | 读/写 | 读 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7 | P2_7OD | 端口P2_7 开漏输出配置寄存器: 0:禁止 1:使能 | ||||||
6 | P2_6OD | 端口P2_6 开漏输出配置寄存器: 0:禁止 1:使能 | ||||||
5 | RF_SDAOD | 端口RF_SDA 开漏输出配置寄存器: 0:禁止 1:使能 | ||||||
4 | - | - | ||||||
3 | WAKEOD | 端口WAKE 开漏输出配置寄存器: 0:禁止 1:使能 | ||||||
2 | P2_2OD | 端口P2_2 开漏输出配置寄存器: 0:禁止 1:使能 | ||||||
1:0 | - | - |
5.1.73 ADCCONT
EDH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
ADCCONT | ADCCOUNT | |||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:0 | ADCCOUNT | 通道切换间隔时间,该值的单位是ADC 时钟周期。 实际的通道切换时间 = (adc_count + 16) * ADC 时钟周期时间注意:该寄存器只能在启用ADC 控制器之前配置 |
5.1.74 RCHDIV
EEH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
RCHDIV | - | - | - | - | - | - | RCHDIV | |
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
位编号 | 位符号 | 说明 |
7:2 | - | - |
1:0 | RCHDIV | RCH 分频设置: 00:不分频;(系统跑不到,不配置) 01:2 分频; 10:3 分频; 11:4 分频; |
5.1.75 B
F0H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
B | B | |||||||
读/写 | 读 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | B | 在乘除指令中,会用到B 寄存器,在其他指令中,B 寄存器可作为通用暂存 寄存器。 |
5.1.76 PxPU
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
P0PU(F1H) | - | - | - | P0PU.4 | P0PU.3 | P0PU.2 | P0PU.1 | RF_SCLPU |
P1PU(F2H) | - | - | P1PU.5 | P1PU.4 | P1PU.3 | - | - | P1PU.0 |
P2PU(F3H) | P2PU.7 | P2PU.6 | RF_SDAPU | - | WAKEPU | P2PU.2 | - | - |
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:0 | PxPU.y x=0-4,y=0-7 | 端口上拉使能控制位(上拉电阻参考值 60KΩ): 0:使能内部上拉电阻 1:关闭内部上拉电阻 |
5.1.77 P2CS
F4H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
P2CS | P2_7CS | P2_6CS | RF_SDACS | - | WAKECS | P2_2CS | - | - |
读/写 | 读/写 | 读/写 | 读/写 | 读 | 读/写 | 读/写 | 读 | 读/写 |
复位值 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
位编号 | 位符号 | 说明 | ||||||
7 | P2_7CS | 端口P2_7 输入类型配置寄存器: 0:Schmitt input buffer 1:CMOS input buffer |
6 | P2_6CS | 端口P2_6 输入类型配置寄存器: 0:Schmitt input buffer 1:CMOS input buffer |
5 | RF_SDACS | 端口RF_SDA 输入类型配置寄存器: 0:Schmitt input buffer 1:CMOS input buffer |
4 | - | - |
3 | WAKECS | 端口WAKE 输入类型配置寄存器: 0:Schmitt input buffer 1:CMOS input buffer |
2 | P2_2CS | 端口P2_2 输入类型配置寄存器: 0:Schmitt input buffer 1:CMOS input buffer |
1:0 | - | - |
5.1.78 ADCHL
F5H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
ADCHL | - | ADCHL[6:0] | ||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7 | - | - | ||||||
6:0 | ADCHL | ADCH[6:0]通道设置配置位: ADCHL[0]: 0: P1_4 配置为 GPIO 功能 1: P1_4 配置为ADC 输入 ADCHL[1]: 0: P1_5 配置为 GPIO 功能 1: P1_5 配置为ADC 输入 ADCHL[2]:保留 ADCHL[3]: 0: P2_2 配置为 GPIO 功能 1: P2_2 配置为ADC 输入 ADCHL[4]:保留 ADCHL[5]: 0: P2_6 配置为 GPIO 功能 1: P2_6 配置为ADC 输入 ADCHL[6]: 0: P2_7 配置为 GPIO 功能 1: P2_7 配置为ADC 输入 |
5.1.79 ADCCSTAT
F6H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
ADCCSTAT | - | - | - | - | - | - | - | RXAVL |
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:1 | - | - | ||||||
0 | RXAVL | 此信号表示 BUF 接收到数据。此信号便于 CPU 轮询操作。当接收器BUF 非空时,此位为 1。 1:接收器BUF 存有数据 0:接收器BUF 为空写 1 清 0 |
5.1.80 ADCSPW
F7H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
ADCSPW | - | - | - | - | - | SAMPW | ||
读/写 | 读 | 读 | 读 | 读 | 读 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:3 | - | - | ||||||
2:0 | SAMPW | 采样时钟脉冲宽度配置。注意:在本芯片设计中,此寄存器应该设置大于或等于 3 的值。 3:SAMPCLK 宽为 4 个ADC_CLK 脉冲信号 4:SAMPCLK 宽为 5 个ADC_CLK 脉冲信号 5:SAMPCLK 宽为 6 个ADC_CLK 脉冲信号 此寄存器的合法值范围为 3~5,超过此范围可能会引起 ADC 工作不正常。 |
5.1.81 CLKCON
F8H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
CLKCON | - | RC32KF | RC48MF | - | RC32KEN | RC48MEN | - | HSCLKSEL |
读/写 | - | 读 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | - | 1 | 1 | 0 | 1 | 1 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7 | - | - | ||||||
6 | RC32KF | RC32K 时钟源标志位: 0:RC32K 未正常启动 1:RC32K 已正常启动 | ||||||
5 | RC48MF | RC48M 时钟源标志位: 0:RC48M 未正常启动 1:RC48M 已正常启动 | ||||||
4 | - | - |
3 | RC32KEN | RC32K 时钟源开关控制位: 0:关闭RC32K 1:打开RC32K |
2 | RC48MEN | RC48M 时钟源开关控制位: 0:关闭内部 RC48M 时钟源,若当前系统时钟为 RC48M,写 0 无效 1:打开内部 RC48M 时钟源 |
1 | - | - |
0 | HSCLKSEL | 系统时钟源头选择,即 HSCLK 来自经过 RCHDIV 分频后的内部高频时钟 RCH48M 的选择位: 0:选择经过 RCHDIV 分频后的内部高频时钟 RCH48M 作为系统时钟源 |
5.1.82 PxOEN
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
P0OEN(F9H) | - | - | - | P0OEN.4 | P0OEN.3 | P0OEN.2 | P0OEN.1 | RF_SCLOEN |
P1OEN(FAH) | - | - | P1OEN.5 | P1OEN.4 | P1OEN.3 | - | - | P1OEN.0 |
P2OEN(FBH) | P2OEN.7 | P2OEN.6 | RF_SDAOEN | - | WAKEOEN | P2OEN.2 | - | - |
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:0 | PxOEN.y x=0-4,y=0- 7 | 端口方向控制位: 0:输出模式 1:输入模式 |
5.1.83 P2DR
FCH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
P2DR | P2_7DR | P2_6DR | RF_SDADR | - | WAKEDR | P2_2DR | - | - |
读/写 | 读/写 | 读/写 | 读/写 | 读 | 读/写 | 读/写 | 读 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7 | P2_7DR | 端口P2_7 驱动能力配置寄存器: 0:高驱动能力 1:低驱动能力 | ||||||
6 | P2_6DR | 端口P2_6 驱动能力配置寄存器: 0:高驱动能力 1:低驱动能力 | ||||||
5 | RF_SDADR | 端口RF_SDA 驱动能力配置寄存器: 0:高驱动能力 1:低驱动能力 | ||||||
4 | - | - |
3 | WAKEDR | 端口WAKE 驱动能力配置寄存器: 0:高驱动能力 1:低驱动能力 |
2 | P2_2DR | 端口P2_2 驱动能力配置寄存器: 0:高驱动能力 1:低驱动能力 |
1:0 | - | - |
5.1.84 ADCVREF
FDH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
ADCVREF | - | - | ADCSPEED | - | - | - | VREFSEL | |
读/写 | - | - | 读/写 | 读/写 | - | - | - | 读/写 |
复位值 | - | - | 0 | 0 | - | - | - | 0 |
位编号 | 位符号 | 说明 | ||||||
7:6 | - | - | ||||||
5:4 | ADCSPEED | ADCSPEED 选择位,保留为默认值 0 | ||||||
3:1 | - | - | ||||||
0 | VREFSEL | ADC 电压基准控制位: 0:VDDH 作为 ADC 电压基准源 |
5.1.85 ADCCDR0
FEH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
ADCCDR0 | CLKDIV0 | |||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:0 | CLKDIV0 | ADC 内部时钟分频倍数。 ADC 时钟频率公式为 fadc_clk = fSYSCLK / {clkdiv1, clkdiv0} 其中,fadc_clk 是 ADC 内部时钟的频率,fSYSCLK 是系统时钟频率,clkdiv 是分频倍数。 注意:请勿把 clkdiv 设为 0 或 1,若把 clkdiv 设为 0 或 1,也当作 2 分频。如 需使用 1 分频,建议使用外部时钟。 |
5.1.86 ADCCDR1
FFH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
ADCCDR1 | CLKDIV1 | |||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 |
7:0 | CLKDIV1 | ADC 内部时钟分频倍数。 ADC 时钟频率公式为 fadc_clk = fSYSCLK / {clkdiv1, clkdiv0} 其中,fadc_clk 是 ADC 内部时钟的频率,fSYSCLK 是系统时钟频率,clkdiv 是分频倍数。 注意:请勿把 clkdiv 设为 0 或 1,若把 clkdiv 设为 0 或 1,也当作 2 分频。如 需使用 1 分频,建议使用外部时钟。 |
5.1.87 LVD_LV
C004H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
LVD_LV | - | - | - | - | - | LVD_TSET | LVDLVEN | |
读/写 | 读 | 读 | 读 | 读 | 读 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:3 | - | - | ||||||
2:1 | LVD_TSET | 滤波时间设置位: 11:滤波时间为 1 个RC32K 时钟 10:滤波时间为 8 个RC32K 时钟 01:滤波时间为 16 个RC32K 时钟 00:滤波时间为 29 个RC32K 时钟 | ||||||
0 | LVDLVEN | LVD 滤波使能位 1:开启RC32K 时钟滤波功能 0:关闭RC32K 时钟滤波功能 |
5.2 无线射频寄存器定义
表 5-2:无线射频寄存器表
寄存器 | 地址 | 默认值 | 寄存器 | 地址 | 默认值 |
Reg00 | 0x00 | 0x7D | Reg18 | 0x12 | 0x96 |
Reg01 | 0x01 | 0x14 | Reg21 | 0x15 | 0x00 |
Reg02 | 0x02 | 0xF0 | Reg22 | 0x16 | 0x3F |
Reg04 | 0x04 | 0x00 | Reg24 | 0x18 | 0x3C |
Reg05 | 0x05 | 0x00 | Reg31 | 0x1F | 0x00 |
Reg06 | 0x06 | 0x00 | Reg32 | 0x20 | 0x00 |
Reg07 | 0x07 | Read only | Reg33 | 0x21 | 0x00 |
Reg08 | 0x08 | Read only | Reg34 | 0x22 | 0x00 |
Reg09 | 0x09 | Read only | Reg35 | 0x23 | 0x00 |
Reg10 | 0x0A | Read only | Reg36 | 0x24 | 0x11 |
Reg11 | 0x0B | Read only | Reg37 | 0x25 | 0x11 |
Reg12 | 0x0C | 0x20 | Reg38 | 0x26 | 0x11 |
Reg13 | 0x0D | 0x05 | Reg40 | 0x28 | 0x00 |
Reg14 | 0x0E | 0x1F | Reg42 | 0x2A | 0x33 |
Reg15 | 0x0F | 0x06 | Reg43 | 0x2B | 0x09 |
Reg17 | 0x11 | 0x69 | Reg127 | 0x7F | 0x00 |
5.2.1 Reg00 Default Value:0x7D
Reg00 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x00 | EN_SCA N | EN_C H1 | EN_CH2 | EN_CH3 | EN_ON/O FF | EN_PATTE RN | EN_P AT2 | EN_MA NCH |
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
位编号 | 位符号 | 说明 | ||||||
7 | EN_SCAN | 1:使能扫描模式 | ||||||
6 | EN_CH1 | 1:通道 1 使能 | ||||||
5 | EN_CH2 | 1:通道 2 使能 | ||||||
4 | EN_CH3 | 1:通道 3 使能 | ||||||
3 | EN_ON/OFF | 1:使能间歇模式 | ||||||
2 | EN_PATTERN | 1:使能对码匹配 | ||||||
1 | EN_PAT2 | 1:使能对码双匹配 | ||||||
0 | EN_MANCH | 1:使能曼彻斯特解码器 |
5.2.2 Reg01 Default Value:0x14
Reg01 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x01 | EN_ATT | - | - | ATT_RES | EN_GBOO ST | DASL_A BS | ABS_DO WN | |
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7 | EN_ATT | 1:天线阻尼器使能 | ||||||
6:5 | - | - | ||||||
4:3 | ATT_RES | 天线阻尼器电阻设置 00:2K 01:8K 10:32K 11:48K | ||||||
2 | EN_GBOOST | 1:额外增益使能 | ||||||
1 | DASL_ABS | 1:数据分割器采用绝对参考值 | ||||||
0 | ABS_DOWN | 1:降低数据分割器绝对参考值 |
5.2.3 Reg02 Default Value:0xF0
Reg02 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x02 | AGC_TLI M | AGC_ UD | EN_AUXLDO | - | DISABLE_ AGC | PAT32 | - | HY_POS |
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7 | AGC_TLIM | 1:AGC 仅作用于第一载波期间 | ||||||
6 | AGC_UD | 1:AGC 工作在 up/down 模式 | ||||||
5 | EN_AUXLDO | 1:使能辅助 LDO | ||||||
4 | - | - | ||||||
3 | DISABLE_AGC | 1:禁用AGC | ||||||
2 | PAT32 | 模式扩展: 0:16bits 1:32bits | ||||||
1 | - | - | ||||||
0 | HY_POS | 0:迟滞发生在上升沿和下降沿 1:迟滞只发生在上升沿 |
5.2.4 Reg04 Default Value:0x00
Reg04 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x04 | - | CAPS_CH1 | ||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:5 | - | - | ||||||
4:0 | CAPS_CH1 | 设置通道 1 的调谐电容值 <4>=1:加 1pF 至CH1 <3>=1:加 2pF 至CH1 <2>=1:加 4pF 至CH1 <1>=1:加 8pF 至CH1 <0>=1:加 16pF 至CH1 |
5.2.5 Reg05 Default Value:0x00
Reg05 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x05 | - | CAPS_CH2 | ||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:5 | - | - |
4:0 | CAPS_CH2 | 设置通道 2 的调谐电容值: <4>=1:加 1pF 至CH2 <3>=1:加 2pF 至CH2 <2>=1:加 4pF 至CH2 <1>=1:加 8pF 至CH2 <0>=1:加 16pF 至CH2 |
5.2.6 Reg06 Default Value:0x00
Reg06 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x06 | - | CAPS_CH3 | ||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:5 | - | - | ||||||
4:0 | CAPS_CH3 | 设置通道 3 的调谐电容值 <4>=1:加 1pF 至CH2 <3>=1:加 2pF 至CH2 <2>=1:加 4pF 至CH2 <1>=1:加 8pF 至CH2 <0>=1:加 16pF 至CH2 |
5.2.7 Reg07 Default Value:Read only
Reg07 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x07 | - | RSSI1 | ||||||
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:5 | - | - | ||||||
4:0 | RSSI1 | 通道 1 的RSSI 值 |
5.2.8 Reg08 Default Value:Read only
Reg08 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x08 | - | RSSI2 | ||||||
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:5 | - | - |
4:0 | RSSI2 | 通道 2 的RSSI 值 |
5.2.9 Reg09 Default Value:Read only
Reg09 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x09 | - | RSSI3 | ||||||
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:5 | - | - | ||||||
4:0 | RSSI3 | 通道 3 的RSSI 值 |
5.2.10 Reg10 Default Value:Read only
Reg10 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x0A | F_WAKE | |||||||
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | F_WAKE | 误触发计数器 |
5.2.11 Reg11 Default Value:Read only
Reg11 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x0B | - | DATA_OK | AGC_L OCK | LC_T_ DONE | EFUSE_TRI M_DONE | LC_ER R_CH3 | LC_ERR _CH2 | LC_ERR _CH1 |
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7 | - | - | ||||||
6 | DATA_OK | 1:DATA 接收完成 0:DATA 接收未完成 | ||||||
5 | AGC_LOCK | 1:AGC LOCK 0:AGC 未 LOCK | ||||||
4 | LC_T_DONE | LC turning 完成 1:LC Turning 完成 0:LC Turning 未完成 | ||||||
3 | EFUSE_TRIM_DONE | 1:EFUSE TRIM 完成 0:EFUSE TRIM 未完成 |
2 | LC_ERR_CH3 | 1:LC 通道 3 Error 0:LC 通道 3 正常 |
1 | LC_ERR_CH2 | 1:LC 通道 2 Error 0:LC 通道 2 正常 |
0 | LC_ERR_CH1 | 1:LC 通道 1 Error 0:LC 通道 1 正常 |
5.2.12 Reg12 Default Value:0x20
Reg12 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x0C | - | MACT_ MOD | Gain_Set | |||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:6 | - | - | ||||||
5 | MACT_MOD | 曼彻斯特解码模式: 1:上升沿为 0,下降沿为 1 0:上升沿为 1,下降沿为 0 | ||||||
4:0 | Gain_Set | 手动增益设置(AGC 禁用时) |
5.2.13 Reg13 Default Value:0x05
Reg13 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x0D | Gain_RUD | A_WAKE_EN | T_AWAKE | |||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:4 | Gain_RUD | AGC 初始增益衰减设置: 0000:0dB 010x:-4dB 011x:-8dB 100x:-12dB 101x:-16dB 110x:-20dB 111x:-24dB | ||||||
3 | A_WAKE_EN | 1:Artificial wake-up 使能 |
2:0 | T_AWAKE | Artificial wake-up 时间设置: 000:0.2 sec 001:1 sec 010:5 sec 011:20 sec 100:2 min 101:15 min 110:1 hour 111:2 hour |
5.2.14 Reg14 Default Value:0x1F
Reg14 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x0E | - | T_BITS | ||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:5 | - | - | ||||||
xx率定义-bps【FRC-OSC/(Reg14<4:0>+1)】: | ||||||||
00011:4 | ||||||||
00100:5 | ||||||||
4:0 | T_BITS | 00101:6 00110:7 | ||||||
00111:8 | ||||||||
………….. | ||||||||
11111:32 |
5.2.15 Reg15 Default Value:0x06
Reg15 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x0F | PGA_KEEP | T_OUT | T_ON | T_OFF | ||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
位编号 | 位符号 | 说明 | ||||||
7 | PGA_KEEP | PGA 增益调节完毕后是否保持使能设定: 1:在增益调节完成后,所有 PGA 保持使能状态。 0:在增益调节完成后,未选中的通道关闭。 |
6:4 | T_OUT | 自动超时时间设置: 000:无自动超时 001:50 msec 010:100 msec 011:150 msec 100:200 msec 101:250 msec 110:300 msec 111:350 msec |
3:2 | T_ON | 间歇运行模式 ON 时间设置/轮询扫描模式时间设置: 00:0.5 ms 01:1 ms 10:2 ms 11:4 ms |
1:0 | T_OFF | 间歇运行模式 OFF 时间设置: 00:2 ms 01:4 ms 10:8 ms 11:16 ms |
5.2.16 Reg17 Default Value:0x69
Reg17 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x11 | Pattern2 | |||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:0 | Pattern2 | 对码第二个字节 |
5.2.17 Reg18 Default Value:0x96
Reg18 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x12 | Pattern1 | |||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | Pattern1 | 对码第一个字节 |
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
0x15 | - | RESET_LC _TUNING | CLEAR_WA KE | RESET _RSSI | RESET_ REG | CLEAR_ FALSE | ||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:5 | - | - | ||||||
4 | RESET_LC_TUNING | 1:清除 LC_TUNING 完成状态,返到RCSOC 较准完成状态 | ||||||
3 | CLEAR_WAKE | 1:清除唤醒状态,返监听模式 | ||||||
2 | RESET_RSSI | 1:对RSSI 检测进行复位 | ||||||
1 | RESET_REG | 1:所有寄存器复位至初始值 | ||||||
0 | CLEAR_FALSE | 1:清除误触发计数器 |
5.2.19 Reg22 Default Value:0x3F
Reg22 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x16 | Frequency_Carrier | |||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:0 | Frequency_Carrier | 工作载波频率 工作载波频率计算 :(reg22[0:7] *2) KHz 举例:假设需要设置工作载波频率为 30KHz 则 30/2=15,则 reg22[0:7]=0xf |
5.2.20 Reg24 Default Value:0x3C
Reg24 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x18 | - | AGC_DELAY | FD_DELAY | - | ||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:6 | - | - | ||||||
5:4 | AGC_DELAY | 增益调节开始时延时设置位: 00:1 个 32K 时钟周期; 01:2 个 32K 时钟周期; 10:4 个 32K 时钟周期; 11:10 个 32K 时钟周期 |
3:2 | FD_DELAY | 频率检测开始时间延时设置位: 00:1 个 32K 时钟周期; 01:2 个 32K 时钟周期; 10:4 个 32K 时钟周期; 11:10 个 32K 时钟周期 |
1:0 | - | - |
5.2.21 Reg31 Default Value:0x00
Reg31 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x1F | Data1 | |||||||
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | Data1 | 接收到的第一个字节数据 |
5.2.22 Reg32 Default Value:0x00
Reg32 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x20 | Data2 | |||||||
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | Data2 | 接收到的第二个字节数据 |
5.2.23 Reg33 Default Value:0x00
Reg33 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x21 | Data3 | |||||||
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | Data3 | 接收到的第三个字节数据 |
5.2.24 Reg34 Default Value:0x00
Reg34 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x22 | Data4 | |||||||
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | Data4 | 接收到的第四个字节数据 |
5.2.25 Reg35 Default Value:0x00
Reg35 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x23 | Data5 | |||||||
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | Data5 | 接收到的第五个字节数据 |
5.2.26 Reg36 Default Value:0x00
Reg36 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x24 | Data6 | |||||||
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | Data6 | 接收到的第六个字节数据 |
5.2.27 Reg37 Default Value:0x00
Reg37 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x25 | Data7 | |||||||
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | Data7 | 接收到的第七个字节数据 |
5.2.28 Reg38 Default Value:0x00
Reg38 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x26 | Data8 | |||||||
读/写 | 读 | 读 | 读 | 读 | 读 | 读 | 读 | 读 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:0 | Data8 | 接收到的第八个字节数据 |
5.2.29 Reg40 Default Value:0x00
Reg40 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x28 | - | ECNT_Delay_SET | - | EN_EFUSE | ||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:5 | - | - | ||||||
4:3 | ECNT_Delay_SET | 误触发计数延时(载波检测成功之后,Delay 以下时间,如果 pattern 匹配没xx,xxxxx 0): 00:25ms 01:50ms 10:100ms 11:200ms | ||||||
2:1 | - | - | ||||||
0 | EN_EFUSE | efuse TRIM Enable,Enable 之后才load effuse 值或 reg 值,load 成功后再 disable: 1:efuse 使能 0:efuse 禁止 |
5.2.30 Reg42 Default Value:0x33
Reg42 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x2A | BSEL | - | ||||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
位编号 | 位符号 | 说明 |
7:4 | BSEL | PGA 工作频带设置: 0001:200KHz~300KHz 0010:150KHz~200KHz 0011:90KHz~150KHz 0100:70KHz~90KHz 0111:50KHz~70KHz 1111:30KHz~50KHz |
3:0 | - | - |
5.2.31 Reg43 Default Value:0x09
Reg43 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x2B | - | DASL_HY | CH_LP | |||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:4 | - | - | ||||||
3:2 | DASL_HY | Data Slice 比较器迟滞电压设置: 00:10mV 01:20mV 10:30mV 11:40mV | ||||||
1:0 | CH_LP | PGA 低功耗模式设置: 00:Xxx 11:Min |
5.2.32 Reg127 Default Value:0x00
Reg43 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
0x7F | - | START_L | START_LCT | |||||
读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
位编号 | 位符号 | 说明 | ||||||
7:2 | - | - | ||||||
1 | START_L | 开始监听模式 | ||||||
0 | START_LCT | 开始 LC Tunning |
5.3 系统时钟
5.3.1 主要特性
⚫ 内建 48M RC 高频振荡器
(系统最高可以跑 24MHz,也即内部高频 RC 时钟的 2 分频,此时需将 flash 读等待时间设置为 1。默认情况下内部高频 RC 时钟 3 分频之后作为系统时钟,也即 16MHz。)
⚫ 内建 32K RC 低频振荡器
⚫ 内建系统时钟分频器
5.3.2 时钟定义
⚫ RC48M:
表示内部 48M RC 高频振荡器。
⚫ RCH48M:
表示内部 48M RC 高频振荡器经 RCHDIV 分频后的内部高速时钟。
⚫ RC32K:
表示内部 32K RC 低频振荡器。
5.3.3 时钟结构图
SYSDIV
/1,2...,128
RCHDIV
/1,2,3,4
RCOSC 48M
(RCH)
RCOSC 32K
(RCL)
/32768
CPU/ EFLASH/ RAM/
TIMER0/1
LPTIM
WDT
LSCLK
RCLP(clk_1hz)
LPTIN
HSCLKSEL
RCH48M
RCL32K
HSCLK
SYSCLK
GPIO/ UART0/ UART1/ PWM0/ I2C/ SPI/ ADC/
图 5-1:时钟结构图
5.4 复位源
5.4.1 主要特性
包含以下复位源:
⚫ PIN RESET
⚫ LVD 复位
⚫ LVR 复位
⚫ 看门狗复位(WDT)
⚫ 上电复位(POR)
注意:
⚫ LVD 复位不会对 LVDCON 寄存器复位。
⚫ LVR 复位与POR 复位同为全局复位,复位所有的数字逻辑。
5.4.2 看门狗复位
看门狗定时器是一个递减计数器,看门狗定时器使用内部 RC32K 为时钟源,如果要使能看门狗,必须先确保RC32K 已打开。在掉电模式下,看门狗会在定时器溢出时,复位芯片。
读或者写RSTSTAT 寄存器均自动清除看门狗计数。
5.4.3 LVD 与 LVR 复位
LVD 为低电压检测单元,可以由软件配置,在外部供电电压低到检测阈值以下时,会产生一个复位。LVD 复位可以复位CPU 和除 EFC 外的其它外设,不复位EFC。
LVR 为下电复位单元,其作用域和 POR 相同,为全局复位。当外部供电电压小于 LVR 设置的阈值电压时,LVR 产生复位,复位整个芯片。
5.4.4 外部复位
外部复位作用域和POR 相同,为全局复位。当RESETN IO 为 0,且 RESETN 作为外部复位功能使用时,外部复位有效,复位整个芯片。
5.4.5 寄存器
复位相关寄存器参见 SFR 部分的 RSTSTAT、LVDCON、POREN 等部分。
5.5 低功耗模式
5.5.1 主要特性
⚫ 支持睡眠模式(Sleep)、深度睡眠模式(DeepSleep)、停止模式(Stop)三种省电模式
⚫ 中断和复位可以退出三种省电模式
5.5.2 低功耗模式
芯片除正常工作模式外,为了降低芯片的电流消耗,提供三种低功耗模式:休眠(Sleep)模式、深度休眠(Deepsleep)模式和停止(Stop)模式。
在休眠模式下,CPU 停止工作,保留中断处理功能。其它外设等模块时钟和复位可由软件设置。休眠模式由软件向特定的SFR(PCON -> IDLE)写 1 进入,唤醒由中断触发。
深度休眠模式是休眠模式的升级,在此模式下,CPU 停止运行,高速时钟停止运行,低功耗功能模块(LPTIMER、TIMER0/1、WDT)可以运行。深度休眠模式由软件向特定的 SFR(PCON ->
STOP)写 1 进入,唤醒由中断触发。
停止模式下,高速时钟和低速时钟均停止运行,系统无任何运行的时钟,一切外围模块均停止运行。上电复位信号有效,IO 状态保持,IO 中断有效,所有寄存器,RAM 和CPU 数据保存状态时的功耗;停止模式要先设置 SFR 中 PDSEL 寄存器为 1,然后向 PCON -> STOP 写 1 进入,唤醒只能由外部引脚的电平来唤醒。
5.5.3 低功耗模式表
表 5-3:低功耗模式表
模式 | 模式描述 | 进入条件 | 退出条件 |
Sleep | CPU 大部分休眠;软件可关闭各模块时钟。 | 1.根据需要,关闭各外设模块时钟,仅留下需要监测中断事件的模块。 2. PCON -> IDLE 写 1 | 1.CPU 检测到中断或事件发生。 2.进入中断服务程序清中断并返 。 3.继续执行后续指令。 |
Deepsleep | CPU 大部分休眠;高速时钟源关闭,低速时钟源运行。 | 1.根据需要,关闭各外设模块时钟,仅留下需要监测中断事件的模块。 2. PCON -> STOP 写 1。 | 1.CPU 检测到中断或事件发生。 2.进入中断服务程序清中断并返 。 3.继续执行后续指令。 |
Stop | 关闭系统所有时钟。 | 1.根据需要,设置 IO 唤醒的条件。 2.设置SFR 中 PDSEL 寄存器为 1。 3. PCON -> STOP 写 1。 | 1.外部 IO 唤醒事件到来。 2.CPU 检测到 IO 唤醒事件中断发生。 3.进入中断服务程序清中断并返 。 4.继续执行后续指令。 |
6 无线射频
6.1 运行模式
芯片在正常工作模式下,只有被使能并处于监听模式下的通道放大器和时钟发生器在运行,其它模块处于关闭状态。在监听模式下,如果监测到特定频率的载波信号,则开启RSSI 测量,并把结果存储在相应的寄存器中。
6.1.1 标准监听模式
多通道持续运行,三个通道可独立配置使能,使能的通道会一直处于监听接收状态,如图 6-1
所示。
图 6-1:标准监听模式
6.1.2 轮询扫描模式
多通道轮询扫描运行,三个通道可独立配置使能,使能的通道会按照定义的时间窗口内运行扫描监听,时间窗口T 默认值 1ms,可通过寄存器(Reg15[3:2])配置。在每个时间窗口中只能有一个通道处于监听接收状态。当时间窗口结束时,当前使能的通道被关闭,下一个使能的通道将被开启,并以此类推。如图 6-2 所示。
图 6-2:轮询扫描模式
轮询扫描模式按照使能的通道一直循环进行切换监听接收状态,一旦任意通道检测到载波信号,所有使能的通道都会被同时激活,芯片将把RSSI 值最强的通道接入后面的解调器。通道这种方式,可以用单通道的电流消耗进行多方向的检测,降低功耗的同时保证可靠监听。
6.1.3 间隙运行模式
多通道间歇运行,三个通道可独立配置能使,使能的通道会按照定义的时间窗口内,同时开启所有使能的通道,并在下一个时间段中同时关闭所有使能通道,如图 6-3 所示:
图 6-3:间隙运行模式
间歇运行模式开启时间窗口 T1 默认值为 1ms,可通过寄存器(Reg15[3:2])配置。关闭时间窗口T2 默认值为 8ms,可通过寄存器(Reg15[1:0])配置。
6.2 唤醒模式
UM2082F08 的唤醒协议支持载波检测、单模式检测和双模式检测三种模式。其中单模式检测和双模式检测又支持 16 位对码和 32 位对码两种模式。另外,每种检测模式都支持曼彻斯特编解码。
6.2.1 载波检测
载波检测是指关闭对码匹配模块(Reg00[2]= 0),使芯片处于载波检测模式。在此模式下,芯片一旦检测到正确的载波频率,就给出唤醒信号,然后进入数据接收状态。芯片将接收到的数据按字节存到数据寄存器中(最多保存 8 字节数据),如图 6-4 所示。
图 6-4:载波检测
载波检测在载波发射(Carrier Burst)期间完成。以芯片内部 32KHz 时钟为基准设定时间窗 口,在时间窗口内,由计数器对接收到的载波信号进行计数,通过计数次数就可以判断接收到的载波频率是否在规定的范围之内。例如,在典型应用的载波频率下(128KHz),以 4/32KHz=125us的时间窗口对载波进行计数,如果计数次数为 16 次,则频率刚好为 128KHz。通过寄存器 Reg16[7:6]可以对频率检测次数的容差进行设置:Reg16[7:6]的默认值为 b’10,则可接收的频率范围是:112KHz~144KHz。选择不同的载波频段,时间窗口也要做相应的调整,但计数次数基本维持在 16 次左右。在载波发射期间,一旦频率检测成功,则通道放大器的 AGC 功能开启,并完成 RSSI 检测。为了保证芯片有足够的时间来完成频率检测、AGC 控制和 RSSI 检测等功能,载波发射期间的载波发射时间必须大于一个最小值。最小载波发射时间和所用的载波频段有关,载波频率越高,所需最小时间越短。不同频段的最小载波发射时间如下表所示:
表 6-1:频段对应的载波周期表
工作频段(KHz) | 最小载波发射时间 |
190~300 | 70 个载波周期 |
130-190 | 80 个载波周期 |
80-130 | 90 个载波周期 |
46-80 | 110 个载波周期 |
30-46 | 120 个载波周期 |
注: 这个时间主要由接收电路决定,这里只是一个初步的估算值。如果芯片工作在扫描模式,所需的最小载波发射时间比正常的监听模式要长。在实际应用中,发射激励器可以根据接收端的需要灵活调整。
6.2.2 单模式检测
单模式检测是指在载波检测模式的基础上,增加对码匹配功能,在单检测模式中(上电默认状态,Reg00[2:1]=2b’10),对码只匹配一次。如果 32bit 扩展模式被使能(Reg02[2]=1),那么预存的 16 位对码将被看作曼彻斯特码,发射端将发送 32 位的NRZ 码。反之,发射端只需发送 16 位的 NRZ 码,这就是 16bit 模式。
⚫ 曼彻斯特解码关闭(Reg00[0]=0),16bit 模式(Reg02[2]=0)
图 6-5:曼彻斯特解码关闭
⚫ DAT:表示信号对应的数据
⚫ CL_DAT:表示曼彻斯特时钟信号
该模式中,载波发射(carrier burst)之后跟一个 NRZ bit 的低电平时间(Separation bit),然后是引导码(Preamble),两个 NRZ bit 的低电平时间(Separation bit)和对码(Pattern),再加两个NRZ bit 的低电平时间(Separation bit),最后是数据。如图 6-5 所示,对码(Pattern)值是 1001011001101001,对应的曼彻斯特码是 01101001。
⚫ 曼彻斯特解码使能(Reg00[0]=1),16bit 模式(Reg02[2]=0)
图 6-6:曼彻斯特解码使能
⚫ DAT:表示信号对应的数据
⚫ CL_DAT:表示曼彻斯特时钟信号
如图 6-6 所示,对码(Pattern)值是 1001011001101001,对应的曼彻斯特码是 01101001。
6.2.3 双模式检测
双模式检测是指在单模式检测的基础上再增加一次对码匹配功能,启动双模式检测,需要把寄存器 reg00[1]写为 1(reg00[2:1]=b’11)。在这种模式中,对码会重复两次。在双模式检测条件
下,如果 16bit 模式被使能,发射端需要连续发送 32bit 的 NRZ 码。如果 32bit 模式被使能,那么发射端需要连续发送 64bit 的 NRZ 码。
⚫ 曼彻斯特解码关闭(reg00[0]=0),16bit 模式(reg02[2]=0)如下图所示:
图 6-7:曼彻斯特解码关闭
◼ DAT:表示信号对应的数据
◼ CL_DAT:表示曼彻斯特时钟信号
⚫ 曼彻斯特解码使能(Reg00[1]=1),16bit 模式(Reg02[2]=0)如下图所示:
图 6-8:曼彻斯特解码使能
⚫ DAT:表示信号对应的数据
⚫ CL_DAT:表示曼彻斯特时钟信号
6.3 对码匹配模块
为了防止芯片在噪声或干扰环境中唤醒,芯片内部的对码匹配模块对模拟解调器输出的数据和预设的对码值进行比对。在对码匹配使能的条件下,芯片检测到 LF(低频)载波之后,对码匹配模块开始搜索前导码,然后开始匹配对码值,在规定的时间内,接收到的数据和预设对码值进行匹配。如果对码匹配成功,则唤醒中断信号通过WAKE 输出高电平,然后进入数据接收模式。如果对码匹配失败,则终止内部唤醒,重新进入监听模式。
如果对码匹配使能被禁用,芯片在检测到 LF 载波之后会直接唤醒并进入数据接收模式。
6.4 对码设置
UM2082F08 预存的对码长度固定为 16bit。如果工作在 16bit 模式(Reg02[2]=0),则对应的曼彻斯特码的长度为 8bit,共有 2^8=256 种选择。如果工作在 32bit 模式(reg02[2]=1),则对应的曼彻斯特码的长度为 16bit,共有 2^16=65536 种选择。
对码匹配方式有两种:
⚫ 一种是 16 位的曼彻斯特码和接收到的 16 位曼彻斯特编码数据进行匹配。
⚫ 另一种是 16 位未经编码的数据和接收到的 32 位曼彻斯特编码数据进行匹配。
⮚ 单检测、16bit 模式下,发射端发送的对码为 16bits 的 NRZ 码;
⮚ 单检测、32bit 模式下,发射端发送的对码为 32bits 的 NRZ 码;
⮚ 双检测、16bit 模式下,发射端发送的对码为 32bits 的 NRZ 码;
⮚ 双检测、32bit 模式下,发射端发送的对码为 64bits 的 NRZ 码。
6.5 数据接收
芯片成功唤醒之后,芯片就会进入数据接收模式,此时,芯片相当于一个普通的ASK 接收 机。接收到的数据会被存入缓冲寄存器中,最多可存储 8 个字节的数据。MCU 可以通过 RF 接口读取接收到的数据。
6.6 误触发计数
在对码匹配使能模式的情况下,芯片唤醒需要满足两个条件,第一个是载波检测成功,第二个是对码匹配成功。如果第一个条件满足而第二步失败,则被认为是误触发,说明周围环境存在很多噪声或干扰,这种情况下可以适当降低接收灵敏度来提高唤醒可靠性。因此,误触发计数器可以为检测周围环境的噪声水平提供判断依据,并根据环境的噪声水平动态调节芯片设置,以达到最佳的唤醒效果。
6.7 运行状态
图 6-9:RF 运行状态图
6.8 RF 接口说明
RF_SCL、RF_SDA 两个 IO 作为 RF 射频的通信接口 IO,这两个 IO 均为开漏模式。如图
6-10、图 6-11 所示为读写操作帧格式,RF 地址为:0110010。RF 地址后跟随着读写标志,0 为写操作,1 为读操作。ACK 为 RF 返确认信号,0 为有效答复。
图 6-10:写操作时序图
图 6-11:读操作时序图
6.9 低频无线唤醒典型配置
表 6-2:RF 典型配置表
Reg00 = 0x7D | Reg27 = 0x04 |
Reg01 = 0x14 | Reg28 = 0x33 |
Reg02= 0x30 | Reg29 = 0x33 |
Reg03 = 0x03 | Reg30 = 0x33 |
Reg15 = 0x6B | Reg41 = 0x22 |
Reg16 = 0xFF | Reg42 = 0x23 |
Reg21 = 0x0C | Reg43 = 0x01 |
Reg24 = 0x3C | Reg127 = 0x03 |
7 EFC
7.1 概述
芯片上集成了 32K Bytes 的 EFLASH 存储器,用于保存芯片所有的关键脱机信息和数据。EFC为 EFLASH 控制器,在CPU 的配置下,完成EFLASH 读、写、擦除等操作。
7.2 主要特性
⚫ 支持EFLASH 的读写(8bit)、sector 擦除等操作流程。
⚫ 读等待时间可以配置。
⚫ 主区有 64 个 sector,每个 512 字节。
⚫ NVR 区有 2 个 sector,每个 512 字节。
⚫ 支持对 NVR 区域擦/写保护功能。
⚫ 支持擦写保护功能。
⚫ 支持自动锁总线功能。
7.3 EFLASH 读效率
当 RD_WAIT 值设置为 0 时,CPU 取指时无效率损失,读 EFLASH 与读取 ROM 在控制器端时序相同。RD_WAIT 设置为 1 时,EFC 总线在每个读操作时会被拉低 1 个周期(系统时钟运行在 24MHz 时,需将RD_WAIT 设置为 1)。
7.4 软件流程
7.4.1 Read 操作
EFLASH 上电稳定后可以执行读操作。读操作注意配置读等待时间 RD_WAIT。
7.4.2 Write 操作
Write 操作步骤如下:
1. 使能 OPSET.PAGEWSET 写模式。
2. 往 OADR 写入 EFlash 地址。
3. 往 ODATA 写入数据。
4. 配置 OCTRL.PUMP_SEL 电压。
5. 使能 OCTRL.PUMP_EN。
6. 等待PUMP_OK 置 1。
7. 使能VPPO_EN 启动编程。
8. 等待VPPO_EN 清 0 编程完成。
9. 关闭PUMP_EN。
10. 关闭 OPSET.PAGEWSET 写模式。
Write 操作流程图如下所示:
设置PUMP_EN = 1;
设置地址和数据寄存器OA DRL,OADRH,ODATA;
设置PUMP_EN = 0
设置VPPO_EN = 1,启动
IAP编程,硬件把VPPO_EN清0,完成1 byte IAP编
程
图 7-1:写操作流程图
7.4.3 Erase 操作
Erase 操作步骤如下:
1. 关闭 OPSET.PAGEWSET 写模式。
2. 使能 OPSET.PAGESERSET page 擦除模式。
3. 往 OADR 写入 page 地址。
4. 配置 OCTRL.PUMP_SEL 电压。
5. 使能 OCTRL.PUMP_EN。
6. 等待PUMP_OK 置 1。
7. 使能VPPO_EN 启动编程。
8. 等待VPPO_EN 清 0 编程完成。
9. 关闭PUMP_EN。
10. 关闭 OPSET.PAGESERSET page 擦除模式。
设置地址和数据寄存器OADRL,OAD RH,ODATA;
设置
PAGESERSET = 1 & PAGEWRSET = 0 & CHIPSERSET = 0;
Erase 操作流程图如下图所示:
设置VPPO_EN = 1,启动IAP擦除,硬件把VPPO_EN清0,完成1 byte IAP编程
设置PUMP_EN = 1;
设置PUMP_EN = 0
图 7-2:擦除操作流程图
8 PWM (脉宽调制模块)
8.1 特性
⚫ 1 路 16 位精度PWM 模块(不含 LPtimer 一路)
⚫ 提供每个PWM 周期溢出中断
⚫ 输出极性选择
8.2 功能描述
01
02
03
04
7D
7E
7F
80
02
EF F0 01
PWM output duty cycle = 7FH x tpwm
PWM output period cycle = F0H x tpwm
PWM CLOCK tpwm
PWM0 output PWM0S = 0
PWM0 output PWM0S = 1
PWM0P=F0H PWM0D=7FH
图 8-1:PWM 输出范例图
Dute Cycle=
06H X tPWM
Write PWM0D=07H
Write PWM0P=0DH
PWM CLOCK tpwm
01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 01 02 03 04 05 06 07 08
PWM output
(PWM0S=0)
Period cycle = 0FH X tPWM
Dute Cycle= 06H X tPWM
Period cycle = 0DH X tPWM
Dute Cycle=07H X tPWM
图 8-2:PWM 输出周期或占空比改变范例图
8.3 PWM 输出时序
表 8-1:输出时序(PWM0SS=1)表
PWM0S | 条件 | PWM0 端口输出状态 |
0 | PWM0P>PWM0D | 输出xx,先输出PWM0D 个时钟周期高电平,然后 输出PWM0P–PWM0D 个时钟周期低电平 |
PWM0P≤PWM0D | 高电平 | |
PWM0D = 0,PWM0P=0; | 高电平 | |
PWM0D = 0,PWM0P≠0; | 低电平 | |
1 | PWM0P>PWMxD | 输出xx,先输出PWM0D 个时钟周期低电平,然后 输出PWM0P–PWM0D 个时钟周期高电平 |
PWM0P≤PWMxD | 低电平 | |
PWM0D = 0,PWM0P=0; | 低电平 | |
PWM0D = 0,PWM0P≠0; | 高电平 |
注意:
1. PWM0EN 位控制 PWM0 模块开关。
2. PWM0SS 位能选择端口是作为 I/O 端口还是 PWM 输出端口,PWM0SS =1,但 PWM0EN=0,则相应端口处于输入状态。
3. IEN0 寄存器中的EPWM 位和PWM0CON 寄存器中的PWM0IE 位会共同控制 PWM0 中断。
4. 当 PWMEN0=1,PWM0SS=0 时,PWM0 模块输出关闭,此时 PWM 模块可用作 16 位定时器,如果PWM 中断被使能且PWM0IE=1,每个 PWM 周期同样会触发中断。
8.4 使用流程
PWM 使用流程:
1. 设置寄存器PWM0xCON. PWM0SS,PWM0 引脚输出允许。
2. 设置寄存器PWM0CON. PWM0S,选择PWM0 输出模式。
3. 设置寄存器PWM0DL/H,配置占空比。
4. 设置寄存器PWM0PL/H,配置重装载值。
5. 设置寄存器PWM0CON. PWM0EN,使能PWM0 模块。
6. 若需产生中断,则需设置寄存器 PWM0CON. PWM0IE,并设置寄存器 IEN0.EA 和
IEN0.EPWM。
9 GPIO(I/O 端口)
9.1 主要特性
⚫ 最多支持 11 个可编程双向 I/O 端口
⚫ 全部 IO 支持中断功能,双沿触发
⚫ 内建上拉电阻
⚫ I/O 口可与其他功能共用
最多支持 11 个可编程双向 I/O 端口。
9.2 端口复用
部分端口可复用做其他功能,当第二功能开始时,GPIO 配置为输出状态时依然可读写寄存器,配置为输入状态时,读无效。
表 9-1:P0 口复用表
端口 | 优先级 | 功能 | 使能方式 |
RF_SCL | 1 | RF_SCL | 查看RF demo 配置 |
P0.1 | 1 | P0.1 | GIO0CEN=1 |
P0.2 | 1 | NRST | ESTCR[3]=1,P0.2 作为外部复位RESETN |
2 | P0.2 | 不存在上述情况 | |
P0.3 | 1 | SPI_CSN | SPI_EN=1 且CS_EN=1,P0.3 作为SPI_CSN |
2 | LPT_OUT | LPOUT_IO_IEN = 1 | |
3 | P0.3 | 不存在上述情况 | |
P0.4 | 1 | I2C_SDA | I2CCEN=1 且P0PU[bit4]=0 |
2 | P0.4 | 不存在上述情况 |
表 9-2:P1 口复用表
端口 | 优先级 | 功能 | 使能方式 |
P1.0 | 1 | PWM0 | PWM0SS = 1 |
2 | I2C_SCL | I2CCEN=1 且P1PU[bit0]=0 | |
3 | LPT_IN | LPTIN_IO_IEN = 1 | |
4 | P1.0 | 不存在上述情况 | |
P1.3 | 1 | SPI_SCK | SPI_EN=1 且 SCK_EN=1,P1.3 作为 SPI_SCK |
2 | P1.3 | 不存在上述情况 | |
P1.4 | 1 | AIN0 | ADCHL[0]=1,P1.4 作为 AIN0 |
2 | RX1 | UART1_EN = 1,P1.4 作为 RX1 | |
3 | SPI_MOSI | SPI_EN=1 且 MOSI_EN=1,P1.4 作为 SPI_MOSI |
4 | P1.4 | 不存在上述情况 | |
P1.5 | 1 | TX1 | UART1_EN = 1,P1.5 作为 TX1 |
2 | AIN1 | ADCHL[1]=1,P1.5 作为 AIN1 | |
3 | SPI_MISO | SPI_EN=1 且 MISO_EN=1,P1.4 作为 SPI_MISO | |
4 | P1.5 | 不存在上述情况 |
表 9-3:P2 口复用表
端口 | 优先级 | 功能 | 使能方式 |
RF_SDA | 1 | RF_SDA | 查看RF demo 配置 |
WAKE | 1 | WAKE | 查看RF demo 配置 |
P2.2 | 1 | AIN3 | ADCHL[3]=1,P2_2 作为 AIN3 |
2 | P2.2 | 不存在上述情况 | |
P2.6 | 1 | AIN5 | ADCHL[5]=1,P2.6 作为 AIN5 |
2 | TX0 | UART0_EN = 1,P2.6 作为 TX0 | |
3 | P2.6 | 不存在上述情况 | |
P2.7 | 1 | AIN6 | ACHH[6]=1,P2.7 作为 AIN6 |
2 | RX0 | UART0_EN = 1,P2.7 作为 RX0 | |
3 | P2.7 | 不存在上述情况 |
9.3 端口中断
全部端口都支持中断功能,如果使能中断,上升沿或者下降沿均会触发中断,全部端口中断共用 INT0 中断入口。
PxIEN 寄存器控制所有 IO 口中断使能的打开与关闭,如果某一端口的中断功能被打开,那么当 MCU 检测到引脚上出现上升沿或者下降沿则产生外部中断,并且置相应的 PxIRQ 标志位为 1。用户程序可以在外部中断 0 的服务程序内查询是哪个引脚产生了中断标志位。
如果端口中断被使能,那么当 MCU 进入掉电模式时,端口电平的变化,可以中断唤醒 MCU。注意事项:端口中断模式仅支持低功耗模式下的 IO 唤醒,正常模式下不支持端口中断,仅支持
查询 IO 口电平状态(P0/P1/P2)。
9.4 IO_IE
IO_IE 寄存器用xdata 关键字访问。
IO_IE 控制 IO 的输入使能。禁止输入使能后,P0/P1/P2 寄存器无法读取 IO 状态,无法使用输入功能,输出功能正常。
表 9-4:IO_IE 寄存器列表
地址 | 名称 | 描述 |
0xC000 | P0_IE | P0 IO输入控制寄存器 |
0xC001 | P1_IE | P1 IO输入控制寄存器 |
0xC002 | P2_IE | P2 IO输入控制寄存器 |
9.4.1 P0_IE
C000H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
P0_IE | - | - | - | P0_4_IE | P0_3_IE | P0_2_IE | P0_1_IE | RF_SCL_I E |
读/写 | 读 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读/写 | 读/写 |
复位值 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:5 | - | - | ||||||
4 | P0_4_IE | P0_4 IO 输入控制位: 0:P0_4 禁止输入 1:P0_4 开启输入 | ||||||
3 | P0_3_IE | P0_3 IO 输入控制位: 0:P0_3 禁止输入 1:P0_3 开启输入 | ||||||
2 | P0_2_IE | P0_2 IO 输入控制位: 0:P0_2 禁止输入 1:P0_2 开启输入 | ||||||
1 | P0_1_IE | P0_1 IO 输入控制位: 0:P0_1 禁止输入 1:P0_1 开启输入 | ||||||
0 | RF_SCL_I E | RF_SCL 输入控制位: 0:RF_SCL 禁止输入 1:RF_SCL 开启输入 |
9.4.2 P1_IE
C001H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
P1_IE | - | - | P1_5_IE | P1_4_IE | P1_3_IE | - | - | P1_0_IE |
读/写 | 读 | 读 | 读/写 | 读/写 | 读/写 | 读 | 读 | 读/写 |
复位值 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 |
位编号 | 位符号 | 说明 | ||||||
7:6 | - | - | ||||||
5 | P1_5_IE | P1_5 IO 输入控制位: 0:P1_5 禁止输入 1:P1_5 开启输入 |
4 | P1_4_IE | P1_4 IO 输入控制位: 0:P1_4 禁止输入 1:P1_4 开启输入 |
3 | P1_3_IE | P1_3 IO 输入控制位: 0:P1_3 禁止输入 1:P1_3 开启输入 |
2:1 | - | - |
0 | P1_0_IE | P1_0 IO 输入控制位: 0:P1_0 禁止输入 1:P1_0 开启输入 |
9.4.3 P2_IE
C002H | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
P2_IE | P2_7_IE | P2_6_IE | RF_SDA_ IE | - | WAKE_IE | P2_2_IE | - | - |
读/写 | 读/写 | 读/写 | 读/写 | 读 | 读/写 | 读/写 | 读 | 读 |
复位值 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
位编号 | 位符号 | 说明 | ||||||
7 | P2_7_IE | P2_7 IO 输入控制位: 0:P2_7 禁止输入 1:P2_7 开启输入 | ||||||
6 | P2_6_IE | P2_6 IO 输入控制位: 0:P2_6 禁止输入 1:P2_6 开启输入 | ||||||
5 | RF_SDA_I E | RF_SDA 输入控制位: 0:RF_SDA 禁止输入 1:RF_SDA 开启输入 | ||||||
4 | - | - | ||||||
3 | WAKE_IE | WAKE 输入控制位: 0:WAKE 禁止输入 1:WAKE 开启输入 | ||||||
2 | P2_2_IE | P2_2 IO 输入控制位: 0:P2_2 禁止输入 1:P2_2 开启输入 | ||||||
1:0 | - | - |
9.5 IO_SR
IO_SR 寄存器用 xdata 关键字访问。
IO_SR 控制 IO 的Slew rate。Slew rate 指的是压摆率,又称转换速率,表示 IO 高低电平切换时,边沿上升和下降速度的快慢(边沿斜率的陡峭和缓慢)。
表 9-5:IO_SR 寄存器列表
地址 | 名称 | 描述 |
0xC005 | P0_SR | P0 IO速度控制寄存器 |
0xC005 |