华大电子MCU CIU32M010、CIU32M030通用异步收发器

  1. 通用异步收发器(UARTx)
    1.1. 模块介绍
    CIU32M010、CIU32M030 集成的通用异步收发器(UART)提供了一种灵活的方法与使用工业标准NRZ 异步串行数据格式的外部设备之间进行全双工数据交换。
    1.2. 功能特点
    • 支持 8bit 数据和 9bit 数据模式
    • 支持 18bit 波特率寄存器灵活配置
    • 支持全双工异步通信、单工发送、单工接收、单线通信模式
    • 支持硬件奇偶校验可选
    • 具有 4 帧数据的接收缓存,1 帧数据的发送缓冲
    • 硬件检测接收超时,超时长度可以配置,配置范围:1~16384 比特率时间
    • 支持帧出错检测
    • 可选 STOP 位为 1 位或 2 位
    1.3. 功能说明
    1.3.1. 波特率生成功能
    波特率计算公式 = SYSCLK/(UART_BAUD+1) (UART_BAUD>=6)
    UART 模块的工作时钟为系统时钟,因此,应当根据当前系统时钟频率以及需要的波特率计算 UART_BAUD 的配置值。一旦系统时钟频率改变,应当相应修改波特率配置。
    1.3.2. UART 发送器
    发送器可发送 8/9bit 数据,由寄存器 UART_CON 中的 BIT9_EN 位的配置值决定。软件向寄存器
    UART_DATA 写入数据时,发送器将通过 IO 管脚 UART_TX 发送数据帧,UART_TX 的极性可以通过寄存
    器 UART_CON 中的 TX_INV 位来配置。
    发送数据流程:发射器输出管脚(UART_TX)闲置状态时,默认为高电平。模块使能后,软件向寄存
    器 UART_DATA 写入要发送的数据启动发送。发送器有一帧的发送缓冲,寄存器 UART_STA 中
    TX_BUF_EMPTY 为高电平时,软件可向寄存器 UART_DATA 再写入一帧数据,它将被存入发送缓冲区,
    TX_BUF_EMPTY 会变零,在当前帧发送完成时,会接着发送缓冲区中的数据。
    数据发送完成且缓冲区为空时,寄存器 UART_STA 中 TC_PEND 位置 1,此时如果寄存器 UART_CON
    中 TCIE 位使能,则产生中断。
    发送器发送序列:起始位->数据位(LSB)->停止位
    1.3.3. UART 接收器
    接收器可接收 8/9bit 数据,由寄存器 UART_CON 中的 BIT9_EN 位的配置值决定。
    数据字符由逻辑 0 的起始位、8/9bit 数据位,奇偶校验位和逻辑 1 的停止位组成。
    接收器有 4 个 8/9bit 的数据缓冲。在缓冲区接收到 4 个数据之后,且又有一帧数据接收完成时,寄存器 UART_STA 中 RX_BUF_OV 会置 1,新的数据将不会存储在数据缓冲区中,即新数据丢失。 在接收一个数据帧的过程中可使能奇偶错误检测、帧错误检测和超时检测,通过配置寄存器 UART_CON 打开相应的错误检测使能位和相应的错误中断使能位。
    帧错误检测机制是指在 stop 位检测到 IO 引脚 UART_RX 是低电平时,为帧错误。
    超时检测机制是指在接收到 1byte 之后,检测是否超过了设置的时间,如果没有则继续接收数据,超时时间可以通过寄存器 UART_CON 中 TO_BIT_LEN 进行配置。接收缓冲区有数据,即寄存器 UART_STA 中的 RX_BUF_NOT_EMPTY=1 时,软件可以通过读
    UART_DATA 寄存器的方式来获取收到的数据。
    1.4 时钟与复位
    1.4.1. 时钟介绍
    该模块时钟来源于系统时钟,可通过配置系统寄存中 CLKCON2 来使能时钟。
    1.4.2. 复位介绍
    该模块的复位源有两个,分别是系统复位和软件复位,软件复位可通过配置系统寄存器触发。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值