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.

C5515 eZDSP USB Stick

Hi!

I am trying to achieve the following:

1. I have a PC program that sends/receives speech samples to/from DAC/ADC.

    Speech samples are taken at 8KHz at 16 bits / sample.  I understand eZDSP USB stick

   has built-in DAC/ADC. However, I have to use DAC/ADC which is already in use in the PC.

2. I would like to send the speech samples acquired in 1 above from PC to DSP

    via USB interface of eZDSP C5515.

3. DSP will process the speech samples.

4. DSP will send the processed speech samples back to PC via the USB interface of eZDSP USB stick.

Here comes my questions!

1.  To achieve these, do I need USB driver to work with the eZDSP USB stick?  Does the eZDSP USB stick

    come with the proper driver for win2000 server?  If not, how can I get the proper driver?

2. Can you show me an PC example code in C how to send/receive speech samples to/from DSP

    utilizing the USB driver?  

3. Can you show me an DSP example code in C for eZDSP USB stick to receive/send speech samples from/to

    PC utilizing the USB driver?

Thanks.

BR

HG KIM

PS: If eZDSP 5515 is hard to achieve my goal, then please advice me other DSP board or DSP card that is more proper.

  • hi,

    1.  To achieve these, do I need USB driver to work with the eZDSP USB stick?  Does the eZDSP USB stick

        come with the proper driver for win2000 server?  If not, how can I get the proper driver?

     ---> You need to create yourself.

    2. Can you show me an PC example code in C how to send/receive speech samples to/from DSP

        utilizing the USB driver?  --> Send my your email address to hyunkim@ti.com

    3. Can you show me an DSP example code in C for eZDSP USB stick to receive/send speech samples from/to

        PC utilizing the USB driver?

    http://processors.wiki.ti.com/index.php/C5000_Chip_Support_Library

      -->  CSL 2.1 includes USB examples.

    Regards,

    Hyun

  • hi,

    Received ezdsp c5515 usb stick two days ago and tried it.  CSL 2.1 USB dma example works ok. Thank you

    for your help.

    I still have few questions.

    1. The other usb examples didn't work.  They were built OK but were not opened by debugger, displaying

         "unable to intialize the target".  Switching back to the USB dma example, it works again OK.  Are there

        anything that I have to do for examples that don't work.

     

    2. I think USB dma example is good starting point for my app.  However, due to my limited

       knowledge about USB, it is kind of hard to understand it.  Please, tell me if there are better

        and easier  programming examples than CSL USB examples  for my application explained below;

        - my PC host program sends an audio stream (for example 20 ms of speech samples)

        - DSP will wait until the audio stream is received.  When receiving it, DSP process it and send back to PC.

     

    Also, I would like to share a hint with other users as follows;

    1. when imorting CSL examples, use 'open existing eclipse project'.

        Opening CCS project won't work.

     

    Thanks and regards,

     

    HG KIM

     

     

     

     

  • Hi  Hyun,

     

    Thanks to your assistance, I was able to make it run USB DMA example with CSL 2.1 as well as CSL 2.5.

    I was able to send data from host PC to ezdsp C5515 USB device. I was also able to receive the same data

    back from the USB.

     

    However, when I modified the USB CSL example to insert my real data to send to the HOST PC, I was not

    able to get data that I expected.  Please, review the image below.  The screen shows a TX part of 'csl_usb_dma_example.c'.

    On the line 651, I modified the array of usbDataBuffer to simulate my real TX data.

    When I put 0 in usbDataBuffer, I get 0 correctly in my HOST PC program.

    When I put 1 in the same array, I get 256. When I put 2, I get 512, When I put 3, I get 768.

    Would you explain why I got 256 for 1, 512 for 2, and so on?

    Am I not supposed to insert my real TX data in that position?  Please, advice me.

    Thanks.  Regards

     

     

     

     

     

     

     

     

  • Hi Hyun,

    Please, ignore my previous question. I figured out by myself. It was because the order of bytes

    is different from PC and DSP. 

    Thanks anyway

    HG KIM

     

  • Thanks for letting me know that you have a good progress.

    Regards,

    Hyun

  • Hi, Hyun!

    Thanks to your assistance, I was able to run USB DMA example in CSL 2.1 and 2.5.

    However, I have few more quesitons in utilizing the USB DMA example for my apps.

    1. USB full speed (DSP TX)

        - the example sends a packet of 64 bytes at a time. To send more packets (for example two packets

         of 64 bytes each, I did the following coding shown in the image below.  It does not seem to work.

         Please, tell me this is the right way of doing it? If not, lease tell me a proper way.

     

    2. USB full speed (DSP RX)

        - The TI USB DMA example receives a packet of 64 bytes and saves it usbDataBuffer.

          Where can I reliably access the received data? 

    3. USB HIGH Speed?

        - From the doc, I understood that a packet of 512 bytes can be sent at a time under high speed.

        - Would you tell me what needs to be modified to make the USB DMA example operate in high speed?

    Thanks and regards,

    HG KIM