IRIG timecode

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Inter-range instrumentation group time codes, commonly known as IRIG timecodes, are standard formats for transferring timing information. Atomic frequency standards and GPS receivers designed for precision timing are often equipped with an IRIG output. The standards were created by the TeleCommunications Working Group of the U.S. military's Inter-Range Instrumentation Group (IRIG), the standards body of the Range Commanders Council. Work on these standards started in October 1956, and the original standards were accepted in 1960.

The original formats were described in IRIG Document 104-60, later revised and reissued in August 1970 as IRIG Document 104-70, upgraded later that year as the IRIG Document to the status of a Standard, IRIG Standard 200-70. The latest version of the Standard is IRIG Standard 200-04.

Time codes[edit]

The different timecodes defined in the Standard have alphabetic designations. A, B, D, E, G, and H are the standards currently defined by 200-04.

C[1][2] was in the original specification, but was replaced by H.

The main difference between codes is their rate, which varies between one pulse per second and 10,000 pulses per second.

IRIG time code
Code Bit rate Bit time Bits per frame Frame time Frame rate
A 1000 Hz 1 ms 100 100 ms 10 Hz
B 100 Hz 10 ms 100 1000 ms 1 Hz
C 2 Hz 0.5 s 120 1 minute 1/60 Hz
D 1/60 Hz 1 minute 60 1 hour 1/3600 Hz
E 10 Hz 100 ms 100 10 s 0.1 Hz
G 10 kHz 0.1 ms 100 10 ms 100 Hz
H 1 Hz 1 s 60 1 minute 1/60 Hz

The bits are modulated on a carrier. A three-digit suffix specifies the type and frequency of the carrier, and which optional information is included:

Modulation type
  1. (DCLS) Direct Current Level Shift (width coded)
  2. Sine wave carrier (amplitude modulated)
  3. Manchester modulated
Carrier frequency
  1. No carrier (DCLS)
  2. 100 Hz (10 ms resolution)
  3. 1 kHz (1 ms resolution)
  4. 10 kHz (100 µs resolution)
  5. 100 kHz (10 µs resolution)
  6. 1 MHz (1 µs resolution)
Coded expressions

Binary-coded decimal day of year, hours, minutes, and (for some formats) seconds and fractions are always included. Optional components are:

  • Year number (00–99; century is not coded)
  • User-defined "control functions" occupying bits not defined by IRIG
  • "Straight binary seconds", a 17-bit binary counter that counts from 0 to 86399.
  1. BCD, CF, SBS
  2. BCD, CF
  3. BCD
  4. BCD, SBS
  5. BCD, BCD_Year, CF, SBS
  6. BCD, BCD_Year, CF
  7. BCD, BCD_Year
  8. BCD, BCD_Year, SBS

The recognized signal identification numbers for each format according to the standard 200-04 consist of:

Permissible Code Formats
Format Modulation Type Carrier Frequency Coded Expressions
A 0,1,2 0,3,4,5 0,1,2,3,4,5,6,7
B 0,1,2 0,2,3,4,5 0,1,2,3,4,5,6,7
D 0,1 0,1,2 1,2
E 0,1 0,1,2 1,2,5,6
G 0,1,2 0,4,5 1,2,5,6
H 0,1 0,1,2 1,2

Thus the complete signal identification number consists of one letter and three digits. E.g. the signal designated as B122 is deciphered as follows: Format B, Sine wave (amplitude modulated), 1 kHz carrier, and Coded expressions BCDTOY.

The most commonly used of the standards is IRIG B, then IRIG A, then probably IRIG G. Time code formats directly derived from IRIG H are used by NIST radio stations WWV, WWVH and WWVB.

For example, one of the most common formats, IRIG B122: IRIG B122 transmits one hundred pulses per second on an amplitude modulated 1 kHz sine wave carrier, encoding information in BCD. This means that 100 bits of information are transmitted every second. The time frame for the IRIG B standard is 1 second, meaning that one data frame of time information is transmitted every second. This data frame contains information about the day of the year (1–366), hours, minutes, and seconds. Year numbers are not included, so the time code repeats annually. Leap second announcements are not provided. Although information is transmitted only once per second, a device can synchronize its time very accurately with the transmitting device by using a phase locked loop to synchronize to the carrier. Typical commercial devices will synchronize to within 1 microsecond using IRIG B timecodes.

Time code structure[edit]

IRIG time code is made up of repeating frames, each containing 60 or 100 bits. The bits are numbered from 0 through 59 or 99.

At the start of each bit time, the IRIG time code enables a signal (sends a carrier, raises the DC signal level, or transmits Manchester 1 bits). The signal is disabled (carrier attenuated at least 3×, DC signal level lowered, or Manchester 0 bits transmitted), at one of three times during the bit interval:

  • After 0.2 of a bit time, to encode a binary 0
  • After 0.5 of a bit time, to encode a binary 1
  • After 0.8 of a bit time, to encode a marker bit

Bit 0 is the frame marker bit Pr. Every 10th bit starting with bit 9, 19, 29, ... 99 is also a marker bit, known as position identifiers P1, P2, ..., P9, P0. Thus, two marker bits in a row (P0 followed by Pr) marks the beginning of a frame. The frame encodes the time of the leading edge of the frame marker bit.

All other bits are data bits, which are transmitted as binary 0 if they have no other assigned purpose.

