Professional Documents
Culture Documents
Radio Frequency (RF) Data Communications
Radio Frequency (RF) Data Communications
By Danny Ton
Course: CSE 498
Professor: Gaetano Borriello
Overview
I/O interface
Transmitter
Receiver
AGC/Antenna switch
Overview (contd)
I/O interface
RS232 interface
Protocol microcontroller
CMOS/RS232 level converter
Protocol features
Principles of operation
Flow control
Over 40 millions systems manufactured each year utilizing lowpower wireless (RF) technology for data links, telemetry, control
and security
RF Characteristics
Low power
Regulations On RF Products
RFM Features
RFM Modules
Host
Radio module
MAX 218 IC
CMOS/RS232
RS232
module
Level Converter
Protocol
board
Data radio
board
8-bit ATMEL
AT89C2051
microcontroller
RF transmitter
and Receiver
Protocol
module
Radio
module
RF Signals
Protocol module
RS232 module
22.5 kbps
Frequency options
916.5 MHz
Antenna
Simple base-loaded monopole soldered
to the pad provided for the 50 ohm
RF input
Alternatively, a 50-ohm coaxial cable
can be soldered to the RF input pad
and the adjacent ground, if a remotely
located antenna is used
adjustment
Data radio boards are adjusted at RFM for an AGC voltage between 1.75 and
1.80 V on the node between the potentiometer, R10, and resistor R11 with no
RF signal applied
This setting doesnt affect the sensitivity level of the receiver
The desired signal must be larger than the undesired signal for the
intelligible information to be obtained from the receiver
AGC circuit is not to level the desired signal level but, rather, to prevent the
saturation and eventual capture of the receivers demodulator by interfering
in-band CW or FM signals (signals more than 20dB above the receiver
sensitivity level)
Turning the potentiometer counter-clockwise causes AGC voltage to increase
and, thus, engages the gain control at a lower signal level and vice versa
Connector P1
Pin 1
Pin 3
Pin 4
Pin 6
Pin 7
Pin 8
Pin 2
Pin 3
Ground
Pin 4
RF ouput
Pin 2
Pin 3
Comparator input
Output from Pin 2 is connected to this pin by the coupling
capacitor C6
Coupling capacitor C6
Pin 4
DC GND
Pin 5
Pin 6
Pin 7
Pins 8 and 9
RF grounds
Pin 10
Issue
The out-of-band interfering signal rejection of the amplifiersequenced receiver architecture is excellent and allows the
receiver to perform in the presence of large interfering signals
without range degradation
However, this does not take care of in-band interference. The
majority of in-band interference encountered is CW and primarily
comes from unintentional radiators such as clock harmonics from
computers or local oscillators from superheterodyne receivers
An AGC circuit primarily intended for CW or FM inband interfering signals. These signals are of
particular concern in an office environment
error dectection
automatic message retransmission
message routing
link alarms and DC-balanced packet coding
RS232 interface
Connector J1
The I/O interface between the protocol and data radio boards
8 pins
Pin 1
Carry the transmit data stream from U2-Pin 7 to the RTX input on
the data radio board
Pin 2
Pin 3
Pin 4
Pin 5 - GND
Pin 6
The reference voltage input (VREF) from the hybrid receiver to the
protocol board, used in the low battery detection process
Pin 7
Pin 8
Connector J2
Node programming pins ID0 - ID3 (Pins 14, 15, 16, and 17)
The buffered receive data (RRX) on Pin 6
The CMOS-level input from the host computer (Pin 2)
The reference voltage (VREF) input on Pin 13
The transmit data on Pin 7
The data output to the host computer on Pin 3
The transmit enable signal on Pin 19
The RS232-transceiver control on Pin 18
The LED outputs on Pins 8 (RXI), 9 (RF RCV) and 11 (PC RCV)
Start Symbol
(0x55)
To/From
Packet number
Data Size
Message Data
Radio packet
Message data
16-bit FCS
To/From
Packet number
Data Size
Message Data
RS232-side packet
Packet number
0xEn
(n=1to 8)
ACK
To/From
Packet number
0xDD
NAK
Theory of Operation
19.2 kbps
Eight data bits (byte), one stop bit, and no parity bit
Radio operation
Sender
Node
Host
#1
#1
ACK on # 1
ACK on # 1
#2
#2
ACK on # 2
ACK on # 2
RS232-side
Packets
Radio
Packets
Normal operation
Sender
Node
Host
#1
120ms
Random delays
between tries
Try 1 on pkt #1
Try 2 on pkt #1
(Dropped)
Try 8 on pkt #1
NAK on # 1
#1
RS232-side
Packets
Radio
Packets
Link-failure operation
If an acknowledgement packet is
not received in 120ms, the
packet is then resent after a
randomly selected delay of 0,
120, 240 or 360ms.
If the packed is not
acknowledged after a total of
eight tries, the software will
send a NAK message to host on
the PTX line, discard the queued
packet, and resume testing the
input lines
Flow Control
Sample Codes
RFSend(Byte ToFrom, Char* Data)
{
FIRST:
SerSend(ToFrom, 1);
SECOND:
begin = TimGetTicks();
do {
end = TimGetTicks();
SerReceiveCheck(&numBytes);
} while(numBytes < 0 && (end-begin/100) < .05);
THIRD:
if(numBytes > 0) {
SerReceive(rcvQueue, numBytes);
if(rcvQueue[0] == ToFrom) {
SerSend(pktNum, 1);
SerSend(StrLen(data), 1);
SerSend(data, StrLen(data));
FIRST:
Send ToFrom byte to RFM
SECOND:
Check to see if anything is
echoed back in 50ms
THIRD:
Check to see if this byte is the
ToFrom byte
If it is, then RFM is ready for
the rest of the packet: packet
number, data size, and actual
data; else, can assume that RFM
is busy.
Note: assume data size is less
than 32 bytes, which is the
maximum number of bytes that a
packet can take
SerReceive(rcvQueue, 3);
switch(rcvQueue[2]) {
case 0xE1:
case 0xE2:
case 0xE3:
case 0xE4:
case 0xE5:
case 0xE6:
case 0xE7:
case 0xE8: if(++pktNum >= 8) pktNum = 1;
return true;
case 0xDD: return false;
}
}
}
return false;
}
FOURTH:
Receive the echo-back packet (3
bytes in size)
If the last byte is 0xEn where n
= 1 - 8 (the number of retries),
then the packet is the ACK, and
data is successfully sent and
received; Else, if the last byte is
0xDD, it is the NAK, signaling a
link failure
FIRST:
Check the serial receive queue
to see whether at least 3
bytes have been received
(To/From, packet number,
packet size)
SECOND:
Get the first byte to see if it
is equal to the local node
address
If it is, get the next 2 bytes:
packet number and packet
size, and then get the rest of
the packet based on the
packet size received;
Else, do nothing