User's Guide

– –
– –
36 37
A module is set as a master by pressing and holding the button for 30
seconds to start the Generate Key function. While the button is held, the
MODE_IND line is on. After 30s, the MODE_IND line repeats a double blink,
indicating that the function has begun. When the button is released the key
and address generation is complete and the module is now a master unit.
When Generate Key is performed, the unit is set as the system master
and ADDMODE is set to Extended User Address with encryption (0x27).
It generates a random 128-bit AES encryption key based on ambient RF
noise and scrambled through an encryption operation. If UMASK is the
default value (0xFFFFFFFF), then it is set to 0x000000FF, supporting up to
255 nodes. A random 32-bit address is generated. By default, the lower
8 bits are 0. The address of the master unit is the network base address.
Other nodes are assigned sequential addresses, starting with network
base address +1. Finally, UDESTID is set to the bitwise OR of USRCID and
UMASK, which is the network broadcast address.
Setting a module to be a slave is accomplished by joining it with a master
unit. This is done by pressing and releasing the PB button on both units.
The modules automatically search for each other using a special protocol.
When they find each other, the master sends the slave the encryption key,
UMASK value and its network address. The UDESTID is set to the address
of the master. The values are encrypted using a special key that is defined
at the factory. Once the JOIN process is complete, the MODE_IND blinks
on both units and they now operate together. This is shown in Figure 30 A.
If UMASK is pre-set when Generate Key is initiated, then the JOIN process
uses that mask and sets the address accordingly. This can allow more
nodes in the network. This is shown in Figure 30 B. Likewise, the network
key can be written to the module and the JOIN process used to create an
address and associate new modules. Or the master can be completely
configured through the CDI and the JOIN process used to associate nodes
in the field. This gives the system designer many options for configuration.
The JOIN process protocol detects if there are multiple masters or slaves in
the area attempting to join and fails the process automatically. This ensures
that the correct modules are joined.
The SECOPT register is used to configure options related to the JOIN
process. This allows the OEM to set desired values at the factory and allow
final network configuration in the field. This includes disabling the ability to
change the address, change the key and share the key.
D
UMASK = FF FF FF FF
USRCID = FF FF FF FF
UDESTID = FF FF FF FF
No Key
M
UMASK = 00 00 00 FF
USRCID = 76 54 32 00
UDESTID = 76 54 32 FF
Network Key
Generate Key
D
UMASK = FF FF FF FF
USRCID = FF FF FF FF
UDESTID = FF FF FF FF
No Key
S
UMASK = 00 00 00 FF
USRCID = 76 54 32 01
UDESTID = 76 54 32 00
Network Key
JOIN
M
UMASK = 00 00 00 FF
USRCID = 76 54 32 00
UDESTID = 76 54 32 FF
Network Key
P
UMASK = 00 00 0F FF
USRCID = FF FF FF FF
UDESTID = FF FF FF FF
No Key
M
UMASK = 00 00 0F FF
USRCID = 76 54 30 00
UDESTID = 76 54 3F FF
Network Key
Generate Key
D
UMASK = FF FF FF FF
USRCID = FF FF FF FF
UDESTID = FF FF FF FF
No Key
S
UMASK = 00 00 0F FF
USRCID = 76 54 30 01
UDESTID = 76 54 30 00
Network Key
JOIN
M
UMASK = 00 00 0F FF
USRCID = 76 54 30 00
UDESTID = 76 54 3F FF
Network Key
Key Generation and Network Join from Factory Default
Key Generation and Network Join from Preset Mask
A)
B)
Figure 30: HumPRO
TM
Series JOIN Process
D = Factory Default
M = Network Master
S = Network Slave
P = OEM Preset Unit