news 2026/7/14 6:30:46

【jetson】串口通信测试和异常问题排查

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【jetson】串口通信测试和异常问题排查

本文完成 Jetson 串口收发功能测试,完整记录长报文接收异常故障的排查过程

一、环境说明

  1. 硬件:Jetson Orin Nano 40Pin排针
  2. 系统:JetPack 6.2.2 / L4T R36.5
  3. 串口:/dev/ttyTHS1(硬件UARTA)
  4. 引脚对应
  • Pin8:UART1 TX 发送引脚
  • Pin10:UART1 RX 接收引脚

二、引脚复用配置(启用UART1)

出厂40Pin引脚默认为GPIO,必须切换功能才能使用串口

  1. 打开引脚配置工具
sudo/opt/nvidia/jetson-io/jetson-io.py
  1. 进入40pin配置,将Pin8、Pin10设置为uarta
  2. 保存配置,重启设备生效;
  3. 校验引脚状态,确认复用配置正常
sudocat/sys/kernel/debug/pinctrl/2430000.pinmux/pinconf-groups|grep-A5"uart1"

标准正常输出:

122 (uart1_rx_pr3): pull=2 tristate=1 enable-input=1 open-drain=0 io-reset=0 123 (uart1_tx_pr2): pull=0 tristate=0 enable-input=0 open-drain=0 io-reset=0

注释:RX为输入带上拉,TX为推挽输出,IO无硬件复位,串口硬件通路就绪。

三、硬件接线

1. 自回环测试(自发自收,排除外部设备干扰)

杜邦线直接短接 Pin8 ↔ Pin10,完成串口闭环测试。

2. 外接电脑串口模块测试

Pin8(TX) → 模块RX;Pin10(RX) → 模块TX;共GND。


四、Python串口测试环境部署

依赖安装(推荐系统apt包,稳定无冲突)

sudoaptupdatesudoaptinstallpython3-serial

校验库是否正常导入:

python3-c"import serial; print(serial.__version__)"

实时收发测试脚本 uart_test.py

importserialimporttimedefmain():ser=Nonelast_send_time=0send_interval=1counter=1try:ser=serial.Serial(port="/dev/ttyTHS1",baudrate=115200,parity=serial.PARITY_NONE,stopbits=serial.STOPBITS_ONE,bytesize=serial.EIGHTBITS,timeout=0)print("✅ 串口打开成功 /dev/ttyTHS1 @115200")print("每1秒自动发送递增数字,实时打印接收数据")whileTrue:current_time=time.time()# 定时发送数据ifcurrent_time-last_send_time>=send_interval:send_data=f"{counter}\n"ser.write(send_data.encode("utf-8"))print("发送:",send_data.strip())counter+=1last_send_time=current_time# 非阻塞读取接收缓存ifser.in_waiting>0:raw_data=ser.read(ser.in_waiting)try:recv_str=raw_data.decode("utf-8").strip()print("实时收到:",recv_str)except:print("原始十六进制数据:",raw_data.hex())time.sleep(0.001)# 降低空循环CPU占用exceptKeyboardInterrupt:print("\n检测到中断,程序退出")finally:ifser:ser.close()print("✅ 串口资源已关闭")if__name__=="__main__":main()

正常接收发送

五、故障现象复现与根因分析

现象1:单包≤7字节,收发完全正常

测试数据:b'123456\n'共7字节

发送长度: 7 字节 发送HEX: 31 32 33 34 35 36 0a 接收长度: 7 字节 接收HEX: 31 32 33 34 35 36 0a ✅ 收发正常

注:硬件FIFO未达到8字节触发阈值,走PIO超时中断,驱动无异常。

现象2:单包≥8字节,接收数据全0损坏

测试数据:b'1234567\n'共8字节

发送长度: 8 字节 发送HEX: 31 32 33 34 35 36 37 0a 接收长度: 8 字节 接收HEX: 00 00 00 00 00 00 00 00 ❌ 数据异常

更长64字节字符串表现一致:前半段全部为0x00,仅末尾不足8字节片段数据正常。

