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.

[参考译文] TLV320AIC3100:TLV320AIC3100的用例实现

Guru**** 2482225 points
Other Parts Discussed in Thread: TLV320AIC3104, TLV320AIC3100, TAS2563

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1109419/tlv320aic3100-use-case-implementation-for-tlv320aic3100

器件型号:TLV320AIC3100
主题中讨论的其他器件:TLV320AIC3104TAS2563

大家好、

我们将两个编解码器与 Android 11代码库中的 IMX8MM 相集成。

根据要求,我们的设计中有两个音频编解码器1) TLV320AIC3104和2) TLV320AIC3100。

这两个编解码器都单独启动并运行。 如果我将 WO 编解码器集成在一起、我将仅从一 个 TLV320AIC3104音频编解码器获得输出。

根据设计、第二个编解码器 TLV320AIC3100 > 0.8W 编解码器将仅用于警报和通知

需要您的帮助来实现上述功能、以便 imx8mm 能够同时支持两个编解码器。但第二个应该只适用于警报。

需要进行哪些更改?

谢谢

Divyesh。

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

    您好、Divyesh、

    您能否共享系统原理图以及两个编解码器的寄存器转储?

    谢谢、

    Jeff

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

    您需要能够区分这两个编解码器、因为它们都是相同的从器件地址0011000。

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

    是 pdjaundi。

    两个编解码器都连接到不同的 I2C 总线

    TLV320AIC3104 - I2C4

    TLVL320AIC3100 - I2C2

    尊敬的 Jeff:

    您想在音频播放正确时转储? 如果我这样做、音频将仅从编解码器 SPKR 播放、因此仅针对该特定的编解码器转储将得到正确的更新?

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

    我们有两个编解码器通过2个不同的 SAI 节点连接到 IMX8MM。  我们为这两个编解码器提供单独的 SAI 接口。

    IMX8MM <--> SAI3 & I2C4 <--> TLV320AIC3104

     

    IMX8MM <<--> SAI1 & I2C2 <--> TLV320AIC3100

    根据要求、两个编解码器应同时工作。

    谢谢

    Divyesh。

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

    您好!

    那么、您是否确认了两个编解码器的 WCLK、BCLK 等在一起播放时都是正确的? AIC3100上的哪些功能不起作用?

    您提到过、当单独运行时、每个编解码器都能正常工作、2个编解码器是否驱动单独的输出?   

    此致。

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

    当两个编解码器集成在一起时-

    1.只有3104正常工作。 我们可以看到所有时钟

    2.扬声器无输出。 但是、如果我使用 tinyplay xyz.wav -D 1命令进行播放、则意味着专门通知3100编解码器播放要播放的 xyz.wav 文件、然后通知3100编解码器 ia 提供输出。 但如果我从 VLC 播放器播放,则媒体声音只有3104 SPKR IA 工作

    如果我只为一个编解码器保留代码,则它们工作正常。

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

    这表明两个器件的配置都是正确的、并且由于集成时两个器件都存在所有时钟、我认为这是在播放器端、您能否确认集成时从播放器端到 AIC3100输入端有真正的输入(声音)吗?

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

    您好@pdjaundi、

    我们无法探测 I2S 线路来确认 播放器侧 AIC3100输入的输入(声音)。

    但当我尝试播放某个内容时、I2C 转储数据不会更新。

    它仅针对3104编解码器进行更新。  

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

    主机似乎可以配置这两个设备、但不能同时播放这两个设备。

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

    您好@pjuandi、  

    请您查看我们的更改吗?

    e2e.ti.com/.../INTandEXTcodec.txt

    谢谢。

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

    我将请我们的 Linux 专家帮助交叉检查 DTS。

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

    谢谢 Pjuandi、

    如果他需要其他任何东西、请告诉我

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

    您好,迪维耶什

    为了满足您的要求、有两种方法

    方式1:

    工作负载位于驱动程序编码和硬件连接中

    1) 1)两个编解码器都应注册为一个声卡。并且这两个编解码器都应连接到相同的 i2c 总线、从而简化驱动程序。

    2)将两个编解码器驱动程序代码合并为一个代码。参考代码是 tas256xsw-android/tas2563-android-driver - Software for TAS256x on Android Platforms - TAS2563 Android Driver (TI.com)、此代码是立体声应用程序、使用两个 tas2563、并注册为单声卡。

    方法2:

    工作负载在框架和 hal 代码中、您将重写音频句柄创建和音频数据分派。代码必须打开两个 PCM 句柄、

    至于 PCM_WRITE、在我看来、PCM_WRITE 到一个句柄就足够了。因为两个编解码器都连接到同一个 I2S (而不是 i2c)

    BR

    丁胜豪

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

    您好、Shen、

    现在无法更改硬件。

    我们已经设计了电路板。  

    我们的设计中有两个音频编解码器:

    1. TLV320AIC3104 -用于20W x 2扬声器的音频外部编解码器-  IMX8MM <--> SAI3和 I2C4 <--> TLV320AIC3104
    2. TLV320AIC3100 -音频内部编解码器0.8W 扬声器-  IMX8MM <--> SAI1和 I2C2 <--> TLV320AIC3100

    编解码器单独/单独运行、也就是说、如果我们一次在代码中集成一个编解码器驱动程序、则可以正常工作。

    面对以下问题:

    在将两个编解码器集成到同一代码中后、音频数据(系统声音、媒体声音)仅在外部编解码器(TLV320AIC3104)上输出。 我们使用 VLC 播放器进行了测试。

     

    但是、如果我使用 tinyplay filename.wav -D 1命令播放任何 wav 文件、那么我们可以听到内部编解码器的音频。

    其中、-D 1–专门告诉器件1 (即内部编解码器3100)播放 wav 文件。

     

    根据我们的要求、内部编解码器应仅用于通知和警报铃声、而外部编解码器应用于其他媒体声音。

    e2e.ti.com/.../INT_5F00_EXT_5F00_WORKING_5F00_CHANGES.txt

    您能不能为实施上述用例提供一些建议。

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

    盛豪在中国、可能会将此问题脱机。

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

    您好,迪维耶什

    正如我之前提到的、框架/ hal 中的音频路由和政策需要改写。

    在默认音频框架/高、VLC 回放仅选择默认音频卡。

    在音频框架中、应添加以下音频路由以满足您的要求。  

    对于示例:

    #define  CODEC3100_CARD (1)

    #define CODEC3104_CARD (0)

    开关(AUDIO_CASE){

    案例:muse_playback:

    OUT_PCM_Handle = PCM_OPEN (CODEC3100_CARD、OUT_DEVICE、PCM_OUT、&FF_CONFIG);

    中断;

    默认值:

    OUT_PCM_Handle = PCM_OPEN (CODEC3104_CARD、OUT_DEVICE、PCM_OUT、&FF_CONFIG);

    中断;

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

    您能告诉文件特定的更改吗? 因为我们的音频在 Android 代码中没有结束。 很难找到。

    我无法在  hal 中看到任何 OUT_PCM_Handle sring /API。

    我必须对报警音和通知进行一次更改。 请单击此处获取帮助。

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

    请在框架或 AUDIO_hal 代码中对关键字 PCM_OPEN 进行 grep 操作。 并与我共享该文件。

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

    好的。

    HAL:

    路径:/vendor/NXP-opensource/IMX/alsa$ grep -RSI PCM_open
    tinyalsa_hal.cpp:alge ("%s":PCM_open:card:%d、PCM_DEVICE_ID:%d、rate:%d、channel:%d、format:%d、 Period_size:0x%x、标志:%x"、
    tinyalsa_hal.cpp:out->pcm = pcm_open (card、pcm_device_id、flags、config);
    tinyalsa_hal.cpp:alge ("%s":PCM_open 错误:%s"、__func__、PCM_get_error (out->PCM));
    tinyalsa_hal.cpp:out->pcm=pcm_open (adev->card_list[out->card_index]->卡、0、PCM_flags、&out->config);
    tinyalsa_hal.cpp:in->PCM = PCM_open (卡、端口、PCM_in、&in->config);
    tinyalsa_hal.cpp:adev->PCM_SCO_Rx = PCM_OPEN (卡、端口、PCM_IN、&PCM_CONFIG_SCO_IN);
    tinyalsa_hal.cpp:adev->PCM_SCO_TX = PCM_OPEN (卡、端口、PCM_OUT、&PCM_CONFIG_SCO_OUT);
    tinyalsa_hal.cpp:adev->pcm_cap = pcm_open (卡、端口、pcm_in、&adev->cap_config);

    FW 中没有字符串 PCM_OPEN。

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

    您可以执行此操作

    开关(AUDIO_CASE){

    案例:muse_playback:

    卡= 1;

    中断;

    默认值:

    卡= 0;

    中断;

    OUT_PCM_Handle = PCM_OPEN (卡、端口、PCM_OUT、&ff_config);

     tinyalsa_hal 是否 从框架中获取 audio_case?

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

    否这是个问题。 我无法获取 FW 将音乐播放案例发送到 HAL 的位置。

    如果我明白了、那么我可以添加您建议的代码段。

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

    我认为您可以从 "tinyalsa_hal.cpp:out->pcm = pcm_open (card、pcm_device_id、flags、config);"重写代码。

    您可能会在 audip 策略中添加一个接口、audio_hal 可以通过此接口查询音频路由。

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

    我只想让它用于闹钟铃声和通知。

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

    我认为、无论这一要求多么简单。 新添加的代码应慎重考虑并 符合 Android 音频系统的要求、否则会引入其他问题。

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

    大家好、

    如 您所知、我们有两个编解码器:

    TLV320AIC3104

    TLV320AIC3100

    根据要求,我们需要禁用一个编解码器,有时意味着我们可以看到,我们需要关闭一个编解码器。

    可以执行的操作。 我们需要使用软件提示来实现。您能不能建议我们可以使用哪个引脚来满足上述要求。

    谢谢

    迪维耶

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

    关断可能涉及多个方面、因此我不确定您对关断的定义。

    您可以移除编解码器电源以将其关闭或禁用所需的音频路径。

    对于音频路径、有一个用于断电的寄存器、例如左直流。

    转到寄存器设置、找到要关闭它的模块并执行它。

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

    因为我们使用2个编解码器。 当不通过 GPIO 使用时、我需要禁用整个音频编解码器。由于我们没有任何 PDN GPIO、我们可以使用复位 GPIO 来关闭编解码器吗?  

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

    编解码器中的复位引脚允许您将器件配置复位为其默认值、这基本上会禁用所有模块。

    您可以将该引脚设置为低电平以实现该目的。

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

    尊敬的 pdjaundi:

    是的,我确实将 pin 设置为低电平10分钟,并且编解码器根据要求停止工作。

    但是、当我将其设为高电平时、音频编解码器再次开始工作、但它不工作、寄存器写入也不工作。 重新启动设备后,设备开始工作。

    因此、要实现运行时启用和禁用、还需要进行哪些其他更改?

    谢谢

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

    将 RESET 引脚拉低会将每个寄存器设置为默认值、当您释放该引脚时、需要写入所有寄存器以启用该引脚。

    也许您的复位信号也被连接在禁用电源的地方、因此您的 I2C 事务也不起作用。

    您是否曾尝试过将0x01写入寄存器1以进行软件复位、而不是使用硬件复位引脚?

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

    您是否曾尝试过将0x01写入寄存器1以进行软件复位、而不是使用硬件复位引脚?

    >>>否我没有尝试过。 要求是、需要从应用中禁用此编解码器。 当我们按下“禁用”按钮时... 编解码器应该被禁用、直到我们从应用中再次打开它。 为此、我们创建了 sysfs 节点、该节点通过 HAL 与复位 GPIO 链接。 因此、基本而言、我们将切换 上层的复位 GPIO。  

    也许您的复位信号也被连接在禁用电源的地方、因此您的 I2C 事务也不起作用。

    >>>附加原理图以供查看:

    需要您的输入。

    谢谢

    Divyesh

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

    向上述注释添加更多输入:

    当 RESET 引脚为低电平时:

    EVK_8mm:/sys/bus/platform/devices/gpio-reset/reset-disable_ext # i2cdetect -y 3.
    0 1 2 3 4 5 6 7 8 9 A b c d e f
    00:------------ ------------ ------
    10:------ UU ---- UU ---- UU -------- UU -------- ----
    20:UU ---------- ---- UU ------------ ----
    30:------------ ------------ ------------ --
    40:------------ ------------ ------------ --
    50:---------- ------------ ------------ --
    60:------------ ------------ ------------ --
    70:------------ ------
    EVK_8mm:/sys/bus/platform/devices/gpi-reset/reset-disable_ext # i2cdump -y -f 3 0x18
    0 1 2 3 4 5 6 7 8 9 A b c d e f 0123456789abcdef
    i2cdump:I2C_READ_BYTE:无此类器件或地址

    输出:禁用编解码器。 扬声器无输出。 I2C 不工作

    将 RESET 引脚置为高电平:

    EVK_8mm:/sys/bus/platform/devices/gpio-reset/reset-disable_ext # i2cdetect -y 3.
    0 1 2 3 4 5 6 7 8 9 A b c d e f
    00:------------ ------------ ------
    10:------ UU ---- UU ---- UU -------- UU -------- ----
    20:UU ---------- ---- UU ------------ ----
    30:------------ ------------ ------------ --
    40:------------ ------------ ------------ --
    50:---------- ------------ ------------ --
    60:------------ ------------ ------------ --
    70:------------ ------
    EVK_8mm:/sys/bus/platform/devices/gpi-reset/reset-disable_ext # i2cdump -y -f 3 0x18
    0 1 2 3 4 5 6 7 8 9 A b c d e f 0123456789abcdef
    00:00 00 00 10 04 00 00 00 00 00 00 00 01 00 00 00 80……?… ???
    10:80 ff 78 78 78 78 78 78 78 78 06 00 fe 00 fe 00 ?xxxxxx?..
    20:05 a0 00 00 00 00 00 00 00 00 80 00 00 00 00 ??.......... ???...
    30:00 00 00 04 00 00 00 00 00 00 00 00 04 00 00 00 00 00 ...? ?。
    40:00 04 00 00 00 00 00 00 04 00 00 00 00 00 00 00 00。。。。 ?。
    50:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    60:00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 ?..........
    70:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    80:00 00 10 04 00 00 00 00 00 00 00 00 01 00 00 00 80……?… ???
    90:80 ff 78 78 78 78 78 78 78 06 00 fe 00 fe 00 ?xxxxxx?..
    A0:05 a0 00 00 00 00 00 00 00 00 80 00 00 00 00 ??.......... ???...
    B0:00 00 04 00 00 00 00 00 00 00 00 04 00 00 00 00 00 ...? ?。
    C0:00 04 00 00 00 00 00 00 04 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 00
    E0:00 00 00 00 00 02 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 00

    输出:禁用编解码器。 扬声器无输出。 I2C 工作正常、但编解码器仍被禁用


    日志:

    [61.027476] tlv320aic3x-codec 3-0018:无法同步寄存器0x3-0x3。 -6.
    [61.035834] tlv320aic3x-codec 3-0018:ASOC:tlv320aic3x-codec.3-0018上的 SoC_component_write_no_lock 错误:-6
    [61.048073] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 SoC_component_write_no_lock 错误:-6
    [61.103090] pn54x_DEV_WRITE:i2c_master_send 返回-6
    [61.113141] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 snd_soc_component_update_bits 出错:-6
    [61.123905] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 snd_soc_component_update_bits 出错:-6
    [61.134785] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 snd_soc_component_update_bits 出错:-6
    [61.145817] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 snd_soc_component_update_bits 出错:-6
    [61.156640] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 snd_soc_component_update_bits 出错:-6
    [61.167709] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 snd_soc_component_update_bits 出错:-6
    [61.178522] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 snd_soc_component_update_bits 出错:-6
    [61.193413] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 SoC_component_write_no_lock 错误:-6
    [61.204013] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 SoC_component_write_no_lock 错误:-6
    [72.667422] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 SoC_component_read_no_lock 出错:-6
    [72.677897] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 SoC_component_read_no_lock 错误:-6
    [72.688319] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 SoC_component_write_no_lock 错误:-6
    [72.698811] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 SoC_component_write_no_lock 错误:-6
    [74.506385] healthd:电池 l=85 v=3 t=35.0 h=2 st=2 c=400000 fc=4000000 cc=32 chg=A
    [77.866959] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 snd_soc_component_update_bits 错误:-6
    [77.877635] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 snd_soc_component_update_bits 错误:-6
    [77.888306] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 snd_soc_component_update_bits 出错:-6
    [77.898980] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 snd_soc_component_update_bits 出错:-6
    [77.909638] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 snd_soc_component_update_bits 错误:-6
    [77.920310] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 snd_soc_component_update_bits 错误:-6
    [77.930970] tlv320aic3x-codec 3-0018:asoc:tlv320aic3x-codec.3-0018上的 snd_soc_component_update_bits 出错:-6
    [77.941680] tlv320aic3x-codec 3-0018:ASOC:tlv320aic3x-codec.3-0018上的 SoC_component_write_no_lock 错误:-6

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

    当复位为低电平时、编解码器未就绪、这是 I2C 不工作的原因。

    一旦编解码器的所有电源都通电且稳定、然后编解码器准备就绪、您将释放复位引脚(设置为高电平)、并且您可以重新配置编解码器。

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

    是的、没错。

    一旦复位为高电平、我们需要重新配置编解码器。 但如何做到这一点呢? 需要进行哪些更改? 我们是否需要更改编解码器驱动程序文件?

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

    寄存器被复位、因此无论您为配置编解码器所做的是什么、您都需要重做。

    我不是驾驶员专家、但我认为您不需要进行更改、因为它以前是在工作的。