RV-M7 Data Radio Modem Technical Manual
- General Information and Overview
- Specifications
- Electrical Inputs and Outputs
- Serial Port Commands
- Using the M7 Modem – Packet Mode
- Using the M7 Modem – Streaming Mode
- Installation
- FCC Licensing Information
- M7 Diagnostic Provisions
- Tuneup and Alignment
- Skyline Compatibility
- Antenna Information
- Appendix A. Serial Port Hardware
- Troubleshooting
- Mechanical Information
Solutions by Industry
RV-M7 Data Radio Modem Technical Manual
Using the M7 Modem – Packet Mode
This section describes the operation of the when it is in the Packet Mode of operation. Packet Mode is the factory-default operating mode. It is the easiest and most reliable mode of operation for a modem. Note: The configuration of the M7 is done when the M7 is in the “Command Mode”. Refer to Section 1 on page 18 for details on all of the available commands and programmable features.
In Packet Mode, all transmissions are sent in bursts or packets, and contain address, error detection, and error correction information. Date enters the M7 modem’s serial I/O port, and is stored in a buffer within the modem until it is ready to be transmitted. Packetized operation has these advantages over non-packet modems:
Packet Mode Advantages
- Error Detection The modem uses a 16-bit CRC at the end of every packet of data. The CRC is used to check the data for errors, and if there are any errors, the data will not be passed onto the user.
- Error Correction Automatic error correction may be used. M7 modems incorporate an optional ARQ method to re-transmit packets with error, to ensure the user’s data is delivered error-free.
- Addressing Packetized operation allows for a more versatile network architecture, with source, destination, and network addresses. M7 uses a 16-bit address to identify data packets.
- No Dribble Data Even in the presence of noise, the M7 modem will not output extra data or have random bit errors. Modems without packet operation generally do not work well with weak noisy signals.
- Transparent Operation Because of the high-reliability and error-free operation the Packet Mode offers the user, most user applications will seamlessly work using the M7 in its Packet Mode.
- Repeatable and Routable. M7 packets are structured so that they may be repeated using a store-and-forward repeater, and/or routed using specialized hardware.
Streaming Mode Advantages
- Low Latency The transmitter will key-up immediately upon the user’s first byte of data entering the modem. Packetized operation waits until a packet has been loaded before keying. (Although high serial-port data rates can minimize this packet latency to a negligible level).
- Data with Errors The M7 will continue to receive data, down into the noise-floor of the radio. If the channel is noisy or the signal is weak, there may be bit-errors in the data, or the M7 may output additional noise data. User applications must (and often do), take this into account, and thus can operate with weaker signals and have longer communication range.
For operation of the modem in the streaming data, non-packetized mode, see the section Streaming Mode on page 36. The Packet or Streaming operation is configured using the ATMT command, with Packet Mode being the factory default.
- Connect a DC power source to the DC IN connection on the front of the modem.
- Connect a good quality antenna, cut to the operating frequency, to the BNC connector on the front of the modem. Use a good antenna, and place is at high-above obstructions as possible.
- Connect a computer terminal, or PC computer running HyperTerminal, to the 9-pin I/O connector. The factory default serial ports settings are 9600 bps, 8 data bits, 1 stop, no parity.
- Program the modem’s operating frequency to your desired operating frequency. This is done with the ATFX xxx.xxxxx command. See the section “Serial Port Commands” for information describing the various parameters that may be modified in the modem. In most applications, the default settings from the factory will work fine.
- Using the AT commands, change any of the default operating parameters that must be modified. From the factory, the modems are configured and shipped ready-to-use. Out of the box, they will communicate on the default radio channel using the factory defaults. In general, the parameters you may want to modify will be:
ATFX Frequency for this channel. Set to your frequency.
ATMT 0 0 for normal Packetized operation. Default mode.
ATAK 0 for no ARQ, 1 if this unit sends ACKs. Default is no ARQ.
ATRB Set the number of retries if ARQ is used (x). 0 if no ARQ used. Factory default is no ARQ.
ATBD Serial port baud rate
ATMY The ID of this unit. Default is 1234.
ATMK The network address mask. Default is FFFF.
ATDT The address of the unit this modem will talk to. Default is 1234.
ATBC Enable/disable busy channel lock-out. Default is off, 0.
- Connect your serial data device to the 9-pin connector on the front of the modem.
The radio is now ready to use. Any serial data going into the modem will be transmitted over the air, and any data received over the air will be sent out the serial port.
Remember, that from the factory, all M7 modems are configured to simply work. Plug in power and connect to the serial port at 9600 baud, and the modems will communicate on the default channel. Change the channel frequency to your specific frequency, and they will be ready to work on your channel.
The M7 modem has memory for up to 6 channels. A channel is a pair of frequencies, one for transmit and one for receive. They may be different or they may be the same. You may program any valid frequency into any channel number. To program a channel, perform the following steps.
- Change to the channel you wish to program, using the ATHP x command, where x is the channel number.
- Program the frequency for this channel x, using the ATFT, ATFR, or ATFX command. Note that the frequency my be entered in MHz as long as you use a decimal point. For Example, enter ATFX 450.1 to set the channel frequency to 450.100MHz. Alternately, you may enter the frequency in hertz by entering ATFX 450100000. You must enter all of the zeros if you enter the frequency in hertz.
- Review the frequency setting with the ATFT, ATFR, or ATFX command. To see a list of all of the channels , enter ATF.
- To change the radio channel, use the ATHP x command while the modem is in the command mode.
If the channel number is changed using the ATHP command, and power is later lost, the channel number will be retained in non-volatile memory as long as was saved using the ATSV (Save to non-volatile memory) command.
Due to the nature of the synthesizer used in the M7’s radio, the frequency programmed into the unit must be an even multiple of its internal reference frequency. For narrow-band radios (12.5kHz channels), the user’s frequency must be a multiple of either 6.25khz or 5.00kHz. For wide-band models, the frequency must be an even multiple of 10kHz or 12.5kHz.
To transmit data, send one or more bytes of data into the serial port of the modem. When a full packet of data has been collected into the internal buffer of the modem, or when there is a pause in the data, the modem will automatically key its transmitter, and send the data over the air.
While the modem is transmitting, the user may continue to send more data into the M7. Because the buffers in the M7 are full-duplex, the serial port data rate and the over-the-air data rates are independent. The serial port baud-rates may be set slow to accommodate legacy equipment, or set at high-speed to minimize latency. The over-the-air data rate us usually 4800 baud for narrow-band channels, and 9600 baud for wide-band, although faster or slower rates may be used.
In Packet Mode, selection of the serial port baud-rate is important. As shown above, if the serial port baud-rate is the same as the over-the-air baud rate and the packets are short, the channel utilization is only about 50%. But, if the serial port baud rate is set much higher, say 2-8X the over-the air rate, the channel utilization becomes near 100%.
Because the M7 can handle serial-port data rate far in excess of the over-the-air rate, the efficiency of the M7 in Packet Mode is approximately the same as other brand modems that cannot operate in a Packet Mode — with the added benefit or ARQ, error-free data, and addressing.
Note that many Windows applications which use the serial port, such as HyperTerminal, put large gaps between the bytes of data they send out the serial port. If an application is not getting the desired throughput, verify that it is not an artifact of the Operating System or the computer.
If large amounts of data will be sent with the M7, it may be possible to overflow the internal data buffer. To ensure the transmit buffer does not overflow, enable and use hardware flow control. Hardware flow control is enabled with the ATCH 1 command. Note that the M7 modem will always indicate the status of its internal buffer using theCTS signal on the DB-9 serial connector. When CTS is negated, the internal buffers are more than 80% full. When it is asserted and it is “Clear to Send”, the buffers are less than 80% full.
The over-the-air packet size may be set with the ATTT xx command. Once the modem receives one full packet of data into via the serial port, it will automatically key the transmitter and send the data. Factory default is 80 bytes.
When serial data is entering the M7’s RS-232 port, the M7 looks for pauses in the data as indication that it is time to send a packet of data over the air. The factory default duration of the pause it looks for is 20mS, but the user may change this to over values using the ATR3 xxx command, where xxx is in milliseconds.
If your system operation require the M7 modem to monitor-before-transmit, of if you do not want the M7 to transmit on a channel that is busy, you can enable “Busy-Channel-Lockout”, using the ATBC 1 command. ATBC 0 disables BCL, and thus the modem will transmit whenever it has data to send out. The factory-default is BCL disabled. Use caution when enabling it, as a CW interferer, PC with poor shielding, or some other source of RF can stop the modem from transmitting. The threshold where the M7 senses RF carrier, and determines that the channel is busy is set by the ATRA command. This is factory calibrated to an equivalent RF level of approximately -110dBm.
When the modem receives data over the radio, it checks it for errors, and if it is error-free, it will send it out the serial port. Again, the serial port may be set to any baud rate the user wishes, and the radio receiver and transmitter will continue to operate independently of the baud rate.
When the modem receives a signal, it will assert the CD hardware signal on the RS-232 serial port if it was configured to do so.
In general, the slower the over-the-air data rate, the easier it is for the modem to receive the signal, and thus the more communication range the radio will have. M7 modems have a unique switched-filter along with digital signal processing, that gives them more range a lower data rates. See Section 9.1 Setting the Over-The-Air Data Rate for more information about choosing the over-the-air data rate.
One of the more powerful aspects of the M7 modem is its addressing scheme. Incorporating addressing in the modem allows multiple radio systems on the same frequency to co-exist, and not interfere with each other. Also, some user application cannot tolerate receiving data that was not intended for it, and by setting the addresses in the modems properly, the system can be configured to allow reception of only data intended for the recipient.
If addressing is not needed or desired, it can be turned off so that all modems receive data from all other modems, and all modems can talk to all other modems.
Each M7 contains a 16 bit address, called its Unit Address, and is represented as a 4 digit hexadecimal number. M7 address may be any number between 0000 and FFFF, which is effectively 65,535 different addresses. Every M7 has a Unit Address programmed into it, as well as the ID of the unit it will send data to. The Unit Address is programmed with the ATMY xxxx command, and the Unit Address of the destination modem (the Destination Address) is configured with the ATDT xxxx command.
The defaults UNIT ID in al M7 modems is 1234, and 1234 is the default for the destination ID. An Address Mask is used to select which digits of the address will be used to determine if a particular reception was intended for the M7 modem. The default Address Mask is FFFF, which means all digits will be used.
For those not familiar with hexadecimal numbers, a hexadecimal digit represents a 4-bit binary pattern. There are 16 possible values (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,and F). These 16 values represent 4 bits of information, thus 4 hexadecimal digits can represent 16 bits of information. The hexadecimal numbers represent 4 bit data in the following way:
Hexadecimal Table
Hex # | Binary | Hex # | Binary | Hex # | Binary | Hex # | Binary | |||
0 | 0000 | 5 | 0100 | 8 | 1000 | C | 1100 | |||
1 | 0001 | 6 | 0101 | 9 | 1001 | D | 1101 | |||
2 | 0010 | 7 | 0110 | A | 1010 | E | 1110 | |||
3 | 0011 | 8 | 0111 | B | 1011 | F | 1111 |
When communicating over the air, M7 modems transmit their Unit Address and the Destination Address along with the data. Receiving modems check the received Destination Address, and see if it matches their Unit Address. If it does match, the receiving modem outputs the data it received via its serial port. If it does not match, the receiving modem discards the data, and does not send it out the serial port.
If individual addressing is not needed in your system, there are two ways to ensure it is not used. One way is to set all modems in the system with the same Unit Address and destination address. From the factory, these are both set to 1234, and thus, all modems can communicate with all other modems, using the address 1234. The advantage of using this system-wide address, is that if there are other M7 modems on the channel, but in some other system, they probably will not have the same Unit Address, and thus will not interfere with your system. To reduce the possibility of data cross-talk, the system implementer may wish to use a different system-wide address for the Unit Address instead of 1234. There are over 65,000 addresses available.
An alternate way to disable addressing altogether, is set the Address Mask to 0000 (ATMK 0000 command). This tells the M7 to ignore the address, and receive every transmission. The disadvantage to this method is the adjacent-system problem. If there is another M7 system on the same channel, all modems with the 0000 mask will receive them also.
Most users who do not use individual modem addressing, choose to set a global system address, and have all modems in their system use the same Unit ID and same destination address.
The double FF is used to identify a broadcast packet. A transmission with a two digit FF in the first two positions of the destination ID, or in the last two positions of the destination ID, will be interpreted as a broadcast, and any modem with an ID that matches the two non-FF digits will receive the data. For example, sending data with a destination ID of 12FF will be received by any modem with a unit ID 1200 through 12FF. Sending data with a destination ID of FF34 will be received by any modem with a unit ID of 0034 through FF34.
The reason to use hexadecimal digits to represent the unit address, is that along with the Unit Address programmed into the M7, there is an “Address Mask” programmed into it. The default mask is FFFF. The address mask is also used to determine if a particular data transmission should be received by the modem. For most applications, where one modem talks to one modem, or where all modems in the system communicate with all other modems in the system, the Address Mask should stay set to FFFF.
Only in systems where some modems should only talk to certain other modems, might you want to change the address mask. Whenever data is received over the air, the Destination Address of the transmission is logically “ANDed” with the Address Mask in the receiving modem. This is the Effective Destination Address. The receiving M7also ANDs its own Unit Address with its Address Mask. The result is the Effective Unit Address. The Effective Unit Address is compared to the Effective Destination Address, and if the two are identical, the data will be received.
Note: Logically 1 AND 1 = 1, 0 AND 0 = 0, 1 AND 0 = 0, 0 AND 1 = 0
` Figure 2 (Address Filtering)
One effect of this is that an address mask of 0000 will cause the M7 modem to received any data from any unit that transmits. The Destination Address will effectively be ignored if the mask is set to 0000.
Example 1 (default configuration)
Sending Destination Address = 1234
Receiving Unit Address = 1234
Receiving Unit’s Address Mask = FFFF
Result: Unit will receive the data, because the addresses identically match. When the addresses are identical, the value of the mask is not important.
Notes: This is the default configuration. All units have address 1234, and all modems will talk to all other modems with address 1234.
Example 2 (a configuration that won’t work)
Sending to Destination Address = 1236
Receiving Unit Address = 1234
Receiving Unit’s Address Mask = FFFF
Result: No data will be received, because the address do not match, and the address mask of FFFF requires that all digits in the address match. .
Example 3 (able to receive a data from a group, 1230 – 123F)
Sending to Destination Address = 1236
Receiving M7 Unit Address = 1234
Receiving M7 Address Mask = FFF0
Result: Data will be received. 1236 ANDed with FFF0 is 1230. 1234 ANDed with FFF0 is 1230. The results of the ANDing match, and thus the data will be received.
Example 4 (able to receive from a group, xx34 where xx is any two digits)
Sending Destination Address = 2234
Receiving M7’s Unit Address = 1234
Receiving M7’s Address Mask = 00FF
Result: Data will be received. 2234 AND 00FF equals 0034. 1234 AND 00FF equals 0034, therefore they match. The results of the ANDing match, and thus the data will be received.
The M7 modem has a built-in error correction mode, commonly referred to as Automatic Repeat request (ARQ). It works by checking each reception for errors, and if the data is OK, it sends a short “ACK” packet back over the air telling the sending station the data was OK.
The M7 modem uses a traditional Carrier Sense Multiple-Access (CSMA) algorithm with randomized re-try time slots to determine when to re-transmit packets that must be re-sent. The duration between re-tries increases as the number of attempts increases.
If received data has an error in it or if the receiving modem does not get the data due to interference, the receiving modem does not send the ACK back, and the sending station will automatically re-send the data. There are two aspects to configuring ARQ:
- Enable the ARQ mode in the modem to allow it to transmit ACKs (ATAK 1 command). This command enables the modem to transmit ACK packets.
- Configure the number of retries the modem should attempt if an ACK packet is not received back when it sends data (ATRB xx command). For example, if you setATRB to 5 with the ATRB 5 command, the modem will wait for an ACK whenever it sends data. If it receives and ACK back from the modem that it sent data to, it will do nothing more. But if it does not receive an ACK, it will resend the same data, trying up to 5 more times.
The factory default condition is not to send or require ACK packets, so if you wish to use this mode, program the M7 to transmit ACKs with the ATAK 1 command. This will cause the modem to send an ACK anytime it receives data from another modem. Note: If the destination address was a broadcast (FFFF, FFxx, or xxFF), it will not wait for an ACK.
The number of times it retries to send data that does not get through (does not get an ACK) is up to the user, but a number of 5 is usually a good compromise. If after 5 times, the data does not get through, then there probably is something seriously wrong with the channel or system.
The retried-transmissions are randomly spaced at intervals between approximately 200mS and 400mS, increasing by 50mS for each attempted transmission. Once the modem has sent its data the number of times the user specified in the ATRB xx command, the data is discarded, and the modem will continue to operate as normal.
It is very important that if one modem is configured to send ACK packets (ATAK 1) that all other modems communicating with it are also set to expect ACK packets using the ATRB xx command.
To disable ARQ (the default condition of the modem), disable ARQ with the ATAK 0 and set retries to zero with the ATRB 0 command.
The M7 modem has a built-in wireless repeater. Each M7 is capable of not only sending and receiving data from/to its serial port, but also re-transmitting data packets it receives over-the-air data.
To use the Store-and-Forward repeater feature, the modem must be used in the “Packet Mode”. This is the factory default operation mode. In the Packet Mode, data is sent over-the-air in bursts called packets, and each packet has the Unit ID of the SkyLine that sent the data and the destination ID of the unit that the data is intended for.
Figure 3 Overview of Repeater Operation
In the example shown in Figure 3 above, M7 A is will communicate with all other modems in the system. It can directly communicate with B, H, and F. Because of propagation limits, it cannot communicate reliable to E, D, C, and G.
To solve this problem, some of the M7 modems are configured as repeaters. The still are able to send and receive data, but they also will repeat data out to the modems that are out of range of M7 A.
H is configured to repeat all messages to/from E, D, and G. B is configured to repeat all messages to/from C, and D is configured to repeat all messages to/from G.
The following table illustrates one possible way the M7s could be programmed to accomplish this type of system.
M7 | Unit ID (ATMY) |
Destination (ATDT) |
Network Mask (ATMK) |
Repeat Source |
Repeat Source Mask |
Repeat Destination |
Repeat Destination Mask |
Addresses programmed into unit | Repeater table programmed into unit | ||||||
A | 1000 | 1000 | FF00 | - | - | - | - |
B | 1010 | 1000 | FF00 | 1020 | FFFF | 1000 | FFFF |
1000 | FFFF | 1000 | FFFF | ||||
C | 1020 | 1000 | FF00 | - | - | - | - |
D | 1030 | 1000 | FF00 | 1031 | FFFF | 1000 | FFFF |
1000 | FFFF | 1000 | FFFF | ||||
E | 1032 | 1000 | FF00 | - | - | - | - |
F | 1021 | 1000 | FF00 | - | - | - | - |
G | 1031 | 1000 | FF00 | - | - | - | - |
H | 1022 | 1000 | FF00 | 1030 | FFFF | 1000 | FFFF |
1000 | FFF0 | 1000 | FFFF |
Store-and-forward repeating is enabled with the ATXR command. ATXR 1 enables repeating. ATXR 0 disables it.
The Repeat Source, Repeat Source Mask, and the Repeat Destination are programmed into a Repeater Table in the M7. The ATX command is used to program the Repeater Table. The Repeater Table may have up to 4 entries.
For example, M7 B in the above example will have two entries in its Repeater Table. The command to set the two entries is:
ATX1 1020 FFFF 1000 FFFF
ARX2 1000 FFFF 1000 FFFF
The first command above sets the Repeat Source to 1020 and the Repeat Destination to 1000, both with a Mask of FFFF. The FFFF mask means all digits of the source and destination are used to determine if the transmission should be repeated. All packets from units with MYID 1020 (C) sent to 1000 will be repeated by this unit. It will not repeat messages from D, E, F, G, or H because their Unit IDs are not in the Repeat Source repeater table.
The second command above sets the Repeat Source to 1000 and the Repeat Destination to 1000, both with a Mask of FFFF. The FFFF mask means all digits of the source and destination are used to determine if the transmission should be repeated. All packets from units with MYID 1000 (A)sent 1000 will be repeated by this unit. In other words, all transmissions from A will be repeated by B.
To view the Repeater Table, use the ATX command, with no parameter. To view a single entry in the table, use the ATXn, where n=1, 2, 3, or 4.
To delete an entry in the table so it has no effect on the operation, set the fields to 0. For example, to disable make entry 1, use the ATX1 0 0 0 0 command.
There can be an issue with regard to store-and-forward repeating and busy channels, particularly on polled systems. Raveon’s M7 wireless modem has a number of provisions in it to make store-and-forward repeating work smoothly.
For example, in the diagram above, assume A is the master station, and C is a remote station being polled. When the store-and-forward repeater B sees a packet it should repeat, immediately upon reception of the packet, it keys its transmitter and repeats the packet. The scenario that can cause problems is if the end receiving station C actually heard the original transmission from A. In a polled scenario, the end station C will typically then respond to the poll, and want to transmit. Station C’s transmission can happen at the same time as the repeater B is trying to repeat the original transmission.
This contention can be reduced/eliminated in the following ways:
- Turn busy-channel lock-out on (ATBC 1) on all modems. This stops them from transmitting on a busy channel (stops them from transmitting when the repeater is transmitting).
- Set the serial port baud-rate on the end-stations to be fairly slow (ATBD x). Thus, when they receive a poll request, there is a delay as they send data in/out of their serial ports, and during this delay, the repeater can do its thing.
- Increase the serial port time-out value from 20mS to say 250mS (ATR3 250). Then, when the polled station responds, there is a 250mS delay before the end station’s data gets sent out over the air. This gives a little gap for the repeater to use for repeating messages.
- Any combination of 1-3.
M7 radio modems will not repeat or receive duplicate versions of the same data packet. If two repeaters are used in the same system, each will repeat a transmission only one time, even if they are within communication range of each other. A repeater will not repeat a transmission if it originated the transmission. If another M7 in the system has the same ID as the repeater, the repeater will not repeat data from that particular unit. The repeater’s ID must be unique in the system.
If a M7 is configured as a repeater, and is also used to send and receive data, it will not repeat any transmission that it originated. M7 check the ID of the station that originated the transmission to determine if the message should be repeated. If the transmission was originated by a station with the same Unit ID as the Unit ID in the receiving station, the data will not be repeated. This is why it is important to have a different ID for each M7 modem in a network that uses repeaters.