0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

青山老竹农 来源:jf_82863998 作者:jf_82863998 2024-12-26 11:45 次阅读

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

一、串口相关管脚

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

主串口MAIN_UART

调试串口DBG_UART

对应的管脚如下:

wKgZPGdpHfWAOcOdAAMkQITM7Ug963.png

wKgZO2dpHi6ACHF1AAHg3ZLhZPU450.png

注: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将功能使能。

wKgZO2dpHryAW40UAACVif2BuYg433.png


2.调试串口

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

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

三、硬件设计指导

1.串口的连接方式

主串口的型号命名很容易让人联想到RS232标准的DB9接口,其实不然,模组的串口连接方式与标准RS232连接方式有所不同。

标准RS232串口连接方式如下图所示,特点是交叉连接。

wKgZPGdpHtaAOfVfAAL89u4WGOI142.png


模组串口遵循的是早期贺氏(HAYES)公司制定的MODEM串口标准,在这个标准下,DTR/DSR/CTS/RTS信号的功能有所不同。

MODEM串口标准标准下,DTR/DSR/CTS/RTS采用的是直连方式。

如下图示:

wKgZPGdpHuOAXRLDAAGrjKK1sKU716.png


在逐渐的演变过程中,DCD/DSR/RI逐渐演变为其他的独立功能,在物联网串口应用中仅保留T/RX加流控管脚的5线串口的形式。

但是CTS/RTS的命名规则保留了下来,虽然CTS/RTS采用直连的方式,但是实际上模组的CTS管脚起到的功能是标准RTS功能;模组RTS管脚起到的功能是标准CTS功能。

连接方式如下:

wKgZPGdpHwWABTftAABm-W5Uh6o439.png


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

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

wKgZPGdpHxyAblcpAAByYFxhAG0801.png


2.串口的电平转换

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

wKgZPGdpHyyAL6VVAADYceIcuW0265.png


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

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

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

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

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

参考设计如下图:

wKgZO2dpHzqAD4YVAAFCiE3L8aM379.png


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

优点:成本低;

