CH340串口芯片导致CPU占用高与蓝屏现象排查

本人遇到的蓝屏问题经官方处理已被修复,可前往沁恒官网下载最新驱动,手动更新驱动,即可避免蓝屏

坑,全是坑

起因

最近在为iot power编写客户端,波特率是921600,上报的数据量差不多有40KB/s。

遇到了两件没法解决的事:

cpu占用很高

CPU占用高

如图,要说原因的话,我一开始以为是刷图占用的cpu就这么高,不过原因并不是这个,接着看吧

蓝屏

蓝屏

这个问题就严重了,因为之前有一次蓝屏,导致vs工程代码全变成了0x00,害我重写了一遍,自从串口数据变多后,那一天电脑蓝屏了三次

测试

因为板子上用的是CH340N(立创买的,不可能是假货),所以第一怀疑对象就是它,所以我把串口三根线引了出来,外接了一块带CP2102的板子测试:

外接CP2102

测试结果很明显,就是CH340N导致的,看看CPU占用就懂了

CPU占用正常

低了将近一半

其他人遇到过吗?

搜了搜,还真有人发现过这问题:CH340的驱动CPU占用率比竞品高很多,但是这篇帖子最后也没有得出结论,看沁恒官方的回复,全是邮件私联,完全没有公开解释的样子

那原因是啥呢?

对比测试

接下来又测试了FT232,发现会严重粘包,就知道事情不是这么简单了。

打开设备管理器的设置界面,原来相差这么大:

CH340N和CP2102的设置界面都是很简单的

而FT232。。。好家伙不愧是最贵的芯片

下面是测试结果:

芯片占用接收缓冲延迟计时器
CH34050-60%不能改不能改
CH34350%左右不能改不能改
CP210230%左右不能改不能改
FT23250%左右40961ms
FT23220-30%102410ms

为啥蓝屏?

不知道,我也搞不明白,官网最新的驱动装上也会蓝

结论

低速用用340没啥问题,但如果你要无人看守/高速传输。。。那就要慎重考虑了

评论

  1. 小小攻城狮
    3 年前
    2022-1-28 14:18:33
    Google Chrome 92.0.4515.131 Google Chrome 92.0.4515.131 Windows 10 x64 Edition Windows 10 x64 Edition

    老哥,确认下你的驱动版本是不是官方最新V3.6版本。你的应用和我们很像,还没有发现有蓝屏问题。关于你转发的链接,我们之前也看到了,只有数据量大显示频繁的时候才会导致CPU占用率高。CH340的串口数据返回快,刷新频繁,才会有你这个情况出现。

    • 博主
      小小攻城狮
      3 年前
      2022-1-28 14:25:50
      Firefox 95.0esr Firefox 95.0esr Windows 10 x64 Edition Windows 10 x64 Edition

      驱动新的老的都试过,甚至2011年的版本也测试过,结果没有区别,而且蓝屏触发规律基本摸出来了,就是接收数据同时读写硬盘,会大概率蓝屏。
      本身就是数据量大的应用场景,沁恒家的芯片测试下来一个都不满足要求,CPU占用全都高得离谱(相对而言)

      • 小小攻城狮
        晨旭
        3 年前
        2022-1-28 15:14:14
        Google Chrome 97.0.4692.99 Google Chrome 97.0.4692.99 Windows 10 x64 Edition Windows 10 x64 Edition

        你有空试下官网这个V3.6:http://www.wch.cn/downloads/CH341SER_EXE.html,我们以前遇到过蓝屏,和沁恒厂家沟通过。用这个版本我怎么折腾也不会蓝屏。这个版本是刚更新不久的,我感觉你用的不是这个版本。

        • 博主
          小小攻城狮
          3 年前
          2022-1-28 15:55:03
          Firefox 95.0 Firefox 95.0 Mac OS X  11.4 Mac OS X 11.4

          就算不蓝屏,这CPU占用给用户的体验也是烂

        • 博主
          小小攻城狮
          3 年前
          2022-2-07 16:31:19
          Firefox 97.0esr Firefox 97.0esr GNU/Linux x64 GNU/Linux x64

          然并卵,该蓝还是蓝

  2. 大仙
    3 年前
    2022-4-28 16:36:58
    Firefox 99.0 Firefox 99.0 Windows 10 x64 Edition Windows 10 x64 Edition

    怪不得工业场合都用串口服务器,转成tcp。

  3. Madara
    2 年前
    2022-10-05 19:11:58
    Google Chrome 86.0.4240.198 Google Chrome 86.0.4240.198 Windows 10 x64 Edition Windows 10 x64 Edition

    40K的流量你开921600的波特率,这可真够搞笑的

    • 博主
      Madara
      2 年前
      2022-10-24 16:29:34
      Firefox 106.0 Firefox 106.0 Windows 10 x64 Edition Windows 10 x64 Edition

      你再算算?

  4. Marco
    2 年前
    2022-12-06 20:50:25
    Microsoft Edge 107.0.1418.62 Microsoft Edge 107.0.1418.62 Windows 10 x64 Edition Windows 10 x64 Edition

    佩服,大神级别的操作

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