11.8.4. 寄存器定义
寄存器列表
寄存器名 |
偏移地址 |
寄存器功能描述 |
---|---|---|
CIR_MCR |
0x00 |
CIR模块控制寄存器 |
CIR_INTR |
0x04 |
CIR模块中断控制寄存器 |
CIR_INTEN |
0x08 |
CIR模块中断控制寄存器 |
CIR_TXSTAT |
0x0C |
CIR发送状态寄存器 |
CIR_RXSTAT |
0x10 |
CIR接收状态寄存器 |
CIR_RXCLK |
0x14 |
CIR接收采样时钟寄存器 |
CIR_RX_THRES |
0x18 |
CIR接收阈值配置寄存器 |
CIR_RX_CFG |
0x1C |
CIR接收配置寄存器 |
CIR_TX_CFG |
0x20 |
CIR发送配置寄存器 |
CIR_TIDC |
0x24 |
CIR发送间隔时间寄存器 |
CIR_CARR_CFG |
0x2C |
CIR载波配置寄存器 |
CIR_RXFIFO |
0x30 |
CIR接收缓存寄存器 |
CIR_TXFIFO |
0x80 |
CIR发送缓存寄存器 |
CIR_VERSION |
0xFFC |
CIR模块版本号 |
寄存器描述
11.8.4.1. 0x000 CIR_MCR
默认值:0x00000000 |
CIR控制寄存器(CIR_MCR) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:18 |
- |
- |
-
|
17 |
WAC |
0x0 |
TX_FIFO_CLR:TX FIFO CLEAR,清TX FIFO
0x0:未使能
0x1:Clear Tx FIFO
|
16 |
WAC |
0x0 |
RX_FIFO_CLR:RX FIFO CLEAR,清RX FIFO
0x0:未使能
0x1:Clear Rx FIFO
|
15:10 |
- |
- |
-
|
9 |
WAC |
0x0 |
TX_STOP:Transmit Stop Control,发送停止控制,仅用于循环模式。
0x0:硬件发送完FIFO的数据后自动将该bit清0
0x1:循环发送停止。由开始到停止,FIFO中数据必须被发送完。
|
8 |
WAC |
0x0 |
TX_START:Transmit Start Control,发送启动控制。在循环模式和
非循环模式都需要。
0x0:硬件发送完FIFO的数据后自动将该bit清0
0x1:发送开始。由开始到停止,FIFO中数据必须被发送完。在循环模式下,FIFO中的数据会
在一定的间隔时间IDC_THRES后反复发送,直到TX_STOP为1时才会在发送完当次命令后停止。
|
7:3 |
- |
- |
-
|
1 |
R/W |
0x0 |
TX_EN:Transmitter Enable,发送器使能
0x0:未使能
0x1:使能
|
0 |
R/W |
0x0 |
RX_EN:Receiver Enable,接收器使能
0x0:未使能
0x1:使能
|
11.8.4.2. 0x004 CIR_INTR
默认值:0x00000000 |
CIR中断寄存器(CIR_INTR) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:7 |
- |
- |
-
|
6 |
R/W1C |
0x0 |
TXB_AVL _INT:TX FIFO Available Interrupt Flag,发送缓存可用中断
0x0:发送缓存不可用。
0x1:发送缓存可用。达到TXB_EMPTY_LEVEL时触发。
|
5 |
R/W1C |
0x0 |
TXEND_INT:Transmit End Interrupt,发送结束中断
0x0:发送未完成。
0x1:发送完成。
|
4 |
R/W1C |
0x0 |
TX_UNF_INT:Transmit FIFO Underflow Interrupt for Non-cyclical Pulse,
非循环发送下溢出中断
0x0:发送器FIFO 无下溢出。
0x1:发送器FIFO 下溢出。
|
3 |
- |
- |
-
|
2 |
R/W1C |
0x0 |
RXB_AVL _INT:RX FIFO Available Interrupt Flag,接收缓存可用中断。
0x0:接收缓存不可用。
0x1:接收缓存可用。达到RXB_AVL_LEVEL时触发。
|
1 |
R/W1C |
0x0 |
RX_END_INT:Receive End Interrupt,接收结束中断
0x0:接收未结束
0x1:接收结束
|
0 |
R/W1C |
0x0 |
RX_OVF_INT:Receive Overflow Interrupt,接收缓存溢出中断
0x0:接收器FIFO未溢出
0x1:接收器FIFO溢出
|
11.8.4.3. 0x008 CIR_INTEN
默认值:0x00000063 |
CIR中断使能控制寄存器(CIR_INTEN) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:24 |
- |
- |
-
|
23:16 |
R/W |
0x0 |
TXB_EMPTY_LEVEL:TX FIFO Empty Level,发送缓存空闲深度。达到该设置值
触发TXB_AVL_INT。
|
15:14 |
- |
- |
-
|
13:8 |
R/W |
0x0 |
RXB_AVL _LEVEL:RX FIFO Available Level,接收缓存可用字节深度。达到该设置值
触发RXB_AVL_INT。
|
7 |
- |
- |
-
|
6 |
R/W |
0x1 |
TXB_AVL _EN:TX FIFO Available Interrupt Enable,发送缓存可用中断使能
|
5 |
R/W |
0x1 |
TXEND_EN:Transmit Ended Interrupt Enable,发送结束中断使能
|
4 |
R/W |
0x0 |
TX_UNF_EN:Transmit FIFO Underflow Interrupt Enable for non-Cyclical Pulse,
非循环发送下溢出中断使能。
|
3 |
- |
- |
-
|
2 |
R/W |
0x0 |
RXB_AVL_EN:RX FIFO Available Interrupt Enable,接收缓存可用中断使能
|
1 |
R/W |
0x1 |
RXEND_EN:Receive Ended Interrupt Enable,接收结束中断使能
|
0 |
R/W |
0x1 |
RX_OVF_EN:Receive Overflow Interrupt Enable,接收缓存溢出断使能
|
11.8.4.4. 0x00C CIR_TXSTAT
默认值:0x00000100 |
CIR发送状态寄存器(CIR_TXSTAT) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:12 |
- |
- |
-
|
11 |
RO |
0x0 |
TX_STAT:Transmitter Status,发送器状态
0x0:Idle,空闲,当FIFO中所有数据被发送完时自动清0
0x1:Active,激活
|
10 |
RO |
0x0 |
TX_FIFO_ERR:FIFO Error Flag,发送FIFO错误标志。
0x0:no error
0x1:error, such as overflow or underflow
|
9 |
RO |
0x0 |
TX_FIFO_FULL:FIFO Full Flag,发送FIFO满标志。
0x0:not full
0x1:full
|
8 |
RO |
0x1 |
TX_FIFO_EMPTY:TX FIFO Empty Flag,发送FIFO空标志。
0x0:not empty
0x1:empty
|
7 |
- |
- |
-
|
6:0 |
RO |
0x7F |
TX_FIFO_DLEN:TX FIFO Data Length,TX FIFO 当前有效数据量指示
0x00:发送缓存中还有1byte待发送
0x01:发送缓存中还有2byte待发送
… …
0x7F:发送缓存中还有128bytes待发送
|
11.8.4.5. 0x010 CIR_RXSTAT
默认值:0x00000100 |
CIR接收状态寄存器(CIR_RXSTAT) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:12 |
- |
- |
-
|
11 |
RO |
0x0 |
RX_STAT:Receiver Status,接收器状态
0x0:Idle,空闲
0x1:Active,激活
|
10 |
RO |
0x0 |
RX_FIFO_ERR:FIFO Error Flag,接收FIFO错误标志。
0x0:no error
0x1:error, such as overflow or underflow
|
9 |
RO |
0x0 |
RX_FIFO_FULL:FIFO Full Flag,接收FIFO满标志。
0x0:not full
0x1:full
|
8 |
RO |
0x1 |
RX_FIFO_EMPTY:RX FIFO Empty Flag,接收FIFO空标志。
0x0:not empty
0x1:empty
|
7:6 |
- |
- |
-
|
5:0 |
RO |
0x00 |
RX_FIFO_DLEN:RX FIFO Data Length,RX FIFO 当前有效数据量指示
0x00:接收缓存中还有1byte待取走
0x01:接收缓存中还有2byte待取走
… …
0x3F:接收缓存中还有64bytes待取走
|
11.8.4.6. 0x014 CIR_RXCLK
默认值:0x00000000 |
CIR接收采样时钟寄存器(CIR_RXCLK) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
- |
- |
-
|
15:0 |
R/W |
0x0 |
DIV_RXCLK:Receive Sample Clock Divider,接收采样时钟分频系数(1~65535)
|
11.8.4.7. 0x018 CIR_RX_THRES
默认值:0x000F00FF |
CIR接收阈值配置寄存器(CIR_RX_THRES) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
R/W |
0x0F |
ACTIVE_THRES:Active Threshold,激活阈值。
接收器由空闲状态转变到激活状态的阈值。当接收器处于空闲状态,若输入信号电平发生变化
(上升沿或下降沿),且持续时间大于ACTIVE_THRES*Trx_clk时,接收器认为这是一个
激活码,将转变为激活状态,并开始捕获CIR_RX信号。
|
15:0 |
R/W |
0xFF |
IDLE_THRES:Idle Threshold,空闲阈值
接收器根据该阈值决定当前指令是否完成被接收。若无CIR_RX输入,接收器处于空闲状态。
当CIR_RX信号保持高电平或低电平,且持续时间大于 IDLE_THRES*Trx_clk时,
表示前一个指令完成接收。
|
11.8.4.8. 0x01C CIR_RX_CFG
默认值:0x01FF0002 |
CIR接收配置寄存器(CIR_RX_CFG) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
R/W |
0x1FF |
NOSIE_THRES:Nosie Threshold,噪声阈值
CIR_RX信号脉冲(高电平或低电平)持续时间小于NOSIE_THRES个采样周期Tpclk,
该脉冲将被当作噪声干扰而被忽略。
0x0:所有采样都存储于RX_FIFO
0x1:若信号小于等于1个周期Tpclk,忽略
0x2:若信号小于等于2个周期Tpclk,忽略
…
0xFFFF:若信号小于等于65535个周期Tpclk,忽略
|
15:8 |
- |
- |
-
|
7:3 |
- |
- |
-
|
2 |
W1C |
0x0 |
DBC_LEVEL_SET:Debounce 输出初始化电平设置
0x0:Debounce 输出初始化电平为1
0x1:Debounce 输出初始化电平与RX_LEVEL一致
|
1 |
R/W |
0x1 |
RX_LEVEL:RX输入信号电平
0x0:空闲状态下为低电平、激活状态下为高电平
0x1:空闲状态下为高电平、激活状态下为低电平
|
0 |
R/W |
0x0 |
RX_INVERT:RX信号极性反相
0x0:信号不反相
0x1:信号反相
|
11.8.4.9. 0x020 CIR_TX_CFG
默认值:0x00000000 |
CIR发送配置寄存器(CIR_TX_CFG) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7:3 |
- |
- |
-
|
2 |
R/W |
0x0 |
TX_MODE:Transmit Mode,发送模式
0x0:非循环发送模式
0x1:循环发送模式
|
1 |
R/W |
0x0 |
TX_OUT_MODE:Transmit Out Mode,发送输出模式
0x0:发送信号调制
0x1:发送信号不调制
|
0 |
R/W |
0x0 |
TX_INVERT:Transmit Signal Invert,TX信号极性反相
0x0:信号不反相
0x1:信号反相
|
11.8.4.10. 0x024 CIR_TIDC
默认值:0x00000000 |
CIR发送间隔时间寄存器(CIR_TIDC) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
- |
- |
-
|
15:0 |
R/W |
0x0 |
IDC_THRES:Idle Duration Counter Threshold,空闲持续时间计数阈值,0~65536
循环发送间隔时间= IDC_THRES*Ttx_clk
|
11.8.4.11. 0x02c CIR_CARR_CFG
默认值:0x0003000b |
CIR发送载波配置寄存器(CIR_CARR_CFG) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
R/W |
0x3 |
CARRIER_HIGH:Carrier High Pulse Number,载波高电平脉冲个数,以APB_CLK为基本单位。
用于配置载波频率及占空比。
TX_CLK=24MHz/(CARR_HIGH+1+CARR_LOW+1);
DUTY=(CARR_HIGH+1)/(CARR_HIGH+1+CARR_LOW+1)
|
15:0 |
R/W |
0xb |
CARRIER_LOW:Carrier Low Pulse Number,载波低电平脉冲个数,以APB_CLK为基本单位。
用于配置载波频率及占空比。
|
11.8.4.12. 0x030 CIR_RXFIFO
默认值:0x00000000 |
CIR接收缓存寄存器(CIR_RXFIFO) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7:0 |
R/W |
0x0 |
RXFIFO:Receive Byte FIFO,接收字节缓存
|
11.8.4.13. 0x080 CIR_TXFIFO
默认值:0x00000000 |
CIR发送缓存寄存器(CIR_TXFIFO) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:8 |
- |
- |
-
|
7:0 |
W |
0x0 |
TXFIFO:Transmit Byte FIFO,发送字节缓存
当发送触发,FIFO中的数据将被发送,直至所有数据字节数量都被发送完。
|
11.8.4.14. 0xFFC CIR_VERSION
默认值:0x00000101 |
CIR版本寄存器(VERSION) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
RO |
0x00000101 |
Version (版本号),采用BCD码,V1.01
|