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.

CC3200 wifi_audio_app 急求助!!!

Other Parts Discussed in Thread: CC3200

TI,工程师们好!

            CC3200SDK-1.1.0-windows-installer.exe**************************开发环境

            servicepack_1.0.0.10.0.bin******************************************固件

            LAUNCHXL rev4.1    ************************************************一块

            AUDIO BOOSTERPACK rev3.0*************************************一块

            把官方的代码WIFI_AUDIAO_APP原封不动的烧录到开发板上,实现不了音频PCM的传输。

之后仿真,发现如下几个问题,望工程师们能够不辞辛苦,帮我解答。在此先谢谢你们了!

           问题一:连接及请求IP不成功。

                        //Connect to Network
                       lRetVal = ConnectToNetwork();

                       在这个函数中

                                      //Couldn't connect Using Auto Profile
                                       if(uiConnectTimeoutCnt==AUTO_CONNECTION_TIMEOUT_COUNT)
                                       {
                                                   CLR_STATUS_BIT_ALL(g_ulStatus);

                                                    //Turn Green LED On
                                                    GPIO_IF_LedOn(MCU_GREEN_LED_GPIO);

                                                    //Connect Using Smart Config
                                                   lRetVal = SmartConfigConnect();
                                                   ASSERT_ON_ERROR(lRetVal);

                                                   //Waiting for the device to Auto Connect
                                                   while((!IS_CONNECTED(g_ulStatus)) || (!IS_IP_ACQUIRED(g_ulStatus)))
                                                   {
                                                         MAP_UtilsDelay(500 );
                                                   }

                                                   //Turn Green LED Off
                                                   GPIO_IF_LedOff(MCU_GREEN_LED_GPIO);
                                           }

                    程序会一直到 while((!IS_CONNECTED(g_ulStatus)) || (!IS_IP_ACQUIRED(g_ulStatus)))中请求不成功,这是为什么???(注明:跑官方wifi_ap 和wifi_station程序是没问题的,说明硬件不会有问题及跳线也不会有问题。)

                    这个程序是做station模式的吧?我想用电脑接收PCM流。这种链接方式不会有错吧?

         问题二:2435语音芯片,DMA中断void DMAPingPongCompleteAppCB_opt()中if(MAP_uDMAIntStatus() & 0x00000010),返回的值为什么一直是0x00或0x32,偶而还会出现0x48.这是为什么?datasheet中DMA寄存器说明讲的太浅了,资料太少了,让我无从下手。

                                         

processors.wiki.ti.com/.../CC32xx_Summary_of_Known_Issues

