MT90520 8-Port Primary Rate Circuit Emulation AAL1 SAR Data Sheet Features January 2004 • AAL1 Segmentation and Reassembly device compliant with Circuit Emulation Services (CES) standard (af-vtoa-0078.000) • Supports both Unstructured and Structured Circuit Emulation of 8 independent DS1/E1/STBUS interfaces • Supports AAL1 trunking, with up to 128 TDM channels per VC (af-vtoa-0089.001) • Supports CAS transmission and reception in all structured modes of operation • Supports simultaneous processing of up to 256 bidirectional Virtual Circuits • Supports mixed DS1/E1 operation • Ordering Information MT90520AG 456 Pin Plastic BGA -40 to +85°C Residual Time Stamp (SRTS) via 8 independent PLLs • Dual-mode (ATM-end or PHY-end) UTOPIA port operates in Level 1 or Level 2 mode for connection to external PHY or ATM devices with UTOPIA clock rate up to 52 MHz • TDM bus provides 8 bidirectional serial streams at 1.544, 2.048, or 4.096 MHz - compatible with Generic (1.544 Mbps or 2.048 Mbps) and STBUS (2.048 Mbps) interfaces Supports mixed Unstructured and Structured CES operation • Supports master and slave TDM backplane bus clock operation • Fully flexible DS0 assignment • Supports TDM and UTOPIA loopback functions • Complete clock recovery solution provided onchip: Synchronous, Adaptive, or Synchronous • 16-bit microprocessor port, configurable to Motorola or Intel timing • Master clock rate of 66.0 MHz VC Look-Up Table MT90520 External Synchronous SRAM (ZBT) Segmentation / Reassembly Circular Buffers External Memory Controller Tx/Segmentation (X 8) UTOPIA OUTPUT BLOCK TX SAR TDM INPUT BLOCK Local Memory UTOPIA Interface Clock Management UTOPIA INPUT BLOCK RX SARs (UDT, SDT, Data) Local Memory PLL TDM OUTPUT BLOCK Rx/Reassembly (X 8) BoundaryScan Logic Microprocessor Interface Logic JTAG Interface 16-bit Microprocessor Interface Figure 1 - MT90520 Block Diagram 1 Zarlink Semiconductor Inc. Zarlink, ZL and the Zarlink Semiconductor logo are trademarks of Zarlink Semiconductor Inc. Copyright 2002-2004, Zarlink Semiconductor Inc. All Rights Reserved. TDM Input Interface Clock Control /Recovery Interface TDM Output Interface MT90520 Data Sheet Applications • B-ISDN (Broadband ISDN) systems requiring flexible N x 64 kbps transport • Systems requiring af-vtoa-0078.000 (ATM Forum CES v2.0) “DS1 or E1 Nx64 Basic Service”, “DS1 or E1 Nx64 Service with CAS”, or “DS1 or E1 Unstructured Service” - flexible CES allows one-board solution to support multiple CES modes • Systems requiring af-vtoa-0089.001 (ATM Forum - ATM Trunking Using AAL1 for Narrowband Services) transport of up to 128 channels per VC • DSLAM • IAD • Voice gateway • NGDLC • ATM Public Network access for PBX or CO Description The MT90520 8-Port Primary Rate Circuit Emulation AAL1 SAR allows primary rate TDM circuits to be carried over ATM networks using Circuit Emulation Services. Up to 256 bidirectional ATM VC connections can be simultaneously processed by the MT90520 CES AAL1 SAR device. The MT90520 supports several modes of Circuit Emulation Services for DS1 and E1 rates. These include Unstructured CES and Structured CES with and without Channel Associated Signalling (CAS). On the TDM bus side, the MT90520 interfaces with 8 primary rate TDM ports operating at 1.544 Mbps or 2.048 Mbps. The configurable TDM ports interface directly with DS1 or E1 framers for Nx64 Structured operation, or with DS1 or E1 LIUs in Unstructured mode. On the ATM interface side, the MT90520 device meets the ATM Forum standard for UTOPIA Bus Level 2. The MT90520 is capable of operating as a UTOPIA “master” (ATM-end), “slave” (PHY-end), or “multi-PHY slave” (PHYend). The UTOPIA port can operate in 8-bit or 16-bit mode, with a clock rate up to 52 MHz. Each of the eight ports of the device contains a PLL, allowing independent timing of each TDM port. Each PLL supports four modes of clock recovery: SRTS, Adaptive, Synchronous (from the Physical layer), or from the TDM line clock. Although a complete clock recovery solution is provided internally, an optional external PLL or external clock source is also supported. PURCHASE OF THIS PRODUCT DOES NOT GRANT THE PURCHASER ANY RIGHTS UNDER PATENT NO. 5,260,978. USE OF THIS PRODUCT OR ITS RE-SALE AS A COMPONENT OF ANOTHER PRODUCT MAY REQUIRE A LICENSE UNDER THE PATENT WHICH IS AVAILABLE FROM TELCORDIA TECHNOLOGIES, INC., 445 SOUTH STREET, MORRISTOWN, NEW JERSEY 07960. ZARLINK ASSUMES NO RESPONSIBILITY OR LIABILITY THAT MAY RESULT FROM ITS CUSTOMERS' USE OF ZARLINK PRODUCTS WITH RESPECT TO THIS PATENT. IN PARTICULAR, ZARLINK'S PATENT INDEMNITY IN ITS TERMS AND CONDITIONS OF SALES WHICH ARE SET OUT IN ITS SALES ACKNOWLEDGEMENTS AND INVOICES DOES NOT APPLY TO THIS PATENT. 2 Zarlink Semiconductor Inc. MT90520 Local Memory UTOPIA ATM or PHY Device UTOPIA Port Data Sheet *NOTE: Structured CES applications require a framer and LIU (or integrated framer-LIU); Unstructured CES applications require only an LIU. CPU MT90520 8-Port CES SAR 4 Port 0 4 Framer* LIU DS1/E1 Line 0 Framer* LIU DS1/E1 Line 1 Framer* LIU DS1/E1 Line 7 4 Optional AAL5 SAR in PHY mode Port 1 . . . 4 4 Port 7 4 Figure 2 - MT90520 Device Application Block Diagram 3 Zarlink Semiconductor Inc. MT90520 Data Sheet Table of Contents 1.0 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.1 Functional Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.0 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.1 Key Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2 Microprocessor Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3 External Memory Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.4 TDM Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.5 UTOPIA Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.6 Segmentation and Reassembly Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.7 Clock Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.8 Testing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.9 Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.10 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.10.1 Module Level Service Requests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.10.1.1 External Memory Interface Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.10.1.2 TDM Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.10.1.3 UTOPIA Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.10.1.4 TX_SAR Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.10.1.5 UDT RX_SAR Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.10.1.6 SDT RX_SAR Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.10.1.7 Data RX_SAR Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.10.1.8 UDT Reassembly-Side Timeout Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.11 Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.11.1 TDM Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.11.2 UTOPIA Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.11.3 TX_SAR Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.11.4 UDT RX_SAR Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.11.5 SDT RX_SAR Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.0 Pin Descriptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1 Functional Pin Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2 Physical Pin Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2.1 Pin Description by Ball Pin Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2.2 Pin Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.2.3 Package Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.0 Module Functional Descriptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.1 Microprocessor Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.1.1 Global Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.1.2 CPU Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.2 External Memory Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.3 TDM Interface Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3.1.1 Segmentation Direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3.1.2 Reassembly Direction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3.2 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3.2.1 Segmentation Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3.2.2 Reassembly Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.3.2.3 TDM Loopback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.4 UTOPIA Interface Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.4.1 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.4.1.1 Segmentation Direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.4.1.2 Reassembly Direction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.5 TX_SAR Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4 Zarlink Semiconductor Inc. MT90520 Data Sheet Table of Contents 4.5.1 ATM Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.5.2 UDT Mode of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.5.2.1 Control Structure Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.5.2.2 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.5.3 SDT Mode of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.5.3.1 Control Structure Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.5.3.2 SDT Segmentation Pointer Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.5.3.3 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.5.4 Data TX_SAR Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.5.4.1 Mode of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.5.4.2 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.6 RX_SAR Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.6.1 UDT RX_SAR and SDT RX_SAR Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.6.1.1 Data Flow and Processing Path Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.6.1.2 Reassembly Control Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.6.1.3 Sequence Number Checking (Correction/Detection State Machine) . . . . . . . . . . . . . . . . . . . 71 4.6.1.4 Sequence Number Checking (Fast SN Processing State Machine) . . . . . . . . . . . . . . . . . . . 73 4.6.1.5 Received Cell Processing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.6.1.6 Clock Recovery Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.6.2 Timeout Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 4.6.2.1 Cut VC Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 4.6.2.2 Late Cell Insertion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 4.6.2.3 Underrun Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 4.6.3 Data RX_SAR Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 4.6.3.1 Mode of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 4.6.3.2 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.7 Clock Management Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 4.7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 4.7.1.1 Clock Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 4.7.1.2 Clock Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 4.7.2 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 4.7.2.1 Interface to TDM Sub-Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 4.7.2.2 Synchronous Clocking Circuit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.7.2.3 Network Clock Divider Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 4.7.2.4 Transmit SRTS Circuit Sub-module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 4.7.2.5 Receive SRTS Circuit Sub-Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.7.2.6 Adaptive Clock Recovery Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 4.7.2.7 Internal Digital PLL Sub-Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.7.2.8 Frequency Behaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 4.8 Test Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.8.1 Test Access Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.8.2 JTAG ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 4.8.3 Boundary Scan Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 4.8.4 BSDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 5.0 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.1 Internal Memory Map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.2 External Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 6.0 Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 6.1 Register Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 6.2 Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 6.2.1 Microprocessor Interface Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 6.2.2 TX_SAR Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 5 Zarlink Semiconductor Inc. MT90520 Data Sheet Table of Contents 6.2.3 UDT RX_SAR Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 6.2.4 Data RX_SAR Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 6.2.5 SDT RX_SAR Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 6.2.6 Reassembly-Side Timeout Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 6.2.7 UTOPIA Interface Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 6.2.8 Clock Management Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 6.2.9 TDM Interface Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 6.2.10 External Memory Interface Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 7.0 Electrical Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 7.1 DC Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 7.2 AC Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 7.2.1 CPU Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 7.2.2 External Memory Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 7.2.3 TDM Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 7.2.4 UTOPIA Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 7.2.4.1 UTOPIA Level 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 7.2.4.2 UTOPIA Level 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 8.0 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 8.1 Board-Level Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 8.1.1 Power-Up and Power-Down Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 8.1.2 External Memory Interface Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 8.1.3 UTOPIA Interface Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 8.2 Segmentation and Reassembly Latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 9.0 Reference Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 9.1 Normative Standards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 9.2 Informative Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 10.0 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 10.1 Glossary References: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 6 Zarlink Semiconductor Inc. MT90520 Data Sheet List of Figures Figure 1 - MT90520 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Figure 2 - MT90520 Device Application Block Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Figure 3 - MT90520 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Figure 4 - PCB Pad Diagram for 35 mm x 35 mm PBGA (JEDEC MO-151) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Figure 5 - Aerial View of Package Specifications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Figure 6 - Side View of Package Specification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Figure 7 - Sample Interrupt Generation (for Data RX_SAR Module) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Figure 8 - Memory Read Pipeline Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Figure 9 - Memory Write Pipeline Length. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Figure 10 - Data Flow Through the TDM Module (1 port) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Figure 11 - Per-Port SDT Segmentation Circular Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Figure 12 - Per-Channel SDT Reassembly Circular Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Figure 13 - TDM SDT Reassembly Control Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Figure 14 - UTOPIA Reference Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Figure 15 - UTOPIA Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Figure 16 - OAM & VPI/VCI Filter Flowchart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Figure 17 - Look-up Table Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Figure 18 - Overview of the UDT VCI/VPI Comparison and Look-up Table Filtering Process. . . . . . . . . . . . . . . . 56 Figure 19 - AAL1 ATM Cell Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Figure 20 - Segmentation Control Structure - UDT Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Figure 21 - Overview of CBR Data Segmentation Process (UDT Mode). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Figure 22 - Segmentation Control Structure - SDT Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Figure 23 - SDT Segmentation Pointer Table for Port p. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Figure 24 - Overview of CBR Data Segmentation Process (SDT Mode). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Figure 25 - TX_SAR Cell Template - Data Cell (Non-CBR) Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Figure 26 - High-Level Overview of the Functionality of the RX_SAR Module . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Figure 27 - Reassembly Control Structure - UDT Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Figure 28 - Reassembly Control Structure - SDT Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Figure 29 - Per-Channel SDT Reassembly Circular Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Figure 30 - Overview of CBR Data Reassembly Process (UDT Mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Figure 31 - Overview of CBR Data Reassembly Process (SDT Mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Figure 32 - Functions of the Clock Management Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Figure 33 - High-Level Block Diagram of the Clock Management Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Figure 34 - Interface to TDM Bus Module and Common Clock Generation Circuitry . . . . . . . . . . . . . . . . . . . . . . 94 Figure 35 - Synchronous Source Multiplied to TDM Bus Rate by Internal PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Figure 36 - Synchronous TDM-Rate Clock Generated by External PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Figure 37 - Synchronous TDM Rate Clock Generated by External PLL User-Selectable References . . . . . . . . . 97 Figure 38 - Network Clock Dividers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Figure 39 - Transmit SRTS Sub-module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Figure 40 - Gapping Circuitry for SDT Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Figure 41 - Receive SRTS Sub-module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Figure 42 - Adaptive Clock Recovery Sub-module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Figure 43 - Block Diagram of the Digital PLL Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Figure 44 - A Typical JTAG Test Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Figure 45 - Maximum External Memory Allocation - Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Figure 46 - Minimum External Memory Allocation - Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Figure 47 - Intel CPU Interface Timing - Read Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Figure 48 - Intel CPU Interface Timing - Write Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 7 Zarlink Semiconductor Inc. MT90520 Data Sheet List of Figures Figure 49 - Motorola CPU Interface Timing - Read Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Figure 50 - Motorola CPU Interface Timing - Write Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Figure 51 - External Memory Interface Timing - Read Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Figure 52 - External Memory Interface Timing - Write Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Figure 53 - Nominal UDT Mode Timing Diagram - DS1 (1.544 Mbps) and E1 (2.048 Mbps) . . . . . . . . . . . . . . . 157 Figure 54 - Nominal SDT Mode Timing Diagram - Generic and ST-BUS DS1 or E1 (2.048 Mbps). . . . . . . . . . . 157 Figure 55 - Nominal SDT Mode Timing Diagram - Generic DS1 (1.544 Mbps) . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Figure 56 - TDM Bus Inputs - Generic Bus Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Figure 57 - TDM Bus Inputs - ST-BUS Sampling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Figure 58 - TDM Bus Output Clocking Parameters - Generic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Figure 59 - TDM Bus Output Clocking Parameters - ST-BUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Figure 60 - TDM Bus Outputs - Serial Output Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Figure 61 - TDM Bus Outputs - Serial Output Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Figure 62 - UTOPIA Level 1 Interface Timing - ATM Mode - Outgoing Data (UTOPIA TX Bus) . . . . . . . . . . . . . 163 Figure 63 - UTOPIA Level 1 Interface Timing - PHY Mode - Incoming Data (UTOPIA TX Bus) . . . . . . . . . . . . . 164 Figure 64 - UTOPIA Level 1 Interface Timing - PHY Mode - Outgoing Data (UTOPIA RX Bus) . . . . . . . . . . . . 165 Figure 65 - UTOPIA Level 2 Interface Timing - PHY Mode - Incoming Data (UTOPIA TX Bus) . . . . . . . . . . . . . 166 Figure 66 - UTOPIA Level 2 Interface Timing - PHY Mode - Outgoing Data (UTOPIA RX Bus) . . . . . . . . . . . . . 167 Figure 67 - External Memory Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Figure 68 - ATM Mode: External UTOPIA Pin Connections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Figure 69 - PHY Mode: External UTOPIA Pin Connections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 8 Zarlink Semiconductor Inc. MT90520 Data Sheet List of Tables Table 1 - Microprocessor Interface Pins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Table 2 - External Memory Interface Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Table 3 - TDM Port Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Table 4 - UTOPIA Bus Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Table 5 - Clock Management Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Table 6 - Master Clock, Test and Power Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Table 7 - Pinout Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Table 8 - Pinout by Ball Pin Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Table 9 - Package Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Table 10 - Possible Memory Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Table 11 - Formation of the Reassembly Circular Buffer Base Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Table 12 - Fields within the SDT Reassembly Control Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Table 13 - Operation of Correction/Detection State Machine in Correction State . . . . . . . . . . . . . . . . . . . . . . . . . 72 Table 14 - Operation of Correction/Detection State Machine in Detection State . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Table 15 - Operation of UDT Fast Sequence Number Processing State Machine. . . . . . . . . . . . . . . . . . . . . . . . . 73 Table 16 - Examples of Operation of the UDT Fast Sequence Number Processing State Machine . . . . . . . . . . . 75 Table 17 - Operation of SDT Fast Sequence Number Processing State Machine. . . . . . . . . . . . . . . . . . . . . . . . . 76 Table 18 - Formation of SDT Reassembly Circular Buffer Base Addresses to External Memory . . . . . . . . . . . . . 82 Table 19 - Sample Gapping Circuitry Calculation (N = 18) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Table 20 - Center Frequency and Accuracy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Table 21 - Relevant Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Table 22 - Minimum Input Wander and Jitter Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Table 23 - Maximum Allowed Intrinsic Output Jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Table 24 - Internal Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Table 25 - Register Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Table 26 - Chip Wide Reset Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Table 27 - Main Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Table 28 - Low Address Word Indirection Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Table 29 - High Address Indirection Command Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Table 30 - Indirection Data Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Table 31 - Main Interrupt Enable Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Table 32 - MT90520 Revision Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Table 33 - TX_SAR Pointer Table Base Register (one per port) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Table 36 - Data TX_SAR Read Pointer Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Table 34 - Data TX_SAR Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Table 35 - Data TX_SAR Write Pointer Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Table 37 - Data TX_SAR Control Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Table 38 - Data Cell Generation Time Out Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Table 39 - Data TX_SAR Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Table 40 - TX_SAR Master Enable Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Table 41 - UDT Reassembly Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Table 42 - UDT Reassembly Service Enable Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Table 43 - UDT Reassembly Status Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Table 44 - UDT Reassembly Cell Counter Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Table 45 - Data RX_SAR Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Table 46 - Data RX_SAR Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Table 47 - Data RX_SAR Configuration Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Table 48 - Data RX_SAR Write Pointer Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 9 Zarlink Semiconductor Inc. MT90520 Data Sheet List of Tables Table 49 - Data RX_SAR Read Pointer Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Table 50 - Data RX_SAR Cell Counter Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Table 51 - SDT Reassembly Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Table 52 - SDT Reassembly Service Enable Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Table 53 - SDT Reassembly Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Table 54 - SDT Reassembly Cell Counter Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Table 55 - SDT Reassembly Cell Counter Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Table 56 - MIB Timeout Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Table 57 - MIB Timeout Status Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Table 58 - Timeout Configuration Register (one per port) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Table 59 - UTOPIA Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Table 60 - UTOPIA Number of Concatenated Bits Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Table 61 - LUT Base Address Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Table 62 - VC Match Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Table 63 - VC Match Enable Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Table 64 - VP Match Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Table 65 - VP Match Enable Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Table 66 - UTOPIA Parity Mismatches Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Table 67 - UTOPIA FIFO Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Table 68 - UTOPIA Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Table 69 - UTOPIA Service Enable Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Table 70 - UTOPIA Incoming Cell Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Table 71 - UDT VCI for Port p (one per port) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Table 72 - UDT VPI for Port p (one per port) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Table 73 - Clock Management Configuration Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Table 74 - External PLL Clock Source Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Table 75 - Clocking Configuration Register (one per port) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Table 76 - Clocking Phase Accumulator Register (one per port) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Table 77 - Clocking DCO Difference Register (one per port) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Table 78 - SRTS FIFO Status Register (one per port) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Table 79 - PLL Enable Register (one per port) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Table 80 - Main TDM Control Register 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Table 81 - Main TDM Control Register 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Table 82 - TDM Control Register 1 (one per port) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Table 83 - TDM Control Register 2 (one per port) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Table 84 - TDM Control Register 3 (one per port) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Table 85 - TDM Control Register 4 (one per port) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Table 86 - TDM Control Register 5 (one per port) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Table 87 - TDM Control Register 6 (one per port) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Table 88 - Memory Arbiter Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Table 89 - Parity Error Status Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Table 90 - Intel Microprocessor Interface Timing - Write Cycle Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Table 91 - Motorola Microprocessor Interface Timing - Write Cycle Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 154 Table 92 - External Memory Interface Timing - Read Cycle Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Table 93 - External Memory Interface Timing - Write Cycle Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Table 94 - TDM Bus Input Clock Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Table 95 - TDM Bus Input Data Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Table 96 - TDM Bus Output Clock Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 10 Zarlink Semiconductor Inc. MT90520 Data Sheet List of Tables Table 97 - TDM Bus Data Output Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Table 98 - UTOPIA Level 1 Interface Timing - ATM mode - Incoming Data (UTOPIA RX Bus) . . . . . . . . . . . . . . 161 Table 99 - UTOPIA Level 1 Interface Timing - ATM mode - Outgoing Data (UTOPIA TX Bus) . . . . . . . . . . . . . . 162 Table 100 - UTOPIA Level 1 Interface Timing - PHY mode - Incoming Data (UTOPIA TX Bus) . . . . . . . . . . . . . 163 Table 101 - UTOPIA Level 1 Interface Timing - PHY mode - Outgoing Data (UTOPIA RX Bus) . . . . . . . . . . . . . 164 Table 102 - UTOPIA Level 2 Interface Timing - PHY mode - Incoming Data (UTOPIA TX Bus) . . . . . . . . . . . . . 165 Table 103 - UTOPIA Level 2 Interface Timing - PHY mode - Outgoing Data (UTOPIA RX Bus) . . . . . . . . . . . . . 166 Table 104 - MT90520 UTOPIA Signal Directions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Table 105 - Segmentation Latency. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Table 106 - Reassembly Latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Table 107 - End-to-End Latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 11 Zarlink Semiconductor Inc. MT90520 1.0 Introduction 1.1 Functional Overview Data Sheet The MT90520 8-Port Primary Rate Circuit Emulation AAL1 SAR (Segmentation and Reassembly) device is intended to carry eight primary rate TDM (Time Division Multiplexed) circuits (DS1 or E1) over an ATM (Asynchronous Transfer Mode) network using Circuit Emulation Services (CES). At its interface to the TDM network, the MT90520 can be connected directly to a wide variety of industry-standard framers and LIUs (line interface units), or to a 2.048 Mbps ST-BUS TDM backplane. At its interface to the ATM network, the MT90520 supports a wide selection of UTOPIA-compliant Physical layer devices, and customer-specific ASICs which meet the UTOPIA (Level 1 or Level 2) specification. The MT90520 provides several modes of Circuit Emulation Services in one device. The MT90520 implements CES for DS1 and E1 rates, as standardized in the ATM Forum CES standard (af-vtoa-0078.000 Version 2). The MT90520 supports both Unstructured and Structured circuit emulation of 8 independent TDM interfaces carrying DS1 or E1 traffic. In Unstructured CES mode, 8 VCCs (Virtual Circuit Connections) are supported. In Structured CES mode, flexible Nx64 kbps VCC assignment is supported, providing options ranging from a maximum of 256 VCCs carrying 64 kbps each (N = 1), to 8 VCCs carrying N = 32, to a smaller number of VCCs carrying up to N = 128. The MT90520 supports Structured CES with, or without, CAS (Channel Associated Signalling). MT90520 Management functions and statistics in accordance with the ATM Forum’s CES MIB (Management Information Base) are supported. On the TDM side, the MT90520 features eight primary rate TDM ports operating at 1.544 Mbps (Generic) or 2.048 Mbps (Generic or ST-BUS). The configurable TDM ports interface directly with DS1 or E1 framers for Nx64 Structured operation, as well as with DS1 or E1 LIUs in Unstructured mode for reduced delay in the segmentation (ATM transmit) direction. The TDM interfaces are capable of operating with the line-rate bit clocks (1.544 MHz or 2.048 MHz), or with framed bus clocks at 1.544 MHz, 2.048 MHz or 4.096 MHz. Each of the eight TDM ports contains a PLL (Phase Locked Loop), allowing independent timing of each TDM port. Alternatively in SDT mode, the MT90520 can be operated in backplane mode with a single timing source. Each independent PLL supports four modes of clock recovery: from SRTS time-stamps, from the cell-stream through the Adaptive Clock Method, from the Physical layer (synchronous method), or from the TDM interface line-rate. Although clock recovery is fully supported internally, an optional external PLL or clock source is also supported. On the ATM interface side, the MT90520 device meets the ATM Forum standard UTOPIA Bus Level 2. The MT90520 is capable of operating as a UTOPIA “master” (ATM-end) or “slave” (PHY-end). ATM-end operation supports connection to a range of standard physical layer transceivers. PHY-end operation allows the MT90520 to be used in systems where pre-existing ASICs are available as “master” and require a “slave” device for interconnection. In PHY-end mode, the MT90520 is capable of Multi-PHY operation and has address inputs for this purpose. The UTOPIA port can operate in 8-bit or 16-bit mode, with a clock rate up to 52 MHz. The MT90520 features a 16-bit microprocessor interface, capable of operating in Intel or Motorola mode, that is used to configure the device and monitor the management functions. External memory (synchronous ZBT SRAM) is used in Structured CES operation to provide circular buffers in the segmentation direction and to provide CDV buffering in the reassembly direction. In addition, if the application's non-CBR data throughput (signalling or other) is low, the external memory can be used to provide a Receive Data Cell Buffer and a Transmit Data Cell Buffer for non-CBR data cells to be read or written, for processing by the external CPU. Unstructured CES operation requires no external memory (except where non-CBR data cell buffers are desired). 12 Zarlink Semiconductor Inc. MT90520 VC Look-Up Table MT90520 Data Sheet Segmentation / Reassembly Circular Buffers External Synchronous ZBT SRAM External Memory Controller Tx/Segmentation (X 8) UTOPIA Interface UTOPIA OUTPUT BLOCK TX SAR TDM INPUT BLOCK Local Memory Clock Management UTOPIA INPUT BLOCK RX SARs (UDT, SDT, Data) Local Memory PLL TDM OUTPUT BLOCK Rx/Reassembly (X 8) Registers BoundaryScan Logic Microprocessor Interface Logic 16-bit Microprocessor Interface JTAG Interface Figure 3 - MT90520 Block Diagram 13 Zarlink Semiconductor Inc. CSTi/LOSi DSTi STiCLK STiMF C4M/C2M_b F0_b CSTo/LOSo DSTo SToCLK SToMF MT90520 2.0 Features 2.1 Key Functionality • • Data Sheet High-capacity AAL1 CES SAR device with 8 primary rate TDM ports operating at DS1 or E1 rates. Supports major modes of Circuit Emulation Services (CES) for DS1 and E1 as per af-vtoa-0078.000: • • • • • • • Logical Nx64 Structured Service, using 2.048 Mbps TDM bus DS1 Nx64 Basic Service DS1 Nx64 Service with CAS E1 Nx64 Basic Service E1 Nx64 Service with CAS DS1 Unstructured Service E1 Unstructured Service • Supports AAL1 Trunking as per af-vtoa-0089.000: • • • • • Compliant with ITU-T Rec. I.363.1 Supports mixed DS1/E1 operation Supports mixed UDT/SDT operation Total clock recovery solution integrated on-chip Supports non-CBR data cells and OAM cells destined for microprocessor with Transmit and Receive Data Cell Buffer. • Up to 128 TDM channels can be carried per VCC (up to 256 TDM channels per device). 2.2 • • • • • 2.3 • • 2.4 • • Microprocessor Interface 16-bit microprocessor port, configurable to Motorola or Intel timing Indirect reads and writes possible to internal and external memory block. Programmable interrupts for control and statistics Allows access to internal registers and memory for initialization, control, and statistics Allows access to external RAM for initialization, control, and observation External Memory Interface Supports common, commercially-available, no-latency flow-through and pipelined synchronous SRAM (ZBT, NoBL, NtRAM) Supports common SSRAM memory sizes - 128 K x 16, 256 K x16, 512 K x 16 and 1 M x 16; 128 K x 18, 256 K x 18, 512 K x 18 and 1 M x 18 (parity is optional) TDM Interface Flexible TDM port allows operation with a wide selection of framers, LIUs, switches and multiplexers. Eight independently-timed, highly configurable, TDM interfaces can operate using: • bit-clock rate (Unstructured CES) • framed ST-BUS or Generic TDM bus (Structured CES - independent mode) • common TDM backplane clock using ST-BUS or Generic TDM bus (Structured CES - backplane mode). • 2.5 • Supports up to 256 bidirectional TDM channels. UTOPIA Interface UTOPIA Level 2 compliant 16-bit or 8-bit bus, capable of running at up to 52 MHz • Accepts data rate of up to 622 Mbps • Supports both “master” (ATM-end) and “slave” (PHY-end) operation • Supports multi-PHY (MPHY) mode when operating as a PHY device 14 Zarlink Semiconductor Inc. MT90520 • • • • Data Sheet Capable of operating in UTOPIA Level 1 mode (8-bit bus running at up to 25 MHz), for connection to older devices Supports up to 256 bidirectional VCCs (Structured Nx64 mode) VPI/VCI Match and Match Enable filter prevents excessive look-up table accesses to external memory Cell reception based on look-up table allows flexible VCC assignment for CBR VCCs (allows noncontiguous VCC assignment) • Automatically eliminates null cells (i.e., VPI and VCI = 0) • Look-up table supports up to 65536 VCC entries 2.6 • • • • • • • • • • • • • • Segmentation and Reassembly Modules Supports AAL1 Segmentation and Reassembly for Structured and Unstructured CES as specified in af-vtoa0078.000 Supports non-multiframe or multiframe circuit emulation, using AAL1 structure formats as described in afvtoa-0078.000: Nx64 Basic Service (single frame structure) or DS1 or E1 Nx64 Service with CAS (multiframe structure) Supports transmission and reception of up to 128 TDM channels per VCC in accordance with af-vtoa0089.001 (ATM Trunking using AAL1 for Narrowband Services) Supports Unstructured CES and Structured CES simultaneously on different ports Supports 8 bidirectional VCCs, carrying 1.544 Mbps or 2.048 Mbps, in Unstructured CES mode Supports up to 256 bidirectional VCCs, carrying from 1 to 128 DS0 (64 kbps) TDM channels, in Structured CES mode (up to 256 DS0 channels total) UDT reassembly works with 8 per-port timing engines for fast processing and low delay variation in Unstructured CES mode (1 VCC per port, for 8 UDT VCCs total) Low latency in Unstructured CES mode provided by on-chip CDV buffering which does not require any external memory Internal CDV buffers of 2048 bytes for each UDT port Maximum UDT CDV buffering of ± 4.9 ms in DS1 mode and ± 3.7 ms in E1 mode External CDV buffers of 1024 bytes for each SDT port Maximum SDT CDV buffering of ± 63.75 ms (dependent on the Reassembly Circular Buffer size and number of channels per VC) Non-CBR data cell transmission and reception for software-implemented SAR function (through non-CBR Data Cell Buffers in external memory) Gathers statistical information and provides management statistics for network management through microprocessor interface • Per VCC monitoring compliant with ATMF CES specification Version 2.0 MIB • Low latency in segmentation and reassembly directions 2.7 • • Clock Management Individual, per-port, integrated clock-recovery PLL allows for flexible, independent timing on each TDM port Per-port Stratum 4 digital PLL supports several clock recovery modes: • • • • • Synchronous clocking - generates DS1 or E1 clock from network reference (19.44 MHz or 8 kHz) Adaptive clocking - recovers clock from received-data buffer fill-level SRTS - recovers clock from received RTS (residual time stamp) nibbles Line-rate clocking - PLL locks to incoming DS1 or E1 clock and reduces jitter Free-running clocks - PLL provides free-running high-accuracy clock for start-up or no-signal conditions (accuracy limited by MCLK accuracy) • Direct control of PLL output frequency - offset from centre frequency can be configured via CPU • • Support for optional external PLL such as MT9042 or MT9044: primary & secondary network references and primary & secondary LOS references output to external PLL; TDM_CLOCK input from external PLL Bus clock I/O for operation in backplane mode: C4M/C2M and F0. 15 Zarlink Semiconductor Inc. MT90520 2.8 • • • • Testing Modes Per-port TDM_in to TDM_out low-latency loopback (DSTi input stream to DSTo output stream) Per-port TDM_in to TDM_out loopback through the Segmentation and Reassembly Circular Buffers in external memory (SDT mode only) Flexible, multi-stream, per-channel TDM circular-buffer loopback possible in SDT Backplane mode Loopback provided from incoming UTOPIA FIFO to outgoing UTOPIA FIFO (with or without filtering by Match and Match Enable registers) 2.9 • • • • • • Miscellaneous Master clock (MCLK) rate of 66.0 MHz 2.5 Volt core supply and 3.3 Volt I/O supply (5 V tolerant I/Os) Power consumption: 1.9 W IEEE 1149 (JTAG) Boundary-Scan Test Access Port 456-pin Plastic BGA -40°C to +85°C (industrial temperature range) 2.10 • • Interrupts Wide variety of interrupt source bits, allowing for easy monitoring of MT90520 operation Associated enable bits which enable or disable assertion of the service request and, ultimately, the IRQ interrupt pin 2.10.1 Module Level Service Requests 2.10.1.1 • External Memory Interface Module External Memory Read Parity Error Alarm 2.10.1.2 TDM Module • • • • • Loss of Signal Alarm (UDT mode only) UDT TDM Output Buffer Error Alarm (UDT mode only) SDT TDM Output Buffer Error Alarm (SDT mode only) Simple Underrun Error Alarm (SDT mode only) Permanent Underrun Error Alarm (SDT mode only) Per-port Per-port Per-port Per-port Per-port 2.10.1.3 • • TX_SAR Module Data TX_SAR - Transmit Non-CBR Data Cell Buffer Empty Alarm 2.10.1.5 • • • UTOPIA Module UTOPIA Incoming Cell Counter Rollover Incoming Parity Mismatches Counter Rollover 2.10.1.4 • Data Sheet UDT RX_SAR Module Reassembled Cell Counter Rollover AAL1-byte Header Error (i.e., CRC and/or Parity Error) Counter Rollover AAL1-byte Sequence Error Counter Rollover 16 Zarlink Semiconductor Inc. MT90520 • • • • • • Lost Cell Counter Rollover Misinserted Cell Counter Rollover Write Underrun Counter Rollover Write Overrun Counter Rollover Late Cell Arrival Counter Rollover Overall UDT Cell Counter Rollover 2.10.1.6 • • • • • • • • • • • • Data Data Data Data 2.10.1.8 • • SDT RX_SAR Module Reassembled Cell Counter Rollover AAL1-byte Header Error (i.e., CRC and/or Parity Error) Counter Rollover AAL1-byte Sequence Error Counter Rollover Lost Cell Counter Rollover Misinserted Cell Counter Rollover Pointer Reframe Counter Rollover Pointer Parity Error Counter Rollover Write Underrun Counter Rollover Write Overrun Counter Rollover Pointer Out-of-Range Indicator CAS Changed Status Indicator (only in CAS mode) Overall SDT Cell Counter Rollover 2.10.1.7 • • • • Data Sheet Data RX_SAR Module RX_SAR Cell Arrival Indicator RX_SAR Non-CBR Data Cell Buffer Overrun Alarm RX_SAR Buffer Half Full Indicator Cell Counter Rollover UDT Reassembly-Side Timeout Module Per-port Cut VC Alarm Per-port Late Cell Arrival Alarm 2.11 Statistics The MT90520 provides a number of statistics to allow monitoring of the MT90520. These statistics generally parallel the operation of some of the service request source bits. 2.11.1 • • Per-port Simple Underrun Channel Indicator - status field indicates which channel of the TDM port last experienced a simple underrun (SDT mode only) Per-port Permanent Underrun Channel Indicator - status field indicates whether or not a particular channel of the TDM port has experienced a permanent underrun (SDT mode only) 2.11.2 • • TDM Module UTOPIA Module UTOPIA Incoming Cell Counter Incoming Parity Mismatch Counter 17 Zarlink Semiconductor Inc. MT90520 2.11.3 • TX_SAR Module Per-VC Transmitted Cell Counter. 2.11.4 • Data Sheet UDT RX_SAR Module Within each VC’s UDT Reassembly Control Structure, there is a bit (V = VC Arrival) which is set each time that a cell arrives on the VC. CPU monitoring of this bit can be used to provide per-VC timeout monitoring. • As well, there is a late VC status bit and a cut VC status bit for each port (and therefore VC). These bits are set when user-programmable timeout periods are passed without cells arriving on the VCs in question. • In addition to the counters themselves, if one of the following per-VC counters rolls over and the corresponding service enable bit for the counter is set, a status field indicates the number of the TDM port associated with the last UDT Reassembly Control Structure to generate a serviceable event. • • • • • • • • • Per-VC Reassembled Cell Counter Per-VC AAL1-byte Header Error Counter Per-VC AAL1-byte Sequence Error Counter Per-VC Lost Cell Counter Per-VC Misinserted Cell Counter Per-VC Write Underrun Counter Per-VC Write Overrun Counter Per-VC Late Cell Arrival Counter Overall UDT Cell Counter 2.11.5 • • Within each VC’s SDT Reassembly Control Structure, there is a bit (V = VC Arrival) which is set each time that a cell arrives on the VC. CPU monitoring of this bit can be used to provide per-VC timeout monitoring. In addition to the counters themselves, if one of the following per-VC counters rolls over and the corresponding service enable bit for the counter is set, a status field indicates the address in internal memory of the last SDT Reassembly Control Structure to generate a serviceable event. • • • • • • • • • • SDT RX_SAR Module Per-VC Reassembled Cell Counter Per-VC AAL1-byte Header Error Counter Per-VC AAL1-byte Sequence Error Counter Per-VC Lost Cell Counter Per-VC Misinserted Cell Counter Per-VC Pointer Reframe Counter Per-VC Pointer Parity Error Counter Per-VC Write Underrun Counter Per-VC Write Overrun Counter Overall SDT Cell Counter 18 Zarlink Semiconductor Inc. MT90520 3.0 Pin Descriptions 3.1 Functional Pin Descriptions Data Sheet Ball pin numbers are given in the following tables as defined in Figure 3.2.3 on page 34. Pins for buses are listed with the MSB appearing first. I/O definitions are: Output (O), Input (I), Bidirectional (I/O), Power (PWR), or Ground (GND). Input pad types are: CMOS or Schmitt, 3.3 V. The notations “PU” and “PD” are used, respectively, to indicate that a pad has a weak internal pullup or pulldown resistor. All 3.3 V inputs are 5 V tolerant. The 3.3 V CMOS inputs have a switching threshold of 1.6 V, and tolerate input levels of up to 5 V; therefore they are 5 V TTL compatible. Output pad types are described by voltage rail and current capability. 3.3 V CMOS outputs will satisfy 5 V TTL input thresholds at the rated current of the output. Ball Pin # Pin Name I/O Type Description E9 Intel/Moto I 3.3 V This input selects the microprocessor interface mode as CMOS PD Intel (pulled HIGH) or Motorola (pulled LOW). This pin must be configured before power-up. A7 CS I 3.3 V Active LOW chip select signal. CMOS PU D8 WR/R_W I 3.3 V Active LOW Write Strobe (Intel) / Read_Write (Motorola). CMOS PU C7 RD/DS I 3.3 V Active LOW Read Strobe (Intel) / Active LOW Data Strobe CMOS PU (Motorola). B7 AEM I 3.3 V Access External Memory - CPU accesses external CMOS PD memory when HIGH (internal memory and registers when LOW). This pin is usually connected to a high-order CPU address line. C15, A16, E15, CPU_ADD[20:1 ] D15, B16, C16, A17, B17, D16, C17, A18, B18, C18, D17, A19, B19, C19, D18, A20, E17 I 3.3 V CPU Address lines A20-A1. CMOS PD All microprocessor accesses to the device are word-wide, but addresses in this document are given as byte addresses. The virtual A[0] bit would select between high and low bytes within a word. D9, C8, B8, A8, CPU_DATA[15: 0] D10, C9, B9, A9, D11, E11, C10, B10, A10, C11, B11, D12 I/O 3.3 V CPU data bus. All CPU accesses are word accesses. CMOS PD / 12 mA C12 RDY/DTACK O 3.3 V, 24 mA Ready (Intel) / Data Transfer Acknowledge (Motorola). Acts as normal output in Intel mode, tristated when CS is HIGH; acts as active LOW pseudo-open-drain output in Motorola mode. A11 IRQ O 3.3 V, 24 mA Active LOW interrupt line (operates as open-drain: highimpedance when inactive). Table 1 - Microprocessor Interface Pins 19 Zarlink Semiconductor Inc. MT90520 Type Data Sheet Ball Pin # Pin Name I/O Description H26 MEM_CS_1 O 3.3 V, 8 mA Active LOW memory chip select signal for bank 1. This signal is used in all memory configurations to select bank 1 of external memory. H25 MEM_CS_2 O 3.3 V, 8 mA Active LOW memory chip select signal for bank 2. This signal is used to enable memory bank 2 when 2 or more banks of external RAM are connected to the MT90520. H24 MEM_CS_3 O 3.3 V, 8 mA Active LOW memory chip select signal for bank 3. This signal is used to enable memory bank 3 when 4 banks of external RAM are connected to the MT90520. J23 MEM_CS_4 O 3.3 V, 8 mA Active LOW memory chip select signal for bank 4. This signal is used to enable memory bank 4 when 4 banks of external RAM are connected to the MT90520. G26 MEM_WR O 3.3 V, 8 mA Active LOW write enable. B21, D20, C21, A22, B22, D21, A23, C22, D22, B23, A24, C23, D23, B24, A25, A26, B26, C24, B25, C25 MEM_ADD[19:0 ] O 3.3 V, 8 mA Memory address lines. Connect these lines to external memory as follows: Bank Size of 1 M: MEM_ADD[19:0] are connected to memory. Bank Size of 512 K: MEM_ADD[18:0] are connected to memory. Bank Size of 256 K: MEM_ADD[17:0] are connected to memory. Bank Size of 128 K: MEM_ADD[16:0] are connected to memory. D24, C26, D25, E23, E24, D26, G22, F23, E25, E26, J22, F24, G23, F25, F26, G24, H23, G25 MEM_DATA[17: 0] I/O 3.3 V CMOS Memory data lines. MEM_DATA[15:8] represent the upper PD / 8 mA byte; MEM_DATA[7:0] represent the lower byte. Optional lines [17] and [16] represent the high and low byte parity values, respectively. Table 2 - External Memory Interface Pins 20 Zarlink Semiconductor Inc. MT90520 Data Sheet Ball Pin # Pin Name I/O Type Description AC3, AB2, W4, V3, U1, P3, N2, K2 STiCLK[7:0] I 3.3 V CMOS PD PCM Input Clocks. These inputs are used to sample the incoming PCM data/CAS from the E1 or DS1 lines. In Structured CES mode, ST-BUS format STiCLK is 4.096 MHz; Generic format STiCLK is 1.544 MHz or 2.048 MHz for DS1; or 2.048 MHz for E1. In Unstructured CES mode, these pins accept 1.544 MHz for DS1 or 2.048 MHz for E1. AD3, AC1, AA1, W2, R4, R3, N4, L2 STiMF[7:0] I 3.3 V CMOS PD Input Frame Pulses. In Structured CES mode, these pins are input frame pulses which set the frame boundaries for the incoming data and CAS. These signals can be either multiframe or frame inputs. Not used in Unstructured CES mode. AD2, AA4, V5, U4, U2, R1, N1, K1 DSTi[7:0] I 3.3 V CMOS PD Serial PCM Data Inputs. In Unstructured CES mode, each pin carries a 1.544 Mbps or 2.048 Mbps serial stream. In Structured CES mode, each pin carries a 1.544 Mbps or 2.048 Mbps serial stream which contains a 24-channel data stream in DS1 operation or a 32-channel data stream in E1 operation. AC4,Y5, Y3, W1,U3, R2, N3, L3 CSTi/LOSi[7:0] I 3.3 V CMOS PD Serial PCM Signalling Inputs or Input Loss of Signal (LOS) Indicators. In Structured CES mode, these pins carry CAS signalling inputs. In Unstructured CES mode, these pins input LOS signals from external LIUs. AE1,AB3, AA2, W3, T4, T1, M5, L1 SToCLK[7:0] O 3.3 V, 4 mA AF2, AD1, AB1, Y2, T5, T3, P4, M1 SToMF[7:0] O 3.3 V, 4 mA PCM Output Clocks. These outputs are used to drive the PCM data/CAS out to the E1 or DS1 lines. In Structured CES mode, ST-BUS format SToCLK is 4.096 MHz; Generic format SToCLK is 1.544 MHz or 2.048 MHz for DS1; or 2.048 MHz for E1. In Unstructured CES mode, these pins provide 1.544 MHz for DS1 or 2.048 MHz for E1. Output Frame Pulses. In Structured CES mode, these pins are output frame pulses which set the frame boundaries for the outgoing data and CAS. These signals are programmable as either multiframe pulses or frame pulses. Not used in Unstructured CES mode. Table 3 - TDM Port Pins 21 Zarlink Semiconductor Inc. MT90520 Data Sheet Ball Pin # Pin Name I/O Type Description AE2, AB4, Y4, V4, V1, T2, P1, M3 DSTo[7:0] O 3.3 V, 4 mA Serial PCM Data Outputs. In Unstructured CES mode, each pin carries a 1.544 Mbps or 2.048 Mbps serial stream. In Structured CES mode, each pin carries a 1.544 Mbps or 2.048 Mbps serial stream which contains a 24-channel data stream in DS1 operation or a 32-channel data stream in E1 operation. AF1, AC2, AA3, Y1, V2, P5, P2, M2 CSTo/ LOSo[7:0] O 3.3 V, 4 mA Serial PCM Signalling Outputs or Output Loss of Signal (LOS) Indicators. In Structured CES mode, these pins output CAS signalling. In Unstructured CES mode, each of these pins outputs an LOS or general purpose signal based on a userprogrammable value in TDM Control Register 3 for the corresponding port. Table 3 - TDM Port Pins 22 Zarlink Semiconductor Inc. MT90520 I/O Type Data Sheet Ball Pin # Pin Name Description H2 UTO_IN_CLK L4, J1, J2, J3, K4 UTO_IN_ADD[4:0] I 3.3 V CMOS Multi-PHY address signals. These address inputs are used to poll the MT90520 and to select the next MPHY device to PD receive data on UTO_IN_DATA. These signals are driven from the ATM-end to the PHY-end, and only used when the MT90520 is in PHY mode. (Inactive when the MT90520 is in ATM mode; TxAddr when the MT90520 is in PHY mode.) H3, J4, G1, UTO_IN_DATA[15 :0] G2, H4, G3, F1, F2, H5, G4, F3, E1, E2, F4, D1, E3 I 3.3 V CMOS 16-bit UTOPIA input bus for cell-based data. When in 8-bit mode, only bits [7:0] are active. (RxData[15:0] when the PD MT90520 is in ATM mode; TxData[15:0] when in PHY mode.) I/O 3.3 V CMOS Synchronization clock for data transfer on UTO_IN_DATA. PD / 24 mA This clock can be output from an internal divider (equal to MCLK/2) or input from an external source. (RxClk when the MT90520 is in ATM mode; TxClk when the MT90520 is in PHY mode.) K5 UTO_IN_PAR I 3.3 V CMOS Odd parity bit over UTO_IN_DATA[15:0]. When in 8-bit mode, odd parity bit over UTO_IN_DATA[7:0]. (RxPrty PD when the MT90520 is in ATM mode; TxPrty when in PHY mode.) K3 UTO_IN_SOC I 3.3 V CMOS Start of Cell for UTO_IN_DATA. Active HIGH input signal indicating the first word/byte of the cell being received. PD (RxSOC when the MT90520 is in ATM mode; TxSOC when in PHY mode.) M4 UTO_IN_CLAVAT M_ ENBPHY I 3.3 V CMOS Handshake input for UTO_IN_DATA. When the MT90520 is in ATM mode, this input is RxClav, PD indicating that the PHY-end has a complete cell to transfer on UTO_IN_DATA. When the MT90520 is in PHY mode, this input is TxEnb*, indicating that the ATM-end is transferring valid data on UTO_IN_DATA. H1 UTO_IN_ENBATM _ CLAVPHY O 3.3 V, 16 mA Handshake output for UTO_IN_DATA. When the MT90520 is in ATM mode, this output is RxEnb*, indicating that the MT90520 will begin to sample UTO_IN_DATA and UTO_IN_SOC at the end of the next clock cycle. When the MT90520 is in PHY mode, this output is TxClav, indicating that the MT90520 can accept a complete cell on UTO_IN_DATA. Table 4 - UTOPIA Bus Pins 23 Zarlink Semiconductor Inc. MT90520 Ball Pin # Pin Name D5 UTO_OUT_CLK I/O Type Data Sheet Description I/O 3.3 V CMOS Synchronization clock for data transfer on UTO_OUT_DATA. PD / 24 mA This clock can be output from an internal divider (equal to MCLK/2) or input from an external source. (TxClk when the MT90520 is in ATM mode; RxClk when the MT90520 is in PHY mode.) E4, D2, C1, UTO_OUT_ADD[4 D3, D4 :0] I 3.3 V CMOS Multi-PHY Address signals. These address inputs are used to poll the MT90520, and to select the next MPHY device PD to drive data on UTO_OUT_DATA. These signals are driven from the ATM-end to the PHY-end, and only used when the MT90520 is in PHY mode. (Inactive when the MT90520 is in ATM mode; RxAddr when the MT90520 is in PHY mode.) A2, B3, C3, UTO_OUT_DATA[ 15:0] C4, A3, B4, C5, A4, D6, E7, B5, A5, C6, D7, B6, A6 O 3.3 V, 12 mA 16-bit UTOPIA output data bus for cell-based data. When in 8-bit mode, only bits [7:0] are active. In Level 2 operation, this bus is tristated between cell transmissions. (TxData when the MT90520 is in ATM mode; RxData when in PHY mode.) B1 UTO_OUT_PAR O 3.3 V, 12 mA Odd parity bit over UTO_OUT_DATA[15:0]. When in 8-bit mode, odd parity bit over UTO_OUT_DATA[7:0]. In Level 2 operation, this signal is tristated between cell transmissions. (TxPrty when the MT90520 is in ATM mode; RxPrty when in PHY mode.) C2 UTO_OUT_SOC O 3.3 V, 12 mA Start of Cell for UTO_OUT_DATA. Active HIGH output signal indicating the first word/byte of the cell being transmitted. In Level 2 operation, this signal is tristated between cell transmissions. (TxSOC when the MT90520 is in ATM mode; RxSOC when in PHY mode.) B2 UTO_OUT_CLAV ATM_ ENBPHY I 3.3 V CMOS Handshake input for UTO_OUT_DATA. When the MT90520 is in ATM mode, this input is TxClav, PD indicating that the PHY-end can accept a complete cell on UTO_OUT_DATA. When the MT90520 is in PHY mode, this input is RxEnb*, indicating that the ATM-end will begin to sample UTO_OUT_DATA and UTO_OUT_SOC at the end of the next clock cycle. A1 UTO_OUT_ENBA TM_ CLAVPHY O 3.3 V, 16 mA Handshake output for UTO_OUT_DATA. When the MT90520 is in ATM mode, this output is TxEnb*, indicating that the data on UTO_OUT_DATA is valid. When the MT90520 is in PHY mode, this output is RxClav, indicating that the MT90520 has a complete cell ready to output on UTO_OUT_DATA. Table 4 - UTOPIA Bus Pins 24 Zarlink Semiconductor Inc. MT90520 Type Data Sheet Ball Pin # Pin Name I/O Description A15 TDM_CLK I 3.3 V Clock input from external PLL, operating at DS1/E1/ST-BUS CMOS PD line rate. B15 PHY_CLK I 3.3 V PRS-traceable clock input (8 kHz reference clock or CMOS PD 19.44 MHz clock from PHY network layer). C14 C4M/C2M_b I/O 3.3 V - Backplane clock to be used when all 8 TDM ports are to have CMOS PD / the same input and output clock. - TDM clock running at either 4.096 MHz or 2.048 MHz. 24 mA - Input in TDM backplane slave mode; output in TDM backplane master mode. D14 F0_b I/O - Frame pulse which delineates the 8 kHz frame boundary on 3.3 V CMOS PD / PCM input and output streams. - In 2.048 Mbps ST-BUS applications, this is a negative-going 24 mA pulse straddling the frame boundary and lasting for one cycle of the 4.096 MHz clock. - In Generic bus applications, this signal may be a positivegoing or negative-going pulse following the frame boundary and lasting for one bit cycle (i.e., one cycle of the 2.048 MHz clock). - Input in TDM backplane slave mode; output in TDM backplane master mode. B14 PRI_REF O 3.3 V, 2 mA Output clock running at DS1/E1/ST-BUS line rate, used to provide a primary reference clock for an external PLL. Note: This pin will still present a clock (derived from an internal PLL) even if its source clock is experiencing an LOS condition. Therefore, the PRI_LOS signal should be used to qualify the quality of this clock. A14 PRI_LOS O 3.3 V, 2 mA If high, indicates to an external PLL that the primary reference clock has experienced an LOS condition. B13 SEC_REF O 3.3 V, 2 mA Output clock running at DS1/E1/ST-BUS line rate, used to provide a secondary reference clock for an external PLL. A13 SEC_LOS O 3.3 V, 2 mA If high, indicates to an external PLL that the secondary reference clock has experienced an LOS condition. Table 5 - Clock Management Pins 25 Zarlink Semiconductor Inc. MT90520 Data Sheet Ball Pin # Pin Name I/O Type Description C13 MCLK I 3.3 V CMOS Master Clock. This signal drives the internal logic. The same clock should be driven to the external memory A12 RESET I 3.3 V Schmitt PU Chip reset signal (active LOW). Note that internal reset activity is synchronous to MCLK; this signal is latched internally and held, and MCLK must be applied to bring the MT90520 out of reset. The TRST pin (JTAG reset) should also be asserted LOW during chip reset. Also see RESET bit in Chip Wide Reset Register at address 0000h. C20 TMS I 3.3 V CMOS PU JTAG Test Mode Select. B20 TCK I 3.3 V CMOS JTAG Test Clock. A21 TDI I 3.3 V CMOS PU JTAG Test Data In. Should be pulled HIGH if boundary-scan not in use. D19 TRST I 3.3 V CMOS PU JTAG Test Reset input (active LOW). Should be asserted LOW on power-up and during reset. Must be HIGH for JTAG boundary-scan operation. Note: This pin has an internal pull-down. E19 TDO O 3.3 V, 4 mA JTAG Test Data Out. AB22, AE3, AE26, AD17, AD15, AD13, AB12, AE9, AD8, AF5, AD26, AE17, AE15, AE13, AE11, AC10, AC8, AD6, AD25, AC16, AF16, AF13, AF11, AF9, AF7, AC7 TEST_IN I AC23, AD18, AE16, AC14, AE12, AE10, AC9, AF6 TEST_OUT O AA5, AB6, AB9, AB13, AB17, AB21, E6, E10, E14, E18, E21, F5, F22, J5, K22, N5, P22, U5, V22 VDD_3.3V PWR Test input pins. These pins must be grounded. 3.3 V, 4 mA Test output pins. These pins should be left unconnected. Power for I/O logic (3.3 V). Table 6 - Master Clock, Test and Power Pins 26 Zarlink Semiconductor Inc. MT90520 Ball Pin # Pin Name AB5, AB7, AB11, AB15, AB19, E8, E12, E13, E16, E20, E22, G5, H22, L5, M22, R5, T22, W5, Y22 I/O Data Sheet Type VDD_2.5 V PWR B12, D13, E5, L11, L12, L13, L14, L15, L16, M11, M12, M13, M14, M15, M16, N11, N12, N13, N14, N15, N16, P11, P12, P13, P14, P15, P16, R11, R12, R13, R14, R15, R16, T11, T12, T13, T14, T15, T16 VSS GND P24, M25, K25, K23, AB25, Y24, V24, T24, AD20, AC21, AE24, AD4,R25, N25, N22, L22, AC26, W22, W26, U25, AF20, AD21, AE23, AF26, AF18, AB14, AF14, AC12, AC11, AE8, AE6, AE4, P25, M26, M23, J24, AA23, Y23, V25, T23, AC19, AE22, AD23, AF3, R24, N24, K26, J25, AB24, Y25, V23, U26, AE20, AF22, AF24, AC5, R26, R23, L24, N23, AC25, AA26, W24, U24, AC18, AC20, AC22, AE25, AE18, AC15, AE14, AD12, AD10, AB10, AD7, AD5, T25, P23, M24, K24, AC24, AB26, Y26, U22, AF19, AB18, AB20, AF25, AC17, AF17, AF15, AC13, AD11, AF8, AB8, AE5, T26, N26, L25, J26, AB23, AA24, W25, U23, AD19, AE21, AD22, AC6, R22, P26, L26, L23, AA22, AA25, W23, V26, AE19, AF21, AF23, AD24, AB16, AD16, AD14, AF12, AF10, AD9, AE7, AF4 NC NC Description Power for core logic. Ground for device. No connect. Table 6 - Master Clock, Test and Power Pins 27 Zarlink Semiconductor Inc. MT90520 Type Data Sheet Input Output I/O Power Ground Unused Total 25 2 16 - - - 43 - 25 18 - - - 43 TDM Interface 32 32 - - - 64 UTOPIA 30 20 2 - - - 52 Clock Management 2 4 2 - - - 8 Miscellaneous 32 9 - - - 128 169 - - - 38 39 - 77 121 92 38 38 39 128 456 Microprocessor Interface External Memory Interface Power & Ground Total Table 7 - Pinout Summary 3.2 3.2.1 Physical Pin Description Pin Description by Ball Pin Number The following table lists each ball of the PBGA package and the corresponding functional pin name. 28 Zarlink Semiconductor Inc. MT90520 Ball Pin # Pin Name A1 UTO_OUT_ENBATM_ CLAVPHY A2 UTO_OUT_DATA[15] A3 UTO_OUT_DATA[11] A4 UTO_OUT_DATA[8] A5 UTO_OUT_DATA[4] A6 UTO_OUT_DATA[0] A7 CS A8 CPU_DATA[12] A9 CPU_DATA[8] A10 CPU_DATA[3] A11 IRQ A12 RESET A13 SEC_LOS A14 PRI_LOS A15 TDM_CLK A16 CPU_ADD[19] A17 CPU_ADD[14] A18 CPU_ADD[10] A19 CPU_ADD[6] A20 CPU_ADD[2] A21 TDI A22 MEM_ADD[16] A23 MEM_ADD[13] A24 MEM_ADD[9] A25 MEM_ADD[5] A26 MEM_ADD[4] B1 UTO_OUT_PAR B2 UTO_OUT_CLAVATM _ ENBPHY Data Sheet Ball Pin # Pin Name Ball Pin # Pin Name B13 SEC_REF D1 UTO_IN_DATA[1] B14 PRI_REF D2 UTO_OUT_ADD[3] B15 PHY_CLK D3 UTO_OUT_ADD[1] B16 CPU_ADD[16] D4 UTO_OUT_ADD[0] B17 CPU_ADD[13] D5 UTO_OUT_CLK B18 CPU_ADD[9] D6 UTO_OUT_DATA[7] B19 CPU_ADD[5] D7 UTO_OUT_DATA[2] B20 TCK D8 WR/R_W B21 MEM_ADD[19] D9 CPU_DATA[15] B22 MEM_ADD[15] D10 CPU_DATA[11] B23 MEM_ADD[10] D11 CPU_DATA[7] B24 MEM_ADD[6] D12 CPU_DATA[0] B25 MEM_ADD[1] D13 GND B26 MEM_ADD[3] D14 F0_b C1 UTO_OUT_ADD[2] D15 CPU_ADD[17] C2 UTO_OUT_SOC D16 CPU_ADD[12] C3 UTO_OUT_DATA[13] D17 CPU_ADD[7] C4 UTO_OUT_DATA[12] D18 CPU_ADD[3] C5 UTO_OUT_DATA[9] D19 TRST C6 UTO_OUT_DATA[3] D20 MEM_ADD[18] C7 RD/DS D21 MEM_ADD[14] C8 CPU_DATA[14] D22 MEM_ADD[11] C9 CPU_DATA[10] D23 MEM_ADD[7] C10 CPU_DATA[5] D24 MEM_DATA[17] C11 CPU_DATA[2] D25 MEM_DATA[15] C12 RDY/DTACK D26 MEM_DATA[12] C13 MCLK E1 UTO_IN_DATA[4] C14 C4M/C2M_b E2 UTO_IN_DATA[3] C15 CPU_ADD[20] E3 UTO_IN_DATA[0] C16 CPU_ADD[15] E4 UTO_OUT_ADD[4] VSS B3 UTO_OUT_DATA[14] C17 CPU_ADD[11] E5 B4 UTO_OUT_DATA[10] C18 CPU_ADD[8] E6 VDD_3.3V B5 UTO_OUT_DATA[5] C19 CPU_ADD[4] E7 UTO_OUT_DATA[6] B6 UTO_OUT_DATA[1] C20 TMS E8 VDD_2.5V B7 AEM C21 MEM_ADD[17] E9 Intel/Moto B8 CPU_DATA[13] C22 MEM_ADD[12] E10 VDD_3.3V MEM_ADD[8] E11 CPU_DATA[6] B9 CPU_DATA[9] C23 B10 CPU_DATA[4] C24 MEM_ADD[2] E12 VDD_2.5V B11 CPU_DATA[1] C25 MEM_ADD[0] E13 VDD B12 VSS C26 MEM_DATA[16] E14 VDD_3.3V Table 8 - Pinout by Ball Pin Number Table 8 - Pinout by Ball Pin Number 29 Zarlink Semiconductor Inc. Table 8 - Pinout by Ball Pin Number MT90520 Data Sheet Ball Pin # Pin Name Ball Pin # Pin Name Ball Pin # Pin Name E15 CPU_ADD[18] H24 MEM_CS_3 M2 CSTo/LOSo[0] E16 VDD_2.5V H25 MEM_CS_2 M3 DSTo[0] E17 CPU_ADD[1] H26 MEM_CS_1 M4 E18 VDD_3.3V J1 UTO_IN_ADD[3] UTO_IN_CLAVATM_ ENBPHY E19 TDO J2 UTO_IN_ADD[2] M5 SToCLK[1] E20 VDD_2.5V J3 UTO_IN_ADD[1] M11 VSS E21 VDD_3.3V J4 UTO_IN_DATA[14] M12 VSS E22 VDD_2.5V J5 VDD_3.3V M13 VSS M14 VSS M15 VSS M16 VSS M22 VDD_2.5V M23 NC M24 NC M25 NC E23 MEM_DATA[14] J22 MEM_DATA[7] E24 MEM_DATA[13] J23 MEM_CS_4 E25 MEM_DATA[9] J24 NC E26 MEM_DATA[8] J25 NC F1 UTO_IN_DATA[9] J26 NC F2 UTO_IN_DATA[8] K1 DSTi[0] F3 UTO_IN_DATA[5] K2 STiCLK[0] F4 UTO_IN_DATA[2] K3 UTO_IN_SOC F5 VDD_3.3V K4 UTO_IN_ADD[0] F22 VDD_3.3V K5 UTO_IN_PAR F23 MEM_DATA[10] K22 VDD_3.3V F24 MEM_DATA[6] K23 NC F25 MEM_DATA[4] K24 NC F26 MEM_DATA[3] K25 NC G1 UTO_IN_DATA[13] K26 NC G2 UTO_IN_DATA[12] L1 SToCLK[0] G3 UTO_IN_DATA[10] L2 STiMF[0] G4 UTO_IN_DATA[6] L3 CSTi/LOSi[0] G5 VDD_2.5V L4 UTO_IN_ADD[4] G22 MEM_DATA[11] L5 VDD_2.5V G23 MEM_DATA[5] L11 VSS G24 MEM_DATA[2] L12 VSS G25 MEM_DATA[0] L13 VSS G26 MEM_WR L14 VSS H1 UTO_IN_ENBATM_ CLAVPHY H2 UTO_IN_CLK H3 UTO_IN_DATA[15] H4 UTO_IN_DATA[11] H5 UTO_IN_DATA[7] H22 VDD_2.5V H23 MEM_DATA[1] Table 8 - Pinout by Ball Pin Number L15 VSS L16 VSS L22 NC L23 NC L24 NC L25 NC L26 NC M1 SToMF[0] Table 8 - Pinout by Ball Pin Number 30 Zarlink Semiconductor Inc. M26 NC N1 DSTi[1] N2 STiCLK[1] N3 CSTi/LOSi[1] N4 STiMF[1] N5 VDD_3.3V N11 VSS N12 VSS N13 VSS N14 VSS N15 VSS N16 VSS N22 NC N23 NC N24 NC N25 NC N26 NC P1 DSTo[1] P2 CSTo/LOSo[1] P3 STiCLK[2] P4 SToMF[1] P5 CSTo/LOSo[2] P11 VSS P12 VSS P13 VSS Table 8 - Pinout by Ball Pin Number MT90520 Data Sheet Ball Pin # Pin Name Ball Pin # Pin Name Ball Pin # Pin Name P14 VSS U1 STiCLK[3] AA1 STiMF[5] P15 VSS U2 DSTi[3] AA2 SToCLK[5] P16 VSS U3 CSTi/LOSi[3] AA3 CSTo/LOSo[5] P22 VDD_3.3V U4 DSTi[4] AA4 DSTi[6] P23 NC U5 VDD_3.3V AA5 VDD_3.3V P24 NC U22 NC AA22 NC P25 NC U23 NC AA23 NC P26 NC U24 NC AA24 NC R1 DSTi[2] U25 NC AA25 NC R2 CSTi/LOSi[2] U26 NC AA26 NC R3 STiMF[2] V1 DSTo[3] AB1 SToMF[5] R4 STiMF[3] V2 CSTo/LOSo[3] AB2 STiCLK[6] R5 VDD_2.5V V3 STiCLK[4] AB3 SToCLK[6] R11 VSS V4 DSTo[4] AB4 DSTo[6] R12 VSS V5 DSTi[5] AB5 VDD_2.5V R13 VSS V22 VDD_3.3V AB6 VDD_3.3V R14 VSS V23 NC AB7 VDD_2.5V R15 VSS V24 NC AB8 NC R16 VSS V25 NC AB9 VDD_3.3V R22 NC V26 NC AB10 NC R23 NC W1 CSTi/LOSi[4] AB11 VDD_2.5V R24 NC W2 STiMF[4] AB12 TEST_IN R25 NC W3 SToCLK[4] AB13 VDD_3.3V R26 NC W4 STiCLK[5] AB14 NC T1 SToCLK[2] W5 VDD_2.5V AB15 VDD_2.5V T2 DSTo[2] W22 NC AB16 NC T3 SToMF[2] W23 NC AB17 VDD_3.3V T4 SToCLK[3] W24 NC AB18 NC T5 SToMF[3] W25 NC AB19 VDD_2.5V T11 VSS W26 NC AB20 NC T12 VSS Y1 CSTo/LOSo[4] AB21 VDD_3.3V T13 VSS Y2 SToMF[4] AB22 TEST_IN T14 VSS Y3 CSTi/LOSi[5] AB23 NC T15 VSS Y4 DSTo[5] AB24 NC T16 VSS Y5 CSTi/LOSi[6] AB25 NC T22 VDD_2.5V Y22 VDD_2.5V AB26 NC T23 NC Y23 NC AC1 STiMF[6] T24 NC Y24 NC AC2 CSTo/LOSo[6] T25 NC Y25 NC AC3 STiCLK[7] T26 NC Y26 NC AC4 CSTi/LOSi[7] Table 8 - Pinout by Ball Pin Number Table 8 - Pinout by Ball Pin Number 31 Zarlink Semiconductor Inc. Table 8 - Pinout by Ball Pin Number MT90520 Data Sheet Ball Pin # Pin Name Ball Pin # Pin Name Ball Pin # Pin Name AC5 NC AD19 NC AF7 TEST_IN AC6 NC AD20 NC AF8 NC AC7 TEST_IN AD21 NC AF9 TEST_IN AC8 TEST_IN AD22 NC AF10 NC AC9 TEST_OUT AD23 NC AF11 TEST_IN AC10 TEST_IN AD24 NC AF12 NC AC11 NC AD25 TEST_IN AF13 TEST_IN AC12 NC AD26 TEST_IN AF14 NC AC13 NC AE1 SToCLK[7] AF15 NC AC14 TEST_OUT AE2 DSTo[7] AF16 TEST_IN AC15 NC AE3 TEST_IN AF17 NC AC16 TEST_IN AE4 NC AF18 NC AC17 NC AE5 NC AF19 NC AC18 NC AE6 NC AF20 NC AC19 NC AE7 NC AF21 NC AC20 NC AE8 NC AF22 NC AC21 NC AE9 TEST_IN AF23 NC AC22 NC AE10 TEST_OUT AF24 NC AC23 TEST_OUT AE11 TEST_IN AF25 NC AC24 NC AE12 TEST_OUT AF26 NC AC25 NC AE13 TEST_IN AC26 NC AE14 NC AD1 SToMF[6] AE15 TEST_IN AD2 DSTi[7] AE16 TEST_OUT AD3 STiMF[7] AE17 TEST_IN AD4 NC AE18 NC AD5 NC AE19 NC AD6 TEST_IN AE20 NC AD7 NC AE21 NC AD8 TEST_IN AE22 NC AD9 NC AE23 NC AD10 NC AE24 NC AD11 NC AE25 NC AD12 NC AE26 TEST_IN AD13 TEST_IN AF1 CSTo/LOSo[7] AD14 NC AF2 SToMF[7] AD15 TEST_IN AF3 NC AD16 NC AF4 NC AD17 TEST_IN AF5 TEST_IN AD18 TEST_OUT AF6 TEST_OUT Table 8 - Pinout by Ball Pin Number Table 8 - Pinout by Ball Pin Number 32 Zarlink Semiconductor Inc. Table 8 - Pinout by Ball Pin Number MT90520 3.2.2 Data Sheet Pin Diagram The package is a 456 ball Plastic Ball Grid Array (PBGA). It has 420 signal balls and 36 balls for ground (VSS) and thermal conduction at the center. The outside dimensions are 35 mm x 35 mm. The pin pitch is 1.27 mm. 1 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 A B C D E F G H J K L M N P R T U V W Y AA AB AC AD AE AF 1 - A1 corner is identified by metallized markings. Figure 4 - PCB Pad Diagram for 35 mm x 35 mm PBGA (JEDEC MO-151) 33 Zarlink Semiconductor Inc. MT90520 Package Specifications 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0F A B C D E F G H J K L M N P R T U V W Y AA A C B Bottom View AB AC AD AE AF A B C Pin #1 Corner 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 ý01.00 (3X) REF. A B C D E F G H J K L M N P R T U V W Y AA AB AC AD AE AF 30.00 REF 3.2.3 Data Sheet Top View 4.00*45××××0(4X) 30.00 REF Figure 5 - Aerial View of Package Specifications 34 Zarlink Semiconductor Inc. 1.17 REF. MT90520 Data Sheet 300 Typ. 0.56 REF. D E Figure 6 - Side View of Package Specification DIM MIN MAX A 1.27 (REF) B 31.75 (REF) NOTES solder ball grid pitch C 34.80 35.20 D 2.20 2.46 E 0.50 0.70 F 0.60 stand-off height 0.90 solder ball diameter Table 9 - Package Dimensions Notes: 1) Dimensions are given in millimeters. 2) 456-pin BGA package complies to JEDEC Standard MO-151. 35 Zarlink Semiconductor Inc. MT90520 4.0 Data Sheet Module Functional Descriptions As shown in Figure 1, “MT90520 Block Diagram,” on page 1, the MT90520 consists of the following major components: Microprocessor Interface Module, External Memory Interface Module, TDM Interface Module, UTOPIA Interface Module, TX_SAR Module, RX_SAR Modules (consisting of the UDT RX_SAR, SDT RX_SAR, and Data RX_SAR), the Clock Management Module, and the Test Interface (JTAG) Module. This section describes each module in detail. 4.1 Microprocessor Interface The microprocessor interface permits an external microcontroller to access registers and internal memories within the MT90520 device. In addition, this interface provides the microcontroller with access to the external memory (synchronous ZBT SRAM) connected to the MT90520 device. The MT90520 microprocessor interface is compatible with both Intel and Motorola processors. The user selects the mode of operation of the internal CPU block via the Intel/Motorola pin. The synchronous microprocessor interface supports word (i.e., 16-bit) data accesses only. Although all microprocessor accesses to the device are word-wide, CPU addressing of the MT90520 is on a byte-wide basis. There is a 20-bit address bus between the microcontroller and the MT90520 interface, featuring address lines CPU_ADD[20] to CPU_ADD[1]. The virtual CPU_ADD[0] bit would select between high and low bytes in a word. The AEM (Access External Memory) pin is effectively address line CPU_ADD[21] (or any higher address line selected by the user) and determines if the CPU is accessing the internal registers and memories of the MT90520 (AEM = ‘0’) or the external memory (AEM = ‘1’). All registers within the MT90520 device are accessed (for reads or writes) with fixed low latency. However, there is a variable delay between a CPU access and the successful completion of an access to a memory, whether internal to the device, or within external memory. In order to reduce this latency, the MT90520 supports indirect accesses to internal and external memory via indirection registers. The user can designate a memory address which is to be written or read, along with the data to be written to that memory location, and then initiate an indirect memory access. The CPU must then wait for the access to be completed by either polling a register bit (waiting for the ACC bit within the High Address Indirection Command Register at byte address 0006h to be cleared) or, if the service request was enabled, by waiting for an interrupt. Then, if the access was a read, the user can read the accessed data from the Indirection Data Register located at byte address 0008h. More information about the timing of CPU accesses can be found in Section 7.2.1 on page 150. Interrupt signals from the various modules of the MT90520 are gated together within the microprocessor interface module to produce a single interrupt request signal, IRQ, which is presented to the CPU. There is a status register within the microprocessor interface module indicating which module of the MT90520 generated the interrupt request. As well, the microprocessor interface module contains an interrupt enable register which may be programmed by the user to enable or disable interrupt sources. Details regarding interrupt handling within the MT90520 are given in Section 4.1.2. 4.1.1 Global Reset During a hardware reset (when the RESET pin is driven low), the CPU-accessible registers of the MT90520 go to their respective reset states, as indicated in the register descriptions of Section 6.2. At that time, the RESET bit in the Chip Wide Reset Register (CWRR) at 0000h is set high, “latching” the reset state. No registers other than the CWRR can be accessed until the RESET bit is cleared. The steps to reset and restart the MT90520 are therefore: 1. Assert hardware reset by driving the RESET pin low, or initiate a software reset by writing 0001h to the CWRR at byte address 0000h. 2. After at least 100 ns, remove hardware reset. 3. After at least 2 µs, clear the CWRR (de-assert software reset). 36 Zarlink Semiconductor Inc. MT90520 Data Sheet 4. Write other MT90520 registers. (Note that configuration bits must generally be programmed before setting process enable bits.) 4.1.2 CPU Interrupts The CPU interrupt mechanism works in a common way for all modules. Each module of the MT90520 has a status register and a service request enable register. One or more additional status-related registers may also be located within a module’s address space. When a status bit is asserted, the corresponding service enable bit is checked. If the bit is set, the module’s service request will be raised. The service request of the module will be asserted and stay high as long as any one of the status/service enable pairs remains asserted. This module’s service request is sent to the device’s Main Status Register (0002h). Within the microprocessor block, there is an Interrupt Enable Register, located at byte address 000Ah. If any of the individual module service requests is high, the corresponding interrupt enable bit is checked. If the appropriate interrupt enable bit is set, the CPU module generates a global interrupt by driving the IRQ pin low. Note that the IRQ pin is tristated when there is no active interrupt source. Refer to Figure 7 for an example of how an interrupt is generated within the MT90520. Note that some of the modules within the MT90520 feature an additional level of interrupt masking. The memoryand register-based interrupt mechanisms for these modules (UDT RX_SAR, SDT RX_SAR, and TDM) are explained in the module descriptions for the blocks later in this document. 37 Zarlink Semiconductor Inc. MT90520 Data Sheet Main Status Register (0002h, bit<6>) Data RX_SAR Status Bits (2022h, bits<4:1>) AND AND 1 AND AND AND OR AND AND NOR IRQ AND Data RX_SAR Service Enable Bits (2020h, bits<4:1>) AND 1 AND AND AND AND Interrupt Enable Register (000Ah, bit<6>) Figure 7 - Sample Interrupt Generation (for Data RX_SAR Module) 38 Zarlink Semiconductor Inc. MT90520 4.2 Data Sheet External Memory Interface The external memory interface module of the MT90520 provides access to external memory devices by various MT90520 modules (i.e., TDM, TX_SAR, UTOPIA, SDT RX_SAR, Data RX_SAR) and by the CPU. The MT90520 can interface with both the pipelined and flow-through types of synchronous zero bus turnaround (ZBT) RAM. The difference between flow-through and pipelined memories is illustrated in Figure 8 and Figure 9. In the case of flow-through memory, read cycle data is available on the next rising clock edge after the address is sampled by the memory. Contrarily, the data from pipelined memory is available two rising clock edges after the address is sampled by the memory. A flow-through write cycle requires that valid data be placed on the data bus before the next rising clock edge after the address is sampled. On the other hand, data must be valid before the second rising edge of the clock after the address is presented to memory in the case of pipelined RAM. CLOCK ADDRESS ADDRESS1 ADDRESS2 DATA DATA1 DATA1 DATA1 Available MTYP = 1 (Pipelined) DATA1 Available MTYP = 0 (Flow-through) ADDRESS1 Captured Note: The number of clock cycles between an address (ADDRESS1) and its read data (DATA1) is set according to the MTYP field in the Memory Arbiter Configuration Register at byte address 7000h. Figure 8 - Memory Read Pipeline Length CLOCK ADDRESS ADDRESS1 ADDRESS2 DATA DATA1 DATA1 DATA1 Captured MTYP = 1 (Pipelined) DATA1 Captured MTYP = 0 (Flow-through) ADDRESS1 Captured Note: The number of clock cycles between an address (ADDRESS1) and its written data (DATA1) is set according to the MTYP field in the Memory Arbiter Configuration Register at byte address 7000h. Figure 9 - Memory Write Pipeline Length 39 Zarlink Semiconductor Inc. MT90520 Data Sheet Accesses to/from the external memory are made on a word-wide (i.e., 16-bit) basis. 2 optional bits, MEM_DATA[17:16], can provide parity data regarding the external memory data. The external memory interface module of the MT90520 generates MEM_DATA[17] to represent the even parity bit over MEM_DATA[15:8]. Similarly, MEM_DATA[16] represents the even parity bit over MEM_DATA[7:0]. When data is read from external memory, the external memory interface module checks the parity bits of the data which is read. If there are parity errors, they are reported in the Parity Error Status Register at byte address 7004h. A service enable bit may be set to cause a CPU interrupt to be generated due to the occurrence of a parity error on reads of external memory data. The external memory interface of the MT90520 supports up to 1 Mword of external memory. The configuration is programmable via the Memory Arbiter Configuration Register at byte address 7000h, and some of the possible configurations are listed in Table 10 below: Number of Memory Banks Maximum Size of Each Memory Bank (words) Maximum Total Memory Size (words) 1 1M 1M 2 512 K 1M 4 256 K Table 10 - Possible Memory Configurations 1M 40 Zarlink Semiconductor Inc. MT90520 4.3 Data Sheet TDM Interface Module The TDM Interface module of the MT90520 device is designed to interface to a time division multiplexed backplane bus, to external framers, and to external line interface units (LIUs). Thus, the TDM module can interface with buses which carry Nx64 kbps data or bit stream data. The TDM module is responsible for performing Structured Data Transfer with and without CAS, and Unstructured Data Transfer, as required to meet the CES specification, af-vtoa0078.000. External Memory SDT Segmentation Circular Buffers & SDT Reassembly Circular Buffers UDT mode - each channel has its own buffers SDT mode Per-Port TDM Interface Module DSTi TDM Input Buffer TX_SAR CSTi/LOSi STiCLK STiMF SDT RX_SAR Internal Memory UDT Reassembly Circular Buffers MT90520 CSTo/LOSo SToCLK SToMF LOS_int STiCLK_int SToCLK_int F0_int - one buffer per port C4M/C2M_int UDT RX_SAR DSTo TDM Output Buffer Clock Management Module C4M/C2M F0 Figure 10 - Data Flow Through the TDM Module (1 port) 41 Zarlink Semiconductor Inc. MT90520 4.3.1 4.3.1.1 Data Sheet Overview Segmentation Direction In the UDT mode of operation, the segmentation process samples serial data received on DSTi and converts it to an 8-bit parallel stream. Data is then written to the TDM Input Buffer on a byte-by-byte basis and is read by the TX_SAR module in 47-byte blocks. Upon assertion of the LOSi (CSTi/LOSi pin) input signal, “all ones” data is written to the TDM Input Buffer. In the SDT mode of operation, serial data and CAS are sampled from the DSTi and CSTi inputs respectively, and converted to separate 8-bit parallel streams. Data and CAS are then written to the Segmentation Circular Buffers (one for each TDM channel), located in external memory. The data written to external memory is then read by the TX_SAR module. 4.3.1.2 Reassembly Direction In the UDT mode of operation, data is written to internal UDT Reassembly Circular Buffers (one per port) by the UDT RX_SAR module. This data is read by the TDM module and written to the TDM Output Buffer. The data is then read out of this buffer, converted to a serial stream and sent to the TDM output, DSTo. In the SDT mode of operation, data and CAS are written by the SDT RX_SAR module to SDT Reassembly Circular Buffers (one for each TDM channel) located in external memory. Data and CAS are then read from external memory, converted to separate serial streams, and sent to the TDM outputs, DSTo and CSTo. 4.3.2 4.3.2.1 Functional Description Segmentation Process The incoming data on DSTi[p] can be sampled using the corresponding external pin STiCLK[p], C4M/C2M (for SDT backplane mode), or, in special circumstances (e.g., UDT LOS condition), an internal clock generated by the Clock Management Module. STiMF[p] is defined as an input pin and is supplied by a framer. This pin is not used in UDT mode; in SDT mode, the user may choose to use either frame pulses or multiframe pulses on STiMF. In ST-BUS mode, data and CAS are sampled on the falling edge of the selected TDM input clock. In Generic mode, data and CAS can be sampled either on the rising edge or the falling edge of the TDM input clock, depending upon the user’s selected configuration. UDT Mode Since there is no CAS in the UDT mode of operation, the CSTi/LOSi pin is used as an input for the Loss of Signal (LOS) line from an LIU. Loss of Signal polarity is specified by the user’s programming the TDM_LOS_POL bit in the per-port TDM Control Register 1. Serial data which is received on the DSTi pin need not be aligned to any framing. If a framing signal is provided (on STiMF[p]), it will be ignored. Data is sampled using the TDM input clock STiCLK[p]. However, if a Loss of Signal is detected, an internally generated clock can (depending on the user-configuration) be used to sample the data: upon a Loss of Signal condition, if the TDM_LOS_CLK bit is set (in the per-port TDM Control Register 1), the internal clock will be used to sample the data. If a Loss of Signal is detected and the TDM_LOS_CLK bit is not set, the STiCLK input will continue to be used as the sampling clock. If no Loss of Signal is detected, the sampled data is written to the TDM Input Buffer, where it is read by the TX_SAR. On the other hand, upon detecting a Loss of Signal, the TDM module ignores the data input on DSTi and writes all ones data to the TDM Input Buffer, for transfer to the TX_SAR. 42 Zarlink Semiconductor Inc. MT90520 Data Sheet SDT Mode Data and CAS, received on the DSTi and CSTi/LOSi pins, respectively, are sampled on edges of either STiCLK[p] or C4M/C2M. If the TDM port is configured to be in backplane mode, the common clock C4M/C2M is used; if not, STiCLK[p] is used. Similarly, if the TDM port is in backplane mode, the frame pulse F0 is used to indicate the beginning of a frame, whereas STiMF[p] is used if the port is configured to be in independent mode. In ST-BUS applications, a falling edge on STiMF[p]/F0 indicates the beginning of a frame/multiframe pulse. In Generic applications (and depending on the configuration specified by the user via register bits), either a rising or falling edge on STiMF[p]/F0 indicates the beginning of a frame/multiframe pulse. The sampled data and CAS bytes are written to the TDM Input Buffer. In Generic DS1-1.544 MHz mode, the framing bit (aligned with the frame pulse) is discarded by the TDM block, and therefore not transmitted in the ATM cells. The TDM segmentation process then transfers data and CAS to the SDT Segmentation Circular Buffers, located in external memory. SDT Segmentation Circular Buffers The main function of the SDT Segmentation Circular Buffers is to store data and CAS, coming from the TDM Input Buffer, for transfer to the TX_SAR. The buffers are composed of 16-bit wide entries, each of which is composed of the following fields, as shown in Figure 11: • Res (Reserved) - bits<15:12> are unused. • CAS - bits<11:8> are used to store the CAS nibbles. • TDM Data - bits<7:0> store bytes of data received on DSTi. The location of the SDT Segmentation Circular Buffers in external memory is determined by the Segmentation Circular Buffer Base Address (configured via TDM_SEGMEN_BASE_ADD in the per-port TDM Control Register 2). The SDT Segmentation Circular Buffer for the first channel of the DS1/E1 stream is located at the word address specified by TDM_SEGMEN_BASE_ADD. The second is located at TDM_SEGMEN_BASE_ADD + 64 words (128 bytes), etc., as seen in Figure 11. There is one circular buffer for each TDM channel and each buffer is 64 entries long. Port p - Channel 0 Res CAS TDM Byte 0000 ABCD Data Word Address of Start of Buffer = TDM_SEGMEN_BASE_ADD * 2048d Byte Address of Start of Buffer = 2 * (TDM_SEGMEN_BASE_ADD* 2048d) 64 words .... Port p - Channel 31 Res CAS TDM Byte 0000 ABCD Data 64 words Word Address of Start of Buffer = TDM_SEGMEN_BASE_ADD * 2048d + 1984d Byte Address of Start of Buffer = 2 * (TDM_SEGMEN_BASE_ADD * 2048d + 1984d) Figure 11 - Per-Port SDT Segmentation Circular Buffers 43 Zarlink Semiconductor Inc. MT90520 4.3.2.2 Data Sheet Reassembly Process In the reassembly direction, the outgoing data on DSTo[p] is driven with its clock reference on the external pin SToCLK[p] or the backplane clock, C4M/C2M. In SDT mode, the frame/multiframe pulse signal is either SToMF[p] in independent mode or F0 in backplane mode. The frame pulses are not used in UDT mode. In ST-BUS mode, data and CAS are driven out on DSTo and CSTo/LOSo, respectively, on the falling edge of SToCLK[p] or C4M/C2M. In Generic mode, data and CAS can be driven out on either the rising or falling edge of the outgoing clock, depending on the configuration selected by the user. UDT format In this format, the data is written by the UDT RX_SAR to a UDT Reassembly Circular Buffer (one per port) in internal memory. The TDM module retrieves this data and writes it to the port’s TDM Output Buffer. The data is then converted to a serial stream and sent out on DSTo, driven on the selected edge of SToCLK[p]. SToMF[p] is kept low by the TDM module. The CSTo/LOSo pin drives out the value specified by the user in the TDM_REASS_LOS bit (programmed in the per-port TDM Control Register 3). In the case of an underrun, the TDM reassembly process continues to read from the port’s internal circular buffer, but ignores the actual data read and instead writes “all ones” data to the TDM Output Buffer. The underrun detection is performed by the UDT RX_SAR. See Section and Section 4.6.2.3 for more details. SDT format In SDT mode, data and CAS are written to the SDT Reassembly Circular Buffers in external memory by the SDT RX_SAR (one buffer per channel). The data is then extracted from the SDT Reassembly Circular Buffers by the SDT TDM reassembly process and transferred to the per-port TDM Output Buffers. Data and CAS are read out of the TDM Output Buffer, converted to separate bit streams and driven out on DSTo and CSTo/LOSo, on the selected edge of the TDM clock (SToCLK[p] if the device is in independent mode, or the common clock C4M/C2M if the device is in backplane mode). In DS1-1.544 MHz mode, no framing bit is received in the ATM cells. Therefore, when the time comes to send out a framing bit (aligned with the frame pulse), the DSTo line is tristated for the duration of that bit. The user can select either a multiframe or a frame pulse to be sent out on SToMF[p] by setting the TDM_PULSE_SEL bit (in the per-port TDM Control Register 1). However, if the device is in backplane mode, only frame pulses can be sent out on the common frame pulse pin, F0. The user can also select the format of the frame/ multiframe pulse by setting the polarity control bit (TDM_PULSE_POL in TDM Control Register 1). The multiframe or the frame pulse is driven out on the selected edge of the appropriate TDM clock. SDT Reassembly Circular Buffers The main function of the SDT Reassembly Circular Buffers is to store reassembled TDM data and CAS for output onto the TDM bus. These circular buffers, which are located in external memory, are composed of 16-bit wide entries, each of which is composed of the following fields, as shown in Figure 12: • MF - multiframe indicator; this bit is used only when a VC is carrying CAS data (if a VC isn’t carrying CAS, the MF bits are always zero). • Res - reserved field; this field always contains a zero. • Turn - this field contains a copy of the two most-significant bits of the SDT RX_SAR write pointer for the VC. These bits are used by the TDM module for underrun detection. • CAS - If CAS data is being processed, this field contains the nibble of data which was last received by this channel (i.e., in the previous multiframe). CAS data is repeated for an entire multiframe (i.e., 24 consecutive entries in DS1 case, 16 consecutive entries in E1 case). 44 Zarlink Semiconductor Inc. MT90520 • Data Sheet TDM Byte - This field contains the TDM data bytes which are extracted from received cells. If dummy cells have been inserted, this field contains the value of the dummy data programmed by the user. The size of the SDT Reassembly Circular Buffers is variable, and there is one buffer for each TDM channel. For more details regarding fields of the SDT Reassembly Circular Buffers, refer to page 81. MF Res Turn CAS TDM Byte 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 01 01 01 01 01 01 01 01 01 01 01 01 01 00 00 00 00 00 00 00 00 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX ABCD XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00101010 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX Figure 12 - Per-Channel SDT Reassembly Circular Buffer TDM SDT Reassembly Control Structure Each TDM SDT Reassembly Control Structure is used to determine which TDM output channels of a particular port are valid, which ones are idle and whether to report underruns on particular channels. There is one entry per channel and one Control Structure per port. The TDM SDT Reassembly Control Structures are located in internal memory at byte addresses A0000h + p*800h. The format of the 16-bit entries is shown in Figure 13. The Reassembly Circular Buffer Address field in each entry tells the hardware where the reassembly data and CAS are located (points to the location of the per-channel SDT Reassembly Circular Buffers in external memory). These addresses in external memory are formed using the TDM_REASS_BASE_ADD field (located in TDM Control Register 3) and the addresses programmed in the TDM SDT Reassembly Control Structure. Refer to Table 11 for more information on how the addresses are formed. 45 Zarlink Semiconductor Inc. MT90520 Byte Add 15 +00 V +02 +3A +3C +3E 9 Word Add 0 S P Res Reassembly Circular Buffer I Add. and Size (Port 0, Ch. 0) U U S P Res Reassembly Circular Buffer V I Add. and Size (Port 0, Ch. 1) U U +00 +01 S P Res Reassembly Circular Buffer I Add. and Size (Port 0, Ch. 29) U U Reassembly Circular Buffer V R I R Res Add. and Size (Port 0, Ch. 30) Reassembly Circular Buffer V R I R Res Add. and Size (Port 0, Ch. 31) V +1D +1E +1F Data Sheet V (Valid): If this bit is set, the channel’s output on DSTo and CSTo is valid. If this bit is ‘0’, the channel’s output on DSTo and CSTo is tristated. Should be used for mapping DS1 channels in 2.048 Mbps mode. SU (Simple Underrun Service Enable): If this bit is set and a simple underrun is detected, a status bit is set and the underrunning channel is reported in the port’s TDM Control Register 4. I (Idle Enable): If this bit is set, idle data (user-programmable via Main TDM Control Register 2) will be output on DSTo for the channel’s duration. PU (Permanent Underrun Enable): If this bit is set and a permanent underrun is detected, a status bit is set in the port’s TDM Control Register 4 and the underrunning channel is reported in the port’s TDM Control Registers 5 & 6. Res, R (Reserved): Unused. Must be set to 0. Reassembly Circular Buffer Address & Size. The size field of this entry indicates if the Circular Buffer is 64, 128, 256, 512 or 1024 entries long. The leading bits in the field, when appended with a number of least-significant zeroes, indicate the Reassembly Circular Buffer word address, as shown in the drawing below. Structure of the Reassembly Circular Buffer Address and Size Fields 9 0 Reassembly Circular Buffer Address 64-entry buffer (9 bits) 1 Reassembly Circular Buffer Address 128-entry buffer (8 bits) Reassembly Circular Buffer Address 256-entry buffer (7 bits) Reassembly Circular Buffer Address 512-entry buffer (6 bits) Reassembly Circular Buffer Address - 1024-entry buffer (5 bits) 10 100 1000 10000 Figure 13 - TDM SDT Reassembly Control Structure Buffer Size Address to External Memory 64 entries {TDM_REASS_BASE_ADD, Reassembly Circ. Buffer Add. and Size<9:1>, 6’b0} 128 entries {TDM_REASS_BASE_ADD, Reassembly Circ. Buffer Add. and Size<9:2>, 7’b0} 256 entries {TDM_REASS_BASE_ADD, Reassembly Circ. Buffer Add. and Size<9:3>, 8’b0} 512 entries {TDM_REASS_BASE_ADD, Reassembly Circ. Buffer Add. and Size<9:4>, 9’b0} 1024 entries {TDM_REASS_BASE_ADD, Reassembly Circ. Buffer Add. and Size<9:5>, 10’b0} Table 11 - Formation of the Reassembly Circular Buffer Base Address 46 Zarlink Semiconductor Inc. MT90520 Data Sheet Underrun Detection in SDT Mode The SDT TDM reassembly process reads data which was written to the SDT Reassembly Circular Buffers by the SDT RX_SAR block. Because the SDT RX_SAR and the TDM module don’t operate at the same rate (i.e., data is written to the buffers based on the cell arrival rate while data is read from the buffers at a constant rate determined by the TDM output clock rate), there is a possibility of underruns. The SDT TDM reassembly process therefore performs underrun detection. The SDT TDM reassembly process compares the two most significant bits of the TDM channel’s read pointer with the two bits called “turn” which are stored in the SDT Reassembly Circular Buffer entries: 1- If the comparison is true (i.e., 2 MSB of the read pointer = turn), there is no underrun. 2- If the previous comparison is false, a second comparison (2 MSB of the read pointer = turn + 1 or 2 MSB of the read pointer = turn + 2) is performed. If this comparison is true, a simple underrun has occurred. The REPLAY_NSILENCE bit is checked: if it is set, the reassembly process keeps reading (old data) from the circular buffer. If it is not set, a silence byte (as configured in Main TDM Control Register 1) is written to the port’s TDM Output Buffer for the underrunning channel. If the SU bit is set in the TDM SDT Reassembly Control Structure, a simple underrun is reported in the port’s TDM Control Register 4. 3- If the two previous comparisons are false, a third comparison (2 MSB of the read pointer = turn + 3) is performed. If this comparison is true, a permanent underrun has occurred. The REPLAY_NSILENCE bit is checked: if it is set, the reassembly process keeps reading (old data) from the circular buffer. If it is not set, a silence byte (as configured in Main TDM Control Register 1) is written to the port’s TDM Output Buffer for the underrunning channel. If the PU bit is set in the TDM SDT Reassembly Control Structure, a permanent underrun is reported in the port’s TDM Control Registers 4, and 5 or 6. Once a permanent underrun is detected on a TDM channel, underrun data (silence or old buffer data) will be sent out on DSTo[p] until the channel’s permanent underrun bit is cleared in TDM5_Pp or TDM6_Pp. Underrun Considerations The SDT TDM reassembly process internal to the MT90520 performs underrun detection. Underruns are declared when the receive circular buffer does not have valid data to play out onto the TDM bus. The underrun detection is performed on a per channel basis for each of the up to 32 channels on a TDM port. The underrunning channels are reported TDM Control Register 4, TDM Control Register 5 and TDM Control Register 6. Each active channel in a VC may be used independently to perform underrun detection. For example, in a 10 channel VC, each of the 10 channels may have their underrun detection activated. Thus all 10 channels are programmed to report underrun to the host processor. However the same functionality may be achieved by reporting underrun on a single channel in the VC, thereby reducing the amount of work required of the host processor and the number of interrupts generated. Given that all the channels are part of the same VC and will experience the same cell loss and CDV, when one channel underruns, they all underrun. So, for the example given, one channel would have its underrun detection activated and the 9 other channels would have their underrun detection disabled. Internal to the MT90520 the underrun detection mechanism is dependent on the active channel order of the output TDM bus DSTo. Underrun is mis-reported on any channel (x) for which an upper channel (x+4) is not active on the same TDM port. As an example, channel 5 underrun status would be mis-reported if channel 9 of the same output TDM port was inactive. Given this operation it is suggested that underrun detection be enabled only on receive channels in a VC that are not mis-reporting underrun. Those channels which are mis-reporting underrun would have their underrun detection disabled. Note again that only a single channel per receive VC is required to have its underrun detection enabled to provide the equivalent functionality as all receive channels in a VC detecting underrun. 47 Zarlink Semiconductor Inc. MT90520 Data Sheet Silence Insertion During an underrun condition bit 10 of TDM Control Register 3, REPLAY_N_SILENCE, is used to indicate whether old data or a silence byte will be played out onto the TDM bus signal DSTo. This bit is programmable on a per port basis. When the bit is set to 1 or REPLAY, old data from the reassembly circular buffer will be played out. When the bit is set to 0 or SILENCE, a programmable silence byte is played out onto the DSTo channel. The silence byte to be played out is programmed into the Main TDM Control Register 1, bits <15:8>. When an active channel is mis-reporting an underrun condition the REPLAY_N_SILENCE bit still controls what data is played out onto the TDM bus. If this bit is set to 1 for REPLAY the correct data will be played out. If the bit is set to 0 for SILENCE then the silence byte will be played out rather than the correct data. As such, for bit error free operation, the REPLAY option must be selected for any TDM port where an active channel is mis-reporting an underrun condition. Inactive Channels A recommended solution would be to open a dummy receive VC(s) containing up to 128 inactive channels. This will increase the prospect that active channels (x) will not mis-report underrun as more (x+4) channels will be active. The procedure would be as follows • To open a valid receive VC - mask TDM interrupts, close the dummy receive VC(s), open the valid receive VC, re-open the dummy receive VC(s) (with less channels), unmask the TDM interrupts • To close a valid receive VC - mask TDM interrupts, close the valid receive VC, close the dummy receive VC(s), re-open the dummy receive VC(s) (with more channels), unmask the TDM interrupts 4.3.2.3 TDM Loopback There are two loopback modes implemented in the TDM module. TDM Low-Latency Loopback The first loopback mode is TDM low-latency loopback, and is enabled by setting the TDM_LOW_LATENCY_LPBK bit in a port’s TDM Control Register 1. When this bit is set, the TDM data coming in on DSTi is directly output on the DSTo output line of the same TDM port, with a delay through the device of about two TDM clock cycles. TDM Circular Buffer Loopback (SDT Mode) The second loopback is performed at the Circular Buffer level. It can only be used in SDT mode and it is selected by setting the TDM_CIR_BUF_LPBK bit in a port’s TDM Control Register 1. In this loopback mode, the TDM SDT reassembly process uses the TDM_SEGMEN_BASE_ADD (in the per-port TDM Control Register 2) as the base address for the SDT Reassembly Circular Buffers in external memory. This loopback mode can be used to: • loop back an entire stream • loop back certain channels while tristating others • switch the data between various channels (within the same port) To determine which channels to loop back and their order, the TDM reassembly process reads the TDM SDT Reassembly Control Structure (refer to Figure 13 on page 46), which should be programmed in the following manner: • V - The valid bits should be set for those channels which should be output on DSTo/CSTo. If the valid bit for a channel is not set, the output channel is tristated. • SU, I, and PU bits - These bits should be cleared. • Reassembly Circular Buffer Address bits • bits<9:6> - These bits should be cleared as they are not used in loopback mode. 48 Zarlink Semiconductor Inc. MT90520 Data Sheet • bits<5:1> - These five bits identify the input channel whose data is being output on the timeslot associated with this entry. • bit<0> - This bit must be set to ‘1’ (the SDT Segmentation Circular Buffers onto which the SDT Reassembly Circular Buffers are mapped always contain 64 entries). It is also possible to loop the TDM data back by manually programming the TDM module to look for reassembly data in the Segmentation Circular Buffers. The user can then switch channels between various ports. 4.4 UTOPIA Interface Module The MT90520’s UTOPIA interface is compliant with the ATM Forum Level 2 specification for the UTOPIA interface (af-phy-0039.000). The Level 2 specification is backwards-compatible with the Level 1 specification (af-phy0017.000); therefore, the MT90520 interface also supports Level 1 applications. The UTOPIA interface is capable of emulating either a PHY device or an ATM device. The MT90520’s UTOPIA interface addresses reference configuration A of Figure 14 when it is operating in ATM mode. This means that the interface communicates with one, and only one, PHY. When the UTOPIA module is operating in PHY mode, it addresses reference configuration B of Figure 14. The UTOPIA module does not address multi-PHY (MPHY) operation in ATM mode, nor does it address the use of multiple CLAV signals. A - 1 ATM and 1 PHY B - 1 ATM and multiple PHYs MT90520 ATM PHY MT90520 PHY1 (optional) ... PHY N (optional) Figure 14 - UTOPIA Reference Configurations The UTOPIA interface allows the user to choose between an 8-bit or 16-bit interface. The 8-bit interface is only specified to a maximum UTOPIA clock-rate of 33 MHz (in the UTOPIA Level 2 specification); however, the MT90520 interface is capable of operating up to 52 MHz. The user can choose to have the UTOPIA interface emulate a PHY device or an ATM device. When the MT90520 is operating in PHY mode, it is capable of being polled; this allows the ATM device accessing the MT90520 to operate in multi-PHY mode. The UTOPIA interface contains a loopback configuration, where data received on the incoming port can be looped back to the outgoing port. This is implemented to assist developers with debug and diagnostics. 49 Zarlink Semiconductor Inc. MT90520 Data Sheet External ZBT SRAM VC Look-Up Table UTO_OUT_CLK UTO_OUT_ENBATM_CLAVPHY UTO_OUT_CLAVATM_ENBPHY UTO_OUT_DATA[15:0] TX UTOPIA FIFO TX UTOPIA Interface UTO_OUT_SOC (8 cells) UTO_OUT_ADD[4:0] UTO_OUT_PAR TX_SAR TX Parity UTO_IN_CLK UTO_IN_ENBATM_CLAVPHY UTO_IN_CLAVATM_ENBPHY UTO_IN_DATA[15:0] RX UTOPIA Interface OAM & VPI/VCI Filter UTO_IN_SOC RX UTOPIA FIFO UDT VCI/VPI Comparison or LUT Filter (32 cells) RX_SAR (UDT, SDT or Data) UTO_IN_ADD[4:0] Filtering process UTO_IN_PAR RX Parity UTOPIA Module MT90520 Figure 15 - UTOPIA Block Diagram 4.4.1 4.4.1.1 Functional Description Segmentation Direction TX UTOPIA Interface The TX UTOPIA Interface’s primary function is to transmit ATM cells to devices outside the MT90520 chip, according to the ATM Forum’s Level 2 UTOPIA specification. The port can operate in either ATM or PHY mode. When the port is operating in ATM mode, it complies with the transmit portion of the ATM Forum specification; when operating in PHY mode, it complies with the receive portion of the specification. Additionally, when operating in PHY 50 Zarlink Semiconductor Inc. MT90520 Data Sheet mode, the TX UTOPIA Interface complies with the receive sub-section of the multi-PHY section of the ATM Forum specification. The TX UTOPIA Interface can be configured to operate in a variety of modes. The TX UTOPIA can operate in PHY or ATM mode, using Level 1 or Level 2 mode, with a 16-bit or 8-bit interface. The user selects between these different modes by programming the UTOPIA Configuration Register at byte address 4000h. When operating in 16-bit mode, the cells transmitted by the interface are 54 bytes long, whereas when operating in 8-bit mode, the cells transmitted by the interface are 53 bytes long. When operating in 8-bit mode, the upper 8 bits of the outgoing data bus (UTO_OUT_DATA[15:8]) are not used. When operating in Level 1 mode, the ATM Forum only specifies UTO_OUT_CLK to a maximum clock speed of 25 MHz. The user, however, is able to use the interface at speeds of up to 52 MHz, if desired. TX UTOPIA FIFO The main role of the TX UTOPIA FIFO is to act as a buffer between the TX_SAR and the TX UTOPIA Interface. This buffer is necessary because it is possible for the UTOPIA bus to be halted (i.e., not able to transmit) while the TX_SAR continues to assemble cells. This is an 8-cell deep FIFO. TX Parity The TX Parity sub-module generates an odd parity bit over the outgoing UTOPIA data (UTO_OUT_DATA[7:0] in 8bit mode, and UTO_OUT_DATA[15:0] in 16-bit mode). The resulting parity bit (UTO_OUT_PAR) is transmitted to the external device to which the TX UTOPIA Interface is connected. 4.4.1.2 Reassembly Direction RX UTOPIA Interface The primary function of the RX UTOPIA Interface is to receive ATM cells (in accordance with the ATM Forum’s Level 2 UTOPIA specification), from devices which are external to the MT90520 chip. The interface can operate in either ATM or PHY mode. When the interface is operating in ATM mode, it complies with the receive portion of the ATM Forum specification. When the interface operates in PHY mode, it complies with the transmit portion of the ATM Forum specification. In addition, when operating in PHY mode, the RX UTOPIA Interface complies with the transmit sub-section of the multi-PHY section of the ATM Forum specification. In the same manner as the TX UTOPIA Interface, the RX UTOPIA Interface can be configured to operate in a variety of modes. It can operate in PHY or ATM mode, in Level 1 or Level 2 mode, with a 16-bit or an 8-bit interface. The user selects between these different modes by programming the UTOPIA Configuration Register (at byte address 4000h). When operating in 16-bit mode, the cells received by the interface are 54 bytes long; when operating in 8-bit mode, the cells being received are 53 bytes long. When operating in 8-bit mode, the upper 8 bits of the incoming data bus (UTO_IN_DATA[15:8]) are not used. When operating in Level 1 mode, the ATM Forum only specifies UTO_IN_CLK to a maximum clock speed of 25 MHz. However, the user is able to use the interface at speeds of up to 52 MHz, if desired. OAM & VPI/VCI Filter The role of the OAM & VPI/VCI filter sub-module is to limit unnecessary VPI/VCI comparison and look-up table accesses. The filter allows only certain cells to be written into the Receive UTOPIA FIFO of the MT90520 and discards unwanted cells. Unwanted cells fall into three categories: • null cells (i.e., cells with VPI = 0 and VCI = 0); these cells are automatically discarded. 51 Zarlink Semiconductor Inc. MT90520 Data Sheet • cells whose VPI and/or VCI fall outside the Match and Match Enable filters which are configured via the registers at byte addresses 4008h - 400Ch. • OAM cells (i.e., cells where the most significant bit of the PTI field in the cell header is set). OAM cells are discarded if the user clears the GLOBAL_OAM_SEL bit in the UTOPIA Configuration Register at 4000h The filter considers the headers of cells received at the RX UTOPIA Interface; if cells pass through the Match and Match Enable filters successfully, the “accepted” cells are written to the RX UTOPIA FIFO. The operation of OAM & VPI/VCI filter sub-module can be summarized by the flow chart in Figure 16. External PHY or ATM Device RX UTOPIA Interface Incoming Cell Null Cell? YES NO Match and Match Enable Filter MATCH Cell Discarded NO MATCH Cell Discarded OAM cell? NO YES NO GLOBAL_ OAM_SEL = 1? YES Cell Discarded 32-cell internal RX UTOPIA FIFO Figure 16 - OAM & VPI/VCI Filter Flowchart The header of the incoming cell is transferred from the RX UTOPIA Interface to the OAM & VPI/VCI filter. Once the header has been received, the VPI and VCI fields are examined. If all the bits of the VPI field and all the bits of the VCI field are equal to zero, the cell is a filler cell (i.e., a null cell), and it is discarded. Otherwise, the processing of the cell continues in the Match and Match Enable filter. 52 Zarlink Semiconductor Inc. MT90520 Data Sheet In the Match and Match Enable filter, the cell’s VPI field is examined first (all 12 bits, including the GFC). A bit-by-bit comparison of the VPI is performed using the contents of both the VPI Match Register (400Ah) and the VPI Match Enable Register (400Ch). If a bit value in the VPI Match Enable Register is ‘0’, no comparison is performed on the corresponding bit in the VPI Match Register (and the bit is automatically accepted). If a bit value in the VPI Match Enable Register is ‘1’, the comparison result is only true if the received VPI bit and the corresponding VPI Match Register bit are identical. The cell is only processed further if each of the 12 bit-comparisons produces a true result. Otherwise the cell is discarded. If the VPI comparison is true, the same process is applied to the cell’s VCI field, using the VCI Match Register (4006h) and the VCI Match Enable Register (4008h). The cell is only processed further if each of the 16 bitcomparisons produces a true result. Otherwise the cell is discarded. If the VCI comparison is true, the most significant bit of the PTI field in the cell header is examined to determine if the cell is identified as carrying OAM information. If the received cell is not an OAM cell, it is automatically sent to the internal RX UTOPIA FIFO. If the received cell is an OAM cell and the GLOBAL_OAM_SEL bit in the UTOPIA Control Register is set, the cell is sent to the internal RX UTOPIA FIFO; OAM cells that are sent to this internal FIFO are treated as non-CBR data cells and are eventually sent to the Receive Data Cell Buffer in external memory. If the received cell is an OAM cell, but the GLOBAL_OAM_SEL bit is cleared, the cell is discarded. Note: The VPI/VCI Match and Match Enable filter serves two important purposes. It can eliminate non-unique lookup table entries (this is important, because the look-up-table space is smaller than the entire VPI/VCI space of 16M addresses), and it eliminates null cells. The Match and Match Enable filter can reduce the number of unnecessary look-up table accesses (and therefore unnecessary memory-access bandwidth) by eliminating cells with VPI/VCI combinations known not to be destined for the MT90520 device. The user is advised to set the VPI/VCI Match and Match Enable filter as narrowly as practical for the application. RX UTOPIA FIFO The primary role of the RX UTOPIA FIFO is to act as a buffer between the OAM & VPI/VCI Filter and the UDT VPI/ VCI comparison and look-up table search sub-modules. This buffer is necessary because the RX UTOPIA Interface may be receiving cells while the next filtering modules are not yet ready to process them. The 32-cell deep FIFO therefore allows these cells to be stored until they can be processed. UDT VCI/VPI Comparison and Look-up Table This sub-module’s primary function is to determine the destination of the cells; the module is responsible for determining to which of the RX_SARs (UDT, SDT or Data) cells should be directed. The RX_SARs are responsible for processing the received cells and transferring their contents to either a buffer in external memory or the TDM data bus. UDT Operation In the UDT case, the routing task is performed using a number of pre-defined match registers (one per port) which identify which cells are associated with a particular TDM port. Up to twenty-eight (28) bits of the cell header may be used to perform this search: the GFC<3:0> field, the VPI<7:0> field, and the VCI<15:0> field. The 4-bit GFC field is only used when NNI-type cells are received. A global register bit (UNI_N_NNI in the UTOPIA Configuration Register) determines whether the GFC field is used in the search. Because the comparison sub-module operates as a pseudo-CAM, the incoming cell header is compared with all of the UDT search registers (4200h to 426Eh) simultaneously. If the incoming cell is matched with a particular port, an additional comparison is performed to see whether the cell contains OAM data: • If the cell contains OAM data (determined by the most significant bit of the PTI header field being set to ‘1’) and the ‘OAM_SEL’ bit is set in the corresponding UDT VPI Register (located at 4202h + p*4h), the UTOPIA 53 Zarlink Semiconductor Inc. MT90520 Data Sheet module sends the cell to the Data RX_SAR. The Data RX_SAR (if enabled) is responsible for copying the cell into the Receive Data Cell Buffer in external memory. • If the cell is carrying OAM data but the user has selected not to process OAM cells for that port (i.e., ‘OAM_SEL’ bit for port = 0), the UTOPIA module discards the cell. • If the cell is not carrying OAM data, the UTOPIA module sends the cell to the UDT RX_SAR for processing. If external memory is present in the system configuration containing the MT90520, any received cells whose headers do not match those in the UDT search registers are passed to the look-up table sub-module and are processed as detailed in the SDT Operation section that follows. This additional processing is provided primarily to permit the reception of non-CBR data cells, and for additional OAM-cells (cells with VCI = 3h or VCI = 4h). This extra processing also allows the user to process both SDT and UDT cells simultaneously. If no external memory is present, the cells with unmatched headers (after passing through the VPI/VCI comparison registers) are simply discarded. SDT Operation In the SDT case, the destination of the received cell is determined using a user-programmed look-up table. Unlike the UDT case, all 28 bits of the header are not used to perform the look-up. Rather, a VPI/VCI concatenation register (4002h) is provided for the user to choose how many bits of the cell header are to be used to form the lookup table addresses. The user selects up to 16 of the bits of the combined GFC/VPI and VCI fields to be used for the look-up table search. The look-up table itself is located in external memory, with each entry occupying one 16-bit word. As such, the external memory requirement for this structure is 2(VPI_bits + VCI_bits) words. • minimum: 24 words (must use at least 4 bits from VCI field) = 16 words • maximum: 216 words (can use at most 16 bits from combined header fields) = 64 Kwords Each successful look-up search provides two pieces of information: • the destination of the received cell (e.g., TDM bus, Receive Data Cell Buffer) • the address of the SDT Reassembly Control Structure associated with this VC (this field is ignored when the received cell is not a CBR-type cell). Refer to Figure 17 for the structure of a look-up table entry. BYTE ADDR. (hex) {LUTBASE, “0 ... 0”} VPI (M bits) VCI (N bits) {LUTBASE, VPI<M-1:0>, VCI<N-1:0>, ‘0’} 6 15 3 2 0 Reassembly Control Structure Address Reserved O DS Reassembly Control Structure Address Reserved O DS Reassembly Control Structure Address Reserved O DS Reassembly Control Structure Address Reserved O DS Reassembly Control Structure Address Reserved O DS Reassembly Control Structure Address Reserved O DS Reassembly Control Structure Address: Represents bits<13:4> of the word address of the SDT Reassembly Control Structure in internal memory. Reserved: Unused (clear to all zeros) O: Per-VCC OAM Select (‘0’ = OAM cell discarded; ‘1’ = OAM cell placed in Receive Data Cell Buffer in external memory). DS: Destination of received cell (“00” = unknown routing; “01” = TDM bus (i.e., SDT RX_SAR); “10” = Receive Data Cell Buffer; “11” = Discard) LUTBASE: Portion of the LUT Base Address Register (4004h) starting at bit<15> (representing MEM_ADD[20]) and ending at ULBA<M+N1> (where 4 < M+N < 16). M and N are determined by the UTOPIA Number of Concatenated Bits Register (4002h). Figure 17 - Look-up Table Format Depending on the value of the DS field of a look-up table entry, the UTOPIA module can process the cell in one of the following ways: 54 Zarlink Semiconductor Inc. MT90520 Data Sheet • if DS = “00”, and the global UKSEL bit is set (in the UTOPIA Configuration Register), the cell is sent to the Data RX_SAR for eventual storage in the Receive Data Cell Buffer in external memory • if DS = “00”, and the global UKSEL bit is cleared, the cell is discarded and the UTOPIA module simply starts processing the next cell • if DS = “01”, the cell as well as the SDT Reassembly Control Structure Address from the look-up table entry are sent to the SDT RX_SAR • if DS = “10”, the complete cell is sent to the Data RX_SAR. F4 level OAM cells (cells with VCI = 3 or VCI = 4) should be set to DS = “10” • if DS = “11”, the cell is discarded and the UTOPIA module simply starts processing the next cell. Refer to Figure 18 on page 56 for an overview of the complete UDT VCI/VPI comparison and look-up table searches. RX Parity The RX Parity sub-module’s role is to calculate the odd parity bit over UTO_IN_DATA[15:0] (over UTO_IN_DATA[7:0] when operating in 8-bit mode). The module then compares the internally calculated value with the one supplied by the external system on UTO_IN_PAR. If the parity bits do not match, a counter is incremented in the UTOPIA Parity Mismatches Register (400Eh). 55 Zarlink Semiconductor Inc. MT90520 Data Sheet 32-cell internal UTOPIA FIFO UDT VCI/VPI comparison (search all 8 ports) In SDT-only mode, UDT VCI/VPI comparisons are ignored YES UDT Match on Port p? OAM cell? NO Cell sent to the UDT RX_SAR YES NO OAM_SEL _p = 1? NO Ext. memory present? NO YES VPI/VCI Concatenation Procedure YES Cell sent to the Data RX_SAR Cell discarded Cell discarded Look-up Table Search “00” (unknown) “10” (non-CBR data) DS “11” (discard) “01” (CBR) NO UKSEL=1? Cell discarded YES NO OAM cell? YES LUT entry field O = 1? NO YES Cell sent to the Data RX_SAR Cell discarded SDT Reassembly Control Structure Address and cell sent to the SDT RX_SAR Cell discarded Cell sent to the Data RX_SAR Figure 18 - Overview of the UDT VCI/VPI Comparison and Look-up Table Filtering Process 56 Zarlink Semiconductor Inc. MT90520 4.5 Data Sheet TX_SAR Module The TX_SAR modules of the MT90520 device (consisting of the CBR-handling TX_SAR and the non-CBR Data TX_SAR) are primarily responsible for organizing TDM data into ATM cells. Since the cells contain constant-bit-rate traffic, they must be assembled at a rate which is synchronized to the 8 plesiochronous TDM ports. The TX_SAR generates AAL1 cells which may contain TDM data and CAS signalling information. In both the UDT and SDT modes of operation, the TX_SAR is capable of inserting SRTS clock recovery information into outgoing cells. A secondary Data TX_SAR transfers non-CBR cells from a CPU-accessible cell buffer in external memory to the UTOPIA interface for transfer onto the ATM network. 4.5.1 ATM Overview As mentioned above, the TX_SAR is responsible for the generation of AAL1 cells, in accordance with the formats set out in ITU-T I.363.1. There are two basic cell formats which are used in AAL1 systems: cells with pointers (used only in the Structured Data Transfer mode of operation) and cells without pointers (used in both the UDT and SDT modes of operation). When operating in the 8-bit UTOPIA mode of operation, AAL1 cells are 53 bytes long; when using the 16-bit UTOPIA mode of operation, AAL1 cells are 54 bytes long and feature an extra field, UDF2. The formats of the cell types are shown below in Figure 19. Note that the 46-byte or 47-byte payload in the cells may contain TDM data or CAS signalling information. Cell without Pointer 47 Payload Bytes Cell with Pointer 46 Payload Bytes 8 7 6 5 4 3 2 GFC / VPI VPI VPI VCI 1 8 7 6 5 3 2 1 VPI VPI VCI VCI VCI 4 GFC / VPI VCI PTI CLP VCI PTI CLP HEC (UDF1) HEC (UDF1) UDF2 (used only in 16-bit UTOPIA mode) UDF2 (used only in 16-bit UTOPIA mode) CSI Even Parity Sequence Count CRC field Even Parity CSI Sequence Count CRC field Pointer Payload Byte #1 Payload Byte #1 Payload Byte #2 Payload Byte #2 Payload Byte #3 Payload Byte #45 Payload Byte #46 Payload Byte #46 Payload Byte #47 Figure 19 - AAL1 ATM Cell Formats 57 Zarlink Semiconductor Inc. Even Parity MT90520 4.5.2 Data Sheet UDT Mode of Operation In the UDT mode of operation, the TX_SAR is capable of generating and transmitting cells for 8 independent VCs, representing each of the 8 TDM ports of the MT90520 device. 4.5.2.1 Control Structure Configuration The first step in setting up the TX_SAR for UDT operation is the configuration of a UDT Segmentation Control Structure, as shown in Figure 20. There must be one control structure for each UDT VC that the TX_SAR is to transmit. A control structure may be located at any address within the internal memory space which is reserved for Segmentation Control Structures (starting at byte address 80000h). The TX_SAR hardware identifies the location of a particular control structure by reading the TX_SAR Pointer Table Base Register for the corresponding TDM port. These registers are located at byte addresses 1000h + p*2h, where p represents the particular port number. Within these registers, the user must configure the least-significant 14 bits to point to the word address of the start of a UDT Segmentation Control Structure in internal memory. As well, the TXCFG bits in the register must be set to “01” to indicate that the control structure being pointed to is formatted for UDT transmission. Byte Add +00 +02 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Reserved GFC +08 S E +01 VCI PTI VCI HEC +00 SN VPI +04 +06 SRTS UDF2 Cell Count Statistic Word Add C +02 +03 +04 Note 1: Fields which appear in dark grey are reserved fields which must be cleared by software upon initialization. Note 2: Fields which appear in light grey are those which are updated by hardware. SRTS: If SE is set, an RTS value is read from the Clock Management module at the beginning of each cell sequence (i.e., sequence number = 0) and stored in this field. In cells with odd sequence numbers, the MSB from this field is placed into the CSI bit of the SAR-PDU header. The SRTS value is then shifted left. A complete RTS nibble is sent in each 8-cell sequence. SE (SRTS Enable): When set, indicates that the VC is transmitting SRTS data. When cleared, the CSI bit of outgoing cells is cleared to ‘0’. SN (Sequence Number): Sequence number of the next cell to be transmitted. Should be initialized to “0” by software. GFC: The Generic Flow Control value is placed in the GFC field of the cell header in a UNI cell. If the cell is using NNI formatting, these bits hold the four MSB of the VPI. VPI: This value is placed in the VPI field of outgoing cell headers. VCI: This value is placed in the VCI field of outgoing cell headers. PTI: This value is placed in the PTI field of the generated cell headers. C (CLP): This value is placed in the CLP field of outgoing cell headers. HEC: This value is placed in the HEC field of outgoing cell headers. The physical layer is generally responsible for calculating HEC values; therefore, this field is used as a place holder. If the physical layer does not calculate the HEC, the user may generate the appropriate HEC value by performing a modulo-2 division of the first four octets of the cell header using the generator polynomial G(x) = x8 + x2 + x + 1. UDF2: This value is placed in the UDF2 field of the cell header when the UTOPIA interface is operating in 16-bit mode. Cell Count Statistic: Rollover counter which counts the number of cells transmitted on this VC by the TX_SAR module. Should be initialized to “0” by software. Figure 20 - Segmentation Control Structure - UDT Format All of the fields within the control structure are explained in the text accompanying Figure 20. Upon initialization, several of the fields within the UDT Segmentation Control Structure need to be explicitly configured by the user. The GFC, VPI, and VCI fields must be programmed to configure the header of the outgoing cells to contain the correct routing information. The user may also program the PTI and CLP fields to configure the networking properties for the cells on the VC. Additionally, the user can configure the HEC and UDF2 fields of outgoing cells. The HEC field is used primarily as a place-holder since PHY devices are usually responsible for the generation of header error checking values. The value contained in the UDF2 field is only transmitted in outgoing cells if the MT90520 is using a 16-bit UTOPIA interface. If the VC is going to be carrying RTS nibbles, the SE bit must be set, as detailed in the figure above. The remaining fields in the control structure should be cleared upon initialization. Once the control structure has been configured, the transmission of CBR cells can begin as soon as the TX_SAR is enabled, by setting the TXENB bit in the TX_SAR Master Enable Register at byte address 1044h. 58 Zarlink Semiconductor Inc. MT90520 4.5.2.2 Data Sheet Operation Generally speaking, the generation of CBR cells in UDT mode is performed automatically by the TX_SAR, without any CPU intervention being required. The TDM module reads data from the TDM bus and stores it in 47-byte blocks in internal memory. When a block of memory is full, the TDM module sends an internal flag to the TX_SAR module, indicating that it is time to generate a cell. The TX_SAR prepends the 47-byte block of data with an AAL1 header byte consisting of an in-order sequence number and related protection fields. The resulting 48-byte block is then prepended with the 6-byte ATM cell header as configured via the fields in the UDT Segmentation Control Structure for the VC. The complete cells are then transferred to the UTOPIA module for transmission onto the ATM network. Figure 21 below shows the complete segmentation data path in UDT mode, from the incoming TDM data bus to the outgoing UTOPIA data bus. . UTO_OUT_CLK UTO_OUT_ENBATM_CLAVPHY TX UTOPIA FIFO UTO_OUT_CLAVATM_ENBPHY UTO_OUT_SOC UTO_OUT_DATA[15:0] TX_SAR TDM Input Buffer DSTi LOSi STiCLK UTO_OUT_PAR UTOPIA Module UDT Segmentation Control Structure (one per port in internal memory) TDM Interface Module (one per port) MT90520 Figure 21 - Overview of CBR Data Segmentation Process (UDT Mode) 4.5.3 SDT Mode of Operation In the SDT mode of operation, the TX_SAR is capable of generating cells on multiple VCs, independent of the originating port on which the TDM data to be transmitted was received. Specifically, the TX_SAR is capable of generating cells for a maximum of 256 different VCs (the equivalent of 32 VCs originating from each of the TDM ports) in SDT mode. Unlike UDT mode, a single SDT VC does not need to transmit all of the data from a particular port. Instead, VCs can contain various combinations of channels, ranging from N=1 VCs to VCs carrying up to 128 channels, in accordance with the af-vtoa-0089.000 standard for AAL1 narrowband trunking. 4.5.3.1 Control Structure Configuration SDT Segmentation Control Structures There must be one control structure for each SDT VC that the TX_SAR is to transmit. The format for the SDT Segmentation Control Structures is shown in Figure 22. SDT control structures may be located at any address within the internal memory space (starting at byte address 80000h) which is reserved for Segmentation Control Structures. 59 Zarlink Semiconductor Inc. MT90520 Byte Add 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 +00 Number of TDM Octets +02 Read Pointer R WF Current CAS +0A Last +0E M S P P P E S E GFC +03 +04 Number of CAS +05 +06 VPI +10 +02 Current TDM Cell Count Statistic +0C +00 +01 SN R Structure Boundary Pointer +08 R R M SRTS Structure Length +04 +06 Number of Channels Word Add +07 VCI PTI VCI C +08 +12 HEC +14 Res Segmentation Circular Buffer 0 Base Address (bits<19:6>) +0A +16 Res Segmentation Circular Buffer 1 Base Address (bits<19:6>) +0B UDF2 +09 Minimum Structure Size 22 bytes (1 channel) Maximum Structure Size 276 bytes (128 channels) +110 Res Segmentation Circular Buffer 126 Base Address (bits<19:6>) +88 +112 Res Segmentation Circular Buffer 127 Base Address (bits<19:6>) +89 Note 1: Fields which appear in dark grey are reserved fields which must be cleared by software upon initialization. Note 2: Fields which appear in light grey are those which are updated by hardware. Data Sheet Number of TDM Octets: Indicates the number of TDM octets required to fill the next cell of the corresponding VC. Initialize to 47d. Number of Channels: Indicates the number of TDM channels in the VC associated with this control structure (possible values = 1d to 128d). RM (Remainder): When set, this bit indicates that there is enough TDM data to create more than one cell in the current frame. Initialize to ‘0’. Read Pointer: This value represents the location in the circular buffers from which the next TDM value will be read. Should generally be initialized to “0”, but if the chip is supporting a large number of VCs, this field may be used to distribute cell generation over more than 1 frame. See “Read Pointer Field” on page 61 for more details. W (Wait for Multiframe): When set, the TX_SAR module waits for the multiframe boundary to produce the first cell (seq. num = 0; pointer = 0). F (First Cell): If set, indicates that the next cell is the first one to be sent for the current VC. Should be initialized to ‘1’, except if the Read Pointer is used to scatter the cell generation over multiple frames (this bit should then be cleared). SRTS: If SE is set, an SRTS value is read from the Clock Management module at the beginning of each cell sequence (SN = 0) and stored in this field. In cells with odd sequence numbers, the MSB from this field is placed into the CSI bit of the SAR-PDU header. The SRTS value is then shifted left. SN (Sequence Number): Holds the sequence number of the next cell to be generated. Must be initialized to “0”. Structure Length: This field contains the length of the multiframe structure (payload substructure + signalling substructure). For non-CAS VCs, this field should be initialized to Number of Channels. For CAS VCs, this field = (Number of Channels)*m + roundup(Number of Channels/2) where m=24 for DS1 and 16 for E1. M (Mode): “01” = (DS1 with CAS and Number of Channels = 1); “10” = (E1 with CAS and Number of Channels = 1); “11” = (E1 with CAS and Number of Channels = 2); “00” = all other cases. Structure Boundary Pointer: Indicates the distance, in octets, between the last payload byte written and the next structure boundary. Initialize to “0”. SE (SRTS Enable): When set, indicates that the VC is transmitting SRTS data. When cleared, the CSI bit of outgoing odd-numbered cells is set to ‘0’. Only one VC per port may carry SRTS information. PS (Pointer Sent): Used to ensure that only a single pointer cell is sent within an eight-cell sequence. Initialize to ‘0’. PE (Pointer Enable): When set, a pointer cell will be generated once per 8-cell sequence. This bit must be cleared to ‘0’ for single-channel VCs not transporting CAS, but set in all other cases. P (Pointer Cell): Indicates that the next cell to be produced will be a pointer cell. Should be initialized to the same value as the PE bit. Current CAS: When transporting CAS, this field is used to keep track of which circular buffer pointer to read next. Must be initialized to 0Ah. Current TDM: Used to keep track of which circular buffer pointer to read next. Must be initialized to 0Ah. Last: Contains the address (relative to word 0) of the last valid Segmentation Circular Buffer Base Address in the control structure. The formula for this field is: 09h + Number of Channels. Number of CAS: Contains the size, in octets, of the signalling substructure. If CAS is not being transmitted, this field should be initialized to “0”. Otherwise, the formula is: roundup(Number of Channels/2). Cell Count Statistic: Rollover counter which counts the number of cells transmitted on this VC by the TX_SAR module. Initialize to “0”. GFC: The Generic Flow Control value is placed in the GFC field of cell headers in a UNI cell. If the cell is using NNI formatting, these bits hold the four MSBs of the VPI. VPI: This value is placed in the VPI field of outgoing cell headers. VCI: This value is placed in the VCI field of the generated cell headers. PTI: This value is placed in the PTI field of outgoing cell headers. C (CLP): This value is placed in the CLP field of the cell headers. HEC: This value is placed in the HEC (UDF1) field of outgoing cell headers. The physical layer is generally responsible for calculating HEC values; therefore, this field is used as a place holder. If the physical layer does not calculate the HEC, the user may generate the appropriate HEC value by performing a modulo-2 division of the first four octets of the cell header using the generator polynomial G(x) = x8 + x2 + x + 1. UDF2: This value is placed in the UDF2 field of the cell header when the UTOPIA is operating in 16-bit mode. Segmentation Circular Buffer X Base Address: The bits of this field are concatenated with the Read Pointer bits to form a 20-bit word address to external memory. This value is used to address a particular TDM or CAS value in a particular buffer. One pointer is needed for each channel in the VC. Figure 22 - Segmentation Control Structure - SDT Format 60 Zarlink Semiconductor Inc. MT90520 Data Sheet In general, Figure 22 should be referred to for explicit details regarding the initialization of the fields within the SDT Segmentation Control Structures. However, one field needs more explanation, which is provided in the following text: Read Pointer Field When operating in SDT mode, each VC has an associated read pointer, which is configured within the VC's Segmentation Control Structure. This value, as described in the text accompanying Figure 22, is used by the TX_SAR to determine the location within the Segmentation Circular Buffers from which the next byte of TDM data will be read. In general, this field should be initialized to “0”, so that the TX_SAR reads the first data byte that was written into the buffer by the TDM module. However, in the case of a large number of VCs with small N, the read pointer value can be used to ease the job of the TX_SAR by distributing the cell generation over more than one frame. When the read pointer is used to scatter the cell generation, the F (First) bit of the Segmentation Control Structure should be set to ‘0’. For example, when N=1 VCs are used, it is possible for the MT90520 to handle up to 256 VCs simultaneously. In this case, each VC only needs to be serviced once every 47 frames (once enough data from the TDM channel has been received to complete an ATM cell). Ideally, the Segmentation Control Structures should be configured to distribute cell generation so that the TX_SAR does not sit idle for 46 frames, and then try to create up to 256 cells in the 47th frame. In order to eliminate this burstiness problem (and the resulting negative impact on the CDV), the read pointer for each VC can be set to a non-zero value. For example: VC_0 read pointer = 0 VC_1 read pointer = 1 ... VC_46 read pointer = 46 VC_47 read pointer = 0 ... By setting the read pointers of various VCs to different values, the user ensures that the TX_SAR will not be required to generate all of the cells simultaneously. For example, in frame 47, rather than having to generate 256 cells, the TX_SAR will only have to generate 6cells (from VCs numbered 0, 47, 94, 141, 188, 235). Therefore, when configuring the MT90520 to handle many VCs with low N values, it is recommended that the read pointers be distributed over multiple frames. 4.5.3.2 SDT Segmentation Pointer Tables After writing control structures into internal memory, software must configure a pointer table in the same block of internal memory (i.e., between addresses 80000h and 87FFEh) to permit the TX_SAR hardware to locate the control structures. An SDT Segmentation Pointer Table must be created on a per-port basis for all ports which are configured to transmit SDT ATM cells. The table conforms to the format shown in Figure 23 and must start on a 32word (64-byte) boundary. There can be up to 32 entries in each table, as there can be a maximum of 32 N=1 VCs associated with any one TDM port. Each entry in the pointer table contains a field which gives the word address of the SDT Segmentation Control Structure associated with a particular VC. Two extra bits in the pointer table entry indicate whether the corresponding control structure is enabled, as well as whether this is the final control structure pointer contained in the table. For VCs transmitting channels from multiple ports, any one of the ports’ SDT Pointer Table can be chosen to contain the VC entries. If any SDT Pointer Table entry points to a VC having more than 46 channels, the TDM_DATA_FORMAT field of the corresponding TDM port’s TDM1 register must be programmed as “11”. 61 Zarlink Semiconductor Inc. MT90520 Data Sheet The per-port TX_SAR Pointer Table Base Registers (at byte addresses 1000h + p*2h) must be configured to point to the SDT Segmentation Pointer Tables for their respective ports. As well, the TXCFG bits in the register must be set to “11”, indicating that the control structures being pointed to by the table are configured for SDT mode. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 L E Control Structure 0 Base Address L E Control Structure 1 Base Address TXPTB_Pp Register<13:0> L (Last Valid Pointer): When set, indicates that the current pointer is the last valid pointer in the table. E (Enabled): When set, indicates that the corresponding Segmentation Control Structure is enabled. L E Control Structure 31 Base Address Control Structure X Base Address: This field specifies the location of the Segmentation Control Structures for one of the VCs associated with port p. The word address is an offset relative to the base address of the TX_SAR Control Memory (address 80000h). Note: SDT Segmentation Pointer Tables must start on 32-word (64-byte) boundaries. Figure 23 - SDT Segmentation Pointer Table for Port p Once the control structures and accompanying pointer tables have been configured, the transmission of CBR cells can begin as soon as the TX_SAR is enabled, by setting the TXENB bit in the TX_SAR Master Enable Register at byte address 1044h. 4.5.3.3 Operation In SDT mode, once the SDT Segmentation Control Structure has been configured and the TX_SAR enabled, the TX_SAR begins to generate cells with the appropriate formatting, without further software intervention. The TX_SAR reads data (consisting of TDM data bytes and, where appropriate, CAS signalling bytes) from the perchannel SDT Segmentation Circular Buffers in external memory. Refer to Section and Figure 11, “Per-Port SDT Segmentation Circular Buffers,” on page 43 for details regarding the formatting of the data which is written to these circular buffers by the TDM module. The TX_SAR prepends the TDM data with an AAL1 sequence number and with a 6-byte header as specified by the VC’s SDT Segmentation Control Structure. Additionally, as defined in the AAL1 specifications, one even-numbered cell out of each eight-cell sequence contains a pointer byte. The TX_SAR uses internal counters to determine the appropriate value for the pointer byte, which indicates the start of the next structure within the outgoing cell stream on a VC. Figure 24 shows the complete segmentation data path in SDT mode, from the incoming TDM data bus to the outgoing UTOPIA data bus. 62 Zarlink Semiconductor Inc. MT90520 Data Sheet . External ZBT SRAM SDT Segmentation Circular Buffers (one per TDM channel) UTO_OUT_CLK UTO_OUT_ENBATM_CLAVPHY TX UTOPIA FIFO UTO_OUT_CLAVATM_ENBPHY UTO_OUT_SOC UTO_OUT_DATA[15:0] TX_SAR TDM Input Buffer UTO_OUT_PAR UTOPIA Module SDT Segmentation Control Structure (one per VC in internal memory) DSTi CSTi STiCLK STiMF TDM Interface Module (one per port) MT90520 Figure 24 - Overview of CBR Data Segmentation Process (SDT Mode) 4.5.4 Data TX_SAR Module The TX_SAR (and specifically the sub-module which shall henceforth be called the Data TX_SAR) is capable of transmitting non-CBR data cells which are not associated with any TDM port. These cells may be AAL5 signalling cells, OAM-type data cells, or any other ATM cells which need to be transmitted from a system containing an MT90520 device. The Data TX_SAR does not process or manipulate the data cells. Rather, it simply reads cells which have been written to a multi-cell circular buffer in external memory by a CPU. It then transfers those cells to the UTOPIA module for transmission onto the UTOPIA bus. The Data TX_SAR can operate simultaneously with the generation of AAL1 CBR cells by the TX_SAR. 4.5.4.1 Mode of Operation The Data TX_SAR within the MT90520 must be enabled, by setting the Data TX_SAR Enable bit in the Data TX_SAR Control Register at address 103Eh. The user writes the cells to a buffer located in external memory. The address and size of this buffer are programmed in the DTCON register, located at address 1038h. The cell structure format is illustrated in Figure 25. When the Data TX_SAR is enabled, it begins to send cells from the cell buffer beginning with the cell pointed to by the Data TX_SAR Read Pointer. The Read Pointer is incremented after each cell is sent. Cell transmission halts when the Read Pointer is equal to the user-defined Data TX_SAR Write Pointer, which indicates the cell structure number being written to by the CPU. Cell transmission begins again after the Write Pointer is changed to a different value than the Read Pointer. The cell buffer is circular; the Read Pointer will never point above the top of the buffer. 63 Zarlink Semiconductor Inc. MT90520 Data Sheet A cell buffer empty event occurs whenever the Read Pointer equals the Write Pointer. This condition is cleared when the Data TX_SAR is disabled or when the Write Pointer is changed. If the Write Pointer is set to a value equal to or greater than the cell buffer size, the cells in the buffer will be sent repetitively. The Write Pointer should never be set to the same value as the Read Pointer when there are cells in the buffer awaiting transmission or during transmission of the cell pointed to by the Read Pointer. If the AUTO bit is set in the Data TX_SAR Control Register at 103Eh, the Data TX_SAR sends cells to the UTOPIA module whenever the TX_SAR module is not busy transmitting CBR cells (i.e., either UDT- or SDT-formatted AAL1 cells). Contrarily, if the AUTO bit is not set, the Data TX_SAR sends out cells at a user-configurable data rate. The user may configure the time between cell transmissions by programming the Data Cell Generation Time Out Register at 1040h. Cells may be sent in time intervals from 1ms to 1s. As mentioned above, the Data TX_SAR does not actually generate the cells to be transmitted. Rather, it simply reads 54-byte cells (consisting of 5 bytes of header, 1 “filler” header byte (UDF2 field) required for the 16-bit UTOPIA bus, and 48 bytes of payload) directly from a location in external memory which is identified by a Data TX_SAR Cell Buffer base address and the Read Pointer. The base address of the buffer is user-programmable, as is the number of cells that can be stored in the buffer. The user can select (via the register at byte address 1038h) a buffer capable of holding 16, 32, 64, or 128 cells. Each cell is allocated 64 bytes in external memory. Cells written into the Data TX_SAR Cell Buffer must conform to the format shown in Figure 25. 4.5.4.2 Error Handling The Data TX_SAR has a single status bit to indicate whether the Data TX_SAR Cell Buffer in external memory is empty (declared when the Data TX_SAR’s read pointer is equal to the write pointer controlled by the CPU). The Transmit Cell Buffer Empty bit in the Data TX_SAR Status Register at 1042h can be enabled to cause an interrupt to be generated on IRQ. 64 Zarlink Semiconductor Inc. MT90520 Byte Add +00 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 GFC VPI +02 VCI VCI +04 PTI HEC Data Sheet Word Add +00 C +01 +02 UDF2 +06 Payload Word 1 +03 +34 Payload Word 24 +1A +36 to +3E +40 +1B to +1F Reserved GFC VPI +42 VCI VCI +44 PTI HEC +20 C +21 +22 UDF2 +46 Payload Word 1 +23 +74 Payload Word 24 +3A +76 to +7E first cell second cell +3B to +3F Reserved Note: The Transmit Data Cell Buffer can hold from 16 to 128 non-CBR cells, depending on the user-programmable configuration. n = number of cells - 1. +40*n GFC VPI VCI VCI PTI HEC +20*n C UDF2 Payload Word 1 final cell Payload Word 24 +40*n+36 to +40*n+3E +20*n+1B to +20*n+1F Reserved Figure 25 - TX_SAR Cell Template - Data Cell (Non-CBR) Mode 4.6 RX_SAR Modules The RX_SAR modules of the MT90520 device (consisting of the UDT RX_SAR, the SDT RX_SAR, and the Data RX_SAR) are primarily responsible for the reassembly of TDM data extracted from CBR ATM cells. In addition, in certain modes of operation, the SDT RX_SAR extracts CAS data from received cells and sends that information, as well as multiframe indication signals, to the TDM module. The UDT RX_SAR and SDT RX_SAR modules provide the Clock Management module with clocking information obtained from received cells. 65 Zarlink Semiconductor Inc. MT90520 Data Sheet A secondary Data RX_SAR transfers non-CBR cells from the UTOPIA interface to external memory, where the cells may be processed by user software. 4.6.1 UDT RX_SAR and SDT RX_SAR Modules 4.6.1.1 Data Flow and Processing Path Overview At a high level of abstraction, Figure 26 shows the functionality implemented within the UDT RX_SAR and SDT RX_SAR reassembly paths of the MT90520. Within the “ATM Cell Processing” path there are a number of different steps which must be taken, depending upon the operating mode of the device. The “Clock Recovery Operations” and “MIB Statistics Gathering” paths may be taken in conjunction with any of the operating modes. RX_SAR Modules ATM Cell Processing Clock Recovery Operations UDT SDT AAL1-byte Error Checking AAL1-byte Error Checking Fast Sequence Number Processing Fast Sequence Number Processing TDM Data Reassembly Pointer Byte Error Checking (including dummy-cell insertion) Underrun/Overflow Detection SRTS MIB Statistics Gathering Adaptive TDM Data Reassembly (including dummy-cell insertion) w/ CAS CAS Data Reassembly and MF Indication Basic Underrun/Overflow Detection Figure 26 - High-Level Overview of the Functionality of the RX_SAR Module 66 Zarlink Semiconductor Inc. MT90520 Data Sheet The UDT RX_SAR and SDT RX_SAR modules are explained in the following sections. In Section 4.6.1.2, the use of Reassembly Control Structures is detailed. These control structures, which are stored in internal memory, control the operation of the UDT RX_SAR and the SDT RX_SAR on a per-VC basis. The flow of the documentation starting in Section 4.6.1.3 on page 71 generally follows the flow of received cells through the data path shown in Figure 26. 4.6.1.2 Reassembly Control Structures The UDT RX_SAR and the SDT RX_SAR are both instantiated only once per MT90520 device. As a result, each module must handle all of the cells being received at the device in a particular mode of operation. However, due to the nature of the device, it is possible for multiple cell streams (i.e., cells being carried on different VCs) to be received at the MT90520’s UTOPIA receive interface and then sent for processing by one of the RX_SARs. In order to keep statistics and other information (e.g., current state of the Correction/Detection state machine, last received sequence number) updated on a per-VC basis, the MT90520 employs two internal memories (one each for the UDT RX_SAR and the SDT RX_SAR) to hold Reassembly Control Structures. The user must configure a control structure for each VC which is receiving cells via the MT90520. UDT Reassembly Control Structures Within the UDT RX_SAR, there is an internal memory which can be configured to hold up to 8 UDT Reassembly Control Structures (one per port). Each UDT Reassembly Control Structure is allocated a 32-byte block. The control structures for the various ports must be located at pre-defined locations within the internal memory. If the data on a VC is destined for port 0, the UDT Reassembly Control Structure for the VC must be programmed to begin at CPU byte-address BE000h (the base address for the UDT Reassembly Control Structure memory in the MT90520 memory map). The control structure for a VC destined for port 1 must be configured to start at CPU byte-address BE020h, and so on. All of the fields within the control structure are explained in the text accompanying Figure 27. Upon initialization, only a few of the fields within the UDT Reassembly Control Structure need to be explicitly configured by the user. VC TDM Port must be configured to match the desired destination port for the VC’s data. As such, the only permissible values for this field are “000” (representing port 0) to “111” (representing port 7). If SRTS or Adaptive clock recovery methods are to be employed on the VC, the appropriate configuration bit (either S or A) must be set. As well, the Maximum Lead field must be configured to a value which accounts for the expected cell delay variation (CDV) of the network, and the desired distance to be maintained between the UDT RX_SAR’s write pointer and the TDM module’s read pointer. More details regarding the programming of Maximum Lead are given within the section “UDT Reassembly Circular Buffers” on page 78. All of the remaining fields within the UDT Reassembly Control Structure must be cleared to ‘0’ upon initialization. This ensures that the statistics and status fields for the VC are configured to start with cleared values. For debug and statistics-gathering purposes, the CPU can read the UDT Reassembly Control Structure contents. 67 Zarlink Semiconductor Inc. MT90520 Byte Add 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 +00 +02 +04 A S Res Reserved Maximum Lead Res V_RTS RTS <3:1> <3:1> +06 VC TDM Port Last Seq Reserved Last Good Word Add +00 +01 Fast State +02 PV_SN I C <2:0> +03 +08 Res UDT RX_SAR Write Pointer +04 +0A Res TDM Read Pointer Plus Average +05 Reassembled Cells +06 +0C +0E AAL1 Sequence Errors AAL1 Header Errors +07 +10 Misinserted Cells Lost Cells +08 +12 Buffer Overflows Buffer Underruns +09 Late Cells +0A R R R R R R R R o o o o o o o o +0B +14 +16 Reserved V Reserved Note 1: Fields which appear in dark grey are reserved fields which must be cleared by software upon initialization. Note 2: Fields which appear in light grey are those which are updated by hardware. Note 3: UDT Reassembly Control Structures must always start on 16-word (32-byte) boundaries. Data Sheet A (Adaptive Enable): If set, the fill-level of the UDT Reassembly Circular Buffer associated with this VC is used to provide adaptive clocking information for the TDM port. S (SRTS Enable): If set, this VC is carrying RTS clocking information for the TDM port. VC TDM Port: Identifies the TDM port (0 to 7) with which this VC is associated. Must correspond to the location of this control structure within the internal memory. Maximum Lead: Maximum allowable distance between the TDM Read Pointer and the UDT RX_SAR Write Pointer within the UDT Reassembly Circular Buffer. V_RTS<3:1> (RTS Validity): Bits indicating whether the individual bits in RTS<3:1> are valid and can therefore be used by the PLL for clock recovery processing. RTS<3:1>: Intermediate RTS value used by the clock recovery circuit. Last Seq (Last Sequence Number): This state variable keeps track of the last sequence number received by the Fast SN Processing state machine. Last Good (Last Good Sequence Number): This state variable keeps track of the last valid or in-sequence sequence number received by the Fast SN Processing SM. Fast State: Indicates which state the Fast Sequence Number Processing SM will enter upon the arrival of the next cell from this VC. I (Initialized): ‘0’ = VC uninitialized; ‘1’ = VC initialized. Must be initialized to ‘0’ by software. C (Next CD State): Indicates which state the Correction/Detection SM will enter upon the arrival of the next cell from this VC. Must be initialized to ’0’ (Correction). PV_SN<2:0> (Previous Valid Sequence Number): Sequence number of the last valid, in-sync cell received by the SRTS circuitry. UDT RX_SAR Write Pointer: Indicates which location will next be written to within the UDT Reassembly Circular Buffer in internal memory. TDM Read Pointer Plus Average: This read-only field contains the value of the TDM Read Pointer plus average lead. Unless an underrun has been reported, this field is cleared to zero. MIB Statistics: AAL1 Sequence Errors, AAL1 Header Errors, Misinserted Cells, Lost Cells, Buffer Overflows, Buffer Underruns, and Late Cells are 8-bit fields for each MIB statistic which must be collected on a per-VC basis. Reassembled Cells is stored in a 16-bit field. V (VC Arrival): This bit is set by the UDT RX_SAR each time a cell arrives on this VC. The CPU can clear it to ‘0’ to provide per-VC timeout monitoring. Ro: Status bits which indicate rollovers on MIB status fields. The eight rollover bits correspond to the order of the MIB statistics fields in the control structure: bit<0> = Reassembled Cell Rollover, bit<1> = AAL1 Header Errors Rollover, etc. Figure 27 - Reassembly Control Structure - UDT Format SDT Reassembly Control Structures Within the SDT RX_SAR, there is an internal memory which is 16 Kwords long and 16-bits wide, to permit the setup of VCs of varying size and configuration. The MT90520 can handle up to 256 single-channel VCs (a full E1 of 32 channels on each of the 8 ports). However, many other configurations with different “n” are also permissible. Unlike the control structures in UDT mode, SDT Reassembly Control Structures do not have as many restrictions on their location. Although all of the SDT control structures must start on 32-byte (16-word) boundaries, the boundary which is selected for each control structure does not matter (e.g., the control structure for a VC on port 5 may be physically located in memory at an earlier location than the control structure for a VC on port 0). As well, it is possible for a VC to be carrying data which is destined for multiple TDM ports (e.g., Channel 0 of the VC may be destined for port 0, but channel 1 might be destined for port 7). The TDM port destination of the data is ultimately determined by the programming of the TDM SDT Reassembly Control Structure (see Figure 13 on page 46). It is important to note that the location of the SDT Reassembly Control Structure in internal memory must be correlated with the Reassembly Control Structure Address within the UTOPIA’s look-up table entry for the particular VC. When a VC is configured as basic SDT, the control structure uses from 30 bytes to 284 bytes, depending on the number of channels carried by the VC (up to 128). The various fields of the SDT Reassembly Control Structure are shown in Figure 28 and explained in Table . For debug and statistics-gathering purposes, the CPU can read the SDT Reassembly Control Structure contents, one word at a time. 68 Zarlink Semiconductor Inc. MT90520 Data Sheet SDT Control Structure Fields - Initialization As in the UDT case, upon initialization, only a few of the fields within the SDT Reassembly Control Structure need to be explicitly configured by the user. The fields which must be configured are listed below. Details of the appropriate values for configuration can be found in Table on page 70. • Maximum Lead must be configured to a value which accounts for the expected CDV of the network, and the desired distance to be maintained between the SDT RX_SAR’s write pointer and the TDM module’s read pointer. More details regarding the programming of Maximum Lead are given within the section “SDT Reassembly Circular Buffers” on page 81. • If all of the data within the VC is destined for the same TDM port, VC TDM Port must be configured to match the desired destination port for the VC’s data. However, if the data is destined for multiple ports (trunking), this field must be configured to match the port whose TDM read pointer will be used for slip-checking and clock recovery. • First Entry must always be set to 0Eh. Last Entry must be programmed to the word-address of the last Reassembly Circular Buffer Base Address within the control structure. • If SRTS or Adaptive clock recovery methods are to be employed on this VC, the appropriate configuration bit (either S or A) must be set. • The M (Multiframe Type) bit is used to select either DS1 (‘0’) or E1 (‘1’) multiframing format for use when the VC is carrying CAS signalling bits. If “basic” SDT mode is being used, the value of this field does not matter. • Structure Length must contain the length (less one) of the AAL1 structure size for this VC, including both TDM and CAS bytes. • The CAS field must be configured if the VC being received is carrying CAS signalling nibbles. • The BS field should be set to the desired size of the SDT Reassembly Circular Buffers for the VC. The configurable buffer sizes range from 64 entries to 1024 entries per channel. Note that all of the channels within the VC are allocated the same size buffers in external memory. It should also be noted that the size of the buffers must correspond to the size field given within the TDM SDT Reassembly Control Structure for the chosen TDM channel destination (port and channel specific), as shown in Figure 13 on page 46. • Number of Channels must be set to the number of channels in the VC, less one (therefore, allowable values for the field are 00h to 7Fh). • The Pi (Pointer Initialization) bit within the SDT Reassembly Control Structure must be set to ‘1’, indicating that the control structure is ready to start receiving pointers. • Current Entry must be programmed to contain the value in the First Entry field (i.e., 0Eh). • The Reassembly Circular Buffer Base Address fields must contain the values of the word-addresses of the corresponding circular buffers in external memory. A two-bit value, the Reassembly Circular Buffer Base Address, is obtained from the CB_BASE_ADD field of the SDT Reassembly Control Register at byteaddress 2040h. These bits form the two most significant bits of a word-address formed by concatenating these bits with the 12-bit value obtained from the Reassembly Circular Buffer Base Address. Which bits of the concatenated address are used to form the actual address to external memory is determined by the size of the buffers selected for the VC. For details regarding how these addresses are formed, See “SDT Reassembly Circular Buffers” on page 81., particularly Table 18. It should be noted that the Reassembly Circular Buffer Base Address must correspond to the address given within the TDM SDT Reassembly Control Structure for the chosen TDM channel destination (port and channel specific), as shown in Figure 13 on page 46. • The CASx field for each channel in the VC (where x represents the channel within the VC) should be cleared if the VC is not carrying CAS. However, if the VC is programmed to receive CAS nibbles, software can configure these nibbles to contain any values desired by the user. The software-programmed values within these fields will be transferred to the TDM module (and therefore output on CSTo) until valid CAS nibbles have been extracted from received cells. All of the remaining fields within the SDT Reassembly Control Structure must be cleared to ‘0’ upon initialization. This ensures that the initialization, statistics, and status fields for the VC are configured to start with cleared values. 69 Zarlink Semiconductor Inc. MT90520 Byte Add +00 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 +06 +08 +0A +0C TRes Maximum Lead +02 +04 Data Sheet Last Entry First Entry Structure Length R D A S M CAS VC TDM Port BS Number of Channels Res V_RTS RTS Last Last Fast State <3:1> <3:1> Seq Good PV_SN SDT RX_SAR Write Pointer I <2:0> Current C P P Current Entry Frame i +0E Res Location in Structure +10 Reassembled Cells +12 Word Add +00 +01 +02 +03 +04 +05 +06 +07 +08 +09 AAL1 Sequence Errors AAL1 Header Errors Misinserted Cells Lost Cells +16 Pointer Parity Errors Pointer Reframes +0B +18 Buffer Overflows Buffer Underruns +0C +14 +1A V Res +1C CAS0 +1E CAS1 +20 CAS2 C P R R R R R R R R R c o o o o o o o o o o Reassembly Circular Buffer Base Address Reassembly Circular Buffer Base Address Reassembly Circular Buffer Base Address +0A +0D +0E +0F +10 Minimum Structure Size - 30 bytes (1 channel) Maximum Structure Size - 284 bytes (128 channels) +114 CAS124 +116 CAS125 +118 CAS126 +11A CAS127 Reassembly Circular Buffer Base Address Reassembly Circular Buffer Base Address Reassembly Circular Buffer Base Address Reassembly Circular Buffer Base Address +8A +8B +8C +8D Note 1: Fields which appear in dark grey are reserved fields which must be cleared by software upon initialization. Note 2: Fields which appear in light grey are those which are updated by hardware. Note 3: SDT Reassembly Control Structures must always start on 16-word (32-byte) boundaries. Figure 28 - Reassembly Control Structure - SDT Format 70 Zarlink Semiconductor Inc. MT90520 Data Sheet Maximum Lead: Maximum allowable distance between the TDM Read Pointer and the SDT RX_SAR Write Pointer within a Reassembly Circular Buffer. VC TDM Port: Identifies the TDM port (0 to 7) with which this VC is associated for slip detection and (optionally) for clock recovery. First Entry: Indicates the location of the first Reassembly Circular Buffer Base Address within the Reassembly Control Structure. Must be programmed to 0Eh. Last Entry: Indicates where the last Reassembly Circular Buffer Base Address is located within the Reassembly Control Structure. Must be programmed to have the word-address of the last Reassembly Circular Buffer address (e.g., if n = 2, this field contains 0Fh). A (Adaptive Enable): If set, the fill-level of the Reassembly Circular Buffer(s) associated with this VC are used to provide adaptive clocking information for the VC TDM Port. Only one VC per TDM port can have this bit set. S (SRTS Enable): If set, this VC is carrying RTS clocking information for the VC TDM Port. Only one VC per TDM port can have this bit set. M (Multiframe Type): ‘0’ = DS1 (24 frames); ‘1’ = E1 (16 frames). Structure Length: Indicates the length of the AAL1 structure, including TDM and CAS bytes. This field must be programmed by the user to be one less than the actual structure length. For non-CAS VCs, this field is equal to the number of channels in the VC, less one. For CAS VCs, the formula for calculating the Structure Length field is: DS1 = N*24 + roundup(N/2) - 1; E1 = N*16 + roundup(N/2) - 1. CAS: If set, bit<0> indicates that this VC is carrying CAS information; if set, bit<1> indicates that the user wishes to control the CAS values via S/W (received CAS values not written back to control structure); if set, bit<2> indicates that a CPU service request should be sent if the new CAS value for a channel differs from the old (or if the received CAS value differs from the value set by hardware). BS (Circular Buffer Size): “000” = 64 entries; “001” = 128 entries; “010” = 256 entries; “011” = 512 entries; “100” = 1024 entries; other = reserved. Number of Channels: Indicates the number of channels within this VC. Field must be programmed by user to be one less than the actual number of channels in the VC (possible values = 0d to 127d). V_RTS<3:1> (RTS Validity): Bits indicating whether the individual bits in RTS<3:1> are valid and can therefore be used by the PLL for clock recovery processing. RTS<3:1>: Intermediate RTS value used by the Receive SRTS circuitry. Last Seq (Last Sequence Number): This state variable keeps track of the last sequence number received by the Fast SN Processing SM. Last Good (Last Good Sequence Number): This state variable keeps track of the last valid or in-sequence sequence number received by the Fast SN Processing SM. Fast State: Indicates which state the Fast Sequence Number Processing state machine will enter upon the arrival of the next cell from this VC. PV_SN<2:0> (Previous Valid Sequence Number): Sequence number of the last valid, in-sync cell received by the SRTS circuitry. I (Initialized): ‘0’ = VC uninitialized; ‘1’ = VC initialized. Must be initialized to ‘0’ by software. SDT RX_SAR Write Pointer: Indicates which location will next be written within a Reassembly Circular Buffer. C (Next CD State): Indicates which state the Correction/Detection state machine will enter upon the arrival of the next cell from this VC. This bit must be initialized to ‘0’ (Correction). P (Pointer Reframe Pending): Status bit indicating that a pointer reframe error has occurred and has yet to be compensated for or reported to the MIB. Must be set to ‘0’ by software. Pi (Pointer Initialization): Must be set to ‘1’ by software. Current Frame: This field indicates which frame of the multiframe is currently being received. Used only if VC is carrying CAS data. Current Entry: Points to the address of the Reassembly Circular Buffer currently being written. Must be initialized to 0Eh. Location in Structure: This field indicates how many bytes remain before the start of the next AAL1 structure. This field must be set to ‘0’ by software. MIB Statistics: AAL1 Sequence Errors, AAL1 Header Errors, Misinserted Cells, Lost Cells, Pointer Parity Errors, Pointer Reframes, Buffer Overflows, and Buffer Underruns are 8-bit fields for each MIB statistic which must be collected on a per-VC basis. Reassembled Cells is stored in a 16-bit field. NOTE: The pointer reframe field will usually be incremented to ‘1’ upon the arrival of the first valid pointer. V (VC Arrival): This bit is set by the SDT RX_SAR each time a cell arrives on this VC. The CPU can clear it to ‘0’ to provide per-VC timeout monitoring. Cc (CAS Changed): Status bit indicating that at least one CAS nibble in VC has changed since last received CAS value. Po (Pointer Out-of-Range): Pointer out-of-range error noted if pointer-byte has an invalid value (i.e., > 93 and not a dummy value of 127). Ro: Status bits which indicate rollovers on MIB status fields. The nine rollover bits correspond to the order of the MIB statistics fields in the control structure: bit<0> = Reassembled Cell Rollover, bit<1> = AAL1 Header Rollover, etc. Reassembly Circular Buffer Base Address: This field forms part of the address of a Reassembly Circular Buffer. Refer to Table 18 on page 82 and the accompanying text for information regarding the addresses of SDT Reassembly Circular Buffers in external memory. CAS0 - CAS127: Fields containing the four-bit nibbles representing the Channel Associated Signalling for the corresponding channel. These values are transmitted to the TDM module regardless of whether the received VC is configured for CAS. Must be set to initial values by software. Table 12 - Fields within the SDT Reassembly Control Structure 4.6.1.3 Sequence Number Checking (Correction/Detection State Machine) In both the UDT and SDT modes of operation, each AAL1 cell which is destined for the RX_SAR has its AAL1 header byte processed by a sequence number checking process standardized in ITU-T I.363.1. The first portion of the processing occurs in the Correction/Detection state machine, which is explained in this section. This algorithm examines the received AAL1 byte and determines whether the sequence number protection on the byte is correct by checking for CRC and parity errors. This state machine is primarily responsible for sending a corrected sequence number and CSI bit to the Fast Sequence Number Processing state machine (outlined in Section 4.6.1.4) for further sequence number processing. 71 Zarlink Semiconductor Inc. MT90520 Data Sheet Based on the ITU-T I.363.1 standard, the Correction/Detection state machine is capable of analyzing a byte of data. It can then correct a single-bit error in the data or detect (but not correct) a two-bit error. A single-bit error is classified as the occurrence of either: (i) a parity error or (ii) a CRC error AND a parity error. An uncorrectable error occurs if a CRC error is detected without a corresponding parity error. A brief description of the functionality is outlined below. 1. The state machine examines the AAL1 byte and checks for CRC and parity errors, based on hard-wired values contained within the MT90520. The state machine then outputs two pieces of information for use by the Fast SN Processing state machine: a validity indicator and a sequence number. The validity signal indicates whether or not the received byte was determined to be valid (i.e., it was either correct upon arrival, or was corrected by the Correction/Detection state machine). The sequence number is that which was determined by the Correction/ Detection machine to be the intended sequence number. 2. The type of error-processing which is performed depends upon the current state of the standardized state machine, either Correction or Detection: CRC Error? Parity Error? Correctable? Resulting SN Valid? AAL1 Header Error Next State No No correct - no need SN of input byte Yes +0 Correction No Yes Yes SN of input byte Yes +1 Detection Yes No No don’t care * No +1 Detection Yes Yes corrected SN Yes +1 Detection Yes Table 13 - Operation of Correction/Detection State Machine in Correction State CRC Error? Parity Error? Correctable? Resulting SN Valid? AAL1 Header Error Next State No No correct - no need SN of input byte Yes +0 Correction No Yes No don’t care * No +1 Detection Yes No No don’t care * No +1 Detection Yes Yes No don’t care * No +1 Detection Table 14 - Operation of Correction/Detection State Machine in Detection State Note * - When an errored SN cannot be corrected, the Correction/Detection state machine outputs the SN of the input byte, uncorrected. 3. The most significant bit of the resulting sequence number (i.e., the CSI bit) may be processed further by the SRTS clock recovery sub-module (see Section ) or, in the SDT case, by the pointer-processing sub-module (see “Pointer Processing” on page 80). The 3 least significant bits are transmitted to the Fast Sequence Number Processing state machine as the current cell’s sequence number. 4. At the end of cell processing, two pieces of information related to the Correction/Detection state machine are updated in the Reassembly Control Structure for the VC: the next state of this state machine (either Correction or Detection) and the AAL1 Header Errors field. 72 Zarlink Semiconductor Inc. MT90520 4.6.1.4 Data Sheet Sequence Number Checking (Fast SN Processing State Machine) After being processed by the Correction/Detection state machine, all AAL1 header bytes (whether correctable or not) and their corresponding validity indicators are passed to the Fast SN Processing state machine standardized within ITU-T I.363.1. This second portion of the Sequence Number Checking sub-module is responsible for analyzing the received sequence number values and determining whether the cells are being received in the correct order. The Fast Sequence Number Processing state machine can detect and compensate for lost cells. In addition, it can compensate for events which it determines to be misinserted cells. UDT Mode of Operation Although based on the state machine standardized in ITU-T I.363.1, additional functionality was added to the UDT RX_SAR’s state machine in the form of two extra states: • The single_cell_loss_misinsertion state was added to provide for the insertion of in-order dummy cells in the event of a single cell loss or misinsertion. As outlined in the table below, any time that an apparent single-cell loss occurs, a dummy cell is inserted and then the received cell is accepted into the port’s Reassembly Circular Buffer. If the event is indeed a single-cell loss, the subsequent received cell is accepted and the state machine returns to the sync state. If the apparent single-cell loss turns out to have been a cell misinsertion event, the state machine returns to sync, but the most recently received (i.e., late) cell is discarded because a dummy cell was previously inserted in place of the misinserted cell. Similarly, if the apparent single-cell loss turns out to have been a sequence number protection failure, the state machine returns to sync and the most recently received cell is discarded because a dummy cell was previously inserted (erroneously) when all of the cells were actually being received in order. • The late_cell_insertion state was added as a special user-programmable feature to provide CDV monitoring. If the user enables the late-cell-checking feature (by setting the CHECK_LATE_ARRIVALS bit in the UDT Reassembly Control Register at 2000h), when a per-port late-cell timeout counter reaches the value programmed by the user, a late cell timeout is reached and the Fast SN Processing state machine transitions into the late_cell_insertion state, inserting a single dummy cell on the transition. Once in the late_cell_insertion state, the subsequent cell arrival will determine the type of event that occurred. If the originally expected cell arrives, this is a late cell arrival case; the late cell is discarded and the state machine returns to sync. If the cell which arrives has a sequence number greater by one than that which was originally expected, a single cell loss has occurred; the received cell is accepted and the state machine returns to sync. The operation of the state machine is summarized in the following table: Current State Transition Event Action Taken Next State x (don’t care) reset asserted - none reset_state reset_state reset de-asserted - none start start out_of_sync invalid sequence number - discard cell start valid sequence number - discard cell out_of_sync invalid sequence number - discard cell start received cell is not in sequence with previous cell - discard cell out_of_sync received cell is in sequence with previous cell - accept received cell - per-port timeout circuitry is enabled to permit late-cell insertions sync Table 15 - Operation of UDT Fast Sequence Number Processing State Machine 73 Zarlink Semiconductor Inc. Note ** MT90520 Current State sync invalid out_of_seq Transition Event Data Sheet Action Taken Next State late cell timeout period reached and CHECK_LATE_ARRIVALS = ‘1’ - UDT RX_SAR inserts a single dummy cell late_cell_insertion invalid sequence number - accept received cell invalid received cell is in sequence with previous cell - accept received cell - per-port timeout circuitry is enabled to permit late-cell insertions sync received cell is not in sequence with the previously-received cell -> received cell has a sequence number one greater than the expected sequence number - assume single-cell loss event - UDT RX_SAR inserts a single dummy cell - after dummy cell insertion, accept received cell (in-order dummy cell insertion) - declare aal1_seq_error single_cell_loss_ misinsertion received cell is not in sequence with the previously-received cell -> received cell has a sequence number that is NOT one greater than the expected sequence number - cannot assume what happened (may be a multi-cell loss case) - accept received cell (thus, if this is a multi-cell loss case, out-of-order dummy cell insertion will occur) - declare aal1_seq_error out_of_seq Note ** invalid sequence number - discard cell start received cell is in sequence with last “good” cell (i.e., cell misinsertion) - discard cell - declare misinserted_cell_error - per-port timeout circuitry is enabled to permit late-cell insertions sync ** received cell has a valid sequence number that is two greater than the last “good” cell (i.e., sequence number protection failure) - accept received cell - per-port timeout circuitry is enabled to permit late-cell insertions sync ** received cell has valid sequence number, but doesn’t meet either of the 2 previous criteria - discard cell out_of_sync invalid sequence number - discard cell start received cell is in sequence with last received cell (i.e., multiple cell loss) - calculate number of lost cells (up to 7) - UDT RX_SAR inserts dummy cell(s) - after dummy cell insertion(s), accept received cell - declare lost_cell_error - per-port timeout circuitry is enabled to permit late-cell insertions sync ** received cell has a valid sequence number that is two greater than the last in-sequence cell (i.e., sequence number protection failure) - accept received cell - per-port timeout circuitry is enabled to permit late-cell insertions sync ** received cell has valid sequence number, but doesn’t meet either of the 2 previous criteria - discard cell out_of_sync Table 15 - Operation of UDT Fast Sequence Number Processing State Machine 74 Zarlink Semiconductor Inc. MT90520 Current State single_cell_loss_ misinsertion late_cell_insertion Data Sheet Transition Event Action Taken Next State Note invalid sequence number - discard cell start received cell is in sequence with last received cell (i.e., single cell loss) - accept received cell - declare lost_cell_error - per-port timeout circuitry is enabled to permit late-cell insertions sync ** received cell is in sequence with last insequence cell (i.e., cell misinsertion) - discard cell (dummy cell already inserted to take place of misinserted cell) - declare misinserted_cell_error - per-port timeout circuitry is enabled to permit late-cell insertions sync ** received cell has a valid sequence number that is two greater than the last in-sequence cell (i.e., sequence number protection failure) - discard received cell (extra dummy cell was inserted when all cells were actually received in order) - per-port timeout circuitry is enabled to permit late-cell insertions sync ** received cell has valid sequence number, but doesn’t meet any of the 3 previous criteria - discard cell out_of_sync invalid sequence number - discard cell start received cell has a sequence number one greater than the originally expected sequence number (i.e., this appears to be a single-cell loss) - accept received cell (dummy cell was already inserted to replace the lost cell) - declare lost_cell_error - declare aal1_seq_error - per-port timeout circuitry is enabled to permit late-cell insertions sync ** received cell is that which was originally expected (i.e., late cell arrival) - discard cell (because a dummy cell was already inserted to replace this one) - declare late_cell_error - per-port timeout circuitry is enabled to permit late-cell insertions sync ** received cell has valid sequence number, but doesn’t meet either of the 2 previous criteria - discard cell - declare aal1_seq_error out_of_sync Table 15 - Operation of UDT Fast Sequence Number Processing State Machine Note **: The per-port timeout circuitry for late-cell insertion is enabled only when the state machine is entering the sync state. Therefore, late-cell insertion is only possible when the Fast SN Processing SM is in the “sync” state. Here are some examples of incoming cell streams containing errors and the corresponding corrective actions taken by the UDT RX_SAR. Description of Error Sequence number protection failure (looks like single cell loss) Sample Incoming Cell Stream Cells Used for Reassembly 1 - 3* - 3 - 4 - 5 1 - D2 - 3* - 4 - 5 Errors Declared 1 AAL1 Sequence Error NOTE: D indicates the insertion of a dummy cell containing user-programmable data. Table 16 - Examples of Operation of the UDT Fast Sequence Number Processing State Machine 75 Zarlink Semiconductor Inc. MT90520 Data Sheet Sample Incoming Cell Stream Cells Used for Reassembly 1 - 4* - 3 - 4 - 5 1 - 4* - 3 - 4 - 5 1 AAL1 Sequence Error Single lost cell 1-2-4-5 1 - 2 - D3 - 4 - 5 1 AAL1 Sequence Error 1 Lost Cell Multiple lost cells (from 2 to 7 lost cells) 1-2-6-7 1 - 2 - 6 - D3 - D4 - D5 - 7 1 AAL1 Sequence Error 3 Lost Cells 1-2-4-3-5-6 1 - 2 - D3 - 4 - 5 - 6 1 AAL1 Sequence Error 1 Misinserted Cell Description of Error Sequence number protection failure (looks like multiple cell loss) Misinserted (swapped) cell Errors Declared NOTE: D indicates the insertion of a dummy cell containing user-programmable data. Table 16 - Examples of Operation of the UDT Fast Sequence Number Processing State Machine SDT Mode of Operation The SDT version of the Fast Sequence Number Checking state machine is very similar to the UDT version. However, in the SDT version, no extra states are added for increased functionality. Unlike the UDT version, there is no provision for the insertion of dummy cells in late-cell cases, nor for in-order dummy cell insertion when single-cell losses are assumed. Because the SDT machine has fewer states than the UDT version, there are some differences in the way in which certain cell arrival sequences are interpreted by the state machines. The following table outlines the operation of the SDT state machine: Current State Transition Event Action Taken Next State x (don’t care) reset asserted - none reset_state reset_state reset de-asserted - none start start out_of_sync sync invalid invalid sequence number - discard cell start valid sequence number - discard cell out_of_sync invalid sequence number - discard cell start received cell is not in sequence with previous cell - discard cell out_of_sync received cell is in sequence with previous cell - accept received cell sync invalid sequence number - accept received cell invalid received cell is not in sequence with the previously-received cell - accept received cell - declare aal1_seq_error out_of_seq received cell is in sequence with previous cell - accept received cell - permit SDT RX_SAR to update CAS information based on this cell’s contents sync invalid sequence number - discard cell start received cell is in sequence with last “good” cell (i.e., cell misinsertion) - discard cell (because misinserted cell was accepted when it shouldn’t have been) - declare misinserted_cell_error sync received cell has a valid sequence number that is two greater than the last “good” cell (i.e., sequence number protection failure) - accept received cell sync received cell has valid sequence number, but doesn’t meet either of the 2 previous criteria - discard cell out_of_sync Table 17 - Operation of SDT Fast Sequence Number Processing State Machine 76 Zarlink Semiconductor Inc. MT90520 Current State out_of_seq Data Sheet Transition Event Action Taken Next State invalid sequence number - discard cell start received cell is in sequence with last “good” cell (i.e., cell misinsertion) - discard cell (because misinserted cell was accepted when it shouldn’t have been) - declare misinserted_cell_error sync received cell is in sequence with last received cell (i.e., cell loss) - calculate number of lost cells (up to 6) - SDT RX_SAR inserts dummy cell(s) - after dummy cell insertion(s), accept received cell - declare lost_cell_error sync received cell has a valid sequence number that is two greater than the last in-sequence cell (i.e., sequence number protection failure) - accept received cell sync received cell has valid sequence number, but doesn’t meet any of the 3 previous criteria - discard cell out_of_sync Table 17 - Operation of SDT Fast Sequence Number Processing State Machine Here are some examples of incoming cell streams containing errors and the corresponding corrective actions taken by the SDT RX_SAR. Examples of Operation of SDT Fast Sequence Number Processing State Machine Sample Incoming Cell Stream Cells Used for Reassembly Sequence number protection failure (looks like single cell loss) 1 - 3* - 3 - 4 - 5 1 - 3* - 3 - 4 - 5 1 AAL1 Sequence Error Sequence number protection failure (looks like multiple cell loss) 1 - 4* - 3 - 4 - 5 1 - 4* - 3 - 4 - 5 1 AAL1 Sequence Error Single lost cell 1-2-4-5 1 - 2 - 4 - D3 - 5 1 AAL1 Sequence Error 1 Lost Cell Multiple lost cells (from 2 to 6 lost cells) 1-2-6-7 1 - 2 - 6 - D3 - D4 - D5 - 7 1 AAL1 Sequence Error 3 Lost Cells 1-2-4-3-5-6 1 - 2 - 4 - 5 - D4 - 6 2 AAL1 Sequence Errors 1 Misinserted Cell 1 Lost Cell Description of Error Misinserted (swapped) cell Errors Declared NOTE: D indicates the insertion of a dummy cell containing user-programmable data. 4.6.1.5 Received Cell Processing The RX_SARs are responsible for extracting data from received cells and transferring that data to the TDM module, for eventual transmission onto the TDM output bus. In addition, these modules are responsible for: • performing slip checking and RX_SAR write-pointer adjustment prior to transferring data to the TDM module • generating dummy cells in the case of sequence errors such as lost or misinserted cells • SDT pointer processing • extracting CAS from SDT cells and transferring it to the TDM module 77 Zarlink Semiconductor Inc. MT90520 Data Sheet UDT Mode of Operation In “normal” operation (i.e., the UDT RX_SAR’s Fast SN Processing state machine is in “sync”), the UDT RX_SAR is responsible for transferring a UDT cell received at the UTOPIA interface to a single UDT Reassembly Circular Buffer in internal memory (corresponding to the TDM port for which the data is destined). However, if it is not in “sync”, the UDT RX_SAR may also be responsible for inserting up to 7 dummy cells (each filled with 47 bytes of user-defined data) into the port’s UDT Reassembly Circular Buffer. Regardless of the state of the Fast SN Processing state machine, a comparison is made between the value of the UDT RX_SAR’s write pointer and the TDM module’s read pointer, prior to the transfer of each cell to the circular buffer. The result of the comparison determines whether a slip-error needs to be reported in the MIB statistics, and may also result in an adjustment of the write pointer’s location before a cell is written to the UDT Reassembly Circular Buffer (see UDT Overflow and Underrun Detection below). TDM Data Transfer Normally the UDT RX_SAR simply transfers 47-byte blocks of data from the UTOPIA interface to a port’s UDT Reassembly Circular Buffer. However, in the case of a cell loss or misinsertion, up to 7 dummy cells may be inserted into the circular buffer before the received cell is accepted. If the user has set the UDT_INSERT_LOST bit in the UDT Reassembly Control Register at byte-address 2000h, the UDT RX_SAR is configured to insert the number of dummy cells calculated by the Fast SN Processing state machine in a cell loss case. On the other hand, if the user has not set the UDT_INSERT_LOST bit, the UDT RX_SAR will insert a maximum of 2 dummy cells (i.e., even if the number of lost cells is greater than 2, only 2 dummy cells may be inserted) into the UDT Reassembly Circular Buffer in a cell-loss event. UDT Reassembly Circular Buffers In the UDT mode of operation, each VC has a specified UDT Reassembly Circular Buffer located in internal memory. Each buffer is 2048 bytes long and is therefore capable of storing over 43 cells worth of data. The user can adjust the Maximum Lead field in the VC’s UDT Reassembly Control Structure to control the CDV tolerance of the VC. The Maximum Lead field, as explained in Section , “UDT Reassembly Control Structures,” on page 67, is user-programmable and determines the maximum distance between the TDM module’s read pointer and the UDT RX_SAR’s write pointer. In general, the operations of the UDT RX_SAR and the TDM module are synchronized so that the UDT RX_SAR’s write pointer and the TDM module’s read pointer are always an average distance (equivalent to Maximum Lead / 2) apart. This phenomenon occurs because most of the time, each time that the UDT RX_SAR writes a complete cell to the circular buffer, the TDM module reads the complete cell (1:1 relationship). UDT Overflow and Underrun Detection The UDT RX_SAR is responsible for generating buffer overflow and buffer underrun error notifications on a per-VC basis. In addition to determining if errors occur, the UDT RX_SAR also attempts to compensate for these slips by adjusting its write pointer. The goal of the write pointer adjustment is to prevent the occurrence of subsequent slips. When the first cell is about to be written to the UDT Reassembly Circular Buffer for a VC, the UDT RX_SAR looks at the current value of the TDM read pointer and adjusts the value of its write pointer to be equal to TDM read pointer + avg_lead (where avg_lead is equal to Maximum_Lead / 2). Therefore, if no slips occur, the write pointer should always be an “average” distance away from the TDM read pointer. For all subsequent cells, an algorithmic slip-checking routine is performed for every cell which is written to the UDT Reassembly Circular Buffer, whether it is a dummy cell or a received ATM cell. Each time a cell is to be written to internal memory, the algorithm looks at the relationship between the UDT RX_SAR’s write pointer and the TDM module’s read pointer. The algorithm then determines whether the next write to occur will be an “okay” condition, an overflow, or an underrun. Generally speaking, an “okay” condition means that the UDT RX_SAR is trying to write to a memory location which is within a distance of Maximum Lead from the TDM read pointer. Overflow conditions are conditions in which there is a risk of the UDT RX_SAR over-writing data which has yet to be read by the TDM 78 Zarlink Semiconductor Inc. MT90520 Data Sheet module. Underruns occur when the TDM has begun to re-read data from the buffer because it has not been replaced by new data from the UDT RX_SAR. If an “okay” condition is detected, the UDT RX_SAR is permitted to write to the UDT Reassembly Circular Buffer at the location determined by the UDT RX_SAR write pointer from the VC’s UDT Reassembly Control Structure. In the case of a slip (either an underrun or an overflow), the UDT RX_SAR’s write pointer is adjusted such that the cell is written to the circular buffer at the location of TDM read pointer + avg_lead. In addition, when slips are detected, the corresponding MIB statistics fields (Buffer Underruns or Buffer Overflows) in the active VC’s UDT Reassembly Control Structure are incremented. Only in rare instances (e.g., when the TDM output clock, SToCLK, is very different from the TDM input clock, STiCLK) will slips occur. In such a case, two cells may be written to internal memory before the TDM module can read a single cell (or, perhaps two cells may be read from memory before another one can be written by the UDT RX_SAR). Since both the UDT RX_SAR and the TDM module operate with 47-byte blocks of data, it is necessary to set Maximum Lead to at least 94d (so that the average distance between the read and write pointers is 47d, or the equivalent of one cell of data). If Maximum Lead is not set to > 94d, even a minor slip (e.g., a cell that arrives one clock cycle after the TDM starts reading from the buffer) appears as a gross slip (i.e., underrun or overflow). Because gross slips cause the UDT RX_SAR’s write pointer to be re-aligned, data in the buffers may be overwritten. As well, if adaptive clock recovery is being used (see Section , “Digital Phaseword Generation for Adaptive Clock Recovery,” on page 86), repeated gross slips mean that the PLL cannot track the incoming data to SToCLK, and gross slips will likely continue to occur. The following equation can be used for setting Maximum Lead: maxlead = 2*n*CDV+94 where n=256 for E1 and n=193 for DS1, and CDV is in milliseconds. Overall, the Reassembly Circular Buffers in UDT mode are very large. Therefore, there is ample room to adjust the value of Maximum Lead and thereby reduce the risk of overflows. It should be stated, however, that the penalty for a large Maximum Lead value will be a start-up delay: the TDM module will read invalid data until it reaches the location of “TDM read pointer + avg_lead” at which the UDT RX_SAR started writing to the buffer. Also, there will be a continuing delay in the reception of data on DSTo because of the distance between the write pointer and the read pointer (i.e., data written to the buffer by the UDT RX_SAR isn’t immediately read out by the TDM module). UDT Received Cell Counter The UDT RX_SAR also provides the user with the number of UDT cells received from the UTOPIA block. This 16bit counter value can be viewed in register URCCR at address 2006h. This counter is an overall UDT cell counter: it is incremented every time a UDT cell is received from the UTOPIA (regardless of whether the cells are discarded by the UDT RX_SAR). When this counter rolls over, a status bit gets set in the URSR register at address 2004h. This status bit can be cleared by software. This rollover condition can also generate a service request to the CPU if the corresponding service enable bit is set. The user is also provided with a per-VC cell counter. This counter is located in the UDT Reassembly Control Structure (see Figure 27 on page 68). The operation of this counter is similar to the overall UDT cell counter. When the per-VC counter rolls over, a status bit gets set in the control structure and can be cleared by the user. The rollover condition can also generate a request to the CPU if the UDT_REAS_ROLL_SE bit is set in the URSER register at address 2002h. The CPU can then read the contents of the SERVICE_PORT field of the URSR register at address 2004h to identify which control structure generated the service request. SDT Mode of Operation In “normal” operation (i.e., the SDT RX_SAR’s Fast SN Processing state machine is in “sync”), the SDT RX_SAR is primarily responsible for transferring TDM and CAS data (if applicable) from SDT cells received at the UTOPIA interface to multiple SDT Reassembly Circular Buffers in external memory. In addition, SDT pointers must be analyzed to ensure that the extracted data is being directed to the correct TDM channels. 79 Zarlink Semiconductor Inc. MT90520 Data Sheet As in the UDT RX_SAR, the SDT RX_SAR is responsible for compensating for sequence number error conditions. Up to 6 dummy cells may be inserted into the various SDT Reassembly Circular Buffers corresponding to the VC in question. The SDT RX_SAR compares the value of the SDT RX_SAR’s write pointer and the TDM module’s read pointer, prior to the transfer of each cell to the SDT Reassembly Circular Buffers. The result of the comparison determines whether a slip-error needs to be reported in the MIB statistics, and may also result in an adjustment of the write pointer’s location before a cell is written to the SDT Reassembly Circular Buffers (see “SDT Overflow and Underrun Detection” on page 84). Pointer Processing Within SDT-formatted cells, pointers are used to indicate the location of the first channel of data within an AAL1 structure. A pointer can be received only from an even-numbered cell which is identified as a pointer-type cell because its CSI bit is set. Pointers are received in this manner for all SDT VCs, except for non-CAS cells carrying one channel. In that special case, no pointers should be received. Once an even-numbered cell with a set CSI bit is received, the pointer byte of the cell is processed. First, some error-checking procedures are performed: • the pointer byte is examined for even-parity errors. If there is a parity error, the contents of the pointer byte are ignored, the Pointer Parity Errors MIB statistic field in the SDT Reassembly Control Structure is incremented, and the pointer-processing routine is exited. • if no parity error is found, the 7 least-significant bits of the pointer byte (the 8-bit pointer byte, less the parity bit) are then examined to see if they exceed the maximum allowable “valid” pointer value of 93d (5Dh). If either of the following cases is true, the pointer processing routine is exited: • if the pointer byte has a value of 127d (7Fh), it is a “dummy” pointer (a valid pointer value); this pointer value is ignored by the SDT RX_SAR. • if the pointer byte has a value exceeding 93d and does not equal 127d, it is an illegal pointer value; therefore, the pointer value is ignored and a Pointer_Out_of_Range error is detected, causing the Po status bit of the SDT Reassembly Control Structure for the VC to be set. If the above error conditions are not met, the pointer byte is considered to be valid and is processed as such by the SDT RX_SAR: • the pointer byte is automatically considered to be correct (based on the fact that there is a lot of protection on the AAL1 byte, so bytes should not be received marked erroneously as pointers). Therefore, the “golden” received pointer value is always used to determine where the SDT RX_SAR should currently be operating within a VC’s AAL1 structure. Regardless of where the SDT RX_SAR is pointing in the AAL1 structure, it is adjusted to point to the location identified by the received pointer byte. - if the received pointer matches the SDT RX_SAR’s internal location controller, all is well and no errors are reported. - if the internal location controller doesn’t match the received pointer, a framing/data misalignment error has occurred: - if the received pointer is equal to 0, the pointer misalignment is corrected immediately; therefore, the Pointer Reframes statistic field in the SDT Reassembly Control Structure is incremented. - if the received pointer is not equal to 0, the misalignment between the internal controller and the received pointer is not resolved immediately: 80 Zarlink Semiconductor Inc. MT90520 Data Sheet - if the internal controller reaches the start of the AAL1 structure during the current cell, resynchronization occurs and the Pointer Reframes statistic field in the SDT Reassembly Control Structure is incremented. - if the internal controller does not reach the start of the AAL1 structure during the current cell, the P (Pointer Reframe Pending) bit of the SDT Reassembly Control Structure is set. Ultimately, when resynchronization does occur, the P status bit is cleared and the Pointer Reframes statistic field in the SDT Reassembly Control Structure is incremented. Note: Even in normal operation, one pointer reframe will usually be reported on each SDT VC, shortly after startup. Because the first cell received on a VC is always discarded by the SDT Fast SN Processing state machine (as per the ITU-T I.363.1 standard), the first available pointer is always discarded. Therefore, the SDT RX_SAR processes a minimum of 7 cells before another pointer is received. Thus, the data for the first 8-cell sequence is generally misaligned and directed toward the wrong TDM channels. When the second pointer is received, the internal location controller is adjusted to the value contained in the received pointer byte and, in most cases, a pointer reframe is reported. SDT Reassembly Circular Buffers In the SDT mode of operation, TDM data is processed on a per-channel basis, rather than on a per-VC basis, as in the UDT case. As a result, when operating in SDT mode, each channel within a VC is allocated its own SDT Reassembly Circular Buffer in external memory. SDT Reassembly Circular Buffers have programmable lengths (on a per-VC basis). The user may configure a VC such that the buffers associated with the VC have lengths of 64, 128, 256, 512, or 1024 entries, based on the configuration of the BS (Buffer Size) bits in the SDT Reassembly Control Structure for the VC. Note that all of the buffers for a particular VC have the same size. The size of buffers selected should be influenced by the expected CDV on a VC. For instance, if a large CDV is expected, a longer buffer would be desirable, so that there is sufficient data to play out to the TDM bus in the period between cell arrivals. The user can adjust the Maximum Lead field in the VC’s SDT Reassembly Control Structure to provide further control over the CDV tolerance of the VC. The Maximum Lead field, as outlined in “SDT Reassembly Control Structures” on page 68, is user-programmable and determines the maximum distance between the TDM module’s read pointer and the SDT RX_SAR’s write pointer. In general, Maximum Lead should be set to a value which, when used in combination with Buffer Size, will result in the desired CDV buffering. The setting of Maximum Lead effectively shortens the buffer length, ensuring that there is no excessive delay between the time that data is received at the buffer input and when it is played out on the TDM output bus. However, if Maximum Lead is not set in accordance with the CDV of the incoming cells, it can result in the reporting of slips (underruns or overflows), which may cause data received at the SDT Reassembly Circular Buffers to be overwritten or skipped. In general, Maximum Lead should be set to a value calculated as follows: Maximum Lead in bytes = desired buffer limit in bytes = 2 + (2 * CDV) / 0.125 ms, where CDV is in milliseconds. Because there is no pre-defined mapping for the SDT Reassembly Circular Buffers, they can be programmed to start anywhere in the external memory for the MT90520 device (with some restrictions, explained here). The address of each SDT Reassembly Circular Buffer is formed as follows. A two-bit value is obtained from the CB_BASE_ADD field of the SDT Reassembly Control Register at byte-address 2040h. These bits form the two most significant bits of the address to external memory. The complete address is formed by concatenating these bits with the 12-bit value obtained from a Reassembly Circular Buffer Base Address field within each SDT Reassembly Control Structure. The number of bits of the concatenated (i.e., 14-bit) address which are used to form the actual address to external memory is determined by the size of the buffers selected for the VC. For instance, if 64-entry buffers are selected, all 14 bits of the concatenated address are used. However, if 1024-entry buffers are selected, only the bottom 10 bits of the address are used. Refer to Table 18 below for more details regarding how the base addresses of the SDT Reassembly Circular Buffers are formed. 81 Zarlink Semiconductor Inc. MT90520 Data Sheet For ease of programming, it is suggested that consecutive addresses be used. For instance, in a 3-channel VC, the addresses configured in the Reassembly Circular Buffer Base Address fields should be set to 000h, 001h, and 002h, regardless of the size of the buffers selected. It must be noted that the Reassembly Circular Buffer Base Address must correspond to the address given within the TDM SDT Reassembly Control Structure (see Figure 13 on page 46) for the chosen TDM channel destination (port- and channel- specific). Buffer Size Address to External Memory 64 entries {cb_base_add<1:0>,reassembly_circular_buffer_base_add<11:0>,6’b0} 128 entries {cb_base_add<0>,reassembly_circular_buffer_base_add<11:0>,7’b0} 256 entries {reassembly_circular_buffer_base_add<11:0>,8’b0} 512 entries {reassembly_circular_buffer_base_add<10:0>,9’b0} 1024 entries {reassembly_circular_buffer_base_add<9:0>,10’b0} Table 18 - Formation of SDT Reassembly Circular Buffer Base Addresses to External Memory Each 16-bit entry in external memory contains a variety of information. Each entry is composed of the fields shown in Figure 29 and explained in the text below. MF Res Turn CAS TDM Byte 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 01 01 01 01 01 01 01 01 01 01 01 01 01 00 00 00 00 00 00 00 00 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX ABCD XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00101010 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX Figure 29 - Per-Channel SDT Reassembly Circular Buffer • MF - multiframe indicator; this bit is used only when a VC is carrying CAS data (if a VC isn’t carrying CAS, the MF bits are always zero); the MF bit is set in the buffer for every channel of a VC, each time that the SDT RX_SAR determines the location of the start of the next multiframe • Res - reserved field; this field always contains a zero • Turn - this field contains a copy of the two most-significant bits of the SDT RX_SAR write pointer for the VC. These bits represent the “turn” of the circular buffer and are used by the TDM module for underrun detection. • CAS - If CAS data is being processed, this field contains the nibble of data which was last received by this channel (i.e., in the previous multiframe). CAS data is repeated for an entire multiframe (i.e., 24 consecutive entries in DS1 case; 16 consecutive entries in E1 case). • TDM Byte - This field contains the TDM data bytes which are extracted from received cells. If dummy cells have been inserted, this field contains the value of the dummy data programmed by the user. 82 Zarlink Semiconductor Inc. MT90520 Data Sheet SDT TDM Data Transfer and CAS Nibble Processing The overall byte extraction process within the SDT RX_SAR is quite similar to that used by the UDT RX_SAR. In general, the SDT RX_SAR is responsible for transferring a cell received at the UTOPIA interface to the (one or many) SDT Reassembly Circular Buffer(s) for the VC. In a cell loss or misinsertion condition, the SDT RX_SAR is responsible for determining the number of dummy cells to be inserted, transferring the appropriate dummy data to the various SDT Reassembly Circular Buffers and, ultimately, transferring the received cell from the UTOPIA module to the SDT Reassembly Circular Buffer(s). Besides extracting TDM data bytes, the SDT RX_SAR must also, in certain modes, extract CAS nibbles, which were previously explained in “SDT Reassembly Circular Buffers” on page 81. As in the UDT mode of operation in a cell insertion case, the SDT RX_SAR, under user control, can limit the number of cells to be inserted into the SDT Reassembly Circular Buffer(s). By default, a maximum of two dummy cells will be inserted in a cell loss case. However, if the user sets the SDT_INSERT_LOST bit in the SDT Reassembly Control Register at byte-address 2040h, the SDT RX_SAR inserts the number of dummy cells calculated by the Fast SN Processing state machine in a cell loss case. SDT dummy cells always contain 47 bytes of user-defined data - no attempt is made to speculate whether pointers or CAS data were present in lost cells. Therefore, it is possible for pointer reframes to occur after dummy-cell insertions, because extra dummy bytes may have been inserted into the circular buffers (e.g., if a missing cell contained a pointer, only 46 bytes of dummy fill should have been inserted into the buffers; however, 47 bytes were inserted, causing a misalignment between the internal counters of the SDT RX_SAR and the received SDT pointers). Once the pointer byte (if present) has been processed and before any accesses are made to the SDT Reassembly Circular Buffers in external memory, the SDT RX_SAR accesses the SDT Reassembly Control Structure in internal memory to obtain the value of the internal pointer, Current Entry. This field, which is used to determine to which channel within the VC the next byte of data is destined, is initialized to point to the First Entry in the VC. Once Current Entry reaches the last channel in a VC (identified by Last Entry, as programmed by the user in the control structure), it wraps around to First Entry, and the process starts again.The only time that Current Entry digresses from this path (advancing from First Entry to Last Entry, and then wrapping around) is when a pointer reframe occurs, as explained in “Pointer Processing” on page 80. When a reframe occurs, the Current Entry pointer is reset to point to First Entry. In CAS VCs, another internal variable, Current Frame, tracks the advancement through the SDT Reassembly Control Structure. This variable is used to determine the location at which processing is occurring within a multiframe. Current Frame increments by one each time that Current Entry wraps around (indicating that all of the channels in the VC and, therefore, the frame have been serviced). The SDT RX_SAR uses the Current Frame variable to determine whether to process the current frame of data as TDM payload bytes, or as CAS nibbles; the last frame of each multiframe (frame 16 in the E1 case, frame 24 in the DS1 case) carries CAS data. Current Frame is reset to 0 each time it finishes processing the final frame of a multiframe, or when a forced pointer reframe occurs. The Current Entry field points to the Reassembly Circular Buffer Base Address within the SDT Reassembly Control Structure which corresponds to the output TDM channel to which the current byte of received cell data is destined. The pointer is used in combination with the SDT RX_SAR Write Pointer to determine the exact location in external memory to which the data is written. Each SDT Reassembly Circular Buffer for a VC is addressed by the same write pointer. The write pointer is incremented by one each time that all of the buffers for the VC have been written to (i.e., each time Current Entry wraps around). The data written to each circular buffer entry has the format shown in Figure 29, “Per-Channel SDT Reassembly Circular Buffer,” on page 82. When a VC is not carrying CAS, multiframes are not used. Therefore, the MF bit is always 0. Also, in non-CAS VCs, since no CAS is being extracted from received cells, the user should, in most cases, configure the SDT Reassembly Control Structure for the VC so that the CASx field in each entry in the control structure is 0. Therefore, all zeroes will be written to the CAS field within the corresponding channel’s Reassembly Circular Buffer. However, if the user wants to send specific CPU-defined signalling out on a channel’s CSTo output, the user can put the desired data in the CASx fields of the control structure. Whatever data is present in the CASx fields is always transferred to external memory. 83 Zarlink Semiconductor Inc. MT90520 Data Sheet When the processing of CAS nibbles is enabled (i.e., the CAS<0> bit in the SDT Reassembly Control Structure for a VC is set) the module first has to determine the location of the CAS nibbles within the received cells. In general, data which is extracted from cells when the Current Frame is equal to the CAS frame (frame 16 in E1 mode; frame 24 in DS1 mode), is considered to be CAS. However, within the MT90520, extra checking routines are performed to ensure that the data that is extracted from the received cells is really CAS, before it is treated as such. If there is any doubt about the integrity of the CAS (e.g., Fast SN Processing state machine is not in sync; a pointer reframe is pending), the received data is not processed as CAS. Instead, the CASx fields in the SDT Reassembly Control Structure are not updated until the error conditions have been removed and there is confidence regarding the alignment of TDM and CAS data with the correct TDM output channels. Another point should be made: the CASx fields are only updated if the CAS<1> bit in the SDT Reassembly Control Structure for the VC is cleared, indicating that the user wishes to use the received CAS nibbles, rather than user-defined signalling. If all of the error-checking conditions outlined above are met, the extracted CAS nibble is written to the CASx field of the SDT Reassembly Control Structure, corresponding to the Current Entry pointer. Note that strict multiframing is not used in the MT90520 device, due to concern about delay. Although CAS and TDM data are meant to be aligned, the MT90520 device would have to store up all of the data for an entire AAL1 structure (i.e., a complete multiframe) if the TDM data was to be output simultaneously with the corresponding CAS data. The resultant delay in the reception of data at the TDM ports is considered to be undesirable, so extra buffering of TDM data is not performed. Instead, when all of the channels in the VC have had their corresponding CAS nibbles processed, the Current Entry and Current Frame values wrap around. In the frame following that in which CAS data is received (i.e., the first frame of the multiframe), the new CAS data is output to the TDM module. As well, the MF (multiframe) bit is set in each SDT Reassembly Circular Buffer corresponding to the VC. This indicator is used by the TDM module to align data with the SToMF signal on the TDM interface bus. One other user-programmable option is possible with respect to the reception of CAS data. When a CAS nibble is received and is considered valid, regardless of whether the user has decided to enable write-backs via the clearing of CAS<1>, it is possible for an examination of the nibble to be performed. If the user sets CAS<2>, the received nibble is compared to the previous CAS nibble for the channel (stored in CASx). If the nibble has changed, the Cc (CAS Changed) bit of the VC’s SDT Reassembly Control Structure is set. User software could be configured to read the VC’s CAS nibbles and monitor for changes when the Cc bit is set. SDT Overflow and Underrun Detection The SDT RX_SAR is responsible for generating buffer overflow and buffer underrun error notifications on a per-VC basis. In addition to determining if errors occur, the SDT RX_SAR also attempts to compensate for these slips by adjusting its write pointer. The goal of the write pointer adjustment is to prevent the occurrence of multiple consecutive slips. Upon start-up, the SDT RX_SAR write pointer is set to a pre-defined slip-pointer value, regardless of the current relationship between the SDT RX_SAR write pointer and the TDM read pointer. Therefore, if no slips occur, the write pointer should always be an “average” distance away from the TDM read pointer. For all cells other than the first cell received on a VC, an algorithmic slip-checking routine is performed when the cell is about to be written to the SDT Reassembly Circular Buffer(s). Each time a cell is to be written to external memory, the algorithm looks at the relationship between the SDT RX_SAR’s write pointer and the controlling port’s TDM module’s read pointer (the controlling port is determined by the setting of the VC TDM Port field). The algorithm then determines whether the next write to occur will be an “okay” condition, an overflow, or an underrun. Generally speaking, an “okay” condition means that the SDT RX_SAR is trying to write to a memory location which is within a pre-defined distance (determined by Maximum Lead) from the TDM read pointer. Overflow conditions are conditions in which there is a risk of the SDT RX_SAR over-writing data which has yet to be read by the TDM module. Underruns occur when the TDM has begun to re-read data from the buffer because it has not been replaced by new data from the SDT RX_SAR. If an “okay” condition is detected, the SDT RX_SAR is permitted to write to the SDT Reassembly Circular Buffer(s) at the location determined by the SDT RX_SAR Write Pointer and the Reassembly Circular Buffer Base Addresses fields from the VC’s SDT Reassembly Control Structure. In the case of a slip (either an underrun or an 84 Zarlink Semiconductor Inc. MT90520 Data Sheet overflow), the SDT RX_SAR’s write pointer is adjusted such that the cell is written to the circular buffer at the location of the pre-calculated slip pointer. In addition, when slips are detected, the corresponding MIB statistics fields (Buffer Underruns or Buffer Overflows) in the active VC’s SDT Reassembly Control Structure are incremented. SDT Received Cell Counter The SDT RX_SAR also provides the user with the number of SDT cells received from the UTOPIA block. This 16bit counter value can be viewed in register SRCCR at address 2048h. This counter is an overall SDT cell counter: it is incremented every time an SDT cell is received from the UTOPIA (regardless of whether the cells are discarded by the SDT RX_SAR). When this counter rolls over, a status bit gets set in the SRCSR register at address 2046h. This status bit can be cleared by software. This rollover condition can also generate a service request to the CPU if the corresponding service enable bit is set. The user is also provided with a per-VC cell counter. This counter is located in the SDT Reassembly Control Structure (see Figure 28 on page 70). The operation of this counter is similar to the overall SDT cell counter. When the per-VC counter rolls over, a status bit gets set in the control structure and can be cleared by the user. The rollover condition can also generate a request to the CPU if the SDT_REAS_ROLL_SE bit is set in the SRSER register at address 2042h. The CPU can then read the contents of the SERVICE_ADD field of the SRSR register at address 2044h to identify which control structure generated the service request. Complete Reassembly Data Flow Overview The following figures give a top-level view of the data flow in the reassembly direction within the MT90520 device. Figure 30 shows the complete segmentation data path in UDT mode, from the incoming TDM data bus to the outgoing UTOPIA data bus, whereas Figure 31 shows the complete segmentation data path in SDT mode. . UTO_IN_CLK UTO_IN_ENBATM_CLAVPHY RX UTOPIA FIFO UTO_IN_CLAVATM_ENBPHY UTO_IN_SOC UTO_IN_DATA[15:0] UDT RX_SAR UTO_IN_PAR UTOPIA Module UDT Reassembly Circular Buffer (one per port in int. memory) UDT Reassembly Control Structure (one per port in internal memory) TDM Output Buffer TDM Interface Module (one per port) MT90520 Figure 30 - Overview of CBR Data Reassembly Process (UDT Mode) 85 Zarlink Semiconductor Inc. DSTo LOSo SToCLK MT90520 Data Sheet . VC Look-Up Table SDT Reassembly Circular Buffers (one per TDM channel) External ZBT SRAM UTO_IN_CLK UTO_IN_ENBATM_CLAVPHY TX UTOPIA FIFO UTO_IN_CLAVATM_ENBPHY UTO_IN_SOC UTO_IN_DATA[15:0] SDT RX_SAR TDM Output Buffer UTO_IN_PAR UTOPIA Module SDT Reassembly Control Structure (one per VC in internal memory) DSTo CSTo SToCLK SToMF TDM Interface Module (one per port) TDM SDT Reassembly Control Structure (one per port in internal memory) MT90520 Figure 31 - Overview of CBR Data Reassembly Process (SDT Mode) 4.6.1.6 Clock Recovery Operations The SDT RX_SAR and the UDT RX_SAR are responsible for generating data required for the performance of clock recovery operations within the MT90520. In the case of adaptive clock recovery, the active RX_SAR must generate a digital phaseword for transport to the internal per-port PLL. If SRTS clock recovery is being used, the RX_SAR extracts 4-bit RTS values from incoming ATM cells and sends them to the corresponding port’s PLL. Digital Phaseword Generation for Adaptive Clock Recovery If the user has decided to use adaptive clock recovery to generate the TDM output clock, SToCLK, for a port, the A (Adaptive Enable) bit in the UDT/SDT Reassembly Control Structure for the port must be set. In the UDT case, there is only one VC per port. However, in the SDT case, only a single VC per port (where the port is identified by the value in the VC TDM Port field of the Reassembly Control Structure) may have its A bit set. Note: In addition to the Reassembly Control Structure, the PLL for the port must also be configured to operate in adaptive mode. If the A bit is set, the UDT RX_SAR or the SDT RX_SAR is responsible for generating a digital phaseword for the port’s PLL. These phasewords represent the fill level of the Reassembly Circular Buffer(s) for a port. In UDT mode, if it is determined that a VC is cut (see Section 4.6.2.1 on page 87), no cells are being received at the UDT RX_SAR. As a result, there is no frame of reference with which to adjust the output TDM clock rate. Accordingly, the PLL is placed into holdover mode until cells are once again being received on the VC. At that point, the output clock rate can be adjusted based on the buffer fill level. For more information, see Section 4.7.2.6, “Adaptive Clock Recovery Circuit,” on page 102. 86 Zarlink Semiconductor Inc. MT90520 Data Sheet RTS Reception for SRTS Clock Recovery Although the actual SRTS clock recovery processing is a function of the Clock Management module of the MT90520 device, the UDT RX_SAR and the SDT RX_SAR are responsible for the extraction of RTS nibbles from incoming cells, for transfer to the clocking module. In order to provide SRTS clock recovery, the UDT RX_SAR and SDT RX_SAR extract the RTSs (Residual Time Stamps) carried in the CSI bits of received ATM cells. Each time an odd-sequence-numbered cell from a preselected VC arrives, the RX_SAR extracts the CSI bit from the AAL1 header byte for the cell and stores it. When the entire RTS nibble (4 bits) has been received, it is transmitted to the Clock Management module of the MT90520 device. In UDT mode, there is only one VC per TDM port, so the user may select it to recover RTS timing information by setting the S (SRTS Enable) bit in the UDT Reassembly Control Structure for the port’s VC. In SDT mode, it is possible to have multiple VCs per TDM port; however, the user may select only a single VC as the source of clock recovery data for a port (the port identified by the VC TDM Port field). This selection is made by setting the S (SRTS Enable) bit in the SDT Reassembly Control Structure for the selected VC. SRTS clock recovery within the MT90520 device is performed on a per-port basis, with a maximum of one VC per port carrying clocking information. Because there is only one RTS Reception sub-module to handle all of the UDT VCs (and another RTS Reception sub-module for all of the SDT VCs), variables associated with the recovery of the individual RTS bits are stored in internal memory (in the form of fields within the Reassembly Control Structures for the VCs). Because RTS values are extracted from received cells, there is always the possibility of error (e.g., cells are received out of order, so the RTS bits are also in the wrong order). As such, a protection mechanism is included in the RTS extraction sub-module. Each time that the RX_SAR sends an RTS nibble to the port’s Clock Management module, it also sends an extra bit. This bit indicates whether the current RTS value is valid. If the RTS value is invalid, the PLL discards the RTS value (as well as the locally-generated RTS value used for comparison). The PLL goes into holdover mode, in which the output clock rate is not adjusted based on the input signals. When the next “valid” RTS value is received, the PLL resumes making adjustments to the output clock rate. For more information, see Section 4.7.2.5, “Receive SRTS Circuit Sub-Module,” on page 101. Note that in SDT mode, when using SRTS clock recovery, the MT90520 can have a maximum of 32 channels per VC. Also, no support for SRTS clock recovery is provided when operating in CAS mode. 4.6.2 Timeout Circuitry The timeout circuitry is used to perform a variety of tasks related to the inter-arrival time between two consecutive cells on a VC. 4.6.2.1 Cut VC Monitoring The first task performed by the timeout circuitry is related to the per-VC MIB statistic, atmfCESCellLossStatus. According to the CES standard, this integer-valued status field must be set to a loss value “when cells are continuously lost for the number of milliseconds specified by atmfCESCellLossIntegrationPeriod”. Within the MT90520, rudimentary support for this statistic is provided on a per-VC basis. This functionality is supported via the VC Arrival (V) bit within each UDT/SDT Reassembly Control Structure. This bit is set by the UDT RX_SAR or the SDT RX_SAR each time a cell arrives on a particular VC. However, the CPU can, via software, clear this bit to a value of ‘0’. Software can then monitor the value of this bit at regular intervals. If the bit is still ‘0’ when polled, no cells have been received on the VC since the bit was last cleared by the CPU. If the bit is still ‘0’ after a userconfigurable period of time, as defined within the user’s software, a cut-VC (cell loss) may be declared. Therefore, the usage of this control structure bit, with software support, provides per-VC timeout monitoring as defined within the CES specification. 87 Zarlink Semiconductor Inc. MT90520 Data Sheet In addition to the above per-VC monitoring, the MT90520 also features extra cut-VC monitoring in the UDT case. This extra functionality is provided on a per-port basis (note that for the UDT mode of operation, per-port is the equivalent of per-VC). In order to enable this monitoring, the user must configure the MIB Timeout Configuration Register at byte-address 3000h to set the Reassembly Cell Loss Integration Period. The value written in this field is used by each of the per-port timeout circuits in the MT90520 (i.e., it is a device-wide value and is not programmable on a per-port basis). The value within the field is expressed in terms of milliseconds and has a default value of 2.5 s. When any of the 8 per-port timeout counters reaches the timeout period without a cell arriving on the VC for the port, the CUT_VC_STATUS bit for the port is set in the port’s corresponding Timeout Configuration Register. 4.6.2.2 Late Cell Insertion In UDT mode, the MT90520 provides per-port CDV monitoring. The user must, on a per-port basis, configure the LATE_CELL_PERIOD field in the port’s Timeout Configuration Register. The value within the field is expressed in terms of 125 µs increments, and has a default value of 256 ms. If an internal counter reaches the LATE_CELL_PERIOD, the LATE_CELL_STATUS bit for the “late” VC will be set in the Timeout Configuration Register for the port. Additionally, as explained in section “UDT Mode of Operation” on page 73, if the UDT RX_SAR has been configured by the user to insert dummy cells in late-cell cases and the internal counter reaches LATE_CELL_PERIOD, a dummy cell will be inserted into the port’s UDT Reassembly Circular Buffer. 4.6.2.3 Underrun Detection The per-port timeout circuitry provides underrun detection in the UDT mode of operation. In UDT mode, underruns are detected automatically if the TDM read pointer to a UDT Reassembly Circular Buffer is ever equal to the UDT RX_SAR’s current write pointer for the corresponding port. An underrun is noted because the TDM module is reading an address within the UDT Reassembly Circular Buffer which has yet to be written by the UDT RX_SAR. When a UDT underrun is detected, notification is sent to the UDT RX_SAR, so that it can make adjustments to its next write pointer value, and so that the MIB statistics can be updated accordingly. At the same time, notification of the underrun is sent to the TDM module, causing the TDM module to output silence data (i.e., all ones) on DSTo for the port, until the underrun condition is resolved. 4.6.3 Data RX_SAR Module Whereas the UDT RX_SAR and SDT RX_SAR handle CBR AAL1 cells, the Data RX_SAR handles non-CBR data cells. These cells may be AAL5 signalling cells, OAM-type data cells, or any other ATM cells which are received on VCs which meet the VPI/VCI matching restrictions of the UTOPIA interface of the MT90520. The Data RX_SAR does not process or manipulate the data cells. Rather, it simply accepts cells which have been sent to it by the UTOPIA’s VPI/VCI filter mechanism. Once cells are accepted by the Data RX_SAR, they are stored in a multi-cell circular buffer in external memory, where they can be analyzed by a CPU, under software control. 4.6.3.1 Mode of Operation Unlike the UDT RX_SAR and the SDT RX_SAR, the Data RX_SAR within the MT90520 can be disabled (default = “off”). Unless enabled by setting the Data RX_SAR Enable bit in the Data RX_SAR Control Register at address 2020h, the Data RX_SAR ignores any incoming data cells, even if they are recognized as data cells by the UTOPIA module. The entire 54-byte received cell (i.e., 5 bytes of header, 1 “filler” header byte (UDF2 field) required for the 16-bit UTOPIA bus, and 48 bytes of payload) is copied to a location in external memory which is identified by the Data RX_SAR Cell Buffer base address and a hardware write pointer. The base address of the buffer is userprogrammable (in the Data RX_SAR Configuration Register at 2024h), as is the number of cells that can be stored 88 Zarlink Semiconductor Inc. MT90520 Data Sheet in the buffer. The user can select (via the register at byte address 2024h) a buffer capable of holding 16, 32, 64, or 128 cells. Each cell is allocated 64 bytes in external memory. A particular cell entry within the buffer is selected to be written to via the Data RX_SAR write pointer. The write pointer can not be modified by the CPU; therefore, following the assertion of Data RX_SAR Enable, writes always begin at cell location #0 within the buffer. Received Data Cell Counter The Data RX_SAR also provides the user with the number of data cells received from the UTOPIA block. This 16bit counter value can be viewed in register DRCCR at address 202Ah. This counter is incremented every time a data cell is received from the UTOPIA. It is not reset when the Data RX_SAR is disabled. When this counter rolls over, a status bit gets set in the DRSR register at address 2022h. This status bit can be cleared by software. This rollover condition can also generate a service request to the CPU if the corresponding service enable bit is set in the DRCR register at address 2020h. 4.6.3.2 Error Handling In order to prevent the CPU from reading cell locations that have not yet been written, a register is provided to store the value of the CPU’s read pointer. Upon start-up, this register is reset to point to the final cell location within the buffer. In general, to prevent slip conditions, software should be designed to ensure that the CPU’s read pointer is never pointing to a cell location pointed to by the Data RX_SAR write pointer. During a cell-write operation, the write pointer indicates the cell location which is currently being written (the cell is not yet valid for reading). At the end of the write process, the write pointer is incremented, pointing to the cell location which will be written with the next received data cell. Contrarily, the CPU’s read pointer should be incremented at the beginning of a cell-read, to point to the cell location that is currently being read. At the end of a cell-read, software should not increment the read pointer. The Data RX_SAR Cell Arrival status bit is provided to permit greater software control. This bit in the Data RX_SAR Status Register (address 2022h) is set each time that a cell has been completely written into the Data RX_SAR Cell Buffer. The bit signifies to the CPU that valid data has been written into the buffer. Software can clear this status bit by performing a write of ‘0’ to the register bit location. At the end of each cell-write cycle, a comparison is made between the CPU’s read pointer and the Data RX_SAR’s write pointer. If the write pointer is at a distance of half the buffer size from the CPU’s read pointer, a buffer half full condition is flagged by setting a status bit (Data RX_SAR Buffer Half Full) in the Data RX_SAR Status Register (DRSR). Software can clear this bit by writing ‘0’ to the register bit location. If a buffer half full condition is not detected, the CPU’s read pointer is compared to the Data RX_SAR’s write pointer. If they are equal, an overrun condition is flagged by setting a status bit (Data RX_SAR Cell Buffer Overrun Error) in the Data RX_SAR Status Register at address 2022h. This status bit can be cleared by performing a write of ‘0’ to the register bit location. The overrun status bit may be interpreted by the user’s software in two possible ways: • If the CPU is in the middle of a read operation (i.e., it has started processing a cell in the buffer, but has not read the entire cell), this flag signifies that a buffer overrun event has occurred - the Data RX_SAR has overwritten the cell location which is being read by the CPU. In this case, software should discard the portion of the cell already read by the CPU and advance the read pointer so that it is pointing to a valid cell location. • On the other hand, if the CPU is not performing a read operation, the flag signifies that a buffer overrun is about to occur. Specifically, an overrun could occur on the next cell-write. If the CPU does not read the complete subsequent cell in the buffer before the next cell-write occurs, any data stored in that cell location will be overwritten by the Data RX_SAR. As such, the next cell (which may or may not actually be overwritten) should still be treated as corrupted. 89 Zarlink Semiconductor Inc. MT90520 4.7 Data Sheet Clock Management Module The Clock Management module of the MT90520 is designed to provide both clock control and clock recovery functions. The primary control function of the module is to generate clock signals and frame pulses to be output via the MT90520’s TDM interface. With regard to clock recovery, the Clock Management module is responsible for performing synchronous clock recovery, Synchronous Residual Time Stamp (SRTS) clock recovery, and Adaptive (ACM) clock recovery, as required to meet the CES specification, af-vtoa-0078.000. 4.7.1 4.7.1.1 Overview Clock Control When the DS1/E1 ports of the device are operating in UDT mode, the Clock Management module generates the per-port PCM output clocks required to interface with LIUs or framer/LIUs, based on a user-selectable clock source. When operating in SDT mode, the Clock Management module generates the output clock signals as in UDT mode. However, rather than interfacing with LIUs or framer/LIUs, these signals are output to framer devices. TDM backplane mode is a sub-set of SDT operation in which the MT90520 device interfaces directly to a TDM backplane. In this mode, each TDM port of the device is serviced by a common clock in both the input and output directions. When operating in TDM backplane mode, the Clock Management module is responsible for the generation of bidirectional clock and frame pulse signals. In order to support a variety of customer applications, the clock can be running at either once or twice the TDM data rate. When operating in backplane slave mode, the backplane clock signal and frame pulse are routed directly from the external pins through the Clock Management module to the TDM bus module. Contrarily, when the MT90520 is operating as the TDM backplane master, it is the responsibility of the Clock Management module to generate both the clock and frame pulse signals. These signals are transmitted to external device pins as well as to the TDM bus module. As a secondary clock control function, the Clock Management module always provides a continuous TDM line rate clock to the TDM bus module when operating in UDT mode. In the event of a Loss of Signal (LOS) condition, the Clock Management module automatically routes the port’s internally-generated PLL clock to the TDM bus module if the user has selected the port’s STiCLK as the source for SToCLK. The TDM bus module uses a userprogrammable configuration bit (TDM_LOS_CLK in the per-port TDM Control Register 1) to select either the external input clock for the port or the port’s internally-generated PLL clock as the source of the TDM sampling clock. As a clock control function which permits clock recovery at the remote end, the Clock Management module generates Residual Time Stamp (RTS) signals based on the relationship between the network clock and the local bit-rate clock, on a per-port basis. In the segmentation direction, the RTS values are output to the TX_SAR header generation module, where they are inserted into ATM cells for transmission to the remote end. 4.7.1.2 Clock Recovery In order to meet the CES specification for SDT and UDT operation, the MT90520 provides synchronous, SRTS, and adaptive clock recovery methods. The MT90520 permits synchronous clock recovery in UDT, SDT, and TDM backplane modes. The MT90520 provides synchronous clock recovery via either an internal PLL or an external PLL. In order to comply with the CES specification, the reference source for the optional external PLL must be traceable to a Primary Reference Source (PRS). The user has the option of sourcing the external PLL from a network clock, clocks generated by the MT90520’s internal PLLs, or TDM input clocks. SRTS clock recovery is provided as outlined in U.S. Patent No. 5,260,978. Although the CES specification indicates that SRTS is not required for SDT clock recovery, the MT90520 device permits the use of SRTS in the SDT mode of operation when not operating in the CAS sub-mode. In the reassembly direction, RTS values extracted from 90 Zarlink Semiconductor Inc. MT90520 Data Sheet incoming ATM cells by the UDT RX_SAR or SDT RX_SAR are input to the Clock Management module. Within this module, the RTS values are compared with the network clock and a new line-rate clock is generated by an internal PLL. This clock may be sent directly to the TDM bus module for use as a TDM output clock or it may be used as a reference clock for an external PLL. Adaptive clock recovery is performed by the Clock Management module on a per-port basis, based on the fill level of the Reassembly Circular Buffers. An overview of the functionality of the Clock Management module is given in Figure 32. Clock Management Module Clock Control Clock Selection and Frame Pulse Generation UDT SDT Framer SRTS Clock Recovery LOS Clock Generation Synchronous External PLL Transmit TDM Backplane Network Clock Adaptive Internal PLL SRTS Receive Plesiochronous Figure 32 - Functions of the Clock Management Module At a high level of abstraction, Figure 33 gives a general overview of the interaction between the Clock Management module and other modules within the MT90520 device. The internal configuration of the Clock Management module is examined more fully in the subsequent sub-module descriptions. 91 Zarlink Semiconductor Inc. Data Sheet PRI_REF SEC_REF PRI_LOS SEC_LOS PHY_CLK TDM_CLK MT90520 MT90520 Device CLOCK MANAGEMENT MODULE U T O P I A TX_SAR Module CLOCK CONTROL SUB-MODULE T D M LOS_p Generated RTS Handshaking (Transmit RTS) TDM Bus Module Clock Logic STiCLK_p SToCLK_p SDT RX_SAR or UDT RX_SAR Module Received RTS Handshaking (Receive RTS) F0 C4M/C2M Adaptive Clock Recovery Handshaking I n t e r f a c e F0 C4M/C2M I n t e r f a c e CLOCK RECOVERY SUB-MODULE Note: “_p” notation indicates per-port implementation. Figure 33 - High-Level Block Diagram of the Clock Management Module 4.7.2 4.7.2.1 Functional Description Interface to TDM Sub-Module This sub-module acts as the interface between the Clock Management module and the TDM Interface module. STiCLK_p signals received at the TDM interface are input to this sub-module and are directed to other portions of the Clock Management module. In the output direction, SToCLK_p, C4M/C2M, and framing signals are generated by this sub-module for output to the TDM Interface module. The user has full programmability to select the source of the output clock for each TDM port. A single interface is used to communicate with the TDM Interface module when using either UDT or SDT formatting. A separate interface and additional clocking circuitry are provided for operation in TDM backplane mode. Both interfaces and the associated circuitry are shown in Figure 34 on page 94 and are explained more fully in the text which follows. 92 Zarlink Semiconductor Inc. MT90520 Data Sheet Operation of SDT/UDT Interface There are 4 possible user-selectable clock sources for SToCLK: • the STiCLK signal for the port • the clock generated by the port’s internal digital PLL and transmitted via PLLCLK • a synchronous clock generated from one of a number of user-selectable sources. This is a common clock which is available to all of the DS1/E1 ports of the MT90520. • a divided-down version of the system clock (MCLK/2). The user is able to select the desired clock source via the CLKSEL bits (found in the per-port Clocking Configuration Register at 5200h + p*10h), with MCLK/2 being the default clock which is output on SToCLK. In the event of an LOS condition, the multiplexer automatically selects the port’s PLLCLK reference to be output on SToCLK, if the user had originally selected to use STiCLK as the source of SToCLK. In this way, even if the port’s TDM input clock signal fails, the SToCLK signal is still valid. (Note: The port’s internal PLL goes into holdover mode upon receiving the LOS indication.) The user selects (via register bits) what type of clock is generated by the internal PLL. This clock may have one of the following possible sources: • a synchronous clock generated using the port’s STiCLK input reference (in Line Clocking mode) • a synchronous clock generated using a network reference (in Network mode) • the SRTS-recovered clock for the port (in SRTS mode) • the clock generated using Adaptive Clock Recovery methods for the port (in Adaptive mode). More information about the PLL implementation can be found in Section 4.7.2.7, “Internal Digital PLL Sub-Module,” on page 103. Operation in TDM Backplane Mode When operating in TDM backplane mode, there are two signals which are exchanged between the backplane and the MT90520 device: F0 and C4M/C2M. These bidirectional signals (inputs when the MT90520 is slaved to the backplane; outputs when the MT90520 is the backplane master) are generated only once per device. Unlike the per-port clock and framing signals, these signals are directed into the Clock Management module from the external pins. These signals are then transferred to the TDM bus module. If the MT90520 is operating in slave mode, the C4M/C2M signal is routed to the TDM bus module, where it is used as both the sample and drive clock for each of the DS1/E1 ports. The F0 signal from the external pin is transmitted, unchanged, to the TDM bus module. When operating in master mode, the Clock Management module generates both the C4M/C2M signal and the F0 signal. These signals are transmitted to external device pins as well as to the TDM bus module. The C4M/C2M signal is generated from a common TDM line rate clock, as explained in Section below. The internal frame pulse signal, F0, is generated as a divided-down version of the C4M/C2M clock. The frame pulse signal is configured to a user-programmable format (either an ST-BUS or Generic frame pulse) prior to being output to both the TDM bus module and the F0 pin. Common Clock Source Generation An additional function of the circuitry shown in Figure 34 is the generation of a common TDM line rate clock for use by all of the DS1/E1 ports of the MT90520 device when it is not in backplane mode. The user is able to select the source for this signal (labelled as common TDM rate clock in Figure 34) as coming from either an internal or an external reference. If an external reference is selected, the common clock is sourced from the TDM_CLK pin. On the other hand, should the user not want to employ an external PLL, an internal reference may be selected. In this case, the common clock comes from the PRI_REF reference signal. The PRI_REF signal, which is explained in 93 Zarlink Semiconductor Inc. MT90520 Data Sheet Section 4.7.2.2, “Synchronous Clocking Circuit” may be sourced from the internal PLL clock or the TDM input clock for any DS1/E1 port of the device. Digital PLL SDT/UDT Interface (one per port) PLL_INPUT_SEL Adaptive Mode PLLCLK 4:1 Mux TDM Bus Module 8 kHz Network Mode SRTS Mode STiCLK Line Clocking Mode LOS ... SToCLK 4:1 Mux PLLCLK_0 STICLK_0 PLLCLK_7 STiCLK_7 common TDM rate clock MCLK/2 16:2 Mux PRI_REF SEC_REF CLKSEL External PLL EXT/INT SLV/MSTR PRI_REF TDM_CLK 2:1 Mux C4M/C2M 2:1 Mux /512 or /256 F0_MODE <1:0> F0_MODE<2> SLV/MSTR Convert to External Format Backplane Interface and Common Clock Generation (one per device) 2:1 Mux C4M_C2M_ in C4M_C2M_ out F0_out F0 F0_in Note1: Shaded sections of figure above indicate circuitry outlined elsewhere in this document. Note2: The SDT/UDT interface is replicated on a per-port basis. The backplane interface and common clock generation circuitry are only implemented once per device. Figure 34 - Interface to TDM Bus Module and Common Clock Generation Circuitry 94 Zarlink Semiconductor Inc. MT90520 4.7.2.2 Data Sheet Synchronous Clocking Circuit There are two possible options for generating a synchronous clock which is traceable to a Primary Reference Source (PRS). The first option, referred to as Synchronous Clock #1, is generated via an internal digital PLL. The second, Synchronous Clock #2, is provided via an external PLL. These options are available for UDT, SDT, and TDM Backplane modes of operation. Synchronous Clock #1 (Internal Digital PLL) Each port within the MT90520 device has its own internal digital PLL. Refer to Section 4.7.2.7, “Internal Digital PLL Sub-Module,” on page 103 for information regarding the specifics of the design and its operation. This PLL performs various functions within the MT90520, including SRTS clock recovery (outlined in Section 4.7.2.5), adaptive clock recovery (described in Section 4.7.2.6), and PRS-traceable clock generation, which is explained here. Each PLL continuously generates a clock which runs at the TDM line rate. In this mode, the reference clock for all of the PLLs is provided by an 8 kHz clock, derived as a divided-down version of the network clock. The generation of this reference clock is explained in Section 4.7.2.3 on page 97. The implementation of the synchronous clock generation is shown in Figure 35. MT90520 Clock Management Module 8_kHz (generated by Network Clock Divider Circuit) Digital PLL PLLCLK (Synchronous Clock #1) To “Interface to TDM Sub-Module” Multiplexers & “Synchronous Clocking Circuit” Multiplexers Figure 35 - Synchronous Source Multiplied to TDM Bus Rate by Internal PLL The clock output from the PLL (PLLCLK for each of the DS1/E1 ports) is transmitted to the port’s corresponding SToCLK multiplexer. Synchronous Clock #2 (External PLL) As an alternative to the internal PLL, an external PLL may be used to provide a synchronous clock for transmission onto the TDM output bus. Using this method, a PRS-traceable signal from an external PLL is input to the MT90520 via the TDM_CLK pin. Since this is a “common” clock signal (i.e., one per device), TDM_CLK is routed to a multiplexer, as shown previously in Figure 34. The output of this multiplexer is a common clock which is routed to the clock selection multiplexers (one per port) in the “Interface to TDM sub-module”, detailed previously in Section 4.7.2.1. The implementation of the synchronous clock generation is shown in Figure 36. 95 Zarlink Semiconductor Inc. MT90520 Data Sheet MT90520 From external PLL TDM_CLK (Synchronous Clock #2) TDM_CLK Clock Rates: 1.544 MHz (DS1); 2.048 MHz (E1 and framed DS1); 4.096 MHz (ST-BUS) To “Interface to TDM Sub-Module” Multiplexer Clock Management Module Figure 36 - Synchronous TDM-Rate Clock Generated by External PLL Although the simple process outlined above provides synchronous clocking, the MT90520 also provides circuitry internal to the device which allows the use of plesiochronous clock recovery methods. Using the circuitry shown in Figure 37, the user is able to select a signal to provide a reference clock for the external PLL. The sources available are the per-port STiCLK inputs and the PLLCLK signals which are generated or recovered for each DS1/E1 port of the MT90520. The user can select the STiCLK input or the internal PLL clock from any DS1/E1 port to serve as a reference signal for the generation of SToCLK for any other port. The user is able to choose any of the 16 (2 * 8 ports) sources for the primary reference (PRI_REF), and any of the 16 sources as the secondary reference (SEC_REF). PRI_LOS and SEC_LOS are set to their selected port’s LOS. The user selection for PRI_REF is overridden in an LOS condition to always provide the corresponding port’s internal PLL clock as the primary reference. The user selection for SEC_REF is not overridden by an LOS condition. It is up to the user to select mutually-exclusive sources for the external PLL if redundancy is the goal. Regardless of whether the primary or secondary reference is used, the external PLL output must be programmed to match the desired line rate. The line rate signal which is output from the external PLL is input to the MT90520 device at the TDM_CLK input pin. Alternatively, if the user does not wish to use an external PLL, the PRI_REF signal can be routed directly to the “common clock” multiplexer described previously. This implementation was shown in Figure 34. 96 Zarlink Semiconductor Inc. MT90520 Data Sheet MT90520 TDM Bus Module Clock Management Module {(PRI_SEL[5]|PRI_LOS),PRI_SEL<4:0>} STiCLK0 Clock Rates: STiCLK1 . . . STiCLK7 PLLCLK0 DS1 = 1.544 MHz 16:2 Mux PRI_REF E1 = 2.048 MHz (also used for framed DS1) ST-BUS = 4.096 MHz PLLCLK1 . . . PLLCLK7 External PLL (e.g., MT9042) . . . 16:2 Mux SEC_REF . . . SEC_SEL<5:0> TDM_CLK (Synchronous Clock #2) TDM_CLK Figure 37 - Synchronous TDM Rate Clock Generated by External PLL User-Selectable References 4.7.2.3 Network Clock Divider Circuit This sub-module is implemented only once within the MT90520 device and is used by both the Transmit SRTS and Receive SRTS processes. The required circuitry is shown in Figure 38. The primary function of this sub-module is to create a divided-down network clock, fnxi, from a PHY rate clock (19.44 MHz) which is obtained from an external pin. This sub-module generates a number of different clock rates in accordance with the requirements of the SRTS patent and the CES specification. When operating in UDT mode, only a single multiplexer is required for RTS generation and SRTS clock recovery. Since all of the VCs contain the same amount of data, only one network clock rate is required. This rate is set out in the CES specification, af-vtoa-0078.000, as 2.430 MHz. 97 Zarlink Semiconductor Inc. MT90520 Data Sheet In SDT mode, additional network clock rates are required because the size of the transmitted VCs can differ. The MT90520 permits RTS generation and SRTS clock recovery to be conducted on two different VC sizes (ranging from n = 1 to n = 32) for each device configuration. A secondary function of the network clock divider circuit is the generation of an internal 8 kHz clock signal from the 19.44 MHz network clock. This 8 kHz signal can then be used as a reference clock to the internal PLLs outlined in Section 4.7.2.7. As an alternative, if the user wishes to provide his own 8 kHz reference for the internal PLL, an 8 kHz signal can be input directly on the PHY_CLK pin, provided that SRTS clock generation/recovery will not be used. Clock Management Module 8_KHZ_SEL 2:1 Mux / 2430 PHY_CLK (8 kHz or 19.44 MHz) PHY_CLK 8000 Hz 8_kHz To internal digital PLL / 256 75,937.5 Hz / 128 151,875 Hz / 64 303,750 Hz / 32 607,500 Hz / 16 1.215 MHz / 8 (DS1/E1) 2.430 MHz Mux fnxi1 FNXI1_RATE<2:0> Mux FNXI2_RATE<2:0> Figure 38 - Network Clock Dividers 98 Zarlink Semiconductor Inc. fnxi2 MT90520 4.7.2.4 Data Sheet Transmit SRTS Circuit Sub-module In the segmentation direction, the purpose of the transmit SRTS circuit sub-module is to generate 4-bit Residual Time Stamps (RTSs) to be inserted within the headers of ATM cells output on the UTOPIA bus. In the reassembly direction, this circuit is used to generate local RTS values which are compared (by an internal PLL) with the RTS values extracted from received cells. Segmentation operation is explained in this section, but the reassembly function is discussed in Section 4.7.2.5, “Receive SRTS Circuit Sub-Module”. As outlined in U.S. Patent No. 5,260,978, in the segmentation direction, the transmit SRTS circuit compares the local clock rate, determined by STiCLK for a particular port (in independent clocking or ST-BUS backplane mode) or C4M/C2M (when operating in Generic backplane mode) with the output of an fnxi counter clocked by the Network Clock Divider circuit examined in Section 4.7.2.3 on page 97. The result of the comparison is stored in a FIFO, for eventual transmission of the RTS nibbles to the TX_SAR. Underrun and overflow detection are provided on the Transmit SRTS FIFO via status bits in CPU-accessible registers. The circuit operates in essentially the same way in the reassembly direction, except that the local clock rate is determined by the clock at the output of the port’s internal PLL, PLLCLK. As well, in the reassembly direction, data is sent to the Receive SRTS sub-module rather than being sent to the Transmit SRTS FIFO. Figure 39 shows how the circuit is implemented. TX_SAR Module Clock Management Module To port’s PLL for RX SRTS Recovery SDT/UDT RTSSEL SDT/UDT STiCLK C4M/C2M Divider Circuitry sync_clk Mux PLLCLK Gapping Circuitry (see Figure 40) 2:1 Mux RTS_CLK (/ 3008 or / 3000) RTS_int<3:0> New FIFO Entry 5-deep 4-bit FIFO 4 Transmit RTS Value 4 2:1 Mux fnxi counters (generated by Network Clock Divider Circuit) FNXISEL fnxi2_count<3:0> fnxi1_count<3:0> Note 1: The 4-bit fnxi counters are only required once per device. All the other circuitry is instantiated on a per-port basis. Note 2: PLLCLK is used when receiving RTS (clock recovery) or to dejitter the clock before generating RTS. Figure 39 - Transmit SRTS Sub-module UDT Operation The STiCLK or PLLCLK signal for each port (C4M/C2M isn’t used, because it is an SDT-mode signal) is divided down to generate a clock, RTS_CLK. This clock has the same frequency as a cycle of RTS. Since one RTS value is transmitted over the course of 8 cells, the division is by 3008, the number of payload bits transmitted within one RTS period (8 cells containing 47 payload bytes). Every time RTS_CLK pulses, the current value of the appropriate fnxi counter is stored in a FIFO. A value from the FIFO is transmitted to the TX_SAR cell header generator circuit once every 8-cell sequence. 99 Zarlink Semiconductor Inc. MT90520 Data Sheet SDT Operation In some cases, the STiCLK/C4M/C2M/PLLCLK input clock requires modification prior to being used in the RTS generator circuit described above. The line rate clock (i.e., 2.048 MHz for DS1/E1/backplane) which is input to the MT90520 represents the rate at which bits are being received on a particular port. In SDT mode, the line rate only represents the bit rate of a VC if the entire stream (e.g., 32 channels in ST-BUS mode) is transmitted in a single VC. For all other cases (i.e., for N-channel VCs, where N is less than the maximum number of channels on a port), the RTS-generating clock must represent the bit rate of a particular VC. This bit rate is determined by the number of channels transmitted within a VC. Figure 40 below shows the line rate clock being passed through the gapping divider circuitry to generate a bit-rate clock. N line rate clock N carry = linerate × -------------------------framesize + (2.048 MHz synchronized to mclk) accumulator Note1: N < 24 for DS1; N < 30 for E1; N < 32 for ST-BUS Note2: frame size = 32 for DS1/E1/ST-BUS Figure 40 - Gapping Circuitry for SDT Operation The gapping circuit operates as follows: the line rate clock (STiCLK, C4M/C2M, or PLLCLK) must be equal to a framed clock rate. For DS1, E1, and backplane modes, this rate must be 2.048 MHz. However, the user must provide this clock differently, depending on the mode being employed. If the port is operating in independent clock mode, the 2.048 MHz clock is presented on STiCLK and the user should select the port’s STiCLK as the source for the RTSSEL mux. When operating in Generic backplane mode, the desired 2.048 MHz clock rate is available at C4M/C2M. Therefore, the user should select C4M/C2M as the source for the RTSSEL mux. When operating in STBUS backplane mode, the C4M/C2M signal has a clock rate of 4.096 MHz. This clock is too high to be the line rate clock for the port. Therefore, the user must provide an appropriate 2.048 MHz clock on the STiCLK input for the port. The user must then select the STiCLK input as the source of the RTSSEL mux. This half-rate STiCLK signal will not be used elsewhere in the port’s circuitry, because the TDM module will use the C4M/C2M clock if it is programmed in backplane mode. In any case, the signal which is output from the RTSSEL multiplexer is input to the circuit at “line rate clock”. “N” in the above figure represents the number of channels in the VC (N < 24 for DS1; N < 30 for E1; N < 32 for ST-BUS). Adding the number of channels to the accumulator at the rate of the line rate clock, the “carry” of the adder provides the desired clock rate. For example, if using a 2.048 MHz line rate with an 18channel VC, we want to achieve the following result: carry = 2.048 MHz * (18/32) = 1.152 MHz. Looking at the hardware implementation, we would see the following: 100 Zarlink Semiconductor Inc. MT90520 Data Sheet N accumulator output accumulator input carry 18 0 18 0 18 18 4 1 18 4 22 0 18 22 8 1 18 8 26 0 18 26 12 1 18 12 30 0 18 30 16 1 18 16 2 1 18 2 20 0 18 20 6 1 18 6 24 0 18 24 10 1 18 10 28 0 18 28 14 1 18 14 0 1 18 0 18 0 ... ... ... ... Table 19 - Sample Gapping Circuitry Calculation (N = 18) Thus, the “carry” signal results in the desired clock rate (in this case, it is slightly greater than 1/2 the line rate clock). After the gapping circuitry, the resulting clock (carry) is divided by 3000, which represents the number of payload bits transmitted within one RTS period (7 cells containing 47 payload bytes, and one cell containing 46 payload bytes). As with UDT operation, every time RTS_CLK pulses, the current value of the fnxi counter is stored in a FIFO. A value from the FIFO is transmitted to the TX_SAR cell header generator circuit every 8-cell sequence. Note: Because of the divide-by-3000 circuitry, the TX SRTS circuitry won’t work when a VC is set up for the SDT w/ CAS mode of operation. The problem is caused by the fact that there aren’t necessarily 3000 TDM payload bits in an 8-cell cycle in these operational modes. Therefore, RTS nibble generation and SRTS clock recovery are only supported in “basic” SDT operation. 4.7.2.5 Receive SRTS Circuit Sub-Module The receive SRTS circuit sub-module generates a bit-rate clock based on RTS values extracted from the headers of ATM cells received on the UTOPIA bus. As outlined in U.S. Patent No. 5,260,978, the receive SRTS circuit generates a recovered clock based on a comparison between the incoming RTS values and the network clock, fnxi. This comparison provides enough information to re-create the remote (transmit) clock at the local end. The Receive SRTS circuitry is quite simple, consisting only of a FIFO and a digital PLL, as seen in Figure 41. In addition, the Receive SRTS circuit makes use of signals generated within the Transmit SRTS circuitry, explained in Section 4.7.2.4. These pre-generated signals are also shown in Figure 41. 101 Zarlink Semiconductor Inc. MT90520 Clock Management Module RX_SAR Module Received RTS Value (4 bits plus validity indicator) Data Sheet 5 5-deep 5-bit FIFO FIFO_RTS<4:0> 5 Digital PLL (refer to Section 4.7.2.7 for details) PLLCLK (SRTS) To “Interface to TDM Sub-Module” Multiplexers & “Synchronous Clocking Circuit” Multiplexers 4 RTS_CLK (generated by Transmit SRTS circuit - indicates new value has been generated) RTS_int<3:0> (generated by Transmit SRTS circuit prior to storage in FIFO) Figure 41 - Receive SRTS Sub-module In general, the Receive SRTS sub-module simply holds a FIFO of RTS values which were extracted from received cells by either the UDT RX_SAR or the SDT RX_SAR. The RTS value transmitted from the RX_SAR to the Clock Management module is actually 5 bits long, rather than a 4-bit RTS nibble. The extra bit provides error-detection to the internal digital PLL. In the event of a lost cell or unrecoverable error being detected by the RX_SAR, the MSB of the received RTS value is set to 1. The internal digital PLL detects this error and discards the current RTS value from both the RX_SAR and the local Transmit SRTS circuit. More detail about this error protection scheme can be found in Section , “RTS Reception for SRTS Clock Recovery,” on page 87. When the port’s PLL requests a new RTS value, the Receive SRTS sub-module sends the required nibble and validity indicator to the PLL. The actual generation of the output clock based on the RTS nibbles is performed within the digital PLL. Refer to Section 4.7.2.7 on page 103 for a detailed explanation of the digital PLL design. Note that underrun and overflow detection is provided on the Receive SRTS FIFO. Two register bits are provided to inform the user that underruns or overflows have been detected. If there were not enough RTS values placed into the Receive RTS FIFO by the UDT RX_SAR or the SDT RX_SAR (e.g., because of multiple consecutive sequence number errors, as explained above), the FIFO would eventually underrun. However, the Receive SRTS FIFO underrun protection puts the PLL into holdover mode automatically. Once an entry has been read from the Receive SRTS FIFO by the PLL, the data at that location in the FIFO is overwritten, marking the data as “invalid”. Although during an underrun event, new RTS values are not being placed into the Receive SRTS FIFO, the PLL continues to read RTS values from the FIFO. Eventually, the PLL will read out previously-read data. The reception of these nowinvalid RTS values forces the PLL into automatic holdover mode. 4.7.2.6 Adaptive Clock Recovery Circuit The adaptive clock recovery technique is recommended in ITU-T I.363.1, but not standardized. The general approach is to monitor the fill-level of the received data buffers to determine the clocking rate. If the fill-level is above average, the local clock must be operating at a lower rate than the remote clock. As such, the local clock frequency should be increased so that the buffer is emptied more quickly. On the other hand, if the fill-level measured is below average, the buffer is being emptied too quickly and the local clock rate should be decreased to match the rate of the remote clock. Within the Clock Management module, the adaptive clock recovery technique is implemented via an internal PLL, as shown in Figure 42. Each port has its own PLL, which is the same as the one outlined for SRTS operation in the 102 Zarlink Semiconductor Inc. MT90520 Data Sheet preceding section. There is not any additional circuitry within the Clock Management module since the RX_SAR is responsible for providing the information required by the PLL. Clock Management Module RX_SAR Module Digital PLL (refer to Section 4.7.2.7 for details) Phaseword PLLCLK (ACM) To “Interface to TDM Sub-Module” Multiplexers & “Synchronous Clocking Circuit” Multiplexers Figure 42 - Adaptive Clock Recovery Sub-module Explanation of Operation: The UDT RX_SAR or the SDT RX_SAR generates a digital phaseword based on the fill-level of the UDT/SDT Reassembly Circular Buffers of the MT90520. The PLL compares the phaseword with an average value for the buffer fill of the Reassembly Circular Buffer in question. The PLL then adjusts the TDM output clock accordingly. As mentioned previously, the phaseword of the Reassembly Circular Buffer is transmitted to the Clock Management module by the RX_SAR. In the case of a slip, the phaseword is set to a pre-determined value within the RX_SAR module. In such a case, the phaseword indicates to the PLL the type of slip which occurred (i.e., underrun or overflow) so that the PLL can adjust the clock rate appropriately. In the case of a cut VC (i.e., no cells are arriving at the RX_SAR) or upon initialization, the phaseword is set in such a way that the PLL does not adjust the TDM output clock. More explanation regarding phaseword generation can be found in Section , “Digital Phaseword Generation for Adaptive Clock Recovery,” on page 86. 4.7.2.7 Internal Digital PLL Sub-Module There is a separate Stratum 4 digital PLL for each of the 8 ports in the MT90520 device. This module takes care of generating several network clocks with the appropriate quality. The same PLL is used for clock recovery from TDM clocks, network clocks, SRTS data, or buffer pointer data in adaptive mode. In all modes of operation (explained below), the PLL is capable of generating an output clock of 1.544 MHz, 2.048 MHz, or 4.096 MHz. The frequency generated is determined by the PLL_FREQ_SEL bits in the per-port Clocking Configuration Registers. Architecture A digital PLL must provide a clock synchronous to some input signal. Since there are several types of incoming signals to synchronize to, the per-port PLLs require dedicated phase detectors for the various types of input. The basic PLL architecture, however, is the same for all situations. It consists of a phase detector, a loop filter, a digital controlled oscillator and a divider (see Figure 43). 103 Zarlink Semiconductor Inc. MT90520 Data Sheet Filter implemented in software (via CPU) DCO_DIFF frequency offset Phaseword Clock Received RTS Loop Filter Phase Detector DCO Divider Network mode SRTS Generator 8 kHz_PLL output clock 2:1 Mux * RTS out fnxi * - outside PLL module Figure 43 - Block Diagram of the Digital PLL Module Modes of Operation (PLL_INPUT_SEL bits) The PLL has four major modes of operation which are configured on a per-port basis via the PLL_INPUT_SEL bits in the Clocking Configuration Registers. The four modes are, briefly, as follows: • Line-clocking mode: Synchronize to a 1.544 MHz, 2.048 MHz, or 4.096 MHz clock input to the chip on the port’s corresponding STiCLK input line. Generate an outgoing clock with the appropriate frequency. The outgoing service clock (1.544 MHz, 2.048 MHz, or 4.096 MHz) is phase-locked to the input clock. This mode of operation may be used to “clean up” a jittery input clock. In line-clocking mode, the maximum locking time is about 15 seconds. • SRTS mode: Synchronize to the incoming RTS nibbles (time stamps). Generate a 1.544 MHz, 2.048 MHz, or 4.096 MHz clock. The proper service output clock is fed into the per-port SRTS generator (outlined in Section 4.7.2.4, “Transmit SRTS Circuit Sub-module,” on page 99) to generate a local RTS value that is compared with subsequent received RTS values. In SRTS mode, the maximum locking time is approximately 100 seconds. • Network mode: Similar to line-clocking mode, but the input clock is an 8 kHz clock (coming either directly from the PHY_CLK pin or from a divided down version of a 19.44 MHz clock input at the PHY_CLK pin). The 8 kHz clock is sourced from the Clock Management module, as explained in Section 4.7.2.3, “Network Clock Divider Circuit,” on page 97. The output clock (1.544 MHz, 2.048 MHz, or 4.096 MHz) is synchronous and phase-locked to the 8 kHz input clock. In network mode, the maximum locking time is about 40 seconds. • Adaptive mode: Synchronize to the incoming cell stream by monitoring the fill level of a VC’s Reassembly Circular Buffers. The PLL receives a phaseword from the UDT RX_SAR or SDT RX_SAR. A clock rate of approximately 1.544 MHz, 2.048 MHz, or 4.096 MHz is generated, depending upon the PLL_FREQ_SEL bits. Note that the UDT RX_SAR and SDT RX_SAR Reassembly Control Structures must be configured appropriately if either Adaptive or SRTS Clock Recovery methods are to be used. For more details, refer to the UDT RX_SAR and SDT RX_SAR module descriptions in Section 4.6.1, “UDT RX_SAR and SDT RX_SAR Modules” earlier in this document. 104 Zarlink Semiconductor Inc. MT90520 Data Sheet Sub-modes of Operation (PLL_MODE_SEL bits) Within each mode described above, the PLL has four sub-modes: • Normal sub-mode: The input (be it a clock, RTS nibbles, or phasewords) is used to synchronize the PLL output clock to the input. • Holdover sub-mode: Either when configured as such by the user (via the PLL_MODE_SEL bits) or when a port experiences an LOS condition (while operating in UDT mode), the PLL is switched to holdover submode. When in the holdover state, the PLL ignores the input and holds the output clock at its current deviation from the center frequency. • Freerun sub-mode: In this sub-mode, a clock rate of 1.544 MHz, 2.048 MHz, or 4.096 MHz is generated. No input is used and the output frequency is fixed to the nominal center frequency. • CPU sub-mode: In this mode of operation, the offset from the center frequency of the output clocks is determined by the value written to the per-port Clocking DCO Difference Register by an external CPU. The value programmed by the CPU is used to set the PLL output frequency directly, instead of using the PLL’s internal filter output. This mode is intended to put an external CPU into the PLL loop. The CPU can read the filter output (from the per-port Clocking Phase Accumulator Register), process it, and write the desired factor to the DCO. This mode of operation might be used if the user wanted to implement a loop filter with a very large time constant. More detail regarding how to configure the PLL for the various modes of operation can be found in the register descriptions for the Clock Management Module, found in Section 6.2.8 on page 136. 4.7.2.8 Frequency Behaviour The PLL must generate frequencies with an accuracy as stated in Table 20. The accuracy defines the freerun accuracy and the locking range of the PLL. The accuracy of the master clock (MCLK), which has to be running at 66 MHz, must be incorporated into these figures. A freerun accuracy of approximately 0.1 ppm and a locking range of approximately 250 ppm has been implemented, thereby allowing 100 ppm MCLK accuracy and a 150 ppm input clock / RTS nibble range. Clock Frequency (MHz) Accuracy (ppm) 1 UI (ns) C1M5 (DS1) 1.544 -0.13 648 C2M (E1) 2.048 0.05 488 C4M 4.096 0.05 244 Table 20 - Center Frequency and Accuracy Jitter and Wander The af-vtoa-0078.000 standard with respect to jitter and wander points to several ANSI and ITU-T standards, as summarized in Table 21. The jitter requirements are met in all clocking modes. The wander requirements may not (nor need they) be met in adaptive mode. Clock Jitter Wander C1M5 (DS1) ANSI T1.102 ANSI T1.403 ITU-T G.824 ITU-T G.824 ITU-T G.823 ITU-T G.823 C2M (E1) Table 21 - Relevant Specifications The standards from Table 21 specify wander/jitter input tolerance and maximum output jitter. For the input wander/ jitter tolerance, the low frequency parts are the largest and are therefore the most important for the PLL requirements (see Table 22). With a corner frequency larger than 1.2 Hz, the PLL will follow wander below 0.1 Hz. 105 Zarlink Semiconductor Inc. MT90520 Data Sheet The range of the phase detector is therefore based upon the wander tolerance at 0.1 Hz and will be 32 UI peak-topeak (+/- 16 UI). Clock A0 [UIpp] A1 [UIpp] F0 [Hz] F1 [Hz] @ 0.1 Hz C1M5 28 5 1.2E-5 10 6.2 C2M 37 18 1.2E-5 20 23 Table 22 - Minimum Input Wander and Jitter Tolerance The maximum intrinsic output jitter allowed on the output of the PLL is specified in ITU-T G.823/G.824 and is listed in Table 23. That said, the PLL within the MT90520 has a maximum intrinsic output jitter of one half of an MCLK cycle. However, any jitter on MCLK will be directly transferred to the output clocks. Clock A [UIpp] A [ns] C1M5 0.1 65 C2M 0.2 98 Table 23 - Maximum Allowed Intrinsic Output Jitter MTIE (Maximum Time Interval Error) ANSI T1.403 and T1.101 require that the output phase change at a speed of no more than 81 ns per 1.326 ms, with a maximum phase change of 1 µs. Therefore, the slew rate of the DCO input is no more than 61 ppm of the center frequency setting. The “no more than 81 ns / 1.326 ms” requirement is met in all modes. Since the period of the 1.544 MHz, 2.048 MHz, and 4.096 MHz signals is less than 1 µs, that requirement is met automatically when the PLL is in synchronous mode. When switching between modes, the 1 µs MTIE is not guaranteed. Locking Range When using an 8 kHz, 2.048 MHz, or 4.096 MHz input clock, a locking range of + 246 ppm is provided. When the input clock is 1.544 MHz, the locking range is +245 ppm. Note that the locking range is related to the master clock. If the master clock (i.e., MCLK) is 100 ppm too low, the whole locking range also shifts 100 ppm downwards. 4.8 Test Interface The MT90520 contains an IEEE 1149 standard Test Access Port (TAP), which provides Boundary-Scan test access to aid board-level testing. (IEEE 1149 is often referred to by its older designation: JTAG - Joint Test Action Group.) 4.8.1 Test Access Port The test port is a standard IEEE 1149 interface, with the optional TRST pin. The Test Access Port consists of 5 pins: TCK: Boundary-scan Test Clock. TDI: Test Data In; input pin clocked in on the rising edge of TCK. TDI should be pulled HIGH if boundary-scan is not in use. TDO: Test Data Out; output pin updated on the falling edge of TCK. The output is in high-impedance except when data is actually being shifted out. TMS: Test Mode Select; input control line clocked in on the rising edge of TCK. TMS should be pulled HIGH if boundary-scan is not in use. 106 Zarlink Semiconductor Inc. MT90520 Data Sheet TRST: Test Reset; asynchronous, active-low, input which is used to reset the JTAG interface, and the TAP controller. The TRST pin has an internal pull-down, and should also be pulled LOW externally whenever boundary-scan is not in use, to ensure normal operation of the MT90520. Figure 44 below shows a typical board-level design, including how TRST can be pulled HIGH by the test connector in cases where the tester does not provide a TRST pin. Board-Under-Test JTAG Tester Signals JTAG Test Connector MT90520 TCLK TDI TDO TMS TCLK TDI TDO TMS TRST GND Figure 44 - A Typical JTAG Test Connection 4.8.2 JTAG ID The JTAG device ID for the MT90520 is 1052814Bh: Version<31:28>: 0001 Part Number<27:12>: 0000 0101 0010 1000 = 0528h Manufacturer ID<11:1>: 0001 0100 101 LSB<0>: 1 Note that by mistake, two Zarlink products (MT90520 and MT90528) have been coded with the same Part Number into the JTAG Device ID Register. 4.8.3 Boundary Scan Instructions The TAP Controller of the MT90520 supports the following instructions: IDCODE, BYPASS, EXTEST, SAMPLE, HIGHZ, CLAMP. 4.8.4 BSDL A BSDL (Boundary Scan Description Language) file is available from Zarlink Semiconductor to aid in the use of the IEEE 1149 test interface. 107 Zarlink Semiconductor Inc. MT90520 5.0 Memory 5.1 Internal Memory Map CPU Byte Address (hex) Description Data Sheet Notes 8 xxxx - TX_SAR Control Memory 80000 - 87FFE Per-VC UDT and SDT Segmentation Control Structures Normal CPU access - writes and reads Buffer is 16 Kwords long Segmentation SDT Pointer Tables 9 xxxx - SDT RX_SAR Control Memory 90000 - 97FFE Per-VC SDT Reassembly Control Structures Normal CPU access - writes and reads Buffer is 16 Kwords long A xxxx - TDM Output Control A0000 - A003E TDM SDT Reassembly CS - port #0 Normal CPU access - writes and reads A0800 - A083E TDM SDT Reassembly CS - port #1 Each per-port buffer is 32 words long. ... ... A3800 - A3FFE TDM SDT Reassembly CS - port #7 B xxxx - UDT RX_SAR Control Memory BE000 - BE01E UDT RX_SAR CS - port #0 Normal CPU access - writes and reads BE020 - BE03E UDT RX_SAR CS - port #1 Each per-port buffer is 16 words long. ... ... BE0E0 - BE0FE UDT RX_SAR CS - port #7 C xxxx - UTOPIA C 0000 - C07FE UTOPIA RX FIFO CPU read access for debug 32 cells X 64 bytes/cell = 2048 bytes C 1000 - C11FE UTOPIA TX FIFO CPU read access for debug 8 cells X 64 bytes/cell = 512 bytes Table 24 - Internal Memory Map 5.2 External Memory Several buffers and structures are stored in external memory when transmitting and receiving SDT and/or data cells. Since the location of the buffers and structures is not hard-coded in the hardware, the user can program the chip to put these at any location in the external memory. The following list describes the various items located in external memory, if the chip is programmed to support data and SDT cells. As pointed out previously in this document, note that no external memory is required if the device is configured solely for UDT operation, provided that no data cell transmission or reception is required. • UTOPIA Look-up Table • configured based on N, the number of least-significant VCI bits, and M, the number of least-significant VPI bits, (programmed by the user in the UNCB register) used to form the search addresses within the look-up table • maximum of 64 K words 108 Zarlink Semiconductor Inc. MT90520 • • • • Data Sheet Data TX_SAR Cell Buffer • possible sizes: 16 cells, 32 cells, 64 cells, 128 cells (each cell occupies 64 bytes; 32 words) • maximum of 4 K words Data RX_SAR Cell Buffer • possible sizes: 16 cells, 32 cells, 64 cells, 128 cells (each cell occupies 64 bytes; 32 words) • maximum of 4 K words SDT Segmentation Circular Buffers • each channel to be transmitted in ATM cells requires its own Segmentation Circular Buffer. Each buffer occupies 64 words • up to 256 channels (8 ports x 32 channels per port) can be transmitted • maximum of 16 K words SDT Reassembly Circular Buffers • each channel which will be receiving data from ATM cells requires its own Reassembly Circular Buffer. Each buffer has a programmable size, on a per-VC basis. • the size selected for a Reassembly Circular Buffer should be based upon the amount of CDV expected on the VC, as well as the number of channels being carried on the VC (more buffering is required on a per-channel basis for VCs with fewer channels, because more data for each channel is received at once upon cell reception). Note that CDV can be accounted for within a larger-than-necessary buffer by programming the Maximum Lead value. Circular Buffer Size > Maximum Lead + Number of Bytes per Channel per Cell Maximum Lead = 2 bytes + ((2*CDV) / (0.125 ms/byte)). CDV is in ms. Number of Bytes per Channel per Cell = roundup(N/47). N = # of channels per VC. • programmable sizes for Reassembly Circular Buffers are as follows: 64 words, 128 words, 256 words, 512 words, and 1024 words • up to 256 channels (8 ports x 32 channels per port) can be received • maximum of 256 K words Figure 45 shows an example external memory allocation for the structures listed above. The example assumes the maximum memory allocation for each of the structures. The size and location of the structures are programmable and do not necessarily have to be located at the addresses given in the example. The base address in the figure is the base address of external memory. Figure 46 shows another sample external memory allocation for the structures listed above. The example assumes the minimum memory allocation for each of the structures. The example assumes that no data cell transmission or reception is required, that all channels are transmitted in trunking VCs carrying 128 channels (therefore requiring only 2 VCs), and that minimum-sized Reassembly Circular Buffers are required. The size and location of the structures are programmable and do not necessarily have to be located at the addresses given in the example. The base address in the figure is the base address of external memory. 109 Zarlink Semiconductor Inc. MT90520 Data Sheet Hexadecimal Addressing (words) Decimal Addressing (words) 0 0 UTOPIA Look-up Table 64 K 10000 65,536 32 SDT Reassembly Circular Buffers for Port 0 32 * 1 K 32 K 18000 98,304 32 SDT Reassembly Circular Buffers for Port 1 32 * 1 K 32 K 20000 131,072 32 SDT Reassembly Circular Buffers for Port 2 32 * 1 K 32 K 163,840 294,911 . . . 28000 47FFF 48000 294,912 32 SDT Reassembly Circular Buffers for Port 7 32 * 1 K 32 K 327,680 32 SDT Segmentation Circular Buffers for Port 0 32 * 64 entries 2K 50000 329,728 32 SDT Segmentation Circular Buffers for Port 1 32 * 64 entries 2K 50800 331,776 32 SDT Segmentation Circular Buffers for Port 2 32 * 64 entries 2K 51000 333,824 . . . 51800 342,016 32 SDT Segmentation Circular Buffers for Port 7 32 * 64 entries 2K 53800 344,064 Data TX_SAR Cell Buffer 128 cells 4K 54000 348,160 Data RX_SAR Cell Buffer 128 cells 4K 55000 342,015 352,256 537FF 56000 Figure 45 - Maximum External Memory Allocation - Example 110 Zarlink Semiconductor Inc. MT90520 Data Sheet Hexadecimal Addressing (words) Decimal Addressing (words) 0 UTOPIA Look-up Table 16 words 0 16 32 SDT Reassembly Circular Buffers for Port 0 32 * 64 words 2K 10 2064 32 SDT Reassembly Circular Buffers for Port 1 32 * 64 words 2K 810 4112 32 SDT Reassembly Circular Buffers for Port 2 32 * 64 words 2K 1010 6160 . . . 1810 14352 32 SDT Reassembly Circular Buffers for Port 7 32 * 64 words 2K 3810 16,400 32 SDT Segmentation Circular Buffers for Port 0 32 * 64 entries 2K 4010 18,448 32 SDT Segmentation Circular Buffers for Port 1 32 * 64 entries 2K 4810 20,496 32 SDT Segmentation Circular Buffers for Port 2 32 * 64 entries 2K 5010 22,544 . . . 5810 32 SDT Segmentation Circular Buffers for Port 7 32 * 64 entries 2K 7810 14,351 30,735 30,736 32,784 380F 780F 8010 Figure 46 - Minimum External Memory Allocation - Example 111 Zarlink Semiconductor Inc. MT90520 6.0 Data Sheet Registers This section describes the registers contained within the MT90520. The MT90520 is mapped over 1 Mbyte of internal address space. The first 512 Kbytes of address space are allocated for internal register use, while the latter half of address space contains internal memory blocks within the MT90520. As shown in Table 25 on page 113, the device does not implement all of the register space available inside the chip. The unused address space is reserved for future variants of the device. The internal registers are used by the following modules within the device: • Microprocessor Interface • TX_SAR • RX_SARs (UDT, Data, and SDT) • Reassembly-Side Timeout • UTOPIA Interface • Clock Management • TDM Interface • External Memory Interface All registers are 16 bits long. The device only allows 16-bit (word) microprocessor accesses; byte access is not supported. However, the addresses given in the following tables are given as byte addresses. All register addresses and reset values are listed in hexadecimal (Hex) format. The register bit types are: • Read / Write (R/W) - can be read or written via the microprocessor interface. • Read Only Latched (R/O/L) - these bits are set by an activated status source (e.g., counter rollover) within the chip; once set, they remain set even if the status source is deactivated. The microprocessor can read an R/O/L bit and clear it by writing a logic ‘0’ into it (as long as the status source is not active). Writing logic ‘1’ has no effect on this type of register bit. • Read Only (R/O) - can be read via the microprocessor interface. A write to this type of register bit is ignored by the chip. However, these bits should be written with ‘0’ to ensure software compatibility with future versions of the MT90520. 112 Zarlink Semiconductor Inc. MT90520 6.1 Data Sheet Register Overview Byte Address Hex Reset Value Label Description Microprocessor Interface Module 0000 0001 CWRR Chip Wide Reset Register 0002 0000 MSR Main Status Register 0004 0000 LAWI Low Address Word Indirection Register 0006 0000 HAIC High Address Indirection Command Register 0008 0000 IDR 000A 0000 MIER Main Interrupt Enable Register 000C 0001 MRR MT90520 Revision Register Indirection Data Register TX_SAR Module Per-Port TX_SAR Registers 1000 0000 TXPTB_P0 TX_SAR Pointer Table Base Register Port 0 1002 0000 TXPTB_P1 TX_SAR Pointer Table Base Register Port 1 1004 0000 TXPTB_P2 TX_SAR Pointer Table Base Register Port 2 1006 0000 TXPTB_P3 TX_SAR Pointer Table Base Register Port 3 1008 0000 TXPTB_P4 TX_SAR Pointer Table Base Register Port 4 100A 0000 TXPTB_P5 TX_SAR Pointer Table Base Register Port 5 100C 0000 TXPTB_P6 TX_SAR Pointer Table Base Register Port 6 100E 0000 TXPTB_P7 TX_SAR Pointer Table Base Register Port 7 Main TX_SAR Registers 1038 0000 DTCON Data TX_SAR Configuration Register 103A 0000 DTWPR Data TX_SAR Write Pointer Register 103C 0000 DTRPR Data TX_SAR Read Pointer Register 103E 0000 DTCR 1040 0001 DCGTOR 1042 0000 DTSR Data TX_SAR Status Register 1044 0000 TXEN TX_SAR Master Enable Register 00FF URCR UDT Reassembly Control Register 2002 0000 URSER 2004 001F URSR 2006 0000 URCCR 2020 0000 DRCR Data RX_SAR Control Register 2022 0000 DRSR Data RX_SAR Status Register 2024 0000 DRCON Data RX_SAR Configuration Register 2026 0000 DRWPR Data RX_SAR Write Pointer Register 2028 007F DRRPR Data RX_SAR Read Pointer Register 202A 0000 DRCCR Data RX_SAR Cell Counter Register 00FF SRCR Data TX_SAR Control Register Data Cell Generation Time Out Register UDT RX_SAR Module 2000 UDT Reassembly Service Enable Register UDT Reassembly Status Register UDT Reassembly Cell Counter Register Data RX_SAR Module SDT RX_SAR Module 2040 SDT Reassembly Control Register Table 25 - Register Summary 113 Zarlink Semiconductor Inc. MT90520 Byte Address Hex Reset Value Label 2042 0000 SRSER Data Sheet Description SDT Reassembly Service Enable Register 2044 0000 SRSR 2046 0000 SRCSR SDT Reassembly Cell Counter Status Register SDT Reassembly Status Register 2048 0000 SRCCR SDT Reassembly Cell Counter Register Reassembly-Side Timeout Module Main Timeout Registers 3000 09C4 MTCR MIB Timeout Configuration Register 3002 0000 MTSR1 MIB Timeout Status Register 1 Per-Port Timeout Registers 3200 07FF TCR_P0 Timeout Configuration Register Port 0 3202 07FF TCR_P1 Timeout Configuration Register Port 1 3204 07FF TCR_P2 Timeout Configuration Register Port 2 3206 07FF TCR_P3 Timeout Configuration Register Port 3 3208 07FF TCR_P4 Timeout Configuration Register Port 4 320A 07FF TCR_P5 Timeout Configuration Register Port 5 320C 07FF TCR_P6 Timeout Configuration Register Port 6 320E 07FF TCR_P7 Timeout Configuration Register Port 7 UTOPIA Interface Module Main UTOPIA Registers 4000 0004 UCR 4002 0000 UNCB UTOPIA Configuration Register UTOPIA Number of Concatenated Bits Register 4004 0000 ULBA LUT Base Address Register 4006 0000 UVCM VC Match Register 4008 0000 UVCME 400A 0000 UVPM 400C 0000 UVPME 400E 0000 UPM 4010 0030 UFS UTOPIA FIFO Status Register 4012 0000 USR UTOPIA Status Register 4014 0000 USER UTOPIA Service Enable Register 4016 0000 UICC UTOPIA Incoming Cell Counter VC Match Enable Register VP Match Register VP Match Enable Register UTOPIA Parity Mismatches Register Per-Port UTOPIA Registers 4200 0000 UVC_P0 UDT VCI for Port 0 4202 0000 UVP_P0 UDT VPI for Port 0 4204 0000 UVC_P1 UDT VCI for Port 1 4206 0000 UVP_P1 UDT VPI for Port 1 4208 0000 UVC_P2 UDT VCI for Port 2 420A 0000 UVP_P2 UDT VPI for Port 2 420C 0000 UVC_P3 UDT VCI for Port 3 420E 0000 UVP_P3 UDT VPI for Port 3 4210 0000 UVC_P4 UDT VCI for Port 4 4212 0000 UVP_P4 UDT VPI for Port 4 4214 0000 UVC_P5 UDT VCI for Port 5 Table 25 - Register Summary 114 Zarlink Semiconductor Inc. MT90520 Byte Address Hex Reset Value Label 4216 0000 UVP_P5 UDT VPI for Port 5 Data Sheet Description 4218 0000 UVC_P6 UDT VCI for Port 6 421A 0000 UVP_P6 UDT VPI for Port 6 421C 0000 UVC_P7 UDT VCI for Port 7 421E 0000 UVP_P7 UDT VPI for Port 7 Clock Management Module Main Clocking Registers 5000 0001 CMCR Clock Management Configuration Register 5002 0000 PLLCS External PLL Clock Source Register Per-Port Clocking Registers Port 0 5200 0000 CCR_P0 5202 8000 CPAR_P0 Clocking Configuration Register Clocking Phase Accumulator Register 5204 0000 CDDR_P0 Clocking DCO Difference Register 5206 0000 CSFSR_P0 SRTS FIFO Status Register 5208 0001 PLLEN_P0 PLL Enable Register Port 1 5210 0000 CCR_P1 5212 8000 CPAR_P1 Clocking Configuration Register Clocking Phase Accumulator Register 5214 0000 CDDR_P1 Clocking DCO Difference Register 5216 0000 CSFSR_P1 SRTS FIFO Status Register 5218 0001 PLLEN_P1 PLL Enable Register Port 2 5220 0000 CCR_P2 5222 8000 CPAR_P2 Clocking Configuration Register Clocking Phase Accumulator Register 5224 0000 CDDR_P2 Clocking DCO Difference Register 5226 0000 CSFSR_P2 SRTS FIFO Status Register 5228 0001 PLLEN_P2 PLL Enable Register Port 3 5230 0000 CCR_P3 5232 8000 CPAR_P3 Clocking Configuration Register Clocking Phase Accumulator Register 5234 0000 CDDR_P3 Clocking DCO Difference Register 5236 0000 CSFSR_P3 SRTS FIFO Status Register 5238 0001 PLLEN_P3 PLL Enable Register Port 4 5240 0000 CCR_P4 5242 8000 CPAR_P4 Clocking Configuration Register Clocking Phase Accumulator Register 5244 0000 CDDR_P4 Clocking DCO Difference Register 5246 0000 CSFSR_P4 SRTS FIFO Status Register 5248 0001 PLLEN_P4 PLL Enable Register Port 5 5250 0000 CCR_P5 5252 8000 CPAR_P5 Clocking Configuration Register Clocking Phase Accumulator Register Table 25 - Register Summary 115 Zarlink Semiconductor Inc. MT90520 Data Sheet Byte Address Hex Reset Value Label 5254 0000 CDDR_P5 5256 0000 CSFSR_P5 SRTS FIFO Status Register 5258 0001 PLLEN_P5 PLL Enable Register 5260 0000 CCR_P6 5262 8000 CPAR_P6 Clocking Phase Accumulator Register 5264 0000 CDDR_P6 Clocking DCO Difference Register 5266 0000 CSFSR_P6 SRTS FIFO Status Register 5268 0001 PLLEN_P6 PLL Enable Register 5270 0000 CCR_P7 5272 8000 CPAR_P7 Clocking Phase Accumulator Register 5274 0000 CDDR_P7 Clocking DCO Difference Register 5276 0000 CSFSR_P7 SRTS FIFO Status Register 5278 0001 PLLEN_P7 PLL Enable Register Description Clocking DCO Difference Register Port 6 Clocking Configuration Register Port 7 Clocking Configuration Register TDM Interface Module Main TDM Registers 6000 FFFF MAINTDM1 Main TDM Control Register 1 6002 F000 MAINTDM2 Main TDM Control Register 2 Per-Port TDM Registers Port 0 6200 0000 TDM1_P0 TDM Control Register 1 6202 0000 TDM2_P0 TDM Control Register 2 6204 0000 TDM3_P0 TDM Control Register 3 6206 0000 TDM4_P0 TDM Control Register 4 6208 0000 TDM5_P0 TDM Control Register 5 620A 0000 TDM6_P0 TDM Control Register 6 6210 0000 TDM1_P1 TDM Control Register 1 6212 0000 TDM2_P1 TDM Control Register 2 6214 0000 TDM3_P1 TDM Control Register 3 6216 0000 TDM4_P1 TDM Control Register 4 6218 0000 TDM5_P1 TDM Control Register 5 621A 0000 TDM6_P1 TDM Control Register 6 6220 0000 TDM1_P2 TDM Control Register 1 6222 0000 TDM2_P2 TDM Control Register 2 6224 0000 TDM3_P2 TDM Control Register 3 6226 0000 TDM4_P2 TDM Control Register 4 6228 0000 TDM5_P2 TDM Control Register 5 622A 0000 TDM6_P2 TDM Control Register 6 0000 TDM1_P3 TDM Control Register 1 Port 1 Port 2 Port 3 6230 Table 25 - Register Summary 116 Zarlink Semiconductor Inc. MT90520 Byte Address Hex Reset Value Label 6232 0000 TDM2_P3 TDM Control Register 2 6234 0000 TDM3_P3 TDM Control Register 3 6236 0000 TDM4_P3 TDM Control Register 4 6238 0000 TDM5_P3 TDM Control Register 5 623A 0000 TDM6_P3 TDM Control Register 6 6240 0000 TDM1_P4 TDM Control Register 1 6242 0000 TDM2_P4 TDM Control Register 2 6244 0000 TDM3_P4 TDM Control Register 3 6246 0000 TDM4_P4 TDM Control Register 4 6248 0000 TDM5_P4 TDM Control Register 5 624A 0000 TDM6_P4 TDM Control Register 6 6250 0000 TDM1_P5 TDM Control Register 1 6252 0000 TDM2_P5 TDM Control Register 2 6254 0000 TDM3_P5 TDM Control Register 3 6256 0000 TDM4_P5 TDM Control Register 4 6258 0000 TDM5_P5 TDM Control Register 5 625A 0000 TDM6_P5 TDM Control Register 6 6260 0000 TDM1_P6 TDM Control Register 1 6262 0000 TDM2_P6 TDM Control Register 2 6264 0000 TDM3_P6 TDM Control Register 3 6266 0000 TDM4_P6 TDM Control Register 4 6268 0000 TDM5_P6 TDM Control Register 5 626A 0000 TDM6_P6 TDM Control Register 6 6270 0000 TDM1_P7 TDM Control Register 1 6272 0000 TDM2_P7 TDM Control Register 2 6274 0000 TDM3_P7 TDM Control Register 3 6276 0000 TDM4_P7 TDM Control Register 4 6278 0000 TDM5_P7 TDM Control Register 5 627A 0000 TDM6_P7 TDM Control Register 6 Data Sheet Description Port 4 Port 5 Port 6 Port 7 External Memory Interface Module 7000 0000 MACR Memory Arbiter Configuration Register 7004 0000 PERS Parity Error Status Register Table 25 - Register Summary 117 Zarlink Semiconductor Inc. MT90520 6.2 Data Sheet Register Description Note: Unused bits (labeled as “Reserved”) are reserved for future use and although most of them are read-only (R/ O) bits, they should be written with ‘0’ to ensure software compatibility with future versions of the MT90520. 6.2.1 Microprocessor Interface Module Address: 0000 (Hex) Label: CWRR Reset Value: 0001 (Hex) Bit Position Type RESET 0 R/W When set to 1, the chip is put into reset mode. Reserved 15:1 R/O Always reads “0000_0000_0000_000”. Label Description Table 26 - Chip Wide Reset Register Address: 0002 (Hex) Label: MSR Reset Value: 0000 (Hex) Label Bit Position Type TX_SAR_SRV 0 R/O TX_SAR Service Request. SDT_RXSAR_SRV 1 R/O SDT RX_SAR Service Request. UDT_RXSAR_SRV 2 R/O UDT RX_SAR Service Request. Description TDM_SRV 3 R/O TDM Service Request. UTOPIA_SRV 4 R/O UTOPIA Service Request. XMEMA_SRV 5 R/O External Memory Arbiter Service Request. DATA_RXSAR_ SRV 6 R/O Data RX_SAR Service Request. RX_TIMEOUT_SRV 7 R/O Reassembly-Side Timeout Service Request. CPU_SRV 8 R/O CPU Service Request Reserved 15:9 R/O Always reads “0000_000”. Note: An interrupt will be generated on the IRQ pin if any of the above Service Request bits is asserted and the corresponding Interrupt Enable bit is set in the Main Interrupt Enable Register at 000Ah. Table 27 - Main Status Register Address: 0004 (Hex) Label: LAWI Reset Value: 0000 (Hex) Label Bit Position Type Reserved 0 R/O Always reads ‘0’. LAW 15:1 R/W Low Address Word. These bits represent bits<15:1> of the indirection address (in bytes). This register must be written before the HAIC register at 0006h. Description Table 28 - Low Address Word Indirection Register 118 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 0006 (Hex) Label: HAIC Reset Value: 0000 (Hex) Label Bit Position Type HAB 4:0 R/W High Address Bits. These bits represent bits<20:16> of the indirection address (in bytes). AEM 5 R/W Access External Memory. When this bit is set, the indirection access will be to/from external memory. When this bit is cleared, the indirection access will be to/from internal memory. RD_N_WR 6 R/W Read/Write. ‘0’ = CPU write. ‘1’ = CPU read. ACC 7 R/W Access Cycle Complete. When this bit is set by the CPU, the indirection cycle is initiated. When low, indicates that the last indirection cycle has been completed. While an indirection access is in progress, the Microprocessor Interface Module registers can be accessed. However, the CPU must wait for the ACC bit to be cleared before initiating the next access to another register block, internal memory, or external memory of the MT90520. Software cannot clear this bit (it can only be cleared by hardware). ACC_DONE_SE 8 R/W Access Cycle Complete Service Enable. When this bit is set and the ACC bit is low, the CPU_SRV status bit is set in the Main Status Register at 0002h. Reserved 15:9 R/O Always read “0000_000”. Description Table 29 - High Address Indirection Command Register Address: 0008 (Hex) Label: IDR Reset Value: 0000 (Hex) Label Bit Position Type Description IDV 15:0 R/W Indirection Data Value. During an indirection write cycle, the value written to this register is placed in the memory location selected in the LAWI and HAIC registers. During an indirection read cycle, the contents of the memory location selected in LAWI and HAIC are transferred to this register. In the case of a write cycle, this register must be written before the LAWI and HAIC registers. The CPU must wait for the ACC bit in the HAIC Register to be cleared before initiating the next write cycle. In the case of a read access to memory, the CPU must write the target address to the LAWI and HAIC registers and wait for ACC = 0 before reading this register. Table 30 - Indirection Data Register 119 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 000A (Hex) Label: MIER Reset Value: 0000 (Hex) Label Bit Position Type Description TX_SAR_IE 0 R/W TX_SAR Interrupt Enable. SDT_RXSAR_IE 1 R/W SDT RX_SAR Interrupt Enable. UDT_RXSAR_IE 2 R/W UDT RX_SAR Interrupt Enable. TDM_IE 3 R/W TDM Interrupt Enable. UTOPIA_IE 4 R/W UTOPIA Interrupt Enable. XMEMA_IE 5 R/W External Memory Arbiter Interrupt Enable. DATA_RXSAR_IE 6 R/W Data RX_SAR Interrupt Enable. RX_TIMEOUT_IE 7 R/W Reassembly-Side Timeout Interrupt Enable. CPU_IE 8 R/W CPU Interrupt Enable. Reserved 15:9 R/O Always reads “0000_000”. Note: An interrupt will be generated on the IRQ pin if any of the above Interrupt Enable bits is set and there is a corresponding module-level Service Request asserted in the Main Status Register at 0002h. Table 31 - Main Interrupt Enable Register Address: 000C (Hex) Label: MRR Reset Value: 0001 (Hex) Label Bit Position Type REV 15:0 R/O Description MT90520 hardware revision. Table 32 - MT90520 Revision Register 6.2.2 TX_SAR Module Address: 1000 + p*2 (Hex) Label: TXPTB_Pp (where p represents the port number) Reset Value: 0000 (Hex) Label Bit Position Type Description TXPTB 13:0 R/W In SDT mode, these bits hold the base word address of the port p SDT Segmentation Pointer Table (see Figure 21 on page 59). In UDT mode, these bits form a pointer to the base word address of the UDT Segmentation Control Structure associated with port p. The SDT Segmentation Pointer Tables must start on 32-word (64-byte) boundaries. TXCFG 15:14 R/W Port p Configuration: “00” = Port p is disabled “01” = UDT mode “10” = Reserved “11” = SDT mode. Table 33 - TX_SAR Pointer Table Base Register (one per port) 120 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 1038 (Hex) Label: DTCON Reset Value: 0000 (Hex) Label Bit Position Type Description DTSIZE 1:0 R/W Data TX_SAR Cell Buffer Size. This field indicates the number of non-CBR data cells which can be held in the Data TX_SAR’s Cell Buffer: “00” = 16 cells “01” = 32 cells “10” = 64 cells “11” = 128 cells. DTBASE 9:2 R/W Data TX_SAR Cell Buffer Base Address. These bits represent address bits<19:12> of the base address (in words) of the cell buffer in external memory. Reserved 15:10 R/O Always reads “0000_00”. Table 34 - Data TX_SAR Configuration Register Address: 103A (Hex) Label: DTWPR Reset Value: 0000 (Hex) Label Bit Position Type Description DTWP 7:0 R/W Data TX_SAR Write Pointer. Indicates the cell structure number to which the CPU is currently writing (the cell is not yet valid). Reserved 15:8 R/O Always reads “0000_0000”. Table 35 - Data TX_SAR Write Pointer Register Address: 103C (Hex) Label: DTRPR Reset Value: 0000 (Hex) Label Bit Position Type Description DTRP 6:0 R/O Data TX_SAR Read Pointer. Indicates the cell structure number from which the Data TX_SAR is currently reading. This pointer is cleared when the TDSENB bit in the Data TX_SAR Control Register at 103Eh is cleared. Reserved 15:7 R/O Always reads “0000_0000_0”. Table 36 - Data TX_SAR Read Pointer Register 121 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 103E (Hex) Label: DTCR Reset Value: 0000 (Hex) Label Bit Position Type Description TDSENB 0 R/W Data TX_SAR Enable. When cleared, the Data TX_SAR Read Pointer (register at 103Ch) is reset to “000_0000” and no data cells are transmitted. When set, the Data TX_SAR sends the cells stored in the Data TX_SAR Cell Buffer. AUTO 1 R/W When set, the Data TX_SAR transmits cells when the CBR TX_SAR is not busy. When cleared, data cell transmission is controlled by the DCGTOR register at 1040h. TCBE_SE 2 R/W Transmit Cell Buffer Empty Service Request Enable. When set, a service request to the CPU is asserted when the cell buffer is empty, as indicated by the assertion of the TCBE bit in the Data TX_SAR Status Register at 1042h. When cleared, this service request is masked. Reserved 15:3 R/O Always reads “0000_0000_0000_0”. Table 37 - Data TX_SAR Control Register Address: 1040 (Hex) Label: DCGTOR Reset Value: 0001 (Hex) Label Bit Position Type Description DCGP 9:0 R/W These bits control the time between data cell transmissions when the Data TX_SAR is in timer mode (i.e., AUTO=0 in Data TX_SAR Control Register at 103Eh). A value of all zeros disables data cell transmission. The time between cells is determined as follows: 65535 ∆(Seconds) = ------------------------ × DCGP mclk ( Hz ) Reserved 15:10 R/O Always reads “0000_00”. Table 38 - Data Cell Generation Time Out Register Address: 1042 (Hex) Label: DTSR Reset Value: 0000 (Hex) Label Bit Position Type Description TCBE 0 R/O Transmit Cell Buffer Empty. This bit is set when the read pointer is equal to the write pointer and indicates that all of the cells in the buffer have been sent. This bit is cleared when the TDSENB bit in the DTCR register at 103Eh is cleared. Reserved 15:1 R/O Always reads “0000_0000_0000_000”. Table 39 - Data TX_SAR Status Register 122 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 1044 (Hex) Label: TXEN Reset Value: 0000 (Hex) Bit Position Type TXENB 0 R/W When cleared, the TX_SAR will not produce UDT or SDT cells for any port. Reserved 15:1 R/O Always reads “0000_0000_0000_000”. Label Description Table 40 - TX_SAR Master Enable Register 6.2.3 UDT RX_SAR Module Address: 2000 (Hex) Label: URCR Reset Value: 00FF (Hex) Label Bit Position Type Description UDT_DUMMY 7:0 R/W UDT RX_SAR Dummy Cell Octet. This octet is inserted into a port’s UDT Reassembly Circular Buffer 47 times when dummy cell insertion is required. Defaults to FFh, to represent silence. UDT_INSERT_ LOST 8 R/W UDT Insert Number of Lost Cells Flag. When set, the number of dummy cells inserted into the UDT Reassembly Circular Buffer in the case of a multi-cell loss equals the number of lost cells (up to 7). When this bit is cleared (default), a maximum of 2 dummy cells are inserted in a multi-cell loss case. CHECK_ LATE_ARRIVALS 9 R/W Check for Late Cell Arrivals in UDT mode. When set, this bit causes a dummy cell to be inserted into the UDT Reassembly Circular Buffer for the corresponding port, if the late cell timeout period for this port is passed while the port is in “sync”. The late cell timeout period for the port is configured in the port’s Timeout Configuration Register at 3200h + p*2h. Default value: disabled. Reserved 15:10 R/O Always reads “0000_00”. Table 41 - UDT Reassembly Control Register Address: 2002 (Hex) Label: URSER Reset Value: 0000 (Hex) Bit Position Type Description UDT_REASS_ ROLL_SE 0 R/W When set, the assertion of the Reassembled Cells Counter Rollover status bit in a UDT Reassembly Control Structure will cause the UDT_RXSAR_STATUS bit to be set in the UDT Reassembly Status Register at 2004h. UDT_HDR_ROLL _SE 1 R/W When set, the assertion of the AAL1 Header Byte Error Counter Rollover status bit in a UDT Reassembly Control Structure will cause the UDT_RXSAR_STATUS bit to be set in the UDT Reassembly Status Register at 2004h. UDT_SEQ_ROLL _SE 2 R/W When set, the assertion of the AAL1 Sequence Error Counter Rollover status bit in a UDT Reassembly Control Structure will cause the UDT_RXSAR_STATUS bit to be set in the UDT Reassembly Status Register at 2004h. UDT_LOST_ ROLL_SE 3 R/W When set, the assertion of the Lost Cells Counter Rollover status bit in a UDT Reassembly Control Structure will cause the UDT_RXSAR_STATUS bit to be set in the UDT Reassembly Status Register at 2004h. Label Table 42 - UDT Reassembly Service Enable Register 123 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 2002 (Hex) Label: URSER Reset Value: 0000 (Hex) Bit Position Type Description UDT_MIS_ROLL_ SE 4 R/W When set, the assertion of the Misinserted Cells Counter Rollover status bit in a UDT Reassembly Control Structure will cause the UDT_RXSAR_STATUS bit to be set in the UDT Reassembly Status Register at 2004h. UDT_UNDER_ ROLL_SE 5 R/W When set, the assertion of the Buffer Underrun Counter Rollover status bit in a UDT Reassembly Control Structure will cause the UDT_RXSAR_STATUS bit to be set in the UDT Reassembly Status Register at 2004h. UDT_OVER_ ROLL_SE 6 R/W When set, the assertion of the Buffer Overrun Counter Rollover status bit in a UDT Reassembly Control Structure will cause the UDT_RXSAR_STATUS bit to be set in the UDT Reassembly Status Register at 2004h. UDT_LATE_ROLL _SE 7 R/W When set, the assertion of the Late Cells Counter Rollover status bit in a UDT Reassembly Control Structure will cause the UDT_RXSAR_STATUS bit to be set in the UDT Reassembly Status Register at 2004h. Reserved 15:8 R/O Always reads “0000_0000”. Label Table 42 - UDT Reassembly Service Enable Register Address: 2004 (Hex) Label: URSR Reset Value: 001F (Hex) Label Bit Position Type Description SERVICE_PORT 4:0 R/O TDM port associated with the last UDT Reassembly Control Structure to generate a serviceable event (i.e., a control structure status field rollover). Defaults to 1Fh (illegal port) and returns to 1Fh when the UDT_RXSAR_STATUS bit in this register is cleared. Reserved 11:5 R/O Always reads “0000_000”. CELL_COUNTER _RO_SE 12 R/W UDT RX_SAR Cell Counter Rollover Service Enable When set, a ‘1’ on CELL_COUNTER_RO_STATUS in this register will cause the UDT_RXSAR_SRV bit to be set in the Main Status Register at 0002h. CELL_COUNTER _RO_STATUS 13 R/O/L If set, indicates that the UDT RX_SAR Cell Counter located in register 2006h has overflowed. UDT_RXSAR_SE 14 R/W UDT_RXSAR_ STATUS 15 R/O/L UDT RX_SAR Service Enable. When set, a ‘1’ on UDT_RXSAR_STATUS in this register UDT_RXSAR_SRV bit to be set in the Main Status Register at 0002h. Address: 2006 (Hex) Label: URCCR Reset Value: 0000 (Hex) Bit Position Type CELL_COUNTER 15:0 R/O cause the If set, indicates that an unmasked (due to settings of the Service Enable bits in the UDT Reassembly Service Enable Register at 2002h) UDT RX_SAR serviceable event has occurred. Writing a ‘0’ to this bit clears it and sets SERVICE_PORT to 1Fh. Table 43 - UDT Reassembly Status Register Label will Description Number of cells received by the UDT RX_SAR. Table 44 - UDT Reassembly Cell Counter Register 124 Zarlink Semiconductor Inc. MT90520 6.2.4 Data Sheet Data RX_SAR Module Address: 2020 (Hex) Label: DRCR Reset Value: 0000 (Hex) Label Bit Position Type Description DRENB 0 R/W Data RX_SAR Enable. When cleared, the Data RX_SAR Write Pointer (DRWP at 2026h) is reset to 00h and all received data cells are ignored. When set, received data cells are processed normally. Default of ‘0’ means that the Data RX_SAR is usually disabled. DROR_SE 1 R/W Data RX_SAR Cell Buffer Overrun Service Enable. When set, a ‘1’ on DROR in Register 2022h will cause the DATA_RXSAR_SRV bit to be set in the Main Status Register at 0002h. DRCA_SE 2 R/W Data RX_SAR Cell Arrival Service Enable. When set, a ‘1’ on DRCA in Register 2022h will cause the DATA_RXSAR_SRV bit to be set in the Main Status Register at 0002h. DRBHF_SE 3 R/W Data RX_SAR Buffer Half Full Service Enable. When set, a ‘1’ on DRBHF in Register 2022h will cause the DATA_RXSAR_SRV bit to be set in the Main Status Register at 0002h. DRCCR_SE 4 R/W Data RX_SAR Cell Counter Rollover Service Enable. When set, a ‘1’ on DRCCR in Register 2022h will cause the DATA_RXSAR_SRV bit to be set in the Main Status Register at 0002h. Reserved 15:5 R/O Always reads “0000_0000_000”. Table 45 - Data RX_SAR Control Register Address: 2022 (Hex) Label: DRSR Reset Value: 0000 (Hex) Label Bit Position Reserved 0 R/O DROR 1 R/O/L Data RX_SAR Cell Buffer Overrun Error. If this bit is set, the DRWP (Register 2026h) = DRRP (Register 2028h). This signifies that either a non-CBR cell has been overwritten or is about to be overwritten. Software must take appropriate actions to adjust the read pointer so that further overruns do not occur. Writing a ‘0’ to this bit clears it. DRCA 2 R/O/L Data RX_SAR Cell Arrival. This bit is set each time a data cell is written to the Data RX_SAR Cell Buffer. Writing a ‘0’ to this bit clears it. DRBHF 3 R/O/L Data RX_SAR Buffer Half Full This bit is set when the buffer is determined to be half full by comparing the read and write pointers. Writing a ‘0’ to this bit clears it. DRCCR 4 R/O/L Data RX_SAR Cell Counter Rollover. This bit is set when the Data RX_SAR Cell Counter, located in register 202Ah, overflows. Writing a ‘0’ to this bit clears it. Reserved 15:5 R/O Type Description Always reads ‘0’. Always reads “0000_0000_000”. Table 46 - Data RX_SAR Status Register 125 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 2024 (Hex) Label: DRCON Reset Value: 0000 (Hex) Label Bit Position Type Description DRSIZE 1:0 R/W Data RX_SAR Cell Buffer Size. This field indicates the number of non-CBR data cells which can be held in the Data RX_SAR’s Cell Buffer: “00” = 16 cells “01” = 32 cells “10” = 64 cells “11” = 128 cells. DRBASE 12:2 R/W Data RX_SAR Cell Buffer Base Address. Represents address bits <19:9> that point to the word address of the first structure in the cell buffer in external memory. The lower address bits <8:0> of the pointer are preset to “0_0000_0000”. Cell buffers must start on boundaries corresponding to the size of the buffer (e.g., 32-cell buffers must start on boundaries which are integer multiples of 32 cells * 32 words/cell). As a result, in some cases, DRBASE<2:0> (bits<11:9> of the actual address) must to be set to ‘0’, depending on the number of cells allocated in the cell buffer: 16-cell buffer: no restrictions 32-cell buffer: DRBASE<0> must equal ‘0’ (buffers start on 1024-word boundaries) 64-cell buffer: DRBASE<1:0> must equal “00” (buffers start on 2048-word boundaries) 128-cell buffer: DRBASE<2:0> must equal “000” (buffers start on 4096-word boundaries). Reserved 15:13 R/O Always reads “000”. Table 47 - Data RX_SAR Configuration Register Address: 2026 (Hex) Label: DRWPR Reset Value: 0000 (Hex) Label Bit Position Type Description DRWP 6:0 R/O Data RX_SAR Cell Buffer Write Pointer. Indicates the cell structure number which is currently being written by the Data RX_SAR (the cell is not yet valid). This value is incremented at the end of each cell-write procedure (indicates the next cell location to be written). Allowable values: 0h -> Fh (16-cell buffer) 0h -> 1Fh (32-cell buffer) 0h -> 3Fh (64-cell buffer) 0h -> 7Fh (128-cell buffer). Reserved 15:7 R/O Always reads “0000_0000_0”. Note: The write pointer value is cleared to “00h” upon start-up and each time that the DRENB bit is cleared (i.e., when the Data RX_SAR is disabled, the write pointer is automatically cleared to “00h”). Table 48 - Data RX_SAR Write Pointer Register 126 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 2028 (Hex) Label: DRRPR Reset Value: 007F (Hex) Label Bit Position Type Description DRRP 6:0 R/W Data RX_SAR Cell Buffer Read Pointer. Indicates the cell structure number which is currently being read by the CPU. This value should not be incremented by the CPU at the end of a cell-read; therefore, if a read operation is not in progress, the pointer indicates the cell location which was last read by the microprocessor. Reserved 15:7 R/O Always reads “0000_0000_0”. Note: The read pointer value is set to “7Fh” upon start-up, pointing to the final location within the cell buffer. Upon the start of the first read operation, software should increment the pointer to point to the first cell location. Table 49 - Data RX_SAR Read Pointer Register Address: 202A (Hex) Label: DRCCR Reset Value: 0000 (Hex) Label Bit Position Type CELL_COUNTER 15:0 R/O Description Number of cells received by the Data RX_SAR. Table 50 - Data RX_SAR Cell Counter Register 6.2.5 SDT RX_SAR Module Address: 2040 (Hex) Label: SRCR Reset Value: 00FF (Hex) Label Bit Position Type Description SDT_DUMMY 7:0 R/W SDT RX_SAR Dummy Cell Octet. A 47-byte cell filled with this octet is inserted into the appropriate SDT Reassembly Circular Buffer(s) when dummy cell insertion is required. Defaults to FFh, but should be set to appropriate silence value for the TDM type. SDT_INSERT_ LOST 8 R/W SDT Insert Number of Lost Cells Flag. When set, the number of dummy cells inserted into the SDT Reassembly Circular Buffer(s) in the case of a multi-cell loss equals the number of lost cells (up to 6). When this bit is cleared (default), a maximum of 2 dummy cells are inserted in a multi-cell loss case. CB_BASE_ADD 10:9 R/W Reassembly Circular Buffer Base Address. These bits form the 2 MSBs (bits<19:18>) of the external memory base addresses (in words) of the SDT Reassembly Circular Buffers. Reserved 15:11 R/O Always reads “0000_0”. Table 51 - SDT Reassembly Control Register 127 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 2042 (Hex) Label: SRSER Reset Value: 0000 (Hex) Bit Position Type Description SDT_REASS_ ROLL_SE 0 R/W When set, the assertion of the Reassembled Cells Counter Rollover status bit in an SDT Reassembly Control Structure will cause the SDT_RXSAR_STATUS bit to be set in the SDT Reassembly Status Register at 2044h. SDT_HDR_ROLL _SE 1 R/W When set, the assertion of the AAL1 Header Byte Error Counter Rollover status bit in an SDT Reassembly Control Structure will cause the SDT_RXSAR_STATUS bit to be set in the SDT Reassembly Status Register at 2044h. SDT_SEQ_ROLL _SE 2 R/W When set, the assertion of the AAL1 Sequence Error Counter Rollover status bit in an SDT Reassembly Control Structure will cause the SDT_RXSAR_STATUS bit to be set in the SDT Reassembly Status Register at 2044h. SDT_LOST_ ROLL_SE 3 R/W When set, the assertion of the Lost Cells Counter Rollover status bit in an SDT Reassembly Control Structure will cause the SDT_RXSAR_STATUS bit to be set in the SDT Reassembly Status Register at 2044h. SDT_MIS_ROLL_ SE 4 R/W When set, the assertion of the Misinserted Cells Counter Rollover status bit in an SDT Reassembly Control Structure will cause the SDT_RXSAR_STATUS bit to be set in the SDT Reassembly Status Register at 2044h. REFRAME_ROLL _SE 5 R/W When set, the assertion of the Pointer Reframes Counter Rollover status bit in an SDT Reassembly Control Structure will cause the SDT_RXSAR_STATUS bit to be set in the SDT Reassembly Status Register at 2044h. PARITY_ROLL_ SE 6 R/W When set, the assertion of the Pointer Parity Counter Rollover status bit in an SDT Reassembly Control Structure will cause the SDT_RXSAR_STATUS bit to be set in the SDT Reassembly Status Register at 2044h. SDT_UNDER_ ROLL_SE 7 R/W When set, the assertion of the Buffer Underrun Counter Rollover status bit in an SDT Reassembly Control Structure will cause the SDT_RXSAR_STATUS bit to be set in the SDT Reassembly Status Register at 2044h. SDT_OVER_ ROLL_SE 8 R/W When set, the assertion of the Buffer Overrun Counter Rollover status bit in an SDT Reassembly Control Structure will cause the SDT_RXSAR_STATUS bit to be set in the SDT Reassembly Status Register at 2044h. POINTER_OUT_ OF_RANGE_SE 9 R/W When set, the assertion of the Pointer Out-of-Range status bit in an SDT Reassembly Control Structure will cause the SDT_RXSAR_STATUS bit to be set in the SDT Reassembly Status Register at 2044h. CAS_CHANGE_ SE 10 R/W When set, the assertion of the CAS Changed status bit in an SDT Reassembly Control Structure will cause the SDT_RXSAR_STATUS bit to be set in the SDT Reassembly Status Register at 2044h. Reserved 15:11 R/O Always reads “0000_0”. Label Table 52 - SDT Reassembly Service Enable Register 128 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 2044 (Hex) Label: SRSR Reset Value: 0000 (Hex) Label Bit Position Type Description SERVICE_ADD 13:0 R/O Base word address of the last SDT Reassembly Control Structure to generate a serviceable event (i.e., a status field rollover or bit setting). This field is cleared when the SDT_RXSAR_STATUS bit in this register is cleared. SDT_RXSAR_SE 14 R/W SDT RX_SAR Service Enable. When set, a ‘1’ on SDT_RXSAR_STATUS in this register SDT_RXSAR_SRV bit to be set in the Main Status Register at 0002h. SDT_RXSAR_ STATUS 15 R/O/L will cause the If set, indicates that an unmasked (due to the settings of the Service Enable bits in the SDT Reassembly Service Enable Register at 2042h) SDT RX_SAR serviceable event has occurred. Writing a ‘0’ to this bit clears it and clears the SERVICE_ADD field. Table 53 - SDT Reassembly Status Register Address: 2046 (Hex) Label: SRCSR Reset Value: 0000 (Hex) Bit Position Type Description CELL_COUNTER _RO_SE 0 R/W SDT RX_SAR Cell Counter Rollover Service Enable. When set, a ‘1’ on CELL_COUNTER_RO_STATUS in this register will cause the SDT_RXSAR_SRV bit to be set in the Main Status Register at 0002h. CELL_COUNTER _RO_STATUS 1 R/O/L If set, indicates that the SDT Reassembly Cell Counter Register in register 2048h has overflowed. Writing a ‘0’ to this bit clears it. Reserved 15:2 R/O Label Always reads “0000_0000_0000_00”. Table 54 - SDT Reassembly Cell Counter Status Register Address: 2048 (Hex) Label: SRCCR Reset Value: 0000 (Hex) Label Bit Position Type CELL_COUNTER 15:0 R/O Description Number of cells received by the SDT RX_SAR. Table 55 - SDT Reassembly Cell Counter Register 129 Zarlink Semiconductor Inc. MT90520 6.2.6 Data Sheet Reassembly-Side Timeout Module Address: 3000 (Hex) Label: MTCR Reset Value: 09C4 (Hex) Label Bit Position Type Description 15:0 R/W Reassembly Cell Loss Integration Period. If cells on a VC are continuously lost for this period of time (given in ms), the CUT_VC_STATUS bit is set in the Timeout Configuration Register (3200h + p*2h) corresponding to the VC’s “VC TDM Port”. Default value = 2.5 s. CUT_VC _PERIOD Table 56 - MIB Timeout Configuration Register Address: 3002 (Hex) Label: MTSR1 Reset Value: 0000 (Hex) Label Bit Position Type Description STATUS_0 0 R/O If set, indicates that either an unmasked late cell event or an unmasked cut VC event has occurred on port 0. STATUS_1 1 R/O If set, indicates that either an unmasked late cell event or an unmasked cut VC event has occurred on port 1. STATUS_2 2 R/O If set, indicates that either an unmasked late cell event or an unmasked cut VC event has occurred on port 2. STATUS_3 3 R/O If set, indicates that either an unmasked late cell event or an unmasked cut VC event has occurred on port 3. STATUS_4 4 R/O If set, indicates that either an unmasked late cell event or an unmasked cut VC event has occurred on port 4. STATUS_5 5 R/O If set, indicates that either an unmasked late cell event or an unmasked cut VC event has occurred on port 5. STATUS_6 6 R/O If set, indicates that either an unmasked late cell event or an unmasked cut VC event has occurred on port 6. STATUS_7 7 R/O If set, indicates that either an unmasked late cell event or an unmasked cut VC event has occurred on port 7. Reserved 15:8 R/O Always reads “0000_0000”. Table 57 - MIB Timeout Status Register 130 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 3200 + p*2 (Hex) Label: TCR_Pp (where p represents the port number) Reset Value: 07FF (Hex) Label Bit Position Type Description 10:0 R/W Late Cell Timeout. If a cell has not been received prior to this timeout (measured in 125 µs increments), an internal flag is set, indicating a late cell arrival. This timer should generally be set to a value equal to the cell assembly time, plus the expected CDV. Default: 256 ms LATE_CELL_ PERIOD In UDT mode, if this timeout period is passed, the LATE_CELL_STATUS bit in this per-port register will be set. Additionally, if the CHECK_LATE_ARRIVALS bit is set in the UDT Reassembly Control Register at 2000h, a dummy cell will also be inserted into the UDT Reassembly Circular Buffer for the port. LATE_CELL_ SE 11 R/W Late Cell Status Service Enable. When set, a ‘1’ on LATE_CELL_STATUS in this register will cause the RX_TIMEOUT_SRV bit to be set in the Main Status Register at 0002h. As well, the perport status bit for the corresponding port will be set in the MIB Timeout Status Register at 3002h. LATE_CELL_ STATUS 12 R/O/L If set, indicates that a late cell event has occurred on this port. This bit can be cleared by writing with ‘0’. Note: This bit will only be set if a port is operating in UDT mode. CUT_VC_SE 13 R/W Cut VC Status Service Enable. When set, a ‘1’ on CUT_VC_STATUS in this register will cause the RX_TIMEOUT_SRV bit to be set in the Main Status Register at 0002h. As well, the per-port status bit for the corresponding port will be set in the MIB Timeout Status Register at 3002h. CUT_VC_ STATUS 14 R/O/L If set, indicates that a cut VC event has occurred on this port (i.e, the CUT_VC_PERIOD set in the MIB Timeout Configuration Register at 3000h has been passed without a cell arrival). This bit can be cleared by writing with ‘0’. Reserved 15 R/O Always reads ‘0’. Table 58 - Timeout Configuration Register (one per port) 6.2.7 UTOPIA Interface Module Address: 4000 (Hex) Label: UCR Reset Value: 0004 (Hex) Label Bit Position Type Description SDT_N_UDT 0 R/W SDT/UDT. Selects between SDT mode (when set) and UDT mode (when cleared). To operate in both modes simultaneously, this bit must be cleared. When operating in UDT mode, the UDT VCI/VPI comparison is performed followed by the LUT (if necessary). In SDT mode, the look-up is performed first (the UDT VPI/VCI comparison is skipped). UNI_N_NNI 1 R/W UNI/NNI. Selects between UNI (when set) and NNI mode (when cleared). If NNI mode is enabled, the GFC field of the cell header will be used in the UDT VPI/VCI comparison. UTO_CLK_SEL 2 R/W Selects between an external clock (when set) and an internal clock (when cleared). If an internal clock is selected, UTO_IN_CLK and UTO_OUT_CLK are outputs, and the frequency of the generated clock is equivalent to MCLK/2. If an external clock is selected, UTO_IN_CLK and UTO_OUT_CLK are inputs. Table 59 - UTOPIA Configuration Register 131 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 4000 (Hex) Label: UCR Reset Value: 0004 (Hex) Label Bit Position Type Description GLOBAL_OAM_SEL 3 R/W Global OAM Select. When this bit is set, received OAM cells are kept for further processing. When this bit is low, OAM cells are discarded. EIGHT_N_SIXTEEN 4 R/W 8-bit mode/16-bit mode. Selects between UTOPIA eight-bit (when set) and sixteen-bit (when cleared) operation. LEVEL1_N_LEVEL2 5 R/W Level1/Level2. Selects between UTOPIA Level 1 (when set) and UTOPIA Level 2 (when cleared) operation. UKSEL 6 R/W When this bit is set, cells which have unknown routing according to the look-up table are placed in the Receive Data Cell Buffer; otherwise these cells are discarded. CLAV_TRI_OVERRIDE 7 R/W When set, this bit forces the CLAV signals to always drive a defined value. When this bit is cleared, the CLAV signals become high impedance following a clock cycle in which the MT90520 is not polled. DATA_TRI_OVERRIDE 8 R/W When set, this bit forces UTO_OUT_SOC and UTO_OUT_DATA to always drive defined values. When this bit is low, the UTO_OUT_SOC and the UTO_OUT_DATA signals become high impedance, as defined in the ATM Forum UTOPIA Level 2 specification. PHY_N_ATM 9 R/W PHY/ATM. When set, the MT90520’s UTOPIA interface will operate in PHY mode; when the bit is cleared, the MT90520’s UTOPIA interface will operate in ATM mode. DEVICE_ADDRESS 14:10 R/W Defines the address of the MT90520 device used to compare to the UTO_IN_ADD and UTO_OUT_ADD buses when operating in MPHY mode. Note: Only addresses 00h to 1Eh are valid. UTO_CLK_ CONFIGURED 15 R/W The user must set this bit at least one clock cycle after the UTO_CLK_SEL bit has been programmed. For normal operation of the UTOPIA port, this bit must be set and must not be cleared. This bit should be set only once the UTOPIA is fully programmed (including the LUT, which should be cleared (all the entries set to 0003h) even if not used). Table 59 - UTOPIA Configuration Register Address: 4002 (Hex) Label: UNCB Reset Value: 0000 (Hex) Label Bit Position Type Description M 3:0 R/W M least-significant bits of the VPI used for external memory look-ups. The valid range for this value is 0 to 12. N 8:4 R/W N least-significant bits of the VCI used for external memory look-ups. The valid range for this value is 4 to 16. BACK_TO_BACK _DISABLED 9 R/W When asserted this bit will force the RX UTOPIA ATM state machine to pause after each cell reception by driving the UTO_IN_ENBATM_ CLAVPHY signal to ‘1’ Reserved 15:10 R/O Always reads “0000_00”. Note: The contents of this register are used to determine how many bits of the cell header are used to form the look-up table addresses. The user selects up to 16 of the bits of the GFC/VPI and VCI fields to be used for the look-up table search. A minimum of 4 bits (from the VCI) and a maximum of 16 bits (all from the VCI or from a combination of both the VCI and VPI) of the header must be used for searches. Table 60 - UTOPIA Number of Concatenated Bits Register 132 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 4004 (Hex) Label: ULBA Reset Value: 0000 (Hex) Label Bit Position Type Description LUT_BASE_ADD 15:0 R/W Contains the 16 most significant bits of the Look-Up Table base address. These bits represent byte address bits<20:5> of the external memory. If N+M is greater than 4, bits<(N+M):5> of the Look-Up Table base address should be set to 0. (For example, if N+M=7, bits<7:5> should be set to “000”) Table 61 - LUT Base Address Register Address: 4006 (Hex) Label: UVCM Reset Value: 0000 (Hex) Label Bit Position Type VC_MATCH 15:0 R/W Description Contains match values for each of the bits in the VCI. Table 62 - VC Match Register Address: 4008 (Hex) Label: UVCME Reset Value: 0000 (Hex) Label Bit Position Type Description VC_MATCH_ENB 15:0 R/W Each bit, when set, enables the comparison of a cell’s VCI and the corresponding VC_MATCH bit. If a bit in this register is not set, the corresponding bit in the received cell VCI is considered valid, regardless of the setting in the VC_MATCH field. Table 63 - VC Match Enable Register Address: 400A (Hex) Label: UVPM Reset Value: 0000 (Hex) Label Bit Position Type VP_MATCH 11:0 R/W Contains match values for each of the twelve bits in the VPI (including the GFC field). Reserved 15:12 R/O Always reads “0000”. Description Table 64 - VP Match Register 133 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 400C (Hex) Label: UVPME Reset Value: 0000 (Hex) Label Bit Position Type Description VP_MATCH_ENB 11:0 R/W Each bit, when set, enables the comparison of a cell’s VPI and the corresponding VP_MATCH bit. If a bit in this register is not set, the corresponding bit in the received cell VPI is considered valid, regardless of the setting in the VP_MATCH field. In UNI mode, bits<11:8> should be cleared to avoid the comparison of the GFC. Reserved 15:12 R/O Always reads “0000”. Table 65 - VP Match Enable Register Address: 400E (Hex) Label: UPM Reset Value: 0000 (Hex) Label Bit Position Type Description 15:0 R/O Contains a count of the mismatches between UTO_IN_DATA and UTO_IN_PARITY. If this counter rolls over, the PARITY_ROLL_STATUS bit in the UTOPIA Status Register at 4012h will be set. PARITY_ MISMATCHES Table 66 - UTOPIA Parity Mismatches Register Address: 4010 (Hex) Label: UFS Reset Value: 0030 (Hex) Bit Position Type Description UTOPIA_ LOOPBACK 0 R/W When set, this bit forces the UTOPIA port into loopback mode. Data is looped from the incoming UTOPIA bus to the outgoing UTOPIA bus, through the incoming UTOPIA FIFO and the outgoing UTOPIA FIFO. The incoming data is filtered by the Match and Match Enable filters before being re-transmitted. UTO_OUT_FIFO_ RESET 1 R/W When set, empties the outgoing UTOPIA FIFO. UTO_IN_FIFO_ RESET 2 R/W When set, empties the incoming UTOPIA FIFO. UTO_OUT_FIFO_ FULL 3 R/O If set, this bit indicates that the outgoing UTOPIA FIFO is full. UTO_OUT_FIFO EMPTY 4 R/O If set, this bit indicates that the outgoing UTOPIA FIFO is empty. UTO_IN_FIFO_ EMPTY 5 R/O If set, this bit indicates that the incoming UTOPIA FIFO is empty. UTO_IN_FIFO_ FULL 6 R/O If set, this bit indicates that the incoming UTOPIA FIFO is full. Reserved 15:7 R/O Always reads “0000_0000_0”. Label Table 67 - UTOPIA FIFO Status Register 134 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 4012 (Hex) Label: USR Reset Value: 0000 (Hex) Bit Position Type Description CELL_CNT_ROLL _STATUS 0 R/O/L If set, this status bit indicates that the UTOPIA interface has received 2 16 cells, as counted by the UTOPIA Incoming Cell Counter at 4016h. PARITY_ROLL_ STATUS 1 R/O/L If set, this status bit indicates that the UTOPIA interface has received 2 16 data words containing parity errors, as counted by the UTOPIA Parity Mismatches Register at 400Eh. Reserved 15:2 R/O Label Always reads “0000_0000_0000_00”. Table 68 - UTOPIA Status Register Address: 4014 (Hex) Label: USER Reset Value: 0000 (Hex) Bit Position Type Description CELL_CNT_ROLL _SE 0 R/W When set, a ‘1’ on CELL_CNT_ROLL_STATUS will cause the UTOPIA_SRV bit to be set in the Main Status Register at 0002h. PARITY_ROLL_ SE 1 R/W When set, a ‘1’ on PARITY_ROLL_STATUS will cause the UTOPIA_SRV bit to be set in the Main Status Register at 0002h. Reserved 15:2 R/O Always reads “0000_0000_0000_00”. Label Table 69 - UTOPIA Service Enable Register Address: 4016 (Hex) Label: UICC Reset Value: 0000 (Hex) Label Bit Position Type Description CELL_CNT 15:0 R/O Counter indicating the number of cells received by the UTOPIA interface. If this counter rolls over, the CELL_CNT_ROLL_STATUS status bit in the UTOPIA Status Register at 4012h will be set. Note: This counter counts the number of SOC signals detected at the incoming UTOPIA interface. Therefore, both “good” and errored cells are counted. Table 70 - UTOPIA Incoming Cell Counter Address: 4200 + p*4 (Hex) Label: UVC_Pp (where p represents the port number) Reset Value: 0000 (Hex) Label Bit Position Type Description UDT_VCI 15:0 R/W UDT VCI for TDM port p. The VCI value of the incoming cell is compared to this value to determine if the cell is destined for port p. Table 71 - UDT VCI for Port p (one per port) 135 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 4202 + p*4 (Hex) Label: UVP_Pp (where p represents the port number) Reset Value: 0000 (Hex) Label Bit Position Type Description UDT_VPI 11:0 R/W UDT VPI for TDM port p. The VPI value of the incoming cell is compared to this value to determine if the cell is destined for port p. In UNI mode, only the 8 least significant bits of this field are used for the comparison. In NNI mode, all 12 bits are used. OAM_SEL 12 R/W OAM select for port p. When set, OAM cells with matching VPI/VCI are sent to the Receive Data Cell Buffer. When cleared, OAM cells arriving on this VC are discarded. Reserved 15:13 R/O Always reads “000”. Table 72 - UDT VPI for Port p (one per port) 6.2.8 Clock Management Module Address: 5000 (Hex) Label: CMCR Reset Value: 0001 (Hex) Label Bit Position Type Description SLV_N_MSTR 0 R/W Slave/Master. When set, the signals F0 and C4M_C2M are sourced from the TDM backplane (inputs). When cleared, the MT90520 generates these signals (outputs). When the MT90520 is not operating in backplane mode, this bit should be set to 1 (i.e., slave mode). Furthermore, if operating in backplane mode, this bit should only be cleared if the user wishes the MT90520 to control the F0 and C4M_C2M backplane signals. EXT_N_INT 1 R/W External/Internal. When set, the common clock and the “master” C4M_C2M and F0 signals are generated from the clock input to the MT90520 at TDM_CLK (this is usually sourced from an external PLL). When cleared and if in master mode, the C4M_C2M and F0 signals are generated from an internal version of the output signal PRI_REF. F0_MODE 4:2 R/W Frame Pulse Format Selector. F0_MODE<0> - Frame Pulse Polarity (used only in Generic mode): ‘0’ = Negative polarity ‘1’ = Positive polarity. F0_MODE<1> - Frame Pulse Trigger Edge (used only in Generic mode): ‘0’ = Negative-edge trigger ‘1’ = Positive-edge trigger. F0_MODE<2> - Frame Pulse Format: ‘0’ = Generic ‘1’ = ST-BUS. 8_KHZ_SEL 5 R/W Internal 8 kHz clock source. Used to select the origin of the 8 kHz clock source used by the internal PLLs. When set, the 8 kHz clock is generated as a divided-down version of the 19.44 MHz clock input to the MT90520 at PHY_CLK. When cleared, an 8 kHz clock is expected to be input directly at PHY_CLK. Table 73 - Clock Management Configuration Register 136 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 5000 (Hex) Label: CMCR Reset Value: 0001 (Hex) Label Bit Position Type Description FNXI1_RATE 8:6 R/W FNXI Rate Selector 1. (See Notes 1 and 2) These bits are used to select the rate of the FNXI clock (#1) from which outgoing RTS values will be generated, and to which incoming RTS values will be compared: “000” = 75,937.5 Hz “001” = 151,875 Hz “010” = 303,750 Hz “011” = 607,500 Hz “100” = 1.215 MHz “101” = 2.43 MHz (UDT rate) “110” = 4.86 MHz “111” = 9.72 MHz. FNXI2_RATE 11:9 R/W FNXI Rate Selector 2. (See Notes 1 and 2) These bits are used to select the rate of the FNXI clock (#2) from which outgoing RTS values will be generated, and to which incoming RTS values will be compared: “000” = 75,937.5 Hz “001” = 151,875 Hz “010” = 303,750 Hz “011” = 607,500 Hz “100” = 1.215 MHz “101” = 2.43 MHz (UDT rate) “110” = 4.86 MHz “111” = 9.72 MHz. BACKPLANE_CLK _CONFIGURED 12 R/W TDM Backplane Clock Configured Must be set once the C4M_C2M and F0 signals are stable. This bit needs to be high in order to ensure the synchronization of the TDM ports programmed in backplane mode. A toggle of this bit resets the synchronization of all the TDM ports programmed in backplane mode. Reserved 15:13 R/O Always reads “000”. Note 1: Two rates for the FNXI clocks are provided in case different ports of the device are programmed to have SDT timing VCs carrying different numbers of channels. Note 2: Since RTS support is only provided in SDT mode for VCs carrying up to 32 channels, FNXI rates of 4.86 MHz and 9.72 MHz should not be used. Table 73 - Clock Management Configuration Register 137 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 5002 (Hex) Label: PLLCS Reset Value: 0000 (Hex) Label Bit Position Type Description PRI_SEL 5:0 R/W Primary Clock Source for External PLL. Used to select the primary clock source for the external PLL (signals output on PRI_REF and PRI_LOS). Bits<4:0> indicate which port should provide the clock source (only “00000”:“00111” are valid choices). Bit<5> indicates whether the port’s TDM input clock (STiCLK) or the port’s internallygenerated PLL clock should be used as the clock source. ‘0’ = STiCLK; ‘1’ = PLLCLK. Note: If the port selected to provide the primary reference experiences an LOS condition, that port’s PLLCLK will be used as PRI_REF, even if the port’s STiCLK is selected via PRI_SEL<5>. SEC_SEL 11:6 R/W Secondary Clock Source for External PLL. Used to select the secondary clock source for the external PLL (signals output on SEC_REF and SEC_LOS). Bits<4:0> indicate which port should provide the clock source (only “00000”: “00111” are valid choices). Bit<5> indicates whether the port’s TDM input clock (STiCLK) or the port’s internallygenerated PLL clock should be used as the clock source. ‘0’ = STiCLK; ‘1’ = PLLCLK. Note: An LOS condition on the port selected to provide the secondary reference clock will have no effect on the selection of the clock source for SEC_REF. Reserved 15:12 R/O Always reads “0000”. Table 74 - External PLL Clock Source Register 138 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 5200 + p*10 (Hex) Label: CCR_Pp (where p represents the port number) Reset Value: 0000 (Hex) Label Bit Position Type Description CLKSEL 1:0 R/W SToCLK Selector. These bits are used to select the source for the port’s SToCLK output signal: “00” = MCLK/2 “01” = STiCLK “10” = PLLCLK (generated by the port’s internal PLL) “11” = common clock; sourced from either the TDM_CLK input pin (if the EXT_N_INT bit is set in the Clock Management Configuration Register at 5000h) or from an internal version of the output signal PRI_REF (if the EXT_N_INT bit is cleared). Note: If there is an LOS signal received on this port and the user has selected to source SToCLK from STiCLK, the user’s configuration will be overridden and SToCLK will be sourced from PLLCLK. RTSSEL 3:2 R/W RTS Clock Selector. These bits are used to select the source for the internal RTS clock: “00” = STiCLK (used when transmitting RTS in independent mode or in ST-BUS backplane mode) “01” = C4M_C2M (used when transmitting RTS in Generic backplane mode) “10” = PLLCLK (used when receiving RTS & performing clock recovery) “11” = Reserved. Note: When transmitting RTS from a TDM port that is operating in ST-BUS backplane mode, it is necessary to present a bit-rate clock to the Tx SRTS circuitry. The user must provide this clock by presenting a 2.048 MHz clock on the STiCLK input of the transmitting port. Due to this restriction, the C4M_C2M backplane clock must be either an input (“slave” mode), or it must be generated from a reference source other than this port’s STiCLK input. FNXISEL 4 R/W FNXI Source Selector. This bit is used to select either the FNXI1 or the FNXI2 clock rate for RTS generation or comparison: ‘0’ = FNXI1_RATE ‘1’ = FNXI2_RATE. PLL_FREQ_SEL 6:5 R/W Output Frequency Selector for Internal PLL. “00” = 1.544 MHz “01” = 2.048 MHz “10” = 4.096 MHz “11” = Reserved. PLL_MODE_SEL 8:7 R/W Operating Mode for Internal PLL. These bits define the operating mode of the PLL. “00” = Normal mode; output synchronized to the input. “01” = Holdover mode; output no longer follows the input, but holds last frequency setting. “10” = Freerun mode; output is fixed to the nominal frequency. “11” = CPU mode; the output frequency is directly controlled by the programmable DCO_DIFF_p value, regardless of PLL_INPUT_SEL. Table 75 - Clocking Configuration Register (one per port) 139 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 5200 + p*10 (Hex) Label: CCR_Pp (where p represents the port number) Reset Value: 0000 (Hex) Label Bit Position Type Description PLL_INPUT_SEL 10:9 R/W PLL input mode. These bits define the input used to generate the PLL’s output clock. “00” = Line Clocking mode; input is from the port’s STiCLK (can also be used to dejitter the clock for timestamp generation; see Figure 37 on page 97 for an illustration). “01” = SRTS mode; input is a digital Synchronous Residual Time Stamp stream from the RX_SAR. “10” = Network mode; input is the 8 kHz network reference (derived from PHY_CLK pin; see bit<5> of the Clock Management Configuration Register at 5000h). “11” = Adaptive mode; input is determined by the buffer-fill-level from the RX_SAR. VC_CHANNELS 15:11 R/W Number of Channels in VC. This field is used when generating or receiving RTS nibbles in SDT mode. It indicates the number of channels in the VC which is carrying timing information for the port. The field must be programmed by the user to be one less than the actual number of channels in the VC (possible values = 00h to 1Fh). Table 75 - Clocking Configuration Register (one per port) Address: 5202 + p*10 (Hex) Label: CPAR_Pp (where p represents the port number) Reset Value: 8000 (Hex) Label Bit Position Type Description PHASE_ACCUM 10:0 R/O Internal PLL Phase Accumulator. This 2’s complement value represents the long-term frequency offset of the output clock from the PLL’s centre frequency. This value translates to the frequency offset as follows: freq_offset = (phase_accum/3139881) * 1,544,000 Hz for DS1 mode freq_offset = (phase_accum/4164817) * 2,048,000 Hz for E1 mode freq_offset = (phase_accum/4164817) * 4,096,000 Hz for C4 mode. Reserved 14:11 R/O Always reads “0000”. PHASE_LIMITER 15 R/O Internal PLL Phase Limiter. When cleared, indicates that the PLL is limiting its phase detector output so that the PLL output phase changes no more than 6 ns / 125 µs. A change of more than 6 ns / 125 µs typically occurs when the PLL is not locked or when there is large jitter on the input signal of the PLL. When PHASE_LIMITER is high for approximately 30 seconds, one can assume that the PLL is in lock; contrarily, when PHASE_LIMITER is low for approximately 30 seconds, the PLL is out of lock. Note: The reset value of this register can only be read as 8000h if the corresponding PLL is disabled (bit<0> cleared in the PLL Enable Register, located at address 5208h+p*10h). Table 76 - Clocking Phase Accumulator Register (one per port) 140 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 5204 + p*10 (Hex) Label: CDDR_Pp (where p represents the port number) Reset Value: 0000 (Hex) Label Bit Position Type Description DCO_DIFF 11:0 R/W Frequency offset value. When PLL_MODE_SEL (in register 5200h + p*10h) is set to CPU mode, the value in this field is used to set the PLL output frequency directly, instead of using the filter output. In CPU mode, the PLL input selected by PLL_INPUT_SEL (in register 5200h + p*10h) is no longer used. Data read from this field is interpreted as 2’s complement format. Reserved 15:12 R/O Always reads “0000”. Table 77 - Clocking DCO Difference Register (one per port) Address: 5206 + p*10 (Hex) Label: CSFSR_Pp (where p represents the port number) Reset Value: 0000 (Hex) Label Bit Position Type RX_OVERFLOW_ERROR 0 R/O/L Receive SRTS FIFO Overflow Error. If set, the Receive SRTS FIFO has overflowed. Writing a ‘0’ to this bit clears it. RX_UNDERFLOW_ERROR 1 R/O/L Receive SRTS FIFO Underflow Error. If set, the Receive SRTS FIFO has underrun. Writing a ‘0’ to this bit clears it. TX_OVERFLOW_ERROR 2 R/O/L Transmit SRTS FIFO Overflow Error. If set, the Transmit SRTS FIFO has overflowed. Writing a ‘0’ to this bit clears it. TX_UNDERFLOW_ERROR 3 R/O/L Transmit SRTS FIFO Underflow Error. If set, the Transmit SRTS FIFO has underrun. Writing a ‘0’ to this bit clears it. Reserved 15:4 R/O Description Always reads “0000_0000_0000”. Table 78 - SRTS FIFO Status Register (one per port) Address: 5208 + p*10 (Hex) Label: PLLEN_Pp (where p represents the port number) Reset Value: 0001 (Hex) Label Bit Position Type PLL_ENABLE 0 R/W When cleared, the PLL for this port is held in reset. Reserved 15:1 R/O Always reads “0000_0000_0000_000”. Description Table 79 - PLL Enable Register (one per port) 141 Zarlink Semiconductor Inc. MT90520 6.2.9 Data Sheet TDM Interface Module Address: 6000 (Hex) Label: MAINTDM1 Reset Value: FFFF (Hex) Label Bit Position Type Description IDLE_DATA 7:0 R/W User-programmable idle data. (Applies only to SDT mode.) When a channel is idle (I bit is set in the corresponding TDM SDT Reassembly Control Structure), idle data is output on DSTo. SILENCE_DATA 15:8 R/W User-programmable silence data. (Applies only to SDT mode.) When a channel is experiencing a TDM underrun, this silence data is output on DSTo if REPLAY_N_SILENCE is cleared in the TDM Control Register 3 for that port. Table 80 - Main TDM Control Register 1 Address: 6002 (Hex) Label: MAINTDM2 Reset Value: F000(Hex) Label Bit Position Type Description Reserved 11:0 R/O Always reads “0000_0000_0000”. IDLE_CAS 15:12 R/W User-programmable idle CAS. (Applies only to SDT mode.) When a channel is idle (I bit is set in the corresponding TDM SDT Reassembly Control Structure), idle CAS nibbles are output on CSTo. Table 81 - Main TDM Control Register 2 Address: 6200 + p*10 (Hex) Label: TDM1_Pp (where p represents the port number) Reset Value: 0000 (Hex) Bit Position Type Description TDM_CIR_BUF_ LPBK 0 R/W TDM Circular Buffer Loopback. (Applies only to SDT mode.) ‘0’ = Normal operation. ‘1’ = Data input on DSTi is output on DSTo, after routing through the SDT circular buffers in external memory. TDM_LOS_CLK 1 R/W Incoming Loss of Signal. (Applies only to UDT mode.) ‘0’ = Normal operation (continue to use STiCLK during an LOS condition). ‘1’ = Switch to MT90520’s internal clock source if loss of signal is detected on CSTi/LOSi. 2 R/W Incoming TDM LOS Polarity. (Applies only to UDT mode; must be set in SDT mode.) ‘0’ = Negative polarity (i.e., zero on CSTi/LOSi means loss of signal). ‘1’ = Positive polarity (i.e., one on CSTi/LOSi means loss of signal). TDM_CAS_ LOCATION 3 R/W TDM Signalling. (Applies only to SDT mode.) ‘0’ = Signalling nibbles are located in the LS four bits of each channel. ‘1’ = Signalling nibbles are located in the MS four bits of each channel. TDM_MAPPING_ SCH 4 R/W TDM Mapping Scheme. (Applies only to an incoming DS1 link in SDT mode.) In Generic mode: ‘0’ = Use first 24 channels. ‘1’ = Use 3 channels out of every 4. In ST-BUS mode, this bit must be cleared. Label TDM_LOS_POL Table 82 - TDM Control Register 1 (one per port) 142 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 6200 + p*10 (Hex) Label: TDM1_Pp (where p represents the port number) Reset Value: 0000 (Hex) Bit Position Type TDM_PULSE_ SEL 5 R/W TDM Frame Pulse Selection. (Applies only to SDT mode.) ‘0’ = STiMF pin is a frame pulse. ‘1’ = STiMF pin is a multiframe pulse. In Backplane SDT mode, this bit must cleared. TDM_PULSE_ POL 6 R/W TDM Frame Pulse Polarity. (Applies only to SDT mode.) In Generic mode: ‘0’ = Negative polarity. ‘1’ = Positive polarity. In ST-BUS mode, this bit must be cleared. TDM_CLK_POL 7 R/W Segmentation TDM Input Clock Polarity. ‘0’ = TDM data is sampled on the rising edge. ‘1’ = TDM data is sampled on the falling edge. In ST-BUS SDT mode, this bit must be set. TDM_CLK_RATE 8 R/W TDM Clock Rate. ‘0’ = TDM clock is 1.544 MHz. ‘1’ = TDM clock is 2.048 MHz or 4.096 MHz. TDM_LINK_TYPE 9 R/W TDM Link Type. ‘0’ = E1 link. ‘1’ = DS1 link. INT_LOS_ ENABLE 10 R/W Internal LOS Enable (Applies only to UDT mode). ‘0’ = Internal version of LOS disabled. ‘1’ = Internal version of LOS enabled. If this bit is set, the occurrence of an LOS event on the port will be propagated throughout the device, possibly influencing the signals output on PRI_REF, PRI_LOS, and the port’s SToCLK. This bit must be set if TDM_LOS_CLK (bit<1>) is set. TDM_CLK_MODE 11 R/W TDM Clocking Mode. (Applies only to SDT mode; must be cleared in UDT mode.) ‘0’ = Independent mode (Independent clocks and frame pulses) ‘1’ = Backplane mode (Common clock and frame pulse) TDM_BUS_ MODE 12 R/W TDM Bus Mode (Applies only to SDT mode; must be cleared in UDT mode.) ‘0’ = Generic. ‘1’ = ST-BUS. (The clock is 4.096 MHz.) TDM_DATA_ FORMAT 14:13 R/W TDM Data Mode. “00” = No cells generated from this port. “01” = UDT mode “10” = SDT mode. “11” = SDT mode with N>46. This mode should be used when any VC associated with this port has more than 46 channels. TDM_LOW_ LATENCY_LPBK 15 R/W Low latency loopback. ‘0’ = Normal operation. ‘1’ = Loopback data from DSTi to DSTo. Note 1: If this bit is set, data from DSTi is output on DSTo, regardless of the value of the TDM_REASS_PORT_CONTROL bit in TDM Control Register 3 (i.e., even if the port is apparently inactive, loopback data will be output on DSTo). Note 2: To use low-latency loopback, the clock edge used to sample the incoming TDM data (determined by TDM_CLK_POL in this register) must be opposite to the clock edge used to drive the outgoing TDM data (determined by TDM_REASS_CLK_POL, set at 6204h). Note 3: The delay through the device in low latency loopback mode is approximately 2 TDM clock cycles. Label Description Table 82 - TDM Control Register 1 (one per port) 143 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 6202 + p*10 (Hex) Label: TDM2_Pp (where p represents the port number) Reset Value: 0000 (Hex) Bit Position Type TDM_SEGMEN_ BASE_ADD 8:0 R/W Segmentation Circular Buffer Base Address. (Applies only to SDT mode.) Represents bits<19:11> of the SDT Segmentation Circular Buffer word address in external memory. Label Description Reserved 12:9 R/O Always reads “0000”. TDM_SEGMEN_ PORT_CONTROL 13 R/W Segmentation TDM Port Control. ‘0’ = Port is not active (data is not transferred from the TDM module to the rest of the MT90520). ‘1’ = Port is active. TDM_SEGMEN_ INT_ENB 14 R/W Segmentation Internal Enable Process. ‘0’ = Process is disabled. ‘1’ = Process that writes data/CAS to the TDM input buffer is enabled. TDM_SEGMEN_ EXT_ENB 15 R/W Segmentation External Enable Process. (Applies only to SDT mode.) ‘0’ = Process is disabled. ‘1’ = Process that transfers data from the input buffer to external memory is enabled. Table 83 - TDM Control Register 2 (one per port) Address: 6204 + p*10 (Hex) Label: TDM3_Pp (where p represents the port number) Reset Value: 0000 (Hex) Bit Position Type Description TDM_REASS_ BASE_ADD 4:0 R/W SDT Reassembly Circular Buffer Base Address. (Applies only to SDT mode.) Represents bits<19:15> of the SDT Reassembly Circular Buffer word address in external memory. Reserved 9:5 R/O Always reads “00_000”. REPLAY_ N_SILENCE 10 R/W Play old data or silence byte on underrun. (Applies only to SDT mode.) ‘0’ = During a TDM underrun, the reassembly process outputs silence bytes (programmed in the MAINTDM1 register at 6000h) on DSTo. ‘1’ = During a TDM underrun, the reassembly process replays the reassembly circular buffer. TDM_REASS_ CLK_POL 11 R/W Reassembly TDM Output Clock Polarity. ‘0’ = TDM data is driven out on the falling edge of SToCLK or C4M_C2M ‘1’ = TDM data is driven out on the rising edge of SToCLK or C4M_C2M. In ST-BUS, this bit must be set to “0” TDM_REASS_ LOS 12 R/W Outgoing Loss of Signal. (Applies only to UDT mode.) CSTo/LOSo pin drives out the value programmed in this field. TDM_REASS_ PORT_CONTROL 13 R/W Reassembly TDM port control. ‘0’ = Port is not active (output data pins are held in high impedance). ‘1’ = Port is active. TDM_REASS_ INT_ENB 14 R/W Reassembly Internal Enable Process. ‘0’ = Process is disabled. ‘1’ = Process that transfers data/CAS from the TDM output buffer to the output pins is enabled. TDM_REASS_ EXT_ENB 15 R/W Reassembly External Enable Process. (Applies only to SDT mode.) ‘0’ = Process is disabled. ‘1’ = Process that transfers data/CAS from external memory to the TDM output buffer is enabled. Label Table 84 - TDM Control Register 3 (one per port) 144 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 6206 + p*10 (Hex) Label: TDM4_Pp (where p represents the port number) Reset Value: 0040 (Hex) Label Bit Position Type Reserved 0 R/O Always reads ‘0’. UDT_LOS_SE 1 R/W UDT Loss of Signal (LOS) Service Enable. When this bit is set and UDT_LOS_STATUS is asserted, TDM_SRV is set in the Main Status Register at 0002h. UDT_TDM_OUT_ BUF_ERROR_SE 2 R/W UDT TDM Output Buffer Error Service Enable. When this bit is set and UDT_TDM_OUT_BUF_STATUS is asserted, TDM_SRV is set in the Main Status Register at 0002h. SDT_TDM_OUT_ BUF_ERROR_SE 3 R/W SDT TDM Output Buffer Error Service Enable. When this bit is set and SDT_TDM_OUT_BUF_STATUS is asserted, TDM_SRV is set in the Main Status Register at 0002h. SDT_PERM_ UNDER_SE 4 R/W SDT Permanent Underrun Service Enable. When this bit is set and SDT_PERM_UNDER_STATUS is asserted, TDM_SRV is set in the Main Status Register at 0002h. SDT_SIMPLE_ UNDER_SE 5 R/W SDT Simple Underrun Service Enable. When this bit is set and SDT_SIMPLE_UNDER_STATUS is asserted, TDM_SRV is set in the Main Status Register at 0002h. UDT_LOS_ STATUS 6 R/O/L UDT Loss of Signal (LOS) Status. This bit is set when a loss of signal is detected on CSTi/LOSi. Writing a ‘0’ to this bit clears it. This bit cannot be cleared until the TDM Control Register 1 is programmed. UDT_TDM_OUT_ BUF_STATUS 7 R/O/L UDT TDM Output Buffer Error Status. This bit is set when there is an error in the UDT TDM output buffer. Writing a ‘0’ to this bit clears it. SDT_TDM_OUT_ BUF_STATUS 8 R/O/L SDT TDM Output Buffer Error Status. This bit is set when there is an error in the SDT TDM output buffer. Writing a ‘0’ to this bit clears it. SDT_PERM_ UNDER_STATUS 9 R/O/L SDT Permanent Underrun Status. This bit is set when a permanent underrun service enable bit is set in the TDM SDT Reassembly Control Structure for the port and the corresponding permanent underrun condition occurs. Writing a ‘0’ to this bit clears it. SDT_SIMPLE_ UNDER_STATUS 10 R/O/L SDT Simple Underrun Status. This bit is set when a simple underrun service enable bit is set in the TDM SDT Reassembly Control Structure for the port and the corresponding simple underrun condition occurs. Writing a ‘0’ to this bit clears it. SIMPLE_UNDER RUN_REPORT 15:11 R/O Description SDT Simple Underrun Report. Indicates the TDM channel on which a “simple underrun” occurred last. Table 85 - TDM Control Register 4 (one per port) Address: 6208 + p*10 (Hex) Label: TDM5_Pp (where p represents the port number) Reset Value: 0000 (Hex) Label PERM_ UNDERRUN_ REPORT Bit Position Type Description 15:0 R/O/L Permanent Underrun Report. (Applies only to SDT mode.) This register represents bits<31:16> of the 32-bit permanent underrun report. Bit<31> corresponds to channel 31, bit<30> corresponds to channel 30, etc. When an underrun occurs on a certain channel, the corresponding bit is set high; the microprocessor can clear these bits by writing them to ‘0’. Table 86 - TDM Control Register 5 (one per port) 145 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 620A + p*10 (Hex) Label: TDM6_Pp (where p represents the port number) Reset Value: 0000 (Hex) Label Bit Position Type 15:0 R/O/L PERM_ UNDERRUN_ REPORT Description Permanent Underrun Report. (Applies only to SDT mode.) This register represents bits<15:0> of the 32-bit permanent underrun reports. Bit<15> corresponds to channel 15, bit<14> corresponds to channel 14, etc. When an underrun occurs on a certain channel, the corresponding bit is set high; the microprocessor can clear these bits by writing them to ‘0’. Table 87 - TDM Control Register 6 (one per port) 6.2.10 External Memory Interface Module Address: 7000 (Hex) Label: MACR Reset Value: 0000 (Hex) Label Bit Position Type MCFG 2:0 R/W Memory Configuration: “000” = No external memory “100” = Bank of 1 M words (max. 1 bank) “101” = Banks of 512 K words (max. 2 banks) “110” = Banks of 256 K words (max. 4 banks) “111” = Banks of 128 K words (max. 4 banks) All others = Reserved. MTYP 3 R/W Memory Type: ‘0’ = Flow-through ‘1’ = Pipelined. PESE 4 R/W Parity Error Service Enable. When this bit is set and either the LPPRTY_E bit or the HBPRTY_E bit is asserted at 7004h, the XMEMA_SRV bit is set in the Main Status Register at 0002h. Reserved 15:5 R/O Always reads “0000_0000_000”. Description Table 88 - Memory Arbiter Configuration Register Address: 7004 (Hex) Label: PERS Reset Value: 0000 (Hex) Label Bit Position Type Description LBPRTY_E 0 R/O/L Low Byte Parity Error. If set, this bit indicates that a parity error has occurred in the lower 8 bits of the data word being read from external memory. A parity error may occur if a location in memory is read before being written. Writing ‘0’ to this bit clears it. Table 89 - Parity Error Status Register 146 Zarlink Semiconductor Inc. MT90520 Data Sheet Address: 7004 (Hex) Label: PERS Reset Value: 0000 (Hex) Label Bit Position Type Description HBPRTY_E 1 R/O/L High Byte Parity Error. If set, this bit indicates that a parity error has occurred in the high 8 bits of the data word being read from external memory. A parity error may occur if a location in memory is read before being written. Writing ‘0’ to this bit clears it. Reserved 15:2 R/O Always reads “0000_0000_0000_00”. Table 89 - Parity Error Status Register 147 Zarlink Semiconductor Inc. MT90520 7.0 Electrical Specification 7.1 DC Characteristics Data Sheet Absolute Maximum Ratings Parameter Symbol Min. Max. Units 1 Supply Voltage - 2.5 Volt Rail VDD2 VSS 3.5 V 2 Supply Voltage - 3.3 Volt Rail VDD3 VSS 4.5 V 3 Voltage on 3.3 V Input pins VI3 - 0.5 6 V 4 Voltage on 3.3 V Output pins VO3 - 0.5 4.6 V 5 Continuous current at digital inputs II ±10 mA 6 Continuous current at digital outputs IO ± 24 mA 7 Storage Temperature TS +125 °C - 40 * Exceeding these figures may cause permanent damage. Functional operation under these conditions is not guaranteed. Voltage measurements are with respect to ground (VSS) unless otherwise stated. Long-term exposure to absolute maximum ratings may affect device reliability, and exceeding the maximum ratings may cause permanent damage. The device should be operated under recommended operating conditions. Recommended Operating Conditions Characteristics Sym. Min. Typ.a Max. Units TOP - 40 25 + 85 °C 1 Operating Temperature 2 Supply Voltage, 2.5 Volt Rail VDD2 2.37 2.5 2.63 V 3 Supply Voltage, 3.3 Volt Rail VDD3 3.13 3.3 3.46 V 4 Input Voltage, 3.3 V inputs VI3 - 0.5 5.5 V Test Conditions a. Typical figures are at 25°C and are for design aid only; not guaranteed and not subject to production testing. Voltage measurements are with respect to ground (VSS) unless otherwise stated. DC Characteristics Characteristics Sym. Min. Typ.a Max. Units Test Conditions b 1 Supply Current - 2.5 V supply IDD2 395 590 mA 66.0 MHz, UDT mode 2 Supply Current - 2.5 V supply IDD2 400 620 mA 66.0 MHz, SDT mode 3 Supply Current - 3.3 V supply IDD3 16 42 mA 66.0 MHz, UDT mode, Notes 1, 2 4 Supply Current - 3.3 V supply IDD3 24 57 mA 66.0 MHz, SDT mode, Notes 1, 3 5 Device Power Dissipation (2.5 V and 3.3 V supplies) PDDU 1.0 1.7 W 66.0 MHz, UDT mode, Notes 1, 2 6 Device Power Dissipation (2.5 V and 3.3 V supplies) PDDS 1.1 1.8 W 66.0 MHz, SDT mode, Notes 1, 3 7 Input High Voltage (3.3 V CMOS) VIH3 2.3 5.5 V 8 Input Low Voltage (3.3 V CMOS) VIL3 -0.5 1.0 V 9 Switching Threshold (3.3 V CMOS) VTC3 1.24 1.36 1.59 V 10 Schmitt Trigger Positive Threshold Vt+ 1.57 1.72 V 11 Schmitt Threshold Vt- Trigger Negative 0.825 1.18 148 Zarlink Semiconductor Inc. V MT90520 Data Sheet DC Characteristics Characteristics 12 Sym. Input Leakage Current Min. II Typ.a Max. Units Test Conditions b ± 0.01 ±1 µA VIN = VDDx or Vss Inputs with pull-down resistors IIH 16 35 70 µA VIN = VDD3 Inputs with pull-up resistors IIL -18 -35 - 70 µA VIN = Vss 13 Input Pin Capacitance CI 10 pF 14 Output Pin Capacitance CO 10 pF 15 Output High Impedance Leakage IOZ ±1 µA VO = VSS or VDDx 16 Output CMOS) (3.3 V VOH3 V IOH = rated current 17 Output LOW Voltage (3.3V CMOS) VOL3 V IOL = rated current 18 3.3 V output HIGH current (4 mA buffer) IOH3 - 5.9 - 12.7 mA VOH = 2.4 V 19 3.3 V output LOW current (4 mA buffer) IOL3 4.1 6.9 mA VOL = 0.4 V 20 3.3 V output HIGH current (24 mA buffer) IOH3 - 24.1 - 50.5 mA VOH = 2.4 V 21 3.3 V output LOW current (24 mA buffer) IOL3 24.6 41.3 mA VOL = 0.4 V 22 Junction-to-Ambient Resistance 19.4 °C/W 0 lfm air flow (natural convection airflow only) HIGH Voltage Thermal ± 0.01 2.4 0.4 θJ-A a. Typical figures are at 25°C and are for design aid only; not guaranteed and not subject to production testing. b. TOP = -40°C to 85°C; VDD2 = 2.5 V ± 5%; VDD3 = 3.3 V ± 5% Voltage measurements are with respect to ground (VSS) unless otherwise stated. Note 1: Supply current and device power is for 8 ports in E1 mode. Typical values are with VDD3 and VDD2 at nominal, with all output pins loaded with half the rated capacitance (as given in the AC Characteristics section) and with the two UTOPIA clocks as inputs. Maximum values are with VDD3 and VDD2 at + 5% (2.625 V and 3.465 V), with all output pins loaded with the full rated capacitance, and the two UTOPIA clocks as outputs. Note 2: UDT mode supply current and device power includes 1800 cells of CPU/OAM traffic in both directions, and no discards of nonAAL1 cells, giving Look-Up Table reads of 1 800 reads/second. Note 3: SDT mode supply current and device power includes 1800 cells of CPU/OAM traffic in both directions, and sufficient discards of non-AAL1 cells to bring Look-Up Table reads to 1 000 000 reads/second. 149 Zarlink Semiconductor Inc. MT90520 7.2 Data Sheet AC Characteristics MCLK - Master Clock Input Parameters Characteristic Sym. Min. Typ. Max. Units 66.0 MHz MCLK Frequency tMF 66.0 MCLK Period tMP 15.2 ns 7.6 ns MCLK Pulse Width (HIGH / LOW) 6.8 tMH/L Test Conditions 30ppm clock required for proper operation of the TDM PLLs PHY_CLK - Clock Input Parameters Characteristic Sym. PHY_CLK Frequency tPF PHY_CLK Period 19.44 MHz 8 kHz tPP PHY_CLK Pulse Width (HIGH / LOW) 19.44 MHz 8 kHz 7.2.1 Min. tPH/L 20 0.1 Typ. Max. Units 19.44 8 MHz kHz 51.44 125 ns µs 25.72 62.5 ns µs Test Conditions PHY_CLK frequency determined by 8_KHZ_SEL bit in CMCR register CPU Interface Intel Microprocessor Interface Timing - Read Cycle Parameters Characteristic Sym. Min. Typ. Max. Address Setup - (AEM and CPU_ADD[20:1] VALID) to (CS and RD asserted) tADDS 0 ns Address Hold - (CS or RD de-asserted) to (AEM and CPU_ADD[20:1] INVALID) tADDH 0 ns RDY Low - CS asserted to RDY driven low tRRDYL 0 RDY Delay - (CS and RD asserted) to RDY asserted Register access Memory access tRACC RDY High-Impedance - CS de-asserted to RDY high-impedance tRRDYZ Data Output Setup - CPU_DATA[15:0] VALID to RDY asserted tDS Data Output Hold - (CS or RD de-asserted) to CPU_DATA[15:0] INVALID tDH 10 Units ns Test Conditions CL = 75 pF CL = 100 pF 197 213 228 0 16 0 243 2021 ns ns 13 MCLK < tRACC < 16 MCLK 14 MCLK < tRACC < 133 MCLK 10 ns CL = 75 pF ns CL = 75 pF ~ 1 MCLK cycle ns CL = 75 pF Note 1: MCLK = 66 MHz (15.2 ns) Note 2: Both CS and RD must be asserted for a read cycle to occur. A read cycle is completed when either CS or RD is de-asserted. Note 3: There should be a minimum of 3 MCLK periods between CPU accesses, to allow the MT90520 to recognize the accesses as separate (i.e., CS must be de-asserted for 3 MCLK cycles between CPU accesses). 150 Zarlink Semiconductor Inc. MT90520 Data Sheet CS VTT RD VTT WR VTT tADDH tADDS CPU_ADD[20:1] AEM VTT ADDRESS VALID tRRDYZ tRACC RDY VTT tRRDYL tDS CPU_DATA[15:0] tDH DATA VALID Figure 47 - Intel CPU Interface Timing - Read Access 151 Zarlink Semiconductor Inc. VTT MT90520 Typ. Data Sheet Characteristic Sym. Min. Max. Address Setup - (AEM and CPU_ADD[20:1] VALID) to (CS and WR asserted) tADDS 0 ns Address Hold - (CS or WR de-asserted) to (AEM and CPU_ADD[20:1] INVALID) tADDH 0 ns RDY Low - CS asserted to RDY driven low tWRDYL 0 RDY Delay - (CS and WR asserted) to RDY asserted Register access Memory access tWACC RDY High-Impedance - CS de-asserted to RDY high-impedance tWRDYZ 0 Write Cycle Hold Time - RDY asserted to (CS or WR de-asserted) tWRH 0 ns Data Input Setup - CPU_DATA[15:0] VALID to (CS and WR asserted) tDS 0 ns Data Input Hold - (CS or WR de-asserted) to CPU_DATA[15:0] INVALID tDH 0 ns 10 Units ns Test Conditions CL = 75 pF CL = 75 pF 167 182 197 213 2021 ns ns 11 MCLK < tWACC < 14 MCLK 12 MCLK < tWACC < 133 MCLK 10 ns CL = 75 pF Note 1: MCLK = 66 MHz (15.2 ns) Note 2: Both CS and WR must be asserted for a write cycle to occur. A write cycle is completed when either CS or WR is de-asserted. Note 3: There should be a minimum of 3 MCLK periods between CPU accesses, to allow the MT90520 to recognize the accesses as separate (i.e., CS must be de-asserted for 3 MCLK cycles between CPU accesses). Table 90 - Intel Microprocessor Interface Timing - Write Cycle Parameters tWACC CS VTT WR VTT RD VTT tADDH tADDS CPU_ADD[20:1] AEM VTT ADDRESS VALID tWRDYZ RDY tWRDYL VTT tWRH tDH tDS CPU_DATA[15:0] DATA VALID Figure 48 - Intel CPU Interface Timing - Write Access 152 Zarlink Semiconductor Inc. VTT MT90520 Data Sheet tRACC CS VTT DS VTT tRDTKH tRDTKZ VTT DTACK tADDH tADDS CPU_ADD[20:1] AEM VTT ADDRESS VALID tADDH R_W VTT tDS CPU_DATA[15:0] tDH DATA VALID Figure 49 - Motorola CPU Interface Timing - Read Access 153 Zarlink Semiconductor Inc. VTT MT90520 Typ. Data Sheet Characteristic Sym. Min. Max. Address Setup - (R/W, AEM and CPU_ADD[20:1] VALID) to (CS and DS asserted) tADDS 0 ns Address Hold - (CS or DS de-asserted) to (AEM, CPU_ADD[20:1] and R/W INVALID) tADDH 0 ns DTACK High - CS asserted to DTACK driven high tWDTKH 0 DTACK Delay - (CS and DS asserted) to DTACK asserted Register access Memory access tWACC DTACK High-Impedance - CS deasserted to DTACK high-impedance tWDTKZ 0 Data Input Setup - CPU_DATA[15:0] VALID to (CS and DS asserted) tDS 0 ns Data Input Hold - (CS or DS deasserted) to CPU_DATA[15:0] INVALID tDH 0 ns 10 Units ns Test Conditions CL = 75 pF CL = 75 pF 167 182 197 213 2021 ns ns 11 MCLK < tWACC < 14 MCLK 12 MCLK < tWACC < 133 MCLK 10 ns CL = 75 pF Note 1: MCLK = 66 MHz (15.2 ns) Note 2: Both CS and DS must be asserted for a write cycle to occur. A write cycle is completed when either CS or DS is de-asserted. Note 3: There should be a minimum of 3 MCLK periods between CPU accesses (CS de-asserted), to allow the MT90520 to recognize the accesses as separate (i.e., CS must be de-asserted for 3 MCLK cycles between CPU accesses). Table 91 - Motorola Microprocessor Interface Timing - Write Cycle Parameters tWACC CS VTT DS VTT tWDTKZ tWDTKH VTT DTACK tADDH tADDS CPU_ADD[20:1] AEM VTT ADDRESS VALID tADDH VTT R_W tDS CPU_DATA[15:0 tDH DATA VALID Figure 50 - Motorola CPU Interface Timing - Write Access 154 Zarlink Semiconductor Inc. VTT MT90520 7.2.2 Data Sheet External Memory Interface Characteristic Sym. Min. Typ. Max. Data Input Setup - MEM_DATA[17:0] VALID to MCLK rising tDIS 5 ns CL = 35 pF Data Input Hold Time - MCLK rising to MEM_DATA[17:0] INVALID tDIH 2 ns CL = 35 pF Clock to Change - MCLK rising to (MEM_ADD[19:0], MEM_CS_X and MEM_WR) change tOC 1 ns CL = 35 pF Output Delay - MCLK rising to (MEM_ADD[19:0] VALID and (MEM_CS_X and MEM_WR) asserted) tOD ns CL = 35 pF 12.5 Units Test Conditions Table 92 - External Memory Interface Timing - Read Cycle Parameters tMP MCLK VTT tMH MEM_ADD[19:0] ADDRESS1 VALID tML VTT ADDRESS2 VALID tOC tOD VTT MEM_CS_X tOC tOD VTT MEM_WR tDIS MEM_DATA[17:0] (flow-through) tDIH DATA1 VALID MEM_DATA[17:0] (pipelined) VTT DATA2 VALID DATA1 VALID DATA2 VALID Figure 51 - External Memory Interface Timing - Read Cycle 155 Zarlink Semiconductor Inc. VTT MT90520 Characteristic Sym. Min. Data Sheet Typ. Max. Units Test Conditions 12.5 ns CL = 35 pF Output Delay - MCLK rising to (MEM_ADD[19:0], MEM_DATA[17:0]) VALID and (MEM_CS_X and MEM_WR) asserted tOD Output Hold Time - MCLK rising MEM_DATA[17:0] INVALID tOH 1 ns CL = 35 pF High-Z to Drive Time - MCLK rising to MEM_DATA[17:0] driven tZD 3 ns CL = 35 pF Clock to Change - MCLK rising to (MEM_ADD[19:0], MEM_CS_X and MEM_WR) change tOC 1 ns CL = 35 pF Drive to High-Z Time - MCLK rising to MEM_DATA[17:0] High-Z tDZ 1 ns CL = 35 pF 6.5 Table 93 - External Memory Interface Timing - Write Cycle Parameters tMP VTT MCLK tMH MEM_ADD[19:0] tML VTT ADDRESS VALID tOD tOC MEM_CS_X VTT tOC MEM_WR VTT tOD tOC tDZ MEM_DATA[17:0] (flow-through) DATA VALID tZD tOD MEM_DATA[17:0] (pipelined) VTT tOH DATA VALID Figure 52 - External Memory Interface Timing - Write Cycle 156 Zarlink Semiconductor Inc. VTT MT90520 7.2.3 Data Sheet TDM Interface DSTi/DSTo for DS1: n=192 for E1: n=255 Bit n-1 Bit n Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 STiCLK/SToCLK for DS1: 1.544 MHz for E1: 2.048 MHz Note: Clock polarity is programmable. Data can be sampled/driven out either on the falling edge or the rising edge of the clock. Figure 53 - Nominal UDT Mode Timing Diagram - DS1 (1.544 Mbps) and E1 (2.048 Mbps) Timeslot 31 Bit 0 DSTi/DSTo Timeslot 0 Bit 7 Timeslot 0 Bit 6 Timeslot 0 Bit 5 STiMF/SToMF or F0 (ST-BUS) STiCLK/SToCLK or C4M/C2M 4.096 MHz (ST-BUS only) STiMF/SToMF or F0 (Generic - see Note) STiCLK/SToCLK or C4M/C2M 2.048 MHz (Generic only) Note: In Generic format, both clock polarity and frame pulse polarity are programmable. Data can be sampled/driven out either on the falling edge or the rising edge of the clock. The frame pulse can have either positive or negative polarity. Figure 54 - Nominal SDT Mode Timing Diagram - Generic and ST-BUS DS1 or E1 (2.048 Mbps) DSTi/DSTo Timeslot 24 Timeslot 24 Framing Bit 1 Bit 0 Bit Timeslot 0 Timeslot 0 Timeslot 0 Timeslot 0 Timeslot 0 Bit 6 Bit 4 Bit 7 Bit 5 Bit 3 STiMF/SToMF or F0 (See Note) STiCLK/SToCLK or C4M/C2M 1.544 MHz Note: Due to the use of Generic mode, clock and frame pulse polarity are programmable. Data can be sampled/driven out either on the falling edge or the rising edge of the clock. The frame pulse can have either positive or negative polarity. Figure 55 - Nominal SDT Mode Timing Diagram - Generic DS1 (1.544 Mbps) Table 94 and Table 95 refer to input clock parameters which are displayed in Figure 56 and Figure 57, which follow the tables. 157 Zarlink Semiconductor Inc. MT90520 Characteristic Sym. STiCLK/C4M/C2M Clock Period 1.544 Mbps bus (1.544 MHz clock) 1.544 or 2.048 Mbps bus (2.048 MHz clock) 2.048 Mbps bus (4.096 MHz clock) tSTiCK STiCLK/C4M/C2M Pulse Width (HIGH / LOW) 1.544 Mbps bus (1.544 MHz clock) 1.544 or 2.048 Mbps bus (2.048 MHz clock) 2.048 Mbps bus (4.096 MHz clock) tSTiCKH/L Frame Pulse Width 1.544 Mbps (Generic) 2.048 Mbps (Generic) 2.048 Mbps (ST-BUS) tFPW Frame Pulse Setup Time STiMF/F0 valid to STiCLK/C4M/C2M rising STiMF/F0 valid to STiCLK/C4M/C2M falling tFIS Frame Pulse Hold Time STiCLK/C4M/C2M rising to STiMF/F0 invalid STiCLK/C4M/C2M falling to STiMF/F0 invalid tFIH Min. Data Sheet Typ. Units 648 488 244 ns ns ns 324 244 122 ns ns ns 648 488 244 100 100 100 Max. Test Conditions ns ns ns 900 600 300 15 15 ns ns 10 10 ns ns Table 94 - TDM Bus Input Clock Parameters Characteristic Sym. Min. Typ. Max. Data Setup Time - DSTi/CSTi VALID to STiCLK/C4M/C2M falling Sampling on falling edge tSIS 15 ns Data Hold Time - STiCLK/C4M/C2M falling to DSTi/CSTi INVALID Sampling on falling edge tSIH 10 ns Data Setup Time - DSTi/CSTi VALID to STiCLK/C4M/C2M rising Sampling on rising edge tSIS 15 ns Data Hold Time - STiCLK/C4M/C2M rising to DSTi/CSTi INVALID Sampling on rising edge tSIH 10 ns Table 95 - TDM Bus Input Data Parameters 158 Zarlink Semiconductor Inc. Units Test Conditions MT90520 tFIS Data Sheet tFIH VTT STiMF/F0 tSTiCK tSTiCKH tSTiCKL STiCLK or C4M/C2M 2.048 MHz VTT tSIS tSIH DSTi/CSTi Bit 5, Channel 0 Bit 6, Channel 0 Bit 7, Channel 0 Bit 0, Last Channel Bit 4, Channel 0 VTT Note: In Generic format, both clock polarity and frame pulse polarity are programmable. Data can be sampled either on the falling edge or the rising edge of the clock. The frame pulse can have either positive or negative polarity. Figure 56 - TDM Bus Inputs - Generic Bus Sampling tFIS tFIH STiMF/F0 VTT tSTiCKH tSTiCKL tSTiCK STiCLK or C4M/C2M 4.096 MHz VTT tSIS DSTi/CSTi Bit 1, Last Channel tSIH Bit 6, Channel 0 Bit 7, Channel 0 Bit 0, Last Channel VTT Figure 57 - TDM Bus Inputs - ST-BUS Sampling Table 96 and Table 97 refer to output clock parameters which are displayed below in Figure 58, Figure 59, and Figure 60. Characteristic Sym. SToCLK/C4M/C2M Clock Period 1.544 Mbps bus (1.544 MHz clock) 1.544 or 2.048 Mbps bus (2.048 MHz clock) 2.048 Mbps bus (4.096 MHz clock) tSToCK SToCLK/C4M/C2M Pulse Width (HIGH / LOW) 1.544 Mbps bus (1.544 MHz clock) 1.544 or 2.048 Mbps bus (2.048 MHz clock) 2.048 Mbps bus (4.096 MHz clock) tSToCKH/L Min. Typ. Zarlink Semiconductor Inc. Units 648 488 244 ns ns ns 324 244 122 ns ns ns Table 96 - TDM Bus Output Clock Parameters 159 Max. Test Conditions MT90520 Characteristic Data Sheet Sym. Frame Pulse Width 1.544 Mbps (Generic) 2.048 Mbps (Generic) 2.048 Mbps (ST-BUS) tFPW Frame Pulse Delay SToCLK rising to SToMF change (Generic) SToCLK falling to SToMF change (ST-BUS or Generic) C4M/C2M rising to F0 change (Generic) C4M/C2M falling to F0 change (ST-BUS or Generic) tFPD Min. Typ. Max. Test Conditions ns ns ns 648 488 244 0 0 4 4 Units 40 40 40 40 ns ns ns ns Max. Units CL = 30 pF CL = 30 pF CL = 200 pF CL = 200 pF Table 96 - TDM Bus Output Clock Parameters Characteristic Sym. Data Delay - Clock to Data Change SToCLK/C4M/C2M rising to DSTo or CSTo change (Generic) SToCLK/C4M/C2M falling to DSTo or CSTo change (ST-BUS or Generic) tSODX Data Delay - Clock to Data Valid SToCLK/C4M/C2M rising to DSTo or CSTo valid (Generic) SToCLK/C4M/C2M falling to DSTo or CSTo valid (ST-BUS or Generic) tSODV Drive to High-Z SToCLK/C4M/C2M rising to DSTo or CSTo HIGH-Z (Generic) SToCLK/C4M/C2M falling to DSTo or CSTo HIGH-Z (ST-BUS or Generic) tSODZ High-Z to Drive SToCLK/C4M/C2M rising and DSTo or CSTo HIGH-Z to DSTo or CSTo change (Generic) SToCLK/C4M/C2M falling and DSTo or CSTo HIGH-Z to DSTo or CSTo change (ST-BUS or Generic) tSOZX Min. Typ. Test Conditions 5 ns CL = 30 pF 5 ns CL = 30 pF 40 ns CL = 30 pF 40 ns CL = 30 pF 5 10 ns CL = 30 pF 5 10 ns CL = 30 pF 5 40 ns CL = 30 pF 5 40 ns CL = 30 pF Table 97 - TDM Bus Data Output Parameters tFPW SToMF/F0 VTT tFPD tSToCK tSToCKH tSToCKL SToCLK or C4M/C2M 2.048 MHz VTT tSODV DSTo/CSTo Bit 0, Last Channel Bit 6, Channel 0 Bit 7, Channel 0 Bit 5, Channel 0 Bit 4, Channel 0 VTT Note: In Generic format, both clock polarity and pulse polarity are programmable. Data can be driven out either on the falling edge or the rising edge of the clock. The frame pulse can have either positive or negative polarity. Figure 58 - TDM Bus Output Clocking Parameters - Generic 160 Zarlink Semiconductor Inc. MT90520 Data Sheet tFPW VTT SToMF/F0 tSToCKH tSToCKL tSToCK tFPD SToCLK or C4M/C2M 4.096 MHz VTT tSODV DSTo/CSTo Bit 0, Last Channel Bit 5, Channel 0 Bit 6, Channel 0 Bit 7, Channel 0 Bit 4, Channel 0 VTT Figure 59 - TDM Bus Output Clocking Parameters - ST-BUS SToCLK or C4M/C2M 2.048 MHz (Generic) VTT SToCLK or C4M/C2M 4.096 MHz (ST-BUS) VTT tSODX DSTo1/CSTo1 Valid Data tSODV Valid Data Valid Data Valid Data VTT Valid Data VTT tSOZX tSODZ DSTo2/CSTo2 Valid Data High-Z High-Z Figure 60 - TDM Bus Outputs - Serial Output Timing 7.2.4 7.2.4.1 UTOPIA Interface UTOPIA Level 1 Characteristic UTO_IN_CLK Period Sym. Min. Typ. Max . Units tURX1P 19.23 tURX1H/L 7.7 Input Setup Time (UTO_IN_CLAVATM_ENBPHY, UTO_IN_SOC asserted and UTO_IN_DATA[7:0] VALID) to UTO_IN_CLK rising tURXIS 4 ns Input Hold Time - UTO_IN_CLK rising to (UTO_IN_DATA[7:0] INVALID and UTO_IN_SOC and UTO_IN_CLAVATM_ENBPHY de-asserted) tURXIH 1 ns Output Delay - UTO_IN_CLK rising to UTO_IN_ENBATM_CLAVPHY asserted tURXD Output Hold Time - UTO_IN_CLK rising to UTO_IN_ENBATM_CLAVPHY de-asserted tURXH UTO_IN_CLK Pulse Width (HIGH / LOW) ns tURX1P/2 UTO_IN_CLK = 52 MHz ns 13.8 1 Test Conditions ns CL=20 pF; UTO_IN_CLK < 52 MHz ns CL=20 pF; UTO_IN_CLK < 52 MHz Note: The MT90520 operates with the UTOPIA cell-level handshake. Table 98 - UTOPIA Level 1 Interface Timing - ATM mode - Incoming Data (UTOPIA RX Bus) 161 Zarlink Semiconductor Inc. MT90520 Data Sheet tURX1L tURX1H tURX1P UTO_IN_CLK VTT tURXIS UTO_IN_CLAV ATM_ENBPHY VTT tURXH tURXD UTO_IN_ENBATM _CLAVPHY VTT tURXIH UTO_IN_SOC VTT tURXIH tURXIS UTO_IN_DATA[7:0] P47 H1 H1 P48 VTT Figure 61 - TDM Bus Outputs - Serial Output Timing Characteristic Sym. Min. tUTX1P 19.23 tUTX1H/L 7.7 Input Setup Time UTO_OUT_CLAVATM_ENBPHY VALID to UTO_OUT_CLK rising tUTXIS 4 ns Input Hold Time - UTO_OUT_CLK rising to UTO_OUT_CLAVATM_ENBPHY de-asserted tUTXIH 1 ns Output Delay - UTO_OUT_CLK rising to (UTO_OUT_DATA[7:0] VALID and UTO_OUT_ENBATM_CLAVPHY and UTO_OUT_SOC asserted) tUTXD Output Hold Time - UTO_OUT_CLK rising to (UTO_OUT_DATA[7:0] INVALID and UTO_OUT_ENBATM_CLAVPHY and UTO_OUT_SOC de-asserted) tUTXH UTO_OUT_CLK Period UTO_OUT_CLK Pulse Width (HIGH / LOW) Typ. Max. Units ns tUTX1P/2 UTO_OUT_CLK = 52 MHz s 13.8 1 Test Conditions ns CL = 20 pF; UTO_OUT_CLK < 52 MHz ns CL = 20 pF; UTO_OUT_CLK < 52 MHz Table 99 - UTOPIA Level 1 Interface Timing - ATM mode - Outgoing Data (UTOPIA TX Bus) 162 Zarlink Semiconductor Inc. MT90520 Data Sheet tUTX1P tUTX1L tUTX1H UTO_OUT_CLK VTT at least 4 cycles before the next cell tUTXIS UTO_OUT_CLAV ATM_ENBPHY VTT tUTXD tUTXH UTO_OUT_ENB ATM_CLAVPHY VTT tUTXH VTT UTO_OUT_SOC tUTXH UTO_OUT_DATA[7:0 X H1 H2 H3 P44 P45 P46 P47 P48 X VTT Figure 62 - UTOPIA Level 1 Interface Timing - ATM Mode - Outgoing Data (UTOPIA TX Bus) Characteristic Sym. Min. tUTX1P 19.23 tUTX1H/L 7.7 Input Setup Time (UTO_IN_CLAVATM_ENBPHY, UTO_IN_SOC asserted and UTO_IN_DATA[7:0] VALID) to UTO_IN_CLK rising tUTXIS 4 ns Input Hold Time - UTO_IN_CLK rising to (UTO_IN_DATA[7:0] INVALID and UTO_IN_SOC, UTO_IN_CLAVATM_ENBPHY de-asserted) tUTXIH 1 ns Output Delay - UTO_IN_CLK rising to UTO_IN_ENBATM_CLAVPHY asserted tUTXD Output Hold Time - UTO_IN_CLK rising to UTO_IN_ENBATM_CLAVPHY de-asserted tUTXH UTO_IN_CLK Period UTO_IN_CLK Pulse Width (HIGH / LOW) Typ. Max. Units ns tUTX1P/2 UTO_IN_CLK = 52 MHz ns 13.8 1 Test Conditions ns CL=20 pF; UTO_IN_CLK < 52 MHz ns CL=20 pF; UTO_IN_CLK < 52 MHz Table 100 - UTOPIA Level 1 Interface Timing - PHY mode - Incoming Data (UTOPIA TX Bus) 163 Zarlink Semiconductor Inc. MT90520 Data Sheet tUTX1H tUTX1P tUTX1L UTO_IN_CLK VTT tUTXIH tUTXIS UTO_IN_CLAVATM _ENBPHY VTT tUTXIH UTO_IN_SOC VTT UTO_IN_DATA[7:0] X H1 tUTXD H2 H3 P44 P45 P46 P47 P48 X H1 VTT tUTXH 4 cycles before the next cell UTO_IN_ENBATM _CLAVPHY VTT Figure 63 - UTOPIA Level 1 Interface Timing - PHY Mode - Incoming Data (UTOPIA TX Bus) Characteristic Sym. Min. tURX1P 19.23 UTO_OUT_CLK Pulse Width (HIGH / LOW) tURX1H/L 7.7 Input Setup Time UTO_OUT_CLAVATM_ENBPHY asserted to UTO_OUT_CLK rising tURXIS 4 ns Input Hold Time - UTO_OUT_CLK rising to UTO_OUT_CLAVATM_ENBPHY deasserted tURXIH 1 ns Output Delay - UTO_OUT_CLK rising to (UTO_OUT_DATA[7:0] VALID and UTO_OUT_ENBATM_CLAVPHY and UTO_OUT_SOC asserted) tURXD Output Hold Time - UTO_OUT_CLK rising to (UTO_OUT_DATA[7:0] INVALID and UTO_OUT_ENBATM_CLAVPHY and UTO_OUT_SOC de-asserted) tURXH UTO_OUT_CLK Period Typ. Max. Units ns tURX1P/2 Test Conditions UTO_OUT_CLK = 52 MHz ns 13.8 1 ns CL = 20 pF; UTO_OUT_CLK < 52 MHz ns CL = 20 pF; UTO_OUT_CLK < 52 MHz Table 101 - UTOPIA Level 1 Interface Timing - PHY mode - Outgoing Data (UTOPIA RX Bus) 164 Zarlink Semiconductor Inc. MT90520 Data Sheet tURX1H tURX1L tURX1P UTO_OUT_CLK VTT tURXIS tURXIH UTO_OUT_CLAVATM _ENBPHY VTT tURXH UTO_OUT_SOC VTT tURXH UTO_OUT_DATA[7:0] P47 H1 P48 H1 VTT tURXD UTO_OUT_ENBATM _CLAVPHY VTT Figure 64 - UTOPIA Level 1 Interface Timing - PHY Mode - Outgoing Data (UTOPIA RX Bus) 7.2.4.2 UTOPIA Level 2 This section contains the timing diagrams for the MT90520 setup in UTOPIA Level 2 as a PHY device. For functional timing diagrams, refer to the ATM Forum Level 2 specification (af-phy-0039.000). Since the MT90520 does not support multi-PHY (MPHY) operation in ATM mode, the Level 2 ATM timing diagrams are identical to the ones for Level 1 operation, except that in Level 2, the MT90520 features a 16-bit data bus in both the TX and RX directions and it supports up to 80 pF of load at 33 MHz and 40 pF at 52 MHz. Note that the address bus is only used when in PHY mode. . Characteristic Sym. Min. tUTX2P 19.23 tUTX2H/L 7.7 Input Setup Time (UTO_IN_CLAVATM_ENBPHY, UTO_IN_SOC asserted and UTO_IN_DATA[15:0], UTO_IN_ADDR[4:0] VALID) to UTO_IN_CLK rising tUTXIS 4 ns Input Hold Time - UTO_IN_CLK rising to (UTO_IN_DATA[15:0], UTO_IN_ADDR[4:0] INVALID and UTO_IN_SOC, UTO_IN_CLAVATM_ENBPHY de-asserted) tUTXIH 1 ns Output Delay - UTO_IN_CLK rising to UTO_IN_ENBATM_CLAVPHY asserted tUTXD Output Hold Time - UTO_IN_CLK rising to (UTO_IN_ENBATM_CLAVPHY change) tUTXH UTO_IN_CLK Period UTO_IN_CLK Pulse Width (HIGH / LOW) Typ. Max. Units ns tUTX2P/2 UTO_IN_CLK = 52 MHz ns 13.8 20.5 1 1 Test Conditions ns ns CL=40 pF; UTO_IN_CLK < 52 MHz CL=80 pF; UTO_IN_CLK < 33 MHz ns ns CL=40 pF; UTO_IN_CLK < 52 MHz CL=80 pF; UTO_IN_CLK < 33 MHz Table 102 - UTOPIA Level 2 Interface Timing - PHY mode - Incoming Data (UTOPIA TX Bus) 165 Zarlink Semiconductor Inc. MT90520 Characteristic Sym. Min. Drive to High-Z - UTO_IN_CLK rising to UTO_IN_ENBATM_CLAVPHY HIGH-Z tUTXDZ 1 1 High-Z to Drive - UTO_IN_CLK rising and UTO_IN_ENBATM_CLAVPHY HIGH-Z to UTO_IN_ENBATM_CLAVPHY change tUTXZX 1 1 Data Sheet Typ. Max. Units Test Conditions 17.5 28.5 ns ns CL=40 pF; UTO_IN_CLK < 52 MHz CL=80 pF; UTO_IN_CLK < 33 MHz ns ns CL=40 pF; UTO_IN_CLK < 52 MHz CL=80 pF; UTO_IN_CLK < 33 MHz Table 102 - UTOPIA Level 2 Interface Timing - PHY mode - Incoming Data (UTOPIA TX Bus) tUTX2H tUTX2P tUTX2L UTO_IN_CLK VTT tUTXIH tUTXIS UTO_IN_ADDR[4:0] M See Note 1 1F N 1F M N 1F N N N 1F VTT tUTXDZ tUTXD UTO_IN_ENBATM _CLAVPHY 1F tUTXZX tUTXH tUTXIS VTT tUTXIH UTO_IN_CLAVAT M_ENBPHY VTT tUTXIS UTO_IN_DATA[15:0] See Note 2 tUTXIH H1 X H2 H3 P23 P1 P24 X VTT tUTXIH tUTXIS UTO_IN_SOC VTT Note 1: M is the address of the MT90520; N is the address of another PHY device, where N is not equal to M. An address of 1Fh (31d) indicates a null PHY port. Note 2: UTO_IN_DATA is a 16-bit bus; therefore, P24 indicates the last cell payload word to be transmitted. Figure 65 - UTOPIA Level 2 Interface Timing - PHY Mode - Incoming Data (UTOPIA TX Bus) Characteristic Sym. Min. tURX2P 19.23 tURX2H/L 7.7 Input Setup Time (UTO_OUT_CLAVATM_ENBPHY asserted and UTO_OUT_ADDR[4:0] VALID) to UTO_OUT_CLK rising tURXIS 4 ns Input Hold Time - UTO_IN_CLK rising to (UTO_OUT_ADDR[4:0] INVALID and UTO_OUT_CLAVATM_ENBPHY de-asserted) tURXIH 1 ns Output Delay - UTO_OUT_CLK rising to (UTO_OUT_ENBATM_CLAVPHY, UTO_OUT_SOC asserted and UTO_OUT_DATA[15:0] VALID) tURXD UTO_OUT_CLK Period UTO_OUT_CLK Pulse Width (HIGH / LOW) Typ. Max. Units ns tURX2P/2 Test Conditions UTO_OUT_CLK = 52 MHz ns 13.5 20.5 ns ns CL = 40 pF; UTO_OUT_CLK < 52 MHz CL = 80 pF; UTO_OUT_CLK < 33 MHz Table 103 - UTOPIA Level 2 Interface Timing - PHY mode - Outgoing Data (UTOPIA RX Bus) 166 Zarlink Semiconductor Inc. MT90520 Characteristic Sym. Min. Output Hold Time - UTO_OUT_CLK rising to (UTO_OUT_DATA[15:0] INVALID and UTO_OUT_ENBATM_CLAVPHY, UTO_OUT_SOC de-asserted) tURXH 1 1 Drive to High-Z - UTO_OUT_CLK rising to (UTO_OUT_ENBATM_CLAVPHY, UTO_OUT_SOC, UTO_OUT_DATA[15:0] HIGH-Z) tURXDZ 1 1 High-Z to Drive - UTO_OUT_CLK rising and (UTO_OUT_ENBATM_CLAVPHY, UTO_OUT_SOC, UTO_OUT_DATA HIGH-Z) to (UTO_OUT_ENBATM_CLAVPHY, UTO_OUT_SOC, UTO_OUT_DATA[15:0]) change tURXZX 1 1 Typ. Data Sheet Max. 17.5 28.5 Units Test Conditions ns ns CL = 40 pF; UTO_OUT_CLK < 52 MHz CL = 80 pF; UTO_OUT_CLK < 33 MHz ns ns CL = 40 pF; UTO_OUT_CLK < 52 MHz CL = 80 pF; UTO_OUT_CLK < 33 MHz ns ns CL = 40 pF; UTO_OUT_CLK < 52 MHz CL = 80 pF; UTO_OUT_CLK < 33 MHz Table 103 - UTOPIA Level 2 Interface Timing - PHY mode - Outgoing Data (UTOPIA RX Bus) tURX2L tURX2P tURX2H VTT UTO_OUT_CLK tURXIH tURXIS UTO_OUT_ADDR[4:0] 1F See Note 1 N 1F tURXH M 1F N 1F N 1F 1F N 1F VTT tURXZX UTO_OUT_ENBATM _CLAVPHY tURXIS tURXDZ VTT tURXIH UTO_OUT_CLAVATM _ENBPHY VTT tURXZX UTO_OUT_DATA[15:0] H1 X tURXDZ tURXH H2 H3 P1 P23 P24 X VTT See Note 2 tURXH UTO_OUT_SOC VTT tURXZX Note 1: M is the address of the MT90520; N is the address of another PHY device, where N is not equal to M. An address of 1Fh (31d) indicates a null PHY port. Note 2: UTO_OUT_DATA is a 16-bit bus; therefore, P24 indicates the last cell payload word to be transmitted. Figure 66 - UTOPIA Level 2 Interface Timing - PHY Mode - Outgoing Data (UTOPIA RX Bus) 167 Zarlink Semiconductor Inc. MT90520 8.0 Applications 8.1 Board-Level Applications 8.1.1 Data Sheet Power-Up and Power-Down Sequence To prevent device latch-up, it is recommended to turn on the I/O power (3.3 V) first, followed by the core power (2.5 V). This can be done in one of two ways: • By powering up the 3.3 V rail first, preventing the 2.5 V rail from powering up until the 3.3 V rail is stable. • By placing a Schottky diode between the 3.3 V and 2.5 V power rails (connecting the anode to the 2.5 V rail and the cathode to the 3.3 V rail). In general, the power-down sequence should be the reverse of the power-up sequence. Thus, the 2.5 V rail should be turned off first, followed by the 3.3 V rail. 8.1.2 External Memory Interface Connections The MT90520 can interface with both the pipelined and flow-through types of synchronous static zero bus turnaround (ZBT) RAM. The clock driving the external memory device must be the same as the clock which is fed to the MT90520 at its MCLK input, as shown in Figure 67 below. ZBT SRAM MT90520 mclk clk Figure 67 - External Memory Interface 168 Zarlink Semiconductor Inc. MT90520 8.1.3 Data Sheet UTOPIA Interface Connections The following table lists all of the signals on the UTOPIA interface of the MT90520. In addition, it indicates what the pin corresponds to in terms of the functionality of the UTOPIA standard, depending on the mode of operation of the UTOPIA interface. Standard Signal Name - Level 2 PHY MT90520 Signal Name MT90520 Signal Direction Standard Signal Name - Level 1 ATM Standard Signal Name - Level 1 PHY Standard Signal Name - Level 2 ATM UTO_IN_CLK I/O RxClk TxClk RxClk TxClk UTO_IN_ADD[4:0] I - - - TxAddr[4:0] UTO_IN_DATA[15:8] I - - RxData[15:8] TxData[15:8] UTO_IN_DATA[7:0] I RxData[7:0] TxData[7:0] RxData[7:0] TxData[7:0] UTO_IN_PAR I RxPrty TxPrty RxPrty TxPrty UTO_IN_SOC I RxSOC TxSOC RxSOC TxSOC UTO_IN_CLAVATM _ENBPHY I RxClav TxEnb* RxClav TxEnb* UTO_IN_ENBATM _CLAVPHY O RxEnb* TxClav RxEnb* TxClav UTO_OUT_CLK I/O TxClk RxClk TxClk RxClk UTO_OUT_ADD[4:0] I - - - RxAddr[4:0] UTO_OUT_DATA[15:8] O - - TxData[15:8] RxData[15:8] UTO_OUT_DATA[7:0] O TxData[7:0] RxData[7:0] TxData[7:0] RxData[7:0] UTO_OUT_PAR O TxPrty RxPrty TxPrty RxPrty UTO_OUT_SOC O TxSOC RxSOC TxSOC RxSOC UTO_OUT_CLAVATM _ENBPHY I TxClav RxEnb* TxClav RxEnb* UTO_OUT_ENBATM _CLAVPHY O TxEnb* RxClav TxEnb* RxClav Table 104 - MT90520 UTOPIA Signal Directions 169 Zarlink Semiconductor Inc. MT90520 Data Sheet Figure 68 below illustrates the connections from the external pins of the UTOPIA interface to a PHY device, when the MT90520 is operating in ATM mode. RxClk UTO_IN_CLK RxEnb* UTO_IN_ENBATM_CLAVPHY RxClav UTO_IN_CLAVATM_ENBPHY RxData[15:0] UTO_IN_DATA[15:0] RxSOC UTO_IN_SOC RxPrty UTO_IN_PAR TxClk RX Parity UTO_OUT_CLK TxEnb* UTO_OUT_ENBATM_CLAVPHY TxClav UTO_OUT_CLAVATM_ENBPHY TxData[15:0] TxSOC TxPrty RX UTOPIA Interface UTO_OUT_DATA[15:0] TX UTOPIA Interface UTO_OUT_SOC UTO_OUT_PAR TX Parity PHY Device MT90520 (ATM Mode) Note 1: The MT90520 does not have to drive the UTOPIA clock. The UTO_IN_CLK and UTO_OUT_CLK pins of the MT90520 can either be inputs or outputs. Note 2: When in ATM mode, UTO_IN_CLAVATM_ENBPHY, UTO_IN_SOC, UTO_OUT_CLAVATM_ENBPHY and UTO_OUT_SOC should be pulled down. It is also recommended to pull up UTO_IN_ENBATM_CLAVPHY and UTO_OUT_ENBATM_CLAVPHY. Figure 68 - ATM Mode: External UTOPIA Pin Connections 170 Zarlink Semiconductor Inc. MT90520 Data Sheet Figure 69 illustrates the connections from the external pins of the UTOPIA interface to an ATM device, when the MT90520 device is operating in PHY mode. TxClk UTO_IN_CLK TxEnb* UTO_IN_CLAVATM_ENBPHY TxClav UTO_IN_ENBATM_CLAVPHY TxData[15:0] TxSOC TxAddr[4:0] TxPrty RxClk UTO_IN_DATA[15:0] UTO_IN_SOC UTO_IN_ADD[4:0] RX Parity UTO_IN_PAR UTO_OUT_CLK RxEnb* UTO_OUT_CLAVATM_ENBPHY RxClav UTO_OUT_ENBATM_CLAVPHY RxData[15:0] RxSOC RxAddr[4:0] RxPrty RX UTOPIA Interface UTO_OUT_DATA[15:0] TX UTOPIA Interface UTO_OUT_SOC UTO_OUT_ADD[4:0] TX Parity UTO_OUT_PAR ATM Device MT90520 (PHY Mode) Note 1: The ATM device is not required to drive the UTOPIA clock. The UTO_IN_CLK and UTO_OUT_CLK pins of the MT90520 can either be inputs or outputs. Note 2: When in PHY mode, UTO_IN_ENBATM_CLAVPHY, UTO_IN_SOC, UTO_OUT_ENBATM_CLAVPHY and UTO_OUT_SOC should be pulled down. It is also recommended to pull up UTO_IN_CLAVATM_ENBPHY and UTO_OUT_CLAVATM_ENBPHY. Figure 69 - PHY Mode: External UTOPIA Pin Connections 171 Zarlink Semiconductor Inc. MT90520 8.2 Data Sheet Segmentation and Reassembly Latency End-to-end latency, or delay, of the AAL1 segmentation and reassembly process of the MT90520 can be expressed in a simplified manner as: end-to-end delay = cell payload assembly time + internal TX queuing + internal TX processing + physical layer and network delays + UTOPIA RX queuing + internal RX processing + pointer offset + CDV buffering Some components of the latency, such as UDT cell payload assembly delay, are determined by the AAL1 standards. Some components of the latency are partially under the control of the application, such as SDT cell payload assembly time where the number of channels can be increased to reduce cell payload assembly time. Some components of the latency are a function of the MT90520 architecture, which has been designed to minimize this latency. Finally, some components are externally determined, such as the physical layer and network delays, and network Cell Delay Variation (CDV) which must be compensated for in the CDV buffering. Mode Cell Payload Assembly (µsec) TX Queuing (µsec) TX Processing (µsec) Total TX / Segmentation (µsec) UDT T1 243.5 min: 0 2.3 min: 245.8 max: 62.9 UDT E1 183.6 min: 0 max: 308.7 2.3 max: 62.9 SDT SDT Trunking N > 46 min: FLOOR[46/N] X 125 min: 0 max: CEIL[47/N] X 125 max: 125 125 min: 0 min: 185.9 max: 248.8 125 min: 125 + FLOOR[46/N] X 125 max: 250 + CEIL[47/N] X 125 125 max: 125 Table 105 - Segmentation Latency min: 250 max: 375 NOTE: “N” is the number of TDM channels carried by a particular ATM VC. Cell Payload Assembly delay is the amount of time the TDM interface requires to deliver enough data to fill an AAL1 cell. Note that the latency given in Table 105 is for the first bit of TDM data packed in the AAL1 cell, i.e. the bit which sees the longest delay before cell transmission. Since reassembly latency is inverted from this segmentation latency (first-in-first-out) this method gives correct end-to-end latency for all bits in the cell when segmentation and re-assembly delays are summed. The cell payload asssembly delay in SDT mode is a function of “N”, the number of TDM channels carried by the VC. The FLOOR[x] function means “the largest integer less than, or equal to, x” and the CEIL[x] function means “the smallest integer greater than, or equal to, x”. Cell payload assembly is a static delay in UDT mode. Cell payload assembly is a variable delay in SDT mode, due both to the variation in payload size (46 bytes and 47 bytes) specified in the AAL1 standards, and to remainders when fitting N channels into the cell payload. 172 Zarlink Semiconductor Inc. MT90520 Data Sheet TX Queuing represents the possible delay due to cell operations queuing in front of the single high-speed TDM segmentation and cell-assembly engine (TX_SAR). In UDT mode, worst case for this is the time taken to process 27 cells (one for each of the other TDM ports). In SDT mode, worst case for TX Queueing with a porperly configured control structure is always less than a TDM frame (125 microseconds). This is a variable delay, and the number given here is the peak, worst-case, low-probability value. TX Processing is the time required for internal processing and data moves. This is a fixed delay in UDT and SDT mode. Physical layer and network delays are the delays due to speed-of-transmission delays in the physical layer, including transmission time on the UTOPIA bus, and queuing delays at the switches through the network, including queuing in front of the physical layer devices directly connected to the MT90520. This is in general a variable delay, and usually represents the largest source of Cell Delay Variation (CDV) that the reassembly path (RX_SAR) has to deal with. Mode RX UTOPIA Queuing (µsec) RX Processing (µsec) Pointer Offset (µsec) UDT T1 min: 0 1.7 min:0 max: 45.8 UDT E1 min: 0 max: 243.5 1.7 max: 45.8 SDT min: 0 max: 183.6 125 max: 125 SDT Trunking min: 0 N > 46 max: 125 min: 0 min: 0 max: 125 125 min: 0 CDV Buffering (µsec) Total RX / Reassembly (µsec) 0.5 X Max_Lead X 5.18 min: 1.7 + 2.59 X Max_Lead 0.5 X Max_Lead X 3.91 min: 1.7 + 1.95 X Max_Lead 0.5 X Max_Lead X 125 min: 125 + 62.5 X Max_Lead 0.5 X Max_Lead X 125 min: 125 + 62.5 X Max_Lead max: 125 Table 106 - Reassembly Latency max: 291 + 2.59 X Max_Lead max: 231.1 + 1.95 X Max_Lead max: 375 + 62.5 X Max_Lead max: 375 + 62.5 X Max_Lead RX UTOPIA Queuing represents the possible delay due to a burst of cells arriving faster than the RX_SAR can process them. In UDT mode, the worst case is 27 cells (one for each of the other TDM ports), and in SDT mode the worst case is always less than 125 microseconds. This is a variable delay. RX Processing delay is the time required for internal processing and data moves. This is a fixed delay in UDT and SDT mode. Pointer Offset represents the random time-offset between segmentation operation at one end of link, and reassembly operation at the other end of link. In UDT mode this is some fraction of a cell payload assembly period. In SDT mode this is some fraction of the 125 microsecond TDM frame. This is a static delay, except for wander difference in the segmentation and reassembly TDM clocks. CDV Buffering is the delay due to the cell-delay-variation buffer, and is controlled by the setting (per-VC) of the internal “Maximum Lead” variable. The delay through the CDV buffer is generally one-half of the limit set by the “Maximum Lead” variable. 173 Zarlink Semiconductor Inc. MT90520 Data Sheet Total Static TX / Segmentation (µsec) Total Static RX / Reassembly (µsec) End-to-End Latency (µsec) UDT T1 - min 245.8 1.7 + 2.59 X Max_Lead 490.96 + CDV + network max 245.8 245.2 + 2.59 X Max_Lead 734.46 + CDV + network UDT E1 - min 185.9 1.7 + 1.95 X Max_Lead 370.9 + CDV + network max 185.9 185.3 + 1.95 X Max_Lead 554.5 + CDV + network 125 + FLOOR[46/N] X 125 125 + 62.5 X Max_Lead 375 + FLOOR[46/N] X 125 + CDV + network 125 + CEIL[47/N] X 125 250 + 62.5 X Max_Lead 500 + CEIL[47/N] X 125 + CDV + network SDT Trunking - min 250 125 + 62.5 X Max_Lead 500 + CDV + network max 250 250 + 62.5 X Max_Lead Table 107 - End-to-End Latency 625 + CDV + network Mode SDT - min max Since the variable portions of the delay in segmentation and reassembly effectively become part of the CDV that must be compensated for in the CDV buffer, we can omit them from the end-to-end calculation. (Also remembering that the variable delays given in Table 105 and Table 106 are worst-case numbers that will never be experienced by most applications.) The delay variation in SDT mode due to payload size variation and divide-by-N remainders is also part of the CDV compensated for by the CDV buffer, but is left in here to illustrate the effects on delay of the value of N. The Max_Lead values should be set by the user in accordance with the expected or negotiated CDV, as explained in “UDT Mode of Operation” on page 78 and in “SDT Mode of Operation” on page 79. These recommended settings are used to evaluate Max_Lead in Table 107. It can be seen that the difference between the minimum and maximum static delay in each mode is due largely to the pointer offset, which, as described earlier, is the random offset between the time of the segmentation operation and the time of the reassembly operation. The delay values for SDT assume no TDM switching delay. This means that the given delay is for a TDM byte which is driven out at the RX end on the same TDM channel number as it was sampled in at the TX end. For example, if the TDM byte comes into the segmentation end on TDM channel 3, it is driven out at the reassembly end on TDM channel 3. 174 Zarlink Semiconductor Inc. MT90520 9.0 Reference Documents 9.1 Normative Standards Data Sheet • ITU-T Rec. I.363.1, “B-ISDN ATM Adaptation Layer Specification: Type 1 AAL,” Aug. 1996. • ATM Forum af-vtoa-0078.000, “Circuit Emulation Service Interoperability Specification Version 2.0,” Jan. 1997. • ATM Forum, af-vtoa-0089.001, “ATM Trunking using AAL1 for Narrowband Services Version 1.1,” Feb. 2000. • ITU-T I.361, “B-ISDN ATM Layer Specification,” Nov. 1995. • ITU-T I.362, “B-ISDN ATM Adaptation Layer (AAL) Functional Description,” Mar. 1993. • IEEE Std. 1149.1a-1993, “IEEE Standard Test Access Port and Boundary Scan Architecture.” • ATM Forum af-phy-0017.000, “UTOPIA, An ATM-PHY Interface Specification: Level 1, Version 2.01,” Mar. 1994. • ATM Forum af-phy-0039.000, “Utopia Level 2, Version 1.0,” June 1995. • ITU-T G.823, “The Control of Jitter and Wander within Digital Networks which are based on the 2048 kbit/s Hierarchy,” Mar. 1993. • ITU-T G.824, “The Control of Jitter and Wander within Digital Networks which are based on the 1544 kbit/s Hierarchy,” Mar. 1993. • ANSI T1.102, “Telecommunications - Digital Hierarchy - Electrical Interfaces,” 1993. • ANSI T1.403, “Telecommunications - Network and Customer Installation Interfaces - DS1 Electrical Interface Informative Standards and References,” 1995. 9.2 Informative Standards • ANSI T1.630 -1993, “Broadband ISDN - ATM Adaptation Layer for Constant Bit Rate Services Functionality and Specification,” Aug. 1993. • ETSI Std. ETS 300 353, “B-ISDN; ATM Adaptation Layer (AAL) specification - type1,” Dec. 1996 (2nd Ed, Draft) • Telcordia GR-1113-CORE, Issue 1, July, 1994, Asynchronous Transfer Mode (ATM) and ATM Adaptation Layer (AAL) Protocols. • MSAN-163, “Multitrunk System Synchronizer”, Issue 1, Zarlink Application Note for the MT9042 PLL, December 1996. • M. Noorchasm et al., “Buffer Design for Constant Bit Rate Services in Presence of Cell Delay Variation,” ATM Forum Contribution 95-1454. • Paul E. Fleischer and Chi-Leung Lau, “Synchronous Residual Time Stamp for Timing Recovery in a Broadband Network,” United States Patent 5,260,978, Nov. 1993. Note: Telcordia (formerly Bellcore) asserts that its U.S. Patent No. 5,260,978 for Synchronous Residual Timestamp (SRTS) Timing Recovery in a Broadband Network may apply to the ATM Adaptation Layer Type 1 (AAL1) ANSI Standard (T1.630-1993) referenced in Section 3.4 of af-vtoa-0078.000. 175 Zarlink Semiconductor Inc. MT90520 10.0 Data Sheet Glossary AAL - ATM Adaptation Layer; standardized protocols used to translate higher layer services from multiple applications into the size and format of an ATM cell. AAL1 - ATM Adaptation Layer 1, used for the transport of constant bit rate, time-dependent traffic (e.g., voice, video); requires transfer of timing information between source and destination; maximum of 47-bytes of user data permitted in payload as an additional header byte is required to provide sequencing information. Asynchronous - 1. Not synchronous; not periodic. 2. The temporal property of being sourced from independent timing references. Asynchronous signals have different frequencies, and no fixed phase relationship. 3. In telecom, data which is not synchronized to the public network clock. 4. The condition or state when an entity is unable to determine, prior to its occurrence, exactly when an event will transpire. ATM - Asynchronous Transfer Mode; a method in which information to be transferred is organized into fixed-length cells; asynchronous in the sense that the recurrence of cells containing information from an individual user is not necessarily periodic. (While ATM cells are transmitted synchronously to maintain clock between sender and receiver, the sender transmits data cells when it has something to send and transmits empty cells when idle, and is not limited to transmitting data every Nth cell.) CBR - Constant Bit Rate; an ATM service category supporting a constant or guaranteed rate, with timing control and strict performance parameters. Used for services such as voice, video, or circuit emulation. CDV - Cell Delay Variation; a QoS parameter that measures the peak-to-peak cell delay through the network; results from buffering and cell scheduling. Cell - fixed-size information package consisting of 53 bytes (octets) of data; of these, 5 bytes represent the cell header and 48 bytes carry the user payload and required overhead. Note: If a 16-bit UTOPIA interface is used, each cell is 54 bytes long, composed of 6 bytes of cell header and 48 bytes carrying user payload and required overhead. CES - Circuit Emulation Service; ATM Forum service providing a virtual circuit which emulates the characteristics of a constant bit rate, dedicated-bandwidth circuit (e.g., DS1). CLP - Cell Loss Priority; a 1-bit field in the ATM cell header that corresponds to the loss priority of a cell; cells with CLP = 1 can be discarded in a congestion situation. CSI - Convergence Sublayer Indication bit in the AAL1 header byte; when present in an even-numbered cell using SDT, indicates the presence of a pointer byte; used to transport RTS values in odd-numbered cells using SRTS clock recovery. GFC - Generic Flow Control; 4-bit field in the ATM header used for local functions (not carried end-to-end); when cells are configured for NNI formatting, this value forms the four MSBs of the VPI field. HEC - Header Error Control; using the fifth octet in the ATM cell header, ATM equipment (usually the PHY) may check for an error and correct the contents of the header; CRC algorithm allows for single-error correction and multiple-error detection. Isochronous - The temporal property of an event or signal recurring at known periodic time intervals (e.g., 125 µs). Isochronous signals are dependent on some uniform timing, or carry their own timing information embedded as part of the signal. Examples are DS1, E1 and TDM in general. From the root words, “iso” meaning equal, and “chronous” meaning time. OAM - Operations, Administration and Maintenance; MSB within the PTI field of the ATM cell header which indicates if the ATM cell carries management information such as fault indications. PHY - Physical Layer; bottom layer of the ATM Reference Model; provides ATM cell transmission over the physical interfaces that interconnect the various ATM devices. 176 Zarlink Semiconductor Inc. MT90520 Data Sheet Plesiochronous - The temporal property of being arbitrarily close in frequency to some defined precision. Plesiochronous signals occur at nominally the same rate, any variation in rate being constrained within specific limits. Since they are not identical, over the long term they will be skewed from each other. This will force a switch to occasionally repeat or delete data in order to handle buffer underflow or overflow. (In telecommunications, this is known as a frame slip.) PTI - Payload Type Identifier; 3-bit field in the ATM cell header - MSB indicates if the cell contains OAM information or user data. QoS - Quality of Service; ATM performance parameters that characterize the transmission quality over a given VCC (e.g., cell delay variation; cell transfer delay, cell loss ratio). RTS - Residual Time Stamp; see SRTS. SAR - Segmentation and Reassembly; method of partitioning, at the source, frames into ATM cells and reassembling, at the destination, these cells back into information frames; lower sublayer of the AAL which inserts data from the information frames into cells and then adds the required header, trailer, and/or padding bytes to create 48-byte payloads to be transmitted to the ATM layer. SDT - Structured Data Transfer; format used within AAL1 for blocks consisting of Nx64 kbps channels; blocks are segmented into cells for transfer and additional overhead bytes (pointers) are used to indicate structure boundaries within cells (therefore aiding data recovery). SN - Sequence Number; 4-bit field in the AAL1 header byte used as a sequence counter for detecting lost or misinserted ATM cells. SNP - Sequence Number Protection; 4-bit field in the AAL1 header byte consisting of a 3-bit CRC and a parity bit which are designed to provide error-correction on the SN. SRTS - Synchronous Residual Time Stamp; method for clock recovery in which difference signals between a source clock and the network reference clock (time stamps) are transmitted to allow reconstruction of the source clock. The destination reconstructs the source clock based on the time stamps and the network reference clock. (Note that the same network reference clock is required at both ends.) Synchronous - 1. The temporal property of being sourced from the same timing reference. Synchronous signals have the same frequency, and a fixed (often implied to be zero) phase offset. 2. A mode of transmission in which the sending and receiving terminal equipment are operating continually at the same rate and are maintained in a desired phase relationship by an appropriate means. UDT - Unstructured Data Transfer; format used within AAL1 for transmission of user data without regard for structure boundaries (e.g., circuit emulation). UTOPIA - Universal Test and Operations Physical Interface for ATM; a PHY-level interface to provide connectivity between ATM components. VC - Virtual Channel (also, Virtual Circuit); one of several logical connections defined within a virtual path (VP) between two ATM devices; provides sequential, unidirectional transport of ATM cells. VCC - Virtual Circuit Connection; term used to include both VPI and VCI. VCI - Virtual Channel Identifier; 16-bit value in the ATM cell header that provides a unique identifier for the virtual channel (VC) within a virtual path (VP) that carries a particular cell. VP - Virtual Path; a unidirectional logical connection between two ATM devices; consists of a set of virtual channels (VC). VPI - Virtual Path Identifier; 8-bit value (in UNI; 12 bits in NNI) in the ATM cell header that indicates the virtual path (VP) to which a cell belongs. VTOA - Voice and Telephony over ATM; intended to provide voice connectivity to the desktop, and to provide interoperability with existing N-ISDN and PBX services. 177 Zarlink Semiconductor Inc. MT90520 Data Sheet ZBT - Zero Bus Turnaround; a type of memory interface which does not require wait states between read and write cycles. ZBT and Zero Bus Turnaround are trademarks held by Integrated Device Technology Inc. 10.1 Glossary References: The ATM Glossary - ATM Year 97 - Version 2.1, March 1997 The ATM Forum Glossary - May 1997 Zarlink Semiconductor Glossary of Telecommunications Terms - May 1995. 178 Zarlink Semiconductor Inc. For more information about all Zarlink products visit our Web Site at www.zarlink.com Information relating to products and services furnished herein by Zarlink Semiconductor Inc. or its subsidiaries (collectively “Zarlink”) is believed to be reliable. However, Zarlink assumes no liability for errors that may appear in this publication, or for liability otherwise arising from the application or use of any such information, product or service or for any infringement of patents or other intellectual property rights owned by third parties which may result from such application or use. Neither the supply of such information or purchase of product or service conveys any license, either express or implied, under patents or other intellectual property rights owned by Zarlink or licensed from third parties by Zarlink, whatsoever. Purchasers of products are also hereby notified that the use of product in certain ways or in combination with Zarlink, or non-Zarlink furnished goods or services may infringe patents or other intellectual property rights owned by Zarlink. This publication is issued to provide information only and (unless agreed by Zarlink in writing) may not be used, applied or reproduced for any purpose nor form part of any order or contract nor to be regarded as a representation relating to the products or services concerned. The products, their specifications, services and other information appearing in this publication are subject to change by Zarlink without notice. No warranty or guarantee express or implied is made regarding the capability, performance or suitability of any product or service. Information concerning possible methods of use is provided as a guide only and does not constitute any guarantee that such methods of use will be satisfactory in a specific piece of equipment. It is the user’s responsibility to fully determine the performance and suitability of any equipment using such information and to ensure that any publication or data used is up to date and has not been superseded. Manufacturing does not necessarily include testing of all functions or parameters. These products are not suitable for use in any medical products whose failure to perform may result in significant injury or death to the user. All products and materials are sold and services provided subject to Zarlink’s conditions of sale which are available on request. Purchase of Zarlink’s I2C components conveys a licence under the Philips I2C Patent rights to use these components in and I2C System, provided that the system conforms to the I2C Standard Specification as defined by Philips. Zarlink, ZL and the Zarlink Semiconductor logo are trademarks of Zarlink Semiconductor Inc. Copyright Zarlink Semiconductor Inc. All Rights Reserved. TECHNICAL DOCUMENTATION - NOT FOR RESALE