AnsweredAssumed Answered

SPORT communication between BF548 and BF561

Question asked by CyberSamu on May 20, 2011
Latest reply on Aug 4, 2011 by Prashant

Good morning
I'm trying to build an application that involves one BF561 and one BF548, these DSP communicate each other through the SPORT interface.
The dimension of the message packet is 50KByte, with one header at the beginning of the message and one trailer at the end of the message.
What I see is that sometimes the packet that the DSP receive is corrupted.
I explain better: if the header should be "_START__", sometimes I receive "    RT__".

 

This is the value of the register of the SPORT interface:

 

SPORT TX -> BF561 ->     *pSPORT0_TCR1 = 0x4603
            *pSPORT0_TCR2 = 0x010F
            *pSPORT0_TCLKDIV = 0x000A
            *pSPORT0_TFSDIV = 0x0010

 


SPORT RX -> BF548 ->     *pSPORT3_RCR1 = 0x4401
            *pSPORT3_RCR2 = 0x010F
            *pSPORT3_RCLKDIV = 0x000A
            *pSPORT3_RFSDIV = 0x0010

 

Only in BF548 the DMA is set for RX.

 

            *pDMA20_PERIPHERAL_MAP = PMAP2_SPORT3RX;
                *pDMA20_X_COUNT = packet_size/2;
                *pDMA20_X_MODIFY = WDSIZE_16;
                *pDMA20_Y_COUNT = 0;
                *pDMA20_Y_MODIFY = 0;

 


I've added 16bytes of dummy vaule before the header and 16bytes before the trailer, and the application seems to work fine.

 

Could someone help me?

 

Regards.

Outcomes