Generally, groups of 4 bits are used to encode BCD digits. Bits are assigned little-endian within fields.

  • Bits 1–4 encode seconds, and bits 6–8 encode tens of seconds (0–59)
  • Bits 10–13 encode minutes, and bits 15–17 encode tens of minutes (0–59)
  • Bits 20–23 encode hours, and bits 25–26 encode tens of hours (0–23)
  • Bits 30-33 encode day of year, 35-38 encode tens of days, and bits 40–41 encode hundreds of days (1–366)
  • Bits 45–48 encode tenths of seconds (0–9)
  • Bits 50–53 encode years, and bits 55–58 encode tens of years (0–99)
  • Bits 80–88 and 90–97 encode "straight binary seconds" since 00:00 on the current day (0–86399, not BCD)

In IRIG G, bits 50–53 encode hundredths of seconds, and the years are encoded in bits 60–68.

Not all formats include all fields. Obviously those formats with 60-bit frames omit the straight binary seconds fields, and digits representing divisions less than one frame time (everything below hours, in the case of IRIG D) are always transmitted as 0.

No parity or check bits are included. Error detection can be achieved by comparing consecutive frames to see if they encode consecutive timestamps.

Unassigned 9-bit fields between consecutive marker bits are available for user-defined "control functions". For example, the IEEE 1344 standard defines functions for bits 60–75.

IRIG Time Code[edit]

IRIG A time code structure
Bit Weight Meaning Bit Weight Meaning Bit Weight Meaning Bit Weight Meaning Bit Weight Meaning
00 Pr Frame marker 20 1 Hours
(0–23)
40 100 Day of year
(1–366)
60 0 Unused,
available for
Control
Functions
80 1 Straight
Binary
Seconds
(0–86399)
01 1 Seconds
(00–59)
21 2 41 200 61 0 81 2
02 2 22 4 42 0 Unused 62 0 82 4
03 4 23 8 43 0 63 0 83 8
04 8 24 0 44 0 64 0 84 16
05 0 25 10 45 0.1 Tenths of seconds
(0.0–0.9)
65 0 85 32
06 10 26 20 46 0.2 66 0 86 64
07 20 27 0 Unused 47 0.4 67 0 87 128
08 40 28 0 48 0.8 68 0 88 256
09 P1 Position identifier 29 P3 Position identifier 49 P5 Position identifier 69 P7 Position identifier 89 P9
10 1 Minutes
(00–59)
30 1 Day of year
(1–366)
50 1 Year
(00–99)
70 0 Unused,
available for
Control
Functions
90 512
11 2 31 2 51 2 71 0 91 1024
12 4 32 4 52 4 72 0 92 2048
13 8 33 8 53 8 73 0 93 4096
14 0 34 0 54 0 74 0 94 8192
15 10 35 10 55 10 75 0 95 16384
16 20 36 20 56 20 76 0 96 32768
17 40 37 40 57 40 77 0 97 65536
18 0 Unused 38 80 58 80 78 0 98 0 Unused
19 P2 Position identifier 39 P4 Position identifier 59 P6 Position identifier 79 P8 Position identifier 99 P0 Position identifier


IRIG J time code[edit]

IRIG standard 212-00 defines a different time-code, based on RS-232-style asynchronous serial communication. The time code consists of ASCII characters, each transmitted as 10 bits:

  • 1 start bit
  • 7 data bits
  • 1 odd parity bit
  • 1 stop bit

The on-time marker is the leading edge of the first start bit.

IRIG J-1 time code consists of 15 characters (150 bit times), sent once per second at a baud rate of 300 or greater:

<SOH>DDD:HH:MM:SS<CR><LF>
  • SOH is the ASCII "start of header" code, with binary value 0x01.
  • DDD is the day of year, from 1 to 365 (or 366 in leap years).
  • HH, MM and SS are the time of the start bit.
  • The code is terminated by a CRLF pair.

At the end of the time code, the serial line is idle until the start of the next code. There is no idle time between other characters.

IRIG J-2 time code consists of 17 characters (170 bit times), send 10 times per second at a baud rate of 2400 or greater:

<SOH>DDD:HH:MM:SS.S<CR><LF>

This is the same, except that tenths of seconds are included.

The full-time code specification is of the form "IRIG J-xy", where x denotes the variant, and y denotes a baud rate of 75×2y.

Normally used combinations are J-12 through J-14 (300, 600, and 1200 baud), and J-25 through J-29 (2400 through 38400 baud).

References[edit]

  • Telecommunications and Timing Group (September 2004), IRIG Serial Time Code Formats, U.S. Army White Sands Missile Range, NM: Range Commanders Council, IRIG standard 200-04 
  • Telecommunications and Timing Group (November 2000), IRIG J Asynchronous ASCII Time Code Formats (doc), U.S. Army White Sands Missile Range, NM: Range Commanders Council, IRIG standard 212-00 
  1. ^ Grohman, Richard O.; Mellenbruch, Larry L.; Sowic, Felix J. (1974-03-14), Special Hardware for ARL Analysis of ACODAC Data (pdf) (technical report), Texas University at Austin, ARL-TM-74-12, retrieved 2011-12-23 
  2. ^ Datum Inc. (1987), Handbook of Time Code Formats, p. 18, retrieved 2013-06-24 

External links[edit]