串口设计如何避免踩坑?看这篇!

电子说

1.3w人已加入

描述

本文将以Air700ECQ/EAQ/EMQ为例,带你从硬件设计的角度,一起来了解串口设计中的一些关键注意点;软件开发或者AT设置方面不做深入探讨。
 

一、串口相关管脚

Air700ECQ/EAQ/EMQ系列模组支持2个串口,分别是:

主串口MAIN_UART

调试串口DBG_UART

对应的管脚如下:

串口设计

 

串口设计

注:MAIN_DTR,MAIN_RI管脚严格意义来说,并不能归为串口功能;MAIN_DTR、MAIN_RI是独立的控制功能管脚。


二、串口功能描述

模组的AT指令控制,数据传输都是通过主串口来实现。注意,即使采用二次开发方式,也建议优先用主串口进行外部通信和模组控制。

1. 主串口特性

1)均为TTL电平串口

Air700ECQ/EAQ/EMQ所有串口均为TTL电平串口,电平默认只能为1.8V电平。

注意这点与Air780E/Air780EP等不同:

Air700ECQ/EAQ/EMQ无法通过软硬件配置为3.3V默认电平。

2)默认波特率115200

可以通过AT+IPR指令来配置波特率,最大支持921600波特率,支持自适应波特率。

3)只有主串口支持模组休眠唤醒功能(LPUART)

Air700ECQ/EAQ/EMQ模组在休眠时,所有串口均为关闭状态,只有主串口支持接收串口数据唤醒模组。

注意:在非9600的其他波特率下,进行串口收发数据唤醒时,会丢失前几个字节。

4)MAIN_DTR管脚

为中断输入管脚,用于唤醒模组。DTR管脚内部串联5.6K电阻,而且内部上拉,外部直连即可,不建议外接上拉。

5)MAIN_RI管脚

振铃管脚,当模组收到短信时,会输出120ms低脉冲通知主控来信。

同时也可以通过AT+CFGRI指令设置URC上报提醒:

当AT+CFGRI=1时,网络URC来到时,也会产生120ms低脉冲。

▼ 详细功能逻辑 ▼

待机状态下:

MAIN_RI管脚为高电平。

短信接收:

当收到短信时,MAIN_RI管脚会产生一个120ms的低脉冲。

数据传输:

数据业务(包括 TCP/IP、HTTP、MQTT、FTP)到来时的URC上报,会产生一个120ms 低脉冲。

注:需要 AT+CFGRI=1将功能使能。

其他的URC上报:

当模块主动发起对上位机的URC上报时,也会在 MAIN_RI管脚会产生一个120ms的低脉冲,以通知上位机进行接收。

注:需要AT+CFGRI=1将功能使能。

串口设计


2. 调试串口

调试串口DBG_UART,用来输出模组的运行日志。无法通过AT指令来操作,但是可以通过AT指令(内部指令)来关闭调试串口的日志输出功能,但不建议。

调试串口固定波特率961200不可更改,不建议连接任何外设,但建议设计时预留测试点。调试串口日志数据有专门的协议,如果用普通的串口工具抓取会显示乱码,只有用专用调试工具,如有需要请联系官方技术人员。

三、硬件设计指导

1. 串口的连接方式

主串口的型号命名很容易让人联想到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线串口。

也就是Air700ECQ/EAQ/EMQ支持的方式:

串口设计


2. 串口的电平转换

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

串口设计


同时,外接MCU或者外设的TTL电平串口同样有判别门限。

一般来说,TTL电平的判别门限高低取决于IO供电电平VDD的高低。如果串口双方的判别门限差别较大,一方的输出高电平落在对方的高电平判别门限下,就容易出现误判的现象。

在串口双方电平不一致的情况,就要增加电平转换电路来转换通信电平。

1)晶体管的电平转换方案:

在串口波特率不高的情况下(如115200),可以通过NPN晶体管的方式进行电平转换。

参考设计如下图:

串口设计


这种方式的优劣也比较明显,实际应该须注意。

优点:成本低;

劣势:低电平下会被三极管的饱和管压降抬高(通常在0.1V左右,不影响通信);开关速度不够,超过460800波特率时不建议用这种方式。

▼ 设计注意要点 ▼

RXD上拉电源选择:

参考设计选择AGPIO做上拉而没有选择VDD_EXT电源做上拉,是因为VDD_EXT在模组休眠时会关闭,会导致RXD上产生一个低电平,又由于主串口支持休眠唤醒,就导致这个低电平让串口产生中断将模组唤醒,最终导致模组无法休眠。

所以在需要休眠的应用设计上,禁止用VDD_EXT电源上拉串口。

对Air700ECQ/EAQ/EMQ来说,VDD_EXT没有引出,而是由RefVolt代替,其作用与图中的AGPIO3一样。

三极管的基极:

要用较低电平的一方参考电平来上拉,否则容易找出三级管不能完截止。

RXD和TXD的上拉电阻:

在不影响信号质量的情况下尽量加大,一方面是降低休眠功耗,一方面是降低RefVolt的驱动负荷。

对于三极管选型:

选型方面并没有严格要求,通用的3904NPN三极管都能满足要求。

2)电平转换芯片方案:

对成本不敏感的话,优先考虑用电平转换芯片,无论速度,可靠性都很完美。

对于设计方面只要注意芯片选型,同时模组端参考电平注意用AGPIO3,其他的参考具体芯片参考设计即可,没有太多注意事项。

串口设计


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

电平转换芯片选型参考:

TXS0102/TXS0104/TXS0108系列

2/4/8通道,品牌TI

RS0102/RS0104/RS0108系列

2/4/8通道,品牌润石

SGM4553,双通道,品牌圣邦威

今天的内容就分享到这里了~

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分