- Building a 3D Digital Clock with ArduinoPosted 2 months ago
- Creating a controller for Minecraft with realistic body movements using ArduinoPosted 2 months ago
- Snowflake with ArduinoPosted 3 months ago
- Holographic Christmas TreePosted 3 months ago
- Segstick: Build Your Own Self-Balancing Vehicle in Just 2 Days with ArduinoPosted 3 months ago
- ZSWatch: An Open-Source Smartwatch Project Based on the Zephyr Operating SystemPosted 4 months ago
- What is IoT and which devices to usePosted 4 months ago
- Maker Faire Rome Unveils Thrilling “Padel Smash Future” Pavilion for Sports EnthusiastsPosted 5 months ago
- Make your curtains smartPosted 5 months ago
- Configuring an ESP8266 for Battery PowerPosted 5 months ago
Terminus FE1.1 USB hub board: the solution to connect four USB devices
Based on a single chip from Terminus, it allows you to connect four USB devices starting from a micro USB port; the form-factor is designed for pairing with Raspberry Pi Zero.
We all know what a USB hub is, since at least once we all had to deal with it at home or work to connect to a Personal Computer port with different devices, that is, to connect more devices than the number of USB ports available in the PC.
Well, the hub is a multiplier of USB ports that allows, starting from a channel connected to a USB host (such as the USB connection inside the computer, for example …) to double, quadruple, and so on, distributing, in addition to the bus, even the power supply. The sorting consists of a repetition of the data channel, which is feasible because, according to the Universal Serial Bus protocol, a USB bus, consisting of the canonical two data wires (D+ and D-) referred to the common ground with the power supply (GND), can be approached 127 devices (the 128th is the Host, i.e., the Master unit of the bus).
Although on the market you can find hubs of all shapes and sizes, powered or not, it seemed interesting to develop our project and propose it on these pages, for at least two reasons: it is a small board easily integrated into other electronic devices, and moreover, its form-factor was designed to overlap with the famous Raspberry Pi Zero, which is connected by micro USB connector on the side to expand the possibilities (the Raspberry Pi Zero has only one USB).
So, let’s analyze the wiring diagram of our small universal hub, which supports the 2.0 High-Speed version of the protocol and allows you to connect devices enabling communication between them at a speed (data-rate) of 480 Mbit / s.
The USB hub circuit
The entire hub has been realized by a single component, which is the Terminus FE1.1 integrated circuit, which internally incorporates a complete USB 2.0 High-Speed hub with four ports (called “downstream”) plus one input (or start, if you prefer, which is the “upstream”), all encapsulated in a 14+14 pin SSOP SMD package, as you see in Fig. 1 where the pinout of the integrated circuit is shown.
Our component supports special features such as GSMA Universal Charging Solution (UCS), which is fully compliant with USB-IF specification “Universal Serial Bus rev. 2.0 and Battery Charging rev. 1.1; the device allows you to implement a 4-port low-power USB 2.0 hub.
The high quality of the FE1.1 is ensured by the integrated overall system scan and self-test mode features, which can be applied on the analogue front-end (AFE). High, Full, and Low Speed during build and testing.
The FE1.1 could be optionally configured to support Charging Downstream Ports mode, as defined by the USB-IF specification; by enabling this feature, the USB hub can be easily transformed into a battery charging solution for portable devices such as smartphones and tablets.
This established, we can go examining the wiring diagram, in which we can see the integrated U1 connected in the classic configuration that provides a USB connector to connect to the Host (USB H) and four peripheral devices (USB1, USB2, USB3, USB4) that are equivalent to each other, from the USBH is also taken the power supply for the chip and the four USB devices.
The integrated circuit has an internal 3.3V voltage regulator whose output voltage, available between pin 21 and the ground, is filtered by capacitors C1 and C6 and goes to high logic level on pin OVCJ, which is the protection stage against the excessive current draw. All the logic inside the integrated circuit operates at 3.3V while the USB data side operates at 5V.
The operation of the whole, and in particular the data rate of the USB ports, is synchronized through the internal oscillator that belongs to the quartz Q1; in the wiring diagram, you see only the quartz because the “load” capacitors that with it contribute to determining the oscillation frequency, are integrated into the FE1.1.
The pull-up resistors that you see in the circuit are used to set or disable some features of their pins: for example, the one connected on pin XRSTJ sets at a high level the external reset line, which in this project we do not use and therefore we keep it at one logic (3.3V); the line allows you to reset, for example with a button, the operation of the hub, if it gets stuck, so if you want to have a hard reset, you need to connect a normally open unipolar button between pin 17 and GND and you will get it.
R4 sets the Bus Power Sense operation through the VBUSJ pin, whose status identifies the primary power source of the hub; in our case, the high level indicates that the hub is self-powered and that the source has enough power to supply High-Power devices on the downstream ports side (this is the case of using a power supply that provides current -through a coaxial plug- to Vdd5 and GND pins).
Otherwise, i.e., if pin 19 is held low, it is assumed that power is coming through the USB Host socket, and therefore the IC limits the current of each USB downstream port to 100 mA.
R5, applied to pin 18, manages the Upstream Port Power (VBUS) Monitor function, meaning that the integrated unit monitors the presence of power on the USB bus on the Host side: a high level means that the Host is powered. Therefore the hub can work normally, while if the level is low, it means that on the USBH input socket, there is no power, and therefore the hub is put in a power-down state.
In the circuit, there are also four LEDs mounted two by two antiparallelly and driven by two specific pins that are LED1 (pin 23) and LED2 (pin 24); the four LEDs have, in turn, a common pin that is DRV, which is switched by the internal logic to turn on the diodes in multiplex mode. In practice, the control of LEDs is as follows: when you need to light LD1 and LD2 (or just one of the two), you set the DRV line to a high level and LED1 and/or LED2 to zero logic, while when you need to light LD3 and/or LD4, you send the DRV to zero logic and put LED1 and/or LED2 to a high level.
The first output manages the LEDs indicating that a device is connected to the downstream ports 1 and 3, i.e., LD1 concerns activity on the USB1 connector and LD3 that on the USB3 connector; when at LD2, it shows the presence of devices connected to USB2 (LD2) and to USB4 (LD4).
Each pair of LEDs absorbs a current limited by the resistor that is in series (R1 for D1/D3 and R2 for D2/D4), and that clearly intervenes on only one diode at a time, since, being the LEDs in antiparallel, when one leads the other is blocked and vice versa, the current of one diode at a time always flows in the resistor.
We proceed with the circuit analysis by going to resistor R6, which sets the bias current of the analog stages inside the IC.
We conclude the description of the circuit diagram with capacitors C2 and C5, placed between pin VD18 and ground, which, like those applied to pins VDD3 (between them and ground), are used to filter the voltage generated by the regulator at 1.8V inside the integrated circuit.
R1, R2: 470 ohms (0805)
R3, R4, R5: 100kohm (0805)
R6: 2.7 kohm 1% (0805)
C1, C2, C3: 10µF6.3V Ceramic (0805)
C4, C5, C6, C7: 100 nF ceramic (0805)
LD1, LD2, LD3, LD4: Green LED(0805)
Q1: Quartz 12Mhz (3.2 x 2.5mm)
USB1, USB2, USB3, USB4: USB-A female connector from CS
USBH: Micro-USB connector
– Printed circuit board S1459 (86×37 mm)
The small USB hub that we have described performs the same tasks as the USB 2.0 hubs that you can find on the market and therefore allows you to connect up to four USB devices (for example, printers, mice and keyboards, scanners …) in device mode to a single USB port, which can be that of a personal computer.
It also provides power to the devices, provided that they absorb, all together, the maximum current drawable from the USB of the computer and bearable by the micro USB socket that is the input port.
To count on a higher current to the output ports would have to interrupt the track that carries the +5V from the micro USB socket to the four USB-A and power the +5V line of the latter with an external power supply, capable of delivering all the current that the Universal Serial Bus 2.0 standard contemplates for USB ports; the thing is perfectly feasible, although it was not done in our hub because the circuit was not created with that purpose.
The circuit can still be used as a stand-alone hub or integrated into existing equipment, perhaps combined with a Raspberry Pi board.