好的,我已经查看了你引用的论坛帖子(TID 4762),并结合你提供的示波器截图进行分析。
示波器波形分析
从你提供的示波器截图来看,我帮你解读一下关键参数:
| 参数 |
数值 |
分析 |
| 时基 |
2.00ms/格 |
水平方向每格2ms |
| 垂直刻度 |
2.00V/格 |
通道1每格2V |
| 频率 |
89.83Hz |
信号周期约11.13ms |
| 脉宽 |
4.535μs |
这个脉宽非常窄,与89.83Hz的周期不匹配 |
| 触发电平 |
1.20V |
边沿触发,上升沿 |
| 采样率 |
500k次/秒 |
10k点采样 |
针对你的问题分析
你引用的帖子中,第3页 lrri* 用户问的是:
"使用USBCAN-II V1.07和电脑连接,然后执行这个程序,为什么电脑无法收到报文?用示波器连接CANH和CANL抓到的波形是这样的"
结合你的示波器截图,我分析可能的原因如下:
1️⃣ 波形幅度可能不足
- CAN总线差分信号(CANH - CANL)的幅值通常应为 2V左右(CANH约3.5V,CANL约1.5V,差分约2V)
- 你的示波器垂直刻度为 2.00V/格,触发电平 1.20V,如果只测了单端(CANH对GND),这个幅度看起来偏小
- 建议:用示波器的 CH1测CANH,CH2测CANL,然后用 数学通道(M)做 CH1 - CH2,看差分信号是否正常
2️⃣ 波特率不匹配
- 示波器显示频率 89.83Hz,这个频率对于CAN总线来说太低了
- 典型的CAN波特率是 125kbps、250kbps、500kbps、1Mbps,对应的信号频率远高于89.83Hz
- 建议:用示波器的 光标测量 功能,测量一个数据位的宽度,确认实际波特率
- 例如 500kbps → 位宽 = 2μs
- 例如 250kbps → 位宽 = 4μs
- 你测到的 4.535μs 脉宽 比较接近 220kbps 左右,但需要确认是否真的是数据位
3️⃣ 收发器/终端电阻问题
- 帖子中 乘风* 提到:做CAN总线通信时,R79、R80需要断开
- 同时需要确保:
- CAN收发器(如TJA1050)供电正常
- CANH和CANL之间接有120Ω终端电阻(至少总线两端各一个)
- 收发器的 STB/EN 引脚电平正确(TJA1050的S引脚需拉低才能正常工作)
4️⃣ 示波器触发设置
- 你当前设置为 上升沿触发、1.20V,如果信号幅值不到1.20V,可能触发不稳定
- 建议:将触发电平调到 1.00V 或更低,或者改为 下降沿触发 试试
建议的排查步骤
| 步骤 |
操作 |
预期结果 |
| ① |
确认CAN收发器供电(5V或3.3V) |
收发器VCC引脚电压正常 |
| ② |
确认CANH/CANL之间接120Ω终端电阻 |
总线空闲时CANH≈2.5V,CANL≈2.5V |
| ③ |
用双通道测CANH和CANL,看差分信号 |
显性位时CANH>CANL,差分约2V |
| ④ |
用光标测量一个数据位的宽度,计算实际波特率 |
与程序配置的波特率一致 |
| ⑤ |
检查R79/R80是否已断开(如帖子所述) |
断开状态 |
如果你能提供更详细的波形截图(比如展开到每个数据位可见),我可以帮你进一步分析。或者告诉我你配置的CAN波特率是多少,我帮你核对一下。
🔍 搜索 "https://www.stcaimcu.com/forum.php?mod=redirect&goto=findpos"
📌 相关论坛讨论
- 【实验箱已发出】陈桂友教授《USB型 1T 8051 单片机原理及应用-8H8K64U》学习打卡
- 部分较难问题需要帮忙分析的,可跟贴放上原帖链接通知我 | 新问题另外开贴
- 大佬们,官方isp与demo程序应用求助,显示连接失败
⏱️ 查找用时 12.8s | 总回答用时 23.4s