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.

TSB12LV32-EP: 1394 Data Loss Issue

Part Number: TSB12LV32-EP
Other Parts Discussed in Thread: TSB41BA3A-EP, TSB12LV32

Hello,

We have a legacy product which has used the TSB12LV32-EP (LLC) and TSB41BA3A-EP (PHY) combination successfully for a number of years. Due to processor obsolescence we have had to replace our main microcontroller with a new variant. This device does not have a parallel port interface so we are simulating the parallel port by driving GPIO pins in the correct sequence.

The TSB12LV32-EP is configured with a BCLK at 8MHz and is configured in handshake mode using burst read\write to transfer the data. Generally the device is working as expected with no issues. However, we are seeing intermittent data loss with this configuration. During our investigation we have noted that inserting some additional delays following a quadlet read or write improves the situation significantly (no data loss after a long soak period). We also found that reducing the BCLK frequency to 4MHz improved the situation with regard to data loss (but does not allow us to meet timing requirements).

In order to help us resolve the problem we were hoping you could answer the following questions:

1. Handshake mode timing margins at 8MHz BCLK:

   - Are there undocumented internal timing constraints specific to handshake mode (at 8MHz)?

   - Is there a minimum recovery time between consecutive handshake transactions beyond "wait for next BCLK rising edge"?

   - Could 225-387.5ns inter-transaction gaps be too fast for internal state machine settling at 8MHz?

 

2. ATF FIFO burst write timing:

   - Are there special timing considerations for burst writes to the ATF FIFO in handshake mode?

   - Could rapid consecutive writes (64 quadlets in ~15-25µs) cause cumulative timing stress?

   - Is there a maximum recommended write rate for ATF FIFO in handshake mode?

 

3. BCLK frequency recommendations:

   - What is the maximum recommended BCLK frequency for reliable handshake mode operation?

   - Are there known reduced timing margins at 8MHz vs 4MHz?

   - Is 8MHz considered within normal operating range for handshake mode?

 

4. **Inter-transaction timing sensitivity:**

   - Does the TSB12LV32 require variable timing between transactions, or is fixed-pattern timing acceptable?

   - Could executing many transactions with consistent 225-325ns gaps create timing accumulation issues?

Please let me know if you need any additional information.

 

Scope plot of handshake interaction.

scope.jpg

  • Chris,

    Thanks for your patience on this topic. We are currently looking into this to try and find the right source of information. We will get back to you as soon as possible.

    Regards,

    Eric Hackett 

  • Hi Chris,

    Thank you for reaching out.

    Could I ask how many node you have on the bus transmitting at the moment during the test? If taking gaps/decreasing throughput improves performance, then it looks like there's insufficient bandwidth available. What is the speed of bus operation? Is it S100, 200, etc?

    Thank you,

    Henry Nguyen

  • Hi,
    Thanks for looking into this issue.
    During the test we just have two nodes on the bus (400MHz). The start of frame is sent every 12.5ms. We are are monitoring data bus traffic using Firespy and the bus utilisation is very low.
    Chris

  • I am assuming you are meeting SU/HD in 

    Figure 3−15 “Microcontroller Timing” and Table 3−3

    “Microcontroller Timing” on pages 37 and 38 of the TSB12LV32-EP data manual.

    Can you tell which direction with respect to the host interface you are seeing a data error?

    Can you quantify the timing differences between the original processor and the new bit-banging implementation?

    At the software level, are you configuring the PHY the same way?

    I am reviewing your questions. I am not aware of any undocumented timing requirements.

    regards, win

  • it should be fig 3-3 page 27-28 for handshake mode.

  • Hi Win,
    Thanks for your reply. In answer to your questions:

    1. I am assuming you are meeting SU/HD in Figure 3−15 “Microcontroller Timing” and Table 3−3 “Microcontroller Timing” on pages 37 and 38 of the TSB12LV32-EP data manual.
    Response: We believe we are meeting the SU\HU timing requirements as we have at least 0.5 BCLK periods (62.5ns @ 8MHz) before the chip select is enabled and the next rising edge of BLCK (i.e. we are asserting nCS on the falling edge of BLCK)

    2. Can you tell which direction with respect to the host interface you are seeing a data error?
    We are seeing errors on the received data. 

    3. Can you quantify the timing differences between the original processor and the new bit-banging implementation?
     The legacy implementation was running with a BCLK of 40MHz (/16 for BDIV, 2.5MHz LPS). I have attached some traces for comparison.

    4. At the software level, are you configuring the PHY the same way?
    The PHY is configured in the same way apart from BDIV, which is configured as /4 to give 2MHz LPS.

    Legacy 40MHz BCLK


    Current 8MHz BCLK

  • Hi Chris,

    Eric is out of office today, and we are on holiday tomorrow. You can expect a response early next week. Thanks for your patience. 

    -Ethan