第 5 节

五、上位机串口通信:硬件连接+问题

作者
尚凡兴的头像尚凡兴
协作者
董佳辉的头像董佳辉
发布于 2024/07/18更新于 2024/08/21

今年使用的上位机设备为NVIDIA Jetson AGX Xavier,是一款适合边缘计算的英伟达低功耗工控机

32TOPS的算力、存储空间为32GB,具有比较丰富的接口。

本文会提供一些相应的设备参数,但主要还是以串口通信的内容为主。

设备参数介绍

NVIDIA Jetson AGX Xavier

image\.png

image\.png

具体性能参数如下⬇:

https://www.nvidia.cn/autonomous-machines/embedded-systems/jetson-agx-xavier/

串口引脚图

image\.png

image\.png

【40-Pin扩展口中的UART】

40-Pin扩展口中引出的是UART1, 对应引脚为 8 -- UART1_TX, 10--UART1_RX. Xavier打开终端, 输入 ls /dev/tty*, 其中的 /dev/ttyTHS0 就是这个UART1.

相关资料:

https://blog.csdn.net/weifengdq/article/details/103015638#UART_163

【实物连接】

使用USB-TTL, 电压选择3.3V, 连接如下:

CH340Xavier 40-Pin扩展口
RXDPin8(UART1_TX)
TXDPin10(UART1_RX)
GNDGND

如图所示:

image\.png

推荐串口助手安装

大多数情况下在Ubuntu系统上很多人使用minicom, 安装:

sudo apt install minicom

也有图形界面的 cutecom, 安装:

sudo apt install cutecom

今年调试使用的是cutecom,下面也将使用cutecom进行讲解。

串口通信测试

【工控机端】

USB-TTL连接到PC端上,工控机端 ls dev/tty*, 会发现多出一个/dev/ttyUSB0的设备;

工控机打开终端输入:

sudo cutecom

这里Device选择/dev/ttyUSB0, 点击Open:

image\.png

【PC端】

打开主机端的串口助手(VOFA+)

找到USB-TTL的物理端口并连接,双方互相发送信息,观察是否接收到信息,信息是否正确。

(PC端图像不再展示)

串口通信配置and使用中的问题

  • 在插拔杜邦线的时候GND线采取先插后拔的原则:在往工控机上插拔串口线的时候,要保证先插GND线,再插RX或TX线,保证主控板和工控机是同一个地;在拔线时保证最后拔GND线,保证使用安全;

工控机外接设备接电注意安全!可能造成电源保护自动关机,也可能烧板。今年单片机和工控机引脚连接出错,将下位机主控板芯片烧穿。

  • 串口初次(连续)收发数据不对:在使用工控机串口时,无论是 ”工控机串口--PC机“ or ”工控机串口--单片机串口“ 在首次收发数据时数据经常收发不完整,数据也不一定对,一直不对,直到手动用串口助手疏通一次工控机串口,让工控机串口died一次,往后就都是正常的。(这里的首次是针对于开机)。

    解决方法(没有找到具体原因彻底解决):每次工控机开机,连接好USB-TTL,打开PC和工控的串口助手,PC向工控机连续发送信息,直到cutecom显示,串口died死掉后,再重新open,后续就不会有这个问题了。

  • **使用带有串口通信的程序时要开sudo权限:**对于运行在工控机的程序,如果工程中有需要使用串口通信的代码,请在程序编译完成后,运行代码时,终端指令加上sudo权限,不然串口将无法调用,程序会崩溃