IN006F10 Hermes Hardware Reference Manual
IN006F10 Hermes Hardware Reference Manual
1 Platform Overview
Hermes is built around a BeagleBone Black (BBB) (www.beagleboard.org) single-board
computer controlling a wireless sensor reader board for communicating with sensor tags.
Figure 1 shows Hermes block diagram.
The following references provide detailed information of every aspect of the BBB:
http://beagleboard.org/BLACK
http://elinux.org/Beagleboard:BeagleBoneBlack
There are also many other websites with extensive information about the BBB. Two of the
most useful are:
http://derekmolloy.ie/beaglebone/
https://eewiki.net/display/linuxonarm/BeagleBone+Black
Dr. Derek Molloy not only owns one of the previous websites, but he also published the
following very informative book: Exploring BeagleBone: Tools and Techniques for
Building with Embedded Linux (ISBN-13: 978-1118935125). There is also an e-book
version with up-to-date information.
Figure 2 shows the BeagleBone Black connectors that are of interest for the Hermes
platform:
1. P8 and P9
2. J1
3. Ethernet
4. USB Host
5. USB Client
6. HDMI
7. SD Card
The BBB exposes most of its hardware resources through the P8 and P9 connectors. Each
one has 46 pins, and Hermes uses most of them.
The seven analog inputs at P9 have power off protection provided by analog switches (U14
and U15). The switches are powered and enabled with SYS_V5. Therefore, the switches
will automatically be connected when the BBB is on, and the switches will break when the
BBB goes off.
P9 is also used to provide power to the BBB using the pins P9-5 and P9-6 (VDD_5V). The
applied power goes through a current measurement circuit that uses a 0.01 Ohm resistor
(R64) and an amplifier (U18) configured with a fixed gain of 25. The signal is fed to the BBB
using the analog input AI3. Considering that the ADC has 12 bits and a reference voltage of
1.8V, then the current consumption can be calculated as:
The ADC code can be obtained by reading the file located at:
/sys/bus/iio/devices/iio:device0/in_voltage3_raw
Hermes provides the J1 connector that mates with the BBB’s J1 connector, thus allowing
the Hermes on-board USB-UART adapter to connect to UART0. See Section 10.2 for
details on how to enable this capability through the use of jumpers.
UART0 in the BBB provides a terminal interface that it also shows all events thrown by the
bootloader and the Linux operating system. This is very useful for debugging and
troubleshooting from an external Windows- or Linux- based computer. The terminal
emulator is also useful for software development purposes.
This connector can be used to provide a wired connection to a network. DHCP is enabled
by default.
Hermes uses this port to provide Wi-Fi connectivity through the use of a USB/Wi-Fi adapter.
But this connector can also be used to connect an external mouse or keyboard. It is
possible to use a USB Hub when there is need to connect two or more devices. It is highly
recommended to use an externally powered USB Hub when the Wi-Fi adapter is plugged
into the hub.
An external computer can be connected to the BBB using this connector. Under Microsoft
Windows and Linux, the BBB will show up with three different interfaces:
1. As a hard-drive
2. As a network adapter using RNDIS
3. As a serial COM port
The hard-drive contains documentation and device drivers. The network adapter is very
useful for software development and troubleshooting: it allows the use of SSH and terminal
emulation. Finally, the serial port can be used with terminal emulation software. See the
BBB documentation for details.
It is possible to connect an external HDMI monitor or LCD panel. Please review the BBB
documentation regarding compatibility issues. It is not possible to simultaneously use the
Hermes on-board touchscreen and HDMI. Also, it is not possible to use the BBB’s SPI1
lines and HDMI at the same time. To use HDMI, follow the next steps:
1. Disable the default Hermes hardware resources cape and enable the Hermes with
no SPI cape. This can be done by opening the file at /etc/default/capemgr with root
privileges. Follow the instructions in the file.
2. Download the latest version of the file HERMES-HW-NOSPI-00A0.dtbo from
GitHub. This can be done with the following command:
a. wget -O HERMES-HW-NOSPI-00A0.dts
https://github.com/RFMicron/Hermes/blob/master/DebianCustomizatio
n/Capes/HERMES-HW-NOSPI-00A0.dts?raw=true
3. Copy this file to the /lib/firmware folder and change the privileges with these
commands:
a. sudo cp HERMES-HW-NOSPI-00A0.dtbo /lib/firmware
b. sudo chmod 750 /lib/firmware/HERMES-HW-NOSPI-00A0.dtbo
4. Unplug the BBB module from the Hermes main PCB.
5. Unplug the header adapter that is located between P8 in the BBB and J8.
6. Disconnect pin J8-28 (LCD-PCLK). This can be easily done in two ways:
a. Pull the pin out of the header adapter. See Figure 3.
b. Place the header adapter with an offset of 10 pins out of J8 in order to avoid
the connections of pins J8-27 through J8-46. These pins are intended for the
on-board LCD touchscreen and are not needed when using HDMI. See
Figure 4.
7. Plug the BBB back to the Hermes main board. Pay attention to the J1 connector to
make sure it gets properly connected.
8. Put a jumper on J25. This will disable the Hermes cape loading during boot up thus
allowing the default HDMI cape to load.
9. Plug in the power adapter. The BBB will automatically boot after that.
The BBB can be replaced with any other BBB Revision C. Plug the BBB to the Hermes
main board. Pay attention to the J1 connector to make sure it gets properly connected. To
achieve full Hermes functionality, the BBB has to be flashed with the Hermes SD Card. The
Hermes SD Card provides the following features:
1. A customized version of the Linux kernel that enables the use of the capacitive LCD
touchscreen and buttons.
2. BBB cape files that enable the Hermes onboard hardware resources.
3. Hermes software and platform drivers.
4. The jEdit application, Florence virtual keyboard and CAN BUS utilities.
The LCD is integrated using the RGB565 configuration. Therefore, only 16 out of the 24
data lines of the LCD are used in J3 providing a 16-bit color depth.
The backlight LED driver is implemented using ON Semiconductor’s CAT4139 high current
boost LED driver. This driver has open LED overvoltage protection, so there is no need to
add a protection Zener diode at the output. The SHDN signal is connected to a BBB’s pulse
width modulation (PWM) source. The PWM signal can be controlled from Linux providing
one hundred different levels of LED dimming from completely dark to 100% on all the time,
which is the default case.
The touchscreen is connected to the BBB’s I2C2 bus, and one digital input signal
(LCD_INT) is used for interruptions. The RESET signal is pulled-up, but there is an option to
be connected to a BBB’s digital signal (GPIO2_5) if R69 is populated with a zero-Ohm
resistor. The software driver can be configured to use the RESET signal through the device
three configuration file.
WARNING: The AMS Radon reader with its original factory firmware will NOT WORK
WITH HERMES.
There are four components in the integration of the reader with Hermes:
1. Power signals
2. UART signals
3. Microcontroller signals
4. Antenna signals
The power applied to the reader goes through a power switch (U20). A digital line from the
BBB (GPIO0_7) controls the power switch. This way the software can turn on and off the
reader as needed. After the power switch there is a current measurement circuit that uses a
0.01 Ohm resistor (R65) and an amplifier (U19) configured with a fixed gain of 25. The
signal is fed to the BBB using the analog input AI2. Considering that the ADC has 12 bits
and a reference voltage of 1.8V, then the current consumption can be calculated as:
The BBB uses UART4 to communicate with the reader. There is optical isolation in between
provided by U17. The reason for the optical isolation is because the digital signals within the
reader have a ground that is different from Hermes ground.
Hermes provides a connector (J40) that clones the signals from the reader’s J6 connector.
J40 is useful when there is need to load firmware into the reader’s microcontroller.
The two antenna signals are routed through Hermes main PCB to facilitate their use with
the SMA connectors and to increase the service life of the reader’s SMB connectors.
5 Power Distribution
Hermes uses a 5V power supply with 5A capacity. Hermes has a replaceable 3.5A fuse.
The input power goes to only two places: the BBB and the reader. The BBB receives
unregulated power at the VDD_5V pins and it supplies regulated power to the rest of the
Hermes board through VDD_3V3B and SYS_5V.
The KNX evaluation board is self-powered by design from the KNX bus.
6 EEPROM
The EEPROM in the Hermes PCB (U12) is used to provide device tree cape capability. The
BBB during boot time reads the EEPROM and finds the configuration information that
allows it to select and load the RFMICRON_HERMES device tree file.
The contents of the EEPROM can be displayed using the following command:
sudo cat /sys/bus/i2c/devices/1-0054/eeprom | hexdump –C
Hermes has the EEPROM write protection enabled by default. Writing to the EEPROM can
be enabled with a jumper between pins J28-13 and J28-14.
http://elinux.org/Beagleboard:BeagleBoneBlack#WIFI_Adapters
There are two placeholders for zero-Ohm resistors: R51 and R52 can be used for the
implementation of standby/wake-up functionality. The two resistors provide paths to digital
lines at the BBB.
9 UART Multiplexer
The UART multiplexer enables the use of the BBB’s UART2 for multiple purposes. The
multiplexer can be set to one of the following paths:
1. None
2. Loopback
3. External UART
4. I2C/SPI Slave Bridge
5. KNX Evaluation Board
6. XBee Module
7. USB-UART Interface
The multiplexer also provides power-off isolation through the use of 3-state output gates
(U4, U6, U7, U8, U9 and U10). The BBB controls the multiplexer with three digital lines:
UART_MUX_0, UART_MUX_1 and UART_MUX_2.
This path is provided for self-test and troubleshooting purposes. Any data sent from the TX
line of the UART2 port will come back to the RX line.
This path provides UART connectivity to the Hermes platform. For convenience, the UART
signals are available at two connectors (J20 and J20A) with different form factors, but only
one can be used at a time. The pin out of J20A follows the de facto standard of popular TTL
to USB serial converter cables like FTDI’s TTL-232R-3V3.
The UART signals are TTL 3.3V compatible. But because of the characteristics of the
SN74LVC2G126 dual bus buffer gate, it is likely that can work for 5.0V applications. Please
review the SN74LVC2G126 datasheet to verify the design for a specific application.
This path enables the use of the I2C/SPI slave interface for the Hermes platform. See
Section 13 for details about this interface.
This path enables the use of the KNX interface for the Hermes platform. See Section 12 for
details about this interface.
This path enables the use of the ZigBee interface for the Hermes platform. See Section 11
for details about this interface.
This path provides USB connectivity to the Hermes platform through a virtual COM port.
The USB-UART interface is implemented with a FTDI FT231XS USB-UART. FTDI provides
device drivers for most operating systems. See Section 10 for details on how to enable this
path.
10 USB-UART Interface
The USB-UART interface is implemented with a FTDI FT231XS USB-UART. FTDI provides
virtual COM port device drivers for most operating systems and processor architectures.
See the following page to download drivers and for details about support and compatibility:
http://www.ftdichip.com/Drivers/VCP.htm
This alternative provides access to the BBB’s UART2 port. The following settings must be in
place to use this alternative:
1. J16 must have two jumpers: from pin 1 to pin 3 and from pin 2 to pin 4.
2. J19 and J15 must not have any jumpers.
3. During runtime the UART multiplexer must be configured for the USB-UART
interface path (UART_MUX_0=0, UART_MUX_1=1, UART_MUX_2=1).
The USB-UART chip is powered by the USB bus, not by the Hermes kit. This is especially
useful for this use case because it allows monitoring the BBB’s debug port from the first
instant after power up, thus enabling the external computer to capture all the messages
from the bootloader and the Linux boot process. After boot up, the UART0 can be used as a
terminal which is very useful for development and troubleshooting. There are many terminal
emulation software packages available for most platforms. The following page contains links
to terminal emulators that are open source and can be freely used:
https://en.wikipedia.org/wiki/Category:Free_terminal_emulators
1. Connect the external computer to the Hermes kit USB connector (J12). The external
computer must be on, thus providing power to the USB-UART chip.
2. J16 must have two jumpers: from pin 3 to pin 5 and from pin 4 to pin 6.
3. J19 and J15 must not have any jumpers.
4. Before disconnecting or turning off the external computer, the two jumpers must be
disconnected.
WARNING: If the two jumpers are in place without having an external computer
plugged to J12 or if the external computer is off can cause damage to the USB-UART
chip because there is no power-off protection for this element. It can also cause the
BeagleBone Black to not boot during a re-start operation. This is because the
BeagleBone Black may try to boot from the UART0 instead of the on-board EMMC.
MALFUNCTION AND HARDWARE DAMAGE MAY OCCUR.
This use case is necessary when there is need to update the XBee module firmware. In
addition to the use of the UART RX and TX signals, to update the firmware, the XBee
module requires the use of the DTR, CTS and RTS signals. And this is only possible
through the USB-UART interface. The path that goes through the UART multiplexer only
provides the UART RX and TX signals.
This alternative is also useful because it allows an external computer to execute the XCTU
application from DIGI. The XCTU application provides utilities for configuration,
development and network monitoring. For more information and to download XCTU see:
http://www.digi.com/products/xbee-rf-solutions/xctu-software/xctu
1. J15 must have three jumpers: from pin 1 to pin 2, from pin 3 to pin 4 and from pin 5
to pin 6.
2. J19 must have two jumpers: from pin 1 to pin 3 and from pin 2 to pin 4.
3. J16 must not have any jumpers.
4. The XBee module is powered by the BBB. Therefore the BBB must be on during
firmware updates and during the XCTU application operation.
5. The RESET signal must be active high in order to enable the XBee module. This can
be accomplished with the following commands:
a. echo 22 > /sys/class/gpio/export
b. echo out > /sys/class/gpio/export/gpio22/direction
c. echo 1 > /sys/class/gpio/export/gpio22/value
6. The UART multiplexer must not be configured for the XBee path. This can be
accomplished with the following commands:
a. echo 66 > /sys/class/gpio/export
b. echo 26 > /sys/class/gpio/export
c. echo 27 > /sys/class/gpio/export
d. echo out > /sys/class/gpio/export/gpio66/direction
e. echo out > /sys/class/gpio/export/gpio26/direction
f. echo out > /sys/class/gpio/export/gpio27/direction
g. echo 0 > /sys/class/gpio/export/gpio66/value
h. echo 0 > /sys/class/gpio/export/gpio26/value
i. echo 0 > /sys/class/gpio/export/gpio27/value
WARNING: The Hermes board must be powered up all the time while there is an
external computer connected to Hermes USB port. This is because the USB-UART
interface is powered by the USB bus, and there is no power-off protection on the
XBee module side. MALFUNCTION AND HARDWARE DAMAGE MAY OCCUR.
WARNING: The UART multiplexer must not be configured for the XBee path because
it will cause a short to the USB-UART and XBee module lines. MALFUNCTION AND
HARDWARE DAMAGE WILL OCCUR.
11 XBee Module
This XBee module implements the ZigBee protocol. This module can be operated in two
modes:
1. From the BBB’s UART2 through the UART multiplexer. See 9.1.5.
2. From an external computer through the USB-UART interface. See 10.3.
Several signals from the XBee module are routed to the J27 connector, which is normally
not populated.
The signals TREQ, MODE1 and MODE2 are connected to ground. Therefore the NCN5130
can only be operated through the serial port. The analog mode and the SPI Master interface
are not available.
Several signals from the KNX evaluation board are routed to the J21 connector, which is
normally not populated.
The SCK, CSB and XCLKC signals are routed to the J23 connector. These signals can be
connected to ground or to 3.3V from the KNX module using jumpers to the J22 or J24
connectors. SCK and CSB are used to configure the serial port and XCLKC to configure the
clock frequency. See the NCN5130 datasheet for details.
The 3.3V regulator output and the signal ANAOUT are connected to BBB’s analog inputs
using voltage dividers. Monitoring these signals from the BBB is useful for KNX operation,
troubleshooting and development. The ANAOUT can be configured to output any of seven
possible nets inside the NCN5130. See the NCN5130 datasheet for details.
Signals SAVEB and TRIG are connected to a power-off protection switch (U13). From this
point they can be connected to digital lines at the BBB using zero-Ohm resistors. SAVEB is
connected by default and TRIG is not connected by default. Monitoring these signals from
the BBB is useful for KNX operation, troubleshooting and development.
WARNING: Configuring the bridge while the Hermes kit is on could result in hardware
damage depending on the connections at the time.
The I2C and SPI signals are available at two connectors (J37 and J37A) for the
convenience of the user. J37 is normally populated, and J37A is not.
The bridge’s IRQ line can be connected to the BBB using a zero-Ohm resistor (R82). This
can be useful in the implementation of an interruption based API as opposed to a polling
based API.
J41 can be used to create an I2C loopback from the bridge’s I2C slave to the BBB’s I2C1
master. To enable the loopback, place two jumpers from pin 1 to pin 2 and from pin 3 to pin
4. Under normal operation, there should not be any jumpers placed at J41. Finally, Hermes
already provides the pull-ups for I2C1, so there is no need to place jumpers at J36 and J38.
J33 can be used to create an SPI loopback from the bridge’s SPI slave to the BBB’s SPI1
master. To enable the loopback, place four jumpers from pin 1 to pin 2, pin 3 to pin 4, pin 5
to pin 6 and pin 7 to pin 8.
J16, J35 Jumper between pin 3 and the other position floating
Jumper between pin 4 and the other position floating
15 Notices
Copyright © 2016 RFMicron, Inc. All rights reserved.
RFMicron reserves the right to make changes, at any time and without notice, to information
published in this document, including, without limitation, specifications and product
descriptions. This document supersedes and replaces all information delivered prior to the
publication hereof. RFMicron makes no representation or warranty, and assumes no
liability, with respect to accuracy or use of such information.
Customer is solely responsible for the design and operation of its applications and products
using RFMicron products. It is the Customer's sole responsibility to determine whether the
RFMicron product is suitable and fit for Customer's applications and products planned, as
well as for the planned application and use of Customer's end user(s). RFMicron accepts
no liability whatsoever for any assistance provided to Customer at Customer's request with
respect to Customer's applications or product designs. Customer is advised to provide
appropriate design and operating safeguards to minimize the risks associated with its
applications and products.
RFMicron represents and Customer acknowledges that this product is neither designed nor
intended for use in life support appliances, devices, or systems where malfunction can
reasonably be expected to result in personal injury.
This product is covered by U.S. patents 7586385 and 8081043; other patents pending.
Chameleon® and Magnus® are trademarks of RFMicron.