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.

RTP > DMM: ECC and Data Size question

Other Parts Discussed in Thread: TMS570LS3137

Hello Forum,

I've the intention to connect two TMS570 CPUs by the RTP/DMM interface using the following scheme:

           .---------------.
           |               |
           |  TMS570LS3137 |
           |               |    f: ~50 MBit/sec
           |  RTP     DMM  |    Data Width: 4 bit
           '--+-+----------'
              | |     +^+
              | |     | |
              | |     | |
              | |     | |
              + +     | |
               V      | |
           .----------+-+--.
           |  DMM     RTP  |
           |               |
           |  TMS570LS3137 |
           |               |
           '---------------'

There I've following several questions that the TRM couldn't answer to me satisfying:

primary: Is this connection possible/worthwhile ?

a) Is the transfer by RTP ECC-protected (64Bit+8ECC Data Transfer?)/ is it FIFO dependet? (BTCM vs Peripheral Write)

b) Could a write to a opposite peripheral HW Resource (EMAC/MDIO) seen as "virtual local" write access ?

c) How much Data Bytes are Transfered by a sub-64bit write to the internal BTCM bus?

d) If I use the HW-Handshaking (RTPENA-) and the "Halt on Overflow"-Function so is there also the CPU haltet until the FIFO is emptied?

e) What is the Size of the FIFOs?

regards,

Lorenz

  • Lorenz,

    Let me answer your questions.

    These connection between RTP and DMM is valid.
    If I understand your intend, you want to be able to exchange data between your 2 microcontroller.
    For this function you have to use the Direct Data Mode on RTP and DMM side.

    a) The is no ecc protection on RTP transfer. The RTP does not check the data to be transferred.
    When it is used in direct data mode, you can implement a CRC scheme. After sending so many data, a CRC can be calculated and send via RTP.

    b) Can you explain a little more?

    C) Please refer to the TMS570LS3137 TRM on the following chapters:
    30.2.1.1 Packet Format in Trace Mode
    30.2.2 Direct Data Mode (DDM)

    d} If HOVF is set in RTPGLBCTRL (Bit 5) than the CPU and other masters will be stopped (Halted) CPU execution will resume when the FIFO is no more full.

    e) On TMS570LS3137 each FIFO size is 64 Words.

    Regards,

    Jean-Marc

  • Hi Jean-Marc,
    I would understand the trace mode of RTP/DMM would be ideal to keep a memory region coherent between two CPUs ?
    Means cross-linking RTP/DMM.
    The question is, will RTP send data written by the DMM (resulting in an endless-loop).
    BTW: How about triggering CRC engine to calculate the CRC on the memory chunk synchronized.
    Cheers,
  • Hello,

    to clarify question "b":

    As I’ve noticed the depicted RTP/DMM connection also transfers access to peripherals connected to the bus matrix.

    My intention is to transfer peripheral access (access to the Ethernet Controller) from one CPU transparently to the opposite one, so maybe I can control two ethernet ports by one CPU without significant software overhead (I want to develop a kind of "virtual" driver for the opposite CPU). Is there a way to transfer also peripheral register accesses and is there a way of signaling too (Software interrupts)?

     

    Regards,

     Lorenz

  • Bastian,

    You are perfectly right.

    If RTP/DMM are used to cross link 2 devices, and the same region are under RTP control, you may end up in endless loop
    On the DMM side it is possible to write the received data to different destination address (using BASEADDR register)

    The RTP does not generate interrupt.

    If RTP is used in Data Mode, the best option is to use the DMA to move the data to be transferred via RTP to the other micro.
    DMA have many ways to generate interrupts. They can be used to trigger the CRC.

    On the DMM side, in Trace and Data Mode, the DMM can generate interrupt. (refer to section "DMM Module Operation" in TRM)

    Best Regards,

    Jean-Marc

  • Lorenz,

    In your case, you want to use the RTP/DMM in Trace Mode.

    The RTP can trace peripheral accesses, the same way it will trace RAM write access.

    On the DMM side, it is possible to generate interrupt whenever an access is done in a defined memory regions.
    With this technique, it is possible to broadcast register access from your micro1 to micro2 and signal micro2 that a write has been performed.

    Read access will stay local.

    Please let me know if I've answered your question.

    Best Regards,

    Jean-Marc