T exas Instruments and its subsidiaries (TI) reserve the right to make changes to their products or to discontinue
any product or service without notice, and advise customers to obtain the latest version of relevant information
to verify, before placing orders, that information being relied on is current and complete. All products are sold
subject to the terms and conditions of sale supplied at the time of order acknowledgement, including those
pertaining to warranty, patent infringement, and limitation of liability.
TI warrants performance of its semiconductor products to the specifications applicable at the time of sale in
accordance with TI’s standard warranty. Testing and other quality control techniques are utilized to the extent
TI deems necessary to support this warranty . Specific testing of all parameters of each device is not necessarily
performed, except those mandated by government requirements.
CERT AIN APPLICATIONS USING SEMICONDUCTOR PRODUCTS MA Y INVOLVE POTENTIAL RISKS OF
DEATH, PERSONAL INJURY, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE (“CRITICAL
APPLICATIONS”). TI SEMICONDUCTOR PRODUCTS ARE NOT DESIGNED, AUTHORIZED, OR
WARRANTED TO BE SUITABLE FOR USE IN LIFE-SUPPORT DEVICES OR SYSTEMS OR OTHER
CRITICAL APPLICA TIONS. INCLUSION OF TI PRODUCTS IN SUCH APPLICATIONS IS UNDERST OOD TO
BE FULLY AT THE CUSTOMER’S RISK.
In order to minimize risks associated with the customer’s applications, adequate design and operating
safeguards must be provided by the customer to minimize inherent or procedural hazards.
TI assumes no liability for applications assistance or customer product design. TI does not warrant or represent
that any license, either express or implied, is granted under any patent right, copyright, mask work right, or other
intellectual property right of TI covering or relating to any combination, machine, or process in which such
semiconductor products or services might be or are used. TI’s publication of information regarding any third
party’s products or services does not constitute TI’s approval, warranty or endorsement thereof.
B.3.2 Transmitting DSS Data from Bulky Data Interface, Headers Auto-InsertedB–5
B.3.3 Transmitting Fully-Formatted MPEG2 (DVB) Data with 1394 Isochronous
The T exas Instruments TSB12L V41A link-layer controller (LLC) (also called MPEG2Lynx) complies with the
IEEE 1394-1995 (from here on referred to as 1394) specification for high-performance serial bus, transmits
and receives correctly-formatted 1394 packets, detects lost cycle-start packets, and generates and inspects
the 32-bit cyclic redundancy check (CRC). The TSB12LV41A is also capable of performing the functions
of cycle master (CM), isochronous resource manager (IRM), and bus manager (BM). Support is provided
for the IEC61883 standard for transmitting MPEG2 compressed video on 1394, with automatic generation
of the common isochronous packet headers and timestamping as required by the IEC 61883 standard.
The TSB12L V41A provides a 1394 interface for high-performance audio, video, and data applications at up
to 200 Mbits/s. It is suitable for set-top boxes, multimedia tape, disk drives, and other consumer electronic
devices requiring MPEG-2 formatted isochronous data transfer according to the IEC61883 specification.
The TSB12LV41A also supports non-MPEG-2/DSS isochronous and asynchronous data transfer with an
auto-packetization feature.
The TSB12L V41A interfaces directly to several microprocessors and microcontrollers, including embedded
ARM processor, Intel 8051 and the Motorola 68000. The microprocessor interface supports both 8-bit and
16-bit data busses. It can also automatically transform addresses to interface to either big endian or little
endian type processors.
The bulky data interface (BDIF) is a 16-bit wide I/O port that enables both transmit and receive of DVB/DSS,
isochronous, and asynchronous data. This port is full-duplex, meaning it is capable of transmitting and
receiving 1394 packets simultaneously . A separate 8K-byte FIFO, accessible via the bulky data interface,
provides logically independent FIFOs for transmit and receive of isochronous, asynchronous, and MPEG2
compressed DVB/DSS data. The 8K-byte FIFO or bulky data FIFO can perform asynchronous packet
transmit retry up to 256 times with intervals up to 256 × 125 µs. The TSB12LV41A supports full-width
time-stamped offsets for MPEG2 compressed DVB/DSS transmit and receive, and also performs age
filtering functions. A 256-byte FIFO is used to transmit and receive asynchronous control packets.
1–1
1.2Features
The TSB12L V41A supports the following features:
•Provisions of IEEE 1394-1995 Standard for High-Performance Serial Bus
•Interoperable with FireWire implementation of the 1394 standard
•Interfaces directly to Texas Instruments TSB11LV01 and TSB21LV03A physical layer (Phy)
devices (100/200Mbits/s)
•Multimode 8-/16-bit microcontroller/microprocessor interface supports many processors
•Interrupt driven to minimize host polling
•8K-byte FIFO supports fully bidirectional MPEG2/DSS, asynchronous, and isochronous modes
for transmit and receive
•64 quadlet (256-Byte) control FIFO accessed through microcontroller interface supports
command/status operations
•Bus functions and automatic 1394 Self-ID verification
•Single 3.3-V supply operation with 5-V tolerance using 5-V bias terminals
55,56,58,59
BCLK66IHost bus clock
BDIF2 – BDIF0100,99,98I/OIndicator lines for BDIF. BDIF2 – BDIF0 are used to select the type
BDI/O7 – BDI/O09,8,7,6,4,3,2,1I/OBidirectional bulky data I/O port . BDI/O7 – BDI/O0 are data lines
BDIBUSY (STAT3)31OBulky data interface busy status. When high, BDIBUSY indicates
BDICLK91IBulky data clock
BDIEN93IBDI bus enable. When low, BDIEN causes accesses to BDI-bus
BDO7 – BDO027,26,25,24,22,
21,20,19
BDOAVAIL(STAT2)30OBulky data output available/status output 2. BDOAVAIL indicates
BDOCLK16IBulky data output clock
BDOF2 – BDOF047,46,45OIndicator lines BDO. BDOF2 – BDOF0 are used to select the
BDOEN49IBDO bus enable. When BDOEN is asserted low, accesses to
CNTNDR11I/OBus manager contender. CNTNDR indicates to the LLC when
CS86IChip select. CS must be asserted low when the device is to be
CTL0,CTL140,39I/OControl 0 and control 1 of the Phy-link control bus. CTL0 and
CYCLEIN/SE95ICycle in. CYCLEIN is an optional external 8-kHz clock used as
D0 – D338,37,36,35I/OPhy-link data. D0 – D3 is data input from the Phy-link data bus.
IMicroprocessor interface address lines. ADR0 is the most
significant bit.
of data to be written to or read from the BDIF . These terminals can
also be used for an application-specific purpose depending on the
bulky data interface mode selected.
for high-speed I/O bus for audio/data/video applications. BDIO7
is the most significant bit and BDIO0 is the least significant bit on
this bus.
that the FIFO being written to from the BDIF is full. This terminal
can also be used to MUX out internal signals for debug purposes
(STAT3).
to be ignored.
OOutput Bulky data port. BDO7 – BDO0 are data lines for the
high-speed output bus and are used in audio/data/video
applications. BDO7 is the most significant bit and BDO0 is the
least significant bit on this bus.
that a complete packet (or packets) is available in the bulky data
receive FIFO. This terminal can also be used to MUX out internal
signals for debug purposes (STAT2).
type of data to be read from the BDO.
BDO bus are ignored.
the local node is a contender for IRM. This signal can also be
driven by the LLC. The default state of this signal is input.
selected for reads and writes.
CTL1 control the four operations that can occur in this interface.
the cycle clock. It should only be used when attached to the
cycle master node. CYCLEIN is enabled by the cycle source bit
and should be tied high when not used. This terminal is used for
testing purposes only (SE).
Data is expected on D0 – D1 for 100 Mbits/s and D0 – D3 for
200 Mbits/s.
1–4
T able 1–1. Terminal Functions (Continued)
I/O
DESCRIPTION
TERMINAL
NAMENO.
DATA0 – DATA1580,78,76,74,71,
69,64,62,79,77,
75,73,70,68,63,
61
GND10,23,34,48,60,
72,87,97
INT89OInterrupt. INT signals the host that an interrupt has occurred.
ISOLAT29I/OIsolation mode/status output 1. ISOLAT is sampled during a
LPS (STAT0)28OLink power status/status output 0. This terminal is used to drive
LREQ44OLink request. LREQ is an output that makes bus request and
MCCTL0, MCCTL182,83IControl lines for bus access function depend on MP/MC-type.
MCSEL0, MCSEL184,85ISelect lines for MP/MC-type used. Has impact on function
RDY88OReady line. When asserted high, RDY indicates the end of an
RESET96I
SCKEN94IScan clock enable. This signal is for test purposes only. This
SCLK42ISystem clock. SCLK is a 49.152-MHz clock from the Phy.
TCK14IJTAG clock. Used for test purposes only . During normal
TDI13IJTAG data in. Used for test purposes only . During normal
TDO18OJTAG data out. Used for test purposes only.
TRST33IJTAG mode reset. Used for test purposes only. During normal
TMS12IJTAG mode select. TMS is used for JTAG. During normal
I/OMicroprocessor interface data bus. DATA0 is the most significant
bit. Some of these terminals may have different functions
depending on the microprocessor mode selected.
Ground reference
This line can be active low or active high dependent on the
INTPOL bit in the IOCR register. It is in a high-impedance state
when no interrupt has occurred.
hardware reset to determine if isolation is present. When this
input signal is high, the internal bus holders on the Phy-link
interface are disabled.
the LPS input of the Phy to indicate when the LLC is powered up
and active. This output toggles at 1/32 of either the BCLK rate or
the SYSCLK rate, depending on the type of microprocessor
used. This terminal can also be programmed to MUX out internal
signals for debug purposes (STAT0).
accesses to the Phy.
MCTRL,ADR, RDY, and DATA terminals.
microprocessor access.
Reset. RESET is the asynchronous power on reset to the
TSB12L V41A and is active low.
signal should be tied low during normal operation.
operation this terminal should be pulled up to VCC.
operation this terminal should be pulled down to ground.
operation this terminal should be pulled down to ground.
operation this terminal should be pulled up to VCC.
1–5
T able 1–1. Terminal Functions (Continued)
I/O
DESCRIPTION
TERMINAL
NAMENO.
V
CC
VCC+5V15,41,65,905 V ± 5% power supplies for 5-V tolerant I/O terminals. These
5,17,32,43,57,
67,81,92
3.3 V (3.0 V – 3.6 V) power supplies
terminals can be tied to 3.3 V if no 5-V devices interface to the
TSB12LV41A.
1–6
2 Architecture
The following sections give an overview of the TSB12L V41A. Figure 2–1 shows a functional block diagram
of the TSB12L V41A.
2–1
2–2
AVD-Layer
BDIN
CONTROL
BDOUT
CONTROL
Bulky Data
Interface
MPEG2/DSS
Time Offset Tx
Loc. Time Reg.
MPEG2/DSS
RX Time Offset
Microprocessor Interface
32
32
32
32
32
32
25
+
+
25
=
32
32
32
MPEG2/DSS Transmit and Receive Control
Bulky Data FIFO
6 Queue Virtual Buffer
MX
Control
MPEG2/DSS Transmit
Control/Aging
MR
Control
MPEG2/DSS Receive
Control/Aging
ACX
FIFO
ACR
FIFO
Aging
Aging
BWR
FIFO
32
32
32
32
32
32
IX
IR
Physical
Layer
Interface
AX
AR
Configuration
Register
(CFRs)
SCLK
CTL0
CTL1
LREQ
LD0
LD1
LD2
LD3
PHY -Chip
8A’ s
8/16D’s
Control Processor
Payload Data Busses
Control Data Busses
Figure 2–1. Functional Block Diagram
2.1Bulky Data Interface
The bulky data interface (BDI) enables the TSB12L V41A to provide sustained data rates up to 160 Mbits/s.
The bulky data FIFO supports MPEG2 compressed DVB/DSS, asynchronous, and isochronous packets for
receive and transmit.
2.2Bulky Data FIFO
The bulky data FIFO is where transmit and receive data is buffered via the bulky data interface (BDI). The
bulky data FIFO is partitioned into six logical FIFOs. Each logical FIFO size is programmable on four quadlet
boundaries. These six FIFOs are called:
•BDI MPEG2 (DVB)/DSS Transmit (BMDTX)
•BDI MPEG2 (DVB)/DSS Receive (BMDRX)
•BDI Asynchronous Transmit (BATX)
•BDI Asynchronous Receive (BARX)
•BDI Isochronous Transmit (BITX)
•BDI Isochronous Receive (BIRX)
The following sections give functional descriptions of these logical FIFOs.
2.2.1BDI MPEG2 (DVB)/DSS Transmit FIFO (BMDTX)
The BMDTX FIFO is used to transmit either MPEG2 (DVB) or DSS data. Data is typically written to this FIFO
from the BDI or microcontroller in quadlets (four bytes). See the Bulky Data Interface section (Section 4)
for more detail on using this FIFO to transmit MPEG2 (DVB)/DSS data.
2.2.2BDI MPEG2 (DVB)/DSS Receive FIFO (BMDRX)
The BMDRX FIFO is typically used to store MPEG2 (DVB)/DSS data received from the link-layer core to
be forwarded to a high-speed application via the BDI. Data can be written to this FIFO by either the link layer
core or the microcontroller. Note that only isochronous port 0 can access this FIFO. See the Bulky Data
Interface section (Section 4) for more details.
2.2.3BDI Asynchronous Transmit FIFO (BATX)
The BATX FIFO is typically used to transmit asynchronous data packets from high-speed applications. Data
can be loaded into this FIFO with the BDI or the microcontroller.
2.2.4BDI Asynchronous Receive FIFO (BARX)
The BARX FIFO is typically used to store received asynchronous data packets to be forwarded to a
high-speed application via the BDI. Data is provided to the BDI or the microcontroller interface. This FIFO
is also the default location for storing incoming Self-ID packets.
2.2.5BDI Isochronous Transmit FIFO (BITX)
The BITX FIFO is typically used to transmit isochronous data packets from high-speed applications. Data
can be loaded into this FIFO with the BDI or the microcontroller.
2.2.6BDI Isochronous Receive FIFO (BIRX)
The BIRX FIFO is typically used for receiving isochronous data and forwarding it to a high-speed application.
Data is provided to the BDI or microcontroller interface. Isochronous Ports 1 through 7 have access to this
FIFO. Each port can be programmed to filter incoming packets according to the Isochronous channel and/or
the isochronous header tag value.
2.3MPEG2 (DVB)/DSS Transmit and Receive Control
The following sections give information on MPEG2 (DVB) and DSS transmit and receive control.
2.3.1Local Time Register
This register is typically called the cycle timer. It contains the synchronized 1394 cycle timer as specified
by the IEEE 1394-1995 standard. The local time register is used to timestamp packets, which determines
2–3
when to release outgoing packets to either the packetizer for transmission on 1394 or release incoming
packets to the BDI. Section 5.10 describes the cycle timer register in more detail.
2.3.2MPEG2 (DVB)/DSS Transmit and Receive Control/Aging
This circuitry controls automatic insertion of the common isochronous packet (CIP) header information as
defined by the IEC61883 standard. Timestamping is also used for both transmitted and received MPEG2
(DVB)/DSS packets to determine when a packet gets released from the FIFO. The aging algorithm is used
to invalidate packets based on the timestamp encapsulated in the MPEG2 (DVB)/DSS header (see
Section 3.3).
2.4Microprocessor/Microcontroller Interface
The microprocessor/microcontroller (MP/MC) interface used as the host controller port, is designed to work
with several standard MP/MCs including Motorola 68000, Intel 8051, and embedded ARM processors. This
interface supports both 8-bit and 16-bit wide data busses as well as both little endian and big endian
microprocessors. This interface has two basic modes of operation, handshake mode and blind access
mode. See the Microprocessor section (Section 4) for more details.
2.5Control FIFO
The control FIFO is partitioned into three logical FIFOs. The size of each of these logical FIFOs is
programmable on quadlet boundaries. These three FIFOs are called:
•Asynchronous Control Transmit FIFO (ACTX)
•Asynchronous Control Receive FIFO (ACRX)
•Broadcast Write Receive FIFO (BWRX)
2.5.1Asynchronous Control Transmit FIFO (ACTX)
The ACTX FIFO is typically used to transmit small asynchronous control packets as sent by the
microprocessor/microcontroller. The ACTX FIFO can also be used to support asynchronous traffic at very
low data rates. Asynchronous packets are generated by using the ACTXF, ACTXC, ACTXFU, and the
ACTXCU registers, all of which access the ACTX FIFO (see Section 3.1.1).
2.5.2Asynchronous Control Receive FIFO (ACRX)
The ACRX FIFO is typically used to receive asynchronous control packets other than the Self-ID packet.
Regular asynchronous control packets typically go to the ACRX FIFO. This FIFO is mapped to the ACRX
register. A read from this register accesses the ACRX FIFO (see Section 3.2.1.1).
2.5.3Broadcast Write Receive FIFO (BWRX)
The BWRX FIFO is typically used to receive asynchronous broadcast write request packets.
2.6Physical Layer Interface
The physical layer interface provides phy-level services to the transmitter and receiver. This includes
gaining access to the serial bus, sending packets, receiving packets, and sending and receiving
acknowledgement packets. The TSB12LV41A supports Texas Instruments bus-holder circuity on the
Phy-link interface terminals. By using the internal bus holders, the user avoids the need for the high device
count 1394 Annex J method of isolation. The bus holders are enabled by connecting the ISOLA T
to ground.
terminal
2.7Configuration Register (CFR)
The TSB12L V41A is configured for various modes of operation using CFRs. These registers are accessed
via the host microprocessor/microcontroller. The CFR space is 512 bytes, thus the need for a 9-bit address
bus. All CFRs are 32-bits wide, and since the microprocessor interface is only 8- or 16-bits wide, it must
perform a byte stacking/unstacking operation of the incoming (write) or outgoing (read) microprocessor
data. Section 5 gives a map of all the registers and detailed descriptions of all register bits.
2–4
3 TSB12LV41A Data Formats
The data formats for transmission and reception of data are shown in the following sections. The transmit
format describes the expected organization of data presented to the TSB12L V41A at the host-bus interface.
The receive formats describe the data format that the TSB12L V41A presents to the host-bus interface.
3.1Transmit Operation
3.1.1Transmitting Asynchronous Control Packets
Asynchronous control packets are typically transmitted by the microprocessor (host) using the
asynchronous control transmit FIFO (ACTX). This FIFO is part of the 256 bytes Control FIFO. It is
configurable in register 44h (Asynchronous Control Data Transmit FIFO Status.) The ACTX FIFO can also
be used for asynchronous data traffic at low data rates.
For transmit the 1394 asynchronous headers and the data are loaded into the ACTX by the microprocessor.
The microprocessor has access to the ACTX FIFO through registers 80h – 8Ch. The asynchronous header
must fit the format described in Section 3.4.
Bulky FIFO
BD–IF
Control FIFO
CFR
Phy–IF
MPMC–IF
Header, Data
Figure 3–1. Transmit from the Asynchronous Control Transmit FIFO (ACTX)
To transmit an asynchronous packet from the ACTX:
•Register 80h (Asynchronous Control Data Transmit FIFO First): The first quadlet of an
asynchronous packet is written to this register by the application software for transmit.
•Register 84h (Asynchronous Control Data Transmit FIFO Continue): All remaining quadlets of
an asynchronous packet except the last are written to this register by the application software for
transmit.
•Register 8Ch (Asynchronous Control Data Transmit FIFO Last and Send): The last quadlet of
an asynchronous packet is written to this register by the application software. Once the last
quadlet is written into the ACTX FIFO using this register, the entire packet is transmitted.
3–1
NOTE:Register 88h (Asynchronous Control Data Transmit FIFO First and
Update) can be used in conjunction with register 8Ch (Asynchronous Control Data
Transmit FIFO Last And Send) as an alternative method for transmitting
asynchronous control packets from ACTX. The first quadlet and all continuing
quadlets except the last are written to register 88h one quadlet at a time. Each
quadlet is transmitted immediately . The last quadlet is written to register 8Ch and
also transmitted immediately. This method of transmit should only be used in
systems where the microprocessor can keep up with the 1394 bus speed.
3.1.2Transmitting Asynchronous Data Packets
Asynchronous data packets are typically transmitted from the bulky asynchronous transmit FIFO (BATX)
using either the bulky data interface (BDIF) or the microprocessor/microcontroller interface (MP/MC IF). The
BATX size is configurable in multiples of four quadlets in register 104h (bulky asynchronous size register.)
The number of empty quadlet locations available in the BATX is provided in register 108h (bulky
asynchronous available register). The transmit operation for the BA TX FIFO is configurable in register EC
(asynchronous/isochronous application data control register).
The BATX has an auto-packetization feature. This allows the user to program header registers within the
MPEG2Lynx CFR’s and supply raw data to the MPEG2Lynx for transmit. The MPEG2Lynx automatically
inserts the appropriate 1394 headers for transmit. The asynchronous packet is transmitted once the last
byte is indicated on bulky data interface or microprocessor interface. If the number of quadlets in the FIFO
is not a multiple of 4, then some byte padding is performed (see Section 3.1.4,
Byte Padding
headers for auto-packetization are available in registers 1B0 – 1BCh. Please note that the headers
programmed in registers 1B0 – 1BCh for auto packetization must match the formats described in Section
Asynchronous Data Formats
3.3,
. The MPEG2Lynx uses the information from these header registers to
create the 1394 asynchronous headers. Please note that automatic header insertion is only supported for
write request operations (tcode 0 and 1). If the number of bytes in the transmitted packet is different from
the datalength field in the header, then receiving node receives the packet with errors.
There are four methods of transmitting asynchronous data from the BATX. The control signals located in
register EC that are necessary for these four modes are summarized in the following text. A detailed
description is included for each mode.
). These
MODEATENABLEBDAXEAHIMDATA SOURCEHEADER SOURCE
1111Bulky data interfaceConfiguration registers
2101Microprocessor interfaceConfiguration registers
3110Bulky data interfaceBulky data interface
4100Microprocessor interfaceMicroprocessor interface
Mode 1: Transmit Asynchronous Data from BATX Using The BDIF, Data Is
Auto-Packetized
The BDIF writes data to the BA TX. This data does not include any asynchronous header bytes. Registers
1B0 – 1BCh (AHEAD0 – AHEAD3) are programmed with the 1394 asynchronous header information. The
packet is transmitted once the last byte is written into the BA TX. The last byte is signaled by the bulky data
interface format lines (BDIF[2..0]). (settings for register EC in this mode: ATENABLE=1, BDAXE=1,
AHIM=1) Please reference Figure 3–2.
3–2
Data
BD–IF
Bulky FIFO
Headers
Phy–IF
Asynchronous,
Isochronous Tx
Control FIFO
Cycle Timer
CFR
MPMC–IF
Figure 3–2. Transmit Asynchronous/Isochronous Data from BATX by the Bulky Data Interface
with Auto-Packetization
Mode 2: Transmit Asynchronous Data from BATX Using the MP/MC IF, Data Is
Auto-Packetized
The MP/MC IF writes data to the BATX using registers 10Ch and 110h. This data does not include any
asynchronous header bytes. Registers 1B0 – 1BCh (AHEAD0 – AHEAD3) are programmed with the 1394
asynchronous header information. Register 10Ch (Asynchronous Application Data Transmit FIFO First And
Continue) allows the MP/MC to write the all quadlets of the packet to be sent except for the last into the BA TX.
The last quadlet of the asynchronous packet is written into register 1 10h (Asynchronous Application Data
Transmit FIFO Last and Send.) The data is transmitted once the last quadlet is written into register 110h.
(Settings for register EC in this mode: A TENABLE=1, BDAXE=0, AHIM=1) (See Figure 3–3).
Asynchronous,
Bulky FIFO
Phy–IF
BD–IF
Isochronous Tx
Headers
Control FIFO
Cycle Timer
CFR
MPMC–IF
Data
Figure 3–3. Transmit Asynchronous/Isochronous Data from BATX by the MP/MC Interface with
Auto-Packetization
3–3
Mode 3: Transmit Asynchronous Data from BATX Using the BDIF, Data Is Fully
Formatted from the Application
The BDIF writes data to the BA TX. This data includes all asynchronous header and data bytes. The header
quadlets must match the same format as shown in Section 3.3. The packet is transmitted once the last byte
is written into the BATX. The last byte is signaled by the bulky data interface format lines (BDIF[2..0]).
(Settings for register EC in this mode: ATENABLE=1, BDAXE=1, AHIM=0) (See Figure 3–4).
Headers
and Data
BD–IF
Cycle Timer
Bulky FIFO
CFR
MPMC–IF
Control FIFO
Phy–IF
Asynchronous,
Isochronous Tx
Figure 3–4. Transmit Asynchronous/Isochronous Data from BATX by the Bulky Data Interface,
No Auto-Packetization
Mode 4: Transmit Asynchronous Data from BATX Using the MP/MC IF, Data Is Fully
Formatted from the Application
The MP/MC IF writes data to the BA TX using registers 10Ch and 1 10h. This data includes all asynchronous
header and data bytes. The header quadlets must match the same format as shown in Section 3.3. Register
10Ch (Asynchronous Application Data Transmit FIFO First and Continue) allows the MP/MC to write the
all quadlets of the packet to be sent except for the last into the BA TX. The last quadlet of the asynchronous
packet is written into register 1 10h (Asynchronous Application Data Transmit FIFO Last and Send.) The data
is transmitted once the last quadlet is written into register 110h (Settings for register EC in this mode:
A TENABLE=1, BDAXE=0, AHIM=0) (see Figure 3–5).
3–4
BD–IF
Bulky FIFO
Phy–IF
Asynchronous,
Isochronous Tx
CFR
Cycle Timer
MPMC–IF
Headers
and Data
Control FIFO
Figure 3–5. Transmit Asynchronous/Isochronous Data from BATX by the MP/MC Interface, No
Auto-Packetization
General Asynchronous Transmit Notes
•Packet Flush: The entire BATX FIFO can be flushed by setting the AXFLSH bit in the AICR
register (register EC).
•Packet Retries: Bulky asynchronous packets may be automatically retried up to 256 times
(BATxRetryNum in register 14Ch, BARTRY) in up to 256 isochronous cycles (BATxRetryInt in
register 14Ch, BARTRY). Packet retries for the asynchronous control transmit FIFO are manual.
•Retry Protocol: The MPEG2Lynx uses single phase retries only.
•Auto-packetization: For the bulky data interface, if the data from the host is a multiple of four
bytes, then there is no need to indicate
last byte
interface. Similarly , if data from the microprocessor interface is a multiple of four bytes, then all
of the data can be written to register 10Ch only. The packet is transmitted on the bus once the
number of bytes in the FIFO is equal to the data length field of the asynchronous header.
•Acknowledges received for an asynchronous packet transmitted from the bulky asynchronous
transmit FIFO (BATX) are available in register 8h (B Ack register). Bit 23 indicates if the ack
received was normal, BATACK[23] = 0, or if it was an error, BATACK[23] = 1. BATACK[24:27]
gives the acknowledge error if one occurred.
•Acknowledges received for an asynchronous packet transmitted from the asynchronous control
transmit FIFO (ACTX) are available in register 4 (C acknowledge register). Bit 23 indicates if the
ack received was normal, CATACK[23] = 0, or if there was an error, CATACK[23] = 1.
CATACK[24:27] gives the acknowledge error if one occurred.
of an asynchronous packet to the bulky data
3–5
3.1.3Transmitting Isochronous Packets
Isochronous data is transmitted from the bulky isochronous transmit FIFO (BITX) using either the bulky data
interface (BDIF) or the microprocessor/microcontroller interface (MP/MC IF). The BITX size is configurable
in multiples of four quadlets in register 12Ch (bulky isochronous size register.) The number of empty quadlet
locations available in the BITX is provided in register 130h (bulky isochronous available register). The
transmit operation for the BITX FIFO is configurable in register EC (asynchronous/isochronous application
data control register).
The BITX has an auto-packetization feature which allows the user to program header registers within the
MPEG2Lynx CFR’s. The application can then supply raw data to the MPEG2Lynx for transmit, and the
MPEG2Lynx automatically packetizes the data and insert the appropriate 1394 header for transmit. The
amount of data in the transmit FIFO should match the datalength field in the isochronous header. Some byte
padding is performed when the data does not end on a quadlet boundary. See Section 3.4.1 for more
information on byte padding. If the number of bytes in the packet is different than the datalength field of the
header, then the receiving node receives the packet with errors. The 1394 isochronous header for
auto-packetization is available in registers 1C0h (Isochronous Header for Auto TX). Please note that the
header programmed in register 1C0h must match the format given in Section 3.5.1. The MPEG2Lynx uses
the information from these registers to create the 1394 isochronous headers.
There are four methods of transmitting isochronous data from the BITX. The control signals located in
register EC that necessary for these four modes are summarized in the following text. A detailed description
is also included for each mode.
MODEITENABLEBDIXEIHIMDATA SOURCEHEADER SOURCE
1111Bulky data interfaceConfiguration registers
2101Microprocessor interfaceConfiguration registers
3110Bulky data interfaceBulky data interface
4100Microprocessor interfaceMicroprocessor interface
Mode 1: Transmit Isochronous Data from BITX Using the BDIF, Data Is Auto-Packetized
The BDIF writes data to the BITX. This data does not include any asynchronous header bytes. Register
1C0h (IHEAD0) is programmed with the 1394 isochronous header information. The packet is transmitted
once the last byte is written into the BITX. The last byte is signaled to the BITX by the bulky data interface
format lines (BDIF[2..0]). The amount of transmitted data in the FIFO should match the data length field in
the isochronous header. Some byte padding is performed if the packet does not end on a quadlet boundary .
(see Figure 3–2) (settings for register EC in this mode: ITENABLE=1, BDIXE=1, IHIM=1).
Mode 2: Transmit Isochronous Data from BITX Using the MP/MC IF, Data Is
Auto-Packetized
The MP/MC IF writes data to the BITX using registers 134h and 138h. This data does not include the 1394
isochronous header bytes. Register 1C0h (IHEAD0) is programmed with the 1394 isochronous header
information. Register 134h (Isochronous Transmit FIFO First and Continue) allows the MP/MC to write the
all quadlets of the packet to be sent except for the last into the BITX. The last quadlet of the isochronous
packet is written into register 138h (Isochronous Transmit FIFO Last and Send.) The data is transmitted
once the last quadlet is written into register 138h. (See Figure 3–3) (settings for register EC in this mode:
ITENABLE=1, BDIXE=0, IHIM=1).
3–6
Loading...
+ 169 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.