Building a 96k / 192k version of SS_App_Core for ADSP-SC58x EZ board

Dear support,

The Demo version of SS_App_Core for ADSP-SC58x EZ board supports only 48k sampling rate.

Is it possible to modify the code to support 96k and 192k as well? If YES, how can it be done?

Or is another example available where the support already exist?

BN

Parents
  • There is no example available with 96K or 192K sample rate. You need to modify the example demo application to 96K or 192K based on your requirement. Please refer the following information's how to modify the  example demo application,

    1. The maximum clock range is 24.567MHz in ADSP-SC5xx EZ board, please refer corresponding EZ board harware schematic. You can find the EZ board harware schematic from "https://www.analog.com" by entering processor name as keyword in search. e.g. ADSP-SC589

    The maximum Channels support are,

    48K - TDM16

    96K - TDM8

    192K - TDM4

    2. Modify the SigmaStudio schematic sampling rate to 96K or 192K. Modify the framwork configuration for the SPORT by considering maximum channel support possible with chosen FW sample rate.

    3. Modify the number of channels support in FW application function AudioIoPcgInit() in file adi_ss_fw_audioIO.c

    4. Modify the sample rate support and configurations of ADC and DAC with respect to sample rate. Go through the function adi_ss_system_initialize() in file adi_ss_app_system.c. The ADC and DAC configuration can be done by referring data sheet. You can find the datasheet from "">https://www.analog.com" by entering ADC or DAC name as keyword in search. e.g. ADAU1979 or ADAU1966A

    5. You can verify the FW modification by running application in CCES debug session with build configuration as Debug.

    6. If all configurations is fine then run application and download SigmaStudio schematic.

    Thanks.

  • Thank you for the answer.

    However, I will need more detailed support, since I have not touched these issues before, I need advice specifically on item 2. How is this done?

    Moreover, in the file adi_ss_app_system.c, there is the following section:

        pSysConfig->eAdcSamplingRate = ADI_SS_SYS_SR_48000;
        pSysConfig->eDacSamplingRate = ADI_SS_SYS_SR_48000;
    

    If I try to replace with 

        pSysConfig->eAdcSamplingRate = ADI_SS_SYS_SR_192000;
        pSysConfig->eDacSamplingRate = ADI_SS_SYS_SR_192000;
    

    I find that this symbol is not defined.

    BN

  • You can define macro for 96K or 192K sample rate how it is defined for 48K. You need to modify accordingly for following enum,

    ADI_SS_SYS_SAMPLERATE

    ADI_SS_SYS_ADC_SAMPLERATE

    ADI_SS_SYS_DAC_SAMPLERATE

    Note: You need to modify all other sample rate and channels related framework configurations for ADC and DAC.  

  • Not working. I have edited the .c and .h files where the 48k symbols were defined, and replaced by 192k equivalents.

    The symbols for the 192k are not accepted.

    Description Resource Path Location Type
    Symbol 'ADI_SS_SYS_ADC_SR_192000' could not be resolved adi_ss_sys.c /SS_App_Core0/Source/Framework line 316 Semantic Error
    Symbol 'ADI_SS_SYS_DAC_SR_192000' could not be resolved adi_ss_sys.c /SS_App_Core0/Source/Framework line 336 Semantic Error
    Symbol 'ADI_SS_SYS_SR_192000' could not be resolved adi_ss_sys.c /SS_App_Core0/Source/Framework line 315 Semantic Error
    Symbol 'ADI_SS_SYS_SR_192000' could not be resolved adi_ss_sys.c /SS_App_Core0/Source/Framework line 335 Semantic Error

    If I temporarily edit e.g. ADI_SS_SYS_ADC_SR_192000 to ADI_SS_SYS_ADC_SR_48000 it becomes highlighted blue, right-click "open Decloaration" it opens my definition:

    typedef enum ADI_SS_SYS_ADC_SAMPLERATE
    {
    	ADI_SS_SYS_ADC_SR_192000  = E_ADI_SS_SYS_ADC_SR_192000 /*!< Enum for sampling rate of 192000. */
    }ADI_SS_SYS_ADC_SAMPLERATE;
    
    So something is very strange. I have cleaned and restarted several times.

    Please explain what you mean by:

    "Modify the SigmaStudio schematic sampling rate to 96K or 192K. Modify the framwork configuration for the SPORT by considering maximum channel support possible with chosen FW sample rate."

    Also, please explain why I should refer to the schematic when I change the software.

    I must say, you are very cryptic in your instructions. Please understand that I am very new to Analog Devices SHARC configuration and programming.

    BN

