Radar Control Protocol

The interface to the Radar Control Protocol (RCP) is either over:

  • Network UDP multi-cast packet
  • Serial line
  • UNIX FIFO

When using the network, transmissions to both directions are sent to the same address and port number. This allows the seamless merging of data from multiple clients. It also means that there is not a separate wire for transmit and receive as with a serial cable. The data format consists of the serial format with a 16-byte prefix.

The prefix consists of the packet size in ASCII (8-bytes), followed by a ASCII code for the type of packet. The first letter of the type is either T (transmit) or R (receive). This is relative to the main controlling host. When coding, you must filter on the direction.

For examples, see the base/ant_utils/antx.C program, as well as the base/antenna_lib/ant_netrcv.c and base/user_lib/UdpSupport.c files.

Specifying the Interface

To code multicast packets over broadcast packets, you must specify which interface to use, and issue the IP_ADD_MEMBERSHIP call. Vaisala recommends using site-local addresses.

When using a 2-way asynchronous RS-232 data line, the baud rate is typically 9600 (19200+ for shipboard systems). IRIS uses this link to control the servo and antenna and receive feedback status.

Information is transferred in packets of 2 or more bytes. Each packet begins with a SYNC byte and ends with an END byte of FF(Hex). All SYNC bytes have the MSB set, and the particular value indicates the type of packet to follow. Types include, for example, 80(hex) for antenna, C0(hex) for BITE, AF(hex) for Q-BITE, and B0(hex) for time.

Each of packet type has a specific direction of travel (to or from IRIS), but packets can arrive in any order within the serial stream.

Antenna Communication Formats

Older systems use the RCV01 and XMT01 formats. Newer systems can use the RCV02 and the XMT02 formats.

The RCV03 format is intended for systems on moving platforms, such as ships or airplanes. To correct the radar's measured radial velocity for the motion of the platform, the 3-D velocity and orientation of the platform must be recorded. Typically, the information comes from an inertial navigation system. For shipboard system, an update rate of approximately 20 reports per second can satisfy the velocity correction requirements at 19200 baud.

Angles

The latitude and longitude are transmitted as 21-bit binary angles. The following angles are transmitted as 14-bit binary angles:

  • azimuth and elevation
  • train order
  • pitch, roll, and heading

In the XMT01 format, the angular speed is a signed number in units of 0.55º/sec. In all other formats, the angular rates are in signed 14-bit binary angles per second. The largest possible value is 180º/sec (30 rpm) and the step is 0.022º/sec. All velocities are in signed cm/sec with the altitude in signed meters. If some of the information is unavailable at the full resolution of the data format, the low bits are filled with zeros.

The azimuth and the elevation angles are corrected angles relative to the north and are the angles that the antenna is pointed relative to the deck of the platform. These calculations are derivable from the other angles but are also reported to assist in the data analysis, especially if one of the sensors or the stabilization fails.

The pitch is the angle between the fore-and-aft axis of the platform and the horizontal is measured in the vertical plane. The pitch is positive when the bow is down and the roll is the rotation angle about the fore-and-aft axis in its pitched position. The pitch is measured in the plane perpendicular to the fore-and-aft axis, which is generally not the vertical plane, and the roll is positive when the deck is down on the port side.

note Note: The pitch can be directly measured by a level on the fore-and-aft axis but the roll cannot be directly measured by a one-axis tilt meter.

The heading is referred to as the direction the platform is pointed but is not the same as direction of motion. The platform could be pointed one way and drifting backwards.

The time stamp is a 14-bit counter incremented by the RCP once per millisecond. The RCP must latch all the data for a packet at the same time. This counter allows the host computer to accurately judge the time between samples without the serial line latencies and fluctuations due to the time sharing operating system.

The position of the platform is reported by the latitude, the longitude, and the altitude. Since the altitude may not be implemented for systems on ships, the setting is 0.

Status and Command Packets

Status Packet RCV01 Format (RCP to Host)
Char Function
1 SYNC Byte (80 Hex)
2 Azimuth Low 7 bits
3 Azimuth High 7 bits
4 Elevation Low 7 bits
5 Elevation High 7 bits
6

Status #1

D6 = Low air flow

D5 = Low Waveguide pressure

D4 = Servo power

D3 = Antenna Local mode

D2 = Interlock

D1 = Standby

D0 = Radiate On

7

Status #2

D6 = RCP02 is shutdown

D5 = LSB pulse width

D4 = T/R power On

D3 = T/R Local mode

D2 = Encoders calibrated

D1 = MSB pulse width

D0 = Magnetron current normal

8 End Of Message (FF Hex)
Control Packet XMT01 Format (Host to RCP)
Char Function
1 SYNC Byte (80 Hex)
2 Azimuth Low 7 bits
3 Azimuth High 7 bits
4 Elevation Low 7 bits
5 Elevation High 7 bits
6

