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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1L系列
  4. YTM32B1LE0 IIS

YTM32B1LE0 IIS

已定时 已固定 已锁定 已移动 YTM32B1L系列
34 帖子 3 发布者 679 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • sfuyuanS 离线
    sfuyuanS 离线
    sfuyuan
    在 回复了 sunxuehu 最后由 编辑
    #8

    sunxuehu 您好,没啥效果,你们有没有用这个芯片模拟的实例测试下看看,我目前的就是加上那个19的延时,可以驱动音频芯片,但是失真严重,如果把延时去掉,就会跟图片的一样频率都不对了,音频芯片完全驱动不了。

    1 条回复 最后回复
    0
    • sunxuehuS 离线
      sunxuehuS 离线
      sunxuehu
      写于 最后由 sunxuehu 编辑
      #9

      50us的时间间隔由以下主要的时间组成(建议把PCS的信号线引出观察PCS的高低才是决定一个帧的开始或者结束)

      1. SCK结束到PCS拉起的时间(这里主要会导致您贴的示波器途中SCK和TMU trigger之间的距离),缩短方式SPI_CLK_SCKPCS(x)
      2. TMU trigger后产生后到下一帧开始的时间主要由:帧间隔时间(和代码执行时间相重合,哪个时间长是哪个)/代码执行时间+PCS拉低到SCK开始的时间(用SPI_CLK_PCSSCK(x)缩短时间);
      3. 当然,调节以上方式都是在不影响一包数据中的帧间隔,即在一包数据的帧与帧之间的间隔时间(SCKPCS + FMDLY + PCSSCK)基本等于1bit时间才能保证不失真。
        注意:请问下是否只有一包的最后一帧才会出现TMU由严重的延时
      sfuyuanS 1 条回复 最后回复
      0
      • sunxuehuS 离线
        sunxuehuS 离线
        sunxuehu
        写于 最后由 编辑
        #10

        但是比较奇怪的是TMU的trigger时间有点延时过长了,如果这样的话,理论上LRCK会出现严重的偏移

        1 条回复 最后回复
        0
        • sunxuehuS 离线
          sunxuehuS 离线
          sunxuehu
          写于 最后由 sunxuehu 编辑
          #11

          示波器的channel2是LRCK?

          1 条回复 最后回复
          0
          • sfuyuanS 离线
            sfuyuanS 离线
            sfuyuan
            在 回复了 sunxuehu 最后由 编辑
            #12

            sunxuehu 硬件上没有配置PCS的线,就三根线,即SCK,DAT,和tum。1d25d0ae-eeee-41f0-ac7e-607ae31997cc-image.png 是的示波器的2是LRCLK,1是sck,因为产生严重的失真,猜测就是一个是LRCLK和sck的响应偏移太大,另外就是每一包数据间隔太长导致不停偏移

            1 条回复 最后回复
            0
            • sunxuehuS 离线
              sunxuehuS 离线
              sunxuehu
              写于 最后由 sunxuehu 编辑
              #13

              这个不会,你可以看下在一包的数据里面的LRCLK是否会有偏移,最后一帧那个不是延时,只是在一包数据发送完后开始新的一包的初始化状态,SCLK那个时候没有启动,是没关系的。还有就是LRCLK不是TMU出来的,是eTMR出来的

              1 条回复 最后回复
              0
              • sunxuehuS 离线
                sunxuehuS 离线
                sunxuehu
                写于 最后由 编辑
                #14

                可以将一包的数据和音频信号一起拉出来看下,是什么样的失真

                sfuyuanS 1 条回复 最后回复
                0
                • sfuyuanS 离线
                  sfuyuanS 离线
                  sfuyuan
                  在 回复了 sunxuehu 最后由 编辑
                  #15

                  sunxuehu abecbb2b53f08d9705dbead1f75536d.jpg 意思是这个没有影响?只要下一包的LRCLK根sck没有偏移就可以?我

                  1 条回复 最后回复
                  0
                  • sunxuehuS 离线
                    sunxuehuS 离线
                    sunxuehu
                    写于 最后由 编辑
                    #16

                    是的,LRCLK只是判断是左右声道

                    sfuyuanS 1 条回复 最后回复
                    0
                    • sfuyuanS 离线
                      sfuyuanS 离线
                      sfuyuan
                      在 回复了 sunxuehu 最后由 编辑
                      #17

                      sunxuehu 但是现在我的LRCLK和BCLK上下边沿完全没办法对其,我应该怎么调整,数据是通过spi发送的跟spi的时钟是对齐的

                      1 条回复 最后回复
                      0
                      • sunxuehuS 离线
                        sunxuehuS 离线
                        sunxuehu
                        写于 最后由 sunxuehu 编辑
                        #18

                        完全对齐是不可能的,因为只有在SPI的帧结束了才会发送trigger到TMU,再路由到eTMR , 将SCKPCS(帧结束段,CLK结束到PCS拉高的时间)的时间等价到PCSSCK(PCS拉低到CLK开始的时间)或帧间隔的时间,看看这种方式有没有改善

                        image.png

                        sfuyuanS 1 条回复 最后回复
                        0
                        • sfuyuanS 离线
                          sfuyuanS 离线
                          sfuyuan
                          在 回复了 sunxuehu 最后由 编辑
                          #19

                          sunxuehu 另外就是有没有办法缩短那个50微秒的间距,就是每一整包数据的间隔,波形的数据本身就比较短,是靠循环发送同一个波形去执行的,现在每个正弦波的数据中间隔了50微秒,这个我要如何解决,程序里只有一个while在一直循环发送数据cbef7036-e6af-46c7-8063-2c4b7b9047dc-image.png

                          1 条回复 最后回复
                          0
                          • sunxuehuS 离线
                            sunxuehuS 离线
                            sunxuehu
                            写于 最后由 sunxuehu 编辑
                            #20

                            目前推测耗时最多的是代码的执行时间,如果代码没开优化等级的话,可以开一下

                            sfuyuanS 2 条回复 最后回复
                            0
                            • sfuyuanS 离线
                              sfuyuanS 离线
                              sfuyuan
                              在 回复了 sunxuehu 最后由 编辑
                              #21

                              sunxuehu 2cabdf9e26d725380ab1336922f9614.jpg 这个是SCK跟LR在每次发完的波形,19a3f394deb726e88d9eb7bfbb199ce.jpg 这个是sck跟dat每次发送完的波形这个看着是正常的,00df4443fcfa260b8910fe66f59fcc0.jpg 这个是sck跟dat的波形对其情况,看着也是正常的,2f07e82d738c629811a555a67db04a1.jpg 这个是SCK跟lr的对其情况,差个几十纳秒把,应该也能算正常。

                              1 条回复 最后回复
                              0
                              • sfuyuanS 离线
                                sfuyuanS 离线
                                sfuyuan
                                在 回复了 sunxuehu 最后由 编辑
                                #22

                                @sunxuehu测试过开更高级的优化了,开了程序就没反应了,目前程序啥也没有执行,就是循环执行发送函数优化等级为2的话就是50u秒

                                1 条回复 最后回复
                                0
                                • sunxuehuS 离线
                                  sunxuehuS 离线
                                  sunxuehu
                                  写于 最后由 编辑
                                  #23

                                  您好,可以排查以下内容:

                                  1. 是否在IIS callback函数里面执行长时间的函数或者在其他中断占用了时间
                                  2. 可以用PIN脚翻转测量下实际代码的运行的时间,比如I2S_DRV_MasterSend()进入到出去的时间
                                  sfuyuanS 3 条回复 最后回复
                                  0
                                  • sfuyuanS 离线
                                    sfuyuanS 离线
                                    sfuyuan
                                    在 回复了 sunxuehu 最后由 编辑
                                    #24
                                    此主題已被删除!
                                    1 条回复 最后回复
                                    0
                                    • sfuyuanS 离线
                                      sfuyuanS 离线
                                      sfuyuan
                                      在 回复了 sunxuehu 最后由 编辑
                                      #25

                                      sunxuehu 回调函数是空函数,用io测试,![6eae2794-f0ff-475e-a9d3-58092314974f-image.png](https://yt-static-media.oss-cn-hangzhou.aliyuncs.com/nodebb/269/97ccdb9c-e612-443d-9f51361ee4c-7776-483e-b36f-1dcde5795e46-2f23ef1b0179f866ec4abb28b4bffb0.jpg d-f4e125d93465.png) 这个函数的执行时间是10微秒

                                      1 条回复 最后回复
                                      0
                                      • sfuyuanS 离线
                                        sfuyuanS 离线
                                        sfuyuan
                                        在 回复了 sunxuehu 最后由 编辑
                                        #26

                                        sunxuehu 7487a9898aa20c72b8de3f1fb56b7db.png 这个函数执行时间是40微秒I2S_DRV_MasterSend

                                        1 条回复 最后回复
                                        0
                                        • sunxuehuS 离线
                                          sunxuehuS 离线
                                          sunxuehu
                                          写于 最后由 编辑
                                          #27

                                          实际代码需要这些时间重新发送一包数据,这个应该不会影响音频的失真吧

                                          sfuyuanS 1 条回复 最后回复
                                          1

                                        • 云途论坛规则/Yuntu Forum Rules

                                          发帖前请查看

                                        • YCT离线License申请流程

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

                                        • YT CONFIG TOOL调查问卷

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

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

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