This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、
我使用的是 TCAN4550EVM、并通过 SPI 与主机 MCU 接口相连。 我发送的是读取序列、但作为响应、我没有在 MISO 线路上获得任何信号输出。
请查看随附的快照并解决。
Ankit、您好!
您能否验证 VSUP、VIO 和 VCCOUT 引脚上的电压? 此外、您能否验证 RST 引脚上的电压? 对于正常运行、它应该处于低电平。
如果可能、您能否提供 EVM 的图片以便我可以看到跳线和开关位置设置?
感谢您提供 SPI 读取图。 您是否可以尝试读取寄存器0x0000、即 Device_ID1寄存器? 该窗口的默认值应为0x414354。
我很好奇、是否在 SDO (MISO)网络上检测到任何活动。 此图由寄存器0x0820组成、此寄存器是一个中断寄存器、除非设置了中断位、否则通常返回0。 寄存器0x0820要求 TCAN4550的数字内核正常工作、这要求电源和时钟(晶体)都正常工作。
不过、Device_ID1寄存器仅要求器件具有良好的电源、不需要时钟(晶体)即可工作。 该寄存器仅根据 SPI 时钟运行。 因此、如果我们看到从0x0000读取而不是从0x0820读取的响应、则这可能表明存在与时钟(晶体)相关的问题。 但是、它也不会返回值、那么可能还有其他一些问题。
如果可能、您还能否提供 EVM 的图片以便我可以看到跳线和开关位置设置?
此致、
乔纳森
尊敬的 Jonathan:
感谢您的答复。
所需引脚上的电压如下:
VSUP:13.01V、VIO:4.96V、VCCOUT:9.28V、RST 引脚:0.1V。
请查看随附的电路板图片。
此外、我将从寄存器0x0000读取相同的响应。
此致、
安盖特
Ankit 您好!
9.28V 的 VCCOUT 电压使我有问题。 这应该是一个绝对最大电压为6V 的5V LDO。 如果 VCCOUT 电压实际上为9.28V、则器件可能已损坏、这就是它不响应 SPI 消息的原因。 请仔细检查 VCCOUT 电压、如果它为高电平、则需要更换 TCAN4550器件。
此致、
乔纳森
尊敬的 Jonathan:
实际上、器件损坏是不知道具体情况的、但可能是输入电源(VBAT)中存在某种瞬态电压导致了故障。 不过、我现在能够在 MISO 线路上接收数据。
我正在接收第一个字节"E0"或"A0"。 我想知道、这个字节的含义是什么?
谢谢。此致、
安盖特
Ankit、您好!
很抱歉听到器件已损坏、但我很高兴您能够取得进展。
在每个 SPI 读取/写入事务中、器件紧随 SPI 芯片选择信号转换为低电平后在前8个 SPI 时钟周期返回"全局故障标志状态"。 这使 MCU 能够在不需要 MCU 读取完整中断寄存器的情况下、监控是否需要立即引起注意。 全局故障标志与寄存器0x0820[7:0]相同。
0xA0的值设置了 CANERR 和 GLOBALERR 标志。 CANERR 位可在 CAN 静音或 CAN 卡在显性状态下设置。 您还可能遇到 CAN 静默错误、此错误在大约1秒内未检测到 CAN 总线活动时发生。 该位还将设置全局错误位。
值0xE0设置了附加 WKRQ (唤醒请求)位、表示器件可能唤醒。
这些位都不表示真错误条件、我想说它们只是用于在器件启动和运行时提供信息的位。 器件启动并运行后、正常应用可能不希望出现 CAN 错误、因为这可能表示器件在总线上通信的能力存在问题。
此致、
乔纳森