This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TAS2563:TDM 时钟错误和放大器;未播放音频

Guru**** 2378650 points
Other Parts Discussed in Thread: TAS2563, AM623
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1438257/tas2563-tdm-clock-error-no-audio-played

器件型号:TAS2563

工具/软件:

尊敬的团队:

我正在 AM623平台上使用内核版本为6.6.15的 TAS2563编解码器。

当我尝试使用播放音频文件样本时aplay,我没有收到任何错误,但没有音频输出。

根据寄存器转储、B0P0R0x11=0x24表示SBCLK:FSYNC=64采样率配置为48 kHz、这与我的设置一致。 但是、寄存器B0P0R0x24=0x04显示 TDM 时钟错误。

有什么我可能会错过的吗?

播放时:

$ sudo aplay -D hw:0,0 a1.wav -v
Playing WAVE 'a1.wav' : Signed 32 bit Little Endian, Rate 48000 Hz, Mono
Hardware PCM card 0 'AM623-GTC700C' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S32_LE
  subformat    : STD
  channels     : 1
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 32
  buffer_size  : 24000
  period_size  : 6000
  period_time  : 125000
  tstamp_mode  : NONE
  tstamp_type  : MONOTONIC
  period_step  : 1
  avail_min    : 6000
  period_event : 0
  start_threshold  : 24000
  stop_threshold   : 24000
  silence_threshold: 0
  silence_size : 0
  boundary     : 6755399441055744000
  appl_ptr     : 0
  hw_ptr       : 0

 
$ amixer
Simple mixer control 'Speaker Digital',0
  Capabilities: volume volume-joined
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 255
  Mono: 253 [99%] [5.00dB]
Simple mixer control 'Speaker Force Firmware Load',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'Speaker Profile Id',0
  Capabilities: volume volume-joined
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 7
  Mono: 7 [100%]
$

执行以下操作时的寄存器转储:

