硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1169|回复: 13
收起左侧

[ThreadX全家桶] STM32U5使用ThreadX全家桶实现USG 4G模块 ECM上网

  [复制链接]

0

主题

25

回帖

30

积分

新手上路

积分
30
发表于 2025-8-28 16:27:47 | 显示全部楼层 |阅读模式
本帖最后由 zhongdinggen 于 2025-8-28 16:49 编辑

硬件:
自制STM32U575电路板,STM32U575,4G模块EC800Z(EC20也试过)。

软件方案:
STM32CUBEMX生成 ThreadX+USBX+NetXDuo,实现usb host + ecm拨号上网,keil编译调试。

工程测试了sntp,ping,均能正常工作。
dns解析运行一段时间后会解析失败,还未去找原因。

在这个例子的基础上,项目中的工程使用了MQTT协议,能正常工作,但是如果MQTT消息在6000字节左右的时候,会频繁掉线,有时候甚至无法再连上服务器的问题。


4G模块使用注意:
工程中没有4G模块配置成ECM模式的部分,需要提前把4G模块配置为ECM。我这里自制的板子4G模块的串口有引出,提前做了配置。
配置命令如下:
AT+QCFG="usbnet",1
AT+CFUN=1,1
AT+QNETDEVCTL=3,1,1 //拨号指令 设置自动拨号



stm32u575_ecm_4g.zip

12.7 MB, 下载次数: 53

评分

参与人数 1金币 +100 收起 理由
eric2013 + 100

查看全部评分

回复

使用道具 举报

4

主题

153

回帖

165

积分

初级会员

积分
165
发表于 2025-8-28 23:34:36 | 显示全部楼层
MQTT接收过程好像会有消息拷贝,看看是不是heap的问题,我用STM32H743,MQTT包60KB都没有问题
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
120427
QQ
发表于 2025-8-29 07:58:39 | 显示全部楼层
谢谢楼主分享
回复

使用道具 举报

0

主题

25

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2025-8-29 09:08:51 | 显示全部楼层
turnip 发表于 2025-8-28 23:34
MQTT接收过程好像会有消息拷贝,看看是不是heap的问题,我用STM32H743,MQTT包60KB都没有问题

