Edit online

寄存器描述

28 Apr 2024
Read time: 7 minute(s)

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 Tx 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:2 - - -
1 R/W 0x0 CIR_EN
CIR Module Enable,CIR 模块使能
  • 0x0:CIR 模块未使能
  • 0x1:CIR 模块使能
0 - - -

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:接收缓存可用。达到 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 溢出

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,接收缓存溢出断使能

0x00C CIR_TXSTAT

默认值:0x0000017F 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:发送缓存中还有 1 byte 待发送
  • 0x01:发送缓存中还有 2 bytes 待发送
  • 0x7F:发送缓存中还有 128 bytes 待发送

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:接收缓存中还有 1 byte 待取走
  • 0x01:接收缓存中还有 2 bytes 待取走
  • 0x3F:接收缓存中还有 64 bytes 待取走

0x014 CIR_RXCLK

默认值:0x00000000 CIR 接收采样时钟寄存器(CIR_RXCLK)
位域 类型 默认值 描述
31:16 - - -
15:0 R/W 0x0 DIV_RXCLK

Receive Sample Clock Divider,接收采样时钟分频系数(1~65535)

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 时,表示前一个指令完成接收。

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:信号反相

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:信号反相

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

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 为基本单位。用于配置载波频率及占空比。

0x030 CIR_RXFIFO

默认值:0x00000000 CIR 接收缓存寄存器(CIR_RXFIFO)
位域 类型 默认值 描述
31:8 - - -
7:0 R/W 0x0 RXFIFO

Receive Byte FIFO,接收字节缓存

0x080 CIR_TXFIFO

默认值:0x00000000 CIR 发送缓存寄存器(CIR_TXFIFO)
位域 类型 默认值 描述
31:8 - - -
7:0 W 0x0 TXFIFO

Transmit Byte FIFO,发送字节缓存

当发送触发,FIFO 中的数据将被发送,直至所有数据字节数量都被发送完。

0xFFC CIR_VERSION

默认值:0x00000100 CIR 版本寄存器(VERSION)
位域 类型 默认值 描述
31:0 RO 0x00000100 Version (版本号),采用 BCD 码,V1.0