我使用tusb9261芯片设计了一款硬盘盒,但是传输速度只有190MB/s左右,无法远低于手册给出的最大传输速度,使用的硬盘是Gen3的硬盘,串口打印的log如下所示:
========================================================
|| TUSB926x Firmware v1.06 [Jan 5 2018 12:01:27] ||
|| 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][-> ahci_init()
[0000000051] -> ahci_hba_reset()
[0000000065] USB Reset event occurred.
[0000000065] LTSSM state = (0x7) POLLING.
[0000000070] Connected at SUPER speed.
[0000000070] -> usb_hal_set_address() - addr: 0xd.
[0000000177] -> handle_usb_set_configuration() - val = 1.
[0000000178] -> usb_hal_set_U1_initiate_enable() - 1.
[0000000178] -> usb_hal_set_U2_initiate_enable() - 1.
[0000000306] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000000306] -> ahci_port_reset(0)
[0000000361] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000000361] -> ahci_port_reset(0)
[0000000416] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000000416] -> ahci_port_reset(0)
[0000000426] SATA Gen-2 speed negotiated.
[0000008797]
[0000008797] ================================================
[0000008797] IDENTIFY DEVICE INFO
[0000008797] ================================================
[0000008797]
[0000008797] Model: INTEL SSDSC2KB038T8
[0000008797] FW Rev: XCV10110
[0000008797] Serial: PHYF946600QQ3P8EGN
[0000008797] TRIM Support: Yes [DRAT][RZAT]
[0000008797]
[0000008797] Spec Compliance: ATA-7
[0000008797] Removable Media: No
[0000008797] UDMA Modes = 0x407f
[0000008797] PIO Modes = 0x0003
[0000008797]
[0000008797] LBA48: Yes
[0000008797] Max LBA = 0x00000001 bf1f72b0
[0000008797] Write FUA: Yes
[0000008797] World Wide Name = 0x55cd2e41 513c90d2
[0000008797]
[0000008797] SATA Speed: Gen3
[0000008797] NCQ Support: Yes
[0000008797] Queue Depth = 31
[0000008797]
[0000008797] Logical Sector Size = 512 bytes
[0000008797] Physical Sector Size = 4096 bytes
[0000008797] Logical Sector Offset = 0
[0000008797]
[0000008797] ================================================
[0000008881] Connected to 1 AHCI device(s).
[0000008884] AHCI task file error! P0TFD error = 0x04, status = 0x51.
[0000008884] -> ums_bot_ata_error_callback() - gBOT_state = 3.
[0000008884] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0xa2.
[0000008884] AHCI task file error! P0TFD error = 0x04, status = 0x51.
[0000008884] -> ums_bot_ata_error_callback() - gBOT_state = 3.
[0000008884] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0xa2.
[0000008884] AHCI task file error! P0TFD error = 0x04, status = 0x51.
[0000008884] -> ums_bot_ata_error_callback() - gBOT_state = 3.
[0000008884] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0xa2.
[0000008885] AHCI task file error! P0TFD error = 0x04, status = 0x51.
[0000008885] -> ums_bot_ata_error_callback() - gBOT_state = 3.
[0000008885] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0xa2.
[0000008888] AHCI task file error! P0TFD error = 0x04, status = 0x51.
[0000008888] -> ums_bot_ata_error_callback() - gBOT_state = 3.
[0000008888] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0xa2.
[0000008888] AHCI task file error! P0TFD error = 0x04, status = 0x51.
[0000008888] -> ums_bot_ata_error_callback() - gBOT_state = 3.
[0000008888] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0xa2.
[0000008889] -> ums_bot_case_handler() - case 5.
[0000008889] -> ums_bot_case_handler() - case 5.
[0000008898] @Warning: scsi_handle_mode_sense_cmd() - page code 0x1c not supported.
[0000008898] -> ums_bot_send_CSW() - status = FAILED. CDB[0] = 0x1a.
[0000008898] -> ums_bot_case_handler() - case 5.
[0000008899] -> ums_bot_case_handler() - case 5.
[0000008899] -> ums_bot_case_handler() - case 5.
[0000008901] -> ums_bot_case_handler() - case 5.
[0000008904] -> ums_bot_case_handler() - case 5.
[0000008905] -> ums_bot_case_handler() - case 5.
[0000008917] -> ums_bot_case_handler() - case 5.
[0000008918] -> ums_bot_case_handler() - case 5.
[0000008925] -> ums_bot_case_handler() - case 5.
[0000008925] -> ums_bot_case_handler() - case 5.
[0000009809] -> ums_bot_case_handler() - case 5.
[0000009811] -> ums_bot_case_handler() - case 5.
[0000067967] LTSSM state = (0x3) U3.
[0000116504] -> usb_hal_handle_resume()
[0000116504] -> usb_hal_handle_resume()
[0000116504] LTSSM state = (0x8) RECOVERY.
[0000116508] -> ums_bot_case_handler() - case 5.
[0000116709] -> ums_bot_case_handler() - case 5.
[0000117022] -> ums_bot_case_handler() - case 5.
[0000117371] -> ums_bot_case_handler() - case 5.
[0000117679] -> ums_bot_case_handler() - case 5.
[0000118018] -> ums_bot_case_handler() - case 5.
[0000118350] -> ums_bot_case_handler() - case 5.
[0000118659] -> ums_bot_case_handler() - case 5.
[0000118967] -> ums_bot_case_handler() - case 5.
[0000119268] -> ums_bot_case_handler() - case 5.
[0000119627] -> ums_bot_case_handler() - case 5.
[0000119938] -> ums_bot_case_handler() - case 5.
[0000120265] -> ums_bot_case_handler() - case 5.
[0000120565] -> ums_bot_case_handler() - case 5.
[0000120884] -> ums_bot_case_handler() - case 5.
[0000121207] -> ums_bot_case_handler() - case 5.
[0000121505] -> ums_bot_case_handler() - case 5.
[0000121878] -> ums_bot_case_handler() - case 5.
[0000122561] -> ums_bot_case_handler() - case 5.
[0000123219] -> ums_bot_case_handler() - case 5.
[0000123880] -> ums_bot_case_handler() - case 5.
[0000124448] -> ums_bot_case_handler() - case 5.
[0000125004] -> ums_bot_case_handler() - case 5.
[0000125613] -> ums_bot_case_handler() - case 5.
[0000126242] -> ums_bot_case_handler() - case 5.
[0000126828] -> ums_bot_case_handler() - case 5.
[0000127741] -> ums_bot_case_handler() - case 5.
[0000128673] -> ums_bot_case_handler() - case 5.
[0000182463] LTSSM state = (0x3) U3.