Specifications
OBSOLETE CONTENT
This wiki has been archived and the content is no longer updated.
Contents |
1394 Trade Association
The official industry consortium behind 1394 technology. They house specifications for AV/C and other protocols as well as hardware related specifications. Don't miss their great 1394 Standards and Specifications Summary.
IEEE 1394
Current:
IEEE Std 1394-2008
http://www.1394ta.com/press/TAPress/2008_0709.html
http://ieeexplore.ieee.org/servlet/opac?punumber=4659231
From the 1394 TA's press release: "The 1394-2008 High Performance Serial Bus Standard updates and revises all prior 1394 standards dating back to the original 1394-1995 version, and including 1394a, 1394b, 1394c, enhanced UTP, and the 1394 beta plus PHY-Link interface. It also incorporates the complete specifications for S1600 (1.6 Gigabit/second bandwidth) and for S3200, which provides 3.2 Gigabit/second speeds."
IEEE Std 1394.1-2004
http://ieeexplore.ieee.org/xpl/tocresult.jsp?isNumber=32032
IEEE Standard for High Performance Serial Bus Bridges. Defines bridging devices which connect separate FireWire buses. No implementations are known. The Linux drivers don't have explicit support for 1394.1 yet but should at least be prepared to deal with bus IDs other than the local bus.
Superseded:
IEEE Std 1394-1995
http://standards.ieee.org/reading/ieee/std_public/description/busarch/1394-1995_desc.html (description)
http://ieeexplore.ieee.org/xpl/tocresult.jsp?isNumber=11289
IEEE standard for a high performance serial bus
IEEE Std 1394a-2000
http://ieeexplore.ieee.org/xpl/tocresult.jsp?isNumber=18547
IEEE Standard for a high Performance Serial Bus - Amendment 1. A lot of the IEEE 1394a updates are relevant to programmers.
IEEE Std 1394b-2002
http://ieeexplore.ieee.org/xpl/tocresult.jsp?isNumber=25840
IEEE Standard for a High-Performance Serial Bus - Amendment 2. Defines S100B...S1600B transmission modes over copper and optical fibre. Only very few details of this huge update to IEEE 1394 are relevant to programmers.
IEEE Std 1394c-2006
http://ieeexplore.ieee.org/xpl/tocresult.jsp?isNumber=4231514
IEEE Standard for a High-Performance Serial Bus - Amendment 3. Defines S800T, an 800 Mbit/s transmission mode over gigabit Ethernet copper. Probably not (yet) relevant to programmers.
IEEE 1212
Current:
IEEE Std 1212-2001
http://ieeexplore.ieee.org/xpl/tocresult.jsp?isNumber=22175
IEEE standard for a control and status registers (CSR) architecture for microcomputer buses. IEEE 1394 is an implementation of IEEE 1212 (the most important one, and the only one besides SCI, Scalable Coherent Interface). IEEE 1212 especially defines the format and generic contents of the configuration ROM.
Superseded:
ISO/IEC 13213: 1994(E), ANSI/IEEE Std 1212, 1994 Edition
http://www.iec.ch/cgi-bin/procgi.pl/www/iecwww.p?wwwprog=seabox1.p&seabox1=13213
This was revised and hence superseded by IEEE 1212-2001.
1394 Open Host Controller Interface Specification
Draft:
OHCI Release 1.2
ftp://ftp.microsoft.com/bussys/1394/OHCI/Draft_Specs/ohci1206.pdf (draft)
Among else, this was apparently supposed to update OHCI for 1394b. But this spec was never finished. Currently available 1394b host adapters implement OHCI 1.1 or a superset of it.
See also Changes in OHCI 1.2.
Current:
OHCI Release 1.1, January 6, 2000
http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/ohci_11.pdf
Look here for the most in-depth technical information about IEEE 1394 technology, at least as it applies to OHCI. This spec is gratis, whereas the IEEE specifications have to be purchased.
OHCI 1.1 especially adds dual-buffer reception. See also Changes in OHCI 1.1.
Superseded:
OHCI Release 1.00, October 20, 1997
ftp://ftp.microsoft.com/bussys/1394/OHCI/Released_Specs/OHC1.0.pdf
Some controllers, e.g. VIA VT6306 which is still in production, only support OHCI 1.0 instead of the more current OHCI 1.1.
PCILynx datasheets
SCPA020A — PCILynx 1394 to PCI Bus Interface TSB12LV21BPGF Functional Specification
SLLA023 — Initialization and Asynchronous Programming of the PCILynx TSB12LV21A 1394 Device
PCILynx is an older 1394 PCI controller which is not OHCI compliant.
The Serial Bus Protocol
Current:
SBP-3
http://webstore.ansi.org/RecordDetail.aspx?sku=ANSI+INCITS+375-2004
http://www.t10.org/drafts.htm#sbp3
Last publicly available draft: http://web.archive.org/web/20040830205905/http://www.t10.org/ftp/t10/drafts/sbp3/sbp3r05.pdf
SBP-3 is a superset of SBP-2. It adds isochronous support to Serial Bus Protocol, particularly for A/V applications. It also adds support for remote buses behind 1394.1 bridges. Current devices that show themselves as SBP-3 compliant do not appear to implement any of SBP-3's additions relative to SBP-2 though.
Other SCSI specifications and working drafts
http://www.t10.org/scsi-3.htm
http://www.t10.org/drafts.htm
http://web.archive.org/web/20070808174746/http://www.t10.org/ftp/t10/drafts/
Superseded:
SBP-2
http://webstore.ansi.org/RecordDetail.aspx?sku=ANSI+INCITS+325-1998+(R2008)
http://www.t10.org/drafts.htm#sbp2
Last publicly available draft: http://web.archive.org/web/20050118090648/www.t10.org/ftp/t10/drafts/sbp2/sbp2r04.pdf
Serial Bus Protocol 2 is a SCSI transport protocol but can also be used to transport commands of non-SCSI command sets. All of the FireWire storage devices (harddisks, CD/DVD-ROM/R/W, card readers, scanners, ...) implement SBP-2 and typically one or another SCSI command set such as RBC or MMC.
SBP
This is obsolete and practically irrelevant.
Instrumentation and Industrial Control Digital Camera (IIDC) Specification
Current:
IIDC2
http://www.1394ta.org/developers/specifications/2011001.html
http://www.1394ta.org/press/TAPress/2012_0313.html (announcement of IIDC2 v1.0.0)
IIDC2 is a joint specification of JIIA and 1394TA for machine vision products in industrial, commercial and consumer markets. IIDC2 is based on IIDC but not register-compatible. IIDC or IIDC2 or both together may be implemented by a camera. Goals of IIDC2 are simpler implementation, extensibility, and applicability not only to IEEE 1394 but also to CoaXPress, CameraLink, or USB.
IIDC
http://damien.douxchamps.net/ieee1394/libdc1394/iidc_specifications.php
http://www.1394ta.com/Technology/Specifications/Descriptions/IIDC_Spec_v1_30.htm
http://1394ta.org/press/TAPress/2008_1027.html (announcement of v1.32 release and work on v2.0)
This specification covers uncompressed video and camera control (focus, format, pan, zoom, white balance, etc.). Also known as DCAM.
IEC 61883
Current:
http://www.iec.ch/cgi-bin/procgi.pl/www/iecwww.p?wwwprog=seabox1.p&seabox1=61883
Consumer audio/video equipment - Digital interface
Part 1: General
Part 2: SD-DVCR data transmission
Part 3: HD-DVCR data transmission
Part 4: MPEG2-TS data transmission
Part 5: SDL-DVCR data transmission (TA4)
Part 6: Audio and music data transmission protocol
Part 7: Transmission of ITU-R BO.1294 System B
IP over 1394
Current:
RFC 2734
http://www.ietf.org/rfc/rfc2734.txt
http://www.apps.ietf.org/rfc/rfc2734.html
IPv4 over IEEE 1394
RFC 2855
http://www.ietf.org/rfc/rfc2855.txt
http://www.apps.ietf.org/rfc/rfc2855.html
DHCP for IEEE 1394
RFC 3146
http://www.ietf.org/rfc/rfc3146.txt
http://www.apps.ietf.org/rfc/rfc3146.html
Transmission of IPv6 Packets over IEEE 1394 Networks