跳转至

一、概述

  • 串口重要性:串口是 Air8101 工业引擎最主要的通信接口,承担着控制、数据传输、外设通信等重要功能。
  • 串口特性:Air8101 工业引擎的串口特性与普通 MCU 串口有所不同,请务必仔细阅读本说明。
  • 串口用途:其 3 个 UART(UART0、UART1、UART2),UART0 为模组的下载、debug 调试和 log 输出的接口,UART0 TXD需要预留一颗电阻到地,正常出货不贴片,认证时需要贴1K电阻,这样上电开机就会进入测试模式;

二、Air8101 工业引擎串口相关管脚概述

**管脚编号**
**管脚名称**
**UART接口定义**
**描述**
26
U0RX_GPIO10
UART0_RXD
串口数据接收、下载接收口、Debug调试接收口
27
U0TX_GPIO11
UART0_TXD
串口数据发送、下载发送口、Debug调试发送口;UART0 TXD需要预留一颗电阻到地,正常出货不贴片,认证时需要贴1K电阻,这样上电开机就会进入测试模式;
11
U1RX_GPIO1
UART1_RXD
扩展串口数据接收
12
U1TX_GPIO0
UART1_TXD
扩展串口数据发送
3
DVP_GPIO30
UART2_RXD
扩展串口数据接收,为GPIO引脚复用表中的复用功能2
73
DVP_GPIO31
UART2_TXD
扩展串口数据发送,为GPIO引脚复用表中的复用功能2
48
RGB_G4_GPIO40
UART2_RXD
扩展串口数据接收,为GPIO引脚复用表中的复用功能2
35
RGB_G3_GPIO41
UART2_TXD
扩展串口数据发送,为GPIO引脚复用表中的复用功能2
  • 串口 UART0:模组管脚编号:26、27

UART0 接口是 Air8101 模组的下载、debug 调试和 log 输出的接口,UART0 TXD需要预留一颗电阻到地,正常出货不贴片,认证时需要贴1K电阻,这样上电开机就会进入测试模式; - 串口 UART1:模组管脚编号:11、12 - 串口 UART2:模组管脚编号:3、73 和 48、35; - 推荐客户使用 UART1 和 UART2;

三、Air8101 工业引擎串口连接方式

Air8101 串口使用三线制的串口连接方式,如下图:

模组内部 Tx、Rx 并未交叉连接。在使用时需要如下图连接方式 TX、Rx 交叉连接。

四、Air8101 工业引擎串口电平转换设计参考

  当使用Air8101模组与其他不同供电电压MCU之间需要通讯,或者Air8101模组与不同电压的外围芯片进行通讯时,不可避免地要进行电平转换,否则会出现通讯不成功,甚至电压超过Air8101模组耐受值而损坏的情况。

硬件设计指导

  • 串口的连接方式:

主串口的型号命名很容易让人联想到 RS232 标准的 DB9 接口,其实不然,模块的串口连接方式与标准 RS232 连接方式有所不同,如下是标准 RS232 串口连接方式,特点是交叉连接。

模块串口遵循的是早期贺氏(HAYES)公司制定的 MODEM 串口标准,在这个标准下,DTR,DSR,CTS,RTS 信号的功能有所不同。MODEM 串口标准标准下 DTR, DSR,CTS,RTS 采用的是直连方式,如下图

在逐渐的演变过程中,DCD ,DSR,RI 逐渐演变为其他的独立功能,在物联网串口应用中仅保留 T/RX 加流控管脚的 5 线串口的形式,但是 CTS ,RTS 的命名规则保留了下来,虽然 CTS/RTS 采用直连的方式,但是实际上模块的 CTS 管脚起到的功能是标准 RTS 功能;模块 RTS 管脚起到的功能是标准 CTS 功能。连接方式如下:

甚至流控管脚也不是必须,就变成了 3 线串口:

  • 串口的电平转换:

Air8101 的串口是 TTL 电平串口,TTL 电平串口会有输入输出判别门限,如下图。

同时,外接 MCU 或者外设的 TTL 电平串口同样有判别门限,一般来说,TTL 电平的判别门限高低取决于 IO 供电电平 VDD 的高低。如果串口双方的判别门限差别较大,一方的输出高电平落在对方的高电平判别门限下,就容易出现误判的现象,在串口双方电平不一致的情况,就要增加电平转换电路来转换通信电平。

  • 双方模块串口电平差别不大的情况:

例如,模块串口电平 3.3V, MCU 串口电平 3.0V。按照上图判别门限,模块的输入高判别门限为 0.7x3.3=2.32V,所以 MCU 串口高电平输出为 3V,高于模块的输入高判别门限,能够稳定判断。这种情况下即使 MCU 与模块的电平不一致,直接连接也不会造成通信问题。通常这种情况下,无需电平转换,只需要在窗口 TX RX 型号线上串联限流电阻即可,限流电阻用于减小串口电平不匹配造成的漏电,通常按经验串联 1K 电阻即可,注意串联电阻不宜过大,会影响串口型号的上升下降时间,从而影响串口信号质量。

注意:不要只看判别门限,还要考虑串口的耐压,即使落在判别门限内,但是一方高电平高于对方的 IO 耐压值的情况下就不能要串联电阻的方式,还是老老实实加串口电平转换。一般来说双方的电平差不宜超过 0.5V

  • 晶体管的电平转方案:

在串口波特率不高的情况下(如 115200),可以通过 NPN 晶体管的方式进行电平转换,参考设计如下图,这种方式的优点:成本低; 劣势:低电平下会被三极管的饱和管压降抬高(通常在 0.1v 左右,不影响通信);开关速度不够,超过 460800 波特率时不建议用这种方式。

设计注意:

  1. 三极管的基极要用较低电平的一方参考电平来上拉,否则容易找出三极管不能完截止。
  2. RXD 和 TXD 的上拉电阻在不影响信号质量的情况下尽量加大。
  3. 对于三极管选型并没有严格要求,通用的 3904NPN 三极管都能满足要求
  4. 电平转换芯片方案:

电平转换芯片,对成本不敏感的话,优先考虑用电平转换芯片,无论速度,可靠性都很完美。对于设计方面只要注意芯片选型,同时模块端参考电平注意用 VDD_GPIO,其他的参考具体芯片参考设计即可,没有太多注意事项。

考虑到电平转换芯片价格与通道数量成正相关,也可以采用 TX RX 用双通道电平转换芯片,其他流控信号用晶体管或者分压方式来做电平转换。兼顾性能和成本。

电平转换芯片选型:

  • TXS0102/TXS0104/TXS0108 系列,2/4/8 通道,品牌 TI
  • RS0102/RS0104/RS0108 系列,2/4/8 通道,品牌润石
  • SGM4553 , 双通道,品牌圣邦威

总结

虽然串口这个硬件总线原理简单,速率低速,设计也不复杂,但是串口的设计就会牵涉到休眠和功耗,因此在设计中还是要有足够的重视。