TI中文支持网
TI专业的中文技术问题搜集分享网站

wifi_audio_app移植问题

ti工程师们好!

       我修改了wifi_audio_app程序,把编解码芯片改成wm8960,取消了里面的按键程序和网络传输。由于手头上只有一个板子,想修改程序实现一个板子上将输入的音频输出。在main函数中把跟网络和按键有关的函数都注释了,加了    g_ucMicStartFlag = 1;g_ucSpkrStartFlag = 1;g_loopback = 1。现在遇到的问题是播放没声音,调试的时候发现没进DMA中断函数。main函数如下:

int main()
{      long lRetVal = -1;
    unsigned char RecordPlay;
    BoardInit();
    //
    // Pinmux Configuration
    //
    PinMuxConfig();
    RecordPlay = I2S_MODE_RX_TX;
    g_ucMicStartFlag = 1;
    g_ucSpkrStartFlag = 1;
    g_loopback = 1;
    if(RecordPlay == I2S_MODE_RX_TX)
    {
        pRecordBuffer = CreateCircularBuffer(RECORD_BUFFER_SIZE);
        if(pRecordBuffer == NULL)
        {
            //UART_PRINT("Unable to Allocate Memory for Tx Buffer\n\r");
            LOOP_FOREVER();
        }
    }
    /* Play */
    if(RecordPlay & I2S_MODE_TX)
    {
        pPlayBuffer = CreateCircularBuffer(PLAY_BUFFER_SIZE);
        if(pPlayBuffer == NULL)
        {
            //UART_PRINT("Unable to Allocate Memory for Rx Buffer\n\r");
            LOOP_FOREVER();
        }
    }
    //
    // Configure Audio Codec
    //
    WM8960_Init();
    //
    // Initialize the Audio(I2S) Module
    //   
    AudioInit();
    //
    // Initialize the DMA Module
    //       UDMAInit();
    //if(RecordPlay == I2S_MODE_RX_TX)
    if(RecordPlay & I2S_MODE_TX)
    {
        UDMAChannelSelect(UDMA_CH5_I2S_TX, NULL);
        SetupPingPongDMATransferRx(pPlayBuffer);
    }
    //if(RecordPlay & I2S_MODE_TX)
    if(RecordPlay == I2S_MODE_RX_TX)
    {
        UDMAChannelSelect(UDMA_CH4_I2S_RX, NULL);
        SetupPingPongDMATransferTx(pRecordBuffer);
    }
    //
    // Setup the Audio In/Out
    //        lRetVal = AudioSetupDMAMode(DMAPingPongCompleteAppCB_opt, \
                                 CB_EVENT_CONFIG_SZ, RecordPlay);
    if(lRetVal < 0)
    {
        //ERR_PRINT(lRetVal);
        LOOP_FOREVER();
    }       AudioCaptureRendererConfigure(AUDIO_CODEC_16_BIT, 16000, AUDIO_CODEC_STEREO, RecordPlay, 1);
    //
    // Start Audio Tx/Rx
    //        Audio_Start(RecordPlay);
    //
    // Start the simplelink thread
    //
    //lRetVal = VStartSimpleLinkSpawnTask(9);
    //if(lRetVal < 0)
    //{
    //    ERR_PRINT(lRetVal);
    //    LOOP_FOREVER();
    //}
    //
    // Start the Network Task
    //       //lRetVal = osi_TaskCreate( Network, (signed char*)"NetworkTask",\
                               OSI_STACK_SIZE, NULL,
    //                           1, &g_NetworkTask );
    //if(lRetVal < 0)
    //{
    //    ERR_PRINT(lRetVal);
    //    LOOP_FOREVER();
    //}
    //
    // Start the Control Task
    //        //lRetVal = ControlTaskCreate();
   // if(lRetVal < 0)
    //{
    //    ERR_PRINT(lRetVal);
    //    LOOP_FOREVER();
    //}
    //
    // Start the Microphone Task
    //          lRetVal = osi_TaskCreate( Microphone,(signed char*)"MicroPhone", \
                               OSI_STACK_SIZE, NULL,
                               1, &g_MicTask );
    if(lRetVal < 0)
    {
        //ERR_PRINT(lRetVal);
        LOOP_FOREVER();
    }
    //
    // Start the Speaker Task
    //
    lRetVal = osi_TaskCreate( Speaker, (signed char*)"Speaker",OSI_STACK_SIZE, \
                               NULL, 1, &g_SpeakerTask );
    if(lRetVal < 0)
    {
        //ERR_PRINT(lRetVal);
        LOOP_FOREVER();
    }
    //
    // Start the task scheduler
    //
    osi_start();     }
Terry Han:

建议在仿真状态查看DMA的相关设置

//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

赞(0)
未经允许不得转载:TI中文支持网 » wifi_audio_app移植问题
分享到: 更多 (0)