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.

TUSB9261: Plugging in SSD causes reset

Part Number: TUSB9261
Other Parts Discussed in Thread: TUSB8020B, , HD3SS3212

Help would be much appreciated. 

I have integrated the TUSB9261 and TUSB8020B into a custom circuit. At the moment, everything functions correctly without an SSD connected. I can plug into Windows 10 and flash the firmware with ease. I've switched the TX polarities just like in the reference design, and have tried all the different firmware flavors (RX, TX, None, Both) just in case there is a mixup. 

The SSD I'm using is the Samsung EVO 850 (256GB). Powering that over 5V and trying to make some headway here. Whenever I plug it in, a few new lights try to flash (starting USB 3.0, etc) and then the module seems to reset. This isn't working.



Can someone provide some helpful reasons of things I might need to check? 

  • Hello Charles,

    Do you have this problem only using this SSD? or you also tried with different SSD

    Regards,
    Roberto
  • Hi Roberto, I have an FFC cable connected between my SSD board and my TUSB board. Do you think this could be the problem? The issue is I can't tell what's wrong.

    Are you an FAE who supports the TUSB9261 product line?
  • Hi Charles,
    Can you try to get a UART log from the TUSB9261? You'll need to connect a 3.3V to RS-232 adapter to the UART Tx pin. Standard 115200 baud rate. That will tell us if there are any connection issues on SATA. Also, try using an external 5V supply to power the SSD. Insufficient current is a common cause of issues.
    Regards,
    Brian
  • Hi. I have tried using power supplies, etc as well. Sorry I haven't gotten to this sooner. Weekend has been busy. 

    Can you take a look at the provided text files? I believe that the files are name respective to what had happened, but please double check and compare to what I should see... Like I said earlier, the chip does reset continuously when a SSD is connected, hence the repeated restart of the device... 

    Please let me know,

    SSD_TryingConnect.rtfSSD_Connected.rtf

  • Hi Charles,

    I see no connection to the SATA device occurring in the log.  And I don't see any continuous resetting either. It seems like it's just stopped.  Are you sure you loaded the correct FW for the SATA polarity you are using?

    Can you try this FW:  7215.TUSB926x_Firmware_v1.06.zip

    It should look more like this:

    ========================================================
    ||   TUSB926x Firmware v1.06 [Dec  8 2016 16:53:12]   ||
    ||                 Device ID: 0x0000                  ||
    ========================================================

     Reset Flag(s): [Power-Up]

    [0000000001] Datapath RAM Usage: 80208 / 81920 bytes.
    [0000000001] Supported NCQ Depth: 32
    [0000000001] U1/U2 Transistions: OFF
    [0000000001] USB PHY Suspend: ON
    [0000000001] SATA LPM: OFF
    [0000000001] Device is Self-powered.
    [0000000001] -> usb_hal_init()
    [0000000001] USB Core Ver: 0x120a.
    [0000000001] USB SSC is OFF.
    [0000000051] -> usb_hal_connect()
    [0000000051][0000000051] LTSSM state = (0x5) RX DETECT.
     -> ahci_init()
    [0000000051] -> ahci_hba_reset()
    [0000000052] USB Reset event occurred.
    [0000000052] LTSSM state = (0x7) POLLING.
    [0000000056] SATA Gen-2 speed negotiated.
    [0000000058]
    [0000000058] ================================================
    [0000000058]              IDENTIFY DEVICE INFO
    [0000000058] ================================================
    [0000000058]
    [0000000058]   Model:  INTEL SSDSA2CW080G3                     
    [0000000058]   FW Rev: 4PC10362
    [0000000058]   Serial: CVPR211004LX080BGN  
    [0000000058]   TRIM Support: Yes
    [0000000058]
    [0000000058]   Spec Compliance: ATA-7
    [0000000058]   Removable Media: No
    [0000000058]   UDMA Modes = 0x407f
    [0000000058]   PIO Modes = 0x0003
    [0000000058]
    [0000000058]   LBA48: Yes
    [0000000058]   Max LBA = 0x00000000 0950f8b0
    [0000000058]   Write FUA: Yes
    [0000000058]   World Wide Name = 0x5001517b b287f75b
    [0000000058]
    [0000000058]   SATA Speed: Gen2
    [0000000058]   NCQ Support: Yes
    [0000000058]   Queue Depth = 31
    [0000000058]
    [0000000058]   Logical Sector Size = 512 bytes
    [0000000058]   Physical Sector Size = 512 bytes
    [0000000058]   Logical Sector Offset = 0
    [0000000058]
    [0000000058] ================================================

    [0000000061] Connected to 1 AHCI device(s).
    [0000000098] Connected at SUPER speed.

  • Definitely sure about the polarity. 

    Looks like I'm just not finding anything. I redid with the new firmware but no dice. I am currently seeing this:

     = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
     
     | | ' ' ' ' ' ' T U S B 9 2 6 x ' ' F i r m w a r e ' ' v 1 . 0 6 ' ' [ J a n ' ' ' ' 5 ' ' 2 0 1 8 ' ' 1 2 : 0 1 : 2 7 ] ' ' ' ' ' ' | | 
     
     | | ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' D e v i c e ' ' I D : ' ' 0 x 0 0 0 0 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' | | 
     
     = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
     
     
     
     ' ' R e s e t ' ' F l a g ( s ) : ' ' [ S W ] ' ' [ P o w e r - U p ] 
     
     
     
     [ 0 0 0 0 0 0 0 0 0 1 ] ' ' D a t a p a t h ' ' R A M ' ' U s a g e : ' ' 8 0 2 0 8 ' ' / ' ' 8 1 9 2 0 ' ' b y t e s . 
     
     [ 0 0 0 0 0 0 0 0 0 1 ] ' ' S u p p o r t e d ' ' N C Q ' ' D e p t h : ' ' 3 2 
     
     [ 0 0 0 0 0 0 0 0 0 1 ] ' ' U 1 / U 2 ' ' T r a n s i s t i o n s : ' ' O F F 
     
     [ 0 0 0 0 0 0 0 0 0 1 ] ' ' U S B ' ' P H Y ' ' S u s p e n d : ' ' O N 
     
     [ 0 0 0 0 0 0 0 0 0 1 ] ' ' S A T A ' ' L P M : ' ' O F F 
     
     [ 0 0 0 0 0 0 0 0 0 1 ] ' ' D e v i c e ' ' i s ' ' S e l f - p o w e r e d . 
     
     [ 0 0 0 0 0 0 0 0 0 1 ] ' ' - > ' ' u s b _ h a l _ i n i t ( ) 
     
     [ 0 0 0 0 0 0 0 0 0 1 ] ' ' U S B ' ' C o r e ' ' V e r : ' ' 0 x 1 2 0 a . 
     
     [ 0 0 0 0 0 0 0 0 0 1 ] ' ' U S B ' ' S S C ' ' i s ' ' O F F . 
     
     [ 0 0 0 0 0 0 0 0 5 1 ] ' ' - > ' ' u s b _ h a l _ c o n n e c t ( ) 
     
     [ 0 0 0 0 0 0

    Before it resets and freaks out my logic analyzer. As you see, it stopped after the usb_hal_connect(). I will make a triple/quadruple check at the polarities, but as far as I know, only the TX pos/neg should be switched for the default FW? Also, can you confirm the standard sata pinout? From pin 1, toward the foot (letter L), I see GND | A+ | A- | GND | B- | B+ | GND.

    Do you think that going through a FFC cable like the following would create issues? 

    Please advise,

    Thanks!

  • Charles,

    Do you have the schematic I can look at?  That's the best way to check SATA polarity. The standard FW expects SATA Tx polarity to be swapped.

    Does the FFC cable have the 100ohm differential impedance for SATA data lanes?  I wasn't able to find this information.  If there are too many error detected on the SATA link, the TUSB9261 FW will initiate a reset of the device.  This is likely your issue.  Are you able to test using a standard SATA cable?

    Are you able to measure the frequency of the resets?

    Regards,
    Brian

  • Hi Brian,

    Thanks for the note. I think you're right and that's the issue. I'm going to try and get a hold of a ffc cable with the 100ohm impedance. In the meantime, I'll redesign and try to get it on one single board instead of two and alleviate using the cable in general. Can you take a look at my schematic, as attached?

    I think it should be close, and there are a lot of markings and notes on it for many changes that need to be made to the power supply, etc. Could you let me know if you see anything on the TUSB chip side? I have a few chips there and I want to make sure they are setup correctly.

    Do let me know,

    Thanks so much.Main.pdfConn.pdf

  • Hi Charles,

    Caps (C14, 15, 37, 38.) on USB SS Tx lines should be 0.1uF.  

    Looks like you have two paths for the SATA data lines.  You need to make sure both paths are not populated simultaneously and routed so as not to introduce stubs.

    The rest looked okay.  I'm assuming your RESET meets the datasheet requirements.

    Regards,

    Brian

  • Brian, 

    Do you think that having the IC on one end (powered off) and something else plugged into the other end will create issues? Should I put some sort of analog switch in there? Will that affect the 100ohm differential impedance?

  • Charles,

    If you need to be able to switch between the two sources, you need a high-speed mux such as HD3SS3212.   If it's a PCB build option where you will only have a single fixed connection, you need to make sure the unused lines aren't visible to the transmitter.

    Here's a general guide for high-speed layout:  www.ti.com/.../spraar7g.pdf

  • I'm going to implement the mux to ensure both sides can't try to access the SSD simultaneously. Thanks for all the help.

    Another question: From the TUSB9261, should TX be connected to the SATA "A" and RX to "B"? Or is it important that I switch them such that TX (USB) goes to B, aka RX (SATA)? I suppose a related question is does the SATA cable typically reverse the A and B for you when connecting between two sata devices? Or does it keep them lined up A and B. I'm using a molex connector that solders an SSD direct to the board but might try working with a SATA cable connector as well. 

    I'm assuming I need to get the directions straight as well for when I implement the mux.

    Thanks again for the help,

  • I'm not sure what you are asking but the switch goes A<->B or A<->C.  Both Tx and Rx should be connected to each A, B, and C port.  See Figure 12 in the HD3SS3212 datasheet.

    You need to maintain the same SATA polarity for both switch orientations as the TUSB9261 FW has a fixed polarity expectation.

    Regards,
    Brian