
MT90503
Data Sheet
48
Zarlink Semiconductor Inc.
4.2.5 TDM Circular Buffers
The TDM module writes the data received from the bus to circular buffers that are assigned on a per-channel basis.
The circular buffers’ size is variable and is specified in two places, i.e., once in the TDM channel association
structure for which each channel has an entry, and once in the TX_SAR or RX_SAR structure which reads or writes
to that channel.
The TX part of the circular buffer (data read from the TDM bus and written to the circular buffer) is contained in bits
15:8 of each circular buffer word. The RX part of the buffer is contained in the remaining bits, 7:0. This alignment
allows for underrun detection and null-pattern insertion in the case of underruns. It also allows the detection of cut
VCs. A cut VC is indicated when 256 consecutive underrun bytes are detected.
In the non-multiframing mode, the circular buffers are used as a single block. This means that for each channel, up
to 1024 bytes of data can be stored in the channel’s circular buffer. On the RX side, up to 128 ms of data can be
stored for retrieval; therefore, at n = 1 with a packet size of 48 bytes, up to
±
61 ms of CDV can be compensated.
In multiframing mode, each 32-byte division of the circular buffer is used to store the information of one multiframe.
In T1 operation, the first 24-bytes of the 32-byte division are used to remember the TDM data from the multiframe.
In E1 operation, the first 16-bytes are used for the same purpose. In addition, in byte 31 of each division, the CAS
value of the multiframe is stored. In this way, the multiframe portion of the TDM pointer is valid for the TDM data and
for the CAS data; only the lowest bits need to be changed to “11111” in order to point to CAS.
When write backs are performed, a null byte or one of two silent patterns (background noise) can be inserted in the
RX byte. The silent patterns are read from buffers of up to 64 KB. These silent patterns can be used to generate
noisy silences.
Figure 15 - Silent Pattern Buffer A/B in Control Memory
b8
b9
b10
b11
b12
b13
b14
b15
+0
b0
b1
b2
b3
b4
b5
b6
b7
Pattern A Byte 0
Pattern B Byte 0
+2
Pattern A Byte 1
Pattern B Byte 1
+4
Pattern A Byte 2
Pattern B Byte 2
+(n-2)*2
Pattern A Byte (n-2)
Pattern B Byte (n-2)
+(n-1)*2
Pattern A Byte (n-1)
Pattern B Byte (n-1)
The Silent Pattern Buffer is
n words long, n ranging
from 0 to 65535.