感谢建议,我这边出问题是发送,只是接收的话没有的。heap相关,我加大试试看。
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2025-10-14 19:23:52 | 显示全部楼层
hello ,我按照你的code ,移植到STM32F429 上,每次都报USB 枚举失败,有什么建议吗
switch (error_code)
  {
    case UX_DEVICE_ENUMERATION_FAILURE:

      /* USER CODE BEGIN UX_DEVICE_ENUMERATION_FAILURE */
        USB_LOG_ERROR("USB Device Enumeration Failure\r\n");
        USB_LOG_ERROR("System Level: %d, Context: %d\r\n", system_level, system_context);

相同的硬件,和modem 设备,用cherryusb 正常工作
回复

使用道具 举报

0

主题

25

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2025-12-18 09:33:35 | 显示全部楼层
这里更新下最近这个问题的进展。
之前MQTT的问题描述的不是很清楚,这里重新描述下:
MQTT在消息发送数据量大的情况下,很容易出现usb设备掉线重新枚举的问题,偶尔也会出现MQTT掉线,无法再连上MQTT服务器必须重新枚举设备的情况。

解决办法:
  • USB中断优先级 设置为0,这样一定情况下(可能)会减少出现问题的概率。
  • EC800Z-CN 这个4G Cat1模块固件从EC800ZCNLDR03A03M04_TTS 升级到了EC800ZCNLDR07A01M04


最终定位问题基本和MCU程序没有多大关系,在升级4G固件之前我还把threadx+usbx+netxduo升级到了6.4.3,还找了USB中断优先级的问题,最终解决还是升级4G模块固件。

回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
120427
QQ
发表于 2025-12-18 10:45:01 | 显示全部楼层
zhongdinggen 发表于 2025-12-18 09:33
这里更新下最近这个问题的进展。
之前MQTT的问题描述的不是很清楚,这里重新描述下:
MQTT在消息发送数据 ...

谢谢分享最终解决办法。
回复

使用道具 举报

2

主题

78

回帖

89

积分

初级会员

积分
89
发表于 2025-12-29 14:40:49 | 显示全部楼层
不科学啊。STM32U5内置的是全速USB2.0 PHY,全速USB2.0接口驱动4G-CAT1网卡有问题,移远的4G-CAT1模组的USB接口不支持全速,只支持USB2.0高速接口。只有EC20这种模组才支持FS和HS两种速率。4G CAT1模组,我把它当做USB网卡接到linux系统下,linux系统都无法识别该网卡,所以肯定是4G模组有问题。我测试的是EC800N模组。你的EC800Z模组为啥可以通信呢,真奇怪,移远的固件升级了吗?我之前反馈给他们,他们也没说升级呀
回复

使用道具 举报

0

主题

25

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2025-12-29 14:46:06 | 显示全部楼层
水水水木木木 发表于 2025-12-29 14:40
不科学啊。STM32U5内置的是全速USB2.0 PHY,全速USB2.0接口驱动4G-CAT1网卡有问题,移远的4G-CAT1模组的USB ...

EC800Z-CN 硬件设计手册写了支持全速模式的。可能是芯片平台不一样,所以支持了吧。
回复

使用道具 举报

2

主题

78

回帖

89

积分

初级会员

积分
89
发表于 2025-12-29 14:51:04 | 显示全部楼层
bakewell_2021 发表于 2025-10-14 19:23
hello ,我按照你的code ,移植到STM32F429 上,每次都报USB 枚举失败,有什么建议吗
switch (error_code ...

注意USB端点数量够不够
回复

使用道具 举报

2

主题

78

回帖

89

积分

初级会员

积分
89
发表于 2025-12-29 14:58:54 | 显示全部楼层
水水水木木木 发表于 2025-12-29 14:51
注意USB端点数量够不够

F429是8个通道,U575是12个通道。最大的区别就是通道数量。USB复合设备对于通道数量要求比较高,USBX是这样的。cherryusb用的linux方式做的枚举,所以少量的通道数量就可以用。
回复

使用道具 举报

2

主题

78

回帖

89

积分

初级会员

积分
89
发表于 2025-12-31 17:45:09 | 显示全部楼层
zhongdinggen 发表于 2025-12-29 14:46
EC800Z-CN 硬件设计手册写了支持全速模式的。可能是芯片平台不一样,所以支持了吧。

确实是芯片平台不同。EC800Z是移芯718平台,我刚刚测试了EC801E模块,是移芯716平台,我实测确实可以,但是大量发送数据后,网络会断开。这个不确定,我测试100K和500K都有几率断开链接。应该是你说的问题,固件有问题。我已经联系移远技术了,等节后我详细测测。而我之前测试的EC800N是翱捷平台,翱捷平台不行。当然也可能是固件版本太老了。
回复

使用道具 举报

2

主题

78

回帖

89

积分

初级会员

积分
89
发表于 2025-12-31 17:46:12 | 显示全部楼层
zhongdinggen 发表于 2025-12-29 14:46
EC800Z-CN 硬件设计手册写了支持全速模式的。可能是芯片平台不一样,所以支持了吧。

移远的文档都写了支持全速,但是不同的平台支持的确实不一样。
回复

使用道具 举报

2

主题

78

回帖

89

积分

初级会员

积分
89
发表于 5 天前 | 显示全部楼层
zhongdinggen 发表于 2025-12-18 09:33
这里更新下最近这个问题的进展。
之前MQTT的问题描述的不是很清楚,这里重新描述下:
MQTT在消息发送数据 ...

EC801E模块也是这样,发送大量数据时USB模块容易掉线重新枚举。我升级到最新的固件还是不行。还麻烦楼主仔细测试EC800Z模组升级到最新固件后是不是真的解决了这个问题。可以这样测试:单次发送10K、100K、500K、1M的数据。重复10次。如果每次都不掉线,那就算是解决了这个问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2026-1-9 16:57 , Processed in 0.068882 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表