https://www.toutiao.com/article/7271166273697104445/?log_from=4cd9cf8ac38d6_1695055159394
事情是这样的,我的电脑接口(PCIE数量)不够用!
想多接几个硬盘或者声卡、视频采集卡、万兆网卡……
于是我做了这个拓展板……一些6层高速板的设计经验+电路原理,我也记录在这里吧!
这是一款能连接20个满速NVME+搞定多显卡计算的拓展板!
是一个廉价的PEX8796方案。
使用嘉立创6层的盘中孔设计。
本文主要分享其——设计原理、软件说明、注意事项、开源说明、功能说明
本文主要讲这4个部分的原理:供电、PCIE参考时钟、PERST#、PEX8796的JTAGSPI和I2C。
1.关于供电
PEX8796有2个核心供电——0.9V和1.8V。
两个供电又分为——数字和模拟。也就是VDD09A和VDD09,VDD18A和VDD18。
考虑到成本,如果数字和模拟供电分开,需要最少8层,这样成本就会增加,所以我合并了供电。
因PEX8796 VDD09功耗比较大(详细看图),所以VDD09用了双相同步降压控制器。
从PCIE的12V通过双相同步,降压到0.9V,这样最高能承受60A,应该是够PEX8796使用了。
1.8V的电流较为小且固定,就从PCIE的3.3V降压到1.8V,用了4A的DC-DC降压。
因为0.9V的双相同步PWM降压主控,需要5V的基础供电,所以也增加了一个12V转5V的小DC DC电路,用来给PWM主控供电。
供电增加是时序,上电12V转5V给12V转0.9V同步PWM主控供电,3.3V转1.8V的DC-DC的PG信号拉高,然后开启12V转0.9V同步PWM主控供电。
5V和1.8V任意一个不出或者有问题,0.9V是不输出的。
这里插个基本知识普及:PCIE供电标准12V 5.5A MAX(66W),3.3V 3A MAX(10W),3.3VAUX 300MA。
PCB因为限制了6层,外层需要走高速信号,临近的2层需要地平面,所以为了成本最低化,最里面的2层:
一层用来走0.9V边缘走3.3V
另外一层走普通信号线和1.8V。
PEX8769 BGA背部的旁路电容,这次用了0402,基本塞的满满的了。
2.关于PCIE参考时钟(REFCLK)
PEX8796并没有内置时钟缓冲器,所以要给所有的下游端口BUFF出参考时钟,并且PEX8796本身也需要输入一对。
所以我设计了10口SFF8654-8I,加上PEX8796,就需要一个1:21或者更多的时钟缓存器。
虽然这种器件有很多,但是价格都昂贵,所以这次用了三颗TI的LMK00338(1:8)三颗串联。
基础知识普及:PCIE的时钟就是标准的HSCL 100MHZ差分时钟。你可以用时钟缓冲器,也可以单独的给时钟发生器,也可以用贵的有源差分晶振,不一定需要和HOST同源,时钟支持极性翻转。
3.关于PERST#
PCIE的PERST#是一个3.3V电平信号,是ROOT给设备的电平信号。
它只有2种状态——高电平和低电平。
HOST电源和参考时钟OK后,应该拉高PERST来告诉设备端OK了(类似电源的PG信号)。
PEX8796的PERST#输入是1.8V电平信号的,你需要用门路电平转换。我这里用了三颗6输出的三态开漏输出门。
你也可以用NMOS或者PNP搭建,都一样的。用PNP搭建量产成本可能会省几毛。
前面加了一颗双输入正门,PCIE金手指的PERST和12V降压0.9V的双相同步控制器工作正常,复位才会被拉高。
所以上电时序是1.8V-0.9V-PLX_PERST.
4.PEX8796的JTAG、SPI、I2C
JTAG脚没有作用,请不要和PCIE金手指的JTAG相连。
JTAG_TDO必须悬空,JTAG_TRST必须拉低,不然会处于JTAG模式下。
I2C_ADDR是PEX8796的I2C地址位配置。上拉下拉和悬空有三个不同地址,你不知道I2C是什么,或者用不到I2C,请直接悬空即可。
PEX的I2C的DAT、CLK都是1.8V电平的,不能直接3.3V电平或者5V电平的I2C。需要电平转换才能怒。
在本卡上,I2C没有实际作用,可以不贴这部分,只拉高SCL和SDA即可!
PEX8796的SPI支持SPI的EEPROM或者25系列FLASH,但是必须要支持1.8V电平的,不能直接使用3.3V电平的FLASH或者EEPROM。
本卡上FLASH和EEPROM没有作用,因为都是电平配置的,可以不贴此部分元件,只需要拉高CS和DO即可。
其它配置引脚和信号,原理图里面都有详细说明!
基础模式不需要任何固件,卡的EEPROM也不需要贴,拎包入住,拆包即食!
此卡为JLC3313层压6层,差分线阻抗都是85OHM,最低也得6层,4层无法设计。
PEX8796的核心0.9V供电电流非常大,是此卡的主要功耗,推荐0.9V 35A以上峰值设计。
此卡一定要安装散热器,散热器一定要是主动的!
因为PLX的功耗会跟着芯片的温度直线上升,PEX8796允许的工作温度非常高(没超过125度都可以正常运行)此时功耗会比正常功耗高三倍。所以一定要做好散热和供电。
拓展板成本在1100元左右,由立创星火计划活动报销所有耗材。
本项目为首次公开,为本人原创项目。项目未曾在别的比赛中获奖。
开源协议:GPL 3.0(可以随便使用,二次修改,量产,商用,不作限制,唯一条件不得搬运GIHUB!)
文章的最后,你看明白这个拓展板是怎样工作的了吗?
以PCIE3.0X16作为上游,80条PCIE 3.0作为下游。下游80条PCIE通过拨码开关,可任意组合X16,X8,X4多种拆分状态。
就是这样啦!
参考资料:
[1]https://oshwhub.com/malong/PEX8796_PCIE_GEN3_24PORT_Switch
— 完 —
嘉立创EDA·头条号
关注我,看一手优质开源项目
联系客服