Murata Electronics North America DNT90 manual pt b

Preliminary
7.4 Configuration Parameter Registers
The configuration parameters in a DNT90 module are stored in a set of variable length registers. Most registers are read-write, with a few read-only or write-only. Changes made to the register settings are temporary until a MemorySave command is executed. Resetting or power-cycling the module will clear any changes that have not been saved to permanent memory using the MemorySave command. DNT90 modules can be configured to start in protocol mode at power-up, in which case the EnterProtocolMode command is not required.
7.4.1 Bank 0x00 - Transceiver Setup
Bank Location Name R/W Size Range Default
0x00 0x00 DeviceMode R/W 0x01 0..2 0 (remote)
0x00 0x01 HopDuration R/W 0x01 16..200 40 (20 ms)
0x00 0x02 ParentNwkID R/W 0x01 0..63, 255 255 (any parent)
0x00 0x03 SecurityKey R/W 0x10 0..2^128-1 0
0x00 0x13 SleepModeEn R/W 0x01 0..2 0 (off)
0x00 0x14 WakeResponseTime R/W 0x02 0..30000 500 (500 ms)
0x00 0x16 WakeLinkTimeout R/W 0x01 0..255 5 (5 s)
0x00 0x17 AltParentNwkID R/W 0x01 0..63, 255 255 (disabled)
0x00 0x18 TxPower R/W 0x01 0..1 1 (+22 dBm)
0x00 0x19 UserTag R/W 0x10 string “DNT90”
0x00 0x29 RmtTransDestAddr R/W 0x03 0x000000 (Base)
0x00 0x2C Store&ForwardEn R/W 0x01 0..1 0 (disabled)
0x00 0x2D BaseModeNetID R/W 0x01 1..63, 255 255
0x00 0x2E HeartbeatIntrvl R/W 0x02 0..65535 20 (seconds)
0x00 0x30 SystemId R/W 0x01 0..255 0
0x00 0x31 EndToEndAckEnable R/W 0x01 0..1 0 (disabled)
0x00 0x32 LinkRetryInterval R/W 0x02 0..65535 0 (disabled)
0x00 0x34 FastBeaconCount R/W 0x02 0..65535 0 (off)
0x00 0x36 FastBeaconTrig R/W 0x01 0..255 0 (off)
DeviceMode - this parameter selects the operating mode for the radio:
0x00 = remote (default) 0x01 = base 0x02 = router (store and forward system)
Note that changing this setting does not take effect immediately. It must be followed by a MemorySave command and then either a hardware reset or a power off/on cycle. A router without a valid BaseMode-
NetID operates as a remote.
HopDuration - this parameter sets the duration of the hop frame, and can only be set on the base. The
duration is an 8-bit value, 0.5 ms/count. The valid range is from 8 to 100 ms. Changing the hop duration on the base must be followed by a MemorySave command to allow the change to persist through a reset or power cycle. A HopDuration change takes effect immediately. Child radios will re-link following a HopDuration parameter change as they receive the updated hop duration value from the base.
Table 7.4.1.1
www.RFM.com Technical support +1.678.684.2000 Page 41 of 80
© 2010-2012 by RF Monolithics, Inc. E-mail: tech_sup@rfm.com DNT90 Integration Guide - 05/10/12
Preliminary
ParentNwkID - this parameter specifies the parent (BaseModeNetID) that a child radio is allowed to join. The valid range of this parameter is 0 to 63 (0x00 to 0x3F), plus 255 (0xFF). Setting the ParentNwkID to 255 allows connection to any parent. This parameter is applicable only to remotes and routers. Also see the discussion of AltParentNwkID below.
Security Key - this 16-byte parameter sets the 128-bit AES encryption key. To protect the key, it is a write­only parameter for the user. It always reads back as 0x2A.
SleepModeEn - this parameter enables/disables sleep mode (remotes only). Sleep mode is used in con­junction with the automatic I/O reporting feature to wake up a remote on specific triggers. The default val­ue for this parameter is 0 (off). Setting this parameter to 1 invokes sleep mode immediately. Setting this parameter to 2 invokes sleep mode following reset, allowing this and other parameter updates to be stored before sleep mode is invoked.
WakeResponseTime - this parameter set how long sleep is deferred in a DNT90 remote configured for sleep mode after:
WakeLinkTimeout - this parameter sets the maximum length of time that a remote in sleep mode will spend trying to acquire a link to its parent before going back to sleep, from a minimum of 1 to 255 se­conds in 1 second steps. If this value is set to 0, the remote will stay awake and continue trying to link to its base indefinitely.
AltParentNwkID - this parameter specifies an alternate parent (BaseModeNetID) that a child radio is allowed to join. This parameter is used to provide more robust message routing when setting the Parent- NwkID to its 0xFF wildcard value is not appropriate. The valid range of this parameter is 0x00 to 0x3F, plus 0xFF. Rather than specifying wildcard operation, setting the AltParentNwkID to 0xFF disables the selection of an alternate parent. This parameter is applicable only to remotes and routers.
TxPower - this parameter sets the transmit power level (default is 0x01):
0x00 = +16 dBm or 40 mW 0x01 = +22 dBm or 158 mW
UserTag - this parameter is a user definable field intended for use as a location description or other iden­tifying tag such as a “friendly name”.
RmtTransDestAddr - this parameter holds the default destination for transparent mode data packets and event packets. This parameter defaults to the base station’s address (0x000000) except on a base sta­tion, where at startup it will be changed to the broadcast address (0xFFFFFF) if the firmware detects that it is set to 0x000000. Note - if a module’s configuration is changed from a base to a remote or router, this parameter must be set back to 0x000000 or the module will send broadcast packets in transparent mode or for event packets.
Store&ForwardEn - setting this parameter to 0x01 enables store-and-forward system operation. Store­and-forward operation is disabled by default.
BaseModeNetID - applicable to the base and routers only, this parameter specifies the network ID of a device’s own network when acting as parent. A child is allowed to join a network when its ParentNwkID
www.RFM.com Technical support +1.678.684.2000 Page 42 of 80
© 2010-2012 by RF Monolithics, Inc. E-mail: tech_sup@rfm.com DNT90 Integration Guide - 05/10/12
link acquisition receiving an ACK from the device’s parent receiving a packet that requires processing by the device after receiving a protocol packet from the device’s local host.
Preliminary
parameter matches a parent’s BaseModeNetID. The valid range of this parameter is 0x00 to 0x3F. A val­ue greater than 0x3F is invalid and will be forced to 0x00 on a base. A router with an invalid Base-
ModeNetID will be forced to operate as a remote.
HeartbeatInterval - When set to 0, all heartbeats are disabled, including the initial heartbeat issued after
link acquisition. When set to 0xFFFF (default), periodic heartbeats are disabled but the initial linkup heartbeat is enabled. The periodic heartbeat interval is scaled 1 second/count, and applies to DNT90s where sleep mode is disabled. Remotes with sleep mode enabled must have periodic reports and/or ADC sampling enabled for heartbeats to be generated.
SystemId - this parameter holds the ID for a DTN90 system. DNT90 systems that may physically overlap must have different system IDs.
EndToEndAckEnable - when this parameter is set to 1 and the DNT90 is in protocol mode, the originator will indicate in its transmitted packet that an ACK is expected from the packet’s destination node. Setting this parameter to 0x00 reduces network congestion in a store-and-forward system, but no TxDataReply will be sent from the destination to confirm reception.
LinkRetryInterval - when a remote enters sleep mode with an unsent packet in its queue, the remote will wake up after the number of seconds held in this parameter and try to link so that pending packets can be transmitted. When this parameter is set to 0, this feature is disabled.
FastBeaconCount - this parameter controls the fast beacon mode, which is used to speed up network synchronization. Fast beacon mode is especially useful for multi-level store-and-forward networks that are configured with long hop durations. Fast beacon mode is controlled by the base station. If the Fast-
BeaconCount parameter is set to a non-zero value, when the base is reset, powered up or the Fast- BeaconTrig parameter is set to a non-zero value, it will output the number of 6 ms beacons specified in
the FastBeaconCount parameter. The base and all of its children will synchronously decrement a version of the parameter in their beacons, such that it will reach 0 simultaneously on all devices. This allows all nodes in the DNT90 system to simultaneously transition to using the configured base slot size and num­ber of slots. The beacons also inform all child devices that the network is in Fast beacon mode, so that all children will observe the FastBeaconCount and assume, in addition to the 6ms hop timing, a base slot size of 0 and a number of slots equal to 1. If the cycled base station operating parameters transmitted in the beacons, including the BaseSlotSize and NumSlots (see Bank 0x01 parameters) are stable, then a further speedup of synchronization can be achieved by setting the NumBaseParms on the base station to
8. However, this should be done only after all child devices are known to have configuration parameters identical to the base station’s saved in their EEPROM. The first 9 parameters contain the AES counter and MAC address that are needed to synchronize encryption, along with NumBaseParms.
FastBeaconTrig - when this parameter is set to any non-zero value on a base station, fast beacon mode starts if the fastBeaconCount register is already set to a non-zero value. It auto-clears on a base station and will read back as 0 after it is cleared. On a router or remote, it would do nothing and will not clear except after reset.
www.RFM.com Technical support +1.678.684.2000 Page 43 of 80
© 2010-2012 by RF Monolithics, Inc. E-mail: tech_sup@rfm.com DNT90 Integration Guide - 05/10/12
Preliminary
7.4.2 Bank 0x01 - System Settings
Bank 1 holds configuration parameters to be input to the base only. The base passes these parameters to the routers and remotes as needed. The exception is InitFrequencyBand parameter which can also be set in routers and remotes.
Bank Location Name R/W Size Range Default
0x01 0x00 InitFrequencyBand R/W 0x01 0..3, 255 0 (US)
0x01 0x01 NumSlots R/W 0x01 1..8 3
0x01 0x02 BaseSlotSize R/W 0x01 6..105 40
0x01 0x03 SlotLease R/W 0x01 1..255 2 (hops)
0x01 0x04 BcstAttemptLimit R/W 0x01 0..254 1
0x01 0x05 ArqAttemptLimit R/W 0x01 1..255 6
0x01 0x06 LinkDropThreshold R/W 0x01 1..255 10 (hops)
0x01 0x07 P2PReplyTimeout R/W 0x01 0..255 100 (hops)
0x01 0x08
0x01 0x09
RegistryTimeout
NumBaseParms
R/W
R/W
Table 7.4.2.1
InitFrequencyBand - this parameter sets the range of frequencies and channel spacing over which the DNT90 system will initially operate. Four bands are available:
0x00 Band 0: 902.76 to 927.24 MHz, 52 channels, 480 kHz spacing 0x01 Band 1: 902.76 to 926.76 MHz, 26 channels, 960 kHz spacing 0x02 Band 2: 915.72 to 927.74 MHz, 25 channels, 480 kHz spacing 0x03 Band 3: 902.76 to 914.76 MHz, 26 channels, 480 kHz spacing 0xFF wildcard - will accept any band
Bands 0, 1, 2 and 3 can be used in North and South America (902 to 928 MHz band), with Band 2 usable in Australia.
NumSlots - this parameter sets the number of slots available for child transmissions following the parent’s beacon transmission on a hop.
BaseSlotSize - this parameter set the maximum number of payload bytes that the base can send on a single hop. The default value is 40 bytes.
SlotLease - this parameter set the number of hops a parent radio will reserve a slot for a child after re­ceiving a message from that child. Small values such as 2 are suited to short data bursts, and larger val­ues are generally a better choice when devices send a stream of non-continuous data across consecutive hops. The minimum value is 1, assuring that a child can receive an ACK on the next hop after it transmits.
BcstAttemptLimit - setting this parameter to 0 enables automatic broadcast message repeats based on the ArqAttemptLimit parameter value. Setting this parameter to a value between 1 and 254 specifies the number of broadcast message repeats independent of the ArqAttemptLimit. This parameter should not be set to 0 if ArqAttemptLimit is set to 255.
ArqAttemptLimit - this sets the maximum number of attempts that will be made to send a message on the RF link. Setting this parameter to the maximum value of 255 is a flag value indicating that there should be no limit to the number of attempts to send each packet (infinite number of attempts). This mode is intend­ed for point-to-point networks in serial data cable replacement applications where absolutely no packets
0x01 0..255 50 (hops)
0x01 8..21 21
www.RFM.com Technical support +1.678.684.2000 Page 44 of 80
© 2010-2012 by RF Monolithics, Inc. E-mail: tech_sup@rfm.com DNT90 Integration Guide - 05/10/12
Preliminary
can be lost. Note - if this mode is used in a multipoint network, one remote that has lost link will shut down the entire network if the base is trying to send it data.
LinkDropThreshold - this is the number of consecutive beacons missed by a remote that causes the re­mote to restart a link acquisition search. Please contact RFM technical support before making changes to the parameter.
P2PReplyTimeout - this parameter sets the reply timeout for peer-to-peer messages sent from one node to another. Because each leg of the journey from one node to another and back may take multiple trans­mit attempts, the length of time to confirm receipt and issue a TxDataReply is subject to more variation than a transmission directly between a base and a remote. When AckEnable is selected, the P2PReply- Timeout parameter specifies the maximum number of hops or hop pairs that a remote will wait for a reply from its recipient. If a reply returns sooner than the timeout, the remote will send a TxDataReply indicating success (ACK) to its host as soon as it is received, and cancels the timeout. If a reply does not come back before the timeout expires, the remote will send a TxDataReply to its host indicating failure (NAK). If a reply should come back after the timeout expires the remote will ignore it, as a TxDataReply has al­ready been sent. The units of this parameter are in hops for point-to-point and point-to-multipoint opera­tion and in hop pairs for store-and-forward operation.
RegistryTimeout - this parameter sets the number of hops without contact from a child device for which a parent device will preserve the Transaction ID (TID) history for that child. The TID is used to filter out du­plicate packets. After a registry timeout occurs, the TID history is discarded.
NumBaseParms - this parameter controls the number of cycled parameters sent in the base station bea­con. It must be left in its default value of 21 until all nodes in a DNT90 system have received all cycled parameters and stored them locally in EEPROM. At this point the number of cycled parameters can be set to 9, which will significantly speed up future system resynchronizations.
7.4.3 Bank 0x02 - Status Parameters
Bank Location Name R/W Size Range Default
0x02 0x00 MacAddress R 0x03 0..0xFFFFFF Fixed value
0x02 0x03 CurrNwkID R 0x01 0..63, 255 Current Value
0x02 0x04 CurrFreqBand R 0x01 0..2, 255 Current Value
0x02 0x05 LinkStatus R 0x01 0..5 Current status
0x02 0x06 RemoteSlotSize R 0x01 0..109 Current Value
0x02 0x07 SlotNumber R 0x01 0..7 Current Value
0x02 0x08 HardwareVersion R 0x01 0x41..0x5A 0x43 = Rev “C”
0x02 0x09 FirmwareVersion R 0x01 0x00..0xFF Current FW load
0x02 0x0A FirmwareBuildNum R 0x02 0..65535 Current FW load
0x02 0x0C FirmwareBuildDate R 0x03 BCD (“YYMMDD”) Current FW load
0x02 0x0F FirmwareBuildTime R 0x03 BCD (“HHMMSS”) Current FW load
0x02 0x12 RssiIdle R 0x01 -128..127 Current Value
0x02 0x13 RssiLast R 0x01 -128..127 Current Value
0x02 0x14 AvgBeaconPower R 0x01 -128..127 Current Value
0x02 0x15 ParentMacAddress R 0x03 0..0xFFFFFF Current Value
0x02 0x18 ModelNumber R 1 0x90 indicates DNT90
Table 7.4.3.1
www.RFM.com Technical support +1.678.684.2000 Page 45 of 80
© 2010-2012 by RF Monolithics, Inc. E-mail: tech_sup@rfm.com DNT90 Integration Guide - 05/10/12
Preliminary
MacAddress - this parameter holds the radio's unique 24-bit MAC address.
CurrNwkID - this parameter holds the ID of the network the radio is currently assigned to or connected to.
A value of 255 (0xFF) means the radio has powered up and is scanning for a network but has not yet joined one.
CurrFreqBand - this parameter holds the frequency band of the network that the radio is currently as­signed to or connected to. A value of 0xFF means the radio has powered up and is scanning for a net­work but has not yet joined one.
LinkStatus - this parameter holds the link status of a router or remote:
0x00 = idle 0x01 = lost link 0x02 = acquiring link 0x03 = collecting parameters from the base 0x04 = registering 0x05 = registered
RemoteSlotSize - this parameter holds the current remote slot size, defined as the maximum number of message bytes a remote can send on a single hop. The RemoteSlotSize is calculated by each radio in a system based on the values of the HopDuration, BaseSlotSize, and NumSlots parameters.
SlotNumber - this parameter holds the current slot number assigned to a router or remote.
HarwareVersion - this parameter holds an identifier indicating the hardware revision (ASCII character). A value of 0x43 is defined for the DNT90 Revision C hardware.
FirmwareVersion - this parameter holds the firmware version of the radio in 2-digit BCD format.
FirmwareBuildNum - this parameter holds the firmware build number, in binary format.
FirmwareBuildDate - this parameter holds the date of firmware build in MM/DD/YY format.
FirmwareBuildTime - this parameter holds the time of the firmware build in HH:MM:SS format.
RssiIdle - this 2’s compliment parameter holds the last RSSI measurement in dBm made during a time
when the RF channel was idle. This parameter is useful for detecting interferers.
RssiLast - this 2’s compliment parameter holds the last RSSI measurement in dBm made during the re­ceipt of an RF packet with a valid CRC. This parameter is useful for network commissioning/diagnostics.
AvgBeaconPower - this 2’s compliment parameter holds the alpha-filtered beacon power (dBm) received from a device’s parent, where alpha = 0.0625.
ParentMacAddress - this parameter holds the MAC address of a DNT90’s parent.
ModelNumber - this parameter specifies the DNT model, in this case a DNT90.
www.RFM.com Technical support +1.678.684.2000 Page 46 of 80
© 2010-2012 by RF Monolithics, Inc. E-mail: tech_sup@rfm.com DNT90 Integration Guide - 05/10/12
Preliminary
7.4.4 Bank 0x03 - Serial and SPI Settings
Bank Location Name R/W Size Range Default
0x03 0x00 SerialRate R/W 0x01 0..10 3 (9600 baud)
0x03 0x01 SerialParams R/W 0x01 0..7 0 (8-N-1)
0x03 0x02 SpiMode R/W 0x01 0..2 0 (SPI disabled)
0x03 0x03 SpiRateSel R/W 0x01 0..2 0 (125 kHz)
0x03 0x04 SpiOptions R/W 0x01 0..7 0
0x03 0x05 SpiMasterCmdLen R/W 0x01 0..16 0
0x03 0x06 SpiMasterCmdStr R/W 0x10 0..16 byte string All 0x00 bytes
SerialRate - this parameter sets the serial data rate as shown below:
Setting Serial rate
0x00 1.2 kbps 0x01 2.4 kbps 0x02 4.8 kbps 0x03 9.6 kbps 0x04 14.4 kbps 0x05 19.2 kbps 0x06 28.8 kbps 0x07 38.4 kbps 0x08 57.6 kbps 0x09 115.2 kbps 0x0A 230.4 kbps 0x0B 250.0 kbps
SerialParams - this parameter sets the serial mode options for parity and stop bits:
Setting Mode
0x00 No parity, 8 data bits, 1 stop bit (default) 0x01 No parity, 8 data bits, 2 stop bits 0x02 Reserved 0x03 Reserved 0x04 Even parity, 8 data bits, 1 stop bit 0x05 Even parity, 8 data bits, 2 stop bits 0x06 Odd parity, 8 data bits, 1 stop bit 0x07 Odd parity, 8 data bits, 2 stop bits
Note that 8-bit data with no parity is capable of carrying 7-bit data with parity for compatibility without loss of generality for legacy applications that may require it.
SpiMode - this parameter sets the SPI operating mode:
Setting Mode
0x00 SPI disabled - serial UART mode (default) 0x01 SPI Slave mode 0x02 SPI Master mode
SpiRateSel - this parameter sets the SPI master mode clock rate:
Setting Mode
0x00 125 kbps 0x01 250 kbps 0x02 500 kbps
www.RFM.com Technical support +1.678.684.2000 Page 47 of 80
© 2010-2012 by RF Monolithics, Inc. E-mail: tech_sup@rfm.com DNT90 Integration Guide - 05/10/12
Table 7.4.4.1
Preliminary
SpiOptions - this parameter allows the SPI to be configured with the following options:
Setting Option
0x00 Leading edge rising, sample leading edge, MSBs sent first 0x01 Leading edge rising, sample falling edge, MSBs sent first 0x02 Leading edge falling, sample leading edge, MSBs sent first 0x03 Leading edge falling, sample falling edge, MSBs sent first 0x04 Leading edge rising, sample leading edge, LSBs sent first 0x05 Leading edge rising, sample falling edge, LSBs sent first 0x06 Leading edge falling, sample leading edge, LSBs sent first 0x07 Leading edge falling, sample falling edge, LSBs sent first
SpiMasterCmdLen - this parameter sets the length for the SPI master command string that will be used to interrogate the slave peripheral, when SPI master mode is selected with periodic I/O reporting enabled.
SpiMasterCmdStr - this parameter holds the SPI master command string that is used to interrogate the slave peripheral when SPI master mode is selected and periodic I/O reporting is enabled.
7.4.5 Bank 0x04 - Host Protocol Settings
Bank Location Name R/W Size Range Default
0x04 0x00 ProtocolMode R/W 0x01 0..1 0 (Transparent)
0x04 0x01 TxTimeout R/W 0x01 0..255 0 (No timeout)
0x04 0x02 MinPacketLength R/W 0x01 0..255 1 (byte)
0x04 0x03 TransPtToPtMode R/W 0x01 0..1 1 (Last RX)
0x04 0x04 MsgsPerHop R/W 0x01 1..8 8
ProtocolMode - this parameter selects the host protocol mode. The default is 0x00, which is transparent mode, meaning the radio conveys whatever characters that are sent to it transparently, without requiring the host to understand or conform to the DNT90's built-in protocol. This setting is recommended for point­to-point applications for legacy applications such as wire replacements where another serial protocol may already exist. Setting this parameter to 0x01 enables the DNT90 protocol formatting. It is not necessary to define the same protocol mode for all radios in a network. For example, it is frequently useful to configure all the remotes for transparent mode and the base for protocol mode. Note that it is possible for the host to switch the radio from transparent mode to protocol mode and back as required by transmitting an
EnterProtocolMode command.
TxTimeout - this parameter is used to group transparent data to be sent in a single transmission rather
than being split over two hops. Messages sent over two hops can have gaps in the received data stream that can cause problems for the receiving application - for example, Modbus RTU. This parameter is the transmit timeout used for determining message boundaries in transparent data mode. Parameter units are in milliseconds. A message boundary is determined whenever a gap between consecutive characters is equal to or greater than the TxTimeout value, or the number of bytes reaches the MinPacketLength. Either condition will trigger a transmission. The default TxTimeout value is 0 ms which will have the radio send whatever data is in its transmit buffer as soon as possible.
MinPacketLength - this parameter is similar to TxTimeout except it uses the number of bytes received instead of the amount of time without receiving a byte. The default is one byte. A transmission is triggered when either the number of bytes reaches MinPacketLength or a gap is detected between consecutive
Table 7.4.5.1
www.RFM.com Technical support +1.678.684.2000 Page 48 of 80
© 2010-2012 by RF Monolithics, Inc. E-mail: tech_sup@rfm.com DNT90 Integration Guide - 05/10/12
Preliminary
characters greater than TxTimeout. If this parameter is set larger than the applicable slot size, the slot size overrides this parameter and a transmission is triggered when the slot size is filled.
TransPtToPtMode - when this parameter is set to 0x00, the destination address of transparent mode packets will be the configured RemoteDestAddr. When set to 0x01, the address initializes to Remote-
DestAddr and then updates to the most recent RX packet processed.
MsgsPerHop - this parameter sets the maximum number of messages a DNT90 can send in each hop
frame. The default value is 8 messages, which is suitable for most applications. Setting MsgsPerHop to a low value allows message flow rate to be controlled.
7.4.6 Bank 0x05 - I/O Parameters
Bank Location Name R/W Size Range In Bits Default
0x05 0x00 All-IO R/W 0x0D 104 N/A
0x05 0x0D Gpio0 R/W 0x01 1 0
0x05 0x0E Gpio1 R/W 0x01 1 0
0x05 0x0F Gpio2 R/W 0x01 1 0
0x05 0x10 Gpio3 R/W 0x01 1 0
0x05 0x11 Gpio4 R/W 0x01 1 0
0x05 0x12 Gpio5 R/W 0x01 1 0
0x05 0x13 Adc0 R 0x02 12 N/A
0x05 0x15 Adc1 R 0x02 12 N/A
0x05 0x17 Adc2 R 0x02 12 N/A
0x05 0x19 EventFlags R/W 0x02 16 N/A
0x05 0x1B Dac0 R/W 0x02 12 0
0x05 0x1D Dac1 R/W 0x02 12 0
All-IO - this 13-byte parameter packs all the following parameters into a single value. Note that the infor­mation in parameters GPIO0 through GPIO5 is compressed into a single byte to save space in the All-IO parameter. When the ADC is operating in differential mode, the ADC1 to ADC0 differential reading is stored in the ADC0 position, and the ADC2 to ADC0 differential reading is stored in the ADC1 position. The ADC2 reading is not used in ADC differential mode and this position is set to 0.
Gpio0 through Gpio5 - if a pin is configured as an output, writing to its corresponding parameter to sets the pin’s logic state. If a pin is configured as an input, writing to its corresponding parameter enables or disables the pin’s internal pull-up. Reading these registers returns the current level detected on the corre­sponding pins.
Adc0 through Adc2 - read-only parameters that return the current reading for the selected ADC channel (Little-Endian byte order). When the ADC is operating in differential mode, the ADC1 to ADC0 differential reading is stored in the ADC0 position, and the ADC2 to ADC0 differential reading is stored in the ADC1 position. The ADC2 reading is not used in ADC differential mode and this position is set to 0. Also, see the discussion of the AdcSampleIntvl parameter below.
EventFlags - used with the automatic I/O reporting feature, this parameter indicates which I/O events have been triggered since the last report (write 0x0000 to reset):
Table 7.4.6.1
www.RFM.com Technical support +1.678.684.2000 Page 49 of 80
© 2010-2012 by RF Monolithics, Inc. E-mail: tech_sup@rfm.com DNT90 Integration Guide - 05/10/12
Preliminary
bits 15..8 Reserved bit 7 ADC2 high/low threshold excursion bit 6 ADC1 high/low threshold excursion bit 5 ADC0 high/low threshold excursion bit 4 Periodic timer report bit 2 GPIO2 edge transition bit 1 GPIO1 edge transition bit 0 GPIO0 edge transition
Dac0 through Dac1 - sets the DAC outputs. The range of this parameter is 0x0000 to 0x0FFF.
7.4.7 Bank 0x06 - I/O Settings
Bank Location Name R/W Size Range In Bits Default
0x06 0x00 GpioDir R/W 0x01 6 0x00 (All inputs)
0x06 0x01 GpioInit R/W 0x01 6 0x00 (All zeros)
0x06 0x02 GpioAlt R/W 0x01 6 0x00
0x06 0x03 GpioEdgeTrigger R/W 0x01 8 0x01
0x06 0x04 GpioSleepMode R/W 0x01 6 0x00 (Off)
0x06 0x05 GpioSleepDir R/W 0x01 6 0x00 (All inputs)
0x06 0x06 GpioSleepState R/W 0x01 6 0x00 (All zero)
0x06 0x07 Dac0Init R/W 0x02 12 0x0000
0x06 0x09 Dac1Init R/W 0x02 12 0x0000
0x06 0x0B AdcSampleIntvl R/W 0x04 32 0x0A (100 ms)
0x06 0x0F Adc0ThresholdLo R/W 0x02 12 0xF800
0x06 0x11 Adc0ThresholdHi R/W 0x02 12 0x07FF
0x06 0x13 Adc1ThresholdLo R/W 0x02 12 0xF800
0x06 0x15 Adc1ThresholdHi R/W 0x02 12 0x07FF
0x06 0x17 Adc2ThresholdLo R/W 0x02 12 0xF800
0x06 0x19 Adc2ThresholdHi R/W 0x02 12 0x07FF
0x06 0x1B IoReportTrigger R/W 0x01 8 0x01 (GPIO0)
0x06 0x1C IoReportInterval R/W 0x04 32 30000 (ms)
0x06 0x20 IoPreDelay R/W 0x01 8 8 (ms)
0x06 0x21 IoBindingEnable R/W 0x01 1 0 (Disabled)
0x06 0x22 DacReference R/W 0x01 2 0 (ADC_EXT_REF)
0x06 0x23 AdcReference R/W 0x01 2 0 (ADC_EXT_REF)
0x06 0x24 AdcAveSelect R/W 0x01 8 0x01
0x06 0x25
0x06
0x06
0x06
0x06
0x06
0x06
0x06
0x06
0x06
0x06
0x06
0x06 0x3D AdcDiffMode R/W 0x01 8 0 (single-ended)
0x06 0x3E AdcGainCh0 R/W 0x01 8 0 (gain = 1)
www.RFM.com Technical support +1.678.684.2000 Page 50 of 80
© 2010-2012 by RF Monolithics, Inc. E-mail: tech_sup@rfm.com DNT90 Integration Guide - 05/10/12
0x27
0x29
0x2B
0x2D
0x2F
0x31
0x33
0x35
0x37
0x39
0x3B
ExtAdcScaleFactor
ExtAdcOffset
ExtDacScaleFactor
ExtDacOffset
VccAdcScaleFactor
VccAdcOffset
VccDacScaleFactor
VccDacOffset
1VAdcScaleFactor
1VAdcOffset
1VDacScaleFactor
1VDacOffset
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0x02 16
0x02 16
0x02 16
0x02 16
0x02 16
0x02 16
0x02 16
0x02 16
0x02 16
0x02 16
0x02 16
0x02 16
0x8000
0x0000
0x8000
0x0000
0x8000
0x0000
0x8000
0x0000
0x8000
0x0000
0x8000
0x0000
Preliminary
Bank Location Name R/W Size Range In Bits Default
0x06 0x3F AdcGainCh1 R/W 0x01 8 0 (gain = 1)
0x06 0x40 AdcDiffScaleFactorCh0 R/W 0x02 16 0x8000
0x06 0x42 AdcDiffOffsetCh0 R/W 0x02 16 0x0000
0x06 0x44 AdcDiffScaleFactorCh1 R/W 0x02 16 0x8000
0x06 0x46 AdcDiffOffsetCh1 R/W 0x02 16 0x0000
0x06 0x47
0x06 0x48
0x06 0x49 MaxQueuedEvents R/W 0x01 1 byte, range 0..20 8 (reports)
0x06 0x4A AdcSkipCount R/W 0x01 1 byte 0 (samples)
FastAdcPrescaler
SlowAdcPresccaler
GpioDir - this parameter is a bitmask that sets whether each GPIO is an input (0) or outputs (1). The de­fault is all inputs.
GpioInit - this parameter is a bitmask that sets the initial value for any GPIOs which are enabled as out­puts. For GPIOs enabled as inputs, this sets the initial pull-up setting.
GpioAlt - Specifies which GPIO pins will have their alternate functions enabled: Bit 2 - diversity toggle en­able, Bit 3 - RS485 enable, Bit 4 - /HOST_CTS enable, Bit5 - /HOST_RTS enable.
Bit Alternate Function Default Bit Mask
0 (none) 0 0x01
1 (none) 0 0x02
2 Diversity Toggle 0 0x04
3 RS485 (N/A in SPI Slave mode) 0 0x08
4 /Host_CTS (N/A in SPI Slave mode) 1 0x10
5 /HOST_RTS (N/A in SPI Slave mode) 1 0x20
GpioEdgeTrigger -This parameter consists of a set of four 2-bit fields that define when GPIO triggers are enabled for I/O event reporting:
bits 7..6 GPIO3 edge function bits 5..4 GPIO2 edge function bits 3..2 GPIO1 edge function bits 1..0 GPIO0 edge function
The bit values for each GPIO map to the following settings:
Value GPIO edge behavior
11 Rising edge trigger, neither level keeps remote awake
10 Bidirectional edge trigger, neither level keeps remote awake
01 Rising edge trigger, holding high keeps remote awake
00 Falling edge trigger, holding low keeps remote awake
GpioSleepMode - this parameter is a bitmask that enables configuring the I/O direction and state of GPIO0..GPIO5 when the module is sleeping. Bits 0..5 correspond to GPIO0..GPIO5. Setting a Gpio-
SleepMode bit to 1 enables sleep mode configuration of the corresponding GPIO. Setting a GpioSleep­Mode bit to 0 causes the corresponding GPIO to remain configured as in active mode. Note that when the
www.RFM.com Technical support +1.678.684.2000 Page 51 of 80
© 2010-2012 by RF Monolithics, Inc. E-mail: tech_sup@rfm.com DNT90 Integration Guide - 05/10/12
R/W
R/W
Table 7.4.7.1
Table 7.4.7.2
Table 7.4.7.3
0x01 1 byte, range 1..7 5 (128)
0x01 1 byte, range 0..7 2 (16)
Preliminary
GpioAlt bit is set for GPIO4, the corresponding GpioSleepMode bit is ignored and GPIO4 is controlled directly by the GpioSleepState parameter bit 7.
GpioSleepDir - when GpioSleepMode is enabled, this parameter functions to set the direction of the GPIOs during a device’s sleep period. This enables the user to provide alternate configurations during sleep that will help minimize current consumption. Bits 0..5 correspond to GPIO0..GPIO5. Setting a
GpioSleepDir bit to 1 to specifies an output; 0 specifies an input.
GpioSleepState - when GpioSleepMode is enabled, this parameter functions as a bitmask to control the
states of the GPIOs, the RADIO_TXD output, and the /HOST_CTS and /DCD outputs during a device’s sleep period. This allows the user to set alternate configurations during sleep to minimize current con­sumption. Bits 0..5 correspond to GPIO0..GPIO5 respectively. Bit 6 sets the state of RADIO_TXD, and bit 7 sets the states of /HOST_CTS and /DCD. A sleep state bit is set to 1 to specify a high output or an in­ternal pull-up on an input, or to 0 to specify a low output or no internal pull-up on an input. Bit 6 must be set low in order to achieve minimum sleep current (high impedance load assumed), and the other bits may need to be set low or high depending on their external loads. When bit 6 is set low, expect a serial “break” condition to occur as the module wakes from sleep. The serial break condition can be eliminated by setting bit 6 high, but sleep current will be increased.
Dac0Init - this parameter sets the initial value for DAC0 at startup.
Dac1Init - this parameter sets the initial value for DAC1 at startup.
AdcSampleIntvl - this parameter sets the frequency (sample interval) of ADC measurements used to de-
termine if a threshold has been exceeded or in calculating an average measurement value. The ADC channels are read on each ADC cycle, along with the states of GPIO2 and GPIO3. Each AdcSampleIntvl count equals 10 ms. The default is 100 ms. This interval will be the worst-case latency for ADC generated interrupts. Note that AdcSampleIntvl is independent of IoReportInterval as the ADCs are read on both intervals.
Adc0..2ThresholdLo/Hi - these parameters set the thresholds to trigger an I/O report based on ADC measurements. If I/O reporting is enabled, a single event report containing the contents of the I/O bank is generated when a threshold is crossed. Reporting is edge-triggered with respect to threshold boundaries, not level-triggered. Additional reports are not triggered unless the ADC measurement first returns inside the threshold boundary and then crosses the threshold again. Triggers occur whenever one of the follow­ing inequalities is satisfied:
ADCx < ADCx_ThresholdLo ADCx > ADCx_ThresholdHi
IoReportTrigger - a trigger event on any enabled trigger source will cause a DNT90 router or remote to send an event message to the base containing the entire current values of the Bank 5.
bit 7 ADC2 high/low thresholds bit 6 ADC1 high/low thresholds bit 5 ADC0 high/low thresholds bit 4 Periodic timer bit 3 GPIO3 edge bit 2 GPIO2 edge bit 1 GPIO1 edge bit 0 GPIO0 edge
I/O reporting is supported for remotes and routers only, not the base.
www.RFM.com Technical support +1.678.684.2000 Page 52 of 80
© 2010-2012 by RF Monolithics, Inc. E-mail: tech_sup@rfm.com DNT90 Integration Guide - 05/10/12
Loading...
+ 28 hidden pages