Control Word #1

D6 = MSB of Pulse Width

D5 = Leave Pulse width unchanged

D4 = Spare

D3 = Signal Generator On

D2 = Signal Generator CW

D1 = EL (1 = Scan, 0 = Position)

D0 = AZ (1 = Scan, 0 = Position)

7

Control Word #2

D6 = Reset RCP02 on edge

D5 = Noise Source On

D4 = LSB of Pulse width

D3 = Radiate On complemented

D2 = Radiate On

D1 = Servo Power On

D0 = T/R Power On

8 Control Word #3 (all spare)
9 Signal generator level (unsigned 0 ...127dB attenuation)
10 AZ/EL Antenna speed (signed 7 bit, 0.55° resolution)
11 End Of Message (FF Hex)
Status Packet RCV02 / RCV04 Format (RCP to Host)
Char Function
1 SYNC Byte (80 Hex)
2 Azimuth Low 7 bits
3 Azimuth High 7 bits
4 Elevation Low 7 bits
5 Elevation High 7 bits
6 Azimuth Rate Low 7 bits
7 Azimuth Rate High 7 bits
8 Elevation Rate Low 7 bits
9 Elevation Rate High 7 bits
10

Status #1

D6 = Low air flow

D5 = Low Waveguide pressure

D4 = Servo Power

D3 = Antenna Local mode

D2 = Interlock Open

D1 = Standby

D0 = Radiate On

11

Status #2

D6 = RCP02 is shutdown

D5 = LSB pulse width

D4 = T/R Power On

D3 = T/R Local mode

D2 = Azimuth encoder calibrated

D1 = MSB pulse width

D0 = Magnetron current normal

12

Status #3

D6 = IRIS Mode 2

D5 = IRIS Mode 1

D4 = IRIS Mode 0

D3 = Elevation encoder calibrated

D2 = Signal Generator fault

D1 = Signal Generator On

D0 = Signal Generator CW

13 Signal generator level (0=max power)
14 Time Stamp Low 7 bits
15 Time Stamp High 7 bits
16 End Of Message (FF Hex)
Control Packet XMT02 / XMT04 Format (Host to RCP)
Char Function
1 SYNC Byte (80 Hex)
2 Azimuth Low 7 bits
3 Azimuth High 7 bits
4 Elevation Low 7 bits
5 Elevation High 7 bits
6

Control Word #1

D6 = MSB of Pulse Width

D5 = Leave Pulse Width unchanged

D4 = Spare

D3 = Signal Generator On

D2 = Signal Generator CW

D1 = EL (1 = Scan 0 = Position)

D0 = AZ (1 = Scan 0 = Position)

If EL in position mode, maximum positive velocity is sent in the velocity field, if EL in scan mode, maximum or minimum elevation position is sent in the position field. If AZ in position mode, maximum positive velocity is sent in the velocity field, if AZ in scan mode, 0 is sent in the position field.

7

Control Word #2

D6 = Reset RCP02 on rising edge

D5 = Noise Source On

D4 = LSB of Pulse width

D3 = Radiate On complemented

D2 = Radiate On

D1 = Servo Power On

D0 = T/R Power On

8

Control Word #3

D6 = IRIS Mode 2

D5 = IRIS Mode 1

D4 = IRIS Mode 0

D3 = Radar Workstation A okay

D2 = Radar Workstation B okay

D1 = Data Processor A okay

D0 = Data Processor B okay

9 Signal Generator level (0 ... 127 dB attenuation)
10 AZ Antenna Speed Low 7 bits
11 AZ Antenna Speed High 7 bits
12 EL Antenna Speed Low 7 bits
13 EL Antenna Speed High 7 bits
14 End Of Message (FF Hex)
Status Packet RCV03 Format (RCP to Host)
Char Function
1 SYNC Byte (80 Hex)
2 Identification byte
3 Azimuth Low 7 bits (Earth relative)
4 Azimuth High 7 bits
5 Elevation Low 7 bits (Earth relative)
6 Elevation High 7 bits
7 Train Order Low 7 bits (azimuth of pedestal relative to the ship)
8 Train Order High 7 bits
9 Elevation Order Low 7 bits (elevation of pedestal relative to the ship)
10 Elevation Order High 7 bits
11 Pitch Low 7 bits
12 Pitch High 7 bits
13 Roll Low 7 bits
14 Roll High 7 bits
15 Heading Low 7 bits
16 Heading High 7 bits
17 Azimuth Rate Low 7 bits
18 Azimuth Rate High 7 bits
19 Elevation Rate Low 7 bits
20 Elevation Rate High 7 bits
21 Pitch Rate Low 7 bits (LSB = Zero)
22 Pitch Rate High 7 bits
23 Roll Rate Low 7 bits (LSB = Invalid Roll)
24 Roll Rate High 7 bits
25 Heading Rate Low 7 bits (LSB = Invalid Heading)
26 Heading Rate High 7 bits
27

