chenxiaolang 发表于 2021-8-8 16:11

PIC18F26Q84 CAN发送异常

本帖最后由 chenxiaolang 于 2021-8-8 16:50 编辑

关于PIC18F27Q84和PIC18F26Q84 CAN发送有个疑问,按规格书,这两款MCU是兼容的,只是Flash空间大小的差异,在同一个电路板、相同功能的程序测试结果如下:1、电路原理图



2、PIC18F27Q84可以正常发送,速率125K



3、PIC18F26Q84发送异常

MCU CAN TX管脚信号如下(发送0A 0A 。。。。)




哪位调试过PIC18F26Q84,帮忙指导下。



huquanz711 发表于 2021-8-10 08:11

两个片子的配置是不是不一样

lcczg 发表于 2021-8-10 09:58

本帖最后由 lcczg 于 2021-8-10 10:05 编辑

你好,两款芯片的CAN RAM是不同的,CAN FIFO的指针在27Q84上为0X3800,而在26Q84上为0X2600。程序里做下修改就可以了 C1FIFOBA = 0X2600。

CoolSilicon 发表于 2021-8-10 11:12

是同一个块板子, 拆掉原来的IC, 替换成新的IC??
换了新的IC之后, 在IDE里面把项目的芯片型号改一下,然后重新编译烧录, 此时遇到的问题?

两只袜子 发表于 2021-8-10 11:22

两个片子的程序不一样吧

chenxiaolang 发表于 2021-8-10 14:45

lcczg 发表于 2021-8-10 09:58
你好,两款芯片的CAN RAM是不同的,CAN FIFO的指针在27Q84上为0X3800,而在26Q84上为0X2600。程序里做下修 ...

多谢指导,确实是你说的问题,修改后可以正常收发了,但我不太明白,PIC18F26Q84的规格书上标注如下,难道有错误?
Equation 38-21. Start Address of the TEF Object
A = BaseAddress = CxFIFOBA
Note:  CxFIFOBAH/L needs to be set to a value between 0x3800 and the end of RAM, leaving enough room to allow
the TEF and Transmit Queue (if enabled) as well as the FIFOs.

chenxiaolang 发表于 2021-8-10 14:57

CoolSilicon 发表于 2021-8-10 11:12
是同一个块板子, 拆掉原来的IC, 替换成新的IC??
换了新的IC之后, 在IDE里面把项目的芯片型号改一下,然后重 ...

嗯,你说的建议我之前都试过了,两个硬件是一样的,而且做过ABA对调,问题跟着26Q84走,程序都是MCC生成的,除了建工程时型号不一样,其他配置完全一直,连生成的代码我都用文本比较软件对比过,完全一样。

lcczg 发表于 2021-8-10 15:16

本帖最后由 lcczg 于 2021-8-10 15:53 编辑

chenxiaolang 发表于 2021-8-10 14:45
多谢指导,确实是你说的问题,修改后可以正常收发了,但我不太明白,PIC18F26Q84的规格书上标注如下,难 ...
谢谢提醒。MCC和文档后续都会做更正。在26Q84的数据手册78页里,可以看到紫色区域为CAN RAM,可以看到 X6Q84和 X7Q84的区别。

xj2022 发表于 2022-12-6 14:00

楼主能分享一下你的27Q84的CAN通讯配置吗,目前正在用这个芯片,没什么经验,QQ424337844
页: [1]
查看完整版本: PIC18F26Q84 CAN发送异常