Content deleted Content added
No edit summary |
simplify link |
||
(110 intermediate revisions by 48 users not shown) | |||
Line 1:
{{Short description|Standard formats for transferring time information}}
'''Inter-range instrumentation group timecodes''', commonly known as '''IRIG timecode''', are standard formats for transferring timing information. Atomic frequency standards and [[GPS receiver]]s designed for precision timing are often equipped with an IRIG output. The standards were created by the Tele Communications 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-16 from August 2016.
== Timecodes ==
The different timecodes defined in the Standard have alphabetic designations. A, B, D, E, G, and H are the standards currently defined by IRIG Standard 200-04.
The main difference between codes is their rate, which varies between one pulse per minute and 10,000 pulses per second.
{|class="wikitable sortable"
|+IRIG timecode
! Code || Bit rate || Bit time || Bits per frame || Frame time || Frame rate
|-
! A
| 1000
|-
! B
| 100
|- style="text-decoration:line-through"
! C{{efn-ua|name=CH}}
| 2 Hz || 0.5 s || 120 || 60 s || {{frac|60}} Hz
|-
! D
|
|-
! E
| 10
|-
! G
|
|-
! H
| 1
|}
{{notelist-ua|name=CH|refs=
{{efn-ua|name=CH|C<ref>{{cite tech report |url=https://apps.dtic.mil/sti/pdfs/ADA000295.pdf |archive-url=https://web.archive.org/web/20130408112407/http://www.dtic.mil/cgi-bin/GetTRDoc?AD=ADA000295 |url-status=live |archive-date=April 8, 2013 |format=pdf |title=Special Hardware for ARL Analysis of ACODAC Data |first1=Richard O. |last1=Grohman |first2=Larry L. |last2=Mellenbruch |first3=Felix J. |last3=Sowic |date=1974-03-14 |publisher=Texas University at Austin |id=ARL-TM-74-12 |access-date=2011-12-23 | df = dmy-all }}</ref><ref>{{cite book | title = Handbook of Time Code Formats | url = http://www.vk7krj.com/ham_stuff_pics/Handbook_of_Time_Code_Formats.pdf | publisher = Datum Inc. | edition = Seventh | year = 1987 | page = 18 | access-date = 2024-03-18 | archive-url = https://web.archive.org/web/20230308040915/https://www.vk7krj.com/ham_stuff_pics/Handbook_of_Time_Code_Formats.pdf | archive-date = 2023-03-08 | url-status = live | via = vk7krj.com | df = dmy-all}}</ref> was in the original specification, but was replaced by H.}}
}}
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:
<ol start=0 type=1>
<li>
<li>Sine wave carrier ([[amplitude modulated]])</li>
<li>[[Manchester code|Manchester]] modulated</li>
</ol>
;[[Carrier
<ol start=0 type=1>
<li>No carrier (DCLS)</li>
<li>100
<li>1
<li>10
<li>100
<li>1
</ol>
;Coded expressions
:[[Binary-coded decimal|Binary-coded decimal (BCD)]] 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 (CF)" occupying bits not defined by IRIG
:* "Straight binary seconds (SBS)", a 17-bit binary counter that counts from 0 to 86399.
:The types are:<ol start=0 type=1><!--
--><li>BCD
--><li>BCD
--><li>BCD
--><li>BCD
--><li>BCD, BCD_Year, CF, SBS</li><!--
--><li>BCD, BCD_Year, CF</li><!--
--><li>BCD, BCD_Year</li><!--
--><li>BCD, BCD_Year, SBS</li><!--
--></ol>
The recognized signal identification numbers for each format according to the standard 200-04 consist of:
{| class="wikitable" border="1"
|+
!
!
! Carrier Frequency
!
|-
!
|
|
|
|-
!
|
|
|
|-
!
|
|
|
|-
!
|
|
|
|-
!
|
|
|
|-
!
|
|
|
|}
Thus the complete signal identification number consists of one letter and three digits.
The most commonly used of the standards is IRIG B, then IRIG A, then probably IRIG G.
For example, one of the most common formats, IRIG B122:
:IRIG B122 transmits one hundred pulses per second on an amplitude modulated 1
==
IRIG
At the start of each bit time, the IRIG
* After 0.2 of a bit time, to encode a binary 0
* After 0.5 of a bit time, to encode a binary 1
Line 113 ⟶ 131:
Bit 0 is the frame marker bit P<sub>r</sub>. Every 10th bit starting with bit 9, 19, 29, ... 99 is also a marker bit, known as position identifiers P<sub>1</sub>, P<sub>2</sub>, ..., P<sub>9</sub>, P<sub>0</sub>. Thus, two marker bits in a row (P<sub>0</sub> followed by P<sub>r</sub>) 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.
Line 119 ⟶ 137:
* 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 [[
* Bits 45–48 encode tenths of seconds (0–9)
* Bits 50–53 encode years, and bits 55–58 encode tens of years (0–99)
Line 130 ⟶ 148:
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.
==
{|class=wikitable style="text-align:center;"
|+ IRIG A time code structure
! Bit || Weight || Meaning
|rowspan=21|
! Bit || Weight || Meaning
|rowspan=21|
! Bit || Weight || Meaning
|rowspan=21|
! Bit || Weight || Meaning
|rowspan=21|
! Bit || Weight || Meaning
|-
|bgcolor=lightpink| 00 ||bgcolor=lightpink| P<sub>r</sub> ||bgcolor=lightpink| Frame marker
| 20 || 1 ||rowspan=7| Hours<br/>(0–23)
| 40 || 100 ||rowspan=2| Day of year<br/>(1–366)
|bgcolor=lightgrey| 60 ||bgcolor=lightgrey| 0 ||rowspan=9 bgcolor=lightgrey| Unused,<br/>available for<br/>Control<br/>Functions
| 80 || 1 ||rowspan=18| Straight<br/>Binary<br />Seconds<br/>(0–86399)
|-
| 01 || 1 ||rowspan=8| Seconds<br/> (00–59)
| 21 || 2
| 41 || 200
|bgcolor=lightgrey| 61 ||bgcolor=lightgrey| 0
| 81 || 2
|-
| 02 || 2
| 22 || 4
|bgcolor=lightgrey| 42 ||bgcolor=lightgrey| 0 ||rowspan=3 bgcolor=lightgrey| Unused
|bgcolor=lightgrey| 62 ||bgcolor=lightgrey| 0
| 82 || 4
|-
| 03 || 4
| 23 || 8
|bgcolor=lightgrey| 43 ||bgcolor=lightgrey| 0
|bgcolor=lightgrey| 63 ||bgcolor=lightgrey| 0
| 83 || 8
|-
| 04 || 8
|bgcolor=lightgrey| 24 ||bgcolor=lightgrey| 0
|bgcolor=lightgrey| 44 ||bgcolor=lightgrey| 0
|bgcolor=lightgrey| 64 ||bgcolor=lightgrey| 0
| 84 || 16
|-
|bgcolor=lightgrey| 05 ||bgcolor=lightgrey| 0
| 25 || 10
| 45 || 0.1 ||rowspan=4|Tenths of seconds<br/>(0.0–0.9)
|bgcolor=lightgrey| 65 ||bgcolor=lightgrey| 0
| 85 || 32
|-
| 06 || 10
| 26 || 20
| 46 || 0.2
|bgcolor=lightgrey| 66 ||bgcolor=lightgrey| 0
| 86 || 64
|-
| 07 || 20
|bgcolor=lightgrey| 27 ||bgcolor=lightgrey| 0 ||rowspan=2 bgcolor=lightgrey| Unused
| 47 || 0.4
|bgcolor=lightgrey| 67 ||bgcolor=lightgrey| 0
| 87 || 128
|-
| 08 || 40
|bgcolor=lightgrey| 28 ||bgcolor=lightgrey| 0
| 48 || 0.8
|bgcolor=lightgrey| 68 ||bgcolor=lightgrey| 0
| 88 || 256
|- bgcolor=lightpink
| 09 || P<sub>1</sub> || Position identifier
| 29 || P<sub>3</sub> || Position identifier
| 49 || P<sub>5</sub> || Position identifier
| 69 || P<sub>7</sub> || Position identifier
| 89 || P<sub>9</sub>
|-
| 10 || 1 ||rowspan=8| Minutes<br/>(00–59)
| 30 || 1 ||rowspan=9| Day of year<br/>(1–366)
| 50 || 1 ||rowspan=9| Year<br/>(00–99)
|bgcolor=lightgrey| 70 ||bgcolor=lightgrey| 0 ||rowspan=9 bgcolor=lightgrey| Unused,<br/>available for<br/>Control<br/>Functions
| 90 || 512
|-
| 11 || 2
| 31 || 2
| 51 || 2
|bgcolor=lightgrey| 71 ||bgcolor=lightgrey| 0
| 91 || 1024
|-
| 12 || 4
| 32 || 4
| 52 || 4
|bgcolor=lightgrey| 72 ||bgcolor=lightgrey| 0
| 92 || 2048
|-
| 13 || 8
| 33 || 8
| 53 || 8
|bgcolor=lightgrey| 73 ||bgcolor=lightgrey| 0
| 93 || 4096
|-
|bgcolor=lightgrey| 14 ||bgcolor=lightgrey| 0
|bgcolor=lightgrey| 34 ||bgcolor=lightgrey| 0
|bgcolor=lightgrey| 54 ||bgcolor=lightgrey| 0
|bgcolor=lightgrey| 74 ||bgcolor=lightgrey| 0
| 94 || 8192
|-
| 15 || 10
| 35 || 10
| 55 || 10
|bgcolor=lightgrey| 75 ||bgcolor=lightgrey| 0
| 95 || 16384
|-
| 16 || 20
| 36 || 20
| 56 || 20
|bgcolor=lightgrey| 76 ||bgcolor=lightgrey| 0
| 96 || 32768
|-
| 17 || 40
| 37 || 40
| 57 || 40
|bgcolor=lightgrey| 77 ||bgcolor=lightgrey| 0
| 97 || 65536
|-
|bgcolor=lightgrey| 18 ||bgcolor=lightgrey| 0 ||bgcolor=lightgrey| Unused
| 38 || 80
| 58 || 80
|bgcolor=lightgrey| 78 ||bgcolor=lightgrey| 0
|bgcolor=lightgrey| 98 ||bgcolor=lightgrey| 0 ||bgcolor=lightgrey| Unused
|- bgcolor=lightpink
| 19 || P<sub>2</sub> || Position identifier
| 39 || P<sub>4</sub> || Position identifier
| 59 || P<sub>6</sub> || Position identifier
| 79 || P<sub>8</sub> || Position identifier
| 99 || P<sub>0</sub> || Position identifier
|}
{{Clear}}
==
IRIG standard 212-00 defines a different time-code, based on [[RS-232]]-style [[asynchronous serial communication]].
The timecode 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 timecode consists of 15 characters (150 bit times), sent once per second at a baud rate of 300 or greater:
<nowiki><SOH>DDD:HH:MM:SS<CR><LF></nowiki>
* SOH is the ASCII "start of header" code, with binary value <code>0x01</code>.
* DDD is the [[ordinal date]] (day of year), from 1 to 366.
* HH, MM and SS are the time of the start bit.
* The code is terminated by a [[Newline|CR+LF]] pair.
At the end of the timecode, the serial line is idle until the start of the next code. There is no idle time between other characters.
IRIG J-2 timecode consists of 17 characters (170 bit times), sent 10 times per second at a baud rate of 2400 or greater:
<nowiki><SOH>DDD:HH:MM:SS.S<CR><LF></nowiki>
This is the same, except that tenths of seconds are included.
The full-timecode specification is of the form "IRIG J-''xy''", where ''x'' denotes the variant, and ''y'' denotes a baud rate of 75×2<sup>''y''</sup>.
Normally used combinations are J-12 through J-14 (300, 600, and 1200 baud), and J-25 through J-29 (2400 through 38400 baud).
{| class="wikitable"
|-
! Combination J-''xy'' !! variant (''x'') !! ''y'' !! 2<sup>''y''</sup> !! Baud = 75 × 2<sup>''y''</sup>
|-
| J-12|| 1|| 2|| 4|| 300
|-
| J-13|| 1|| 3|| 8|| 600
|-
| J-14|| 1|| 4|| 16|| 1200
|-
|colspan=5|
|-
| J-25|| 2|| 5|| 32|| 2400
|-
| J-26|| 2|| 6|| 64|| 4800
|-
| J-27|| 2|| 7|| 128|| 9600
|-
| J-28|| 2|| 8 || 256|| 19200
|-
| J-29|| 2|| 9|| 512|| 38400
|-
|}
== See also ==
* [[Precision Time Protocol]]
* [[Network Time Protocol]]
* [[SMPTE timecode]]
== References ==
{{reflist}}
== Sources ==
* {{Citation |last=Telecommunications and Timing Group |publisher=Range Commanders Council |___location=U.S. Army White Sands Missile Range, New Mexico |url=http://www.wsmr.army.mil/RCCsite/Documents/200-16_IRIG_Serial_Time_Code_Formats/200-16_IRIG_Serial_Time_Code_Formats.pdf |format=PDF |id=IRIG standard 200-16 |title=IRIG Serial Time Code Formats |date=August 2016 |access-date=2024-05-27 |archive-date=2018-08-26 |archive-url=https://web.archive.org/web/20180826214654/http://www.wsmr.army.mil/RCCsite/Documents/200-16_IRIG_Serial_Time_Code_Formats/200-16_IRIG_Serial_Time_Code_Formats.pdf |url-status=bot: unknown }}
* {{Citation |last=Telecommunications and Timing Group |publisher=Range Commanders Council |___location=U.S. Army White Sands Missile Range, New Mexico |url=https://wsmrc2vger.wsmr.army.mil/rcc/manuals/212-00/index.htm |format=DOC |id=IRIG standard 212-00 |title=IRIG J Asynchronous ASCII Time Code Formats |date=November 2000 |access-date=2011-10-01 |archive-url=https://web.archive.org/web/20130217171957/https://wsmrc2vger.wsmr.army.mil/rcc/manuals/212-00/index.htm |archive-date=2013-02-17 |url-status=dead }}
== External links ==
* [http://www.meinberg.de/english/info/irig.htm IRIG information] — IRIG information page with diagrams
* {{Citation |title=The IRIGB standard site - The site dedicated to IRIGB standard Time code|url=http://irigb.com }}
[[Category:1960 introductions]]
[[Category:Timecodes]]
|