JMS578 USB转mSATA移动硬盘
最近升级使用中的老电脑,替换下一块64GB的mSATA固态硬盘,型号:MTFDDAT064MAM-1J2,64GB MLC(可用59G), 马维尔主控,外置DDR 64MB缓存。这块固态体质还是不错的,作为系统盘使用6年下来健康度还有94%,不过容量较小,仅安装windows10-LTSC系统及配套软件驱动就已占用超一半容量。
成品展示
顺序读写速度也基本符合该固态硬盘的参数。
(这里用的是淘宝阿卡西斯固态硬盘盒子的固件,因此这里显示ACASIS SCSI Disk Device
)
USB3.0的设备描述符,可以看到使用了1024Bytes的批量传输(bulk)端点:
利用手中的JMS578芯片的USB转SATA板,这款芯片主要应用于2.5寸机械盘,由于支持转发TRIM指令(相近型号的JMS576
不支持),因此也可以用于固态硬盘。
参考蓝天W650SC公模主板图纸,可以看出mSATA与SATA之间的区别仅在于供电方式不同,mSATA只供给一组3.3V电源,而2.5寸SATA提供了5V和3.3V两路供电。
(经过查证2.5寸机械或固态硬盘只需要一组5V供电即可,这和上面JMS578移动硬盘盒主板电路相符,该移动硬盘盒主板SATA-5V直接从USB取电)
原理图设计
由于网络上没有JMS578的参考设计,电路原理图参考依据主要来自于移动硬盘盒主板逆向和JMS578的数据手册。
USB接口部分
USB3.0为全双工5GHz速率(单路是2.5GHz频率附近,因此USB3.0会干扰2.4G无线设备,例如WiFi),收发信号为独立的传输路径。由于Sink端的直流偏置电压和Source端的直流偏置电压不一样,故要需要串入100nF的AC耦合电容,要求放置在驱动端(Source),由于该电容的ESR ESL要尽可能小,因此推荐用0402封装的。
USB3.0的Host RX
连接到Device Tx
,Host Tx连接到Device Rx,类似于UART交叉线连接。一般的USB3.0数据线中其中的两对差分线已经交叉连接过了,因此不能在PCB板上交叉了。
经过USB3.0 Type-A转Type-C数据线后,各个信号端子之间的对应关系如下:
类型 | 备注 | |||||
---|---|---|---|---|---|---|
Type A母座 | 9 | 8 | 7 | 6 | 5 | Type-A 引脚编号 |
SSTX+ | SSTX- | GND | SSRX+ | SSRX- | Type-A 引脚名称 | |
Type C母座 | B11 | B10 | GND | A2 | A3 | 正插 |
A11 | A10 | GND | B2 | B3 | 反插 |
USB 3.0 TYPE-A 母座定义
USB 3.0 TYPE-C 母座定义
注意
: USB3.0 Type-A转Type-C数据线,在TYPE-C公头这一端,只有一面有引脚连接到了TYPE A公头的引脚上。
如果要实现双面的正反插有两种方法:
- 用VL160这种正反插识别芯片进行转换,使用UFP接法。
- 直接在Type-C母座端做一些工作,假设直接把B11-A11,B10-A10,A2-B2,A3-B3并联起来,USB3.0单向数据率为2.5Gbps,如果信号线在TypeC母座端被一分二的话,会造成不连续的信号线阻抗,基本没法通信成功;还有一种方案是任选一组使用,例如
B11 B10 A2 A3
或者A11 A10 B2 B3
,这样就导致了TypeC一面有USB3.0的速度,另一面就是2.0的速度了。 - 还有一种是找根USB C2C的线,把一端的C口剪掉,对应的引线直接焊死在PCB板子上,这样另一端的C口双面都有3.0的速度,也不需要翻转芯片。
供电部分:
JMS578有三组电源:来自USB的5V,芯片内部LDO输出3.3V,芯片内部同步BULK输出1.2V,3.3V和1.2V电源建议仅用于芯片自身和一些低功耗外围器件。
5V电源来自于USB,给芯片内部LDO和内部同步BULK开关电源供电。
3.3V由芯片内部LDO输出,在PIN14(AV33O)输出,最大能提供100mA电流,主要用于USB2.0,SPI-Flash,GPIO的供电。
1.2V由芯片内部同步BULK输出,需要外接一个4.7uH的电感,最大能提供700mA电流,主要用于USB3.0,SATA的供电。
mSATA硬盘供电需要由单独的BULK电路从USB-5V转换而来,这里使用一个同步BULK。
时钟部分:
使用一个30M的晶振即可。
GPIO部分:
GPIO0 ~ GPIO3用于SPI-Flash,JMS578通过SPI读取自身固件;可以通过编辑bin的文件方式修改USB描述符,实现自定义厂商名称,厂商ID等等。
GPIO4用作硬盘活动指示灯,读写硬盘时会闪烁提示。
其他:
PIN35(NC)在手册中标记不需要连接,但移动硬盘盒主板上接入了3.3V,这里也原样照搬。
PCB布局
PCB板使用JLC2313层叠结构,板厚1.2mm,根据下图的参数计算走线宽度和间距。
JLC层叠结构参数:https://club.szlcsc.com/article/details_11533_1.html
USB差分阻抗90Ω,SATA差分阻抗100Ω,使用SI9000计算线宽和差分对线隙。
Top Layer元器件预计使用钢网刷锡膏+热风枪焊接,因此焊盘并未做十字花处理,Bottom Layer的mSATA座子需要手工焊接,焊盘做十字花处理,其余仍为直接连接。
附件:
JMS578参考原理图和芯片数据手册:
https://files.cnblogs.com/files/yanye0xff/JMS578-USB2mSATA.zip
JMS578固件,用编程器刷入spi-flash:
https://files.cnblogs.com/files/yanye0xff/JMS578-main.zip