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.

[参考译文] TCAN1146-Q1:配置 nINT 引脚以在 WUF 上获取中断以唤醒 MCU

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1346166/tcan1146-q1-configuring-nint-pin-to-get-an-interrupt-on-wuf-to-wake-mcu

器件型号:TCAN1146-Q1

嗨、

我正在某个项目上使用 TCAN1146、该项目需要使用经典 CAN 总线帧唤醒 MCU。 到目前为止、我成功地遵循了 SLLA521B 应用手册并使选择性唤醒正常工作、这意味着我可以使用如下所示的配置使 TCAN1146从睡眠模式进入待机模式并使用 WUF 进行 CANINT 触发。

SW_CONFIG_4 = 0x00;

//设置 nINT
SDO_CONFIG=0x01
PIN_CONFIG= 0x18 // nINT 配置选择:11b =唤醒请求


//清除并配置中断屏蔽


INT_1=0xFF
INT_2=0xDF
INT_3=0xA1

INT_ENABLE_1=0x40
INT_ENABLE_2=0x00
INT_ENABLE_3=0x00
INT_ENABLE_CANBUS=0x00


//---- 选择性唤醒配置-------------------------------------------------------

//写入所需的 WUF ID

SW_ID1 = 0x00;
SW_ID2 = 0x00;
SW_ID3 = 0x04;
SW_ID4 = 0x8C;


//写入 ID 掩码

SW_ID_MASK1=0x00
SW_ID_MASK2=0x00
SW_ID_MASK3=0x00
SW_ID_MASK4=0x00
SW_ID_MASK_DLC = 0x00

SW_CONFIG_1=0xD0


SW_CONFIG_3 = 0xFE
SW_CONFIG_4 = 0x80

MODE_CNTRL = 0x81

我需要帮助配置 nINT 引脚、以便在中断时获得低脉冲以唤醒 MCU。 到目前为止、我已经完成了上述配置、仍然看不到 nINT 上的中断脉冲。 此外、我注意到当 nCS 引脚为高电平时、SDO/nINT 线路为低电平。

下面我将共享一些寄存器的 WUF 前后检测状态。

WUF 之前的 INT_GLOBAL 寄存器

WUF 之后的 INT_GLOBAL 寄存器

WUF 之后的 INT_1寄存器

WUF 之前的 MODE_CNTRL 寄存器

WUF 之后的 MODE_CNTRL 寄存器

如果有人能帮助我、我真的很感激。

谢谢。

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

    iMesh、

    谢谢发帖! 我们可能需要到大约星期二上午 CDT 回来。

    此致!

    丹尼

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

    感谢您的答复。 我希望你能帮助我解决这个问题。

    我正在等待着你的来信。

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

    尊敬的 Imesh:

    我们团队的大部分成员今天都在外、他们明天很可能会联系到您。

    很抱歉耽误你的时间。

    -鲍比

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

    尊敬的 Imesh:

    您在这里的配置看起来是正确的。 当通过 WUF 设置 CANINT 中断时、为了使 nINT 信号有效、我看不到缺少任何步骤。  

    当引脚6配置为 nINT 运行时、该引脚将在 nCS 信号为高电平时输出所有启用的中断的反相或状态。 这意味着只要将任何启用的中断设置为1、nINT 信号就会置为低电平。 当所有被启用的中断被清除时、nINT 信号将处于高阻抗状态、因此该信号线上需要一个到 Vio 的外部上拉源。 当 nCS 置为低电平时、该引脚将返回到 SDO 模式、并将根据 SPI 控制器移出的数据处于推挽状态。  

    此处显示的 SPI 响应是预期结果。 两个预 WUF 示波器截图都显示全局中断被清除(0)并且器件模式处于睡眠模式。 第二次触发示波器显示在 WUF 之后设置 INT_1 (包括 CANINT)中的某些中断。 第四个示波器屏幕截图实际上还显示 INT_1的值并确认在这种情况下设置的是位6 (CANINT)。  

    我相信您的逻辑分析仪中可能出现一些收发器和 MCU 在此测试中没有拾取的干扰。 此处屏幕上列出的值与收发器报告的值或似乎是所需 MCU 输出的值不一致。 请注意、时钟信号上的向上箭头出现在整个捕获过程中的各种位置、并且在某些其他信号中可以观察到较短的干扰。  

    您能否捕获 nINT 信号和 CAN 信号(如果无法测量模拟信号、则为发送节点的 RXD)来显示这些信号之间的关系? 我预期看到的是、在第二个 CAN 帧出现在 CAN 总线上(或任何活动节点的 RXD 引脚)后 nINT 置位。 请确保 nINT 信号具有上拉源、以便开漏输出可以正常运行。

    如果您在进行进一步测试时还有其他问题、请告诉我。

    此致、  
    埃里克·肖特  

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

    嘿 、Eric、肖特1、

    感谢您的答复。 我遇到了 nINT 上的上拉问题。 现在 nINT 处于逻辑高电平、并在检测到 WUF 时下拉。

    为了使 nINT 引脚恢复到逻辑高电平、我们是否应该清除所有启用的中断?

    谢谢你。

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

    尊敬的 Imesh:

    我很高兴听到该上拉列表有助于在这里获得更多预期结果!

    是的、为了清除 nINT 状态、应该清除所有被启用的中断。 这是通过向中断寄存器中相应位字段写入1来实现的。  

    此致、  
    埃里克·肖特