[PIC®/AVR®/dsPIC®产品] PIC18F57Q84 CAN 模块测试

[复制链接]
7413|14
 楼主| lcczg 发表于 2024-4-10 16:47 | 显示全部楼层 |阅读模式
本帖最后由 lcczg 于 2024-4-10 17:00 编辑

Microchip的PIC18F-Q83和Q84系列的单片机集成了CAN模块。
我们就基于PIC18F57Q84 CNANO板做一个CAN模块的收发测试。
在网站上找到了一个既有发送也有接收的例子:
https://microchip.lightning.force.com/lightning/r/Knowledge__kav/ka13l000000KDidAAG/view
在上面的例子中,CAN模块的驱动通过图形化工具MCC配置,简化了底层的代码开发。
因为手上没有 ATA6563 Click板,这里我用ATA6563评估板代替
https://www.microchip.com/en-us/development-tool/ata6563-ek
ATA6563要工作在NORMAL模式,我们需要将下图箭头指向的的条线帽跳到右侧。



======CAN 发送 TX 配置=======

板子之间的连接有5根线,对应关系如下:
PIC18F57Q84 CNANO板       ATA6563评估板
5V power                           VCC
5V power                           VIN
GND                                   GND
RB0                                   TXD                                    
RB3                                   RXD

由于ATA6563评估板需要5V供电,所以我们需要在MPLAB X里对PIC18F57Q84 CNANO板配置5V(默认3.3V)

配置完成后,读一下或者编程一下单片机,这样操作了CNANO,激活了5V的配置。


硬件连接如下图所示:




按照例子中的步骤,烧录完成后,测试得到如下的CAN差分信号。



======CAN 发送 RX 配置=======
PIC18F57Q84 CNANO板 和 ATA6563评估板的连接和TX一样。
然后连接两个ATA6563评估板的对应的CAN_H,CAN_L, GND.


======CAN 系统验证=======
将TX和RX的工程编译烧录后,可以观测到两个CNANO板上的LED灯同步闪烁。
这就是我们期待的结果。


欢迎大家留言讨论哟

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
guijial511 发表于 2024-4-11 08:01 来自手机 | 显示全部楼层
居然都没有升级到CANFD
 楼主| lcczg 发表于 2024-4-11 14:36 | 显示全部楼层
guijial511 发表于 2024-4-11 08:01
居然都没有升级到CANFD

谢谢回复。
PIC18F57Q84 MCU是支持CANFD的。我回头弄一下
 楼主| lcczg 发表于 2024-4-17 17:09 | 显示全部楼层
我们热心的坛友guijial511希望从CAN 2.0升级到CAN FD。PICQ8F Q83/84系列是支持的,所以就做一个基于CAN FD的收发例子。其原理和先前一样,只是通讯协议是基于CAN FD的。收发工程见附件。




工程是基于MPLAB X IDE v6.20
MCC v5.5.0 的melody 版本
XC8 v2.46
PIC18F-Q_DFP v1.24.430

硬件和连接没有任何改变。
下图是CAN FD的波形,可以看到数据部分是高频2MHz.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
稳稳の幸福 发表于 2024-4-23 23:22 | 显示全部楼层
黑色板子是楼主自己做的吗,看着不错啊。
 楼主| lcczg 发表于 2024-4-24 11:30 | 显示全部楼层
本帖最后由 lcczg 于 2024-4-24 11:40 编辑
稳稳の幸福 发表于 2024-4-23 23:22
黑色板子是楼主自己做的吗,看着不错啊。

是官方的ATA6563评估板,用于评估ATA65XX系列的CAN FD收发器
https://www.microchip.com/en-us/development-tool/ata6563-ek
wahahaheihei 发表于 2024-4-28 21:47 | 显示全部楼层
这个是5V的吗,3.3V能烧录不
 楼主| lcczg 发表于 2024-5-7 15:17 | 显示全部楼层
wahahaheihei 发表于 2024-4-28 21:47
这个是5V的吗,3.3V能烧录不

对PIC芯片来说,3.3V是标准的,是可以烧录的。
之所以用5V是因为ATA6563评估板用5V方便,系统供电简单。否则评估板就需要外接双电源,例如5V和3.3V了。
请参考评估板手册供电部分:https://ww1.microchip.com/downlo ... uides/50002649A.pdf
weifeng90 发表于 2024-5-7 21:20 来自手机 | 显示全部楼层
CAN主要还是车载应用场景对,PIC现在用的还多吗?
weifeng90 发表于 2024-5-7 21:20 来自手机 | 显示全部楼层
CAN主要还是车载应用场景对,PIC现在用的还多吗?
weifeng90 发表于 2024-5-7 21:20 来自手机 | 显示全部楼层
CAN主要还是车载应用场景对,PIC现在用的还多吗?
weifeng90 发表于 2024-5-7 21:20 来自手机 | 显示全部楼层
CAN主要还是车载应用场景对,PIC现在用的还多吗?
 楼主| lcczg 发表于 2024-5-8 15:20 | 显示全部楼层
weifeng90 发表于 2024-5-7 21:20
CAN主要还是车载应用场景对,PIC现在用的还多吗?

PIC在汽车领域用的挺广的。Microchip是主要的车用芯片厂商。
旧年胶片 发表于 2025-9-20 16:38 | 显示全部楼层
测试 PIC18F57Q84 的 CAN 模块,需配置 CAN 控制器:设置波特率(如 500kbps)、使能接收 / 发送模式,定义滤波器。硬件接 CAN 收发器(如 MCP2551),两端接终端电阻。用 XC8 编程,发送端循环发帧,接收端中断接收并验证数据,用示波器测信号或 CAN 工具监控,检查通信稳定性。
一点点晚风 发表于 2025-9-22 16:35 | 显示全部楼层
IC18F57Q84 CAN 模块测试分三步:先配置硬件,再设软件参数,最后验证通信。
硬件连接:CAN 引脚接收发器(如 TJA1050),连 CAN 总线,供电并接终端电阻。
软件配置:初始化 CAN 模块,设波特率、工作模式(如正常模式),使能中断。
通信验证:模块发测试数据,用示波器看总线波形,或用 CAN 工具收数据,确认收发正常
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:滴水可穿石,众志更成城 http://my.21ic.com/static/image/smiley/comcom/2.gif

31

主题

926

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部