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.

[参考译文] TDA3XEVM:MCAN

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/678030/tda3xevm-mcan

器件型号:TDA3XEVM

Hallo、

 

问题与此 SOC 中的 MCAN 有关。

 

关于总线休眠/唤醒功能。

参考手册中(请在下面找到)说明 MCAN 模块支持总线休眠/唤醒功能。

它介绍了如何启用这种总线自动唤醒功能(通过设置 MCANSS_CTRL 寄存器中的 AUTOWAKEUP 和 WAKEEPREQEN 位)、但未介绍如何检测总线唤醒、例如通过唤醒中断。

为了进行进一步开发、需要一些有关此 TI 硬件平台的更详细信息。

参考手册是适用于高级驾驶员辅助系统(ADAS)芯片修订版本2.0、1.0A、1.0的 TDA3x SoC。

 

关于 NVIC 和 MCAN 中断处理。

在我们的测试中、我们注意到有时 CAN 中断服务例程被无目的地调用。

在无限调用期间、MCAN 中断寄存器的内容为:

MCAN->IE:所有的位都被清零。

MCAN->IR:某些位被置位。

在 NVIC 端、中断置位(清零)挂起寄存器中的中断挂起位和中断活动位寄存器中的活动位都被正确置位。

我们认为 NVIC 端的挂起位会反复置位、导致 CAN 中断服务例程不断调用。

问题:

(1) MCAN 中断电平是触发还是边沿触发?

(2)为了禁用 MCAN 中断、我们只需清除 MCAN->IE 寄存器即可。 够了吗? 是否还应禁用 NVIC 中断使能?

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

    1) 1) MCAN 中断为高电平中断。
    2) 2)为了禁用 MCAN 中断、清零 MCAN_IE 寄存器就足够了。 无需禁用 NVIC 中断、但最好在不使用时禁用任何 CPU/NVIC 中断。


    谢谢、此致、
    Vivek Dhande。
    德州仪器(TI)(印度) Pvt Ltd