Status #1

D6 = Low air flow

D5 = Low Waveguide pressure

D4 = Servo power

D3 = Antenna Local mode

D2 = Interlock open

D1 = Standby

D0 = Radiate ON

28

Status #2

D6 = RCP02 is shutdown

D5 = LSB pulse width

D4 = T/R Power on

D3 = T/R Local mode

D2 = Azimuth encoder calibrated

D1 = MSB pulse width

D0 = Magnetron current normal

29

Status #3

D6 = Reserved

D5 = Reserved

D4 = Reserved

D3 = Elevation encoder calibrated

D2 = Signal Generator fault

D1 = Signal Generator On

D0 = Signal Generator CW

30 Signal generator value (0=full signal)
31 Time Stamp Low 7 bits
32 Time Stamp High 7 bits
33 Latitude Low 7 bits
34 Latitude Middle 7 bits
35 Latitude High 7 bits
36 Longitude Low 7 bits
37 Longitude Middle 7 bits
38 Longitude High 7 bits
39 Altitude Low 7 bits
40 Altitude High 7 bits
41 Velocity East Low 7 bits (LSB = Invalid Lat/Lon)
42 Velocity East High 7 bits
43 Velocity North Low 7 bits (LSB = Zero)
44 Velocity North High 7 bits
45 Velocity Up Low 7 bits (LSB = Invalid Altitude)
46 Velocity Up High 7 bits
47 End Of Message (FF Hex)
Status Packet RCV05 Format (RCP to Host)
Char Function
1–15 Bytes match the RCV02 / RCV04 format
16

Dual-System Status

D6 = RCP02 is configured as a Dual-System

D5 = Dual-System Mode MSB

D4 = Dual-System Mode LSB

D3 = This packet was sent from Unit "A"D2 = Information is known about the "Other" unit

D1 = Unit "A" is the preferred system

D0 = Unit "B" is disabled

Note: The 2-bit Dual-System Mode codes are:

  • 00 : Unknown mode
  • 01 : System "A"
  • 10: System "B"
  • 11 : Auto Switch
17

Dual-System Status

D6 = Unit "B" is okay

D5 = Unit "B" Activity Code MSB

D4 = Unit "B" Activity Code LSB

D3 = Unit "A" is disabled

D2 = Unit "A" is okay

D1 = Unit "A" Activity Code MSB

D0 = Unit "A" Activity Code LSB

Note: The 2-bit Dual-System Activity codes are:

  • 00 : Inactive
  • 01 : Warmup
  • 10: Active Now
  • 11 : Reserved
18

Dual-System Status

D6 = RCP02 is configured for voluntary flipping

D5 = Unit "B" is offering to give up control

D4 = Unit "A" is offering to give up control

D3 = Unit "B" would be used if it were available

D2 = Unit "A" would be used if it were available

19

D0:2 = Current Polarization XMT control

  • 0=Horizontal
  • 1=Vertical
  • 2=Alternating
  • 3=Simultaneous

D3 = Polarization switch is OK to run

20 Spare
21 Spare
22 Spare
23 Spare
24 End Of Message (FF Hex)
Control Packet XMT05 Format (Host to RCP)
Char Function
1–13 Bytes exactly match the XMT02 / XMT04 format
14

Control Word #4

D6 = Dual-System: Mode MSB

D5 = Dual-System: Mode LSB

D4 = Dual-System: Offer to relinquish control

D3 = Dual-System: Unit would be used if available

D2 = SpareD1 = Spare

D0 = Spare

Note: The 2-bit Dual-System Mode codes are:

  • 00 : No mode
  • 01 : System "A"
  • 10: System "B"
  • 11 : Auto Switch
15

D0:

2 = Requested Polarization XMT control

0=Horizontal

1=Vertical

2=Alternating

3=Simultaneous

7=Unchanged

16 Spare
17 Spare
18 End Of Message (FF Hex)
Time Packet (RCP to Host)
Char Function
1 SYNC Byte (B0 Hex)
2 Year Low 7 bits
3 Year High 7 bits
4 Month
5 Day
6 Hour
7 Minute
8 Second
9 1/100 of Second
10 Status
11 End Of Message (FF Hex)
Generic BITE Status Packet (Both ways)
Char Function
1 SYNC Byte (C0 Hex)
2 BITE Unit ID byte (selectable in the range 00–7F Hex)
3 Status byte #1
4 Status byte #2
.
.
.
N–1 Status byte #N–3
N End Of Message (FF Hex)

The BITE status packet consists of 3 ...20 bytes.

The first 2 and the last bytes are used for identification purposes.

