I recently described a board for hacking on OpenWrt and that also has connectors for adding USB peripherals and custom made PCBs. The AR9331 board is described in the post immediately preceding this one. Here I will describe the connectors in more detail.
The board has the following connectors:
- Power Input
- Two RJ45 Ethernet Ports
- 2 Type A USB ports
- Mini-USB Port
- WiFi Antenna Port
- The Expansion Connector
The Power Input is used for powering the board and the peripherals attached to the board including the USB Type A ports. The board has a switch mode regulator to convert the input voltage to 5V at high efficiency. A standard barrel socket is used with the center pin connected to positive and the outer sleave being ground. The ideal input voltage is 12V since the efficiency is very high at 12V input but any voltage from 7V to 17V will work. The 7V lower limit is dictated by the maximum duty cycle of the switching regulator. The switching regulator is rated for 20V continuous but I prefer to not use input voltages higher than 17V to prevent spikes from killing the regulator. The input voltage will spike if the power is unplugged while the board is drawing significant current. There is a 1A PolyFuse is series with the input voltage to protect the PCB from damage if there is a short circuit somewhere on the board or USB plugs.
The RJ45 ports have integrated magnetics and the tabs for the cable connector point downwards. Ordinary Cat5 and Cat5E cables can be used.
The two USB ports can both act as USB Host ports since there is a USB Hub on the board. These USB ports can power external hard drives and other devices that draw significant current from the 5V supply. The 5V in the USB is current limited at about 3A for both ports combined. The power is available even if the device has not been enumerated. Since these boards are aimed at being embedded inside other products the 5V from the USB can power external 5V devices including battery chargers. We have tested several USB hard drives, flash drives and some other peripherals on the USB ports. One of the devices known to work is a USB to Serial adapter based on an FTDI chip. Similar boards normally can’t drive USB to Serial or USB to Parallel converters due to the compatibility issues of the AR9331 chipset with USB 1.1 devices.
The Mini-USB port has a FT231SX USB to serial adapter between it and the AR9331’s integrated UART. This serial port is used by the Linux kernel as an error reporting channel. You can log in using the root password and change setup of the WiFi and firewall tables. Also, if all else fails, you can upload new firmware through this port. Normally the firmware would be uploaded via the Ethernet or WiFi ports. A change in the build settings for OpenWrt can make this serial port available for general use.
The WiFi port is a 50 Ohm 2.4GHz port for transmitting and receiving the WiFi signals. The connector is a standard IPAX u.FL connector and you can connect any 50 Ohm antenna to the module. These connectors are not designed for many mating cycles and a typical spec is 10 cycles. The boards will be supplied with an antenna that is printed on a PCB but any standard 2.4GHz antenna will work.
The Expansion Connector is a 20-pin 0.1″ header connector and is not fitted on the modules. The connector has a a number of signals that connect directly to the AR9331 SOC and they should be treated with care. The AR9331 is a 2.5V device and its pins are NOT 3.3V or 5V tolerant.
Some of the pins have special functions assigned to them with hardware support for those functions and I will cover them later. The 2.5V pin is provided more as a reference than a power supply pin. You should not draw current from it. The 3.3V pin can suply some current and I will qualify it in more detail in the future. It is limited by the fact that there is no heatsink on the 3.3V LDO except for some copper areas attached to the device. It this point I think 50mA should be available with a possibility of 100mA or even 150mA. The 5V pin is the primary regulated supply and any board that needs more than a few mA should have a regulator from the 5V to generate its own supply voltage. In the event that a module needs a voltage higher than 5V I routed the input voltage directly to the Vin pin but it is unregulated and untouched except for the PolyFuse protection.
- GPIO15 is shared with a signal called LED4 on the AR9331 and the description reads “Ethernet switch LED3” and it defaults to a general purpose IO pin.
- GPIO16 is shared with LED5 for which there is even less information available but it defaults to an IO pin.
- GPIO18 can be configured as I2S_CK for an I2S audio inteface.
- GPIO19 can be configured as I2S_WS for an I2S audio inteface.
- GPIO20 can be configured as I2S_SD for an I2S audio inteface.
- GPIO21 can be configured as I2S_MCK for an I2S audio inteface.
- GPIO22 can be configured as I2S_MICIN for an I2S audio inteface.
- GPIO23 can be configured as SPDIF_OUT for a digital audio output.
- GPIO24 is always a general purpose IO-pin.
- GPIO26 is a general purpose IO-pin that can be configured as a generic LED driver.
- GPIO27 is a general purpose IO-pin that can be configured as a generic LED driver.
- GPIO28 is a general purpose IO-pin that can be used to control and external Low Noise Amplifier for increased WiFi sensitivity. It is always available as an IO pin on this board.
The I2S Interface
I2S/SPDIF out is an audio interface that support up to 48 KHz sampling clock and a serial clock of more than 512 * sampling frequency. It also supports seamless switching of the audio out stream from I2S to SPDIF. I2S MIC is also supported. Can generate serial clock for various sampling frequencies.