Part Number Hot Search : 
2N5152 80C186EA 2N5152 MRF24 74AHC541 SBL3040 461MGG BCPZRL
Product Description
Full Text Search
 

To Download DS34S108DK-L7 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  _________________________________________________________ maxim integrated products 1 some revisions of this device may incorporate deviations from published specifications known as errata. multiple revisions of any device may be simultaneously available through various sales c hannels. for information about device errata, go to: www.m axim - ic.com/errata . for pricing, delivery, and ordering information, please contact maxim direct at 1 - 888 - 629 - 4642, or visit maxims website at www.maxim - ic.com. ds34s101, ds34s102, ds34s104, ds34s108 single/dual/quad/octal tdm- over -packet chip general description these ietf pwe 3 satop/cesopsn/tdmoip/hdlc compliant devices allow up to eight e1, t1 or serial streams or one high - speed e3, t3, sts - 1 or serial str eam to be transported transparently over ip, mpls or ethernet networks. jitter and wander of recovered clocks conform to g.823/g.824, g.8261, and tdm specifications. tdm data is transported in up to 64 individually configurable bundles. all standards - based tdm - over - packet mapping methods are supported except aal2. frame - based serial hdlc data flows are also supported. the high level of integration available with the ds34s10x devices minimizes cost, board space, and time to market. applications tdm circuit extension over psn o leased - line services over psn o tdm over gpon/epon o tdm over cable o tdm over wireless cellular backhaul over psn multiservice over unified psn hdlc - based traffic transport over psn functional diagram features ? transport of e1, t1, e3, t3 or sts - 1 tdm or other cbr signals over packet networks ? full support for these mapping methods: satop, cesopsn, tdmoip (aal1), hdlc, unstructured, structured, structured with cas ? adaptive clock recovery, common clock, external clock and loopback timing modes ? on - chip tdm clock recovery machines, one per port, independently configurable ? clock recovery algorithm handles network pdv, packet loss, constant delay changes, frequency changes and other impairments ? 64 independent bundles/ connections ? multiprotocol encapsulation supports ipv4, ipv6, udp, rtp, l2tpv3, mpls, metro ethernet ? vlan support according to 802.1p and 802.1q ? 10/100 ethernet mac supports mii/rmii/ssmii ? selectable 32 - bit, 16 - bit or spi processor bus ? operates from only two clock signals, one for clock recovery and one for packet processing ? glueless sdram buffer management ? low - power 1.8v core, 3.3v i/o see detailed feature list in section 7 . ordering information part ports temp range pin - package ds34s101 gn 1 - 40 c to +85 c 256 tecsbga ds34s101 gn+ 1 - 40 c to +85 c 256 tecsbga ds34s102 gn 2 - 40 c to +85 c 256 tecsbga ds34s102 gn+ 2 - 40 c to +85 c 256 tecsbga ds34s104 gn 4 - 40 c to +85 c 256 tecsbga ds34s104 gn+ 4 - 40 c to +85 c 256 tecsbga ds34s108 gn 8 - 40 c to +85 c 484 hsbga ds34s108gn+ 8 - 40 c to +85 c 484 hsbga + denotes a lead(pb) - free/rohs - compliant package ( explanation ). cpu bus clock inputs xm ii interface buffer manager circuit emulat ion engine clock adapters 10/100 ethernet mac tdm interfaces sdram interface ds34s108 rev: 032609 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 2 of 198 table of contents 1. introduction ................................................................................................................................ . 7 2. acronyms and glos sary .......................................................................................................... 8 3. applicable standa rds ............................................................................................................ 10 4. detailed descript ion ............................................................................................................... 11 5. application examp les .............................................................................................................. 12 6. block diagram ............................................................................................................................ 14 7. features ....................................................................................................................................... 15 8. overview of major operational modes ........................................................................... 17 9. pin descriptions ......................................................................................................................... 18 9.1 s hort p in d escriptions .............................................................................................................. 18 9.2 d etailed p in d escriptions ......................................................................................................... 20 10. functional descr iption ........................................................................................................ 28 10.1 p ower -s upply c onsiderations ............................................................................................... 28 10.2 cpu i nterface .......................................................................................................................... 28 10.3 spi i nterface ............................................................................................................................ 31 10.3.1 spi operation .................................................................................................................................... 31 10.3.2 spi modes ......................................................................................................................................... 32 10.3.3 spi signals ........................................................................................................................................ 33 10.3.4 spi protocol ....................................................................................................................................... 33 10.4 c lock s tructure ...................................................................................................................... 36 10.5 r eset and p ower -d own ........................................................................................................... 37 10.6 tdm - over -p acket b lock .......................................................................................................... 37 10.6.1 packet formats .................................................................................................................................. 37 10.6.2 typical application ............................................................................................................................. 47 10.6.3 clock recovery .................................................................................................................................. 48 10.6.4 timeslot assigner (tsa) ..................................................................................................................... 49 10.6.5 cas handler ...................................................................................................................................... 50 10.6.6 aal1 payload type machine ............................................................................................................. 54 10.6.7 hdlc payload type machine ............................................................................................................. 57 10.6.8 raw payload type machine .............................................................................................................. 58 10.6.9 sdram and sdram controller ......................................................................................................... 62 10.6.10 jitter buffer control (jbc) ................................................................................................................. 63 10.6.11 queue manager ............................................................................................................................... 66 10.6.12 ethernet mac ................................................................................................................................... 78 10.6.13 packet classifier .............................................................................................................................. 81 10.6.14 packet trailer support ...................................................................................................................... 84 10.6.15 counters and status registers ......................................................................................................... 85 10.6.16 connection level redundancy ......................................................................................................... 85 10.6.17 oam signaling ................................................................................................................................ . 86 10.7 g lobal r esources ................................................................................................................... 87 10.8 p er -p ort r esources ................................................................................................................ 87 10.9 d evice i nterrupts .................................................................................................................... 87 11. device registers ...................................................................................................................... 89 11.1 a ddressing ................................................................................................................................ 89 11.2 t op -l evel m emory m ap ............................................................................................................ 90 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 3 of 198 11.3 g lobal r egisters ..................................................................................................................... 91 11.4 tdm - over -p acket r egisters ................................................................................................... 93 11.4.1 configuration and status registers .................................................................................................... 94 11.4.2 bundle configuration tables ............................................................................................................ 108 11.4.3 counters .......................................................................................................................................... 117 11.4.4 status tables ................................................................................................................................... 120 11.4.5 timeslot assignment tables ............................................................................................................. 122 11.4.6 cpu queues .................................................................................................................................... 124 11.4.7 transmit buffers pool ....................................................................................................................... 129 11.4.8 jitter buffer control .......................................................................................................................... 130 11.4.9 transmit software cas .................................................................................................................... 134 11.4.10 receive line cas .......................................................................................................................... 136 11.4.11 clock recovery .............................................................................................................................. 137 11.4.12 receive sw conditioning octet select ........................................................................................... 138 11.4.13 receive sw cas ........................................................................................................................... 139 11.4.14 interrupt controller ......................................................................................................................... 140 11.4.15 packet classifier ............................................................................................................................ 147 11.4.16 ethernet mac ................................................................................................................................ . 148 12. jtag information .................................................................................................................... 158 13. dc electrical ch aracteristics ........................................................................................ 163 14. ac timing characteristics .................................................................................................. 164 14.1 cpu i nterface t iming .............................................................................................................. 164 14.2 spi i nterface t iming ................................................................................................................ 165 14.3 sdram i nterface t iming ......................................................................................................... 166 14.4 tdm - over -p acket tdm i nterface t iming ............................................................................... 169 14.5 e thernet mii/rmii/ssmii i nter face t iming ............................................................................. 172 14.6 clad and s ystem c lock t iming .............................................................................................. 174 14.7 jtag i nterface t iming ............................................................................................................ 175 15. applications ............................................................................................................................. 176 15.1 c onnecting a s erial i nterface t ransceiver ......................................................................... 176 15.2 c onnecting an e thernet phy or mac ................................................................................... 177 15.3 i mplementing c lock r ecovery in h igh s peed a pplications .................................................. 179 15.4 c onnecting a m otorola mpc860 p rocessor ....................................................................... 179 15.4.1 connecting the bus signals .............................................................................................................. 179 15.4.2 connecting the h_ready_n signal ................................................................................................ 182 15.5 w orking in spi m ode ............................................................................................................... 183 15.6 c onnecting sdram d evices ................................................................................................... 183 16. pin assignments ...................................................................................................................... 184 16.1 b oard d esign for m ultiple ds34s101/2/4 d evices ............................................................... 184 16.2 ds34s101 p in a ssignment ....................................................................................................... 190 16.3 ds 34s102 p in a ssignment ....................................................................................................... 191 16.4 ds34s104 p in a ssignment ....................................................................................................... 192 16.5 ds34s108 p in a ssignment ....................................................................................................... 193 17. package informat ion ............................................................................................................ 197 18. thermal informat ion ............................................................................................................ 197 19. data sheet revis ion history .............................................................................................. 198 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 4 of 198 list of figures figure 5- 1. tdmop in a metropolitan packet switched network ........................................................................... 12 figure 5- 2. tdmop in cellular backhaul ............................................................................................................... 13 figure 6 - 1. top - level block diagram ................................................................................................................... 14 figure 10 - 1. cpu interface functional diagram .................................................................................................. 28 figure 10 - 2. write access, 32 - bit bus ................................................................................................................. 29 figure 10 - 3. read access, 32 - bit bus ................................................................................................................. 30 figure 10- 4. read/write access, 16 - bit bus ........................................................................................................ 30 figure 10 - 5. write access to the sdram, 16 - bit bus .......................................................................................... 31 figure 10 - 6. read access to the sdram, 16 - bit bus .......................................................................................... 31 figure 10 - 7. spi interface with one slave ........................................................................................................... 32 figure 10 - 8. spi interface timing, spi_cp=0 ..................................................................................................... 32 figure 10 - 9. spi interface timing, spi_cp=1 ..................................................................................................... 32 figure 10 - 10. tdm - over - packet encapsulation formats ...................................................................................... 38 figure 10 - 11. single vlan tag format ............................................................................................................... 39 figure 10 - 12. stacked vlan tag format ............................................................................................................ 39 figure 10 - 13. udp/ipv4 header format .............................................................................................................. 39 figure 10 - 14. udp/ipv6 header format .............................................................................................................. 40 figure 10 - 15. mpls header format ................................................................................................................... 41 figure 10 - 16. mef header format ...................................................................................................................... 41 figure 10 - 17. l2tpv3/ipv4 header format ......................................................................................................... 42 figure 10 - 18 . l2tpv3/ipv6 header format ......................................................................................................... 43 figure 10 - 19. control word format ..................................................................................................................... 43 figure 10 - 20. rtp header format ...................................................................................................................... 44 figure 10 - 21. vccv oam packet format ........................................................................................................... 45 figure 10 - 22. udp/ip - specific oam packet format ............................................................................................ 46 figure 10 - 23. tdm connectivity over a psn ....................................................................................................... 47 figure 10 - 24. tdmop packet format in a typical application ............................................................................. 47 figure 10 - 25 . tdmompls packet format in a typical application ...................................................................... 48 figure 10 - 26. cas transmitted in the tdm - to - ethernet direction ........................................................................ 50 figure 10 - 27. transmit sw cas table format for e1 and t1 - esf interfaces ..................................................... 51 figure 10 - 28. transmit sw cas table format for t1 - sf interfaces .................................................................... 51 figure 10 - 29. e1 mf interface rsig timing diagram (two_clocks=1) ................................................................ . 51 figure 10 - 30. t1 esf interface rsig timing diagram (two_clocks=0) ................................................................ 52 figure 10 - 31. t1 sf interface rsig (two_clocks=0) C timing diagram ............................................................... 52 figure 10 - 32. cas transmitted in the ethernet - to - tdm direction ........................................................................ 53 figure 10 - 33. e1 mf interface tsig timing diagram .......................................................................................... 54 figure 10 - 34. t1 esf interface tsig timing diagram ........................................................................................ 54 figure 10 - 35. t1 sf interface tsig timing diagram ........................................................................................... 54 figure 10 - 36. aal1 mapping, general ................................................................................................................ 55 figure 10 - 37. aal1 mapping, structured - without - cas bundles .......................................................................... 56 figure 10 - 38. hdlc mapping ............................................................................................................................. 57 figure 10 - 39. satop unstructured packet mapping ............................................................................................ 58 figure 10 - 40. cesopsn structured - without - cas mapping ................................................................................. 59 figure 10 - 41. cesopsn structured - with - cas mapping (no frag, e1 example) ................................................. 59 figure 10 - 42. cesopsn structured - with - cas mapping (no frag, t1 - esf example) ......................................... 60 figure 10 - 43. cesopsn structured - with - cas mapping (no frag, t1 - sf example) ........................................... 60 figure 10 - 44. cesopsn structured - with - cas mapping (frag, e1 example) ...................................................... 61 figure 10 - 45. sdram access through the sdram controller ............................................................................. 63 figure 10 - 46. loop timing in tdm networks ....................................................................................................... 63 figure 10 - 47. timing in tdm - over -packet ........................................................................................................... 64 figure 10 - 48. jitter buffer parameters ................................................................................................................. 65 figure 10 - 49. tdm - over - packet data flow diagram ........................................................................................... 67 figure 10 - 50. free buffer pool operation ............................................................................................................ 71 figure 10 - 51. tdm - to - ethernet flow ................................................................................................................... 72 figure 10 - 52. ethernet - to - tdm flow ................................................................................................................... 73 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 5 of 198 figure 10 - 53. tdm - to - tdm flow ......................................................................................................................... 74 figure 10 - 54. tdm - to - cpu flow ......................................................................................................................... 75 figure 10 - 55. cpu - to - tdm flow ......................................................................................................................... 76 figure 10 - 56. cpu - to - ethernet flow ................................................................................................................... 77 figure 10 - 57. ethernet - to - cpu flow ................................................................................................................... 78 figure 10 - 59. ethernet mac ............................................................................................................................... 79 figure 10 - 60. format of tdmoip packet with vlan tag ..................................................................................... 82 figure 10 - 61. format of tdmompls packet with vlan tag ............................................................................... 82 figure 10 - 62. format of tdmomef packet with vlan tag ................................................................................. 82 figure 10 - 63. structure of packets with trailer .................................................................................................... 85 figure 11 - 1. 16 - bit addressing ............................................................................................................................ 89 figure 11 - 2. 32 - bi t addressing ............................................................................................................................ 89 figure 11 - 3. partial data elements (shorter than 16 bits) ..................................................................................... 89 figure 11 - 4. partial data elements (16 to 32 bits long) ........................................................................................ 90 figure 12 - 1. jtag block diagram ..................................................................................................................... 158 figure 12 - 2. jtag tap controller state machine ............................................................................................. 159 figure 14 - 1. rst_sys_n timing ...................................................................................................................... 164 figure 14 - 2. cpu interface write cycle timing ................................................................................................ . 165 figure 14 - 3. cpu interface read cycle timing ................................................................................................ . 165 figure 14 - 4. spi interface timing (spi_cp = 0) ................................................................................................ 166 figure 14 - 5. spi interface timing (spi_cp = 1) ................................................................................................ 166 figure 14 - 6. sdram interface write cycle timing ............................................................................................ 167 figure 14 - 7. sdram interface read cycle timing ............................................................................................ 168 figure 14 - 8. tdmop tdm timing, one - clock mode (two_clocks=0, tx_sample=1) ......................................... 169 figure 14 - 9. tdmop tdm timing, one clock mode (two_clocks=0, tx_sample=0) ......................................... 170 figure 14 - 10. tdmop tdm timing, two clock mode (two_clocks=1, tx_sample=1, rx_sample=1) ................ 170 figure 14 - 11. tdmop tdm timing, two clocks mode (two_clocks=1, tx_sample=0, rx_sample=0) ............... 170 figure 14 - 12. tdmop tdm timing, two clocks mode (two_clocks=1, tx_sample=0, rx_sample=1) ............... 171 figure 14 - 13. tdmop tdm timing,two clocks mode (two_clocks=1, tx_sample=1, rx_sample=0) ................ 171 figure 14 - 14. mii management interface timing ............................................................................................... 172 figure 14 - 15. mii interface output signal timing ............................................................................................... 172 figure 14 - 16. mii interface input signal timing ................................................................................................ . 173 figure 14 - 17. rmii interface output signal timing ............................................................................................ 173 figure 14 - 18. rmii interface input signal timing ............................................................................................... 173 figure 14 - 19. ssmii interface output signal timing .......................................................................................... 174 figure 14 - 20. ssmii interface input signal timing ............................................................................................. 174 figure 14 - 21. jtag interface timing diagram .................................................................................................. 175 figure 15 - 1. connecting port 1 to a serial transceiver ...................................................................................... 176 figure 15 - 2. connecting the ethernet port to a phy in mii mode ...................................................................... 177 figure 15 - 3. connecting the ethernet port to a mac in mii mode ...................................................................... 177 f igure 15 - 4. connecting the ethernet port to a phy in rmii mode .................................................................... 1 77 figure 15 - 5. connecting the ethernet port to a mac in rmii mode ................................................................... 178 figure 15 - 6. connecting the ethernet port to a phy in ssmii mode .................................................................. 178 figure 15 - 7. connecting the ethernet port to a mac in ssmii mode ................................................................ . 178 figure 15 - 8. external clock multiplier for high speed applications .................................................................... 179 figure 15 - 9. 32 - bit cpu bus connections ......................................................................................................... 180 figure 15 - 10. 16 - bit cpu bus connections ....................................................................................................... 181 figure 15 - 11. connecting the h_ready_n signal to the mpc860 ta pin ....................................................... 182 figure 15 - 12. internal cpld logic to synchronize h_ready_n to the mpc860 clock ..................................... 182 figure 16 - 1. ds34s101 pin assignment (te - csbga package) ........................................................................ 190 figure 16 - 2. ds34s102 pin assignment (te - csbga package) ........................................................................ 191 figure 16 - 3. ds34s104 pin assignment (te - csbga package) ........................................................................ 192 figure 16 - 4. ds34s108 pin assignment (hsbga package) ............................................................................. 196 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 6 of 198 list of tables table 3 - 1. applicable standards ......................................................................................................................... 10 table 9 - 1. short pin descriptions ........................................................................................................................ 18 table 9 - 2. tdm - over - packet engine tdm interface pins ..................................................................................... 20 table 9 - 3. sdr am interface pins ........................................................................................................................ 22 table 9 - 4. ethernet phy interface pins (mii/rmii/ssmii) .................................................................................... 23 table 9 - 5. global clock pins ............................................................................................................................... 24 table 9 - 6. cpu interface pins ............................................................................................................................. 25 table 9 - 7. jtag interface pins ........................................................................................................................... 27 table 9 -8 . reset and factory test pins .............................................................................................................. 27 table 9 - 9. power and ground pins ..................................................................................................................... 27 table 10 - 1. cpu data bus widths ...................................................................................................................... 29 table 10 - 2. spi write command sequence ........................................................................................................ 34 table 10 - 3. spi_ read command sequence ...................................................................................................... 35 table 10 - 4. spi status command sequence ...................................................................................................... 36 table 10 - 5. reset functions ............................................................................................................................... 37 table 10 - 6. ethernet packet fields ..................................................................................................................... 38 table 10 - 7. ipv4 header fields (udp) ................................................................................................................ 40 table 10 - 8. udp header fields .......................................................................................................................... 40 t able 10 - 9. ipv6 header fields (udp) ................................................................................................................ 41 table 10 - 10. mpls header fields ...................................................................................................................... 41 table 10 - 11. mef header fields ........................................................................................................................ 41 table 10 - 12. ipv4 header fields (l2tpv3) .......................................................................................................... 42 table 10 - 13. l2tpv3 header fields .................................................................................................................... 42 table 10 - 14. ipv6 header fields (l2tpv3) .......................................................................................................... 43 table 10 - 15. control word fields ........................................................................................................................ 43 table 10 - 16. rtp header fields ......................................................................................................................... 44 table 10 - 17. vccv oam payload fields ............................................................................................................ 45 table 10 - 18. udp/ip - specific oam payload fields ............................................................................................. 46 table 10 - 19. cas C supported interface connections for aal1 and cesopsn .................................................. 51 table 10 - 20. cas handler selector decision logic ............................................................................................. 52 table 10 - 21. aal1 header fields ....................................................................................................................... 55 table 10 - 22. sdram access resolution ............................................................................................................ 62 table 10 - 23. sdram cas latenc y vs. frequency .............................................................................................. 62 table 10 - 24. buffer descriptor first dword fields (used for all paths) ................................................................ . 68 table 10 - 25. buffer descriptor second dword fields (tdm ? eth and cpu ? eth) ........................................ 69 table 10 - 26. buffer descriptor second dword fields (eth ? cpu) ................................................................... 69 table 10 - 27. buffer descriptor third dword fields (eth ? cpu) ....................................................................... 70 table 10 - 29. start of an 802.3 pause packet ...................................................................................................... 80 table 10 - 30. handling ipv4 and ipv6 packets ..................................................................................................... 81 table 10 - 31. tdmoip port number comparison for tdmoip packet classification .............................................. 83 table 10 - 32. bundle identifier location and width ............................................................................................... 83 table 11 - 1. top - level memory map .................................................................................................................... 90 table 11 - 2. global registers ............................................................................................................................... 91 table 11 - 3. tdmop memory map ....................................................................................................................... 93 table 11 - 4. tdmop configuration registers ....................................................................................................... 94 table 11 - 5. tdmop status registers .................................................................................................................. 94 table 11 - 6. counters types .............................................................................................................................. 117 table 11 - 7. cpu queues .................................................................................................................................. 124 table 11 - 8. jitter buffer status tables .............................................................................................................. 130 table 11 - 9. bundle timeslot tables .................................................................................................................. 130 table 11 - 10. transmit software cas registers ................................................................................................ 134 table 11 - 11. receive line cas registers ......................................................................................................... 136 table 11 - 12. clock recovery registers ............................................................................................................ 137 table 11 - 13. receive sw conditioning octet select registers ......................................................................... 138 table 11 - 14. receive sw cas registers .......................................................................................................... 139 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 7 of 198 table 11 - 16. interrupt controller registers ........................................................................................................ 140 table 11 - 17. packet classifier oam identification registers .............................................................................. 147 table 11 - 18. ethernet mac registers ............................................................................................................... 148 table 11 - 19. ethernet mac counters ................................................................................................................ 153 table 12 - 1. jtag instruction co des ................................................................................................................. 161 table 12 - 2. jtag id code ................................................................................................................................ 161 table 13 - 1. recommended dc operating conditions ....................................................................................... 163 table 13 - 2. dc electrical characteristics .......................................................................................................... 163 table 14 - 1. input pin transition time requirements ......................................................................................... 164 table 14 - 2. cpu interface ac characteristics .................................................................................................... 164 table 14 - 3. spi interface ac characteristics ..................................................................................................... 165 table 14 - 4. sdram interfa ce ac characteristics .............................................................................................. 166 table 14 - 5. tdmop tdm interface ac characteristics ...................................................................................... 169 table 14 - 6. tdmop tdm clock ac characteristic s ........................................................................................... 169 table 14 - 7. mii management interface ac characteristics ................................................................................ 172 table 14 - 8. mii interface ac characteristics ..................................................................................................... 172 table 14 - 9. mii clock timing ............................................................................................................................ 172 table 14 - 10. rmii interface ac characteristics ................................................................................................ . 173 table 14 - 11. rmii clock timing ........................................................................................................................ 173 table 14 - 12. ssmii interface ac characteristics ............................................................................................... 173 table 14 - 13. ssmii clock ti ming ...................................................................................................................... 173 table 14 - 14. clad1 and clad2 input clock specifications .............................................................................. 174 table 14 - 15. jtag interface timing .................................................................................................................. 175 table 15 - 1. spi mode i/o connections ............................................................................................................. 183 table 15 - 2. list of suggested sdram devices ................................................................................................ . 183 table 16 - 1. common board design connections for ds34s101/2/4 (sorted by signal name) .......................... 184 table 16 - 2. ds34s108 pin assignment (sorted by signal name) ..................................................................... 193 1. introduction the ds34s101/2/4/8 family of products provide single and multiport tdm - over - packet circuit emulation. dedicated payload - type engines are included for tdmoip (aal1), cesopsn, satop, and hdlc. products in the ds34s10x family provide the map ping/demapping ability to enable the transport of tdm data (nx64kbps, e1, t1, j1, e3, t3, sts - 1) over ip, mpls or ethernet networks. these products enable service providers to migrate to next generation networks while continuing to provide legacy voice, da ta and leased - line services. they allow enterprises to transport voice and video over the same ip/ethernet network that is currently used only for lan traffic, thereby minimizing network maintenance and operating costs . packet- switched networks, such as ip networks, were not designed to transport tdm data and have no inherent clock distribution mechanism. therefore, when transporting tdm data over packet switched network s, the tdm demapping function needs to accurately reconstruct the tdm service clock(s). the ds34s10x devices perform this important clock recovery task, creating recovered clocks with jitter and wander levels that con form to itu - t g.823/824 and g.8261, even for networks which introduce significant packet delay variation and packet loss. the circuit emulation technology in the ds34s10x products that makes this possible is called tdm - over - packet (tdmop) and complements voip in those cases where voip is not applicable or wher e voip price/performance is not sufficient. most importantly, tdmop technology provides higher voice quality with lower lat ency than voip. unlike voip, tdmop can support all applications that run over e1/t1 circuit s, not just voice. tdmop can also provide traditional leased - line services over ip and is transparent to protocols and signaling. because tdmop provides an evolutionary, as opposed to revolutionary approach, investment protection is maximiz ed. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 8 of 198 2. acronyms and glossary acronyms aal1 atm adaptation layer type 1 aal2 atm adaptation layer type 2 atm asynchronous transfer mode bga ball grid array bw bandwidth cas channel associated signaling cbr constant bit - rate ccs common channel signaling ce customer edge cesop circuit emulation service over packet cesopsn circuit emulation services over packet switched network clad c lock rate adapter cpe customer premises equipment csma carrier sense multiple access csma/cd carrier sense multiple access with collision detection ds0 digital signal level 0 ds1 digital signal level 1 ds3 digital signal level 3 hdlc high - level data link c ontrol ieee institute of electrical and electronics engineers ietf internet engineering task force ip internet protocol jbc jitter buffer control iwf interworking function lan local area network lof loss of frame (i.e. loss of frame alignment) los loss of signal mac media access control mef metro ethernet forum mfa mpls / frame relay alliance (now called ip/mpls forum) mii medium independent interface mpls multi protocol label switching oc -3 optical carrier level 3 ocxo oven controlled crystal oscillator of e optical front end osi open systems interconnection osi- rm open systems interconnection reference model pdh plesiochronous digital hierarchy pdu protocol data unit pdv packet delay variation pe provider edge prbs pseudo - random bit sequence psn packet swi tched network pstn public switched telephone network pwe3 pseudo - wire emulation edge - to - edge qos quality of service rmii reduced medium independent interface rx or rx receive sar segmentation and reassembly satop structure- agnostic tdm over packet sdh sync hronous digital hierarchy smii serial media independent interface sn sequence number sonet synchronous optical network downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 9 of 198 ss7 signaling system 7 ssmii source synchronous serial media independent interface stm-1 synchronous transport module level 1 tdm time di vision multiplexing tdmoip tdm over internet protocol tdmop tdm over packet tsa timeslot assigner tx or tx transmit udp user datagram protocol voip voice over ip vpls virtual private lan services wan wide area network glossary bundle C a virtual path configured at two endpoint tdmop gateways to carry tdm data over a psn. clad C clock rate adapter, an analog pll that creates an output clock signal that is phase/frequency locked to an input clock signal of a different frequency. a clad is said to convert one frequency to another or a dapt (change) a clocks rate to be a frequency that is useful to some other block on the chip. dword C a 32 - bit (4 - byte) unit of information (also known as a doubleword) downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 10 of 198 3. applicable standards table 3-1 . applicable standards specification specification title ieee ieee 802.3 carrier sense multiple access with collision detection (csma/cd) access method and physical layer specifications (2005) ieee 1149.1 standard test access port and boundary - scan architecture , 1990 ietf rfc 4553 structure- agnostic time division multiplexing (tdm) over packet (satop) (06/2006) rfc 4618 encapsulation methods for transport of ppp/high - level data link control (hdlc) over mpls networks (09/2006) r fc 5086 structure- aware time division multiplexed (tdm) circuit emulation service over packet switched network (cesopsn) (12/2007) rfc 5087 time division multiplexing over ip (tdmoip) (12/2007) itu -t g.823 the control of jitter and wander within digital networks which are based on the 2048kbps hierarchy (03/2000) g.824 the control of jitter and wander within digital networks which are based on the 1544kbps hierarchy (03/2000) g.8261/y.1361 timing and synchronization aspects in packet networks (05/2006) i.363.1 b- isdn atm adaptation layer specification: type 1 aal (08/1996) i.363.2 b- isdn atm adaptation layer specification: type 2 aal (11/2000) i.366.2 aal type 2 service specific convergence sublayer for narrow - band services (11/2000) o.151 error per formance measuring equipment operating at the primary rate and above (1992) o.161 in - service code violation monitors for digital systems (1993) y.1413 tdm - mpls network interworking C user plane interworking (03/2004) y.1414 voice services C mpls network i nterworking (07/2004) y.1452 voice trunking over ip networks (03/2006) y.1453 tdm - ip interworking C user plane networking (03/2006) mef mef 8 implementation agreement for the emulation of pdh circuits over metro ethernet networks (10/2004) mfa mfa 4. 0 tdm transport over mpls using aal1 (06/2003) mfa 5.0.0 i.366.2 voice trunking format over mpls implementation agreement (08/2003) mfa 8.0.0 emulation of tdm circuits over mpls using raw encapsulation C implementation agreement (11/2004) downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 11 of 198 4. detailed des cription the ds34s108 is an 8 - port tdm - over - packet (tdmop) ic. the ds34s104, ds34s102 and ds34s101 have the same functionality as the ds34s108, except they have only 4, 2 or 1 ports, respectively . these sophisticated devices can map and demap multiple e1/t1 data streams or a single e3/t3/sts - 1 data stream to and from ip, mpls or ethernet networks. a built - in mac supports connectivity to a single 10/100 mbps phy over an mii, rmii or ssmii interface. the ds34s10x devices are controlled through a 16 or 32 - bit parallel bus interface or a high - speed spi serial interface. the tdm - over - packet (tdmop) core is the enabling block for circuit emulation and other network appl ications. it performs transparent transport of legacy tdm traffic over packet switched - network s (psn). the tdmop core implements payload mapping methods such as aal1 for circuit emulation, hdlc method, structure - agnostic satop method, and the structure - aware cesopsn method. the aal1 payload - type machine maps and demaps e1, t1, e3, t3, sts - 1 and other serial data flows into and out of ip, mpls or ethernet packets, according to the methods described in itu - t y.1413, y.1453, mef 8, mfa 4.1 and ietf rfc 5087 (tdmoip). it supports e1/t1 structured mode with or without ca s, using a timeslot size of 8 bi ts, or unstructured mode (carrying serial interfaces, unframed e1/t1 or e3/t3/sts - 1 traffic). the hdlc payload - type machine maps and demaps hdlc dataflows into and out of ip/mpls packets according to ietf rfc 4618 (excluding clause 5.3 C ppp) and ietf rfc 5087 (tdmoip). it supports 2 - , 7 - and 8 - bit timeslot resolution (i.e. 16, 56, and 64 kbps respectively), as well as n 64 kbps bundles (n=1 to 32). supported applications of this machine include trunking of hdlc - based traffic (such as frame relay) implementing dynamic bandwidth allocation over ip/mpls networks and hdlc - based signaling interpretation (such as isdn d - channel signaling termination C bri or pri, v5.1/2, or gr - 303). the satop payload - type machine maps and demaps unframed e1, t1, e3 or t3 data flows into and out of ip, mpls or ethernet packets according to itu - t y.1413, y.1453, mef 8, mfa 8.0.0 and ietf rfc 4553. it supports e1/t1/e3/t3 with no regard for the tdm structure. if tdm structure exists it is ignored, allowing this to be the simplest mapping/demapping method. the size of the payload is programmable for different services. thi s emulation suits applications where the provider edges have no need to interpret tdm data or to participate in the tdm signaling. the psn network must have almost no packet loss and very low pack et delay variation (pdv) for this method. the cesopsn payload - type machine maps and demaps structured e1, t1, e3 or t3 data flows into and out of ip, mpls or ethernet packets with static assignment of timeslots inside a bundle according to itu - t y.1413, y.1453, mef 8, mfa 8.0.0 and the ietf rfc 5086 (cesopsn). it supports e1/t1/e3/t3 while taking into account the tdm structure. the level of structure must be chosen for proper payload conv ersion such as the framing type (i.e . frame or multiframe). this method is less sensitive to psn impairments but lost packet s could still cause service interruption. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 12 of 198 5. application examples in figure 5-1 , a ds34s10x device is used in each tdmop gateway to map tdm services into a packet - switched metropolitan network. tdmop data is carried over various media: fiber, wireless, g/ep on, coax, etc. figure 5-1 . tdmop in a metropolitan packet switched network downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 13 of 198 figure 5-2 . tdmop in cellular backhaul other possible applications point- to - multipoint tdm connectivity over ip/ethernet the ds34s10x devices support nxds0 tdmop connections (known as bundles) with or without cas (channel associated signaling). there is no need for an external tdm cross - connect, since the packet domain can be used as a virtual cross - connect. any bundle of timeslots can be directed to another remote location on the packet domain. hdlc tr ansport over ip/mpls tdm traffic streams often contain hdlc - based control channels and data traffic. these data streams, when transported over a packet domain, should be treated differently than the time - sensitive tdm payload. ds34s10x devices can terminate hdlc channels in the tdm streams and optionally map them into ip/mpls/et hernet for transport. all hdlc - based control protocols (isdn bri and pri, ss7 etc.) and all hdlc data traffic can be managed and transported. using a packet backplane for multiservi ce concentrators a communications device with all the above - mentioned capabilities can use a packet - based backplane instead of the more expensive tdm bus option. this enables a cost - effective and future - proof design of communication platforms with full support for both legacy and next - generation services. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 14 of 198 6. block diagram figure 6-1 . top - level block diagram sd_d[31:0]sd_dqm[3:0] sd_a[11:0] sd_ba[1:0] sd_clk sd_cs_n sd_we_n sd_ras_n sd_cas_n clk_high clk_cmn tdmn_rclk tdmn_rx tdmn_rsig_rts tdmn_aclk tdmn_tx_sync tdmn_rx_sync tdmop block all 8 ports clock recovery machines timeslot assigner cas handler sdram controller jitter buffer control queue manager ethernet mac 10/100 packet classifier counters & status registers cpu interface clk_mii_rx mii_rxd[3:0] mii_rx_dv mii_rx_err mii_col mii_crs clk_mii_tx clk_ssmii_tx mii_txd[3:0] mii_tx_en mdio mdc clk_sys rst_sys_n jtag jtms jtclk jtdi jtdo jtrst_n mii_tx_err clad1 38.88mhz 2.048/1.544mhz clad2 50 or 75mhz clk_sys_s payload type machines aal1 hdlc satop cesopsn raw scen scan mbist stmd mbist_en mbist_done mbist_fail hiz_en control bank select address byte enable mask data tdmn_tx tdmn_tx_mf_cd tdmn_tsig_cts tdmn_tclk h_d[31:1] h_ad[24:1] h_cs_n h_r_w_n h_wr_be[0]_n / spi_clk h_ready_n h_int[1:0] data_31_16_n h_cpu_spi_n h_d[0] / spi_miso h_wr_be[1]_n / spi_mosi h_wr_be[2]_n / spi_sel_n h_wr_be[3]_n / spi_ci downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 15 of 198 7. features global features ? tdmop interfaces o ds34s101: 1 e1/t1/serial tdm interface o ds34s102: 2 e1/t1/se rial tdm interfaces o ds34s104: 4 e1/t1/serial tdm interfaces o ds34s108: 8 e1/t1/serial tdm interfaces o all four devices: optionally 1 high - speed e3/ds3/sts - 1 tdm interface o all four devices: each interface optionally configurable for serial operation for v.35 and rs530 ? ethernet interface o one 10/100 mbps port configurable for mii, rmii or ssmii interface format o half or full duplex operation o vlan support according to 802.1p and 802.1q including stacked tags o fully compatible with ieee 802.3 standard ? end - to - end tdm synchronization through the ip/mpls domain by on - chip, per - port tdm clock recovery ? 64 independent bundles/connections, each with its own: o transmit and receive queues o configurable jitter - buffer depth o connection - level redundancy, with traffic duplication op tion ? packet loss compensation and handling of misordered packets ? glueless sdram interface ? complies with mpls - frame relay alliance implementation agreements 4.1, 5.1 and 8.0 ? complies with itu - t standards y.1413 and y.1414. ? complies with metro ethernet forum 3 and 8 ? complies with ietf rfc 4553 (satop), rfc 5086 (cesopsn) and rfc 5087 (tdmoip) ? ieee 1146.1 jtag boundary scan ? 1.8v and 3.3v operation with 5.0v tolerant i/o clock synthesizers ? clocks to operate the tdmop clock recovery machines can synthesized from a single clock input (10mhz, 19.44mhz, 38.88mhz or 77.76mhz on the clk_high pin) ? clock to operate tdmop logic and sdram interface (50mhz or 75mhz) can be synthesized from a single 25mhz clock on the clk_s ys pin tdm - over - packet block ? enables transport of tdm services (e1, t1, e3, t3, sts - 1) or serial data over packet - switched networks ? satop payload - type machine maps/demaps unframed e1/t1/e3/t3/sts - 1 or serial data flows to/from ip, mpls or ethernet packets according to itu - t y.1413, y.1453, mef 8, mfa 8.0.0 and ietf rfc 4553. ? cesopsn payload - type machine maps/demaps structured e1/t1 data flows to/from ip, mpls or ethernet packets with static assignment of timeslots inside a bundle according to itu - t y.1413, y.1453, mef 8, mfa 8.0.0 and ietf rfc 5086. ? aal1 payload - type machine maps/demaps e1/t1/e3/t3/sts - 1 or serial data flows to/from ip, mpls or ethernet packets according to itu - t y.1413, mef 8, mfa 4.1 and ietf rfc 5087. for e1/t1 it supports structured mode with/without cas using 8 - bit timeslot resolution, while implementing static timeslot allocation. for e1/t1, e3/t3/sts - 1 or serial interface it supports unstructured mode. ? hdlc payload - type machine maps/demaps hdlc - based e1/t1/serial flow to/from ip, mpls or ethernet packets. it supports 2 - , 7 - and 8 - bit timeslot resolution (i.e. 16, 56, and 64 kbps respectively), as well as n x 64 kbps bundles. this is useful in applications where hdlc - based signaling interpretation is required (such as isdn d channel sig naling termination, v.51/2, or gr - 303), or for trunking packet - based applications (such as frame relay), according to ietf rfc 4618. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 16 of 198 tdmop tdm interfaces ? supports single high - speed e3, t3 or sts - 1 interface on port 1 or one (ds34s101), two (ds34s102), four (ds34s104) or eight (ds34s108) e1, t1 or serial interfaces ? for single high - speed e3, t3 or sts - 1 interface, aal1 or satop payload type is used ? for e1 or t1 interfaces, the following modes are available: o unframed C e1/t1 pass - through mode (aal1, satop or hdlc payload type) o structured C fractional e1/t1 support (all payloads) o structured with cas C fractional e1/t1 with cas support (cesopsn or aal1 payload type) ? for serial interfaces, the following modes are available: o arbitrary continuous bit stream (using a al1 or satop payload type) o single - interface high - speed mode on port 1 up to sts - 1 rate (51.84 mbps) using a single bundle/connection. o low - speed mode with each interface operating at n x 64 kbps (n = 1 to 63) with an aggregate rate of 18.6mbps o hdlc - based traffic (such as frame relay) at n x 64 kbps (n = 1 to 63) with an aggregate rate of 18.6mbps). ? all serial interface modes are capable of working with a gapped clock. tdmop bundles ? 64 independent bundles, each can be assigned to any tdm interface ? each bundle carries a data stream from one tdm interface over ip/mpls/ethernet psn from tdmop sour ce device to tdmop destination device ? each bundle may be for n x 64kbps, an entire e1, t1, e3, t3 or sts - 1, or an arbitrary serial data stream ? each bundle is unidirectional (but frequently coupled with opposite - direction bundle for bidirectional communication) ? multiple bundles can be transported between tdmop devices ? multiple bundles can be assigned to the same tdm interface ? each bundle is independently configured with its own: o transmit and receive queues o configurable receive - buffer depth o optional connection - level redundancy (satop, aal1, cesopsn only). ? each bundle can be assigned to one of the payload - type machines or to the cpu ? for e1/t1 the device provides internal bundle cross - connect functionality, with ds0 resolution tdmop clock recovery ? sophisticated tdm clock recovery machines, one for each tdm interface, allow end - to - end tdm clock synchronization, despite the packet delay variation of the ip/mpls/ethernet network ? the following clock recovery modes are supported: o adaptive clock recovery o common clock (using rtp) o external clock o loopback clock ? the clock recovery machines provide both fast frequency acquisition and highly accurate phase tracking: o jitter and wander of the recovered clock are maintained at levels that conform to g.823/g.824 tra ffic or synchronization interfaces. (for adaptive clock recovery, the recovered clock performance depends on packet network characteristics.) o short - term frequency accuracy (1 second) is better than 16 ppb (using ocxo reference), or 100 ppb (using tcxo reference) o capture range is 90 ppm o internal synthesizer frequency resolution of 0.5 ppb o high resilience to packet loss and misordering, up to 2% without degradation of clock recovery performance downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 17 of 198 o robust to sudden significant constant delay changes o automatic transition to holdover when link break is detected tdmop delay variation compensation ? configurable jitter buffers compensate for delay variation introduce by the ip/mpls/ethernet net wo rk ? large maximum jitter buffer depths: o e1: up to 256 ms o t1 unframed: up to 340 ms o t1 framed: up to 256 ms o t1 framed with cas: up to 192 ms o e3: up to 60 ms o t3: up to 45 ms o sts- 1: up to 40 ms. ? packet reordering is performed for satop and cesopsn bundles within the range of the jitter buffer ? packet loss is compensated by inserting either a pre - configured conditioning value or the last received value. tdmop cas support ? on - chip cas handler terminates e1/t1 cas when using aal1/cesopsn in structured - with - cas mode . ? cpu intervention is not required for cas handling. test and diagnostics ? ieee 1149.1 jtag support ? mbist (memory built - in self test) cpu interface ? 32 or 16 - bit parallel interface or optional spi serial interface ? byte write enable pins for single - byte writ e resolution ? hardware reset pin ? software reset supported ? software access to device id and silicon revision ? on - chip sdram controller provides access to sdram for both the chip and the cpu ? cpu can access transmit and receive buffers in sdram used for packets to/from the cpu (arp, snmp, etc.) 8. overview of major operational modes globally, the resources of the device can be committed to either one high - speed e3, t3 or sts - 1 tdm stream (high - speed mode) or one or more e1, t1 or serial streams (normal low - spee d mode). in high - speed mode, the tdm signal is carried using an unstructured aal1 or satop mapping. high - speed mode is enabled by setting general_cfg_reg0 .high_speed=1. in normal, low - speed mode, each port can be configured for e1, t1 or serial (e.g. v.35) operation. ports configured for e1 or t1 can be further configured for unframed, framed, or multiframed interface . in addition, each port can be configured to have the transmit and receive directions clocked by independent clocks (two - clock mode) or to have both directions clocked by the transmit clock (one - clock mode). all of this configuration is specified in the per - port port[n]_cfg_reg register. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 18 of 198 9. pin descriptions 9.1 sho rt pin descriptions table 9-1 . short pin descriptions pin name (1) type (2) pin description tdm interface tdmn_aclk o tdmop recovered clock output tdmn_tclk ipu tdmop transmit clock input (here transmit means away from ethe rnet mii) tdmn_tx o tdmop transmi t data output tdmn_tx_sync ipd tdmop transmit frame sync input tdmn_tx_mf_cd iopd tdmop transmit multiframe sync input or carrier detect out put tdmn_tsig_cts o tdmop transmit signaling output or clear to send output tdmn_rclk ipu tdmop receive clock input (here receive means toward ethernet m ii) tdmn_rx ipu tdmop receive data input tdmn_rx_sync ipd tdmop receive frame/multiframe sync input tdmn_rsig_rts ipu tdmop receive signaling input or request to send input sdram interface sd_clk o sdram clock sd_d[31:0] io sdram data bus sd_dqm[3:0] o sdram byte enable mask sd_a[11:0] o sdram address bus sd_ba[1:0] o sdram bank select outputs sd_cs_n o sdram chip select (active low) sd_we_n o sdram write enable (active low) sd_ras_n o sdram row address strobe (active low) sd_cas_n o sdram column address strobe (active low) ethernet phy interface (mii/rmii/ssmii) clk_mii_tx i mii transmit clock input clk_ssmii_tx o ssmii transmit clock output mii_txd[3:0 ] o mii transmit data outputs mii_tx_en o mii transmit enable output mii_tx_err o mii transmit error output clk_mii_rx i mii receive clock input mii_rxd[3:0] i mii receive data inputs mii_rx_dv i mii receive data valid input mii_rx_err i mii receiv e error input mii_col i mii collision input mii_crs i mii carrier sense input mdc o phy management clock output mdio iopu phy management data input/output global clocks clk_sys_s i system clock selection input clk_sys i system clock input: 25, 50 or 75mhz clk_cmn i common clock input (for common clock mode also known as differential mode) clk_high i clock high input (for adaptive clock recovery machines and e1/t1 master c locks) cpu inter face h_cpu_spi_n ipu host bus interface (1=parallel bus, 0=spi bus) dat_32_16_n ipu data bus width (1=32 - bit , 0=16 - bit) h_ d[31:1] io host data bus h_d[0] / spi_miso io host data lsb or spi data output h_ad[24:1] i host address bus h_cs_n i host chip select (active low) h_r_w_n / spi_cp i host read/write control or spi clock phase h_wr_be0_n / spi_clk i host write enable byte 0 (active low) or spi clock h_wr_be1_n / spi_mosi i host write enable byte 1 (active low) or spi data input downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 19 of 198 pin name (1) type (2) pin description h_wr_be2_n / spi_sel_n i host write enable byte 2 or spi chip select (active low) h_wr_be3_n / spi_ci i host write enable byte 3 (active low) or spi clock invert h_ready_n oz host ready output (active low) h_int o host interrupt output. jtag i nterface jtrst_n ipu jtag test reset jtclk i jtag test clock jtms ipu jtag test mode select jtdi ipu jtag test data input jtdo oz jtag test data output reset and factory test pins rst_sys_n ipu system reset (active low) hiz_n i hig h impedance enable (active low) scen ipd used for factory tests. stmd ipd used for factory tests. mbist_en i used for factory tests. mbist_done o used for factory tests. mbist_fail o used for factory tests test_clk o used for factory tests. tst_cld i used for factory tests. ds34s108 only. power and ground dvddc p 1.8v core voltage for tdm - over - packet digital logic (17 pins) dvddio p 3.3v for i/o pins (16 pins) dvss p ground for tdm - over - packet logic and i/o pins (31 pins) acvdd1 , acvdd2 p 1.8v for clad analog circuits acvss1 , acvss2 p ground for clad analog circuits note 1: in pin names, the suffix n stands for port number: n=1 to 8 for ds34s108; n=1 to 4 fo r ds34s104; n=2 for ds34s102; n=1 for ds34s1 01. all pin names ending in _n are active low. note 2: all pins, except power and analog pins, are cmos/ttl unless otherwise specifie d in the pin description. pin types i = input pin i pd = input pin with internal 50k ? pulldown to dvss i pu = input pin with internal 50k ? pullup to dvddio io = input/output pin io pd = input/output pin with internal 50k ? pulldown to dvss io pu = input/output pin with internal 50k ? pullup to dvddio o = output pin o z = output pin that can be placed in a high - impedance state p = power - supply or ground pin downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 20 of 198 9.2 detailed pin descriptions table 9-2 . tdm - over - packet engine tdm interface pins in this table, the transmit direction is the packet - to - tdm direction while the receive direction i s the tdm - to - packet direction. see figure 6 -1 . pin name (1) type (2) pin description tdmn_aclk o 8ma tdmop recovered clock output the clock recovered by the tdmop clock recovery machine is output on this pin. tdm1_aclk (port 1) is used in high speed e3/t3/sts1 mode. tdmn_tclk ipu tdmop transmit clock input this signal clocks the transmit tdm interface of the tdmop engine. depending on the value of port[n]_cfg_reg :tx_sample, outputs tdmn_tx and tdmn_tsig_cts are updated on the either the rising edge (0) or falling edge (1) of tdmn_tclk. inputs tdmn_tx_sync and tdmn_tx_mf_cd are latched on the opposite edge . see the timing diagrams in figure 14 -8 and figure 14 -9 . in one - clock mode, tdmn_tclk also clocks the receive tdm interface of the tdmop engine. depending on the value of port[n]_cfg_reg :tx_sam ple, outputs tdmn_rx , tdmn_rx_sync and tdmn_rsig_rts are updated on the either the rising edge (0) or falling edge (1) of tdm n_tclk. port[n]_cfg_reg .two_clocks specifies two - clock mode (1) or one - clock mode (0). this pin is only active in external mode ( gcr1 .mode=1). only tdm1_tclk (port 1) is used in high speed e3/t3/sts1 mode ( general_cfg_reg0 .high_speed=1). see the timing diagrams in figure 14 -8 through figure 14 - 13 . tdmn_ tx o 8ma tdmop transmit data output serial data from the tdmop engine is output on this pin. this signal is clocked by tdmn_tclk . only tdm1_tx (port 1) is used in high speed e3/t3/sts1 mode (i.e. when general_cfg_reg0 .high_speed=1). this pin is only active in external mode ( gcr1 .mode=1). see the timing diagrams in figure 14 -8 through figure 14 - 13 . tdmn_tx_sync ipd tdmop transmit frame sync input frame sync information is provided to the tdmop engine from this pin. in two - clock mode, this signal specifies only transmit frame sync. in one - clock mode, this signal specifies frame sync for both the transmit and receive directions. the signal on this pin must pulse high for one tdmn_tclk cycle when the first bit of a frame is expected to present on the tdmn_tx pin (and the tdmn_rx pin in one - clock mode). this pulse must be repeated every n*125 s where n is a positive integer (example: if n=16, it pulses every 2ms). port[n]_cfg_reg .two_clocks specifies two - clock mode (1) or one - clock mode (0). this pin is only active in external mode ( gcr1 .mode=1). see the timing diagrams in figure 14 -8 through figure 14 - 13 . tdmn_tx_mf_cd iopd tdmop transmit multiframe sync input w hen the interface type is configured for e1 or t1, multiframe sync is provided to the tdmop engine from this pin. the signal on this pin must pulse high for one tdmn_tclk cycle when the first bit the multiframe is expected to be present on the tdmn_tx pin. tdmop transmit carrier detect output w hen the interface type is configured for serial, the carrier detect function of this pin is active. when port[n]_cfg_reg .cd_en=1, the state of this pin is controlled by the value stored in port[n]_cfg_reg .cd. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 21 of 198 pin name (1) type (2) pin description port[n]_cfg_reg .int_type=specifies serial (00), e1 (01) or t1 (10). port[n]_cfg_reg .int_type=specifies serial (00), e1 (01) or t1 (10) interface type. this pin is only active in external mode ( gcr1 .mode=1). see the timing diagrams in figure 14 -8 through figure 14 - 13 . tdmn_tsig_cts o 8ma tdmop transmit signaling output w hen the interface type is configured for e1 or t1, the transmit signaling function of this pin is active. functional timing is shown in figure 10 - 33 and figure 10 - 34 . tdmop clear to send output w hen the interface type is configured for serial, the clear - to - send function of this pin is active. in this mode, the state of this pin is controlled by the value stored in port[n]_cfg_reg .cts. port[n]_cfg_reg .int_type specifies serial (00), e1 (01) or t1 (10) interface type. this pin is only active in external mode ( gcr1 .mode=1). see the timing diagrams in figure 14 -8 through figure 14 - 13 . tdmn_rclk ipu tdmop receive clock input in two - clock mode, this signal clocks the receive tdm interface of the tdmop engine: tdmn_rx , tdmn_rx_sync and tdmn_rsig_rts . in one - clock mode, this signal is ignored, and the tdmn_tclk signal clocks both the transmit and receive interfaces of the tdmop engine. port[n]_cfg_reg .two_clocks specifies two - clock mode (1) or one - clock mode (0). port[n]_cfg_reg .rx_sample specifies latching on the rising (1) or falling (0) edge. tdm1_rclk (port 1) is used in high speed e3/t3/sts1 mode. this pin is only active in external mode ( gcr1 .mode=1). see the timing diagrams in figure 14 -8 through figure 14 - 13 . tdmn_rx ipu tdmop receive data input serial data to the tdmop engine is input on this pin. in two - clock mode, this signal is clocked by tdmn_rclk . in one - clock mode, this signal, is clocked by tdmn_tclk . port[n]_cfg_reg .two_clocks specifies two - clock mode (1) or one - clock mode (0). tdm1_rx (port 1) is used in high speed e3/t3/sts1 mode. this pin is only active in external mode ( gcr1 .mode=1). see the timing diagrams in figure 14 -8 through figure 14 - 13 . tdmn_rx_sync ipd tdmop receive frame/multiframe sync input in two - clock mode, this signal is clocked by tdmn_rclk and specifies frame or multiframe alignment for the receive interface of the tdmop engine. the signal on this pin must pulse high for one tdmn_rclk cycle when the first bit of a fra me is present on the tdmn_rx pin. this pulse must be repeated every n*125 s where n is a positive integer (example: if n=16, it pulses every 2ms). in one - clock mode, this signal is ignored and tdmn_tx_syn c specifies frame alignment for both the transmit and receive interfaces of the tdmop engine. port[n]_cfg_reg .two_clocks specifies two - clock mode (1) or one - clock mode (0). this pin is only active in external mode ( gcr1 .mode=1). see the timing diagrams in figure 14 -8 through figure 14 - 13 . tdmn_rsig_rts ipu tdmop receive signaling input w hen the interface type is configured for e1 or t1, the transmit signaling function of this pin is active. in two - clock mode, this signal is clocked by tdmn_rclk . in one - clock mode, this signal, is clocked by tdmn_tclk . downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 22 of 198 pin name (1) type (2) pin description tdmop request to send input when the interface type is configured for serial, the request - to - send function of this pin is active. in this mode, the real - time status of this pin can be read from port[n]_stat_reg1 .rts_p. port[n]_cfg_reg .two_clocks specifies two - clock mode (1) or one - clock mode (0). port[n]_cfg_reg .int_type specifies serial (00), e1 (01) or t1 (10) interface type. this pin is only active in external mode ( gcr1 .mode=1). see the timing diagrams in figure 14 -8 through figure 14 - 13 . table 9-3 . sdram interface pins pin name (1) type (2) pin description sd_clk o 8ma sdram clock all sdram in terface pins are updated or latched on the rising edge of sd_clk. see the timing diagrams in figure 14 -6 and figure 14 -7 . sd_d[31:0] io 8ma sdram data msb is sd_d[31]. sd _dqm[3:0] o 8ma sdram byte enable mask sd_dqm[0] is associated with the least significant byte. sd_dqm[3] is associated with the most significant byte. when a sd_dqm pin is high during a write cycle, the associated byte is not written to sdram. when a sd_dqm pin is high during a read cycle, the associated byte is not driven out of the sdram (the sd_d pins remain high - z). sd_a[11:0] o 8ma sdram address bus msb is sd_a[11]. sd_ba[1:0] o 8ma sdram bank select outputs th e external sdrams used by the device have their memory organized into four banks. these pins specify the bank to be accessed. the bank must be specified on the same sd_clk edge that the row information is specified o n sd_a[11:0] . sd_cs_n o 8ma sdram chip select (active low) driven low by the device to initiate a memory access (read or write) to the external sdram. sd_we_n o 8ma sdram write enable (active low) driven low by the device when data is to be written to the external sdram. left high when data is to be read from the external sdram. sd_ras_n o 8ma sdram row address strobe (active low) driven low by the device during sd_clk cycles in which sd_a[11:0] indicates the sdram row address. sd_cas_n o 8ma sdram column address strobe (active low) driven low by the device during sd_clk cycles in which sd_a[11:0] indicates the sdram column addr ess. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 23 of 198 table 9-4 . ethernet phy interface pins (mii/rmii/ssmii) the phy interface type is configured by general_cfg_reg0 .mii_mode_select[1:0]. 00=mii, 01=reduced mii (rmii), 11=source synchr onous serial mii (ssmii). the mii interface is described in ieee 802.3 - 2005 section 22. the rmii interface is described in this document: http://www.natio nal.com/appinfo/networks/files/rmii_1_2.pdf . the source synchronous serial mii is described in this document: ftp://ftp - eng.cisco.com/smii/smii.pdf . pin name (1) type (2) pin description clk_mii_tx i mii transmit clock input in mii mode a 25mhz clock must be applied to this pin to clock the transmit side of the interface. mii_txd[3 :0] , mii_tx_en and mii_tx_err are clocked out of the device on the rising edge of clk_mii_tx. see the timing diagram in figure 14- 15 . in rmii mode a 50mhz clock must be applied to this pin to clock the transmit side of the interface. mii_txd [3:2] and mii_tx_en are clocked out of the device on the ri sing edge of clk_mii_tx. see the timing diagram in figure 14 - 17 . in ssmii mo de, a 125mhz clock must be applied to this pin. this clock is the reference for the clk_ssmi i_tx output. clk_ssmii_tx o 12ma ssmii transmit clock output in ssmii mode, the device provides a 125mhz clock on this pin to clock the transmit side of the interface. mii_txd [0] (ssmii_txd) and mii_txd [1] (ssmii_tx_sync) are clocked out of the device on the rising edge of clk_mii_tx . see the timing diagram in figure 14 - 19 . this pin is not use d in mii and rmii modes. mii_txd[3:0] o 8ma mii transmit data outputs in mii mode, transmit data is passed to the phy four bits at a time on mii_txd[3:0] on the rising edge of clk_mii_tx . see the timing diagram i n figure 14 - 15 . in rmii mode, transmit data is passed to the phy two bits at a time on mii_txd[3:2] on the rising edge of clk_mii_tx while mii_txd[1:0] are not used. see the timing diagram in figure 14 - 17 . in ssmii mode, transmit data is passed to the phy one bit at a time on mii_txd[0] (ssmii_txd) on the rising edge of clk_ssmii_tx . mii_txd[1] (ssmii_tx_sync) indicat es 10 - bit segment alignment of the serial data stream. mii_tx_en o 8ma mii transmit enable output in mii mode and rmii, this pin serves as the transmit enable output. in ssmii mode this pin is not used. mii_tx_err o 8ma mi transmit error output in mii mode this pin serves as the transmit error output. in rmii and ssmii modes this pin is not used . clk_mii_rx i mii receive clock input in mii mode a 25mhz clock must be applied to this pin. mii_rxd[3:0] , mii_rx_dv , and mii_rx_err are clocked into the device on the rising edge of clk_mii_rx. see the timing diagram in figure 14 - 16 . in rmii mode this pin is not used, and a 50mhz clock applied to clk_mii_tx provides timing for both transmit and receive sides of the interface. mii_r xd [3:2], mii_rx_dv and mii_rx_err are clocked into the device on the rising edge of clk_mii_tx . see the timing diagram in figure 14 - 18 . in ssmii mode a 125mhz clock from the phy must be applied to this pin. mii_rxd [0] (ssmii_rxd) and mii_rxd [1] (ssmii_rx_sync) are clocked into the device on the rising edge of clk_mii_rx. see the timing diagram in figure 14 - 20 . downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 24 of 198 pin name (1) type (2) pin description mii_rxd[3:0] i mii receive data inputs in mii mode, receive data comes from the phy four bits at a time on mii _rxd[3:0], on the rising edge of clk_mii_rx . see the timing diagram in figure 14 - 16 . in rmii mode, receive data comes from the phy two bits at a time on mii_rxd[3:2] and is latched on the rising edge of clk_mii_tx . mii_rxd[1:0] are not used. see the timing diagram in figure 14 - 18 . in ssmii mode, received data comes from the phy one bit at a time on mii_rxd[0] (ssmii_rxd) on the rising edge of clk_mii_rx . mii_rxd[1] (ssmii_rx_sync) indicates 10 - bit segment alignment of the serial data stream. mii_rx_dv i mii receive data valid input in mii mode, this pin serves as the receive data valid input. in rmii mode, carrier sense and receive data valid alternate on this pin. see the rmii spec for details. in ssmii mode this pin is not used and should be pulled low or high. mii_rx_err i mii receive error i nput in mii mode and rmii mode, this pin serves as the receive error input. in ssmii mode this pin is not used and should be pulled low or high. mii_col i mii collision input in mii mode this pin serves as the collision detection input. in rmii mode and s smii mode this pin is not used and should be pulled low or high. mii_crs i mii carrier sense input in mii mode this pin serves as the carrier sense input. in rmii mode and smii mode this pin is not used and should be pulled low or high. mdc o 8ma phy man agement clock output this signal is the clock for the ethernet phy management interface, which consists of mdc and mdio . see the timing diagram in figure 14 - 14 . mdio iopu 8ma p hy management data input/output this signal is the serial data signal for the ethernet phy management interface, which consists of mdc and mdio. when mdio is an output, it is updated on the rising edge of mdc. when mdio is an input, it is latched into the device on the rising edge of mdc. see the timing diagram in figure 14 - 14 . table 9-5 . global clock pins pin name (1) type (2) pin description clk_sys_s ipd system clock selection input this pin specifies the frequency of the clock applied to the clk_sys pin. see sec tion 10.4 . 0 = 50 or 75 mhz 1 = 25 mhz clk_sys i system clock input a 25 mhz, 50 mhz or 75 mhz clock ( 50 ppm or better) must be applied to this pin to clock tdm - over - packet internal circuitry and the sdram interface ( sd_clk ). when a 25mhz clock is applied, it is internally multiplied by the clad2 block to 50mhz or 75mhz as specified by gcr1 .sysclks. the clk_sys_s pin specifies whether the clk_sys signal is 25mhz (and therefore needs to multiplied up) or 50/75mhz (and therefore is used as - is). see section 10.4 . clk_cmn i common clock input when the tdmop engine is configured for common clock mode (also known as differential mode), the common clock is applied to this pin. this clock signal has to be a multiple of 8khz and in the range of 1mhz to 25mhz. the frequency should not be too close to an integer multiple of the service clock frequency. based on these criteria, the following frequencies are suggested: for systems with access to a common sonet/sdh network, a frequency of 19.44 mhz (2430*8 khz). for systems with access to a common atm network, 9.72 mhz (1215*8 khz) or downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 25 of 198 pin name (1) type (2) pin description 19.44 mhz (2430*8 khz). for systems using gps, 8.184 mhz (1023*8 khz). for systems connected by a single hop of 100 mbit/s ethernet where it is possible to lock the physical layer clock, 25 mhz (3125*8 khz). for systems connected by a single hop of gigabit ethernet where it is possible to lock to the physical layer clock, 10mhz (1250*8 khz). when a clock is not needed on this pin, pull it high or low. see section 10.4 . clk_high i clock high input a 10, 19.44, 38.88 or 77.76mhz clock can be applied to this pin. from the clk_high signal, an on - chip frequency converter block (called a cl ock ad apter or clad, in this case clad1) produces the 38.88mhz reference clock required by the clock recovery machines in the tdmop block. gcr1 .freqsel specifies the frequency of the clock applied to clk_high. when gcr1 .clk_highd=1, the clad disables the 38.88mhz reference clock to the clock recovery machines. when clock recovery is not required (i.e. when none of the recovered clock outputs tdmn_aclk are used), clk_high can be held low. the required quality of the clk_high signal is discussed in section 10.6.3 . table 9-6 . cpu interface pins see the parallel interface timing diagrams in figure 14 -2 and figure 14 -3 and the spi timing diagrams in figure 14 -4 and figure 14 -5 . pin name (1) type (2) pin description h_cpu_spi_n ipu host bus interface 0 = spi serial interface 1 = parallel interface dat_32_16_n ipu data bus width 0 = 16 - bit 1 = 32 - bit in spi bus mode this pin is ignored. h_d[31:1] io 8ma host data bus when the device is configured for a 32 - bit parallel interface, h_d[31:0] are the data i/o pins (hd[31] is the msb). when the device is configured for a 16 - bit parallel interface, h_d[15:0] are the data i/o pins (hd[15] is the msb) and h_d[31:16] are ignored and should be pulled low or high. the dat_32_16_n pin specifies bus width. in spi bus mode these pins are ignored. h_d[0] / spi_miso io 8ma h_d[0]: host data lsb in parallel interface mode this pin is h_d[0], lsb of the data bus. spi_miso: spi data output ( m aster i n s lave o ut) in spi bus mode this pin is the spi data output. h_ad[24:1] i host address bus h_ad[24] is the msb. when the host data bus is 32 bits ( dat_32_16_n =1), h_ad[1] should be held low. in spi bus mode these pins are ignored. h_cs_n i host chip select (active low) in parallel interface mode this pin must be asserted (low) to read or write internal registers. in spi bus mode this pin is ignored. h_r_w_n / spi _cp i h_r_w_n : host read/write control in parallel interface mode this pin controls whether an access to internal registers is a read or a write. spi_cp: spi clock phase in spi interface mode this pin specifies spi clock phase. see the timing diagrams in figure 14 -4 and figure 14 -5 for details. 0 = input data is latched on the leading edge of the sclk pulse; output data is updated on the trailing edge downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 26 of 198 pin name (1) type (2) pin description 1 = input data is latched on the trailing edge of the sclk pulse; output data is updated on the leading edge h_wr_be0_n / spi_clk i h_wr_be0_n: host write enable byte 0 (active low) in parallel interface mode during a write access this pin specifies whether or not byte 0 ( h_d [7:0]) should be written to the device. this pin is active in both 32 - bit and 16 - bit modes. 0 = write byte 0 1 = dont write byte 0 spi_clk: spi clock in spi interface mode this pin is the clock for the interface. h _wr_be1_n / spi_mosi i h_wr_be1_n: host write enable byte 1 (active low) in parallel interface mode during a write access this pin specifies whether or not byte 1 ( h_d [15:8]) should be written to the device. this pin is active in both 32 - bit and 16 - bit modes. 0 = write byte 1 1 = dont write byte 1 spi_mosi: spi data input ( m aster o ut s lave i n) in spi interface mode this pin is the data input pin for the interface. h_wr_be2_n / spi_sel_n i h_wr_be2_n: host write enable byte 2 (active low) in 32 - bit parallel interface mode during a write access this pin specifies whether or not byte 2 ( h_d [15:8]) should be written to the device. in 16 - bit parallel interface mode this pin is ignored and should be pulled high or low. 0 = write byte 2 1 = dont write byte 2 spi_sel: spi chip select (active low) in spi interface mode this pin must be asserted (low) to read or write internal registers. h_wr_be3_n / spi_ci i h_wr_be3_n: host write enable byte 3 (active low) in 32 - bit parallel interface mode during a write access this pin specifies whether or not byte 3 ( h_d [15:8]) should be written to the device. in 16 - bit parallel interface mode this pin is ignored and should be pulled high or low. 0 = write byte 3 1 = dont write byte 3 spi_ci: spi clock invert in spi interface mode this pin specifies the polarity of the spi_clk pin. see the timing diagrams in figure 14 -4 and figure 14 -5 for details. 0 = spi_clk is normally low and pulses high (leading edge is rising edge) 1 = spi_clk is normally high and pulses low (leading edge is falling edge) h_ready_n o 8ma host ready output (active low) in parallel interface mode the device pulls this pin low during a read or write access to signal that the device is ready for the access to be completed. the host processor should not pull h_cs_n high (inactive) to complete the access until the device ha s pulled h_ready_n low. this pin requires the use of an external pull - up resistor. the device actively drives this pin high before allowing it to go high - impedance. see figure 14 -2 . h_int o 8ma host interrupt output (active low) this pin indicates interrupt requests from the device. when gcr1 .ipi=1, h_int is forced high (inactive). see section 10.9 . downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 27 of 198 table 9-7 . jtag interface pins see the jtag interface timing diagram in figure 14 - 21 . pin name (1) type (2) pin description jtrst_n ipu jtag test reset (active low) this signal is used to asynchronously reset the test access port controller. after power up, jtrst_n must be toggled from low to high. this action sets the device into the jtag device id mode. pulling jtrst_n low restores normal device operation. if boundary scan is not used, this pin should be held low. j tclk i jtag test clock this signal is used to shift data into jtdi on the rising edge and out of jtdo on the falling edge. jtms ipu jtag test mode select this pin is sampled on the rising edge of jtclk and is used to place the test access port into the various defined ieee 1149.1 states. if not used, jtms should be held high. jtdi ipu jtag test data input test instructions and data are clocked into this pin on the rising edge of jtclk . if not used, jtdi can be held low or high (dvddio). jtdo oz 8ma jtag test data output test instructions and data are clocked out of this pin on the falling edge of jtclk . if not used, this pin should be left unconnected. table 9-8 . reset and factory test pins pin name (1) type (2) pin description rst_sys_n ipu system reset (active low) when this pin is held low the entire device is reset. this pin should be held low (active) for at least 200 s before going inactive. clk_sys and clk_high should be stable for at l east 200 s before rst_sys_n goes inactive. see section 10.5 for more information on system resets and block - level resets. hiz_n i high impedance enable (active low) when this signal is low while jtrst_n is low, all of the digital output and bi - directional pins are placed in the high impedance state. for normal operation this signal is high. this is an asynchronous input. scen i used during factory test. this pin should b e tied to dvss. stmd i used during factory test. this pin should be tied to dvss. mbist_en i used during factory test. this pin should be tied to dvss. mbist_done o used during factory test. this pin should be left floating. mbist_fail o used during factory test. this pin should be left floating. test_clk o used during factory test. this pin should be left floating. tst_cld i used during factory test. this pin should be tied to dvss. table 9-9 . power and ground pins pin name (1) type (2) pin description dvddc p 1.8v core voltage for tdm - over - packet digital logic (17 pins) dvddio p 3.3v for i/o pins (16 pins) dvss p ground for tdm - over - packet logic and i/o pins (31 pins) acvdd1 p 1.8v for clad analog circuits acvdd2 p 1.8v for clad analog circuits acvss1 p ground for clad analog circuits acvss2 p ground for clad analog circuits downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 28 of 198 10. functional description 10.1 power - supply co nsiderations due to the dual - power - supply nature of the device, some i/os have parasitic diodes between a 1.8v supply and a 3.3v supply. when ramping power supplies up or down, care must be taken to avoid forward - biasing these diodes because it could cause latchup. two methods are available to prevent this. the first method is to place a schottk y diode external to the device between the 1.8v supply and the 3.3v supply to force the 3.3v supply to be within one parasitic diode drop below the 1.8v supply (i.e. vdd3.3 > vdd1.8 C 0.4v). the second method is to ramp up the 3.3v supply first and then ramp up the 1.8v supply. 10.2 cpu interface the cpu interface enables an external cpu to configure and control the device and collect statistics from the device. the cpu interface block identifies accesses (read or write) to on - chip registers and to external sdram, forwards accesses to the proper place, and replies to the cpu with the requested data during read accesses. see figure 10-1 . ac timing for the cpu interface is specified in section 14.1 . figure 10 -1 . cpu interface functional diagram cpu sdram address data control cpu interface ds34t10x cpu bus access within chip sdram controller h_int[1:0] to configure the device for cpu interface m ode, the h_cpu_spi_n pin must be high when the rst_sys_n (system reset) pin is deasserted. the chip can be configured for 16 - bit or 32 - bit data bus width by wiring the dat_32_16_n pin as shown in table 10 -1 : downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 29 of 198 table 10 -1 . cpu data bus widths dat_32_16_n value data bus width access to chip internal resources access to sdram data bus bits msb h_wr_be pins used 1 32 bits 32 bit only 8, 16, 32 bit h_d [31:0] h_d [31] 3:0 0 16 bits 16 bit only 8, 16 bit h_d [15:0] h_d [15] 1:0 burst accesses are not supported. the device uses the big - endian byte order, as explained in section 11.1 . the cpu starts an access to the device by asserting the h_cs_n signal (active low), accompanied by the desired read/write state on h_r_w_n , address on h_ad[24:1] , write byte enables on the h_wr_be pins and valid data (for a write access) on the h_d [31:0] pins. in response, the device asserts h_ready_n to indicate that the access has been carried out. the ready assertion indicates that data from the cpu has been wri tten into the device register or external sdram (for write access) or that valid data from register/sdram is present on the data bus (for read access). in response to h_ready_n assertion, the cpu de - asserts h_cs_n . this causes the chip to de - assert h_ready_ n , and thereby finish the cpu access. in order to make cpu operation more efficient, the device immediately asserts h_ready_n during a write access. on successive accesses (write or read) h_ready_n is asserted only after the previous write has been completed. in 32 - bit bus mode, h_wr_be0_n through h_wr_be3_n serve as write byte enable signals, replacing the functionality of h_ad [1:0] in the address bus. in 16 - bit bus mode, h_wr_be0_n and h_wr_be1_n serve as write byte enables, replacing the functionality of h_ad [0] in the address bus. these signals enable byte - resolution write access to the external sdram. when performing a write access to internal chip resources, all h_wr_be pins should be asserted since write access to device registers must be done at the full bus width only. examples of read and write accesses on 32 - and 16 - bit buses are shown in the figures below. figure 10 -2 . write access, 32 - bit bus dat_32_16_n[0] h_cs_n[0] h_ad[24:1] h_r_w_n[0] h_ready_n[0] [0] h_d[31:24] h_d[23:16] h_d[15:8] h_d[7:0] h_wr_be3_n[0] h_wr_be2_n[0] h_wr_be1_n[0] h_wr_be0_n[0] cpu_addr[[1]='don't care' cpu_addr[1]='don't care' cpu_addr[1]='don't care' data ignored valid valid data ignored valid valid valid data ignored valid data_ignored data ignored valid sdram write access sdram write access 32 bit data bus internal figure 10 -2 shows two write accesses to the sdram, one to a byte (at address 2) and the other to a word (at addresses 0 and 1), followed by a write access to the internal chip resources. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 30 of 198 the write access to the sdram is different than the write access to the chip. the sdram can be writt en with byte resolution using the four byte write enables. in contrast, internal chip resources are alw ays written at full cpu data bus width (32 bits in figure 10 -2 ). the write byte enable signals should always be asserted when writing to internal device registers. for 32 - bit cpu bus width, h_ad [1] is ignored, since accesses are always on an even 4 - byte boundary. figure 10 -3 shows a read access to the sdram followed by a read access to the internal chip resources. read accesses always occur at cpu data bus width and the h_wr_be pins are not used (and must be held high). bytes that are not needed by the cpu can be ignored. figure 10 -3 . read acce ss, 32 - bit bus dat_32_16_n[0] h_cs_n[0] h_ad[24:1] h_r_w_n[0] h_ready_n[0] [0] h_d[31:0] h_wr_be3_n[0] h_wr_be2_n[0] h_wr_be1_n[0] h_wr_be0_n[0] cpu_addr[1]='don't care' cpu_addr[1]='don't care' valid valid sdram read access 32bit cpu data bus figure 10 -4 shows a write access to the chip followed by a read access in 16 - bit bus mode. in this mode the h_ad [1] signal is used because accesses are on an even 2 - byte boundary. write access to the sdram can still be at byte resolution, as illustrated in figure 10 -5 . figure 10 -4 . read/write a ccess, 16 - bit bus dat_32_16_n[0] h_cs_n[0] h_ad[24:1] h_r_w_n[0] [0] h_d[15:0] h_ready_n[0] h_wr_be1_n[0] h_wr_be0_n[0] valid valid 16 bit cpu data bus internal internal downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 31 of 198 figure 10 -5 . write access to the sdram, 16 - bit bus dat_32_16_n[0] h_cs_n[0] h_ad[24:1] h_r_w_n[0] h_ready_n[0] [0] h_d[15:8] h_d[7:0] h_wr_be1_n[0] h_wr_be0_n[0] valid data ignored sdram write access 16 bit data bus in 16 - bit bus mode, read accesses to sdram are always 16 bits, as in figure 10 -6 . figure 10 -6 . read access to the sdram, 16 - bit bus dat_32_16_n[0] h_cs_n[0] h_ad[24:1] h_r_w_n[0] h_ready_n[0] [0] h_d[15:8] h_d[7:0] h_wr_be1_n[0] h_wr_be0_n[0] valid valid sdram read access 16 bit data bus 10.3 spi interface the device optionally can be accessed by an external cpu through a serial peripheral interface (spi). to configure the device for spi interface mode, the h_cpu_spi_n pin must be low when the rst_sys_n (system reset) pin is deasserted. in spi mode, some of the parallel cpu bus pins take on an spi - related function while the rest are disabled. see the cpu interface section of table 9 -1 for details. the device functions as an spi slave. 10.3.1 spi oper ation the spi is a 4 - wire, full - duplex, synchronous interface. the spi connects an spi master (which initiates the data transfer) and an spi slave. the spi signal wires are as follows: ? spi_clk is the clock for the serial data (gated clock). ? spi_mosi is master data output, slave data input. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 32 of 198 ? spi_miso is master data input, slave data output. ? spi_sel _n is the slave chip select. the master initiates a data transfer by asserting spi_sel_n (low) and generating a sequence of spi_clk cycles accompanied by serial data on spi_mosi . during read cycles the slave outputs data on spi_miso . each additional slave requires an additional slave chip - select wire. fig ure 10 -7 illustrates a typical connection between an spi master and a single spi slave. figure 10 -7 . spi interface with one slave spi master spi slave spi_clk spi_sel_n spi_mosi spi_miso 10.3.2 spi modes two configuration pins define the spi mode of operation. ? the polarity of spi_clk is specified by the spi_ci (clock invert) input pin. ? the spi_cp (clock phase) input pin determines whether the first spi_clk transition is used to sample the data on spi_miso / spi_mosi (which requires the first bit to be ready beforehand on these lines) or to updated the data on the spi_miso / spi_mosi lines. see figure 10 -8 and figure 10 -9 . f igure 10 -8 . spi interface timing, spi_cp=0 spi_sel_n spi_clk(ci=0) spi_clk(ci=1) spi_mosi(input) spi_miso(output) msb lsb msb lsb figure 10 -9 . spi interface timing, spi_cp=1 spi_sel_n spi_clk(ci=0) spi_clk(ci=1) spi_mosi(input) spi_miso(output) msb lsb msb lsb downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 33 of 198 10.3.3 spi si gnals in spi mode, the following cpu bus pins change their functionality and operate as spi signals. ? inputs o spi_clk is shared with h_wr_be0_n o spi_mosi is shared with h_wr_be1_n o spi_sel_n is shared with h_wr_be2_n . ? outputs o spi_miso is shared with h_d[0] . the spi configuration is supplied on two external pins as follows: ? spi_ci (clock invert) is shared with h_wr_be3_n ? spi_cp (clock phase) is shared with h_r_w_n . in the spi mode the device operates internally in 32 - bit mode. 10.3.4 spi protocol the external cpu communicates with the device over spi by issuing commands. there are three command types: 1. write C performs 32 - bit write access 2. read C performs 32 - bit read access 3. status C verifies that previous access has been finished the spi_sel_n signal must be de - asserted between accesses to the device. 10.3.4.1 write command the spi write command proceeds as follows: ? the spi master (cpu) starts a write access by asserting spi_sel_n (low). ? then, during each spi_clk cycle a spi_mosi data bit is transmitted by the master (cpu), while a spi_miso bit is transmitted by the slave (the devic e). ? the first bit on spi_mosi and spi_miso is reserved (dont care). ? the master then transmits two opcode bits on spi_mosi . these bits specify a read, write or status command. the value 01b represents a write command. at the same time, the slave transmits the opcode bits of the previous command on spi_miso . ? the next four bits the master transmits on spi_mosi are byte - enable values: byte_en_3, byte_en_2, byte_en_1, and byte_en_0 which are equivalent to the function of the h_wr_be3_n to h_wr_be0_n downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 34 of 198 signals in cpu bus mode (including being active low). at the same time, the slav e transmits the byte enable values of the previous access on spi_miso . ? the next bit on spi_mosi and spi_miso is reserved (dont care). ? the next 24 bits the master transmits on spi_mosi are address bits, starting from a24 (msb) and ending with a1 (lsb). at the same time, the slave transmits the address bits of the previous access on spi_miso . ? the next 32 bits the master transmits on spi_mosi are 32 bits of data, starting from d31 (msb) and ending with d0 (lsb). at the same time, the slave transmits 32 dont - care bits on spi_miso . ? finally the master transmits 8 dont care bits on spi_mosi . during these clock periods the slave transmits 8 bits on spi_miso . the first 7 spi_miso bits are dont - care. the 8 th bit is a status bit that indicates whether the last access was completed successfully (1) or is still in progress (0). the 0 v alue indicates that the current operation has not yet completed and that the status command must follow (see section 10.3.4.3 ). ? the maste r ends the write access by deasserting spi_sel_n . the total number of spi_clk cycles for a write command is 72. this is summarized in table 10 -2 . table 10 -2 . spi write command sequence bit number spi_mosi spi_miso 1 reserved reserved 2C3 opcode 01 (write) previous access opcode 4 h_wr_be3_n value previous access h_wr_be3_n value 5 h_w r_be2_n value previous access h_wr_be2_n value 6 h_wr_be1_n value previous access h_wr_be1_n value 7 h_wr_be0_n value previous access h_wr_be0_n value 8 reserved reserved 9C 32 address [24 to 1] previous access address [24 to 1] 33 C 64 data (32 bits) do nt care (32 bits) 65 C 71 dont care (7 bits) idle (7 bits) 72 dont care (1 bit) status bit: 1=access has finished, 0=access has not finished 10.3.4.2 read command the spi read command proceeds as follows: ? the spi master (cpu) starts a write access by assertin g spi_sel_n (low). ? then, during each spi_clk cycle a spi_mosi data bit is transmitted by the master (cpu), while a spi_miso bit is transmitted by the slave (the device). ? the first bit on spi_mosi and spi_miso is reserved (dont care). ? the master then transmits two opcode bits on spi_mosi . these bits specify a read, write or status command. the value 10b represents a read command. at the same time, the slave transmits the opcode bits of the previous command on spi_miso . ? the next four bits the master transmits on spi_mosi are byte - enable values: byte_en_3, byte_en_2, byte_en_1, and byte_en_0 which are equivalent to the function of the h_wr_be3_n to h_wr_be0_n downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 35 of 198 signals in cpu bus mode (including being active low). for a read access, all four of these bits should be 1. at the same time, the slave transmits the byte enable values of the previous access on spi_miso . ? the next bit on spi_mosi and spi_miso is reserved (dont care). ? the next 24 bits the master transmits on spi_mosi are address bits, starting from a24 (msb) and ending with a1 (lsb). at the same time, the slave transmits the address bits of the previous access on spi_miso . ? next the master transmits 8 dont care bits on spi_mosi . during these clock periods the slave transmits 8 bits on spi_miso . the first 7 spi_miso bits are dont - care. the 8 th bit is a status bit that indicates whether the current read access was completed successfully (1) or is still in progress (0). status=0 i ndicates that the current operation has not yet completed and that the status command must follow (see section 10.3.4.3 ). ? status=1 indicates that the current read was completed successfully and 32 bits of data follow on spi_miso , start ing from d31 (msb) and ending with d0 (lsb). during these 32 clock cycles, the master transmits 32 dont - care bits on spi_mosi . ? status=0 indicates that the current read was not completed and that the status command must follow (see section 10.3.4.3 ). during the next 32 clock cycles both the master and the slave must transmit dont -care bits to complete the read command. these 32 bits should be ignored. ? the master ends the write access by deasserting spi_sel_n . the total number of spi_clk cycles for a read command is 72. table 10 -3 . spi_ read comm and sequence bit number spi_mosi spi_miso 1 reserved reserved 2C3 opcode 10 (read) previous access opcode 4 1 previous access h_wr_be3_n value 5 1 previous access h_wr_be2_n value 6 1 previous access h_wr_be1_n value 7 1 previous access h_wr_be0_n va lue 8 reserved reserved 9C 32 address [24 to 1] previous access address [24 to 1] 33 C 39 dont care idle (7 bits) 40 dont care status bit: 1=access has finished, 0=access has not finished 41 C 72 dont care data (32 bits) 10.3.4.3 status command the status command differs from read or write commands, since it does not initiate an internal access . usually a status command follows a read or write command that was not completed as described above. the spi status command proceeds as follows: ? the spi master (cpu) starts a status command by asserting spi_sel_n (low). ? then, during each spi_clk cycle a spi_mosi data bit is transmitted by the master (cpu), while a spi_miso bit is transmitted by the slave (the device). downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 36 of 198 ? the first bit on spi_mosi and spi_miso is reserved (dont ca re). ? the master then transmits two opcode bits on spi_mosi . these bits specify a read, write or status command. the value 00b represents a status command. at the same time, the slave transm its the opcode bits of the previous command on spi_miso . ? the master then transmits 4 dont care bits on spi_mosi . during these clock periods the slave transmits 4 bits on spi_miso . the first 3 spi_miso bits are dont - care. the 4 th bit is a status bit that indicates whether the last access was completed successfully (1) or is still in progress (0). the 0 va lue indicates that the last access has not yet completed and that another status command must follow (see section 10.3.4.3 ). ? status=1 indicates that the last access was completed successfully. if the last access was a read the n 32 bits of data follow on spi_miso , starting from d31 (msb) and ending with d0 (lsb). during these 32 clock cycles, the master transmits 32 dont - care bits on spi_mosi . if the last access was a write the during the next 32 clock cycles both the master and the slave must transmit dont - care bits to complete the status command. these 32 bits should be ignored. ? status=0 indicates that the last access was not completed and that another status command must follow. during the next 32 clock cycles both the master and the slave must transmit dont - care bits to complete the status command. these 32 bits should be ignored. ? the master ends the write access by deasserting spi_sel_n . the total number of spi_clk cycles for a status command is 40. table 10 -4 . spi status command sequence bit number spi_mosi spi_miso 1 dont care dont care 2C3 opcode 00 (status) previous access opcode 4 dont care dont care 5 dont care dont care 6 dont care dont care 7 dont care dont care 8 dont care status bit: 1=access has finished, 0=access has not finished 9C 40* dont care* data* * only if previous access was a read (previous access opcode = 10b). 10.4 clock structure when clock recovery is enabled ( clock_recovery_en =1 in general_cfg_reg0 ), the clock recovery machines of the tdm - over - packet block require a 38.88mhz clock. this clock can come directly from the clk_high pin, or the c lad1 block (see figure 6 -1 ) can convert a 10mhz, 19.44mhz or 77.76mhz clock on clk_high to 38.88mhz using an analog pll. the frequency of clk_high must be specified in gcr1 . freqs el. when common clock (differential) mode is enabled (rtp_timestamp_generation_mode=1 in general_cfg_reg1 ), the clock recovery block requires a clock on the clk_cmn pin in addition to the clock on the clk_high pin. see the clk_cmn pin description for recommendations for the frequency of this clock. often the same clock signal can be applied to both clk_cmn and clk_high , for example 19.44mhz. when clock recovery is disabled ( clock_recovery_en =0 in general_cfg_reg0 ), cpu software can disable the 38.88mhz clock output from clad1 to save power by set ting gcr1 . clk_highd . clock recovery must be enabled whenever the tdmop block must recover one or more service clocks from rec eived packets using either adaptive mode or common clock (differential) mode. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 37 of 198 the tdm - over - packet block also requires a 50 mhz or 75 mhz clock ( 50 ppm or better) to clock its internal circuitry and the sdram interface ( sd_clk ). when the clk_sys_s pin is low, a 50 mhz or 75 mhz clock applied to the clk_sys pin is passed directly to the tdmop block. when the clk_sys_s pin is high, a 25 mhz clock on the clk_sys pin is internally multiplied by an analog pll in the clad2 block to either 50 mhz or 75 mhz as specified by gcr1 .sysclks. 10.5 reset and power - down a hardware reset is issued by forcing the rst_sys_n pin low. this pin resets the tdm - over - packet block and the mac. note that not all registers are cleared to 0x00 on a reset condition. the register space must be reinitialized to appropriate values after hardware or software reset has occurred. this includes setting reserved locat ions to 0. several block - specific resets are also available, as shown in table 10 -5 . table 10 -5 . reset functions reset function location comments hardware device reset rst_sys_n pin transition to a 200us or more logic 0 level resets the device. clk_sys and clk_high/mclk are recommended to be stable 200us before transitioning out of reset. hardware jtag reset jtrst_n pin resets the jtag test port. resets tdmop tx, rx paths rst_reg used to reset the transmit (tx) and receive (rx) paths of the tdm - over - packet block . resets the sdram controller general_cfg_reg0 the rst_sdram_n bit resets the sdram controller. 10.6 tdm - over - packet block 10.6.1 packet formats to transport tdm data through packet switched networks, the tdm - ove r- packet block encapsulates the tdm data into ethernet packets as depicted in figure 10 - 10 . downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 38 of 198 figure 10 - 10 . tdm - over - packet encapsulation formats 4 bytes 4 bytes preamble 7 bytes start of frame delimiter 1 byte 6 bytes 6 bytes 2 bytes data and padding 46-1500 bytes 4 bytes optional destination address source address vlan tag 1 type frame check sequence tdmoip control word tdmoip payload udp / ipv4 header or 28 bytes mpls header 4, 8 or 12 bytes 4 bytes mef header 4 bytes l2tpv3 / ipv4 header 24, 28 or 32 bytes tdmoip control word tdmoip payload 4 bytes rtp header rtp header optional optional vlan tag 2 optional or or l2tpv3 / ipv6 header 44, 48 or 52 bytes 48 bytes udp / ipv6 header or 12 bytes 12 bytes or table 10 -6 . ethernet packet fields field description preamble a sequence of 56 bits (alternating 1 and 0 values) gives components in the network time to detect the presence of a signal and synchronize to the incoming bit stre am. start of frame delimiter (sfd) a sequence of 8 bits (10101011) that indicates the start of the packet. destination address and source address the destination address field identifies the station or stations that are to receive the packet. the source address identifies the station that originated the packet. a dest ination address may specify either an individual address destined for a single station, or a mu lticast address destined for a group of stations. a destination address of all 1s refers to all stations on the lan and is called the broadcast address. type ethertype. the type of payload contained in the ethernet frame. data and padding this field contains the payload data transferred from the source st ation to the destination station(s). the max imum size of this field is 1500 bytes. if the payload to be transpo rted is less than 46 bytes, then padding is used to bring the packet size up to the minimum length. a minimum - length ethernet packet is 64 bytes from the destination address field through t he frame check sequence. frame check sequence (fcs) this field contains a 4 - byte cyclical redundancy check (crc) value used for error checking . when a source station assembles a packet, it performs a crc calculation on all the bits in the packet from the destination address through the pad fields (that is, all fiel ds except the preamble, start frame delimiter, and frame check sequence). the source station stores the calculat ed value in the fcs field and transmits it as part of the packet. when the packet is received by the destination station, it performs an identical check. if the calculated value does not match the value in the fcs field, the destination station assumes an error has occurred during transmission and discards the pack et. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 39 of 198 10.6.1.1 vlan tag as speci fied in ieee standard 802.1q, the twelve - bit vlan identifier's tagged packets, enables the construction of a maximum of 4,096 distinct vlans. for cases where this vlan limit is inadequate vlan stacking pr ovides a two - level vlan tag structure, which extends the vlan id space to over 16 million vlans. each packet may be sent without vlan tags, with a single vlan tag or with two vlan tags (vlan stacking). figure 10 - 11 . single vlan tag format 0 0 1 2 3 4 5 6 7 8 9 0 1 1 2 3 4 5 vlan tag protocol id (tpid) user priority cfi vlan id figure 10 - 12 . stacked vlan tag format 0 0 1 2 3 4 5 6 7 8 9 0 1 1 2 3 4 5 vlan tag protocol id (tpid) user priority cfi vlan id vlan tag protocol id (tpid) user priority cfi vlan id the vlan tags protocol id (tpid) can be either the typical value of 0x8100 or a value configured in the vlan_2nd_tag_identifier field in packet_classifier_cfg_reg7 . ? the user priority field is used to assign a priority level to the ethernet packet. ? the cfi (canonical format indicator) fields indicate the presence of a router information fiel d. ? the vlan id, uniquely identifies the vlan to which the ethernet packet belongs. 10.6.1.2 udp/ipv4 header figure 10 - 13 . udp/ipv4 header format 0 0 1 2 3 4 5 6 7 8 9 0 1 0 2 0 3 1 ipver ihl ip tos total length identification flags fragment offset time to live protocol ip header checksum source ip address destination ip address source port number destination port number udp length udp checksum ip header udp header 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 40 of 198 table 10 -7 . ipv4 header fields (udp) field description ipver ip version number. ipv4 ipver=4 ihl length in 32 - bit words of the ip header, ihl=5 ip tos ip type of service total length length in octets of ip header and data identification ip fragmentation id entification flags ip control flags; must be set to 010 to avoid fragmentation fragment offset indicates where in the datagram the fragment belongs; not used for t dm - over -packet time to live ip time - to - live field; datagrams with zero in this field are t o be discarded protocol must be set to 0x11 to signify udp ip header checksum checksum for the ip header source ip address ip address of the source destination ip address ip address of the destination table 10 -8 . udp header fields field description source port number, destination port number either the source or the destination port number holds the bundle ide ntifier. the unused field can be set to 0x85e (2142), which is the user port number assigned to tdm - over - packet by the internet assigned numbers authority (iana). for udp/ip - specific oam packets, the bundle identifier is all ones. udp length length in octets of udp header and data udp checksum checksum of udp/ip header and data. if not computed it must be set to zero. 10.6.1.3 udp/ipv6 header figure 10 - 14 . udp/ipv6 header format 0 0 1 2 3 4 5 6 7 8 9 0 1 0 2 0 3 1 ipver traffic class flow label payload length next header hop limit source port number destination port number udp length udp checksum ip header udp header 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 source ip address destination ip address downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 41 of 198 table 10 -9 . ipv6 header fields (udp) field description ipver ip version number, for ipv6 ipver = 6 traffic class an 8 - bit field similar to the type of service (tos) field in ipv4. flow label the 20 - bit flow label field can be used to tag packets of a specific flow to dif ferentiate the packets at the network layer. payload length similar to the total length field in ipv4. this field indicates the total length of the ip header and data in octets. next header similar to the protocol field in ipv4. it determines the ty pe of information following the basic ipv6 header. must be set to 0x11 to signify udp. hop limit similar to the time to live field in ipv4. source ip address similar to the source address field in ipv4, except that the field contains a 128 - bit source address for ipv6 instead of a 32 - bit source address for ipv4. desti nation address similar to the destination address field in ipv4, except that t he field contains a 128 - bit destination address for ipv6 instead of a 32 - bit destination address for ipv4. 10.6.1.4 mpls header figure 10 - 15 . mpls header format 0 0 1 2 3 4 5 6 7 8 9 0 1 9 0 1 2 0 1 3 1 outer labels (none, one or two) exp inner label = bundle indentifier s ttl exp s ttl 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 table 10 - 10 . mpls header fields field description outer labels mpls labels, which identify the mpls lsp, used to tunnel the tdmomp ls packets through the mpls network. also known as tunnel label(s) or transport label(s). the label number can be assigned either manually or using the mpls control protocol. there c an be zero, one or two outer labels. exp experimental field s stacking bit: s=1 indicates stack bottom (i.e. the inner label). s=0 for all outer labels. ttl mpls time to live inner label mpls inner label (also known as the pw label or the interworking label ) contains the bundle identifier used to multiplex multiple bundles within the same tunnel. it is always be at the b ottom of the mpls label stack, and hence its stacking bit is set (s=1) . 10.6.1.5 mef header figure 10 - 16 . mef header format 0 0 1 2 3 4 5 6 7 8 9 0 1 9 0 1 2 0 1 3 1 ecid = bundle identifier exp 0x102 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 table 10 - 11 . mef header fields field d escription ecid the emulated circuit identifier (ecid) field. contains the bundle identifier. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 42 of 198 10.6.1.6 l2tpv3/ipv4 header figure 10 - 17 . l2tpv3/ipv4 header format 0 0 1 2 3 4 5 6 7 8 9 0 1 0 2 0 3 1 ipver ihl ip tos total length identification flags fragment offset time to live protocol ip header checksum source ip address destination ip address session id = pw label ip header 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 cookie 1 (optional)cookie 2 (optional) l2tpv3 header table 10 - 12 . ipv4 header fields (l2tpv3) field description ipver see table 10 -7 . ihl ip tos total length identification flags fragment offset time to live protocol must be set to 0x73 to signify l 2tpv3 ip header checksum see table 10 -7 . source ip address destination ip address table 10 - 13 . l2tpv3 header fields field description session id (32 bits) loc ally significant l2tp session identifier, contains the bundle identi fier. all bundle identifiers are available for use except 0, which is reserved. cookie (32 or 64 bits) optional field that contains a randomly selected value used to valida te association of the packet with the expected bundle identifier downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 43 of 198 10.6.1.7 l2tpv3/ipv6 header figure 10 - 18 . l2tpv3/ipv6 header format 0 0 1 2 3 4 5 6 7 8 9 0 1 0 2 0 3 1 ipver traffic class flow label payload length next header hop limit ip header 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 source ip address destination ip address session id = bundle identifier cookie 1 (optional)cookie 2 (optional) l2tpv3 header table 10 - 14 . ipv6 header fields (l2tpv3) fiel d description ipver see table 10 -9. traffic class flow label payload length next header must be set to 0x73 to signify ltpv3 hop limit see table 10 -9. source addres s destination address 10.6.1.8 control word figure 10 - 19 . control word format 0 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 0 1 3 1 res sequence number l r length 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 m frg table 10 - 15 . control word fields field description res reserved bits. must be s et to zero. l local loss of sync failure. this bit is set by cpu software ( port[n]_cfg_reg .loss) for packets transmitted out the ethernet port. a set l bit indicates that the source has detected or has been infor med of a tdm physical layer fault impacting the data to be transmitted. this bit can be used to indicate physical layer los that should trigger ais generation at the far end. once set, if the tdm fault is r ectified, the l bit must be cleared. r remote receive failure. this bit is set by cpu software ( tx_r_bit field in bundle configuration) for packets transmitted out the ethernet port.. a set r bit indicates that the source is not r eceiving packets at the e thernet port, i.e., downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 44 of 198 field description there is a failure of that direction of the bi - directional connection. this indication can be used to signal congestion or other network related faults. receiving remote failure ind ication may trigger fall - back mechanisms for congestion avoidance. the r bit must be set after a preconfigured number of consecutive packets are not received, and must be cleared once packe ts are once again received. m defect modifier failure. these bits are set by cpu software ( port[n]_cfg_reg .tx_defect_modifier) for packets transmitted out the ethernet port.. this field is optional. when used it supplemen ts the l - bit meaning. frg fragmentation field this field is used for fragmenting multiframe structures into mult iple packets in case of cesopsn structured with cas bundles. the field is used as follows: 00 = indicates that the entire (unfragmented) multiframe structu re is carried in a single packet. 01 = indicates the packet carrying the first fragment. 10 = indicat es the packet carrying the last fragment. 11 = indicates a packet carrying an intermediate fragment. length length field includes control word, payload and rtp header (if present) unless it is a udp/ip packet. it is only used when the total length of these fields is less than 64 bytes. otherwise, it must be set to zero. sequence number tdm - over - packet sequence number, defined separately for each bundle and incremente d by one for each tdmop packet sent for that bundle. the initial value of the sequence num ber is random (unpredictable) for security purposes, and the value is incremente d in wrap - around manner separately for each bundle. used by the receiver to detect packet loss and r estore packet sequence. the hdlc payload type machine supports three differe nt modes for this field: always zero, incremented in wrap - around manner or incremented in wrap - around manner, but skips zero value. for oam packets, it uniquely identifies the message. its value is unrelated to the sequence number of the tdmop data packets for the bundle in question. it is incremented in query messages, and replicated without change in replies. 10.6.1.9 rtp header figure 10 - 20 . rtp header format 0 0 1 2 3 4 5 6 7 8 9 0 1 0 2 0 3 1 v=2 cc pt sn (sequence number) ts (timestamp) ssrc (synchronization source) 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 p x m table 10 - 16 . rtp header fields field description v rtp version. must be set to 2. p padding bit. must be set to 0. x extension bit. must be set to 0. cc csrc count. must be set to 0. m marker bit. must be set to 0. pt payload type. one pt value must be allocated from the range of dynamic values for each direction of the bundle. the same pt value may be reused for both directions of the bundle, and also reused between different bundles. sn sequence number. identical to the sequence number in the contro l word. ts timestamp. the rtp header can be used in conjunction with the fol lowing modes of timestamp generation: absolute mode: the chip sets timestamps using the clock from the incoming tdm circuit. as a consequence, the timestamps are closely correlated with the sequence numbers. the timestamp is incremented by one every 125 s. differential (common clock) mode: the two chips at bundle edges have access to the same high - quality network clock, and this clock source is used for timestamp generation. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 45 of 198 field description ssrc identifies the synchronization source. this identifier should be chose n randomly, with the intent that no two synchronization sources within the same rtp session have the same ssrc identifier. 10.6.1.10 tdm - over - packet payload this field can contain the following payload types: ? aal1 ? hdlc ? raw (satop or cesopsn formats) ? oam (vccv or udp/ip - specific). the aal1, hdlc and raw payload type details are provided in sections 10.6.6 , 10.6.7 and 10.6.8 , respectively. the formats of the oam payload types are described below. 10.6.1.10.1 vccv oam when using inband performance monitoring, additional oam packets are sent using the same bundle identifier as the tdm data packets. the oam packets are identified by having their first nibble (after the psn specifi c layers) equal to 0001 and must be separated from tdm data packets before further processing of the control word. the psn- specific layers are identical to those used to carry the tdm data. figure 10 - 21 . vccv oam packet format 0 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 0 1 3 1 oam msg type 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 oam msg code 0001 fmtid res channel type source transmit timestamp destination receive timestamp destination transmit timestamp service specific information psn-specific layers (with same bundle identifier as tdm data packets) table 10 - 17 . vccv oam payload fields field description fmtid must be set to zero res reserved and must be set to zero channel type must be set to the value allocated by iana for tdm - over - packet vccv oam oam msg type see table 10 - 18 . oam msg code source transmit timestamp destination receive timestamp destination transmit timestamp 10.6.1.10.2 udp/ip - specific oam when using a udp/ip - specific oam, all oam packet must use one of the bundle identifiers preconfigured to indicate oam (using oam id table). the psn - specific layers are identical for oam packets (except for the bundle identifier) to those used to carry the tdm data. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 46 of 198 figure 10 - 22 . udp/ip - specific oam packet format 0 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 0 1 3 1 oam msg type service specific information 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 oam msg code source bundle identifier source transmit timestamp 0000 l length oam sequence number r m res destination bundle identifier destination receive timestamp destination transmit timestamp psn-specific layers (with bundle identifier configured to identify oam) table 10 - 18 . udp/ip - specifi c oam payload fields field description l, r, m identical to those of the bundle being tested length oam message packet length (in bytes) oam sequence number uniquely identifies the message. its value is unrelated to the sequence number of the tdm data p ackets for the bundle in question. it is incremented in query messages, and r eplicated without change in replies. oam msg type indicates the function of the message. at present, the following are defined: 0 : one way connectivity query message 8 : one way c onnectivity reply message oam msg code information related to the message; its interpretation depends on the message type. for oam msg type=0 (connectivity query) messages, the following code s are defined: 0 : validate connection 1 : do not validate connec tion for oam msg type=8 (connectivity reply) messages, the available codes are: 0 : acknowledge valid query 1 : invalid query (configuration mismatch) service specific information can be used to exchange configuration information between gateways. if not u sed, it must contain zero. its interpretation depends on the payload type. at present, t he following is defined for aal1 payloads: bits 16 C 23: number of timeslots being transported, e.g. 24 for full t1 bits 24 C 31: number of 48 - byte aal1 pdus per packet, e. g. 8 when packing 8 aal1 aal1 sar pdus per packet source bundle identifier the bundle identifier used for tdm - over - packet traffic from the source to the destination. destination bundle identifier the bundle identifier used for tdm - over - packet traffic fro m the destination to source. source transmit timestamp the time the psn - bound gateway transmitted the query message. this field and the followi ng fields only appear if delay is being measured. the resolution is configurable to 100 s or 1 s. destinatio n receive timestamp the time the destination gateway received the query message. destination transmit timestamp the time the destination gateway transmitted the reply message. for more details about oam signaling, see section 10.6.17 . downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 47 of 198 10.6.2 typical application in the application below ( figure 10 - 23 ), the device is embedded in a tdmoip gateway to achieve tdm connectivity over a psn. the tdm - over - packet packet formats for both ip and mpls are shown in figure 10 - 24 and figure 10 - 25 , respectively. figure 10 - 23 . tdm connectivity over a psn figure 10 - 24 . tdmop packet format in a typical application 1 da sa vlan tag optional ethertype ip ip header src. ip=x dst. ip=y udp or l2tpv3 header bundle id=a control word payload type aal1/ hdlc/satop/ cesopsn/ oa m crc - 32 2 da sa vlan tag optional ethertype ip ip header src. ip=y dst. ip=x udp or l2tpv3 header bundle id=a control word payload type aal1/ hdlc/satop/ cesopsn/oam crc - 32 3 da sa vlan tag optional ethertype ip ip header src. ip=x dst. ip=z udp or l 2tpv3 header bundle id=b control word payload type aal1/ hdlc/satop/ cesopsn/oam crc - 32 4 da sa vlan tag optional ethertype ip ip header src. ip=z dst. ip=x udp or l2tpv3 header bundle id=b control word payload type aal1/ hdlc/satop/ cesopsn/oam crc - 32 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 48 of 198 figure 10 - 25 . tdmompls packet format in a typical application 1 2 da sa vlan tag optional ethertype mpls outer mpls label(s) optional inner mpls label bundle id=a control word payload type aal1/ hdlc/s atop/ cesopsn/oam crc - 32 3 4 da sa vlan tag optional ethertype mpls outer mpls label(s) optional inner mpls label bundle id=b control word payload type aal1/ hdlc/satop/ cesopsn/oam crc - 32 10.6.3 clock recovery the tdm - over - packet blocks innovative clock recovery process is divided into two successive phases . in the acquisition phase, rapid frequency lock is attained. in the tracking phase, frequency lock is sustained and phase is also tracked. during the tracking phase, jitter is attenuated to comply with the relevant telecom standards even for packet - switched networks with relatively large packet delay variation. packet los s immunity is also significantly improved. during the acquisition phase, a direct estimation of the frequency discrepancy between the f ar - end and near - end service clocks continuously drives an internal frequency synthesis device through a band - limited control loop. as a result, frequency acquisition is achieved rapidly (typically less than 10 sec onds). the clock recovery capture range is 90 ppm around the nominal service clock for any supported clock rate. once the frequency - monitoring unit has detected a steady frequency lock, the system switches to its tracking phase. during the tracking phase the fill level of the received - packet jitter buffer drives the internal frequency synthesizer through a similar band - limited control loop. while in the tracking phase, two tasks are performed. first, the far - end service clock frequency is slowly and accurately tracked, while compelling the regenerated near - end service clock to have jitter and wander levels that conform to itu - t g.823/g.824 requirements, even for networks that introduce high packet delay vari ation and packet loss. this performance can be attained due to a very efficient jitter atten uation mechanism, combined with a high resolution internal digital pll (??=0.4 ppb). second, the received - packet jitter buffer is maintained at its fill level, regardless of the initial frequency discrepancy between the clocks. as a result, the latency ad ded by the mechanism is minimized, while immunity against overflow/underflow events (caused by extre me packet delay variation events) is substantially enhanced. the tdm - over - packet block supports two clock recovery modes: common clock (differential) mode and adaptive mode. the common clock mode is used for applications where the tdmop gateways at both ends of t he psn path have access to the same high - quality reference clock. this mode makes use of rtp differential mode time - stamps and therefore the rtp header must be present in tdmop packets when this mode is used. the common reference clock is provided to the chip on the clk_cmn input pin. the device is configured for common clock mode when clock_recovery_en =1 in general_cfg_reg0 and rtp_timestamp_generation_mode=1 in general_cfg_reg1 . the adaptive clock mode is based solely on packet inter - arrival time and therefore can be used for applications where a common reference clock is not available to both tdmop gateways. this mode does not make use of time - stamps and therefore the rtp header is not needed in the tdmop packets when this mode is used. the device is configured for adaptive clock mode when clock_recovery_en =1 in general_cfg_reg0 and rtp_timestamp_generation_mode=0 in general_cfg_reg1 . in adaptive mode, for low - speed interfaces (up to 4.6 mhz), an on - chip digital pll, clocked by a 38.88m hz clock derived from the clk_high pin, synthesizes the recovered clock frequency. the frequency stability characteristics downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 49 of 198 of the clk_high signal depend on the wander requirements of the recovered tdm clock. for applications wher e the recovered tdm clock must comply with g.823/g.824 requirements for traffic i nterfaces, typically a tcxo can be use as the source for the clk_high signal. f or applications where the recovered clock must comply with g.823/g.824 requirements for synchronization interfaces, the clk_high signal typically must come from an ocxo. in addition to performing clock recovery for up to eight low - speed (typically e1/t1) signals, the device can also be configured in a high - speed mode in which it supports one e3, t3 or sts - 1 signal in and out of port 1. in high - speed mode, the on - chip digital pll synthesizes the recovered clock frequency divided by 10 (for sts - 1) or 12 (for e3 or t3). this clock is available on the tdm1_aclk output pin and can be multiplied by an external pll to get the recovered clock of the high - speed signal (see section 15.3 ). high - speed mode is enabled when high_speed=1 in general_cfg_reg0 . for applications where the chip is used only for clock recovery purposes (i.e. data is not forwarded throug h the chip) the external sdram is not needed. 10.6.4 timeslot assigner (tsa) the tdm - over - packet block contains one timeslot assigner for each tdm port (framed or mult iframed) . the tsa is bypassed in high - spee d mode (i.e. when high_speed=1 in general_cfg_reg0 . ) the tsa tables are described in section 11.4.5 . the tsa assigns 2- , 7 - or 8 - bit wide timeslots to a specific bundle and a specific receive queue. 2- bit timeslots are used for delivering 16k hdlc channels. the 2 bits are located at the first 2 bits (pcm msbits, hdlc lsbits) of the timeslot. the next 6 bits of the timeslot cannot be assigned. 7 - bit timeslots are used for delivering 56kbps hdlc channels. the 7 bits are located at the first 7 bits (pcm msbits, hdlc lsbits) of the timeslot. the last bit of the timeslot cannot be assigned. the 2 - bit and 7 - bit timeslots may be assigned only to the hdlc payload type machine. the aal1 and raw payload type machines support only 8 - bit timeslots. for unframed/nx64 interfaces all entries must be configured as 8 - bit timeslots. each port has two tsa tables (banks): one active and the other one shadow. the tsa_int_act_blk status bit in port[n]_stat_reg1 indicates which bank is currently active. the cpu can only write to the shadow t able. after tsa entries are changed in the shadow table the tsa tables should be swapped by changing the tsa_act_blk bit in port[n]_cfg_reg so that the active table becomes the shadow table and the shadow table becomes the active table. changes take effect at the next frame sync signal. for an unframed interface the changes take effect up t o 256 tdm clock cycles after the tsa_act_blk is changed. after the change occurs, the tsa_int_act_blk bit is updated by the device. each table consists of 32 entries, one entry per timeslot. the first entry refers to the first times lot, i.e. the first 8 bits of the frame (where the frame sync signal indicates start - of - frame). the second entry refers to the second timeslot, i.e. the 8 bits after the first 8 bits, and so on. the format of a table entry is shown in section 11.4.5 . if a port is configured for an unframed signal format, all 32 entries for that port must have the same settings for all fields. a bundle can only be composed of timeslots from a single tdm port, but timeslots from a tdm port can be ass igned to multiple bundles. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 50 of 198 10.6.5 cas handler 10.6.5.1 cas handler, tdm - to - ethernet direction in the tdm - to - ethernet direction, the cas handler receives the cas bits (for structured - with - cas aal1/cesopsn bundles) on the tdmn_rsig_rts signal. depending on the value of the per - bundle tx_cas_source configuration bit in the bundle configuration tables , the cas handler inserts either the cas bits from the corresponding tdmn_rsig_rts signa l or the values from the transmit sw cas tables (section 11.4.9 ) into the aal1/cesopsn packets, in order to deliver the signaling as part of the aal1/cesopsn payload packets. see figure 10 - 26 . the transmit sw cas tables may contain conditioning bits set by cpu software during configuration (per time slot). if cas bits received on the tdmn_rsig_rts signal change, a per - timeslot maskable interrupt is asserted. the tx_cas_change registers in the interrupt controller indicate which timeslots have changed cas bits. the tx_cas_change_mask registers are available to selectively mask these interrupts. upon notification that cas bits have changed, the cpu can read the cas bits directly from the receive signaling regi sters of the neighboring e1/t1 framer component, alter them if needed, and write them into the tdmop blocks transmit sw cas tables. figure 10 - 26 . cas transmitted in the tdm - to - ethernet direction cas handler transmit sw cas tables framer receive cas bits internal register cpu manipulated cas bits ( per timeslot ) conditioning bits tdmop aal1/aal2 packets in sdram tdm 1_ rsig _ rts tdm 2_ rsig _ rts tdm 3_ rsig _ rts tdm 4_ rsig _ rts tdm 5_ rsig _ rts tdm 6_ rsig _ rts tdm 7_ rsig _ rts tdm 8_ rsig _ rts there is a transmit sw cas table for each tdm port. each table consists of 4 rows, and each row contains the cas bits of eight timeslots. for ports configured for e1, timeslots 1 C 15 and 17 C 31 are used and timeslots 0 and 16 are meaningless. for ports configured for t1, timeslots 0 C 23 are used and timeslots 24 C 31 are meaningle ss. ports configured for t1 sf have two copies of a and b cas bits arranged a, b, a, b. other port types have one copy of bits a, b, c and d. these cases are illustrated in figure 10 - 27 and figure 10 - 28 . downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 51 of 198 figure 10 - 27 . transmit sw cas table format for e1 and t1 - esf interfaces 31 0 abcd (ts7) abcd (ts6) abcd (ts5) abcd (ts4) abcd (ts3) abcd (ts2) abcd (ts1) abcd (ts0) a bcd (ts15) .. .. .. .. .. .. abcd (ts8) abcd (ts23) .. .. .. .. .. .. abcd (ts16) abcd (ts31) .. .. .. .. .. .. abcd (ts24) figure 10 - 28 . transmit sw cas table format for t1 - sf interfaces 31 0 abab (ts7) abab (ts6) abab (ts5) abab (ts4) abab (ts3) abab (ts2) abab (ts1) abab (ts0) abab (ts15) .. .. .. .. .. .. abab (ts8) abab (ts23) .. .. .. .. .. .. abab (ts16) table 10 - 19 . cas C supported inte rface connections for aal1 and cesopsn tdm - to - packet interface format packet -to- tdm interface format transmitted bits e1 mf e1 mf cas bits are transferred as - is. t1 sf t1 sf t1 esf t1 esf t1 esf t1 sf only a and b bits transferred. t1 sf t1 esf a an d b bits transferred. c and d bits sourced from the sf_to_esf_low_cas_bits field in port[n]_cfg_reg . for structured - with - cas bundles connecting two t1 sf/esf interfaces, the per - bundle tx_dest_framing bit in the bundle configuration tables indicates the destination interface framing type (sf or esf). the figures below shows the location of the cas bits in the tdmn_rsig_rts data stream for each framing mode. figure 10 - 29 . e1 mf interface rsig timing diagram (two_clocks=1) tdmn_rclk tdmn_rx_sync tdmn_rsig a b c d a b c d timeslot 30 timeslot 31 timeslot 0 once in 2 milliseconds downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 52 of 198 figure 10 - 30 . t1 esf interface rsig timing diagram (two_clocks=0) tdmn_tclk tdmn_rx_sync tdmn_rsig a b c d a b c d a b c d timeslot 22 timeslot 23 timeslot 0 once in 3milliseconds figure 10 - 31 . t1 sf interface rsig (two_clocks=0) C timing diagram tdmn_tclk tdmn_rx_sync tdmn_rsig a b a b a b a b a b a b timeslot 22 timeslot 23 timeslot 0 once in 1.5 milliseconds tdmn_rx_sync can be left unconnected or connected to ground if the neighboring e1/t1 framer ic cannot drive it. the tdmop block has an internal free running counter that generates this signal internally when not driven by an external source. this internally generated multiframe sync signal is synchronized to the tdmn_rx_sync input pulse when present. 10.6.5.2 cas handler, ethernet - to - tdm direction in the ethernet - to - tdm direction, the cas is received from the incoming packets. the aal1/raw payload type machine extracts the cas bits from the tdm - over - packet payload and writes them into the cas jitter buffers in the sdram (for structured - with - cas aal1/cesopsn bundles only). the cas jitter buffers store the cas information of up to 128 timeslots of the eight ports. selectors in the cas handler send the cas bits either from the cas jitter buffers or from the receive sw cas tables to the line (next mf) cas tables (see f igure 10 - 32 ). the selectors decision logic is shown in table 10 - 20 . table 10 - 20 . cas handler selector decision logic condition source of cas bits driven on tdmn_ts ig_cts for this timeslot timeslot not assigned or assigned to a bundle which is not an aal1/cesopsn structured bundle ( rx_assigned =0 or structured_type =0 for its tsa entry) receive sw cas table s aal1 bundle jitter buffer is in underrun state and rx_cas_src =1 timeslot assigned to an aal1/cesopsn structured bundle ( rx_assigned =1 and structured_type =1 for its tsa entry) corresponding cas jitter buffer in sdram (cas value is the latest received) aal1/cesopsn bundle jitt er buffer is in underrun state and rx_cas_src =0 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 53 of 198 figure 10 - 32 . cas transmitted in the ethernet - to - tdm direction cas jitter buffers in sdram tdm 1_ tsig _ cts portn receive line cas tables framer transmit cas bits internal register cpu manipulated cas bits (per timeslot) tdmop selector portn receive aal2/ sw cas tables cas bits cas handler interrupt on change portn receive line ( next mf ) cas tables tdm 2_ tsig _ cts tdm 3_ tsig _ cts tdm 4_ tsig _ cts tdm 5_ tsig _ cts tdm 6_ tsig _ cts tdm 7_ tsig _ cts tdm 8_ tsig _ cts the receive sw cas tables contains cas bits written by cpu software. each ports receive line cas table (section 11.4.10 ) is updated with the cas bits stored in the receive line (next mf) cas table when the tdmn_tx_mf_cd signal is asserted to indicate the multifr ame boundary. for e1 ports, cas bits are updated every 2 milliseconds. for t1 sf ports, cas bits are updated ev ery 1.5 milliseconds. for t1 esf ports, cas bits are updated every 3 milliseconds. there is a receive line cas table for each tdm port. these tables hold the cas information extracted fr om received packets and subsequently transmitted on tdmn_tsig signals. each table contains 32 rows, and each row holds the cas bits of one timeslot. only the first 24 rows are used for t1 interfaces. for e 1 and t1 esf interfaces, each row holds the a, b, c and d bits. for t1 sf interface where only t he a and b bits exist, each row holds the a and b bits duplicated i.e. a, b, a, b. if cas bits change in the receive line cas table, a per - timeslot interrupt is asserted. the r x_cas_change registers in the interrupt controller indicate which timeslots have changed cas bits. upon notification that cas bits have changed, cpu software can read the cas bits from the receive line (next mf) ca s table, manipulate them and then write them directly into the transmit signaling registers of the neighboring e1/t1 fram er ic. in this case, the framer should be configured to use the cas information from its cas registers a nd not from its signaling input pin. the bits in each receive line cas table are transmitted on the tdmn_tsig signal, as shown in the figures below. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 54 of 198 figure 10 - 33 . e1 mf interface tsig timing dia gram tdmn_tclk tdmn_tx_mf_cd tdmn_tsig a b c d a b c d timeslot 30 timeslot 31 timeslot 0 once in 2 milliseconds figure 10 - 34 . t1 esf interface tsig timing diagram tdmn_tclk tdmn_tx_mf_cd tdmn_tsig a b c d a b c d a b c d timeslot 22 timeslot 23 timeslot 0 once in 3 milliseconds figure 10 - 35 . t1 sf interface tsig tim ing diagram tdmn_tclk tdmn_tx_mf_cd tdmn_tsig a b a b a b a b a b a b timeslot 22 timeslot 23 timeslot 0 once in 1.5 milliseconds tdmn_tx_mf_cd can be left unconnected or connected to ground if the framer cannot drive it. the tdmop block has an internal free running counter that generates this signal internally when not driven by external source. this internally generated multiframe sync signal is synchronized to the tdmn_tx_sync input pulse when present. 10.6.6 aal1 payload type machine for the prevalent case for which the timeslot allocation is static and no activity det ection is performed, the payload can be efficiently encoded using constant bit rate aal1 adaptation. the aal1 payload type machine converts e1, t1, e3, t3, sts - 1 or serial data flows into ip, mpls or ethernet packets, and vice versa, according to itu - t y.1413, y.1453, mef 8, mfa 4.1 and ietf rfc 5087 tdmoip. in this mapping method, data is actually mapped into 48 - byte aal1 sar pdus as described in i.361.1 section 2.4.2. 10.6.6.1 tdm - to - ethernet direction in the tdm - to - ethernet direction, the aal1 payload type machine concatenates the bundles timeslots into structures and then slices and maps the structures into 46 - or 47 - octet aal1 sar pdu payloads. after adding the aal1 sar pdu header and pointer as needed, the aal1 sar pdus are concatenated and inserted into the payload of the layer 2/layer 3 packet. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 55 of 198 figure 10 - 36 . aal1 mapping, general the structure of the aal1 header is shown in table 10 - 21 below. table 10 - 21 . aal1 header fields field length (bits) description c 1 indicates if there is a pointer in the second octet of the aal1 s ar pdu. when set, a pointer exists. sn 3 aal1 sar pdu sequence number crc 3 cyclic redundancy code on c and sn p 1 even parity bit on c, sn and crc or the even byte parity lsb for the sequence number octet (p format aal1 sar pdus only) e 1 (p format aal1 sar pdus only) even byte parity msb for pointer octet pointer 7 (p format aal1 sar pdus on ly) indicates the next structure boundary. it is always located at the first possible position in the sequence number cycle in which a structu re boundary occurs. the pointer indicates one of 93 octets (46 octets of the current aal1 sar pd u + 47 octets of t he next aal1 sar pdu). p=0 indicates that the first octet of the current aal1 sar pdus payload is the first octet of the structure. p=93 indicates that the last octet of the next aal1 sar pdu is the final octet of the structure. the aal1 block supports the following bundle types: ? unstructured ? structured ? structured- with - cas. unstructured bundles , for e1/t1 interfaces, support rates of n 64 kbps, where n is the number of timeslots configured to be assigned to a bundle. unstructured bundles may also carry traffic of the whole low - speed interface (up to 4.6 mbps), e1/t1 interface (2.048mbps/1.544 mbps) and high - speed interface (up to 51.84 mbps). the aal1 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 56 of 198 sar pdu payload contains 47 octets (376 bits) of tdm data without regard to frame alignment or timeslot byte alignment. all aal1 sar pdus are non - p format for unstructured bundles. structured bundles , for e1/t1 interfaces, support rates of n 64 kbps, where n is the number of timeslots configured to be assigned to a bundle. for this format, the n timeslots from one e1/t1 frame are sequentially mapped into an n - octet structure. this n - octet structure is then mapped into the aal1 sar pdu payload, octet - aligned. this process is repeated until all octets of the aal1 sar pdu payload are filled. the last octet of the payload may contain a timeslot other than the last timeslot of the structure. the remaining timeslots of the structure are mapped into the next aal1 sar pdu payload in the same manner and the process continues. this is illustrated in figure 10 - 37 . figure 10 - 37 . aal1 mapping, structured - without - cas bundles 1 2 3 4 5 6 7 8 9 10 11 12 32 1 2 3 2 3 5 7 11 2 3 5 7 11 2 3 5 7 11 2 3 1 2 3 4 5 6 7 8 9 10 ... 41 42 43 44 45 46 47 ... 5 7 11 2 3 5 7 11 2 3 5 7 11 2 3 5 7 ... tdm frame octet cell next cell structure tdm frame ... with this mapping each aal1 sar pdu can start with a different timeslot. to enable t he far end tdmop func tion to identify the start of a structure, a pointer to it is sent periodically in one of the e ven - numbered aal1 sar pdus of every sn cycle. when this pointer is sent, a p - format aal1 sar pdu is used. in a p - format aal1 sar pdu the first byte of the payload contains the pointer while the last 46 bytes contain payload. structured - with - cas bundles , for e1/t1 interfaces, support rates of n 64 kbps, where n is the number of timeslots configured to be assigned to a bundle. this mapping is similar to the struct ured - without - cas mapping described above except that the structure is an entire e1/t1 multiframe of the n timeslots assigned to the bundle, and a cas signaling substructure is appended to the end of the structure. the addition of cas only affects the struc ture arrangement and contents. cas data of one timeslot is 4 bits long, meaning one octet can c ontain cas data of 2 timeslots. bundles containing an odd number of timeslots need a padding of 4 zeroes in the last cas octet. for example, a 3 - timeslot bundle of an e1 frame with cas yields the following structure octet sequence: ts1, ts2, ts3 repeated 16 times (a whole e1 multiframe) and then cas1+cas2, cas3+padding. 10.6.6.2 ethernet - to - tdm direction in the ethernet - to - tdm direction, aal1 sar pdus of a bundle are being received only after the synchronization process. the synchronization process includes packet sn synchronization, aal1 sar pdu sn synchronization, and pointer synchronization. aal1 sar pdus with crc or parity errors in their header are discarded. pointer m ismatch imposes jitter buffer under - run and bundle resynchronization. aal1 sar pdu header errors or pointer errors may be ignored depending on per - bundle configuration. missing aal1 sar pdus are detected and restored in the jitter buffer. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 57 of 198 10.6.7 hdlc payload type machine handling hdlc in tdm - over - packet ensures efficient transport of ccs (common channel signaling, such as ss7), embedded in the tdm stream or other hdlc - based traffic, such as frame relay, according to ietf rfc 4618 (excluding clause 5.3 C ppp) and r fc 5087 (tdmoip). for an e1 interface, each bundle supports the rates of 16 kbps or n 64 kbps, where n is the number of timeslots configured to be assigned to a bundle (between 1 to 32). for an t1 interface, each bundle supports the rates of 16 kbps, 56 kbps (not supported for t1 sf interface), full t1 (1.544 mbps) or n 64 kbps, where n varies from 1 to 24. in the tdm - to - ethernet direction, the hdlc block monitors flags until a frame is detected. it removes bit stuffing, collects the contents of the frame and checks the correctness of the crc, alignment and frame length. vali d frame length is anything greater than 2 bytes and less than tx_max_frame_size in h dlc_bundle[n]_cfg[95:64] . erroneous frames are discarded. good frames are mapped as - is into the payload of the configured layer 2/3 packet type (without the crc, flags or transparency zero - insertions). in the ethernet - to - tdm direction, when a packet is received, its crc is calculated, and the original hdlc frame reconstituted (flags are added, bit stuffing is performed, and crc is added). figure 10 - 38 . hdlc mapping hdlc type tdmoip payload control word l2/l3 header hdlc frame in tdm ethernet packet crc flags crc-16 data flags zero bit deletion downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 58 of 198 10.6.8 raw payload type machine the raw payloa d type machine support the following bundle types: ? unstructured according to itu - t y.1413, y.1453, mef 8, mfa 8.0.0 and ietf rfc 4553 (satop). ? structured without cas according to itu - t y.1413, y.1453, mef 8, mfa 8.0.0 and ietf rfc 5086 (cesopsn). ? structure d with cas according to itu - t y.1413, y.1453, mef 8, mfa 8.0.0 and ietf rfc 5086 (cesopsn). 10.6.8.1 unstructured unstructured bundles usually carry the data of a whole tdm port. this port may be low - speed such as an e1, t1 or nx64k bit stream or high - speed such as an e3, t3 or sts1 signal. in an unstructured bundle, the packet payload is comprised of n bytes of the tdm stream without regard for byte or frame alignment. in the receiving device, the tdm data is extracted from the packet payload and inserted as a bit stream into the jitter buffer, from which it is then extracted and sent to the tdm port. figure 10 - 39 . satop unstructured packet mapping l2/l3 header control word tdm payload crc ethernet packet n tdm bytes tdm bitstream frg bits = 00 (no fragmentation) the packetization delay of an unstructured (satop) bundle is: t = n x 8 x the bit time of the tdm interface. the minimum packetization time of an ethernet packet for an unstructured (satop) bundle is as fol lows: ? 60 s for high speed mode ? 125 s for low speed mode 10.6.8.2 structured without cas in a structured - without - cas bundle, the packet payload is comprised of the assigned timeslots from n tdm frames as illustrated in figure 10 - 40 . downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 59 of 198 figure 10 - 40 . cesopsn structured - without - cas mapping 4 25 25 4 25 4 frame 1 frame 2 frame n frame 1 4 25 4 25 4 25 frame 2 frame n l2/l3 header control word crc ethernet packet tdm payload frg bits = 00 (no fragmentation) the packetization delay of a cesopsn structured - without - cas bundle is: t = n x 125 s (i.e. n x the frame rate) the minimum packetization time of an ethernet packet for a structured (with or without cas) bundle is 125 s. 10.6.8.3 structured with cas (without f ragmentation) in a structured - with - cas bundle, the packet payload is comprised of the assigned timeslots from all the tdm frames in a multiframe (e.g. 16 frames for e1) followed by the cas signaling substructure, whic h contains the cas info for the assigned timeslots. figure 10 - 41 . cesopsn structured - with - cas mapping (no frag, e1 example) 4 25 25 4 25 4 frame 1 frame 2 frame 16 frame 1 frame 2 frame 16 l2/l3 header control word crc ethernet packet tdm payload ab cd ts 2 ab cd ts 4 multi-frame boundary 4 25 2 4 25 2 4 25 2 ab cd ts 25 4 bit pading 1 byte 1 byte 2 2 2 frg bits = 00 (no fragmentation) the minimum packetization time of an ethernet packet for a structured (with or without cas) bundle is 125 s. the mini mum tdm payload of an ethernet packet for a structured (with or without cas) bundle is 8 bytes. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 60 of 198 figure 10 - 42 . cesopsn structured - with - cas mapping (no frag, t1 - esf example) 4 4 frame 1 frame 2 frame 1 frame 2 frame 24 l2/l3 header control word crc ethernet packet tdm payload extended-super-frame boundary 4 2 4 2 4 2 2 2 frg bits = 00 (no fragmentation) 4 frame 24 ab cd ts 2 ab cd ts 4 1 byte 2 in t1 sf, the multiframe structure is composed of 2 superframes resulting total of 24 tdm fram es. the cas info at the end of the structure contains the cas info of the 2 corresponding superframes as well. figure 10 - 43 . cesopsn structured - with - cas mapping (no frag, t1 - sf example) frame 1 frame 12 frame 12 l2/l3 header control word crc tdm payload super-frame 1 frg bits = 00 (no fragmentation) super-frame 2 4 1 24 4 1 24 4 1 24 4 1 24 frame 1 4 bit pading a 1 b 1 a 2 b 2 ts 1 1 byte 1 byte a 1 b 1 a 2 b 2 ts 4 a 1 b 1 a 2 b 2 ts 24 24 4 frame 12 2 1 4 24 frame 1 1 1 4 24 frame 1 2 1 24 4 frame 12 1 1 the packetization delay of a cesopsn structured - with - cas bundle (not fragmented) is as follows: ? multiframed e1: t = 2 ms ? t1 sf, esf: t = 3 ms 10.6.8.4 structured - with - cas (with fragmentatio n) in order to reduce the packetization delay of structured - with - cas bundle, the cesopsn standard supports the option of fragmentation. in this mode, the multiframe data structure is fragmented among several packets. each packet contains m tdm frames of the assigned timeslots. the last packet also contains the entire multiframe cas substructure. because of that, there is limited number of allowed m values: ? for multiframed e1: m = 1, 2, 4, 8, 16 (16 means single packet with no fragmentation) ? for t1 sf: m = 1, 2, 3, 4, 6, 8, 12, 24 (24 means single packet with no fragmentation) ? for t1 esf: m = 1, 2, 3, 4, 6, 8, 12, 24 (24 means single packet with no fragmentation) the packetization delay of a cesopsn structured - with - cas bundle (with fragmentation) is: t = m x 125 s. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 61 of 198 figure 10 - 44 . cesopsn structured - with - cas mapping (frag, e1 example) frame 1 frame 2 frame 16 multi-frame boundary 4 25 2 4 25 2 4 25 2 4 25 25 4 25 4 frame m + 1 frame m + 2 frame 2m l2/l3 header control word crc intermediate ethernet packet tdm payload 2 2 2 frg bits = 11 (intermediate fragment) 4 25 25 4 25 4 frame 1 frame 2 frame m l2/l3 header control word crc first ethernet packet tdm payload 2 2 2 frg bits = 01 (first fragment) 4 25 25 4 25 4 frame frame frame 16 l2/l3 header control word crc last ethernet packet tdm payload ab cd ts 2 ab cd ts 4 ab cd ts 25 4 bit pading 1 byte 1 byte 2 2 2 frg bits = 10 (last fragment) downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 62 of 198 10.6.9 sdram and sdram controller the device requires an external sdram for its operation. the following describes how the tdmop block and the cpu use the sdram: the tdmop block accesses these sections of the sdram : ? transmit buffers section this area stores outgoing packets created by the payload - type machines. it is a 1 - mbyte area with base address specified by the tx_buf_base_add field in general_cfg_reg1 . the actual amount of sdram used in the transmit buffers section depends on the number of open bundles and the number of buffers assigned to each bundle. ? jitter buffer data section this area stores incoming tdm data after it has been extracted from received packets by the payload - type machines. it is a 2 - mbyte area with base address specified by the jbc_data_base_add field in general_cfg_reg1 . the actual amount of the sdram used in the jitter buffer data section depends on the configuration (most applications allocate only 0.5 mbyte ). ? jitter buffer signaling section: this area stores incoming tdm signaling information after it has been extracted from received pack ets by the payload - type machines. it is a 32 - kbyte area, with base address specified by the jbc_sig_base_add field in general_cfg_reg1 . this section is used only when structured - with -cas bundles have been opened. the cpu uses the sdram as follows : ? the cpu may utilize the sections of sdram not used by the tdmop block in order to send/receive packets through the cpu queues/pools. ? the cpu accesses the transmit buffers section in order to initialize the buffer headers before opening a bundle. the built - in sdram controller allows glueless connection to an external sdram (the tdmop block supplies the sdram clock). supported sdram devices are listed in section 15.6 . the tdmop block typically uses from 1.5 to 3 mb of sdram space, depending on configuration. the cpu may use the rest of the memory. the supported resolutions of cpu access to the sdram are shown below. table 10 - 22 . sdram access resolution data bus width access to sdram 32 bits 8, 16, 32 b it 16 bits 8, 16 bit prior to operation, the sdram controller configuration bits (see the general_cfg_reg0 register) must be configured. first, the cpu must set the configuration bits while maintaining the rst_sdram_n bit low (0). then, it should deassert the rst_sdram_n bit. the rst_sdram_n bit must not be changed during operation. the sdram controller operates at either 50 or 75 mhz with the following cas latency options: table 10 - 23 . sdram cas latency vs. frequency frequency [mhz] cas latency [clock cycles] 50 2 75 2 or 3 during operation, the controllers arbiter receives access requests from various internal hardware blocks and the cpu and grants access permissions based on predefined priorities. the controller automatically refreshes the external sdram approximately once every 15 s. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 63 of 198 fi gure 10 - 45 . sdram access through the sdram controller cpu sdram tdmopacket sdram controller configuration register reset_n configuration bits access from hw blocks cpu port other ports arbiter clock 10.6.10 jitter buffer control (jbc) 10.6.10.1 jitter buffer application routinely in tdm networks, destination tdm devices derive a clock from the incoming tdm signal and use it for transmitting data as depicted in figure 10 - 46 . this is called loopback timing. figure 10 - 46 . loop timing in tdm networks source tdm device destination tdm device loopback timing source clock when replacing the physical tdm connection with an ip/mpls network and two tdm - over - packet devices as shown in figure 10 - 47 below, the receiving tdm - over - packet device (slave) receives packets with variable delays (packet delay variation). after processing, the slave tdmop device should send tdm data to the destination tdm device at the same clock rate at which the tdm data was originally sent by the source tdm device. to achie ve this, the device works in clock recovery mode to reconstruct the source tdm clock to allow the destination tdm device to still work in loopback timing mode. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 64 of 198 figure 10 - 47 . timing in tdm - over -packet ethernet tdmop device source tdm device destination tdm device loopback timing source clock loopback timing tdmop device clock recovery master slave the jitter buffer, located in the sdram, has two main roles: ? compen sate for packet delay variation ? provide fill level information as the independent variable used by the clock recovery machines to reconstruct the tdm clock on a slave tdmop device. the data enters the buffer at a variable rate determined by packet arrival times and leaves it at a constant t dm rate. in clock recovery mode, the amount of data in the jitter buffer (the fill level) steers the clock recovery mechanism. 10.6.10.2 jitter buffer configuration separate areas are allocated in the external sdram for tdm data and for signaling, as des cribed in section 10.6.9 . in low - speed mode ( high_speed =0 in general_cfg_reg0 ) both data and signaling areas are divided into eight identical sections, one for each e1/t1/nx64 interface. these section are further divided as follows: ? in e1/t1 structured mode, each per - port data section contains the data of 32 timeslots for e1 or 24 timeslots for t1 (a total of 32*8=256 timeslots for all eight interfaces). each e1/t1 timeslot i s allocated a maximum of 4 kb of space (128kb per interface and a total of 1024 kb for all eight interfaces). ? each signaling section is divided into multiframe sectors, with each sector containing the signaling nibbles of up to 32 timeslots (total of 64 kb for all 8 interfaces). ? in serial interface mode or e1/t1 unstructured mode, there is no per - timeslot allocation. the jitter buffer is divided into eight identical sections, one for each interface (each section is 512 kb for hdlc bundles or 128 kb for other bundle types). in high - speed mode (e3, t3, sts - 1), the jitter buffer is arranged as one large buffer without division into sect ions (total of 512 kb). the jitter buffer maximum depth in time units (seconds) is calculated according to the following formula: ? x buffer area per interface x rate 8 where: ? = two halves of the buffer buffer area per interface = 512 kb for a single high - speed interface or 128 kb f or a low - speed interface 8 = number of bits per byte rate = transmission rate (e.g., 2.048 mbps) downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 65 of 198 for t1 structured - with - cas, multiply the above formula by 0.75. the jitter buffer depth is defined by the rx_max_buff_size parameter found in the bundle configuration tables . w hen the jitter buffer level reaches the value of rx_max_buff_size , an overrun situation is decla red. the rx_pdvt parameter (also found in the bundle configuration tables ) defines the amount of data to be stored in the jitter buffer to compensate for network delay variation. this parameter has two implications : ? rx_pdvt defines the chips immunity to the ethernet network delay variation. ? the data arriving from the network is delayed by rx_pdvt before it is read out of the jitter buffer and transmitted on the tdm pins. rx_pdvt must be smaller than rx_max_buff_size . also, the difference between rx_max_buff_size and rx_pdvt must be larger than the time that it takes to create a packet (otherwise an overrun may occur when the packet arrives). typically, the recommended value for rx_max_buff_size is 2* rx_pdvt + pct (packet creation time). this provides equal immunity for both delayed and bursty packets. configuring the jitter buffer parameters correctly avoids underrun and overrun situations. underrun occurs when the jitter buffer becomes empty (the rate data is entering the buffer is slower than the rate data is leaving). when an underrun occurs the tdmop block transmits conditioning data instead of actual data towards the tdm interface. the conditioning data is specified by the receive sw conditioning octet select table for tdm data and the location specified by rx_cas_s rc (sdram or receive sw cas ) for signaling. overrun occurs when the jitter buffer is full and there is no room for new data to enter (the rate data is leaving the buffer is slower t han the rate data is entering). underrun and overrun require special treatment from the tdmop hardware, depending on the bundle type. figure 10 - 48 . jitter buffer parameters rx_pdvt rx_max_buff_size this area is empty and can be used to store incoming bursts. this area is full and there is still data to send on the line if incoming data is missing due to network delays. the jbc uses a 64 by 32 bit bundle timeslot table to identify the assigned timeslots of each active bundle. the index to the table is the bundle number. the cpu must configure each active bundle entry (setting a bit means that the corresponding timeslot is assigned to this bundle). for unstructured bundles, the whole bundle entry (all 32 bits) must be set. jitter buffer statistics are stored in a 256 - entry table called the jitter buffer status table . each tdm port has 32 dedicated entries, one per timeslot. this table stores the statistics of the active jitter buf fer for each active bundle. a configurable parameter called jitter_buffer_index located in the timeslot assignment tables (sectio n 11.4.5 ) points to the entry in the jitter buffer status table where the associated jitter buffer statistics are stored. the value of the jitter_buffer_index should be set as follows: downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 66 of 198 ? for aal1/hdlc/raw structured bundles: the jitter_buffer_index value is the number of the lowest timeslot in the bundle. for example, if the bundle consists of timeslots 2, 4, 17 on port 3, jitter_buffer_index =0x2. ? for unstructured bundles the jitter_buffer_index value is 0x0. 10.6.10.3 jitter buffer status and st atistics the cpu accesses the jitter buffer status table using the jitter_buffer_index as described above. the status table contains the current jitter buffer status (such as, the current jitter buffer le vel and its current state (ok, underrun or overrun). the status table also contains two variables, minimal_level and maximal_level , w hich report the minimum and maximum fill levels of the jitter buffer since the last time the two fields were read (available for aal1/raw bundles only). these variables provide information about network packet delay variation. f or example, using these valu es, the cpu can calculate the margins from the top ( rx_max_buff_size ) and the bottom of the jitter buffer. if there is margin, cpu software may want to reduce rx_pdvt to reduce the latency added by the jitter buffer to the incoming tdm data. 10.6.10.4 jitter buffer response to packet loss and misordering the payload - type machines detect that a packet was lost by sequence number error in aal1/raw. if a packet is lost, conditioning data (specified by the receive software conditioning registers in section 11.4.12 ) is inserted into the jitter buffer in place of the lost data to maintain bit integrity (i.e. the number of bits that are i nserted into the jitter buffer must equal the number of bits that were transmitted by the far end). if a packet is misordered in a raw bundle (for example, the packet with the sequenc e number n arrives after the packet with sequence number n+1) it is reordered by the raw payload - type machine, and its data is inserted into the appropriate location in the jitter buffer, assuming that the data in this location has not been transmitted to the tdm port yet. 10.6.11 queue manager data flows through the tdmop block in the following directions: ? tdm to ethernet (implemented in hw) ? ethernet to tdm (implemented in hw) ? tdm to tdm (cross- connect, implemented in hw) ? tdm to cpu ? cpu to tdm ? cpu to ethernet ? ethernet to cpu . these data flows are illustrated in figure 10 - 49 . each data flow is described in a subsection below. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 67 of 198 figure 10 - 49 . tdm - over - packet data flow diagram 10.6.11.1 buffer descriptor data is transferred between the ethernet mac, internal payload - type machines and the external cpu by means of buffers in the sdram. payload data is stored in 2 kb sdram buffers along with a buffer descriptor located in the buffers first dwords. the buffer pointers are managed inside the tdmop block and are stored in queues, pools, and other internal blocks. queues store pointers to sdram buffers containing packet data to be processed, while pools store pointers to empty buffers. the pointers are passed from one block to another. only the block owning the pointer can access the associated buffer. the size of the buffer descriptor size depends on the internal path it is used for: tdm ? tdm, tdm ? cpu and cpu ? tdm: one dword tdm ? eth, cpu ? eth and eth ? tdm: two dwords eth ? cpu: three dwords the fields of the buffer descriptor dwords are described in the sections below. hdlc payload type machine aal1 payload type machine tdm to cpu que ue free buffer pool eth tx que ue tdm to cpu pool tx eth interface cpu to eth que ue cpu tx return que ue eth to cpu que ue cpu to tdm que ue cpu rx return que ue eth to cpu pool cross - connect que ue eth mac packet classifier rx fifo sdram rx arbiter raw payload type machine downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 68 of 198 10.6.11.2 buffer descriptor first dword used for all paths. located at offset 0x0 from the start of the buffer. table 10 - 24 . buffer de scriptor first dword fields (used for all paths) bits data element description [31] mpls/mef/l2tipv3 or udp/ip -specific oam for eth ? tdm and for cpu ? tdm indicates that the buffer holds a packet with mpls / mef / l2tpv3 ethertype. for eth ? cpu indicates that the buffer holds a udp/ip - specific oam packet. [30] rst rx reset command (the bundle is in reset process). for eth ? tdm and for cpu ? tdm: used by the packet classifier or by the cpu to inform the next blocks in flow that the bundle was reset. the buf fer contains no real data. [29:27] buffer contents 000: backwards - compatible (experimental) format packet going to the aal1 payload - type machine 001: standard format packet going to the aal1 payload - type machine 010: reserved 011: non - tdmop/mpls packet (this buffer isnt assigned to any bundle) 100: standard format packet going to the hdlc payload - type machine 101: reserved 110: standard format packet going to the raw payload - type machine 111: backwards - compatible (experimental) format packet going to the hdlc payload - type machine [26:16] length/rst_ts packet length or payload length for tdm ? cpu, tdm ? tdm, cpu ? tdm and eth ? tdm: payload length in bytes (received bytes + control word if present + rtp header bytes in case of mpls/mef packet using rtp and contr ol word) for tdm ? eth, eth ? cpu and cpu ? eth: packet length in bytes, without crc for buffer contents =101: total length of packets concatenated in the buffer, in bytes for rst packets: the reset timeslot number note : length must be less than 1951 bytes. n ote : offset and length sum must be less than 2000 bytes. [15] reserved must be set to zero. [14:8] offset for eth ? cpu, tdm ? eth and cpu ? eth: offset in bytes from start of buffer to start of packet for eth ? tdm, tdm ? cpu, cpu ? tdm: offset in bytes from start of buffer to start of payload or to the control word if present for tdm ? tdm: bits 13 - 8 hold the internal bundle number from which the buffer has been transmitted for cpu ? eth, when buffer content (above) is different than 011, must be calculated as follows : tx_payload_offset C header_length note : offset and length sum must be less than 2000 bytes. note : header_length is the number of bytes from start of packet to the cont rol word (or to start of the payload if control word is not used). [7] hw/sw type th e pool the buffer has been extracted from and should be returned to. 0: hw buffers pool 1: sw buffers pool for packets coming from ethernet: 0: destination = payload - type machines 1: destination = cpu [6] rtp for eth ? tdm, eth ? cpu, tdm ? tdm and cpu ? tdm in dicates whether the packet includes an rtp header. [5:0] bundle number for tdm ? tdm: destination internal bundle number. for any other bundle: packet internal bundle number downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 69 of 198 10.6.11.3 buffer descriptor second dword located at offset 0x4 from the start of the buff er. 10.6.11.3.1 tdm ? eth and cpu ? eth packets table 10 - 25 . buffer descriptor second dword fields (tdm ? eth and cpu ? eth) bits data element description 31:15 reserved must be set to zero. 14 stamp indicates whether the packet should be time - stamped. valid only for oam and for non - tdmop packets. otherwise ignored. 13:7 ts_offset indicates the number of dwords from start of buffer to timestamp location. valid only for oam and for non - tdmop packets where stamp bit is set above. 6:0 hdr2_length the second header length in bytes not including control word or rtp heade r (the offset to the second header from start of the buffer is 0x782). limited to 122 bytes and valid only for aal1, cesopsn and satop bundles where the protection_mode setting of the bundle equals to 11 or 10. 10.6.11.3.2 eth ? cpu packets table 10 - 26 . buffer descriptor second dword fields (eth ? cpu) bits data element description 31:30 reserved must be set to zero. 29 ipv6 ip packet with ip ver = 6 28 ipv4 ip packet with ip ver = 4 27 mef_oam mef oam packet, i.e. ethertype equal to mef_oam_ether_type setting 26 vccv_oam vccv oam packet 25:24 no. of mpls labels number of mpls labels. equal to 11 for packet with more than 3 labels. 23 802.3 802.3 packet 22 ethernet ethernet packet 21 reserved must be set to zero. 20 l2tpv3/ip l2tpv3/ip packet 19 two_vlan tag packet with two vlan tags 18 vlan tag packet with one/two vlan tags 17 udp/ip udp/ip packet 16 ip ip packet (with any ip ver) 15 mef mef packet, i.e. ethertype equal to mef_ether_type setting 14 mpls mpls packet, i. e. packets ethertype equal to 0x8847 or 0x8848 13:11 reserved 10 mpls_over_3_lbls mpls packet with more than 3 labels 9 unicast_not_mine unicast packet with destination address different than mac addresses 8 cpu_dst_eth_typ e packet with ethertype equal to cpu_dest_ether_type setting 7 oam oam packet 6 bndl_num_not_exist a tdm - over - packet/mpls/mef packet destined to the chip but with a bundle id entifier that does not match any of one of the chips oam bundle numbers or one of the bundle identifiers assigned to the chips internal bundles. 5 not_tdmoip udp/ip packet with destination/source udp port number different than tdmoip_port_nu m1 and tdmoip_port_num2 4 ip_not_udp_l2tpv3 ip packet with protocol different than udp or l2tpv3 3 arp_chip_ip arp packet with destination ip address equal to one of the chips i pv4 addresses 2 unknown_eth_type a packet with ethertype different than ip, mpls, ar p, mef, mef oam or cpu ethertypes. 1 not_chip_ip ip packet with destination ip address different than the chips i p addresses 0 arp_not_chip_ip arp packet with destination ip address different than t he chips ip addresses downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 70 of 198 10.6.11.4 buffer descriptor third dword used for eth ? cpu packets. located at offset 0x8 from start of the buffer. table 10 - 27 . buffer descriptor third dword fields (eth ? cpu) bits data eleme nt description 31:0 timestamp 32 bits timestamp latched by the packet classifier upon packet rec eption. timestamp resolution is 100 s or 1 s as specified by the oam_timestamp_resolution field in general_cfg_reg0 . 10.6.11.5 rx arbiter the rx arbiter constantly checks for available packets in the rx fifo, the cpu - to - tdm queue and the cross - connect queue. it can do one of the following: ? pass a packet from the rx fifo t o the payload - type machines ? pass a packet from the rx fifo to the external sdram and insert its pointer into the eth - to - cpu queue ? extract a pointer from the cross - connect queue and pass a packet from the external sdram into the payload - type machines ? extrac t a pointer from the cpu - to - tdm queue and pass a packet from the external sdram into the payload - type machines. in general, the rx arbiter handles packets according to the following priorities: 1. cross - connect queue 2. rx fifo (i.e., packets that arrive from t he ethernet port) 3. cpu - to - tdm queue. the rx_fifo_priority_lvl field in general_cfg_reg0 specifies a priority level for the rx fifo. whenever the fill level of the rx fifo is above this threshold, the rx fifo becomes the highest priority for the rx arbiter rather than the cross - connect queue until the fill level of the rx fifo drops below the threshold. 10.6.11.6 tx ethernet interface the tx ethernet interface first checks the ethernet tx queue. if the queue is not empty, it extracts a point er, passes the buffer data from the sdram to the ethernet mac, and returns the pointer to the free buffer pool. if the tx ethernet queue is empty, the tx ethernet interface checks the status of the cpu - to - ethernet queue. if the queue is not empty, it extracts a pointer, transfers buffer data to the ethernet mac, and returns the buffer t o the cpu tx return queue. 10.6.11.7 free buffer pool the free buffer pool mechanism explained below is used for the tdm - to - ethernet and tdm - to - tdm flows. before the payload - type machines can process any data, the cpu must initialize the free buffer pool. the free buffer pool contains pointers to sdram buffers that are used by the payload - type machines to store packet s. there are a total of 512 sdram buffers. the cpu needs to pre - assign (statically) these sdram buffers to each bundle. the number of buffers allocated per specific bundle depends on the number of timeslots in the bundle. it is recommended to assign 4 buffers per timeslot. the buffers are located in a continuous area in the sdram. the buffer address consis ts of the base address, the buffer number and the displacement within the buffer. the base address is specified by t he tx_buf_base_add field in general_cfg_reg1 . free buffer numbers are contained in linked lists, with a head pointing to the first buffer, each buffer pointing to the next buffer and the last buffer pointing to itself. there are 64 heads (one per bundle), each one containing a validity indication bit (msb) and another 9 bits pointing to the first free buffer in the linked lis t. the register descriptions for the per - bundle head pointers and per - buffer next - buffer pointers are in section 11.4.7 . downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 71 of 198 the cpu must define the number of buffers for each bundle by initializing the linked lis t for the bundle. software prepares these buffers by writing the ethernet, ip/mpls/l2tpv3/mef headers in advance, so that the payload - type machines need only to write the packet payload. since the headers contain bundle - specific data (e.g., destination address), the same buffers are used for the same bundle until the bundle is closed by cpu software. when closing a bundle, the cpu should check that all buffers have been returned, by following the linked list from the head to the last buffer. the buffers of a closed bundle may be used for a different new bundle. the linked list operation is depicted below. figure 10 - 50 . free buffer pool operation 0 1 511 buffers area .. . sdram base buffer id displacement payload type machine buffer id 0 63 1 9 .. . . . . 2 heads 511 .. . 0 1 2 3 4 5 6 7 8 9 10 6 9 9 linked list free buffer pool tdmopacket buffer address 4 bits 9 bits 11 bits validity bit buffer id downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 72 of 198 10.6.11.8 tdm to ethernet flow each payload - type machine receives the data of specific bundle timeslots and maps it into packets. to store a new packet in preparation, the machine extracts a pointer from the free buffer pool ( section 10.6.11.7 ) and fills the associated buffer with tdm timeslot data, one by one. when a packet is completed in a buffer, the payload - type machine places the buffer pointer in the ethernet tx queue. the tx ethernet interface polls the queue, extracts the pointer, and transfers the packets from the buffer to the ethernet mac block, to be sent over the ethernet network. then, it returns the pointer to the free buffer pool. the buffer can then be used again by the payload - type machine to store subsequent tdm data for the bundle. figure 10 - 51 . tdm - to - ethernet flow tx aal1 tx hdlc sdram data free buffer pool eth tx queue tx eth interface eth mac tdmop block tx raw pointers downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 73 of 198 10.6.11.9 ethernet to tdm flow a packet arriving from the ethernet port passes through the ethernet mac block. the mac block does not store the packet, but it does calculate the crc to verify packet data integrity. if the packet is bad, the mac si gnals this to the packet classifier on the last word of the packet, and the packet classifier discards it. the packet classifier examines the packet header and decides to either discard the packet or transfer it into the chip based on the settings of the packet classifier configuration registers (see table 11 -4 ). the packet classifier tags the buffer descriptor for one of the following destinations: et h- to - cpu queue or payload - type machines. the packet classifier stores the packet payload preceded by the buffer descriptor in the rx fifo and notifies the rx arbiter. the rx arbiter then passes it to one of the payload - type machines. the payload - type machi ne extracts the tdm data and inserts it into the jitter buffer in the sdram. from there, the data is transmitted serial ly out the tdm port. figure 10 - 52 . ethernet - to - tdm flow rx raw rx hdlc rx fifo rx aal1 sdram packet classifier rx arbiter eth to cpu queue eth mac tdmop block downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 74 of 198 10.6.11.10 td m to tdm (cross - connect) flow each payload - type machine receives the data of bundle - specific tdm timeslots and maps the data into ethernet packets. to store a packet, the payload - type machine needs an sdram buffer which it gets by extracting a buffer point er from the free buffer pool. it then fills the buffer as it processes the tdm timeslots. when a packet is completed in a buffer, the machine places the buffer pointer in the cross - connect queue. the rx arbiter polls the cross- connect queue, extracts the pointer, transfers the buffer data to the appropriate payload - type machine, and then returns the pointer to the free buffer pool. the payload - type machine then extracts the tdm data and inserts it into the jitter buffer in the sdram. from there, the data is transmitted serially out the tdm port. figure 10 - 53 . tdm - to - tdm flow aal1 hdlc sdram data free buffer pool tdmop block raw rx arbiter cross - connect queue downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 75 of 198 10.6.11.11 tdm to cpu flow the payload - type machines identify the destination of their packets according to the per -b undle configuration. upon getting the first byte of a packet in a bundle destined to the cpu, the machine needs a buffer to store the packet. it therefore checks whether a buffer is available in the tdm - to - cpu pool. if the pool is empty, the machine discar ds the current data. if a buffer is available, the machine stores the packet payload in the buffer and then adds the buffer pointer to the tdm - to - cpu queue. the cpu polls this queue to look for packets that need to be processed, gets the buffer pointer, and reads the packet from the sdram. after proc essing the packet, the cpu closes the loop by returning the pointer to the tdm - to - cpu pool. the tdm - to - cpu pool and queue can contain up to 128 pointers each. section 11.4.6 describes the pool and queue registers. figure 10 - 54 . tdm - to - cpu flow tx aal1 tx hdlc sdram data tdmop block tx raw downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 76 of 198 10.6.11.12 cpu to tdm flow the rx arbiter polls the cpu - to - tdm queue for new packets waiting in the sdram to be processed. if the queue level is greater than zero and there are no buffers pending in the rx fifo or the cross - connect queue, the rx arbiter extracts the pointer and copies the relevant data from the sdram buffer to the appropriate payload - type machine . the arbiter then checks whether the cpu rx return queue is not full to return the pointer. if the return queue is full, the arbiter keeps the pointer and does not poll the cpu - to - tdm queue until it succeeds in returning the pointer. after returning the pointer to the cpu rx return queue for reuse, the arbiter is ready to take another pointer from the cpu - to - tdm queue. the cpu - to - tdm queue and the cpu rx return queue can contain up to 32 pointers each. section 1 1.4.6 describes the pool and queue registers. figure 10 - 55 . cpu - to - tdm flow cpu to tdm queue cpu rx return queue sdram rx aal1 rx arbiter data loop closed by the cpu tdmop block rx hdlc rx raw downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 77 of 198 10.6.11.13 cpu to ethernet flow the tx ethernet interface polls the cpu - to - ethernet queue for new packets waiting in the sdram to be processed. if the queue level is greater than zero and no buffers from the payload - type machines are waiting in the ethernet tx queue, the tx ethernet interface extracts the pointer and copies the relevant data from the sdram buffer t o the ethernet mac block. it then checks whether the cpu tx return queue is not full to return the pointer. if the return queue is full, it keeps the pointer and does not poll the cpu - to - eth queue until it succeeds in returning the pointer. after returning the pointer to the cpu tx return queue for reuse, the tx ethernet interface is ready to take another pointer from the cpu - to - eth queue. the cpu - to - ethernet queue and the cpu tx return queue can contain up to 32 pointers each. section 11.4.6 describes the pool and queue registers. figure 10 - 56 . cpu - to - ethernet flow cpu to eth queue cpu tx return queue sdram eth mac loop closed by the cpu tx eth interface tdmop block downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 78 of 198 10.6.11.14 ethernet to cpu flow ethernet packets enter the chip via the ethernet mac block and the packet classifier int o the rx arbiter. when the rx arbiter identifies that a packet is destined to the cpu, it extracts a pointer fro m the ethernet - to - cpu pool (if the pool is empty, the rx arbiter discards the packet) and stores the packet data into the sdram in the buff er indicated by the pointer. then, it sends the pointer to the ethernet - to - cpu queue (processed by the cpu). if the queue is full, the rx arbiter keeps the pointer for itself for future use. the ethernet - to - cpu queue and pool contain up to 128 poin ters each. section 11.4.6 describes the pool and queue registers. figure 10 - 57 . ethernet - to - cpu flow 10.6.12 ethernet mac 10.6.12.1 introduction the ethernet mac can operate at 10 or 100 mbps. it supports mii, rmii (reduced pin - count mii), and ssmii (source- synchronous serial mii). the mac interface to the physical layer must be configured by the cpu. the unh - tested ethernet mac complies with ieee 80 2.3. its counters enable the software to generate network management statistics compatible with ieee 802.3 clause 5. the ethernet mac supports physical layer management through an mdio interface. the control registers drive t he mdio interface and select modes of operation, such as full or half duplex. h alf - duplex flow control is achieved by forcing collisions on incoming packets. full - duplex flow control supports recognition of incoming pause packets. in the receive path, the mac checks the incoming packets for valid preamble, fcs, alignment and length, and presents received packets to the packet classifier. although packets with physical errors are discarded by default, the mac can be configured to ignore errors and keep such packets. in the transmit path, the mac takes data from the tx ethernet interface, adds preamble and, if necessary, pad and fcs, then transmits data according to the csma/cd (carrier sense multiple access with collision detect) protocol. packet classifier sdram rx arbiter eth to cpu pool eth to cpu queue loop closed by cpu eth mac tdmop block downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 79 of 198 in half - duplex mode the start of transmission is deferred if mii_crs (carrier sense) is active. if mii_col (collision) becomes active during transmission, a jam sequence is asserted and the transmission is retried after a ran dom back off. mii_crs and mii_col have no effect in full - duplex mode. figure 10 - 58 . ethernet mac cpu configuration, statistics cpu interface tdmopacket ethernet mac tx mii rx mii tx ethernet interface packet classifier rx fifo downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 80 of 198 10.6.12.2 pause packet support ethe rnet transmission pause in response to a received pause packet is enabled when pause_enable =1 in the mac_network_configuration register. when a valid pause packet is received, the mac_pause_time register is updated with the packets pause time regardless of its current contents and regardless of the state of pause_enable bit. in addition, the pause_packet_ rxd interrupt in the mac_interrupt_status is triggered if it is enabled in the mac_interrupt_mask register. if pause_enable =1 and the value of the mac_pause_time register is non - zero, no new packet is transmi tted. a valid pause packet is defined as having a destination address that matches 0x0180c2000001, an ethertype of 0x8808, and the pause opcode of 0x0001 as shown in table 10 - 28 . table 10 - 28 . start of an 802.3 pause packet destination address source address ethertype (mac control frame) pause opcode pause time 0x0180c2000001 6 bytes 0x8808 0x0001 2 bytes pause packets that have fcs or other errors are treated as invalid and discarded. valid received pause packets increment the pause_packets_rxd_ok counter. the mac_pause_time reg ister decrements every 512 bit times after transmission has stopped. for tes t purposes, the register decrements every mii receive clock cycle instead if retry_test =1 in the mac_network_configuration register. if the pause_enable bit is not set, the decrementing happens regardless of whether transmission has stopped or not. the pause_time_zero interrupt in the mac_interrupt_status register is asserted whenever the mac_pause_time register decrements to zero (assuming it is enabled in the mac_interrupt_mask ). automatic transmission of pause packets is supported through the transmit pause packet bits of the mac_network_control register. if either transmit_pause_packet or transmit_zero_quantum_pause_ packet is set, a pause packet is transmitted only if full_duplex =1 in the mac_network_configuration register and transmit_enable =1 in the mac_network_control register. pause packet transmission takes place immediately if transmit is inactive or if transmit is active between the current packet and the next packet due to be transmitt ed. the transmitted pause packet comprises the items in the following list: ? destination address of 01 - 80 - c2 - 00 - 00 - 01 ? source address taken from the mac_specific_address registers ? ethertype of 0x8808 (mac control frame) ? pause opcode of 0x0001 ? pause quantum ? fill of 0x00 to take the frame to minimum frame length ? valid fcs. the pause quantum used in the generated packet depends on the trigger source for the packet as follows: ? if transmit_pause_packet =1 , the pause quantum comes from the mac_transmit_paulse_quantum register. the transmit pause quantum register resets to a value of 0xffff giving a maximum pause quantum as a default. ? if transmit_zero_quantum_pause_ packet =1, the pause quantum is zero. after transmission, no interrupts are generated and the only counter incremented is the transmitted_pause_packets . pause packet s can also be transmitted by the mac using normal packet transmission methods. it is possible to transmit a pause packet while the transmitter is paused by resetting the pause_enable bit. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 81 of 198 10.6.13 packet classifier the packet classifier is part of the receive path, immediately following the ethernet mac b lock. it analyzes the header of each incoming packet, by comparing the header fields to the chips configured parameters, and then decides whether to discard the packet or add a buffer descriptor and forward the packet to the cpu or one of the payload - type machines. section 11.4.1 has register descriptions for the packet classifier configuration registers. ip version: ? packets with ip version different than 4 or 6 are always discarded. ? the chip has three ipv4 addresses and two ipv6 addresses (all software configurable) ? the chip works in one of four modes defined by two bits in general_cfg_reg1 , as described in table 10 - 29 . table 10 - 29 . handling ipv4 and ipv6 packets ip_version dual_stack transmitted packets ip version received packets ip version 0 0 ipv4 receive only ipv4 packets (other ip versions are discarded) 1 0 ipv6 receive only ipv6 packets (other ip versions are discarded) 0 1 ipv4 receive both ipv4 and ipv6 packets (dual stack mode) 1 1 ipv6 receive both ipv4 and ipv6 packets (dual stack mode) although the chip has more than one ip address, in most cases all three ipv4 addresses should have the same value and both ipv6 addresses should have the same value. the chip also has two configurable mac addresses. packets with crc errors are discarded regardless to their contents, unless the ethernet mac has been c onfigured to ignore them (in which case they are treated as correct packets). ip packets with ip checksum erro r are discarded, unless the discard_ip_checksum_err configuration bit is cleared in general_cfg_reg0 . packets other than tdm - over - ip or tdm - over - mpls or tdm - ov er - mef packets destined to the chip are not transferred to the payload - type machines. instead, they are either discarded or transferred to the cpu according to the nine discard_switch configuration bits in packet_classifier_cfg_reg3 : discard_switch_0: an arp packet whose ipv4 destination address is not identical to any of the chips ipv4 addresses is discarded if discard_switch_0 is set. otherwise it is transfe rred to the cpu. discard_switch_1: an ip (both ipv4 or ipv6) packet whose ip destination address is not identical to any of the chips ip addresses is discarded if discard_switch_1 is set. otherwise it is transferred to the cpu. discard_switch_2: a packet whose ethertype is not known by the block is discarded if discard_switch_2 is set. otherwise it is transferred to the cpu. discard_switch_3: an arp packet whose ipv4 destination address is identical to one of the chips ipv4 addresses is discarded if discard_switch_3 is set. otherwise it is transferred to the cpu. discard_switch_4: an ip packet destined to the chip whose protocol is different than udp and l2tpv3 is discarded if discard_switch_4 is set. otherwise it is transferred to the cpu. discard_switch_5: an ip/udp packet destined to the chip whose udp destination/source port number is not identical to one of the chips tdm - over - packet port numbers (according to tdmoip_port_num_loc in packet_classifier_cfg_reg3 ) is discarded if discard_switch_5 is set. otherwise it is transferred to the cpu. discard_switch_6: a tdmop/mpls/mef packet destined to the chip whose bundle identifier is not identical to one of the chips oam bundle numbers or one of the bundle identifiers downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 82 of 198 assigned to the chips internal bundles, is discarded if discard_switch_6 is set. otherwise it is transferred to the cpu. discard_switch_7: a packet recognized as oam packet (see section 10.6.13.3 ) is discarded if discard_switch_7 is set. otherwise it is transferred to the cpu. discard_switch_8: a packet with ethertype equal to cpu_dest_ether_type confi guration is discarded when discard_switch_8 is set. otherwise it is transferred to the cpu. a packet is identified as a tdm - over - packet packet destined to the chip if it meets the following conditions: ? it is unicast with its destination address identical to the chips mac addresses, multicast or broadcast ? it has either no vlan tags, one vlan tag or two vlan tags (supports vlan stacking). see section 10.6.13.4 . ? its protocol is udp/ip or l2tpv3 ? its ip address is i dentical to one of the ip addresses of the chip ? its udp destination port number is identical to one of the chips tdm - over - packet port numbers (optional). see section 10.6.13.1 . ? its bundle identifier is identica l to one of the bundle identifiers assigned to the chips internal bundles or the packet is identified as an oam packet. see section 10.6.13.2 . a packet is identified as a tdmompls or tdmomef packet destined to the chip if it meets the fol lowing conditions: ? it is unicast with its destination address identical to the chips mac addresses, multicast or broadcast ? it has either no vlan tags, one vlan tag or two vlan tags (vlan stacking) ? its ethertype is mpls unicast, mpls multicast, or mef (see section 10.6.13.5 ) ? the bundle identifier located at the inner label is identical to one of the bundle identifiers assigned to the chips internal bundles or the packet is identified as an oam packet. the structure of packets identified as tdm - over - packet packets destined to a specific bundle of the chip or as oam packets destined to the chip is shown below. figure 10 - 59 . format of tdmo ip packet with vlan tag da mac_add/ broadcast/ multicast sa vlan tag up to 2 tags eth type ip ip header dst. ip = ip_add1/ ip_add2 udp or l2tpv3 header bundle no. = bundle_identifier/ oam_bundle_num control word optional payload type aal1/hdlc/ oam/raw crc - 32 figure 10 - 60 . format of tdmompls packet with vlan tag da mac_add/ broadcast/ multicast sa vlan tag up to 2 tags eth type mpls up to 2 mpls labels optional mpls label bundle no. = bundle_identifier/ oa m_bundle_num control word payload type aal1/hdlc/ oam/raw crc - 32 figure 10 - 61 . format of tdmomef packet with vlan tag da mac_add/ broadcast/ multicast sa vlan tag up to 2 tags eth type mef ecid = bundle_i dentifier control word payload type aal1/hdlc/ oam/raw crc - 32 packets that pass the classification process are temporarily stored in the rx fifo. this fi fo is used to buffer momentary bursts from the network if the internal hardware is busy. the rx arbiter transfers the packets from the rx fifo to the payload - types machines or to external sdram. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 83 of 198 10.6.13.1 tdmoip port number the tdmoip_port_num1 and tdmoip_port_num2 configurati on fields are used by the block to identify udp/ip tdmoip packets. although the chip has two of these fields, in most cases both fields should have the default value (0x085e) as assigned by iana for tdm - over - packet. the udp source both values are compared against the udp_src_port_num or the udp_dst_port_num of incoming packets as specified by the tdmoip_port_num_loc field in packet_classifier_cfg_reg3 (see table 10 - 30 ). table 10 - 30 . tdmoip port number comparison for tdmoip packet classification tdmoip_port_num_loc value comparison 00 tdmoip_port_num1/2 are ignored (no checking is performed) 01 tdmoip_port_num1/2 are compared to source udp port # of incoming packets 10 tdmoip_port_num1/2 are compared to destination udp port # of incoming packets 11 reserved 10.6.13.2 bundle identifier location and width the block determines the packet bundle identifier and its width after determining the packet type. table 10 - 31 . bundle identifier location and width packet type bundle identifier lo cation bundle identifier width mpls inner label 20 bits mef inner label 20 bits l2tpv3/ip session id 32 bits udp/ip source udp port number or destination udp port number, as specified by ip_udp_bn_loc in packet_classifier_cfg_reg3 1- 16 bits as specified by ip_udp_bn_mask_n in packet_classifier_cfg_reg6 . 10.6.13.3 oam packet identification the block identifies oam packets according to one of the following criteria: ? udp/ip - specific oam packets: match between the packets bundle identifier and one of the values (up to 8 different) configured in the oam_identification registers. ? vccv oam packets: match between the packets control word bits 31:16 and a 1 to 16 bit val ue specified by the combination of vccv_oam_mask_n and vccv_oam_value fields in packet_classifier_cfg_reg18 . such a match is taken into account only when oam_id_in_cw =1 in the bundle configuration tables . ? mef oam packets: match between packet ethertype and mef_oam_ether_type in register packet _classifier_cfg_reg9 . 10.6.13.4 vlan tag identification a vlan tag is identified according to one of the following criteria: ? tag protocol identifier = 0x8100 ? tag protocol identifier = vlan_2nd_tag_identifier in packet_classifier_cfg_reg7 (created to support 0x9100 as a tag identifier) downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 84 of 198 10.6.13.5 known ethertypes the block considers the following ethertypes as known ethertypes: ? ipv4 (0x800) ? ipv6 (0x86dd) ? mpls unicast (0x8 847) ? mpls multicast (0x8848) ? arp (0x806) ? mef ethertype as configured in mef_ether_type in packet_classifier_cfg_reg9 ? mef oam ethertype as configured in mef_oam_ether_type in packet_classifier_cfg_reg9 ? speci fic ethertype as configured in cpu_dest_ether_type in packet_classifier_cfg_reg7 10.6.13.6 received oam time - stamping for any received packet forwarded to the cpu (eth ? cpu path) the third dword of the buffer descriptor holds the timestamp as latched by the block as the packet was received. this timestamp can be used by the cpu for network delays measurements. the timestamp is 1 s or 100 s as specified by the oam_timestamp_resolution field in general_cfg_reg0 . 10.6.13.7 neighbor discovery (rfc 2461) where ipv4 has arp, ipv6 has ndp, the neighbor discovery protocol. for the purposes of this discussion, ndp and arp are very similar: one node sends out a request packet (called a neig hbor solicitation in ndp), and the node it was looking for sends back a reply ( neighbor advertisement ) giving its link - layer address. ndp is part of icmpv6, unlike arp, which doesn't run over ip. ndp also uses multicast rather than broadcast packet s. for ndp (icmpv6) packets to be forwarded to the cpu, discard_switch_4 must be cleared. 10.6.13.8 packet payload length sanity check the packet classifier performs a sanity check between the payload length of the received pack et and the aal1/satop/cesopsn bundles configuration. discarding packets that fail the sanity check can be disabled per bundle by setting rx_ discard_sanity_fail =1 in the bundle configuration tables . 10.6.14 packet trailer support there are ethernet switch chips that in some of their modes transmit packets with a trailer and expec t the incoming packets to have a trailer. a trailer is an addition of several bytes at the end of the packet that helps the switch to decide about the incoming packet destination and to tag out - going packets. when the device operates opposite such a switch, the trailer is supported in the following manner: ? transmitted packets: a 1 to 12 byte trailer is added to all transmitted packets. the tr ailer contents that are stored in the packet buffer (immediately after the buffer descriptor starting fr om offset 0x8) may be varied per packet. ? received packets: the trailer content is ignored. it is removed from packets destined to the payload - type machines and not transferred with packets destined to cpu. ? trailer size is set for all transmitted/received packets in the packet_trailer_length field in general_cfg_reg0 . the structure of packets with trailer is illustrated in figure 10 - 62 . downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 85 of 198 figure 10 - 62 . structure of packets with trailer header payload trailer (1-12 bytes) crc32 packets with total size of 64 bytes or more (including crc32) header payload trailer (1-12 bytes) crc32 padding 60 bytes packets with total size of less than 64 bytes (including crc32) the crc is calculated over all packet bytes including over the trailer bytes. the transmitted bytes c ounter and the received bytes counter (section 11.4.3.3 ) do not count the trailer bytes. 10.6.15 counters and status registers for information about counters and registers in the tdmop block, see section 11.4 . 10.6.16 connection level redundancy the tdmop block provides optional connection level redundancy for aal1, satop and cesopsn bundles . in the tdm - to - ethernet direction, on a bundle basis, each packet may be transmitted once with certain headers, or twice, each time with different headers. when transmitted twice, the packets have the same payload, same control word and same rtp header (if used) but may have different packet headers (including layer 2, 3 and 4 headers). for example, the chip can duplicate a bundles packets on transmission where the only difference between the duplicated packets is their bundle number or their vlan id. on the receive side, when two redundant streams use different bundle numbers, the chip can be configured to receive only the packets with the first bundle number or the packets with the second bundle number. to enable this feature, cpu software must initialize the transmit buffers of a bundle with both headers. the second header must be located at offset 0x782 from start of the buffer and its length (in bytes) is indicated by the buffer descriptor hdr2_lengt h field (not including the rtp header length neither the control word length). by changing the protection_mode configuration field of the bundle, the user can choose (per bundle) whether to transmit each of the packets once with the first or the second header, or twice, each time with a different header. on the receive side, only the packets with their bundle number configured in the rx_bundle_identi fier field of a specific bundle, are forwarded. the cpu may change this value dynamically, in order to switch to the redundant connection at any time. on the receive side, when both streams use the same bundle number, switching from one stream to another is almost seamless. no software intervention is needed as the payload - type machine discards the duplicated packets. during this process the end - to - end delay may change because of different route delays and 1 C 2 packet of packet loss may occur. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 86 of 198 the destination mac/ip (and/or vlan) of the duplicated packets can be different as the chip supports more than one mac/ip address in the packet classifier. 10.6.17 oam signaling tdmop bundles require a signaling mechanism to provide feedback regarding problems in the commun ications environment. in addition, such signaling can be used to collect statistics related to the performance of the underlying psn. the oam procedures detailed below are icmp - like. 10.6.17.1 connectivity check messages in most conventional ip applications, a server sends some finite amount of information over t he network after an explicit request from a client. with tdm - over - packet, the source sends a continuous stream of packets towards the destination, without knowing whether the destination device is ready to accept them, leading to flooding of t he psn. the problem may occur when a tdm - over - packet gateway fails or is disconnected from the psn, or the bundle is broken. after an aging time, the destination gateway disappears from the routing tables, and intermediat e routers may flood the network with the tdm - over - packet traffic in an attempt to find a new path. the solution to this problem is to significantly reduce the number of tdm - over - packet packets transmitted per second when bundle failure is detected, and to return to full rate only when the bundle is restored. the detection of failure and restoration is made possible by the periodic exchange of one - way connectivity check messages. connectivity is tested by periodically sending oam messages from the source gateway to the dest ination gateway, and having the destination reply to each message. the connectivity check mechanism can also be useful during setup and configuration. without oam signaling, one must ensure that the destination gateway is ready to receive packets before starting to send them. since tdm - over - packet gateways operate full duplex, both must be set up and properly configured simultaneously to avoid flooding. by using the connectivity mechanism, a configured gateway waits until it can detec t its destination before transmitting at full rate. in addition, errors in configuration can be readily discovered by using the s ervice - specific field. 10.6.17.2 performance measurements in addition to one - way connectivity, the oam signaling mechanism can be used to request and report on various psn metrics, such as one - way delay, round trip delay, packet delay variation, etc. it can also be used for remote diagnostics, and for unsolicited reporting of potential problems (e.g. dying gasp messages). 10.6.17.3 processing oam packets in the ethernet - to - cpu direction, the device identifies oam packets as described in section 10.6.13.3 . in the cpu - to - ethernet direction the chip timestamps packets when the stam p field of the buffer descriptor field is set. the timestamp location in the packet is specified by the ts_offset buffer descriptor field. when the cpu transmits an oam packet, the buffer descriptor must identify the packet as a non - tdmop/mpls packet (i.e. is not assigned to any bundle), as other packet types are not time - stamped in any case. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 87 of 198 10.7 global resources see the top - level block diagram in figure 6 -1 . global resources in the device include clad1, clad2 and the cpu interface block. these resources are configured in the global registers described in section 11.3 . these registers also handle device identification, top - level mode c onfiguration, i/o pin configuration, global resets, and top - level interrupts. 10.8 per - port resources see the top - level block diagram in figure 6 -1 . each port is independently configured in the port[n]_cfg_reg register. in addition to e1 and t1 modes, a port can also be configured as a serial data port that can connect to a serial interface transceiver for v.35 or rs - 530 support. this would usually be in a dce application of some kind. the port can be configured for this mode by setting port[n]_cfg_reg :int_type=00. the device also features one 10/100 ethernet port that can be configured to have an mii, rmii or ssmii interface. the ethernet port can work in half or full duplex mode and supports vlan tagging and priority labeling according to 802.1p 802.1q, including vlan stacking. section 11.4.16 describes the ethernet port. 10.9 device interrupts the h_int pin indicates interrupt requests. the only source for interrupts in the ds34s10x de vices is the tdmop block (which includes the mac). the tdmopim bit in gtimr must be set to 1 enable interrupts from the tdmop block. the intpend register indicates the source(s) of interrupt(s) from the tdmop block. if one of the intpend bits is set, it can be cleared only by writing 1 to it. at reset, all intpend interrupts are disabled due to the intmask register default values. writing 0 to an intmask bit enables the corresponding intpend interrupt. the tdmop interrupts indicated in the intpend register are of two types. the first type consists of interrupts generated by a single source. the second type consists of interrupts that can originate from any of sever al possible interrupt sources including the eth_mac, cw_bits_change, rx_cas_change, tx_cas_change, and jb_underrun interrupts. the jbc_underrun inte rrupts can be masked per timeslot by setting the appropriate bits in the jbc_underrun_mask registers. the tx_cas_change interrupts can be masked per timeslot by setting the appropriate bits in the tx_cas_change_mask registers. the cw_bits_change interrupts can be masked per bundle by setting the appropriate bits in the cw_bits_mask registers. in addition, the fields of the control word that cause an interrupt when changed (l, r, m, frg) c an be configured in the cw_bits_change_mask register. when a n interrupt is indicated on h_int , the cpu should read the intpend register to identify the interrupt source and then proceed as follows: interrupt type interrupt procedure single -s ource interrupts 1. clear the pending interrupt(s) by writing 1 to the corresponding intpend bit(s). 2. service the source of the interrupt . rx_cas_change 1. read the rx_cas_change bits in the intpend register to determine which port(s) are indicating rx cas change. 2. clear the set rx_cas_change bits in the intpend register by writing 1 to them. 3. read the corresponding r x_cas_change register(s) to determine which timeslot(s) have been changed. 4. c lear the set bits in the rx_cas_change register(s) by writing 1 to downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 88 of 198 interrupt type interrupt procedure them. 5. read the corresponding rx cas information from the rx line cas r egisters (section 11.4.10 ). tx_cas_change 1. read the tx_cas_change bits in the intpend register to determine which port(s) are indicating tx cas change. 2. clear the set tx_cas_change bits in the intpend register by writing 1 to them. 3. read the corresponding tx_cas_change register(s) to determine which timeslot(s) have been changed. 4. c lear the se t bits in the tx_cas_change register(s) by writing 1 to them. 5. read the appropriate tx cas information from neighboring framer ic(s). cw_bits_change 1. clear the cw_bits_change bit in the in tpend register by writing 1 to it. 2. read the cw_bits_change_low_bundles and cw_bits_change_high_bundles registers to determine which bundles(s) have control bits that have changed. 3. c lear the set bits in the cw_bits_change_low_bundles and cw_bits_change_high_bundles registers by writing 1 to them. 4. read the state of the control word fields from the packet classifier status register in the per - bundle status tables (section 11.4.4.1 ). jb_underrun_pn 1. read the jbc_underrun bits in the intpend register to determine which port(s) are indicating jitter buffer underrun. 2. clear the set jbc_underrun bits in the intpend register by writing 1 to them. 3. read the corresponding jbc_underrun register(s) to determine which buffers had u nderruns. 4. c lear the set bits in the jbc_underrun register(s) by writing 1 to them. 5. service the underrun(s) as needed. eth_mac 1. clear the eth_mac bit in the intpend register by wri ting 1 to it. 2. read the mac_interrupt_status register to determine the source(s) of interrupts in the mac (all bits are reset to 0 upon read). 3. service the source(s) of the interrupt(s) . if a bit in the intpend register is set and that interrupt is then masked, the device generates an interrupt immediately after the cpu clears the corresponding mask bit. to avoid this behavior, the cpu should clear the interrup t from the intpend register before clearing the mask bit. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 89 of 198 11. device registers 11.1 addressing device registers and memory can be accessed either 2 or 4 bytes at a time, as specified by confi guration pin dat_32_16_n . in the 16 - bit addressing mode, addresses are multiples of 2, while in 32 - bit addressing, addresses are multiples of 4. the prefix 0x indicates hexadecimal (base 16) numbering, as does the suffix h (example: 2ffh). address es are always indicated in hexadecimal format. the byte order for both addressing modes is big - endian meaning the most significant byte has the lowest address. see byte order numbers in grey in figure 11 -1 and figure 11 -2 . figure 11 -1 . 16 - bit addressing 15 8 7 0 4 2 3 0 2 4 6 add 0 1 2 3 4 5 6 7 h_wr_be1_n h_wr_be0_n figure 11 -2 . 32 - bit addressing 31 24 23 16 0 4 8 c add 15 8 7 0 0 4 1 5 2 6 3 7 h_wr_be3_n h_wr_be2_n h_wr_be1_n h_wr_be0_n partial data elements (shorter than 16 or 32 bits) are always positioned from lsb to msb with t he rest of the bits left unused. thus, the bit numbers of data elements shorter than 16 bits are identical for both addressing modes (see bits [12:0] in figure 11 -3 ) and the cpu can access all bits by a single read/write. figure 11 -3 . partial data elements (shorter than 16 bits) 31 24 23 16 15 8 7 0 0 add 15 8 7 0 add 0 2 0 31 16 15 8 7 23 24 data elements 17 to 32 bits long need one read/write access in 32 - bit addressing and two in 16 - bit addressing. in figure 11 -4 , the 20 - bit data element needs one 32 - bit cpu access (bits [19:0]) and two 16 - bit accesses (bits [15:0] and then [3:0]). downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 90 of 198 figure 11 -4 . partial data elements (16 to 32 bits long) 31 24 23 16 15 8 7 0 0 add 15 8 7 0 add 0 2 31 16 15 8 7 23 24 0 spi interface mode ( h_cpu_spi_n =0) always uses 32 - bit addressing. see section 10.3 . 11.2 top - level memory map table 11 -1 . top - level memory map address range contents page 0 C 7f,fff tdm - over - packet registers 93 80,000 C 107,fff reserved --- 108,000 C 108,fff global registers 91 109,000 C fff,fff reserved --- 1,000,000 C 1,fff,fff external sdram --- downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 91 of 198 11.3 global registers functions contained in the global registers include device id, clad configuration and top - level interrupt masking. the global register base address is 0x 108,000 . table 11 -2 . global registers addr offset regi ster name r/w description page 0x00 gcr1 r/w global control register 1 91 08 gtrr r/w global transceiver reset register 91 0c idr ro identification device register 92 10 gtisr ro global transceiver interrupt status register 92 14 gtimr r/w global transceiver interrupt mask register 92 gcr1 (global control register) 0x00 bits data element name r/w default description [31:15] not used - 0 must be set to zero. [14] sysclks r/w 0 tdmop system clock frequency select when a 25mhz clock is applied to the clk_sys pin (i.e. when the clk_sys_s pin is high), this bit configures the clad2 block to provide either a 50mhz clock or a 75mhz clock to the tdmop block. when clk_sys_s =0 this bit is a dont care. see section 10.4 . 0 = 50mhz 1 = 75mhz [13:12] freqsel r/w 00 frequency select specifies the frequency of the signal applied to the clk_high pin. 00 = 38.88mhz (clad bypass; 38.88mhz in and out). 01 = 19.44mhz 10 = 10.000mhz 11 = 77.76mhz [11:9] not used - 0 must be set to zero. [8] clk_highd r/w 0 clk_high disable disables the 38.88mh z master clock to the clock recovery machines of the tdmop block to save power. this bit should be set only when not using any of the tdmn_aclk signals. see section 10.4 . 0 = enabled 1 = disabled [7:0] not used - 0 must be set to zero. gtrr (global transceiver reset register) 0x08 bits data element name r/w default description [31:19] not used - 0 must be set to zero. [18] toprst r/w 0 tdmop core software reset wh en set, this bit resets all of the tdmop configuration regist ers to their default value. 0 = normal operation 1 = reset the tdmop core [17:0] not used - 0 must be set to zero. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 92 of 198 idr (identification device register) 0x0c bits data element name r/w defaul t description [31:16] id[31:16] ro 0 these bits are always zero. [15:4] id[15:4] ro see jtag id. device id these bits have the same information as the lower 12 bits of the device id portion of the jtag id register. see table 12 -2 . [3:0] id[3:0] ro see jtag id. device revision these bits have the same information as the four rev bits of the jtag id register. see table 12 -2 . gtisr (global transceiver interrupt status register) 0x10 bits data element name r/w default description [31:25] not used. - 0 must be set to zero. [24] tdmopis ro 0 tdm - over - packet interrupt status this status bit indicates when the tdm - over - packet block is signaling an interrupt request. interrupt mask is gtimr .tdmo pim. 0 = tdm - over - packet has not issued an interrupt. 1 = tdm - over - packet has issued an interrupt. [23:0] not used - 0 must be set to zero. gtimr (global transceiver interrupt mask register) 0x14 bits data element name r/w default description [31:25] not used. - 0 must be set to zero. [24] tdmopim r/w 0 tdm - over - packet interrupt mask this bit is the interrupt mask for gtisr .tdmopis. 0 = interrupt masked. 1 = int errupt enabled. [23:0] not used - 0 must be set to zero. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 93 of 198 11.4 tdm - over - packet registers the base address for the tdmop registers is 0x 0 . table 11 -3 . tdmop memory map address offset contents page 0x0,000 configuration and status registers 94 8,000 bundle configuration tables 108 10,000 counters 117 12,000 status tables 120 18,000 timeslot assignment tables 120 20,000 cpu queues 122 28,000 transmit buffers pool 124 30,000 jitter buffer control 130 38,000 transmit software cas 134 40,000 receive line cas 136 48,000 clock recovery 137 50,000 receive sw conditioning octet select 138 58,000 receive sw cas 139 68,000 interrupt control ler 140 70,000 packet classifier 147 72,000 ethernet mac 148 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 94 of 198 11.4.1 configuration and status registers the base address for the tdmop configuration and status registers is 0x0,000 . table 11 -4 . tdmop confi guration registers addr offset register name description page 0x00 general_cfg_reg0 general configuration register0 95 04 general_cfg_reg1 general configuration register1 96 08 general_cfg_reg2 general configur ation register2 97 0c port1_cfg_reg port 1 configuration register 97 10 p ort2_cfg_reg port 2 configuration register 97 14 port3_cfg_reg port 3 configuration register 97 18 port4_cfg_reg port 4 con figuration register 97 1c port5_cfg_reg port 5 configuration register 97 20 port6_cfg_reg port 6 configuration register 97 24 port7_cfg_reg port 7 configuration register 97 28 port8_cfg_reg port 8 configuration register 97 2c rst_reg reset register 100 30 tdm_cond_data_reg tdm aal1/satop conditioning data register 101 34 eth_cond_data_reg ethernet aal1/satop conditioning data register 101 38 packet_classifier_cfg_reg0 packet classifier configuration register0 101 3c packet_classifier_cfg_reg1 packet classifier configuration register1 101 40 packet_classifier_cfg_reg2 packet classifier configuration register2 101 44 packet_classifier_cfg_reg3 packet classifier configuration register3 102 48 packet_classifier_cfg_reg4 packet classifier configuration register4 103 4c packet_cl assifier_cfg_reg5 packet classifier configuration register5 103 50 packet_classifier_cfg_reg6 packet classifier configuration register6 103 54 packet_classifier_cfg_reg7 packet classifier configuration register7 103 58 packet_classifier_cfg_reg8 packet classifier configuration register8 104 5c packet_classifier_cfg_reg9 packet classifier configuration register9 104 60 packet_classifier_cfg_reg10 packet classifier configuration register10 104 64 packet_classifier_cfg_reg11 packet classifier configuration register11 104 68 packet_classifier_cfg_reg12 packet classifier configuration register12 104 6c packet_classifier_cfg_reg13 packet classifier configuration register13 105 70 packet_classifier_cfg_reg14 packet classifier configuration register14 105 74 packet_classifier_cfg_reg15 packet classifier configuration register15 105 78 packet_class ifier_cfg_reg16 packet classifier configuration register16 105 7c packet_classifier_cfg_reg17 packet classifier configuration register17 105 80 packet_classifier_cfg_reg18 packet classifier configuration register18 105 d4 cpu_rx_arb_max_fifo_level_reg rx arbiter maximum fifo level register 106 table 11 -5 . tdmop status registers addr offset register name description page 0xe0 general_stat_reg general latched status register 107 e4 version_reg tdmop version register 107 e8 port1_sticky_reg1 port 1 latched status register 107 ec port1_sticky_reg 2 port 2 latched status register 107 f0 port1_sticky_reg 3 port 3 latched status register 107 f4 port1_sticky_reg 4 port 4 latched status register 107 f8 port1_sticky_reg 5 port 5 latched status regi ster 107 fc port1_sticky_reg 6 port 6 latched status register 107 100 port1_sticky_reg 7 port 7 latched status register 107 104 port1_sticky_reg 8 port 8 latched status register 107 108 port1_status_reg1 port 1 status bit register 1 108 10c port1_status_reg2 port 1 status bit register 2 108 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 95 of 198 addr offset register name description page 110 port2_status_reg1 port 2 status bit register 1 108 114 port2_status_reg2 port 2 status bit register 2 108 118 port3_status_reg1 port 3 status bit register 1 108 11c port3_status_reg2 port 3 status bit register 2 108 120 port4_status_reg1 port 4 status bit register 1 108 124 port4_status_reg2 port 4 status bit register 2 108 128 port5_status_reg1 port 5 status bit register 1 108 12c port6_status_reg2 port 5 status bit register 2 108 130 port6_status_reg1 port 6 status bit register 1 108 134 port6_status_reg2 port 7 status bit register 2 108 138 port7_status_reg1 port 7 status bit register 1 108 13c port7_status_reg2 port 7 status bit register 2 108 140 port8_status_reg1 port 8 status bit register 1 108 144 port8_status_reg2 port 8 status bit register 2 108 11.4.1.1 tdmop configuration registers general_cfg_reg0 0x00 bits data element name r/w reset value description [31] discard_ip _checksum_err r/w 0x0 indicates to discard packets received with a wrong ip checksum. see section 10.6.13 . [30:27] packet_trailer_length r/w 0x0 the length of the trailer attached to all received and transmitte d packets. allowed values: 0 C 12 (decimal). when set to zero no trailer is attached. see section 10.6.14 . [26] clock_recovery_en r/w 0x0 0 = clock recovery block is disabled (power saving mode) 1 = normal operat ion should be cleared to reduce the chip power consumption when adaptive clock recovery is not used. when cleared, the clock recovery registers (offset 0x 48,000 ) must not be accessed by the cpu becaus e the clock recovery block does not assert h_ready_n . see section 10.4 . [25:16] rx_fifo_priority_lvl r/w 0x100 rx fifo threshold level in dwords. if the rx fifo level i s higher than this threshold, then the rx_fifo receives the higher priority instead of the cross - connect queue. this parameter is relevant only when there are bundles configured as cross - connect. the recommended value is 0x3ff (maximal value). see section 10.6.11.5 . [15:14] mii_mode_select r/w 0x0 00 = mii 01 = rmii 10 = reserved 11 = source sync smii (ssmii) [13:12] reserved r/w 0x0 must be set to zero [11] high_speed r/w 0x0 0 = all ports active in e1/t1/j1 mode 1 = port1 enabled in high - speed e3/t3/sts - 1 mode, all other ports disabled [10] oam_timestamp_resolution r/w 0x1 0 = oam timestamp is incremented every 1 s 1 = oam timestamp is incremented every 100 s see section 10.6.13.6 . [9:8] reserved r/w 0x0 must be set to zero [7] mem_size r/w 0x0 sdram size: 0 = 64 mb 1 = 128 mb downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 96 of 198 general_cfg_reg0 0x00 bits data element name r/w reset value description [6:5] fq r/w 0x0 sdram clock: 00 = 50 mhz 01 = 75 mhz 10 = reserved 11 = reserved for 100 mhz [4:3] col_width r/w 0x0 sdram columns and rows 00 = 8 bit (256 columns) 01 = 9 bit (512 columns) 10 = 10 bit (1k columns) 11 = 11 bit (2k columns) [2:1] cas_latency r/w 0x2 sdram cas latency: 00 = {reserve value} 01 = 1 10 = 2 11 = 3 [0] rst_sdram_n r/w 0x0 resets sdram controller. active low. after all configuration bits of the sdram controller have been written, the sdram controller must be reset by taking this bit low then high. general_cfg_reg1 0x04 bits data element name r/w reset value description [31] rtp_timestamp_generation_ mode r/w 0x0 indicates the rtp timestamp generation mode: 0 = absolute mode 1 = differential (common clock) mode see the description of the ts field in table 10 - 16 for more details. [30:24] sw_packet_offset r/w 0x04 th e offset from the first byte of the packet to the start of the cpu buffer. for the ethernet - to - cpu packets, 8 bytes are added automatically to each configured value. for example, if you intend to set the offset to 20 bytes, configure this value to 12 bytes . allowed values are in the range of 4 C 127 (decimal) bytes. [23:19] tx_payload_offset r/w 0x00 number of 32 - bit words between the start of transmit buffer to the control word or to start of the tdm payload if the control word does not exist [18] reserved r/w 0x0 must be set to zero [17:10] jbc_sig_base_add r/w 0x060 base address (8 msbits) of rx jitter buffer signaling section in sdram [9:6] tx_buf_base_add r/w 0x2 base address (4 msbits) of transmit buffers in sdram [5] ip_version r/w 0x0 the ip version of transmitted tdmop packets. see section 10.6.13 . 0 = ipv4 1 = ipv6 [4] dual_stack r/w 0x0 the ip version of received tdmop packets . see section 10.6.13 . 0 = ip v4/ipv6, according to ip_version field above 1 = both ipv4 and ipv6 packets [3] frames_count_check_en r/w 0x1 specifies whether to check received packets that are cesopsn structured with cas bundles and discard those that contain the wrong number of tdm f rames 0 = do not check 1 = check [2] reserved r/w 0x0 must be set to zero [1:0] jbc_data_base_add r/w 0x0 base address (2 msbits) of rx jitter buffer data section in sdram downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 97 of 198 general_cfg_reg2 0x08 bits data element name r/w reset value description [31:29] rx_hdlc_min_flags r/w 0x0 minimum number flags between 2 adjacent hdlc frames transmitted on the tdm pins. the number of flags is equal to rx_hdlc_min_flags + 1. range: 1 C 8. [28:24] reserved r/w 0x0 must be set to zero [23:20] rx_satop/cesopsn_disc ard_ mask r/w 0x0 each bit of this field determines whether a specific type of discarded packet is to be counted by the sato p/cesopsn _ discarded_packets counter. 0 = dont count 1 = count bit 23: count packets that were discarded because of jump operation that caused overflow in jitter buffer. bit 22: count packets that were discarded due to incorrect sequence number. bit 21: count packets that were discarded due to over - run state in jitter buffer. bit 20: count packets that were discarded because they wer e considered duplicated, or because they were received too late to be inserted into the jitter buffer. [19:0] reserved r/w 0x0 must be set to zero in the port[n]_cfg_reg description below, the index n indicate s port number: 1 - 8 for ds34s108, 1 - 4 for ds34s104, 1- 2 for ds34s102, 1 only for ds34s101. port[n]_cfg_reg 0x08+n*4 bits data element name r/w reset value description [31:30] reserved r/w 0x0 must be set to zero. [29:24] unframed_int_rate r/w 0x0 the bit rate of an unframed interface type (used only for absolute mode rtp timestamping) . 1 = 64 kbps 2 = 128 kbps . . . 32 = 2.048 mbps 33 = 1.544 mbps 34 = 34 mbps (e3 rate) 45 = 45 mbps (t3 rate) 52 = 51.84 mbps (sts -1 rate) note : e3, t3 and sts - 1 configurations are available for port 1 only in high - speed mode, i.e. when general_cfg_reg0 .high_speed=1. [23] pcm_rate r/w 0x0 ind icates the pcm frequency, i.e. the tdm rate in and out of the tdmop port. only applies when int_frame_type (bits 3:2 below) is set for frame, multiframe or esf and int_type (bits 1:0 below) is set for e1 or t1. 0 = 1.544 mhz 1 = 2.048 mhz this bit is for enabling t1 data over an e1 - rate port. the combination of int_type=e1 and pcm_rate=1.544 mhz is not allowed. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 98 of 198 port[n]_cfg_reg 0x08+n*4 bits data element name r/w reset value description [22:21] tx_defect_modifier r/w 0x0 used in the control word m field for packets in all bundles associated with tdmop port n. [20] port_rx_enable (rx means from ethernet mii) r/w 0x0 0 = outgoing tdm traffic from port n of the tdmop block is discarded (tdmn_tx and tdmn_tsig are held high) 1 = outgoing tdm traffic from port n of the tdmop block is enabled. note : (port 1 only) this bit also applies in high - speed mode, i.e. when general_cfg_reg0 .high_speed=1. [19] cts r/w 0x1 when the int_type field (below) specifies a serial interface, the value of the tdmn_tsig_cts pin -- which behaves as cts (clear to send) comes from this field. [18] cd_en r/w 0x0 when the int_type field (below) specifies a serial interface, this field is the output enable control for the cd (c arrier detect) function of the tdmn_tx_mf_cd pin. when this pin is active, the output state of the tdmn_tx_mf_cd pin comes from the cd field (below). [17] cd r/w 0x1 when the int_type field (below) specifies a serial interface, the value of the tdmn_tx_mf_cd pin which behaves as cd (carrier detect) comes from this field when the cd_en bit (above) is high. [16] loss r /w 0x0 loss of sync on tdm port n. causes the l bit in the control word to be set for packets in all bundles associated with tdmop port n. [15:11] adapt_jbc_indx r/w 0x00 index of the jitter buffer used by the clock recovery block to generate the clock for tdmop port n. [10:9] sf_to_esf_low_cas_bits r/w 0x0 in the case where a sf (superframe) formatted t1 is connected by a structured - with - cas bundle to an esf interface, this field is the source of the c and d cas bits for the esf interface (in the etherne t- to - tdm direction). see section 10.6.5 . [8] tsa_act_blk r/w 0x0 0 = tsa bank1 is the active bank for port n. 1 = tsa bank2 is the active bank for port n. swapping banks takes effect at the next sync input assertion [7] port_tx_enable (tx mean toward ethernet mii) r/w 0x0 0 = incoming tdm traffic to port n of the tdmop block is discarded 1 = incoming tdm traffic to port n of the tdmop block is enabled note : (port 1 only) this bit also applies in high - spe ed mode, i.e. when general_cfg_reg0 .high_speed=1. [6] rx_sample r/w 0x1 in one - clock mode (two_clocks field below is 0) this field is ignored. in two - clock mode (two_clocks=1) this field specifies the tdmn_rclk edge on which tdmn_rx , tdmn_rx_sync and tdmn_rsig_rts are sampled. 0 = falling edge 1 = rising edg e see the timing diagrams in figure 14 - 10 through figure 14 - 13 . [5] tx_sample r/w 0x0 in o ne - clock mode (t wo - clocks field below is 0) this field specifies the tdmn_tclk edge on which tdmn_tx_sync , tdmn_tx_mf_cd , tdmn_rx , tdmn_rx_sync and tdmn_rsig_rts are sampled and the edge on which tdmn_tx and tdmn_tsig_cts are updated. 0 = inputs samp led on the falling edge, outputs updated on the rising edge 1 = inputs sampled on the rising edge, outputs updated on the falling edge downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 99 of 198 port[n]_cfg_reg 0x08+n*4 bits data element name r/w reset value description in two - clock mode (two - clocks=1) this field sp ecifies the tdmn_tclk edge on which tdmn_tx_sync , tdmn_tx_mf_cd are sampled and the edge on which tdmn_tx and tdmn_tsig_cts are updated. the rx_sample field (above) specifies the tdmn_rclk edge for the rx - side signals. 0 = inputs samp led on the falling edge, outputs updated on the rising edge 1 = inputs sampled on the rising edge, outputs updated on the falling edge see the timing diagrams in figure 14 -8 through figure 14- 13 . [4] two_clocks r/w 0x1 one - clock or two - clock mode. 0 = one - clock mode: tdmn_tclk is used for both rx and transmit interfaces 1 = two - clock mode: tdmn_rclk is used for the rx interface and tdmn_tclk is used for the transmit interface. note : (port 1 only) this bit must be set in high - speed mode (i.e. when general_cfg_reg0 .high_speed=1) . [3:2] int_framed_type r/w 0x0 interface framing type 00 = unframed (no frame sync, no multiframe sync) 01 = frame (frame sync only, no multiframe sync) 10 = multiframe (e1), sf (t1) (sync and mf sync) 11 = esf(t1) (frame sync and multiframe sync) changing value from 10 or 11 to 00 or 01 must be performed only after asserting the rst_sys_n pin. [1:0] int_type r/w 0x1 interface type 00 = serial 01= e1 10 = t1 11 = reserved downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 100 of 198 rst_reg 0x2c bits data element name r/w reset value description [31:28] reserved - 0x0 must be set to zero [27:24] rst_tx_port_num r/w 0x0 port number associated with rst_tx field (below). 0000 = p ort 1 0001 = port 2 0010 = port 3 0011 = port 4 0100 = port 5 0101 = port 6 0110 = port 7 0111 = port 8 [23:18] rst_tx_internal_bundle_num r/w 0x00 bundle number associated with rst_tx field (below) [17] rst_tx_open/close r/w 0x0 valid when rst_tx is set 0 = when rst_tx is done during bundle close procedure 1 = when rst_tx is done during bundle open procedure this bit is also used in high - speed mode. [16] rst_tx r/w 0x0 if set, the relevant transmit payload type machine resets its variables (should be given with bundle number and a proper value of the rst_tx_open/close bit). the cpu should poll this bit until it is 0 meaning, reset acknowledged. this bit is also used in h igh - speed mode. [15:7] reserved r/w 0x0 must be set to zero [6:1] rst_rx_internal_bundle_num r/w 0x00 bundle number associated with rst_rx [0] rst_rx r/ set 0x0 1 = packet classifier generates a reset frame ( rst_rx_internal_bundle_num is valid ). the cpu should poll this bit until it finds 0; this means reset acknowledged. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 101 of 198 the tdm_cond_data_reg register below holds four octets to be transmitted as conditioning data in the tdm direction during jitter buffer underrun. this data applies to all bundle types. tdm_cond_data_reg 0x30 bits data element name r/w reset value description [31:24] tdm_cond_octet_a r/w 0x00 tdm conditioning octet a must be set to 0x7e for hdlc bundles also used in high - speed mode [23:16] tdm_cond_octet_b r/w 0x00 tdm conditioning octet b must be set to 0x7e for hdlc bundles [15:8] tdm_cond_octet_c r/w 0x00 tdm conditioning octet c must be set to 0x7e for hdlc bundles [7: 0] tdm_cond_octet_d r/w 0x00 tdm conditioning octet d must be set to 0x7e for hdlc bundles the eth_cond_data_reg register below holds four octets to be transmitted as conditioning data towards the packet netw ork (i.e. toward the ethernet mac) when no valid data is available from the tdm port. this applies only t o aal1 or satop/cesopsn bundles. tx_cond_octet_type in the bundle configuration tables specifies which of these octets is used on a per - bundle basis. eth_cond_data_reg 0x34 bits data element name r/w reset value description [31:24] eth_cond_octet_d r/w 0x00 ethernet conditioning octet d [23:16] eth_c ond_octet_c r/w 0x00 ethernet conditioning octet c [15:8] eth_cond_octet_b r/w 0x00 ethernet conditioning octet b [7:0] eth_cond_octet_a r/w 0x00 ethernet conditioning octet a packet_classifier_cfg_reg0 0x38 bits data element name r/w reset value des cription [31:0] ipv4_add1 r/w 0x0 this field holds the first of three ipv4 addresses for the device. the other addresses are held in register packet_classifier_cfg_reg1 and packet_classifier_cfg_reg8 . relevant only for packets received from the ethernet port. packet_classifier_cfg_reg1 0x3c bits data element name r/w reset value description [31:0] ipv4_add2 r/w 0x0 this field holds the second of three ipv4 addresses for the device. the other addresses are held in register packet_classifier_cfg_reg0 and packet_classifier_cfg_reg8 . rele vant only for packets received from the ethernet port. packet_classifier_cfg_reg2 0x40 bits data element name r/w reset value description [31:0] mac_add1 r/w 0x0 this field holds bits 31:0 of the first of two mac addresses for the device. the upper bi ts of this mac address are in packet_classifier_cfg_reg3 . the other mac address is in packet_classifier_cfg_reg5 and downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 102 of 198 packet_classifier_cfg_reg2 0x40 bits data element name r/w reset value description packet_classifier_cfg_reg6 . relevant only for packets received from ethernet port. packet_classifier_cfg_reg3 0x44 bits data element name r/w reset value description [31:29] reserved - 0x0 must be set to zero [28] discard_packet_length_ mismatch r/w 0x0 must be set to zero [27] ip_udp_bn_loc r/w 0x0 0 = bundle identifier is located in the source udp port number field in ip/udp packets 1 = bundle identifier located in the destination udp port number field in ip/udp packets see section 10.6.13.2 . [26:25] tdmoip_port_num_loc r/w 0x0 used for udp only: 00 = packet_classifier_cfg_reg4 . tdmoip_port_num1/2 is ignored (no checking i s performed) 01 = tdmoip_port_num1/2 should be compared to the source udp port number field in ip/udp packets 10 = tdmoip_port_num1/2 should be compared to the destination udp port number field in ip/udp packets 11 = reserved see section 10.6.13.1 . [24] discard_switch_8 r/w 0x0 packets with ethertype = cpu_dest_ether_type . see section 10.6.13 . 0 = forward to cpu 1 = di scard [23] discard_switch_7 r/w 0x0 tdmop oam packets. see section 10.6.13 . 0 = forward to cpu 1 = discard [22] discard_switch_6 r/w 0x0 tdmop packets whose rx_bundle_identifier doesnt match any of the chip s assigned bundle numbers or oam bundle numbers. see section 10.6.13 . 0 = forward to cpu 1 = discard [21] discard_switch_5 r/w 0x0 ip/udp packets whose udp destination/source port number is different from packet_classifier_cfg_reg4 . tdmoip_port_num1 or 2. see section 10.6.13 . 0 = forward to cpu 1 = discard see tdm oip_port_num_loc above. [20] discard_switch_4 r/w 0x0 ip packets whose ip protocol field is different from udp or l2tpv3. see section 10.6.13 . 0 = forward to cpu 1 = discard [19] discard_switch_3 r/w 0x0 arp packets whose ip destination address matches one of the chips ipv4 addresses. see section 10.6.13 . 0 = forward to cpu 1 = discard [18] discard_switch_2 r/w 0x0 packets with ethertype different from ip, mpls o r arp. see section 10.6.13 . 0 = forward to cpu 1 = discard [17] discard_switch_1 r/w 0x0 ip packets whose ip destination address does not match chips ip addresses. see section 10.6.13 . 0 = forward to cpu 1 = discard downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 103 of 198 packet_classifier_cfg_reg3 0x44 bits data element name r/w reset value description [16] discard_switch_0 r/w 0x0 arp packets whose ip destination address does not match chips addresses. see section 10.6.13 . 0 = forward to cpu 1 = discard [15:0] mac_add1 r/w 0x0000 this field holds bits 47:32 of the first of two mac addresses for the device. the lower bits of this mac address are in packet_classifier_cfg_reg2 . the other mac address is in packet_classifier_cfg_reg5 and packet_classifier_cfg_reg6 . relevant only for packet s received from ethernet port. packet_classifier_cfg_reg4 0x48 bits data element name r/w reset value description [31:16] tdmoip_port_num2 r/w 0x085e packets with udp destination port number equal to this field are recognized as tdmoip packets. see se ction 10.6.13.1 . [15:0] tdmoip_port_num1 r/w 0x085e packets with udp destination port number equal to this field are recognized as tdmoip packets. see section 10.6.13 .1 . packet_classifier_cfg_reg5 0x4c bits data element name r/w reset value description [31:0] mac_add2 r/w 0x0 this field holds bits 31:0 of the second of two mac addresses for the device. the upper bits of this mac address are in packet_classifier_cfg_reg6 . the other mac address is in packet_classifier_cfg_reg2 and packet_classifier_cfg_reg3 . relevant only for packets received from ethernet port. packet_classifier_cfg_reg6 0x50 bits data element name r/w reset value des cription [31:16] ip_udp_bn_mask_n r/w 0x0000 this mask indicates the width of the bundle identifier. for example, if the desired width is 8 bits, the following should be written to this field: 0000000011111111b. see section 10.6.13.2 . [15:0] mac_add2 r/w 0x0000 this field holds bits 47:32 of the second of two mac addresses for the device. the lower bits of this mac address are in packet_classifier_cfg_reg5 . the other mac address is in packet_classifier_cfg_reg2 and packet_classifier_cfg_reg3 . relevant only for packets received from ethernet port. packet_classifier_cfg_reg7 0x54 bits data element name r/w reset value descrip tion [31:16] cpu_dest_ether_type r/w 0x0800 ethertype which identifies packets destined for the cpu. such packets are sent to cpu or discarded as specified by packet_classifier_cfg_reg3 . discard_switch_[8:0]. this field must be set to a value greater than 0x5dc. see downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 104 of 198 packet_classifier_cfg_reg7 0x54 bits data element name r/w reset value descrip tion section 10.6.13.5 . [15:0] vlan_2nd_tag_identifier r/w 0x8100 second vlan tag protocol identifier (the first is 0x8100). see section 10.6.13.4 . packet_classifier_cfg_reg8 0x58 bits data element name r/w reset value description [31:0] ipv4_add3 r/w 0x 0 this field holds the third of three ipv4 addresses for the device. the other addresses are held in register packet_classifier_cfg_reg0 and packet_classifier_cfg_reg1 . relevant only for packets received from the ethernet port. if a third ipv4 address is not needed, this field must be configured to the same value as ipv4_ad d1. packet_classifier_cfg_reg9 0x5c bits data element name r/w reset value description [31:16] mef_ether_type r/w 0x88d8 ethertype for mef packets. must be set to a value greater than 0x5dc. see section 10.6 .13.5 . [15:0] mef_oam_ether_type r/w 0x0800 ethertype for mef oam packets. must be set to a value greater than 0x5dc. see section 10.6.13.3 . packet_classifier_cfg_reg10 0x60 bits data element name r/w reset value description [31:0] ipv6_add1[127:96] r/w 0x 0 this field holds bits 127:96 of the first of two ipv6 addresses for the device. the other address is held in registers starting with packet_classi fier_cfg_reg14 . relevant only for packets received from the ethernet port. packet_classifier_cfg_reg11 0x64 bits data element name r/w reset value description [31:0] ipv6_add1[95:64] r/w 0x 0 this field holds bits 95:64 of the first of two ipv6 addres ses for the device. the other address is held in registers starting with packet_classifier_cfg_reg14 . relevant only for packets received from the ethernet port. packet_classifier_cfg_reg12 0x68 bi ts data element name r/w reset value description [31:0] ipv6_add1[63:32] r/w 0x 0 this field holds bits 63:32 of the first of two ipv6 addresses for the device. the other address is held in registers starting with packet_classifier_cfg_reg14 . relevant only for packets received from the ethernet port. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 105 of 198 packet_classifier_cfg_reg13 0x6c bits data element name r/w reset value description [31:0] ipv6_add1[31:0] r/w 0x 0 this field holds bits 31:0 of the first of two ipv6 addresses for the device. the other address is held in registers starting with packet_classifier_cfg_reg14 . relevant only for packets received from the ethernet port. packet_classi fier_cfg_reg14 0x70 bits data element name r/w reset value description [31:0] ipv6_add2[127:96] r/w 0x 0 this field holds bits 127:96 of the second of two ipv6 addresses for the device. the other address is held in registers starting with packet_classifier_cfg_reg10 . relevant only for packets received from the ethernet port. if a second ipv6 address is not needed, this field must be config ured to the same value as ipv6_add1. packet_classifier_cfg_reg15 0x74 bits data element name r/w reset value description [31:0] ipv6_add2[95:64] r/w 0x 0 this field holds bits 95:64 of the second of two ipv6 addresses for the device. the other address is held in registers starting with packet_classifier_cfg_reg10 . relevant only for packets received from the ethernet port. if a second ipv6 address is not needed, this field must be configured to the same value as ipv6_add1. packet_classifier_cfg_reg16 0x78 bits data element name r/w reset value description [31:0] ipv6_add2[63:32] r/w 0x 0 this field holds bits 63:32 of the second of two ipv6 addresses for the device. the other address is held in registers starting with packet_classifier_cfg_reg10 . relevant only for packets received from the ethernet port. if a second ipv6 address is not needed, this field must be configured to the same value as ipv6_add1. packet_classifier_cfg_reg17 0x7c bits data element name r/w reset value description [31:0] ipv6_add2[31:0] r/w 0x 0 this field holds bits 31:0 of the second of two ipv6 addresses for the device. the other address is held in registers starting with packet_ classifier_cfg_reg10 . relevant only for packets received from the ethernet port. if a second ipv6 address is not needed, this field must be configured to the same value as ipv6_add1. packet_classifier_cfg_reg18 0x80 bits data element name r/w reset v alue description [31:16] vccv_oam_mask_n r/w 0x0000 indicates which of the 16 most significant bits of the control word should be compared to identify vccv oam packets. the values of the bits to be compared are stored downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 106 of 198 packet_classifier_cfg_reg18 0x80 bits data element name r/w reset v alue description in the vccv_oam_value field below. s ee section 10.6.13.3 . [15:0] vccv_oam_value r/w 0x0000 indicates the value of the 16 most significant bits of the control word for identifying vccv oam packets. the combination of this field and vccv_oam_mask_n above specifies how the device does vccv oam identification. for example, to identify vccv oam packets when the 4 most significant bits of the control word are equal to 0x1, then set this field to 0x1000 and set vccv_oam_mask_n to 0xf000. see section 10.6.13.3 . cpu_rx_arb_max_fifo_level_reg 0xd4 bits data element name r/w reset value description [31:25] tx_arb_max_fifo_level r/w 0x00 indicates the maximum level, which the tx_fifo has reached (given in dword s) since the last time this register was read (or since reset). the value of the field is automatically reset when this register is read by the cpu. [24:10] reserved - 0x0000 must be set to zero [9:0] rx_arb_max_fifo_level r/w 0x000 indicates the maximum level, which the rx_fifo has reached (given in dwords) since the last time this register was read (or since reset). the value of the field is automatically reset when this register is read by the cpu. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 107 of 198 11.4.1.2 tdmop status registers the general_stat_reg register has latched status registers that indicate hardware events. for each bit, the val ue 1 indicates that the event occurred. writing 1 to a bit clears it to 0. writing 0 to a bit does not change its value. general _stat_reg 0xe0 bits data element name r/w reset value description [31:10] reserved - 0x0 must be set to zero [9] mac_rx_fifo_overrun r/w 0x0 mac rx fifo overflowed [8] ipver_err_status r/w 0x0 indicates that a packet was discarded due to ip version er ror [7] rx_fifo_sof_err r/w 0x0 rx fifo was flushed due to bundle configuration error [6] tdm_cpu_buff_err r/w 0x0 frames received from tdm discarded due to lack of buffers at tdm to cpu pool [5] rx_fifo_full r/w 0x0 packet received from ethernet discar ded because rx fifo is full [4] mpls_err r/w 0x0 received mpls packet with more than three labels [3] oam_eth_to_cpu_q_full r/w 0x0 oam packet received from ethernet and destined to cpu discarded because eth to cpu queue is full. [2] oam_sw_buff_err r/w 0x0 oam packet received from ethernet and destined to cpu discarded due to lack of sw buffers [1] non_oam_eth_to_cpu_q_full r/w 0x0 non - oam packet received from ethernet and destined to cpu discarded because eth to cpu queue is full. [0] non_oam_sw_buff _err r/w 0x0 non - oam packet received from ethernet and destined to cpu discarded due to lack of sw buffers. version_reg 0xe4 bits data element name r/w reset value description [31:0] chip_version_reg r/o 0xabcd ef01 contains the chip version for the td mop block the port[n]_sticky_reg1 register has latched status bits that indicate port hardware events. for each bit, the value 1 indicates that the event occurred. writing 1 to a bit clears it to 0. writ ing 0 to a bit does not change its value. the index n indicates port number: 1 - 8 for ds34s108, 1 - 4 for ds34s104, 1 - 2 for ds34s102, 1 only for ds34s101. port[n]_sticky_reg1 0xe4+n*4 bits data element name r/w reset value description [31:8] reserved - 0x0 mus t be set to zero [7] dpll_ovrflow r/w 0x0 port clock recovery dpll overflowed [6] cdc_detected r/w 0x0 port clock recovery detected constant delay change in the network [5] smart_self_test_failed r/w 0x0 provided for debug purposes [4] smart_timeout_expired r/w 0x0 provided for debug purposes [3] sticky_filter_ovrflow r/w 0x0 port clock recovery loop filter overflowed [2] virtual_jitter_buffer_or_ur r/w 0x0 port clock recovery virtual jitter buffer reached overrun/ underrun state [1] reacquisition_al arm r/w 0x0 provided for debug purposes [0] adapt_freeze_state r/w 0x0 port clock recovery mechanism is in freeze state downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 108 of 198 the port[n]_stat_reg1 register has real - time (not latched) status fields. the index n in dicates port number: 1 - 8 for ds34s108, 1 - 4 for ds34s104, 1 - 2 for ds34s102, 1 only for ds34s101. port[n]_stat_reg1 0x100+n*8 bits data element name r/w reset value description [31:25] reserved - 0x0 must be set to zero [24] smart_disabled ro 0x0 not doc umented [23:5] dpll_level ro 0x0 not documented [4:2] adapt_current_state ro 0x0 port n clock recovery current state: 0 = idle 2 = acquisition 3 = tracking1 4 = tracking2 5 = recover from underrun/overrun [1] rts ro 0x0 when the port[n]_cfg_reg .int_type field specifies a serial interface, the value of the tdmn_rsig_rts pin -- which behaves as rts (request to send) can be read from this bit. [0] tsa_int_act_blk ro 0x0 indicates which bank is active: 0 = port n tsa bank1 is active 1 = port n tsa bank2 is active the port[n]_stat_reg2 register has real - time (not latched) status fields. the index n indicates port number: 1 - 8 fo r ds34s108, 1 - 4 for ds34s104, 1 - 2 for ds34s102, 1 only for ds34s101. port[n]_stat_reg2 0x104+n*8 bits data element name r/w reset value description [31:29] bw_tunn ro 0x0 not documented [28:4] curr_pdv_std ro 0x0 not documented [3:0] convergence_count er ro 0x0 not documented 11.4.2 bundle configuration tables the base address for the tdmop bundle configuration tables is 0x8,000 . bundle configurations are 160 bits long and therefore span five 32 - bit words. the least - significant 32 - bit word of a bundle configuration is located at address offset 0x000 + bundlenumber x 4. the most - significant 32 - bit word is located at address offset 0x400 + bundlenumber x 4. there are 64 bundles numbered 0 to 63. in the register descriptions in this section the index n indicates bundle number: 0 to 63. each bundle can be one of three different types: aal1 , hdlc or satop/cesopsn . subsections 11.4.2.1 through 11.4.2.3 describe the bundle configuration fields for each of the four types. some fields are common to two or more of the bundle types. the payload type is specified in the payload_type_machine field, bits 21:20 of xxxx_bundle[n]_cfg[63:32]. 11.4.2.1 aal1 bundle configuration in the register descriptions below, the index n indicates the bundle number: 0 to 63. aal1_bundle[n]_cfg[31:0] 0x000+n*4 bits data element name r/w reset value description [31:0] rx_bundle_identifier r/w none holds the rx bundle number downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 109 of 198 aal1_bundle[n]_cfg[63:32] 0x100+n*4 bits data element name r/w reset value description [3 1:22] rx_max_buff_size r/w none the size of the jitter buffer. see section 10.6.10 . also the maximum time interval for which data is stored. the resolution is determined by the interface type as follows: for fra med e1/t1: 0.5 ms. for unframed e1/t1 or serial bundles: 1024 bit periods for high - speed interface: 4096 bit periods. allowed values: for t1 - sf: rx_max_buff_size 0x2fc for t1 - esf: rx_max_buff_size 0x2f9 for e1 - mf: rx_max_buff_size 0x3fb for all interface types, the rx_max_buff_size must be greater than rx_pdvt + pct (packet creation time). note : for unframed, the rx_max_buff_size resolution is dif ferent than pdvt resolution. [21:20] payload_type_machine r/w none 00 = hdlc 01 = aal1 10 = reserved 11 = satop/cesopsn [19] tx_rtp (tx is toward ethernet mac) r/w none 0 = rtp header does not exist in transmitted packets 1 = rtp header exists in transm itted packets [18] control_word_exists r/w none 0 = control word does not exist 1 = control word exists (default, standard mode) [17:16] tx_dest r/w none destination of packets: 00 = reserved 01 = ethernet 10 = cpu 11 = tdm (cross - connect). see section 10.6.11.10 . [15:9] rx_max_lost_packets r/w none the maximum number of rx packets inserted upon detection of lost packets [8:4] number_of_ts r/w none one less than number of assigned timeslots per bundle. when rx_aal1_bundle_type=00 (unstructured) then number_of_ts=31; this applies also to high speed mode. [3] rx_ discard_sanity_fail r/w none 0 = discard aal1 packets which fail the sanity check 1 = dont discard the above packets see section 10.6.13.8 . [2:1] header_type r/w none 00 = mpls 01 = udp over ip 10 = l2tpv3 over ip 11 = mef [0] tx_r_bit r/w none 0 = dont set r bit in header of transmitted packets 1 = set r bit aal1_bundle[n]_cfg[95:64] 0x200+n*4 bits data element name r/w reset value description [31] reserved r/w none must be set to zero [30] tx_cond_data r/w none 0 = regular operation 1 = use conditioning octet specified by tx_cond_octet _type for transmitted packets [29] tx_dest_framing r/w none only applies to t1 framed traffic. see section 10.6.5 . 0 = destination framer operates in sf framing 1 = destination framer operates in esf framing [28] tx_cas_source r/w none source of transmit cas bits: 0 = tdmop blocks rsig input 1 = tx software cas table (section 11.4.9 ) [27:13] reserved - none must be set to zero [12:11] tx_aal1_bundle_type r/w non e bundle type of transmitted payload: downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 110 of 198 aal1_bundle[n]_cfg[95:64] 0x200+n*4 bits data element name r/w reset value description 00 = unstructured 01 = structured 10 = structured with cas 11 = reserved [10:6] reserved r/w none must be set to zero [5:4] tx_cond_octet_type r/w none selects the eth_cond_octet from eth_cond_data_reg to be transmitted towards packet network: 00 = eth_cond_octet_a 01 = eth_cond_octet_b 10 = eth_cond_octet_c 11 = eth_cond_octet_d [3:2] rx_aal1_bundle_type r/w none bundle type of received packets: 00 = unstructured 01 = st ructured 10 = structured with cas 11 = reserved [1:0] protection_mode r/w none 00 = stop sending packets 01 = send each packet once with the first header 10 = send each packet once with the second header 11 = send each packet twice: once with the first header and once with the second header see section 10.6.16 . aal1_bundle[n]_cfg[127:96] 0x300+n*4 bits data element name r/w reset value description [31] reserved r/w none must be set to zero [30:16] rx_ pdvt r/w none packet delay variation time value for aal1 bundles. see section 10.6.10 . bits [30:26] are used only when unframed. the resolution is determined by the interface type as follows: for framed e1/t1: 0.5 ms for unframed e1/t1 or serial bundles: 32 bit periods for high speed interface: 128 bit periods allowed values: minimum allowed value: 3 (for all interfaces types) for t1 sf, esf: rx_pdvt < 0x300 [15] rx_cas_src r/w none source of signaling conditi oning towards tdm: 0 = sdram signaling jilter buffer 1 = rx sw cas table (section 11.4.13 ) [14] rx_cell_chk_ignore r/w none 0 = discard aal1 sar pdus with header parity/crc errors 1 = ignore aal1 sar pdu head er (crc /parity) checks including aal1 pointer parity error [13] reserved r/w none must be set to zero [12] oam_id_in_cw r/w none 0 = ignore the oam packet indication in the control word 1 = check the oam packet indication in the control word see sectio n 10.6.13.3 . [11] rx_discard r/w none 0 = pass through all incoming packets 1 = discard all incoming packets [10] rx_dest r/w none 0 = tdm 1 = cpu [9:8] tx_mpls_labels_l2tpv3_cookies r/w none for mpls: 00 = r eserved 01 = one label in the tx mpls stack 10 = two labels in the tx mpls stack 11 = three labels in the tx mpls stack for l2tpv3: downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 111 of 198 aal1_bundle[n]_cfg[127:96] 0x300+n*4 bits data element name r/w reset value description 00 = no cookies in the tx l2tpv3 header 01 = one cookie in the tx l2tpv3 header 10 = two cookies in the tx l2tpv3 header 11 = reserved [7:4] port_num r/w none the port number which the bundle is assigned to: 0000 = port 1, 0111=port 8 [3:2] tx_vlan_stack r/w none 00 = no vlan tag in header 01 = one vlan tag exists in header 10 = two vlan tags exist in header 11 = reserved no t valid for rx. not used by tx aal1 but by ethernet transmitter block [1] rx_bundle_identifier_valid r/w none 0 = rx_bundle_identifier entry isn't valid: if the incoming frame bundle identifier isn't found in the whole packet classifier table, the incoming frame is handled according to packet classifier discard switches in packet_classifier_cfg_reg3 . 1 = rx_bundle_identifier entry is valid [0] reserved r/w none must be set to zero aal1_bundle[n]_cfg[159:128] 0x400+n*4 bits data element name r/w reset value description [31:23] reserved r/w none must be set to zero [22] rx_rtp r/w none 0 = rtp header does not exist in received packets 1 = rtp header exists in received packets [21:20] rx_l2tpv3_cookies r/w none for mpls: 00 = reserved 01 = one label in the received mpls stack 10 = two label in the received mpls stack 11 = three label in the received mpls stack for l2tpv3: 00 = no cookies in the received l2tpv3 header 01 = one cookie in the received l2tpv3 header 10 = two cookies in the received l2tpv3 header 11 = reserved [19:15] reserved r/w none must be set to zero. [14:10] packet_size_in_cells r/w none aal1 sar pdus per frame: 1 - 30 [9:5] tx_bundle_identifier r/w none tx bundle identifier upper bits used only for tx_aal1 old format [4:0] reserved r/w none must be set to zero 11.4.2.2 hdlc bundle configuration in the register descriptions below, the index n indicates the bundle number: 0 to 63. hdlc_bundle[n]_cfg[31:0] 0x000+n*4 bits data element name r/w reset value description [31:0] rx_bundle_identifier r/w none holds the rx bundle number hdlc_bundle[n]_cfg[63:32] 0x100+n*4 bits data element name r/w reset value description [31:22 ] reserved r/w none must be set to zero downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 112 of 198 hdlc_bundle[n]_cfg[63:32] 0x100+n*4 bits data element name r/w reset value description [21:20] payload_type_machine r/w none 00 = hdlc 01 = aal1 10 = reserved 11 = satop/cesopsn [19] tx_rtp r/w none 0 = rtp header does not exist in transmitted packets 1 = rtp header exists in transmitted packets [18 ] control_word_exists r/w none 0 = control word does not exist 1 = control word exists (default, standard mode) [17:16] tx_dest r/w none destination of packets: 00 = reserved 01 = ethernet 10 = cpu 11 = reserved [15:11] reserved r/w none must be set to zero. [10:9] packet_sn_mode r/w none transmitted and expected sequence number is: 00 = always 0 01 = incremented normally in wrap - around manner 10 = reserved 11 = incremented in wrap - around manner but skips 0 [8:3] reserved r/w none must be set to zero. [2:1] header_type r/w none 00 = mpls 01 = udp over ip 10 = l2tpv3 over ip 11 = mef [0] tx_r_bit r/w none 0 = dont set r bit in header of transmitted packets 1 = set r bit hdlc_bundle[n]_cfg[95:64] 0x200+n*4 bits data element name r/w reset value description [31:16] reserved r/w none must be set to zero [15:13] reserved r/w none must be set to zero [12:2] tx_max_frame_size r/w none tx hdlc maximum transmitted packet size in bytes. this does not include fcs. [1:0] reserved r/w none must be set to zero hdlc_bundle[n]_cfg[127:96] 0x300+n*4 bits data element name r/w reset value description [31:28] reserved r/w none must be set to zero [27] tx_stop r/w none 0 = send one packet with the 1st header 1 = stop transmission [26:13] reserved none m ust be set to zero [12] oam_id_in_cw r/w none 0 = ignore the oam packet indication in the control word 1 = check the oam packet indication in the control word [11] rx_discard r/w none 0 = pass through all incoming packets 1 = discard all incoming packets [10] rx_dest r/w none 0 = tdm 1 = cpu [9:8] tx_mpls_lables_l2tpv3_cookies r/w none for mpls: 00 = reserved 01 = one label in the tx mpls stack 10 = two labels in the tx mpls stack 11 = three labels in the tx mpls stack for l2tpv3: downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 113 of 198 hdlc_bundle[n]_cfg[127:96] 0x300+n*4 bits data element name r/w reset value description 00 = no cookies in the tx l2tpv3 header 01 = one cookie in the tx l2tpv3 header 10 = two cookies in the tx l2tpv3 header 11 = reserved [7:4] port_num r/w none the port number which the bundle is assigned to: 0000 = port 1, 0111=port 8 [3:2] tx_vlan_stack r/w none 00 = no vlan tag in header 01 = one vlan tag exists in header 10 = two vlan tags exist in header 11 = reserved not valid for rx. not used by tx aal1 but by ethernet mac transmit block [1] rx_bundle_identifier_valid r/w none 0 = rx_bundle_identifier entry isn't valid: if the incoming frame bundle identifier isn't found in the whole packet classifier table, the incoming frame is handled according to discard switches in ( packet_classifier_cfg_reg3 ) 1 = rx_bundle_identifier entry is valid [0] reserved r/w none must be set to zero hdlc_bundle[n]_cfg[159:128] 0x400+n*4 bits data element name r/w reset value description [31:22] reserved 0x000 must be set to zero [21:20] rx_l2tpv3_cookies r/w none for mpls: 00 = reserved 01 = one label in the received mpls stack 10 = two label in the received mpls stack 11 = three label in the received mpls stack for l2tpv3: 00 = no cookies in the received l2tpv3 header 0 1 = one cookie in the received l2tpv3 header 10 = two cookies in the received l2tpv3 header 11 = reserved [19:16] reserved r/w none [15:0] tx_ip_checksum r/w none ip header checksum for ip total length equal to zero explain more. also, why isnt this in aal1? 11.4.2.3 satop/cesopsn bundle configuration in the register descriptions below, the index n indicates bundle number: 0 to 63. satop/cesopsn_bundle[n]_cfg[31:0] 0x000+n*4 bits data element name r/w reset value description [31:0] rx_bundle_identifier r/w none holds the rx bundle number satop/cesopsn_bundle[n]_cfg[63:32] 0x100+n*4 bits data element name r/w reset value description [31:22] rx_max_buff_size r/w none the size of the jitter buffer. see section 10 .6.10 . also the maximum time interval for which data is stored. the resolution is determined by the interface type as follows: for framed e1/t1: 0.5 ms. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 114 of 198 satop/cesopsn_bundle[n]_cfg[63:32] 0x100+n*4 bits data element name r/w reset value description for unframed e1/t1 or serial bundles: 1024 bit periods for high speed interface: 4096 bit periods. all owed values: for t1 - sf: rx_max_buff_size 2fchex for t1 - esf: rx_max_buff_size 0x2f9 for e1 - mf: rx_max_buff_size 0x3fb for all interface types the rx_max_buff_size must be greater than rx_pdvt + pct (packet cre ation time). note: for unframed, the rx_max_buff_size resolution is different than the rx_pdvt resolution. [21:20] payload_type_machine r/w none 00 = hdlc 01 = aal1 10 = reserved 11 = satop/cesopsn [19] tx_rtp r/w none 0 = rtp header does not exist in transmitted packets 1 = rtp header exists in transmitted packets [18] control_word_exists r/w none 0 = control word does not exist 1 = control word exists (default, standard mode) [17:16] tx_dest r/w none destin ation of packets: 01 = ethernet 10 = cpu 11 = tdm - rx (cross - connect) 00 = reserved [15:9] rx_max_lost_packets r/w none the maximum number of rx packets inserted upon detection of lost packets [8:4] number_of_ts r/w none one less than number of assigned t imeslots per bundle. not relevant for unstructured bundles, or when working in high speed mode. [3] rx_ discard_sanity_fail r/w none 0 = dont discard the above packets 1 = discard satop/cesopsn packets which fail the sanity check see section 10.6.13.8 . [2:1] header_type r/w none 00 = mpls 01 = udp over ip 10 = l2tpv3 over ip 11 = mef [0] tx_r_bit r/w none 0 = dont set r bit in header of transmitted packets 1 = set r bit satop/cesopsn_bundle[n]_cfg[95: 64] 0x200+n*4 bits data element name r/w reset value description [31] reserved r/w none must be set to zero [30] tx_cond_data r/w none 0 = regular operation 1 = use conditioning octet specified by tx_cond_octet_type for transmitted packets [29] tx_dest_framing r/w none only applies to t1 framed traffic 0 = destination framer operates in sf framing 1 = destination framer operates in esf framing [28] tx_cas_source r/w none source of transmit c as bits: 0 = tdmop blocks rsig input 1 = tx software cas table see sections see section 10.6.5 and 11.4.9 . [27] reserved r/w none must be set to zero [26:16] tdm_ frames_in_packet or tdm_bytes_in_packet r/w none for structured and structured with cas cesopsn bundles: number of tdm frames included in each packet. for satop bundles: number of tdm bytes included in each packet. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 115 of 198 satop/cesopsn_bundle[n]_cfg[95: 64] 0x200+n*4 bits data element name r/w reset value description note: for structured with cas bundles the allowed values are: e1 mf: 16, 8, 4, 2, 1 t1 sf/esf: 24, 12, 8, 6, 4, 3, 2, 1 [15:13] reserved r/w none must be set to zero [12:11] tx_satop_bundle_type r/w none bundle type of transmitted payload: 00 = unstructured 01 = structured 10 = structured with cas 11 = reserved [10:6] reserved r/w none must be set to zero. [5:4] tx_cond_octet_type r/w none selects the eth_cond_octet from eth_cond_data_reg to be transmitted towards packet network: 00 = eth_cond_octe t_a 01 = eth_cond_octet_b 10 = eth_cond_octet_c 11 = eth_cond_octet_d [3:2] rx_satop/cesopsn_ bundle_type r/w none bundle type of received packets: 00 = unstructured 01 = structured 10 = structured with cas 11 = reserved [1:0] protection_mode r/w none 00 = stop sending packets 01 = send each packet once with the first header 10 = send each packet once with the second header 11 = send each packet twice: one with the first header and one with the second header satop/cesopsn_bundle[n]_cfg[127:96] 0x30 0+n*4 bits data element name r/w reset value description [31] reserved r/w none must be set to zero. [30:16] rx_pdvt r/w none packet delay variation time value for satop/cesopsn bundles. see section 10.6.10 . bits[30:26] are used only when unframed. the resolution is determined by the interface type as follows: for framed e1/t1: 0.5 ms for unframed e1/t1 or serial bundles: 32 bit periods for high speed interface: 128 bit periods allowed values: minimum allowed value: 3 (for all interface types) for t1 sf, esf: rx_pdvt < 0x300 [15] rx_cas_src r/w none source of signaling towards tdm: 0 = sdram signaling jitter buffer 1 = rx sw cas tables (section 11.4.13 ) [14] rx_enab le_reorder r/w none 0 = disable reorder 1 = enable reorder [13] reserved r/w none must be set to zero [12] oam_id_in_cw r/w none 0 = ignore the oam packet indication in the control word 1 = check the oam packet indication in the control word [11] rx_discard r/w none 0 = pass through all incoming packets 1 = discard all incoming packets [10] rx_dest r/w none 0 = tdm 1 = cpu [9:8] tx_mpls_lables_l2tpv3_cookies r/w none for mpls: 00 = reserved 01 = one label in the tx mpls stack 10 = two labels in the tx mpls stack downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 116 of 198 satop/cesopsn_bundle[n]_cfg[127:96] 0x30 0+n*4 bits data element name r/w reset value description 11 = three labels in the tx mpls stack for l2tpv3: 00 = no cookies in the tx l2tpv3 header 01 = one cookie in the tx l2tpv3 header 10 = two cookies in the tx l2tpv3 header 11 = reserved [7:4] port_num r/w none the port number which the bundle is assigned to: 0000 = port 1, 0111=port 8 [3:2] tx_vlan_stack 00 = no vlan tag in header 01 = one vlan tag exists in header 10 = two vlan tags exist in header 11 = reserved not valid for rx. not used by tx aal1 but by ethernet mac transmitter block [1 ] rx_bundle_identifier_valid r/w none 0 = rx_bundle_identifier entry isn't valid: if the incoming frame bundle identifier isn't found in the whole packet classifier table, the incoming frame is h andled according to packet classifier discard switches in packet_classifier_cfg_reg3 1 = rx_bundle_identifier entry is valid [0] reserved r/w none must be set to zero satop/cesopsn_bundle[n]_cfg[1 59:128] 0x400+n*4 bits data element name r/w reset value description [31:24] reserved 0x00 must be set to zero [23] last_value_insertion r/w none enables the insertion of the last received timeslot value in case packet loss was detected. this insertion is only performed if 3 frames or less of data per timeslot is lost. if more than 3 frames of data are lost, the insertion is not performed and, instead, conditioning is inserted as usual). 0 = last value insertion disabled 1 = last value insertion enabl ed [22] rx_rtp r/w none 0 = rtp header doesnt exist in received packets 1 = rtp header exists in received packets [21:20] rx_l2tpv3_cookies r/w none for mpls: 00 = reserved 01 = one label in the received mpls stack 10 = two label in the received mpls s tack 11 = three label in the received mpls stack for l2tpv3: 00 = no cookies in the received l2tpv3 header 01 = one cookie in the received l2tpv3 header 10 = two cookies in the received l2tpv3 header 11 = reserved [19:16] reserved r/w none must be set to zero [15:0] tx_ip_checksum r/w none ip header checksum for ip total length equal to zero downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 117 of 198 11.4.3 counters each counter can be read from two different addresses. reading from the first address 0x10,000 + offset d oes not affect the counter value. reading from the second address 0x11,000 + offset causes the counter to be cleared after it is read. table 11 -6 . counters types address counter type read/write reset value 1 0,000 counters C no clear on read read only none 11,000 counters C clear on read read only - clear on read none when reading from counters wider than 16 bits in 16 - bit mode, use the following procedure: 1. read from address 2, i.e. h_ad [1]=1. all 32 bits are internally latched and bits 15:0 are output on h_d [15:0]. 2. read from address 0, i.e. h_ad [1]=0. bits 31:16 are output on h_d [15:0]. 11.4.3.1 per bundle counters in the register descriptions in this section, the index n indicates the bundle number: 0 to 63. ethernet rx good packets counter 0x000+n*4 bits data element name r/w reset value description [31:0] good_packe ts_received r none good packets received from ethernet. counter wraps around to 0 from its maximum value. ethernet tx good packets counter 0x200+n*4 bits data element name r/w reset value description [31:0] good_packets_transmitted r none good packets transmitted to ethernet. counter wraps around to 0 from its maximum value. ethernet rx lost/jump event packets counter 0x300+n*4 bits data element name r/w reset value description [31:16] reserved - none must be set to zero [15:0] lost_aal1_packets_ rxd / lost_hdlc_packets_rxd / jumped_satop/cesopsn_ packets_rxd r none number of lost/jumped packets encountered by rx_aal1, rx_hdlc or rx_satop payload machine: aal1 and satop/cesopsn C the counter is increased by the gap between the received packet sequence number and the expected packet sequence number (except when this gap is higher than the configured rx_max_lost_packets value). hdlc C the counter is increased by the difference between the rece ived packet sequence number and the expected packet sequence number only when this difference is smaller than 32768. satop/cesopsn C the cpu can calculate the number of lost packets using the following equation: lost packets = (jumped packets C rxd reordered packets ) downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 118 of 198 ethernet rx aal1 lost cells / rx satop/cesopsn discarded packets counter 0x400+n*4 bits data element name r/w reset value description [31:16] reserved - none must be set to zero [15:0] lost_ aal1_rxd_cells / discarded_satop/cesopsn_ rxd_packets r none aal1 C number of lost aal1 sar pdus satop/cesopsn C number of received packets that were discarded by satop/cesopsn hardware machine. tdm tx hdlc frames with error counter 0x500+n*4 bits da ta element name r/w reset value description [31:16] reserved - none must be set to zero [15:0] tdm_hdlc_err_frames r none number of hdlc frames from tdm with any error, including crc/alignment/abort/short/long. counter sticks at its maximum value and do es not roll over to 0. tdm tx hdlc good frames counter 0x600+n*4 bits data element name r/w reset value description [31:16] reserved - none must be set to zero [31:0] tdm_hdlc_good_frames r none hdlc good frames received from tdm (passed crc). counte r wraps around to 0 from its maximum value. tdm rx satop/cesopsn reordered packets / hdlc/aal1 packet sn error outside window counter 0x100+n*4 bits data element name r/w reset value description [31:0] satop/cesopsn_rxd_re_order ed_packets / hdlc_pac ket_sn_oo_window / aal1_packet_sn_oo_window r none satop/cesopsn C number of received misordered packets that were successfully reordered by satop/cesopsn hardware machine. the counter is incremented each time a miss - ordered packet is received and saved i n the sdram. hdlc C counter incremented by 1 when sn error outside window is detected (window of 32,768). aal1 C counter incremented by 1 when sn error outside window is detected (window configured by r x_max_lost_packets ). counter sticks at its maximum value and does not roll over to 0. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 119 of 198 11.4.3.2 per jitter buffer index counters in the register description in this section, the index n indicates the jitter buffer number: 0 to 255. jitter buffer underrun/overrun events counter 0x800+n*4 bits data element name r/w reset value description [31:8] reserved - none must be set to zero [7:0] jbc_events r none number of jitter buffer underrun/overrun events. aal1/satop/cesopsn bundles C count of underrun events. aal 1 counter does not include underruns caused by pointer mismatches. hdlc bundles C count of overrun events. counter sticks at its maximum value and does not roll over to 0. 11.4.3.3 general counters received ethernet bytes counter 0xe00 bits data element name r/w reset value description [31:0] eth_bytes_received r 0x0000 0000 total bytes received from ethernet (good packets which passed crc check only). crc bytes are not counted. counter wraps around to 0 from its maximum value. transmitted ethernet bytes c ounter 0xe04 bits data element name r/w reset value description [31:0] eth_bytes_transmitted r 0x0000 0000 total bytes transmitted to ethernet (good packets which passed crc check only). crc bytes are not counted. counter wraps around to 0 from its maxi mum value. classified packets counter 0xe08 bits data element name r/w reset value description [31:0] classified_packets r 0x0000 0000 counts all packets that pass the packet classifier towards tdm or cpu and are not discarded. counter wraps around to 0 from its maximum value. received ip checksum errors counter 0xe0c bits data element name r/w reset value description [31:16] reserved - 0x0000 must be set to zero [15:0] ip_checksum_err_packets r 0x0000 counts packets, detected by the packet clas sifier, as packets with ip checksum errors. counter sticks at its maximum value and does not roll over to 0. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 120 of 198 11.4.4 status tables the tdmop status tables hold indications of hardware events. except where noted, these ar e latched status bits. for each bit, the value 1 indicates that the event occurred. a bit set to 1 maint ains its value unless the host cpu changes it. writing 1 to a bit clears it to 0. writing 0 to a bit does not change its value. the base address for the tdmop status tables is 0x12,000 . 11.4.4.1 per bundle status tables in the register descriptions in this section, the index n indicates the bundle number: 0 to 63. rx payload type machine status 0x000+n*4 bits data element name r/w reset value description [31:5] reserved - none must be set to zero [4] rx_satop/cesopsn_frame_ count_err satop/cesopsn C packets that belong to structured - with - cas bundles were received with incorrect number of frames. [3] rx_aal1_cell_hdr_err / rx_satop/cesopsn_jump_ov e rflow_err / r/w none aal1 C aal1 sar pdus received with incorrect sn (sequence number), protection fields (crc/parity), corrected and not corrected aal1 sar pdu header. satop/cesopsn C packets received with incorrect sequence number (higher than the expected sequence number and within the window allowed by the configured rx_max_lost_packets value) and could not be inserted into the jitter buffer due to insufficient space. [2] rx_aal1_packet_sn_oo_ window / rx_hdlc_packet_sn_oo_ window / rx_satop/cesop sn_packet_ sn_oo_window r/w none hdlc C packet sn (sequence number) error outside window (window of 32768) satop/cesopsn/aal1 C packets discarded due to incorrect sequence number (sn equal to the former or gap between them exceeds limit determined by rx_max_lost_packets parameter). [1] rx_aal1_packet_sn_in_ window / rx_hdlc_packet_sn_in_ window / rx_satop/cesopsn_ overrunn_discard r/w none aal1 C packet sequence number error within window (determined by rx_max_lost_packets parameter) hdlc C packet sequence number error within window (window of 32768) satop/cesopsn C packets discarded because the jitter buffer reached or was in the over - run state. [0] rx_aal1_ptr_mismatch / rx_satop/cesopsn_miss_ ordered_discard r/w none aal1 C sar pdu s received with pointer mismatch satop/cesopsn C packets discarded because they were considered duplicated, or because they were received too late to be inserted into the jitter buffer. tx payload type machine status 0x200+n*4 bits data element name r/w reset value description [31:5] reserved - none must be set to zero [4] tx_hdlc_abort r/w none hdlc C received frame from tdm with abort indication [3] tx_hdlc_shor t r/w none hdlc C received frame from tdm shorter than 4 bytes (including crc bytes) [2] tx_hdlc_long r/w none hdlc C received frame from tdm longer than maximum allowed length ( tx_max_frame_size ) downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 121 of 198 tx payload type machine status 0x200+n*4 bits data element name r/w reset value description [1] t x_hdlc_align_err r/w none hdlc C received frame from tdm with alignment error [0] tx_aal1_framing_mismatch / tx_hdlc_crc_err / tx_satop/cesopsn_framing_ mismatch r/w none aal1 C start of tdm frame or start of tdm multiframe mismatch hdlc C received frame f rom tdm with crc error satop/cesopsn C start of tdm frame or start of tdm multiframe mismatch tx buffers status 0x400+n*4 bits data element name r/w reset value description [31:1] reserved - none must be set to zero [0] tdm_to_eth_buff_err r/w none f rames received from tdm were discarded due to lack of tx buffers packet classifier status 0x600+n*4 bits data element name r/w reset value description [31:8] reserved - none must be set to zero [7] packet_length_error r/w none packet discarded due to mismatch between ip_length/ control_word_length (for mpls/mef) and the actual length according to the following rules: ip packets C if ip_length > (actual payload + ip_hdr + cw + rtp) mpls/mef packets C if control_word_length > actual payload length + cw + rtp [6] rx_sync_loss ro none received packet with l indication [5] rx_remote_fail ro none received packet with r indication [4:3] rx_lbit_modifier ro none received packet with m indication [2:1] fragmentation_bits ro none relevant for satop/ces opsn payload type machine: 00 = entire (unfragmented) multi - frame structure is carried in a single packet 01 = packet carrying the first fragment 10 = packet carrying the last fragment 11 = packet carrying an intermediate fragment [0] rx_length_mismatch_d iscard r/w none packet discarded due to mismatch between the packet length and the configuration (for aal1 and satop/ cesopsn bundles only) 11.4.4.2 per jbc index tables in the register descriptions in this section, the index n indicates the jitter buffer number: 0 to 255. rx jbc status 0xc00+n*4 bits data element name r/w reset value description [31:1] reserved - none must be set to zero [0] jbc_overrun r/w none aal1 C overrun has occurred hdlc C overrun has occurred satop/cesopsn C overrun has occurred downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 122 of 198 11.4.5 timeslot assignment tables each port has two banks of timeslot assignment (tsa) tables, bank 1 and bank 2. while one bank i s actively used by the tdmop block, the other bank can be written by the cpu. the active bank for the port is specified by the tsa_act_blk field in the port[n]_cfg_reg register. the base address for the tdmop status tables is 0x18,000 . from this base address: ? bank 1 tsa tables are located at offset 0x000 for ports 1 to 4 and 0x400 for ports 5 to 8. ? bank 2 tsa tables are located at offset 0x200 for ports 1 to 4 and 0x600 for ports 5 to 8. in the register descriptions in this section, the index port in dicates the port number: 1 - 8 for ds34s108, 1 - 4 for ds34s104, 1 - 2 for ds34s102, 1 only for ds34s101. the index ts is the timeslot number: 0 to 31. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 123 of 198 bank1 timeslot assignment registers ports 1 to 4: 0x000+(port - 1)*0x80+ts*4 ports 5 to 8: 0x400+(port - 5)*0x80+ts*4 bank2 timeslot assignment registers ports 1 to 4: 0x200+(port - 1)*0x80+ts*4 ports 5 to 8: 0x600+(port - 5)*0x80+ts*4 bits data element name r/w reset value description [31:21] reserved - none must be set to zero [20] remote_loop r/w none w hen set, establishes a loop (per timeslot) between the data received from the ethernet port and the data transmitted towards the ethernet port. notes: usually the remote loop is activated on all timeslots assigned to a bundle. only the tdm data is looped back. cas information is not looped back. available only when interface is configured to single clock mode ( port[n]_cfg_reg . two_clocks =0). [19] local_loop r/w no ne when set, establishes a loop (per timeslot) between the data received from the tdm port and the data transmitted towards the tdm port. the data transmitted towards the tdm port is delayed by one tdm frame vs. the received data. notes: usually the local loop is activated on all timeslots assigned to a bundle. only the tdm data is looped back. cas information is not looped back. available only when interface is configured to single clock mode ( port[n]_cfg_reg . two_clocks =0). [18] structured_type r/w must be set for timeslots that are part of aal1/cesopsn bundles whose type is structured or structured - with - cas. [17:16] timeslot_width r/w none 00 = reserved 01 =2 bits (only for hdlc bundles) 10 = 7 bits (only for hdlc bundles) 11 = 8 bits see section 10.6.4 for additional details. [15] first_in_bundle r/w none must be set for the first timeslot of an aal1 or cesopsn bu ndle. must be cleared for hdlc bundles. [14] rx_assigned r/w none 0 = timeslot is not assigned for the rx path 1 = timeslot is assigned for the rx path [13] transmit_assigned r/w none 0 = timeslot is not assigned for the transmit path 1 = timeslot is ass igned for the transmit path [12:7] bundle_number r/w none number of the bundle that the timeslot is assigned to. [6:5] reserved r/w none must be set to zero [4:0] jitter_buffer_index r/w none jitter buffer index. this field indicates which jitter buffer is being used for the timeslot or bundle. it is also the index into the jitter buffer status table (section 11.4.8 ). if a timeslot is assigned to a bundle, the jitter b uffer index must be configured to the number of the first timeslot assigned to the bundle. otherwise, it must be configured to the timeslot number. see section 10.6.10 . downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 124 of 198 11.4.6 cpu queues the pools and queue referred to in this section are shown in the block diagram in figure 10 - 49 . whenever a queue or pool level exceeds the associated threshold register, a latched status bit is set in the cpu_queues_change register which generates an interrupt unless masked by the associated mask bit in the cpu_queues_mask register. in this section the address offsets in parentheses apply when the cpu data bus is 16 bits wide (pin dat_32_16_n =0 ). the base address for the tdmop cpu queues is 0x20,000 . table 11 -7 . cpu queues addr offset register name description page 0x00 (0x02) tdm_to_cpu_pool_insert write to insert a buffer id into the tdm - to - cpu pool 124 0x04 (0x06) tdm_to_cpu_pool_level number of buffers stored in the tdm - to - cpu pool 125 0x08 (0x0a) tdm_to_cpu_pool_thresh tdm - to - cpu pool interrupt threshold 125 0x0c (0x0e) tdm_to_cpu_q_read read to get a buffer id from the tdm - to - cpu queue 125 0x10 (0x12) tdm_to_cpu_q_level number of buffers in the tdm - to - cpu queue 125 0x14 (0x16) tdm_to_cpu_q_thresh tdm - to - cpu queue interrupt threshold 125 0x18 (0x1a) cpu_to_eth_q_insert write to insert a buffer id into the cpu - to - eth queue 125 0x1c (0x1e) cpu_to_eth_q_level number of buffers in the cpu - to - eth queue 126 0x20 (0x22) cpu_to_eth_q_thresh cpu - to - eth queue interrupt threshold 126 0x24 (0x26) eth_to_cpu_pool_in sert write to insert a buffer id into the eth - to - cpu pool 126 0x28 (0x2a) eth_to_cpu_pool_level number of buffers stored i n the eth - to - cpu pool 126 0x2c (0x2e) eth_to_cpu_pool_thresh eth - to - cpu queue interrupt threshold. 126 0x30 (0x32) eth_to_cpu_q_read read to get a buffer id from the eth - to - cpu queue 127 0x34 (0x36) eth_to_cpu_q_level number of buffers in the eth - to - cpu queue. 127 0x38 (0x3a) eth_to_cpu_q_thresh eth - to - cpu queue interrupt threshold 127 0x54 (0x56) cpu_to_tdm_q_insert write to insert a buffer id into the cpu - to - tdm queue 127 0x58 (0x5a) cpu_to_tdm_q_level number of buffers stored in the cpu - to - tdm queue 127 0x5c (0x5e) cpu_to_tdm_q_thresh cpu - to - tdm queue interrupt threshold 127 0x60 (0x62) tx_return_q_read read to get a buffer id from the cpu - tx - return queue 128 0x64 (0x66) tx_return_q_level number of buffers stored in the cpu - tx - return queue 128 0x68 (0x6a) tx_return_q_thresh cpu - tx -r eturn queue interrupt threshold 128 0x6c (0x6e) rx_return_q_read read to get a buffer id from the cpu - rx - return queue 128 0x70 (0x72) rx_return_q_level number of buffers stored in the cpu - rx - return queue 129 0x74 (0x76) rx_return_q_thresh cpu - rx - return queue interrupt threshold 129 11.4.6.1 tdm - to - cpu pool tdm_to_cpu_pool_insert 0x00 (0x02) bits data element name r/w reset value description [31:13] reserved - 0x0 must be set to zero [12:0] buffer id wo none writing to this address causes a single 13 - bit buffer id to be inserted to the tdm - to - cpu pool. only bits [12:0] are written. the buffer id serves as the 13 msbs of the buffer address in the sdram (i.e. corresponds to h_ad [23:11] out of the 24 sdram address bits). downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 125 of 198 tdm_to_cpu_pool_level 0x04 (0x06) bits data element name r/w reset value description [31:8] reserved - 0x0 must be s et to zero [7:0] level ro 0x0 number of buffers currently stored in the pool. these are the buffers that are still available to the tx payload type machines. range: 0 to 128. tdm_to_cpu_pool_thresh 0x08 (0x0a) bits data element name r/w reset value description [31:8] reserved - 0x0 must be set to zero [7:0] threshold ro 0x0 if the number of buffers in the pool is this threshold, an interrupt is generated. range: 0 to 128. 11.4.6.2 tdm - to - cpu queue tdm_to_cpu_q_read 0x0c (0x0e) bits data element name r/w reset value description [31:13] reserved - 0x0 must be set to zero [12:0] buffer id ro none reading from this address extracts the first buffer id from the tdm - to - cpu queue (bits [12:0]). the buffer id serves as the 13 msbs of the buffer address in the sdram (i.e. corresponds to h_ad [23:11] out of 24 sdram address bits). tdm_to_cpu_q_level 0x10 (0x12) bits data element name r/w reset value description [31:8] reserved - 0x0 must be set to zero [7:0] level ro 0x0 number of buffers currently stored in the queue. these are the buffers still waiting to be handled by the cpu. range: 0 to 128. tdm_to_cpu_q_thresh 0x14 (0x16) bits data element name r/w reset value description [31:8] reserved - 0x0 must be set to zer o [7:0] threshold ro 0x0 if the number of buffers in the queue is this threshold, an interrupt is generated. range: 0 - 128 11.4.6.3 cpu - to - eth queue cpu_to_eth_q_insert 0x18 (0x1a) bits data element name r/w reset value description [31:13] reserved - 0x0 mus t be set to zero [12:0] buffer id wo none writing to this address causes a single 13 - bit buffer id to be inserted to the cpu - to - eth queue. only bits [12:0] are written. the buffer id serves as the 13 msbs of the buffer address in the sdram (i.e. correspon ds to h_ad [23:11] out of the 24 sdram address bits). downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 126 of 198 cpu_to_eth_q_level 0x1c (0x1e) bits data element name r/w reset value description [31:6] reserved - 0x0 must be set to zero [5:0] level ro 0x0 number of buffers currently stored in the queue. range: 0 to 32. cpu_to_eth_q_thresh 0x20 (0x22) bits data element name r/w reset value description [31:6] reserved - 0x0 must be set to zero [5:0] threshold ro 0x0 if the number of buffers in the queue is this thresh old, an interrupt is generated. range: 0 to 32. 11.4.6.4 eth - to - cpu pool eth_to_cpu_pool_insert 0x24 (0x26) bits data element name r/w reset value description [31:13] reserved - 0x0 must be set to zero [12:0] buffer id wo none writing to this address causes a single 13 - bit buffer id to be inserted to the eth - to - cpu pool. only bits [12:0] are written. the buffer id serves as the 13 msbs of the buffer address in the sdram (i.e. corresponds to h_ad [23:11] out of the 24 sdram a ddress bits). eth_to_cpu_pool_level 0x28 (0x2a) bits data element name r/w reset value description [31:8] reserved - 0x0 must be set to zero [7:0] level ro 0x0 number of buffers currently stored in the pool. these are the buffers that are still available to the rx arbiter. range: 0 to 128. eth_to_cpu_pool_thresh 0x2c (0x2e) bits data element name r/w reset value description [31:8] reserved - 0x0 must be set to zero [7:0] threshold ro 0x0 if the number of buffers in the pool is this threshold, an interrupt is generated and only oam packets are inserted in the eth - to - cpu queue (non - oam packets are discarded). range: 0 to 128. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 127 of 198 11.4.6.5 eth - to - cpu queue eth_to_cpu_q_read 0x30 (0x32) bits data element name r/w reset value description [31:13] reserved - 0x0 must be set to zero [12:0] buffer id ro none reading from this address extracts the first buffer id from the eth - to - cpu queue (bits [12:0]). the buffer id serves as the 13 msbs of the buffer address in the sdram (i.e. corresponds to h_ad [23:11] out of 24 sdram address bits). eth_to_cpu_q_level 0x34 (0x36) bits data element name r/w reset value description [31:8] reserved - 0x0 must be set to zero [7:0] level ro 0x0 number of buffers currently stored in the queue. these are the buffers still waiting to be handled by the cpu. range: 0 to 128. eth_to_cpu_q_thresh 0x38 (0x3a) bits data element name r/w reset value description [31:8] reserved - 0x0 must be set to zero [7:0] threshold ro 0x0 if the number of buffers in the queue is this threshold, an interrupt is generated. range: 0 to 128. 11.4.6.6 cpu - to - tdm queue cpu_to_tdm_q_insert 0x54 (0x56) bits data element name r/w reset value description [31:13] reserved - 0x0 must be set to zero [12:0] buffer id wo none writing to this address causes a single 13 - bit buffer id to be inserted to the cpu - to - tdm queue. only bits [12:0] are written. the buffer id serves as the 13 msbs of the buffer address in the sdram (i.e. corresponds to h_ad [23:11] out of the 24 sdram address bits). cpu_to_tdm_q_level 0x58 (0x5a) bits data element name r/w reset value description [31:6] reserved - 0x0 must be set to zero [5:0] level ro 0x0 number of buffers currently stored in the queue. range: 0 to 32. cpu_to_tdm_q_thresh 0x5c (0x5e) bits data element name r/w reset value description [31:6] reserved - 0x0 must be set to zero [5:0] threshold ro 0x0 if the number of buffers in the queue is this threshold, downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 128 of 198 cpu_to_tdm_q_thresh 0x5c (0x5e) bits data element name r/w reset value description an interrupt is generated. range: 0 to 32. 11.4.6.7 tx return queue tx_return_q_read 0x60 (0x62) bits data element name r/w reset value description [31:13] reserved - 0x0 must be set to zero [12:0] buffer id ro none reading from this address extracts the first buffer id from the cpu tx retur n queue (bits [12:0]). the buffer id serves as the 13 msbs of the buffer address in the sdram (i.e. corresponds to h_ad [23:11] out of 24 sdram address bits). tx_return_q_level 0x64 (0x62) bits data element name r/w reset value description [31:6] reserved - 0x0 must be set to zero [5:0] level ro 0x0 number of buffers currently stored in the queue. range: 0 to 32. tx_return_q_thresh 0x68 (0x6a) bits data element name r/w reset value description [31:6] reserved - 0x0 must be set to zero [5:0] threshold ro 0x0 if the number of buffers in the queue is this threshold, an interrupt is generated. range: 0 to 32. 11.4.6.8 rx return queue rx_return_q_read 0x6c (0x6e) bits data element name r/w reset value description [31:13] reserved - 0x0 must be set to zero [12:0] buffer id ro none reading from this address extracts the first buffer id from the cpu rx return queue (bits [12:0]). the buffer id serves as the 13 msbs of the buffer address in the sdram (i.e. corresponds to h_ad [23:11] out of 24 sdram address bits). downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 129 of 198 rx_return_q_level 0x70 (0x72) bits data element name r/w reset value description [31:6] reserved - 0x0 must be set to zero [5:0] level ro 0x0 number of buffers currently stored in the queue. range: 0 to 32. rx_return_q_thresh 0x74 (0x76) bits data element name r/w reset value description [31:6] reserved - 0x0 must be set to zero [5:0] threshold ro 0x0 if the number of buffers in the queue is this threshold, an interrupt is generated. range: 0 to 32. 11.4.7 transmit buffers pool the base address for the tdmop transmit buffers pool is 0x28,000 . see section 10.6.11.7 for details. 11.4.7.1 per - bundle head pointers in the register descriptions in this section, the index n indicates the bundle number: 0 to 63. the ram should be initialized by cpu software to hold the heads of the linked lists for all open bundles. see section 10.6.11.7 . per - bundle head[n] 0x800+n*4 bits data element name r/w reset value description [31:10] reserved none must be set to zero [9] buffer_valid r/w none 0 = the head contains non - valid information (i.e. the pool is empty). 1 = the head points to a valid free buffer. [8:0] buffer_id r/w none the full address of the buffer consists of the tx buffer base address (specified in general_cfg_reg1 . tx_buf_base_add ) concatenated with the buffer id and eleven 0s. 11.4.7.2 per - buffer next - buffer pointers a pointer to the next buffer in the linked list. in the register descriptions in this section, the index n indicates the buffer number: 0 to 511. the ram should be initialized by cpu software to hold the linked lists for all the bundles. see section 10.6.11.7 . per buffer next buffer[n] 0x000+n*4 bits data element name r/w reset value description [31:9] reserved - none must be set to zero [8:0] buffer_offset r/w none the offset (id) of the next buffer in the linked list in the sdram area dedicated to the tx payload - type machines. the full address of the buffer consists of the tx buf fer base address (specified in general_cfg_reg1 . tx_buf_base_add ) concatenated with the buffer offset and eleven 0s. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 130 of 198 11.4.8 jitter buffer control the base address for the td mop jitter buffer control is 0x30,000 . in the register descriptions in this section, the index port indicates port number: 1 - 8 for ds34t108, 1 - 4 for ds34t104, 1 - 2 for ds34t102, 1 only for ds34t101. the index ts indicates timeslot number: 0 to 31. the index n indicates the bundle number: 0 to 63. see section 10.6.10 for more information. table 11 -8 . jitt er buffer status tables addr offset register name description page 0x000 status_and_level[1, 0] jitter buffer port 1 timeslot 0 status and fill level 130 0x004 min_and_max_level[1, 0] jitter buffer port 1 timeslot 0 min / max levels 131 (port - 1)*0x100+ts*8 status_and_level[port, ts] jitter buffer status and fill level 130 (port - 1)*0x100+ts*8+4 min_and_max_level[port, ts] jitter buffer min / max levels 131 0x7f8 status_and_level[8, 31] jitter buffer port 8 timeslot 31 status and fill level 130 0x7fc min_and_max_level[8, 31] jitter buffer port 8 timeslot 31 min / max levels 131 note 1: in hig h speed mode, hs_status_and_level and hs_min_and_max_level reside in status_and_level0 and min_and_max_level0 registers, respectively. note 2: the cpu should never try to read min_and_max_level from an hdlc bundle. when the cpu performs an access to these registers, it causes some bits to be changed C bits that are used for other purposes in hdlc bundles and thus may cause severe problems . table 11 -9 . bundle timeslot tables addr offset register name description page 0xf00 bundle_ts0 assigned timeslots in bundle 0 130 0xf00+n*4 bundle_ts[n] assigned timeslots in bundle n 130 0xffc bundle_ts63 assigned timeslots in bundle 63 130 11.4.8.1 status_and_level registers the status_and_level registers have different fields depending on the bundle type : hdlc , structured aal1/cesopsn , unstructured aal1/satop or high speed aal1/ satop . the subsections below describe the status_and_level register fields for each type. in the register descriptions in this section, the i ndex port indicates port number: 1 - 8 for ds34t108, 1 - 4 for ds34t104, 1 - 2 for ds34t102, 1 only for ds34t101. the in dex ts indicates timeslot number: 0 to 31. 11.4.8.1.1 hdlc status_and_level (port - 1)*0x100+ts*8 bits data element name r/w reset value description [31:2] reserved ro 0x0 always zero [1:0] status ro none the status of the bundles jitter buffer: 00 = jitter buffe r is empty 01 = jitter buffer is ok 10 = jitter buffer is full 11 = reserved downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 131 of 198 11.4.8.1.2 structured aal1/cesopsn status_and_level (port - 1)*0x100+ts*8 bits data element name r/w reset value description [31:26] reserved ro 0x0 always zero [25:16] current_level ro none the current jitter buffer level for the bundle. the resolution is 0.5ms. [15:2] reserved ro 0x0 always zero [1:0] status ro none the status of the bundles jitter buffer: 00 = jitter buffer is empty 01 = jitter buffer is ok 10 = jitter buffer is ful l 11 = reserved 11.4.8.1.3 unstructured aal1/satop status_and_level (port - 1)*0x100 bits data element name r/w reset value description [31] reserved ro 0x0 always zero [30:16] current_level ro none the current jitter buffer level for the bundle. the resolution is 32 interface bit periods. [15:2] reserved ro 0x0 always zero [1:0] status ro none the status of the bundles jitter buffer: 00 = jitter buffer is empty 01 = jitter buffer is ok 10 = jitter buffer is full 11 = reserved 11.4.8.1.4 high speed aal1/satop status_and _level 0x000 bits data element name r/w reset value description [31:16] current_level ro 0x0000 the 16 msbs of the current jitter buffer level (the level is 17 bits wide). the resolution is 64 interface bit periods. [15:2] reserved ro 0x0 always zero [1:0] status ro 0x0 the status of the bundles jitter buffer: 00 = jitter buffer is empty 01 = jitter buffer is ok 10 = jitter buffer is full 11 = reserved 11.4.8.2 min_and_max_level in the register descriptions in this section, the index port indicates port number: 1 - 8 for ds34t108, 1 - 4 for ds34t104, 1 - 2 for ds34t102, 1 only for ds34t101. the index ts indicates timeslot number: 0 to 31.. 11.4.8.2.1 structured aal1/cesopsn min_and_max_level (port - 1)*0x100+ts*8+4 bits data element name r/w reset value description [31:26] reserved ro 0x0 always zero [25:16] minimal_level ro none the minimal level that the jitter buffer has reached since the last time this register was read. after this register is read the tdmop block resets this field to all ones. when underrun is reached , the value of this field remains zero until it is read by the cpu. the resolution is 0.5 ms.. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 132 of 198 min_and_max_level (port - 1)*0x100+ts*8+4 bits data element name r/w reset value description [15:10] reserved ro 0x00 these bits are always zero [9:0] maximal_level ro none the maximal level that the jitter buffer has reached since the last time this r egister was read. after this register is read the tdmop block resets this field to zero. when overrun is reached, the value remains equal to rx_max_buff_size until it is read by the cpu. the resolution is 0.5 ms. 11.4.8.2.2 unstructured aal1/satop min_and_max_level (port - 1)*0x100+4 bits data element name r/w reset value description [31] reserved ro 0x0 this bit is always zero [30:16] minimal_level ro none the minimal level that the jitter buffer has reached sin ce the last time this register was read. after this register is read the tdmop block resets this field to all ones. when underrun is reached, the value of this field remains zero until it is read by the cpu. the resolution is 32 interface bit periods. [1 5] reserved ro 0x0 this bit is always zero [14:0] maximal_level ro none the maximal level that the jitter buffer has reached since the last time this register was read. after this register is read the tdmop block resets this field to zero. when overrun is reached, the value remains equal to rx_max_buff_size until it is read by the cpu. the resolution is 32 interface bit periods. 11.4.8.2.3 high speed aal1/satop min_and_max_level 0x004 bits data element name r/w reset value description [31:16] minimal_level ro 0xffff the 16 msbs of the minimal level that the jitter buffer has reached since the last time this register was read. after this register is read the tdmop block resets this field to all ones. when underr un is reached, the value of this field remains zero until it is read by the cpu. the level is 17 bits wide. the resolution is 64 interface bit periods. [15:0] maximal_level ro 0x0000 the 16 msbs of the maximal level that the jitter buffer has reached sinc e the last time this register was read. after this register is read the tdmop block resets this field to zero. when overrun is reached, the value remains equal to rx_max_buff_size until it is read by the cpu. the level is 17 bits wide. the resolution is 64 interface bit periods. 11.4.8.3 bundle timeslot registers in this section, the index n indicates the bundle number: 0 to 63. bundle_ts[n] 0xf00+n*4 bits data element name r/w reset value description [31:0] t s_assigned r/w none assigned timeslots of the bundle. see section 10.6.10 . 1 = timeslot is assigned to the bundle 0 = timeslot is not assigned to the bundle downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 133 of 198 bundle_ts[n] 0xf00+n*4 bits data element name r/w reset value description note: when the interface type is nx64k this field s hould be set to all 1s. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 134 of 198 11.4.9 transmit software cas the base address for the tdmop transmit software cas register space is 0x38,000 . for the cas information transmitted in packets in the tdm - to - etherne t direction, the cas signaling information stored in these registers can be used instead of cas bits coming into the tdmop block on the tdmn_rsig_rts signals. thi s is configured on a per - bundle basis using the tx_cas_source field in the bundle configuration tables . in the register descriptions in this section, the index port indicates port number: 1 - 8 for ds34s108, 1 - 4 for ds34s104, 1 - 2 for ds34s102, 1 only for ds34s101. table 11 - 10 . transmit software cas registers addr offset register name description page port 1 0x00 tx_sw_cas_ts7_ts0 cas signaling for ts7 to ts0 for port 1 135 0x04 tx_sw_cas_ts15_ts8 cas signaling for ts15 to ts8 for port 1 135 0x08 tx_sw_cas_ts23_ts16 cas signaling for ts23 to ts16 for port 1 135 0x0c tx_sw_cas_ts31_ts24 cas signaling for ts31 to ts24 for port 1 135 port 2 0x10 tx_sw_cas_ts7_ts0 cas signaling for ts7 to ts0 for port 2 135 0x14 tx_sw_cas_ts15_ts8 cas signalin g for ts15 to ts8 for port 2 135 0x18 tx_sw_cas_ts23_ts16 cas signaling for ts23 to ts16 for port 2 135 0x1c tx_sw_cas_ts31_ts24 cas signaling for ts31 to ts24 for port 2 135 port 3 0x20 tx_sw_cas_ts7_ts0 cas signaling for ts7 to ts0 for port 3 135 0x24 tx_sw_cas_ts15_ts8 cas signaling for ts15 to ts8 for port 3 135 0x28 tx_sw_cas_ts23_ts16 cas signaling for ts23 to ts 16 for port 3 135 0x2c tx_sw_cas_ts31_ts24 cas signaling for ts31 to ts24 for port 3 135 port 4 0x30 tx_sw_cas_ts7_ts0 cas signaling for ts7 to ts0 for port 4 135 0x34 tx_sw_cas_ts15_ts8 cas signaling for ts15 to ts8 for port 4 135 0x38 tx_sw_cas_ ts23_ts16 cas signaling for ts23 to ts16 for port 4 135 0x3c tx_sw_cas_ts31_ts24 cas signaling for ts31 to ts24 for port 4 135 port 5 0x40 tx_sw_cas_ts7_ts0 cas signaling for ts7 to ts0 for port 5 135 0x44 tx_sw_cas_ts15_ts8 cas signaling for ts15 to ts8 for port 5 135 0x48 tx_sw_cas_ts23_ts16 cas signaling for ts23 to ts16 for port 5 135 0x4c tx_sw_cas_ts31_ts24 cas signaling for ts31 to ts24 for port 5 135 port 6 0x50 tx_sw_cas_ts7_ts0 cas signaling for ts7 to ts0 for port 6 135 0x54 tx_sw_cas_ts15_ts8 cas signaling for ts15 to ts8 for port 6 13 5 0x58 tx_sw_cas_ts23_ts16 cas signaling for ts23 to ts16 for port 6 135 0x5c tx_sw_cas_ts31_ts24 cas signaling for ts31 to ts24 for port 6 135 port 7 0x60 tx_sw_cas_ts7_ts0 cas signa ling for ts7 to ts0 for port 7 135 0x64 tx_sw_cas_ts15_ts8 cas signaling for ts15 to ts8 for port 7 135 0x68 tx_sw_cas_ts23_ts16 cas signaling for ts23 to ts16 for port 7 135 0x6c tx_sw_cas_ts31_ts24 cas signaling for ts31 to ts24 for port 7 135 port 8 0x70 tx_sw_cas_ts7_ts0 cas signaling for ts7 to ts0 for port 8 135 0x74 tx_sw_cas_ts15_ts8 cas signaling for ts15 to ts8 for port 8 135 0x78 tx_sw_cas_ts23_ts16 cas signaling for ts23 to ts16 for port 8 135 0x7c tx_sw_cas_ts31_ts24 cas signaling for ts31 to ts24 for port 8 135 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 135 of 198 tx_sw_cas_ts7_ts0 0x000+(port - 1)*0x10 bits data element name r/w reset value description [31:28] ts7_cas_nibble r/w none cas signaling (abcd) for timeslot 7 [27:24] ts6_cas_nibble r/w none cas signaling (abcd) for timeslot 6 [23:20] ts5_cas_nibble r/w none cas signaling (abcd) for timeslot 5 [19:16] ts4 _cas_nibble r/w none cas signaling (abcd) for timeslot 4 [15:12] ts3_cas_nibble r/w none cas signaling (abcd) for timeslot 3 [11:8] ts2_cas_nibble r/w none cas signaling (abcd) for timeslot 2 [7:4] ts1_cas_nibble r/w none cas signaling (abcd) for timesl ot 1 [3:0] ts0_cas_nibble r/w none cas signaling (abcd) for timeslot 0 tx_sw_cas_ts15_ts8 0x004+(port - 1)*0x10 bits data element name r/w reset value description [31:28] ts15_cas_nibble r/w none cas signaling (abcd) for timeslot 15 [27:24] ts14_cas_nibble r/w none cas signaling (abcd) for timeslot 14 [23:20] ts13_cas_nibble r/w none cas signaling (abcd) for timeslot 13 [19:16] ts12_cas_nibble r/w none cas signaling (abcd) for timeslot 12 [15:12] ts11_cas_nibble r/w none cas signaling (abcd) for tim eslot 11 [11:8] ts10_cas_nibble r/w none cas signaling (abcd) for timeslot 10 [7:4] ts9_cas_nibble r/w none cas signaling (abcd) for timeslot 9 [3:0] ts8_cas_nibble r/w none cas signaling (abcd) for timeslot 8 tx_sw_cas_ts23_ts16 0x008+(port - 1)*0x10 bits data element name r/w reset value description [31:28] ts23_cas_nibble r/w none cas signaling (abcd) for timeslot 23 [27:24] ts22_cas_nibble r/w none cas signaling (abcd) for timeslot 22 [23:20] ts21_cas_nibble r/w none cas signaling (abcd) for tim eslot 21 [19:16] ts20_cas_nibble r/w none cas signaling (abcd) for timeslot 20 [15:12] ts19_cas_nibble r/w none cas signaling (abcd) for timeslot 19 [11:8] ts18_cas_nibble r/w none cas signaling (abcd) for timeslot 18 [7:4] ts17_cas_nibble r/w none cas signaling (abcd) for timeslot 17 [3:0] ts16_cas_nibble r/w none cas signaling (abcd) for timeslot 16 tx_sw_cas_ts31_ts24 0x00c+(port - 1)*0x10 bits data element name r/w reset value description [31:28] ts31_cas_nibble r/w none cas signaling (abcd) for timeslot 31 [27:24] ts30_cas_nibble r/w none cas signaling (abcd) for timeslot 30 [23:20] ts29_cas_nibble r/w none cas signaling (abcd) for timeslot 29 [19:16] ts28_cas_nibble r/w none cas signaling (abcd) for timeslot 28 [15:12] ts27_cas_nibble r/w n one cas signaling (abcd) for timeslot 27 [11:8] ts26_cas_nibble r/w none cas signaling (abcd) for timeslot 26 [7:4] ts25_cas_nibble r/w none cas signaling (abcd) for timeslot 25 [3:0] ts24_cas_nibble r/w none cas signaling (abcd) for timeslot 24 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 136 of 198 11.4.10 re ceive line cas the base address for the tdmop rx line cas register space is 0x40,000 . these read - only registers allow the cpu to examine the state of the cas signaling recovered from received packets and transmitted out of the tdmop block on the tdmn_tsig signals. see section 10.6.5.2 for more details. when rx line cas bits change, an interrupt is generated. the rx_cas_change registers in the interrupt controller indicate which timeslots have changed cas bits. in the register descriptions in this section, the index port indicates port number: 1 - 8 for ds34s108, 1 - 4 for ds34s104, 1 - 2 for ds34s102, 1 only for ds34s101. the index ts indicates timeslot number: 0 to 31. table 11 - 11 . receive line cas registers addr offset register name description page port 1 0x000 rx_line_cas_ts0 cas signaling for timeslot 0 for port 1 136 0x000+ts*4 rx_line_cas_ts[ts] cas signaling for timeslot ts for port 1 136 0x07c rx_line_cas_ts31 cas signaling for timeslot 31 for port 1 136 port 2 0x080 rx_line_cas_ts0 cas signaling for timeslot 0 for port 2 136 0x0 80+ts*4 rx_line_cas_ts[ts] cas signaling for timeslot ts for port 2 136 0x0fc rx_line_cas_ts31 cas signaling for timeslot 31 for port 2 136 port 3 0x100 rx_line_cas_ts0 cas signaling for timeslot 0 for port 3 136 0x100+ts*4 rx_line_cas_ts[ts] cas signaling for timeslot ts for port 3 136 0x17c rx_line_cas_ts31 cas signaling for timeslot 31 for port 3 136 port 4 0x180 rx_line_cas_ts0 cas signaling for timeslot 0 for port 4 136 0x180+ts*4 rx_line_cas_ts[ts] cas signaling for timeslot ts for port 4 136 0x1fc rx_line_cas_ts31 cas signaling for time slot 31 for port 4 136 port 5 0x200 rx_line_cas_ts0 cas signaling for timeslot 0 for port 5 136 0x200+ts*4 rx_line_cas_ts[ts] ca s signaling for timeslot ts for port 5 136 0x27c rx_line_cas_ts31 cas signaling for timeslot 31 for port 5 136 port 6 0x280 rx_li ne_cas_ts0 cas signaling for timeslot 0 for port 6 136 0x280+ts*4 rx_line_cas_ts[ts] cas signaling for timeslot ts for port 6 136 0x2fc rx_line_cas_ts31 cas signaling for timeslot 31 for port 6 136 port 7 0x300 rx_line_cas_ts0 cas signaling for timeslot 0 for port 7 136 0x300+ts*4 rx_line_cas_ts[ts] cas signaling for timeslot ts for port 7 136 0x37c rx_line_cas_ts31 cas signaling for timeslot 31 for port 7 136 port 8 0x380 rx_line_cas_ts0 cas signaling for timeslot 0 for port 8 136 0x380+ts*4 rx_line_cas_ts[ts] cas signaling for timeslot ts for port 8 136 0x3fc rx_line_cas_ts31 cas signaling for timeslot 31 for port 8 136 rx_line_cas 0x000+(port - 1)*0x80+ts*4 bits data element name r/w reset value description [31:4] reserved - 0x0 must be set to zero [3:0] rx_cas ro none cas signaling (abcd) towards tdmn_tsig downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 137 of 198 11.4.11 clock recovery the base address for the tdmop clock recovery register space is 0x48,000 . most of the registers in this section of the tdmop block are not documented. the hal (hardware abstraction layer) software manages these registers. in the register descriptions in this section, the index port indicates port number: 1 - 8 for ds34s108, 1 - 4 for ds34s104, 1 - 2 for ds3 4s102, 1 only for ds34s101. table 11 - 12 . clock recovery registers addr offset register name description page port 1 0x0000 control_word_p1 port1 clock recover y control bits 137 0x0004 - 00a0 clk_recovery_cfg_reg1 - 40 port1 clock recovery configuration registers (not documented) --- port 2 0x0400 control_word_p2 port2 clock recovery control bits 137 0x0404 - 04a0 clk_recovery_cfg_reg1 - 40 port2 clock recovery configuration registers (not documented) --- port 3 0x0800 control_word_p3 por t3 clock recovery control bits 137 0x0804 - 08a0 clk_recovery_cfg_reg1 - 40 port3 clock recovery configuration registers (not documented) --- port 4 0x0c00 control_word _p4 port4 clock recovery control bits 137 0x0c04 - 0ca0 clk_recovery_cfg_reg1 - 40 port4 clock recovery configuration registers (not documented) --- port 5 0x1000 cont rol_word_p5 port5 clock recovery control bits 137 0x1004 - 10a0 clk_recovery_cfg_reg1 - 40 port5 clock recovery configuration registers (not documented) --- port 6 0x1400 control_word_p6 port6 clock recovery control bits 137 0x1404 - 14a0 clk_recovery_cfg_reg1 - 40 port6 clock recovery configuration registers (not documented) --- port 7 0x1800 control_word_p7 port7 clock recovery control bits 137 0x1804 - 18a0 clk_recovery_cfg_reg1 - 40 port7 clock recovery configuration registers (not documented) --- port 8 0x1c00 control_word_p8 port8 clock recovery control bits 137 0x1c04 - 1ca0 clk_recovery_cfg_reg1 - 40 port8 clock recovery configuration registers (not documented) --- when using the clock recovery mechanism of a certain port, its rx_pdvt parameter in the bundle configuration must also be configured. clk_recovery_control_word 0x000+(port - 1)*0x400 bits data element name r/w reset value description [31:1] reserved - 0x0 set according to the hal function [0] system_reset w/o 0x0 1 = reset the clock recovery system downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 138 of 198 11.4.12 receive sw conditioning octet select the base address for the tdmop rx software conditioning octet select register space is 0x50,000 . these registers specify which of four conditioning bytes ( tdm_cond_octet_a through tdm_cond_octet_d in tdm_cond_data_reg ) the tdmop block transmits on the tdmn_tx signals during an unassigned timeslot. the specified value is also the conditioning octet that is inserted into the jitter buffer for lost packet compensatio n. in the register descriptions in this section, the index port indicates port number: 1 - 8 f or ds34s108, 1 - 4 for ds34s104, 1 - 2 for ds34s102, 1 only for ds34s101. the index ts indicates timeslot number: 0 to 31. table 11 - 13 . receive sw conditioning octet select registers addr offset register name description page port 1 0x000 rx_sw_cond_ts0 rx software conditioning for timeslot 0 for port 1 138 0x000+ts*4 rx_sw_cond_ts[ts] rx software conditioning for timeslot ts for port 1 138 0x07c rx_sw_cond_ts31 rx software conditioning for timeslot 31 for port 1 138 port 2 0x080 rx_sw_cond_ts0 rx software conditioning for timeslot 0 for port 2 138 0x080+ts*4 rx_sw_cond_ts[ts] rx software conditioning for timeslot ts for po rt 2 138 0x0fc rx_sw_cond_ts31 rx software conditioning for timeslot 31 for port 2 138 port 3 0x100 rx_sw_cond_ts0 rx software condition ing for timeslot 0 for port 3 138 0x100+ts*4 rx_sw_cond_ts[ts] rx software conditioning for timeslot ts for port 3 138 0x17c rx_sw_cond_ts31 rx software conditioning for timeslot 31 for port 3 138 port 4 0x180 rx_sw_cond_ts0 rx software conditioning for timeslot 0 for port 4 138 0x180+ts*4 rx_sw_cond_ts[ts] rx software conditioning for timeslot ts for port 4 138 0x1fc rx_sw_cond_ts31 rx software conditioning for timeslot 31 for port 4 138 por t 5 0x200 rx_sw_cond_ts0 rx software conditioning for timeslot 0 for port 5 138 0x200+ts*4 rx_sw_cond_ts[ts] rx software conditioning for timeslot ts for port 5 138 0x27c rx_sw_cond_ts31 rx software conditioning for timeslot 31 for port 5 138 port 6 0x280 rx_sw_cond_ts0 rx software conditioning for timeslot 0 for port 6 138 0x280+ts*4 rx_sw_cond_ts[ts] rx software conditioning for timeslot ts for port 6 138 0x2fc rx_sw_cond_ts31 rx soft ware conditioning for timeslot 31 for port 6 138 port 7 0x300 rx_sw_cond_ts0 rx software conditioning for timeslot 0 for port 7 138 0x300+ts*4 rx_sw_cond_ts[ts] rx software conditioning for timeslot ts for port 7 138 0x37c rx_sw_cond_ts31 rx software conditioning for timeslot 31 for port 7 138 port 8 0x380 rx_sw_cond_ts0 rx software conditioning for timeslot 0 for port 8 138 0x380+ts*4 rx_sw_cond_ts[ts] rx software conditioning for timeslot ts for port 8 138 0x3fc rx_sw_cond_ts31 rx software conditioning for timeslot 31 for port 8 138 rx_sw_cond 0x000+(port - 1)*0x80+ts*4 bits data element name r/w reset value description [31:2] reserved - 0x0 must be set to zero [1:0] cond_octet_sel r/w none 00 = tdm_cond_octet_a 01 = tdm_cond_octet_b 10 = tdm_cond_octet_c 11 = tdm_cond_octet_d downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 139 of 198 11.4.13 receive sw cas the base address for the tdmop rx software cas register space is 0x58,000 . these registers specify the cas signaling bits the tdmop block transmits on the tdmn_tsig signals during unassigned timeslots and during timeslots where cas is not assigned. see section 10.6.5.2 for more details. in the register descriptions in this section, the index port indicates port number: 1 - 8 for ds34s108, 1 - 4 for ds34s104, 1 - 2 for ds34s102, 1 only for ds34s101. the index ts indicates timeslot number: 0 to 31. tabl e 11 - 14 . receive sw cas registers addr offset register name description page port 1 0x000 rx_sw_cas_ts0 rx software conditioning for timeslot 0 for port 1 139 0x000+ts*4 rx_sw_cas_ts[ts] rx software conditioning for timeslot ts for port 1 139 0x07c rx_sw_cas_ts31 rx software conditioning for timeslot 31 for port 1 139 port 2 0x080 rx_sw_cas_ts0 rx software conditioning for timeslot 0 for port 2 139 0x080+ts*4 rx_sw_cas_ts[ts] rx software conditioning fo r timeslot ts for port 2 139 0x0fc rx_sw_cas_ts31 rx software conditioning for timeslot 31 for port 2 139 port 3 0x100 rx_sw_cas_ts0 rx soft ware conditioning for timeslot 0 for port 3 139 0x100+ts*4 rx_sw_cas_ts[ts] rx software conditioning for timeslot ts for port 3 139 0x17c rx_sw_c as_ts31 rx software conditioning for timeslot 31 for port 3 139 port 4 0x180 rx_sw_cas_ts0 rx software conditioning for timeslot 0 for port 4 139 0x180+ts*4 rx_sw_cas_ts[ts] rx software conditioning for timeslot ts for port 4 139 0x1fc rx_sw_cas_ts31 rx software conditioning for timeslot 31 for port 4 139 port 5 0x200 rx_sw_cas_ts0 rx software conditioning for timeslot 0 for port 5 139 0x200+ts*4 rx_sw_cas_ts[ts] rx software conditioning for timeslot ts for port 5 13 9 0x27c rx_sw_cas_ts31 rx software conditioning for timeslot 31 for port 5 139 port 6 0x280 rx_sw_cas_ts0 rx software conditioning for timeslot 0 fo r port 6 139 0x280+ts*4 rx_sw_cas_ts[ts] rx software conditioning for timeslot ts for port 6 139 0x2fc rx_sw_cas_ts31 rx software conditioning for timeslot 31 for port 6 139 port 7 0x300 rx_sw_cas_ts0 rx software conditioning for timeslot 0 for port 7 139 0x300+ts*4 rx_sw_cas_ts[ts] rx software conditioning for timeslot ts for port 7 139 0x37c rx_sw_cas_ts31 rx software conditioning for timeslot 31 for port 7 139 port 8 0x380 rx_sw_cas_ts0 rx software conditioning for timeslot 0 for port 8 139 0x380+ts*4 rx_sw_cas_ts[ts] rx software conditioning for timeslot ts for port 8 139 0x3fc rx_sw_cas_ts31 rx software conditioning for timeslot 31 for port 8 139 rx_sw_cas 0x000+(port - 1)*0x80+ts*4 bits data element name r/w reset value description [31:4] reserved - 0x0 must be set to zero [3 :0] rx_cas r/w none cas signaling (abcd) transmitted towards tdmn_tsig when rx_cas_src=1 in bundle configuration tables . must be different from 0000. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 140 of 198 11.4.14 interrupt controller the base address for the interrupt controller register space is 0x68,000 . the intpend register and the change registers listed below have latched status bits that indicat e various tdmop hardware events. for each bit, the value 1 indicates that the event occurred. writing 1 to a bit clears it t o 0. writing 0 to a bit does not change its value. the intmask register and the other mask registers listed below have an interrupt mask bit corresponding to each bit in the associated change register. each mask bit masks the interrupt when set to 1 and does not mask the interrupt when set to 0. the intpend register is the master inter rupt status register. change bits in intpend indicate that one or more events of a specific type have occurred. more details about which ports or bundles had that type of event can be found by reading the change register(s) for that event type. in the register descriptions in this section, the index port indicates port number: 1 - 8 for ds34s108, 1 - 4 for ds34s104, 1 - 2 for ds34s102, 1 only for ds34s101. table 11 - 15 . interrup t controller registers addr offset register name description page 0x000 intpend interrupts pending register 141 0x004 intmask interrupt mask register 142 0x040 rx_cas_change_p1 rx cas change for timeslots in port 1 143 0x044 rx_cas_change_p2 r x cas change for timeslots in port 2 143 0x048 rx_cas_change_p3 rx cas change for timeslots in port 3 143 0x04c rx_cas_change_p4 rx cas change for timeslots in port 4 143 0x050 rx_cas_change_p5 rx cas change for timeslots in port 5 143 0x054 rx_cas_change_p 6 rx cas change for timeslots in port 6 143 0x058 rx_cas_change_p7 rx cas change for timeslots in port 7 143 0x05c rx_cas_change _p8 rx cas change for timeslots in port 8 143 0x080 jbc_underrun_p1 jbc underrun in port 1 . 143 0x088 jbc_underrun_p2 jbc underru n in port 2 143 0x090 jbc_underrun_p3 jbc underrun in port 3 143 0x098 jbc_underrun_p4 jbc underrun in port 4 143 0x0a0 jbc_underrun_p5 jbc underrun in port 5 143 0x0a8 jbc_underrun_p6 jbc underrun in port 6 143 0x0b0 jbc_underrun_p7 jbc underrun in port 7 143 0x0b8 jbc_underrun_p8 jbc underrun in port 8 143 0x084 jbc_underrun_mask_p1 jbc underrun mask for port 1 143 0x08c jbc_underrun_mask_p2 jbc underrun mask for port 2 143 0x094 jbc_underrun_mask_p3 jbc underrun mask for port 3 143 0x09c jbc_underrun_mask_p4 jbc underrun mask for port 4 143 0x0a4 jbc_underrun_mask_p5 jbc underrun mask for port 5 143 0x0ac jbc_underrun_mask_p6 jbc underrun mask for port 6 143 0x0b4 jbc_underrun_mask_p7 jbc underrun mask for port 7 143 0x0bc jbc_underrun_mask_p8 jbc underrun mask for port 8 143 0x0c0 tx_cas_change_p1 tx cas change for timeslots in port 1 144 0x0c8 tx_cas_change_p2 tx cas change for timeslots in port 2 144 0x0d0 tx_cas_change_p3 tx cas change for timeslots in port 3 144 0x0d8 tx_cas_change_p4 tx cas change for timeslots in port 4 144 0x0e0 tx_cas_change_p5 tx cas change for timeslots in port 5 144 0x0e8 tx_cas_change_p6 tx cas change for timeslots in port 6 144 0x0f0 tx_cas_change_p7 tx cas change for timeslots in port 7 144 0x0f8 tx_cas_change_p8 tx cas change for timeslots in port 8 144 0x0c4 tx_cas_change_mask_p1 tx cas change mask for port 1 144 0x0cc tx_cas_change_mask_p2 tx cas change mask for port 1 144 0x0d4 tx_cas_change_mask_p3 tx cas change mask for port 1 144 0x0dc tx_cas_change_mask_p4 tx cas change mask for port 1 144 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 141 of 198 addr offset register name description page 0x0e4 tx_cas_change_mask_p5 tx cas change mask for port 1 144 0x0ec tx_cas_change_mask_p6 tx cas change mask for port 1 144 0x0f4 tx_cas_change_mask_p7 tx cas change mask for port 1 144 0x0fc tx_cas_change_mask_p8 tx cas change ma sk for port 1 144 0x100 rts_change rts change register for ports 1 to 8 144 0x104 rts_mask rts change mask for ports 1 to 8 144 0x140 cw_bits_change_low_bundles cw bits change for bundles 0 to 3 1 144 0x144 cw_bits_mask_low_bundles cw bits change mask for bundles 31 to 0 144 0x148 cw_bits_change_high_bundles cw bits change for bundles 32 to 63 145 0x14c cw_bits_mask_high_bundles cw bits change mask for bundles 63 to 32 145 0x180 cw_bits_change_mask which cw fields (l, r, m, frg) cause interrupts on change 145 0x1c0 cpu _queues_change which cpu pools and queues went above/below thresholds 145 0x1c4 cpu_queues_mask cpu queues changed mask 146 intpend 0x000 bits data element name r/w reset value description [31:28] reserved - 0x0 must be set to zero [27] eth_mac r/w 0x0 ethernet mac interrupt. read the mac_ interrupt_status register to determine the interrupt source(s). [26] cpu queues r/w 0x0 the fill level of one or more of the cpu queues and pools has gone beyond the configured threshold. read the cpu_queues_change register to determine the interrupt source(s). [25] cw_bits_change r/w 0x0 at least one of the l, r, m or frg control word fields has changed in one or more bundles. read the cw_bits_change_low_bundles and cw_bits_change_high_bundles registers to determine the interrupt source(s). the cw_bits_change_mask register indicates which of the four cw fields can cause an interrupt when changed. [24] rts_changes r/w 0x0 1 = the state of the rts pin ( tdmn_rsig_rts ) for one or more ports has changed . this only applies for port in asynchronous serial interface mode ( port[n]_cfg_reg . int_type =00). read the rts_change register to determ ine the interrupt source(s). [23] tx_cas_change_p8 r/w 0x0 a change has occurred in the cas signaling bits for port8. read the port7 tx_cas_change register to determine the interrupt source(s). [22] tx_cas_chang e_p7 r/w 0x0 a change has occurred in the cas signaling bits for port7. read the port7 tx_cas_change register to determine the interrupt source(s). [21] tx_cas_change_p6 r/w 0x0 a change has occurred in the cas si gnaling bits for port6. read the port7 tx_cas_change register to determine the interrupt source(s). [20] tx_cas_change_p5 r/w 0x0 a change has occurred in the cas signaling bits for port5. read the port7 tx_cas_change register to determine the interrupt source(s). [19] tx_cas_change_p4 r/w 0x0 a change has occurred in the cas signaling bits for port4. read the port7 tx_cas_change register to determine the interrupt source(s). [18] tx_cas_change_p3 r/w 0x0 a change has occurred in the cas signaling bits for port3. read the port7 tx_cas_change register to determine the interrupt source(s). [17] tx_cas_change_p2 r/w 0x0 a change has occurred in the cas signaling bits for port2. read the port7 tx_cas_change register to determine the interrupt source(s). [16] tx_cas_change_p1 r/w 0x0 a change has occur red in the cas signaling bits for port1. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 142 of 198 intpend 0x000 bits data element name r/w reset value description read the port7 tx_cas_change register to determine the interrupt source(s). [15] jbc_underrun_p8 r/w 0x0 one of the port8 jitter buffers is in underrun state. read the por t8 jbc_underrun register to determine the interrupt source(s). [14] jbc_underrun_p7 r/w 0x0 one of the port7 jitter buffers is in underrun state. read the port7 jbc_underru n register to determine the interrupt source(s). [13] jbc_underrun_p6 r/w 0x0 one of the port6 jitter buffers is in underrun state. read the port6 jbc_underrun register to determine the interrupt source(s). [12] jbc_underrun_p5 r/w 0x0 one of the port5 jitter buffers is in underrun state. read the port5 jbc_underrun register to determine the interrupt source(s). [11] jbc_underrun_p4 r/w 0x0 one of the port4 jitter buffer s is in underrun state. read the port4 jbc_underrun register to determine the interrupt source(s). [10] jbc_underrun_p3 r/w 0x0 one of the port3 jitter buffers is in underrun state. read the port3 jbc_underrun register to determine the interrupt source(s). [9] jbc_underrun_p2 r/w 0x0 one of the port2 jitter buffers is in underrun state. read the port2 jbc_underrun register to determine the interrupt source(s). [8] jbc_underrun_p1 r/w 0x0 one of the port1 jitter buffers is in underrun state. read the port1 jbc_underrun register to determine the interrupt source(s). [7] rx_cas_change_p8 r/w 0x0 a change has occurred in port8 receive line cas table. read the port8 rx_cas_change register to determine the interrupt source(s). [6] rx_cas_change_p7 r/w 0x0 a cha nge has occurred in port7 receive line cas table. read the port7 rx_cas_change register to determine the interrupt source(s). [5] rx_cas_change_p6 r/w 0x0 a change has occ urred in port6 receive line cas table. read the port6 rx_cas_change register to determine the interrupt source(s). [4] rx_cas_change_p5 r/w 0x0 a change has occurred in po rt5 receive line cas table. read the port5 rx_cas_change register to determine the interrupt source(s). [3] rx_cas_change_p4 r/w 0x0 a change has occurred in port4 receive line cas table. read the port4 rx_cas_change register to determine the interrupt source(s). [2] rx_cas_change_p3 r/w 0x0 a change has occurred in port 3 receive line cas table. read the port3 rx_cas_change register to determine the interrupt source(s). [1] rx_cas_change_p2 r/w 0x0 a change has occurred in port 2 receive line cas table. read the port2 rx_cas_change register to determine the interrupt source(s). [0] rx_cas_change_p1 r/w 0x0 a change has occurred in port 1 receive line cas table. read the port1 rx_cas_change register to determine the interrupt source(s). intmask 0x004 bits data element name r/w reset value description [31:28] reserved - 0x0 must be set to zero [27] eth_mac r/w 0x1 mask ethernet mac interrupt. [26] cpu queues r/w 0x1 mask cpu queues change interrupt. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 143 of 198 intmask 0x004 bits data element name r/w reset value description [25] cw_bits_change r/w 0x1 mask control word bits change interrupt. [24] rts_changes r/w 0x1 mask rts change interrupt. [23] tx_cas_chang e_p8 r/w 0x1 mask tx_cas_change_p8 interrupt. [22] tx_cas_change_p7 r/w 0x1 mask tx_cas_change_p7 interrupt. [21] tx_cas_change_p6 r/w 0x1 mask tx_cas_change_p6 interrupt. [20] tx_cas_change_p5 r/w 0x1 mask tx_cas_change_p5 interrupt. [19] tx_cas_change_p4 r/w 0x1 mask tx_cas_change_p4 interrupt. [18] tx_cas_change_p3 r/w 0x1 mask tx_cas_change_p3 interrupt. [17] tx_cas_change_p2 r/w 0x1 mask tx_cas_change_p2 interrupt. [16] tx_cas_change_p1 r/w 0x1 mask tx_cas_change_p1 interrupt. [15] jbc_underrun_p8 r/w 0x1 mask jbc_underrun_p8 interrupt. [14] jbc_underrun_p7 r/w 0x1 mask jbc_underrun_p7 interrupt. [13] jbc_underrun_p6 r/w 0x1 mask jbc_underrun_p6 interrupt. [12] jbc_underrun_p5 r/w 0x1 mask jbc_underrun_p5 interrupt. [11] jbc_underrun_p4 r /w 0x1 mask jbc_underrun_p4 interrupt. [10] jbc_underrun_p3 r/w 0x1 mask jbc_underrun_p3 interrupt. [9] jbc_underrun_p2 r/w 0x1 mask jbc_underrun_p2 interrupt. [8] jbc_underrun_p1 r/w 0x1 mask jbc_underrun_p1 interrupt. [7] rx_cas_change_p8 r/w 0x1 m ask rx_cas_change_p8 interrupt. [6] rx_cas_change_p7 r/w 0x1 mask rx_cas_change_p7 interrupt. [5] rx_cas_change_p6 r/w 0x1 mask rx_cas_change_p6 interrupt. [4] rx_cas_change_p5 r/w 0x1 mask rx_cas_change_p5 interrupt. [3] rx_cas_change_p4 r/w 0x1 mask rx_cas_change_p4 interrupt. [2] rx_cas_change_p3 r/w 0x1 mask rx_cas_change_p3 interrupt. [1] rx_cas_change_p2 r/w 0x1 mask rx_cas_change_p2 interrupt. [0] rx_cas_change_p1 r/w 0x1 mask rx_cas_change_p1 interrupt. rx_cas_change 0x40+(port - 1)*4 bits data element name r/w reset value description [31:0] rx_cas_change r/w 0x0000 0000 bit 31 represents timeslot 31 and bit 0 represents timeslot 0 for the port. when a bit is set it indicates a change in received cas (from the ethernet port) in the corresp onding timeslot. the current cas bits can be read from the appropriate rx_line_cas register (section 11.4.10 ). see section. 10.6 .5.2 jbc_underrun 0x80+(port - 1)*4 bits data element name r/w reset value description [31:0] jbc_underrun r/w 0x0000 0000 bit 31 represents timeslot 31 and bit 0 represents timeslot 0 for the port. when a bit is set it indicates a jitter buffer under run for the corresponding timeslot. jbc_underrun_mask 0x84+(port - 1)*8 bits data element name r/w reset value description [31:0] jbc_underrun_mask r/w 0xffff ffff each bit masks an interrupt caused by the corresponding bit in the jbc_underrun register. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 144 of 198 tx_cas_change 0xc0+(port - 1)*8 bits data element name r/w reset value description [31:0] tx_cas_change r/w 0x0000 0000 bit 31 represents timeslot 31 and bit 0 represents timeslot 0 for the port. when a bit is set it indicates a change in transmit (toward the ethernet port) cas bits in the corresponding timeslot. the current cas bits can be read from the signaling registers in the neighboring framer ic. see sect ion 10.6.5.1 . tx_cas_change_mask 0xc4+(port - 1)*8 bits data element name r/w reset value description [31:0] tx_cas_change_maxk r/w 0xffff ffff each bit masks interrupts caused by the corresponding bit in the tx_cas_change register. see section 10.6.5.1 . rts_change 0x100 bits data element name r/w reset value description [31:8] reserved - 0x0 must be set to zero [7] rts8_ change r/w 0x0 tdm8_rts input level changed. [6] rts7_ change r/w 0x0 tdm7_rts input level changed. [5] rts6_ change r/w 0x0 tdm6_rts input level changed. [4] rts5_ change r/w 0x0 tdm5_rts input level changed. [3] rts4_ change r/ w 0x0 tdm4_rts input level changed. [2] rts3_ change r/w 0x0 tdm3_rts input level changed. [1] rts2_ change r/w 0x0 tdm2_rts input level changed. [0] rts1_ change r/w 0x0 tdm1_rts input level changed. rts_mask 0x104 bits data element name r/w reset value description [31:8] reserved - 0x0 must be set to zero [7:0] rts_mask r/w 0xff each bit masks interrupts caused by the corresponding bit in the rts_change register. cw_bits_change_low_bundles 0x140 bits data element name r/w reset value description [31:0] cw_bits_change r/w 0xffff ffff bit 31 represents bundle 31 and bit 0 represents bundle 0. when a bit is set it indicates the corresponding bundle had a change in one of the bundles control word fields: l, r, m or frg. the cw_bits_change_mask register specifies which of the four control word fields can cause an interrupt when changed. the current state of the f our fields can be read from the packet classifier status register in the per - bundle status tables (section 11.4.4.1 ). cw_bits_mask_low_bundles 0x144 bits data element name r/w reset value description [31:0] cw_bits_mask r/w 0xffff ffff bit 31 represents bundle 31 and bit 0 represents bundle 0. mask the interrupt from the corresponding bit in the downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 145 of 198 cw_bits_mask_low_bundles 0x144 bits data element name r/w reset value description cw_bits_change_low_bundles register. cw_bits_change_high_bundles 0x148 bits data element name r/w reset value description [31:0] cw_bits_change r/w 0xffff ffff bit 31 represents bundle 63 and bit 0 represents bundle 32. when a bit is set it indicates the corresponding bundle had a change in one of the bundles control word fields: l, r, m or frg. the cw_bits_change_mask register specifies which of the four control word fields can cause an interrupt when changed. the current state of the four fields can be read from the packet classifier status register in the per - bundle status tables (section 11.4.4.1 ). cw_bits_mas k_high_bundles 0x14c bits data element name r/w reset value description [31:0] cw_bits_mask r/w 0xffff ffff bit 31 represents bundle 63; bit 0 represents bundle 32. mask the interrupt from the corresponding bit in the cw_bits_change_high_bundles register. cw_bits_change_mask 0x180 bits data element name r/w reset value description [31:6] reserved - 0x0 must be set to zero [5] rx_sync_l oss r/w none mask interrupts caused by l field changing in control word [4] rx_remote_fail r/w none mask interrupts caused by r field changing in control word [3:2] rx_lbit_modifier r/w none mask interrupts caused by m field changing in control word [1: 0] fragmentation_bits r/w none mask interrupts caused by frg field changing in control word cpu_queues_change 0x1c0 bits data element name r/w reset value description [31:10] reserved - 0x0 must be set to zero [9] tdm_to_cpu_pool_thresh r/w 0x0 tdm t o cpu pool level threshold. [8] tdm_to_cpu_q_thresh r/w 0x0 tdm to cpu queue level threshold. [7] cpu_to_eth_q_thresh r/w 0x0 cpu to ethernet queue level threshold. [6] eth_to_cpu_pool_thresh r/w 0x0 ethernet to cpu pool level threshold. [5] eth_to_cpu_q_thresh r/w 0x0 ethernet to cpu queue level threshold [4:3] reserved r/w 0x0 must be set to zero [2] cpu_to_tdm_q_thresh r/w 0x0 cpu to tdm queue level threshold. [1] tx_return_q_thresh r/w 0x0 cpu tx return queue level threshold. [ 0] rx_ return_q_thresh r/w 0x0 cpu rx return queue level threshold. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 146 of 198 cpu_queues_mask 0x1c4 bits data element name r/w reset value description [31:10] reserved - 0x0 must be set to zero [9] tdm_to_cpu_pool_thresh r/w 0x1 mask tdm_to_cpu_pool_thresh i nterrupts [8] tdm_to_cpu_q_thresh r/w 0x1 mask tdm_to_cpu_q_thresh interrupts [7] cpu_to_eth_q_thresh r/w 0x1 mask cpu_to_eth_q_thresh interrupts [6] eth_to_cpu_pool_thresh r/w 0x1 mask eth_to_cpu_pool_thresh interrupts [5] eth_to_cpu_q_thresh r/w 0x1 mask eth_to_cpu_q_thresh interrupts [4:3] reserved r/w 0x1 must be set to zero [2] cpu_to_tdm_q_thresh r/w 0x1 mask cpu_to_tdm_q_thresh interrupts [1] tx_return_q_thresh r/w 0x1 mask tx_return_q_thresh interrupts [0] rx_return_q_thresh r/w 0x1 mask rx _return_q_thresh interrupts downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 147 of 198 11.4.15 packet classifier the base address for the packet classifier register space is 0x70,000 . in the register descriptions in this section the index n indicates register number: 1 to 8. these registers can store eight possible oam bundle numbers. table 11 - 16 . packet classifier oam identification registers addr offset register name description page 0x000 oam identification1 1st identification for control packets 147 0x004 oam identification2 2nd identification for control packets 147 0x008 oam identification3 3rd identification for control packets 147 0x00c oam identification4 4th identification for control packets 147 0x010 oam identification5 5th identification for control packets 147 0x014 oam identification6 6th identificatio n for control packets 147 0x018 oam identification7 7th identification for control packets 147 0x01c oam iden tification8 8th identification for control packets 147 0x080 oam identification validity1 1st identification validity for control packets 147 0x084 oam identification validity2 2nd identification validity for control packets 147 0x088 oam iden tification validity3 3rd identification validity for control packets 147 0x08c oam identification validity4 4th identification validity for control packets 147 0x090 oam identification validity5 5th identification validity for control packets 147 0x094 oam identification validity6 6th identification validity for control packets 147 0x098 oam identification validity7 7th identification validity fo r control packets 147 0x09c oam identification validity8 8th identification validity for control packets 147 oam_ident ification[n] 0x000+(n - 1)*4 bits data element name r/w reset value description [31:0] oam identification r/w none oam identification n . if the corresponding validity bit (below) is set then the packet classifier compares the bundle identifier of receive d packets with the value stored in this register. if they match then the packet classifier considers the received packet to be an oam packet. see section 10.6.13.3 . oam_identification_validity[n] 0x080+(n - 1)* 4 bits data element name r/w reset value description [31:1] reserved - 0x0 must be set to zero [0] oam identification validity r/w 0x0 1 = oam identification n (above) has a valid value. see section 10.6.13.3 . downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 148 of 198 11.4.16 ethernet mac the base address for the ethernet mac register space is 0x72,000 . configuration and status registers are listed in subsection 11.4.16.1 . co unters are listed in subsection 11.4.16.2 . 11.4.16.1 ethernet mac configuration and status registers table 11 - 17 . ethernet mac registers addr offset register name descriptio n page 0x00 mac_network_control mac control register 148 0x04 mac_network_configuration mac configuration register 149 0x08 mac_network_status mac netw ork status register 150 0x14 mac_transmit_status mac transmitter status register 150 0x24 mac_interrupt_status mac interrupt status register 150 0x28 mac_interrupt_enable mac interrupt enable register 150 0x2c mac_interrupt_disable mac interrupt disable register 151 0x30 mac_interrupt_mask mac interrupt mask register 151 0x34 mac_phy_maintenance phy maintenance register 152 0x38 mac_pause_time mac pause time register 152 0x98 mac_specific_address_lower mac specific address register (bits 31:0) 152 0x9c mac_specific_address_upper mac specific address register (bits 47:32) 152 0xbc mac_transmit_paulse_quantum mac transmit pause quantum register 153 0xc0 phy_smii_status phy smii status register 153 when reading from ethernet mac data elements wider than 16 bits in 16 - bit mode, use the following procedure: 1. read from address 2, i.e. h_ad [1]=1. all 32 bits are internally latched and bits 15:0 are output on h_d [15:0]. 2. read from address 0, i.e. h_ad [1]=0. bits 31:16 are output on h_d [15:0]. when writing to ethernet mac data elements wider than 16 bits in 16 - bit mode, use the following procedure: 1. write to address 2, i.e. h_ad [1]=1. bits 15:0 are internally latched but not written to the register yet. 2. write to address 0, i.e. h_ad [1]=0. all 32 bits are written to the register. bits 31:16 on h_d [15:0] are written to address 0. bits 15:0 in the internal latch are written to address 2. mac_network_control 0x000 bits data element name r/w reset value description [31:13] reserved. ro 0x0 read as zero, ignored on write [12] transmit_zero_quantum_pause_ packet wo none writing a 1 to this bit transmits a pause packet with zero pause quantum at the next available transmit ter idle time. [11] transmit_pause_packet wo none writing 1 to this bit transmits a pause packet with the pause quantum in the mac_transmit_paulse_quantum register at the next available transmitter idle time. [10:9] reserved 0x0 must be set to zero [8] back_pressure r/w 0x0 when set in half duplex mode forces collisions on all received packets. [7] write_enable_for_statistics_ registers r/w 0x0 setting thi s bit to 1 makes the ethernet mac counter registers writable for functional test purposes. [6] increment_statistics_reg wo 0x0 writing 1 increments all statistics registers by one for test purposes. [5] clear_statistics_reg wo 0x0 writing 1 clears the st atistics registers. [4] management_port_enable r/w 0x0 0 = disable phy management port (mdio high impedance, mdc forced low.) 1 = enable the phy management port downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 149 of 198 mac_network_control 0x000 bits data element name r/w reset value description [3] transmit_enable r/w 0x0 0 = stop transmission immediately, clear the transmit fifo and control registers, and reset the transmit queue pointer register to point to the start of the transmit descriptor list. 1 = enable the mac transmitter to send data. this bit must be set during normal operation. [2] rx_enable r/w 0x0 0 = stop packet rec eption immediately 1 = enable the mac receiver to rx data [1:0] reserved - 0x0 must be set to zero mac_network_configuration 0x004 bits data element name r/w reset value description [31:20] reserved - 0x0 read as zero, ignored on write [19] ignore _rx_fcs r/w 0x0 when set, packets with fcs/crc errors are not rejected and no fcs error statistics are counted. for normal operation, this bit must be set to 0. [18] enable_half_duplex_rx r/w 0x0 enable packets to be received in half - duplex mode while tra nsmitting. [17] reserved - 0x0 must be set to zero [16] rx_length_field_checking_enabl e r/w 0x0 when set, packets with measured lengths shorter than their length fields are discarded. packets containing a type id in bytes 13 and 14 (length/type field ? not counted as length errors. [15:14] reserved - 0x0 must be set to zero [13] pause_enable r/w 0x0 when set, ethernet packet transmission pauses when a valid pause packet is received. [12] retry_test r/w 0x0 must be set to zero for normal operation. if set to one, the back - off between collisions is always one slot time. setting this bit to one helps test the too many retries condition. also used in pause packet tests to reduce the pause counters decrement time from 512 bi t times to every clk_mii_rx cycle. [11:10] mdc_frequency r/w 0x2 set according to clk_sys speed. this field determines by what number clk_sys is divided to generate mdc. for conformance with 802.3 mdc must not exceed 2.5 mhz. (mdc is only active during mdio read and write operations). must be set to 0x2. [9] reserved 0x0 must be set to zero [8] rx_2000_byte_packets r/w 0x0 setting this bit means the mac receives packets up to 2000 bytes in length. normally the mac rejects any packet above 1518 bytes [7:5] reserved 0x0 must be set to zero [4] reserved r/w 0x0 must be set to 1 [3:2] reserved 0x0 must be set to zero [1] full_dupl ex r/w 0x0 if set to 1 the transmit block ignores the state of collision and carrier sense and allows rx while transmitting. [0] speed r/w 0x0 0 = 10 mbit/s operation 1 = 100 mbit/s operation used only for rmii and smii interfaces. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 150 of 198 mac_network_status 0x008 bits data element name r/w reset value description [31:3] reserved - 0x0 must be set to zero [2] phy_access_has_completed ro 0x1 1 = phy management logic is idle. [1:0] reserved - 0x0 must be set to zero mac_transmit_status 0x014 bits data element name r/w reset value description [31:7] reserved - 0x0 must be set to zero [6] transmit_underrun r/w 0x0 set when the mac transmit fifo was read while was empty. if this happens the transmitter forces bad crc and forces mii_tx_err high. write 1 to clear this bit. [5:3] reserved - 0x0 must be set to zero [2] retry_limit_exceeded r/w 0x0 set when the retry limit has been exceeded. write 1 to clear this bit. [1] collision_occurred r/w 0x0 set when a collision occurs. write 1 to clear this bit. [0] reserved - 0x0 must be set to zero the mac generates a single interrupt, the eth_mac bit in the intpend register. the mac_interrupt_status register below indicates the source of this interrupt. for test purposes each bit can be set or reset by directly writing to this register regardless of the state of the mask register. otherwise the corresponding bit in the mac_interrupt_mask register must be cleared for a bit to be set in the mac_interrupt_status register. all bits are reset to zero on read. if any bit is set in the mac_interrupt_status register, the eth_mac bit is asserted. at reset all mac interrupts are disabled. writing a one to the relevant bit location in the mac_interrupt_enable register below enables the associated interrupt. writing a one to the relevant bit location in the mac_interrupt_disable register below disables the associated interrupt. mac_interrupt_enable and mac_interrupt_disable are not registers but merely mechanisms for setting and clearing bits in the read - only mac_interrupt_mask register . mac_interrupt_status 0x024 bits data element name r/w reset value description [31:14] reserved ro 0x0 read 0, ignored on write [13] p ause_time_zero r/w 0x0 set when the mac_pause_time register decrements to zero. cleared when read. [12] pause_packet_ rxd r/w 0x0 indicates a valid pause packet has been received. cleared when read. [11:6] reserved 0x0 must be set to zero [5] retry_limit_exceeded r/w 0x0 transmit error. cleared when read. [4] ethernet_transmit_underrun r/w 0x0 set when the mac transmit fifo was read while was empty. if this happens the transmitter forces bad crc and forces mii_tx_err high. cleared when read. [3:1] reserved 0x0 must be set to zero [0] management_packet_sent r/w 0x0 the phy maintenance register has completed its operation. cleared when read. mac_interrupt_enable 0 x028 bits data element name r/w reset value description [31:14] reserved - 0x0 must be set to zero [13] pause_time_zero wo 0x0 1 = enable pause_time_zero interrupt [12] pause_packet_ rxd wo 0x0 1 = enable pause_packet_rxd interrupt [11:6] reserved - 0 x0 must be set to zero downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 151 of 198 mac_interrupt_enable 0 x028 bits data element name r/w reset value description [5] retry_limit_exceeded wo 0x0 1 = enable retry_limit_exceeded interrupt [4] ethernet_transmit_underrun wo 0x0 1 = enable ethernet_transmit_underrun interrupt [3:1] reserved - 0x0 must be set to zero [0] management_packet_sent wo 0x0 1 = enable management_packet_sent interrupt mac_interrupt_disable 0x02c bits data element name r/w reset value description [31:14] reserved - 0x0 must be set to zero [13] pause_time_zero wo 0x0 1 = disable pause_time_zero interrupt [12] pause _packet_ rxd wo 0x0 1 = disable pause_packet_rxd interrupt [11:6] reserved - 0x0 must be set to zero [5] retry_limit_exceeded wo 0x0 1 = disable retry_limit_exceeded interrupt [4] ethernet_transmit_underrun wo 0x0 1 = disable ethernet_transmit_underrun interrupt [3:1] reserved - 0x0 must be set to zero [0] management_packet_sent wo 0x0 1 = disable management_packet_sent interrupt mac_interrupt_mask 0x030 bits data element name r/w reset value description [31:14] reserved - 0x0 must be set to zero [13] pause_time_zero ro 0x1 1 = mask pause_time_zero interrupt [12] pause_packet_ rxd ro 0x1 1 = mask pause_packet_rxd interrupt [11:6] reserved - 0x0 must be set to zero [5] retry_limit_exceeded ro 0x1 1 = mask retry_limit_exceeded interrupt [4] eth ernet_transmit_underrun ro 0x1 1 = mask ethernet_transmit_underrun interrupt [3:1] reserved - 0x0 must be set to zero [0] management_packet_sent ro 0x1 1 = mask management_packet_sent interrupt downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 152 of 198 the mac_ph y_maintenance register below enables the mac to communicate with a phy by means of the mdio interface. it is used during auto negotiation to ensure that the mac and the phy are configured for the same speed and duplex configuration. the phy maintenance register is implemented as a shift register. writing to the register start s a shift operation which is signaled as complete when the phy_access_has_completed bit is set in the mac_network_status register (about 2000 clk_sys cy cles later). an interrupt is generated as this bit is set. during this time, the msb of the register is output on the mdio pin and the lsb is updated from the mdio pin with each mdc cycle. in this way a phy managemen t packet is transmitted on mdio. see section 22.2.4.5 of the ieee 802.3 standard. reading during the shift operation (not recommended) returns the current contents of the shift register. at the end of the shift operation, the bits have shifted back to their original locations. for a read operation, the data bits are updated with data read from the phy. it is important to write the c orrect values to the register to ensure a valid phy management packet is produced. mac_phy_maintenance 0x034 bits data element name r/w reset value description [31:30] start_of_packet r/w 0x0 must be written 01 for a valid packet [29:28] operation r/w 0x0 00 = reserved 01 = write 10 = read 11 = reserved [27:23] phy_address r/w 0x0 specifies the phy to access [22:18] regi ster_address r/w 0x0 specifies the register in the phy to access [17:16] must_be_written_to_10 r/w 0x0 read as written [15:0] phy_data r/w 0x0000 for a write operation this field is the data to be written to the phy. after a read operation this field con tains the data read from the phy mac_pause_time 0x038 bits data element name r/w reset value description [31:16] reserved ro 0x0000 read 0, ignored on write [15:0] pause time ro 0x0000 stores the current value of the pause time register, which is decremented every 512 bit times. mac_specific_address_lower 0x098 bits data element name r/w reset value description [31:0] mac specific address [31:0] r/w 0x0 least significant bits of the mac specific address, i.e. bits 31:0. this field is used for tra nsmission of pause packets as described in section 10.6.12.2 . mac_specific_address_upper 0x09c bits data element name r/w reset value description [31:16] reserved ro 0x0000 read 0, ignored on write [15:0] mac specific address [47:32] r/w 0x0000 most significant bits of the mac specific address, i.e. bits 47:32. see mac_specific_address_lower for details. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 153 of 198 mac_transmit_paulse_quantum 0x0bc bits data element name r/w reset value description [31:16] reserved - 0x0000 must be set to zero [15:0] pause_time r/w 0xffff transmit pause quantum. used in hardware generation of transmitted pause packets as value for pause quantum. phy_smii_status 0x0c0 bi ts data element name r/w reset value description [31:21] reserved ro 0x0000 must be set to zero [20] smii_speed ro none speed recovered from receive smii 0=10mbps, 1=100mbps [19] smii_duplex ro none duplex recovered from receive smii 0=half duplex, 1 =full duplex [18] smii_link ro none link recovered from receive smii 0=link is down, 1=link is up [17] smii_jabber ro none jabber recovered from receive smii 0=ok, 1=error [16] smii_false_carrier ro none false carrier recovered from receive smii 0 =ok, 1=false carrier detected [15:0] reserved ro 0x0000 must be set to zero 11.4.16.2 ethernet mac counters table 11 - 18 . ethernet mac counters addr offset register name description page 0x3c pause_packets_rxd_ok pause packets received ok counter 154 0x40 packets_transmitted_ok packets transmitted ok counter 154 0x44 single_collision_packets sin gle collision packets counter 154 0x48 multiple_collision_packets multiple collision packets counter 154 0x4c packets_rxd_ok packets received ok counter 154 0x50 packet_check_sequence_errors packet check sequence errors counter 154 0x54 alignment_errors alignment errors counter 155 0x58 deferred_transmission_packets deferr ed transmission packets counter 155 0x5c late_collisions late collisions counter 155 0 x60 excessive_collisions excessive collisions counter 155 0x64 transmit_underrun_errors transmit underrun errors counter 155 0x68 carrier_sense_errors carrier sense errors counter 156 0x74 rx_symbol_errors rx symbol errors counter 156 0x78 excessive_length_errors excessive length errors counter 156 0x7c rx_jabbers rx jabbers counter 156 0x80 undersize_packets undersize packets c ounter 156 0x84 sqe_test_errors sqe test errors counter 157 0x8c transmitted_pause_packets transmitted pause packets counter 157 these counters stick at their maximum value and do not roll over. they also reset t o zero when read and therefore should be read frequently enough to prevent loss of data. the rx counters are only incremented when the rx_enable bit is set in the mac_network_control register. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 154 of 198 pause_packets_rxd_ok 0x03c bits data element name r/w reset value description [31:16] reserved - 0x0 must be set to zero [15:0] pause_packets_rxd_ok r/w 0x0 a 16 - bit register counting the number of good pause packets received. a good packet has a length of 64 to 1518 (2000 if rx_2000_byte_packets is set in the mac_network_configuration register ) and has no fcs, alignment or rx symbol errors. packets_transmitted_ok 0x040 bits data element name r/w reset value description [31:0] packets_transmitted_ok r/w 0x0 a 32 - bit register counting the number of packets successfully transmitted, i.e. no underrun and not too many retries. single_collision_packets 0x044 bits data element name r/w reset value description [31:16] reserved - 0x0 must be set to zero [15:0] single_collision_packets r/w 0x0 a 16 - bit register counting the number of packets experiencing a single collision before being successfully transmitted, i.e. no underrun. multiple_collision_packets 0x048 bits data element name r/w reset value description [31:16] reserved - 0x0 must be set to zero [15:0] multiple_collision_packets r/w 0x0 a 16 - bit register counting the number of packets experiencing between two and fifteen collisions prior to being successfully transmitted, i.e. no underrun and not too many retries. packets_rxd_ok 0x04c bits data element name r/w reset value description [31:24] reserved - 0x0 must be set to zero [23:0] packets_rxd_ok r/w 0x0 a 24 - bit register counting the number of good packets received, i.e. packet length is 64 to 1518 bytes (20 00 if rx_2000_byte_packets is set in the mac_network_configuration register ) and has no fcs, alignment or rx symbol errors. packet_check_sequence_errors 0x050 bits data element name r/w reset value description [31:8] reserved - 0x0 must be set to zero [7:0] packet_check_sequence_errors r/w 0x0 an 8 - bit register counting packets that are an integral numb er of bytes, have bad crc and are between 64 and 1518 bytes in length (2000 if rx_2000_byte_packets is set in the mac_network_configuration register ). downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 155 of 198 alignment_errors 0x054 bits data element name r/w reset value description [31:8] reserved - 0x0 must be set to zero [7:0] alignment_errors r/w 0x0 an 8 - bit register counting packets that are not an integr al number of bytes long and have bad crc when their length is truncated to an integral number of bytes and are between 64 and 1518 bytes in length (2000 if rx_2000_byte_packets is set in the mac_network_configuration register ). deferred_transmission_packets 0x058 bits data element name r/w reset value description [31:16] reserved - 0x0 must be set to zer o [15:0] deferred_transmission_packets r/w 0x0 a 16 - bit register counting the number of packets experiencing deferral due to carrier sense being active on their first attempt at transmission. packets involved in any collision are not counted nor are packe ts that experienced a transmit underrun. late_collisions 0x05c bits data element name r/w reset value description [31:8] reserved - 0x0 must be set to zero [7:0] late_collisions r/w 0x0 an 8 - bit register counting the number of packets that experience a collision after the slot time (512 bits) has expired. a late collision is counted twice i.e. both as a collision and a late collision. excessive_collisions 0x060 bits data element name r/w reset value description [31:8] reserved - 0x0 must be set to zero [7:0] excessive_collisions r/w 0x0 an 8 - bit register counting the number of packets that failed to be transmitted because they experienced 16 collisions. transmit_underrun_errors 0x064 bits data element name r/w reset value description [31:8] reserved - 0x0 must be set to zero [7:0] transmit_underruns r/w 0x0 an 8 - bit register counting the number of packets not transmitted due to a transmit fifo underrun. if this register is incremented, no other ethernet mac counter is incremented. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 156 of 198 carrier_ sense_errors 0x068 bits data element name r/w reset value description [31:8] reserved - 0x0 must be set to zero [7:0] carrier_sense_errors r/w 0x0 an 8 - bit register counting the number of packets transmitted where carrier sense was not seen during tran smission or where carrier sense was deasserted after being asserted in a transmit packet without collision (no underrun). only incremented in half - duplex mode. the only effect of a carrier sense error is to increment this register. the behavior of the othe r ethernet mac counters is unaffected by the detection of a carrier sense error. rx_symbol_errors 0x074 bits data element name r/w reset value description [31:8] reserved - 0x0 must be set to zero [7:0] rx_symbol_errors r/w 0x0 an 8 - bit register coun ting the number of packets that had mii_rx_err asserted during reception. excessive_length_errors 0x078 bits data element name r/w reset value description [31:8] reserved - 0x0 must be set to zero [7:0] exce ssive_length_packets r/w 0x0 an 8 - bit register counting the number of packets received exceeding 1518 bytes in length (2000 if rx_2000_byte_packets is set in the mac_network_configuration register ) but do not have a crc error, an alignment error nor a rx symbol error. rx_jabbers 0x07c bits data element name r/w reset value description [31:8] reserved - 0 x0 must be set to zero [7:0] rx_jabbers r/w 0x00 an 8 - bit register counting the number of packets received exceeding 1518 bytes in length (2000 if rx_2000_byte_packets is set in the mac_network_configuration register ) and have either a crc error, an alignment error or a rx symbol error. undersize_packets 0x080 bits data element name r/w reset value descr iption [31:8] reserved - 0x0 must be set to zero [7:0] undersize_packets r/w 0x0 an 8 - bit register counting the number of packets received less than 64 bytes in length, that do not have either a crc error or an alignment error. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 157 of 198 sqe_test_errors 0x084 bits data element name r/w reset value description [31:8] reserved - 0x0 must be set to zero [7:0] sqe_test_errors r/w 0x0 an 8 - bit register counting the number of packets where collision was not asserted within 96 bit times (an interpacket gap) of mii_tx_en being deasserted in half duplex mode. transmitted_pause_packets 0x08c bits data element name r/w reset value description [31:16] reserved - 0x0 must be set to zero [15:0] transmitted_pause_packets r/w 0 x0 a 16 - bit register counting the number of pause packets transmitted. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 158 of 198 12. jtag information for the latest jtag model, search under http://www.maxim - ic.com/tools/bsdl/ . jtag description the device supports the standard instruction codes sample/preload, bypass, and ex test. optional public instructions included are highz, clamp and idcode. see figure 12 -1 for a block diagram. the device contains the following item s which meet the requirements set by the ieee 1149.1 standard test access port and b oundary scan architecture: test access port (tap) tap controller instruction register bypass register boundary scan register device identification register the test access port has the necessary interface pins, namely jtclk , jtrst_n , jtdi , jtdo , and jtms . details on these pins can be found in table 9 -7 . details on the boundary scan architecture and the test access port can be found in ieee 1149.1 - 1990, ieee 1149.1a - 1993, and ieee 1149.1b -1 994. figure 12 -1 . jtag block diagram jtdi jtms jtclk jtrst jtdo test access port controller vdd vdd vdd boundry scan register bypass register instruction register identification register mux select output enable 10k 10k 10k jtag tap controller state machine description this section covers the details on the operation of the test access port (tap ) controller state machine. see figure 12 -2 for details on each of the states described below. the tap controller is a finite state machine whi ch responds to the logic level at jtms on the rising edge of jtclk . downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 159 of 198 figure 12 -2 . jtag tap controller state machine test - logic - reset. upon power - up of the device, the tap controller starts in the test - logic - reset state. the in struction register contains the idcode instruction. all system logic on the device operates norma lly. run - test - idle. run - test - idle is used between scan operations or during specific tests. the instruction register and test register remain idle. select -dr- scan. all test registers retain their previous state. with jtms low, a rising edge of jtclk moves the controller into the capture - dr state and initiates a scan sequence. jtms high moves the controller to the select - ir - scan state. capture - dr. data may be parallel loaded into the test data registers selected by the current instruction. if the instruction does not call for a parallel load or the selected register does not allow par allel loads, the test register remains at its current value. on the rising edge of jtclk , the controller goes to the shift - dr state if jtms is low or it to the exit1 - dr state if jtms is high. shift- dr. the test data register selected by the current instruction is connected between jtdi and jtdo and shifts data one stage towards its serial output on each rising edge of jtclk . if a test register selected by the current instruction is not placed in the serial path, it maintains its previous state. test - logic - reset run - test/idle select dr - scan 1 0 capture - dr 1 0 shift - dr 0 1 exit1 - dr 1 0 pause - dr 1 exit2 - dr 1 update - dr 0 0 1 select ir - scan 1 0 capture - ir 0 shift - ir 0 1 exit1 - ir 1 0 pause - ir 1 exit2 - ir 1 update - ir 0 0 1 0 0 1 0 1 0 1 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 160 of 198 exit1- dr. while in this state, a rising edge on jtclk with jtms high puts the controller in the update - dr state which terminates the scanning process. a rising edge on jtclk with jtms low puts the controller in the pause - dr state. pause - dr. shifting of the test registers is halted while in this state. all test registers select ed by the current i nstruction retain their previous state. the controller remains in this state while jtms is low. a rising edge on jtclk with jtms high puts the controller in the exit2 - dr state. exit2- dr. while in this state, a rising edge on jtclk with jtms high puts the controller in the update - dr state and terminate the scanning process. a rising edge on jtclk with jtms low puts the controller in the shift - dr state. update - dr. a falling edge on jtclk while in the update - dr state latches the data from the shift register path of the test registers into the data output latches. this prevents changes at the parallel output due to changes in the shift register. a rising edge on jtclk with jtms low, puts the controller in the run - test - idle state. with jtms high, the controller enters the select - dr - scan state. select - ir - scan. all test registers retain their previous state. the instruction register remains unchanged during this state. with jtms low, a rising edge on jtclk moves the controller into the capture - ir state and initiates a scan sequence for the instruction register. jtms high during a rising edge on jtclk put s the controller back into the test - logic - reset state. capture - ir. the capture - ir state is used to load the shift register in the instruction register with a fixed value. this value is loaded on the rising edge of jtclk. if jtms is high on the rising edge of jtclk, the controller enters the exit1 - ir state. if jtms is low on the rising edge of jtclk, the controller enters the shift - ir state. shift- ir. in this state, the shift register in the instruction register is connected between j tdi and jtdo and shifts data one stage for every rising edge of jtclk towards the serial output. the parallel reg ister, as well as all test registers remain at their previous states. a rising edge on jtclk with jtms high moves the cont roller to the exit1 - ir state. a rising edge on jtclk with jtms low keeps the controller in t he shift - ir state while moving data one stage through the instruction shift register. exit1- ir. a rising edge on jtclk with jtms low puts the controller in the pa use - ir state. if jtms is high on the rising edge of jtclk, the controller enters the update - ir state and terminate the scanning process. pause - ir. shifting of the instruction register is halted temporarily. with jtms hi gh, a rising edge on jtclk puts th e controller in the exit2 - ir state. the controller remains in the pause - ir state if jtms is low during a rising edge on jtclk. exit2- ir. a rising edge on jtclk with jtms high put the controller in the update - ir state. the controller loops back to the sh ift - ir state if jtms is low during a rising edge of jtclk in this state. update - ir. the instruction shifted into the instruction shift register is latched into t he parallel output on the falling edge of jtclk as the controller enters this state. once latched, this instruction becomes the current i nstruction. a rising edge on jtclk with jtms low, puts the controller in the run - test - idle state. with jtms high, the controller enters the select - dr - scan state. jtag instruction register and instructions the instruction register contains a shift register as well as a latched parallel output and is 3 bits in length. when the tap controller enters the shift - ir state, the instruction shift register is connected between jtdi and jtdo. while in the shift - ir state, a rising edge on jtclk with jtms low shifts data one stage towards the serial output at jtdo. a rising edge on jtclk in the exit1 - ir state or the exit2 - ir state with jtms high moves the controller to the update - ir state. the falling edge of that same jtclk latches the data in the instruction shift register to the instruction parallel output. instructions supported by the device and their respective operational binary codes ar e shown in table 12 -1 . downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 161 of 198 table 12 -1 . jtag instruction codes instructions selected register instruction codes sample/preload boundary scan 010 bypass bypass 111 extest boundary scan 000 clamp bypass 011 highz bypass 100 idcode device ident ification 001 sample/preload. a mandatory instruction for the ieee 1149.1 specification. this instruction supports two functions. the digital i/os of the device can be sampled at the boundary scan regis ter without interfering with the normal operation of the device by using the capture - dr state. sample/preload also allows the device to shift data into the boundary scan register via jtdi using the shift - dr state. extest. extest allows testing of all interconnections to the device. when the extest instruction is latched in the instruction register, the following actions occur. once enabled via the update - ir state, the parallel outputs of all digital output pins are driven. the boundary scan register is connected between jtdi and jtdo. the capture - dr samples all digital inputs into the boundary scan register. bypass. when the bypass instruction is latched into the parallel instruction register, jtdi connects t o jtdo through the one - bit bypass test register. this allows data to pass from jtdi to jtdo not affecting the devices normal operation. idcode. when the idcode instruction is latched into the parallel instruction register, the i dentification test register is selected. the device identification code is loaded into the identification register on the rising edge of jtclk following entry into the capture - dr state. shift - dr can be used to shift the identification code out serially via jtdo. during test - logic - reset, the identification code is forced into the instruction registers parallel output. the device id code always has a one in the lsb position. the device id codes are listed in table 12 -2 . table 12 -2 . jtag id code device id code (hex) rev[31:28] d evice id [27:12] manu[11:0] ds34s101 0 0098 143 ds34s102 0 0099 143 ds34s104 0 009a 143 ds34s108 0 009b 143 highz. all digital outputs are placed into a high impedance state. the bypass register is connected between jtdi and jtdo. clamp. all digital outputs pins output data from the boundary scan parallel output while connecting the bypass register between jtdi and jtdo. the outputs do not change during the clamp instruction. jtag test registers ieee 1149.1 requires a minimum of two test registers; the bypass register and the boundary scan register . an optional test register has been included in the device design. this test register is the ident ification register and is used in conjunction with the idcode instruction and the test - logic - reset state of the tap controller. bypass register. this is a single one - bit shift register used in conjunction with the bypass, clamp, and highz instructions, which provides a short path between jtdi and jtdo. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 162 of 198 identification register. the identification register contains a 32 - bit shift register and a 32 - bit latched parallel output. this register is selected during the idcode instruction and when the tap c ontroller is in the test - logic - reset state. boundary scan register. this register contains both a shift register path and a latched parallel output for all control cells and digital i/o cells and is 32 bits in length. the bsdl file found at http://www.maxim - ic.com/tools/bsdl/ shows the entire cell bit locations and definitions. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 163 of 198 13. dc electrical characteristics absolute maximum ratings voltage range on any input, bi - directional or open drain output lead with respect to dvss ............................................................................................. - 0.5v to +5.5v supply voltage (dvddio) with respect to dvss ............................................................................... - 0.5v to +3.6v supply voltage (dvddc, acvdd1, acvdd2) with respect to dvss ................................................ - 0.5v to +2.0v ambient operating temperature range ........................................................................................... - 40 c to +85 c junction operating temperature range ......................................................................................... - 40 c to +125 c storage temperature range .......................................................................................................... - 55 c to +125 c soldering temperature range ................................................................ . see ipc/jedec j - std - 020 s pecification these are stress ratings only and functional operation of the device at these or any other conditions beyond those indicated in the operation sections of this specification is not implied. exposure to absolute maximum rating conditions for extended periods can affect reliability. ambient operating temperature range is assuming the device is mounted on a jedec standard test board in a convection cooled jedec test enclosure. note: the typical values listed below are not production tested. table 13 -1 . recommended dc operating conditions (t j = - 40c to +85c.) parameter symbol conditions min typ max units output logic 1 v ih 2.4 3.465 v output logic 0 v il - 0.3 +0.8 v power supply voltage dvddio 3.135 3.300 3.465 v power supply voltage dvddc, acvdd1, acvdd2 1.71 1.8 1.89 v table 13 -2 . dc electrical characteristics (t j = - 40c to +85c.) parameter symbol conditions min typ max units 3.3v supply current (@ 3.465v) ds34s108 ds34s104 ds34s102 ds34s101 i ddio note 1 50 50 tbd tbd 65 65 tbd tbd ma 1.8v supply current (@1.89v) i ddc note 1 225 280 ma lead capacitance c io 7 pf input leakage i il - 10 +10 a input leakage, inter nal pull - down i ilp - 100 - 10 a output leakage (when hi - z) i lo - 10 +10 a output voltage (i oh = -4.0ma) v oh 4 ma output 2.4 v output voltage (i ol = +4.0ma) v ol 4 ma output 0.4 v output voltage (i oh = -8.0ma) v oh 8 ma output 2.4 v output volta ge (i ol = - 8.0ma) v ol 8 ma output 0.4 v output voltage (i oh = - 12.0ma) v oh 12 ma output 2.4 v output voltage (i ol = +12.0ma) v ol 12 ma output 0.4 v input voltage logic 1 v ih 2.0 v input voltage logic 0 v il 0.8 v notes: 1. all outputs loaded with rated capacitance; all inputs between dvddio and dvss; inputs with pull - ups connected to dvddio. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 164 of 198 14. ac timing characteristics table 14 -1 . input pin transition time requirements parameter symbol conditions min typ max units rise time tr 10 to 90% of dvddio 6 ns fall time tf 90 to 10% of dvddio 6 ns 14.1 cpu interface timing table 14 -2 . cpu interface ac characteristics parameter symbol min typ max units rst_sy s_n active low pulse width t5 50 s h_cs_n deasserted or h_r_w_n low to h_d[31:0] high -z t22 16.2 ns h_ready_n active pull - up pulse width t26 2.9 6.8 ns latest of h_wr_bex_n asserted or h_cs_n asserted to h_d[31:0] valid t31 0 ns h_cs_n deasser ted to h_d[31:0] not valid t32 0 ns h_cs_n asserted to h_ad[24:1] valid t33 0 ns h_cs_n deasserted to h_ad[24:1] not valid t34 0 ns h_cs_n asserted to h_r_w_n valid t35 0 ns h_cs_n deasserted to h_r_w_n not valid t36 0 ns h_cs_n deasserted to h_ready_n high t37 12 ns h_cs_n deasserted to h_wr_bex_n[3:0] not valid t40 0 ns delay between two successive accesses t43 1.5 internal clk_sys cycles h_d[31:0] valid before h_ready_n active low t44 1.5 ns note: the output timing specified as sumes 50 pf load. figure 14 -1 . rst_sys_n timing rst_sys_n t5 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 165 of 198 figure 14 -2 . cpu interface write cycle timing h_cs_n h_r_w_n h_ad[24:1] h_wr_bex_n[3:0] h_d[31:0](input) h_ ready_n t43 t33 t35 t34 t36 t40 t31 t32 t37 t26 figure 14 -3 . cpu interface read cycle timing h_cs_n h_r_w_n h_ad[24:1] h_d[31:0](output) h_ ready_n t43 t35 t33 t36 t34 t22 t37 t26 t44 14.2 spi interface timing table 14 -3 . spi interface ac characteristics parameter symbol min typ max units spi_sel_n deasserted to spi_sel_n asserted t230 70 ns spi_clk frequency t231 12.09 mhz spi_clk period t231 82.7 ns spi_clk to spi_miso output hold t232 5.3 ns spi_clk to spi_miso output valid t233 17.5 ns spi_mosi input hold after spi_clk edge t234 5 ns spi_mosi input setup prior to spi_clk edge t235 5 ns spi_sel_n asserted to spi_miso active t236 15 ns spi_sel_n deasserted to spi_miso high -z t237 12 ns note: the output timing specified assumes 50pf load. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 166 of 198 figure 14 -4 . spi interface timing ( spi_cp = 0) spi_sel_n spi_clk(ci=0) spi_clk(ci=1) spi_miso(output) spi_mosi(input) t230 t236 t231 t235 t234 t232 t232 t237 t233 t233 figure 14 -5 . spi interface timing (spi_cp = 1) spi_sel_n spi_clk(ci=0) spi_clk(ci=1) spi_miso(output) spi_mosi(input) t230 t236 t231 t237 t233 t233 t232 t235 t234 14.3 sdram interface timing table 14 -4 . sdram interface ac characteristics parameter symbol min typ max units sd_clk to sd_cs_n, sd_ras_n, sd_cas_n, sd_we_n, sd_dqm[3:0], sd_a[11:0], sd_ba[1:0] output hold t51 1.9 ns sd_clk to sd_cs_n, sd_ras_n, sd_cas_n, sd_we_n, sd_dqm[3:0], sd_a[11:0], sd_ba[ 1:0] output valid t52 8 ns sd_clk to sd_d[31:0] output hold t59 2 ns sd_clk to sd_d[31:0] output valid t60 8 ns sd_d[31:0] input setup prior to sd_clk t69 4 ns sd_d[31:0] input hold after sd_clk t70 1 ns note: the output timing specified as sumes 30 pf load. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 167 of 198 figure 14 -6 . sdram interface write cycle timing sd_clk sd_cs_ n sd_ras_n sd_cas_n sd_we_n sd_d[3 1:0 ](o utp ut) sd_dqm[3:0] sd_a[1 1:0 ] sd_ba[1:0] t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t60 t59 t60 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t59 idle active write precharge bank row column bank write out out downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 168 of 198 figure 14 -7 . sdram interface read cycle timing sd_clk sd_cs_ n sd_ras_n sd_cas_n sd_we_n sd_d[31:0](input) sd_dqm[3:0] sd_a[1 1:0 ] sd_ba[1:0] t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t51 t52 t69 t70 idle active read nop bank row column bank nop in downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 169 of 198 14.4 tdm - over - packet tdm interface timing t able 14 -5 . tdmop tdm interface ac characteristics parameter symbol min typ max units tdmn_tx_sync, tdmn_tx_mf_cd, tdmn_rx, tdmn_rx_sync, tdmn_rsig_rts input setup prior to tdmn_tclk for e1/t1/serial interfac e t101 1.8 ns tdmn_tx_sync, tdmn_tx_mf_cd, tdmn_rx, tdmn_rx_sync, tdmn_rsig_rts input hold after tdmn_tclk for e1/t1/serial interface t102 1.1 ns tdmn_tclk to tdmn_tx, tdmn_tsig_cts output hold for e1/t1/serial interface t103 2.8 ns tdmn_tclk to t dmn_tx, tdmn_tsig_cts output valid for e1/t1/serial interface t104 13.3 ns tdm1_tclk to tdm1_tx output hold for high speed \ interface t103 4.5 (note 1) ns tdm1_tclk to tdm1_tx output valid for high speed \ interface t104 12.5 (note 1) ns tdmn_rx, tdmn_rx_sync, tdmn_rsig_rts input setup prior to tdmn_rclk for e1/t1/serial interface t109 1.8 ns tdmn_rx, tdmn_rx_sync, tdmn_rsig_rts input hold after tdmn_rclk for e1/t1/serial interface t110 0 ns tdm1_rx input setup prior to tdm1_rclk for high spe ed interface t109 1.8 ns tdm1_rx input hold after tdm1_rclk for high speed interface t110 1.1 ns notes: 1. the output timing specified for tdm1_tx assumes 20 pf load. table 14 -6 . tdmop tdm clock ac chara cteristics parameter symbol min typ max units tdmn_tclk frequency for e1 interface t100 2.048 mhz tdmn_tclk frequency for t1 interface t100 1.544 mhz tdmn_rclk, tdmn_tclk frequency for serial interface t106 16k 4.65m hz tdm1_rclk, tdm1_tclk freque ncy for high speed interface t106 16k 51.84m hz tdmn_rclk, tdmn_tclk duty cycle for 1/t1 serial interface t107 40 60 % tdm1_rclk, tdm1_tclk duty cycle for high speed interface t107 40 60 % note: the output timing specified for tdm interfaces assumes 30 pf load. figure 14 -8 . tdmop tdm timing, one - clock mode ( two_clocks=0, tx_sample=1) tdmn_tclk dmn_rx,tdmn_rsig_rts,tdmn_rx_sync t dmn_t x_mf _cd, t dmn_t x_sync tdmn_tx,tdmn_tsig_cts t100 t101 t102 t101 t102 t103 t104 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 170 of 198 figure 14 -9 . tdmop tdm timing, one clock mode ( two_clocks=0, tx_sample=0) tdmn_tclk dmn_rx,tdmn_rsig_rts,tdmn_rx_sync t dmn_t x_mf _cd, t dmn_t x_sync tdmn_tx,tdmn_tsig_cts t100 t101 t102 t101 t102 t103 t104 t105 figure 14 - 10 . tdmop tdm timing, two clock mode ( two_clocks =1, tx_sample=1, rx_sample=1) tdmn_rclk dmn_rx,tdmn_rsig_rts,tdmn_rx_sync tdmn_tclk tdmn_tx,tdmn_tsig_cts t dmn_t x_mf _cd, t dmn_t x_sync t106 t109 t110 t106 t103 t104 t107 t101 t102 t107 figure 14 - 11 . tdmop tdm timing, two clocks mode ( two_clocks =1, tx_sample=0, rx_sample=0) tdmn_rclk tdmn_rx,tdmn_rsig_rts,tdmn_rx_sync tdmn_tclk tdmn_tx, tdmn_tsig_cts tdmn_tx_mf_cd,tdmn_tx_sync t109 t110 t103 t104 t101 t102 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 171 of 198 figure 14 - 12 . tdmop tdm timing, two clocks mode ( two_clocks =1, tx_sample=0, rx_sample=1) tdmn_rclk tdmn_rx,tdmn_rsig_rts,tdmn_rx_sync tdmn_tclk tdmn_tx, tdmn_tsig_cts tdmn_tx_mf_cd,tdmn_tx_sync t106 t109 t110 t106 t103 t104 t101 t102 t107 figure 14 - 13 . tdmop tdm timing, two clocks mode ( two_clocks =1, tx_sample=1, rx_sample=0) tdmn_rclk tdmn_rx,tdmn_rsig_rts,tdmn_rx_sync tdmn_tclk tdmn_tx, tdmn_tsig_cts tdmn_tx_mf_cd,tdmn_tx_sync t106 t109 t110 t106 t103 t104 t107 t101 t102 t107 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 172 of 198 14.5 ethernet mii/rmii/ssmii interface timing table 14 -7 . mii management interface ac characteristics parameter symbol min typ max units mdc period (note 1) t150 320 ns mdc to mdio output hold (note 1) t151 10 ns mdc to mdio output valid (note 1) t152 180 ns mdio input setup prior to mdc rising t153 20 ns mdio input hold after mdc rising t154 0 ns notes: 1. valid for 50 mhz clk_sys and mdc_frequency = 0x02. figure 14 - 14 . mii management interface timing mdc mdio(ou tpu t) mdio(input) t151 t152 t150 t153 t154 table 14 -8 . mii interface a c characteristics parameter symbol min typ max units clk_mii_tx rising to mii_txd, mii_tx_err, mii_tx_en output hold t156 0 ns clk_mii_tx rising to mii_txd, mii_tx_err, mii_tx_en output valid t157 25 ns mii_rxd, mii_rx_dv, mii_rx_err input setup pri or to clk_mii_rx rising t159 10 ns mii_rxd, mii_rx_dv, mii_rx_err input hold after to clk_mii_rx rising t160 0 ns table 14 -9 . mii clock timing parameter symbol min typ max units clk_mii_tx frequency t 158 25 mhz clk_mii_rx frequency t158 25 mhz clk_mii_tx duty cycle t180 40 60 % clk_mii_rx duty cycle t180 40 60 % figure 14 - 15 . mii interface output signal timing clk_mii_tx mii_txd,mii_tx_en,mii_tx_err t158 t180 t156 t157 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 173 of 198 figure 14 - 16 . mii interface input signal timing clk_mii_rx mii_rxd,mii_rx_dv,mii_rx_err t159 t160 t158 t180 table 14 - 10 . rmii interface ac characteristics parameter symbol min typ max units clk_mii_tx rising to mii_txd[3:2], mii_tx_en output ho ld t162 2 ns clk_mii_tx rising to mii_txd[3:2], mii_tx_en output valid t163 13.5 ns mii_rxd[3:2], mii_rx_dv, mii_rx_err input setup prior to clk_mii_tx rising t164 7 ns mii_rxd(3:2], mii_rx_dv, mii_rx_err input hold after clk_mii_tx rising t165 0 ns table 14 - 11 . rmii clock timing parameter symbol min typ max units clk_mii_tx frequency t161 50 mhz clk_mii_tx duty cycle t183 40 60 % figure 14 - 17 . rmii interface output signal timing clk_mii_tx(rmii_ref_clk) mii_txd(3:2),mii_tx_en t162 t163 t161 figure 14 - 18 . rmii interface input signal timing clk_mii_tx(rmii_ref_clk) ii_rxd(3:2),mii_rx_dv,mii_rx_err t164 t165 t183 table 14 - 12 . ssmii interface ac characteristics parameter symbol min typ max units clk_ssmii_tx rising to mii_txd[1:0] output t172 1.5 5 ns mii_rxd[1:0] input setup prior to clk_mii_rx rising t175 1.5 ns mii_rxd[1:0] input hold after clk_mii_rx rising t176 1.3 ns table 14 - 13 . ssmii clock timing parameter symbol min typ max units clk_ssmii_tx frequency t171 125 mhz clk_ssmii_tx duty cycle t189 40 60 % clk_mii_rx frequency t171 125 mhz clk_mii_rx duty cycle t189 40 60 % downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 174 of 198 figure 14 - 19 . ssmii interface output signal timing clk_ssmii_tx mii_txd_0(ssmii_txd) mii_txd_1(ssmii_tx_sync) t172 t171 t189 t172 figure 14 - 20 . ssmii interface input signal timing clk_mii_rx(clk_ssmii_rx) mii_rxd_0(ssmii_rxd) mii_rxd_1(ssmii_rx_sync) t176 t171 t175 t176 t175 t189 notes for section 14.5 : 1. the output timing specified fo r mii/rmii/ssmii interfaces assumes 20pf load for mii_txd[3:0] , mii_tx_en, and mii_tx_err. 2. the output timing specified for mii/rmii/ssmii interfaces assumes 30pf load for mdc and mdio. 3. the output timing specified for ssmii interface assumes 25pf load for c lk_ssmii_tx. 14.6 clad and system clock timing table 14 - 14 . clad1 and clad2 input clock specifications parameter min typ max units accuracy clk_sys frequency 25 or 50 mhz 50ppm clk_sys duty cycle 40 60 % clk_high frequency 10.00 19.44 38.88 77.76 mhz traceable to stratum 3e or higher clk_high duty cycle 40 60 % mclk frequency 1.544 2.048 mhz 32ppm 50ppm mclk duty cycle 40 60 % clk_sys frequency 25 50 75 mhz 50ppm clk_sys duty cycle 40 60 % downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 175 of 198 14.7 jtag interface timing table 14 - 15 . jtag interface timing parameter symbol min typ max units notes jtclk clock period t1 1000 ns jtclk clock high / low time t2 / t3 100 500 ns 1 jtclk to jtdi, jtms setup time t4 5 ns jtclk to jtdi, jtms hold time t5 2 ns jtclk to jtdo delay t6 2 50 ns jtclk to jtdo hi - z delay t7 2 50 ns 2 jtrst_n width low time t8 100 notes: 1. clock can be stopped high or low. 2. not tested during production test . figure 14 - 21 . jtag interface timing diagram jtclk jtdi jtms jtdo jtrst_n t 1 t 2 t 3 t 4 t 5 t 4 t 5 t 6 t 7 t 8 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 176 of 198 15. applications 15.1 connecting a serial interface transceiver figure 15 -1 below s hows the connection of one port of a ds34s10x chip to a serial interface transceiver such as v.35 or rs - 530. the figure shows one port in a dce (data communications equipment) application. all other ports can be connected in the same way. each direction (tx and rx) has its own clock. however, tdm1_rclk is optional, as the ds34s 10x chip may work in one clock mode ( gcr1 .clkmode=0) in which both directions are clocked by tdm1_tclk. the clock source of tdm1_rclk or tdm1_tclk can be: ? internal (from the local oscillator) ? external ? recovered from the packet network (provided by the chip on tdm1_aclk). the control input signal tdmn_rsig_rts does not affect the data reception, but its value can be read by the cpu from register field port[n]_stat_reg1 .rts. the tdmn_tsig_cts and tdmn_tx_mf_cd outputs can be controlled by software using registers fields cts and cd in the port[n]_cfg_reg register. figure 15 -1 . connecting port 1 to a serial transceiver ds34s10x tdm 1 _ aclk serial intertface transc eiver (dce mode) tdm tdm 1 _ rx tdm 1 _ tclk tdm 1 _ rclk tdm 1 _ tsig _ cts tdm 1 _ rsig _ rts tdm 1 _ tx _ mf _ cd tx rx tclk rclk cts rts cd internal clock external clock downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 177 of 198 15.2 connecting an ethernet phy or mac the figures below show the connection of the ethernet port to a phy or mac device, in mii, rmii, and ssmii modes. figure 15 -2 . connecting the ethernet port to a phy in mii mode figure 15 -3 . connecting the ethernet port to a mac in mii mode figure 15 -4 . con necting the ethernet port to a phy in rmii mode phy txd [ 3 : 0 ] rxd [ 3 : 0 ] tx _ en rx _ dv ds34s10x mii _ txd [ 3 : 0 ] mii _ rxd [ 3 : 0 ] mii _ tx _ en mii _ tx _ err mii _ rx _ err mii _ col mii _ rx _ dv mii _ crs clk _ mii _ tx clk _ mii _ rx tx _ err rx _ err col crs clk _ tx clk _ rx mac txd [ 3 : 0 ] rxd [ 3 : 0 ] tx _ en rx _ dv ds34s10x mii _ txd [ 3 : 0 ] mii _ rxd [ 3 : 0 ] mii _ tx _ en mii _ tx _ err mii _ rx _ err mii _ col mii _ rx _ dv mii _ crs clk _ mii _ tx clk _ mii _ rx tx _ err rx _ err col crs clk _ tx clk _ rx x x 25 mhz osc . phy txd [ 1 : 0 ] rxd [ 1 : 0 ] tx _ en rx _ dv ds34s10x mii _ txd [ 3 : 2 ] mii _ rxd [ 3 : 2 ] mii _ tx _ en mii _ rx _ err mii _ rx _ dv clk _ mii _ tx rx _ err clk downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 178 of 198 figure 15 -5 . connecting the ethernet port to a mac in rmii mode figure 15 -6 . connecting the ethernet port to a phy in ssmii mode figure 15 -7 . connecting the ethernet port to a mac in ssmii mode mac txd [ 1 : 0 ] rxd [ 1 : 0 ] tx _ en rx _ dv ds34s10x mii _ txd [ 3 : 2 ] mii _ rxd [ 3 : 2 ] mii _ tx _ en mii _ rx _ err mii _ rx _ dv clk _ mii _ tx rx _ err clk 50 mhz osc . phy txd txsync rxd rxsync mii _ txd [ 0 ] mii _ txd [ 1 ] mii _ rxd [ 0 ] mii _ rxd [ 1 ] clk _ ssmii _ tx clk _ mii _ rx clk _ mii _ tx clk _ tx clk _ rx clk _ ref 125 mhz osc . ds34s10x mac txd txsync rxd rxsync mii _ txd [ 0 ] mii _ txd [ 1 ] mii _ rxd [ 0 ] mii _ rxd [ 1 ] clk _ ssmii _ tx clk _ mii _ rx clk _ mii _ tx clk _ tx clk _ rx clk _ ref 125 mhz osc . ds34s10x downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 179 of 198 for the applications above, apply the following layout considerations: ? provide termination on all high - speed interface signals and clock lines. ? provide impedance matching on long traces to prevent reflections. ? keep the clock traces away from all other sign als to minimize mutual interference. ? in rmii mode, a very low skew clock buffer/driver is recommended to maximize the timi ng budget. in this mode it is recommended to keep all traces as short as possible. ? in ssmii mode there are two clock signals, one for each direction (rx and tx), routed together with the sync and data signals. since the delay between the clock and these signals is lower, the designer can apply a longer trace delay in this mode. keep data/sync traces and clock traces at the same length to maximize the timing budget. 15.3 implementing clock recovery in high speed applications for the high - speed interface (up to 51.84 mhz), an external clock multiplier and jitter attenuator are needed. clock recovery in high - speed applications is depicted below: figure 15 -8 . external clock multiplier for high speed applications the clock multiplier converts the low speed clock at aclk to a clock at the frequency of the emulated high - speed circuit. the multiplication factor in the external clock multiplier must be 12 for an e3 or t3 interface and 10 for an sts- 1 interface. the clock multiplier should be tuned to add minimal jitter. the jitter attenuator can be part of the liu or an independent component. 15.4 connecting a motorola mpc860 processor the device is easily connected to a motorola mpc860 processor by means of the mpc860 gpcm (general purpose chip select machine) module. 15.4.1 connecting the bus signals since the mpc860 address bus msb is always 0 while the ds34s10x address bus lsb is always 0, the signal order can be reversed as shown in the following figures. liu with jitter attenuator tx clk clock multiplier in out ds34s10x aclk downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 180 of 198 figure 15 -9 . 32 - bit cpu bus connections mpc 860 ds 34 t 10x d 3 d 2 d 1 d 0 h _ wr _ be 3 _ n a [ 0 : 6 ] h _ ad 24 msb h _ d 0 h _ d 1 h _ d 2 h _ d 3 h _ d 4 h _ d 5 h _ d 6 h _ d 7 h _ d 8 h _ d 9 h _ d 10 h _ d 11 h _ d 12 h _ d 13 h _ d 14 h _ d 15 h _ d 16 h _ d 17 h _ d 18 h _ d 19 h _ d 20 h _ d 21 h _ d 22 h _ d 23 h _ d 24 h _ d 25 h _ d 26 h _ d 27 h _ d 28 h _ d 29 h _ d 30 h _ d 31 gnd lsb msb lsb lsb lsb msb msb h _ ad 23 h _ ad 22 h _ ad 21 h _ ad 20 h _ ad 19 h _ ad 18 h _ ad 17 h _ ad 16 h _ ad 15 h _ ad 14 h _ ad 13 h _ ad 12 h _ ad 11 h _ ad 10 h _ ad 9 h _ ad 8 h _ ad 7 h _ ad 6 h _ ad 5 h _ ad 4 h _ ad 3 h _ ad 2 h _ ad 1 a 7 a 8 a 9 a 10 a 11 a 12 a 13 a 14 a 15 a 16 a 17 a 18 a 19 a 20 a 21 a 22 a 23 a 24 a 25 a 26 a 27 a 28 a 29 a 30 a 31 d 31 d 30 d 29 d 28 d 27 d 26 d 25 d 24 d 23 d 22 d 21 d 20 d 19 d 18 d 17 d 16 d 15 d 14 d 13 d 12 d 11 d 10 d 9 d 8 d 7 d 6 d 5 d 4 h _ wr _ be 2 _ n h _ wr _ be 1 _ n h _ wr _ be 0 _ n be 0 be 1 be 2 be 3 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 181 of 198 figu re 15 - 10 . 16 - bit cpu bus connections mc 860 ds 34 t 10x vcc a [ 6 : 0 ] lsb msb vcc vcc lsb msb lsb msb lsb msb h _ ad 24 h _ ad 23 h _ ad 22 h _ ad 21 h _ ad 20 h _ ad 19 h _ ad 18 h _ ad 17 h _ ad 16 h _ ad 15 h _ ad 14 h _ ad 13 h _ ad 12 h _ ad 11 h _ ad 10 h _ ad 9 h _ ad 8 h _ ad 7 h _ ad 6 h _ ad 5 h _ ad 4 h _ ad 3 h _ ad 2 h _ ad 1 h _ d 0 h _ d 1 h _ d 2 h _ d 3 h _ d 4 h _ d 5 h _ d 6 h _ d 7 h _ d 8 h _ d 9 h _ d 10 h _ d 11 h _ d 12 h _ d 13 h _ d 14 h _ d 15 h _ d 16 h _ d 17 h _ d 18 h _ d 19 h _ d 20 h _ d 21 h _ d 22 h _ d 23 h _ d 24 h _ d 25 h _ d 26 h _ d 27 h _ d 28 h _ d 29 h _ d 30 h _ d 31 d 15 d 14 d 13 d 12 d 11 d 10 d 9 d 8 d 7 d 6 d 5 d 4 d 3 d 2 d 1 d 0 h _ wr _ be 3 _ n h _ wr _ be 2 _ n h _ wr _ be 1 _ n h _ wr _ be 0 _ n be 0 be 1 a 7 a 8 a 9 a 10 a 11 a 12 a 13 a 14 a 15 a 16 a 17 a 18 a 19 a 20 a 21 a 22 a 23 a 24 a 25 a 26 a 27 a 28 a 29 a 30 a 31 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 182 of 198 15.4.2 connecting the h_ready_n signal the h_ready_n output should be connected to the mpc860 ta input. the cpu bus operates asynchronously. the ta of the mpc860 is a synchronous input (i.e., needs to meet set - up and hold times). the designer should synchronize h_ready_n to the mpc860 clock by means of a cpld, which uses the mpc860 reference clock. the internal logic in the cpld also uses the mpc860 cs (chip select) output. both the h_ready_n output and the mpc860 ta input should have a 1k pull - up resistor. figure 15 - 11 . connecting the h_ready_n signal to the mpc860 ta pin figure 15 - 12 . internal cpld logic to synchronize h_ready_n to the mpc860 clo ck another alternative for connecting the h_ready_n signal is using the mpc860 upm. in this option the h_ready_n output should be connected to the mpc860 upwait (gpl4) signal, and no external timing adjustment is needed. the h_ready_n output should have a 1k ? pull - up resistor. refer to the mpc860 user manual for additional details. mpc860 ds34s108 ta h_ready_n vcc 1k cpld cs h_cs_n clkout r/w h_r_w_n vcc 1k downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 183 of 198 15.5 working in spi mode the following table shows the i/o connections for operating in spi mode. table 15 -1 . spi mode i/o connections signal name connect to comments h_cpu_spi_n vss (logic 0) selects spi mode. dat_32_16_n dvddio or dvss ignored in spi mode. h_cs_n dvddio or dvss ignored in spi mode. h_ad[24:1] dvddio or dvss ignored in spi mode. h_d[31:1] dvddio or dvss ignored in spi mode. h_d[0] / spi_miso master miso h_wr_be 0_n / spi_clk master spi clock h_wr_be1_n / spi_mosi master mosi h_wr_be2_n / spi_sel_n master spi select h_wr_be3_n / spi_ci dvddio (logic 1) or dvss (logic 0) according to required spi mode h_r_w_n / spi_cp dvddio (logic 1) or dvss (logic 0) according to required spi mode 15.6 connecting sdram devices the following table lists suggested sdram devices to use in conjunction with the ds34s10x devices. table 15 -2 . list of suggested sdram devices vendor 64 mb device 128 mb device micron mt48lc2m32b2tg -6 mt48lc4m32b2tg -6 samsung k4s643232h - tc/l60 k4s283232e - tc/l60 hynix hy57v653220btc - 6 or hy57v643220ct -6 hy57v283220t -6 elpida n/a eds1232aata - 60 winbond w986432dh -6 n/a icsi ic42s32200/l - 6t or ic42s32200/l - 6ti n/a issi is42s32200c1 - 6t is42s32400b - 6t when connecting the device to an external sdram, it is advised to connect sd_clk through a serial termination resistor. when connecting the device to a 64 mb external sdram, it is advised to connect sd_a [11] through a serial resistor to the sdram nc pin that is used for address pin a11 for a 128 mb sdram. in this way, the 64mb sdram could be replaced by a 128 mb sdram later, if needed. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 184 of 198 16. pin assignments 16.1 board design for multiple ds34s101/2/4 devices the ds34s101, ds34s102 and ds34s104 require the same footprint on the board. it is recommended that boards be design to support the use of higher port - count devices in a lower port - count socket. if this is done, unused inputs, input/outputs, and outputs must be biased appropriately. generally, unused inputs are t ied directly to the ground plane, unused outputs are not connected, and unused input/outputs are tied to ground through a 10k resistor. unused inputs with internal pull - ups or pull - downs are not connected. table 16 -1 designates how each ball on the package should be connected to implement a common board design. shading indicates balls for the unused inputs, input/outputs, and outputs of higher port - count devices. if a common board design is not done, the balls for the unused inputs, input/outputs, and outputs need not be connected, and the stuffing of higher port - count devices into a lower port - count socket is not recommended. note: when a higher port - count device is used in a socket, the bsdl file of the higher port - count device must be used. bsdl files are available from the factory upon request. table 16 -1 . common board design connections for ds34s101/2/4 (sorted by signal name) ball ds34s104 socket ds34s102 sock et ds34s101 socket r8 acvdd1 acvdd1 acvdd1 t8 acvdd2 acvdd2 acvdd2 p8 acvss1 acvss1 acvss1 t9 acvss2 acvss2 acvss2 m14 clk_cmn clk_cmn clk_cmn p9 clk_high clk_high clk_high a16 clk_mii_rx clk_mii_rx clk_mii_rx d15 clk_mii_tx clk_mii_tx clk_mii_tx e15 clk_ssmii_tx clk_ssmii_tx clk_ssmii_tx t12 clk_sys clk_sys/scclk clk_sys/scclk r9 clk_sys_s clk_sys_s clk_sys_s m4 dat_32_16_n dat_32_16_n dat_32_16_n f10 dvddc dvddc dvddc f11 dvddc dvddc dvddc f6 dvddc dvddc dvddc f7 dvddc dvddc dvddc f8 dvdd c dvddc dvddc f9 dvddc dvddc dvddc m10 dvddc dvddc dvddc m11 dvddc dvddc dvddc m6 dvddc dvddc dvddc m7 dvddc dvddc dvddc m8 dvddc dvddc dvddc m9 dvddc dvddc dvddc g12 dvddio dvddio dvddio h12 dvddio dvddio dvddio j12 dvddio dvddio dvddio j5 dvdd io dvddio dvddio k12 dvddio dvddio dvddio k5 dvddio dvddio dvddio downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 185 of 198 ball ds34s104 socket ds34s102 sock et ds34s101 socket l12 dvddio dvddio dvddio l5 dvddio dvddio dvddio m5 dvddio dvddio dvddio n10 dvddio dvddio dvddio n7 dvddio dvddio dvddio n8 dvddio dvddio dvddio n9 dvddio dvddio dvddio g10 dvss d vss dvss g11 dvss dvss dvss g6 dvss dvss dvss g7 dvss dvss dvss g8 dvss dvss dvss g9 dvss dvss dvss h10 dvss dvss dvss h11 dvss dvss dvss h5 dvss dvss dvss h6 dvss dvss dvss h7 dvss dvss dvss h8 dvss dvss dvss h9 dvss dvss dvss j10 dvss dvss d vss j11 dvss dvss dvss j6 dvss dvss dvss j7 dvss dvss dvss j8 dvss dvss dvss j9 dvss dvss dvss k10 dvss dvss dvss k11 dvss dvss dvss k6 dvss dvss dvss k7 dvss dvss dvss k8 dvss dvss dvss k9 dvss dvss dvss l10 dvss dvss dvss l11 dvss dvss dvss l6 dvss dvss dvss l7 dvss dvss dvss l8 dvss dvss dvss l9 dvss dvss dvss r13 h_ad[1] h_ad[1] h_ad[1] c10 h_ad[10] h_ad[10] h_ad[10] e12 h_ad[11] h_ad[11] h_ad[11] a12 h_ad[12] h_ad[12] h_ad[12] t15 h_ad[13] h_ad[13] h_ad[13] c12 h_ad[14] h_ad[14] h_ad[14] d12 h_ad[15] h_ad[15] h_ad[15] t16 h_ad[16] h_ad[16] h_ad[16] b13 h_ad[17] h_ad[17] h_ad[17] r14 h_ad[18] h_ad[18] h_ad[18] downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 186 of 198 ball ds34s104 socket ds34s102 sock et ds34s101 socket b10 h_ad[19] h_ad[19] h_ad[19] d13 h_ad[2] h_ad[2] h_ad[2] p14 h_ad[20] h_ad[20] h_ad[20] a10 h_ad[21] h_ad[21] h_a d[21] b11 h_ad[22] h_ad[22] h_ad[22] n14 h_ad[23] h_ad[23] h_ad[23] a11 h_ad[24] h_ad[24] h_ad[24] p13 h_ad[3] h_ad[3] h_ad[3] d10 h_ad[4] h_ad[4] h_ad[4] e13 h_ad[5] h_ad[5] h_ad[5] d11 h_ad[6] h_ad[6] h_ad[6] n13 h_ad[7] h_ad[7] h_ad[7] a13 h_ad [8] h_ad[8] h_ad[8] t14 h_ad[9] h_ad[9] h_ad[9] l4 h_cpu_spi_n h_cpu_spi_n h_cpu_spi_n e11 h_cs_n h_cs_n h_cs_n k13 h_d[0]/spi_miso h_d[0]/spi_miso h_d[0]/spi_miso m12 h_d[1] h_d[1] h_d[1] m13 h_d[10] h_d[10] h_d[10] p16 h_d[11] h_d[11] h_d[11] k14 h_d[12] h_d[12] h_d[12] m15 h_d[13] h_d[13] h_d[13] j14 h_d[14] h_d[14] h_d[14] m16 h_d[15] h_d[15] h_d[15] l14 h_d[16] h_d[16] h_d[16] l16 h_d[17] h_d[17] h_d[17] j15 h_d[18] h_d[18] h_d[18] k16 h_d[19] h_d[19] h_d[19] r15 h_d[2] h_d[2] h_d[2] n 16 h_d[20] h_d[20] h_d[20] b12 h_d[21] h_d[21] h_d[21] j16 h_d[22] h_d[22] h_d[22] f12 h_d[23] h_d[23] h_d[23] f13 h_d[24] h_d[24] h_d[24] g13 h_d[25] h_d[25] h_d[25] h13 h_d[26] h_d[26] h_d[26] f14 h_d[27] h_d[27] h_d[27] g14 h_d[28] h_d[28] h_d[2 8] h14 h_d[29] h_d[29] h_d[29] l13 h_d[3] h_d[3] h_d[3] h16 h_d[30] h_d[30] h_d[30] h15 h_d[31] h_d[31] h_d[31] k15 h_d[4] h_d[4] h_d[4] p15 h_d[5] h_d[5] h_d[5] j13 h_d[6] h_d[6] h_d[6] n15 h_d[7] h_d[7] h_d[7] l15 h_d[8] h_d[8] h_d[8] r16 h_d[9 ] h_d[9] h_d[9] downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 187 of 198 ball ds34s104 socket ds34s102 sock et ds34s101 socket t13 h_int[0] h_int[0] h_int[0] n12 h_r_w_n/spi_cp h_r_w_n/spi_cp h_r_w_n/spi_cp r12 h_ready_n h_ready_n h_ready_n c13 h_wr_be0_n/spi_clk h_wr_be0_n/spi_clk h_wr_be0_n/spi_clk p12 h_wr_be1_n/spi_mosi h_wr_be1_n/spi_mosi h_wr_be1_n/spi_mosi e10 h_wr_be2_n/spi_sel_n h_wr_be2_n/spi_sel_n h_wr_be2_n/spi_sel_n c11 h_wr_be3_n/spi_ci h_wr_be3_n/spi_ci h_wr_be3_n/spi_ci n11 hiz_n hiz_n hiz_n r10 jtclk jtclk jtclk p10 jtdi jtdi jtdi p11 jtdo jtdo jtdo t10 jtms jtms jtms t11 jtrst_n jtrst_ n jtrst_n n5 mbist_done mbist_done mbist_done n6 mbist_en mbist_en mbist_en r4 mbist_fail mbist_fail mbist_fail g16 mdc mdc mdc g15 mdio mdio mdio b15 mii_col mii_col mii_col c15 mii_crs mii_crs mii_crs f16 mii_rx_dv mii_rx_dv mii_rx_dv a15 mii_rx _err mii_rx_err mii_rx_err b16 mii_rxd[0] mii_rxd[0] mii_rxd[0] c16 mii_rxd[1] mii_rxd[1] mii_rxd[1] d16 mii_rxd[2] mii_rxd[2] mii_rxd[2] e16 mii_rxd[3] mii_rxd[3] mii_rxd[3] d14 mii_tx_en mii_tx_en mii_tx_en e14 mii_tx_err mii_tx_err mii_tx_err f15 mii_txd[0] mii_txd[0] mii_txd[0] a14 mii_txd[1] mii_txd[1] mii_txd[1] b14 mii_txd[2] mii_txd[2] mii_txd[2] c14 mii_txd[3] mii_txd[3] mii_txd[3] r11 rst_sys_n rst_sys_n rst_sys_n j4 scen scen scen d2 sd_a[0] sd_a[0] sd_a[0] c3 sd_a[1] sd_a[1] sd_a[1 ] a4 sd_a[10] sd_a[10] sd_a[10] f2 sd_a[11] sd_a[11] sd_a[11] e1 sd_a[2] sd_a[2] sd_a[2] a3 sd_a[3] sd_a[3] sd_a[3] e2 sd_a[4] sd_a[4] sd_a[4] b3 sd_a[5] sd_a[5] sd_a[5] e3 sd_a[6] sd_a[6] sd_a[6] c4 sd_a[7] sd_a[7] sd_a[7] b4 sd_a[8] sd_a[8] sd_a [8] d3 sd_a[9] sd_a[9] sd_a[9] d1 sd_ba[0] sd_ba[0] sd_ba[0] a2 sd_ba[1] sd_ba[1] sd_ba[1] downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 188 of 198 ball ds34s104 socket ds34s102 sock et ds34s101 socket c1 sd_cas_n sd_cas_n sd_cas_n b2 sd_clk sd_clk sd_clk c2 sd_cs_n sd_cs_n sd_cs_n e4 sd_d[0] sd_d[0] sd_d[0] b5 sd_d[1] sd_d[1] sd_d[1] b6 sd_d[10] sd_d[10] sd_d[10] f3 sd_d[11] sd_d[11] sd_d[11] a6 sd_d[12] sd_d[12] sd_d[12] f4 sd_d[13] sd_d[13] sd_d[13] b8 sd_d[14] sd_d[14] sd_d[14] d7 sd_d[15] sd_d[15] sd_d[15] f5 sd_d[16] sd_d[16] sd_d[16] c7 sd_d[17] sd_d[17] sd_d[17] a7 sd_d[18] sd_d[18] sd_d[18] d8 sd_d[19] sd_d[19] sd_d[19] f1 sd_d[2] sd_d[2] sd_d[2] g2 sd_d[20] sd_d[20] sd_d[20] e8 sd_d[21] sd_d[21] sd_d[21] g3 sd_d[22] sd_d[22] sd_d[22] a8 sd_d[23] sd_d[23] sd_d[23] b9 sd_d[24] sd_d[24] sd_d[24] g4 sd_d[25] sd_d[25] sd_d[25] e9 sd_d[2 6] sd_d[26] sd_d[26] g5 sd_d[27] sd_d[27] sd_d[27] a9 sd_d[28] sd_d[28] sd_d[28] d9 sd_d[29] sd_d[29] sd_d[29] c6 sd_d[3] sd_d[3] sd_d[3] c9 sd_d[30] sd_d[30] sd_d[30] c8 sd_d[31] sd_d[31] sd_d[31] g1 sd_d[4] sd_d[4] sd_d[4] b7 sd_d[5] sd_d[5] sd_d [5] d5 sd_d[6] sd_d[6] sd_d[6] d6 sd_d[7] sd_d[7] sd_d[7] e7 sd_d[8] sd_d[8] sd_d[8] e5 sd_d[9] sd_d[9] sd_d[9] c5 sd_dqm[0] sd_dqm[0] sd_dqm[0] d4 sd_dqm[1] sd_dqm[1] sd_dqm[1] e6 sd_dqm[2] sd_dqm[2] sd_dqm[2] a5 sd_dqm[3] sd_dqm[3] sd_dqm[3] a1 sd_ras_n sd_ras_n sd_ras_n b1 sd_we_n sd_we_n sd_we_n h4 stmd stmd stmd r5 tdm1_aclk tdm1_aclk tdm1_aclk t7 tdm1_rclk tdm1_rclk tdm1_rclk p7 tdm1_rsig_rts tdm1_rsig_rts tdm1_rsig_rts t5 tdm1_rx tdm1_rx tdm1_rx p5 tdm1_rx_sync tdm1_rx_sync tdm1_rx_sy nc t6 tdm1_tclk tdm1_tclk tdm1_tclk downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 189 of 198 ball ds34s104 socket ds34s102 sock et ds34s101 socket p6 tdm1_tsig_cts tdm1_tsig_cts tdm1_tsig_cts t4 tdm1_tx tdm1_tx tdm1_tx r7 tdm1_tx_mf_cd tdm1_tx_mf_cd tdm1_tx_mf_cd r6 tdm1_tx_sync tdm1_tx_sync tdm1_tx_sync r1 tdm2_aclk tdm2_aclk nc p4 tdm2_rclk tdm2_rclk nc t3 tdm2_rsig_rts tdm2_rsig_rts nc p2 tdm2_rx tdm2_rx nc t1 tdm2_rx_sync tdm2_rx_sync nc p3 tdm2_tclk tdm2_tclk nc t2 tdm2_tsig_cts tdm2_tsig_cts nc p1 tdm2_tx tdm2_tx nc r3 tdm2_tx_mf_cd tdm2_tx_mf_cd nc r2 tdm2_tx_sync tdm2_tx_sync nc m2 tdm3_aclk nc nc m1 tdm3_rclk nc nc n4 tdm3_rsig_rts nc nc l2 tdm3_rx nc nc n2 tdm3_rx_sync nc nc l3 tdm3_tclk nc nc n3 tdm3_tsig_cts nc nc l1 tdm3_tx nc nc n1 tdm3_tx_mf_cd nc nc m3 tdm3_tx_sync nc nc j2 tdm4_aclk nc nc j1 tdm4_rclk nc nc k4 tdm4_rsig_rt s nc nc h2 tdm4_rx nc nc k2 tdm4_rx_sync nc nc h3 tdm4_tclk nc nc k3 tdm4_tsig_cts nc nc h1 tdm4_tx nc nc k1 tdm4_tx_mf_cd nc nc j3 tdm4_tx_sync nc nc downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 190 of 198 16.2 ds34s101 pin assignment figure 16 -1 . ds34s101 pin assignment (te - csbga package) 1 2 3 4 5 6 7 8 a sd_ras_n sd_ba[1] sd_a[3] sd_a[10] sd_dqm[3] sd_d[12] sd_d[18] sd_d[23] b sd_we_n sd_clk sd_a[5] sd_a[8] sd_d[1] sd_d[10] sd_d[5] sd_d[14] c sd_cas_n sd_cs_n sd_a[1] sd_a[7] sd_dqm[0] sd_d[3] sd_d[17 ] sd_d[31] d sd_ba[0] sd_a[0] sd_a[9] sd_dqm[1] sd_d[6] sd_d[7] sd_d[15] sd_d[19] e sd_a[2] sd_a[4] sd_a[6] sd_d[0] sd_d[9] sd_dqm[2] sd_d[8] sd_d[21] f sd_d[2] sd_a[11] sd_d[11] sd_d[13] sd_d[16] dvddc dvddc dvddc g sd_d[4] sd_d[20] sd_d[22] sd_d[25] sd_d[27] dvss dvss dvss h nc nc nc stmd dvss dvss dvss dvss j nc nc nc scan_en dvddio dvss dvss dvss k nc nc nc nc dvddio dvss dvss dvss l nc nc nc h_cpu_spi_n dvddio dvss dvss dvss m nc nc nc dat_32_16_n dvddio dvddc dvddc dvddc n nc nc nc nc mbist_ done mbist_en dvddio dvddio p nc nc nc nc tdm1_rx_sync tdm1_ts ig_cts tdm1_rsig_rts acvss1 r nc nc nc mbist_fail tdm1_aclk tdm1_tx_sync tdm1_tx_mf_cd acvdd1 t nc nc nc tdm1_tx tdm1_rx tdm1_tclk tdm1_rclk acvdd2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 sd_d[28] h_ad[21] h_ad[24] h_ad[12] h_ad[8] mii_txd[1] mii_rx_err clk_mii_rx a sd_d[24] h_ad[19] h_ad[22] h_d[21] h_ad[17] mii_txd[2] mii_col mii_rxd[0] b sd_d[30] h_ad[10] h_wr_be3_n/ spi_ci h_ad[14] h_wr_be0_n/ spi_clk mii_txd[3] mii_crs mii_rxd[1] c sd_d[29] h_ad[4] h_ad[6] h_ad[15] h_ad[2] mii_tx_en clk_mii_tx mii_rxd[2] d sd_d[26] h_wr_be2_n/ spi_sel_n h_cs_n h_ad[11] h_ad[5] mii_tx_err clk_ssmii_tx mii_rxd[3] e dvddc dvddc dvddc h_d[23] h_d[24] h_d[27] mii_txd[0] mii_rx_dv f dvss dvss dvss dvd dio h_d[25] h_d[28] mdio mdc g dvss dvss dvss dvddio h_d[26] h_d[29] h_d[31] h_d[30] h dvss dvss dvss dvddio h_d[6] h_d[14] h_d[18] h_d[22] j dvss dvss dvss dvddio h_d[0]/spi_miso h_d[12] h_d[4] h_d[19] k dvss dvss dvss dvddio h_d[3] h_d[16] h_d[8] h_d [17] l dvddc dvddc dvddc h_d[1] h_d[10] clk_cmn h_d[13] h_d[15] m dvddio dvddio hiz_n h_r_w_n/spi_cp h_ad[7] h_ad[23] h_d[7] h_d[20] n clk_high jtdi jtdo h_wr_be1_n/ spi_mosi h_ad[3] h_ad[20] h_d[5] h_d[11] p clk_sys_s jtclk rst_sys_n h_ready_n h_ad[1] h_ad[18] h_d[2] h_d[9] r acvss2 jtms jtrs t_n clk_sys/scclk h_int[0] h_ad[9] h_ad[13] h_ad[16] t 9 10 11 12 13 14 15 16 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 191 of 198 16.3 ds34s102 pin assignment figure 16 -2 . ds34s102 pin assignment (te - csbga package) 1 2 3 4 5 6 7 8 a sd_ras_n sd_ba[1] sd_a[3] sd_a[10] sd_dqm[3] sd_d[12] sd_d[18] sd_d[23] b sd_we_n sd_clk sd_a[5] sd_a[8] sd_d[1] sd_d[10] sd_d[5] sd_d[14] c sd_cas_n sd_cs_n sd_a[1] sd_a[7] sd_dqm[0] sd_d[3] sd_d[17] sd_d[31] d sd_ba[0] sd_a[0] sd_a [9] sd_dqm[1] sd_d[6] sd_d[7] sd_d[15] sd_d[19] e sd_a[2] sd_a[4] sd_a[6] sd_d[0] sd_d[9] sd_dqm[2] sd_d[8] sd_d[21] f sd_d[2] sd_a[11] sd_d[11] sd_d[13] sd_d[16] dvddc dvddc dvddc g sd_d[4] sd_d[20] sd_d[22] sd_d[25] sd_d[27] dvss dvss dvss h nc nc nc stmd dvss dvss dvss dvss j nc nc nc scan_en dvddio dvss dvss dvss k nc nc nc nc dvddio dvss dvss dvss l nc nc nc h_cpu_spi_n dvddio dvss dvss dvss m nc nc nc dat_32_16_n dvddio dvddc dvddc dvddc n nc nc nc nc mbist_done mbist_en dvddio dvddio p tdm2_tx tdm2_rx tdm2_tclk tdm2_rclk tdm1_rx_sync tdm1_ts ig_cts tdm1_rsig_rts acvss1 r tdm2_aclk tdm2_tx_sync tdm2_tx_mf_cd mbist_fail tdm1_aclk tdm1_tx_sync tdm1_tx_mf_cd acvdd1 t tdm2_rx_sync tdm2_ts ig_cts tdm2_rsig_rts tdm1_tx tdm1_rx tdm1_tclk tdm1_rclk a cvdd2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 sd_d[28] h_ad[21] h_ad[24] h_ad[12] h_ad[8] mii_txd[1] mii_rx_err clk_mii_rx a sd_d[24] h_ad[19] h_ad[22] h_d[21] h_ad[17] mii_txd[2] mii_col mii_rxd[0] b sd_d[30] h_ad[10] h_wr_be3_n/ spi_ci h_ad[14] h_ wr_be0_n/ spi_clk mii_txd[3] mii_crs mii_rxd[1] c sd_d[29] h_ad[4] h_ad[6] h_ad[15] h_ad[2] mii_tx_en clk_mii_tx mii_rxd[2] d sd_d[26] h_wr_be2_n/ spi_sel_n h_cs_n h_ad[11] h_ad[5] mii_tx_err clk_ssmii_tx mii_rxd[3] e dvddc dvddc dvddc h_d[23] h_d[24] h _d[27] mii_txd[0] mii_rx_dv f dvss dvss dvss dvddio h_d[25] h_d[28] mdio mdc g dvss dvss dvss dvddio h_d[26] h_d[29] h_d[31] h_d[30] h dvss dvss dvss dvddio h_d[6] h_d[14] h_d[18] h_d[22] j dvss dvss dvss dvddio h_d[0]/spi_miso h_d[12] h_d[4] h_d[19] k dvss dvss dvss dvddio h_d[3] h_d[16] h_d[8] h_d[17] l dvddc dvddc dvddc h_d[1] h_d[10] clk_cmn h_d[13] h_d[15] m dvddio dvddio hiz_n h_r_w_n/spi_cp h_ad[7] h_ad[23] h_d[7] h_d[20] n clk_high jtdi jtdo h_wr_be1_n/ spi_mosi h_ad[3] h_ad[20] h_d[5] h_d[1 1] p clk_sys_s jtclk rst_sys_n h_ready_n h_ad[1] h_ad[18] h_d[2] h_d[9] r acvss2 jtms jtrs t_n clk_sys/scclk h_int[0] h_ad[9] h_ad[13] h_ad[16] t 9 10 11 12 13 14 15 16 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 192 of 198 16.4 ds34s104 pin assignment figure 16 -3 . ds34s104 pin assignment (te - csbga package) 1 2 3 4 5 6 7 8 a sd_ras_n sd_ba[1] sd_a[3] sd_a[10] sd_dqm[3] sd_d[12] sd_d[18] sd_d[23] b sd_we_n sd_clk sd_a[5] sd_a[8] sd_d[1] sd_d[10] sd_d[5] sd_d[14] c sd_cas_n sd_cs_n sd_a[1] sd_a[7] sd_dqm[0] s d_d[3] sd_d[17] sd_d[31] d sd_ba[0] sd_a[0] sd_a[9] sd_dqm[1] sd_d[6] sd_d[7] sd_d[15] sd_d[19] e sd_a[2] sd_a[4] sd_a[6] sd_d[0] sd_d[9] sd_dqm[2] sd_d[8] sd_d[21] f sd_d[2] sd_a[11] sd_d[11] sd_d[13] sd_d[16] dvddc dvddc dvddc g sd_d[4] sd_d[20] sd_d [22] sd_d[25] sd_d[27] dvss dvss dvss h tdm4_tx tdm4_rx tdm4_tclk stmd dvss dvss dvss dvss j tdm4_rclk tdm4_aclk tdm4_tx_sync scan_en dvddio dvss dvss dvss k tdm4_tx_mf_cd tdm4_rx_sync tdm4_ts ig_cts tdm4_rsig_rts dvddio dvss dvss dvss l tdm3_tx tdm3_rx tdm3_tclk h_cpu_spi_n dvddio dvss dvss dvss m tdm3_rclk tdm3_aclk tdm3_tx_sync dat_32_16_n dvddio dvddc dvddc dvddc n tdm3_tx_mf_cd tdm3_rx_sync tdm3_ts ig_cts tdm3_rsig_rts mbist_done mbist_en dvddio dvddio p tdm2_tx tdm2_rx tdm2_tclk tdm2_rclk tdm1_rx _sync tdm1_ts ig_cts tdm1_rsig_rts acvss1 r tdm2_aclk tdm2_tx_sync tdm2_tx_mf_cd mbist_fail tdm1_aclk tdm1_tx_sync tdm1_tx_mf_cd acvdd1 t tdm2_rx_sync tdm2_ts ig_cts tdm2_rsig_rts tdm1_tx tdm1_rx tdm1_tclk tdm1_rclk acvdd2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 sd_d[28] h_ad[21] h_ad[24] h_ad[12] h_ad[8] mii_txd[1] mii_rx_err clk_mii_rx a sd_d[24] h_ad[19] h_ad[22] h_d[21] h_ad[17] mii_txd[2] mii_col mii_rxd[0] b sd_d[30] h_ad[10] h_wr_be3_n/ spi_ci h_ad[14] h_wr_be0_n/ spi_clk mii_txd[3] mii_crs mi i_rxd[1] c sd_d[29] h_ad[4] h_ad[6] h_ad[15] h_ad[2] mii_tx_en clk_mii_tx mii_rxd[2] d sd_d[26] h_wr_be2_n/ spi_sel_n h_cs_n h_ad[11] h_ad[5] mii_tx_err clk_ssmii_tx mii_rxd[3] e dvddc dvddc dvddc h_d[23] h_d[24] h_d[27] mii_txd[0] mii_rx_dv f dvss dvs s dvss dvddio h_d[25] h_d[28] mdio mdc g dvss dvss dvss dvddio h_d[26] h_d[29] h_d[31] h_d[30] h dvss dvss dvss dvddio h_d[6] h_d[14] h_d[18] h_d[22] j dvss dvss dvss dvddio h_d[0]/spi_miso h_d[12] h_d[4] h_d[19] k dvss dvss dvss dvddio h_d[3] h_d[16] h_d[8] h_d[17] l dvddc dvddc dvddc h_d[1] h_d[10] clk_cmn h_d[13] h_d[15] m dvddio dvddio hiz_n h_r_w_n/spi_cp h_ad[7] h_ad[23] h_d[7] h_d[20] n clk_high jtdi jtdo h_wr_be1_n/ spi_mosi h_ad[3] h_ad[20] h_d[5] h_d[11] p clk_sys_s jtclk rst_sys_n h_ready _n h_ad[1] h_ad[18] h_d[2] h_d[9] r acvss2 jtms jtrs t_n clk_sys/scclk h_int[0] h_ad[9] h_ad[13] h_ad[16] t 9 10 11 12 13 14 15 16 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 193 of 198 16.5 ds34s108 pin assignment table 16 -2 . ds34s108 pin assignment (sorted by signal name) signal name ball signal name ball signal name ball signal name ball acvdd1 m2 h_ad[18] m19 nc c1 sd_d[1] f21 acvdd2 k2 h_ad[19] n21 nc c10 sd_d[10] b22 acvss1 m1 h_ad[2] m21 nc c2 sd_d[11] h20 acvss2 k1 h_ad[20] m17 nc c5 sd_d[12] c21 clk_c mn p1 h_ad[21] p20 nc c6 sd_d[13] h18 clk_high l1 h_ad[22] r22 nc c7 sd_d[14] c22 clk_mii_rx v16 h_ad[23] n17 nc c8 sd_d[15] d21 clk_mii_tx aa18 h_ad[24] t21 nc c9 sd_d[16] g20 clk_ssmii_tx y19 h_ad[3] k16 nc d3 sd_d[17] d22 clk_sys/scclk j1 h_ad[4] m 22 nc d5 sd_d[18] j20 clk_sys_s j2 h_ad[5] t20 nc d6 sd_d[19] g21 dat_32_16_n l21 h_ad[6] m18 nc d7 sd_d[2] g19 dvddc a12 h_ad[7] m16 nc d8 sd_d[20] j21 dvddc b11 h_ad[8] m20 nc d9 sd_d[21] e22 dvddc c20 h_ad[9] l16 nc e1 sd_d[22] j19 dvddc c4 h_cpu_ spi_n k19 nc e2 sd_d[23] h21 dvddc e18 h_cs_n l17 nc e4 sd_d[24] f22 dvddc e20 h_d[0]/spi_miso t22 nc e6 sd_d[25] k21 dvddc e5 h_d[1] u21 nc e7 sd_d[26] g22 dvddc g18 h_d[10] v22 nc e8 sd_d[27] k20 dvddc g5 h_d[11] p18 nc f3 sd_d[28] h22 dvddc l2 h_d[12] w22 nc f4 sd_d[29] g16 dvddc t18 h_d[13] y21 nc f5 sd_d[3] a21 dvddc t5 h_d[14] p19 nc f7 sd_d[30] k22 dvddc v18 h_d[15] y22 nc f8 sd_d[31] j22 dvddc v20 h_d[16] aa21 nc g1 sd_d[4] c16 dvddc v5 h_d[17] aa22 nc g2 sd_d[5] a22 dvddc y10 h_d[18] ab 21 nc g4 sd_d[6] a18 dvddc y20 h_d[19] u20 nc g6 sd_d[7] b21 dvddio aa11 h_d[2] n18 nc g7 sd_d[8] e21 dvddio aa13 h_d[20] r19 nc g8 sd_d[9] h19 dvddio aa15 h_d[21] ab22 nc h4 sd_dqm[0] a20 dvddio aa2 h_d[22] p17 nc h5 sd_dqm[1] e19 dvddio aa9 h_d[23] v21 nc h6 sd_dqm[2] b20 dvddio b10 h_d[24] r17 nc h7 sd_dqm[3] d20 dvddio b14 h_d[25] v19 nc j4 sd_ras_n d16 dvddio b16 h_d[26] t19 nc j5 sd_we_n c17 dvddio b2 h_d[27] w21 nc j6 stmd k15 dvddio b8 h_d[28] u16 nc j7 tdm1_aclk e10 dvddio c3 h_d[29] r1 8 nc j8 tdm1_rclk d12 dvddio d1 h_d[3] r20 nc k4 tdm1_rsig_rts c11 dvddio f2 h_d[30] w20 nc k5 tdm1_rx d10 dvddio h2 h_d[31] u19 nc k6 tdm1_rx_sync d11 dvddio j10 h_d[4] t17 nc k7 tdm1_tclk f12 dvddio j11 h_d[5] p16 nc k8 tdm1_tsig_cts e11 dvddio j12 h_d[6] u18 nc l22 tdm1_tx c12 dvddio j13 h_d[7] r16 nc l4 tdm1_tx_mf_cd f13 dvddio k14 h_d[8] u22 nc l5 tdm1_tx_sync e13 dvddio k9 h_d[9] t16 nc l6 tdm2_aclk e9 dvddio l14 h_int[0] j17 nc l7 tdm2_rclk e12 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 194 of 198 signal name ball signal name ball signal name ball signal name ball dvddio l9 h_r_w_n/spi_cp k17 nc l8 tdm2_rsig_ rts c14 dvddio m14 h_ready_n k18 nc m4 tdm2_rx d13 dvddio m9 h_wr_be0_n/spi_clk l19 nc m5 tdm2_rx_sync c13 dvddio n14 h_wr_be1_n/spi_mosi j16 nc m6 tdm2_tclk g10 dvddio n9 h_wr_be2_n/spi_sel_n j18 nc m7 tdm2_tsig_cts f11 dvddio p10 h_wr_be3_n/spi_ci l 20 nc m8 tdm2_tx g11 dvddio p11 hiz_n t3 nc n4 tdm2_tx_mf_cd f10 dvddio p12 jtclk l3 nc n5 tdm2_tx_sync e14 dvddio p13 jtdi m3 nc n6 tdm3_aclk g14 dvddio r2 jtdo n3 nc n7 tdm3_rclk c15 dvddio u2 jtms k3 nc n8 tdm3_rsig_rts g13 dvddio v3 jtrst_n p3 nc p4 tdm3_rx d15 dvddio w1 mbist_done m15 nc p5 tdm3_rx_sync d14 dvss a10 mbist_en p15 nc p6 tdm3_tclk g9 dvss a14 mbist_fail n15 nc p7 tdm3_tsig_cts g12 dvss a16 mclk n1 nc p8 tdm3_tx e15 dvss a8 mdc ab17 nc p9 tdm3_tx_mf_cd f9 dvss aa1 mdio aa20 nc r3 tdm3_tx_sync f14 dvss ab11 mii_col aa17 nc r4 tdm4_aclk h12 dvss ab13 mii_crs y18 nc r5 tdm4_rclk j14 dvss ab15 mii_rx_dv y17 nc r6 tdm4_rsig_rts f15 dvss ab9 mii_rx_err v17 nc r7 tdm4_rx h9 dvss b1 mii_rxd[0] aa16 nc t1 tdm4_rx_sync h14 dvss b12 mii_rxd[1] w16 nc t2 tdm4_tclk h11 dvss d19 mii_rxd[2] ab16 nc t4 tdm4_tsig_cts g15 dvss d2 mii_rxd[3] y16 nc t6 tdm4_tx j9 dvss d4 mii_tx_en w17 nc t7 tdm4_tx_mf_cd h13 dvss e3 mii_tx_err ab20 nc t8 tdm4_tx_sync h10 dvss f1 mii_txd[0] ab18 nc u3 tdm5 _aclk v11 dvss f17 mii_txd[1] w18 nc u4 tdm5_rclk v9 dvss f6 mii_txd[2] aa19 nc u5 tdm5_rsig_rts t9 dvss h1 mii_txd[3] ab19 nc u7 tdm5_rx r11 dvss h15 nc a1 nc u8 tdm5_rx_sync u14 dvss h8 nc a11 nc v1 tdm5_tclk t13 dvss k10 nc a13 nc v2 tdm5_tsig_cts p14 dvss k11 nc a15 nc v4 tdm5_tx r12 dvss k12 nc a2 nc v6 tdm5_tx_mf_cd r10 dvss k13 nc a3 nc v7 tdm5_tx_sync r14 dvss l10 nc a4 nc v8 tdm6_aclk w14 dvss l11 nc a5 nc w3 tdm6_rclk t12 dvss l12 nc a6 nc w5 tdm6_rsig_rts r9 dvss l13 nc a7 nc w6 tdm6 _rx v12 dvss m10 nc a9 nc w7 tdm6_rx_sync t15 dvss m11 nc aa10 nc w8 tdm6_tclk v15 dvss m12 nc aa12 nc y1 tdm6_tsig_cts v13 dvss m13 nc aa14 nc y2 tdm6_tx w15 dvss n10 nc aa3 nc y4 tdm6_tx_mf_cd u15 dvss n11 nc aa4 nc y5 tdm6_tx_sync t10 dvss n12 nc aa5 nc y6 tdm7_aclk v14 dvss n13 nc aa6 nc y7 tdm7_rclk u13 dvss n2 nc aa7 nc y8 tdm7_rsig_rts t14 dvss r1 nc aa8 rst_sys_n p2 tdm7_rx u12 dvss r15 nc ab1 scen j15 tdm7_rx_sync r13 dvss r8 nc ab10 sd_a[0] a17 tdm7_tclk y11 dvss u1 nc ab12 sd_a[1] f1 8 tdm7_tsig_cts w9 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 195 of 198 signal name ball signal name ball signal name ball signal name ball dvss u17 nc ab14 sd_a[10] b19 tdm7_tx w12 dvss u6 nc ab2 sd_a[11] d17 tdm7_tx_mf_cd y15 dvss w19 nc ab3 sd_a[2] f16 tdm7_tx_sync u11 dvss w2 nc ab4 sd_a[3] b18 tdm8_aclk y13 dvss w4 nc ab5 sd_a[4] e17 tdm8_rclk u9 dvss y12 nc ab6 s d_a[5] a19 tdm8_rsig_rts y9 dvss y3 nc ab7 sd_a[6] h17 tdm8_rx v10 h_ad[1] l18 nc ab8 sd_a[7] f19 tdm8_rx_sync t11 h_ad[10] n22 nc b13 sd_a[8] f20 tdm8_tclk y14 h_ad[11] l15 nc b15 sd_a[9] d18 tdm8_tsig_cts w11 h_ad[12] p21 nc b3 sd_ba[0] g17 tdm8_tx w10 h_ad[13] n16 nc b4 sd_ba[1] c19 tdm8_tx_mf_cd w13 h_ad[14] n20 nc b5 sd_cas_n e16 tdm8_tx_sync u10 h_ad[15] p22 nc b6 sd_clk h16 test_clk j3 h_ad[16] n19 nc b7 sd_cs_n b17 tst_cld g3 h_ad[17] r21 nc b9 sd_d[0] c18 nc h3 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 196 of 198 figure 16 -4 . ds34s108 pin assignment (hsbga package) 1 2 3 4 5 6 7 8 9 10 11 a nc nc nc nc nc nc nc dvss nc dvss nc b dvss dvddio nc nc nc nc nc dvddio nc dvddio dvddc c nc nc dvddio dvddc nc nc nc nc nc nc tdm1_rsig_rts d dvddio dvss nc dvss nc nc nc nc nc tdm1_rx tdm1_rx_sync e nc nc dvss nc dvddc nc nc nc tdm2_aclk tdm1_aclk tdm1_tsig_cts f dvss dvddio nc nc nc dvss nc nc tdm3_tx_mf_cd tdm2_tx_mf_cd tdm2_tsig_cts g nc nc tst_cld nc dvddc nc nc nc tdm3_tclk tdm2_tclk tdm2_tx h dvss dvddio nc nc nc nc nc dvss tdm4_rx tdm4_tx_sync tdm4_tclk j clk_sys/scclk clk_sys_s test_clk nc nc nc nc nc tdm4_tx dvddio dvddio k acvss2 acvdd2 jtms nc nc nc nc nc dvddio dvss dvss l clk_high dvddc jtclk nc nc nc nc nc dvddio dvss dvss m acvss1 acvdd1 jtdi nc nc nc nc nc dvddio dvss dvss n mclk dvss jtdo nc nc nc nc nc dvddio dvss dvss p clk_cmn rst_sys_n jtrst_n nc nc nc nc nc nc dvddio dvddio r dvss dvddio nc nc nc nc nc dvss tdm6_rsig_rts tdm5_tx_mf_cd tdm5_rx t nc nc hiz_n nc dvddc nc nc nc tdm5_rsig_rts tdm6_tx_sync tdm8_rx_sync u dvss dvddio nc nc nc dvss nc nc tdm8_rclk tdm8_tx_sync tdm7_tx_sync v nc nc dvddio nc dvddc nc nc nc tdm5_rclk tdm8_rx tdm5_aclk w dvddio dvss nc dvss nc nc nc nc tdm7_tsig_cts tdm8_tx tdm8_tsig_cts y nc nc dvss nc nc nc nc nc tdm8_rsig_rts dvddc tdm7_tclk aa dvss dvddio nc nc nc nc nc nc dvddio nc dvddio ab nc nc nc nc nc nc nc nc dvss nc dvss 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 dvddc nc dvss nc dvss sd_a[0] sd_d[6] sd_a[5] sd_dqm[0] sd_d[3] sd_d[5] a dvss nc dvddio nc dvddio sd_cs_n sd_a[3] sd_a[10] sd_dqm[2] sd_d[7] sd_d[10] b tdm1_tx tdm2_rx_sync tdm2_rsig_rts tdm3_rclk sd_d[4] sd_we_n sd_d[0] sd_ba[1] dvddc sd_d[12] sd_d[14] c tdm1_rclk tdm2_rx tdm3_rx_sync tdm3_rx sd_ras_n sd_a[11] sd_a[9] dvss sd_dqm[3] sd_d[15] sd_d[17] d tdm2_rclk tdm1_tx_sync tdm2_tx_sync tdm3_tx sd_cas_n sd_a[4] dvddc sd_dqm[1] dvddc sd_d[8] sd_d[21] e tdm1_tclk tdm1_tx_mf_cd tdm3_tx_sync tdm4_rsig_rts sd_a[2] dvss sd_a[1] sd_a[7] sd_a[8] sd_d[1] sd_d[24] f tdm3_tsig_cts tdm3_rsig_rts tdm3_aclk tdm4_tsig_cts sd_d[29] sd_ba[0] dvddc sd_d[2] sd_d[16] sd_d[19] sd_d[26] g tdm4_aclk tdm4_tx_mf_cd tdm4_rx_sync dvss sd_clk sd_a[6] sd_d[13] sd_d[9] sd_d[11] sd_d[23] sd_d[28] h dvddio dvddio tdm4_rclk scen h_wr_be1_n/spi_mos h_int[0] h_wr_be2_n/spi_sel_ sd_d[22] sd_d[18] sd_d[20] sd_d[31] j dvss dvss dvddio stmd h_ad[3] h_r_w_n/spi_cp h_ready_n h_cpu_spi_n sd_d[27] sd_d[25] sd_d[30] k dvss dvss dvddio h_ad[11] h_ad[9] h_cs_n h_ad[1] h_wr_be0_n/spi_clk h_wr_be3_n/spi_ci dat_32_16_n nc l dvss dvss dvddio mbist_done h_ad[7] h_ad[20] h_ad[6] h_ad[18] h_ad[8] h_ad[2] h_ad[4] m dvss dvss dvddio mbist_fail h_ad[13] h_ad[23] h_d[2] h_ad[16] h_ad[14] h_ad[19] h_ad[10] n dvddio dvddio tdm5_tsig_cts mbist_en h_d[5] h_d[22] h_d[11] h_d[14] h_ad[21] h_ad[12] h_ad[15] p tdm5_tx tdm7_rx_sync tdm5_tx_sync dvss h_d[7] h_d[24] h_d[29] h_d[20] h_d[3] h_ad[17] h_ad[22] r tdm6_rclk tdm5_tclk tdm7_rsig_rts tdm6_rx_sync h_d[9] h_d[4] dvddc h_d[26] h_ad[5] h_ad[24] h_d[0]/spi_miso t tdm7_rx tdm7_rclk tdm5_rx_sync tdm6_tx_mf_cd h_d[28] dvss h_d[6] h_d[31] h_d[19] h_d[1] h_d[8] u tdm6_rx tdm6_tsig_cts tdm7_aclk tdm6_tclk clk_mii_rx mii_rx_err dvddc h_d[25] dvddc h_d[23] h_d[10] v tdm7_tx tdm8_tx_mf_cd tdm6_aclk tdm6_tx mii_rxd[1] mii_tx_en mii_txd[1] dvss h_d[30] h_d[27] h_d[12] w dvss tdm8_aclk tdm8_tclk tdm7_tx_mf_cd mii_rxd[3] mii_rx_dv mii_crs clk_ssmii_tx dvddc h_d[13] h_d[15] y nc dvddio nc dvddio mii_rxd[0] mii_col clk_mii_tx mii_txd[2] mdio h_d[16] h_d[17] aa nc dvss nc dvss mii_rxd[2] mdc mii_txd[0] mii_txd[3] mii_tx_err h_d[18] h_d[21] ab 12 13 14 15 16 17 18 19 20 21 22 downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 197 of 198 17. package information for the latest package outline information and land patterns, go to www.maxim - ic.com/packages . ds34s101, ds34s102 and ds34s108 have a 256 - lead thermally enhanced chip - scale ball grid array (tecsbga) package. the tecsbga package dimensions are shown in maxim document 21 - 0353 . ds34s108 has a 484 - lead thermally enhanced ball grid array (tebga) package. the tebga package dimensions are shown in maxim document 21 - 0365 . 18. thermal inf ormation parameter tecsbga - 256 ds34s101 ds34s102 ds34s104 tebga - 484 ds34s108 target ambient temperature range - 40 to 85 c - 40 to 85 c die junction temperature range - 40 to 125 c - 40 to 125 c theta jc (junction to top of case) 3.7 c/w 4.5 c/w the ta jb (junction to bottom pins) 13.1 c/w 7.1 c/w theta ja, still air (note 1) 26.2 c/w 15.0 c/w note 1 : these numbers are estimates using jedec standard pcb and enclosure dimensions. downloaded from: http:///
____________________________________________________ ds34s101, ds34s102, ds34s104, ds34s108 rev: 032609 198 of 198 maxim cannot assume responsibility for use of any circuitry other t han circuitry entirely embodied in a maxim product. no circuit patent licenses are implied. maxim reserves the right to change the circuitry and specificati ons without notice at any time. maxim integrated products, 120 san gabriel drive, sunnyvale, ca 94086 408 - 737 - 7600 ? 2009 maxim integrated products maxim is a registered trademark of maxim integrated products. 19. data sheet revision history revision date description 071108 init ial release. 100108 in the ordering information table on page 1, removed the asterisks and footnotes that indicated ds34s101, ds34s102 and ds34s104 were future products. in table 11 - 11 , table 11 - 13 , table 11 - 14 and table 11 - 15, corrected the index variable in the description column from n to ts to match the other columns. updated figure 6 -1 to show all cpu interface pins including spi bus pin names. in section 11.4.8 , changed the index into the jitter buffer control registers from j = 0 to 255 to port = 1 to 8 and ts = 0 to 31 for additional clarit y. 101408 removed all references to aal2 mode. replaced the incorrect terms cell and cells with aal1 sar pdu throughout the document except in register names and register field names. edited section 10.6. 6 for additional clarity about the aal1 mapping methods. corrected some spelling errors and other minor typos. in table 9 -1 , change note on tst_cld pin from ds34s104 only to ds34s108 only. corrected table 16 -1 , which previously was missing a large section from the middle. added future status for ds34s101 and ds34s102 to the ordering information table. 032609 removed future status for the ds34s101 and ds34s102 in the ordering information table. downloaded from: http:///


▲Up To Search▲   

 
Price & Availability of DS34S108DK-L7

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X