故障根源

L4T R36.5 内置Tegra UART驱动可能存在DMA缺陷:
串口接收FIFO累计满8字节后自动切换DMA批量搬运模式,内核未将DMA缓存数据正常下发至用户态,上层读取到未初始化空内存(全0)。
英伟达官方论坛有关该问题讨论:
https://forums.developer.nvidia.com/t/dma-on-dev-ttyths1-corrupts-receiving-data/369191

两种处理方案

方案1:底层根治

按论坛方式修改设备树,删除UART1serial@3100000节点DMA相关配置,强制串口运行PIO中断模式,彻底消除8字节限制,长短报文均可正常收发。(暂未进行实测验证

方案2:不修改设备树,拆包处理,软件临时兼容方案

对长数据做分包发送,每包最大7字节,包与包之间增加1ms延时,保证硬件FIFO不会积累到8字节,规避DMA异常触发。
缺点:仅适用于可自主控制发送逻辑的场景;外部设备主动下发长报文时,仍会出现数据损坏。

七、总结

  1. 硬件接线、引脚复用配置无误时,短报文串口通信正常;
  2. 单包数据长度≥8字节会触发内核DMA驱动Bug,数据收发全零损坏;
  3. 稳定长期使用推荐修改设备树关闭DMA;不改动系统底层则只能采用7字节分包发送临时兼容。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 6:30:13

Bently Nevada 133388-01(3500/53 超速保护监测模块)

一、基础信息完整型号:3500/53-02-00物料编号:133388-01定位:汽轮机、风机、压缩机专用电子超速保护模块,满足 API670、API612 机组安全规范,可构建 2 取 2 / 3 取 2 冗余表决 ETS 跳闸回路安装规格:3500 机…

作者头像 李华
网站建设 2026/7/14 6:29:10

【项目编号:project05966】SpringBoot/Vue 电影推荐系统:用户端推荐、电影资讯与后台数据管理全流程

摘要电影推荐系统是 JavaWeb 毕设和课程设计中搜索热度较高的项目类型。系统围绕用户端电影浏览、电影资讯、推荐展示、个人中心以及后台电影数据维护展开,既能体现 SpringBoot Vue 的完整开发流程,也能进一步扩展热门推荐、评分推荐和用户行为推荐等算…

作者头像 李华
网站建设 2026/7/14 6:26:26

深入解析栈缓冲区溢出:ASan原理、实战与防范指南

1. 项目概述:从一次崩溃说起如果你写过C,尤其是处理过数组、字符串或者复杂数据结构,大概率见过程序毫无征兆地崩溃,控制台只留下一句“Segmentation fault”或者直接闪退。更让人头疼的是,这种崩溃在开发环境里可能复…

作者头像 李华
网站建设 2026/7/14 6:25:57

反应式Agent在智能控制系统中的设计与优化

1. 反应式Agent在智能控制系统中的核心价值第一次接触反应式Agent这个概念是在2018年参与工业自动化项目时。当时我们需要为一条食品包装产线设计异常检测系统,传统基于规则的控制逻辑在面对复杂工况时频繁失效。直到团队引入反应式架构,系统响应速度从原…

作者头像 李华
网站建设 2026/7/14 6:25:04

C++银行模拟系统项目实战:面向对象设计与文件持久化实现

1. 项目概述与核心价值最近在整理硬盘,翻出来一个大学时期写的C银行模拟系统项目,当时为了应付课程设计和练手,吭哧吭哧写了小半个月。现在回头看,代码虽然有些稚嫩,但整个项目的架构和思路,对于理解面向对…

作者头像 李华
网站建设 2026/7/14 6:24:36

关于C++面向对象设计的访问性问题详解

前言 最近在看Scott Meyers大神的《Effective C》和《More Effective C》,虽然这两本书都是古董级的教参了(当然针对C11/C14作者所更新的《Modern Effective C》英文已经发售了,不过还没中文翻译版本),但是现在看来仍然收益匪浅,…

作者头像 李华