TI TSB12LV41

TSB12LV41 (MPEG2Lynx)
IEEE 1394-1995 Link-Layer Controller
for Consumer Applications
SLLS276A
OCTOBER 1998
Printed on Recycled Paper
IMPORTANT NOTICE
Texas 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.
CERTAIN APPLICATIONS USING SEMICONDUCTOR PRODUCTS MAY 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 APPLICATIONS. INCLUSION OF TI PRODUCTS IN SUCH APPLICATIONS IS UNDERSTOOD 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.
Copyright  1998, Texas Instruments Incorporated
Contents
Section
Title
Page
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Related Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Terminal Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1–1
1–1
1–2
1–2
1–2
1–3
2
Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1 Bulky Data Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Bulky Data FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 BDI MPEG2 (DVB)/DSS Transmit FIFO (BMDTX) . . . . . . . . . . . . . . . . . . . .
2.2.2 BDI MPEG2 (DVB)/DSS Receive FIFO (BMDRX) . . . . . . . . . . . . . . . . . . . .
2.2.3 BDI Asynchronous Transmit FIFO (BATX) . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.4 BDI Asynchronous Receive FIFO (BARX) . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.5 BDI Isochronous Transmit FIFO (BITX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.6 BDI Isochronous Receive FIFO (BIRX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 MPEG2 (DVB)/DSS Transmit and Receive Control . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Local Time Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2 MPEG2 (DVB)/DSS Transmit and Receive Control/Aging . . . . . . . . . . . . .
2.4 Microprocessor/Microcontroller Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 Control FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.1 Asynchronous Control Transmit FIFO (ACTX) . . . . . . . . . . . . . . . . . . . . . . .
2.5.2 Asynchronous Control Receive FIFO (ACRX) . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3 Broadcast Write Receive FIFO (BWRX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6 Physical Layer Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7 Configuration Register (CFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2–1
2–3
2–3
2–3
2–3
2–3
2–3
2–3
2–3
2–3
2–3
2–4
2–4
2–4
2–4
2–4
2–4
2–4
2–4
3
TSB12LV41 Data Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–1
3.1 Transmit Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–1
3.1.1 Transmitting Asynchronous Control Packets . . . . . . . . . . . . . . . . . . . . . . . . . 3–1
3.1.2 Transmitting Asynchronous Data Packets . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–2
3.1.3 Transmitting Isochronous Packets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–6
3.1.4 Notes on Byte Padding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–7
3.1.5 MPEG2(DVB)/DSS Transmit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–7
3.2 Receive Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–21
3.2.1 Receiving Asynchronous Packets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–21
3.2.2 Receiving Isochronous Packets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–26
3.2.3 MPEG2(DVB)/DSS Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–27
3.3 Timestamps and Aging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–30
3.3.1 Time Stamp Calculation on Transmit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–31
3.3.2 Timestamp Determination on Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–32
iii
3.4
3.5
3.6
3.7
3.8
Asynchronous Transmit (Host Bus to TSB12LV41) . . . . . . . . . . . . . . . . . . . . . . .
3.4.1 Quadlet Transmit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.2 Block Transmit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.3 Quadlet Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.4 Block Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Isochronous Transmit and Receive (Host Bus to ’12LV41) Data Formats . . . .
3.5.1 Isochronous Transmit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.2 Isochronous Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Snoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Phy Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Receive Self-ID Packet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3–32
3–32
3–33
3–34
3–36
3–38
3–38
3–38
3–39
3–40
3–41
4
External Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–1
4.1 Bulky Data Interface (BDIF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–1
4.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–1
4.1.2 Modes of the Bulky Data Interface (BDIF) . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–5
4.2 Bulky Data Interface Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–11
4.2.1 Unidirectional and Asynchronous Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–11
4.2.2 Bidirectional Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–14
4.3 Microprocessor Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–18
4.3.1 Microprocessors Supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–18
4.3.2 Microprocessor Interface Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–21
4.3.3 Handshake and Blind Access modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–22
4.3.4 General Read Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–22
4.3.5 General Write Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–23
4.3.6 TMS320AV7100 Mode Timing Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–23
4.3.7 68000 Mode Timing Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–29
4.3.8 8051 Mode Timing Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–33
4.3.9 Blind Access Mode Specific Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–37
4.3.10 Endianness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–38
4.3.11 Use of Interrupts with MPEG2Lynx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–40
4.4 TSB12LV41 to 1394 Phy Interface Specification . . . . . . . . . . . . . . . . . . . . . . . . . . 4–41
4.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–41
4.4.2 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–41
4.4.3 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–41
4.4.4 Operational Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–42
4.4.5 Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–43
4.4.6 Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–45
4.4.7 TSB12LV41 to Phy Bus Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–47
5
Detailed Operation and Programmers Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–1
5.1 TSB12LV41 Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–1
5.2 Version Register (VERS @ Addr 0h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–6
5.3 C Acknowledge Register (CACK @ Addr 4h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–6
5.4 B Acknowledge Register (BACK @ Addr 8h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–7
5.5 Link Control Register (LCTRL @ Addr Ch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–8
5.6 Interrupt Register/Interrupt Mask Register (IR @ Addr 10h/14h) . . . . . . . . . . . . 5–11
5.7 Extended Interrupt Register/Extended Interrupt Mask Register
(EIR @ Addr 18h/1Ch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–13
iv
5.8
5.9
5.10
5.11
5.12
5.13
5.14
5.15
5.16
5.17
5.18
5.19
5.20
5.21
5.22
5.23
5.24
5.25
5.26
Isochronous Receive Comparators Register 0 (IRPR0 @ Addr 20h) . . . . . . . .
Isochronous Receive Comparators Register 1 (IRPR1 @ Addr 24h) . . . . . . . .
Cycle Timer Register (CYCTIM @ Addr 28h) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bus Time Register (BUSTIM @ Addr 2Ch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Link Diagnostics Register (DIAG @ Addr 30h) . . . . . . . . . . . . . . . . . . . . . . . . . . .
Phy Access Register (PHYAR @ Addr 34h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Expected Response (PHYSR @ Addr 38h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reserved Register (RESERVED @ Addr 3ch–40h) . . . . . . . . . . . . . . . . . . . . . . .
Reserved Register (RESERVED @ Addr 3Ch) . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reserved Register (RESERVED @ Addr 40h) . . . . . . . . . . . . . . . . . . . . . . . . . . .
Asynchronous Control Data Transmit FIFO Status (ACTFS @ Addr 44h) . . . .
Bus Reset Data Register (BRD @ Addr 48h) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bus Reset Error Register (BRERR @ Addr 4Ch) . . . . . . . . . . . . . . . . . . . . . . . . .
Asynchronous Control Data Receive FIFO Status (ACRXS @ Addr 50h) . . . .
Reserved Register (RESERVED @ Addr 54h) . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reserved Register (RESERVED @ Addr 55h – 7Fh) . . . . . . . . . . . . . . . . . . . . .
Asynchronous Control Data Transmit FIFO First (ACTXF @ Addr 80h) . . . . . .
Asynchronous Control Data Transmit FIFO Continue (ACTXC @ Addr 84h) .
Asynchronous Control Data Transmit FIFO First & Update
(ACTXFU @ Addr 88h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.27 Asynchronous Control Data Transmit FIFO Last & Send
(ACTXCU @ Addr 8ch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.28 Reserved Register (RESERVED @ Addr 90h–BCh) . . . . . . . . . . . . . . . . . . . . . .
5.29 Asynchronous Control Data Receive FIFO (ACRX @ Addr C0h) . . . . . . . . . . .
5.30 Broadcast Write Receive FIFO (BWRX @ Addr 0C4h) . . . . . . . . . . . . . . . . . . . .
5.31 Reserved Register (RESERVED @ Addr C8h) . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.32 Reserved Register (RESERVED @ Addr CCh) . . . . . . . . . . . . . . . . . . . . . . . . . .
5.33 Reserved Register (RESERVED @ Addr D0h) . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.34 Reserved Register (RESERVED @ Addr D4h) . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.35 Bulky Data Interface Control (BIF @ Addr D8h) . . . . . . . . . . . . . . . . . . . . . . . . . .
5.36 MPEG2 (DVB) Transmit Timestamp Offset Register (MXTO @ Addr DCh) . . .
5.37 DSS Transmit Timestamp Offset Register (DXT0 @ Addr E0h) . . . . . . . . . . . . .
5.38 MPEG2 (DVB)/DSS Receive Timestamp Offset (MRTO @ Addr E4h) . . . . . . .
5.39 DSS Receive Timestamp Offset Register (DRT0 @ Addr E8h) . . . . . . . . . . . . .
5.40 Asynchronous/Isochronous Application Data Control Register
(AICR @ Addr ECh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.41 MPEG2 (DVB)/DSS Formatter Control Register (MCR @ Addr F0h) . . . . . . . .
5.42 DSS Formatter Control Register (DCR @ Addr F4h) . . . . . . . . . . . . . . . . . . . . . .
5.43 Bulky Data FIFO Miscellaneous Control and Status (BDFMISC @ Addr F8h)
5.44 SRAM Address (SRAMA @ Addr FCh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.45 SRAM Data (SRAMD @ Addr 100h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.46 Bulky Asynchronous Size register (BASZ @ Addr 104h) . . . . . . . . . . . . . . . . . .
5.47 Bulky Asynchronous Avail register (BAAVAL @ Addr 108h) . . . . . . . . . . . . . . . .
5.48 Asynchronous Application Data Transmit FIFO First and Continue
(BATX @ Addr 10ch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.49 Asynchronous Application Data Transmit FIFO Last & Send
(BATXLS @ Addr 110h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5–16
5–17
5–18
5–18
5–19
5–20
5–21
5–21
5–21
5–21
5–22
5–23
5–23
5–24
5–25
5–25
5–25
5–25
5–25
5–25
5–25
5–26
5–26
5–26
5–26
5–26
5–26
5–27
5–28
5–30
5–31
5–31
5–31
5–32
5–34
5–36
5–36
5–37
5–37
5–37
5–37
5–38
v
5.50 Asynchronous Application Data Receive FIFO (BARX @ Addr 114h) . . . . . . .
5.51 Asynchronous Application Data Receive Header Register 0
(ARH0 @ Addr 118h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.52 Asynchronous Application Data Receive Header Register 1
(ARH1 @ Addr 11ch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.53 Asynchronous Application Data Receive Header Register 2
(ARH2 @ Addr 120h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.54 Asynchronous Application Data Receive Header Register 3
(ARH3 @ Addr 124h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.55 Asynchronous Application Data Receive Trailer (ART @ Addr 128h) . . . . . . . .
5.56 Bulky Isochronous Size register (BISZ @ Addr 12Ch) . . . . . . . . . . . . . . . . . . . . .
5.57 Bulky Isochronous Avail register (BIAVAL @ Addr 130h) . . . . . . . . . . . . . . . . . .
5.58 Isochronous Transmit First & Continue (BITXFC @ Addr 134h) . . . . . . . . . . . .
5.59 Isochronous Transmit Last & Send (BITXLS @ Addr 138h) . . . . . . . . . . . . . . . .
5.60 Isochronous Receive FIFO (BIRX @ Addr 13ch) . . . . . . . . . . . . . . . . . . . . . . . . .
5.61 Isochronous Packet Received Header (IRH @ Addr 140h) . . . . . . . . . . . . . . . .
5.62 Isochronous Packet received Trailer (IRT @ Addr 144h) . . . . . . . . . . . . . . . . . .
5.63 Receive Packet Routing Control Register (RPRC @ Addr 148h) . . . . . . . . . . .
5.64 Bulky Asynchrounous Retry (BARTRY@ Addr 14Ch) . . . . . . . . . . . . . . . . . . . . .
5.65 Bulky MPEG2 (DVB) Size register (BMSZ @ Addr 150h) . . . . . . . . . . . . . . . . . .
5.66 Bulky MPEG2 (DVB) Avail register (BMAVAL @ Addr 154h) . . . . . . . . . . . . . . .
5.67 Bulky DSS Size register (BDSZ @ Addr 158h) . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.68 Bulky DSS Avail register (BDAVAL @ Addr 15ch) . . . . . . . . . . . . . . . . . . . . . . . .
5.69 MPEG2 (DVB) Transmit FIFO first & continue (BMTXFC @ Addr 160h) . . . . .
5.70 MPEG2 (DVB) Transmit FIFO last & send (BMTXLS @ Addr 164h) . . . . . . . . .
5.71 MPEG2 (DVB) Formatted Packet Receive FIFO (BMRX @ Addr 168h) . . . . .
5.72 DSS Transmit FIFO first & continue (BDTXFC @ Addr 16ch) . . . . . . . . . . . . . .
5.73 DSS Transmit FIFO last & send (BDTXLS @ Addr 170h) . . . . . . . . . . . . . . . . . .
5.74 DSS Formatted Packet Receive FIFO (BDRX @ Addr 174h) . . . . . . . . . . . . . . .
5.75 MPEG2 (DVB) Receive Header (MRH @ Addr 178h) . . . . . . . . . . . . . . . . . . . . .
5.76 MPEG2 (DVB) CIP Receive Header 0 (MCIPR0 @ Addr 17ch) . . . . . . . . . . . . .
5.77 MPEG2 (DVB) CIP Receive Header 1 (MCIPR1 @ Addr 180h) . . . . . . . . . . . .
5.78 MPEG2 (DVB) Receive Trailer Register (MRT @ Addr 184h) . . . . . . . . . . . . . .
5.79 DSS Formatted Packet Received Header (DRH @ Addr 188h) . . . . . . . . . . . . .
5.80 DSS Formatter CIP 0 receive Register (DCIPR0 @ Addr 18ch) . . . . . . . . . . . .
5.81 DSS Formatter CIP 1 receive Register (DCIPR1 @ Addr 190h) . . . . . . . . . . . .
5.82 DSS Formatted Packet Received Trailer (DRT @ Addr 194h) . . . . . . . . . . . . . .
5.83 DSS Receive Cell Header Register 0 (DRX0 @ Addr 198h) . . . . . . . . . . . . . . .
5.84 DSS Receive Cell Header Register 1 (DRX1 @ Addr 19Ch) . . . . . . . . . . . . . . .
5.85 DSS Receive Cell Header Register 2 (DRX2 @ Addr 1A0h) . . . . . . . . . . . . . . .
5.86 DSS Transmit Cell Header Register 0 (DTX0 @ Addr 1A4h) . . . . . . . . . . . . . . .
5.87 DSS Transmit Cell Header Register 1 (DTX1 @ Addr 1A8h) . . . . . . . . . . . . . . .
5.88 DSS Transmit Cell Header Register 2 (DTX2 @ Addr 1ACh) . . . . . . . . . . . . . . .
5.89 Asynchronous Header 0 for Auto Tx (AHEAD 0) @ Addr 1B0h) . . . . . . . . . . . .
5.90 Asynchronous Header 1 for Auto Tx (AHEAD(1) @ Addr 1B4h) . . . . . . . . . . . .
5.91 Asynchronous Header 2 for Auto Tx (AHEAD(2) @ Addr 1B8h) . . . . . . . . . . . .
5.92 Asynchronous Header 3 for Auto Tx (AHEAD(3) @ Addr 1BCh) . . . . . . . . . . . .
vi
5–38
5–38
5–38
5–38
5–38
5–39
5–40
5–40
5–40
5–40
5–40
5–41
5–41
5–42
5–43
5–43
5–44
5–44
5–44
5–44
5–45
5–45
5–45
5–45
5–45
5–46
5–46
5–46
5–47
5–47
5–47
5–48
5–48
5–48
5–49
5–49
5–49
5–49
5–50
5–50
5–50
5–50
5–50
5.93
5.94
5.95
5.96
5.97
5.98
5.99
5.100
5.101
5.102
5.103
5.104
5.105
5.106
5.107
5.108
6
Isochronous Header for Auto Tx (IHEAD0 @ Addr 1C0h) . . . . . . . . . . . . . . . . . .
Packetizer Control (PKTCTL @ Addr 1C4h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MPEG2 (DVB) Transmit Header Register (MXH @ Addr 1C8h) . . . . . . . . . . . .
MPEG2 (DVB) CIP Transmit Header 0 (MCIPX0 @ Addr 1CCh) . . . . . . . . . . .
MPEG2 (DVB) CIP Transmit Header 1 (MCIPX1 @ Addr 1D0h) . . . . . . . . . . . .
DSS Formatted Isochronous Data Transmit Header (DXH @ Addr 1D4h) . . .
DSS Formatter CIP 0 transmit Register (DCIPX0 @ Addr 1D8h) . . . . . . . . . . .
DSS Formatter CIP 1 transmit Register (DCIPX1 @ Addr 1DCh) . . . . . . . . . . .
MDAltCont (MDALT @ Addr 1E0h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Microprocessor Control Register (MDCTL @ Addr 1E4) . . . . . . . . . . . . . . . . . . .
Reserved (RSVD @ Addr 1e8h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Microprocessor Input / Output Control Register (IOCR @ Addr 1ECh) . . . . . . .
Blind Access Status Register (BASTAT @ Addr 1F0h) . . . . . . . . . . . . . . . . . . . .
Blind Access Holding Register (BAHR @ Addr 1F4h) . . . . . . . . . . . . . . . . . . . . .
Reserved Register (RESERVED @ Addr 1F8h) . . . . . . . . . . . . . . . . . . . . . . . . . .
Software Reset Register (SRES @ Addr 1FCh) . . . . . . . . . . . . . . . . . . . . . . . . . .
Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1 Absolute Maximum Ratings Over Free-Air Temperature Range (Unless
Otherwise Noted)† . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Recommended Operating Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3 Electrical Characteristics Over Recommended Ranges of Supply Voltage
and Operating Free-Air Temperature (Unless Otherwise Noted) . . . . . . . . . . . . .
5–51
5–51
5–53
5–53
5–54
5–54
5–54
5–54
5–54
5–55
5–55
5–55
5–56
5–56
5–56
5–56
6–1
6–1
6–2
6–2
7
MPEG2Lynx Power Consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–1
8
Mechanical Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–1
A
Receive Operation Examples
A.1 Asynchronous Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.1.1 Receiving Asynchronous Data to the Bulky Asynchronous FIFO
(Bulky Data Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.1.2 Receiving Asynchronous Data to the Asynchronous Control FIFO
A.2 Unformatted Isochronous Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2.1 Receiving Isochronous Data to the Bulky Isochronous FIFO
(Bulky Data Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2.2 Receiving Isochronous Data to the Bulky Isochronous FIFO
(Microprocessor Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3 MPEG2/DSS Formatted Isochronous Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3.1 Receiving MPEG2 (DVB) Data to the Bulky MPEG2 FIFO
(Bulky Data Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3.2 Receiving DSS Data to the Bulky DSS FIFO (Bulky Data Interface) . . . . .
A.3.3 Receiving MPEG2 (DVB) Data to the Bulky MPEG2 (DVB) FIFO
(Microprocessor Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3.4 Receiving DSS Data to the Bulky DSS FIFO (Microprocessor Interface) .
A–1
A–1
Transmit Operation Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.1 Asynchronous Transmit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.1.1 Transmitting Asynchronous Data Packets (Bulky Data Interface) . . . . . . .
B.1.2 Transmitting Asynchronous Control Packets . . . . . . . . . . . . . . . . . . . . . . . . .
B.2 Unformatted Isochronous Transmit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B–1
B–1
B–1
B–1
B–2
B
A–1
A–2
A–2
A–3
A–3
A–4
A–4
A–5
A–6
vii
B.2.1 Transmitting Isochronous Data, Headers Auto Inserted (Bulky Data
Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–3
B.2.2 Transmitting Fully Formatted Isochronous Data (Microprocessor
Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–3
B.3 MPEG2/DSS Formatted Isochronous Transmit . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–4
B.3.1 Transmitting MPEG2 (DVB) Data from Bulky Data Interface, Headers
Auto-Inserted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–4
B.3.2 Transmitting DSS Data from Bulky Data Interface, Headers Auto-Inserted B–5
B.3.3 Transmitting Fully Formatted MPEG2 (DVB) Data Fully Formatted with
1394 Isochronous Header, CIP Headers, and Timestamps (Microprocessor
Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–6
B.3.4 Transmitting Fully Formatted DSS 130 Data with 1394 Isochronous and
CIP headers included. (Microprocessor Interface) . . . . . . . . . . . . . . . . . . . . B–7
C
viii
Isolation Considerations for TSB12LV41 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–1
List of Illustrations
Figure
Title
Page
2–1 . Functional Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–2
3–1 . Transmit from the Asynchronous Control Transmit FIFO (ACTX) . . . . . . . . . . . . . . 3–1
3–2 . Transmit Asynchronous/Isochronous Data from BATX by the Bulky Data Interface
with Auto-Packetization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3
3–3 . Transmit Asynchronous/Isochronous Data from BATX by the MP/MC Interface with
Auto-Packetization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3
3–4 . Transmit Asynchronous/Isochronous Data from BATX by the Bulky Data Interface, No
Auto-Packetization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–4
3–5 . Transmit Asynchronous/Isochronous Data from BATX by the MP/MC Interface, No
Auto-Packetization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–5
3–6 . MPEG2 (DVB)/DSS Data from Bulky Data Interface, All Headers and Timestamps
Automatically Inserted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–9
3–7 . MPEG2 (DVB)/DSS Data from Bulky Data Interface All Headers Automatically
Inserted, Time Stamp Supplied by Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–10
3–8 . MPEG2 (DVB)/DSS Data from Bulky Data Interface, All Headers and Timestamps
Supplied by Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–10
3–9 . MPEG2 (DVB)/DSS Data from Microprocessor, All Headers and Timestamps
Automatically Inserted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–11
3–10 MPEG2 (DVB)/DSS Data from Microprocessor All Headers Automatically Inserted
Time Stamp Supplied by Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12
3–11 MPEG2 (DVB)/DSS Data from Microprocessor, All Headers and Timestamps
Supplied by Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–13
3–12 Simple MPEG-2 Transmission Over 1394 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–16
3–13 Simple DSS Transmission Over 1394 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–20
3–14 DSS130 Packets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–21
3–15 Receive Asynchronous/Isochronous Data to Bulky Data Interface . . . . . . . . . . . . 3–24
3–16 Receive Asynchronous/Isochronous Data to Microprocessor Interface . . . . . . . . 3–25
3–17 Receive All Data, including Headers and Trailer, to Bulky Data Interface . . . . . . . 3–28
3–18 Receive MPEG2(DVB)/DSS Cell Data Only to Bulky Data Interface . . . . . . . . . . . 3–28
3–19 Receive All Data, including Headers and Trailer, to Microprocessor Interface . . . 3–29
3–20 Receive MPEG2(DVB)/DSS cell data only to Microprocessor Interface . . . . . . . . 3–30
3–21 Determination of Transmit Timestamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–31
3–22 Quadlet-Transmit Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–32
3–23 Block-Transmit Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–33
3–24 Quadlet-Receive Format for Control FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–34
3–25 Quadlet-Receive Format for Bulky Data FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–35
3–26 Block-Receive Format for Control FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–36
3–27 Block-Receive Format for Bulky Data FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–36
3–28 Isochronous-Transmit Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–38
3–29 Isochronous-Receive Format for Bulky Data FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . 3–38
ix
List of Illustrations (continued)
Figure
x
Title
Page
3–30
3–31
3–32
3–33
3–34
3–35
Snoop Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Phy Configuration Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Receive Self-ID Format for Broadcast Write Receive FIFO . . . . . . . . . . . . . . . . . .
Receive Self-ID Format for Bulky Asynchronous Receive FIFO . . . . . . . . . . . . . .
Phy Self-ID Packet #0 Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Phy Self-ID Packet #1, Packet #2, and Packet #3 Format . . . . . . . . . . . . . . . . . . .
3–39
3–40
3–41
3–41
3–42
3–43
4–1 .
4–2 .
4–3 .
4–4 .
4–5 .
4–6 .
4–7 .
4–8 .
4–9 .
4–10
4–11
4–12
4–13
4–14
4–15
4–16
4–17
4–18
4–19
4–20
4–21
4–22
4–23
4–24
4–25
4–26
4–27
4–28
4–29
4–30
4–31
4–32
4–33
4–34
4–35
4–36
4–37
4–38
TSB12LV41 System Application Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–1
Bulky Data Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–2
BDIF Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–4
Bulky Data Interface Mode A Typical Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–7
Bulky Data Interface Mode B Typical Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–8
Bulky Data Interface Mode C Typical Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–9
Bulky Data Interface Mode D Typical Application . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–10
Functional Timing for Write Operations in the Unidirectional Modes . . . . . . . . . . . 4–11
Critical Timing for Write Operations in Unidirectional Mode . . . . . . . . . . . . . . . . . . 4–11
Functional Timing for Write Operations in the Asynchronous Mode . . . . . . . . . . . 4–12
Functional Timing for Read Operations in Unidirectional Mode . . . . . . . . . . . . . . . 4–13
Critical Timing for Read Operations in Unidirectional Mode . . . . . . . . . . . . . . . . . . 4–13
Functional Timing for Read Operations in Asynchronous Mode . . . . . . . . . . . . . . . 4–14
Functional Timing for Write Operations in Bidirectional Mode . . . . . . . . . . . . . . . . 4–15
Critical Timing for Write Operations in Bidirectional Mode . . . . . . . . . . . . . . . . . . . . 4–15
Functional Timing for Read Operations in Bidirectional Mode . . . . . . . . . . . . . . . . 4–16
Critical Timing for Read Operations in Bidirectional Mode . . . . . . . . . . . . . . . . . . . 4–16
Functional Timing for Read/Write Interleave Operations in Bidirectional Mode . . 4–17
MPEG2Lynx Connections for 68000 Microcontroller . . . . . . . . . . . . . . . . . . . . . . . . 4–19
MPEG2Lynx Connections for 8051 Microcontroller . . . . . . . . . . . . . . . . . . . . . . . . . 4–20
MPEG2Lynx Connections for TMS320AV7100 ARM Processor . . . . . . . . . . . . . . 4–20
TSB12LV41 IOCR Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–21
TMS320AV7100 ARM Read/Write Critial Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–25
TMS320AV7100 Handshake Mode Read Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–26
TMS320AV7100 Handshake Mode Write Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–26
TMS320AV7100 ARM Blind Access Mode Read Timing . . . . . . . . . . . . . . . . . . . . . 4–27
TMS320AV7100 ARM Blind Access Mode Write Timing . . . . . . . . . . . . . . . . . . . . . 4–27
Motorola 68000 Read Critical Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–30
Motorola 68000 Write Critical Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–31
Motorola 68000 Read Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–32
Motorola 68000 Write Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–32
Intel 8051 Read Critial Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–34
Intel 8051 Write Critial Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–35
Intel 8051 Read Timing (Blind Access Read) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–36
Intel 8051 Write Timing (Blind Access Read) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–36
Big Endian Illustration chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–38
Little Endian Illustration chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–38
Little Endian Data Invariant System Design Illustration Chart . . . . . . . . . . . . . . . . . 4–39
List of Illustrations (continued)
Figure
4–39
4–40
4–41
4–42
4–43
4–44
4–45
Title
Page
Little Endian Address Invariant System Design Illustration Chart . . . . . . . . . . . . .
Interrupt Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional Block Diagram of the TSB12LV41 to Phy Layer . . . . . . . . . . . . . . . . . .
LREQ Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Status-Transfer Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transmit Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Receiver Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4–40
4–41
4–42
4–47
4–47
4–48
4–48
5–1 . Configuration Register (CFR) Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–2
xi
List of Tables
Table
Title
Page
1–1 . Terminal Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–4
3–1 .
3–2 .
3–3 .
3–4 .
3–5 .
3–6 .
3–7 .
3–8 .
3–9 .
3–10
3–11
3–12
3–13
3–14
3–15
3–16
3–17
3–18
Initial values for the CIP headers (to be set by SW)† . . . . . . . . . . . . . . . . . . . . . . . .
DBC Incremental Numbers, DBS Value and Length Values for MPEG-2 Packets
MPEG2 on 1394 Bandwidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Initial Values for the DCIP Headers (to be Set By SW)† . . . . . . . . . . . . . . . . . . . . .
DBC Incremental Numbers, DBS Value and Length Values for DSS Packets . . .
DSS on 1394 Bandwidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Quadlet-Transmit Format Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Block-Transmit Format Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Quadlet-Receive Format Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Block-Receive Format Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Isochronous-Transmit Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Isochronous-Receive Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Snoop Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Phy Configuration Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Receive Self-ID Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Broadcast Write Receive FIFO Contents With Three Nodes on a Bus . . . . . . . . .
Bulky Data Asynchronous Receive FIFO (BARX FIFO) Contents . . . . . . . . . . . .
Phy Self-ID Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4–1 .
4–2 .
4–3 .
4–4 .
4–5 .
4–6 .
4–7 .
4–8 .
4–9 .
4–10
4–11
4–12
4–13
4–14
4–15
4–16
4–17
4–18
4–19
BDIO Bidirectional Port Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–2
BDO Unidirectional Port Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–3
MODES of the BDIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–6
MCSEL Settings for Various Microprocessors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–18
TSB12LV41 MP/MC Interface Pin Function Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . 4–18
TSB12LV41 IOCR Bit/Function Correlation Table and Power-Up Default Setting 4–21
TMS320AV7100 Critical Timing Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–24
Motorola 68000 Critical Timing Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–29
Intel 8051 Critical Timing Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–33
Phy Interface Control of Bus Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–42
TSB12LV41 Control of Bus Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–42
Request Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–43
Bus-Request Functions (Length of Stream: 7 Bits) . . . . . . . . . . . . . . . . . . . . . . . . . . 4–43
Read-Register Request Functions (Length of Stream: 9 Bits) . . . . . . . . . . . . . . . . 4–43
Write-Register Request (Length of Stream: 17 Bits) . . . . . . . . . . . . . . . . . . . . . . . . . 4–43
TSB12LV41 Request Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–44
Request-Speed Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–44
Status-Request Functions (Length of Stream: 16 Bits) . . . . . . . . . . . . . . . . . . . . . . 4–45
Speed Code for Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–46
xii
3–14
3–15
3–15
3–18
3–18
3–18
3–33
3–34
3–35
3–37
3–38
3–39
3–39
3–40
3–41
3–42
3–42
3–43
List of Tables (continued)
Table
Title
Page
5–1 . Cycle Timer Program Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–18
5–2 . Cycle Time Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–18
A–1 Receiving Asynchronous Data to the Bulky Asynchronous FIFO
(Bulky Data Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A–2 Receiving Asynchronous Data to the Asynchronous Control FIFO . . . . . . . . . . . . .
A–3 Receiving Isochronous Data to the Bulky Isochronous FIFO
(Bulky Data Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A–4 Receiving Isochronous Data to the Bulky Isochronous FIFO
(Microprocessor Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A–5 Receiving MPEG2 (DVB) Data to the Bulky MPEG2 FIFO (Bulky Data Interface)
A–6 Receiving DSS Data to the Bulky DSS FIFO (Bulky Data Interface) . . . . . . . . . . . .
A–7 Receiving MPEG2 (DVB) Data to the Bulky MPEG2 (DVB) FIFO
(Microprocessor Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A–8 Receiving DSS Data to the Bulky DSS FIFO (Microprocessor Interface) . . . . . . . .
B–1
B–2
B–3
B–4
B–5
Transmitting Asynchronous Data Packets (Bulky Data Interface) . . . . . . . . . . . . . .
Transmitting Asynchronous Control Packets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transmitting Isochronous Data, Headers Auto Inserted (Bulky Data Interface) . . .
Transmitting Fully Formatted Isochronous Data (Microprocessor Interface) . . . . .
Transmitting MPEG2 (DVB) Data from Bulky Data Interface,
Headers Auto-Inserted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B–6 Transmitting DSS Data from Bulky Data Interface, Headers Auto-Inserted . . . . . .
B–7 Transmitting Fully Formatted MPEG2 (DVB) Data Fully Formatted . . . . . . . . . . . .
B–8 Transmitting Fully Formatted DSS 130 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A–1
A–2
A–2
A–3
A–4
A–4
A–5
A–6
B–1
B–2
B–3
B–3
B–4
B–5
B–6
B–7
xiii
xiv
1 Introduction
1.1
Description
The Texas Instruments TSB12LV41 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 TSB12LV41 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 TSB12LV41 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 TSB12LV41 also supports non-MPEG-2/DSS isochronous and asynchronous data transfer with an
auto-packetization feature.
The TSB12LV41 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 TSB12LV41 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.2
Features
The TSB12LV41 supports the following features:
1.3
1.4
•
Supports 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
•
Supports bus functions and automatic 1394 Self-ID verification
•
Single 3.3-V supply operation with 5-V tolerance using 5-V bias terminals
•
High-performance 100-Pin PZ (S-PQFP-G100) package
Related Documents
•
IEEE STD IEEE 1394-1995 High-Performance Serial Bus
•
IEC 61883 Digital Interface for Consumer Electronic Audio/Video Equipment
Ordering Information
ORDERING NUMBER
TSB12LV41PZ
NAME
MPEG2LYNX
VOLTAGE
3.3 V, 5-V Tolerant I/Os
FireWire is a trademark of Apple Computer, Incorporated.
1–2
DATA RATE
Up to 200 Mbits/s
PACKAGE
100-Pin PQFP
1.5
Terminal Assignments
TSB12LV41
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
60
59
58
57
56
55
54
53
52
51
DATA10
DATA3
DATA11
GND
DATA4
DATA12
DATA5
DATA13
VCC
BCLK
VCC +5V
DATA6
DATA14
DATA7
DATA15
GND
ADR8
ADR7
VCC
ADR6
ADR5
ADR4
ADR3
ADR2
ADR1
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
BDO6
BDO7
LPS (STAT0)
ISOLAT
BDOAVAIL (STAT2)
BDIBUSY (STAT3)
VCC
TRST
GND
D3
D2
D1
D0
CTL1
CTL0
VCC +5V
SCLK
VCC
LREQ
BDOF0
BDOF1
BDOF2
GND
BDOEN
ADR0
BDI/O0
BDI/O1
BDI/O2
BDI/O3
VCC
BDI/O4
BDI/O5
BDI/O6
BDI/O7
GND
CNTNDR
TMS
TDI
TCK
VCC +5V
BDOCLK
VCC
TDO
BDO0
BDO1
BDO2
BDO3
GND
BDO4
BDO5
100
99
98
97
96
95
94
93
92
91
90
89
88
87
86
85
84
83
82
81
80
79
78
77
76
BDIF2
BDIF1
BDIF0
GND
RESET
CYCLEIN/SE
SCKEN
BDIEN
VCC
BDICLK
VCC +5V
INT
RDY
GND
CS
MCSEL1
MCSEL0
MCCTL1
MCCTL0
VCC
DATA0
DATA8
DATA1
DATA9
DATA2
PZ PACKAGE
(TOP VIEW)
1–3
Table 1–1. Terminal Functions
TERMINAL
NAME
NO.
I/O
DESCRIPTION
ADR0 – ADR8
50,51,52,53,54,
55,56,58,59
BCLK
66
BDIF2 – BDIF0
100,99,98
I/O
Indicator lines for BDIF. BDIF2 – BDIF0 are used to select the type
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.
BDI/O7 – BDI/O0
9,8,7,6,4,3,2,1
I/O
Bidirectional bulky data I/O port . BDI/O7 – BDI/O0 are data lines
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.
BDIBUSY (STAT3)
31
O
Bulky data interface busy status. When high, BDIBUSY indicates
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).
BDICLK
91
I
Bulky data clock
BDIEN
93
I
BDI bus enable. When low, BDIEN causes accesses to BDI-bus
to be ignored.
BDO7 – BDO0
27,26,25,24,22,
21,20,19
O
Output 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.
BDOAVAIL(STAT2)
30
O
Bulky data output available/status output 2. BDOAVAIL indicates
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).
BDOCLK
16
I
Bulky data output clock
BDOF2 – BDOF0
47,46,45
O
Indicator lines BDO. BDOF2 – BDOF0 are used to select the
type of data to be read from the BDO.
BDOEN
49
I
BDO bus enable. When BDOEN is asserted low, accesses to
BDO bus are ignored.
CNTNDR
11
I/O
Bus manager contender. CNTNDR indicates to the LLC when
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.
CS
86
I
Chip select. CS must be asserted low when the device is to be
selected for reads and writes.
CTL0,CTL1
40,39
I/O
Control 0 and control 1 of the Phy-link control bus. CTL0 and
CTL1 control the four operations that can occur in this interface.
CYCLEIN/SE
95
I
Cycle in. CYCLEIN is an optional external 8-kHz clock used as
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).
D0 – D3
38,37,36,35
I/O
Phy-link data. D0 – D3 is data input from the Phy-link data bus.
Data is expected on D0 – D1 for 100 Mbits/s and D0 – D3 for
200 Mbits/s.
1–4
I
Microprocessor interface address lines. ADR0 is the most
significant bit.
I
Host bus clock
Table 1–1. Terminal Functions (Continued)
TERMINAL
NAME
NO.
I/O
DESCRIPTION
I/O
Microprocessor interface data bus. DATA0 is the most significant
bit. Some of these terminals may have different functions
depending on the microprocessor mode selected.
DATA0 – DATA15
80,78,76,74,71,
69,64,62,79,77,
75,73,70,68,63,
61
GND
10,23,34,48,60,
72,87,97
INT
89
O
Interrupt. INT signals the host that an interrupt has occurred.
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.
ISOLAT
29
I/O
Isolation mode/status output 1. ISOLAT is sampled during a
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.
LPS (STAT0)
28
O
Link power status/status output 0. This terminal is used to drive
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).
LREQ
44
O
Link request. LREQ is an output that makes bus request and
accesses to the Phy.
MCCTL0, MCCTL1
82,83
I
Control lines for bus access function depend on MP/MC-type.
MCSEL0, MCSEL1
84,85
I
Select lines for MP/MC-type used. Has impact on function
MCTRL,ADR, RDY, and DATA terminals.
RDY
88
O
Ready line. When asserted high, RDY indicates the end of an
microprocessor access.
RESET
96
I
Reset. RESET is the asynchronous power on reset to the
TSB12LV41 and is active low.
SCKEN
94
I
Scan clock enable. This signal is for test purposes only. This
signal should be tied low during normal operation.
SCLK
42
I
System clock. SCLK is a 49.152-MHz clock from the Phy.
TCK
14
I
JTAG clock. Used for test purposes only. During normal
operation this terminal should be pulled up to VCC.
TDI
13
I
JTAG data in. Used for test purposes only. During normal
operation this terminal should be pulled down to ground.
TDO
18
O
JTAG data out. Used for test purposes only.
TRST
33
I
JTAG mode reset. Used for test purposes only. During normal
operation this terminal should be pulled down to ground.
TMS
12
I
JTAG mode select. TMS is used for JTAG. During normal
operation this terminal should be pulled up to VCC.
Ground reference
1–5
Table 1–1. Terminal Functions (Continued)
TERMINAL
NAME
NO.
I/O
DESCRIPTION
VCC
5,17,32,43,57,
67,81,92
3.3 V (3.0 V – 3.6 V) power supplies
VCC+5V
15,41,65,90
5 V ± 5% power supplies for 5-V tolerant I/O terminals. These
terminals can be tied to 3.3 V if no 5-V devices interface to the
TSB12LV41.
1–6
2 Architecture
The following sections give an overview of the TSB12LV41. Figure 2–1 shows a functional block diagram
of the TSB12LV41.
2–1
2–2
BDIN
CONTROL
AVD-Layer
32
32
32
Bulky Data
Interface
32
32
BDOUT
CONTROL
32
32
32
Bulky Data FIFO
6 Queue Virtual Buffer
IX
32
32
32
IR
Physical
Layer
Interface
AX
MPEG2/DSS
Time Offset Tx
25
32
MX
Control
+
Loc. Time Reg.
Aging
SCLK
CTL0
CTL1
LREQ
LD0
LD1
LD2
LD3
AR
MPEG2/DSS Transmit
Control/Aging
25 +
MPEG2/DSS
RX Time Offset
=
32
32
32
MR
Control
Aging
MPEG2/DSS Receive
Control/Aging
Configuration
Register
(CFRs)
MPEG2/DSS Transmit and Receive Control
ACX
FIFO
ACR
FIFO
BWR
FIFO
8/16D’s
8A’s
Microprocessor Interface
Payload Data Busses
Control Data Busses
Control Processor
Figure 2–1. Functional Block Diagram
PHY-Chip
2.1
Bulky Data Interface
The bulky data interface (BDI) enables the TSB12LV41 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.2
Bulky 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.1
BDI 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.2
BDI 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.3
BDI 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.4
BDI 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.5
BDI 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.6
BDI 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.3
MPEG2 (DVB)/DSS Transmit and Receive Control
The following sections give information on MPEG2 (DVB) and DSS transmit and receive control.
2.3.1
Local 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.2
MPEG2 (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.4
Microprocessor/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.5
Control 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:
•
•
•
2.5.1
Asynchronous Control Transmit FIFO (ACTX)
Asynchronous Control Receive FIFO (ACRX)
Broadcast Write Receive FIFO (BWRX)
Asynchronous 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.2
Asynchronous 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.3
Broadcast Write Receive FIFO (BWRX)
The BWRX FIFO is typically used to receive asynchronous broadcast write request packets.
2.6
Physical 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 TSB12LV41 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 ISOLAT terminal to
ground.
2.7
Configuration Register (CFR)
The TSB12LV41 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 TSB12LV41 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 TSB12LV41 at the host-bus interface.
The receive formats describe the data format that the TSB12LV41 presents to the host-bus interface.
3.1
Transmit Operation
3.1.1
Transmitting 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
Phy–IF
BD–IF
Control FIFO
CFR
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.2
Transmitting 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 BATX 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). These
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
3.3, Asynchronous Data Formats. 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.
MODE
ATENABLE
BDAXE
AHIM
DATA SOURCE
HEADER SOURCE
1
1
1
1
Bulky Data Interface
Configuration Registers
2
1
0
1
Microprocessor Interface
Configuration Registers
3
1
1
0
Bulky Data Interface
Bulky Data Interface
4
1
0
0
Microprocessor Interface
Microprocessor Interface
Mode 1: Transmit Asynchronous Data from BATX Using The BDIF, Data Is
Auto-Packetized
The BDIF writes data to the BATX. 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 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=1) Please reference Figure 3–2.
3–2
Data
Bulky FIFO
Phy–IF
BD–IF
Asynchronous,
Isochronous Tx
Headers
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 BATX.
The last quadlet of the asynchronous packet is written into register 110h (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: ATENABLE=1, BDAXE=0, AHIM=1) (See Figure 3–3).
Asynchronous,
Isochronous Tx
Bulky FIFO
Phy–IF
BD–IF
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 BATX. 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
Bulky FIFO
Phy–IF
BD–IF
Asynchronous,
Isochronous Tx
Control FIFO
Cycle Timer
CFR
MPMC–IF
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 BATX using registers 10Ch and 110h. 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 BATX. The last quadlet of the asynchronous
packet is written into register 110h (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:
ATENABLE=1, BDAXE=0, AHIM=0) (see Figure 3–5).
3–4
Bulky FIFO
Phy–IF
BD–IF
Asynchronous,
Isochronous Tx
CFR
Control FIFO
Cycle Timer
MPMC–IF
Headers
and Data
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” of an asynchronous packet to the bulky data
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.
3–5
3.1.3
Transmitting 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.
MODE
ITENABLE
BDIXE
IHIM
1
1
1
1
Bulky Data Interface
DATA SOURCE
Configuration Registers
HEADER SOURCE
2
1
0
1
Microprocessor Interface
Configuration Registers
3
1
1
0
Bulky Data Interface
Bulky Data Interface
4
1
0
0
Microprocessor Interface
Microprocessor 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
Mode 3: Transmit Isochronous Data from BITX Using the BDIF, Data Is Fully Formatted
from the Application
The BDIF writes data to the BITX. This data includes all isochronous header and data bytes. The 1394
isochronous header is the same format as described in Section 3.5. The packet is transmitted once the last
byte is written into the BITX. The last byte is signaled by the Bulky Data Interface Format Lines (BDIF[2..0]).
(Settings for Register EC in this mode: ITENABLE=1, BDIXE=1, IHIM=0).
Mode 4: Transmit Isochronous Data from BITX Using the MP/MC IF, Data Is Fully
Formatted from the Application
The MP/MC IF writes data to the BITX using registers 134h and 138h. This data includes all isochronous
header and data bytes. The isochronous header quadlet is the same format as described in Section 3.5.
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–5) (Settings for register EC in this mode: ITENABLE=1,
BDIXE=0, IHIM=0).
General Isochronous Transmit Notes
3.1.4
•
Packet Flush: The entire BITX FIFO can be flushed by setting the IXFLSH bit in the AICR Register
(register EC).
•
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” of an isochronous packet to the bulky data
interface. Similarly, if data from the microprocessor interface is a multiple of four bytes, then all
of the data can be written to register 134h 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 isochronous header.
•
The MPEG2Lynx can transmit more than one isochronous packet per isochronous cycle, if the
application provides the 1394 isochronous header with the data and bit 24 of the isochronous
header is set to 1. The MPEG2Lynx arbitrates for the bus after every packet that is sent. No
concatenated isochronous subactions are allowed.
Notes on Byte Padding
All packets on 1394 must end on a quadlet boundary (4 byte boundary.) The MPEG2Lynx can insert
“padding” bits to a data packet that is not quadlet aligned. The MPEG2Lynx only adds padding bits to the
last quadlet. This allows for transmission of the data without any modification from the host. For isochronous
data that is not a multiple of four bytes, or does not end on a quadlet boundary, the BDIF format lines
(BDIF[2–0]) indicates the last byte of the packet. The bulky data interface logic adds padding zeroes to the
data to insure that it ends on a quadlet boundary.
3.1.5
MPEG2(DVB)/DSS Transmit
MPEG2(DVB)/DSS packets are usually transmitted from the bulky MPEG FIFO (or bulky DSS FIFO) using
the Bulky Data Interface, BDIF. The application transmits single bytes to the bulky data interface which are
packetized into quadlets (32 bits). Once four bytes have been written to the bulky data interface, the
complete quadlet is written into the Bulky FIFO. The first byte of an MPEG2(DVB)/DSS cell is denoted on
the bulky data interface by the format bus. (Please see Section 4.1, bulky data interface for more
information) An internal cyclic counter keeps track of MPEG2(DVB)/DSS cell boundaries (192 bytes for
MPEG2(DVB) and 144 bytes for DSS.) The microprocessor has access to the bulky FIFOs through registers
160h and 164h (registers 16Ch and 170h for DSS).
3–7
NOTE:
Many of the MPEG2(DVB) and DSS registers are “shadow registers.” (Two
addresses point to the same register). These registers include the following:
•
•
•
•
•
•
•
•
•
•
MCR (F0h) == DCR (F4h)
MXH (1C8h) == DXH (1D4h)
MCIPX0 (1CCh) == DCIPX0 (1D8h)
MCIPX1 (1D0h) == DCIPX1 (1DCh)
MXTO (DCh) == DXTO (E0h)
MRH (178h) == DRH (188h)
MCIPR0 (17Ch) == DCIPR0 (18Ch)
MCIPR1 (180h) == DCIPR1 (190h)
MRT (184h) == DRT (194h)
MRTO (E4h) == DRTO (E8h)
The MPEG2(DVB) transmit operation is controlled in register F0 (MPEG2 formatter control register). The
DSS transmit operation is controlled in register F4 (DSS formatter control register.) Please note that the
MPEG2Lynx can only support one format at a time.
The size of the MPEG2(DVB) transmit FIFO is set in register 150h. It is programmed in multiples of four
quadlets. The available empty quadlet locations in the transmit FIFO are available in register 154h.
The size of the DSS transmit FIFO is set in register 158h. It is programmed in multiples of four quadlets. The
available empty quadlet locations in the transmit FIFO are available in register 15Ch.
For MPEG2(DVB) formatted isochronous transmission, there are eight defined bandwidth classes. There
are seven defined bandwidth classes for DSS. The bandwidth classes (or transmit classes) define the
maximum bandwidth that can be used for a given MPEG2(DVB)/DSS channel. These classes are
programmed in the MCR bits of the F0h register for MPEG2(DVB) and in the DCR bits of the F4h register
for DSS. These bits are static and must not be changed during operation. On setup, the initiator of an
MPEG2(DVB)/DSS channel needs to request a bandwidth class transport stream from the isochronous
resource manager (IRM) that is higher than the peak transport stream rate.
The MPEG2Lynx transmits an MPEG2 (DVB)/DSS packet every isochronous cycle, if enough data is in the
transmit FIFO (according to the selected transmit class). If there is not enough data in the FIFO to meet the
transmit class requirements, then an empty packet is transmitted. An empty packet is transmitted each iso
cycle until enough data is in the transmit FIFO.
The MPEG2Lynx performs automatic CIP header and time stamp insertion as defined by the IEC61883
specification. The CIP headers can be programmed in registers 1CCh and 1D0h for MPEG2(DVB) transmit.
These registers are available at 1D8h and 1DCh for DSS transmit. (Please see Section 3.3 for more
information on time stamps.) The default values of the CIP header registers are sufficient for transmission
under normal conditions. The MPEG2Lynx also automatically inserts the 1394 isochronous header. This
header can be programmed in register 1C8h for MPEG2(DVB) transmission and in register 1D4h for DSS
transmission. The default value of the 1394 isochronous header registers should be sufficient for normal
transmission. However, the channel number may need to be changed. The format of the 1394 isochronous
header should match the format described in Section 3.5.
There are six different modes for transmitting MPEG2(DVB) or DSS data. The BDMXE/MHIM/MTXTSIN
control signals can all be programmed in the F0h register. The BDDXE/DHIM/DTXTSIN control signals can
all be programmed in the F4h register.
3–8
Mode
BDMXE/
BDDXE
MHIM/DHIM
MTXTSIN/
DTXTSIN
Time Stamp
From
1394 and CIP
Headers
From
Data From
1
1
1
1
Cycle Timer
CFR
BDIF
2
1
1
0
BDIF
CFR
BDIF
3
1
0
X
BDIF
BDIF
BDIF
4
0
1
1
Cycle Timer
CFR
MP/MC
5
0
1
0
MP/MC
CFR
MP/MC
6
0
0
X
MP/MC
MP/MC
MP/MC
Mode 1: MPEG2 (DVB)/DSS Data from Bulky Data Interface, All Headers and
Timestamps Automatically Inserted
The data is written to the bulky FIFO from the bulky data interface. The 1394 header and CIP headers are
automatically inserted at the beginning of each MPEG2 cell. These headers are calculated internally and
are programmable in registers 1C8h – 1D0h. (Registers 1D4h – 1DCh for DSS transmits) The time stamp
is also inserted automatically at the beginning of each MPEG2 cell. This timestamp is based on the cycle
timer value and an offset value. The transmit offset is programmable in register DCh. (Register E0h for DSS
transmit.) See the Timestamps and Aging Section (Section 3.3) for more detail on the calculation of
timestamps.Figure 3–6 shows the data flow for this mode.
Bulky FIFO
Data
Phy–IF
BD–IF
Time
Stamp
MPEG2 (DVB)
/DSS Tx
1394
and CIP
Headers
Control FIFO
Cycle Timer
CFR
MPMC–IF
Figure 3–6. MPEG2 (DVB)/DSS Data from Bulky Data Interface, All Headers and Timestamps
Automatically Inserted
3–9
Mode 2: MPEG2 (DVB)/DSS Data from Bulky Data Interface All Headers Automatically
Inserted, Time Stamp Supplied by Application
The data is written to the bulky FIFO from the bulky data interface. The 1394 header and CIP headers are
automatically inserted at the beginning of each MPEG2 cell. These headers are calculated internally and
are programmable in registers 1C8h – 1D0h. (Registers 1D4h – 1DCh for DSS transmits) The time stamp
is supplied by the application with the data at the beginning of each MPEG2 cell. Figure 3–7 shows the data
flow for this mode.
Data and
Time
Stamp
Bulky FIFO
Phy–IF
BD–IF
MPEG2 (DVB)
/DSS Tx
1394
and CIP
Headers
Control FIFO
Cycle Timer
CFR
MPMC–IF
Figure 3–7. MPEG2 (DVB)/DSS Data from Bulky Data Interface All Headers Automatically
Inserted, Time Stamp Supplied by Application
Mode 3: Data from Bulky Data Interface, All Headers and Timestamps Supplied by
Application
The data is written to the bulky FIFO from the bulky data interface. The 1394 header, CIP headers, and
timestamp are supplied by the application and are included with the data at the beginning of each MPEG2
cell. Figure 3–8 shows the data flow for this mode.
Data, 1394
and CIP
Headers,
Time Stamp
Bulky FIFO
Phy–IF
BD–IF
MPEG2 (DVB)
/DSS Tx
Control FIFO
Cycle Timer
CFR
MPMC–IF
Figure 3–8. MPEG2 (DVB)/DSS Data from Bulky Data Interface, All Headers and Timestamps
Supplied by Application
3–10
Mode 4: MPEG2 (DVB)/DSS Data from Microprocessor, All Headers and Timestamps
Automatically Inserted
The data is written to the bulky FIFO from the microprocessor interface. The microprocessor has access
to the bulky FIFO through registers 160h and 164h. (Registers 16Ch and 170h for DSS transmit). The
microprocessor writes the first quadlet of the packet, as well as all consecutive quadlets except the last, to
register 160h. The last quadlet is written to register 164h, and the packet is transmitted. The packet must
be an appropriate size for the transmit class selected. The 1394 header and CIP headers are automatically
inserted at the beginning of each MPEG2 cell. These headers are calculated internally and are
programmable in registers 1C8h – 1D0h. (Registers 1D4h – 1DCh for DSS transmits) The time stamp is also
inserted automatically at the beginning of each MPEG2 cell. This timestamp is based on the cycle timer
value and an offset value. The transmit offset is programmable in register DCh. (Register E0h for DSS
transmit.) See the Timestamps and Aging Section (Section 3.3) for more detail on the calculation of
timestamps. Figure 3–9 shows the data flow for this mode.
MPEG2 (DVB)
/DSS Tx
Bulky FIFO
Phy–IF
BD–IF
Time
Stamp
1394
and CIP
Headers
Control FIFO
Cycle Timer
CFR
MPMC–IF
Data
Figure 3–9. MPEG2 (DVB)/DSS Data from Microprocessor, All Headers and Timestamps
Automatically Inserted
3–11
Mode 5: MPEG2 (DVB)/DSS Data from Microprocessor All Headers Automatically
Inserted Time Stamp Supplied by Application
The data is written to the bulky FIFO from the microprocessor Interface. The microprocessor has access
to the Bulky FIFO through registers 160h and 164h. (Registers 16Ch and 170h for DSS transmit). The
microprocessor writes the first quadlet of the packet, as well as all consecutive quadlets except the last, to
register 160h. The last quadlet is written to register 164h, and the packet is transmitted. The packet must
be an appropriate size for the transmit class selected. The 1394 header and CIP headers are automatically
inserted at the beginning of each MPEG2 cell. These headers are calculated internally and are
programmable in registers 1C8h – 1D0h. (Registers 1D4h – 1DCh for DSS transmits) The time stamp must
be included with the data at the beginning of each MPEG2 cell by the application. Figure 3–10 shows the
data flow for this mode.
MPEG2 (DVB)
/DSS Tx
Bulky FIFO
Phy–IF
BD–IF
1394
and CIP
Headers
Control FIFO
Cycle Timer
CFR
MPMC–IF
Data
and
Time Stamp
Figure 3–10. MPEG2 (DVB)/DSS Data from Microprocessor All Headers Automatically Inserted
Time Stamp Supplied by Application.
3–12
Mode 6: MPEG2 (DVB)/DSS Data from Microprocessor, All Headers and Timestamps
Supplied by Application
The data is written to the bulky FIFO from the microprocessor interface. The microprocessor has access
to the bulky FIFO through registers 160h and 164h. (Registers 16Ch and 170h for DSS transmit). The
microprocessor writes the first quadlet of the packet, as well as all consecutive quadlets except the last, to
register 160h. The last quadlet is written to register 164h, and the packet is transmitted. The packet must
be an appropriate size for the transmit class selected. The 1394 header, the CIP headers, and the timestamp
must be provided by the application with the data. Figure 3–11 shows the data flow for this mode.
MPEG2 (DVB)
/DSS Tx
Bulky FIFO
Phy–IF
BD–IF
Control FIFO
Cycle Timer
CFR
MPMC–IF
Data,
1394 and CIP headers,
Time Stamp
Figure 3–11. MPEG2 (DVB)/DSS Data from Microprocessor, All Headers and Timestamps
Supplied by Application
3.1.5.1
•
MPEG-2 Bandwidth Classes on 1394
Class 0 (0..1.5 Mbit/s)
On each isochronous transmission cycle, the MPEG-2 framer checks if 24 valid bytes are
available in the BMDTX FIFO; if so, these 24 bytes are taken as the payload for an MPEG-2
packet and sent over 1394; if not, an empty MPEG-2 packet is sent.
The possible packet sizes are 44 bytes (1/8 cell) and 20 bytes (for an empty packet)
•
Class 1 (0..3 Mbit/s)
On each isochronous transmission cycle the MPEG-2 framer checks if 48 valid bytes are
available in the BMDTX FIFO; if so, these 48 bytes are taken as the payload for an MPEG-2
packet and sent over 1394; if not, an empty MPEG-2 packet is sent.
The possible packet sizes are 68 bytes (2/8 cell) and 20 bytes (for an empty packet)
•
Class 2 (0..6 Mbit/s)
On each isochronous transmission cycle, the MPEG-2 framer checks if 96 valid bytes are
available in the BMDTX FIFO; if so, these 96 bytes are taken as the payload for an MPEG-2
packet and sent over 1394; if not, an empty MPEG-2 packet is sent.
3–13
The possible packet sizes are 116 bytes (4/8 cell) and 20 bytes (for an empty packet)
•
Class 3 (0..12 Mbit/s)
The MPEG-2 framer checks if a complete M cell (188 bytes) is available on an isochronous
transmission cycle. If so, this M cell is used as payload for the M packet. If not a empty packet is
sent.
The possible packet sizes are 212 bytes (1 cell) and 20 bytes (for an empty packet).
•
Class 4 (0 – 24 Mbit/s), Class 5 (0 – 36 Mbit/s), Class 6 (0 – 48 Mbit/s), Class 7 (0 – 60 Mbit/s)
Classes 4 – 7 work like class 3; on each isochronous transmit cycle a check is done to see how
many complete M cells are available for transmission. The available M cells are then taken as the
payload for the M packet. If there is no complete cell available, then an empty packet is sent.
3.1.5.2
•
MPEG-2 CIP Header Calculations
Static values
–
–
–
•
nMXH: tag,chanNum, spd, sy
nCIPX0:SID,FN,QPC,SPH
nCIPX1:FMT,FDF
Calculated values
–
–
–
nMXH: length
nCIPX0: DBS, DBC
nCIPX1: length field
Table 3–1. Initial values for the CIP headers (to be set by SW)†
Class
SID
FN
QPC
SPH
DBC
FMT
FDF
source ID
11
000
1
0...0
100000
0...0
1
source ID
11
000
1
0...0
100000
0...0
2
source ID
11
000
1
0...0
100000
0...0
3
source ID
11
000
1
0...0
100000
0...0
4
source ID
11
000
1
0...0
100000
0...0
5
source ID
11
000
1
0...0
100000
0...0
6
source ID
11
000
1
0...0
100000
0...0
7
source ID
11
000
1
0...0
100000
0...0
† All values listed are in binary format.
nDBC field calculation is done by adding the DBC incremental value of an M packet to be sent to the
current DBC value.
nDBS field calculation is done by deciding what size of M packet can be sent over 1394 and interleaving
the corresponding value to the link core.
nLength field calculation (in M-formatted, I-packet header) is done by deciding what size of M packet
can be sent over 1394 and interleaving the corresponding value to the link core.
3–14
Table 3–2. DBC Incremental Numbers, DBS Value and Length Values for MPEG-2 Packets†
M Packet Size
20
44
68
116
212
404
596
788
980
DBC incremental value
0
1
2
4
8
16
24
32
40
DBS value
6
6
6
6
6
6
6
6
6
Data Length
8
32
† All values listed are in decimal format.
56
104
200
392
584
776
968
3.1.5.3
MPEG2 (DVB) on 1394 Bandwidth Table
Table 3–3. MPEG2 on 1394 Bandwidth
Class MXC
Value
Max. TSP
BW
(Mbits/s)
Max SP BW
(Mbits/s)
Max 1394
BW
(Mbits/s)
Possble MPEG2 (DVB)-Packet Sizes Including
CIP, M Hdr, and CRCs
(Bytes)
0
1.504
1.536
2.816
20, 44
1
3.008
3.072
4.352
20, 68
2
6.016
6.144
7.424
20, 116
3
12.032
12.288
13.568
20, 212
4
24.064
24.576
25.856
20, 212, 404
5
36.096
36.864
38.144
20, 212, 404, 596
6
48.128
49.152
50.432
20,212,404,596,788
7
60.160
61.440
62.720
20,212,404,596,788,980
•
TSP BW
Transport stream package bandwidth (based on 188-byte MPEG-2 cells/ BW on ADV layer)
•
SP BW
Source package bandwidth (based on 192-byte MPEG-2 source cells.)
•
1394 BW
Overall BW of 1394 bus on physical medium (includes 4-byte M packet transmit header, 4-byte
MPEG2 (DVB) packet header CRC, 8-byte CIP header, 4-byte timestamp, actual payload and
4-byte payload CRC). This is the BW that needs to be allocated by the initiator of an MPEG-2
transfer.
3–15
3.1.5.4
Simple MPEG2 (DVB) Transmission over 1394
1st M-Cell
2nd M-Cell
3rd M-Cell
Data From MPEG
Application
Data From BD-IF
to M-TX-FIFO
Data From
TS-Generator
Input Data
to M-TX-FIFO
Contents of
Header Regs Valid for Empty M pack. Valid for One M Cell
Valid for Two M Cells
Empty
M pack.
Valid for One M Cell
Internal
I-Slot Enable
Î
Î
Î
Data to
Inkcore
Data on 1394 Bus
on Physical
Medium
ÎÎ
ÎÎ
Î
Î
Î
Î
Î
Time
An MPEG-Package on The 1394 Wire:
Payload CRC (Generated by Link Core)
2nd M Cell
1st Byte of 2nd M Cell
Timestamp of 2nd M Cell
1st M Cell
1st Byte of 1st M Cell
Timestamp of 1st M Cell
CIP Header (Calculated by MPEG2Lynx)
ISO-Header CRC (Generated bu Link Core)
1394 Isochronous Header (Calculated by MPEG2Lynx)
M-Package Payload
Figure 3–12. Simple MPEG-2 Transmission Over 1394
This diagram shows a simple scenario of a class 5 link (up to 36 Mbit/s). Since there were just two complete
M cells available at the time of transmit, only two could be sent. The MPEG-2 data can be written to the BDIF
in any manner (burst access, asynchronous, parallel).
3–16
3.1.5.5
•
DSS Bandwidth Classes on 1394
Class 0 (0..1 Mbit/s)
This mode is not supported by the TSB12LV41.
•
Class 1 (0..2 Mbit/s)
On each isochronous transmission cycle, the DSS framer checks if 36 valid bytes are available in
the BMDTX FIFO; if so, these 36 bytes are taken as the payload for a DSS packet and sent over
1394; if not, an empty DSS packet is sent instead. The possible packet sizes are 56 bytes (for a
quarter cell) and 20 bytes (for an empty packet)
•
Class 2 (0..4 Mbit/s)
On each isochronous transmission cycle the DSS framer checks if 72 valid bytes are available in
the BMDTX FIFO; if so, these 72 bytes are taken as the payload for an DSS packet and sent over
1394; if not, an empty DSS packet is sent instead. The possible packet sizes are 92 bytes (2
quarter cell) and 20 bytes (for an empty packet)
•
Class 3 (0..8 Mbit/s)
The DSS framer checks if a complete DSS (140 bytes) cell is available on a isochronous
transmission cycle. If so, this DSS cell is used as payload for the DSS packet. If not, an empty
packet is sent instead. The possible packet sizes are 164 bytes and 20 bytes.
•
Class 4 (0..16 Mbit/s), Class 5 (0..24 Mbit/s), Class 6 (0..32 Mbit/s), Class 7 (0..40 Mbit/s)
Classes 4 – 7 work like class 3; on each isochronous transmit a check is done, how many
complete DSS cells are available to be sent. The available DSS cells are then taken as the
payload for the DSS packet. If there is no complete cell available, then an empty packet is sent.
3.1.5.6
•
DSS packets CIP Header Calculations
Static values
–
–
–
•
nDXH: tag,chanNum, spd, sy
nDCIPX0:SID,FN,QPC,SPH
nDCIPX1:FMT,FDF
Calculated values
–
–
–
nDXH: Length
nDCIPX0: DBS, DBC
nDCIPX1: Length
3–17
Table 3–4. Initial Values for the DCIP Headers (to be Set By SW)†
SID
FN
QPC
SPH
DBC
FMT
FDF‡
Not
Supported
Not
Supported
Not
Supported
Not
Supported
Not
Supported
Not
Supported
Not
Supported
1
Source ID
10
000
1
0...0
100001
x0...0
2
Source ID
10
000
1
0...0
100001
x0...0
3
Source ID
10
000
1
0...0
100001
x0...0
4
Source ID
10
000
1
0...0
100001
x0...0
5
Source ID
10
000
1
0...0
100001
x0...0
6
Source ID
10
000
1
0...0
100001
x0...0
0...0
100001
x0...0
Class
7
Source ID
10
000
1
† All values listed are in binary format.
‡ x=0 means not time shifted; x=1 means the stream is time shifted
The nDBC field calculation is done by adding the DBC incremental value of an DSS packet to be sent to
the current DBC value.
The nDBS field calculation is done by deciding what size of DSS packet can be sent over 1394 and
interleaving the corresponding value to the link core.
The nLength field calculation (in DSS-formatted I-packet header) is done by deciding what size of DSS
packet can be sent over 1394 and interleaving the corresponding value to the link core.
Table 3–5. DBC Incremental Numbers, DBS Value and Length Values for DSS Packets†
DSS-Packet Size
20
38
56
92
164
308
452
596
740
DBC incremental value
0
n/a
1
2
4
8
12
16
20
DBS value
9
n/a
9
9
9
9
9
9
9
8
n/a
44
80
152
296
440
584
728
Data length
† All values listed are in decimal format.
3.1.5.7
DSS on 1394 Bandwidth
Table 3–6. DSS on 1394 Bandwidth
Class DXC
Value
Max. DSS130
BW
(Mbits/s)
Max DSS140
BW
(Mbits/s)
Max SP BW
(Mbits/s)
Max 1394 BW
(Mbits/s)
Possble DSS-Packet Sizes
Including DCIP, D Hdr, and
CRCs
(Bytes)
0
n/a
n/a
n/a
n/a
n/a
1
2.08
2.24
2.304
3.584
20, 56
2
4.16
4.48
4.608
5.888
20 , 92
3
8.32
8.96
9.216
10.486
20, 164
4
16.64
17.92
18.432
19.712
20, 164, 308
5
24.96
26.88
27.648
28.928
20, 164, 308, 452
6
33.28
35.84
36.864
38.144
20, 164, 308, 452, 596
7
41.60
44.80
46.08
47.360
20, 164, 308, 452, 596, 740
3–18
•
DSS130 BW
Transport stream package bandwidth (based on 130-byte DSS cells/BW on ADV layer)
•
DSS140 BW
Transport stream package bandwidth (based on 140-byte DSS cells/BW on ADV layer)
•
SP BW
Source package bandwidth (based on 144-byte DSS source cells)
•
1394 BW
Overall BW of 1394 bus on physical medium (includes 4-byte M-packet transmit header, 4-byte
DSS-packet header CRC, 8-byte CIP header, 4-byte timestamp, actual payload and 4-byte
payload CRC). This is the BW that needs to be allocated by the initiator of an DSS transfer.
3–19
3.1.5.8
Simple DSS transmission over 1394
1st D 140-Cell
2nd D 140-Cell
3rd D 140-Cell
Data From DSS
Application
Data From BD-IF
to DSS-TX-FIFO
Data From
TS-Generator
Input Data to
DSS-TX-FIFO
Contents of
Header Regs Valid for Empty D pack. Valid for One D Cell
Valid for Two D Cells
Empty
D pack.
Valid for One D Cell
Internal
I-Slot Enable
Î
Î
Î
Data to
Inkcore
Data on 1394 Bus
on Physical
Medium
ÎÎ
ÎÎ
ÎÎ
Î
Î
Î
Î
Î
Î
Time
A DSS-PACKET on The 1394 Wire:
Payload CRC (Generated by Link Core)
2nd D-140 Cell
1st Byte of 2nd D-140 Cell
Timestamp of 2nd D-140 Cell
1st D-140 Cell
1st Byte of 1st D-140 Cell
Timestamp of 1st D-140 Cell
CIP Header (Calculated by MPEG2Lynx)
ISO-Header CRC (Generated bu Link Core)
1394 Isochonous Header (Calculated by MPEG2Lynx)
D-Packet Payload
Figure 3–13. Simple DSS Transmission Over 1394
This diagram shows a simple scenario of a class 5 connection (up to 24 Mbit/s) when there were just two
complete DSS cells available at the time. The DSS data can be written to the bulky data interface in any
manner (burst access, asynchronous, parallel).
3.1.5.9
DSS130/DSS140 Differences
The TSB12LV41 supports the 130-byte DSS-cell-format and the 140-byte DSS-cell-format. Since all
DSS-cells need to be converted to 140-byte cells before they can be transmitted, only the 130-byte cells
need to be adapted. If the X130 bit (DCR register) is high, the 10 DSS header bytes in the DXX0, DXX1,
and DXX2 registers are inserted on transmission. Only 130 bytes are expected on the bulky data interface.
3–20
The DSS header bytes are inserted as a 10-byte block directly after the source packet header (timestamp
quadlet). The insertion of the header bytes occurs directly after the first bit/byte of a DSS cell is sent to the
bulky data interface. On receive, the DRX register is always loaded with the DSS header bytes immediately
after the DSS cell is to be released to the video application according to its timestamp.
If the R130 bit in the DCR register is set, only 130-byte DSS cells are given out to the bulky data interface.
The conversion from DSS130 to DSS140 cells is done in the byte merger of the bulky data interface. If the
MP/MC writes and reads DSS cells by way of the MP/MC interface, full DSS140 cells need to be generated.
DSS130 packets are embedded inside the DSS140 structure as follows:
DSS140 Cell
Packet Format
DSS130 Cell
Packet Format
0
1
2
3
0
1
2
3
4
5
6
7
4
5
6
7
8
9
0
1
2
3
4
5
136
137
138
DSS130 Cell
Resides Inside
The DSS140
Cell Format
139
126
127
128
129
Figure 3–14. DSS130 Packets
NOTE:DSS130 format is supported by the bulky data interface only.
3.2
Receive Operation
3.2.1
Receiving Asynchronous Packets
Asynchronous traffic can be directed into either one or both asynchronous receive FIFOs depending on the
type of packet received.
The BWRX (broadcast write receive FIFO) collects asynchronous self-id’s after a reset.
Asynchronous control packets with small data payloads are meant to go to the ACRX (asynchronous control
receive FIFO) while asynchronous packets with large data payload are meant to go directly to the BARX
(Bulky Asynchronous Receive FIFO). The ARDM0, ARDM1 and SIDM0 bits in the receive packet router
control register (reg 148h) allow various FIFO steering configurations with large data payloads.
•
SIDM0 =0 self-ID packages are kept in the BWRX FIFO (used for bus reset recovery)
•
SIDM0=1 self-ID packages go directly to the BARX FIFO (used for bus manager function where
numerous control packages are expected)
•
RIDM0=0 expected response packet (tlabel/tcode in PHYSR register) goes to the ACRX FIFO.
UnExpected Response packets (tlabel/tcode in PHYSR register) are routed to a FIFO based on
ARDM1 and ARDM0.
•
RIDM0=1 Expected Response packets (tlabel/tcode in PHYSR register) are routed to a receive
FIFO based on the setting of ARDM1 and ARDM0. Unexpected response packets (tlabel/tcode
in PHYSR register) go to the ACRX FIFO.
3–21
NOTE:
Expected response packets are packets whose tlabel and tcode match the
programmed value in the PHYSR register (register 38). Unexpected response
packets do not have tlabels and tcodes that match the programmed value in
register 38.
During the reception of asynchronous packets, the destination FIFO is determined by decoding the
destination address in the packet header. The type of steering that takes place is programmable, using the
ARDMx bits in register 148h as shown in the following table:
ARDM1
ARDM0
ASYNCHRONOUS-TRAFFIC FLOW
DESTINATION ADDRESS
0
0
All non-broadcast asynchronous packets go to
ACRX FIFO.
bus,node,00000,0000000 <=
dest_addr <=
bus,node,FFFFF,FFFFFFF
All broadcast asynchronous packets go to
BWRX FIFO.
bus,b_node,00000,0000000 <=
dest_addr <=
bus,b_node,FFFFF,FFFFFFF
Non-broadcast non-Register space asynchronous packets go to BARX FIFO.
bus,node,00000,0000000 <=
dest_addr <–
bus,node,FFFFE,FFFFFFF
Broadcast non-Register space asynchronous
packets go to BARX FIFO.
bus,b_node,00000,0000000 <=
dest_addr <–
bus,b_node,FFFFE,FFFFFFF
Non-broadcast register space asynchronous
packets go to ACRX FIFO.
bus,node,FFFFF,0000000 <=
dest_addr <–
bus,node,FFFFF,FFFFFFF
Broadcast register space asynchronous packets
go to BWRX FIFO.
bus,b_node,FFFFF,0000000 <=
dest_addr <–
bus,b_node,FFFFF,FFFFFFF
All non-broadcast asynchronous packets go to
BARX FIFO.
bus,node,00000,0000000 <=
dest_addr <–
bus,node,FFFFF,FFFFFFF
All broadcast asynchronous packets go to BARX
FIFO.
bus,b_node,00000,0000000 <=
dest_addr <–
bus,b_node,FFFFF,FFFFFFF
Non-broadcast asynchronous packets addressed to lower half of node addressable space
go to BARX FIFO.
bus,node,00000,0000000 <=
dest_addr <–
bus,node,7FFFF,FFFFFFF
Broadcast asynchronous packets addressed to
lower half of node addressable space go to
BARX FIFO.
bus,b_node,00000,0000000 <=
dest_addr <–
bus,b_node,7FFFF,FFFFFFF
Non-broadcast asynchronous packets addressed to upper half (includes private and register space) of node addressable space go to
ACRX FIFO.
bus,node,80000,0000000 <=
dest_addr <–
bus,node,FFFFF,FFFFFFF
Broadcast asynchronous packets addressed to
upper half (includes private and register space)
of node addressable space go to BWRX FIFO.
bus,b_node,80000,0000000 <=
dest_addr <–
bus,b_node,FFFFF,FFFFFFF
0
1
1
3–22
1
0
1
3.2.1.1
•
Receiving Asynchronous Control Packets
Reads from Broadcast Write Receive FIFO (BWRX)
The BWRX FIFO is mapped to register C4h (Broadcast Write Receive FIFO). Read accesses
here access the BWRX FIFO. The Status of this FIFO is available in register 50h (Asynchronous
Control Data Receive FIFO Status).
•
Reads from asynchronous control receive FIFO (ACRX)
The ACRX FIFO is mapped to register C0h (asynchronous control data receive FIFO). Read
accesses here access the ACRX FIFO. The Status of this FIFO is available in register 50h
(asynchronous control data receive FIFO status).
3.2.1.2
Receiving Asynchronous packets to the BARX (Bulky Asynchronous Receive) FIFO
When the MPEG2Lynx receives an asynchronous packet, the asynchronous headers and trailer quadlets
are automatically copied to registers 118h – 128h. The asynchronous trailer is a quadlet inserted by the
receiving MPEG2Lynx. It gives information on the packet speed, number of padding bits, and the
acknowledge that was sent.
The asynchronous packet is then received into the bulky asynchronous receive FIFO (BARX). The size of
the BARX can be set in register 104h (bulky isochronous size register.) This size is programmed in multiples
of four quadlets. The number of quadlets that have been received to the BARX FIFO is available at register
108h. Only complete asynchronous packets can be confirmed into the BARX FIFO. If the storage space
available in the BARX FIFO drops to 2 quadlets, then all incoming non-broadcast ASYNC packets are
busied off. Partial packets that have accumulated in the BARX at the time that storage space runs out are
purged from the FIFO.
The application has the option to receive only data to the BARX (strip headers/trailer) or to receive all data
to the BARX (headers/data/trailer.) The ARHS bit in register EC (AICR) controls this function. The first
packets in a queue of asynchronous packets stored to the BARX FIFO automatically have their header and
trailer quadlets stored to registers. The ARAV interrupt is generated to the application when this operation
completes.
There are four methods of receiving asynchronous data to the BARX. The control signals located in register
EC that are necessary for these four modes are summarized in the following text. A detailed description is
also included for each mode.
MODE
ARENABLE
ARHS
BDARE
OUTPUT INTERFACE
PACKET FORMAT (RECEIVED
at BARX)
1
1
1
1
Bulky Data Interface
Data only. Headers are stripped.
2
1
1
0
Microprocessor Interface
Data only. Headers are stripped.
3
1
0
1
Bulky Data Interface
Header/Data/Trailer
4
1
0
0
Microprocessor Interface
Header/Data/Trailer
3–23
Mode 1: Receiving Asynchronous Data to the Bulky Data Interface Using the BARX,
Headers are Stripped
Data is received by the MPEG2Lynx, and the headers and trailer are automatically copied to registers 118
– 128h. Only the data is received into the BARX FIFO. The ARAV interrupt is signaled once the headers
have been copied and the data has been received to the BARX FIFO. The BDOAVAIL signal is activated
once a full quadlet is in the FIFO. (Settings for Register EC for this mode: ARENABLE=1, ARHS=1,
BDARE=1) (see Figure 3–15).
Bulky FIFO
Phy–IF
BD–IF
Data or
Data, Header,
Trailer
Asynchronous,
Isochronous
Rx
Control FIFO
CFR
Header, Trailer
MPMC–IF
Figure 3–15. Receive Asynchronous/Isochronous Data to Bulky Data Interface
3–24
Mode 2: Receiving Asynchronous Data to the Microprocessor Interface Using the
BARX, Headers are Stripped
The MPEG2Lynx receives the asynchronous packet, and the headers and trailer are automatically copied
to registers 118 – 128h. Only the data is received into the BARX. The microprocessor has access to the
BARX through registers 114h (asynchronous application data receive FIFO) (settings for register EC for this
mode: ARENABLE=1, ARHS=1, BDARE=0) (see Figure 3–16).
Bulky FIFO
Phy–IF
BD–IF
Asynchronous,
Isochronous
Rx
Control FIFO
CFR
Header, Trailer
MPMC–IF
Data or Data, Header, Trailer
Figure 3–16. Receive Asynchronous/Isochronous Data to Microprocessor Interface
Mode 3: Receiving Asynchronous Header/Data/Trailer to the Bulky Data Interface Using
the BARX
Data is received by the MPEG2Lynx, and the headers and trailer are automatically copied to registers 118
– 128h. The headers are received into the BARX FIFO. The ARAV interrupt is signaled once the headers
have been copied and the data has been received to the BARX FIFO. The BDOAVAIL signal is activated
once a full quadlet is in the FIFO (settings for register EC for this mode: ARENABLE=1, ARHS=0,
BDARE=1) (see Figure 3–15).
Mode 4: Receiving Asynchronous Header/Data/Trailer to the Microprocessor Interface
Using the BARX
The MPEG2Lynx receives the asynchronous packet, and the headers and trailer are automatically copied
to registers 118 – 128h. The headers/data/trailer are received into the BARX. The microprocessor has
access to the BARX through registers 114h (asynchronous application data receive FIFO) (settings for
register EC for this mode: ARENABLE=1, ARHS=1, BDARE=0) (see Figure 3–16).
3–25
General Asynchronous Receive Notes
•
Every correctly received asynchronous lock/write request received by the bulky asynchronous
receive FIFO (BARX) is acknowledged by sending either an ack_complete (0001b) or an
ack_pending (0010b). Register 148, bit 17 (BAckPendEn) programs the ack response code. For
packets received to the asynchronous control receive FIFO (ACRX), the response code can be
programmed in register C, bit 13 (AckPendEn).
•
All correctly received read request packets are acknowledged with Ack_Pending (BusyX).
•
Whenever an asynchronous packet is not received correctly to the BARX or ACRX, an
Ack_Data_Error (1101b) response is sent regardless of the value of BackPendEn (or
AckPendEn). This occurs anytime the data CRC check fails or there is a mismatch between the
actual payload and the data length in the header.
3.2.2
Receiving Isochronous Packets
When the MPEG2Lynx receives an isochronous packet, the isochronous header and trailer quadlets are
automatically copied to registers 140h and 144h (IRT and IRH). The isochronous trailer is a quadlet inserted
by the receiving MPEG2Lynx at the end of a received packet. It gives information on the packet speed,
number of padding bits, and whether or not the packet was received correctly.
The isochronous packet is then received into the bulky isochronous receive FIFO (BIRX). The size for the
BIRX can be set in register 12Ch (bulky isochronous size register.) This size is programmed in multiples
of four quadlets. The number of quadlets that have been received to the BIRX FIFO is available at register
130h. Only complete isochronous packets can be confirmed into the BIRX FIFO. If the storage space
available in the BIRX FIFO drops below 2 quadlets, then all incoming isochronous packets will not be
received. Partial packets that have accumulated in the BIRX at the time that storage space runs out are
purged from the FIFO.
The application has the option to receive only data to the BIRX (strip header/trailer) or to receive all data
to the BIRX (header /data/trailer.) The IRHS bit in register EC (AICR) controls this function.
The first packet in a queue of isochronous packets stored to the BIRX FIFO automatically have its header
and trailer quadlets stored to registers. The IRAV interrupt is generated to the application when this
operation completes.
There are four methods of receiving isochronous data to the BIRX FIFO. 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.
OUTPUT INTERFACE
PACKET FORMAT (RECEIVED
at BIRX)
1
Bulky Data Interface
Data only. Headers are stripped.
0
Microprocessor Interface
Data only. Headers are stripped.
1
Bulky Data Interface
Header/Data/Trailer
0
Microprocessor Interface
Header/Data/Trailer
MODE
IRENABLE
IRHS
BDIRE
1
1
1
2
1
1
3
1
0
4
1
0
Mode 1: Receiving Isochronous Data to the Bulky Data Interface Using the BIRX,
Headers are Stripped
Data is received by the MPEG2Lynx, and the headers and trailer are automatically copied to registers 140h
and 144h, respectively. Only the data is received into the BIRX FIFO. The IRAV interrupt is signaled once
the headers have been copied and the data has been received to the BIRX FIFO. The BDOAVAIL signal
is activated once a full quadlet is in the FIFO (settings for register EC for this mode: IRENABLE=1, IRHS=1,
BDIRE=1) (see Figure 3–15).
3–26
Mode 2: Receiving Isochronous Data to the Microprocessor Interface Using the BIRX,
Headers are Stripped
The MPEG2Lynx receives the isochronous packet, and the header and trailer are automatically copied to
registers 140h and 144h, respectively. Only the data is received into the BIRX. The microprocessor has
access to the BIRX through registers 13Ch (isochronous receive FIFO) (settings for register EC for this
mode: IRENABLE=1, IRHS=1, BDIRE=0) (see Figure 3–16).
Mode 3: Receiving Isochronous Header/Data/Trailer to the Bulky Data Interface Using
the BIRX
Data is received by the MPEG2Lynx, and the header and trailer are automatically copied to registers 140h
and 144h, respectively. The header, data, and trailer are received into the BIRX FIFO. The IRAV interrupt
is signaled once the header has been copied and the data has been received to the BIRX FIFO. The
BDOAVAIL signal is activated once a full quadlet is in the FIFO (settings for register EC for this mode:
IRENABLE=1, IRHS=0, BDIRE=1) (see Figure 3–15).
Mode 4: Receiving Isochronous Header/Data/Trailer to the Microprocessor Interface
Using the BIRX
The MPEG2Lynx receives the isochronous packet, and the header and trailer are automatically copied to
registers 140h and 144h, respectively. The headers/data/trailer are received into the BIRX. The
microprocessor has access to the BIRX through register 13Ch (Isochronous Receive FIFO). (Settings for
Register EC for this mode: IRENABLE=1, IRHS=1, BDIRE=0) (see Figure 3–16).
3.2.3
MPEG2(DVB)/DSS Receive
The MPEG2Lynx has eight ports for isochronous receive. This allows the user to receive up to eight
isochronous channels at one time. However, port 0 is reserved for MPEG2(DVB)/DSS receive. Port 0 can
be activated for receive in register Ch, bit 24. When an MPEG2(DVB)/DSS packet is received on port 0, the
packet header and trailer quadlets are automatically copied to registers 178h and 184h (registers 188h and
194h for DSS). The data (also headers and trailers if configured in this manner ) are placed into the bulky
receive FIFO. At this time, an MRAV (or DRAV for DSS receive) interrupt in the extended interrupt register
is generated. Whenever aging is enabled, the timestamp of the received packet is then checked to
determine a release time for the application. (Please see Section 3.3, Timestamps and Aging for more
information on release time calculation.)
NOTE:The MRHS bit in register F0h (DRHS in register F4h for DSS) can turn off
the timestamp and aging mechanism. Even though all packets are received, the
spatial relationship between packets when transmitted are not present on the
receiving node. This is a good test case for receiving packets.
The data is usually transferred to the bulky data interface for receive. The format lines on the bulky data
interface indicate the first quadlet of an MPEG2(DVB)/DSS cell. (Please see section 5.1, Bulky Data
Interface for more information on BDIF receive). The microprocessor has access to the bulky receive FIFO
register through 168h (register 174h for DSS).
There are four modes for MPEG2(DVB)/DSS receive. They are described in detail in the following text.
MODE
MRHS/DRHS
BDMRE/BDDRE
OUTPUT INTERFACE
PACKET FORMAT (RECEIVED at
BULKY FIFO)
1
1
1
BDIF
All data, including headers and trailer
2
0
1
BDIF
Only MPEG2(DVB)/DSS cell data
3
1
0
MP/MC
All data, including headers and trailer
4
0
0
MP/MC
Only MPEG2(DVB)/DSS cell data
3–27
Mode 1: Receive MPEG2 (DVB)/DSS, Including Headers and Trailer, to Bulky Data
Interface
The data is received on port 0 and all headers/trailers are copied to internal registers. The headers include
the 1394 isochronous header and both CIP headers. The timestamp and aging mechanism is used to
determine when this packet is output to the bulky data interface. When the timestamp value equals the
isochronous cycle timer value, BDOAVAIL on the bulky data interface is activated. BDOAVAIL indicates that
a packet is ready to be read from the bulky data interface. The format of this data is shown in section 4.5,
Isochronous Receive (TSB12LV41 to Host Bus). Figure 3–17 shows the data flow for this mode.
Data,
Header,
Trailer
Bulky FIFO
Phy–IF
MPEG2
(DVB)/DSS Rx
BD–IF
Header, Trailer
Control FIFO
CFR
MPMC–IF
Figure 3–17. Receive All Data, including Headers and Trailer, to Bulky Data Interface
Mode 2: Receive MPEG2(DVB)/DSS Cell Data Only to Bulky Data Interface
The data is received on port 0 and all headers/trailers are copied to internal registers. The headers include
the 1394 isochronous header and both CIP headers. Only the MPEG2(DVB)/DSS cell data is written to the
Bulky FIFO. The timestamp and aging mechanism is used to determine when this packet is output to the
BDIF. When the timestamp value equals the isochronous cycle timer value, BDOAVAIL on the bulky data
interface is activated. BDOAVAIL indicates that a packet is ready to be read from the bulky data interface.
The format of this data is shown in Section 3.5, Isochronous Receive (TSB12LV41 to Host Bus). Figure 3–18
shows the data flow for this mode.
Bulky FIFO
Data
Phy–IF
MPEG2
(DVB)/DSS Rx
BD–IF
Header, Trailer
Control FIFO
CFR
MPMC–IF
Figure 3–18. Receive MPEG2(DVB)/DSS Cell Data Only to Bulky Data Interface
3–28
Mode 3: Receive MPEG2 (DVB)/DSS, Including Headers and Trailer, to Microprocessor
Interface
The data is received on port 0 and all headers/trailers are copied to internal registers. The headers include
the 1394 isochronous header and both CIP headers. The headers, data, and trailer are written to the bulky
FIFO. The timestamp and aging mechanism is used to determine when this packet is output to the
microprocessor interface. When the timestamp value equals the isochronous cycle timer value, all data,
including headers and trailers is available to the microprocessor interface through the bulky FIFO. The
microprocessor has access to the bulky FIFO through register 168h (register 174h for DSS receive). The
format of this data is shown in Section 3.5, Isochronous Receive (TSB12LV41 to Host Bus). Figure 3–19
shows the data flow for this mode.
Bulky FIFO
Phy–IF
MPEG2
(DVB)/DSS Rx
BD–IF
Header, Trailer
Control FIFO
CFR
MPMC–IF
Data,
Header,
Trailer
Figure 3–19. Receive All Data, including Headers and Trailer, to Microprocessor Interface
3–29
Mode 4: Receive MPEG2(DVB)/DSS Cell Data Only to Microprocessor Interface
The data is received on port 0 and all headers/trailers are copied to internal registers. The headers include
the 1394 isochronous header and both CIP headers. The timestamp and aging mechanism is used to
determine when this packet is output to the microprocessor interface. When the timestamp value equals the
isochronous cycle timer value, all data, including headers and trailers is available for the microprocessor
interface The microprocessor has access to the bulky FIFO through register 168h (register 174h for DSS
receive). The format of this data is shown in Section 3.5, Isochronous Receive (TSB12LV41 to Host Bus).
Figure 3–20 shows the data flow in this mode.
Bulky FIFO
Phy–IF
MPEG2
(DVB)/DSS Rx
BD–IF
Header, Trailer
Control FIFO
CFR
MPMC–IF
Data
Figure 3–20. Receive MPEG2(DVB)/DSS Cell Data Only to Microprocessor Interface
3.3
Timestamps and Aging
The MPEG2Lynx uses timestamping to preserve the temporal relationship of MPEG2 (DVB)/DSS packets
in a transport stream from the transmitting 1394 node to the receiving 1394 node.
The transmitting MPEG2Lynx (transmitting onto 1394) puts a timestamp on each MPEG2 (DVB)/DSS cell
it sends out. The timestamp value on a transmitted MPEG packet is the sun of the current value of the
isochronous cycle timer plus a user programmable transmit offset value (transmit timestamp offset). A
receive offset value (receive timestamp offset) can also be added. The resulting new timestamp is the sum
of the old timestamp value plus the receive offset value. This new timestamp value determines when the
MPEG2 packet should be released to the application. The MPEG2Lynx releases the packet to the
application whenever the timestamp value matches the current cycle timer value of the receiving node.
Old packets or packets whose timestamp has expired, remain in the FIFO and are not transmitted or
released to the application. Aging allows the MPEG2Lynx to flush these old packets from the transmit or
receive FIFOs. The action ensures that the FIFOs are not overflow with the old packets. Aging on the
receiving node check the timestamp of the incoming MPEG2 packets. If the timestamp has a value that is
less than the cycle timer (the time has already passed when the packet was supposed to be received), the
FIFO logic flushes the packet. The aging function on the transmitting node checks the timestamp of a packet
that is waiting to be transmitted. If the packet is too old to transmit, then the MPEG2Lynx discards the packet
before transmission.
3–30
The timestamp and aging functions are controlled by register F0h (for MPEG2 (DVB)) and register F4h (for
DSS). Bits 6 and 7 enable transmit and receive aging. Bit 29 enables automatic time stamp insertion on
Mpeg2 (DVB) or DSS packet transmits.
Register DCh (for MPEG2 (DVB)) and register E0h (for DSS) program the transmit timestamp offset. This
offset value is added to the cycle timer value to form the timestamp of a transmitted MPEG2/DSS cell. This
offset should be large enough to insure that when it is received the timestamp value of the packet is greater
than the current cycle timer at the receiving node. Register E4h (for MPEG2 (DVB)) and register E8h (for
DSS) programs the receive timestamp offset. This offset is added to a received packet’s timestamp value.
This new timestamp value (old timestamp + receive offset) determines when the packet is released to the
application. Inclusion of both a transmit and receive offset gives a system designer a way to insure that both
receiving and transmitting nodes are able to responsibly handle timestamped data.
3.3.1
Time Stamp Calculation on Transmit
The transmit time stamp is calculated by adding an offset value of the cycle timer value (register 28h). The
offset is programmed in the transmit timestamp offset register (register DCh for MPEG2 (DVB) and register
E0h for DSS) (see Figure 3–21). XTO (transmit timestamp offset) adds to bits 7 – 31 to the cycle timer
register in normal operation. This means that XTO only adds cycle counts or cycle offsets to the cycle time
value to form the timestamp. With the extended timestamp offset value, the entire 32-bit XTO transmit offset
value is added to the cycle timer to form the timestamp. The extended timestamp offset value enable is
available in register F0h (register F4h for DSS), bit 17.
0
6 7
19 20
31
Cycle Timer
(Register 28h)
+
XTO, Transmit
Offset Value
(Register DCh or E0h)
Transmit
Timestamp
Seconds
Count
Cycle
Count
Cycle
Offset
Figure 3–21. Determination of Transmit Timestamp
The transmit timestamp values are limited in order to prevent the user from creating invalid timestamps. For
the transmit timestamp, the result of the addition of the cycle timer and transmit offset are limited to the
following:
BIT NUMBERS
VALUE
VALID RANGE
0–6
Seconds count
Between 0 and 127
7 – 19
Cycle Count
Between 0 and 7999
20 – 31
Cycle Offset
Between 0 and 3071
3–31
3.3.1.1
Timestamp Cycle Timer (See Figure 3–21)
The cycle timer operates on an internal clock of 24.576 MHz. When the cycle offset reaches a value of 3071
(BFFh), 125 µs have elapsed (3071/24.576 MHz = 125 µs). This is exactly 1 isochronous cycle period. It
is necessary to limit the cycle offset to 3071 to avoid creating a timestamp with an invalid cycle offset field
(value > 3071 is invalid). When the cycle reaches 3071, it simply rolls over to 0 and starts again. If the sum
of the cycle timer and XTO, the transmit offset value, results in a timestamp cycle offset greater than 3071,
then the cycle count field is incremented by 1 and the resulting cycle offset value is (cycle offset – 3072).
3.3.1.2
Timestamp Cycle Count (See Figure 3–21)
Since the cycle count operates at a frequency of 8 Mhz (1/125 µs = 8 kHz), 1 second will have elapsed when
the cycle count reaches 7999. Therefore, when the cycle count reaches a value 7999, there is a roll over
of the seconds count. If the sum of the cycle timer and XTO, the transmit offset value, results in a timestamp
cycle count greater than 7999, the the seconds count field is incremented by 1 and the resulting cycle count
value is (cycle count – 8000).
If invalid values are entered into the cycle offset or cycle count fields of XTO, the transmit offset, then they
are truncated to the maximum values of 3071 and 7999, respectively. There is no other adjustment to the
offset fields.
3.3.2
Timestamp Determination on Receive
Receive timestamping works similar to the transmit process. When a packet with a timestamp is received,
that received timestamp is captured and added with the receive timestamp offset (RTO) to form a new
timestamp. This new timestamp determines when the packet is released to the application. If receive aging
is activated, then the received package is purged if its value is less than that of the current cycle timer. In
other words, its display window has expired.
NOTE:
There is no checking performed on the values of the receive timestamp offset
register (register E4h and E8h). It is possible for a user to insert an invalid value
in these registers (see the Timestamp Cycle Timer and Timestamp Cycle Count
sections). Therefore, it is up to the host to not put invalid values into these registers.
3.4
Asynchronous Transmit (Host Bus to TSB12LV41)
There are two basic formats for data to be transmitted and received. The first is for quadlet packets and the
second is for block packets. For transmits, the FIFO address indicates the beginning, middle, and end of
a packet. For receives, the data length, which is found in the header of the packet, determines the number
of bytes in a block packet.
3.4.1
Quadlet Transmit
The quadlet-transmit format is shown in Figure 3–22 and is described in Table 3–7. The first quadlet
contains packet control information. The second and third quadlets contain the 64-bit, quadlet-aligned
address. The fourth quadlet is data and is used only for write requests and read responses. For read
requests and write responses, the quadlet data field is omitted. When transmitting, the TSB12LV41 uses
information in the header quadlets to form the IEEE 1394 headers for transmit.
0
1 2 3 4
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
spd
destinationID
tLabel
rt
destinationOffsetHigh
destinationOffsetLow
quadlet data (for write request and read response)
Figure 3–22. Quadlet-Transmit Format
3–32
tCode
priority
Table 3–7. Quadlet-Transmit Format Functions
FIELD NAME
DESCRIPTION
spd
The spd field indicates the speed at which the current packet is to be sent. 00 = 100 Mbits/s,
01 = 200 Mbits/s, and 10 = 400 Mbits/s, and 11 is undefined for this implementation.
tLabel
The tLabel field is the transaction label, which is a unique tag for each outstanding transaction
between two nodes. This field is used to pair up a response packet with its corresponding
request packet.
rt
The rt field is the retry code for the current packet: 00 = new, 01 = retry_X, 10 = retryA, and
11 = retryB.
tCode
The tCode field is the transaction code for the current packet (see Table 6–10 of IEEE-1394
standard).
priority
The priority field contains the priority level for the current packet. For cable implementation,
the value of the bits must be zero (for backplane implementation, see clause 5.4.1.3 and
5.4.2.1 of the IEEE-1394 standard).
destinationID
The destinationID field is the concatenation of the 10-bit bus number and the 6-bit node
number that forms the destination node address of the current packet.
destination OffsetHigh,
destination OffsetLow
The concatenation of these two fields addresses a quadlet in the destination node address
space. This address must be quadlet aligned (modulo 4).
quadlet data
For write requests and read responses, the quadlet data field holds the data to be transferred.
For write responses and read requests, this field is not used and should not be written into
the FIFO.
3.4.2
Block Transmit
The block-transmit format is shown in Figure 3–23 and is described in Table 3–8. The first quadlet contains
packet-control information. The second and third quadlets contain the 64-bit address. The first 16 bits of the
fourth quadlet contains the dataLength field. This is the number of bytes of data in the packet. The remaining
16 bits represent the extended_tCode field (see Table 6–11 of the IEEE-1394 standard for more information
on extended_tCodes). The block data, if any, follows the extended_tCode.
0
1 2 3 4
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
spd
destinationID
tLabel
rt
tCode
priority
destinationOffsetHigh
destinationOffsetLow
dataLength
extended_tCode
block data
Figure 3–23. Block-Transmit Format
3–33
Table 3–8. Block-Transmit Format Functions
FIELD NAME
DESCRIPTION
spd
The spd field indicates the speed at which the current packet is to be sent. 00 = 100 Mbits/s,
01 = 200 Mbits/s, and 10 = 400 Mbits/s, and 11 is undefined for this implementation.
tLabel
The tLabel field is the transaction label, which is a unique tag for each outstanding transaction
between two nodes. This field is used to pair up a response packet with its corresponding
request packet.
rt
The rt field is the retry code for the current packet: 00 = new, 01 = retry_X, 10 = retryA, and
11 = retryB.
tCode
tCode is the transaction code for the current packet (see Table 6–10 of IEEE-1394 standard).
priority
The priority level for the current packet. For cable implementation, the value of the bits must
be zero. For backplane implementation, see clause 5.4.1.3 and 5.4.2.1 of the IEEE-1394
standard.
destinationID
The destinationID field is the concatenation of the 10-bit bus number and the 6-bit node
number that forms the node address to which the current packet is being sent.
destination OffsetHigh,
destination OffsetLow
The concatenation of the destination OffsetHigh and the destination OffsetLow fields
addresses a quadlet in the destination node address space. This address must be quadlet
aligned (modulo 4). The upper four bits of the destination OffsetHigh field are used as the
response code for lock-response packets and the remaining bits are reserved.
dataLength
The dataLength filed contains the number of bytes of data to be transmitted in the packet.
extended_tCode
The block extended_tCode to be performed on the data in the current packet (see Table 6–11
of the IEEE-1394 standard).
block data
The block data field contains the data to be sent. If dataLength is 0, no data should be written
into the FIFO for this field. Regardless of the destination or source alignment of the data, the
first byte of the block must appear in byte 0 of the first quadlet.
3.4.3
Quadlet Receive
The quadlet-receive format is shown in Figure 3–24 and is described in Table 3–9. The first 16 bits of the
first quadlet contain the destination node and bus ID, and the remaining 16 bits contain packet-control
information. The first 16 bits of the second quadlet contain the node and bus ID of the source, and the
remaining 16 bits of the second and third quadlets contain the 48-bit, quadlet-aligned destination offset
address. The fourth quadlet contains data that is used by write requests and read responses. For read
requests and write responses, the quadlet data field is omitted. The last quadlet contains the packet trailer
(packet-reception status that is added by the TSB12LV41). For packets received to the bulky data FIFO,
the packet trailer is included as the first quadlet.
0
1 2 3 4
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
tLabel
destinationID
sourceID
rt
tCode
priority
destinationOffsetHigh
destinationOffsetLow
quadlet data (for write request and read response)
spd
Figure 3–24. Quadlet-Receive Format for Control FIFO
3–34
ackSent
0
1 2 3 4
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
spd
destinationID
sourceID
ackSent
tLabel
rt
tCode
priority
destinationOffsetHigh
destinationOffsetLow
quadlet data (for write request and read response)
Figure 3–25. Quadlet-Receive Format for Bulky Data FIFO
Table 3–9. Quadlet-Receive Format Functions
FIELD NAME
DESCRIPTION
destinationID
The destinationID field contains the concatenation of the 10-bit bus number and the 6-bit
node number that forms the node address to which the current packet is being sent.
tLabel
The tLabel field is the transaction label, which is a unique tag for each outstanding transaction
between two nodes. This field is used to pair up a response packet with its corresponding
request packet.
rt
The rt field is the retry code for the current packet: 00 = new, 01 = retry_X, 10 = retryA, and
11 = retryB.
tCode
The tCode field is the transaction code for the current packet (see Table 6–10 of the
IEEE-1394 standard).
priority
The priority field contains the priority level for the current packet. For cable implementation,
the value of the bits must be zero (for backplane implementation, see clause 5.4.1.3 and
5.4.2.1 of the IEEE-1394 standard).
sourceID
The sourceID field contains the node ID of the sender of the current packet.
destination OffsetHigh,
destination OffsetLow
The concatenation of the destination OffsetHigh and the destination OffsetLow fields
addresses a quadlet in the destination nodes address space. This address must be quadlet
aligned (modulo 4). (The upper four bits of the destination OffsetHigh field are used as the
response code for lock-response packets, and the remaining bits are reserved.)
quadlet data
For write requests and read responses, the quadlet data field holds the transferred data. For
write responses and read requests, this field is not present.
spd
The spd field indicates the speed at which the current packet was sent. 00 = 100 Mbits/s,
01 = 200 Mbits/s, 10 = 400 Mbits/s, and 11 is undefined for this implementation.
ackSent
The ackSent field holds the acknowledge sent by the receiver for the current packet (see
Table 6–13 in the IEEE 1394–1995 standard).
3–35
3.4.4
Block Receive
The block-receive format is shown in Figure 3–26 and is described in Table 3–10. The first 16 bits of the first
quadlet contain the node and bus ID of the destination node, and the last 16 bits contain packet-control
information. The first 16 bits of the second quadlet contain the node and bus ID of the source node, and the
last 16 bits of the second quadlet and all of the third quadlet contain the 48-bit, quadlet-aligned destination
offset address. All remaining quadlets, except for the last one, contain data that is used only for write
requests and read responses. For block read requests and block write responses, the data field is omitted.
The last quadlet contains the packet trailer. For packets received to the bulky asynchronous FIFOs, the
packet trailer is included as the first quadlet.
0
1 2 3 4
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
tLabel
destinationID
sourceID
rt
tCode
priority
destinationOffsetHigh
destinationOffsetLow
dataLength
extended_tCode
block data (if any)
ackSent
spd
Figure 3–26. Block-Receive Format for Control FIFO
0
1 2 3 4
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
spd
destinationID
ackSent
SIZ
tLabel
sourceID
rt
tCode
destinationOffsetHigh
destinationOffsetLow
dataLength
extended_tCode
block data (if any)
Figure 3–27. Block-Receive Format for Bulky Data FIFO
3–36
priority
Table 3–10. Block-Receive Format Functions
FIELD NAME
DESCRIPTION
destinationID
The destinationID field is the concatenation of the 10-bit bus number and the 6-bit node
number that forms the node address to which the current packet is being sent.
tLabel
The tLabel field is the transaction label, which is a unique tag for each outstanding transaction
between two nodes. This field is used to pair up a response packet with its corresponding
request packet.
rt
The rt field contains the retry code for the current packet: 00 = new, 01 = retry_X, 10 = retryA,
and 11 = retryB.
tCode
The tCode field is the transaction code for the current packet (see Table 6–10 of the
IEEE-1394 standard).
priority
The priority field contains the priority level for the current packet. For cable implementation,
the value of the bits must be zero (for backplane implementation, see clause 5.4.1.3 and
5.4.2.1 of the IEEE-1394 standard).
sourceID
The sourceID field contains the node ID of the sender of the current packet.
destination OffsetHigh,
destination OffsetLow
The concatenation of the destination OffsetHigh and the destination OffsetLow fields
addresses a quadlet in the destination nodes address space. This address must be quadlet
aligned (modulo 4). The upper four bits of the destination OffsetHigh field are used as the
response code for lock-response packets and the remaining bits are reserved.
dataLength
For write request, read responses, and locks, the dataLength field indicates the number of
bytes being transferred. For read requests, the dataLength field indicates the number of
bytes of data to be read. A write-response packet does not use this field. Note that the number
of bytes does not include the header, only the bytes of block data.
extended_tCode
The extended_tCode field contains the block extended_tCode to be performed on the data
in the current packet (see Table 6–11 of the IEEE-1394 standard).
block data
The block data field contains any data being transferred for the current packet. Regardless
of the destination address or memory alignment, the first byte of the data appears in byte 0
of the first quadlet of this field. The last quadlet of the field is padded with zeros out to four
bytes, if necessary.
spd
The spd field indicates the speed at which the current packet was sent. 00 = 100 Mbits/s, 01
= 200 Mbits/s, 10 = 400 Mbits/s, and 11 is undefined for this implementation.
ackSent
The ackSent field holds the acknowledge sent by the receiver for the current packet.
SIZ
SIZ indicates the number of zero-filled bytes in the last quadlet of the packet.
3–37
3.5
3.5.1
Isochronous Transmit and Receive (Host Bus to ’12LV41) Data Formats
Isochronous Transmit
The format of the isochronous-transmit packet is shown in Figure 3–28 and is described in Table 3–11. The
data for each channel must be presented to the isochronous-transmit FIFO interface in this format in the
order that packets are to be sent. The transmitter sends any packets available at the isochronous-transmit
interface immediately following reception or transmission of the cycle-start message. The first quadlet gives
the TSB12LV41 information to build the 1394 isochronous header for transmit.
0
1 2 3 4
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
TAG
dataLength
chanNum
spd
sy
isochronous data
Figure 3–28. Isochronous-Transmit Format
Table 3–11. Isochronous-Transmit Functions
FIELD NAME
DESCRIPTION
dataLength
The dataLength field indicates the number of bytes in the current packet
TAG
The TAG field indicates the format of data carried by the isochronous packet (00 = formatted,
01 – 11 are reserved).
chanNum
The chanNum field carries the channel number with which the current data is associated.
spd
The spd field contains the speed at which to send the current packet.
sy
The sy field carries the transaction layer-specific synchronization bits.
isochronous data
The isochronous data field contains the data to be sent with the current packet. The first byte of
data must appear in byte 0 of the first quadlet of this field. If the last quadlet does not contain four
bytes of data, the unused bytes should be padded with zeros.
3.5.2
Isochronous Receive
The format of the iscohronous-receive data is shown in Figure 3–29 and is described in Table 3–12. The
data length, which is found in the header of the packet, determines the number of bytes in an isochronous
packet. The packet trailer is included as the first quadlet in the bulky data FIFO.
0
1 2 3 4
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
dataLength
errCode
SIZ
spd
TAG
chanNum
tCode
isochronous data
Figure 3–29. Isochronous-Receive Format for Bulky Data FIFO
3–38
sy
Table 3–12. Isochronous-Receive Functions
FIELD NAME
DESCRIPTION
dataLength
The dataLength field indicates the number of bytes in the current packet.
TAG
The TAG field indicates the format of data carried by isochronous packet (00 = formatted, 01 – 11
are reserved).
chanNum
The chanNum field contains the channel number with which this data is associated.
tCode
The tCode field carries the transaction code for the current packet (tCode = Ah).
sy
The sy field carries the transaction layer-specific synchronization bits.
isochronous data
The isochronous data field has the data to be sent with the current packet. The first byte of data
must appear in byte 0 of the first quadlet of this field. The last quadlet should be padded with zeros.
spd
The spd field indicates the speed at which the current packet was sent.
errCode
The errCode field indicates whether the current packet has been received correctly. The
possibilities are Complete (0001b) and DataErr (1101b). DataErr is returned when either the data
CRC check fails or there is a mismatch between the actual payload and the datalength field in the
header.
SIZ
SIZ indicates the number of zero-filled bytes in the last quadlet of the packet.
3.6
Snoop
The format of the snoop data is shown in Figure 3–30 and is described in Table 3–13. The receiver module
can be directed to receive any and all packets that pass by on the serial bus. In this mode, the receiver
presents the data received to the receive-FIFO interface.
0
1 2 3 4
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
snooped_data
spd
snpStat
ackSnpd
Figure 3–30. Snoop Format
Table 3–13. Snoop Functions
FIELD NAME
DESCRIPTION
snooped_data
The snooped_data field contains the entire packet received or as much as could be received.
spd
The spd field carries the speed at which the current packet was sent.
snpStat
The snpStat field indicates whether the entire packet snooped was received correctly. A value
equal to the complete acknowledge code indicates complete reception. A busyA or busyB
acknowledge code indicates incomplete reception.
ackSnpd
The ackSnpd field indicates the acknowledge seen on the bus after the packet is received.
The receiver module inserts a single quadlet to mark the end of an isochronous cycle. The quadlet is inserted
into the receive-FIFO.
3–39
3.7
Phy Configuration
The format of the Phy configuration packet is shown in Figure 3–31 and is described in Table 3–14. The Phy
configuration packet transmit contains two quadlets. The first quadlet tells the TSB12LV41 that this quadlet
is the Phy configuration packet. The Eh is then replaced with 0h before the packet is transmitted to the Phy
interface.
0
1 2 3 4
0
0
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
root_ID
R T
gap_cnt
0
0 0
0 0
0 0
0 1 1 1
0 0 0 0 0
logical inverse of first 16 bits of first quadlet 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Figure 3–31. Phy Configuration Format
Table 3–14. Phy Configuration Functions
FIELD NAME
DESCRIPTION
00
The 00 field is the Phy configuration packet identifier.
root_ID
The root_ID field is the physical_ID of the node to have its force_root bit set (only meaningful
when R is set).
R†
When R is set, the force-root bit of the node identified in root_ID is set and the force_root bit
of all other nodes are cleared. When R is cleared, root_ID is ignored.
T†
When T is set, the PHY_CONFIGURATION.gap_count field of all the nodes is set to the value
in the gap_cnt field.
gap_cnt
The gap_cnt field contains the new value for PHY_CONFIGURATION.gap_count for all
nodes. This value goes into effect immediately upon receipt and remains valid after the next
bus reset. After the second reset, gap_cnt is set to 63h unless a new Phy configuration packet
is received.
† A Phy configuration packet with R = 0 and T = 0 is reserved and is ignored when received.
3–40
3.8
Receive Self-ID Packet
The format of the receive Self-ID packet is shown in Figure 3–32 and is described in Table 3–15. When
SIDM0 (bit 21 register 148h) is set, the receive Self-ID packet is stored in broadcast write receive FIFO.
Otherwise, the Self-IDs are collected in the bulky asynchronous receive FIFO.
0
1 2 3 4
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0
0 0
0 0
0 0
0 0 0 0
0 0 0 0 0 0
0 0
0 0
0 0
0 1 1 1
0 0 0 0 0
0 0 0 0
0
Self-ID Quadlet
Logical Inverse of the Self-ID Quadlet
0
0 0
0 0
0 0
0 0 0 0
0 0 0 0 0 1
0 0
0 0
0 0
ACK
Figure 3–32. Receive Self-ID Format for Broadcast Write Receive FIFO
0
1 2 3 4
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0
0 0
0 0
0 0
0 0 0 0
0 0 0 0 0 1
0 0
0 0
0 0
0 0 0 0
0
0
0 0
0 0
0 0
0 0 0 0
0 0 0 0 0 0
0 0
0 0
0 0
0 1 1 1
0 0 0 0 0
ACK
Self-ID Quadlet
Logical Inverse of the Self-ID Quadlet
Figure 3–33. Receive Self-ID Format for Bulky Asynchronous Receive FIFO
Table 3–15. Receive Self-ID Function
FIELD NAME
DESCRIPTION
ACK
When the ACK field is set (0001b), the data in the Self-ID packet is
correct. When the ACK field is set (1101b), an error occurred during
transmission.
When there is only one node (i.e., one Phy/LLC pair) on the bus, following a bus reset, the FIFO contains
000_00E0h and the acknowledge quadlet only.
When there are three nodes on the bus, each with a Phy having three or less ports, following a bus reset,
the FIFO of any one of the LLCs is shown in Table 3–16 for BWRX and Table 3–17 for BARX FIFO. The ACK
is not written into the broadcast write receive FIFO (BWRX).
3–41
Table 3–16. Broadcast Write Receive FIFO Contents With Three Nodes on a Bus
FIFO CONTENTS
DESCRIPTION
0000_00E0h
Header for Self-ID
Self–ID1
Self_ID for Phy #1
Self–ID1 inverse
Self_ID for Phy #1 inverted
Self–ID2
Self_ID for Phy #2
Self–ID2 inverse
Self_ID for Phy #2 inverted
The first quadlet in a Self-ID packet is 0000_00E0h. The second quadlet in the Self-ID packet is described
in Figure 3–34, Figure 3–35, and Table 3–18. The third quadlet is the inverse of the Self-ID quadlet.
Table 3–17. Bulky Data Asynchronous Receive FIFO (BARX FIFO) Contents
FIFO CONTENTS
DESCRIPTION
0000_000h (ACK)
Trailing Acknowledge
0000_00E0h
Header for Self-ID
Self–ID1
Self_ID for Phy #1
Self–ID1 inverse
Self_ID for Phy #1 inverted
Self–ID2
Self_ID for Phy #2
Self–ID2 inverse
Self_ID for Phy #2 inverted
The format for self-IDs, stored in the BARX FIFO, is similar to the broadcast write receive FIFO, ACK codes
are included as the first quadlet in the BARX FIFO.
The cable Phy sends one to four Self-ID packets at the base rate (100 Mbits/s) during the Self-ID phase of
arbitration. The number of Self-ID packets sent depends on the number of ports. Figure 3–34 and
Figure 3–35 show the formats of the cable Phy Self-ID packets.
0
1 2 3 4
1
0
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
phy_ID
0 L
gap_cnt
sp
del
c
pwr
Logical inverse of first quadlet
Figure 3–34. Phy Self-ID Packet #0 Format
3–42
p0
p1
p2
i m
0
1 2 3 4
1
0
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
phy_ID
1 L
n
rsv
pa
pb
pc
pd
pe
pf
pg
ph
r m
Logical inverse of first quadlet
PACKET #
n†
pa
pb
pc
pd
pe
pf
pg
ph
1
0
p3
p4
p5
p6
p7
p8
p9
p10
2
1
p11
p12
p13
p14
p15
p16
p17
p18
3
2
p19
p20
p21
p22
p23
p24
p25
p26
† For n = 3 – 7, fields pa through ph are reserved.
Figure 3–35. Phy Self-ID Packet #1, Packet #2, and Packet #3 Format
Table 3–18. Phy Self-ID Functions
FIELD NAME
DESCRIPTION
10
The 10 field is the Self-ID packet identifier.
c
When c is set and the link-active flag is set, this field indicates that the current node is a contender
for the bus or isochronous resource manager.
del
The del field contains the worst-case repeater-data delay time. The code is:
00 ≤ 144 ns ≈ (14 / Base_Rate)
01 – 11
Reserved
gap_cnt
The gap_cnt field contains the current value for the current node PHY_CONFIGURATION.gap_count
field.
i
When set, the i field indicates that the current node initiated the current bus reset (i.e., it started
sending a bus reset signal before it received one†).If this function is not implemented, i is returned
as 0.
L
When L is set, the current node has an active LLC and transaction layer.
m
When set, the m field indicates that another Self-ID packet for the current node immediately
follows (i.e. when m is set and the next Self-ID packet received has a different phy_ID, then a
Self-ID packet was lost).
† There is no way to ensure that exactly one node has this bit set. More than one node can be requesting a bus reset at
the same time.
3–43
Table 3–18. Phy Self-ID Functions (Continued)
FIELD NAME
n
DESCRIPTION
The n field is the extended Self-ID packet sequence number. The code is:
0
Self-ID packet 1
1
Self-ID packet 2
2
Self-ID packet 3
phy_ID
The phy_ID field is the physical node identifier of the sender of the current packet.
p0 – p26
The p0 – P26 field indicates the port status. The code is:
00 Not present on the current Phy
01 Not connected to any other Phy
10 Connected to the parent node
11
pwr
Connected to the child node
The pwr field contains the bits that indicate the power consumption and source characteristics.
The code is:
000 The node does not need power and does not repeat power.
001 The node is self powered and provides a minimum of 15 W to the bus.
010 The node is self powered and provides a minimum of 30 W to the bus.
011
The node is self powered and provides a minimum of 45 W to the bus.
100 The node can be powered from the bus and is using up to 1 W.
101
The node is powered from the bus and is using up to 1 W. An additional 2 W is needed to
enable the LLC and higher layers.‡
110
The node is powered from the bus and is using up to 1 W. An additional 5 W is needed to
enable the LLC and higher layers.‡
111
The node is powered from the bus and is using up to 1 W. An additional 9 W is needed to
enable the LLC and higher layers.‡
r
Reserved and set to all zeros.
rsv
Reserved and set to all zeros.
sp
The sp field contains the Phy speed capability. The code is:
00 98.304 Mbits/s
01 98.304 Mbits/s and 196.608 Mbits/s
10 98.304 Mbits/s 196.608 Mbits/s, and 393.216 Mbits/s
11 Reserved
† There is no way to ensure that exactly one node has this bit set. More than one node can be requesting a bus reset at
the same time.
‡ The LLC and higher layers are enabled by the Link-On Phy packet.
3–44
4 External Interfaces
4.1
Bulky Data Interface (BDIF)
4.1.1
Introduction
The bulky data interface or BDIF is a pair of ports supported by the TSB12LV41 Link Layer controller. The
BDIF is the physical medium by which autonomous streams of different types are piped to an application
that uses the TSB12LV41. A system diagram is shown in Figure 4–1:
Application
BDIO
Stream
Process
BDO
TSB12LV41
PHY
BDIF
Microcontroller
Figure 4–1. TSB12LV41 System Application Diagram
Since the BDIF has two ports, data can be full duplex. One port is bidirectional and the other is output only.
Each port has its own independent clock, control signals, and modes of operation. The ports can operate
in asynchronous clock domains.
The BDIF handles three stream types:
•
Asynchronous
•
Isochronous
•
MPEG2 (DVB)/DSS (a special isochronous type)
These stream types are identified by a format bus bound to the port. The encodings on the format bus also
frame packets within the stream. BDIF is the Format bus for BDIO and BDOF is the format bus for BDO
Even though the two ports (BDIO and BDO) have some control signal and clock dependencies, we first look
at them separately.
4–1
TSB12LV41
BDIO
BDIO7 – BDIO0
BDI bidirectional data
BDIF2 – BDIF0
BDI I/O format
BDICLK
BDI I/O clock
BDIEN
BDI input enable
BDIBUSY
BDI is busy and will not
accept data
BDO7 – BDO0
BDI output data
BDOF2 – BDOF0
BDI output format
BDOCLK
BDI output clock
BDOEN
BDI output enable
BDOAVAIL
BDI output available
BDIF
BDO
Figure 4–2. Bulky Data Interface
The signals of the bidirectional port (BDIO) have the following characteristics.
BDIO
Signal Name
Driver
Type
Description
BDIO[7:0]
I/O
Bidirectional BDIF port (can be configured for input only).
BDIO7 = MSB and BDIO0 = LSB
BDIF[2:0]
I/O
Bidirectional BDIF Format (can be configured for input only.
000
Reserved
001
A byte of an MPEG2 (DVB) (or DSS) cell
010
A byte of an unformatted isochronous packet
011
A byte of an asynchronous packet
100
Idle
101
First byte of an MPEG2 (DVB) (or DSS) cell
110
Last byte of an unformatted Isochronous packet
111
Last byte of an asynchronous packet
BDICLK
I
BDIO data input clock
BDIEN
I
BDIF Enable:
Qualifies data for writes, data on BDIO, Format on BDIF.
Enable data for reads , data on BDIO, Format on BDIF.
BDIBUSY
O
Signals busy condition on BDIO for writes. This signal goes high when the FIFO
being written to is full. When BDIBUSY is high, writing to the full FIFO is disabled.
Table 4–1. BDIO Bidirectional Port Signals
4–2
The signals of the unidirectional output only port (BDO) have the following characteristics.
BDIO
Signal Name
Driver
Type
Description
BDO[7:0]
O
Unidirectional BDO port
BDOF[2:0]
O
Undirectional BDO Format.
BDO7 = MSB and BDO0 = LSB
000
Reserved
001
A byte of an MPEG2 (DVB) (or DSS) cell
010
A byte of an unformatted Isochronous packet
011
A byte of an Asynchronous packet
100
Idle
101
First byte of an MPEG2 (DVB) (or DSS) cell
110
Last byte of an unformatted Isochronous packet
111
Last byte of an Asynchronous packet
BDOCLK
I
BDIO or BDO data output clock
BDOEN
I
BDO Enable:
Qualifies data on BDO for reads
Read/Write* control for BDIO when it is bidirectional
BDOAVAIL
O
Signals data is available on BDO and also BDIO for reads.
Table 4–2. BDO Unidirectional Port Signals
NOTE:
The format codes 110 and 111 indicate the last byte of an isochronous or
asynchronous packet. This is needed when the data in the FIFO is not a multiple
of four bytes and padding zero bits are added to the data prior to transmit. Padding
is necessary because all packets on 1394 must be on quadlet boundaries
(multiples of 4 bytes). See Section 3.1.4 for more information on byte padding.
The BDIF is programmed by writes to the BDIF control register. This register is located at offset D8h in the
TSB12LV41 microcontroller address space. The register format and bit definitions are shown in Figure 4–3.
4–3
BDOTRIS
BDIINIT
RCVPAD
BDOINIT
BDIOMODE0
BDIOMODE2
BDIOMODE1
BDOMODE0
BDOMODE1
AHBDIFMT0
AHPACEN
AHERROR
UNIDIR
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
DSSREC
8
AHBDIEN
7
AHBDOEN
6
AHAVAIL
5
AHBDIBSY
4
BILECTRL
3
BALECTRL
2
BMLECTRL
1
LNGRDREQ
0
Active if UniDir (BIT 16) is set and BDMODE =
010. When DSSREC is set, causes write to be
enabled and read to be disabled.
If BDIMODE = 010, setting UNDIR causes
BDIO7 – BDIO0 to be unidirectional
When AHBDIEN is set, BDIEN is active high.
When AHBDOEN is set, BDOEN is active
high.
When AHAVAIL is set, BDAVAIL is active
high.
When AHBDIBSY is set, BDIBUSY is active
high.
When BALECTRLis set, ASYNC data type is
set to little endian.
When BILECTRL is set, ISO data type is little
endian.
When BMLECTRL is set, MPEG/DSS data
type is little endian.
If BDIMODE = 010, setting LNGRDREQ
causes BDOASVAIL to remain active through
entire packet read.
Figure 4–3. BDIF Control Register
4–4
BDOTRIS
BDIINIT
RCVPAD
BDOINIT
BDIOMODE0
BDIOMODE2
BDIOMODE1
BDOMODE0
BDOMODE1
AHBDIFMT0
AHPACEN
AHERROR
UNIDIR
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
DSSREC
8
AHBDIEN
7
AHBDOEN
6
AHAVAIL
5
AHBDIBSY
4
BILECTRL
3
BALECTRL
2
BMLECTRL
1
LNGRDREQ
0
If BDIMODE = 010 or 101 and AHPACEN is
set, then BDIF2 is active high.
If BDIMODE = 010 or 101 and AHERROR is
set, then BDIF1 is active high.
If BDIMODE = 101 and AHBDIFNT0 is set,
then BDIF0 is active high.
Mode of operation for BDO with BDOMODE1
as MSB.
Mode of operation for BDI with BDIMODE2 as
MSB.
When RCVPAD is set, this allows 1394
padding bits through to the BDIF.
When BDOINIT is set, this causes the BDO
logic to be reset (self clearing)
When BDIINIT is set, this causes the BDI
logic to be reset (self clearing).
When BDOTRIS is set, this causes the BDO
data bus to be in a high-impedance state.
Figure 4–3. BDIF Control Register (Continued)
4.1.2
Modes of the Bulky Data Interface (BDIF)
The BDIF has four valid modes of operation. These modes are selected using the BDIOMODE and
BDOMODE fields of the BDIF control register. The following table shows the basic features of each mode.
4–5
BDIF MODE
A
B
C
D
BDIOMODE
000
000
101
001
BDOMODE
00
01
11
00
Data Input
BDIO
BDIO
BDIO
Async
BDIO
Data Output
BDO
BDO
BDO
Async
BDIO
Data Bus
2
2
2
1
Duplex
Full
Full
Full
Half
Data Input Clock
(MHz)
20.25
20.25
NClk
20.25
Data Output
Clock (MHz)
20.25
20.25
NClk
20.25
Data Throughput
Mbyte/s (Max)
20 Write
20 Read
20 Write
20 Read
10 Write
10 Read
20.25
BDIEN
X
X
X
X
BDIBUSY
X
X
BDOEN
X
BDOAVAIL
X
Control Signal Use
X
X
X
X
X
X
Table 4–3. MODES of the BDIF
Detailed descriptions of each mode are contained in the paragraphs that follow.
4–6
BDIF MODE: A
8 bit Parallel Input
8 bit Parallel Output
BDIOMODE = 000
BDOMODE = 00
TSB12LV41
Application
BDIO7 – BDIO0
BDIO7 – BDIO0
BDIF2 – BDIF0
BDIF2 – BDIF0
BDICLK
20.25 MHz
BDIEN
BDIBUSY
BDO7 – BDO0
BDO7 – BDO0
BDOF2 – BDOF0
BDOEN
BDOAVAIL
BDICLK
BDIEN
BDIBUSY
BDOCLK
Transmit
Queues
Receive
Queues
BDOF2 – BDOF0
20.25 MHz
BDOCLK
BDOEN
BDOAVAIL
Figure 4–4. Bulky Data Interface Mode A Typical Application
In this mode, the BDIO bus is input only. The BDO bus is output only. There are 2 data busses that connect
the BDIF with bulky data FIFOs. These buses go to the transmit and receive queues.
This mode is synchronous for both input and output. Both data input (BDICLK) and output (BDOCLK) clocks
run at 20.25 MHz. The BDIF expects new data every clock period.
The BDIF operates in full duplex mode. In this mode, the BDIF can receive data at the BDIO port and transmit
data from the BDO port simultaneously. With input/output clock speeds of 20.25 MHz, this allows a
maximum throughput of 40.5 Mbyte/s.
BDIEN qualifies data on BDIO for writes. BDIBUSY signals a busy condition on BDIO for writes.
BDOEN qualifies data on BDO for reads. BDOAVAIL signals data is available on BDO for reads.
4–7
BDIF MODE: B
8 bit Parallel Input
8 bit Parallel Output with No Read Control
BDIOMODE = 000
BDOMODE = 01
TSB12LV41
Application
BDIO7 – BDIO0
BDIO7 – BDIO0
BDIF2 – BDIF0
BDIF2 – BDIF0
BDICLK
20.25 MHz
BDIEN
BDIBUSY
BDO7 – BDO0
BDO7 – BDO0
BDOF2 – BDOF0
BDOAVAIL
BDICLK
BDIEN
BDIBUSY
BDOCLK
Transmit
Queues
Receive
Queues
BDOF2 – BDOF0
20.25 MHz
BDOCLK
BDOAVAIL
Figure 4–5. Bulky Data Interface Mode B Typical Application
The data input and output for this mode are similar to the BDIF MODE A mode. The BDIO is input only. BDO
is output only. The clock speeds, data rates, and full duplex capability are the same as for BDIF MODE A.
The BDIF expects new data every clock period.
The difference between this mode and BDIF MODE A is the absence of BDOEN, the bulky data output
enable. Since BDIF MODE B does not use BDOEN, data is continuously output to the host whether or not
it can accept the data. The main advantage of this mode is that no signal is required by the host to transmit.
However, if the host FIFO is full, data may be lost.
4–8
BDIF MODE: C
8 bit Parallel Input (Asynchronous)
8 bit Parallel Output (Asynchronous)
BDIOMODE = 101
BDOMODE = 11
TSB12LV41
Application
BDIO7 – BDIO0
BDIO7 – BDIO0
BDIF2 – BDIF0
BDIF2 – BDIF0
Transmit
Queues
BDICLK
BDIEN
BDO7 – BDO0
BDOF2 – BDOF0
BDIEN
BDO7 – BDO0
Receive
Queues
BDOF2 – BDOF0
BDOCLK
BDOAVAIL
BDOAVAIL
NCLK (STAT0)
Figure 4–6. Bulky Data Interface Mode C Typical Application
The data input for this mode at the BDIO bus is asynchronous only. The BDIO is input only. The data output
at BDO is also asynchronous. This mode provides 2 data buses, one for the transmit and one for the receive
FIFO. This mode operates in full duplex.
Since both BDIO and BDO are asynchronous, an application typically does not provide BDICLK or
BDOCLK. In this case, it is convenient to use NCLK (SYSCLK/2) to drive BDICLK and BDOCLK. NCLK is
available from the STAT0 terminal (28) by programming bits 21 – 27 to 3Bh in register 30h.
This mode has a maximum data throughput capability of 10Mbyte/s for a write and 10Mbyte/s for a read.
There is no BDBUSY available in this mode. This means that there is no way for the TSB12LV41 to signal
to the application that it is busy and can not accept any more data.
NOTE:
In this mode, the BDO port supports MPEG2 (DVB)/DSS format only.
4–9
BDIF MODE: D
8 bit Parallel Bidirectional
8 bit Parallel Bidirectional
BDIOMODE = 001
BDOMODE = 00
TSB12LV41
Application
BDIO7 – BDIO0
BDIO7 – BDIO0
BDIF2 – BDIF0
BDIF2 – BDIF0
BDICLK
RWENABLE
BDIBUSY
20.25 MHz
Transmit
Queues
BDICLK
BDIEN
BDIBUSY
Receive
Queues
BDOCLK
RW
BDAVAIL
BDOCLK
BDOEN
BDOAVAIL
Figure 4–7. Bulky Data Interface Mode D Typical Application
This is a bidirectional mode. The data input and data output share the BDIO port. BDOEN is a Read/Write*
control in bidirectional mode. The device in this mode operates in half duplex. The data input/data output
clocks are both at 20.25MHz. The BDIF expects new data every clock cycle in this mode.
4–10
4.2
Bulky Data Interface Timing
4.2.1
Unidirectional and Asynchronous Modes
Writes and reads in the unidirectional modes (modes A and B) and the asynchronous mode (mode C) occur
at separate ports. Reads occur at BDO[7–0] and writes occur at BDIO[7–0]. Each port has its own format
bus and control signals. Please note that the asynchronous mode (modes C) supports only
MPEG2(DVB)/DSS data.
4.2.1.1
Unidirectional Write Timing
In unidirectional modes (modes A and B), writes to the bulky data interface take place through the BDIO
[7–0] data bus. As shown in Figure 4–8, when data is available to be written to the bulky data interface, the
host activates BDIEN and simultaneously drives BDIO[7–0] and BDIF[2–0]. BDIEN allows the application
to write data to the bulky data interface. If the TSB12LV41 FIFO being written to is full, the hardware activates
BDIBUSY (on quadlet boundaries only) and does not accept any more data until BDIBUSY is deasserted.
The format bus BDIF[2–0] signals the first byte of MPEG data, as well as other consecutive bytes, to the
TSB12LV41 FIFOs. The format bus can also represent asynchronous and isochronous packets. Please
reference the bulky data interface section 4.1.1 more detail. Please see Figure 4–9 for critical write timing
in bulky data modes A and B.
BDICLK
BDI(7–0)
BDIF(2–0)
XXX
1
2
3
4
XXX
5
N
4
5
1
1
1
XXX
1
1
1
4
5
BDIEN
BDBUS
Y
Figure 4–8. Functional Timing for Write Operations in the Unidirectional Modes
S0
H2
S1
H1
S2
H0
BDICLK
BDIF(2–0)
1
5
BDIO(7–0)
00
01
BDIEN
Figure 4–9. Critical Timing for Write Operations in Unidirectional Mode
4–11
NAME
MIN
(ns)
MAX
(ns)
DESCRIPTION
H0
50
Clock period, 50% duty cycle
S0
10
Setup time for BDIEN relative to BDICLK
S1
10
Setup time for format bus (BDIF) relative to DBICLK
S2
10
Setup time for data bus (BDIO) relative to BDICLK
H1
1
Hold time for BDIEN deassert
H2
1
Hold time for data bus (BDIO) relative to clock edge
Asynchronous Write Timing
In the asynchronous mode (mode C), writes occur through the BDIO[7–0] data bus on every fourth clock
cycle (NCLK). There has to be at least one BDIEN inactive clock cycle between two write requests. The host
is responsible for meeting the necessary BDIEN timing relative to NCLK. (BDIEN is 1/4th NCLK in the
following example.) Since the asynchronous mode only supports MPEG2(DVB)/DSS data, only the BDIF2
format signal is necessary to indicate the beginning or continuing byte of an MPEG2(DVB)/DSS cell. Please
see Figure 4–10 for asynchronous mode functional timing.
NCLK
BDIF2
BDIEN
BDIO
XX
01
02
XX
Figure 4–10. Functional Timing for Write Operations in the Asynchronous Mode
4.2.1.2
Unidirectional Read Timing
In the unidirectional modes (modes A and B), data is read out of the TSB12LV41 bulky data interface on
the BDIO[7–0] pins. The data format is represented on the output format bus, BDOF[2–0]. The format is
similar to BDIF[2–0] and is explained in the Bulky Data Interface section 4.1.1. As shown in Figure 4–11,
BDOEN signals the TSB12LV41 that the application is reading data on the BDO[7–0] data lines. For modes
that do not utilize BDOEN (mode B), data is output to the application as soon as it is received in the
TSB12LV41 FIFO. BDOAVAIL signals the application that it has data in the Bulky Receive FIFOs available
for reading. BDOAVAIL is active whenever the FIFO has loaded the bulky data holding register with the first
data quadlet that is available in the FIFO. Please see Figure 4–12 for critical read timing in bulky data
modes A and B.
4–12
BDOCLK
BDO(7–0)
BDOF(2–0)
XXX
1
2
3
4
XXX
5
N
XXX
4
5
1
1
1
4
1
1
4
BDOEN
BDOAVAIL
NOTE A: BDOEN is not necessary in Mode B.
Figure 4–11. Functional Timing for Read Operations in Unidirectional Mode
S0
BDOCLK
BDIF(2–0)
5
1
1
01
XX
D0
BDO(7–0)
00
BDOEN
NAME
MIN
(ns)
MAX
(ns)
S0
10
Setup time for BDEON relative to rising clock edge
D0
7
Delay time for data and format bus valid relative to clock edge
DESCRIPTION
NOTE A: BDOEN is not necessary in Mode B.
Figure 4–12. Critical Timing for Read Operations in Unidirectional Mode
Asynchronous Read Timing
In the asynchronous mode (mode C), data is read out of the TSB12LV41 bulky data interface on the
BDIO[7–0] terminals. The read operation can occur only every four NCLK cycles. There has to be at least
one BDOEN inactive clock cycle between two consecutive read operations. The host should latch the data
on the next rising edge of BDOEN. Please see Figure 4–13 for asynchronous read functional timing.
4–13
BDOCLK/
NCLK
BDO(7–0)
XX
0
1
0
2
BDOEN
BDOAVAIL
BDOF(2–0
)
4
5
1
4
Figure 4–13. Functional Timing for Read Operations in Asynchronous Mode
4.2.2
Bidirectional Modes
Writes and reads in the bidirectional mode all occur on the BDIO[7–0] data bus and BDIF[2–0] format lines.
Only bulky data mode D supports bidirectional data transfer.
4.2.2.1
Bidirectional Write Timing
Writes to the bulky data interface can occur through the BDIO port for both unidirectional and bidirectional
modes. For writes to the bulky data interface in bidirectional mode, please see Figures 4–14 and 4–15.
In bidirectional mode, the BDIF[2–0] signals are the format bus. This signals the start of an MPEG2 packet
(binary value of 101), a byte of an MPEG2 cell (binary value of 001), or an idle (binary value of 100). There
are also format codes for isochronous and asynchronous data. (Please see the Bulky Data Interface,
Section 4.1 for more details.) The BDIO[7–0] bus is used for data. BDIEN serves as the read/write enable.
It enables the bulky data interface to accept either reads or writes from the application. The BDOEN serves
as the read/write control signal. If BDIEN is active, then BDOEN high corresponds to a read and BDOEN
low corresponds to a write. BDIBusy signals when the TSB12VL41 FIFO is full and can not accept any more
data.
4–14
BDICLK
BDIF(2–0)
XXX
5
1
1
5
XXX
1
XXX
1
2
3
4
XXX
5
BDBUS
Y
BDI(7–0)
BDOEN
(R/W Enable)
BDIEN
(R/W)
Figure 4–14. Functional Timing for Write Operations in Bidirectional Mode
S3
H2
H1
S2
S1
H0
S0
BDICLK
BDIF(2–0)
1
1
BDIO(7–0)
01
02
1
03
BDIEN
(R/W Enable)
BDOEN
(R/W)
NAME
MIN
(ns)
S0
10
Setup time between BDIEN (RW enable) and rising edge of clock
S1
10
Setup time between format bus ((BDIF) and rising edge of clock
S2
10
H0
H1
MAX
(ns)
DESCRIPTION
Setup time between data bus (BDIO) and rising edge of clock
0
Hold time for BDEON after rising edge of clock
1
Hold time for data bus (BDIO) to rising edge of clock
H2
1
Hold time for BDIEN after rising edge of clock
S3
15
Setup time for BDOEN relative to rising edge of clock
Figure 4–15. Critical Timing for Write Operations in Bidirectional Mode
4.2.2.2
Bidirectional Read Timing
In the bidirectional mode, the BDIF[2–0] format bus signals the bytes of data packets, similar to the
bidirectional write operation. The data is presented to the application on the BDIO[7–0] data bus. BDIEN
serves as a read/write enable. It enables the bulky data interface to accept either reads or writes from the
4–15
application. The BDOEN serves as the read/write control signals. If BDIEN is active, then BDOEN high
corresponds to a read and BDOEN low corresponds to a write. BDOAVAIL signals the application when the
Bulky Receive FIFOs have data to read. Please refer to Figures 4–16 and 4–17 for bidirectional read timing.
BDOCLK
BDIF(2–0)
5
1
1
1
BDI(7–0)
1
2
3
4
4
1
1
5
6
BDOEN
(R/W)
BDIEN
(R/W Enable)
BDOAVAIL
Figure 4–16. Functional Timing for Read Operations in Bi–Directional Mode
S3
S2
S1
S0
BDICLK
BDOCLK
BDIF(2–0)
1
1
BDIO(7–0)
01
02
BDIEN
(R/W Enable)
BDOEN
(R/W)
NAME
MIN
(ns)
MAX
(ns)
S0
10
Setup time between BDIEN (RW enable) and rising edge of clock
S1
10
Setup time between format bus ((BDIF) and rising edge of clock
S2
10
Setup time between data bus (BDIO) and rising edge of clock
S3
13
Setup time for BDOEN relative to rising edge of clock
DESCRIPTION
Figure 4–17. Critical Timing for Read Operations in Bi–Directional Mode
4.2.2.3
Bidirectional Interleave Timing
Figure 4–18 shows the read and write interleave operation in bidirectional mode. BDICLK is used for writes
to the bulky data interface and BDOCLK is used for reads form the bulky data interface.
4–16
(BDIO[7–0]_OUT and BDIO[7–0]_IN are physically the same bus. They are named so for ease of readability.
The same is true for BDIF[2–0].)
BDOAVAIL active indicates that a packet is available in the receive FIFO. The application activates BDIEN
(enabling read and write operations) and drives BDOEN high, indicating a read. The TSB12LV41 output the
first byte of MPEG2/DSS/Asynchronous/Isochronous data. The TSB12LV41 indicates the data’s format by
driving values on the BDIF format bus.
Next the application performs a write operation by driving BDOEN low while keeping BDIEN active. The
application simultaneously drives BDIO[7–0] with the first byte of the data packet. BDIF[2–0] is also driven
by the application to indicate the data packet format.
This sequence continues with a read followed immediately by a write until the hardware indicates busy by
activating BDIBUSY. This suspends write operations to the bulky data interface. However, read operations
continue and take the full bandwidth of the interface. After byte 7 is read, the application suspends the read
by deactivating BDIEN. At this point, both the read and write are suspended and the buses are in a high
impedance state. BDIBUSY is deactivated indicating that data can continue to be written to the transmit
FIFO. The application activates BDIEN and drives BDOEN low to indicate another write to the bulky data
interface. Another read follows this.
BDOCLK
BDIBUSY
BDIF(2–0)
5
BDI(7–0)
1
1
1
2
1
3
5
6
4
7
1
5
6
BDOEN
BDIEN
BDOAVAIL
BDIF
(2–0)_OUT
BDIF
(2–0)_IN
5
1
5
1
1
1
1
1
1
1
1
1
Figure 4–18. Functional Timing for Read/Write Interleave Operations in Bidirectional Mode
4–17
4.3
Microprocessor Interface
4.3.1
Microprocessors Supported
The TSB12LV41’s microprocessor
microprocessor/microcontrollers:
interface
supports
the
following
three
kinds
of
•
The embedded ARM processor in Texas Instruments’ TMS320AV7100 Integrated Set-Top DSP
•
Motorola’s 68xxx class microprocessors
•
Intel’s 8051 microcontroller
To be able to detect which kind of microprocessor/microcontroller (MP/MC) is connected to TSB12LV41,
two MP/MC select lines, MCSEL1 and MCSEL0, need to be driven to certain logic levels. Table 4–4 shows
the MCSEL settings for each type of processor.
Processor Selected
MCSEL1
MCSEL0
Reserved
1
1
8051
1
0
68000
0
1
TMS320AV7100 ARM
0
0
Table 4–4. MCSEL Settings for Various Microprocessors
Once the type of MP/MC has been determined, all the I/O control pins related to MP/MC Interface map their
functions to be applicable to the type of MP/MC detected. The following matrix table (Table 4–5) defines the
actual pin functions for a particular type of MP/MCs:
TSB12LV41
Pin Name
MP/MC Type
Motorola 68000
TMS320AV7100
Intel 8051
ADR[0:8]
ADR[8:1]
EXTADDR[8:0]
DATA[0:15]
D[15:0]
EXTDATA[15:0]
ADR0=PSENZ, ADR1=ALE
DATA[8:15]=AD[7:0]† DATA[7]=P2.A0
CS/CSZ
CS
CSXZ
CSZ‡
MCCTL0
R/WZ
EXTR/WZ
WRZ
MCCTL1
Unused, Tied High
Unused, Tied High
RDZ
RDY
DTACKZ
EXTWAITZ
—
† AD[7:0] is connected to TSB12LV41’s DATA[8:15] as a bidirectional address/data bus for Intel 8051 and Intel 8051
port2’s LS address bit A0 output is connected to TSB12LV41’s DATA[7] .
‡ CSZ is generated by board level glue logic, which is the binary address decoding of Intel 8051 Port2’s address bus output
A7 – A1.
Table 4–5. TSB12LV41 MP/MC Interface Pin Function Matrix
TSB12LV41’s Microprocessor Interface is synchronized to the BCLK in TMS320AV7100 Mode. BCLK input
is from TMS320AV7100’s extension bus external clock input (CLK40, 40.5MHz). For Motorola 68000 and
Intel 8051 modes the TSB12LV41’s Microprocessor Interface is synchronized to the 49.152 MHz SCLK from
the phy. BCLK must be physically connected to SCLK.
All bus signal labeling on the TSB12LV41’s microprocessor interface is denoted as bit0 as MSB and bit15
as LSB.
Note that the data path from the microprocessor interface to the Host is 16 or 8 bits wide; however, all internal
configuration registers are 32 bits wide. Thus the microprocessor interface of the TSB12LV41 must stack
the incoming/outgoing write and read 32 bit data prior to delivery to either a internal CFR or the
4–18
microprocessor data bus. It is in this stacking buffer that the byte swapping function required for different
endianness settings is performed. Section 4.3.10 describes how the byte swap works for the various
endianness settings.
Figures 4–19, 4–20 and 4–21 show hook up diagrams for each type of processor supported.
TSB12LV41 Micro Interface
Motorola 68000
Processor Interface
ADR[8]
ADR[0]
ADR[8]
•
•
•
•
•
•
ADR[7]
ADR[1]
DATA[0]
•
•
•
DATA[15]
D[15]
•
•
•
D[0]
CSZ
CS
MCCTL0
MCCTL1
R/WZ
VCC
RDY
DTACKZ
INT
INT
BCLK
SCLK
Figure 4–19. MPEG2Lynx Connections for 68000 Microcontroller
4–19
Intel 8051
Processor Interface
TSB12LV41 Micro Interface
ADR[0]
PSENZ
ALE
ADR[1]
ADR[2:8]
DATA[0:6]
Unconnected
Unconnected
DATA[7]
A[0] (Port 2)
DATA[8]
•
•
•
DATA[15]
AD[7] (Port 0)
•
•
•
AD[0] (Port 0)
CSZ
CSZ
MCCTL0
WRZ
MCCTL1
RDZ
RDY
Unconnected
INT
BCLK
INT
SCLK
Figure 4–20. MPEG2Lynx Connections for 8051 Microcontroller
TSB12LV41
Micro
Interface
TMS320AV7100 ARM
Processor Interface
ADR[8]
See Note A
ADR[0]
EXTADDR[8]
•
•
•
•
•
•
EXTADDR[1]
ADR[7]
DATA[0]
•
•
•
DATA[15]
EXTDATA[15]
•
•
•
EXTDATA[0]
CS5
CSZ
EXTR/WZ
MCCTL0
MCCTL1
RDY
BCLK
INT
VCC
EXTWAITZ
CLK40
INT
NOTE A: Connect as shown for 16-bit data. If 8-bit data bus is being used, connect ADR[8] on the TSB12LV41 to
EXTADDR[0] on the TMS320AV7100.
Figure 4–21. MPEG2Lynx Connections for TMS320AV7100 ARM Processor
4–20
4.3.2
Microprocessor Interface Control
The microprocessor interface has several programmable functions such as the polarity of the RDY
handshake signal and the endianness type to be used (for byte swapping). All optional functions on this
interface are selected by the microprocessor via the I/O control register at offset 1ECh in the configuration
register space. Figure 4–22 shows the bit map of the IOCR register. Table 4–6 shows a correlation table of
the value and meaning of each bit, along with the power up default setting.
4
5
6
7
Bits 8 – 31
IntPushPull
DataInvarnt
RdyPol
3
BlindAccess
BeCtl
2
IntPol
1
RdyPushPull
0
MCMP8
The TSB12LV41 supports both 8-bit and 16-bit data busses. It supports both little endian and big endian
microprocessors. The TSB12LV41 can support either high or low true interrupt polarity. It can also support
either totem-pole or open drain output for RDY and INT signals. The TSB12LV41 does not provide any
on-chip pullup or pulldown resistor for those open-drain type outputs. The board level designer will have to
add it if necessary to achieve appropriate level control or sharing between devices.
Reserved
Figure 4–22. TSB12LV41 IOCR Register
Bit Name
Bit Value Setting Meaning
Power Up Default Setting
Bit
Number
Symbol
Description
Value = 1
Value = 0
0
MCMP8
Micro bus is
8/16 bit
access
Byte Access
Word
Access
Word Access
Byte
Access
1
BeCtl
Big Endian
Control
Big Endian
Little Endian
Big Endian
Little
Endian
2
IntPol
Interrupt
Polarity
Control
High True
Low True
3
RdyPushPull
”RDY” output
signal control
Active Push/
Pull
Three-state
4
IntPushPull
”INT” output
signal control
Active Push/
Pull
Three-state
Active Push/Pull
5
Blind
Access
Blind Access
Enable/
Disable
Enable Blind
Access
Mode
Disable
Blind Access
Mode
(Handshake)
Enable Blind
Access Mode
6
Data
Invarnt‡
Data Invariant
Endianness
Cntl
Data
Invariant
Address
Invariant
Data Invariant
7
RdyPol
RDY output
Polarity
Control
High True
Low True
Low True
TMS320AV7100
68000
8051
Low True
N/A†
Three-state
Three-state
Disable
Blind
Access
Mode
Enable
Blind
Access
Mode
† When the BeCtl bit is set to 1 (big endian), the Data Invarnt bit setting has no effect.
‡ Although there is no RDY line connection in Intel 8051 Mode, reading the IOCR.RdyPushPull still returns the value of
”0” for this bit.
Table 4–6. TSB12LV41 IOCR Bit/Function Correlation Table and Power-Up Default Setting
4–21
Although the IOCR provides a way to set up the extension bus interface, not all settings are supported for
each type of microprocessor. The following summarizes the special notes for each type of microprocessor
supported:
•
TMS320AV7100
Both byte access and word access are supported. Little endian is supported but users have to
take the risk of wrong data byte swapping, since the TMS320AV7100 is big endian.
•
Motorola 68000
Only word access is supported. Blind access mode is not supported.
•
Intel 8051
Word access is not supported since it is an 8 bit processor. Uses blind access mode only.
It is strongly recommended that users program the IOCR during the first access after the external reset
(RESETZ) goes away. This ensures that the TSB12LV41’s microprocessor interface is programmed
correctly to work with the particular type of micro being used.
To be able to get the new IOCR setting updated, it is very important to allow 4 clocks (for 40.5 MHz
TMS320AV7100 clock) idle time after the last write to fill up the whole quadlet of IOCR. This rule applies
to any IOCR write, regardless if it is the first power-up write or a later writes. Note that for the 8051 to be
able to load the correct setting into the IOCR, it has to do four writes to finish the whole quadlet write. Only
the first write contains the actual setting information (bits 0–7 of the IOCR register). The other three writes
could be loaded with all zeros (bits 8–31 of the IOCR register).
4.3.3
Handshake and Blind Access modes
The host microprocessor can access the TSB12LV41 with either handshake or non-handshake mode. The
handshake signal between TSB12LV41 and the micro is called RDY, which can be interpreted as either
ready or wait, based on the type of microprocessor being used. A read or write transaction from the
microprocessor is always initiated by assertion of the chip select (CSZ). In handshake mode, the
microprocessor drives the target address onto the address bus, asserts the chip select and read/write
control line for the type of transaction desired, and waits for or provides data on the data bus. The
microprocessor then holds for the RDY signal acknowledge to assert and terminate the transaction.
The non-handshake mode is the patent-pending blind access mode. In blind access mode, the
microprocessor does not hold for the RDY acknowledge to terminate the transaction. Instead, the
microprocessor always terminates the current transaction in a fixed number of cycles. It then polls the Blind
access status register (at offset address 1F0h) to determine if the current transaction is finished or not. More
detail on the blind access mode functionality is provided in the Blind Access Specific Issues section. For
both handshake and Blind Access mode, there are some common read/write rules that have to be followed
in order to carry out a correct read or write transaction.
4.3.4
General Read Instructions
For the read case, the TSB12LV41’s microprocessor interface initiates a read process to the internal link
logic after it senses a read request to a new quadlet address generated by the microprocessor, regardless
of which byte position inside the quadlet the address falls. For example, a read request from either address
0F5h or 0F6h returns the 32-bit value stored at address 0F4h (DSS formatter control register). In handshake
mode, the TSB12LV41 holds the microprocessor read transaction cycle for the internal response before it
releases the RDY signal to indicate to the microprocessor that the current transaction is complete.
The microprocessor interface’s byte stacking buffer holds the whole quadlet provided by the internal link
logic. Any follow-up reads to different byte/word positions within the same quadlet boundary retrieves the
data from the byte stacking buffer (rather than generate a new read transaction each time). Therefore, the
first read to a new quadlet address always takes a little more time than all the other follow-up reads, since
4–22
it is this first read that handshakes internally. The read access latency to the internal link logic is a maximum
of 19 clock cycles (from the falling edge of CSZ).
If the host attempts to read the same byte/word position inside the same quadlet boundary twice, the
microprocessor interface initiates a new read transaction to the same quadlet again to obtain the new data.
Consider the following: If the current transaction is a read request to address 054h with read to byte0 and
byte1 completed, the host now leaves the current transaction to do something else (maybe access another
device) then returns to access the TSB12LV41 again:
•
A read to 054h byte0 or byte1 results in the new read cycle being initiated to the internal logic
•
A read to 054h byte2 or byte3 gets the held data stored in TSB12LV41 microprocessor interfaces
stacking buffer from the original read request
•
A read to any address other than 054h results in a new read cycle to the new quadlet address
•
A write to the TSB12LV41 initiates a write cycle and any future read requests initiates a new read
cycle
4.3.5
General Write Instructions
For the write case, the TSB12LV41s microprocessor interface only initiates a write cycle when the byte
stacking buffer is filled up. This means that the first three byte writes in byte access mode or first word write
in word access mode only loads part of the quadlet into the byte stacking buffer. Once the TSB12LV41
receives the complete quadlet, it then initiates a write cycle to the internal logic and passes along the quadlet
address and quadlet data. Meanwhile, an internal cycle acknowledge is sent to the microprocessor interface
state machine without waiting for a response from the internal logic. This would allow the microprocessor
interface to accept a new read or write transaction. A new read or write is allowed, although a new write
request is only allowed to preload the first three bytes or first word (a new write transaction cannot be actually
started until the present write cycle is complete). Note that a third transaction is not allowed. When the
response is returned from the internal logic, the microprocessor interface sends the acknowledge to the host
processor (RDY) and starts the new (pre-loaded) transaction if any.
The TSB12LV41 supports any byte/doublet order writes, as long as they are within the same quadlet
boundary. If the user tries to do either one of the following before he fills up the complete quadlet, the current
write is ignored and a invalid write interrupt is issued (interrupt bit INVWROP):
•
Host attempts to write to a new quadlet address before completing the current write quadlet load
•
Host attempts a read process before completing the current write quadlet load
write byte_3 ––> write byte_1 ––> write byte_2 ––> read process ==> ERROR!
•
Host attempts to write to a byte address within the same quadlet twice:
write byte_3 ––> write byte_1 ––> write byte_2 ––> write byte_3 ==> ERROR!
To summarize, read and write rules; On read accesses, the first read to a new quadlet address is the one
that handshakes with the internal link core to obtain the quadlet data. The follow up reads within the quadlet
boundary only have to read data from microprocessor interfaces byte stacking buffer. On write accesses,
the last write to fill up the whole write quadlet is the one that handshakes with the internal link core to transfer
the whole quadlet to the register. The first three byte writes or first doublet write only loads data into the
microprocessor interfaces byte stacking buffer.
4.3.6
TMS320AV7100 Mode Timing Diagrams
TSB12LV41 is designed to meet the read/write access timing defined by TI’s TMS320AV7100 extension bus
interface. The following figures show critical and functional timing for read and write operations. Note that
this mode supports both handshake and blind access modes, thus timing diagrams are given for each.
4–23
PARAMETER
MIN
MAX
UNIT
tsu1
tsu2
Setup time, CSZ to BCLK rising edge
12.2
ns
Setup time, R/WZ to BCLK rising edge
12.1
ns
tsu3
tsu4
Setup time, Address to BCLK rising edge
8.9
ns
Setup time, Data to BCLK rising edge
1.2
ns
th1
th2
Hold time, CSZ after BCLK rising edge
th3
th4
0.8
ns
1
ns
Hold time, Address after BCLK rising edge
0.8
ns
Hold time, Data after BCLK rising edge
0.9
ns
17
BCLK
cycles
ns
2 BCLK
cycles
+ 8 ns
ns
Hold time, R/WZ after BCLK rising edge
td1
Delay time, WAITZ low
td2
Delay time, CSZ falling edge to WAITZ
td3
Delay time, CSZ rising edge to CSZ falling edge
td4
Delay time, DATA valid after CSZ rising edge
td5
Delay time, CSZ low
tck
BCLK period
2.5
BLCK
cycles
5
ns
5 BCLK
cycles
ns
24.5
ns
Table 4–7. TMS320AV7100 Critical Timing Characteristics
4–24
ns
th4
tsu4
tsu2
th2
tck
tsu3
th3
th1
tsu1
BCLK
td3
td5
CSZ
ADDR[0:8]
XXX
XXX
td4
DATA[0:15]
XXXX
XXXX
R/WZ
td2
td1
WAITZ
Figure 4–23. TMS320AV7100 ARM Read/Write Critial Timing
4–25
4–26
CSZ
XXX
ADDR[0:8]
XXX
0F4
XXXX
DATA[0:15]
XXX
1AB2
0F6
XXXX
AB25
R/WZ
WAITZ
Figure 4–24. TMS320AV7100 Handshake Mode Read Timing
CSZ
ADDR[0:8]
XXX
0F4
XXX
0F6
DATA[0:15]
XXXX
3EF1
XXXX
AB25
R/WZ
WAITZ
Figure 4–25. TMS320AV7100 Handshake Mode Write Timing
XXXX
CSZ
ADDR[0:8]
XXX
DATA[0:15]
0F4
XXX
XXXX
1F0
XXX
0000
1F0
XXXX
XXX
0101
1F4
XXXX
XXX
40F5
1F6
XXXX
67EC
R/WZ
WAITZ
Figure 4–26. TMS320AV7100 ARM Blind Access Mode Read Timing
CSZ
ADDR[0:8]
XXX
0F4
XXX
0F6
XXX
1F0
XXX
DATA[0:15]
XXXX
3EF1
XXXX
AB25
XXXX
0101
XXXX
R/WZ
WAITZ
Figure 4–27. TMS320AV7100 ARM Blind Access Mode Write Timing
4–27
4.3.6.1
TMS320AV7100 Mode Specific Issues
BCLK is the input clock from the output of TMS320AV7100 chip (CLK40). Its frequency is 40.5 MHz.
For the write case, the TSB12LV41 latches the data at the next rising edge of BCLK after the CSZ goes low.
Once the TSB12LV41 is ready to terminate the current cycle, it deasserts the EXTWAITZ (RDY) signal. The
TMS320AV7100 samples the EXTWAITZ by the next rising edge of its CLK40 and a half cycle later, at the
falling edge of CLK40, the TMS320AV7100 deasserts CSZ.
For the read case, once the TSB12LV41 has the read data available, it deasserts EXTWAITZ. The
TMS320AV7100 deasserts CSZ by the next rising edge of its CLK40. The TSB12LV41 uses this CSZ rising
edge to asynchronously turn off the data bus. Therefore, turning off the read cycle after EXTWAITZ roughly
takes 2 CLK40 cycles.
Important Notes for TMS320AV7100 Mode:
4–28
1.
20 CLK40 Rule for EXTWAITZ signal
The maximum allowed EXTWAITZ assertion time is 500ns for each chip select. The
TMS320AV7100’s extension bus interface is designed to disable the EXTWAITZ acknowledge
from a peripheral if the acknowledge ever takes longer than 20 CLK40 cycles. Once the
EXTWAITZ has been asserted more than 20 CLK40 cycles, the TMS320AV7100 assumes that
the device generating the EXTWAITZ has failed and deasserts the CSZ at the next CLK40 cycle.
Then the TMS320AV7100 ignores EXTWAITZ generated by all the devices on the bus. The
TMS320AV7100 can still accept read and write transactions without using the EXTWAITZ signal
by using the an internal programmable wait state register. To avoid this timeout, the TSB12LV41
microprocessor interface state machine aborts the current transaction and deassert the
EXTWAITZ signal if the TSB12LV41’s internal logic cannot complete the transaction after
17 BCLK cycles. Only a software or hardware reset to the TMS320AV7100 can reactivate the
EXTWAITZ input again.
2.
EXTWAITZ to be recognized by TMS320AV7100 at the beginning of the transaction
According to the TMS320AV7100 spec, the EXTWAITZ signal must assert before the
programmed number of wait states expires. The TSB12LV41 is designed to always assert its wait
line (RDY) on the second BCLK rising edge after it samples the falling edge of CSZ. In order for
the TSB12LV41 to work with TMS320AV7100 seamlessly, it is recommended that after power-up,
the host should change the wait state number to four (or greater) in the TMS320AV7100 ARM
core. Otherwise, handshake mode may fail to function. (Note that Blind Access mode should
work regardless of the TMS320AV7100 wait state setting.)
3.
EXTWAITZ (RDY) Sharing Issue
Since the TMS320AV7100 only has one EXTWAITZ input signal line, the TSB12LV41 may have
to share this pin with other devices on the extension bus. Since EXTWAITZ has been defined as
an open-drain type in TMS320AV7100, users must set the RdyPushPull bit in the IOCR register
to zero (three-state) in order to avoid bus contention on the EXTWAITZ pin. The TSB12LV41 does
not provide any on-chip pull-up resistor for this pin, thus the user also needs to add an external
pull-up resistor on this pin in this case. If the TSB12LV41 is the only device connected to the
TMS320AV7100’s EXTWAITZ input then the user can set RdyPushPull to 1.
4.
INT (interrupt) Output Line Sharing Issue.
TMS320AV7100 have dedicated INT lines, therefore no sharing of this signal is needed.
TSB12LV41 outputs normal totem-pole signal level for this pin. Also, the application is allowed
to write a ”1” to the TSB12LV41’s interrupt register to clear the various interrupts, eliminating the
need to use the TMS320AV7100’s EXTACK signal (interrupt acknowledge).
5.
TMS320AV7100 Byte Access mode data bus
When using the TMS320AV7100’s ARM processor in byte access mode (8 but data bus), the
upper byte (bit 0–7) of the TSB12LV41’s 16-bit data bus contains the byte data, the lower byte
(bit 8–15) is driven low. When writing to the TSB12LV41, the ARM host must put the byte write
data in the upper byte. The data in lower byte has no effect to the data to be written into
TSB12LV41. (Intel 8051 mode uses the lower 8 bits of the data bus for data exchange.)
4.3.7
68000 Mode Timing Diagrams
PARAMETER
TEST CONDITIONS
MIN
MAX
UNIT
td1
td2
Delay time,
0
ns
Delay time,
7.2
ns
td3
td4
Delay time,
40
ns
Delay time,
130
ns
td5
tsu1
Delay time,
40
ns
Setup time,
10
ns
tsu2
Setup time,
0
ns
tsu3
th1
Setup time,
2
Hold time,
40
ns
th2
th3
Hold time,
0
ns
Hold time,
40
ns
ns
Table 4–8. Motorola 68000 Critical Timing Characteristics
4–29
4–30
th1
tsu1
th2
CSZ
R/WZ
td4
td3
DTACKZ
ADR[8:1]
ZZ
Address
ZZ
td1
D[15:0]
ZZZZ
Figure 4–28. Motorola 68000 Read Critical Timing
td2
Data
ZZZZ
tsu3
th3
tsu2
th2
tsu1
CSZ
R/WZ
td5
td4
DTACKZ
ADR[8:1]
D[15:0]
ZZ
ZZZZ
Address
Data
Figure 4–29. Motorola 68000 Write Critical Timing
ZZ
ZZZZ
4–31
4–32
CSZ
R/WZ
DTACKZ
ADR[8:1]
D[15:0]
Address
Byte 0 and 1
Address + 2
Byte 2 and 3
Figure 4–30. Motorola 68000 Read Timing
CSZ
R/WZ
DTACKZ
ADR[8:1]
D[15:0]
Address
Byte 0 and 1
Figure 4–31. Motorola 68000 Write Timing
Address + 2
Byte 2 and 3
4.3.8
8051 Mode Timing Diagrams
Note that the Intel 8051 mode always operates in blind access mode.
The lower byte (bits 8–15) of TSB12LV41’s 16-bit data bus must be used for the byte data, the upper byte
(bit 0–7) is driven low. When writing to the TSB12LV41, the 8051 host should put the byte write data in the
lower byte. The data in upper byte has no effect on the data to be written into TSB12LV41.
PARAMETER
TEST CONDITIONS
MIN
MAX
UNIT
td1
td2
Delay time,
30
ns
Delay time,
20
ns
td3
td4
Delay time,
130
ns
Delay time,
100
ns
td5
td5
Delay time,
10
ns
Delay time,
130
ns
td6
tsu1
Delay time,
10
ns
Setup time,
7
ns
tsu2
Setup time,
0
ns
th1
th2
Hold time,
10
ns
Hold time,
2
ns
th3
Hold time,
10
ns
Table 4–9. Intel 8051 Critical Timing Characteristics
4–33
4–34
td1
th1
td5
tsu1
ALE
PSENZ
td3
RDZ
WRZ
td4
td2
AD[7:0]
P2.A0
ZZ
Address
XX
th2
ZZ
Data
0/1
CSZ
Figure 4–32. Intel 8051 Read Critial Timing
ZZ
Address
td1
th1
td5
tsu1
ALE
PSENZ
RDZ
td6
WRZ
tsu2
th3
td2
AD[7:0]
P2.A0
ZZ
Address
XX
Data
0/1
CSZ
Figure 4–33. Intel 8051 Write Critial Timing
Address
4–35
4–36
ALE
PSEN
RD
WR
address
byte0
AD[7:0]
(Port 1)
F0
A0
(Port 2)
01
0/1
byte1
F4
F4
1
1
byte2
F4
1
byte3
F4
1
1
CSZ
Figure 4–34. Intel 8051 Read Timing (Blind Access Read)
ALE
PSEN
WR
RD
addr+0
byte0 addr+1
byte1 addr+2
byte2
addr+3
byte3
F4
Port 0
Port 2
0/1
0/1
0/1
0/1
CSZ
Figure 4–35. Intel 8051 Write Timing (Blind Access Read)
01
1
4.3.9
Blind Access Mode Specific Issues
Due to the long maximum access latency to some configuration registers (about 17 BCLK @ 50MHz), a
patent-pending mode was developed to increase the burst speed of the microprocessor interface. This
mode is called blind access mode. Users can take advantage of this mode by setting the blind access bit
in the IOCR register to 1. The blind access mode is designed for faster microcontrollers like Intel’s 8051
which do not have a external wait/ready line handshake signal and could be unnecessarily bandwidth limited
by the long access time of the TSB12LV41’s microprocessor interface. The blind access mode allows a
microprocessor to perform a read or write transaction to the TSB12LV41 without waiting for an acknowledge.
The processor can then return at a later time and poll for the read or write status to determine if the
transaction is complete, and if so, either start a new read/write or obtain the requested data from an internal
holding register. This method allows the processor to use the CFR access latency time to perform other
functions, thereby increasing processor performance. Blind access mode can be used in either
TMS320AV7100 ARM mode or Intel 8051 mode.
There are two registers used for Blind Access mode operation, BASTAT (blind access status register,
@ address 1F0h) and BAHR (blind access holding register, @ address 1F4h. The BAHR register is used
as the holding register for data that is returned from a read address. The host processor can get the
requested data only by reading this register. The BASTAT register can be used by the host to determine
when the current read or write transaction is complete. Bits 7, 15, 23, and 31 in the BASTAT register are all
the same status bit, BAcmp (blind access complete). If BAcmp is set to 1, this indicates that the current blind
access transaction is finished. For a Blind read, it means the data from the requested address is available
in the BAHR register. For a blind write, it means the write data has been delivered to the requested address.
4.3.9.1
Blind Access Write
Blind access write follows the general write rules, except it does not use RDY signal as a handshake signal
with the host processor. For consecutive writes, check the BAcmp bit in the BASTAT register and wait until
the previous access is finished. Note that if the time period of consecutive writes is longer than the write
latency, then the BAcmp bit does not have to be checked. The first 3 bytes (in byte access mode) or first
word (in word access mode) written to the Microprocessor interface is very quick, normally taking only 3
clock cycles for each write. When the write of the last byte or word to fill up the whole quadlet buffer comes
in, it then initiates delivery of the whole quadlet to the address requested. By polling the BAcmp bit in
BASTAT register, the host can then detect when the write is complete. Before the BAcmp bit is set, only reads
from the BASTAT and BAHR registers are allowed. Also, once the whole quadlet buffer has been filled up
with the data to be written, a write to the internal logic is initiated and can not be stopped except by a device
reset. If the host mistakenly issues a new write or read before the BAcmp bit is set, a write/read error interrupt
(INVWROP interrupt) is generated and this new write/read is aborted.
4.3.9.2
Blind Reads
Blind access read still follows the general read rules, but without the handshake RDY signal. The first read
results in a dummy value on the data bus since this action only initiates the read request. The BAcmp bit
in BASTAT can be checked to determine if the transaction is finished. If the time period of consecutive reads
is longer than the read latency, then the BAcmp bit does not have to be checked. Before the BAcmp bit is
set, only reads from the BASTAT and BAHR registers is allowed. Once the read procedure starts, it can not
be stopped except by a device reset. If the host mistakenly issues a new write or read before the BAcmp
bit is set, a write/read error interrupt (INVWROP interrupt) is generated and this new write/read is aborted.
A follow-up read to BAHR can obtain the requested data once the BAcmp bit is set to 1.
4.3.9.3
BAcmp Bit Clear
For normal read and write cases, once the BAcmp bit has been set, reading to either BASTAT or BAHR
causes the BAcmp bit to be cleared, regardless of whether the current Blind Access is read or write.
However, because the BAcmp bit could be set at any time, even in the middle of a read to the BASTAT
register, the TSB12LV41’s microprocessor interface ensures that:
4–37
•
If the internal cycle acknowledge is returned before the first BCLK (or SCLK) rising edge inside
the chip select window of the current read cycle to BASTAT, then the current read returns the
status that BAcmp has been set to 1 and the BAcmp bit is cleared after the read.
•
If the internal cycle acknowledge is returned after the first BCLK (or SCLK) rising edge, but still
inside the current read cycle to BASTAT, then the current read returns the status that BAcmp has
not been set. Then the BAcmp bit is set, held and is not cleared by the current read to BASTAT.
•
A read to the BAHR register clears the BAcmp anyway as long as internal cycle acknowledge
comes back before or at the current read BAHR cycle.
For those consecutive read/write transactions whose access time interval is longer than the read/write
latency, a new blind read/write is issued without reading the BASTAT register to check the BAcmp status,
the falling edge of CSZ clears the BAcmp bit. Thus, for Blind write, the last write to fill up the whole quadlet
buffer clears the BAcmp bit. For Blind read, the first read transaction clears the BAcmp bit.
4.3.9.4
Special Notes on Blind Access
•
Blind read and blind write accesses can not be nested inside each other.
•
There are four registers located inside the TSB12LV41’s microprocessor interface domain: IOCR
(I/O Control Register), BASTAT (blind access status register), BAHR (blind access holding
register), and SRES (software reset register). Accessing them in the blind access mode does not
need to go across any internal clock synchronization boundary, therefore, access to these
registers is immediate and no status check to BASTAT is necessary.
4.3.10
Endianness
The term endianness refers to the way a processor stores and references bytes of data in memory. For
example, consider a 32 bit processor; any 32 bit word consists of four bytes which may be stored in memory
in one of two ways. Of the four bytes, either Byte 3 is considered the Most Significant byte and Byte 0 the
Least Significant byte, or vice versa (see Figures 4–36 and 4–37). A Little Endian type memory considers
Byte 0 the Least Significant byte, whereas a Big Endian type memory considers Byte 3 to be the Least
Significant byte. This topic is of importance to users of the TSB12LV41 since all its Configuration Registers
are Big Endian and users could potentially use a Little Endian type processor. The TSB12LV41 uses the
same endianness as the internal P1394 Link Core, which is Big Endian. Here we define the MSByte (Most
Significant Byte) to be Byte 0 at the left most hand side and LSByte (Least Significant Byte) to be Byte 3
at the right most hand side.
Byte#0 (MSByte)
Byte#1
Byte#2
Byte#3 (LSByte)
Figure 4–36. Big Endian Illustration chart
Byte#3 (MSByte)
Byte#2
Byte#1
Byte#0 (LSByte)
Figure 4–37. Little Endian Illustration chart
Since the TSB12LV41’s microprocessor interface is only 8 or 16 bits wide, but the internal configuration
registers are 32 bits wide, a byte stacking (for writes) and a byte un-stacking (for reads) operation must be
performed on the data bus. For little endian processors the TSB12LV41 can perform the swapping of bytes
on the data bus required to allow both the processor and the TSB12LV41 to interpret the data the same.
There are two methods of swapping the data bytes, address invariant and data invariant. Both of these
methods are described in the following.
4–38
NOTE:
For the host processor to work correctly with the TSB12LV41, users must correctly
connect the address and data busses of their microprocessor to the TSB12LV41’s
microprocessor port. Users must connect the MSB (most significant bit) of their
address/data bus to the address/data MSB of the TSB12LV41. This must be done
regardless of bit number labeling or which type of endianness their microprocessor
uses. For processors of little endian type the correct byte swapping can be done
by using the BeCtl (big endian control) and DataInvarnt (data invariant) bits in the
IOCR register (at offset 1ECh).
4.3.10.1 Byte Swapping for Little Endian systems
The BeCtl bit in the TSB12LV41’s IOCR register informs the microprocessor interface of the endianness
type that is being used. The DataInvarnt bit controls how the write/read data is swapped at the data bus when
BeCtl is set to 0. Note that when the BeCtl bit is set to 1 the DataInvarnt bit setting has no affect and data
is always interpreted in as Big Endian. The default setting for BeCtl is 1 and for DataInvarnt is 1.
4.3.10.2 Data Invariant System Design
Figure 4–38 shows a little endian data invariant system design example. In this system, the byte addresses
are not preserved. Byte_0 in the host microprocessors little endian system contains aa. Byte_0 in
TSB12LV41’s big endian system contains dd. In other words, a Data Invariant design does not preserve the
addresses when mapping between endian domains. If the data represents an integer, it is interpreted the
same by both systems. If the data represents a string, an array, or some other type of byte indexed structure,
it is interpreted differently by both systems.
Little Endian Processor Memory
TSB12LV41 CFR
Byte 3
(MSByte)
Byte 2
Byte 1
Byte 0
(LSByte)
aa
bb
cc
dd
aa
bb
cc
dd
Byte 1
Byte 2
(MSByte)
Byte 0
(LSByte)
Byte 3
Figure 4–38. Little Endian Data Invariant System Design Illustration Chart
4.3.10.3
Address Invariant System Design
Figure 4–39 shows a little endian address invariant system design example. In this system, the byte address
are preserved. Byte_0 in the host microprocessor’s little endian system contains dd. Byte_0 in TSB12LV41’s
big endian system also contains dd. In other words, an address Invariant design preserves the addresses
when mapping between endian domains. If the data represents a string, an array, or some other type of byte
indexed structure, it is interpreted the same by both systems. If the data is an integer, it is interpreted
differently by both systems.
4–39
Little Endian Processor Memory
TSB12LV41 CFR
Byte 3
(MSByte)
Byte 2
Byte 1
Byte 0
(LSByte)
aa
bb
cc
dd
dd
cc
bb
aa
Byte 1
Byte 2
(MSByte)
Byte 0
(LSByte)
Byte 3
Figure 4–39. Little Endian Address Invariant System Design Illustration Chart
4.3.11
Use of Interrupts with MPEG2Lynx
The interrupts that can be routed to the external INT terminal (89) are available in registers 10h and 18h.
Each interrupt has a corresponding mask bit. If the mask bit is disabled (mask bit = 0), then that interrupt
is disabled. When the mask bit = 1, then the interrupt is enabled and available for output on the external INT
terminal. The mask registers for the interrupt registers (10h and 18h) are 18h and 1Ch, respectively. See
Figure 4–40 for the interrupt hierarchy.
NOTE:
Even if an interrupt is masked off, its value in registers 10h and 14h is still valid.
When an interrupt is signaled on the INT terminal, the host should examine the IGRP0 and IGRP1 bits to
determine which register (either 10h or 18h) contain the interrupt. The IGRP0 and IGRP2 bits are available
in both registers 10h and 18h. Each interrupt can be cleared by writing a 1 to the interrupt bit.
4–40
Interrupt (Reg 10h, Bit 3)
Interrupt Mask (Reg 14h, Bit 3)
IGRP0
Interrupt (Reg 10h, Bit 31)
Interrupt Mask (Reg 14h, Bit 31)
IRGP0_MASK (Reg 14h, Bit 2)
INT (89)
Extended Interrupt (Reg 18h, Bit 3)
Extended Interrupt Mask (Reg 1Ch, Bit 3)
IGRP1
Extended Interrupt (Reg 18h, Bit 31)
Extended Interrupt Mask (Reg 1Ch, Bit 31)
IRGP1_MASK (Reg 1Ch, Bit 2)
Figure 4–40. Interrupt Hierarchy
4.4
4.4.1
TSB12LV41 to 1394 Phy Interface Specification
Introduction
This chapter provides an overview of a TSB12LV41 to the phy interface. The information that follows can
be used as a guide through the process of connecting the TSB12LV41 to a 1394 physical-layer device. The
part numbers referenced, the TSB21LV03A and the TSB12LV41, represent the Texas Instruments
implementation of the phy (TSB21LV03A) and link (TSB12LV41) layers of the IEEE 1394-1995 standard.
The specific details of how the TSB21LV03A device operates is not discussed in this document. Only those
parts that relate to the TSB12LV41 phy-link interface are mentioned.
4.4.2
Assumptions
The TSB12LV41 is capable of supporting 100 Mbits/s and 200 Mbits/s phy-layer devices. For that reason,
this document describes an interface to a 200-Mbits/s (actually 196.6-Mbits/s) device. To support
differential-speed phy layers, adjust the width of the data bus by two terminals per 100 Mbits/s. For example,
for 100- and 200-Mbits/s devices, the data bus is 2 and 4 bits wide respectively. The width of the CTL bus
and the clock rate between the devices, however, does not change, regardless of the transmission speed
that is used.
Finally, the 1394 phy layer has control of all bidirectional terminals that run between the phy layer and
TSB12LV41. The TSB12LV41 can drive these terminals only after it has been given permission by the phy
layer. A dedicated request terminal (LREQ) is used by the TSB12LV41 for any activity that the designer
wishes to initiate.
4.4.3
Block Diagram
The functional block diagram of the TSB12LV41 to phy layer is shown in Figure 4–41.
4–41
D0 – D3
1394
Link
Layer
CTL0 – CTL1
1394
Phy-Layer
Device
LREQ
SCLK
TSB12LV41
ISO
ISO
NOTE A: See Table 2–2 for signal definition.
Figure 4–41. Functional Block Diagram of the TSB12LV41 to Phy Layer
4.4.4
Operational Overview
The four operations that can occur in the phy-link interface are request, status, transmit, and receive. With
the exception of the request operation, all actions are initiated by the phy layer.
The CTL0 – CTL1 bus is encoded as shown in the following sections.
4.4.4.1
Phy Interface Has Control of the Bus
Table 4–10. Phy Interface Control of Bus Functions
CTL0,CTL1
NAME
DESCRIPTION OF ACTIVITY
00
Idle
No activity is occurring (this is the default mode).
01
Status
Status information is being sent from the phy layer to the TSB12LV41.
10
Receive
An incoming packet is being sent from the phy layer to the TSB12LV41.
11
Transmit
The TSB12LV41 has been given control of the bus to send an outgoing packet.
4.4.4.2
TSB12LV41 Has Control of the Bus
The TSB12LV41 has control of the bus after receiving permission from the phy layer.
Table 4–11. TSB12LV41 Control of Bus Functions
CTL0, CTL1
4–42
NAME
DESCRIPTION OF ACTIVITY
00
Idle
The TSB12LV41 releases the bus (transmission has been completed).
01
Hold
The TSB12LV41 is holding the bus while data is being prepared for transmission, or the
TSB12LV41 wants to send another packet without arbitration.
10
Transmit
An outgoing packet is being sent from the TSB12LV41 to phy layer.
11
Reserved
None
4.4.5
Request
A serial stream of information is sent across the LREQ terminal whenever the TSB12LV41 needs to request
the bus or access a register that is located in the phy layer. The size of the stream varies depending on
whether the transfer is a bus request, a read command, or a write command. Regardless of the type of
transfer, a start bit of 1 is required at the beginning of the stream and a stop bit of 0 is required at the end
of the stream.
Table 4–12. Request Functions
NUMBER
of BITS
4.4.5.1
NAME
7
Bus Request
9
Read Register Request
17
Write Register Request
LREQ Transfer
Bus Request
Table 4–13. Bus-Request Functions (Length of Stream: 7 Bits)
BIT(S)
0
NAME
DESCRIPTION
Start Bit
Start bit indicates the beginning of the transfer (always set).
1–3
Request Type
Request type indicates the type of bus request (see Table 7–7 for the encoding of this
field).
4–5
Request Speed
Request speed indicates the speed at which the phy interface sends the packet for this
particular request (see Table 7–8 for the encoding of this field).
Stop Bit
Stop bit indicates the end of the transfer (always cleared).
6
Read-Register Request
Table 4–14. Read-Register Request Functions (Length of Stream: 9 Bits)
BIT(S)
0
NAME
DESCRIPTION
Start Bit
Start bit indicates the beginning of the transfer (always set).
1–3
Request Type
Request type indicates the type of request function (see Table 7–7 for the encoding of
this field).
4–7
Address
These bits contain the address of the phy register to be read.
8
Stop Bit
Stop bit indicates the end of the transfer (always cleared).
Write-Register Request
Table 4–15. Write-Register Request (Length of Stream: 17 Bits)
BIT(S)
0
NAME
DESCRIPTION
Start Bit
Start bit indicates the beginning of the transfer (always set).
1–3
Request Type
Request type indicates the type of request (see Table 7–7 for the encoding of this field).
4–7
Address
These bits contain the address of the phy register to be written to.
8 – 15
Data
These bits contain the data that is to be written to the specified register address.
Stop Bit
Stop bit indicates the end of the transfer (always cleared).
16
4–43
Request-Type Field for Request
Table 4–16. TSB12LV41 Request Functions
LREQ1 –
LREQ3
NAME
DESCRIPTION
000
TakeBus
Immediate request. Upon detection of an idle, take control of the bus immediately (no
arbitration) for asynchronous packet ACK response.
001
IsoReq
Isochronous request. IsoReq arbitrates for control of the bus after an isochronous gap.
010
PriReq
Priority request. PriReq arbitrates for control of the bus after a fair gap and ignores fair
protocol.
011
FairReq
Fair request. FairReq arbitrates for control of the bus after a fair gap and uses fair protocol.
100
RdReg
Read request. RdReg returns the specified register contents through a status transfer.
101
WrReg
Write request. WrReg writes to the specified register.
Reserved
Reserved
110, 111
Request-Speed Field for Request
Table 4–17. Request-Speed Functions
4.4.5.2
LREQ4, LREQ5
DATA RATE
00
100 Mbits/s
01
200 Mbits/s
10
400 Mbits/s
11
Reserved
Bus Request
For fair or priority access, the TSB12LV41 requests control of the bus at least one clock after the
TSB12LV41/phy interface becomes idle CTL0 – CTL1 = 00 indicates that the physical layer is in an idle state.
If the TSB12LV41 senses that CTL0 – CTL1 = 10, then it knows that its request has been lost. This is true
any time during or after the TSB12LV41 sends the bus request transfer. Additionally, the phy interface
ignores any fair or priority requests when it asserts the receive state while the TSB12LV41 is requesting the
bus. The link then reissues the request one clock after the next interface idle.
The cycle master uses a normal priority request to send a cycle-start message. After receiving a cycle start,
the TSB12LV41 can issue an isochronous bus request. When arbitration is won, the TSB12LV41 proceeds
with the isochronous transfer of data. The isochronous request is cleared in the phy interface once the
TSB12LV41 sends another type of request or when the isochronous transfer has been completed.
The TakeBus request is issued when the TSB12LV41 needs to send an acknowledgment after reception
of a packet addressed to it. This request must be issued during packet reception. This is done to minimize
the delay times that a phy interface would have to wait between the end of a packet reception and the
transmittal of an acknowledgment. As soon as the packet ends, the phy interface immediately grants access
of the bus to the TSB12LV41. The TSB12LV41 sends an acknowledgment to the sender unless the header
CRC of the packet turns out to be invalid. In this case, the TSB12LV41 releases the bus immediately; it is
not allowed to send another type of packet on this grant. To ensure this, the TSB12LV41 is forced to wait
160 ns after the end of the packet is received. The phy interface then gains control of the bus and the
acknowledge with the CRC error sent. The bus is then released and allowed to proceed with another
request.
Although highly improbable, it is conceivable that two separate nodes believe that an incoming packet is
intended for them. The nodes then issue a TakeBus request before checking the CRC of the packet. Since
both phys seize control of the bus at the same time, a temporary, localized collision of the bus occurs
4–44
somewhere between the competing nodes. This collision would be interpreted by the other nodes on the
network as being a ZZ line state, not a bus reset. As soon as the two nodes check the CRC, the mistaken
node drops its request and the false line state is removed. The only side effect is the loss of the intended
acknowledgment packet (this is handled by the higher layer protocol).
4.4.5.3
Read/Write Requests
When the TSB12LV41 requests to read the specified register contents, the phy interface sends the contents
of the register to the TSB12LV41 through a status transfer. When an incoming packet is received while the
phy interface is transferring status information to the TSB12LV41, the phy interface continues to attempt to
transfer the contents of the register until it is successful.
For write requests, the phy interface loads the data field into the appropriately addressed register as soon
as the transfer has been completed. The TSB12LV41 is allowed to request read or write operations at any
time.
See Section 4.4.6, for a more detailed description of the status transfer.
4.4.6
Status
A status transfer is initiated by the phy interface when it has some status information to transfer to the
TSB12LV41. The transfer is initiated by asserting the following: CTL0 – CTL1 = 01 and D0 – D1 are used
to transmit the status data; see Table 4–18 for status-request functions. D2 – D3 are not used for status
transfers.
The status transfer can be interrupted by an incoming packet from another node. When this occurs, the phy
interface attempts to resend the status information after the packet has been acted upon. The phy interface
continues to attempt to complete the transfer until the information has been successfully transmitted.
NOTE:
There must be at least one idle cycle between consecutive status transfers.
4.4.6.1
Status Request
The definition of the bits in the status transfer is shown in Table 4–18.
Table 4–18. Status-Request Functions (Length of Stream: 16 Bits)
BIT(s)
NAME
DESCRIPTION
0
Arbitration Reset
Gap
The arbitration-reset gap bit indicates that the phy interface has detected that the bus
has been idle for an arbitration reset gap time (this time is defined in the IEEE 1394-1995
standard). This bit is used by the TSB12LV41 in its busy/retry state machine.
1
Fair Gap
The fair-gap bit indicates that the phy interface has detected that the bus has been
idle for a fair-gap time (this time is defined in the IEEE 1394-1995 standard). This bit
is used by the TSB12LV41 to detect the completion of an isochronous cycle.
2
Bus Reset
The bus reset bit indicates that the phy interface has entered the bus reset state.
3
phy Interrupt
The phy interrupt bit indicates that the phy interface is requesting an interrupt to the
host.
4–7
Address
The address bits hold the address of the phy register whose contents are transferred
to the TSB12LV41.
8 – 15
Data
The data bits hold the data that is to be sent to the TSB12LV41.
Normally, the phy interface sends just the first four bits of data to the TSB12LV41. These bits are used by
the TSB12LV41 state machine. However, if the TSB12LV41 initiates a read request (through a request
transfer), then the phy interface sends the entire status packet to the TSB12LV41. Additionally, the phy
interface sends the contents of the register to the TSB12LV41 when it has some important information to
pass on. Currently, the only condition where this occurs is after the self-identification process when the phy
interface needs to inform the TSB12LV41 of its new node address (physical ID register).
4–45
There may be times when the phy interface wants to start a second status transfer. The phy interface first
has to wait at least one clock cycle with the CTL lines idle before it can begin a second transfer.
4.4.6.2
Transmit
When the TSB12LV41 wants to transmit information, it first requests access to the bus through an LREQ
signal. Once the phy interface receives this request, it arbitrates to gain control of the bus. When the phy
interface wins ownership of the serial bus, it grants the bus to the TSB12LV41 by asserting the transmit state
on the CTL terminals for at least one SCLK cycle. The TSB12LV41 takes control of the bus by asserting
either hold or transmit on the CTL lines. Hold is used by the TSB12LV41 to keep control of the bus when
it needs some time to prepare the data for transmission. The phy interface keeps control of the bus for the
TSB12LV41 by asserting a data-on state on the bus. It is not necessary for the TSB12LV41 to use hold when
it is ready to transmit as soon as bus ownership is granted.
When the TSB12LV41 is prepared to send data, it asserts transmit on the CTL lines as well as sends the
first bits of the packet on the D0 – D3 lines (assuming 200 Mbits/s). The transmit state is held on the CTL
terminals until the last bits of data have been sent. The TSB12LV41 then asserts idle on the CTL lines for
one clock cycle after which it releases control of the interface.
However, there are times when the TSB12LV41 needs to send another packet without releasing the bus.
For example, the TSB12LV41 may want to send consecutive isochronous packets or it may want to attach
a response to an acknowledgment. To do this, the TSB12LV41 asserts hold instead of idle when the first
packet of data has been completely transmitted. Hold, in this case, informs the phy interface that the
TSB12LV41 needs to send another packet without releasing control of the bus. The phy interface then waits
a set amount of time before asserting transmit. The TSB12LV41 can then proceed with the transmittal of
the second packet. After all data has been transmitted and the TSB12LV41 has asserted idle on the CTL
terminals, the phy interface asserts its own idle state on the CTL lines. When sending multiple packets in
this fashion, it is required that all data be transmitted at the same speed. This is required because the
transmission speed is set during arbitration, and since the arbitration step is skipped, there is no way of
informing the network of a change in speed.
4.4.6.3
Receive
When data is received by the phy interface from the serial bus, it transfers the data to the TSB12LV41 for
further processing. The phy interface asserts receive on the CTL lines and is set to 1 on each D terminal.
The phy interface indicates the start of the packet by placing the speed code on the data bus (see the
following note). The phy interface then proceeds with the transmittal of the packet to the TSB12LV41 on the
D lines while still keeping the receive status on the CTL terminals. Once the packet has been completely
transferred, the phy interface asserts idle on the CTL terminals that completes the receive operation.
NOTE:
The speed code sent is a phy-TSB12LV41 protocol and not included in the packets
CRC calculation.
SPD = Speed code
D0 => Dn = Packet data
Table 4–19. Speed Code for Receive
D0 – D3
00xx†
100 Mbits/s
0100†
200 Mbits/s
0101
400 Mbits/s
DATA RATE
111111111
Data-on indication
† The x means transmitted as 0 and ignored by
phy layer.
4–46
4.4.7
TSB12LV41 to Phy Bus Timing
LREQ0
LREQ1
LREQ2
LREQ
n–1
LREQ3
LREQn
Figure 4–42. LREQ Timing
Phy
CTL0 – CTL1
00
01
01
01
S(2,3)
Phy
D0 – D3
01
00
S(14,15)
00
00
S(0,1)
00
00
S(4,5)
NOTE A: Each cell represents one SCLK sample time.
Figure 4–43. Status-Transfer Timing
4–47
Phy
CTL0 – CTL1
Phy
D0 – D3
Link
CTL0 – CTL1
Link
D0 – D3
00
11
00
ZZ
ZZ
ZZ
ZZ
ZZ
ZZ
ZZ
ZZ
00
00
00
00
ZZ
ZZ
ZZ
ZZ
ZZ
ZZ
ZZ
ZZ
00
ZZ
ZZ
ZZ
01
01
10
10
10
10
00
00
ZZ
ZZ
ZZ
ZZ
00
00
D0
D1
D2
Dn
00
00
ZZ
SINGLE PACKET
Phy
CTL0 – CTL1
ZZ
ZZ
ZZ
ZZ
00
00
11
00
ZZ
ZZ
ZZ
ZZ
Phy
D0 – D3
ZZ
ZZ
ZZ
ZZ
00
00
00
00
ZZ
ZZ
ZZ
ZZ
Link
CTL0 – CTL1
10
10
01
00
ZZ
ZZ
ZZ
ZZ
01
01
10
10
Link
D0 – D3
Dn-1
Dn
00
00
ZZ
ZZ
ZZ
ZZ
00
00
D0
D1
CONTINUED PACKET
NOTE A: ZZ = high-impedance state, D0 – Dn = packet data
Figure 4–44. Transmit Timing
Phy
CTL0 – CTL1
00
10
10
Phy
D0 – D3
00
FF
FF
10
10
10
10
00
00
SPD D0
D1
Dn
00
00
Figure 4–45. Receiver Timing
4–48
5 Detailed Operation and Programmers Reference
5.1
TSB12LV41 Configuration Register
The TSB12LV41 CFR map is shown in Figure 5–1.
NOTE:
The following register pairs are aliased (are the same):
MXT0 (address DCh)
=
DXT0 (address E0h)
MRT0 (address E4h)
=
DRT0 (address E8h)
MCR (address F0h)
=
DCR (address F4h)
BMSZ (address 150h)
=
MDSZ (address 158h)
BMAVAL (address 154h)
=
BDAVAL (address 15Ch)
BMTXFC (address 160h)
=
BDTXFC (address 16Ch)
BMTXLS (address 164h)
=
BDTXLX (address 170h)
BMRX (address 168h)
=
BDRX (address 174h)
MRH (address 178h)
=
DRH (address 188h)
MCIPR0 (address 17Ch)
=
DCIPR0 (address 18Ch)
MCIPR1 (address 180h)
=
DCIPR1 (address 290h)
MRT (address 184h)
=
DRT (address 194h)
MXH (address 1C8h)
=
DXH (address 1D4h)
MCIPX0 (address 1CCh)
=
DCIPX0 (address 1D8h)
MCIPX1 (address 1D0h)
=
DCIPX1 (address 1DCh)
5–1
34h
5–2
SECONDS COUNT
IRPORT5
38h
TAG6 TAG2
IRPORT1
STAT0MUXSEL
2Ch
CYCLE COUNT ROLLOVER @ 8000
IRPORT6
PHYREGWRDATA
EXP_TLABEL
IRP0EN
IRP1EN
IRP2EN
IRP3EN
CYCDONE
CYCPEND
CYCLOST
CYCARBFL
CYCDONE
CYCPEND
CYCLOST
MDDBCERR MDDBCERR
MCFLSHERR MCFLSHERR CYCARBFL
BUSTIME
EXP_TCODE
NOTE A: All gray areas (bits) are reserved bits.
Figure 5–1. Configuration Register (CFR) Map
CYCLE OFFSET ROLLOVER @ 3071
SECSLO
PHYREGDATARCV
DBCCRXERR DBCCRXERR ISOARBFL
IRP7EN
LCTRL
ISOARBFL
IRP6EN
IRP5EN
BFAFLERR
BFAFLERR
BACKVAL CACKVAL
BATACK
IRP4EN
08h
SBACOMP SUBACTGAP SUBACTGAP
CATACK
SBACOMP
04h
BFFLSHERR BFFLSHERR ARBRSTGAP ARBRSTGAP
ISOGOERR
ISOGOERR
CYCTIMREN
MPUTMOUT MPUTMOUT
TSAGED
TSAGED
CYCSEC
SIDPABRT
SIDPABRT
CMSTR
CYCSRC
CYCSTART
SIDPRDY
SIDPRDY
CYCSEC
PBDACKR
PBDACKR
BRFPABRT
BRFPABRT
ATRC
VER
TAG7 TAG3
IRPORT2
CYCSTART
TXTCERR
PACACKR
TXTCERR
PACACKR
BRFPRDY
ACRFPABRT ACRFPABRT
BRFPRDY
SNTRJ
HDRERR
SNTRJ
HDRERR
MRFABORT MRFABORT
ACRFRPRDY ACRFRPRDY
CMOK
CMAUTO
ACKPENDEN
ITSTK
ATSTK
ARFRABRT ABDACKRX ABDACKRX
ARFRABRT
ITSTK
IRRXDTA
INVWROP
INVWROP
ATSTK
CSADNE
IRRXDTA
CSADNE
MPUERR
MPUERR
IRFABORT
CMDRST
CMDRST
DHDRLD
DHDRLD
IRFABORT
RESETTXD
RESETRXD
ACRRXDTA
ACRRXDTA
DRELTIM
DRELTIM
CTDRDIN
TXRDY
TXRDY
SELFIDERR SELFIDERR
DRAV
MRELTIM
8
PHYREGADRRCV
IRPORT4
7
STAT2MUXSEL
STAT3MUXSEL
IRPORT0
DRAV
5 6
TAG5 TAG1
PHYREGRX PHYREGRX
PHYBUSRST PHYBUSRST CTDRDOUT
BSYCTRL
4
MRELTIM
IRAV
MRAV
IRAV
IGRP0
PHYINT
IGRP0
PHYINT
3
MRAV
ARAV
2
REGRW
IGRP1
1Ch
ARAV
14h
IGRP1
TXEN
RCVSELFID
1
PHYREGADR
30h
IGRP1
0
ISOBAROFF
18h
IGRP0
10h
ISOBAROFFCR
28h
TAG4 TAG0
24h
ENSNOOP
20h
RDPHYREQ
0Ch
WRPHYREQ
00h
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
REV
VERSION
CACK
BACK
INTERRUPT
Interrupt
Mask
EXTENEDED
INTERRUPOT
EXTENEDED
INTERRUPOT
MASK
IRPORT3
IRPR0
IRPORT7
IRPR1
CYCTIM
BUSTIM
DIAG
PHYAR
ITENABLE
MREN
MTEN
F4h
MXAGE
MRAGE
DXAGE
IRFLSH
IXFLSH
AHIM
ARHS
BDARE
BDAXE
ARFLSH
AXFLSH
MEXTS
DSSR30
DSSX30
BDMRE
BDMXE
MRFLSH
MXFLSH
MFEN
MTXTSIN
MALTCELL
MHIM
MCR
DSSR30
DSSX30
BDDRE
BDDXE
DRFLSH
DXFLSH
DFEN
DTXTSIN
DALTCELL
DHIM
BDIXE
BDIRE
IRHS
AICR
DEXTS
DXC
BDOTRIS
BDIINIT
BDOINIT
RCVPAD
ACRCLR
ACRCD
ACREMPTY
BRFSIZE
BDIMODE0
BDIMODE1
BRFEMPTY
ACRALEMPTY
NRIDV
ROOT
NODECNT
BDIMODE2
BDOMODE0
BDOMODE1
AHBDIFMT0
AHERROR
AHPACEN
DSSREC
UNIDIR
BRFCD
ACR4AVAIL
NODENUM
MRHS
MXC
AHBDIEN
AHBDOEN
AHAVAIL
AHBDIBUSY
BUSNUM
DRHS
BILECTRL
ACTCLR
ACTEMPTY
ACTALEMPTY
8
BALECTRL
7
BMLECTRL
5 6
IHIM
ISNOOP
D8h
LNGRDREG
4
DRAGE
ACT4AVAIL
3
DRXERMODE MRXERMODE
48h
BRFALFULL
ACRALFULL
ACTFULL
ACTALFULL
2
ATENABLE
CBRERR
50h
BRFFULL
4Ch
ACRFULL
44h
1
DTXERMODE MTXERMODE
IRENABLE
F0h
DTEN
40h
0
ARENABLE
ECh
DREN
3Ch
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
ACTSIZE
ACTFS
IRMID
BRD
BRERRCODE
BRERR
ACRSIZE
ACRXS
54h
– 7Fh
80h
ACTXF
ACTXF
84h
ACTXC
ACTXC
88h
ACTXFU
ACTXFU
8Ch
90h
– BCh
ACTXCU
ACTXCU
C0h
ACRX
ACRX
C4h
BWRX
BWRX
C8h
– D4h
BIF
DCh
CYCSEC
CYCNUMBER
CYCOFFSET
MXTO
E0h
CYCSEC
CYCNUMBER
CYCOFFSET
DXTO
E4h
CYCSEC
CYCNUMBER
CYCOFFSET
MRTO
E8h
CYCSEC
CYCNUMBER
CYCOFFSET
DRTO
DCR
NOTE A: All gray areas (bits) are reserved bits.
Figure 3–1. Configuration Register (CFR) Map (continued)
5–3
F8h
1
2
3
4
5 6
7
8
MPUERRCODE
0
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
TXMCSZ
RXMCSZ
SRAMA
SRAMA
FCh
SRAMD
100h
SRAMD
BATXSIZE
104h
108h
BDFMISC
BARXSIZE
BATXAVAIL
BASZ
BARXAVAIL
BAAVAL
BATXFC
BATX
110h
BATXLS
BATXLS
114h
BARX
BARX
118h
ARH0
ARH0
11Ch
ARH1
ARH1
120h
ARH2
ARH2
124h
ARH3
ARH3
SPD
128h
12Ch
130h
ZEROFILL
10Ch
ACKSENT
BITXSIZE
BIRXSIZE
BISZ
BIRXAVAIL
BITXAVAIL
ART
BIAVAL
134h
BITXFC
BITXFC
138h
BITXLS
BITXLS
13Ch
BIRX
BIRX
14Ch
MONT3
MONT4
MONT2
MONT1
BATXRTRYNUM
BARTRY
BMAVAL
BDRXSIZE
BDTXAVAIL
RPRC
BMSZ
BMRXAVAIL
BDTXSIZE
MONT7
IRT
MONT6
ERRCODE
MONT5
IRH
BMRXSIZE
BMTXAVAIL
158h
MONT0
SIDM0
BMTXSIZE
SY
TCODE
ARDM0
BATXRTRYINT
150h
15Ch
RIDM0
148h
DBCCOVER
BACKPENDEN
144h
154h
CHANNUM
ZEROFILL
TAG
ARDM1
LENGTH
SPD
140h
BDSZ
BDRXAVAIL
BDAVAL
160h
BMTXFC
BMTXFC
164h
BMTXLS
BMTXLS
168h
BMRX
16Ch
BDTXFC
BDTXFC
170h
BDTXLS
BDTXLS
174h
BDRX
178h
LENGTH
TAG
BMRX
BDRX
CHANNUM
TCODE
NOTE A: All gray areas (bits) are reserved bits.
Figure 3–1. Configuration Register (CFR) Map (continued)
5–4
SY
MRH
3
4
5 6
SID
FMT
7
8
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
DBS
FN
SPH
0
2
0
QPC
RES
DBC
MCIPR0
FDF
184h
MCIPR1
SPD
188h
18Ch
0
0
SID
190h
1
0
LENGTH
FMT
TAG
DBS
CHANNUM
FN
SPH
180h
1
17Ch
1
0
0
QPC
ERRCODE
MRT
SY
DRH
TCODE
RES
DBC
DCIPR0
FDF
194h
DCIPR1
SPD
ERRCODE
DRT
198h
DSS130HDR_0
DSS130HDR_1
DSS130HDR_2
DSS130HDR_3
DRX0
19Ch
DSS130HDR_4
DSS130HDR_5
DSS130HDR_6
DSS130HDR_7
DRX1
DSS130HDR_8
DSS130HDR_9
DRX2
1A0h
1A4h
DSS130HDR_0
DSS130HDR_1
DSS130HDR_2
DSS130HDR_3
DTX0
1A8h
DSS130HDR_4
DSS130HDR_5
DSS130HDR_6
DSS130HDR_7
DTX1
DSS130HDR_8
DSS130HDR_9
DTX2
1B0h
AINCEN
1ACh
AHEAD0
AHEAD0
1B4h
AHEAD1
AHEAD1
1B8h
AHEAD2
AHEAD2
1BCh
AHEAD3
TAG
0
0
1D0h
1
0
LENGTH
SID
FMT
DBS
FN
SPD
RES
SIDWEN
IHEAD0
LENWEN
FNWEN
SY
DBSWEN
SPHWEN
FMTWEN
DBCWEN
PRBWEN
QPCWEN
FIDOPHSEN
CFRPKTRST
SPD
CHANNUM
QPC
SPH
1C8h
1CCh
FIFOFLEN
CHANNUM
MDCTFRRG
ITEST
AHEAD3
TAG
ATEST
MTEST
CYCTSEREN
1C4h
LENGTH
ISOGOFLEN
1C0h
SY
PKTCTL
MXH
DBC
MCIPX0
FDT
MCIPX1
1D4h
DXH
1D8h
DCIPX0
DCIPX0
1DCh
DCIPX1
DCIPX1
1E0h
MDALTCONT
DXH
MDALT
1E4h
QPERCELL
MDCTL
RDYPOL
1F4h
BACMP
BACMP
IOCR
BACMP
BLINDACESS
RDYPUSPULL
INTPUSHPULL
INTPOL
DATAINVARNT
BACMP
1F0h
BECTL
1ECh
MCMP8
1E8h
BASTAT
BAHR
BAHR
SRES
SRES
1F8h
1FCh
NOTE A: All gray areas (bits) are reserved bits.
Figure 3–1. Configuration Register (CFR) Map (continued)
5–5
5.2
Version Register (VERS @ Addr 0h)
This address port provides the application software with the version number and revision number of the
MPEG2Lynx device. These numbers are hardwired in the logic of the device.
BIT
NUMBER
BIT NAME
DIR
00 – 15
VER
R
Version number. Hardwired value = 0071h
16 – 31
REV
R
Revision number. Hardwired value = 1018h
5.3
FUNCTIONAL DESCRIPTION
C Acknowledge Register (CACK @ Addr 4h)
This register provides the application software with the last acknowledge that was received for an
asychronous packet transmitted from the asychronous transmit control FIFO. Unless otherwise specified,
the bits in this register are cleared to 0 on power up or software initiated reset.
BIT
NUMBER
BIT NAME
DIR
00 – 22
Not Used
R
23 – 27
CATACK
R
FUNCTIONAL DESCRIPTION
Control transmit FIFO acknowledge. The acknowledge value
received from the link transmitter for a packet that was
transmitted from the asychronous control transmit FIFO. These
bits can be written to by setting the REGRW bit in the diagnostic
test register (DIAG @ Addr 30h) to 1.
CATACK[23]
28 – 30
Not Used
R
31
CACKVAL
R
5–6
CATACK[24:27]
0
Normal 1394 4-bit ack code.
1
0000 – No Ack received. Ack timeout
1
0001 – Ack pkt longer than 8 bits
1
0010 – Ack pkt shorter than 8 bit
CATACK valid. This bit is set to 1 to indicate that the value of
CATACK[23:37] has been updated with a new value. This bit is
cleared to 0 when the application software reads this register to
obtain the value of CATACK and CACKVAL. This bit can be
written to by setting the REGRW bit in the diagnostic test
register (DIAG @ Addr 30h) to 1.
5.4
B Acknowledge Register (BACK @ Addr 8h)
This register provides the application software with the last acknowledge that was received for an
asychronous packet transmitted from the asychronous transmit bulky FIFO. Unless otherwise specified, the
bits in this register are cleared to 0 on power up or software initiated reset.
BIT
NUMBER
BIT NAME
DIR
00 – 22
Not Used
R
23 – 27
BATACK
R
FUNCTIONAL DESCRIPTION
Bulky transmit FIFO acknowledge. The acknowledge value received from the link transmitter for a packet that was transmitted
from the asychronous bulky transmit FIFO. These bits can be
written to by setting the REGRW bit in the diagnostic test register (DIAG @ Addr 30h) to 1.
BATACK[23]
28 – 30
Not Used
R
31
BACKVAL
R
BATACK[24:27]
0
Normal 1394 4 bit ack code.
1
0000 – No Ack received. Ack timeout
1
0001 – Ack pkt longer than 8 bits
1
0010 – Ack pkt shorter than 8 bit
BATACK valid. This bit is set to 1 to indicate that BATACK
[23:27] has been updated with a new value. This bit is cleared to
0 when the application software reads this register to obtain the
value of BATACK and BACKVAL. This bit can be written to by
setting the REGRW bit in the diagnostic test register (DIAG @
Addr 30h) to 1.
5–7
5.5
Link Control Register (LCTRL @ Addr Ch)
This register provides the application software with the capability to control and configure the operation of
the 1394 LLC logic. Unless otherwise specified, the bits in this register are cleared to 0 on power up or
software initiated reset.
BIT
NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00
TXEN
R/W
Transmit enable. When set to 1, this bit enables the link
transmitter to begin bus arbitration and packet transmission.
When this bit is set to 0, the operation of the link transmitter is
disabled from operating.
01
RCVSELFID
R/W
Receive Self-ID enable. When set to 1 this bit enables the LLC
to receive Self-ID packets during 1394 bus initialization.
02
BSYCTRL
R/W
Transaction layer busy override. When this bit is set to 1, the
link receiver will unconditionally busy off all acknowledgeable
incoming packets with BUSY_X. When this bit is set to 0, the
link receiver uses the availability of the selected receiving
FIFO to determine if an incoming acknowledgeable packet is
to be accepted or busy off (BUSY_X).
03 – 04
Not Used
05
CTDRDOUT
R/W
Contender data out. This bit is used to set the logic value of
the external terminal CONTENDER when it has been
programmed to operate in output mode (see CTDRDIN, Reg
C, bit 6)
DESCRIPTION
0 = Link is not a contender for isochronous resource manager.
1 = Link is a contender for isochronous resource manager.
06
CTDRDIN
R/W
Contender data direction control. This bit is used in setting the
direction of the external contender terminal. This terminal is
set to 1 on power up or software reset.
DESCRIPTION
0 = CONTENDER terminal is in output mode and is driven by
the value of CTDRDOUT
1 = CONTENDER terminal is in input mode.
07 – 09
Not Used
10
RESETTXD
R/W
Reset link transmitter. Writing 1 to this bit resets all state
machines in the link layer that are involved in transmitting a
packet. This bit is self clearing.
11
RESETRXD
R/W
Reset link receiver. Writing 1 to this bit resets all state
machines in the LLC that are involved in the reception of a
packet. This bit is self clearing.
12
Not Used
13
ACKPENDEN
R/W
Ack pending enabled. When set to 1, this bit enables the link
receiver to acknowledge write and lock request packets with
an ack pending code of (2h). If this bit is set to 0, the receiver
uses the ack_complete code of (1h). This bit is set to a 1 on
power up or software reset.
5–8
BIT
NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
14
CMOK
R/W
When CMAUTO is set to 1 and CMOK is set to 1, the CMSTR
and CYCTIMREN bits are automatically set to 1 if the root bit
of the attached Phy is set to 1 following a bus reset. CMOK is
automatically reset to 0 if the attached Phy is not root following
a bus reset.
15
CMAUTO
R/W
When CMAUTO is set to 1 and CMOK is set to 1, the CMSTR
and CYCTIMREN bits are automatically set to 1 if the root bit
is 1 following a bus reset. CMAUTO is unaffected by bus
reset.
16 – 17
ATRC
R/W
Asychronous transmit retry code. This code is logically ORed
with the retry code field (00) in the transmit packet, and the
packet is resent.
DESCRIPTION
00 = retry_O (new)
01 = retry_X
18 – 19
Not Used
20
CMSTR
R/W
Cycle master. When this bit is set to 1 and the attached Phy is
the root, the cyclemaster function is enabled for transmitting
cycle start packets. If CMAUTO is set to 1, and if the attached
Phy is root and the CMOK bit is set to 1, then this bit is set to 1
automatically and is read only. If CMAUTO is set to 0, this bit
can be read and written to by the microprocessor. Also, every
bus reset resets this bit and software is responsible for
re-enabling it.
21
CYCSRC
R/W
When CYCSRC is set to 1, the cycle_count field of the
cycletimer increments and the cycle_offset field of the cycle
timer resets for each positive transition of CYCLEIN. When
CYCSRC is set to 0, the cycle_count field increments when
the cycle_offset field rolls over.
22
CYCTIMREN
R/W
Cycle timer enable. The cycle timer is enabled when this bit is
set to 1. The cycle timer is disabled when the bit is set to 0.
23
Not Used
24
IRP0EN
(MPEG/DSS)
R/W
Isochronous receive port comparator enable. When this bit is
set to 1, the port 0 MPEG/DSS packet receive comparator is
enabled for comparing the channel number and/or tag field of
the incoming packet to an expected value. The packet is
received if the comparator detects a match.
5–9
BIT
NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
25
IRP1EN
R/W
Isochronous receive port comparator enable. When this bit is
set to 1, the port 1 ISO packet receive comparator is enabled
for comparing the channel number and/or tag field of the
incoming packet to an expected value. The packet is received
if the comparator detects a match.
26
IRP2EN
R/W
Isochronous receive port comparator enable. When this bit is
set to 1, the port 2 ISO packet receive comparator is enabled
for comparing the channel number and/or tag field of the
incoming packet to an expected value. The packet is received
if the comparator detects a match.
27
IRP3EN
R/W
Isochronous receive port comparator enable. When this bit is
set to 1, the port 3 ISO packet receive comparator is enabled
for comparing the channel number and/or tag field of the
incoming packet to an expected value. The packet is received
if the comparator detects a match.
28
IRP4EN
R/W
Isochronous receive port comparator enable. When this bit is
set to 1, the port 4 ISO packet receive comparator is enabled
for comparing the channel number and/or tag field of the
incoming packet to an expected value. The packet is received
if the comparator detects a match.
29
IRP5EN
R/W
Isochronous receive port comparator enable. When this bit is
set to 1, the port 5 ISO packet receive comparator is enabled
for comparing the channel number and/or tag field of the
incoming packet to an expected value. The packet is received
if the comparator detects a match.
30
IRP6EN
R/W
Isochronous receive port comparator enable. When this bit is
set to 1, the port 6 ISO packet receive comparator is enabled
for comparing the channel number and/or tag field of the
incoming packet to an expected value. The packet is received
if the comparator detects a match.
31
IRP7EN
R/W
Isochronous receive port comparator enable. When this bit is
set to 1, the port 7 ISO packet receive comparator is enabled
for comparing the channel number and/or tag field of the
incoming packet to an expected value. The packet is received
if the comparator detects a match.
5–10
5.6
Interrupt Register/Interrupt Mask Register (IR @ Addr 10h/14h)
The interrupt and interrupt mask registers define the group 0 interrupt status bits. The bits in this register
can be cleared to 0 by writing 1 to their corresponding bit. Unless otherwise specified, the bits in this register
are cleared to 0 on a power up or software reset. With the exception of bit 2, the bits in this register can be
placed in a special test mode where the software can directly write to and/or read this register. This is done
by setting the REGRW bit in the diagnostic test register (DIAG @ Addr 30h) to 1. The interrupt register is
at 10h and the interrupt mask register is at 14h. All the bits in the interrupt mask register are cleared to 0
on power up. A specific interrupt can be masked off when the corresponding bit in the interrupt masks
register is 0.
BIT
NUMBER
BIT NAME
00
Not Used
01
IGRP1
R
Addr 10h. When this bit is set, one or more of the extended
interrupt bits (reg 18h) is set. Addr 14h, reserved.
02
IGRP0
R
Addr 10h. When this bit is set to 1, one or more of the interrupt
bits (reg 10h) is set.
Addr 14h This bit determines if the interrupt register is routed
to the external INT terminal. Please note that it is possible for
both the interrupt register and extended interrupt register to
both be routed to the external INT terminal.
03
PHYINT
R/W
Phy interrupt. When this bit is set to 1, either an internal
timeout has occured of the cable power has dropped. The
error can be decoded in the Phy Access Register (Addr 34h).
04
PHYREGRX
R/W
Phy register data received. When this bit is set to 1, a register
value has been transferred to the Phy access register (@
offset 34h) from the Phy interface.
05
PHYBUSRST
R/W
Phy bus reset. When this bit is set to 1, the Phy has entered
the 1394 bus reset state.
06
SELFIDERR
R/W
Self-ID error. When this bit is set to 1, this bit indicates that a
Self-ID quadlet/packet with errors has been received.
07
TXRDY
R/W
Transmitter ready. When this bit is set to 1, the link transmitter
is IDLE and ready to start transmitting.
08
ACRRXDTA
R/W
Asychronous packet received. When this bit is set to 1, the
link receiver has confirmed asynchronous data.
09
CMDRST
R/W
Command reset received. When this bit is set to 1, the
receiver has been sent a quadlet write addressed to the
reset_start CSR register.
10
CSADNE
R/W
Asychronous control FIFO ack received. When this bit is set to
1, an ack has been received for a packet that was transmitted
from the asychronous control transmit FIFO.
11
IRRXDTA
R/W
Isochronous packet received. When this bit is set to 1, the link
receiver has confirmed isochronous data. This bit gets set
when the last quadlet is received into the bulky isochronous
receive FIFO.
12
ABDACKRX
R/W
Asychronous bulky FIFO ack received. When this bit is set to
1, an ack has been received for a packet that was transmitted
from the asychronous bulky transmit FIFO.
DIR
FUNCTIONAL DESCRIPTION
5–11
BIT
NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
13
ITSTK
R/W
Isochronous transmit FIFO stuck. When this bit is set to 1, the
link transmitter has detected incomplete packet at the
isochronous transmit-FIFO interface. To recover from this
error, flush bulky isochronous transmit to recover .
14
ATSTK
R/W
Asychronous transmit FIFO stuck. When this bit is set to 1, the
link transmitter has detected imcomplete packet at the
asychronous transmit-FIFO interface. When this condition
occurs Flush the bulky asychronous transmit FIFO and the
asychronous control transmit FIFO.
15
Not Used
16
SNTRJ
R/W
Busy acknowledge sent by link receiver. When this bit is set to
1, the link receiver was forced to busy off the incoming packet
addressed to this node because the selected receiving FIFO
did not have enough space available to store it.
17
HDRERR
R/W
Header error detected. This bit is set to 1 when the receiver
detects a CRC error on a packet that may have been
addressed to this node.
18
TXTCERR
R/W
Transmit Tcode error. When this bit is set to 1, the link
transmitter detected an invalid Tcode in the packet header at
the transmit-FIFO interface. To recover from this error flush
the bulky asychronous transmit FIFO and the asychronous
control transmit FIFO and reset the link transmitter (RESET
TxD, reg Ch).
19
PACACKR
R/W
Asychronous transmit control FIFO ack received. When this
bit is set to 1, an ack for a packet transmitted from the
asychronous transmit control FIFO has been received.
20
PBDACKR
R/W
Asychronous bulky data FIFO ack received. This interrupt is
the same as bit 12 (ABDACKRX).
21
Not Used
22
CYCSEC
R/W
Cycle seconds. When set to to 1, the cycle seconds field in
the cycle timer register has incremented. This occurs
approximately every second when the cycle timer is enabled.
23
CYCSTART
R/W
Cycle started. When this bit is set to 1, the link transmitter has
sent or the link receiver has received a cycle start packet.
24
CYCDONE
R/W
Cycle done. When this bit is set to 1, a subaction gap has
been detected on the bus after the transmission or reception
of a cycle start packet and any isochronous data packets that
were transmitted or received. CYCDONE indicates that the
isochronous bus period is over.
25
CYCPEND
R/W
Cycle pending. If the MPEG2Lynx is the cycle master, then
CYCPEND is set to 1 when the cycle number field of its cycle
timer is incremented. It remains set until a subaction gap is
detected. If the MPEG2Lynx is not the cycle master, then
CYCPEND is set to 1 when the cycle number field of its cycle
timer is incremented or when a cycle start packet was
received. It remains set until a subaction gap is detected.
5–12
BIT
NUMBER
BIT NAME
DIR
26
CYCLOST
R/W
Cycle lost. When this bit is set to 1, the cycle timer has rolled
over twice with out the reception of a cycle start packet. This
occurs only when this node is not the cycle master.
27
CYCARBFL
R/W
Cycle arbitration failed. When this bit is set to 1, the priority
transmit request to send the cycle start packet failed to win
bus arbitration.
28
ARBRSTGAP
R/W
Arbitration reset gap. When this bit is set to 1, the link has
detected that an arbitration reset gap has opened up on the
1394 bus.
29
SUBACTGAP
R/W
Subaction gap. When this bit is set to 1, the link has detected
that a subaction gap has opened up on the bus.
30
Not Used
31
ISOARBFL
R/W
Isochronous arbitration failed. When this bit is set to 1, the
isochronous transmit request to send an isochronous packet
failed to win bus arbitration.
5.7
FUNCTIONAL DESCRIPTION
Extended Interrupt Register/Extended Interrupt Mask Register
(EIR @ Addr 18h/1Ch)
The extended interrupt register and the extended interrupt mask register define the group 1 interrupt status
bits. With the exception of bit 2, the bits in this register can be cleared to 0 by writing 1 to their corresponding
bit. Unless otherwise specified, the bits in this register are cleared to 0 on a power up or software reset. With
the exception of bit 1, the bits defined in this register can be placed in a special test mode where the software
can directly write to and/or read this register. This is done by setting the REGRW bit in the diagnostic test
register (DIAG @ Addr 30h) to 1. The extended interrupt register is at 18h and the extended interrupt mask
register is at 1Ch. All bits in the extended interrupt mask register are cleared to 0 on power up. A specific
interrupt can be masked off when the corresponding bit in the extended interrupt mask register is cleared
to 0.
BIT
NUMBER
BIT NAME
00
Not Used
01
IGRP0
R
Addr 10h When this bit is set to 1, one or more interrupt bits
(reg 10h) or interrupt mask bits (reg 14h) are set.
Addr 14h, Reserved.
02
IGRP1
R
Addr 18h When this bit is set to 1, one or more of the
extended interrupt bits (reg 18h) is set.
Addr 1Ch. This bit determines if the external interrupt is routed
to the external INT terminal. Please note that reg 10h and reg
18h can both be routed to the external INT terminal.
03
ARAV
R/W
When this bit is set to 1, a complete asychronous packet has
been received into the asychronous bulky receive FIFO and
the packet header information has been copied into the
asychronous receive packet header registers.
04
IRAV
R/W
When this bit is set to 1, a complete isochronous packet has
been received into the isochronous bulky receive FIFO and
the packet header information has been copied into the
isochronous receive packet header register.
DIR
FUNCTIONAL DESCRIPTION
5–13
BIT
NUMBER
BIT NAME
DIR
05
MRAV
R/W
When this bit is set to 1, a complete MPEG packet has been
received into the MPEG bulky receive FIFO and the packet
header information has been copied into the MPEG receive
packet header registers.
06
DRAV
R/W
When this bit is set to 1, a complete DSS packet has been
received into the DSS bulky receive FIFO and the packet
header information has been copied into the DSS receive
packet header registers.
07
MRELTIM
R/W
When this bit is set to 1, the cycletimer has reached the value
of the MPEG release time and an MCELL is now being
released to the selected interface (bulky data interface or
microprocessor interface)
08
DRELTIM
R/W
When this bit is set to 1, the cycletimer has reached the value
of the DSS release time and an DSS cell is now being
released to the selected interface (bulky data interface or
microprocessor interface)
09
DHDRLD
R/W
When this bit is set to 1, the 10-byte DSS header has been
loaded from the DTX registers in X130 mode into the
MPEG/DSS transmit FIFO and the registers can now be
updated with new values.
10
MPUERR
R/W
When this bit is set to 1, the microprocessor has attempted an
illegal access to the FIFO. This usually occurs when the
microprocessor tries to read an empty FIFO or writes to a full
FIFO. The MPU error code in the BDFMISC register located
@ offset F8h bits 1 – 4, contains the reason for the error.
11
INVWROP
R/W
When this bit is set to 1, the microprocessor has attempted to
initiate a read or write operation before the current write
operation has completed.
12
ARFRABRT
R/W
When this bit is set to 1, the receive packet routing control has
detected and purged a partial packet from the asychronous
bulky receive FIFO. This can occur when the link detects a
partial packet, not enough storage space is available, or the
packet can not be acknowledged.
R/W
When this bit is set to 1, receive packet routing control has
detected and purged a partial isochronous packet from the
bulky isochronous receive FIFO. This can occur when the link
detects a partial packet of the receive FIFO has less than 2
quadlets available.
5–14
13
Not Used
14
IRFABORT
15
Not Used
FUNCTIONAL DESCRIPTION
BIT
NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
16
MRFABORT
R/W
When this bit is set to 1, the receive packet routing control has
detected and purged a partial MPEG packet from the bulky
MPEG receive FIFO. This can occur whenever the FIFO has
less than 2 quadlets available, data has an incorrect format, or
the device is not configured properly for receive.
17
ACRFPRDY
R/W
When this bit is set to 1, the receive packet routing control has
confirmed an entire packet into the asychronous control
receive FIFO.
18
ACRFPABRT
R/W
When this bit is set to 1, the receive packet routing control has
detected and purged a partial packet from the asychronous
control receive FIFO.
19
BRFPRDY
R/W
When this bit is set to 1, the receive packet routing control has
confirmed an entire packet into the broadcast control receive
FIFO.
20
BRFPABRT
R/W
When this bit is set to 1, the receive packet routing control has
detected and purged a partial packet from the broadcast
control receive FIFO.
21
SIDPRDY
R/W
When this bit is set to 1, the receive packet routing control has
detected the end of the Self-ID period and has confirmed the
entire set of Self-ID packets into the selected receive FIFO.
22
SIDPABRT
R/W
When this bit is set to 1, the receive packet routing control has
detected and purged a partial accumulation of Self-ID packets
from the selected receive FIFO. (asychronous bulky receive
FIFO or broadcast control receive FIFO).
23
TSAGED
R/W
When this bit is set to 1, the MPEG/DSS packet that is waiting
to be transmitted has aged and has been flushed from the
MPEG/DSS receive FIFO.
24
MPUTMOUT
R/W
When this bit is set to 1, the microprocessor interface tried to
access a FIFO resource that was unable to respond due to a
higher transfer already in progress.
25
ISOGOERR
R/W
When this bit is set to 1, the packetizer has detected a
premature isochronous go event.
26
MDDBCERR
R/W
When this bit is set to 1, the packetizer has detected a data
block continuity (DBC) error.
27
MCFLSHERR
R/W
When this bit is set to 1, the packetizer has flushed an
MPEG/DSS cell from the MPEG/DSS transmit FIFO.
28
BFFLSHERR
R/W
When this bit is set to 1, the packetizer has flushed the entire
contents of the MPEG/DSS transmit FIFO.
29
SBACOMP
R/W
When this bit is set to 1, the packetizer has successfully
complete transmitting a packet from the bulky asychronous
transmit FIFO.
5–15
BIT
NUMBER
BIT NAME
DIR
30
BFAFLERR
R/W
When this bit is set to 1, the transmitted asychonous packet
was not successfully received by the addressed node. This
occurs when a transmitted asynchronous packet was
acknowledged with an ack_busy and the number of retries
was already reached or an ack error code was received.
31
DBCCRXERR
R/W
When this bit is set to 1, the receive packet routing control has
detected an error in the MPEG/DSS DBC count of the
MPEG/DSS packet currently being received.
5.8
FUNCTIONAL DESCRIPTION
Isochronous Receive Comparators Register 0 (IRPR0 @ Addr 20h)
This register defines the tag and channel number values used by isochronous receive packet comparators
0 – 3 to determine if an incoming isochronous packet is to be accepted or rejected. The comparator enable
bits IRP0EN – IRP3EN(LCTRL register @ Addr Ch) and match on tag enable bits MONT0 – MONT3 (RPRC
register @ Addr 148h) are used in programming the filtering behavior of the comparators based on the
following table. Unless otherwise specified, the bits in this this register are cleared to 0 on power up or
software initiated reset.
IRPxEN†
MONTx†
0
0
Both channel and tag comparators are disabled for port x.
1
0
Match IRPORTx expected value to channel number of incoming isochronous packet. Tag comparator disabled.
1
1
Match IRPORTx and TAGx expected values to channel number and tag
number of incoming isochronous packet
COMPARE FUNCTION
† x = 1, 2, or 3.
BIT NUMBER
BIT NAME
DIR
00 – 01
TAG0
R/W
MPEG/DSS Port 0 tag field receive packet compare value
02 – 07
IRPORT0
R/W
MPEG/DSS Port 0 isochronous channel number receive
packet compare value
08 – 09
TAG1
R/W
Isochronous Port 1 tag field receive packet compare value
10 – 15
IRPORT1
R/W
Isochronous Port 1 isochronous channel number receive
packet compare value
16 – 17
TAG2
R/W
Isochronous Port 2 tag field receive packet compare value
17 –23
IRPORT2
R/W
Isochronous Port 2 isochronous channel number receive
packet compare value
24 – 25
TAG3
R/W
Isochronous Port 3 tag field receive packet compare value
26 – 31
IRPORT3
R/W
Isochronous Port 3 isochronous channel number receive
packet compare value
5–16
FUNCTIONAL DESCRIPTION
5.9
Isochronous Receive Comparators Register 1 (IRPR1 @ Addr 24h)
This register defines the tag and channel number values used by isochronous receive packet comparators
0 – 3 to determine if an incoming isochronous packet or MPEG/DSS packet is to be accepted or rejected.
Comparator number 7 is used for receiving MPEG/DSS isochronous packet types. The comparator enable
bits IRP4EN – IRP7EN (LCTRL register @ Addr Ch) and match on tag enable bits MONT4 – MONT7
(RMISC register @ Addr 148h) are used in programming the filtering behavior of the comparators based
on the following table. Unless otherwise specified, the bits in this register are cleared to 0 on power up or
software initiated resets.
IRPxEN†
MONTx†
0
0
Both channel and tag comparators are disabled for port x.
1
0
Match IRPORTx expected value to channel number of incoming
isochronous packet. Tag comparator disabled.
1
1
Match IRPORTx and TAGx values to channel number and tag number of incoming isochronous packet.
COMPARE FUNCTION
† x = 4, 5, 6, or 7.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00 – 01
TAG4
R/W
Isochronous Port 4 tag field receive packet compare value
02 – 07
IRPORT4
R/W
Isochronous Port 4 isochronous channel number receive
packet compare value
08 – 09
TAG5
R/W
Isochronous Port 5 tag field receive packet compare value.
10 – 15
IRPORT5
R/W
Isochronous Port 5 isochronous channel number receive
packet compare value
16 – 17
TAG6
R/W
Isochronous Port 6 tag field receive packet compare value.
17 –23
IRPORT6
R/W
Isochronous Port 6 isochronous channel number receive
packet compare value
24 – 25
TAG7
R/W
Isochronous Port 7 tag field receive packet compare value
26 – 31
IRPORT7
R/W
Isochronous Port 7 isochronous channel number receive
packet compare value
5–17
5.10 Cycle Timer Register (CYCTIM @ Addr 28h)
The register provides the application software with a read/write access interface to the cycle timer register.
This register is comprised of three fields. They are: seconds_count, cycle_number_count, and cycle_offset.
The operation of the timer is controlled by control bits CMSTR, CYCSRC, CYCTIMEN. These bits are
located in the link control register (LCTRL @ Addr 0Ch). Unless other wise specified, the cycle timer register
is cleared to 0 on power up or software initiated reset.
Table 5–1. Cycle Timer Program Function
CYCSRC
CMSTR
CYCTIMEN
DESCRIPTION
X
X
0
Cycle timer is disabled from counting.
0
0
1
This node is not the cycle master. The cycle timer is
enabled to count from the internal clock source and
can be initialized with the cycle_time_data extracted
from a cycle start packet that is received by this
node.
0
1
1
This node is the cycle master. the cycle timer is
enabled to count from the internal clock source.
1
0
1
This node is not the cycle master. The timer is
enabled to increment whenever the external signal
CYCLEIN is pulsed high for a minimum of 80 ns.
The Timer can be initialized with the
cycle_time_data extracted from a cycle start packet
that is received by this node.
1
1
1
This node is the cycle master. The timer is enabled
to increment whenever the external signal CYCLEIN
is pulsed high for a minimum of 80 ns.
Table 5–2. Cycle Time Register
BIT NAME
DIR
00 – 06
CYCSEC
R/W
Cycle seconds. 1-Hz cycle timer counter
07 – 19
CYCNUMBER
R/W
8000-Hz cycle timer counter
20 – 31
CYCOFFSET
R/W
24.576-MHz cycle timer counter
BIT NUMBER
FUNCTIONAL DESCRIPTION
5.11 Bus Time Register (BUSTIM @ Addr 2Ch)
This bit map defines the extended bus time counter register. The bus time counter (BUSTIME) is
incremented whenever the cycle timer rolls over in all 32 bits. The extended cycle timer is enabled to count
when the CYCTIMEN bit located in link control register (LCTRL @ Addr 0Ch) is set to 1. Unless otherwise
specified, the extended cycle time register is cleared to 0 on a power up or software initiated reset.
BIT NUMBER
BIT NAME
DIR
00 – 24
BUSTIME
R/W
25 – 31
SECSLO
R
5–18
FUNCTIONAL DESCRIPTION
Extended bus timer in seconds.
CYCSEC field of the cycle timer register.
5.12 Link Diagnostics Register (DIAG @ Addr 30h)
This register provides the application software with the capability to perform diagnostic testing. Unless
otherwise specified, this register is cleared to 0 on power up or software initiated reset.
BIT NUMBER
BIT NAME
DIR
00
ENSNOOP
R/W
FUNCTIONAL DESCRIPTION
When set to 1, this bit enables the 1394 Link receiver to
snoop 1394 bus traffic.
01
Not Used
02
ISOBAROFFCR
R
03
ISOBAROFF
R/W
When this bit is set to 1, the isolation barrier function is
turned off
04
REGRW
R/W
When set to 1, this bit configures read-only registers to
function as read/write registers. This only applies to
read-only registers that are R/W configurable.
05 – 08
Reserved
09 – 12
STAT3MUXSEL
The status value of the isolation barrier control state from
the core logic (including bus headers and phy-link
interface capacitors). When this bit is set to 1, the
isolation barrier is off. This mode only works if there is no
isolation circuitry on the phy-link interface. When this bit is
set to 0, isolation barrier is on. This bit is set to 1 on
power up or software reset.
Reserved
R/W
STAT3 output internal signal MUX select lines.
STAT3MUXSEL
13 – 16
STAT2MUXSEL
R/W
0h
BDIBusyOut
Fh
NClk
STAT2 output internal signal MUX select lines.
STAT2MUXSEL
0h
17 – 20
Reserved
21 – 27
STAT0MUXSEL
R/W
Internal Signal Selected
BDOAvailOut
STAT0 output internal signal MUX select lines.
STAT0MUXSEL
28 – 31
Internal Signal Selected
Internal Signal Selected
1Eh
BDIBusyOut
1Fh
BDOAvailOut
3Bh
NClk
Reserved
5–19
5.13 Phy Access Register (PHYAR @ Addr 34h)
This register provides the application software with an interface for accessing the registers in the Phy.
Unless otherwise specified, this register is cleared to 0 on power up or software initiated reset. The
functionality of the register is defined by the following bit map.
BIT NUMBER
BIT NAME
DIR
00
RDPHYREQ
R/W
Read Phy register request. When this bit is set to 1,
Phy register read request is issued from the address
specified PHYREGADR. This bit is cleared after the
link has sent the request to the Phy.
01
WRPHYREQ
R/W
Write Phy register request. When this bit is set to 1, a
Phy register write request is issued to Phy that
contains the register address and write data obtained
from PHYREGADR and PHYREGWRDATA. This
request bit is cleared after the link has sent the request
to the Phy.
02 – 03
Not Used
04 – 07
PHYREGADR
R/W
Phy register address. This field specifies the address
of the Phy register that is read from or written to.
08 – 15
PHYREGWRDATA
R/W
Phy register write data. This field specifies the data
that is written to the Phy register specified by PHYREGADR.
16 – 19
Not Used
20 – 23
PHYREGADRRCV
R
Phy register address received. These register bits
buffer the register address returned by the Phy in
response to a Phy register read request. The host
processor can write to these bits when the REGRW bit
in diagnostic control register (DIAG @ Addr 30h) is set
to 1.
24 – 31
PHYREGDATARCV
R
Phy register data received. These register bits buffer
the data returned by the Phy in response to a Phy
register read request. The host processor can write to
these bits when the REGRW bit in diagnostic control
register (DIAG @ Addr 30h) is set to 1.
5–20
FUNCTIONAL DESCRIPTION
5.14 Expected Response (PHYSR @ Addr 38h)
This register provides application software with the capability to program the receive packet routing control
to filter incoming response packets for one that contains a tranaction label and tcode value that was used
in previously issued request packets. Once identified, the response packet can then be steered into a
selected receiving FIFO. The expected response comparator logic is enabled by using a EXP_TCODE
value that is expected and is not equal to Fh.
BIT NUMBER
BIT NAME
00 – 15
Not Used
16 – 21
EXP_LABEL
22 – 23
Not Used
24 – 27
EXP_TCODE
28 – 31
Not Used
DIR
FUNCTIONAL DESCRIPTION
R/W
The value of the transaction label for the expected
response packet. These bits are set to 0 on power up
reset, bus_reset, or software initiated reset.
R/W
The tcode for the expected response packet. These
bits are set to all 1s on a power up reset, bus_reset, or
software initiated reset. The expected response
comparator is disabled when EXP_TCODE = 1111.
5.15 Reserved Register (RESERVED @ Addr 3ch–40h)
This register is reserved.
5.16 Reserved Register (RESERVED @ Addr 3Ch)
This register is reserved.
5.17 Reserved Register (RESERVED @ Addr 40h)
This register is reserved.
5–21
5.18 Asynchronous Control Data Transmit FIFO Status (ACTFS @ Addr 44h)
This register provides the application software with the capability to monitor the occupancy status of the
asychronous control transmit FIFO and to program its size. Unless otherwise specified, this register is
cleared to 0 on power up, bus reset or software initiated reset
BIT NUMBER
BIT NAME
DIR
00
ACTFULL
R
When this bit is set to 1, asychronous control transmit
FIFO is full. The host processor can write and read these
bits when the REGRW bit in diagnostic control register
(DIAG @ Addr 30h) is set to 1.
01
ACTALFULL
R
When this bit is set to 1, asychronous control transmit
FIFO is almost full. The host processor can write and read
these bits when the REGRW bit in diagnostic control
register (DIAG @ Addr 30h) is set to 1.
02 – 03
Not Used
04
ACT4AVAIL
R
When this bit is set to1, the asychronous control transmit
FIFO has four empty locations available for storing data.
The host processor can write and read these bits when the
REGRW bit in diagnostic control register (DIAG @ Addr
30h) is set to 1.
05 – 13
Not Used
14
ACTALEMPTY
R
When this bit is set to 1, the asychronous control transmit
FIFO is almost empty. The host processor can write and
read these bits when the REGRW bit in diagnostic control
register (DIAG @ Addr 30h) is set to 1.
15
ACTEMPTY
R
When this bit is set to 1, the asychronous control transmit
FIFO is empty. The host processor can write and read
these bits when the REGRW bit in diagnostic control
register (DIAG @ Addr 30h) is set to 1. This bit is set to 1
On power up reset, bus reset or software reset.
16
Not Used
17
ACTCLR
R/W
When this bit is set to 1, the asychronous control transmit
FIFO is flushed. This bit is self clearing.
R/W
Asychronous control transmit FIFO size setting in
quadlets. On power up or software reset these bits are set
to 14h (20 quadlets).
18 – 24
Not Used
25 – 31
ACTSIZE
5–22
FUNCTIONAL DESCRIPTION
5.19 Bus Reset Data Register (BRD @ Addr 48h)
This register provides the application software with the capability to program the operation of the bus reset
controller. Unless otherwise specified, this register is cleared to 0 on power up or software initiated reset.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00 – 09
BUSNUM
R/W
Bus number. Set to a value that has been determined by
the application software, the bus number defaults to 3FFh
on power up or software initiated resets.
10 – 15
NODENUM
R/W
Node number. This value can be set by software or
automatically set to the node ID value returned in a status
response from the Phy, when it transmits its Self-ID packet
on the 1394 bus. The node number is set to 3Fh when a
bus reset status response is received by the link or a
power up/software reset occurs.
16
NRIDV
R
Node count IRM ID valid. This bit is set to 1 when
NODECNT and IRMID are valid.
17
Not Used
18 – 23
NODECNT
R
The number of nodes in the 1394 network. The node count
is set to 1 on bus reset, power up reset, or software reset.
24
ROOT
R
The root state of the local Phy.
25 – 31
IRMID
R
The ID of the IRM node. The IRM ID is set to
3Fh on bus reset, power up reset, or software reset.
5.20 Bus Reset Error Register (BRERR @ Addr 4Ch)
This register provides the application software with error status generated by bus reset control when it
detects an error condition. The internal state machine vectors of the bus reset control are also provided in
this register. Unless otherwise specified, this register is cleared to 0 on power up or software initiated reset.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00
CBRERR
R/W
Clear bus reset controller error. When this bit is set to 1, the
BRERRCODE is set to 0000. This bit is self clearing.
01 – 04
BRERRCODE
R
Bus reset controller error code returned
0000 – No error occurred
0001 – Last Self-ID does not have all ports marked as child
0010 – Expected Phyid ≠ Phyid
0011 – 2nd quad of Self-ID not inverted from 1st quad
0100 – Phyid incremented by two
0101 – Phyid incremented any 3 or more
0110 – Phyid not equal in packet
0111 – Self-ID quadlets are not inverses of each other.
1000 – Self-ID quadlets is bad
05 – 15
Not Used
16 – 17
Reserved
18 – 19
Not Used
20 – 22
Reserved
23 – 31
Not Used
5–23
5.21 Asynchronous Control Data Receive FIFO Status (ACRXS @ Addr 50h)
This register provides the application software with capability to monitor the occupancy status of the
asychronous control and broadcast control receive FIFOs and to also set their size. All of the bits that are
indicated as read only, can be made read/write by the host processor. This is done by setting the REGRW
bit in diagnostic control register (DIAG @ Addr 30h) to 1.
BIT NUMBER
BIT NAME
DIR
00
ACRFULL
R
When this bit is set to 1, the asychronous control receive
FIFO is full. On bus_reset, power up reset, or software
reset, this bit is cleared to 0.
01
BRFFULL
R
When this bit is set to 1, the broadcast control receive
FIFO is full. On bus_reset, power up reset, or software
reset, this bit is cleared to 0
02
ACRALFULL
R
When this bit is set to 1, the asychronous control receive
FIFO is almost full. On bus_reset, power up reset, or
software reset, this bit is cleared to 0
03
BRFALFULL
R
When this bit is set to 1, the broadcast control receive
FIFO is almost full. On bus_reset, power up reset, or
software reset, this bit is cleared to 0.
04 – 10
Not Used
11
BRFCD
R
This bit indicates the state of the control bit for the first
data quadlet read from the broadcast receive FIFO. On
bus_reset, power up reset, or software reset, this bit is
cleared to 0.
12
ACR4AVAIL
R
When this bit is set to 1, the asychronous control receive
FIFO has four locations available for storage. On
bus_reset, power up reset, or software reset, this bit is
cleared to 0.
13
BRFEMPTY
R
When this bit is set to 1, broadcast receive FIFO is empty.
On bus_reset, power up reset, or software reset, this bit is
set to 1.
14
ACRALEMPTY
R
When this bit is set to 1, asychronous control receive FIFO
is almost empty. On bus_reset, power up reset, or
software reset, this bit is set to 0
15
ACREMPTY
R
When this bit is set to 1, the asychronous control receive
FIFO is empty. On bus_reset, power up reset, or software
reset, this bit is set to 1.
16
ACRCD
R
This bit indicates the state of the control bit for the first
data quadlet read from the asychronous control receive
FIFO. On bus_reset, power up reset, or software reset,
this bit is set to 0.
17
ACRCLR
R/W
5–24
FUNCTIONAL DESCRIPTION
Control receive FIFO clear. When this bit is set to 1, the
asychronous receive control and broadcast receive control
FIFOs are flushed. This bit is self clearing and is also
cleared on power up or software reset.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
18 – 24
BRFSIZE
R/W
These bits set the size of the broadcast receive FIFO in
quadlets. On power up or software reset, these bit are set
to 15h (21 quadlet).
25 – 31
ACRSIZE
R/W
These bits set the size of the asychronous receive FIFO in
quadlets. On power up or software reset, these bit are set
to 15h (21 quadlets).
5.22 Reserved Register (RESERVED @ Addr 54h)
This register is reserved.
5.23 Reserved Register (RESERVED @ Addr 55h – 7Fh)
This register is reserved.
5.24 Asynchronous Control Data Transmit FIFO First (ACTXF @ Addr 80h)
This write-only port provides application software with the capability to write the first quadlet of a packet to
the asychronous control transmit FIFO where it is marked in the FIFO as the first quadlet of the packet.
BIT NUMBER
BIT NAME
DIR
00 – 31
ACTXF
W
FUNCTIONAL DESCRIPTION
Asychronous control transmit first
5.25 Asynchronous Control Data Transmit FIFO Continue (ACTXC @ Addr
84h)
This write-only port provides application software with the capability to write the remaining quadlets of a
packet except the last quadlet, to the asychronous control transmit FIFO.
BIT NUMBER
BIT NAME
DIR
00 – 31
ACTXC
W
FUNCTIONAL DESCRIPTION
Asychronous control transmit and continue
5.26 Asynchronous Control Data Transmit FIFO First & Update (ACTXFU @
Addr 88h)
This write-only port provides application software with the capability to write a quadlet to the asychronous
control transmit FIFO and have it confirmed for transmission.
BIT NUMBER
BIT NAME
DIR
00 – 31
ACTXFU
W
FUNCTIONAL DESCRIPTION
Asychronous control transmit first and update
Data written to this address goes to the ACTX FIFO and is confirmed for transmission.
5.27 Asynchronous Control Data Transmit FIFO Last & Send (ACTXCU @ Addr
8ch)
This write-only port provides application software with the capability to write the last quadlet of a packet to
the asychronous control transmit FIFO and have the entire packet confirmed for transmission.
BIT NUMBER
BIT NAME
DIR
00 – 31
ACTXCU
W
FUNCTIONAL DESCRIPTION
Asychronous control transmit continue and update
5.28 Reserved Register (RESERVED @ Addr 90h–BCh)
This register is reserved.
5–25
5.29 Asynchronous Control Data Receive FIFO (ACRX @ Addr C0h)
This register port allows read accesses to the ACRX FIFO. If there is more than one quadlet is in this FIFO,
each read outputs the next quadlet from this FIFO. If the FIFO is empty, the last valid value is read. This FIFO
is meant for low-rate asynchronous control data. However, it can also be used for application data, which
is accessed through the MP/MC interface. This register is cleared to 0 on power up, bus_reset, or software
reset.
BIT NUMBER
BIT NAME
DIR
00 – 31
ACRX
R
FUNCTIONAL DESCRIPTION
Asychronous control receive FIFO read port
5.30 Broadcast Write Receive FIFO (BWRX @ Addr 0C4h)
This register port allows accesses to the BWRX FIFO. If there is more than one quadlet is in this FIFO, each
read outputs the next quadlet from this FIFO. If the FIFO is empty the last valid value is read. This FIFO is
meant for low-rate asynchronous control data. However, it can also be used for application data, which is
accessed through the MP/MC interface. This register is cleared to 0 on power up, bus_reset, or software
reset.
BIT NUMBER
BIT NAME
DIR
00 – 31
BWRX
R
FUNCTIONAL DESCRIPTION
Broadcast receive FIFO read port
5.31 Reserved Register (RESERVED @ Addr C8h)
This register is reserved.
5.32 Reserved Register (RESERVED @ Addr CCh)
This register is reserved.
5.33 Reserved Register (RESERVED @ Addr D0h)
This register is reserved.
5.34 Reserved Register (RESERVED @ Addr D4h)
This register is reserved.
5–26
5.35 Bulky Data Interface Control (BIF @ Addr D8h)
This register provides the application software with the capability to program and control the functionality
of the bulky data interface. Unless otherwise specified, the bits in this register are cleared to 0 on power up
or software reset.
BIT NUMBER
BIT NAME
00 – 07
Not Used
DIR
FUNCTIONAL DESCRIPTION
08
LNGRDREG
R/W
If BDIMODE = 010, this bit causes the BDOAVAIL signal to
remain active through the entire packet.
09
BMLECTRL
R/W
MPEG little endian control. When set to 1, this bit causes
the MPEG interface to operate in little endian format (Byte
0 = LSByte).
10
BILECTRL
R/W
Isochronous little endian control. When set to 1, this bit
causes the isochronous interface to operate in little endian
format (Byte 0 = LSByte).
11
BALECTRL
R/W
Asychronous little endian control. When set to 1, this bit
causes the asychronous interface to operate in little
endian format (Byte 0 = LSByte).
12
AHBDIBSY
R/W
Active high control for BDIBUSY terminal. When set to 1,
this bit causes the signal to be active high. This bit is set
to 1 on power up or software reset.
13
AHAVAIL
R/W
Active high control for BDOAVAIL terminal. When set to 1,
this bit causes the signal to be active high. This bit is set to
1 on power up or software reset.
14
AHBDOEN
R/W
Active high control for BDOEN terminal. When set to 1,
this bit causes the signal to be active high. This bit is set to
1 on power up or software reset.
15
AHBDIEN
R/W
Active high control for BDIEN terminal. When set to 1, this
bit causes the signal to be active high. This bit is set to 1
on power up or software reset.
16
UNIDIR
R/W
If BDIMODE = 010, when set, this bit causes the interface
to be unidirectional.
17
DSSREC
R/W
If UNIDIR is set to 1, BDIMODE = 010, and this bit is set to
1, it causes write functionality to be enabled and read
functionality to be disabled.
18
AHPACEN
R/W
If BDIMODE is set to 010 or 101 and this bit is set to 1, it
causes the BDIF2 (packet enable) terminal to be active
high. This bit is set to 1 on power up or software reset.
19
AHERROR
R/W
If BDIMODE is set to 010 or 101 and this bit is set to 1, it
causes the BDIF1 (packet error) terminal to be active high.
This bit is set to 1 on power up or software reset.
20
AHBDIFMT0
R/W
If BDIMODE is set to 101 and this bit is set to 1, it causes
the BDIF0 (valid) terminal to be active high. This bit is set
to 1 on power up or software reset.
21
Not Used
22
BDOMODE1
R/W
MSB of the BDOMODE select bits
23
BDOMODE0
R/W
LSB of the BDOMODE select bits
5–27
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
24
Not Used
25
BDIMODE2
R/W
MSB of the BDIMODE select bits
26
BDIMODE1
R/W
Middle bit of the BDIMODE select bits
27
BDIMODE0
R/W
LSB of the BDIMODE select bits
28
RCVPAD
R/W
When set to 1, this bit allows 1394 padding bits through
the interface port. Data must be written to the BDIF in
quadlet multiples (4 bytes at a time), if a packet does not
end on a quadlet boundary then padding zeros are
automatically added to complete the last quadlet. When
RCVPAD is set to 1, the BDIF does not strip the inserted
zeroes of received packets prior to sending them to the
BDIF.
29
BDOINIT
R/W
When set to 1, this bit causes the BDO logic to reset. This
bit is self clearing.
30
BDIINIT
R/W
When set to 1, this bit causes the BDI logic to reset. This
bit is self clearing.
31
BDOTRIS
R/W
When set to 1, this bit causes the BDO data bus to be
forced high-impedance state.
5.36 MPEG2 (DVB) Transmit Timestamp Offset Register (MXTO @ Addr DCh)
This register provides the application software with the capability to program the time stamp offset for a
MPEG transmit cell. The hardware adds this offset to a sampled value of the cycle timer to determine the
time stamp for the MPEG cell to be transmitted. Unless otherwise specified, the bits in this register are
cleared to 0 on power up or software reset. This register is the same register as E0h.
BIT NUMBER
BIT NAME
DIR
00 – 06
CYCEC
R/W
Offset value added to CYCSEC of CYCTIM register (reg
28)
FUNCTIONAL DESCRIPTION
07 – 19
CYCNUMBER
R/W
Offset value added to CYCNUMBER of CYCTIM register
(reg 28) with a maximum value of 7999h
20 – 31
CYCOFFSET
R/W
Offset value added to CYCOFFSET of CYCTIM register
(reg 28) with a maximum value of 3071h
5.37 DSS Transmit Timestamp Offset Register (DXT0 @ Addr E0h)
This register provides the application software with the capability to program the time stamp offset for a DSS
transmit cell. The hardware adds this offset to a sampled value of the cycle timer to determine the time stamp
for the DSS cell to be transmitted. Unless otherwise specified, this register are cleared to 0 on power up or
software reset. This register is the same as DCh.
BIT NUMBER
BIT NAME
DIR
00 – 06
CYCEC
R/W
Offset value added to CYCSEC of CYCTIM register
(reg 28)
07 – 19
CYCNUMBER
R/W
Offset value added to CYCNUMBER of CYCTIM register
(reg 28) with a maximum value of 7999h
20 – 31
CYCOFFSET
R/W
Offset value added to CYCOFFSET of CYCTIM register
(reg 28) with a maximum value of 3071h
5–28
FUNCTIONAL DESCRIPTION
5.38 MPEG2 (DVB)/DSS Receive Timestamp Offset (MRTO @ Addr E4h)
This register provides the application software with the capability to program the time stamp offset for a
MPEG receive cell. The hardware adds this offset to the time stamp of the received MPEG cell to determine
the time to release the cell to the application. Unless otherwise specified, the bits in this register are cleared
to 0 on power up or software reset. This register is the same as E8h.
BIT NUMBER
BIT NAME
DIR
00 – 06
CYCEC
R/W
Offset value added to CYCSEC of CYCTIM register
(reg 28)
07 – 19
CYCNUMBER
R/W
Offset value added to CYCNUMBER of CYCTIM register
(reg 28) with a maximum value of 7999h
20 – 31
CYCOFFSET
R/W
Offset value added to CYCOFFSET of CYCTIM register
(reg 28) with a maximum value of 3071h
FUNCTIONAL DESCRIPTION
5.39 DSS Receive Timestamp Offset Register (DRT0 @ Addr E8h)
This register provides the application software with the capability to program the time stamp offset for a DSS
receive cell. The hardware adds this offset to the time stamp of a received DSS cell to determine the release
time of the cell to the application. Unless otherwise specified, the bits in this register are cleared to 0 on power
up or software reset. This register is the same as E4h.
BIT NUMBER
BIT NAME
DIR
00 – 06
CYCEC
R/W
Offset value added to CYCSEC of CYCTIM register
(reg 28)
07 – 19
CYCNUMBER
R/W
Offset value added to CYCNUMBER of CYCTIM register
(reg 28) with a maximum value of 7999h
20 – 31
CYCOFFSET
R/W
Offset value added to CYCOFFSET of CYCTIM register
(reg 28) with a maximum value of 3071h
FUNCTIONAL DESCRIPTION
5.40 Asynchronous/Isochronous Application Data Control Register
(AICR @ Addr ECh)
This register provides the application software with the capability to program and control the operational
behavior and data path control for the asychronous and isochronous transmit and receive FIFOs. Unless
otherwise specified, all bits in the register are cleared to 0 on power up or software reset.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00
IRENABLE
R/W
Isochronous receive enable. When this bit is set to 1, the
bulky isochronous receive FIFO is enabled to receive data.
01
ITENABLE
R/W
Isochronous transmit enable. When this bit is set to 1, the
bulky isochronous transmit FIFO is enabled to transmit
data.
02
ARENABLE
R/W
Asychronous receive enable. When this bit is set to 1, the
asychronous receive FIFO is enabled to receive data.
03
ATENABLE
R/W
Asychronous transmit enable. When this bit is set to 1, the
bulky asychronous transmit FIFO is enabled to transmit
data. This bit is cleared when a 1394 bus reset occurs.
04 – 14
Not Used
15
ISNOOP
R/W
Isochronous snoop. When this bit is set to 1, all incoming
isochronous traffic is snooped and stored to the bulky
isochronous receive FIFO.
5–29
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
16
IHIM
R/W
Isochronous header insert mode enable. When this bit is
set to 1, automatic header insertion and packetization of
isochronous data from the isochronous transmit FIFO is
enabled. In this mode the hardware expects the
application to load the isochronous transmit FIFO with
pure data that contains no header. When this bit is set to 0,
the hardware expects the isochronous transmit FIFO to
contain completely formatted 1394 isochronous packets.
17
Not Used
18
Not Used
19
IRHS
R/W
Isochronous header strip mode enable. When this bit is set
to 1, the isochronous header is stripped from the packet
and only data payload is delivered to the application. The
isochronous header is copied to the register
20
BDIRE
R/W
Bulky data isochronous receive FIFO data destination
select. When this bit is set to 0, the MP/MC has access to
the bulky data receive FIFO. Received isochronous
packets are not transferred to the application by way of the
BDIF. When this bit is set to 1, the received isochronous
packets are transferred to the application by way of the
BDIF.
21
BDIXE
R/W
Bulky data isochronous transmit FIFO data source select.
When this bit is set to 0, the MP/MC has write access to
the bulky isochronous transmit FIFO. Data writes from the
BDIF are ignored. When this bit is set to 1, the application
has write access to the bulky isochronous transmit FIFO
by way of the BDIF.
22
IRFLSH
W
Bulky isochronous receive FIFO flush. Setting this bit to 1
flushes the isochronous receive FIFO. This bit is self
clearing
23
IXFLSH
W
Bulky isochronous transmit FIFO flush. Setting this bit to 1
flushes the isochronous transmit FIFO. This bit is self
clearing.
24
AHIM
R/W
Asychronous header insert mode enable. When this bit is
set to 1, automatic header insertion and packetization of
asychronous data from the bulky asychronous transmit
FIFO is enabled. In this mode the hardware expects the
application to load the asychronous transmit FIFO with
pure data that contains no header. When this bit is set to 0,
the hardware expects the asychronous transmit FIFO to
contain completely formatted 1394 isochronous packets.
25
Not Used
26
Not Used
5–30
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
27
ARHS
R/W
Asychronous header strip mode enable. When this bit is
set to 1, the asychronous header is stripped from the
packet and only data payload is delivered to the
application. The asychronous header is copied to the
asychronous header registers
28
BDARE
R/W
Bulky data asychronous receive FIFO data destination
select. When this bit is set to 0, the MP/MC has access to
the bulky data asychronous receive FIFO. Received
asychronous packets are not transferred to the application
by way of the BDIF. When this bit is set to 1, the received
asychronous packets are transferred to the application by
way of the BDIF.
29
BDAXE
R/W
Bulky data asychronous transmit FIFO data source select.
When this bit is set to 0, the MP/MC has write access to
the bulky asychronous transmit FIFO. Data writes from the
BDIF are ignored. When this bit is set to 1, the application
has write access to the bulky asychronous transmit FIFO
by way of the BDIF.
30
ARFLSH
W
Bulky asychronous receive FIFO flush. Setting this bit to 1
flushes the asychronous receive FIFO. This bit is self
clearing.
31
AXFLSH
W
Bulky asychronous transmit FIFO flush. Setting this bit to 1
flushes the asychronous transmit FIFO. This bit is self
clearing.
5–31
5.41 MPEG2 (DVB)/DSS Formatter Control Register (MCR @ Addr F0h)
This register provides the application software with the capability to program and control the operational
behavior and data path selection for the MPEG transmit and receive FIFOs. Unless otherwise specified, all
bits in the register are cleared to 0 on power up or software reset. This register is the same register as F4h
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00
MREN
R/W
MPEG receive enable. When this bit is set to 1, the bulky
MPEG receive FIFO is enabled to receive MPEG packets.
01
MTEN
R/W
MPEG transmit enable. When this bit is set to 1, the bulky
MPEG transmit FIFO is enable for transmitting packets.
02 – 03
Not Used
04
MTXERMODE
R/W
When this bit is set to 1, DTX0 register bit = BDIF
DSSTXERROR signal.
05
MRXERMODE
R/W
When this bit is set to 1, BDIF DSSRXERROR signal = bit
16 of register DSR0
06
MXAGE
R/W
MPEG transmit aging enabled. When this bit is set to 1,
MPEG transmit aging is enabled.
07
MRAGE
R/W
MPEG receive aging enabled. When this bit is set to 1,
MPEG receive aging is enabled.
08 – 12
Not Used
13 – 15
MXC
R/W
MPEG transmit class: (see Table 3–3)
5–32
000
Source packet is divided into 8, 1/8 size blocks and
transmitted in 8 seperate MPEG2 packets
001
Source packet is divided into 4, 1/4 size blocks and
transmitted in 4 MPEG2 packets
010
Source packet is divided into 2, 1/2 size blocks and
transmitted in 2 MPEG2 packets
011
Exactly one source packet is transmitted per
MPEG2 packet
100
One or two source packets is transmitted in each
MPEG2 packet
101
One to three source packets is transmitted in each
MPEG2 packet
110
One to four source packets is transmitted in each
MPEG2 packet
111
One to five source packets is transmitted in each
MPEG2 packet
16
MRHS
R/W
MPEG header strip enable. When this bit is set to 1, the
Iso, CIP0, and CIP1 headers and trailer quadlet are
stripped from the MPEG receive packet and copied into
buffer registers. The remaining source packet is
transferred to the application.
17
MEXTS
R/W
MPEG extended time stamp enable. When this bit is set to
1, a 32-bit time stamp is used for both transmit and
receive. When this bit is set to 0 a 25-bit time stamp is
used for both transmit and receive.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
18 –21
Not Used
22
DSSR30
R/W
When this bit is set to 1, the device is ready to receive
DSS130 formatted packets (DSS130 format is supported
by BDIF only).
23
DSSX30
R/W
When this bit is set to 1, the device is ready to transmit
DSS130 formatted packets (DSS130 format is supported
by BDIF only).
24
BDMRE
R/W
Bulky data MPEG receive FIFO data destination select.
When this bit is set to 0, the MP/MC has access to the
bulky data MPEG receive FIFO. Received MPEG packets
are not transferred to the application by way of the BDIF.
When this bit is set to 1, the received MPEG packets are
transferred to the application by way of the BDIF.
25
BDMXE
R/W
Bulky data MPEG transmit FIFO data source select. When
this bit is set to 0, the MP/MC has write access to the
bulky MPEG transmit FIFO. Data writes from the BDIF are
ignored. When this bit is set to 1, the application has write
access to the bulky MPEG transmit FIFO by way of the
BDIF.
26
MRFLSH
W
Bulky MPEG receive FIFO flush. Setting this bit to 1
flushes the MPEG receive FIFO. This bit is self clearing.
27
MXFLSH
W
Bulky MPEG transmit FIFO flush. Setting this bit to 1
flushes the MPEG transmit FIFO. This bit is self clearing.
28
MFEN
R/W
MPEG mode enable. When this bit is set to 1, the device
operates in MPEG mode. When this bit is set to 0, the
device operates in DSS mode.
29
MTXTSIN
R/W
MPEG time stamp insert enable. When this bit is set to 1,
the time stamp is automatically inserted on MPEG
transmits.
30
MALTCELL
R/W
When this bit is set to 1, the device uses the transmit and
receive alternate size defined in register BDFMISC
(register F8h).
31
MHIM
R/W
When this bit is set to 1, the isochronous and CIP headers
on MPEG transmits are automatically inserted.
5–33
5.42 DSS Formatter Control Register (DCR @ Addr F4h)
This register provides the application software with the capability to program and control the operational
behavior and data path selection for the MPEG transmit and receive FIFOs. Unless otherwise specified, all
bits in the register are cleared to 0 on power up or software reset. This register is the same as register F0h.
BIT NUMBER
BIT NAME
DIR
00
DREN
R/W
DSS receive enable. When this bit is set to 1, the bulky
DSS receive FIFO is enabled to receive DSS packets.
01
DTEN
R/W
DSS transmit enable. When this bit is set to 1, the bulky
DSS transmit FIFO is enable for transmitting packets.
FUNCTIONAL DESCRIPTION
02 – 03
Not Used
04
DTXERMODE
R/W
When this bit is set to 1, DTX0 register bit = BDIF
DSSTXERROR signal.
05
DRXERMODE
R/W
When this bit is set to 1, BDIF DSSRXERROR signal = bit
16 of register DSR0
06
DXAGE
R/W
DSS transmit aging enabled. When this bit is set to 1, DSS
transmit aging is enabled.
07
DRAGE
R/W
DSS receive aging enabled. When this bit is set to 1, DSS
receive aging is enabled.
08 – 12
Not Used
13 – 15
DXC
R/W
DSS transmit class: (see Table 3–6)
5–34
001
Source packet is divided into 4, 1/4 size blocks
and transmitted in 4 DSS packets
010
Source packet is divided into 2, 1/2 size blocks
and transmitted in 2 DSS packets
011
Exactly one source packet is transmitted per DSS
packet
100
One or two source packets is transmitted in each
DSS packet
101
One to three source packets is transmitted in each
DSS packet
110
One to four source packets is transmitted in each
DSS packet
111
One to five source packets is transmitted in each
DSS packet
16
DRHS
R/W
DSS header strip enable. When this bit is set to 1, the Iso,
CIP0, and CIP headers and trailer quadlet are stripped
from the DSS receive packet and copied into buffer
registers.
17
DEXTS
R/W
DSS extended time stamp enable. When this bit is set to
1, a 32-bit time stamp is used for both transmit and
receive. When this bit is set to 0, a 25-bit time stamp is
used for both transmit and receive.
18 –21
Not Used
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
22
DSSR30
R/W
When this bit is set to 1, the device is ready to receive
DSS130 formatted packets (DSS130 format is supported
by BDIF only).
23
DSSX30
R/W
When this bit is set to 1, the device is ready to transmit
DSS130 formatted packets (DSS130 format is supported
by BDIF only).
24
BDDRE
R/W
Bulky data DSS receive FIFO data destination select.
When this bit is set to 0, the MP/MC has access to the
bulky data DSS receive FIFO. Received DSS packets are
not transferred to the application by way of the BDIF.
When this bit is set to 1, the received DSS packets are
transferred to the application by way of the BDIF.
25
BDDXE
R/W
Bulky data DSS transmit FIFO data source select. When
this bit is set to 0, the MP/MC has write access to the
bulky DSS transmit FIFO. Data writes from the BDIF are
ignored. When this bit is set to 1, the application has write
access to the bulky DSS transmit FIFO by way of the
BDIF.
26
DRFLSH
W
Bulky DSS receive FIFO flush. Setting this bit to 1 flushes
the DSS receive FIFO. This bit is self clearing.
27
DXFLSH
W
Bulky DSS transmit FIFO flush. Setting this bit to 1 flushes
the DSS transmit FIFO. This bit is self clearing.
28
DFEN
R/W
DSS mode enable. When this bit is set to 1, the device
operates in MPEG mode. When this bit is set to 0, the
device operates in DSS mode.
29
DTXTSIN
R/W
DSS time stamp insert enable. When this bit is set to 1,
the time stamp is automatically inserted on DSS transmits.
30
DALTCELL
R/W
When this bit is set to 1, the device uses the transmit and
receive alternate size defined in register BDFMISC
(register F8h).
31
DHIM
R/W
When this bit is set to 1, the isochronous and CIP headers
are automatically inserted on DSS transmits.
5–35
5.43 Bulky Data FIFO Miscellaneous Control and Status
(BDFMISC @ Addr F8h)
This register provides the application software with the capability to program an alternate cell size for MPEG
and DSS cells and to decode the error status when the microprocessor performs an illegal push or pop
operation.
BIT NUMBER
BIT NAME
00
RESERVED
01 – 04
MPUERRCODE
05 – 06
RESERVED
07 – 15
TXMCSZ
16 – 22
RESERVED
23 – 31
RXMCSZ
DIR
FUNCTIONAL DESCRIPTION
R
0h – Power up or software reset value
1h – MPU tried to pop an empty Async RX FIFO
2h – MPU tried to pop a paused Async RX FIFO
3h – MPU tried to push a full Async TX FIFO
4h – MPU tried to pop an empty Iso RX FIFO
5h – MPU tried to pop a paused Iso RX FIFO
6h – MPU tried to push a full Iso TX FIFO
7h – MPU tried to pop an empty MPEG RX FIFO
8h – MPU tried to pop a paused MPEG RX FIFO
9h – MPU tried to pop a MPEG RX FIFO before timestamp
release had occurred
Ah – MPU tired to pop a MPEG RX FIFO while in BDIF
mode
Bh – MPU tried to push a full MPEG TX FIFO
Ch – MPU tried to push a MPEG TX FIFO while in BDIF
mode
R/W
Alternate transmit cell size. Cleared to 0 on power up or
software reset. Only MPEG2 (DVB)/DSS transmit
classes 0 – 5 are supported.
R/W
Alternate receive cell size. Cleared to 0 on power up
5.44 SRAM Address (SRAMA @ Addr FCh)
This register interface provides the application software with the capability to load an 11-bit starting address
for directly accessing the 8K x 33 SRAM that is used in implementing the bulky data FIFOs. This address
auto increments on every data read or data write from/to port (SRAMD @ Addr 100h).
This register is cleared to 0 on a power up or software reset.
BIT NUMBER
BIT NAME
00 – 20
Not Used
21 – 31
SRAMA
5–36
DIR
R/W
FUNCTIONAL DESCRIPTION
11-bit SRAM starting address where bit 21 is the MSB
5.45 SRAM Data (SRAMD @ Addr 100h)
This register interface provides the application software with the capability to directly read or write data
from/to the 8K-byte × 33 bulky FIFO SRAM. The address of the read or write access is obtained from SRAMA
located in register port (SRAMA @ Addr Fch).
BIT NUMBER
BIT NAME
DIR
00 – 31
SRAMD
R/W
FUNCTIONAL DESCRIPTION
Read or write data. Bit 00 is the MSB
The default value returned on a read is 0.
5.46 Bulky Asynchronous Size register (BASZ @ Addr 104h)
The register provides the application software with the capability to program the size, in multiples of 4
quadlets, of the bulky Async transmit and receive FIFOs.
BIT NUMBER
BIT NAME
00 – 05
Not Used
06 – 15
BATXSIZE
16 –21
Not Used
22 – 31
BARXSIZE
DIR
FUNCTIONAL DESCRIPTION
R/W
Bulky asychronous transmit FIFO size in multiples of 4
quadlets. Bit 06 is MSB. Default size is 0 blocks.
R/W
Bulky asychronous receive FIFO size in multiples of 4
quadlets. Bit 22 is MSB. Default size is 125 blocks (500
quadlets).
5.47 Bulky Asynchronous Avail register (BAAVAL @ Addr 108h)
This read-only register provides the application software with the capability to read the occupancy status
in quadlets for the bulky asychronous transmit and receive FIFOs. This register is cleared to 0 on a power
up or software reset.
BIT NUMBER
BIT NAME
00 – 03
Not Used
04 – 15
BATXAVAIL
16 –19
Not Used
20 – 31
BARXAVAIL
DIR
FUNCTIONAL DESCRIPTION
R
Number of empty quadlet locations available in the bulky
asychronous transmit FIFO. Bit 04 is MSB.
Value returned on a read performed immediately after a
power up or software reset is 0.
R
Number of data quadlets available in the bulky asychronous receive FIFO. Bit 20 is MSB.
Value returned on a read performed immediately after a
power up or software reset is 0.
5.48 Asynchronous Application Data Transmit FIFO First and Continue
(BATX @ Addr 10ch)
This write-only port provides the application software with the capability to write the quadlets of an
asychronous transmit packet — except the last quadlet — to the bulky asychronous transmit FIFO.
BIT NUMBER
BIT NAME
DIR
00 – 31
BATXFC
W
FUNCTIONAL DESCRIPTION
32-bit data quadlet. Bit 00 is MSB
5–37
5.49 Asynchronous Application Data Transmit FIFO Last & Send
(BATXLS @ Addr 110h)
This write-only port provides the application software with the capability to write the last quadlet of an
asychronous transmit packet to the bulky asychronous transmit FIFO. This last write marks the quadlet as
the last one in the packet and confirms the packet for transmission.
BIT NUMBER
BIT NAME
DIR
00 – 31
BATXLS
W
FUNCTIONAL DESCRIPTION
32-bit data quadlet. Bit 00 is MSB
5.50 Asynchronous Application Data Receive FIFO (BARX @ Addr 114h)
This write-only port allows the application software to read data from the bulky asychronous receive FIFO.
If more than one quadlet is in this FIFO, each read outputs the next quadlet from this FIFO. If the FIFO is
empty the last valid value is read.
BIT NUMBER
BIT NAME
DIR
00 – 31
BARX
R
FUNCTIONAL DESCRIPTION
32-bit data. Bit 00 is the MSB
5.51 Asynchronous Application Data Receive Header Register 0
(ARH0 @ Addr 118h)
This read-only register allows the application software to read the first header quadlet of a received
asychronous packet header after the bulky receive FIFO control logic has copied the asychronous header
into registers ARH0 to ARH3. This register is cleared to 0 on power up or software reset.
BIT NUMBER
BIT NAME
DIR
00 – 31
ARH0
R
FUNCTIONAL DESCRIPTION
First quadlet of asychronous header. Bit 32 is MSB
5.52 Asynchronous Application Data Receive Header Register 1
(ARH1 @ Addr 11ch)
This read-only register allows the application software to read the second header quadlet of a received
asychronous packet header after the bulky receive FIFO control logic has copied the asychronous header
into registers ARH0 to ARH3. This register is cleared to 0 on power up or software reset.
BIT NUMBER
BIT NAME
DIR
00 – 31
ARH1
R
FUNCTIONAL DESCRIPTION
Second quadlet of asychronous header. Bit 32 is MSB
5.53 Asynchronous Application Data Receive Header Register 2
(ARH2 @ Addr 120h)
This read-only register allows the application software to read the third header quadlet of a received
asychronous packet header after the bulky receive FIFO control logic has copied the asychronous header
into registers ARH0 to ARH3. This register is cleared to 0 on power up or software reset.
BIT NUMBER
BIT NAME
DIR
00 – 31
ARH2
R
FUNCTIONAL DESCRIPTION
Third quadlet of asychronous header. Bit 32 is MSB
5.54 Asynchronous Application Data Receive Header Register 3
(ARH3 @ Addr 124h)
This read-only register allows the application software to read the fourth header quadlet of a received
asychronous packet after the bulky receive FIFO control logic has copied the asychronous header into
registers ARH0 to ARH3. This register is cleared to 0 on power up or software reset.
BIT NUMBER
BIT NAME
DIR
00 – 31
ARH3
R
5–38
FUNCTIONAL DESCRIPTION
Fourth quadlet of asychronous header. Bit 32 is MSB
5.55 Asynchronous Application Data Receive Trailer (ART @ Addr 128h)
This read-only register allows the application software to read the trailer quadlet of a received asychronous
packet after the bulky asychronous receive FIFO control logic has copied the trailer quadlet to this register.
The asychrounous trailer contains the packet reception status that is added by the receiving link core. This
register is cleared to 0 on power up or software reset.
BIT NUMBER
BIT NAME
00 – 13
Not Used
14 – 15
SPD
16 – 21
Not Used
22 – 23
ZEROFILL
24 – 27
Not Used
28 – 31
ACKSENT
DIR
FUNCTIONAL DESCRIPTION
R
1394 speed code of received packet
00 – 100 Mbits/s
01 – 200 Mbits/s
10 – Not valid
11 – Not valid
R
Number of zero-fill bytes in the last quadlet of the packet
data payload
00 – no zero fill bytes
01 – 1 zero fill bytes
10 – 2 zero fill bytes
11 – 3 zero fill bytes
R
The 1394 ack sent by the link receiver after receiving the
packet.
0000 – Reserved
0001 – Ack complete
0010 – Ack pending
0011 – Reserved
0100 – Ack busy_X
0111 – 1100 – reserved
1101 – Ack data error
1110 – Ack type error
1111 – Reserved
5–39
5.56 Bulky Isochronous Size register (BISZ @ Addr 12Ch)
This register provides the application software with the capability to program the size in multiples of 4
quadlets, of the bulky isochronous transmit and receive FIFOs. This register is cleared to 0 on a power up
or software reset.
BIT NUMBER
BIT NAME
00 – 05
Not Used
06 – 15
BITXSIZE
16 –21
Not Used
22 – 31
BIRXSIZE
DIR
FUNCTIONAL DESCRIPTION
R/W
Bulky isochronous transmit FIFO size in multiples of 4
quadlets. Bit 06 is MSB.
R/W
Bulky isochronous receive FIFO size in multiples of 4
quadlets. Bit 22 is MSB.
5.57 Bulky Isochronous Avail register (BIAVAL @ Addr 130h)
This read-only register provides the application software with the capability to read the occupancy status
in quadlets for the bulky isochronous transmit and receive FIFOs. This register is cleared to 0 on a power
up or software reset.
BIT NUMBER
BIT NAME
00 – 03
Not Used
04 – 15
BITXAVAIL
16 –19
Not Used
20 – 31
BIRXAVAIL
DIR
FUNCTIONAL DESCRIPTION
R
Number of empty quadlet locations available in the bulky
isochronous transmit FIFO. Bit 04 is MSB
R
Number of data quadlets available in the bulky isochronous receive FIFO. Bit 20 is MSB
5.58 Isochronous Transmit First & Continue (BITXFC @ Addr 134h)
This write-only port provides the application software with the capability to write the quadlets of an
isochronous transmit packet — except the last quadlet — to the bulky isochronous transmit FIFO.
BIT NUMBER
BIT NAME
DIR
00 – 31
BITXFC
W
FUNCTIONAL DESCRIPTION
32-bit data quadlet. Bit 00 is MSB
5.59 Isochronous Transmit Last & Send (BITXLS @ Addr 138h)
This write-only port provides the application software with the capability to write the last quadlet of an
isochronous transmit packet to the bulky isochronous transmit FIFO. This last write marks the quadlet as
the last one in the packet and confirms the packet for transmission.
BIT NUMBER
BIT NAME
DIR
00 – 31
BITXLS
W
FUNCTIONAL DESCRIPTION
32-bit data quadlet. Bit 00 is MSB
5.60 Isochronous Receive FIFO (BIRX @ Addr 13ch)
This read-only port allows the application software access to the bulky isochronous receive FIFO. If more
than one quadlet is in this FIFO, each read outputs the next quadlet from this FIFO. If the FIFO is empty the
last valid value is read. The value returned on a read immediately after power up or software reset is 0.
BIT NUMBER
BIT NAME
DIR
00 – 31
BIRX
R
5–40
FUNCTIONAL DESCRIPTION
32-bit data quadlet. Bit 00 is MSB
5.61 Isochronous Packet Received Header (IRH @ Addr 140h)
This read-only register allows the application software to read the header quadlet of a received isochronous
packet header after the bulky isochronous FIFO control logic has copied the isochronous header into
register IRH. This register is cleared to 0 on power up or software reset.
BIT NUMBER
BIT NAME
DIR
00 – 15
LENGTH [0:15]
R/W
Packet data length in bytes
16 – 17
TAG
R/W
Isochronous TAG field
18 – 23
CHANNUM
R/W
Isochronous channel number
24 – 27
TCODE
R/W
Isochronous tCode field
28 – 31
SY
R/W
Isochronous sync bits
FUNCTIONAL DESCRIPTION
5.62 Isochronous Packet received Trailer (IRT @ Addr 144h)
This read-only register allows the application software to read the trailer quadlet of a received isochronous
packet after the bulky isochronous receive FIFO control logic has copied the trailer quadlet to this register.
The isochronous packet trailer contains the packet reception status that is added by the receiving link core.
This register is cleared to 0 on power up or software reset.
BIT NUMBER
BIT NAME
00 – 13
Not Used
14 – 15
SPD
16 – 21
Not Used
22 – 23
ZEROFILL
24 – 27
Not Used
28 – 31
ERRCODE
DIR
FUNCTIONAL DESCRIPTION
R
1394 speed code of received packet
00 – 100 Mbits/s
01 – 200 Mbits/s
10 – Not valid
11 – Not valid
R
Number of zero-fill bytes in the last quadlet of the packet
data payload
00 – no zero fill bytes
01 – 1 zero fill bytes
10 – 2 zero fill bytes
11 – 3 zero fill bytes
R
The 1394 ack sent by the link receiver after receiving the
packet.
0000 – Reserved
0001 – Ack complete
0010 – Ack pending
0011 – Reserved
0100 – Ack busy_X
0111 – 1100 – reserved
1101 – Ack data error
1110 – Ack type error
1111 – Reserved
5–41
5.63 Receive Packet Routing Control Register (RPRC @ Addr 148h)
This register provides the application software with the capability to program and control the operation of
the receive packet routing control logic. This register is cleared to 0 on power up of software reset.
BIT NUMBER
BIT NAME
00 – 16
Not Used
17
BACKPENDEN
DIR
FUNCTIONAL DESCRIPTION
R/W
Bulky ACK Pending. If set to 1, an ack pending message
is sent in response to an asychronous lock/write request
packet. If set to 0, an ack complete is sent in response. If
an asychronous packet is not received correctly, then it is
acknowledged with ack data error regardless of the BACKPENDEN setting. BACKPENDEN defaults to 1 on power
on.
18
Not Used
19
DBCCOVER
R/W
Disable data block continuity checking on receive. When
set, this bit disables the data block continuity checking of
incoming MPEG/DSS packets by the receive routing
control logic.
20
RIDM0
R/W
Receive FIFO destination select for response packets that
are matched by the expected response comparator
(PHYSR @ Addr 38h) When RIDM0 = 0, the expected
response packet is routed to bulky asychronous receive
FIFO. When RIDM0 = 1, the expected response packet is
routed to the asychronous control received FIFO.
21
SIDM0
R/W
Self-ID receive FIFO destination select. When SIDM0 = 0,
the Self-ID packets are routed to broadcast receive FIFO.
When SIDM0 = 1, the Self-ID packets are routed to bulky
asychronous receive FIFO.
22
23
ARDM0
ARDM1
R/W
R/W
Asychronous receive FIFO destination select bits
(ACRX = asychronous control receive FIFO
BWRX = broadcast control receive FIFO
BARX = bulky data asychronous receive FIFO)
When ARDM1 = 0 and ARDM0 = 0, all non-broadcast
asychronous packets are routed to the ACRX. All
broadcast asychronous packets are routed to the BWRX.
When ARDM1 = 0 and ARDM0 = 1, the non-broadcast
ROM/register space write request asychronous packets
are routed to the ACRX. Broadcast ROM/register space
request asychronous packets are routed to BWRX. All
other asychronous packets not meeting the above decode
criteria are routed to the BDARX.
When ARDM1 = 1 and ARDM0 = 0, all asychronous
packets are routed to the BARX.
When ARDM1 = 1 and ARDM0 = 1, all non-broadcast
asychronous request packets addressed to the upper half
of addressable node space (dest_addr ≥ 80000,0000000).
are routed to the ACRX. Broadcast asychronous request
packets addressed to the upper half of addressable node
space (dest_addr ≥ 80000,0000000) are routed to the
BWRX. All other asychronous packets are sent to BARX.
5–42
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
24
MONT0
R/W
When set, this bit enables match on tag compare for
MPEG/DSS isochronous receive comparator 0
25
MONT1
R/W
When set, this bit enables match on tag compare for
MPEG/DSS isochronous receive comparator 1
26
MONT2
R/W
When set, this bit enables match on tag compare for
MPEG/DSS isochronous receive comparator 2
27
MONT3
R/W
When set, this bit enables match on tag compare for
MPEG/DSS isochronous receive comparator 3
28
MONT4
R/W
When set, this bit enables match on tag compare for
MPEG/DSS isochronous receive comparator 4
29
MONT5
R/W
When set, this bit enables match on tag compare for
MPEG/DSS isochronous receive comparator 5
30
MONT6
R/W
When set, this bit enables match on tag compare for
MPEG/DSS isochronous receive comparator 6
31
MONT7
R/W
When set, this bit enables match on tag compare for
MPEG/DSS isochronous receive comparator 7
5.64 Bulky Asynchrounous Retry (BARTRY@ Addr 14Ch)
This register provides the application software with the capability to program the operation of the automatic
retry control function for packets transmitted from the bulky asychronous transmit FIFO.The cycle timer (reg
C, bit 22) must be enabled for automatic retry. This register is cleared to 0 on power up or software reset.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00 – 15
Not Used
16 – 23
BATXRTRYINT
R/W
Number of isochronous Cycle intervals to wait between
retrys.
24 – 31
BATXRTRYNUM
R/W
Number of times to retry the asychronous packet when
the receiving node continues to ack the packet with a
busy acknowledge.
5.65 Bulky MPEG2 (DVB) Size register (BMSZ @ Addr 150h)
The register provides the application software with the capability to program the size, in multiples of 4
quadlets, of the bulky MPEG2 (DVB) transmit and receive FIFOs. This register is cleared to 0 on a power
up or software reset. This register is the same register as 158h.
BIT NUMBER
BIT NAME
00 – 05
Not Used
06 – 15
BMTXSIZE
16 – 21
Not Used
22 – 31
BMRXSIZE
DIR
FUNCTIONAL DESCRIPTION
R/W
Bulky MPEG transmit FIFO size in multiples of 4 quadlets.
Bit 06 is MSB.
R/W
Bulky MPEG receive FIFO size in multiples of 4 quadlets.
Bit 22 is MSB.
5–43
5.66 Bulky MPEG2 (DVB) Avail register (BMAVAL @ Addr 154h)
The read-only register port provides the application software with the capability to read the occupancy
status, in quadlets, for the bulky MPEG transmit and receive FIFOs. When the microprocessor has access
to the bulky FIFO, the available register is updated on a quadlet basis. When the bulky data interface has
access to the bulky FIFO, the available register is updated on a packet basis. This register is cleared to 0
on power up or software reset. This register is the same register as 15Ch.
BIT NUMBER
BIT NAME
00 – 03
Not Used
04 – 15
BMTXAVAIL
16 – 19
Not Used
20 – 31
BMRXAVAIL
DIR
FUNCTIONAL DESCRIPTION
R
Number of empty quadlet locations available in the bulky
MPEG transmit FIFO. Bit 04 is MSB
R
Number of data quadlets available in the bulky MPEG
receive FIFO. Bit 20 is MSB.
5.67 Bulky DSS Size register (BDSZ @ Addr 158h)
The register provides the application software with the capability to program the size, in multiples of 4
quadlets, of the bulky DSS transmit and receive FIFOs. This register is cleared to 0 on a power up or software
reset.
BIT NUMBER
BIT NAME
00 – 05
Not Used
06 – 15
BDTXSIZE
16 – 21
Not Used
22 – 31
BDRXSIZE
DIR
FUNCTIONAL DESCRIPTION
W
Bulky DSS transmit FIFO size in multiples of 4 quadlets.
Bit 06 is MSB.
W
Bulky DSS receive FIFO size in multiples of 4 quadlets. Bit
22 is MSB.
5.68 Bulky DSS Avail register (BDAVAL @ Addr 15ch)
The register port provides the application software with the capability to read the occupancy status, in
quadlets, for the bulky DSS transmit and receive FIFOs. This register is cleared to 0 on power up or software
reset.
BIT NUMBER
BIT NAME
00 – 03
Not Used
04 – 15
BDTXAVAIL
16 – 19
Not Used
20 – 31
BDRXAVAIL
DIR
FUNCTIONAL DESCRIPTION
R/W
Number of empty quadlet locations available in the bulky
DSS transmit FIFO. Bit 04 is MSB
R/W
Number of data quadlets available in the bulky DSS receive FIFO. Bit 20 is MSB
5.69 MPEG2 (DVB) Transmit FIFO first & continue (BMTXFC @ Addr 160h)
This register provides the application software with the capability to write the quadlets of an MPEG2 (DVB)
transmit packet — except the last quadlet — to the bulky MPEG2 (DVB) transmit FIFO. This register is the
same register as 16Ch.
BIT NUMBER
BIT NAME
DIR
00 – 31
BMTXFC
W
5–44
FUNCTIONAL DESCRIPTION
32-bit data quadlet. Bit 00 is MSB
5.70 MPEG2 (DVB) Transmit FIFO last & send (BMTXLS @ Addr 164h)
This write-only port provides the application software with the capability to write the last quadlet of an
MPEG2 (DVB) transmit packet to the bulky MPEG2 (DVB) transmit FIFO. This last write marks the quadlet
as the last one in the packet and confirms the packet for transmission. This register is the same register as
170h.
BIT NUMBER
BIT NAME
DIR
00 – 31
BMTXLS
W
FUNCTIONAL DESCRIPTION
last 32-bit data quadlet. Bit 00 is MSB
5.71 MPEG2 (DVB) Formatted Packet Receive FIFO (BMRX @ Addr 168h)
This read-only register port allows the application software access to the bulky MPEG2 (DVB) receive FIFO.
If more than one quadlet is in this FIFO, each read outputs the next quadlet from this FIFO. If the FIFO is
empty, the last valid value is read. This register is cleared to 0 on power up or software reset. This register
is the same register as 174h.
BIT NUMBER
BIT NAME
DIR
00 – 31
BMRX
R
FUNCTIONAL DESCRIPTION
32-bit data out. Bit 00 is MSB
5.72 DSS Transmit FIFO first & continue (BDTXFC @ Addr 16ch)
This register provides the application software with the capability to write the quadlets of an DSS transmit
packet — except the last quadlet — to the bulky DSS transmit FIFO.
BIT NUMBER
BIT NAME
DIR
00 – 31
BDTXFC
W
FUNCTIONAL DESCRIPTION
32-bit data quadlet. Bit 00 is MSB
5.73 DSS Transmit FIFO last & send (BDTXLS @ Addr 170h)
This write-only port provides the application software with the capability to write the last quadlet of an DSS
transmit packet to the bulky DSS transmit FIFO. This last write marks the quadlet as the last one in the packet
and confirms the packet for transmission.
BIT NUMBER
BIT NAME
DIR
00 – 31
BDTXLS
W
FUNCTIONAL DESCRIPTION
Last 32-bit data quadlet. Bit 00 is MSB
5.74 DSS Formatted Packet Receive FIFO (BDRX @ Addr 174h)
This read-only register port allows the application software access to the bulky DSS receive FIFO. If more
than one quadlet is in this FIFO, each read outputs the next quadlet from this FIFO. If the FIFO is empty the
last valid value is read. This register is cleared to 0 on power up or software reset.
BIT NUMBER
BIT NAME
DIR
00 – 31
BDRX
R
FUNCTIONAL DESCRIPTION
32-bit read data. Bit 00 is MSB
5–45
5.75 MPEG2 (DVB) Receive Header (MRH @ Addr 178h)
This read-only register port allows the application software to read the isochronous header quadlet of a
received MPEG2 (DVB) packet after the bulky MPEG2 (DVB) FIFO control logic has copied the isochronous
header into register MRH. This register is cleared to 0 on power up or software reset. This register is the
same register as 188h.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00 – 15
LENGTH [0:15]
R/W
Packet data length in bytes
16 – 17
TAG
R/W
Isochronous TAG field
18 – 23
CHANNUM
R/W
Isochronous channel number
24 – 27
TCODE
R/W
Isochronous tCode field
28 – 31
SY
R/W
Isochronous sync bits
5.76 MPEG2 (DVB) CIP Receive Header 0 (MCIPR0 @ Addr 17ch)
This read-only register port allows the application software to read the CIP0 header quadlet of a received
MPEG2 (DVB) packet after the bulky MPEG2 (DVB) FIFO control logic has copied the CIP0 header into
register MCIPR0. This register is cleared to 0 on power up or software reset. This register is the same
register as 18Ch
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00
0
R
Logic 0
01
0
R
Logic 0
02 – 07
SID
R
Source node ID = variable from 000000 to 111111
08 – 15
DBS
R
Data block size = 00000110
16 – 17
FN
R
Fraction number = 11
18 – 20
QPC
R
Quadlet padding count = 000
21
SPH
R
Source packet header present = 1
Source packet header not present = 0
22 – 23
RES
R
Reserved
24 – 31
DBC
R
Data block continuity counter = variable 0 to 255
5.77 MPEG2 (DVB) CIP Receive Header 1 (MCIPR1 @ Addr 180h)
This read-only register port allows the application software to read the CIP1 header quadlet of a received
MPEG2 (DVB) packet after the bulky MPEG2 (DVB) FIFO control logic has copied the CIP1 header into
register MCIPR1. This register is cleared to 0 on power up or software reset. This register is the same
register as 190h.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00
1
R
Logic 1
01
0
R
Logic 0
02 – 07
FMT
R
Format ID = 100000
08 – 31
FDF
R
Format dependent field
5–46
5.78 MPEG2 (DVB) Receive Trailer Register (MRT @ Addr 184h)
This read-only register port allows the application software to read the trailer quadlet of a received MPEG
packet after the bulky MPEG2 (DVB) receive FIFO control logic has copied the trailer quadlet to this register.
This register is cleared to 0 on power up or software reset. This register is the same register as 194h.
BIT NUMBER
BIT NAME
00 – 13
Not Used
14 – 15
SPD
DIR
R
FUNCTIONAL DESCRIPTION
MPEG receive packet speed
00 – 100 Mbits/s
01 – 200 Mbits/s
10 – invalid
11 – invalid
16 – 27
Not Used
28 – 31
ERRCODE
R
MPEG receive packet error status.
5.79 DSS Formatted Packet Received Header (DRH @ Addr 188h)
This read-only register port allows the application software to read the isochronous header quadlet of a
received DSS packet after the bulky DSS FIFO control logic has copied the isochronous header into register
DRH. This register is cleared to 0 on power up or software reset. This register is the same register as 178h.
BIT NUMBER
BIT NAME
DIR
00 – 15
DRH
R
FUNCTIONAL DESCRIPTION
DSS receive packet 1394 isochronous header
5.80 DSS Formatter CIP 0 receive Register (DCIPR0 @ Addr 18ch)
This read-only register port allows the application software to read the CIP0 header quadlet of a received
DSS packet after the bulky DSS FIFO control logic has copied the CIP0 header into register DCIPR0. This
register is cleared to 0 on power up or software reset. This register is the same register as 17Ch.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00
0
R
Logic 0
01
0
R
Logic 0
02 – 07
SID
R
Source node ID = variable from 000000 to 111111
08 – 15
DBS
R
Data block size = 00001001
16 – 17
FN
R
Fraction number = 10
18 – 20
QPC
R
Quadlet padding count = 000
21
SPH
R
Source packet header present = 1
Source packet header not present = 0
22 – 23
RES
R
Reserved
24 – 31
DBC
R
Data block continuity counter = variable 0 to 255
5–47
5.81 DSS Formatter CIP 1 receive Register (DCIPR1 @ Addr 190h)
This read-only register port allows the application software to read the CIP1 header quadlet of a received
DSS packet after the bulky DSS FIFO control logic has copied the CIP1 header into register DCIPR1. This
register is cleared to 0 on power up or software reset. This register is the same register as 180h.
BIT NUMBER
BIT NAME
DIR
00
1
R
Logic 1
FUNCTIONAL DESCRIPTION
01
0
R
Logic 0
02 – 07
FMT
R
Format ID = 100001
08 – 31
FDF
R
Format depended field.
FDF[08] = TSF Time Shift Flag
FDF[08] = 0 The stream is not time shifted
FDF[08] = 1 The stream is time shifted
5.82 DSS Formatted Packet Received Trailer (DRT @ Addr 194h)
This read-only register port allows the application software to read the trailer quadlet of a received DSS
packet after the bulky DSS receive FIFO control logic has copied the trailer quadlet to this register. This
register is cleared to 0 on power up or software reset. This register is the same register as 184h.
BIT NUMBER
BIT NAME
00 – 13
Not Used
14 – 15
SPD
DIR
R
FUNCTIONAL DESCRIPTION
DSS receive packet speed
00 – 100 Mbits/s
01 – 200 Mbits/s
10 – invalid
11 – invalid
16 – 27
Not Used
28 – 31
ERRCODE
R
DSS receive packet error status.
5.83 DSS Receive Cell Header Register 0 (DRX0 @ Addr 198h)
This read-only register port allows the application software to read the DSS source packet header bytes 0
– 3 of a received DSS packet after the bulky DSS receive FIFO control logic has copied the bytes to this
register. This register is cleared to 0 on power up or software reset.
BIT NUMBER
BIT NAME
DIR
00 – 07
DSS130HDR_0
R
DSS source packet header byte 0
08 – 15
DSS130HDR_1
R
DSS source packet header byte 1
16 – 23
DSS130HDR_2
R
DSS source packet header byte 2
24 – 31
DSS130HDR_3
R
DSS source packet header byte 3
5–48
FUNCTIONAL DESCRIPTION
5.84 DSS Receive Cell Header Register 1 (DRX1 @ Addr 19Ch)
This read-only register port allows the application software to read the DSS source packet header bytes
4 – 5 of a received DSS packet after the bulky DSS receive FIFO control logic has copied the bytes to this
register. This register is cleared to 0 on power up or software reset.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00 – 07
DSS130HDR_4
R
DSS source packet header byte 4
08 – 15
DSS130HDR_5
R
DSS source packet header byte 5
16 – 23
DSS130HDR_6
R
DSS source packet header byte 6
24 – 31
DSS130HDR_7
R
DSS source packet header byte 7
5.85 DSS Receive Cell Header Register 2 (DRX2 @ Addr 1A0h)
This read-only register port allows the application software to read the DSS source packet header bytes
8 – 9 of a received DSS packet after the bulky DSS receive FIFO control logic has copied the bytes to this
register. This register is cleared to 0 on power up or software reset.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00 – 07
Not Used
08 – 15
Not Used
16 – 23
DSS130HDR_8
R
DSS source packet header byte 8
24 – 31
DSS130HDR_9
R
DSS source packet header byte 9
5.86 DSS Transmit Cell Header Register 0 (DTX0 @ Addr 1A4h)
This register provides the application software with the capability to program bytes 0 – 3 of a 10-byte DSS
packet header, which is automatically inserted by the FIFO control logic into the MPEG/DSS FIFO when
DSS 130 transmit mode is enabled. This register is cleared to 0 on power up or software reset.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00 – 07
DSS130HDR_0
R/W
DSS source packet header byte 0
08 – 15
DSS130HDR_1
R/W
DSS source packet header byte 1
16 – 23
DSS130HDR_2
R/W
DSS source packet header byte 2
24 – 31
DSS130HDR_3
R/W
DSS source packet header byte 3
5.87 DSS Transmit Cell Header Register 1 (DTX1 @ Addr 1A8h)
This register provides the application software with the capability to program bytes 4 – 7 of a 10-byte DSS
packet header, which is automatically inserted by the FIFO control logic into the MPEG/DSS FIFO when
DSS 130 transmit mode is enabled. This register is cleared to 0 on power up or software reset.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00 – 07
DSS130HDR_4
R/W
DSS source packet header byte 4
08 – 15
DSS130HDR_5
R/W
DSS source packet header byte 5
16 – 23
DSS130HDR_6
R/W
DSS source packet header byte 6
24 – 31
DSS130HDR_7
R/W
DSS source packet header byte 7
5–49
5.88 DSS Transmit Cell Header Register 2 (DTX2 @ Addr 1ACh)
This register provides the application software with the capability to program bytes 8 – 9 of a 10-byte DSS
packet header, which is automatically inserted by the FIFO control logic into the MPEG/DSS FIFO when
DSS 130 transmit mode is enabled. This register is cleared to 0 on power up or software reset.
BIT NUMBER
BIT NAME
00 – 07
Not Used
DIR
FUNCTIONAL DESCRIPTION
08 – 15
Not Used
16 – 23
DSS130HDR_8
R/W
DSS source packet header byte 8
24 – 31
DSS130HDR_9
R/W
DSS source packet header byte 9
5.89 Asychronous Header 0 for Auto Tx (AHEAD 0) @ Addr 1B0h)
This register provides the application software with the capability to program the first quadlet of an
asychronous header that is used during asychronous transmit auto packetization.
BIT NUMBER
BIT NAME
DIR
0
AIncEn
R/W
1–13
RESERVED
14 – 31
AHEAD0
FUNCTIONAL DESCRIPTION
Auto-A address increment on ack not-busy. Increments
destination address by the data length. This bit is cleared
to 0 on power up or software reset.
These bits are always read as 0s.
R/W
Asychronous header register 0 used for Auto-A
packetization. These bits are set to 00010010h on power
up or software reset.
5.90 Asychronous Header 1 for Auto Tx (AHEAD(1) @ Addr 1B4h)
This register provides the application software with the capability to program the second quadlet of an
asychronous header that is used during asychronous transmit auto packetization.
BIT NUMBER
BIT NAME
DIR
00 – 31
AHEAD1
R/W
FUNCTIONAL DESCRIPTION
Asynchronous header register 1 used for Auto-A
packetization. These bits are set to 3FC10000h on power
up or software reset.
5.91 Asychronous Header 2 for Auto Tx (AHEAD(2) @ Addr 1B8h)
This register provides the application software with the capability to program the third quadlet of an
asychronous header that is used during asychronous transmit auto packetization.
BIT NUMBER
BIT NAME
DIR
00 – 31
AHEAD2
R/W
FUNCTIONAL DESCRIPTION
Asynchronous header register 2 used for Auto-A
packetization. These bits are set to 00000000h on power
up or software reset.
5.92 Asynchrous Header 3 for Auto Tx (AHEAD(3) @ Addr 1BCh)
This register provides the application software with the capability to program the fourth quadlet of an
asychronous header that is used during asychronous transmit auto packetization.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00 – 31
AHEAD3
R/W
Asynchronous header register 3 used for Auto-A
packetization. These bits are set to 00080000h on power
up or software reset.
5–50
5.93 Isochronous Header for Auto Tx (IHEAD0 @ Addr 1C0h)
This register provides the application software with the capability to program the header quadlet of an
isochronous header that is used during isochronous transmit auto packetization.
BIT NUMBER
BIT NAME
DIR
00 – 15
LENGTH [0:15]
R/W
Packet data length in bytes. These bits are set to 0010h
on power up or software reset
FUNCTIONAL DESCRIPTION
16 – 17
TAG
R/W
Isochronous TAG number. These bits are set to 0 on power up or software reset.
18 – 23
CHANNUM
R/W
Isochronous channel number. These bits are set to 0 on
power up or software reset.
24 – 25
Not Used
26 – 27
SPD
R/W
Isochronous speed to send this packet (00 = 100 mbits/s,
01 = 200 Mbits/s). These bits are set to 01 on power up or
software reset.
28 – 31
SY
R/W
Isochronous sync bits. These bits are set to 0 on power up
or software reset.
5.94 Packetizer Control (PKTCTL @ Addr 1C4h)
This register provides the application software with the capability to configure and control the operation of
the packetizer functionality.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00
CYCTSEREN
R/W
Cycle Timer Serial output mode. When this bit is set to 1,
the MDAlt register used for serial cycle timer shift register.
Set to 1 on power up or software reset.
01
Not Used
02
MTEST
R/W
MPEG2 packetizer test mode. Enabled when one. When
this bit is set to 1, it sends MPEG2/DSS test packets
based on the class that is selected. MPEG2/DSS data is
an incrementing count. One MPEG/DSS packet sent per
isochronous cycle. This bit is cleared to 0 on power up or
software reset.
03
ITEST
R/W
Bulky isochronous packetizer test mode. Whe this bit is
set to 1,it sends bulky isochronous test packets based on
the Ihead register. Bulky isochronous data is an
incrementing count. One bulky isochronous packet sent
per isochronous cycle. This bit is cleared to 0 on power
up or software reset.
04
ATEST
R/W
Bulky asychronous packetizer test mode. When this bit is
set to 1, it sends bulky asychronous test packets based
on Ahead registers. Bulky asychronous data is an
incrementing count. No auto retrys allowed. When in
bulky asychronous test mode, one asychronous packet is
sent per isochronous cycle to prevent continuous
asychronous packets. This bit is cleared to 0 on power up
or software reset.
05 – 17
Not Used
5–51
BIT NUMBER
BIT NAME
DIR
18
MDCTFRRG
R/W
When this bit is set to 1, the MPEG2/DSS packetizer
control taken from Mdalt.
When enabled:
{0000,Mdalt[0:7]} = number of quadlets to transmit.
Mdalt[8:23] = data length loaded into header.
Mdalt[24:31] = data block increment used.In this
mode, the packet transmitted is always exactly per
the class.
This bit is cleared to 0 on power up or software reset.
19
FIFOFLEN
R/W
When this bit is set, the Master FIFO Flush is enabled.
This bit is set to 1 on power up or software reset.
20
ISOGOFLEN
R/W
Enable flushing of MPEG2 FIFO when the isochronous
cycle has begun and the isochronous state machine is in
a non-idle state. Set to 1 on power up or software reset.
21
FIFOPHSEN
R/W
Enable flushing of MPEG2FIFO when the packetizer
expects a timestamp from FIFO but the TimeStampValid
signal is false. This bit is set to 1 on power up or software
reset.
22
CFRPKTRST
R/W
CFR reset of the packetizer state machines. This is a self
clearing bit and is cleared to 0 on power up or software
reset.
23
QPCWEN
R/W
When this bit is set to 1, enable microprocessor writing of
Quadlet per Cell register. This bit is cleared to 0 on power
up or software reset.
24
PRBWEN
R/W
When this bit is set to 1, enable microprocessor writing of
PktTestMuxOutAccess register for R/W test. This bit is
cleared to 0 on power up or software reset.
25
FMTWEN
R/W
When this bit is set to 1, enable microprocessor writing of
CIP1 Fmt field. This bit is cleared to 0 on power up or
software reset.
26
DBCWEN
R/W
When this bit is set to 1, enable microprocessor writing of
CIP0 DBC field. This bit is cleared to 0 on power up or
software reset.
27
SPHWEN
R/W
When this bit is set to 1, enable microprocessor writing of
CIP0 SPH field. This bit is cleared to 0 on power up or
software reset.
28
FNWEN
R/W
When this bit is set to 1, enable microprocessor writing of
CIP0 Fn field. This bit is cleared to 0 on power up or
software reset.
29
DBSWEN
R/W
When this bit is set to 1, enable microprocessor writing of
CIP0 DBS field. This bit is cleared to 0 on power up or
software reset.
5–52
FUNCTIONAL DESCRIPTION
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
30
SLDWEN
R/W
When this bit is set to 1, enable microprocessor writing of
CIP0 SID field. Cleared to 0 on power up or software
reset.
31
LENWEN
R/W
When this bit is set to 1, enable microprocessor writing of
MXH DataLength field. Cleared to 0 on power up or
software reset.
5.95 MPEG2 (DVB) Transmit Header Register (MXH @ Addr 1C8h)
This register provides the application software with the capability to program the 1394 header quadlet that
is used during MPEG2 (DVB) transmit auto packetization. This register is the same register as 1D4h.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00 – 15
length[0:15]
R/W
Packet data length in bytes. When LENWEN @ Addr
1C4h=1, the microprocessor must load. When
LENWEN=0, AutoLoaded by packetizer. These bits are
unaffected by BusReset, but are set to 0008h on power up
or software reset.
16 – 17
TAG
R/W
Isochronous tag number. The microprocessor must load.
These bits are unaffected by bus reset, but are set to 01
on power up or software reset.
18 – 23
chanNum
R/W
Isochronous channel number. The microprocessor must
load. These bits are unaffected by bus reset.
24 – 25
RESERVED
26 – 27
spd
R/W
Isochronous speed to send this packet. The
microprocessor must load (00 = 100 mbits/s, 01 = 200
Mbits/s). These bits are unaffected by bus reset but are
cleared to 00 on power up or software reset.
28 – 31
sy
R/W
Isochronous sync bits. Resets to 0h. The microprocessor
must load. These bits are unaffected by bus reset.
Logic 0
5.96 MPEG2 (DVB) CIP Transmit Header 0 (MCIPX0 @ Addr 1CCh)
This register provides the application software with the capability to program the CIP0 header quadlet that
is used during MPEG2 (DVB) transmit auto packetization. This register is the same register as 1D8h.
BIT NUMBER
BIT NAME
DIR
00
0
R
Logic 0
Logic 0
FUNCTIONAL DESCRIPTION
01
0
R
02 – 07
SID
R/W
When SIDWEN=1, the microprocessor must load. When
SIDWEN=0, SID is auto-updated with all Phy register 0
transfers.
08 – 15
DBS
R/W
When DBSWEN=1, the microprocessor must load.
DBSWEN=0, Defaults to 6(MPEG)/9(DSS).
Unaffected by bus reset
16 – 17
FN
R/W
FNWEN=1, microprocessor must load. FNWEN=0,
Defaults to 3(MPEG)/2(DSS). Unaffected by bus reset
18 – 20
QPC
R/W
Microprocessor must load. These bits are unaffected by
bus reset
5–53
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
21
SPH
R/W
When SPHWEN=1, the microprocessor must load. When
SPHWEN=0, auto set to 1 when TS included in the packet
This bit is unaffected by bus reset.
22 – 23
RES
R/W
Logic 0
24 – 31
DBC
R/W
When DBCWEN=1, the microprocessor must load. When
DBCWEN=0, the auto loaded/auto incremented by
packetizer. These bits are unaffected by bus reset.
5.97 MPEG2 (DVB) CIP Transmit Header 1 (MCIPX1 @ Addr 1D0h)
This register provides the application software with the capability to program the CIP1 header quadlet that
is used during MPEG2 (DVB) transmit auto packetization. This register is the same register as 1DCh.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00
1
R/W
Logic 1
01
0
R/W
Logic 0
02 – 07
FMT
R/W
When FMTWEN=1, microprocessor must load. When
FMTWEN=0, defaults to 20(MPEG)/21(DSS) These bits
are unaffected by bus reset
08 – 31
FDF
R/W
Microprocessor must load. These bits are unaffected by
bus reset.
The CIP1 transmit header information for this packet.
5.98 DSS Formatted Isochronous Data Transmit Header (DXH @ Addr 1D4h)
DSS shadow register. See MXH @ 1C8h.
5.99 DSS Formatter CIP 0 transmit Register (DCIPX0 @ Addr 1D8h)
DSS shadow register. See MCIPX0 @ 1CCh.
5.100DSS Formatter CIP 1 transmit Register (DCIPX1 @ Addr 1DCh)
DSS shadow register. See MCIPX1 @ 1D0h.
5.101MDAltCont (MDALT @ Addr 1E0h)
This register provides the application software with the multifunction capability as defined in the functional
description. This register is cleared to 0 on power up or software reset.
BIT NUMBER
00 – 31
BIT NAME
DIR
MDALTCONT
R/W†
FUNCTIONAL DESCRIPTION
Provides:
1. Alternate control of the packetizer when enabled with
register PKTCTL bit MDCTFRRG
2. serial cycle timer shift register when enabled with
register PKTCTL bit CYCTSEREN
3. Delayed bulky Isochronous transmit enable. When
enabled with register PKTCTL bits IWAITFCYC[0:1]
bulky Isochronous transmit begins when the cycle
timer matches the value held in MDALTCONT.
† This register is R/W only when the CYCTSERN bit = 0 in the PKCTL register (reg 1C4h).
5–54
5.102Microprocessor Control Register (MDCTL @ Addr 1E4)
BIT NUMBER
BIT NAME
00 – 23
Not Used
24 – 31
QPERCELL
DIR
FUNCTIONAL DESCRIPTION
R/W†
“QPERCELL” indicates the quadlets per cell for
MPEG2/DSS packets. For MPEG2 Class 3, the default
QPERCELL = 47 (188 bytes); for DSS Class 3, the default
QPERCELL = 35 (140 bytes). This register allows the host
to change the number of quadlets per cell from the standard value used.
† This register is R/W only when the QPCWEN bit in the PKCTL register (reg 1C4h) i set.
5.103Reserved (RSVD @ Addr 1e8h)
This register is reserved.
5.104Microprocessor Input / Output Control Register (IOCR @ Addr 1ECh)
BIT
No.
BIT NAME
BIT VALUE
SETTING MEANING
POWER UP DEFAULT SETTING
Symbol
Description
Value = 1
Value = 0
0
MCMP8
Microprocessor
bus is 8/16 bit
access
Byte
Access
Word
Access
Word Access
Byte
Access
1
BeCtl
Big Endian
Control
Big
Endian†
Little
Endian
Big Endian
Little
Endian
2
IntPol
Interrupt
Polarity
Control
High
True
Low
True
3
Rdy
PushPull
“RDY” Output
Signal Control
Active
Push/
Pull
3-State
4
Int
PushPull
“INT” Output
Signal Control
Active
Push/
Pull
3-State
Active Push/Pull
5
Blind
Access
Blind Access
Enable/
Disable
Enable
Blind
Access
Mode
Disable
Blind
Access
Mode
Enable Blind
Access Mode
6
Data
Invarnt
Data Invariant
Endianess
Control
Data
Invariant
Address
Invariant
Data Invariant
7
RdyPol
Rdy output
Polarity
Control
High
True
Low
True
Low True
8 – 31
TMS320AV7000 Mot68000 Intel8051
Low True
N/A‡
High-Impedance State
High-Impedance
State
Disable
Blind
Access
Mode
Enable
Blind
Access
Mode
Not Used. All these bits (8–31) are cleared to 0 on power up or software reset.
† When the BeCtl bit is set to “1” (Big Endian), the DataInvarnt bit setting has no effect.
‡ Although there is no RDY line connection in Intel 8051 Mode, reading the IOCR.RdyPushPull still returns the value of
“0” for this bit.
5–55
5.105Blind Access Status Register (BASTAT @ Addr 1F0h)
This register provides the external microprocessor a means to check whether the current blind read/write
access to the chip is complete. This register is cleared to 0 on power up or software reset.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00 – 06
0
R
Logic 0
07
BACMP
R
When this bit is set to 1, the current blind access
read/write process (to all address other than 1F0h, 1F4h
and 1ECh) is complete and if read, the data returned is
ready in the BAHR (blind access holding register).
08 – 14
0
R
Logic 0
15
BACMP
R
Mirror bit 7 function
16 – 22
0
R
Logic 0
23
BACMP
R
Mirror bit 7 function
24 – 30
0
R
Logic 0
31
BACMP
R
Mirror bit 7 function
5.106Blind Access Holding Register (BAHR @ Addr 1F4h)
This register holds the quadlet data returned for the last blind access read process upon BACMP bit of
BASTAT register is set (except read to 1F0h, 1F4h and 1ECh). This register is cleared to 0 on power up or
software reset.
BIT NUMBER
BIT NAME
DIR
FUNCTIONAL DESCRIPTION
00 – 31
BAHR bits
R
BAHR Quadlet Data
5.107Reserved Register (RESERVED @ Addr 1F8h)
This register is reserved.
5.108Software Reset Register (SRES @ Addr 1FCh)
Any write access to this register generates a device reset regardless what kind of data is written. The internal
reset pulse has a width of four SCLK cycle.
BIT NUMBER
BIT NAME
DIR
00 – 31
SRES
W
5–56
FUNCTIONAL DESCRIPTION
6 Electrical Characteristics
6.1
Absolute Maximum Ratings Over Free-Air Temperature Range (Unless
Otherwise Noted)†
Supply voltage range, VCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – 0.5 V to 3.6 V
Supply voltage range, VCC5V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – 0.5 V to 5.5 V
Input voltage range, VI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – 0.5 V to VCC5V + 0.5 V
Output voltage range, VO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – 0.5 V to VCC5V + 0.5 V
Input clamp current, IIK (VI < 0 V or VI > VCC) (see Note 1) . . . . . . . . . . . . . . . . . ± 20 mA
Output clamp current, IOK (VO < 0 V or VO > VCC) (see Note 2) . . . . . . . . . . . . ± 20 mA
Continuous total power dissipation, PD . . . . . . . . . . . . . . . . (see dissipation rating table)
Operating free-air temperature range, TA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0°C to 70°C
Storage temperature range, Tstg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – 65°C to 150°C
† Stresses beyond those listed under “absolute maximum ratings” 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.
NOTES: 1. This parameter applies to external input and bidirectional buffers. For 5-V tolerant terminals use
VI > VCC5V.
2. This parameter applies to external output and bidirectional buffers. For 5-V tolerant terminals use
VO > VCC5V.
DISSIPATION RATING TABLE
PACKAGE
TA ≤ 25°C
POWER RATING
DERATING
FACTOR ABOVE TA =
25°C
TA = 70°C
POWER RATING
PZ
1500 mW
16.9 mW/°C
739 mW
PACKAGE THERMAL CHARACTERISTICS†
PARAMETER
RθJA
Junction-to-ambient thermal impedance
RθJC
Junction-to-case thermal impedance
TEST
CONDITIONS
Board mounted,
No air flow
PZ PACKAGE
MIN
NOM
MAX
UNIT
59
°C /W
13
°C /W
TJ
Junction temperature
115
°C
† Thermal characteristics very depending on die and leadframe pad size as well as mold compound. These values
preresent typical die and pad sizes for the respective packages. The R value decreases as the die or pad sizes
increases. Thermal values represent PWB bands with minimal amounts of metal.
6–1
6.2
Recommended Operating Conditions
MIN
NOM
MAX
3
3.3
3.6
V
3
4.5
Supply voltage, VCC
Supply voltage, VCC5V
5-V tolerant
UNIT
5.5
V
VCC5V
VCC5V
V
VCC5V
0.8
V
Input voltage, VI
0
Output voltage, VO†
0
High-level input voltage, VIH
2
Low-level input voltage, VIL
0
Input transition time, (tr, tf) (10% to 90%)
0
6
ns
Operating free-air temperature, TA
Virtual junction temperature, TJC‡
0
25
70
°C
0
25
115
°C
V
V
† This applies to external output buffers.
‡ The junction temperatures listed reflect simulation conditions. The absolute maximum junction temperature is 150°C.
The customer is responsible for verifying the junction temperature.
6.3
Electrical Characteristics Over Recommended Ranges of Supply Voltage
and Operating Free-Air Temperature (Unless Otherwise Noted)
PARAMETER
TEST CONDITIONS
MIN
TYP
MAX
UNIT
VOH
High level output voltage
High-level
TTL/LVCMOS
IOH = – 8 mA,†
IOH = – 4 mA‡
VOL
Low level output voltage
Low-level
TTL/LVCMOS
IOL = 8 mA,†
IOL = 4 mA‡
IIL
IIH
Low-level input current§
– 20
µA
High-level input current
VI = VIL(min)
VI = VIH(max)
20
µA
High-impedance-state
output current¶
VO = VCC or GND
± 20
µA
IOZ
VCC – 0.6
VCC – 0.6
V
0.5
0.5
V
ICC(q) Static supply current
IO = 0
225
µA
† This test condition is for terminals D0 – D3, CTL0, CTL1, LREQ, and CONTENDER
‡ This test condition is for terminals BDI0 – BDI7, TD0, BDO0– BDO7, STAT0 – STAT3, BDOF0 – BDOF2, MCAD0 –
MCAD15, RDY, INT_Z, BDIF0 – BDIF2.
§ This specification only applies when pull up and pull down terminator is turned off.
¶ Three-state output must be in high-impedance mode.
6–2
7 MPEG2Lynx Power Consumption
The TSB12LV41 has a maximum average power dissiaption of 454.62 mW + PFIFO, where PFIFO is the
power consumed by the FIFOs.
The bulky FIFO is made up of four 2K-byte RAMs. The control FIFO is made from a single RAM. The power
of the FIFOs (in Watts) can be calculated using the following fromula.
Power of single RAM:
P1
+ [37.6 (rd1) ) 27.7 (wr1) ) 8.8 (1 * rd1 * wr1)] ǒ3.6V2Ǔ (50 MHz)
+ [109.6 (rd1) ) 92.4 (wr1) ) 15.7 (1 * rd1 * wr1)] ǒ3.6V2Ǔ (50 MHz)
Power of one 2K-byte RAM:
P2
Where:
rd1 is a value from 0 to 1 indicating the fraction of time the FIFO is in read mode.
wr1 is a value from 0 to 1 indicating the fraction of time the FIFO is in write mode.
For a typical case (based on simuations) rd1 = 0.8 and wr1 = 0.3:
Power of single RAM:
P1
+ 7.56 mW
Power of one 2K-byte RAM:
P2
+ 16.52 mW
For applications where the rd1 = 0.8 and wr1 = .3 for both the bulky FIFO and the control FIFO the total power
dissipated is:
+ 454.62 mW ) P1 ) (4 P2)
Ptotal + 454.62 mW ) 7.56 mW ) (4
Ptotal
16.52 mW)
+ 528.3 mW
There are two test conditions for measuring the consumed power: 1) The bulky transmit FIFO is loaded with
30 MPEG2 cells (188 bytes). They are transmitted within seven isochronous cycles using bandwidth class
7 for transmit. 2) Reads and writes to the control FIFO are equal to the bulky FIFO.
7–1
7–2
8 Mechanical Information
The TSB12LV41 is packaged in a high-performance 100-pin PZ package. The following shows the
mechanical dimensions of the PZ package.
PZ (S-PQFP-G100)
PLASTIC QUAD FLATPACK
0,27
0,17
0,50
75
0,08 M
51
76
50
100
26
0,13 NOM
1
25
12,00 TYP
14,20
SQ
13,80
Gage Plane
16,20
SQ
15,80
0,05 MIN
1,45
1,35
0,25
0°– 7°
0,75
0,45
Seating Plane
1,60 MAX
0,08
4040149 / A 03/95
NOTES: A. All linear dimensions are in millimeters.
B. This drawing is subject to change without notice.
C. Falls within JEDEC MO-136
8–1
8–2
Appendix A
Receive Operation Examples
A.1 Asynchronous Receive
Receiving asynchronous packets is discussed in detail in Section 3.2.1 of this data manual. These examples
are not the de facto register settings for every system. Instead, they should be used as a guideline for
configuring the MPEG2Lynx to meet an individual system’s needs.
A.1.1 Receiving Asynchronous Data to the Bulky Asynchronous FIFO (Bulky
Data Interface)
This example shows how to setup MPEG2Lynx registers for receiving all asynchronous data to the bulky
asynchronous FIFO accessed by the bulky data interface.
Table A–1. Receiving Asynchronous Data to the Bulky Asynchronous FIFO (Bulky Data Interface)
REGISTER NAME/NUMBER
SETTING
EXPLANATION
Register 104 (Bulky “A” Size Register)
0000 00C8h
This sets the bulky asynchronous receive FIFO to
3200 bytes (decimal)
Register 148 (Receive Packet Router)
0000 0200h
This register routes all received asynchronous received packets to the bulky asynchronous receive
FIFO.
Register EC (Asynchronous/Isochronous Application Data Control Register)
2000 0008h
This enables the bulky asynchronous receive FIFO
to receive data. It also selects the Bulky Data Interface as the bulky asynchronous receive FIFO destination.
Register 1EC (Microinterface Input/Output Control
Register)
4200 0000h
This sets up the microcontroller port for Motorola
68000 mode
Register D8 (Bulky Data Interface Control)
000F 3800h
This sets the bulky data interface in mode A. This
also sets up the bulky data interface in big endian
format.
A.1.2 Receiving Asynchronous Data to the Asynchronous Control FIFO
This example shows how to setup the MPEG2Lynx registers to receive asynchronous data to the
asynchronous control FIFO. The 256-byte asynchronous control FIFO is made up of three parts: the
asynchronous control receive FIFO, the broadcast receive FIFO, and the asynchronous control transmit
FIFO.
In this example, all broadcast asynchronous packets are received at the broadcast receive write FIFO
(BWRF). All non-broadcast asynchronous packets are received at the asynchronous control receive FIFO
(ACRX).
This example also sets the microprocessor port as the FIFO destination.
A–1
Table A–2. Receiving Asynchronous Data to the Asynchronous Control FIFO
REGISTER NAME/NUMBER
SETTING
Register 50 (Asynchronous Control Data Receive
FIFO Status)
0000 0A95h
EXPLANATION
This sets the asynchronous control receive FIFO to
84 bytes (decimal)
It also sets the broadcast receive FIFO to 84 bytes.
Register C0 (Asynchronous Control Data Receive
FIFO)
This allows the application software to read the contents of ACRX one quadlet at a time.
Register C4 (Broadcast Write Receive FIFO)
This allows the application software to read the contents of BWRX one quadlet at a time.
Register 148 (Receive Packet Router)
0000 0000h
This routes all asynchronous non-broadcast packets
to the asynchronous control receive FIFO. All
broadcast packets are routed to the broadcast receive FIFO. Self–IDs are routed to the BWRX FIFO.
Register 1EC (Microinterface Input/Output Control
Register)
4200 0000h
This sets up the microcontroller port for Motorola
68000 mode
A.2: Unformatted Isochronous Receive
Receiving isochronous packets is discussed in detail in Section 3.2.2 of this data manual. These examples
are not the de facto register settings for every system. Instead, they should be used as a guideline for
configuring the MPEG2Lynx to meet an individual system’s needs.
Please note that there must be a cycle master on the bus to receive or transmit isochronous data. To make
MPEG2Lynx cycle master, you must set the appropriate bits in registers Ch and 34h. For a system using
TSB21LV03A PHY and MPEG2Lynx, an example of these register settings for MPEG2Lynx would be:
Register Ch (Link Control Register) = C407 0A40h
Register 34h (Phy Access Register) = 41C6 0000h
A.2.1 Receiving Isochronous Data to the Bulky Isochronous FIFO (Bulky Data
Interface)
Table A–3. Receiving Isochronous Data to the Bulky Isochronous FIFO (Bulky Data Interface)
REGISTER NAME/NUMBER
SETTING
EXPLANATION
Register 12C (Bulky I Size Register)
0000 00C0h
This sets the bulky isochronous receive register to
3072 bytes (decimal).
Register C (Link Control Register)
C407 0A40h
This register sets the MPEG2Lynx to try to become cycle master AND selects port 1 for receive.
Register 34 (Phy Access Register)
41C6 0000h
This register tells the phy to arbitrate for bus/cycle
master.
Register 20 (Isochronous Receive Comparator
Register 0)
0000 0000h
This selects channel 0 for the tag and channel
numbers on receiver compare.
Register EC (Asynchronous/Isochronous Application Data Control Register)
8000 0800h
This sets the MPEG2Lynx to receive all isochronous data (including header and packet trailer) to
the bulky data interface.
Register 1EC (Microinterface Input/Output Control
Register)
4200 0000h
This sets up the microcontroller port for Motorola
68000 mode
Register D8 (Bulky Data Interface Control)
000F 3800h
This sets the bulky data interface in mode A. This
also sets up the bulky data interface in big endian
format.
A–2
A.2.2 Receiving Isochronous Data to the Bulky Isochronous FIFO
(Microprocessor Interface)
Table A–4. Receiving Isochronous Data to the Bulky Isochronous FIFO (Microprocessor
Interface)
REGISTER NAME/NUMBER
SETTING
EXPLANATION
Register 12C (Bulky I Size Register)
0000 00C0h
This sets the bulky isochronous receive register to
3072 bytes (decimal).
Register C (Link Control Register)
C407 0A40h
This register sets the MPEG2Lynx to try to become cycle master AND selects port 1 for receive.
Register 34 (Phy Access Register)
41C6 0000h
This register tells the phy to arbitrate for bus/cycle
master.
Register 20 (Isochronous Receive Comparator
Register 0)
0000 0000h
This selects 0 for the tag and 0 for the channel
numbers on receiver compare.
8000 1000h
This sets the MPEG2Lynx to receive only isochronous data to the microprocessor interface. Headers are stripped from the data before the data is
placed in the FIFO.
Register EC (Asynchronous/Isochronous Application Data Control Register)
This read only register allows the application software to read data out of the bulky isochronous
receive FIFO one quadlet at a time.
Register 13C (Isochronous Receive FIFO)
Register 1EC (Microinterface Input/Output Control
Register)
4200 0000h
This sets up the microcontroller port for Motorola
68000 mode
A.3 MPEG2/DSS Formatted Isochronous Receive
Receiving MPEG2/DSS formatted isochronous packets is discussed in detail in Section 3.2.3 of this data
manual. These examples are NOT the de facto register settings for every system. Instead, they should be
used as a guideline for configuring the MPEG2Lynx to meet an individual system’s needs.
MPEG2/DSS data can ONLY be received at port 0. Therefore register Ch must have a format similar to:
Register C (Link Control Register) = C407 0A80h.
Please note that there are different registers settings in the MPEG2Lynx device for MPEG2 or DSS function.
They access the same logic and FIFOs within the MPEG2Lynx but have different addresses.
The same requirement for a cycle master on the bus exists as for isochronous receives.
A–3
A.3.1 Receiving MPEG2 (DVB) Data to the Bulky MPEG2 FIFO (Bulky Data
Interface)
Table A–5. Receiving MPEG2 (DVB) Data to the Bulky MPEG2 FIFO (Bulky Data Interface)
REGISTER NAME/NUMBER
SETTING
EXPLANATION
Register C (Link Control Register)
C407 0A80h
This register sets the MPEG2Lynx to try to become
cycle master and selects port 0 for receiving.
Register 20 (Isochronous Receive Comparator
Register 0)
4000 0000h
This selects 1 for the tag value and 0 for the channel
number on receive compare.
Register 34 (Phy Access Register)
41C6 0000h
This register tells the phy to arbitrate for bus/cycle
master.
Register D8 (Bulky Data Interface Control)
000F 3800h
This sets the bulky data interface in mode A. This
also sets up the bulky data interface in big endian
format.
Register F0 (MPEG2 Formatter Control Register)
8103 8088h
This register sets the MPEG2Lynx to receive
MPEG2 (DVB) packets only!
–MPEG2 mode enabled
–Receive to bulky data FIFO
–Class 3 (1 pkt. Per iso cycle)
–Receive aging
–Headers stripped
Register 148 (Receive Packet Router)
0000 0080h
Match received data on TAG at port 0.
Register 150 (Bulky MPEG Size Register)
0000 00C0h
This sets the Bulky MPEG2 receive register to 3072
bytes (decimal).
Register 1EC (Microinterface Input/Output Control
Register)
4200 0000h
This sets up the microcontroller port for Motorola
68000 mode
A.3.2 Receiving DSS Data to the Bulky DSS FIFO (Bulky Data Interface)
Table A–6. Receiving DSS Data to the Bulky DSS FIFO (Bulky Data Interface)
REGISTER NAME/NUMBER
SETTING
EXPLANATION
Register C (Link Control Register)
C407 0A80h
This register sets the MPEG2Lynx to try to become
cycle master and selects port 0 for receiving.
Register 20 (Isochronous Receive Comparator
Register 0)
4000 0000h
This selects 1 for the tag value and 0 for the channel
number on receive compare.
Register 34 (Phy Access Register)
41C6 0000h
This register tells the phy to arbitrate for bus/cycle
master.
Register D8 (Bulky Data Interface Control)
000F 3800h
This sets the bulky data interface in mode A. This
also sets up the bulky data interface in big endian
format.
Register F4 (DSS Formatter Control Register)
8103 8088h
This register sets the MPEG2Lynx to receive DSS
packets only!
–DSS 140 mode enabled
–Receive to bulky data FIFO
–Class 3 (1 pkt. Per iso cycle)
–Receive aging
–Headers stripped
Register 148 (Receive Packet Router)
0000 0080h
Match received data on TAG at port 0.
Register 158 (Bulky DSS Size Register)
0000 00C0h
This sets the bulky DSS receive register to 3072
bytes (decimal).
Register 1EC (Microinterface Input/Output Control
Register)
4200 0000h
This sets up the microcontroller port for Motorola
68000 mode
A–4
A.3.3 Receiving MPEG2 (DVB) Data to the Bulky MPEG2 (DVB) FIFO
(Microprocessor Interface)
Table A–7. Receiving MPEG2 (DVB) Data to the Bulky MPEG2 (DVB) FIFO (Microprocessor
Interface)
REGISTER NAME/NUMBER
SETTING
EXPLANATION
Register C (Link Control Register)
C407 0A80h
This register sets the MPEG2Lynx to try to become
cycle master and selects port 0 for receiving.
Register 20 (Isochronous Receive Comparator
Register 0)
4000 0000h
This selects 1 for the tag value and 0 for the channel
number on receive compare.
Register 34 (Phy Access Register)
41C6 0000h
This register tells the phy to arbitrate for bus/cycle
master.
Register D8 (Bulky Data Interface Control)
000F 3800h
This sets the bulky data interface in mode A. This
also sets up the bulky data interface in big endian
format.
8103 8008h
This register sets the MPEG2Lynx to receive
MPEG2 (DVB) packets only!
–MPEG2 mode enabled
–Microprocessor has access to bulky FIFO
–Class 3 (1 pkt. Per iso cycle)
–Receive aging
–Headers stripped
0000 0080h
Match received data on TAG = 1 at port 0.
0000 00C0h
This sets the bulky MPEG2 receive register to 3072
bytes (decimal).
Register F0 (MPEG2 Formatter Control Register)
Register 148 (Receive Packet Router)
Register 150 (Bulky MPEG Size Register)
This read only register allows the application software to read data out of the bulky MPEG2 (DVB)
receive FIFO one quadlet at a time.
Register 168 (Formatted Packet Receive FIFO)
Register 1EC (Microinterface Input/Output Control
Register)
4200 0000h
This sets up the microcontroller port for Motorola
68000 mode
A–5
A.3.4 Receiving DSS Data to the Bulky DSS FIFO (Microprocessor Interface)
Table A–8. Receiving DSS Data to the Bulky DSS FIFO (Microprocessor Interface)
REGISTER NAME/NUMBER
SETTING
EXPLANATION
Register C (Link Control Register)
C407 0A80h
This register sets the MPEG2Lynx to try to become
cycle master and selects port 0 for receiving.
Register 20 (Isochronous Receive Comparator
Register 0)
4000 0000h
This selects 1 for the tag value and 0 for the channel
number on receive compare.
Register 34 (Phy Access Register)
41C6 0000h
This register tells the phy to arbitrate for bus/cycle
master.
Register F4 (DSS Formatter Control Register)
8103 8208h
This register sets the MPEG2Lynx to receive DSS
packets only!
–DSS 130 mode enabled
–Microprocessor has access to bulky FIFO
–Class 3 (1 pkt. Per iso cycle)
–Receive aging
–Headers stripped
Register 148 (Receive Packet Router)
0000 0080h
Match received data on TAG at port 0.
Register 158 (Bulky DSS Size Register)
0000 00C0h
This sets the bulky DSS receive register to 3072
bytes (decimal).
This read only register allows the application software to read data out of the bulky DSS receive FIFO
one quadlet at a time.
Register 168 (Formatted Packet Receive FIFO)
Register 1EC (Microinterface Input/Output Control
Register)
A–6
4200 0000h
This sets up the microcontroller port for Motorola
68000 mode
Appendix B
Transmit Operation Examples
B.1: Asynchronous Transmit
Transmitting asynchronous packets is discussed in detail in Sections 3.1.1 and 3.1.2 of this data manual.
These examples are not the de facto register settings for every system. Instead, they should be used as
a guideline for configuring the MPEG2Lynx to meet an individual system’s needs.
For all transmissions, the transmit enable (TXEN, bit 00 register C) must be set.
The asynchronous headers for transmit are fully explained in Section 3.4. The headers provided below
(registers 1B0–1BC) are only examples and may not work for all systems.
B.1.1 Transmitting Asynchronous Data Packets (Bulky Data Interface)
This example shows how to setup MPEG2Lynx registers to transmit asynchronous data packets via the
bulky data interface. The MPEG2Lynx automatically inserts the headers.
Table B–1.
Transmitting Asynchronous Data Packets (Bulky Data Interface)
REGISTER NAME/NUMBER
SETTING
EXPLANATION
000F 3800h
This sets the bulky data interface in mode A.
This also sets up the bulky data interface in
big endian format.
Register EC (Asynchronous/Isochronous Application
Data Control Register)
1000 0084h
This enables the bulky asynchronous
transmit FIFO to receive data. It also selects
the bulky data interface as the data source. It
also enable asynchronous header insert
mode.
Register 104 (Bulky “A” Size Register)
00C8 0000h
This sets the bulky asynchronous transmit
FIFO to 3200 bytes (decimal)
Register 1B0 (Asynch Header 0 for Auto Transmit)
1001 0010h
Speed = 200Mbps
tCode=1 (Write Request)
Register 1B4 (Asynch Header 1 for Auto Transmit)
FFC2 0000h
Destination ID=FFC2
Register 1B8 (Asynch Header 2 for Auto Transmit)
0000 0000h
Destination Offset = 0
Register 1BC (Asynch Header 3 for Auto Transmit)
0008 0000h
Data Length = 8 bytes
Register 1EC (Microinterface Input/Output Control
Register)
4200 0000h
This sets up the microcontroller port for Motorola 68000 mode
Register D8 (Bulky Data Interface Control)
B.1.2. Transmitting Asynchronous Control Packets
This example shows how to setup the MPEG2Lynx registers to transmit asynchronous control data from
the asynchronous control transmit FIFO (ACTX FIFO). The 256-byte asynchronous control FIFO is made
up of three parts: the asynchronous control receive FIFO, the broadcast receive FIFO, and the
asynchronous control transmit FIFO.
A discussion on transmitting asynchronous control packets is included in Section 3.1.1 of this data manual.
Details on which registers are used for transmission are included there.
B–1
Table B–2.
Transmitting Asynchronous Control Packets
REGISTER NAME/NUMBER
SETTING
EXPLANATION
Register 44 (Asynchronous Control Data Transmit
FIFO)
0000 0014h
This sets the asynchronous control transmit FIFO to
80 bytes (decimal)
Register 80 (Asynchronous Control Data Transmit
FIFO First)
This write–only register writes the first quadlet of a
packet to the asynchronous control transmit FIFO.
The application must provide all asynchronous
headers (as described in Section 3.4, Asynchronous
Data Formats) with the data.
Register 84 (Asynchronous Control Data Transmit
FIFO Continue)
This write–only register writes the remaining quadlets (except for the last quadlet) to the asynchronous
control transmit FIFO
Register 8C (Asynchronous Control Data Transmit
FIFO Continue and Update)
This write–only register writes the last quadlet of the
packet to the asynchronous control transmit FIFO
and confirms the entire packet for transmission.
Register 1EC (Microinterface Input/Output Control
Register)
4200 0000h
This register sets up the microcontroller port for Motorola 68000 mode
B.2 Unformatted Isochronous Transmit
Transmitting isochronous packets is discussed in detail in Section 3.1.2 of this data manual. These
examples are not the de facto register settings for every system. Instead, they should be used as a guideline
for configuring the MPEG2Lynx to meet an individual systems needs.
For all transmissions, the transmit enable (TXEN, bit 00 register C) MUST be set.
Please note that there must be a cycle master on the bus to receive or transmit isochronous data. To make
MPEG2Lynx cycle master, you must set the appropriate bits in registers Ch and 34h. For a system using
TSB21LV03A PHY and MPEG2Lynx, an example of these register settings would be:
Register Ch (Link Control Register) = C407 0A00h
Register 34h (Phy Access Register) = 41C6 0000h
A complete discussion of isochronous transmit headers is included in Section 3.4 of this data manual. The
headers below are just examples and may not work for every system.
B–2
B.2.1 Transmitting Isochronous Data, Headers Auto Inserted (Bulky Data
Interface)
Table B–3. Transmitting Isochronous Data, Headers Auto Inserted (Bulky Data Interface)
REGISTER NAME/NUMBER
SETTING
EXPLANATION
Register 12C (Bulky I Size Register)
00C0 0000h
This sets the bulky isochronous transmit register to
3072 bytes (decimal).
Register C (Link Control Register)
C407 0A00h
This register sets the MPEG2Lynx to try to become
cycle master.
Register 34 (Phy Access Register)
41C6 0000h
This register tells the phy to arbitrate for bus/cycle
master.
4000 8400h
This enables the bulky isochronous transmit FIFO.
This also enables automatic isochronous header
insert.
This also grants write access to the bulky data interface.
Register 1C0 (ISO Header for Auto Transmit)
0008 0210h
This register sets the header that is inserted during
automatic packetization.
Data Length = 8
Tag = 0
Channel Number = 2
Speed = 200Mbps
Register 1EC (Microinterface Input/Output Control
Register)
4200 0000h
This sets up the microcontroller port for Motorola
68000 mode
Register D8 (Bulky Data Interface Control)
000F 3800h
This sets the bulky data interface in mode A. This
also sets up the bulky data interface in big endian
format.
Register EC (Asynchronous/Isochronous Application Data Control Register)
B.2.2 Transmitting Fully Formatted Isochronous Data (Microprocessor
Interface)
Table B–4. Transmitting Fully Formatted Isochronous Data (Microprocessor Interface)
REGISTER NAME/NUMBER
SETTING
EXPLANATION
Register 12C (Bulky I Size Register)
00C0 0000h
This sets the bulky isochronous transmit register to
3072 bytes (decimal).
Register C (Link Control Register)
C407 0A00h
This register sets the MPEG2Lynx to try to become
cycle master.
Register 34 (Phy Access Register)
41C6 0000h
This register tells the phy to arbitrate for bus/cycle
master.
Register EC (Asynchronous/Isochronous Application Data Control Register)
4000 0000h
This sets the MPEG2Lynx to transmit isochronous
data from the microprocessor interface. The data
must include the 1394 isochronous header.
Register 134 (Iso Transmit First and Continue)
The write only register allows the application to write
all quadlets (except the last) to the bulky isochronous transmit FIFO via this register. The application
must provide the isochronous header (as described
in Section 3.5) with the data.
Register 138 (Iso Transmit Last and Send)
The write only register allows the application to write
the last quadlet of an isochronous packet to this
register to the bulky isochronous transmit FIFO.
The entire packet is confirmed into the FIFO and
transmitted.
Register 1EC (Microinterface Input/Output Control
Register)
4200 0000h
This sets up the microcontroller port for Motorola
68000 mode
B–3
B.3 MPEG2/DSS Formatted Isochronous Transmit
Transmitting MPEG2/DSS packets is discussed in detail in Section 3.1.3 of this data manual. These
examples are not the de facto register settings for every system. Instead, they should be used as a guideline
for configuring the MPEG2Lynx to meet an individual system’s needs.
For all transmissions, the transmit enable (TXEN, bit 00 register C) MUST be set.
Please note that there must be a cycle master on the bus to receive or transmit isochronous data. To make
MPEG2Lynx cycle master, you must set the appropriate bits in registers Ch and 34h. For a system using
TSB21LV03A PHY and MPEG2Lynx, an example of these register settings would be:
Register Ch (Link Control Register) = C407 0A00h
Register 34h (Phy Access Register) = 41C6 0000h
Please note that there are different registers settings in the MPEG2Lynx device for MPEG2 or DSS function.
They access the same logic and FIFOs within the MPEG2Lynx but have different addresses.
B.3.1 Transmitting MPEG2 (DVB) Data from Bulky Data Interface, Headers
Auto-Inserted
Table B–5. Transmitting MPEG2 (DVB) Data from Bulky Data Interface, Headers Auto-Inserted
REGISTER NAME/NUMBER
SETTING
EXPLANATION
Register C (Link Control Register)
C407 0A00
This register sets the MPEG2Lynx to try to become
cycle master.
Register 34 (Phy Access Register)
41C6 0000h
This register tells the phy to arbitrate for bus/cycle
master.
Register D8 (Bulky Data Interface Control)
000F 3800h
This sets the bulky data interface in mode A. This
also sets up the bulky data interface in big endian
format.
Register DC (Transmit Timestamp Offset Register)
0000 3000h
This sets the transmit offset value to 3 isochronous
cycles. This value is added to the cycle timer to
make up the transmitted timestamp.
Register F0 (MPEG2 Formatter Control Register)
4003 004Dh
This register sets the MPEG2Lynx to transmit
MPEG2 (DVB) packets only!
–MPEG2 transmit mode enabled
–BDI/F has access Bulky Data TX FIFO
–Class 3 (1 pkt. Per iso cycle)
–ISO and CIP headers inserted
–Timestamps inserted
Register 150 (Bulky Size Register)
00C0 0000h
This sets the Bulky MPEG2 Transmit FIFO to 3072
bytes (decimal).
Register 1C8 (MPEG2 Transmit Header Register)
0008 4010h
This register sets the 1394 isochronous header that
is inserted during automatic packetization.
Data Length = 8 (power up value)
Tag = 1
Channel Number = 0
Speed = 200Mbps
Register 1CC (MPEG2 CIP Transmit Header 0)
0006 C400h
Header is auto–loaded for MPEG2.
Register 1D0 (CIP Transmit Header 1)
6000 0000h
Header is auto–loaded for MPEG2.
Register 1EC (Microinterface Input/Output Control
Register)
4200 0000h
This sets up the microcontroller port for Motorola
68000 mode
B–4
B.3.2 Transmitting DSS Data from Bulky Data Interface, Headers Auto-Inserted
Table B–6. Transmitting DSS Data from Bulky Data Interface, Headers Auto-Inserted
REGISTER NAME/NUMBER
SETTING
EXPLANATION
Register C (Link Control Register)
C407 0A00
This register sets the MPEG2Lynx to try to become
cycle master.
Register 34 (Phy Access Register)
41C6 0000h
This register tells the phy to arbitrate for bus/cycle
master.
Register D8 (Bulky Data Interface Control)
000F 3800h
This sets the bulky data interface in mode A. This
also sets up the bulky data interface in big endian
format.
Register E0 (Transmit Timestamp Offset Register)
0000 3000h
This sets the transmit offset value to 3 isochronous
cycles. This value is added to the cycle timer to
make up the transmitted timestamp.
Register F4 (DSS Formatter Control Register)
4003 004Dh
This register sets the MPEG2Lynx to transmit DSS
packets only!
–DSS 140 transmit mode enabled
– BDI/F has access bulky data TX FIFO
–Class 3 (1 pkt. Per iso cycle)
–ISO and CIP headers inserted
–Timestamps inserted
Register 158 (Bulky Size Register)
00C0 0000h
This sets the bulky DSS transmit FIFO to 3072 bytes
(decimal).
Register 1D4 (DSS Transmit Header Register)
0008 4010h
This register sets the 1394 isochronous header that
is inserted during automatic packetization.
Data Length = 8
Tag = 1
Channel Number = 0
Speed = 200Mbps
Register 1D8 (DSS Formatter CIP Transmit Header 0)
0009 8400h
Header is auto–loaded for DSS.
Register 1DC (DSS Formatter CIP Transmit
Header 1)
6100 0000h
Header is auto–loaded for DSS.
Register 1EC (Microinterface Input/Output Control
Register)
4200 0000h
This sets up the microcontroller port for Motorola
68000 mode
B–5
B.3.3 Transmitting Fully Formatted MPEG2 (DVB) Data Fully Formatted with
1394 Isochronous Header, CIP Headers, and Timestamps (Microprocessor
Interface)
Table B–7. Transmitting Fully Formatted MPEG2 (DVB) Data Fully Formatted
REGISTER NAME/NUMBER
SETTING
EXPLANATION
Register 150 (Bulky MPEG2 Size Register)
00C0 0000h
This sets the bulky MPEG2 receive FIFO to 3072
bytes (decimal).
Register C (Link Control Register)
C407 0A00
This register sets the MPEG2Lynx to try to become
cycle master.
Register 34 (Phy Access Register)
41C6 0000h
This tells the phy to arbitrate for bus/cycle master.
Register D8 (Bulky Data Interface Control)
000F 3800h
This sets the bulky data interface in mode A. This
also sets up the bulky data interface in big endian
format.
Register F0 (MPEG2 Formatter Control Register)
4003 0008h
This register sets the MPEG2Lynx to transmit fully
formatted class 3 MPEG2 data from the Bulky
MPEG transmit FIFO via the microprocessor interface.
Register 160 (MPEG2 Transmit FIFO First and
Continue)
Using this write only register, the application software writes all quadlets of a MPEG2 (DVB) packet
(expect the last) to the bulky transmit FIFO using
this register.
Register 164 (MPEG2 Transmit FIFO Last and
Send)
Using this write only register, the application software writes the last quadlet of a MPEG2 (DVB)
packet to the bulky transmit FIFO. The entire packet
is confirmed for transmission.
Register 1EC (Microinterface Input/Output Control
Register)
B–6
4200 0000h
This sets up the microcontroller port for Motorola
68000 mode
B.3.4 Transmitting Fully Formatted DSS 130 Data with 1394 Isochronous and
CIP Headers Included. (Microprocessor Interface)
Table B–8. Transmitting Fully Formatted DSS 130 Data
REGISTER NAME/NUMBER
SETTING
EXPLANATION
Register C (Link Control Register)
C407 0A00
This register sets the MPEG2Lynx to try to become
cycle master.
Register 34 (Phy Access Register)
41C6 0000h
This tells the phy to arbitrate for bus/cycle master.
Register D8 (Bulky Data Interface Control)
000F 3800h
This sets the bulky data interface in mode A. This
also sets up the bulky data interface in big endian
format.
Register E0 (Transmit Timestamp Offset Register)
0000 3000h
This sets the transmit offset value to 3 isochronous
cycles. This value is added to the cycle timer to
make up the transmitted timestamp.
Register F4 (DSS Formatter Control Register)
4003 010Ch
This register sets the MPEG2Lynx to transmit fully
formatted class 3 DSS 130 data from the bulky DSS
transmit FIFO via the microprocessor interface.
MPEG2Lynx inserts timestamps.
Register 154 (Bulky DSS Size Register)
00C0 0000h
This sets the Bulky DSS Receive FIFO to 3072 bytes (decimal).
Register 16C (Transmit FIFO First and Continue)
Using this write only register, the application software writes all quadlets of a DSS packet (expect the
last) to the bulky DSS transmit FIFO using this register.
Register 170 (Transmit FIFO Last and Send)
Using this write only register, the application software writes the last quadlet of a DSS packet to the
bulky transmit FIFO. The entire packet is confirmed
for transmission.
Register 1A4 (DSS Transmit Cell Header Register
0)
This register programs bytes 0–3 of the DSS header
whenever in DSS 130 mode.
Register 1A8 (DSS Transmit Cell Header Register
1)
This register programs bytes 4–7 of the DSS header
whenever in DSS 130 mode.
Register 1AC (DSS Transmit Cell Header Register 2)
This register programs bytes 8–9 of the DSS header
whenever in DSS 130 mode.
Register 1EC (Microinterface Input/Output Control
Register)
4200 0000h
This sets up the microcontroller port for Motorola
68000 mode
B–7
B–8
Appendix C
Isolation Considerations for TSB12LV41
When using TI’s Bus Holder Phy/Link Isolation solution with the TSB12LV41, there are several issues that
must be considered by the designer. TI’s Bus Holder solution for isolation requires decoupling capacitors
on all signal lines between the physical layer and link layer devices. (Please reference TI’s Serial Bus
Galvanic Isolation Application Report, Literature Number SLLA011 for more information on the topic of
isolation. )
To isolate the TSB12LV41 and physical layer device, the ISO pin of the TSB12LV41 is pulled low and the
phy–link interface is capacitively coupled. If the phy senses that the link is powered down separately (LPS–
Link Power Status goes low), then it will stop supplying SCLK to the link. This will cause a lock up condition
when the link is reactivated. When in this configuration, the user must insure that the phy and link are not
powered down separately.
If the system can not avoid powering down the phy and link separately, then correct operation can be
achieved by using an optoisolator to connect the link power supply (the link 3.3V power) to the phy LPS pin.
The will also ensure that a lockup condition will not occur when the link is reactivated.
C–1
C–2
IMPORTANT NOTICE
Texas 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.
CERTAIN APPLICATIONS USING SEMICONDUCTOR PRODUCTS MAY 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 APPLICATIONS. INCLUSION OF TI PRODUCTS IN SUCH APPLICATIONS IS UNDERSTOOD 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.
Copyright  1998, Texas Instruments Incorporated