This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EVMOMAP-L137 audio streaming with uart control interface

Hi all,

using the EVM OMAPL137 board I realized an audio streming application to demonstrate my noise reduction algorithm.

It works fine and by board dip switch I can bypass the processing so that user can listen the algorithm effect.

Now I want to change parameters of noise reduction system and I would integrate my project with a pc application using the UART port.

In a separate project, rs232 comunication works well, but when I integrate the two codes problems start off.

I use two task, one for the audio streaming and one for uart receiver.

UART0 and I2C0 (aic31 control interface) are multiplexed and I suppose this is the origin of my problem.

Is my guess correct?

Thanks for any suggestion,

Diego 

 

  • It seems that the UART example is really using UART2, not UART0 (in spite of the name - what really counts is the device id in the driver properties at the tcf file). The audio example is using I2C0, so the conflict should not be the pinmux in this case.

    Diego said:
    In a separate project, rs232 comunication works well, but when I integrate the two codes problems start off.

    What symptoms are you observing? Is the audio working? Is the serial communication working? Did you remember to make the changes to the DSP/BIOS Configurations file (.tcf)? Did you include all the initializations?

  • Hi Mariana,

    I've attached the code of uart rx task: the error is during uart initialization. No sound is played by the system.
    Any suggestion is really appreciated :-)

    uart tsk.zip
  • Well, all I can see with what you sent me is that the GIO_create failed. Again, when you merged the audio project and the uart project did you make the adaptations in the DSP/BIOS configuration files? Did you start from the audio project and included the uart code?

  • Yes, I started from audio project and I added the part I sent you.

    In the .tcf file I added a new task "uart_rx" and a new user driver "uart0" with relative settings.

    I wrote the reference to "ti\pspiom\uart\lib\OMAPL137\Debug\ti.pspiom.uart.a674" in the file audioSample_Debug.cmd and the project builds.

    I solve the problem with the GIO_create("/UART0", ... instruction: I wrote the device name "uart0" while in the function I used the upper-case version of the string.

    Now the GIO_create returns valid handles, but the all system doesn't work yet: during execution the system doesn't play and if I reload the binary for the second time CCS gives error and disconnects the target.

    Probably I need to read better DSP/BIOS manuals... :-)

     

  • Hi Diego,

    I think I found the conflict. It is pinmux, but it can be easily corrected. Please open the project:

    C:\Program Files\Texas Instruments\pspdrivers_01_20_00\packages\ti\pspiom\platforms\evm6747\build\evmInit.pjt    (or equivalent path you installed it)

    in CCS. Open the source file uart_evmInit.c and change line 75 from:

        PINMUX8 = PINMUX8_UART_ENABLE;

    to

        PINMUX8 = PINMUX8 | PINMUX8_UART_ENABLE;

    Recompile this project to generate a new library.

    Then open your app's project and rebuild all.

  • Hi Mariana,

    streaming and uart work together now, thanks for your help.