跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1M系列
  4. 芯片YTM32B1ME0:如果配置为自动恢复,BUS OFF恢复,应用层如何得知BUS OFF恢复

芯片YTM32B1ME0:如果配置为自动恢复,BUS OFF恢复,应用层如何得知BUS OFF恢复

已定时 已固定 已锁定 已移动 YTM32B1M系列
9 帖子 3 发布者 214 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • A 离线
    A 离线
    alexben
    写于2024年7月30日 10:29 最后由 编辑
    #1

    CAN H与L短接,产生BUS OFF,进行BUS OFF相应的处理,如果配置为自动恢复,这时CAN H与L恢复正常,CAN 总线上既没有发送和接收数据,应用层如何得知BUS OFF恢复正常了,底层有没有相应的接口,让上层应用能够调用此接口得知BUS OFF恢复正常了。
    应用场景:
    1.当BUS OFF发生时,进行BUS OFF计数,如计数器大于8,网络状态跳转到WAIT FOR BUS OFF,并记录DTC ,然后2秒后进入SLEEP状态。
    2.当BUS OFF发生时,进行BUS OFF计数,如果这时BUS OFF恢复了,并且计数器小于8,这时需要每隔1秒进行计数器自减,当减到0时,网络状态需跳转到之前的状态,(备注:应用层需要得知此时BUS OFF恢复了,然后才能进行每隔1秒自减操作)

    1 条回复 最后回复
    0
    • J 离线
      J 离线
      jiankang_wang
      写于2024年7月30日 10:36 最后由 编辑
      #2

      请问是什么系列的代码?
      如果是MCAL的代码的话,根据AutoSar的规范,发生Busoff后Controller会进入STOPPED状态,不能自动恢复,需要用户重新调用Can_SetControllerMode()函数进行重启Controller。

      [SWS_Can_00272] ⌈ After bus-off detection, the CAN controller shall transition to the state STOPPED and the Can module shall ensure that the CAN controller doesn’t

      participate on the network anymore. ⌋ (SRS_Can_01060)

      1 条回复 最后回复
      0
      • A 离线
        A 离线
        alexben
        写于2024年7月30日 10:40 最后由 编辑
        #3

        YTM32B1ME0_1_3_0 SDK

        1 条回复 最后回复
        0
        • Y 离线
          Y 离线
          yt0069
          写于2024年7月30日 11:45 最后由 yt0069 编辑 2024年7月30日 19:46
          #4

          SDK中默认是busoff自动恢复模式,需要手动更改为手动恢复模式。

          FlexCAN BusOff Recovery方式配置

          • FlexCAN模块支持BusOff恢复方式的设置,可设置为自动恢复和非自动恢复方式参照CAN CTRL1 Register。

          • SDK中无BusOff恢复方式的配置,初始化后默认为自动恢复方式,后续SDK中会有更新。目前用户可以在void FLEXCAN_Init(CAN_Type * base)增加此寄存器位的操作
            a76743fd-1dc6-4b08-a21c-11ca819bd284-image.png
            cdd79f18-3ce8-490b-808e-19d404db37a1-image.png

          • 配置代码如下:
            13eded0f-976d-459d-afbc-b80217fcfebe-image.png
            如上配置以后,若CAN进入busoff状态,之后不会自动恢复。

          1 条回复 最后回复
          0
          • A 离线
            A 离线
            alexben
            写于2024年7月31日 02:31 最后由 编辑
            #5

            如果配置成手动恢复,在没有手动恢复CAN前,H与L短接,也是进不了BUS OFF中断,我的需求是:
            干拢BUS OFF发生,使其在100ms内,计数器小于8,然后再进行BUS OFF手动恢复,恢复成功了,这时需要每隔1秒进行计数器自减,当减到0时,网络状态需跳转到之前的状态,(备注:应用层需要得知此时BUS OFF恢复了,然后才能进行每隔1秒自减操作)

            1 条回复 最后回复
            0
            • Y 离线
              Y 离线
              yt0069
              写于2024年7月31日 02:36 最后由 编辑
              #6

              可以把CAN0->CTRL1 I= CAN_CTRL1_BOFFREC_MASK这段代码增加到can_init的函数里面
              Busoff的恢复测量需要自己代码实现

              1 条回复 最后回复
              0
              • A 离线
                A 离线
                alexben
                写于2024年7月31日 02:46 最后由 编辑
                #7

                1722393813700.png

                1 条回复 最后回复
                0
                • A 离线
                  A 离线
                  alexben
                  写于2024年7月31日 07:36 最后由 编辑
                  #8

                  我加入CAN0->CTRL1 I= CAN_CTRL1_BOFFREC_MASK这段代码,现在出现一个问题,如果我把H与L短接,BUS OFF中断进不了,1722411321957.png

                  1 条回复 最后回复
                  0
                  • Y 离线
                    Y 离线
                    yt0069
                    写于2024年7月31日 08:09 最后由 编辑
                    #9

                    busoff的中断要看ESR1的BOFFINT标志位
                    image.png
                    如果要产生Bus Off Done Interrupt需要使能CAN_CTRL2.BOFFDONEMSK
                    d25e0669-d846-4737-8bcd-25ff5099733a-image.png

                    1 条回复 最后回复
                    0

                    3/9

                    2024年7月30日 10:40

                    未读 6
                  • 云途论坛规则/Yuntu Forum Rules

                    发帖前请查看

                  • YCT离线License申请流程

                    帮助没办法联网的电脑使用YCT

                  • YT CONFIG TOOL调查问卷

                    帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

                  • demo
                    11
                    can
                    8
                    lin stack
                    5
                    yt-link
                    5
                    vscode
                    3
                    adc模块
                    2
                    i2c
                    2
                    uuid
                    2
                    Online Users
                    M
                    menggaoling
                    29分钟之前
                    • 登录

                    • 登录或注册以进行搜索。
                    3 / 9
                    • 第一个帖子
                      3/9
                      最后一个帖子
                    0
                    • 版块
                    • 最新
                    • 标签
                    • 热门