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.

[参考译文] CC8531:如何实现 CC8531 (或 MCU)与主机之间的数据通信、与多 HID 模式类似?

Guru**** 2538950 points
Other Parts Discussed in Thread: CC8531

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/715105/cc8531-how-to-achieve-data-communication-between-the-cc8531-or-mcu-and-the-host-similar-to-multi-hid-mode

器件型号:CC8531

你(们)好  

在这方面,我有一个问题:

我在主机控制模式下使用从设备、并实现了与主设备的自动配对、这意味着只需按下任何按钮即可。

现在、我的问题是我无法听到从主设备到从设备的任何音频。  

如果我不在配置器中使用主机控制选项、那么我会听到。

请告诉我是否可以在主机控制模式下执行任何操作来获取音频。

此致、

Sivaram

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

    您可以共享硬件配置吗? 我´s 您仔细研究了 CC85xx 用户指南、对吧?

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

    您好、Fredrik、

    我使用 MSP430作为主机控制器、并按照 CC8531指令从 MSP430和 CC8531进行 SPI 连接。

    在主机中、我能够控制 CC8531 (实现了自动配对)、但我唯一的问题是我无法听到主设备发出的任何声音。 我通过选择主机控制模式生成了从机映像,并刷写到从机(cc8531),并尝试使用 TI 发布的示例从机调试, 在这里、我能够通过将 DeviceID 写入非易失性存储器来自动配对、并且我看到与主板配对发生 在主板之后、我通过馈送主板的 MIC 测试音频、并尝试在从器件的耳机端口监听、但 没有音频。

    我使用以下命令来写入器件 ID 和自动配对。

      ehifCmdExec (EHIF_CMD_NVS_SET_DATA、sizeof (EHIF_CMD_NVS_SET_DATA_PARAM_T)、&ehifCmdParam);

     ehifCmdExec (EHIF_CMD_NWM_do_join、sizeof (EHIF_CMD_NWM_do_join_param_T)、&ehifCmdParam);

    此致、

    Sivaram

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

    我假设您的从设备也是主机控制的吗? 您是否已验证主机处理器是否正确配置了您的编解码器?

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

    您好、Fredrik、

    从设备仅处于主机控制模式、主设备 I 在自主模式下运行。

    在与主器件实现自动配对后,我正在从主机配置如下的从编解码 器:

    memset (&ehifCmdParam、0xFF、sizeof (EHIF_CMD_NWM_ACH_SET_USAGE_PARAM_T));
    AchifCmdParam.nwmAchSetUsage.pehUsage[0]= 0;//左前-> I2S 左侧
    AchifCmdParam.nwmAchSetUsage.pehUsage[1]= 1;//右前-> I2S 右侧
    ehifCmdExec (EHIF_CMD_NWM_ACH_SET_USAGE、sizeof (EHIF_CMD_NWM_ACH_SET_USAGE_PARAM_T)、&ehifCmdParam);

    请告诉我是否需要配置(从编解码器)主机的任何其它内容。

    此致、

    Sivaram

     

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

    是否可以发送用于启动链接和开始音频流的 EHIF 命令的完整列表?

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

    您好、Fredrik、

    请查找所有详细信息:

    我的要求是一组人员对话,但此解决方案在广播模式下支持1个主设备和最多4个从设备。 所以我的想法是、任何从器件都可以通过开关控制(刷写主器件映像)成为主器件、所有其他从器件都应该自动与新主器件配对并监听。

    为了实现上述功能,在主机处理器中,我对所有设备的设备 ID 进行硬编码,并尝试依次连接,如:

    伪代码:

    while ()   

    连接到 Dev1  

       如果不成功

    连接到 Dev2  

        如果不成功

     连接到 Dev3

     }    

    首先、我使用了两个主器件和一个从器件、每次都使用一个主器件、从器件应自动配对、我可以实现此自动配对、但音频不会出现。  

    主设备我在自主模式下用作独立设备、在主机控制模式下用作从设备。

    以下是我使用的命令列表、  

    if (!(ehifGetStatus ()& BV_EHIF_STAT_Connected))

    nwkId = 0x2001C198;

    //将新的网络 ID 放入 CC85XX 非易失性存储中

    initParam();
    ehifCmdParam.nvsSetData.index = 0;
    ehifCmdParam.nvsSetData.data = 0x2001C198;
    ehifCmdExec (EHIF_CMD_NVS_SET_DATA、sizeof (EHIF_CMD_NVS_SET_DATA_PARAM_T)、&ehifCmdParam);
    CNT = 0;
    while (1)

    CNT ++;
    status_master = ehifGetStatus();

    if (!(STATUS_MASTER & BV_EHIF_STAT_Connected))

    initParam();
    ifCmdParam.ehcEvtClr.claredEvents = BV_EHIF_EVT_NWK_CHG;
    ehifCmdExec (EHIF_CMD_EHC_EVT_CLR、sizeof (EHIF_CMD_EHC_EVT_CLR_PARAM_T)、&ehifCmdParam);
    initParam();
    eifCmdParam.ehcEvtMask.irqGioLevel = 0;
    ifCmdParam.ehcEvtMask.eventfilter = BV_EHIF_EVT_NWK_CHG;
    ehifCmdExec (EHIF_CMD_EHC_EVT_MASK、sizeof (EHIF_CMD_EHC_EVT_MASK_PARAM_T)、&ehifCmdParam);

    //未连接:开始连接操作
    initParam();
    ehifCmdParam.nwmDoJoin.joinTo=100;
    ehifCmdParam.nwmDoJoin.deviceId = nwkId;
    ehifCmdExec (EHIF_CMD_NWM_do_join、sizeof (EHIF_CMD_NWM_do_join_param_T)、&ehifCmdParam);

    else //一旦连接发生,则配置音频。

    memset (&ehifCmdParam、0xFF、sizeof (EHIF_CMD_NWM_ACH_SET_USAGE_PARAM_T));
    AchifCmdParam.nwmAchSetUsage.pehUsage[0]= 0;//左前-> I2S 左侧
    AchifCmdParam.nwmAchSetUsage.pehUsage[1]= 1;//右前-> I2S 右侧
    ehifCmdExec (EHIF_CMD_NWM_ACH_SET_USAGE、sizeof (EHIF_CMD_NWM_ACH_SET_USAGE_PARAM_T)、&ehifCmdParam);
    中断;




    这些是我正在使用的 EHIF 命令、请告诉我是否需要使用任何其他命令来配置音频。

    Master:我在工具中使用自主模式配置并刷写映像,这里没有主机。

    从站:使用主机 MSP430,可使用配置器中的主机控制选项生成从站映像。

    注: 如果我在工具中使用自主模式生成从属映像,则音频将会发出,但不会进行自动配对,原因可能是它不允许在 NVRAM 中写入设备 ID。        

    此致、

    Sivaram

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

    请尝试以下操作:
    - 运行 VC_SET_VOLUME
    - 运行 NWM_GET_STATUS_S 并检查输出
    - 在每个 EHIF 操作前后运行 ehifGetStatus(),并检查输出

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

    我尝试了 VC_SET_VOLUME,但未解决。

    但最后我可以实现这一点。

    感谢您的回复。

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

    那么、它现在可以工作吗? 您采取了什么措施来解决它?

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

    您好、Fredrik、

    是的、它可以正常工作、原因是我连续发送了连接命令、而是发送了一次并等待。

    此致、

    Sivaram