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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YT SDK
  4. MD1系列CAN STACK协议栈DEMO问题

MD1系列CAN STACK协议栈DEMO问题

已定时 已固定 已锁定 已移动 YT SDK
13 帖子 2 发布者 910 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • jiankang_wangJ 离线
    jiankang_wangJ 离线
    jiankang_wang YunTu
    写于 最后由 编辑
    #4

    这个不是在Can模块的配置界面配置的。要在CanStack配置界面里:115f6fa7-21e6-40ab-a765-ef26589dd717-image.png

    yifeng_xieY 1 条回复 最后回复
    0
    • yifeng_xieY 离线
      yifeng_xieY 离线
      yifeng_xie
      在 回复了 jiankang_wang 最后由 编辑
      #5

      jiankang_wang 在 MD1系列CAN STACK协议栈DEMO问题 中说:

      最后由 编辑
      #4
      这个不是在Can模块的配置界面配置的。要在CanStack配置

      想再问下,为什么是7字节不到就丢弃了呢?正常周期性报文,DLC是8字节的,这8字节并不是长度字节。但是看代码实现,确实是拿了第一字节用于判断长度。不是很理解这个padding的作用

      1 条回复 最后回复
      0
      • yifeng_xieY 离线
        yifeng_xieY 离线
        yifeng_xie
        写于 最后由 编辑
        #6

        image.png
        代码里面是在这里使用了第0字节的数据来判断长度。

        aa0fe488-b334-4eef-bcfa-32c567eb2d73-image.png
        CANoe的发送的报文,第0字节是4。

        1 条回复 最后回复
        0
        • jiankang_wangJ 离线
          jiankang_wangJ 离线
          jiankang_wang YunTu
          写于 最后由 编辑
          #7

          开了padding,长度不够的消息会被丢掉,这是协议规定的。

          代码里面这部分分支是根据接收到的can报文和配置项计算允许的SF的长度,所以这里的SF_DL就是取第0个或者第1个字节。至于这里的RX_DL,就是can报文的长度。

          padding的意思,就是在消息长度不够一个can报文长度的时候,使用填充字节填充消息长度到can报文长度,例如发送8个字节的can报文,消息长度是1,填充是0xcc,总线上实际应该看到的报文是:

          0    1    2    3    4    5    6    7
          0x01 0x55 0xcc 0xcc 0xcc 0xcc 0xcc 0xcc 
          

          如果不开,就是这样的

          0    1
          0x01 0x55
          
          yifeng_xieY 1 条回复 最后回复
          0
          • yifeng_xieY 离线
            yifeng_xieY 离线
            yifeng_xie
            在 回复了 jiankang_wang 最后由 编辑
            #8

            jiankang_wang
            王工,是不是哪里有问题?
            ISO-15765-2处理的是TP层的事情,那用来接收周期性的应用报文是不是有问题?标准周期性报文还不涉及ISO-15765-2,只是老老实实搬运一下RX_DL长度的数据就好了。

            1 条回复 最后回复
            0
            • jiankang_wangJ 离线
              jiankang_wangJ 离线
              jiankang_wang YunTu
              写于 最后由 编辑
              #9

              你们是需要TP接收到无关的消息的时候转到Can报文的处理逻辑是吧?这个的话CanStack确实是没做处理的,需要你自己改下EventCallback函数。

              yifeng_xieY 1 条回复 最后回复
              0
              • yifeng_xieY 离线
                yifeng_xieY 离线
                yifeng_xie
                在 回复了 jiankang_wang 最后由 编辑
                #10

                jiankang_wang
                好的,谢谢王工。额外咨询下,后续CAN STACK会支持解析普通周期性报文吗(YCT上勾选是否周期性报文,中断内判断报文类型,然后有2个分支)?或者现有的CAN STACK/UDS STACK怎么与周期性报文的收发融合呢?

                1 条回复 最后回复
                0
                • jiankang_wangJ 离线
                  jiankang_wangJ 离线
                  jiankang_wang YunTu
                  写于 最后由 编辑
                  #11

                  后续不会增加对应内容。

                  因为不管是只用flexcan还是只用CanStack,或者两者都需要用,都是需要修改对应的中断callback,而中断callback是只有一个的,所以就只能注入一次。而CanStack是一个middleware,不应该去修改flexcan的驱动。

                  CanStack注册的中断callback是这样的:
                  340f67f6-7d1c-4d97-8ac5-54948187ad15-image.png

                  如果用户有其他普通的can报文需要处理,可以直接再这个函数中修改,就跟直接使用flexcan接收是一样的

                  yifeng_xieY 1 条回复 最后回复
                  1
                  • yifeng_xieY 离线
                    yifeng_xieY 离线
                    yifeng_xie
                    在 回复了 jiankang_wang 最后由 编辑
                    #12

                    jiankang_wang
                    懂了,手动修改代码后,经TP层转发,报文收发已经正常。想问下,CAN STACK现在每个TP Channel都是1个发送ID与1个接收ID,那对于仅有发送或者仅有接收的情况是否支持呢?

                    1 条回复 最后回复
                    0
                    • jiankang_wangJ 离线
                      jiankang_wangJ 离线
                      jiankang_wang YunTu
                      写于 最后由 编辑
                      #13

                      目前TP层是固定了的,一个通道占用两个邮箱,一个用于发送,一个用于接收。不管这个TP Channel是否是功能寻址。

                      TP Channel在接收长消息的时候,还需要回复流控帧,所以不管是只接收还是只发送,都用到了两个邮箱。

                      如果只是接收或者发送短消息,就当作一个正常 Can 报文转发就行了,不需要使用TP

                      1 条回复 最后回复
                      0

                    • 云途开发生态介绍

                      快速上手云途开发生态

                    • 云途论坛规则/Yuntu Forum Rules

                      发帖前请查看

                    • YT CONFIG TOOL调查问卷

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

                    • can
                      20
                      demo
                      19
                      uds
                      13
                      lin stack
                      10
                      md14
                      6
                      fbl
                      5
                      yt-link
                      5
                      adc模块
                      4
                      Online Users
                      • 登录

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