劣势:低电平下会被三极管的饱和管压降抬高(通常在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,其他的参考具体芯片参考设计即可,没有太多注意事项。

wKgZPGdpH1CAJsafAAFPV1o0Hqc087.png


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

电平转换芯片选型参考:

TXS0102/TXS0104/TXS0108系列

2/4/8通道,品牌TI

RS0102/RS0104/RS0108系列

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

SGM4553,双通道,品牌圣邦威

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

审核编辑 黄宇

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

    关注

    0

    文章

    6

    浏览量

    5919
收藏 人收藏

    评论

    相关推荐

    串口设计一些关键注意点!千万别雷!

    本文将以Air700ECQ/EAQ/EMQ为例,带你从硬件设计的角度,一起来了解串口设计中的一些关键注意点;软件开发或者AT设置方面不做深入探讨。   一、串口相关管脚 Air700ECQ/EAQ
    的头像 发表于 12-25 17:01 96次阅读
    <b class='flag-5'>串口</b>设计一些关键注意点!千万别<b class='flag-5'>踩</b>雷!

    又给项目埋雷,RS485自动收发电路设计

    前言 这个文章的题目有点骗眼球的感觉,其实是自己过大坑,很是痛恨这个电路,希望大家以后不要了。工程师要画这个电路时,网上一搜,不经深入分析就拿来用,给项目埋了炸弹。 RS485自动收发电路 因为
    的头像 发表于 12-06 09:59 304次阅读
    <b class='flag-5'>踩</b><b class='flag-5'>坑</b>又给项目埋雷,RS485自动收发电路设计

    ADC高速采样电路设计详解之STM32

    一、过程 最近用STM32F334做数字电源,用到了高速ADC采集电压电流。设计的参考电压VREF为3.3V,输入信号经运放跟随后直接接入单片机的采样通道。一开始测试一切正常,但随着输入信号
    的头像 发表于 12-02 09:27 625次阅读
    ADC高速采样电路设计详解之STM32<b class='flag-5'>踩</b><b class='flag-5'>坑</b>

    在学习go语言的过程过的

    作为一个5年的phper,这两年公司和个人都在顺应技术趋势,新项目慢慢从php转向了go语言,从2021年到现在,笔者手上也先后开发了两个go项目。在学习go语言的过程中也学习并总结了一些相关的东西,这篇文章就分享下自己过的一些吧。
    的头像 发表于 11-11 09:22 162次阅读

    【RA-Eco-RA0E1-32PIN-V1.0开发板试用】+ 应用遇到的

    。 新建了个工程编译不过。索性卸载了e2studio 重新下载了setup_fsp_v5_5_0_e2s_v2024-07。 了好几个,终于要上岸了。原来后面还有。 系统环境
    发表于 09-03 22:27

    新手买压敏电阻怎么做才不会雷不会

    压敏电阻在电路中起电压稳定作用,购买时需注意确定需求、选可靠商家、查产品资料、选品牌和质量、小批量试用,避免常见错误,确保电路正常运行。
    的头像 发表于 08-14 13:30 300次阅读
    新手买压敏电阻怎么做才不会<b class='flag-5'>踩</b>雷不会<b class='flag-5'>踩</b><b class='flag-5'>坑</b>?

    新手买压敏电阻怎么做才不会雷不会

    压敏电阻在电路中起电压稳定作用,购买时需注意确定需求、选可靠商家、查产品资料、选品牌和质量、小批量试用,避免常见错误,确保电路正常运行。
    的头像 发表于 08-14 11:11 217次阅读

    串口通信的时候怎么避免丢包的情况?

    1.如何避免在中断里面执行长时间的操作 2.串口通信的时候怎么避免丢包的情况 3.串口通信为什么不可以一次发送1000bit或者10000bit 也就是说一帧数据为 一位起始位 100
    发表于 07-03 07:00

    M16连接器12芯采购如何避免

      德索工程师说道在M16连接器12芯的采购过程中,为了避免,确保采购的顺利进行以及产品的高质量,我们可以从以下几个方面进行考虑和规划:
    的头像 发表于 06-07 17:46 804次阅读
    M16连接器12芯采购如何<b class='flag-5'>避免</b><b class='flag-5'>踩</b><b class='flag-5'>坑</b>

    家庭路由器如何选?实用技巧让你不再

    家庭路由器选购需考虑需求、预算、性能指标、硬件配置、软件功能、认证与测试及售后服务。明确需求,选择适合的型号和品牌,确保网络稳定、高速。遵循这些技巧,避免,享受网络便利。
    的头像 发表于 04-29 11:38 668次阅读

    痛苦“电池电压侦测电路”,含泪总结设计要点

    和大家分享这个电路的设计要点,以及当时的设计失误,帮助大家积累经验,以后不要这种。 设计要点一:设定分压电阻的大小 这种便携式掌上阅读器,当然是内置锂电池的:
    的头像 发表于 04-07 14:31 3354次阅读
    痛苦<b class='flag-5'>踩</b><b class='flag-5'>坑</b>“电池电压侦测电路”,含泪总结设计要点

    高低温试验箱选购指南—防秘籍

    选购高低温试验箱需要综合考虑多方面因素。通过明确需求、选择知名品牌、对比性能指标、权衡价格与性价比、保障售后服务以及参考用户评价与案例等步骤,可以帮助您避免风险,选购到一款性价比高、适合自己需求的高低温试验箱。
    的头像 发表于 02-24 09:22 582次阅读
    高低温试验箱选购指南—防<b class='flag-5'>踩</b><b class='flag-5'>坑</b>秘籍

    PEM罗氏线圈如何选型能避免

    PEM罗氏线圈如何选型能避免? PEM罗氏线圈(简称PEM)是一种常见的电感元件,广泛应用于电子领域,特别是在无线电频率调制、通信系统和电源控制等领域。正确选择PEM罗氏线圈对于避免
    的头像 发表于 01-08 11:07 583次阅读

    无线串口监控怎么连接

    无线串口监控是一种用于远程监控和管理串口设备的技术。它可以方便地连接和管理串口设备,避免了物理连接和距离限制。在本文中,我们将详细介绍无线串口
    的头像 发表于 01-04 15:18 735次阅读

    rust的partial copy导致metrics丢失

    在 RisingWave 的存储代码中,我们使用 RAII [1] 的思想来对 LSM iterator 的 metrics 进行监控,从而避免在代码中忘记上报 metrics 而导致
    的头像 发表于 01-03 10:02 424次阅读