The middle bytes must have the MSB set to 0 and can contain arbitrary status in the lower 7 bits.

Typically this is used to report back individual bits containing the results of tests such as cabinet interlocks, airflow sensors, and power supply checks.

This report must be sent by the BITE every time the status changes. It must also send a report in response to the interrogate command. IRIS sends the interrogate command every 60 seconds.

BITE Command Packet (Both ways)
Char Function
1 SYNC Byte (C0 Hex)
2 Command (0x4D = Interrogate, 0x44=Sample Data, 0x43=Reset)
3 End Of Message (FF Hex)

Auxiliary Control BITE Packets

This example BITE packet is supported by the RCP02 and RCP8 Radar Control Processors, and is an example of a mapping of arbitrary control and status bits into a BITE packet.

These RCPs contains 64 auxiliary status and control variables, labeled S[0:63] and C[0:63]. These bits may be sent to and from the host computer in the form of 13-byte BITE packets holding the full set of 64 bits. The format of these packets is the same in both directions, and the identification byte is selectable so that conflicts with other BITE packets can be avoided.

Auxiliary Control BITE Packets (Both ways)
Char Function
1 SYNC Byte (C0 Hex)
2 BITE Unit ID byte (User Choice)
3 Control/Status Bits 6 5 4 3 2 1 0
4 Control/Status Bits 13 12 11 10 9 8 7
5 Control/Status Bits 20 19 18 17 16 15 14
6 Control/Status Bits 27 26 25 24 23 22 21
7 Control/Status Bits 34 33 32 31 30 29 28
8 Control/Status Bits 41 40 39 38 37 36 35
9 Control/Status Bits 48 47 46 45 44 43 42
10 Control/Status Bits 55 54 53 52 51 50 49
11 Control/Status Bits 62 61 60 59 58 57 56
12 Control/Status Bit 63
13 End Of Message (FF Hex)

Q-BITE Status

The Q-BITE (quantitative byte) status packets consists of 3 ... 128 bytes.

The first 2 and last bytes are for identification.

The middle bytes must have the MSB set to 0 and can contain an arbitrary value in the lower 7 bits. Typically this is used to report back voltage/power levels. Do not send this report by the BITE every time the status changes. Send this report in response to the Q-bite interrogate command. IRIS sends the interrogate command every 60 seconds.

The Q-BITE data stream consists of a series of integer values. Each value is packed into a series of 7-bit characters, using 1 ... 5 depending on the desired resolution. The low bits come first, and IRIS supports up to 32 bits per value. IRIS can be configured to display any such values with appropriate units and scaling.

Q-BITE Status Packet (Both ways)
Char Function
1 SYNC Byte (AF Hex)
2 BITE Unit ID byte (selectable in the range 00-7F Hex)
3 Status byte #1
4 Status byte #2
.
.
.
N–1 Status byte #N–3
N End Of Message (FF Hex)
Simple Q-BITE Example
Char Function
1 SYNC Byte (AF Hex)
2 BITE Unit ID byte (Selectable in range 00–7F)
3 V1 Trigger frequency (Hz) (low bits)
4 V1 Trigger frequency (Hz) (high bits)
5 V2 Thyratron voltage (0.1 V) (low bits)
6 V2 Thyratron voltage (0.1 V) (high bits)
7 End Of Message (FF Hex)

Q-BITE Interrogate Packet

Q-BITE Interrogate Packet (Both ways)
Char Function
1 SYNC Byte (90 Hex)
2 Command (0x01 or 0x4D=Interrogate, 0x44=Sample Data, 0x43=Reset)
3 End Of Message (FF Hex)

BITE Individual Command Packet

The BITE individual command packet is used to request information about a single BITE unit, separate from all the others.

The RCP should respond to an Interrogate packet by sending the current version of the specified BITE status packet. The RCP should respond to a Sample Data packet by sending requests out the remote device to get information, then responding to the host computer with the new BITE status packet when the information arrives. The RCP should responds to the Reset packet by sending a reset command to the remote device.

BITE Individual Command Packet (Host to RCP)
Char Function
1 SYNC Byte (C1 Hex)
2 ID of the BITE unit for which the command will be applied
3 Command: 0x4D=Interrogate, 0x44=Sample Data, 0x43=Reset
4 End Of Message (FF Hex)

Chat Mode

These packets are sent in both directions to convey serial TTY communication. Up to 6 7-bit characters can be sent in each packet with two characters of overhead for SYNC and END. This allows up to 75% of the available serial bandwidth to be used for chatting. If a chat mode packet contains fewer than 6 characters, then a NULL (0 byte) is inserted after the last packet.

Chat-Mode Packet (Both ways)
Char Function
1 SYNC Byte (F1 Hex)
2...7 7-Bit ASCII characters (possibly NULL terminated)
8 End Of Message (FF Hex)