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.

TMS320C6655: HW design & application questions

Part Number: TMS320C6655
Other Parts Discussed in Thread: ADS8471, DAC8820

Hi,

I have a customer developing an application to reads/write data in parallel with a C6655x DSP.

Please see below and provide helpful comments to the list of descriptions and answers to the questions.

Thanks in advance,

Simon

Description of the intended system:

  1. We want the device to download/upload tables from a computer using an USB connection. There are currently no high speed demands, so a USB-2 connection would work. Each table can be up to 40 Mbytes big. A latency of few seconds is more than enough. In the future, we may have the DSP to recompute the table, so much less information would need to be transmitted. Additionally, a USB-2 interface would immediately fit in the overall architecture.
  2. The tables are sequences of 16-bit values, which should be written to parallel DACs (DAC8820), or read from parallel ADCs (ADS8471). A rate of 1 MSa/s for each one of the DACs (minimum 2) and each one of the ADCs (minimum 2) should be achieved. That is a minimum rate of 2 MSa/s in each direction. Higher rates would be highly desirable, because they will allow more peripherals, or faster ones. The actual rate is not given by the DSP, but rather by an external trigger, and the resulting sampling is not evenly-spaced.
  3. We prefer parallel to serial because a serial transmission would mean a factor 4x16=64 higher frequencies (at least). Besides, parallel transfers over EMIF appear to have an upper bound of almost 70 MSa/s. Switching between external peripherals will imply intermediate latencies, but we have the impression that our 4 MSa/s requirement could be attained, and there will be room for extensions.
  4. We find it practical to add hardware FIFOs, and to setup the memory transfers as EDMA-transfers in order to comfortably meet the demands. Because no control loop is intended, the additional latencies do not affect the operation. Inspired by documents SPRA543 and SDMA003, we plan to work with FIFOs of the SN74V2x5 family. The FIFO works here as a buffer, the precise throughput requirements can be met by the (external) trigger circuitry, which actually triggers each DAC conversion using pre-latched values. With the proposed DAC/ADCs we achieve latencies of the order of a few nanoseconds.
  5. Due to possible extensions in the future, we are drawn to the c6000 family, using its EMIF-16 port. The cheapest member in that DSP family can probably do the job, and for the time being we will focus on that one. For the initial experiments we consider however the evaluation boards TMDSEVM6657L and TMDSEVM6678L (those “applications in the future” will involve a fair amount of floating-point computations).

 

Questions about the hardware design:

  1. We would like to have an XDS100 Emulator to be able to use CCS in connection to the DSP. We would also prefer the simplest possible design (without an external FPGA). Referring to the diagram of fig. 2.2 in document “/2016/04/C6657-Lite-EVM_TechnicalReferenceManual.pdf” our questions are:
    • At first sight we thought that the orange elements were the key components of the emulator that we need to keep in the final design. However when looking at the schematics in “512992b2_xds100v3r_aug30_2011.pdf” we were not able to identify them. Can you please provide a block diagram of the DSP in combination with the XDS100 emulator?
    • As we don’t intend to use any other emulation capability, we would replace all other components shown in fig. 2.2 with external passive logic. Would this hinder compatibility with CCS?
    • Moreover we would like to know whether we need an additional FPGA, connected to the DSP, for the emulator to be able to work.
  2. Besides the USB connector for the emulator, we would like to have a second independent one. Can you please suggest an USB 2-controller and a communication channel (I²C, SPI, UART,…)? If there are schematics available serving a similar purpose they would be very helpful to us. A throughput of 20 MBytes/s and a latency of 1 s are enough.
  3. How can we deal with the boot configuration in order to leave as many GPIOs free as possible? We will need the GPIOs to control external logic.
  • We're looking into this.

    Best Regards,
    Yordan
  • Simon,

    Here are responses to the questions:

    1.  We would like to have an XDS100 Emulator to be able to use CCS in connection to the DSP. We would also prefer the simplest possible design (without an external FPGA). Referring to the diagram of fig. 2.2 in document “/2016/04/C6657-Lite-EVM_TechnicalReferenceManual.pdf” our questions are:

    At first sight we thought that the orange elements were the key components of the emulator that we need to keep in the final design. However when looking at the schematics in “512992b2_xds100v3r_aug30_2011.pdf” we were not able to identify them. Can you please provide a block diagram of the DSP in combination with the XDS100 emulator?

    TI – Figure 2.2 in the C6657 EVM TRM shows how we interface 3 different JTAG control solutions to the C6657 DSP.  If you only want XDS100 JTAG emulation, you simply need the FTDI chip and the level translator circuitry from 3.3V at the FTDI interface to the 1.8V at the C6657 pins.

    TI - You may also want to implement the FTDI device to be VBUS powered and implement the translators so that there is no leakage when the VBUS power is on and the target board is off.  There is a good example of this in a more recent EVM at http://www.ti.com/tool/TMDXIDK5718.  Please refer to page 23 of this EVM.  The isolation buffers can also be used for the level conversion.

    As we don’t intend to use any other emulation capability, we would replace all other components shown in fig. 2.2 with external passive logic. Would this hinder compatibility with CCS?

    TI – Simplifying the logic is acceptable as the function is not changed.

    Moreover we would like to know whether we need an additional FPGA, connected to the DSP, for the emulator to be able to work.

    TI – No FPGA is needed to operate the DSP.  The power supply sequence control, clock enable control and reset control can come from simple logic.  Please be sure to meet the requirements in the Data Manual.

    Besides the USB connector for the emulator, we would like to have a second independent one. Can you please suggest an USB 2-controller and a communication channel (I²C, SPI, UART,…)? If there are schematics available serving a similar purpose they would be very helpful to us. A throughput of 20 MBytes/s and a latency of 1 s are enough.

    TI – I do not understand this request.  None of the communications channels listed operate at 20MB/s.  Did you mean 20Mb/s?  In that case SPI is a possibility.  You may be able to get devices like the FTDI that can port a SPI interface over USB.  However, you would need to ask them about the capability and proper connections.

    TI – The C665x and C667x DSPs contain Ethernet ports that can easily provide communications at the 20MB/s rate.  PCIe and SRIO are also viable solutions.

    How can we deal with the boot configuration in order to leave as many GPIOs free as possible? We will need the GPIOs to control external logic.

    TI – The BOOTMODE pins can be configured with pull-up and pull-down resistors.  These pins can then be used as GPIO inputs and outputs after the DSP is booted.  Note that any device driving these pins must tri-state their outputs whenever RESETSTATz goes low to allow the BOOTMODE to be latched correctly.

    Tom

  • Thanks Tom!

    This is really helpful. We´ll review the answers and let you know..

    BR,

    Simon