oxidecomputer / gemini-bringup

EDA work for the Gemini bringup vehicle
Mozilla Public License 2.0
1 stars 0 forks source link

[not priority]: usb-c #37

Closed jessfraz closed 1 year ago

jessfraz commented 4 years ago

I know there is a vehement position to not have USB on any of our production boards, totally understand (and embrace it) that and feel free to close this as "we already discussed this and no". I was wondering if it was considered to use USB-C for the power (power only) for the BUV. It's just a small detail, but as someone who has a bunch of USB-C cables laying around it's kinda a nice to have.

I understand there would be some complexity in doing this and obviously, we shouldn't hold anything up for it. But if it was a question of time, I would love to take a swing at it so maybe in future versions that is an option. I can't say I will get it done anytime soon but would love to do it, if it was not included because of time. If it was not included because we don't want USB (even power-only) anywhere near our systems, I totally understand that as well.

Anyways, just thought I'd ask. Also love the board :D, stoked to get it.

jessfraz commented 4 years ago

There is this part that looks cheap https://github.com/jenschr/USB-C-Connectors/blob/master/Kicad/USB-C-Power-tester/datasheet/1811101526_Korean-Hroparts-Elec-TYPE-C-31-M-17_C283540.pdf

cbiffle commented 4 years ago

I am not anti-USB, for the record. I think it gets a bad rap.

The problem is that we need 12V in at 2A, and while it is possible to negotiate 12V with some USB-C chargers, it requires a separate chip to speak the negotiation protocols -- and plugging a USB A-to-C cable into a USB A charger means you can't get 12V no matter what protocols you speak. So I don't think this'll work.

arjenroodselaar commented 4 years ago

The problem with USB power, especially when used with a USB-C connector is that you need circuitry to manage it. Because the host you're plugging expects you to or will only give you the standard 5V/0.5A. There are definitely ready made ICs for this, and it's not that difficult, but for a board like this where we don't know what may be plugged into it in the future, having a simple barrel jack with a small switched mode supply/bench supply is easier to design for/less likely to run out of power in the future (since it may be possible to add a larger supply and daisy chain a plugin board from that).

Edit: it seems my comment is crossing @cbiffle's response :)

arjenroodselaar commented 4 years ago

If the system was more constraint in terms of functionality and you use USB to have all the UART/debug stuff go through a single connector (maybe by adding a small single IC USB switch), a USB connector is definitely the way to go.

FWIW the dev platform developed at Oculus did use a micro-USB B connector for power/some data, but had a separate power input to provide additional juice when needed. This was nice, but did require some additional circuitry to manage. We could consider this for a V2 board once we've learned a bit more about this thing. I have a hunch Gemini will stick around for a while and we'll be reshaping this at least once in the future.

jessfraz commented 4 years ago

That all makes sense, I’ll likely still play around with a IC to negotiate just because seems like a good thing to learn :)

On Fri, Oct 2, 2020 at 12:44 PM Arjen Roodselaar notifications@github.com wrote:

If the system was more constraint in terms of functionality and you use USB to have all the UART/debug stuff go through a single connector (maybe by adding a small single IC USB switch), a USB connector is definitely the way to go.

FWIW the dev platform developed at Oculus did use a micro-USB B connector for power/some data, but had a separate power input to provide additional juice when needed. This was nice, but did require some additional circuitry to manage. We could consider this for a V2 board once we've learned a bit more about this thing. I have a hunch Gemini will stick around for a while and we'll be reshaping this at least once in the future.

— You are receiving this because you authored the thread.

Reply to this email directly, view it on GitHub https://github.com/oxidecomputer/gemini-bringup/issues/37#issuecomment-702924464, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALA23DIJ4NVXHIUSS25KADSIYUSRANCNFSM4SB7KCEQ .

jessfraz commented 4 years ago

Ah okay so if we wait until Monday, I think I can get it working with a PMIC, usb-c, and ic for negotiation, that way we have both the barrel jack and usb-c. If waiting for Monday is an option :)

mx-shift commented 4 years ago

FWIW, I have a USB-C PD dev board. The hardware for this is the easy part. The protocol itself is complicated and requires a decent amount of firmware. Given that layout is done, I'd rather not open it back up for non-essential items. Building a USB-C to 12V adapter seems like a useful widget of its own.

On Fri, Oct 2, 2020 at 1:39 PM Jess Frazelle notifications@github.com wrote:

Ah okay so if we wait until Monday, I think I can get it working with a PMIC, usb-c, and ic for negotiation, that way we have both the barrel jack and usb-c. If waiting for Monday is an option :)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/oxidecomputer/gemini-bringup/issues/37#issuecomment-702947330, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACIEHF3AMNLV5AIRI2PWEDTSIY3A7ANCNFSM4SB7KCEQ .

jessfraz commented 4 years ago

Oh like we do a different board for the adapter, that would be dope!

jessfraz commented 4 years ago

THEN WE HAVE TWO BOARDS :D

jessfraz commented 4 years ago

I just want our first board to be perfect, when we start posting pictures of this if devs see USB-C (I know I at least would be like whoa, that's a modern board). I've had many conversations with devs that were like "it's not even worth doing a board if its not using USB-C." Which to a point is true, and I totally understand the power constraints. In most folks mind it's really all they are using to power devices anymore. So having a way to have both would be clutch, whether that is thru an adapter or otherwise.

arjenroodselaar commented 4 years ago

If we're talking about a board for consumer electronics then sure, having USB-C is the right thing to do. The hassle with the protocol is worth it to get the 18V or whatever the spec allows for. This board however is for a server subsystem and although we're dying to show it off as our first hardware, it should be solely driven by function (even though I appreciate the ecstatic of a well designed dev board). By definition this board will not be perfect, because the surrounding system is not yet fully defined (eg. there may be good reasons to swap the Ethernet switch out for something else). So let's keep things practical. We'll go all out for good looking server and switch main boards. We'll make sure those look chefs kiss.

jessfraz commented 4 years ago

That's good with me, totally understand the practicality, let's just keep this one off the internet then, or at least I won't post it :)

nathanaelhuffman commented 1 year ago

No longer relevant.