UART(RS232) 控制器简介

本文介绍了UART(通用异步收发传输器)的基础知识,包括UART的工作原理、异步串口通信协议和UART在嵌入式系统中的应用。特别提到了在Nios系统中,如何利用UART(RS232) IP逻辑控制串口,以及Nios UART控制器的寄存器结构,如接收数据寄存器、发送数据寄存器和状态寄存器的功能。此外,还讨论了UART的中断行为和处理中断的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nios UART(RS232) 控制器简介

 

周聪辉 原创+装载+翻译=整理

 

一、UART简介

 

       UARTUniversal Asynchronous Receiver/Transmitter)即通用异步收发传输器,工作于数据链路层。包含了RS232RS422RS485串口通信和红外(IrDA) 等等。UART协议作为一种低速通信协议,广泛应用于通信领域等各种场合。UART基本可分为并口通信及串口通信两种。

 

         异步串口通信协议作为UART的一种,工作原理是将传输数据的每个字符一位接一位地传输。图一给出了其工作模式:

 

其中各位的意义如下:
起始位:先发出一个逻辑” 0” 的信号,表示传输字符的开始。
资料位:紧接着起始位之后。资料位的个数可以是45678等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。
奇偶校验位:资料位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。
停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。
空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。
波特率:是衡量资料传送速率的指针。表示每秒钟传送的二进制位数。例如资料传送速率为120字符/秒,而每一个字符为10位,则其传送的波特率为10×1201200字符/秒=1200波特。

 

         在嵌入式系统或者计算机中,并非直接对串口直接进行,而是通过SCI (串行通讯接口)模块对其进行控制。(注:“SCI”首先由Motorola微串口微控制器而得名,SCI另一种说法是“UART控制器”)常用的许多芯片中都包含了SCI ,例如ARMS 3C 2410X芯片内嵌了3个串行接口控制器,而Nios等软核芯片则可以用选用UART(RS232)

### UARTRS232的关系 UART(通用异步收发传输器)是一种硬件组件,负责处理数据的串行化和并行化转换。而RS232则是一个定义了物理层特性的标准,规定了信号电平、连接方式等内容。这意味着UART可以作为实现RS232通信的一部分,在实际应用中通常通过专用芯片将UART逻辑电平转换成符合RS232规格的电压等级[^1]。 ```python # Python模拟简单的UART发送函数 def uart_send(data): # 假设data为待发送字节列表 for byte in data: # 发送起始位, 数据位(这里简化为直接传递byte), 停止位 send_bit(0) # 起始位总是低电平 send_byte(byte) send_bit(1) # 停止位总是高电平 def rs232_adapter(uart_signal): # 将TTL/TXT电平适配至RS232规定的范围(-15V ~ +15V) adapted_signal = convert_voltage_level(uart_signal) return adapted_signal ``` ### 差异性分析 #### 抗干扰性能与通信距离 由于UART本身工作于较低的TTL/CMOS电平,因此容易受到外界电磁噪声影响,这使得基于UART直接构建的链路适合短程内使用,比如同一PCB板内的IC间通讯。相比之下,遵循RS232标准设计的产品采用了更高的驱动能力和更严格的电气参数控制,从而能够在较长的距离上传输数据,并具备一定的抗噪能力。 #### 接口形式 当提到具体的接口形态时,RS232常指代一种标准化的9针或25针D型接头及其内部线路分配方案;然而,对于UART而言,则更多是指微控制器或其他设备中的功能模块而非特定类型的插槽或端子布局[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值