AnsweredAssumed Answered

Proper SPORT Initialization - TDM (Multichannel) Mode

Question asked by unh-audio-ee on Mar 13, 2017
Latest reply on Apr 20, 2017 by Jithul_Janardhanan



I've been developing an LMS filter on the ADSP 21489 EzKit, using the "Block-based Talkthru" Project as a framework - one of the things I'm concerned about is having SPORT1B properly enabled. I have SPORT1B routed to ADC2 and SPORT1A routed to ADC1 with the SRU, and I'm wondering if both the "initSPORT01_TDM_mode.c" and the "blockProcess_audio.c" are written correctly. SPORT0A is the transmitter, routed to DAC1.


I may be mistaken, but within initSPORT01_TDM_mode.c, I modified the DMA chaining section to include this line of code:


 *pCPSP1B = (unsigned int)TCB_RxBlock_A0 - OFFSET + 3; //additional line of code to enable SPORT_1B.


I also modified the SPORT1 control register to include SCHEN_B and SDEN_B:


*pSPCTL1 = SCHEN_B | SDEN_B | SCHEN_A | SDEN_A | SLEN32; //additional modification.



My original goal was to institute the FxLMS filter, but I wasn't quite sure how to modify the entire project to include a white noise generation section for the secondary path plant modeling. I've attached the LMS C file with the function prototype as well, if needed. I'm currently just trying to get SPORT1_DB to operate properly with the "blockProcess_audio.c" file. Thanks in advance.