UART接口简介

本文介绍了UART及其包含的各种接口标准,重点讲解了RS-232-C串口的电气特性,包括驱动能力、通信距离、双工通信和噪声容限。此外,还提到了串口调试工具和简单的串口电路设计,以及电平转换的常见做法。

        UART(UniversalAsynchronousReceiver/Transmitter),即通用异步收发器,它包括了RS232、RS449、RS423、RS422和RS485等接口标准规范和总线标准规范,即UART是异步串行通信口的总称。而RS232、RS449、RS423、RS422和RS485等,是对应各种异步串行通信口的接口标准和总线标准,它规定了通信口的电气特性、传输速率、连接特性和接口的机械特性等内容。

        串口即串行接口,也称串行通信接口,是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串行接口电路。串口是计算机上一种非常通用的设备通信协议。大多数计算机包含两个基于RS-232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。
        串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。典型地,串口用于ASCII码字符的传输。通信使3根线完成:(1)地线;(2)发送;(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据,其他的线用于握手,但是不是必须的。我们常说的串口指的是RS-232-C接口,这里我们只讨论我司常用的RS-232-C接口。

一、RS-232-C 电气特性

        RS-232-C串口的电气特性为:
        1)驱动器允许有2500pF的电容负载,3~7KΩ的阻抗负载,最大通信距离为15m(50英尺);
        2)RS-232-C可做到双向传输,全双工通讯,最高传输速率20kbps(在串口通信中用波特率来表示数据传输速率,它表示每秒钟传送的二进制bit的个数,其单位是bps,我司串口波特率一般选用115200。);
        3)RS-232-C中任何一条信号线的电压均为负逻辑关系,且与地对称,即:逻辑“1”,-5~-15V;逻辑“0”,+5~+15V。噪声容限为2V到3V左右,即要求接收器能识别低至+3V~+12V的信号作为逻辑“0”,高到-3V~-12V的信号作为逻辑“1”。
        RS-232-C是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的TTL器件连接,必须在RS-232-C与TTL电路之间进行电平和逻辑关系的变换。实现这种变换可以采用分立元件,也可以采用集成电路芯片,目前较为广泛使用集成电路转接器件,如MAX232、DS275、ZT1385芯片。
        我司采用ZT1385LEEA作为RS-232-C电平转换芯片制作了专门的串口板,这样在路由器上只需要留出地线、接收、发送、电源四根线就可以利用串口板实现PC对样机的控制。

二、常用串口调试工具

常用串口调试工具有如下三种:
 超级终端 ---Windows XP 自带串口调试工具;
 TeraTerm---支持 Serial、 SSH、 Telent 等;
 Putty ---支持 Serial、 SSH、 Telnet 等;

三、串口电路设计

        由于使用串口板连接,串口电路比较简单,如下图所示。在板上空间充足的情况下,一般我们预留 4 针排针焊盘方便连接,排针顺序按电源、地、输入、输出设计。
        需要注意的是, R206 与 R208 构成一个分压电路,曾经在部分产品上出现过因分压电阻选用不合适,导致串口输出乱码的情况。目前常用的分压电阻取值为 56R+510R 和 150R+1.8K 两种,均可保证串口输出正常。

### 关于UART接口的使用说明与配置教程 #### ### UART接口简介 UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)是一种常用的串行通信协议,广泛应用于嵌入式系统中。它允许两个设备之间进行全双工数据交换,即可以同时发送和接收数据[^1]。 #### ### 硬件连接方式 在DJI PSDK开发环境中,当使用PSDK v3.3及以上版本时,推荐采用`DJI_USE_UART_AND_NETWORK_DEVICE`模式来实现硬件连接。这意味着除了传统的USB连接外,还可以利用X-Port或SkyPort扩展模块并通过UART与Network组合形式同开发板交互[^1]。 例如,在支持上下挂载多个负载的情况下: - 下方最多可接两台设备; - 上方则限于单个装置。 这种布局需要借助特定端口完成物理层面链接,并确保信号能够准确无误地传递给目标组件。 #### ### 软件配置步骤 以下是基于DJI SDK针对UART接口的基本设定过程: ```c++ // 初始化参数结构体 dji_cbs_param_t param; memset(&param, 0, sizeof(param)); // 设置为UART & Network Mode param.connection_mode = DJI_USE_UART_AND_NETWORK_DEVICE; // 配置波特率等其他必要选项... param.baud_rate = BAUD_RATE_115200; // 执行实际初始化动作 int ret = dji_cbs_init(&param); if (ret != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS){ printf("Init failed! Error Code:%d\n", ret); } ``` 上述代码片段展示了如何通过修改`connection_mode`字段指定使用UART加NETWORK方式进行通讯,同时还设置了相应的波特率为115200bps作为例子[^1]。 #### ### 数据帧格式定义 标准UART通信通常遵循如下格式: - **起始位**: 每一帧数据之前都有一个低电平表示开始。 - **数据位**: 可以为5到9比特长度,默认值往往是8bit。 - **奇偶校验位**(optional): 提供额外错误检测功能,可以选择启用与否及其类型(odd/even)。 - **停止位**: 结束标志,一般是1或者2bits高电平。 这些属性都需要依据具体应用场景调整好匹配双方才能顺利开展对话交流活动。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小正空间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值