ΣSigmaStudio Ask AI Русский Log in

ADSP-21569 SPORT Core transfer

Processors & DSP Franciscus Aug 3, 2021 00:00 2 replies Original on forum ↗
Subscribe
Franciscus Question
Aug 3, 2021 00:00

Hello,

Can anyone share with me a working example of using SPORT in core transfer mode?
There are examples of using DMA everywhere, but I need to run SPORT in core transfer mode for ADSP21569.
I will be very gratefull for any help!

Best regards,
Franciscus

core transfer

ADSP-21569

cces

Audio Signal Processors

dsp

sport

SHARC Audio Processors/SoCs

SHARC processor

Show More

Franciscus Reply
Aug 3, 2021 00:00

Hi,

I made a few tries. Below I am attaching my code.
It is about sending 0xaaaa value continuously for testing purposes.
The CLK and FS lines work for me.
Unfortunately, on D0 (line DAI0_PB_05) I still have high impedance.
What could be the reason why the data is not pushed to SPORT1_AD0 line at all?

#define SPORT_DEVICE_1A 1u
/* SPORT Handle */
ADI_SPORT_HANDLE hSPORTDev1ATx;//TX

void SPORT_Test_CoreTransfer(void)
{

*pREG_PADS0_DAI0_IE = BITM_PADS_DAI0_IE_VALUE;
*pREG_PADS0_DAI1_IE = BITM_PADS_DAI1_IE_VALUE;

SRU(SPT1_ACLK_PBEN_O, DAI0_PBEN04_I);
SRU(SPT1_ACLK_O, DAI0_PB04_I);
//
SRU(SPT1_AD0_PBEN_O, DAI0_PBEN05_I);
SRU(SPT1_AD0_O, DAI0_PB05_I);

SRU(SPT1_AFS_PBEN_O, DAI0_PBEN01_I);
SRU(SPT1_AFS_O, DAI0_PB01_I);

adi_sport_Open(SPORT_DEVICE_1A,ADI_HALF_SPORT_A,ADI_SPORT_DIR_TX, ADI_SPORT_SERIAL_MODE, SPORTMemory1A,ADI_SPORT_MEMORY_SIZE,&hSPORTDev1ATx);
adi_sport_ConfigData(hSPORTDev1ATx,ADI_SPORT_DTYPE_ZERO_FILL,31,false,false,false);
adi_sport_ConfigClock(hSPORTDev1ATx,64,true,false,true);
adi_sport_ConfigFrameSync(hSPORTDev1ATx,33,true,true,false,true,true,false);

adi_sport_RegisterCallback(hSPORTDev1ATx,SPORTFramCallbackTx, NULL);

while(1)
{
uint32_t opcode1 = 0xaaaa;
adi_sport_CoreTransfer(hSPORTDev1ATx, &opcode1, 4, ADI_SPORT_CHANNEL_PRIM);
for(int i = 0; i < 100000; i++)
{
}
tfp_printf("Test_SPORT_CoreTransfer\r\n");
}
}

ADIApproved Reply
Aug 13, 2021 00:00

Hi

This query is handled through private support. To avoid duplication of efforts, you can continue the discussions through private support and we will post the final resolution here.

Regards,
Anand Selvaraj