• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Embedded Software » BIOS » BIOS forum » SIO_reclaim for output stream in MCBSP hangs.
Share
BIOS
  • Forum
  • Announcements
Options
  • Subscribe via RSS

SIO_reclaim for output stream in MCBSP hangs.

SIO_reclaim for output stream in MCBSP hangs.

  • Pankaj Bamola
    Posted by Pankaj Bamola
    on Jul 27 2012 07:48 AM
    Prodigy240 points

    I am working on OMAPL138 to develop a voip solution. I am using the mcbsp to transmit and receive the data simultaneously in multichannel mode. OMAP is in slave mode and receiving clock and frame sync externally, clock being at 4 MHZ. Number of channels used is 64.

    The issue i am facing is that the SIO_reclaim for mcbsp output stream hangs with the following configuration for 64 channels although it works fine for 32 channels.

    /*    *    *Mcbsp tx channel confiugration*    *    */

    Mcbsp_DataConfig mcbspChanConfigtx =
    {
        Mcbsp_Phase_SINGLE,
        Mcbsp_WordLength_8,
        Mcbsp_WordLength_8,    /* Dont care for single phase*/
        NUM_OF_CHANNELS,
        NUM_OF_CHANNELS,    /* Dont care for single phase*/
        Mcbsp_FrmSync_DETECT,
        Mcbsp_DataDelay_0_BIT,
        Mcbsp_Compand_ALAW,
        Mcbsp_BitReversal_DISABLE,
        Mcbsp_IntMode_ON_SYNCERR,
        Mcbsp_RxJust_RZF,    /* Dont care for TX         */
        Mcbsp_DxEna_OFF
    };


    /**< clock setup for TX section */
    Mcbsp_ClkSetup mcbspClkConfigtx =
    {
        Mcbsp_FsClkMode_EXTERNAL,
        8000,                        /*8Khz*/
        Mcbsp_TxRxClkMode_EXTERNAL,
        Mcbsp_FsPol_ACTIVE_HIGH,        
        Mcbsp_ClkPol_RISING_EDGE       
    };


    /**< Multi channel setup                                                      */
    Mcbsp_McrSetup mcbspMultiChanCtrltx =
    {
        Mcbsp_McmMode_ALL_CHAN_ENABLED_MASKED,
        Mcbsp_PartitionMode_CHAN_0_15,
        Mcbsp_PartitionMode_CHAN_16_31,
        Mcbsp_PartitionMode_8
    };

    Mcbsp_ChanParams mcbspChanparamtx =
    {
        Mcbsp_WordLength_16,        /* wordlength configured    */
        NULL,                        /* loop job buffer internal */
        0,                            /* user loopjob length      */
        NULL,                        /* global error callback    */
        NULL,                        /* edma Handle              */
        1,                            /* EDMA event queue         */
        8,                            /* hwi number               */
        Mcbsp_BufferFormat_MULTISLOT_INTERLEAVED,
        TRUE,                        /* FIFO mode enabled        */
        &mcbspChanConfigtx,            /* channel configuration    */
        &mcbspClkConfigtx,            /* clock configuration      */
        &mcbspMultiChanCtrltx,        /* multi channel control    */
        0xffffffff,                
        0xffffffff,
        0x00,
        0x00
    };

    /* Mcbsp rx channel configuration*/
    Mcbsp_DataConfig mcbspChanConfigrx =
    {
        Mcbsp_Phase_SINGLE,
        Mcbsp_WordLength_8,
        Mcbsp_WordLength_8,    /* Dont care for single phase*/
        NUM_OF_CHANNELS,
        NUM_OF_CHANNELS,    /* Dont care for single phase*/
        Mcbsp_FrmSync_DETECT,
        Mcbsp_DataDelay_0_BIT,
        Mcbsp_Compand_ALAW,
        Mcbsp_BitReversal_DISABLE,
        Mcbsp_IntMode_ON_SYNCERR,
        Mcbsp_RxJust_RZF,    /* Dont care for TX         */
        Mcbsp_DxEna_OFF
    };

    /**< clock setup for TX section                    */
    Mcbsp_ClkSetup mcbspClkConfigrx =
    {
        Mcbsp_FsClkMode_EXTERNAL,
        8000,                        /*8khz */
        Mcbsp_TxRxClkMode_EXTERNAL,
        Mcbsp_FsPol_ACTIVE_HIGH,        
        Mcbsp_ClkPol_RISING_EDGE,    /*it must be Falling edge for Rx channel*/
    };

    /**< Multi channel setup                                                      */
    Mcbsp_McrSetup mcbspMultiChanCtrlrx =
    {
        Mcbsp_McmMode_ALL_CHAN_ENABLED_MASKED,
        Mcbsp_PartitionMode_CHAN_0_15,
        Mcbsp_PartitionMode_CHAN_16_31,
        Mcbsp_PartitionMode_8
    };

    Mcbsp_ChanParams mcbspChanparamrx =
    {
        Mcbsp_WordLength_16,    /* wordlength configured    */
        NULL,                    /* loop job buffer internal */
        0,                        /* user loopjob length      */
        NULL,                    /* global error callback    */
        NULL,                    /* edma Handle              */
        1,                        /* EDMA event queue         */
        8,                        /* hwi number               */
        Mcbsp_BufferFormat_MULTISLOT_INTERLEAVED,
        TRUE,                    /* FIFO mode enabled        */
        &mcbspChanConfigrx,        /* channel configuration    */
        &mcbspClkConfigrx,        /* clock configuration      */
        &mcbspMultiChanCtrlrx,    /* multi channel control    */
        0xffffffff,
        0xffffffff,
        0x00,
        0x00
    };

    Could anybody please guide me on this. Whether my configuration of the mcbsp is incorrect or there could be some other problem.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sandeep Krishnaswamy
    Posted by Sandeep Krishnaswamy
    on Jul 30 2012 01:50 AM
    Expert7270 points

    Hi Pankaj,

    I guess you are using the BIOS PSP 1.30.01 release. Am I right?

    If you look at the word length configuration, there is conflict in "mcbspChanConfigtx" and "mcbspChanparamtx". Could please correct it? (Same for receive configuration)

    Pankaj Bamola
    /**< Multi channel setup                                                      */
    Mcbsp_McrSetup mcbspMultiChanCtrltx =
    {
        Mcbsp_McmMode_ALL_CHAN_ENABLED_MASKED,
        Mcbsp_PartitionMode_CHAN_0_15,
        Mcbsp_PartitionMode_CHAN_16_31,
        Mcbsp_PartitionMode_8
    };

    Could you please replace "Mcbsp_McmMode_ALL_CHAN_ENABLED_MASKED" with "Mcbsp_McmMode_ALL_CHAN_ENABLED_UNMASKED"? (Same for receive configuration)

    Let me know the result.

    Thanks and Regards,

    Sandeep K

    Does this help with your question? If not, please send back more information. If it answers your question, please click the  Verify Answer  button below

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Pankaj Bamola
    Posted by Pankaj Bamola
    on Aug 04 2012 02:15 AM
    Prodigy240 points

    Hi Sandeep,

    My sincere apologies for the delayed response.

    Below are the answers to your queries:

    • I guess you are using the BIOS PSP 1.30.01 release. Am I right?

     Yes, i am using BIOS PSP 1.30.01.

    • If you look at the word length configuration, there is conflict in "mcbspChanConfigtx" and "mcbspChanparamtx". Could please correct it? 

    I am using the Mcbsp_Compand_ALAW option in the mcbspChanConfigtx as well as mcbspChanConfigrx and hence am using different word length configurations  in "mcbspChanConfigtx" and "mcbspChanparamtx"(as it should be as per my understanding).

    • Could you please replace "Mcbsp_McmMode_ALL_CHAN_ENABLED_MASKED" with "Mcbsp_McmMode_ALL_CHAN_ENABLED_UNMASKED"? (Same for receive configuration).

     As per my understanding and SPRUH77A (Please correct me if i am wrong) , Mcbsp_McmMode_ALL_CHAN_ENABLED_MASKED option will prevent the transmission from being completed(DX pin is held in the high-impedance state; data cannot be shifted out on the DX pin.) and the transmission could be completed only on the channels enabled in the XCEREn and RCEREn registers (which i have done).

    However, I acted as per your advice and it still doesnt work out. The issue remains same as before.

    Thanks for your co-operation.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sandeep Krishnaswamy
    Posted by Sandeep Krishnaswamy
    on Aug 06 2012 03:41 AM
    Expert7270 points

    Hi pankaj,

    Can you please share the Mcbsp register dump just before invoking "SIO_reclaim()"?

    Regards,

    Sandeep K

    Does this help with your question? If not, please send back more information. If it answers your question, please click the  Verify Answer  button below

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use