价格:面议
沈阳芯硕科技有限公司
联系人:沈阳芯硕科技
电话:13802923731
地址:辽宁省沈阳市铁西区建工西路5号财富星座B座
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. 复位介绍 该模块的复位源有两个,分别是系统复位和软件复位,软件复位可通过配置系统寄存器触发。