如何自己动手将 SATA 分离为两个 USB 2 端口?

如何自己动手将 SATA 分离为两个 USB 2 端口?

编辑:简短的回答是无法直接将 SATA 连接到 USB,或者没有经过适当的转换。市场上有“常见”芯片,它们与晶体管和几个电阻、电容器和二极管一起组成电路,进行转换,但您必须知道如何操作。该电路非常小,可以装入 USB 电缆插头内,并由市场上的“SATA 转 USB”电缆使用。

下面其余的是工作问题。

任何便携式设备(如 USB 或 SATA 等)必须能够做两件事:

  1. 必须为其电路供电,要么来自源端口(例如 USB)或任何外部电源(例如电池或电源等),以及

  2. 必须有一对(tx+-)‘通道 | 车道’(或更多,取决于协议)为'数据传输“”。

以下示例假设已经确保外部电源 [PSU] 的电流正确分配。

简而言之,(简化): 我们知道我们可以将两者结合起来数据传输将 SATA 驱动器的“通道|通道”(tx+-)合并为一个并将其连接到 USB 端口,简单的想法是将其连接到同一台 PC 上的两个独立的 USB2 端口。

我们在市场上看到很多“SATA 转 USB 电缆”(不是转换器),其中一些可以部分工作或不工作,这取决于很多因素。可以肯定的是,使用“SATA 到 USB”连接'只是'可以获得合适的电缆,肯定降级为 USB 连接的规格。

进一步来说: SATA 7 针,用于 DIY SATA 转 USB 电缆接线图示例

SATA Pin    SATA Signal |   USB Pin USB Signal  
1           GND         |     4         Ground  (black) <-|
2           A+          |    3          D+      (green) <-| 1st USB port
3           A-          |   2           D-      (white) <-|
4           GND         |     4         Ground <--- already *'common'
5           B+          |    3          F+          <--|
6           B-          |   2           F-          <--| 3dr USB port
7           GND         |     4         Ground      <--|
    * SATA pins 1,4,7 (GND) are 'common' 'shorted'

SATA 5V  (red)      to      USB 5V  (red)
SATA GND (black)    to      USB GND (black)
SATA D-  (green)    to      USB D-  (white)*
SATA D+  (white)*   to      USB D+  (green)

工作问题是可以“发送”吗给出的例子SATA的:

  • 一个+-'车道设置'连接至一个 USB 端口, (例如.第一港口)和……
  • B+-'车道设置'连接至其他 USB 端口同一台 PC 的 USB 组端口(例如第三港口)。

非常重要的先决条件:假设正确的电流(和电压)分配来自适当的外部电源[PSU] 已确保为 SATA 驱动器(如 HDD)供电。

编辑:答案-道歉:
这个想法是另一个“项目”的一部分:[DIY]制作一个用于游戏备份的USB游戏控制台存储,使用库存或旧部件(如HDD和PC电源),以便将我的旧HDD用于此。(只是为了好玩和实验)
据我所知,我不能“玩”混合那些“通道”但我想知道所有那些“SATA 转 USB 电缆”(电缆,而不是转换器)卖家是否都是骗子。


实验结束后我会回来回顾这篇文章。

抱歉我的英语不好。抱歉我的术语不正确。

答案1

简短的回答是“不”,这个问题是建立在错误的假设之上的。

我们知道,我们可以将 SATA 驱动器的两个“数据传输”通道(tx+-)合并为一个,并将其连接到 USB 端口,

不,一开始就不是这样。各种“USB 转 SATA”适配器不会做任何类似的事情。它们在内部终止 USB 和 SATA 连接,处理来自主机的 USB 请求并向磁盘发出自己的 SATA 请求。

如果你确实将 SATA 设备连接到 USB 主控制器,它将无法被检测到:它们在物理层上有所不同(SATA 运行速度为 1.5/3.0/6.0 Gbps,而 USB2 运行速度为 480 Mbps;SATA 使用 8b/10b,而 USB2 使用 NRZ - 尽管 USB3 使用 8b/10b),它们在链路层有所不同(SATA 数据包头与 USB 数据包头没有任何共同之处),并且在所有更高层也有所不同(枚举机制不同,寻址工作方式不同等 - 通过 USB 发送的请求不是只是转发至SATA端)。

甚至更高层的协议也不同——SATA 驱动器当然使用 ATA,但 USB“大容量存储”设备不能这样做;它必须使用 SCSI。因此,最重要的是,“适配器”甚至会针对单个读/写/等请求进行 SCSI-ATA 转换。

从字面上看仅有的这两种连接的共同点是它们都使用差分串行链路;仅此而已。

(即使 PC 上曾经存在的 eSATAp“双 eSATA+USB”端口也不会尝试这样做;它们有两组用于 USB D± 和 SATA A±/B± 的独立引脚,这可能表明仅将一个连接到另一个实际上是不可行的。)

答案2

我们知道,我们可以将 SATA 驱动器的两个“数据传输”“通道|车道”(tx+-)合并为一个并将其连接到 USB 端口,简单的想法是将其连接到同一台 PC 上的两个独立的 USB2 端口。

不是,因为 USB 不是 SATA,而且据我所知,虽然将 SATA 转换为 USB 端口的芯片很小,但没有芯片可以这样转换

这几乎就像有人试图用阿拉伯语向我解释理论物理学。虽然对方说了一些话,但我听不懂。

同样,您不能只将使用一种协议 (SATA) 进行通信的设备连接到另一种协议 (USB),而不能使用双方都能理解的协议。有些桥接器可以将 USB 主机连接到 SATA 驱动器,但不能将另一个连接到 SATA 驱动器。

这些协议清楚的在信号、电压、纠错等方面。

实际上,最好的情况是,什么也不会发生。最坏的情况是,魔法烟雾会从某个地方逸出。

基本上这不是这样运作的。这不是任何这样做是可行的。您不能仅仅连接 2 个任意端口,因为它们都被称为“串行”,然后以某种方式神奇地期望它们工作。

您的 Sata 端口已连接到 sata控制器. USB 端口连接至 USB控制器它们将 PCIe 转换为各自的协议。要使你想要做的事情奏效,你需要以某种方式重新编程 SATA 控制器以使用 USB

相关内容