I/O USB

From Balthazar
Revision as of 07:25, 18 May 2020 by Admin (talk | contribs)

Balthazar I/O USB board

IO-board basically means connectivity with peripheral devices. These can be seen as on-board and out-board. On-board devices include: keyboard + trackpad, webcam and optional audio-card. USB is the usual solution for this. Here for the on-board periphery a simple usb 2.0 hub is enough. Main mini-computer board usually provides a much better hub for 4 downstream USB devices. At this point this is still mainly USB 2.0. Of course, some type of mass storage / system disk would be needed: microSD – and especially versions of SSD (SATA or PCIe) – directly or via USB adapter. This would benefit a faster usb port – USB3.x (part of the mini-computer system-on-chip) – or PCIE bus.

Our solution for internal hub:

We chose the GL850G (ssop28-pin) four-port USB 2.0 hub chip with additional two pieces of AIC1526-0 dual usb high-side switch – to switch-off/on manually. It is a well-proven design. Hub will be powered via the upstream port – connected to the mini-computer board. Internal usb periphery power demands are predictable = low, so the usual 500mA limit for the hub is ok. The keyboard + touchpad combination is USB1.1 protocol, webcam and optional audiocard are USB2.0.

SchemeUSB.png

Internal USB devices can be switched of manually. This helps with the privacy – the microphone and webcam. For external USB devices disabling the usb power line is the same as unplugging the USB device. The "condom" approach with disabling the data lines is a bit better, but solves things mostly with USB plugging into public charging stations. The TPS2540 solution is USB charging current negotiator – with no datalines connected. A dedicated (micro-USB) charging port solves this problem.

The already developed Balthazar PSU-charger has this option.

The job of preventing uncontrolled USB traffic from the external peripheral device which runs its own software system is problematic and should probably be done on the level of USB driver.

Nlnet banner.png NGI0 tag.png NGI0Entrust tag.png