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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YT SDK
  4. SPI通信失败fail排查方向指南

SPI通信失败fail排查方向指南

已定时 已固定 已锁定 已移动 YT SDK
9 帖子 3 发布者 381 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • xianghanX 离线
    xianghanX 离线
    xianghan YunTu
    写于 最后由 编辑
    #1
    1. 芯片供电以及被通信芯片供电是否正常。
    2. 确定从芯片是否需要拉高拉低某些PIN使被通信芯片可以退出低功耗或者standby模式。
    3. 确定MCU时钟及SPI有被正常初始化。
    4. 确认时钟极性、时钟相位、通信速率、片选使能、时钟位数与被通信芯片一致。
    5. 确认被通信芯片需不需要在片选使能以后等待若干时间,
    6. 通过示波器抓取通信线数据,确定波形是否预期,排除硬件干扰。
    7. 确定软件组包的SPI数据满足被通信芯片的协议。
    8. 以上办法还不行,可屏蔽boot、其它外设及OS,排除其它软件干扰。
    gaoShengG 1 条回复 最后回复
    0
    • xianghanX xianghan 在 中 引用了 这个主题
    • gaoShengG 离线
      gaoShengG 离线
      gaoSheng
      在 回复了 xianghan 最后由 编辑
      #2

      xianghan HA的spi作为从机利用dma接收数据有概率接收到的数据全是0,大佬有什么排查方向吗,示波器抓取的数据是正常的

      FrankF 1 条回复 最后回复
      0
      • FrankF 离线
        FrankF 离线
        Frank YunTu
        在 回复了 gaoSheng 最后由 编辑
        #3

        gaoSheng 典型的cache同步问题。把buffer放到no cacheable区域,或者手动刷cache

        gaoShengG 2 条回复 最后回复
        0
        • gaoShengG 离线
          gaoShengG 离线
          gaoSheng
          在 回复了 Frank 最后由 编辑
          #4

          Frank 感谢大佬的思路

          1 条回复 最后回复
          0
          • gaoShengG 离线
            gaoShengG 离线
            gaoSheng
            在 回复了 Frank 最后由 编辑
            #5

            Frank 大佬,请问有相关的操作的示例吗

            1 条回复 最后回复
            0
            • FrankF 离线
              FrankF 离线
              Frank YunTu
              写于 最后由 编辑
              #6

              以下示例基于MCAL。
              方法1. 变量定义到no cache区域,在使用时可以替换成Rte_MemMap中定义的类型定义。
              66d0700d-cac6-442b-b018-0937e3f8cacf-image.png
              方法2.通过api 对cache 刷新,(需要保证变量的地址是32B对齐的)
              (1)SCB_CleanDCache_by_Addr() : CPU 更新数据后,调用该API 可以保证数据从cache同步到memory。
              (2)SCB_InvalidateDCache_by_Addr() : DMA搬移完成后,调用该API可以让CPU从memory中读取数据而不是cache。

              gaoShengG 1 条回复 最后回复
              0
              • gaoShengG 离线
                gaoShengG 离线
                gaoSheng
                在 回复了 Frank 最后由 编辑
                #7

                Frank 请教一下,在SDK中操作应该也是一样的吧

                1 条回复 最后回复
                0
                • FrankF 离线
                  FrankF 离线
                  Frank YunTu
                  写于 最后由 编辑
                  #8

                  你按照API名称检索下,应该是一样的。即使不一样,名字也相近

                  gaoShengG 1 条回复 最后回复
                  0
                  • gaoShengG 离线
                    gaoShengG 离线
                    gaoSheng
                    在 回复了 Frank 最后由 编辑
                    #9

                    Frank 非常感谢大佬的支持

                    1 条回复 最后回复
                    0

                  • 云途论坛规则/Yuntu Forum Rules

                    发帖前请查看

                  • YCT离线License申请流程

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

                  • YT CONFIG TOOL调查问卷

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

                  • demo
                    12
                    can
                    8
                    lin stack
                    6
                    yt-link
                    5
                    vscode
                    3
                    adc模块
                    2
                    i2c
                    2
                    uuid
                    2
                    Online Users
                    TungDoT
                    TungDo
                    • 登录

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