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.

[参考译文] TMS320F2812:如何在CAN错误发生后重置eCAN

Guru**** 2589265 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/656259/tms320f2812-how-to-reset-ecan-after-can-errors-occur

部件号:TMS320F2812

您好,Champs:

您是否建议在发生CAN错误后如何重置F2812 eCAN模块以恢复正常传输/接收功能?

与SCI在SCI控制寄存器中具有SCI复位位不同,没有这样的位可以复位eCAN。

禁用eCAN时钟,然后在几个Us延迟后启用 它,仍然无法 恢复正常传输/接收。

请您帮忙吗? 谢谢!  

此致,

Linda

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

    琳达

               CANMC寄存器中有一个软件重置(SRES)位。 但是请注意,此位不会修改错误计数器。 因此,了解这些错误的性质非常重要。 我们在这里所说的究竟是什么类型的错误? 是否为总线断开状态?

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

    我有一段时间没有收到您的信息,因此我假设您能够解决您的问题。 如果不是这种情况,请拒绝此解决方案或回复此线程。 如果此线程锁定,请创建一个新线程,描述您的问题的当前状态。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好Hareesh,

    已发现此问题不是eCAN错误,而是在三个或三个以上节点链接在一起时设置了CCE位。

    无法根据eCAN手动相关描述清除。 请您帮忙吗? 谢谢!

    此致,

    Linda

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    琳达
    设置CCE位是为了响应设置的CCR位。 CCR位可以手动设置(例如,在配置位定时寄存器之前),也可以在总线断开时由CAN模块设置。 节点可能会进入总线关闭状态,这是导致设置CCR位和CCE位的原因。 客户能否确认节点是否确实处于总线关闭状态? 是在发生这种情况之前注意到的错误帧。 请查看我的app.note SPRS876中的调试提示,并检查是否有任何要点适用于这种情况。

    在出现此问题之前,3个节点是否正常运行了一段时间?
    其它2个节点是否出现任何问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    琳达

     

    在取得任何进展之前,我需要明确回答以下问题:

     

    1. 是否可以确认节点是否处于总线关闭状态? 如果是这种情况,节点将参与通信。
    2. 其它2个节点是否出现任何问题?
    3. 在发生这种情况之前,总线上是否注意到了错误帧?
    4. 在出现此问题之前,3个节点是否正常运行了一段时间?

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

    请找到我的更新:

    1.能否确认节点是否处于总线关闭状态? 如果是这种情况,节点将不参与通信。

    答:是的,它处于总线关闭状态。

    2.其它2个节点是否出现问题?
    3.在发生这种情况之前,总线上是否注意到了错误帧?
    4.在出现此问题之前,3个节点是否正常运行了一段时间?

    答:CANopen总线上有3个从属节点(全部为F2812)。 当主节点未连接到总线时,所有这3个从属节点都可以发送数据(每秒发送一个数据)。 但当主节点连接时,只有一个从属节点可以发送数据,但另两个不能再发送数据,并且CCE位已与该FE和CRCE位一起设置。

    请您帮忙吗? 谢谢!

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

    琳达

               您尚未回答我的问题3 (关于错误帧)。

     

    让我们将从属节点A,B和C以及主节点称为"D"。 您说的是节点A,B和C之间的通信没有任何问题,但一旦主节点(D)连接,两个节点将进入 总线关闭状态。

    1. 这是否正确?
    2. 如果一次将主中继器(D)连接到每个从属设备,会发生什么情况? 例如,一次只能有一个从属节点?
    3. 您是否查看了我的app.note?中的调试核对表 具体而言,是与终止相关的问题?

     

    请清楚地回答上述每个问题。

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

    您好Hareesh,

    客户发现此问题  与PCB布局有关,他们仍在进行进一步测试。 感谢你的帮助。

    此致,

    Linda