$ i2cdump -f -y 3 0x4c
No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 00 00 00 20 c6 22 09 02 20 10 f1 02 00 04 05 06    ... ?"?? ???.???
10: 07 24 12 76 01 2e 60 0e 0c 00 fc a6 df ff ff 00    ?$?v?.`??.???...
20: 00 11 00 00 04 00 51 80 00 dc 34 c0 7c 8c c0 a7    .?..?.Q?.?4?|???
30: 99 40 81 34 4b 74 01 00 0d 0c be 58 68 08 10 00    ?@?4Kt?.???Xh??.
40: 76 41 d8 c0 10 21 00 4e ac 4d c0 00 00 00 00 00    vA???!.N?M?.....
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 f0 00 0f 00 00 cc 00 00 00 00 10 98 00    ...?.?..?....??.
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................

器件树配置:

       codec_audio: sound {
                compatible = "simple-audio-card";
                simple-audio-card,name = "AM623-GTC700C";
                simple-audio-card,widgets =
                        "Speaker",      "Internal Speaker",
                        "Microphone",   "Internal Mic";
                simple-audio-card,routing =
                        "Internal Speaker",     "OUT",
                        "DMIC",                 "Internal Mic";
                simple-audio-card,format = "i2s";
                simple-audio-card,bitclock-master = <&sound_master>;
                simple-audio-card,frame-master = <&sound_master>;
                simple-audio-card,mclk-fs = <256>;
                simple-audio-card,bitclock-inversion;

                sound_master: simple-audio-card,cpu {
                        sound-dai = <&mcasp2>;
                        dai-tdm-slot-num = <2>;
                        dai-tdm-slot-width = <32>;
                };

                simple-audio-card,codec {
                        sound-dai = <&tas2563>;
                };
        };

       tas2563: tas2563@4c{
                status = "okay";
                reg = <0x4c>;
                compatible = "ti,tas2563";
                #sound-dai-cells = <0>;
                ti,imon-slot-no = <0>;
                ti,vmon-slot-no = <0>;
                ti,asi-format = <0>;
                ti,left-slot = <0>;
                ti,right-slot = <1>;
        };
        
    &mcasp2 {
        status = "okay";
        #sound-dai-cells = <0>;

        pinctrl-names = "default";
        pinctrl-0 = <&main_mcasp2_pins_default>;

        op-mode = <0>;          /* MCASP_IIS_MODE */
        tdm-slots = <2>;
        assigned-clock-rates = <12288000>;

        serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
               2 2 1 0
        >;
        tx-num-evt = <32>;
        rx-num-evt = <32>;
    };

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sakshi:

    您是否仅在尝试执行即插即用命令后才在寄存器0x24触发信号中看到中断标志?
    请检查播放测试的顺序。 对于活动模式、应首先启用输入时钟、并且仅在将寄存器0x02设置为0x00之后启用。 如果输入时钟未运行或更改其频率、请勿更改为工作模式。

    您还可以仔细检查输入时钟是否稳定、如果这些时钟的频率变化过大、仍会导致时钟错误。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ivan:

    我仅在退出时看到 TDM 时钟错误。

    退出前:

    user@prometheus:~$ i2cdump -f -y 3 0x4c                                       No size specified (using byte-data access)
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
    00: 02 00 00 00 00 00 00 00 40 00 00 00 71 cf 54 71    ?.......@...q?Tq
    10: 03 4a 51 6c 2d 6a 86 6f 47 5c 28 f6 16 66 66 66    ?JQl-j?oG\(??fff
    20: 1a 66 66 66 10 00 00 00 17 33 33 33 15 99 99 9a    ?fff?...?333????
    30: 7f ff ff ff 00 00 00 00 00 00 00 00 7f ff ff ff    ?...........?...
    40: 00 00 00 00 00 00 00 00 40 00 00 00 40 00 00 00    ........@...@...
    50: 00 00 00 00 00 00 00 00 00 00 00 00 00 20 c4 9c    ............. ??
    60: 02 46 b4 e4 00 00 4b 00 7f fb b6 14 80 04 49 ec    ?F??..K.??????I?
    70: 7f f7 6c 28 00 00 00 00 00 00 00 00 ef 5d 5e 9d    ??l(........?]^?
    80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    user@prometheus:~$
    

    播放时:

    user@prometheus:~$ i2cdump -f -y 3 0x4c
    No size specified (using byte-data access)
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
    00: 00 00 00 20 c6 22 09 02 20 10 f1 02 00 04 05 06    ... ?"?? ???.???
    10: 07 24 12 76 01 2e 60 0e 0c 00 fc a6 df ff ff 00    ?$?v?.`??.???...
    20: 00 11 00 00 04 00 11 80 00 cc 34 d0 80 8c c0 a7    .?..?.??.?4?????
    30: 99 40 81 34 4b 74 01 00 0d 0c be 58 68 08 10 00    ?@?4Kt?.???Xh??.
    40: 76 41 d8 c0 10 21 00 4e 2c 4e 60 00 00 00 00 00    vA???!.N,N`.....
    50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    70: 00 00 00 f0 00 0f 00 00 cc 00 00 00 00 10 09 00    ...?.?..?....??.
    80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    user@prometheus:~$
    
    

    另外、我只能在使用 aplay 时看到时钟。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sakshi:

    我会尝试派我们的驱动程序专家团队的某个人来查看您的日志和设备树。

    同时、我一直在介绍您共享的重新转储、寄存器0x08似乎很奇怪。
    默认情况下、该寄存器的读数应为0x4a、但在 aplay 之前读取0x40、在 aplay 期间读取0x20。 不确定这是器件触发 TDM 时钟错误的原因、但您能否确认数据时隙是16位还是32位?

    是否也可以使用示波器捕获发送到 TAS2563的时钟? 由于您播放单声道音频文件、我想仔细检查是否有适当的 SBCLK 和 FSYNC 边缘数量。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ivan:

    我将其配置为32位。

    我很快就会提供示波器捕获。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sakshi:

    如果主机控制器正在发送32位时隙、则应调整用于配置 TAS2563的 regbin、根据将 regdump 设置为16位而不是32位。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ivan:

    好的、让我检查一下。

    以下是 BCLK 和 wclk 捕获结果

    BCLK:

    WCLK:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sakshi:

    谢谢、时钟看起来正常。
    我们来仔细检查插槽配置、看看这样是否有用。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ivan:  

    是的、时钟看起来可以、但我观察到了一些情况、我只在开始播放时才获得时钟、 此外、即使时钟不存在、编解码器也处于活动模式(寄存器0x02=0x00)。 "那有什么问题吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sakshi:

    没关系、器件应该仅在存在输入时钟的情况下处于运行状态。
    您可以在不回放期间停止输入时钟;但是、您必须相应地在 ACTIVE 和 SW SHUTDOWN 之间切换。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ivan:  

    我是否需要对驱动程序进行任何更改? 由于从初始状态开始、编解码器 保持 在活动模式。 当我开始使用 aplay 播放音频并停止它时、编解码器进入关断模式(寄存器0x02=0x0E)、然后当我开始播放时、它再次进入工作模式(0x02=0x00)。

    不确定为什么初始状态为活动状态。

    Initial state:
    user@prometheus:~$ i2cdump -f -y 3 0x4c
    No size specified (using byte-data access)
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
    00: 02 00 00 00 00 00 00 00 40 00 00 00 71 cf 54 71    ?.......@...q?Tq
    10: 03 4a 51 6c 2d 6a 86 6f 47 5c 28 f6 16 66 66 66    ?JQl-j?oG\(??fff
    20: 1a 66 66 66 10 00 00 00 17 33 33 33 15 99 99 9a    ?fff?...?333????
    30: 7f ff ff ff 00 00 00 00 00 00 00 00 7f ff ff ff    ?...........?...
    40: 00 00 00 00 00 00 00 00 40 00 00 00 40 00 00 00    ........@...@...
    50: 00 00 00 00 00 00 00 00 00 00 00 00 00 20 c4 9c    ............. ??
    60: 02 46 b4 e4 00 00 4b 00 7f fb b6 14 80 04 49 ec    ?F??..K.??????I?
    70: 7f f7 6c 28 00 00 00 00 00 00 00 00 ef 5d 5e 9d    ??l(........?]^?
    80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    
    
    While aplay:
    user@prometheus:~$ i2cdump -f -y 3 0x4c
    No size specified (using byte-data access)
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
    00: 00 00 00 20 c6 22 09 02 20 10 f1 02 00 04 05 06    ... ?"?? ???.???
    10: 07 24 12 76 01 2e 60 0e 0c 00 fc a6 df ff ff 00    ?$?v?.`??.???...
    20: 00 11 00 00 04 00 11 80 00 cc 34 d0 83 8c 80 aa    .?..?.??.?4?????
    30: 99 40 81 34 4b 74 04 00 0d 0c be 58 68 08 10 00    ?@?4Kt?.???Xh??.
    40: 76 41 d8 c0 10 21 00 4e 2c 4f 00 00 00 00 00 00    vA???!.N,O......
    50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    70: 00 00 00 f0 00 0f 00 00 cc 00 00 00 00 10 09 00    ...?.?..?....??.
    80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    
    
    After aplay:
    user@prometheus:~$ i2cdump -f -y 3 0x4c
    No size specified (using byte-data access)
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
    00: 00 00 0e 20 c6 22 09 02 20 10 f1 02 00 04 05 06    ..? ?"?? ???.???
    10: 07 7f 12 76 01 2e 60 0e 0c 00 fc a6 df ff ff 00    ???v?.`??.???...
    20: 00 00 80 00 04 00 51 80 00 dc 34 d0 83 8c 40 ab    ..?.?.Q?.?4???@?
    30: 99 40 81 34 4b 74 0c 00 0d 0c be 58 68 08 10 00    ?@?4Kt?.???Xh??.
    40: 76 41 d8 c0 10 21 00 4d ec 4f 00 00 00 00 00 00    vA???!.M?O......
    50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    70: 00 00 00 f0 00 0f 00 00 80 00 00 00 00 10 15 00    ...?.?..?....??.
    80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sakshi:

    您是否可以共享用于生成配置文件的 json 文件?
    不确定这是否需要更改驱动程序、我会收到我们的驱动程序专家团队的一些意见。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ivan:

    这是我正在使用的 json 文件: https://git.ti.com/cgit/tas2781-linux-drivers/tas2781-linux-driver/tree/regbin/jsn/tas2563-1amp-reg.json

    如果需要进行任何更改、请告知我。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sakshi:

    我将其圈回驱动程序专家、然后返回给您。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ivan:

    是否对此进行了任何更新?

    我仍然无法解决此问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sakshi:

    我还没有收到任何反馈、我会再次查看。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此外、我还在驱动程序中添加了一些调试日志:

    user@prometheus:~$ sudo aplay -D hw:0,0 sample1.wav
    [   38.868930] tasdevice_startup
    [   38.868974] tasdevice_startup: sysclk: 0
    Playing WAVE 'sample1.wav' : Signed 16 bit Little Endian, Rate 4[   38.881839] tas: sysclk freq = 12288000
    8000 Hz, Stereo
    [   38.890993] tas: hw_params: sysclk: 12288000
    [   38.896581] tasdevice_hw_params: fsrate = 48000
    [   38.901244] tasdevice_hw_params: slot_width = 16
    [   38.905991] tasdevice_hw_params: bclkrate = 1536000
    [   45.292083] tas: sysclk freq = 0
    user@prometheus:~$
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ivan、希望您一切顺利。

    您是否收到有关此问题的任何更新? 我们需要让它优先工作。  

    我仍然有以下问题:

    • 我仍然收到 tdm 时钟错误。
    • 从初始点开始、编解码器处于活动模式、即使不存在时钟也是如此(寄存器0x02应是0x0E)。  
    • 如何在音频未播放时停止关闭时钟。
    • 设备树和我使用的固件是否发生了变化、对吗?

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sakshi:

    我想您必须联系处理器供应商来解决有关在不播放音频时不停止时钟的问题。 与放大器无关。
    您很可能会获得 TDM 时钟错误、因为器件在时钟不存在时处于运行状态。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ivan、我仅使用 TI AM623平台。

    您能否确认器件树配置是否正确或我需要进行任何修改?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sakshi:

    我已经让我们的团队检查了设备树配置。
    关于平台、我的意思是您可以联系相关的支持团队。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Ivan、谢谢您、我创建了一个工单来在处理器论坛上讨论时钟问题。

    我想在这里再确认一件事、我也无法从扬声器获得任何音频、这也可能是因为 tdm 时钟错误?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sakshi:

    没错、当器件检测到时钟错误时、它将进入 SW 关断状态。 启用时钟后、您可以手动将其设置回工作模式、这可能是需要手动测试的。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ivan、现在我已经为16位插槽配置了编解码器、如何从 regbin 将配置设置为32位?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sakshi:

    RX_WLEN 和 RX_SLEN 由 B0x00 P0x00 R0x08控制。 您应该根据主机调整此寄存器的值。

    您是指 TAS2563器件? 您可以将上述寄存器设置为默认值0x4a、该寄存器配置为32位时隙长度和24位字长。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ivan、我尝试了更新这些更改、但仍然适用于16位、 您能为我提供一个32位配置的固件文件(.bin)、我可以直接用来进行测试吗? 我想使用正确的固件对其进行测试。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sakshi:

    您是否意味着主机仅发送16位数据、但无论配置为16位还是32位、器件都仍在工作? 也许主机只更改字长、但时隙长度保持不变?  
    由于器件正常工作、因此我不确定这里的问题是什么。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ivan:

    主机控制器正在发送32位数据、但编解码器仍然适用于16位数据、尽管我将 regbin 配置 B0x00 P0x00 R0x08至0x3e、这应该会将其设置为采用32位配置。

    因此、我要求您提供一个配置为32位的生成的固件(.bin)文件、以便我可以直接对其进行测试。

    请提供生成的二进制文件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sakshi:

    我遇到 regbin 工具问题、会解决这个问题并返回 bin 文件。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ivan:

    您是否能够使用工具解决问题? 如果是、您能否为32位配置提供生成的二进制文件?

    此外、在我们的设置中、我们使用编解码器作为从器件并使用 McASP 作为主器件、是否可以将编解码器用作主器件、如果可以、我需要进行哪些修改?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sakshi:

    您可以尝试使用随附的文件。

    e2e.ti.com/.../010825.bin

    此致、
    -伊凡·萨拉扎尔
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ivan:

    感谢您提供二进制文件。

    我当时在处理器论坛(https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1447942/am623-bclk-and-wclk-stop-when-audio-playback-stops)上讨论了时钟停止问题、他们更新了:

    "根据我的内部讨论、Linux 中的 McASP 只会在用户启动应用(arecord/aplay/gstreamer)时生成时钟。 您的电路板上是否有任何其他能够充当时钟主器件的器件? 在 TI EVM 上、我们通常将 McASP 配置为从器件。  

    此外、如果我理解正确、您可以在开始播放时听到音频、而在 BCLK/WCLK 由于 TDM 错误而停止后无法听到音频。 "

    我在这里有一些问题:

    1.由于 McASP 只在我们尝试播放声音时生成时钟,因此它不会持续开启,我们还能在这里做些什么来解决 tdm 时钟错误?

    2. tdm 时钟错误是否是我们无法听到任何音频或我们需要对配置或硬件进行一些修改的唯一原因?

    3.既然他们提到了,他们通常将 McASP 配置为从端口,我们的配置是否正确,以将 McASP 用作主端口? 我们是否需要一些驱动程序更改?

    我们处理这个问题已有一段时间了、请帮助我们解决这个问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sakshi:

    1. 您可以更改命令序列、在使用即插即用时、处理器应首先启动时钟、然后向 TAS2563 (仅限寄存器0x02)发送上电命令。 同样、当播放结束时、首先向 TAS2563 (同样仅限寄存器0x02)发送 SW 关断命令、然后停止处理器时钟。
    2. 这很可能是问题、在时钟停止后、TAS2563会检测到时钟错误并自动进入软件关断模式。
    3. TAS2563也用作从器件、因为没有 MCLK 选项、实际上没有主器件配置可用。 在这种情况下、应调整命令序列、并继续将处理器用作主器件。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ivan:

    从我们用于 tas2563器件的 tas2781-i2c.c 驱动程序中、我可以看到 setsysclk、启动器件和设置硬件参数 由框架处理的回调。 我尝试在器件启动功能中添加一个检查、首先检查时钟是否可用、然后仅启动器件、这始终显示错误。

    不确定、我还能在这里尝试什么。

    您能否在您的终端测试我们的设置(McASP 作为主器件和 TAS2563编解码器)? 这将真正有助于并加快找到解决方案。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sakshi:

    我正在检查可能发生此错误的原因。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ivan、这方面有什么更新吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    没有这方面的反馈、我将再次查看。

    此致、
    -伊凡·萨拉扎尔
    应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ivan。 请您优先考虑这个问题。

    一个多月来、我们一直面临同样的问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、大家好

    你是不是那么善良测量 bck 和 WS 时钟与示波器在播放期间?

    这似乎没有来自 McASP 的 BCK 和 WS clk 输出。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    以下是播放时 wclk 和 BCLK 的示波器捕获。

    BCLK:

    WCLK:

    播放停止时、时钟也停止。