NCD RS-485 to Wireless Adapter User Manual
- October 30, 2023
- NCD
Table of Contents
- NCD RS-485 to Wireless Adapter
- Product Information
- Product Usage Instructions
- INTRODUCTION RS485 TO WIRELESS
- Hardware Description
- Changing Baud Rates
- Factory Reset Procedure
- Standard Version Communications Protocol
- AutoEncoder Version Communications Protocol
- Emulator Version Communications Protocol
- Command Errors – Emulator
- References
- Read User Manual Online (PDF format)
- Download This Manual (PDF format)
NCD RS-485 to Wireless Adapter
Product Information
NCD RS-485 to Wireless Adapter
The NCD RS-485 to Wireless Adapter is a device that converts data in both directions between Wireless and RS-485 communications. It has a small module inside that handles the conversion process. This adapter allows most NCD devices to be retrofitted with RS-485 communication capabilities. The adapter has three versions, and each version has slightly different communication protocols. The hardware of the adapter is preconfigured for RS485 communications at 9600 baud. The baud rate settings are programmable via RS-485. The adapter acts as an RS-485 to USART converter, and it is possible for most computing devices to communicate via RS-485 with the correct adapter.
Product Usage Instructions
To use the NCD RS-485 to Wireless Adapter, follow these instructions:
- Install the appropriate adapter for your device: Raspberry Pi 2 and 3, Arduino Uno, Particle Photon, Particle Electron, BeagleBone White or Black, Onion Omega 1 or 2.
- Install the jumpers according to your device’s configuration. Be sure to power-cycle the module after any jumper change.
- If you need to change the baud rate, install the C jumper to put the module in configuration mode. Use the RS-485 port to write configuration data into the module. The RS-485 baud rate in configuration mode depends on the settings stored in the module. Be sure to power-cycle the module after any jumper change.
- Use hex values ONLY when sending commands.
- The default RS-485 Communications Baud rate is 9600. It is suggested to use the default settings for best results.
INTRODUCTION RS485 TO WIRELESS
The NCD RS-485 to Wireless Adapter converts data in both direction between Wireless and RS-485 communications. Inside the modem, you will see a small module, which actually handles the conversion process. This documentation will reference this module and all applicable jumper settings. There are 3 versions of this modem, which will be covered in this guide. The communication protocols are slightly different for each version. We will start the guide by covering the hardware, and then move on to protocol for all 3 versions. Please note this guide will discuss commands in hex values ONLY. Also, please note the default RS-485 Communications Baud rate is 9600. We suggest using the default settings for best results.
Getting to Know NCD RS-485 Node Modules
NCD RS-485 Node modules are a modular technology, allowing most NCD devices to be retrofitted with RS-485 communication capabilities. Node modules have a number of options an available, allowing you to adapt the module in a number of ways. NCD Node modules are preconfigured for RS-485 communications at 9600 baud. Node modules communicate to the host device at 57.6k baud by default. Baud rate settings are programmable via RS-485. The C jumper must be installed for configuration. The node module must power-up with the C jumper installed. Similarly, once configuration is complete, the node module must be powered up with the C jumper removed for proper operation.
Footprint
- This device fits the same footprint as other NCO modular communication modules, including USB, Ethernet, WiFi, Bluetooth, RS-232, and Digi.com XBee® communications modules. Host controller provides 3.3V power.
- All unlabeled pins have NO CONNECTION. Photo shows hand-built prototype.
Factory Reset
- Install C Jumper, Power-Cycle Module, use a wire to connect “CLR” to “3.3V” for 1 second, Remove C-Jumper, Power-Cycle Again to Complete Factory Reset operation.
- Factory Default RS-485 Speed is 9600 Baud.
Hardware Description
RS-485 Node Module Hardware Description
The NCD Node Module has a Atmel processor and one RS485 transceiver (SN65HVD12D). The On board processor has 2 USARTS. One USART is connected to the RS-485 trans receiver and the other USART communicates to the host device. NCD RS-485 node modules operate at 3.3V DC. This communications module includes bus pin short protection from -7V to 12V DC and 16kV ESD protection. Up to 256 nodes may be connected on the bus simultaneously. For longer communication distances, low baud rates (such as 9600 baud) are recommended.
NCD RS-485 node modules act as RS-485 to USART converter. Since USART communications is available on most computing platforms, it’s possible for most computing devices to communicate via RS-485 with the correct adapter.
- Raspberry Pi 2 and 3 to Modular Communications Adapter allows RS-485 communications with a Raspberry Pi 2 or 3
- Arduino to Modular Communications Adapter allows RS-485 communications with Arduino Uno
- Particle Photon to Modular Communications Adapter allows RS-485 communications with a Particle Photon
- Particle Electron to Modular Communications Adapter allows RS-485 communications with a Particle Electron
- BeagleBone Communications Adapter allows RS-485 communications with a BeagleBone White or Black
- Onion Omega to Modular Communications Adapter allows RS-485 communications with Onion Omega 1 or 2
RS-485 Node Jumpers
- Be sure to install jumpers, then power-up the module. Module must be power-cycled anytime the jumpers are changed. Jumper settings only take effect on power-up.
1, 2, 3 Jumpers: RS-485 Bus Termination
- Set J3 Jumper when the node device is the first device on the bus.
- Remove all jumpers when the device is in between the first and last device on the bus.
- Set J1, J2, and J3 when the device is the last or only device on the bus.
BR Jumper
- The BR jumper is not currently used in this design, but is reserved for future use.
Jumper: Configuration Mode
This jumper is used to put the module in configuration mode. This jumper must be installed to change the baud rate. Be sure to power-cycle the module after any jumper change. Jumper settings are read during power-up only. Use the RS-485 port to write configuration data into the module. The RS-485 baud rate in configuration mode depends on the settings stored in the module. You may test the baud rate using the read commands below.
Changing Baud Rates
Change the USART Baud Rate
Send the Following Bytes via RS-485:
- 9600 Baud USART: F3, 00, 25, 80
- 19,200 Baud USART: F3, 00, 4B, 00
- 38,400 Baud USART: F3, 00, 96, 00
- 57,600 Baud USART: F3, 00, E1, 00
- 115,200 Baud USART: F3, 01, C2, 00 (Experimental, Not recommended as there may be communications problems)
- Read USART Baud Rate: 245 (Three Bytes will be Returned Indicating the Baud Rate)
- 9,600: 00 25 80
- 19,200: 00 4B 00
- 38,400: 00 96 00
- 57,600: 00 E1 00
- 115,200: 01 C2 00
Change the RS-485 Baud Rate
Send the Following Bytes via RS-485
- 9600 Baud USART: F4, 00, 25, 80
- 19,200 Baud USART: F4, 00, 4B, 00
- 38,400 Baud USART: F4, 00, 96, 00
- 57,600 Baud USART: F4, 00, E1, 00
- 115,200 Baud USART: F4, 01, C2, 00 (Experimental, Not recommended as there may be communications problems)
Read USART Baud Rate: 246 (Three Bytes will be Returned Indicating the Baud Rate)
- 9,600: 00 25 80
- 19,200: 00 4B 00
- 38,400: 00 96 00
- 57,600: 00 E1 00
- 115,200: 01 C2 00
Note: New setting will apply only on power-up.
Factory Reset Procedure
This should be done only when absolutely necessary. To reset the module, follow these steps in order:
- Power down the module.
- Install the C jumper.
- Power up the module.
- Connect CLR to 3.3V for 1 Second using a Jumper Wire
- Module will Reset the USART to 57.6k Baud
- The module will Reset the RS485 Port to 9600 Baud
- Power down the module.
- Remove the C Jumper
- Power-Up the module and use default settings.
Note: If the bus length exceeds more than 5,000 feet, users may experience data corruption.
Standard Version Communications Protocol
The Standard Version of this device communicates raw data between the Digi XBee module and the RS-485 link. This version is ideal for desktop computers that have the resources to properly generate and decode Digi API communication frames. If you are unfamiliar with Digi API communication frames, please reference the following document from the Digi Web Site: https://www.digi.com/resources/documentation/Digidocs/90002173/#reference/r_frame_0x10.htm%3FTocPath%3DFrame%2520descriptions%7C_____4
Below, you will find a couple of examples, note the Standard Version of this device acts as a raw conduit for communications and conversion between wireless and RS485. Incoming data on the RS-485 port is directly communicated to the XBee wireless communications module. Likewise, incoming Wireless data is directly converted to RS485 data.
Incoming and Outgoing Data are Always the Same
- Example Incoming Wireless Data: -7E 00 19 90 00 13 A2 00 41 91 1B 83 FF FE C2 7F 00 04 03 FF 80 00 01 00 0F A1 F7 40 9E
- Example of Outgoing Data on the RS485 Port: 7E 00 19 90 00 13 A2 00 41 91 1B 83 FF FE C2 7F 00 04 03 FF 80 00 01 00 0F A1 F7 40 9E
AutoEncoder Version Communications Protocol
The AutoEncoder Version of this device handles data in a slightly different way when compared to the Standard Version of this device. The AutoEncoder version of this device automatically generates the API frame for wireless communications, making communications with Digi modules much easier to manage. Similarly, incoming wireless data is decoded and converted to a raw payload on the RS-485 port. All the user needs to worry about are a few commands, and raw payload data. The AutoEncoder version will wrap up and unwrap all wireless data and convert to RS-485 data. There is a speed penalty for this conversion, so it is slower than the Standard Version at the expense of ease of use. Below you will see an example of data structures:
Wireless to RS-485 Conversion
- Example Incoming Wireless Data: 7E 00 19 90 00 13 A2 00 41 91 1B 83 FF FE C2 7F 00 04 03 FF 80 00 01 00 0F A1 F7 40 9E
Example of Outgoing Data On RS485 Port: 7F 00 04 03 FF 80 00 01 00 0F A1 F7 40 RS-485 to
Wireless Conversion
- Example Incoming Data on RS485 port: 69 20 74 68 69 6E 6B 20 69 20 61 6D 20 77 6F 72 6B 69 6E 67 20 66 69 6E 65
- Example of Outgoing Wireless Data: 7E 00 25 90 00 13 A2 00 41 8C 58 B6 FF FE C2 69 20 74 68 69 6E 6B 20 69 20 61 6D 20 77 6F 72 6B 69 6E 67 20 66 69 6E 65 1F
Read Network ID – AutoEncoder
- The Read Network ID command queries the Digi XBee module to determine the wireless network the device is associated with. The Network ID can be thought of as a Group, each Network ID defines a different group in the wireless network.
- Devices with different Network IDs cannot communicate with each other. Only devices with the same Network ID are allowed to communicate.
Read Network ID: 7E 00 10 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 0E
EF Response: 7E 00 11 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7C 7F FF 00 00
26
Write Network ID – AutoEncoder
The Write Network ID command updates the Digi XBee module to associate the device with a different wireless network. The Network ID can be thought of as a Group, each Network ID defines a different group in the wireless network. Devices with different Network IDs cannot communicate with each other. Only devices with the same Network ID are allowed to communicate. When using this command, be sure all other devices are using the same Network ID.
- Write Network ID: 7E 00 12 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 04 7F FF 7B
- Response: 7E 00 11 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7C FF 00 00 00 A5
Set Node ID – AutoEncoder
The Node ID offers a single-byte shortcut for identifying devices in a local area. You can program the Node ID by sending the following command:
- Set Node ID: 7E 00 11 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 05 00 F8
- Response: 7E 00 11 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7D 01 00 00 00 A2
Read Node ID – AutoEncoder
The Node ID offers a single byte shortcut for identifying devices in a local area. You can read the Node ID by sending the following command:
- Read Node ID: 7E 00 10 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 0F
- EE Response: 7E 00 11 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7D 01 00 00 00 A2
Set Destination Address – AutoEncoder
The Destination Address can be used to target communications with a specific device or broadcast data to all devices that share the same Network ID. Use the following command to Set the Destination Address of all wireless data:
- Set Destination Address: 7E 00 14 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 02 00 00 FF FF FD
- Response: 7E 00 11 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7C FF 00 00 00 A5
Read Destination Address – AutoEncoder
The Destination Address can be used to target communications with a specific device or broadcast data to all devices that share the same Network ID. Use the following command to Read the Destination Address currently configured:
- Read Destination Address: 7E 00 10 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 0C F1
- Response: 7E 00 11 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7C 00 00 FF FF A6
RS-485 Serial Settings – AutoEncoder
The following commands are used to control the speed and stop bits of the RS-485 bus.
- Get Stop Bits: 7E 00 10 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 0D F0
- Response: 7E 00 11 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7C 01 00 00 00 A3
- Set Stop Bits: 7E 00 11 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 03 01 F9
- Response: 7E 00 11 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7C FF 00 00 00 A5
- Get Baud Rate: 7E 00 10 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 0B F2
- Response: 7E 00 11 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7C 00 25 80 00 FF
- Set Baud Rate: 7E 00 13 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 01 00 25 80 57
- Response: 7E 00 11 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7C FF 00 00 00 A5
Command Errors – AutoEncoder
Should there be any errors in issuing commands, the following response will be returned:
- 7E 00 11 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7D 01 00 00 00 A2
Emulator Version Communications Protocol
The Emulator Version of the RS485 modem is ideal for customers who are already using NCD wireless sensors and wish to adapt existing RS485 messages to follow NCD standards for device communications. The Emulator version essentially takes incoming RS-485 data and attaches additional information to make existing equipment act like a modern NCD IoT sensor. The Emulator Version also accepts similarly formatted messages over wireless and sends only the payload to the RS485 network. The Emulator Version is among the easiest of the RS485 Modem versions we currently offer, and is an ideal choice for PLCs with limited resources to communicate effectively with existing RS485 networks as well as existing NCD IoT sensors. The following commands may be issued to the modem to simplify and enhance the adaptation of RS-485 communications into a wireless protocol.
Example Structures of Incoming and Outgoing Data:
- Example Incoming Wireless Data: 7E 00 15 10 01 00 00 00 00 00 00 FF FF FF FE 00 00 7F 00 FF FF 85 85 85 E7
- Data On RS485 Port: 85 85 85
- Example Incoming Data on RS485 port: 69 20 74 68 69 6E 6B 20 69 20 61 6D 20 77 6F 72 6B 69 6E 67 20 66 69 6E 65
- Data on Wireless Link: 7E 00 29 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7F 00 FF FF 69 20 74 68 69 6E 6B 20 69 20 61 6D 20 77 6F 72 6B 69 6E 67 20 66 69 6E 65 A2
This RS485 Sensor converter works in a different way. In order to send data to it user will need to include the payload header, node id and sensor type. For example the entire payload was 7F 00 FF FF 85 85 85.
- Packet Structure
- 7F – Payload header
- 00 – Node ID
- FF FF — Sensor Type
- 85,85,85 — RS485 Payload
This device will send data to RS485 port only when the incoming data contains the correct header, node id and sensor type.
Read Network ID – Emulator
The Read Network ID command queries the Digi XBee module to determine the wireless network the device is associated with. The Network ID can be thought of as a Group, each Network ID defines a different group in the wireless network. Devices with different Network IDs cannot communicate with each other. Only devices with the same Network ID are allowed to communicate.
- Read Network ID: 7E 00 13 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 19 00 00 00 E4
- Response: 7E 00 1C 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7C 00 00 00 00 00 00 7F FF 00 00 00 00 00 00 00 26 — 28 bytes
Write Network ID – Emulator
The Write Network ID command updates the Digi XBee module to associate the device with a different wireless network. The Network ID can be thought of as a Group, each Network ID defines a different group in the wireless network. Devices with different Network IDs cannot communicate with each other. Only devices with the same Network ID are allowed to communicate. When using this command, be sure all other devices are using the same Network ID.
- Write Network ID: 7E 00 15 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 05 00 00 00 7C DE 9E
- Response: 7E 00 1C 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7C 00 00 00 00 00 00 FF 00 00 00 00 00 00 00 00 A5
Set Node ID – Emulator
The Node ID offers a single byte shortcut for identifying devices in a local area. You can program the Node ID by sending the following command:
- Set Node ID: 7E 00 17 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 02 00 00 00 FF 00 00 00 FC
- Response: 7E 00 1C 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7C 00 00 00 00 00 00 FF 00 00 00 00 00 00 00 00 A5
Read Node ID – Emulator
The Node ID offers a single byte shortcut for identifying devices in a local area. You can read the Node ID by sending the following command:
- Read Node ID: 7E 00 13 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 15 00 00 00 E8
- Response: 7E 00 1C 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7C 00 00 00 00 00 FF 00 00 00 00 00 00 00 00 00 A5
Set Destination Address – Emulator
The Destination Address can be used to target communications with a specific device or broadcast data to all devices that share the same Network ID. Use the following command to Set the Destination Address of all wireless data:
- Set Destination Address: 7E 00 17 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 03 00 00 00 12 34 56 78 E6
- Response: 7E 00 1C 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7C 00 00 00 00 00 00 FF 00 00 00 00 00 00 00 00 A5
Read Destination Address – Emulator
The Destination Address can be used to target communications with a specific device or broadcast data to all devices that share the same Network ID. Use the following command to Read the Destination Address currently configured:
- Read Destination Address: 7E 00 13 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 18 00 00 00 E5
- Response: 7E 00 1C 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7C 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 A6
Encryption Control – Emulator
Wireless Encryption is essential for IoT security, we strongly advise leaving all encryption settings enabled. Use the following commands to control Encryption and the Encryption Key:
- Enable Encryption: 7E 00 13 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F2 01 00 00 00 01
- Disable Encryption: 7E 00 13 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F2 02 00 00 00 00
- Set Encryption Key: Note this command sets the device to the default NCD wireless encryption key: 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 7E 00 24 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F2 03 00 00 01 00 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 FF B1
RS-485 Serial Settings – Emulator
The following commands are used to control the speed and stop bits of the RS-485 bus.
- Get Stop Bits: 7E 00 10 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 0D F0
- Response: 7E 00 11 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7C 01 00 00 00 A3
- Set Stop Bits: 7E 00 11 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 06 01 F9
- Response: 7E 00 1C 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7C 00 00 00 00 00 00 FF 00 00 00 00 00 00 00 00 A5
- Get Baud Rate: 7E 00 10 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 0B F2
- Response: 7E 00 11 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7C 00 25 80 00 FF
- Set Baud Rate: 7E 00 13 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F7 01 00 25 80 57
- Response: 7E 00 1C 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7C 00 00 00 00 00 00 FF 00 00 00 00 00 00 00 00 A5
Command Errors – Emulator
Should there be any errors in issuing commands, the following response will be returned: 7E 00 11 90 00 13 A2 00 41 8C 58 B6 FF FE C2 7D 01 00 00 00 A2
Factory Reset
This should be done only when absolutely necessary. To reset the module, follow these steps in order:
- Power down the module.
- Install the C And BR jumpers.
- Power up the module.
- Module will Reset the USART to 57.6k Baud
- Module will Reset the RS485 Port to 9600 Baud
- Power down the module.
- Remove the C And BR Jumpers
- Power-Up the module and use default settings.
Note: If the bus length exceeds more than 5,000 feet, users may experience data corruption. This factory reset process is true only for the Emulator and Autoencoder Version.
References
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>