期待你们的回复。最好能够详细点。

                        

 

       

  

  • 如果你之前没有配置过CC3200, 它默认是进入Smart Config模式的,你需要用手机上的Smart Config APP配置一下才可以连的上路由器。

    你这样尝试后再测试看看。

  • 你好,手机如何配置smartconfig模式,不会啊!能教教我么?

    还有我尝试过修改程序,把网络进程干掉,只留语音部分,请问为什么DMA中断中,收不到语音数据?详细见发帖。

    拜托了!

  • smart config的APP可以从这里下载: http://www.ti.com/tool/smartconfig

  •   你好,

              首先感谢你不辞辛苦的回答我的提问。

             smart config待会我就试试。

             能否先回答下我的第二个问题,语音问题。这两天我又发现一个问题,在lv320aic3254初始化过程中,

    J=I2C_IF_Write(CODEC_I2C_SLAVE_ADDR, ucData, 2, 1);
    if(J !=0)
    return (1U<<31);
    MAP_UtilsDelay(27000);

    J=I2C_IF_ReadFrom(CODEC_I2C_SLAVE_ADDR, &ucData[0], 1,&val[0],1);
    if(J !=0)
    return (1U<<31);

    if(val[0] != val[1])
    ++I;

    其中I J使用来判断写入的值与读出的值是否相等。

    当我执行完所有初始化后发现变量“ I ”  的值不是0,是否可以断定初始化配置部分有问题???

    请问你们有没有测试过这个DEMO?官方DEMO是否audio可行?

    请大神帮组,你们的帮助对我非常重要,谢谢大神。

  • 我是一路走来,充满泪水。

  • 你好,我也遇到了这个问题,卡在 while((!IS_CONNECTED(g_ulStatus)) || (!IS_IP_ACQUIRED(g_ulStatus)))一直连不上,网上下的安卓的Smart Config Application 是exe后缀的无法安装,用的网页版的好像一直无效,不知咋整了,如果已经解决请回复我,谢谢

  • 这个说明CC3200未连接到AP或者没有获取AP分配的IP地址,可以用豌豆荚等国内的APP下载Smartconfig进行配置,或者直接将路由器的名字和密码写入到程序中,还可以通过串口将路由器的名字和密码输入,让CC3200连接到路由器就可以进行wifi audio的测试了,

    Ps,关于wifi audio的一些简单笔记:

    wifi audio 语音双向传输的例子,通过CC3200的硬件IIS接口进行数据的无线传输,通过驱动CODEC芯片进行编解码工作,

    // 主函数的介绍如下 MAIN FUNCTION 
    //By default example come up in loopback mode means it will read data on MIC and playback to speaker.
    //Verify whether device coming up with loopback mode or not for further debugging. For loopback test use only one LP at a time.
    //发射板的 SW3 键
    //接收板的 SW2 键

    //Now follow below sequence once both the LP acquired the IP:
    //1. Ensure Line-IN and Line-OUT points are connected appropriately on both the launch pads.
    //2. Upon successful connection to AP, press SW2 on LP1. Red LED will switch off on LP1.
    //3. Once LP1 connects to LP2, the red LED on LP2 will switch off.
    //4. Now press SW2 on LP2 and SW3 on LP1. Red LED will switch on LP2. ---操作步骤有问题,按照下面的方法操作!

    //The demo in the SDK does support simultaneous bi-directional (full duplex) audio. This is achieved by exercising the 
    //two parallel paths (as described below) for the audio-in and audio-out paths.
    //
    //Audio-in jack -> 3200 McASP Data pin 1 -> I2S serializer 1 -> Audio Tx Task -> Audio transmit socket --- Over the air
    // |
    // V
    //Audio-out jack <- 3200 McASP Data pin 0 <- I2S serializer 0 <- Audio Rx Task <- Audio receive socket --- Over the air
    //
    //Each of the paths are simplex individually but together it achieves the full duplex audio transfer.
    //------------------------run in 44.1kHz or 48kHz instead of 16kHz (default)--------------------
    //You need to make following changes for 44.1/48 KHz 16-bit stereo PCM:
    //
    //1. Add below code lines in AudioCodecConfig() after “if(bitClk == 512000)”
    //
    //else if(bitClk == 1536000 || bitClk == 1411200)
    //{
    //AudioCodecPageSelect(TI3254_PAGE_0);
    //
    //AudioCodecRegWrite(TI3254_CLK_MUX_REG, 0x03); // PLL Clock is CODEC_CLKIN
    //AudioCodecRegWrite(TI3254_CLK_PLL_P_R_REG, 0x91); // PLL is powered up, P=1, R=1
    //AudioCodecRegWrite(TI3254_CLK_PLL_J_REG, 0x38); // J=56
    //AudioCodecRegWrite(TI3254_CLK_PLL_D_MSB_REG, 0x00); // D = 0
    //
    //AudioCodecRegWrite(TI3254_CLK_NDAC_REG, 0x82); // NDAC divider powered up, NDAC = 2
    //AudioCodecRegWrite(TI3254_CLK_MDAC_REG, 0x87); // MDAC divider powered up, MDAC = 7
    //AudioCodecRegWrite(TI3254_DAC_OSR_MSB_REG, 0x00); // DOSR = 0x0080 =
    //AudioCodecRegWrite(TI3254_DAC_OSR_LSB_REG, 0x80); // DOSR = 0x0080 = 128
    //
    //AudioCodecRegWrite(TI3254_CLK_NADC_REG, 0x82); // NADC divider powered up, NADC = 2
    //AudioCodecRegWrite(TI3254_CLK_MADC_REG, 0x87); // MADC divider powered up, MADC = 7
    //AudioCodecRegWrite(TI3254_ADC_OSR_REG, 0x80); // AOSR = 128 ((Use with PRB_R1 to PRB_R6, ADC Filter Type A)
    //}
    //
    //2. In AudioCaptureRendererConfigure() replace 512000 with 1411200 for 44.1KHZ and 1536000 for 48KHz
    //
    //3. In main.c pass 44100 or 48000 in place of 16000 as argument for AudioCodecConfig()
    //4. In main.c pass 44100 or 48000 in place of 16000 as argument for AudioCaptureRendererConfigure() 
    //
    //As don't have expertise on Audio codec, so it is best to post query in TI-Audio codec((AIC3254) ) forum to know how to configure PLL related configuration.
    //特别注意:
    //(1)PLAY_WATERMARK宏定义修改 reducing latency or delayed playback 回放延时问题--注意需要修改两个地方!network+pcm_handler
    // 详见(Wifi Audio App 8k sample rate delayed playback) https://e2e.ti.com/support/wireless_connectivity/simplelink_wifi_cc31xx_cc32xx/f/968/p/394864/1400223#1400223
    //(2)Unicast通过mDNS获取目的IP地址进行一对一的音频播放,而MuitiCast则采用mDNS的IP地址224.0.0.251进行广播音频数据
    //(3)mDNS使用服务器开启及客户端请求问题
    // 详见(CC3200 WiFi Audio App) http://e2e.ti.com/support/wireless_connectivity/simplelink_wifi_cc31xx_cc32xx/f/968/t/438276
    // 详见(How 2 CC3200s get each other IP address?) http://e2e.ti.com/support/wireless_connectivity/simplelink_wifi_cc31xx_cc32xx/f/968/p/400118/1415303#1415303
    //(4)回放模式设置
    // (Using Audio booster pack wifi demo app example CC3200) http://e2e.ti.com/support/wireless_connectivity/simplelink_wifi_cc31xx_cc32xx/f/968/t/390582#pi239031348=2&pi239031350=3
    //(5)操作步骤
    //<1>按下复位键(SW1)
    //<2>按下发射板的 SW3 键,绿灯长亮
    //<3>再按下接收板的 SW2 键,黄灯长亮,红灯也长亮
    //此时发射板的红灯及黄灯熄灭,绿灯常亮表示发射板正在传输音频,接收板绿灯熄灭,黄灯及红灯常亮表示正在接收音频
    //(6)关于双向音频流控制
    //(does the wifi audio sample really running on bidirectional?) http://e2e.ti.com/support/wireless_connectivity/simplelink_wifi_cc31xx_cc32xx/f/968/t/402341
    // 在(5)基础上
    // <4>再按下发射板的SW2键,此时绿灯和黄灯亮
    // <5>再按下接收板的SW3键,此时绿灯,黄灯和红灯都亮,而且之前的发射板的三个灯也全亮。---双向语音设置成功!
    //(7)注意在手机播放音频信号,用CC3200无线接收播放会有"叭叭叭"的杂音,是由于手机射频信号造成的!将手机设置为飞行模式再次播放杂音消除!
    //(8)关于无线UDP数据量问题
    // UDP每包发送1kBytes数据,16kHz采样率*16bit*2通道=64kBytes字节/s 每秒采集16k次=32k个高低电平,高低电平=左右声道,每个声道16bit数据表示,
    // 则有每秒32k*2Bytes=64kBytes数据流!也就大约512kbps!如果采用44.1kHz则会产生大约1.5Mbps带宽
    // 一般音频mp3的音质标准品质为128Kbps约4MB/首 超高品质为320Kbps约10MB/首
    //(9)连接AP的方式采用直接连接的方式,其他路由器注意名称和加密密码的修改!


    //操作步骤
    //首先设置路由器:
    #define SSID_NAME "CC3200AP" /*cc3200demo AP SSID */
    #define SECURITY_TYPE SL_SEC_TYPE_WPA_WPA2 /* SL_SEC_TYPE_OPEN Security type (OPEN or WEP or WPA*/
    #define SECURITY_KEY "12345678"
    //<1>按下复位键(SW1)
    //<2>按下发射板的 SW3 键,绿灯长亮
    //<3>再按下接收板的 SW2 键,黄灯长亮,红灯也长亮 ---单向语音设置成功!
    //<4>再按下发射板的SW2键,此时绿灯和黄灯亮
    //<5>再按下接收板的SW3键,此时绿灯,黄灯和红灯都亮,而且之前的发射板的三个灯也全亮。---双向语音设置成功!
    // 通过板卡上的MIC和插入的耳机就也进行语音双向传输了

  • 我在运行wlan_station的时候把common.h的路由器设置改变了,可以连上路由器并且访问网站,如下图

    您说直接将路由器的名字和密码写入到程序中,我不太确定还需要修改个文件

  • 如你贴的图片显示的,直接将路由器的名字和密码写入到程序中,的意思就是修改这个common.h文件,在进行Wlan Connection时候就会直接连接到指定的路由器上。

  • 如果是这种情况的话我该如何操作才能连接到网络?

  • 在不使用手机的SmartConfig的情况下,

    操作步骤
    <1>首先设置路由器:
    #define SSID_NAME "CC3200AP" /*cc3200demo AP SSID */
    #define SECURITY_TYPE SL_SEC_TYPE_WPA_WPA2 /* SL_SEC_TYPE_OPEN Security type (OPEN or WEP or WPA*/
    #define SECURITY_KEY "12345678"

    <2>在ConnectToNetwork()函数中增加连接到路由器的程序代码

    //---------------------------------------------Add 2016.11----------------------------------------------------
    SlSecParams_t secParams = {0};
    // long lRetVal = 0;

    secParams.Key = (signed char*)SECURITY_KEY;
    secParams.KeyLen = strlen(SECURITY_KEY);
    secParams.Type = SECURITY_TYPE;

    lRetVal = sl_WlanConnect((signed char*)SSID_NAME, strlen(SSID_NAME), 0, &secParams, 0); //SimpleLinkWlanEventHandler()---[WLAN EVENT]
    ASSERT_ON_ERROR(lRetVal);

    // Wait for WLAN Event
    while((!IS_CONNECTED(g_ulStatus)) || (!IS_IP_ACQUIRED(g_ulStatus))) //调用SimpleLinkNetAppEventHandler() 获取网络连接资源---[NETAPP EVENT]
    { //等待SL_NETAPP_IPV4_IPACQUIRED_EVENT 事件发生 获取了IP及AP的Gateway=192.168.1.1
    // Toggle LEDs to Indicate Connection Progress
    GPIO_IF_LedOff(MCU_IP_ALLOC_IND); //RED LED闪烁等待
    MAP_UtilsDelay(800000);
    GPIO_IF_LedOn(MCU_IP_ALLOC_IND);
    MAP_UtilsDelay(800000);
    }
    return SUCCESS;
    //-----------------------------------------------------------------------------------------------------

  • 非常感谢,自己再稍微改了一改,已经能够传输音频

  • 可以按照操作步骤,测试音频的双向传输测试,这个Audio的例子还是做得非常不错的!

  • 您好,我在测试中出现了一些问题,连不上AP,请问能看一下你修改后的代码吗?