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.

[参考译文] TCAN4550:测试模式下的测试寄存器功能

Guru**** 2952440 points

Other Parts Discussed in Thread: TCAN4550, ISO1044

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1657808/tcan4550-test-register-function-in-test-mode

器件型号: TCAN4550
主题: ISO1044 中讨论的其他器件

您好:

我们在测试模式下使用 TCAN4550 (TEST_MODE_CONFIG = 1)(因此 GPO2 用作到的 TXD、GPIO1 用作来自外部收发器的 RXD)。

在该模式下、1010h 处的测试寄存器是否能够用于设置 GPO2 = TXD 器件引脚? 例如、测试寄存器已设置(和读回)为 000000C0h、但我们在 GPO2 引脚上没有看到任何变化(无显性电平)。 m_can_TX 似乎与 TXD_INT_CAN 不同?

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    AP 尊敬的:

    是的、MCAN 测试寄存器 0x1010 应正常工作。  您是否有外部收发器连接到 GPO2 和 GPIO1 引脚?  您能否提供有关测试配置的更多信息?

    请读回以下寄存器的最终值:

    0x0800

    0x1018

    0x0820

    0x1050 或 0x0824

    您如何尝试在 TXD (GPO2) 引脚上创建显性值?  您是尝试发送 CAN 消息、还是通过测试寄存器将 TXD 引脚强制为显性电平?

    此致、

    Jonathan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Jonathan、

    是的、我们有一个 ISO1044 作为外部 Transevier。 TCAN 引脚 9 (GPO2) 连接到 ISO1044 引脚 2(TXD 输入)。

    我们当时正尝试发送一条 CAN 消息。 由于我们在 I/O 线路上没有看到任何显性电平、因此我们现在尝试使用测试寄存器在 GPO2(引脚 9)上强制设置显性 TXD 电平。 迄今没有成功。 寄存器值为:

    f7c00800:C82004A3
    f7c00820:000001A0
    f7c00824:00000000
    f7c01010:000000C0
    f7c01018:00000083
    f7c01050:00000000

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    BTW:我刚刚在 TCAN4550 数据表中注意到、寄存器说明 830h:图 47 显示了 CANDOM 访问类型 R(仅限)、而表 21 显示了 CANDOM 访问类型 R/W 也很奇怪?:即使我在 830h 禁用 CANDOM 中断,我仍然在 820h 获得它。

    序列:

    0820h 读取> 000001A0h(CANDOM 中断状态设置)

    0830h 读取> 809628FFh(位 8 清零、CANDOM 中断禁用)

    0820h 写入:FFFFFFFFh(清除所有 R/WC 中断)

    0820h 读取>仍为 000001A0h(意外情况?)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 AP:

    是的、器件会说它检测到 CAN 总线卡在显性状态、因此不会尝试发送 CAN 消息或执行其他操作。  仅禁用寄存器 0x0830 中的中断位不会导致中断位被禁用、但它会禁止此特定位在 nINT 引脚上生成硬件中断。   

    我还看到寄存器 0x0800[1]中的 SWE_DIS = 1。  在测试模式下使用器件时、请将 SWE_DIS 位保持为默认值“0“。  

    是否可以在 SWE_DIS = 0 时重试测试?  我认为、在测试模式下使用器件时清除该位可以传输 CAN 消息、从而无需尝试使用 MCAN 测试寄存器来强制设置显性。

    此致、

    Jonathan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Jonathan、

    SWE_DIS = 0 似乎有点棘手、因此基本上 CAN 消息传输现在似乎有效。

    我们还可以通过 MCAN 测试寄存器激励 GPO2 = TXD 输出引脚。 似乎无法真正强制施加显性电平(TXD 低电平)、而是看到低电平脉冲(然后恢复为隐性/高电平)。

    另一个问题出现在使用 TCAN 集成收发器(而不是外部收发器)的未来项目中:在有效 RST#期间和待机模式下 CANH 和 CANL 似乎被驱动为低电平。 这是正确的吗? 我们的理解是:这是否会使 CAN 总线在这些时间不可用于其他节点?

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    AP 尊敬的:

    很高兴我能帮助解决原始问题。

    显性超时可防止您无限期强制进入显性状态、并且会在超时到期后强制该状态恢复为隐性状态。  因此、手动将测试状态设置为显性状态时、应该只会看到一个脉冲。

    当器件未处于正常模式时、CANH 和 CANL 引脚偏置到 GND、而不是 VCC /2、是正确的。  这对于其他节点来说不是问题、并且不会干扰总线通信。  每个引脚都具有大约 40kΩ 的输入电阻或 80kΩ 的差分电阻。  当将其与 60Ω 的典型 CAN 总线终端电阻并联时、对共模电压和总线阻抗的影响可以忽略不计。  

    此致、

    Jonathan