SEE ATTACHED ERRATA WHICH FOLLOWS THIS DOCUMENT FOR INFORMATION
REGARDING CHANGED SPECIFICATIONS
PDI1394L21
1394 full duplex AV link layer controller
Preliminary specification
Supersedes data of 1999 Mar 30
1999 Aug 06
Philips SemiconductorsPreliminary specification
PDI1394L211394 full duplex AV link layer controller
1.0 FEATURES
•IEEE 1394–1995 Standard Link Layer Controller
•Hardware Support for the IEC61883 International Standard of
Digital Interface for Consumer Electronics
•Interface to any IEEE 1394–1995 Physical Layer Interface
•5V Tolerant I/Os
•Single 3.3V supply voltage
•Full-duplex isochronous operation
•Operates with 400/200/100 Mbps physical layer devices
•Dual 4K Byte FIFOs for isochronous data
•Supports single capacitor isolation mode and IEEE 1394–1995,
Annex J. isolation
•4-field deep SYT buffer added to enhance real-time isochronous
synchronization using the AVFSYNC pin
•Generates its own AV port clocks under software control. Select
one of three frequencies: 24.576, 12.288, or 6.144 MHz
2.0 DESCRIPTION
The PDI1394L21, Philips Semiconductors Full Duplex 1394
Audio/Video (AV) Link Layer Controller, is an IEEE 1394–1995
compliant link layer controller featuring 2 embedded AV layer
interfaces. The AV layers are designed to pack and un-pack
application data packets for transmission over the IEEE 1394 bus
using isochronous data transfers. Because of its full duplex
architecture, the PDI1394L21 is capable of receiving and
transmitting isochronous data during the same bus cycle. Two 8 bit
AV ports, each with its own buffer (FIFO), receive and output
isochronous data for transmission and reception of bus packets.
Each port can be configured to receive or transmit, however, the
other port always performs the opposite function. Half duplex
operation is also permitted.
The application data is packetized according to the IEC 61883
International Standard of Interface for Consumer Electronic
Audio/Video Equipment. Both AV layer interfaces are byte-wide
ports capable of accommodating various MPEG–2 and DVC
codecs. An 80C51 compatible byte-wide host interface is provided
for internal register configuration as well as performing
asynchronous data transfers.
The PDI1394L21 is powered by a single 3.3V power supply and the
inputs and outputs are 5V tolerant. It is available in the LQFP100
and TQFP100 packages.
3.0 QUICK REFERENCE DATA
GND = 0V; T
SYMBOL
V
DD
I
DD
SCLKDevice clock49.14749.15249.157MHz
= 25°C
amb
PARAMETERCONDITIONSMINTYPMAXUNIT
Functional supply voltage range3.03.33.6V
Supply current @ VDD = 3.3VOperating75mA
4.0 ORDERING INFORMATION
PACKAGESTEMPERATURE RANGEOUTSIDE NORTH AMERICANORTH AMERICAPKG. DWG. #
100-pin plastic LQFP1000°C to +70°CPDI1394L21BEPDI1394L21BESOT407 AB15
100-pin plastic TQFP1000°C to +70°CPDI1394L21BPPDI1394L21BPSOT386 BB2
NOTE:
This datasheet is subject to change.
Please visit out internet website www.semiconductors.philips.com/1394 for latest changes.
1999 Aug 06
2
Philips SemiconductorsPreliminary specification
PDI1394L211394 full duplex AV link layer controller
* INDICATES PIN EQUIPPED WITH INTERNAL BUS HOLD CIRCUIT
ACTIVATED BY THE STATE OF THE ISO_N PIN.
1999 Aug 06
SV00877
3
Philips SemiconductorsPreliminary specification
PDI1394L211394 full duplex AV link layer controller
6.0 FUNCTIONAL DIAGRAM
HIF A[8:0]
HOST
HIF D[7:0]
HIF WR_N
HIF RD_N
HIF CS_N
HIF INT_N
RESET_N
PHY D[0:7]
PHY CTL[0:1]
LREQ
ISO_N
SCLK
PHY
CYCLEIN
CYCLEOUT
AV1 D[7:0]
AV1CLK
AV1VALID
AV1SYNC
AV1FSYNCAV2FSYNC
AV LAYER 1
AV1ENKEY
AV1ENDPCK
AV1ERR[1:0]
7.0 INTERNAL BLOCK DIAGRAM
AV1 D[7:0]
AV1CLK
AV1ENDPCK
AV LAYER1
AV1ERR[0:1]
AV2ENDPCK
AV2ERR[0:1]
AV LAYER2
AV1SYNC
AV1VALID
AV1FSYNC
AV1ENKEY
AV2 D[7:0]
AV2CLK
AV2SYNC
AV2VALID
AV2FSYNC
AV2ENKEY
HIF A[8:0]
HIF D[7:0]
HIF WR_N
HIF RD_N
HIF CS_N
HIF INT_N
AV1 LAYER
ISOCHRONOUS
TRANSMITTER/
RECEIVER
AV2 LAYER
ISOCHRONOUS
TRANSMITTER/
RECEIVER
INTERFACE
8-BIT
PDI1394L21
IEEE 1394
FULL DUPLEX
AV LINK LAYER CONTROLLER
9KB BUFFER
MEMORY
(ISOCH & ASYNC
PACKETS)
ASYNC
TRANSMITTER
AND
RECEIVER
VDD
GND
AV2D[7:0]
AV2CLK
AV2VALID
AV2SYNC
AV2ENKEY
AV2ENDPCK
AV2ERR[1:0]
LINK CORE
CONTROL
AND
STATUS
REGISTERS
AV LAYER 2
SV00878
CYCLEOUT
CYCLEIN
PHY D[0:7]
PHY CTL[0:1]
LREQ
ISO_N
SCLK
NOTE: THERE IS ONLY ONE
ISOCHRONOUS RECEIVER
AND ONE ISOCHRONOUS
TRANSMITTER—THEREFORE,
WHEN EITHER AVPORT IS SET
TO TRANSMIT, THE OTHER
AVPORT IS AUTOMATICALLY
SET TO RECEIVE.
RESET_N
1999 Aug 06
SV00879
4
Philips SemiconductorsPreliminary specification
PDI1394L211394 full duplex AV link layer controller
8.0 APPLICATION DIAGRAM
MPEG OR DVC
DECODER
MPEG OR DVC
DECODER
HOST CONTROLLER
AV
INTERFACE
AV
INTERFACE
DATA 8/
ADDRESS 9/
INTERRUPT & CONTROL
PDI1394L21
AV LINK
PHY–LINK
INTERFACE
9.0 PIN DESCRIPTION
9.1 Host Interface
PIN No.PIN SYMBOLI/ONAME AND FUNCTION
1, 2, 3, 4, 7, 8,
9, 10
5, 12, 23, 31,
38, 44, 50, 63,
73, 79, 87, 93
6, 13, 24, 32,
39, 45, 49, 64,
72, 78, 88, 94
14, 15, 16, 17,
18, 19, 20, 21,
22
25HIF CS_NI
26HIF WR_NI
27HIF RD_NI
28HIF INT_NO
29RESET_NIReset (active LOW). The asynchronous master reset to the PDI1394L21.
HIF D[7:0]I/OHost Interface Data 7 (MSB) through 0. Byte wide data path to internal registers.
GNDGround reference
V
DD
HIF A[8:0]I
3.3V ± 0.3V power supply
Host Interface Address 0 through 8. Provides the host with a byte wide interface to internal
registers. See description of Host Interface for addressing rules.
Chip Select (active LOW). Host bus control signal to enable access to the FIFO and control and
status registers.
Write enable. When asserted (LOW) in conjunction with HIF CS_N, a write to the PDI1394L21
internal registers is requested. (NOTE: HIF WR_N and HIF RD_N : if these are both LOW in
conjunction with HIF CS_N, then a write cycle takes place. This can be used to connect CPUs
that use R/W_N line rather than separate RD_N and WR_N lines. In that case, connect the
R/W_N line to the HIF WR_N and tie HIF RD_N LOW.)
Read enable. When asserted (LOW) in conjunction with HIF CS_N, a read of the PDI1394L21
internal registers is requested.
Interrupt (active LOW). Indicates a interrupt internal to the PDI1394L21. Read the General
Interrupt Register for more information. This pin is open drain and requires a 1KW pull-up resistor.
PDI1394Pxx
PHY
1394 CABLE
INTERFACE
SV00880
1999 Aug 06
5
Philips SemiconductorsPreliminary specification
PDI1394L211394 full duplex AV link layer controller
9.2 AV Interface 1
NOTE: This AV interface may be configured to transmit or receive according to the condition of “DIRAV1” bit in GLOBCSR register
(0X018)—default is transmit.
PIN No.
77, 76, 75, 74,
71, 70, 69, 68
58AV1CLKI/O
57AV1SYNCI/OStart of packet indicator; should only be used when AV1VALID is active.
59AV1FSYNCI/O
56AV1ENDPCKI
60AV1ENKEYI/O
61A V1VALIDI/OIndicates data on AV1 D [7:0] is valid.
53AV1ERR0O
52AV1ERR1OSequence Error. Indicates at least one source packet was lost before the current AV1 D [7:0] data.
PIN SYMBOLI/ONAME AND FUNCTION
AV1 D[7:0]I/OAudio/Video Data 7 (MSB) through 0. Byte-wide interface to the AV layer 1.
External application clock. Rising edge active. This pin can be programmed to output the
application clock. Depending on the configuration of AV Port 1 as transmitter or receiver , the
output enable is located in the ITXPKCTL register (address 0x020) or IRXPKCTL register
(address 0x040).
Programmable frame sync, can be set to input. Frame sync input used for Digital Video (DV). The
signal is time stamped and transmitted in the SYT field of ITXHQ2. Frame sync output. Signal is
derived from SYT field of IRXHQ2.
End of application packet indication from data source. Required only if input packet is not multiple
of 4 bytes. It can be tied LOW for data packets that are 4*N in size.
Encryption key state. Indicates state “1” or “0” of encryption key which matches present port data
during receive mode. Used to input key state during transmit mode.
CRC error, indicates bus packet containing AV1 D [7:0] had a CRC error, the current AV packet is
unreliable.
9.3 AV Interface 2
NOTE: This AV interface may be configured to transmit or receive according to the condition of “DIRAV1” bit in GLOBCSR register—default is
receive.
PIN No.
98, 97, 96, 95,
92, 91, 90, 89
84AV2CLKI/O
83AV2SYNCI/OStart of packet indicator; should only be used when AV2VALID is active.
85AV2FSYNCI/O
82AV2ENDPCKI
86A V2VALIDI/OIndicates data on AV2 D [7:0] is valid.
81AV2ERR0O
80AV2ERR1OSequence Error. Indicates at least one source packet was lost before the current AV2 D [7:0] data.
99AV2ENKEYI/O
PIN SYMBOLI/ONAME AND FUNCTION
AV2 D[7:0]I/OAudio/Video Data 7 (MSB) through 0. Byte-wide interface to the AV layer 2.
External application clock. Rising edge active. This pin can be programmed to output the
application clock. Depending on the configuration of AV Port 2 as transmitter or receiver , the
output enable is located in the ITXPKCTL register (address 0x020) or IRXPKCTL register
(address 0x040).
Programmable frame sync, can be set to input or output. Frame sync input used for Digital Video
(DV). The signal is time stamped and transmitted in the SYT field of ITXHQ2. Frame sync output.
Signal is derived from SYT field of IRXHQ2.
End of application packet indication from data source. Required only if input packet is not multiple
of 4 bytes. It can be tied LOW for data packets that are 4*N in size.
CRC error, indicates bus packet containing AV2 D [7:0] had a CRC error, the current AV packet is
unreliable.
Encryption key state. Indicates state “1” or “0” of encryption key which matches present port data
during receive mode. Used to input key state during transmit mode.
9.4 Phy Interface
PIN No.PIN SYMBOLI/ONAME AND FUNCTION
Data 0 (MSB) through 7 (NOTE: To preserve compatibility to the specified Link-Phy interface of
43, 42, 41, 40,
37, 36, 35, 34
47, 46PHY CTL[0:1]I/OControl Lines between Link and Phy . See 1394 Specification for more information.
48ISO_NI
54LREQO
55SCLKISystem clock. 49.152MHz input from the PHY (the PHY -LINK interface operates at this frequency).
PHY D[0:7]I/O
the IEEE 1394–1995 standard, Annex J, bit 0 is the most significant bit). Data is expected on
PHY D[0:1] for 100Mb/s, PHY D[0:3] for 200Mb/s, and PHY D[0:7] for 400Mb/s. See IEEE
1394–1995 standard, Annex J for more information.
Isolation mode. This pin is asserted (LOW) when an Annex J type isolation barrier is used.
See IEEE 1394–1995 Annex J. for more information. When tied HIGH, this pin enables internal
bushold circuitry on the affected PHY interface pins (see below). Active bushold circuits allow
either the direct connection to PHY pins or the use of the single capacitor isolation mode.
Link Request. Bus request to access the PHY. See IEEE 1394–1995 standard, Annex J for more
information. (Used to request arbitration or read/write PHY registers).
1999 Aug 06
6
Philips SemiconductorsPreliminary specification
PDI1394L211394 full duplex AV link layer controller
9.4.1 Bushold and Link/PHY single capacitor
galvanic isolation
9.4.1.1 Bushold
The PDI1394L21 uses an internal bushold circuit on each of the
indicated pins to keep these CMOS inputs from “floating” while being
driven by a 3-Stated device or input coupling capacitor.
Unterminated high impedance inputs react to ambient electrical
noise which cause internal oscillation and excess power supply
current draw.
The following pins have bushold circuitry enabled when the ISO_N
pin is in the logic “1” state:
Pin No.NameFunction
47PHYCTL0PHY control line 0
46PHYCTL1PHY control line 1
54LREQLink request line
43PHYD0PHY data bus bit 0
42PHYD1PHY data bus bit 1
41PHYD2PHY data bus bit 2
40PHYD3PHY data bus bit 3
37PHYD4PHY data bus bit 4
36PHYD5PHY data bus bit 5
35PHYD6PHY data bus bit 6
34PHYD7PHY data bus bit 7
Philips bushold circuitry is designed to provide a high resistance
pull-up or pull-down on the input pin. This high resistance is easily
overcome by the driving device when its state is switched. Figure 1
shows a typical bushold circuit applied to a CMOS input stage. Two
weak MOS transistors are connected to the input. An inverter is also
connected to the input pin and supplies gate drive to both
transistors. When the input is LOW, the inverter output drives the
lower MOS transistor and turns it on. This re-enforces the LOW on
the input pin. If the logic device which normally drives the input pin
were to be 3-Stated, the input pin would remain “pulled-down” by the
weak MOS transistor. If the driving logic device drives the input pin
HIGH, the inverter will turn the upper MOS transistor on,
re-enforcing the HIGH on the input pin. If the driving logic device is
then 3-Stated, the upper MOS transistor will weakly hold the input
pin HIGH.
The PHY’s outputs can be 3-Stated and single capacitor isolation
can be used with the Link; both situations will allow the Link inputs to
float. With bushold circuitry enabled, these pins are provided with dc
paths to ground, and power by means of the bushold transistors;
this arrangement keeps the inputs in known logical states.
INPUT PIN
INTERNAL
CIRCUITS
SV00911
Figure 1. Bushold circuit
9.4.1.2 Single capacitor isolation
The circuit example (Figure 2) shows the connections required to
implement basic single capacitor Link/PHY isolation.
NOTE: The isolation enablement pins on both devices are in their
“1” states, activating the bushold circuits on each part. The bushold
circuits provide local dc ground references to each side of the
isolating/coupling capacitors. Also note that ground
isolation/signal-coupling must be provided in the form of a parallel
combination of resistance and capacitance as indicated in
IEEE 1394–1995.
1999 Aug 06
APPLICATION
6, 13, 24, 32, etc.
LINK
PDI1394L21
APPLICATION GROUND
+3.3V
48
ISO_N
PHY D0
PHY D1
PHY D2
PHY D3
PHYCTL0
PHYCTL1
LREQ
SCLK
43
42
41
40
47
46
54
55
Cc
Cc
Cc = 0.001µF; Cr = 0.1µF
Cc
Cc
Cc
1MEG Ω
Cr
Figure 2. Single capacitor Link/PHY isolation
7
ISOLATED
+3.3V
ISO–
D0
Cc
Cc
Cc
D1
PDI1394Pxx
D2
D3
PHYCTL0
PHYCTL1
LREQ
SYSCLK
PHY
ISOLATED PHY GROUND
SV00912
Philips SemiconductorsPreliminary specification
SYMBOL
PARAMETER
CONDITIONS
UNIT
SYMBOL
PARAMETER
CONDITIONS
UNIT
PDI1394L211394 full duplex AV link layer controller
9.5 Other Pins
PIN No.PIN SYMBOLI/ONAME AND FUNCTION
65, 66, 67RESERVEDNA
51, 62, 100N/CNAThese pins should not be connected or terminated.
30CYCLEINI
33CYCLEOUTOReproduces the 8kHz cycle clock of the cycle master.
11CLK25OAuxiliary clock, value is SCLK/2 (usually 24.576 MHz)
These pins are reserved for factory testing. For normal operation they should be connected to
ground.
Provides the capability to supply an external cycle timer signal for the beginning of 1394 bus
cycles.
LIMITS
MIN.MAX.
11.0 ABSOLUTE MAXIMUM RATINGS
1, 2
In accordance with the Absolute Maximum Rating System (IEC 134). Voltages are referenced to GND (ground = 0V).
LIMITS
MINMAX
I
GND
T
V
T
P
DD
I
IK
V
I
OK
V
I
stg
amb
DC supply voltage–0.5+4.6V
DC input diode current––50mA
DC input voltage–0.5+5.5V
I
DC output diode current–±50mA
DC output voltage–0.5VDD +0.5V
O
DC output source or sink current–±50mA
O
, I
DC VCC or GND current–±150mA
CC
Storage temperature range–60150°C
Operating ambient temperature070°C
Power dissipation per package0.6W
tot
NOTES:
1. Stresses beyond those listed may cause permanent damage to the device. These are stress ratings only and functional operation of the
device at these or any other conditions beyond those indicated under “recommended operating conditions” is not implied. Exposure to
absolute-maximum-rated conditions for extended periods may affect device reliability .
2. The performance capability of a high-performance integrated circuit in conjunction with its thermal environment can create junction
temperatures which are detrimental to reliability. The maximum junction temperature of this integrated circuit should not exceed 150°C.
1999 Aug 06
8
Philips SemiconductorsPreliminary specification
PDI1394L211394 full duplex AV link layer controller
11.1 Buffer Memory Sizes
BUFFER MEMORY
Asynchronous Receive Response FIFO64
Asynchronous Receive Request FIFO128
Asynchronous Transmit Response FIFO64
Asynchronous Transmit Request FIFO64
Isochronous (AV) T ransmit Buf fer1024
Isochronous (AV) Receive Buffer1024
12.0 FUNCTIONAL DESCRIPTION
12.1 Overview
The PDI1394L21 is an IEEE 1394–1995 compliant link layer controller. It provides a direct interface between a 1394 bus and various MPEG–2
and DVC codecs. Via this interface, the AV Link maps and unmaps these AV datastreams from these codecs onto 1394 isochronous bus
packets. The AV Link also provides an 8051 compatible microcontroller interface for an attached host controller. Through the host interface port,
the host controller can configure the AV layer for transmission or reception of AV datastreams. The host interface port also allows the host
controller to transmit and receive 1394 asynchronous data packets.
12.2 AV interface and AV layer
The AV interface and AV layer allow AV packets to be transmitted from one node to another. The AV transmitter and receiver within the AV layer
perform all the functions required to pack and unpack AV packet data for transfer over a 1394 network. Once the AV layer is properly configured
for operation, no further host controller service should be required. The operation of the AV layer is full-duplex, i.e., the AV layer can receive and
transmit AV packets at the same time.
12.2.1 The AV Interface
The AV Link provides an 8 bit data path to the AV layer. The 8 bit data path is designed with associated clock and control signals to be
compatible with various MPEG–2 and DVC codecs.
The AV interface port buf fer, if so programmed, can time stamp incoming AV packets. The AV packet data is stored in the embedded memory
buffer , along with its time stamp information. After the AV packet has been written into the AV layer, the AV layer creates an isochronous bus
packet with the appropriate CIP header. The bus packet along with the CIP header is transferred over the appropriate isochronous
channel/packet. The size and configuration of isochronous data packet payload transmitted is determined by the AV layer’s confi guration
registers accessible through the host interface.
The AV interface port waits for the assertion for AVxVALID and AVxSYNC. Note: Do not assert AVxSYNC without AVxVALID. AVxSYNC is
aligned with the rising edge of AVxCLK and the first byte of data on AVxDATA[7:0]. The duration of AVxSYNC is one AVxCLK cycle. AVxSYNC
signals the AV layer that the transfer of an AV packet has begun. At the time the AVxSYNC is asserted, the AV layer creates a new time stamp
in the buffer memory. (This only happens if so configured. The DVC format does not use these time stamps). The time stamp is then transmitted
as part of the source packet header. This allows the AV receiver to provide the AV packet for output at the appropriate time. Only one AVSYNC
pulse is allowed per application packet; if additional sync pulses are presented before the full packet is inputted, a new packet will be started
and the previously inputted packet data will be discarded (and not transmitted) in conjunction with the input error interrupt bit (INPERR, bit 3 of
register 0x02C) being set to flag the error.
When the DV video is enabled (via the format code of the CIP header), the frame synchronization signal AVxFSYNC is time stamped and
placed in the SYT field. The default timestamp value is 3 cycle times (duration of 125ms each) in the future and is transmitted in the SYT field of
the current CIP header; this value is programmable from 2 to 4 cycle times (see section 13.2.1). On the receiver side, when the SYT stamp
matches the cycle timer register, a pulse is generated on the AVxFSYNC output. The timing for AVxFSYNC is independent of AVxCLK.
12.2.2 IEC 61883 International Standard
The PDI1394L21 is specifically designed to support the IEC61883 International Standard of Digital Interface for Consumer Electronic
Audio/Video Equipment. The IEC specification defines a scheme for mapping various types of AV datastreams onto 1394 isochronous data
packets. The standard also defines a software protocol for managing isochronous connections in a 1394 bus called Connection Management
Protocol (CMP). It also provides a framework for transfer of functional commands, called Function Control Protocol (FCP).
12.2.3 CIP Headers
A feature of the IEC61883 International Standard is the definition of Common Isochronous Packet (CIP) headers. These CIP headers contain
information about the source and type of datastream mapped onto the isochronous packets.
The AV Layer supports the use of CIP headers. CIP headers are added to transmitted isochronous data packets at the AV data source. When
receiving isochronous data packets, the AV layer automatically analyzes their CIP headers. The analysis of the CIP headers determines the
method the A V layer uses to unpack the AV data from the isochronous data packets.
The information contained in the CIP headers is accessible via registers in the host interface.
(See IEC61883 International Standard of Digital Interface for Consumer Electronic Audio/Video Equipment for more details on CIP headers).
SIZE
(Quadlets)
1999 Aug 06
9
Philips SemiconductorsPreliminary specification
PDI1394L211394 full duplex AV link layer controller
12.3 The host interface
The host interface allows an 8 bit CPU to access all registers and the asynchronous packet queues. It is specifically designed for an 8051
microcontroller but can also be used with other CPUs. There are 64 register addresses (for quadlet wide registers). To access bytes rather than
quadlets the address spaces is 256 bytes, requiring 8 address lines.
The use of an 8 bit interface introduces an inherent problem that must be solved: register fields can be more than 8 bits wide and be used
(control) or changed (status) at every internal clock tick. If such a field is accessed through an 8 bit interface it requires more than one read or
write cycle, and the value should not change in between to maintain consistency. To overcome this problem accesses to the chip’s internal
register space are always 32 bits, and the host interface must act as a converter between the internal 32 bit accesses and external 8 bit
accesses. This is where the shadow registers are used.
12.3.1 Read accesses
To read an internal register the host interface can make a snapshot (copy) of that specific register which is then made available to the CPU 8
bits at a time. The register that holds the snapshot copy of the real register value inside the host interface is called the read shadow register.
During a read cycle address lines HIF A0 and HIF A1 are used to select which of the 4 bytes currently stored in the read shadow register is
output onto the CPU data bus. This selection is done by combinatorial logic only, enabling external hardware to toggle these lines through
values 0 to 3 while keeping the chip in a read access mode to get all 4 bytes out very fast (in a single extended read cycle), for example into an
external quadlet register.
This solution requires a control line to direct the host interface to make a snapshot of an internal register when needed, as well as the internal
address of the target register. The register address is connected to input address lines HIF A2..HIF A7, and the update control line to input
address line HIF A8. To let the host interface take a new snapshot the target address must be presented on HIF A2..HIF A7 and HIF A8 must be
raised while executing a read access. The new value will be stored in the read shadow register and the selected byte (HIF A0, HIF A1)
appears on the output.
TR
Q
Q
REGISTERS
32
SV00803
CPU
HIF A0..1
HIF A2..7
HIF A8
MUXMUX
83232
READ SHADOW REGISTER
UPDATE/COPY CONTROL
NOTES:
1. It is not required to read all 4 bytes of a register before reading another register. For example, if only byte 2 of register 0x54 is required a
read of byte address 0x100 + (0×54) + 2 = 0x156 is sufficient.
2. The update control line does not necessarily have to be connected to the CPU address line HIF A8. This input could also be controlled by
other means, for example a combinatorial circuit that activates the update control line whenever a read access is done for byte 0. This
makes the internal updating automatic for quadlet reading.
3. Reading the bytes of the read shadow register can be done in any order and as often as needed.
1999 Aug 06
10
Philips SemiconductorsPreliminary specification
PDI1394L211394 full duplex AV link layer controller
12.3.2 Write accesses
To write to an internal register the host interface must collect the 4 byte values into a 32 bit value and then write the result to the target register
in a single clock tick. This requires a register to hold the 32 bit value being compiled until it is ready to be written to the actual target register.
This temporary register inside the host interface is called the write shadow register. During all write cycles address lines HIF A0 and HIF A1
are used to select which of the 4 bytes of the write shadow register is to be written with the value on the CPU data bus. Only one byte can be
written in a single write access cycle.
TR
Q
Q
REGISTERS
32
SV00804
CPU
HIF A0..1
HIF A2..7
HIF A8
MUX
MUX
832
WRITE SHADOW REGISTER
UPDATE/COPY CONTROL
NOTES:
1. It is not required to write all 4 bytes of a register: those bytes that are either reserved (undefined) or don’t care do not have to be written in
which case they will be assigned the value that was left in the corresponding byte of the write shadow register from a previous write
access. For example, to acknowledge an interrupt for the isochronous receiver (external address 0x04C), a single byte write to location
0x100+(0x4C)+3 = 0x14F is sufficient. The value 256 represents setting HIF A8=1. The host interface cannot directly access the FIFOs, but
instead reads from/writes into a transfer register (shown as TR in the Figures above). Data is moved between FIFO and TR by internal logic
as soon as possible without CPU intervention.
2. The update control line does not necessarily have to be connected to the CPU address line HIF A8. This input could also be controlled by
other means, for example a combinatorial circuit that activates the update control line whenever a write access is done for byte 3. This
makes the internal updating automatic for quadlet writing.
3. Writing the bytes of the read shadow register can be done in any order and as often as needed (new writes simply overwrite the old value).
12.3.3 Byte order
The bytes in each quadlet are numbered 0..3 from left (most significant) to right (least significant) as shown in Figure 3. To access a register at
internal address N the CPU should use addresses E:
E = N; to access the upper 8 bits of the register.
E = N + 1; to access the upper middle 8 bits of the register.
E = N + 2; to access the lower middle 8 bits of the register.
E = N + 3; to access the lower 8 bits of the register.
Figure 3. Byte order in quadlets as implemented in the host interface
12.3.4 Accessing the packet queues
Although entire incoming packets are stored in the receiver buffer memory they are not randomly accessible. These buffers act like FIFOs and
only the frontmost (oldest) data quadlet entry is accessible for reading. Therefore only one location (register address) is allocated to each of the
two receiver queues. Reading this location returns the head entry of the queue, and at the same time removes it from the queue, making the
next stored data quadlet accessible.
With the current host interface such a read is in fact a move operation of the data quadlet from the queue to the read shadow register. Once the
data is copied into the read shadow register it is no longer available in the queue itself so the CPU should always read all 4 bytes before
attempting any other read access (be careful with interrupt handlers for the PDI1394L21!).
1999 Aug 06
11
Philips SemiconductorsPreliminary specification
PDI1394L211394 full duplex AV link layer controller
12.3.5 The CPU bus interface signals
The CPU interface is directly compatible with an 8051 microcontroller. It uses a separate HIF RD_N and HIF WR_N inputs and a HIF CS_N chip
select line, all of which are active LOW. There are 9 address inputs (HIF A0..HIF A8) and 8 data in/out lines HIF D0..HIF D7. An open drain
HIF INT_N output is used to signal interrupts to the CPU.
The CPU is not required to run at a clock that is synchronous to the 1394 base clock. The control signals will be resampled by the host interface
before being used internally.
An access through the host interface starts when HIF CS_N = 0 and either HIF WR_N = 0 or HIF RD_N = 0. Typically the chip select signal is
derived from the upper address lines of the CPU (address decode stage), but it could also be connected to a port pin of the CPU to avoid the
need for an external address decoder in very simple CPU systems. When both HIF CS_N = 0 and HIF RD_N = 0 the host interface will start a
read access cycle, so the cycle is triggered at the falling edge of either HIF CS_N or HIF RD_N, whichever is later.
HIF CS_N
T
AS
HIF RD_N
T
HIF WR_N
HIF A8
AS
HIF A0..HIF A7
T
ACC
RSR
n
SV00686
HIF D0..HIF D7
T
ACC
RSR
RSR
O
n
Figure 4. Read cycle signal timing (2 independent read cycles)
HIF CS_N
T
AS
HIF RD_N
HIF WR_N
T
AS
HIF A0..HIF A8
HIF D0..HIF D7
<VALID ADDRESS><VALID ADDRESS>
<WRITE DATA><WRITE DATA>
SV00687
Figure 5. Write cycle signal timing (2 independent write cycles)
12.4 The Asynchronous Packet Interface
The PDI1394L21 provides an interface to asynchronous data packets through the registers in the host interface. The format of the
asynchronous packets is specified in the following sections.
12.4.1 Reading an Asynchronous Packet
Upon reception of a packet, the packet data is stored in the appropriate receive FIFO, either the Request or Response FIFO. The location of the
packet is indicated by either the RREQQQAV or RRSPQAV status bit being set in the Asynchronous Interrupt Acknowledge (ASYINTACK)
register. The packet is transferred out of the FIFO by successive reads of the Asynchronous Receive Request (RREQ) or Asynchronous
Receive Response (RRSP) register. The end of the packet (the last quadlet) is indicated by either the RREQQLASTQ or RRSPQLASTQ bit set
in ASYINTACK. Attempting to read the FIFO when either RREQQQAV bit or RRSPQQAV bit is set to 0 (in the Asynchronous RX/TX interrupt
acknowledge (ASYINT ACK) register) will result in a queue read error.
1999 Aug 06
12
Philips SemiconductorsPreliminary specification
1
No-packet data
3
Block Packet
PDI1394L211394 full duplex AV link layer controller
12.5 Link Packet Data Formats
The data formats for transmission and reception of data are shown below. The transmit format describes the expected organization for data
presented to the link at the asynchronous transmit, physical response, or isochronous transmit FIFO interfaces.
12.5.1 Asynchronous Transmit Packet Formats
These sections describe the formats in which packets need to be delivered to the queues (FIFOs) for transmission. There are four basic formats
as follows:
Each packet format uses several fields (see names and descriptions below). More information about these fields (not the format) can be found
in the 1394 specification. Grey fields are reserved and should be set to zero values.
12.5.1.1 No-data Transmit
The no-data transmit formats are shown in Figures 6 and 7. The first quadlet contains packet control information. The second and third quadlets
contain 16-bit destination ID and either the 48-bit, quadlet aligned destination offset (for requests) or the response code (for responses).
Figure 7. Quadlet/Block Write Response Packet Transmit Format
13
SV00250
SV00249
Philips SemiconductorsPreliminary specification
PDI1394L211394 full duplex AV link layer controller
Table 1. No-Data Transmit Format
Field NameDescription
spdThis field indicates the speed at which this packet is to be sent. 00=100 Mbs, 01=200 Mbs, and 10=400 Mbs.
tLabelThis field is the transaction label, which is used to pair up a response packet with its corresponding request packet.
rtThe retry code for this packet. Supported values are: 00=retry1, and 01=retryX.
tCodeThe transaction code for this packet.
DestinationIDContains a node ID value.
DestinationOffsetHigh
DestinationOffsetLow
rCodeResponse code for write response packet.
11 = undefined
The concatenation of these two field addresses a quadlet in the destination node’s address space.
rCodeMeaning
0Node successfully completed requested operation.
1–3Reserved
4Resource conflict detected by responding agent. Request may be retried.
5Hardware error. Data not available.
6Field within request packet header contains unsupported or invalid value.
7Address location within specified node not accessible.
8–FhReserved
12.5.1.2 Quadlet Transmit
Three quadlet transmit formats are shown below. In these figures: The first quadlet contains packet control information. The second and third
quadlets contain 16-bit destination ID and either the 48-bit quadlet-aligned destination offset (for requests) or the response code (for responses).
The fourth quadlet contains the quadlet data for read response and write quadlet request formats, or the upper 16 bits contain the data length
for the block read request format.
Quadlet dataFor quadlet write requests and quadlet read responses, this field holds the data to
Data lengthThe number of bytes requested in a block read request.
1999 Aug 06
See Table 1.
be transferred.
15
Philips SemiconductorsPreliminary specification
PDI1394L211394 full duplex AV link layer controller
12.5.1.3 Block Transmit
The block transmit format is shown below, this is the generic format for reads and writes. The first quadlet contains packet control information.
The second and third quadlets contain the 16-bit destination node ID and either the 48-bit destination offset (for requests) or the response code
and reserved data (for responses). The fourth quadlet contains the length of the data field and the extended transaction code (all zeros except
for lock transaction). The block data, if any, follows the extended transaction code.