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

YunTu Forum

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

YTM32B1LE0 IIS

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

    您好,把如下的值调小(SCK结束后到PCS拉高的时间配置),因为TMU收到的是帧完成的trigger,PCS拉高才算一帧结束了
    image.png

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

      sunxuehu 57112a158e8c054f0970e44914f6259.png 波形是已经调整过的,现在的情况是失真比较严重,应该是信号没有对齐,波形上中间的一段低电平不是发送中产生的,是我一整包数据发送完在发送第二包的时候有一段间隔,已经启用的dma,另外结束tmu的触发也是设置的硬件触发,跟spi的也对不上16e07d65-3490-4528-8803-68309e3263a0-image.png 37093740-04b7-4476-b340-85436f676e40-image.png

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

        sunxuehu 我要把3个都配置为0吗549e87ccf22caddd314531095bb8c30.jpg 配置为0后,每一个字节的数据的会这样,每一整包的数据50ms依旧存在,这样配置似乎sck的整体频率就不对了

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

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