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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1M系列
  4. sent模块中断触发问题

sent模块中断触发问题

已定时 已固定 已锁定 已移动 YTM32B1M系列
sent 中断
22 帖子 2 发布者 610 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • DigaD 离线
    DigaD 离线
    Diga
    编写于 最后由 编辑
    #3

    SENT 触发条件好像有低脉冲,总线监测到有同步场域就会触发。Demo 板 SENT 引脚没有外接任何电路,自然不会有脉冲
    52f09e52-8855-45d0-b19a-636a74624df3-img_v3_02r5_04a3a413-2c10-4b73-a616-94028880a35g.jpg

    yuanjianY 1 条回复 最后回复
    0
    • yuanjianY 离线
      yuanjianY 离线
      yuanjian
      回复了Diga 最后由 yuanjian 编辑
      #4

      Diga 那这个问题怎么解决:软件可以修改什么规避还是硬件设计上需要改进?
      我自己测试时发现,将外部输入停掉,sent模块还是一直进中断,量了一下PIN脚,电压维持在640mv,没有波动。

      总结一下目前的测试表现,不接sent传感器,没有中断,芯片运行正常。只要接过(接过再拿掉)sent传感器,会一直进中断,抢占了其他任务的运行;用dma模式没有这个问题。另外,demo板的中断模式也没有这个问题你

      1 条回复 最后回复
      0
      • DigaD 离线
        DigaD 离线
        Diga
        编写于 最后由 编辑
        #5
        1. 量电压没用,这个是波形信号,用示波器抓一下,看一下波形有没有异常
        2. 看进的是什么中断,中断原因是什么
        1 条回复 最后回复
        0
        • yuanjianY 离线
          yuanjianY 离线
          yuanjian
          编写于 最后由 编辑
          #6

          我就是用示波器量的电压,一直维持在640mv,没什么抖动。SENT0_IRQHandler这个中断会一直触发。

          这个中断第一次触发可以认为是有外部信号,但外部信号的周期是440us,这个中断确实一直在,其他任务都执行不了;我拿掉外部输入,PIN脚维持在640mv为什么还会一直触发?

          1 条回复 最后回复
          0
          • DigaD 离线
            DigaD 离线
            Diga
            编写于 最后由 编辑
            #7

            中断原因是什么?
            GSTS, GINTE, CH_STS, CH_INTE 这些寄存器什么状态

            yuanjianY 1 条回复 最后回复
            0
            • yuanjianY 离线
              yuanjianY 离线
              yuanjian
              编写于 最后由 编辑
              #8

              414b8bd6c1801685ff5f0357058c7b7.png

              1 条回复 最后回复
              0
              • yuanjianY 离线
                yuanjianY 离线
                yuanjian
                回复了Diga 最后由 编辑
                #9

                Diga 3c370ae0-a516-4059-aa0f-8ccf18d3bafc-image.png 这是拿掉输入后的寄存器状态,上面发的是有输入时寄存器状态。

                另外,SENT_DRV_HW_SetSlowRxInterruptStatus(0, 0, 0);
                SENT_DRV_HW_SetSlowRxInterruptStatus(0, 1, 0);
                SENT_DRV_HW_SetFastRxInterrupt(0, 0, 0);
                SENT_DRV_HW_SetFastRxInterrupt(0, 1, 0);
                我把channel的中断关掉,FINTE,SINTE全为0仍然会触发中断。

                感觉中断模式下,所有的东西都是乱的。

                1 条回复 最后回复
                0
                • DigaD 离线
                  DigaD 离线
                  Diga
                  编写于 最后由 编辑
                  #10

                  你第一张图显示 Channel0 跟 Channel1 都有错误,Channel1 的寄存器没截,不知道,但 Channel0 显示溢出,fast msg 跟 slow msg 都溢出了,另外还有个 Calibration Diagnose Error,这个不影响,你没按照 Demo 的写法?数据都没读完
                  第二张图显示是 Channel0 有错误,错误原因是 Calibration Diagnose Error,你没去处理错误,就会一直进错误中断。要么按照 Demo 的方式把错误处理一下,记录完清除就行,要么就关了错误中断

                  yuanjianY 1 条回复 最后回复
                  0
                  • yuanjianY 离线
                    yuanjianY 离线
                    yuanjian
                    回复了Diga 最后由 编辑
                    #11

                    Diga 之所以会出现这种错误是因为我只是简单的将5v电平接到pin脚上又拿下来,不是一个完整的信号输入。9666818d-457b-492f-b77b-b88bdfa276b4-image.png
                    上图是我外部输入两路正确的sent信号,另一个channel也会报错。你们的demo没看到错误处理机制,能给个例子吗?同样的信号,dma是可以正确解析的。

                    1 条回复 最后回复
                    0
                    • DigaD 离线
                      DigaD 离线
                      Diga
                      编写于 最后由 编辑
                      #12

                      Demo 不就在 YCT 目录下嘛,你看一眼就知道了

                      image.png

                      yuanjianY 2 条回复 最后回复
                      0
                      • yuanjianY 离线
                        yuanjianY 离线
                        yuanjian
                        回复了Diga 最后由 yuanjian 编辑
                        #13

                        Diga 多谢多谢,我刚也找到了,测试了一下,没问题了。

                        1 条回复 最后回复
                        0
                        • yuanjianY 离线
                          yuanjianY 离线
                          yuanjian
                          回复了Diga 最后由 编辑
                          #14

                          Diga 还想请教一下,为什么我关掉两个channel的中断,还是能一直进呢?是我关的方法哪里不对吗?

                          1 条回复 最后回复
                          0
                          • DigaD 离线
                            DigaD 离线
                            Diga
                            编写于 最后由 编辑
                            #15

                            你关的是接收中断,又没关错误中断,错误不处理自然会一直挂起

                            yuanjianY 1 条回复 最后回复
                            0
                            • yuanjianY 离线
                              yuanjianY 离线
                              yuanjian
                              回复了Diga 最后由 编辑
                              #16

                              Diga 再请教个问题,我把crc校验加进去以后,发现,两路中断的crc校验失败率大概在万分之1-5之间,一路dma的校验错误都没有出现2999370e-e5eb-4e52-8bad-1c856cbafb6f-image.png
                              如上图,两个相同的芯片,T1用的是一路dma解析,T2,S用的是两路interrupt解析,t2的tick是1.65us,s是3us;每秒钟上传100组解析数据,35000组数据,interrupt解析的crc校验错误有点高,这个可以做什么改善一下吗?为什么t2和s的检验错误有明显差别?

                              1 条回复 最后回复
                              0
                              • DigaD 离线
                                DigaD 离线
                                Diga
                                编写于 最后由 编辑
                                #17
                                1. CRC 错误判断是 MCU 回调显示 CRC 错误,还是你自己软件 check 出的 CRC 错误?
                                2. CRC 错误的通道是哪个?俩都有,还是只有某一个通道一直在报
                                yuanjianY 1 条回复 最后回复
                                0
                                • yuanjianY 离线
                                  yuanjianY 离线
                                  yuanjian
                                  回复了Diga 最后由 编辑
                                  #18

                                  Diga 1.我将sent模块的数据透传到上位机,上位机校验crc,会出现图中的结果。只发生在interrupt解析的情况下,dma解析,目前验证180000帧,没有检验错误。
                                  2.crc错误的通道,两个通道都有,只是配置1.65us的那个通道错误大概是3us通道的一半。

                                  后面我试试收到后直接检验,排除can通信错误的干扰。

                                  1 条回复 最后回复
                                  0
                                  • DigaD 离线
                                    DigaD 离线
                                    Diga
                                    编写于 最后由 编辑
                                    #19

                                    SENT 协议里不是有 CRC 段嘛,为啥不用那个。
                                    MCU 硬件会 Check 这个 CRC 段,如果 CRC 出错的话,会直接丢弃该帧

                                    yuanjianY 1 条回复 最后回复
                                    0
                                    • yuanjianY 离线
                                      yuanjianY 离线
                                      yuanjian
                                      回复了Diga 最后由 编辑
                                      #20

                                      Diga 你们的fae说两路sent,dma模式会丢帧,让我改用中断处理。dma丢帧的问题可以解决吗?我们两种模式都想试试

                                      1 条回复 最后回复
                                      0
                                      • DigaD 离线
                                        DigaD 离线
                                        Diga
                                        编写于 最后由 编辑
                                        #21

                                        只要负载不要太高,两种方式都不容易丢帧,你可以自己试试

                                        yuanjianY 1 条回复 最后回复
                                        0
                                        • yuanjianY 离线
                                          yuanjianY 离线
                                          yuanjian
                                          回复了Diga 最后由 编辑
                                          #22

                                          Diga 我和你们的fae都试过的,确实丢包。选择中断模式也是这个原因。
                                          两路sent,一个3us,一个1.65us,负载算高吗?测试下来大概丢帧率超过了3成。

                                          1 条回复 最后回复
                                          0

                                        • 云途开发生态介绍

                                          快速上手云途开发生态

                                        • 云途论坛规则/Yuntu Forum Rules

                                          发帖前请查看

                                        • YT CONFIG TOOL调查问卷

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

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

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