From 298db1b67a1f3ef55a6e67e00fa39fc42b859b6d Mon Sep 17 00:00:00 2001 From: osy Date: Sat, 3 Aug 2024 19:44:34 -0700 Subject: [PATCH] Updated documentation --- Docs/Build_Guide.md | 13 ++++++------- Docs/Diary.md | 8 +++++++- README.md | 4 ++-- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/Docs/Build_Guide.md b/Docs/Build_Guide.md index e6c30c5..793b1bf 100644 --- a/Docs/Build_Guide.md +++ b/Docs/Build_Guide.md @@ -1,4 +1,4 @@ -The dock was designed from the beginning to be assembled at JLCPCB because of their low cost PCB assembly option. If you have not ordered from JLCPCB before, this guide will help you get started. There are two configurations you can build and some minor differences between them. This will be indicated in the notes. If you wish to replace the board for the XG Station Pro eGPU enclosure, follow the notes regarding XGM Station builds. If you wish to build the board standalone or for a custom enclosure, follow the notes regarding XGM Dock builds. +The dock was designed from the beginning to be assembled at JLCPCB because of their low cost PCB assembly option. If you have not ordered from JLCPCB before, this guide will help you get started. There are two configurations you can build and some minor differences between them. This will be indicated in the notes. If you wish to replace the board for the XG Station Pro eGPU enclosure, follow this guide. **[If you wish to build a standalone board that runs on a standard ATX power supply, follow the guide linked here.](https://github.com/osy/XG_Mobile_Station/blob/atx-powered/Docs/Build_Guide.md)** Some options differ for low volume (<= 10) and high volume (>= 100) orders. This is because for low volume, we will optimize for cost and for high volume, we care about reliability (the per-unit cost of some options are reduced at high quantity). If you are ordering some number of units in between, use your best judgment. Note that Economic PCBA is cost effective for low volume because the per-component feeder loading fee is waived for basic components while at high volumes, the per-unit cost of this fee is negligible. @@ -61,9 +61,9 @@ Some options differ for low volume (<= 10) and high volume (>= 100) orders. This ## Parts Guide ### Power Connector -For XGM Station, you will need part `5-5530843-0` to connect the power board header. For XGM Dock, you will need part `PJ-096H` to connect a barrel jack. In the Bill of Materials screen when placing the PCBA order, you will check the right part if you want to save some money. If you do not know which configuration you will end up using or if you plan to resell it for both configurations, you can check both connectors (just be sure not to plug in both power inputs at once). +For XGM Station, you will need part `5-5530843-0` to connect the power board header. To test this board without an XG Station Pro power supply, you will need part `PJ-096H` to connect a barrel jack. In the Bill of Materials screen when placing the PCBA order, you will check the right part if you want to save some money. If you do not know which configuration you will end up using or if you plan to resell it for both configurations, you can check both connectors (just be sure not to plug in both power inputs at once). -| Designator | XGM Station | XGM Dock | Flexible | +| Designator | For XG Station PSU | No XG Station PSU | Flexible | |------------|-------------|----------|----------| | J7 | ✅ | | ✅ | | J16 | | ✅ | ✅ | @@ -85,8 +85,8 @@ The following parts do not have a JLCPCB Part # yet and must be bought from Glob | Designator | Part Number | Note | |------------|-------------|--------------------------------------------------------------------------------| -| J7 | 5-5530843-0 | Only for XGM Station builds | -| J16 | PJ-096H | Only for XGM Dock builds | +| J7 | 5-5530843-0 | XG Station Pro PSU connector | +| J16 | PJ-096H | Only to test without PSU | | J17 | 8730 | Search "TERM BINDING POST M2.5 1 PIN PCB" in Global Parts Sourcing to find it. | ### Cost Reduction @@ -99,8 +99,7 @@ If you are ordering a low quantity (2-5 units) of PCBA boards and don't mind doi ## Additional Parts * [XG Mobile connector cable](https://www.a-accessories.com/asus-connection-cable-62505-79153.htm) -* A DC7450 connector power supply if for XGM Dock builds ([e.g. Dell 330W](https://www.dell.com/en-us/shop/dell-330w-74mm-ac-adapter/apd/450-bbqg/pc-accessories)) -* M2.5 screw is highly recommended to secure the cable to the board (through the post in J17). +* A DC7450 connector power supply if you do not have an XG Station Pro PSU and built the board with the barrel jack connector ([e.g. Dell 330W](https://www.dell.com/en-us/shop/dell-330w-74mm-ac-adapter/apd/450-bbqg/pc-accessories)) * SPI flasher is needed to program the firmware for the TI PD charger. You can also use a RaspberryPi with [Flashrom](https://wiki.flashrom.org/RaspberryPi) for this purpose. * ST-LINK v2 is needed to program the STM32 MCU. You can buy a cheap clone from AliExpress for under $10 but note that the pinout listing printed on the dongle may be incorrect. diff --git a/Docs/Diary.md b/Docs/Diary.md index 92f70c5..18b7b89 100644 --- a/Docs/Diary.md +++ b/Docs/Diary.md @@ -75,6 +75,12 @@ A side-note on the USB charger: To control the output voltage of the buck, a vol Once the software workarounds was applied, the ROG Ally finally was able to recognize the PCIe graphics card! The RTX 3060 Ti was recognized but it threw an error 43 and no display was detected. Fortunately, this is a well known issue in eGPU world and the [workaround](https://egpu.io/nvidia-error43-fixer) is easy to use. With the workaround, we were able to get the display to work. But, fixing device detection on reboot took [another week of effort](MCU.md#embedded-controller). ### Rev. 4 -This revision fixed the MOSFET issue and also switched the PCIe connector from through-hole to SMD which is both better for signal integrity and also makes the assembly cost much lower. +This revision fixed the MOSFET issue and also switched the PCIe connector from through-hole to SMD which is both better for signal integrity and also makes the assembly cost much lower. An unexpected side-effect of the better signal integrity is that, without any additional changes, we are able to get PCIe 4.0 speeds! [![Board rev 4](images/board_v4.png)](images/board_v4.png) + +Through extensive testing, we found an issue with the USB PD circuit. If the external power is disconnected while the XGM connector is engaged, the +3V3 rail loses power and therefore the SPI flash loses power. The TI PD chip resets and draws power from the Ally. Since it is not able to read the firmware settings from SPI, it falls back to the default which is to negotiate a power sink role and now the Ally is powering the board. This is undesirable because it could drain the battery. The recommended layout from TI is that the SPI flash is powered by LDO_3V3 output from the TI chip and so we changed the design follow this recommendation. + +Another issue discovered was that devices plugged into the USB hub would be disconnected after a few seconds and proceed to go into a detection and disconnect loop. When debugging this issue we found that the cause for this disconnect loop was the +1V0 rail was falling and then coming back up. This was an issue with the LDO and upon close reading of the data sheet we learned that it was overheating and going through thermal shutdown. Once the device cooled down, it reset, then overheats again, and so on. To confirm that overheating was the issue, we used some compressed air to cool the LDO during operation and found the disconnect issue no longer occurs spontaneously. However, when plugging in two devices, disconnection shows up again. We suspect that the LDO was also going into overcurrent protection as well. Since there was no public datasheet available for the VIA USB hub IC, we looked at schematics of other designs online and used a 300mA LDO because that is what others have used. However, upon measuring the current with an ammeter, we found that it can hit above 300mA at peaks. The final solution is to select a 500mA LDO to handle the maximum current and we also chose a physically larger component which should have better heat dissipation. Finally, we increased the copper contact area under the LDO as well. + +[![Board current measurement](images/current_measure.jpg)](images/current_measure.jpg) diff --git a/README.md b/README.md index de471cf..59aeb01 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,8 @@ XG Mobile Station This open source hardware allows you to connect any PCIe card to an ASUS ROG device with the XG Mobile connector. It is intended to be a drop-in replacement PCB for the [XG Station Pro Thunderbolt 3 eGPU dock][1] but can also be used standalone with an external power adapter. ## Features -* PCIe 3.0 x8 support for 2022/2023 ROG Flow -* PCIe 3.0 x4 support for 2023 ROG Ally +* PCIe 4.0 x8 support for 2022/2023 ROG Flow +* PCIe 4.0 x4 support for 2023 ROG Ally * MCU handling cable detection and LEDs * 100W USB PD charger * 2 USB-C ports connected to a USB 3.1 Gen 2 hub