Reply
  • Not working. I have edited the .c and .h files where the 48k symbols were defined, and replaced by 192k equivalents.

    The symbols for the 192k are not accepted.

    Description Resource Path Location Type
    Symbol 'ADI_SS_SYS_ADC_SR_192000' could not be resolved adi_ss_sys.c /SS_App_Core0/Source/Framework line 316 Semantic Error
    Symbol 'ADI_SS_SYS_DAC_SR_192000' could not be resolved adi_ss_sys.c /SS_App_Core0/Source/Framework line 336 Semantic Error
    Symbol 'ADI_SS_SYS_SR_192000' could not be resolved adi_ss_sys.c /SS_App_Core0/Source/Framework line 315 Semantic Error
    Symbol 'ADI_SS_SYS_SR_192000' could not be resolved adi_ss_sys.c /SS_App_Core0/Source/Framework line 335 Semantic Error

    If I temporarily edit e.g. ADI_SS_SYS_ADC_SR_192000 to ADI_SS_SYS_ADC_SR_48000 it becomes highlighted blue, right-click "open Decloaration" it opens my definition:

    typedef enum ADI_SS_SYS_ADC_SAMPLERATE
    {
    	ADI_SS_SYS_ADC_SR_192000  = E_ADI_SS_SYS_ADC_SR_192000 /*!< Enum for sampling rate of 192000. */
    }ADI_SS_SYS_ADC_SAMPLERATE;
    
    So something is very strange. I have cleaned and restarted several times.

    Please explain what you mean by:

    "Modify the SigmaStudio schematic sampling rate to 96K or 192K. Modify the framwork configuration for the SPORT by considering maximum channel support possible with chosen FW sample rate."

    Also, please explain why I should refer to the schematic when I change the software.

    I must say, you are very cryptic in your instructions. Please understand that I am very new to Analog Devices SHARC configuration and programming.

    BN

Children
  • Forgot to mention that it was possible to start the three programs in the debugger without any issues.

    Which is surprising in itself considering the errors mentioned above.

    BN

  • I have decided to put this SS_App_Core Demo project aside for a while since seems to be too complex for my current level. I will return to it when I feel I am ready for it.

    Instead I will try the "adc_dac_playback" project, maybe it will give me some insights.

    I am sure I will have questions there too, should I start a new thread for this?

    BN

  • You need to modify the macro name also, please do the modifications as below,

    1. adi_ss_sys.h

    2. adi_ss_sys.h

    3.adi_ss_app_system.c

    4. adi_ss_sys_adc.h

    5.adi_ss_sys_adc.h

    6. adi_ss_sys_adc.c

    7. adi_ss_sys_dac.h

    8.adi_ss_sys_dac.h

    9. adi_ss_sys_dac.c

    10. adi_ss_sys.c

    11.Re build the project

    This changes may not work completely for 192K sample rate, you need to check for the significance of this sample rate variable and modify FW accordingly.

    Thanks.

  • Thanks, I followed your instructions exactly, but I still get this:

    Description Resource Path Location Type
    Symbol 'ADI_SS_SYS_ADC_SR_192000' could not be resolved adi_ss_sys.c /SS_App_Core0/Source/Framework line 319 Semantic Error
    Symbol 'ADI_SS_SYS_DAC_SR_192000' could not be resolved adi_ss_sys.c /SS_App_Core0/Source/Framework line 342 Semantic Error
    Symbol 'ADI_SS_SYS_SR_192000' could not be resolved adi_ss_sys.c /SS_App_Core0/Source/Framework line 318 Semantic Error
    Symbol 'ADI_SS_SYS_SR_192000' could not be resolved adi_ss_sys.c /SS_App_Core0/Source/Framework line 341 Semantic Error

    Actually, I had already tried this before and got the same result. It is very strange, when I right-click/open Declaration on ADI_SS_SYS_SR_48000 ( which is blue and recognized) next to ADI_SS_SYS_SR_192000, I am taken to adi_ss_sys.h:

    typedef enum ADI_SS_SYS_SAMPLERATE
    {
        ADI_SS_SYS_SR_48000 = E_ADI_SS_SYS_SR_48000,
        ADI_SS_SYS_SR_192000 = E_ADI_SS_SYS_SR_192000
    }ADI_SS_SYS_SAMPLERATE;

    but the line defining ADI_SS_SYS_SR_192000 is apparently ignored.

  • Still not working, maybe I should install the previous version of CCES.