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

YunTu Forum

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

sent模块中断触发问题

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

    db219bf8-96db-4867-8380-612deaee584f-image.png

    我们sent外置电路如图,配置成dma模式时可以正常工作,配置成中断模式,会一直触发sent中断,即便外部输入拿掉也依然触发。

    请问sent中断触发的条件是什么,我们外置电路需要调整吗?还是接收到中断后需要清除某个标志位?

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

      具体型号是YTM32B1MD1, 64PIN版本。同样的配置在你们100PIN demo板上此问题不存在。

      1 条回复 最后回复
      0
      • 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

                                        • 云途开发生态介绍

                                          快速上手云途开发生态

                                        • 云途论坛规则/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
                                          • 版块
                                          • 最新
                                          • 标签
                                          • 热门