Instruction/ maintenance manual of the product TURBO-DECODER COPROCESSOR 2 TMS320C6457 DSP Texas Instruments
Go to page of 79
TMS320C6457 DSP Turbo-Decoder Coprocessor 2 (TCP2) User's Guide Literature Number: SPRUGK1 March 2009.
2 SPRUGK1 – March 2009 Submit Documentation Feedback.
Contents Preface ........................................................................................................................................ 8 1 Features ....................................................................................
www.ti.com 8 Architecture ....................................................................................................................... 59 8.1 Sub-block and Sliding Window Segmentation ........................................................
www.ti.com List of Figures 1 3GPP and IS2000 Turbo-Encoder Block Diagram ..................................................................... 10 2 3GPP and IS2000 Turbo-Decoder Block Diagram ...........................................................
www.ti.com 53 TCP2 Endian Register (TCPEND) ....................................................................................... 44 54 TCP2 Error Register (TCPERR) ....................................................................................
www.ti.com List of Tables 1 Frame Sizes for Standalone (SA) Mode and Shared-Processing (SP) Mode ...................................... 12 2 Interleaver Data .............................................................................................
Preface SPRUGK1 – March 2009 Read This First About This Manual Channel decoding of high bit-rate data channels found in third-generation (3G) cellular standards requires decoding of turbo-encoded data.
1 Features User's Guide SPRUGK1 – March 2009 TMS320C6457 Turbo-Decoder Coprocessor 2 Channel decoding of high bit-rate data channels found in third-generation (3G) cellular standards requires decoding of turbo-encoded data.
2 Introduction z −1 z −1 z −1 B A X z −1 z −1 z −1 B’ A ’ X’ Interleaver Puncture and repetition X P1 P2 P3 Information Switches in upper position for information bits and in lower position for tail bits Introduction www.ti.com Encoding is done as shown in Figure 1 .
MAP1 MAP2 Received systematics Interleave Deinterleave A priori Interleave A priori Received systematics Received parities Received parities A ’ & B ’ symbols Hard decisions calculation Decoded bits X’ symbols information X symbols A & B symbols information 3 Overview www.
32-bit configuration bus 64-bit EDMA3 bus T urbo-decoder coprocessor (TCP2) REVT/XEVT generation CPU interrupt generation TCP2 control EDMA3 I/F unit Memory block Processing unit TCP2_INT TCPXEVT TCPREVT 4 Standalone (SA) Mode Standalone (SA) Mode www.
Parity A Parity A ’ Parity B Parity B’ V oid input I I I −1 Apriori 1 Apriori 2 Systematic Stop? (stopping criterion algo) New apriori Previous apriori Y es Systematic No Slicer Create hard decisions End MAP decoder unit Extrinsic saved as new apriori Keep on iterations Enable next log−map by switching the switches 4.
Standalone (SA) Mode www.ti.com Figure 5. Systematic/Parity Data for Rates 1/2, 1/3, 1/4, 1/5, and 3/4 63:62 61:56 55:50 49:44 43:38 37:32 31:30 29:24 23:18 17:12 11:6 5:0 RSVD SP9 SP8 SP7 SP6 SP5 RSVD SP4 SP3 SP2 SP1 SP0 Figure 6.
www.ti.com Standalone (SA) Mode Figure 11. EN = 0 (Big-Endian Mode) Rate = 1/4 Word Word N N + 1 SP4 SP3 SP2 SP1 SP0 SP9 SP8 SP7 SP6 SP5 B0' 0 B0 A0 X0 B1' A1' 0 A1 X1 Word Word N + 2 N + 3 SP4 SP3 SP2 SP1 SP0 SP9 SP8 SP7 SP6 SP5 B2' 0 B2 A2 X2 B3' A3' 0 A3 X3 Figure 12.
4.1.2 Interleaver Indexes 4.2 Output Decision Data Format 4.3 Stopping Criteria Standalone (SA) Mode www.ti.com Figure 15. Rate 3/4 EN = 0 (Big-Endian Mode) Rate = 3/4 Word Word N N + 1 SP4 SP3 SP2 SP.
4.4 Stopping Test Unit 4.4.1 SNR Threshold Termination 4.4.2 CRC Termination www.ti.com Standalone (SA) Mode The CRC-based stopping criterion can be used by setting the CRC polynomial length (CRCLEN) and the number of CRC iterations required to pass CRCITERPASS.
4.4.3 Parameter Termination 4.4.3.1 Maximum Iterations 4.4.3.2 Minimum Iterations 5 Shared-Processing (SP) Mode Shared-Processing (SP) Mode www.ti.com The CRC will process one sub-block at time using the data stored from the previous sub-block. The decision bit will be used by a CRC block.
MAP decoder unit A for MAP 1 and A ’ for MAP2 B for MAP1 and B’ for MAP2 (only rate 1/4) X for MAP1 or X’ for MAP2 EXT 1 : extrinsics after MAP1 EXT 2 : extrinsics after MAP2 EXT 1 ,2 www.
Num S ubframe + CEIL ǒ Size Bloc k Size M AX_S ubframe Ǔ Size S ubframe + CEIL ǒ Size Bloc k 256 Num Sub frame Ǔ 256 while ǒ Size B loc k u Size MAX_S ubsy ste m Ǔ { Size B loc k + Size B loc k .
www.ti.com Shared-Processing (SP) Mode Each sub-frame is independent of each other. There are three types of sub-frames. The first sub-frame starts the trellis from the zero state. The last sub-frame ends the trellis from a known state. The remaining middle subframes do not start or end from a known state.
MAP decoder unit MAP 1: Parity A or MAP 2: Parity A ’ MAP 2: Parity B’ MAP 1: Parity B or V oid input MAP 1: Systemic or MAP 2: Interleaved (systematic) MAP 1: De−interlaced (Apriori 2) or MAP 2: Interleaved (Apriori 1) MAP 1: Apriori 1 or MAP 2: Apriori 2 Extrinsic saved as apriori 5.
www.ti.com Shared-Processing (SP) Mode Figure 23. EN = 1 (Little-Endian Mode) Rate = 1/3 Word Word N + 1 N SP9 SP8 SP7 SP6 SP5 SP4 SP3 SP2 SP1 SP0 0 A1' 0 A1 X1 0 A0' 0 A0 X0 Word Word N + 3 N + 2 SP9 SP8 SP7 SP6 SP5 SP4 SP3 SP2 SP1 SP0 0 A3' 0 A3 X3 0 A2' 0 A2 X2 Figure 24.
5.1.2 A Priori Data 5.2 Output Data Format Shared-Processing (SP) Mode www.ti.com Figure 28. EN = 0 (Big-Endian Mode) Rate = 1/5 Word Word N N + 1 SP4 SP3 SP2 SP1 SP0 SP9 SP8 SP7 SP6 SP5 B0' A0&a.
6 Registers www.ti.com Registers The TCP2 contains several memory-mapped registers accessible via the CPU, QDMA, and EDMA3. A peripheral-bus access is faster than an EDMA3-bus access for isolated accesses (typically when accessing control registers).
Registers www.ti.com Table 4. TCP2 RAMs (continued) TCP2 Data Offset Register/Memory Address Abbreviation Name Address Range Length 0xA0000 B0 Beta Prolog Memory 0xa0000-0xa0FFF 0x00000280 0xB0000 A0 .
6.1 Peripheral Identification Register (PID) www.ti.com Registers The peripheral identification register (PID) is a constant register that contains the ID and ID revision number for that peripheral. The PID stores version information used to identify the peripheral.
6.2 TCP2 Input Configuration Register 0 (TCPIC0) Registers www.ti.com The TCP2 input configuration register 0 (TCPIC0) is shown in Figure 33 and described in Table 6 .
6.3 TCP2 Input Configuration Register 1 (TCPIC1) 6.4 TCP2 Input Configuration Register 2 (TCPIC2) www.ti.com Registers The TCP2 input configuration register 1 (TCPIC1) is shown in Figure 34 and described in Table 7 . TCPIC1 configures the TCP. Figure 34.
6.5 TCP2 Input Configuration Register 3 (TCPIC3) Registers www.ti.com The TCP2 input configuration register 3 (TCPIC3) is shown in Figure 36 and described in Table 9 .
6.6 TCP2 Input Configuration Register 4 (TCPIC4) www.ti.com Registers The TCP2 input configuration register 4 (TCPIC4) is shown in Figure 37 and described in Table 10 .
6.7 TCP2 Input Configuration Register 5 (TCPIC5) 6.8 Tail Symbols Registers www.ti.com The TCP2 input configuration register 5 (TCPIC5) is shown in Figure 38 and described in Table 11 .
6.9 TCP2 Input Configuration Register 6 (TCPIC6) www.ti.com Registers The TCP2 input configuration register 6 (TCPIC6) is shown in Figure 39 and described in Table 13 .
6.10 TCP2 Input Configuration Register 7 (TCPIC7) Registers www.ti.com The TCP2 input configuration register 7 (TCPIC7) is shown in Figure 40 and described in Table 14 .
6.11 TCP2 Input Configuration Register 8 (TCPIC8) www.ti.com Registers The TCP2 input configuration register 8 (TCPIC8) is shown in Figure 41 and described in Table 15 .
6.12 TCP2 Input Configuration Register 9 (TCPIC9) Registers www.ti.com The TCP2 input configuration register 9 (TCPIC9) is shown in Figure 42 and described in Table 16 .
6.13 TCP2 Input Configuration Register 10 (TCPIC10) 6.14 TCP2 Input Configuration Register 11 (TCPIC11) www.ti.com Registers The TCP2 input configuration register 10 (TCPIC10) is shown in Figure 43 and described in Table 17 . TCPIC10 sets the tail bits used by the TCP.
Registers www.ti.com Figure 44. TCP2 Input Configuration Register 11 (TCPIC11) 31 18 17 0 Reserved TAIL6 R/W-0 R/W-0 LEGEND: R/W = Read/Write; R = Read only; - n = value after reset Table 18. TCP2 Input Configuration Register 11 (TCPIC11) Field Descriptions Bit Field Value Description 31-18 Reserved 0 Reserved.
6.15 TCP2 Input Configuration Register 12 (TCPIC12) 6.16 TCP2 Input Configuration Register 13 (TCPIC13) www.ti.com Registers The TCP2 input configuration register 12 (TCPIC12) is shown in Figure 45 and described in Table 19 .
6.17 TCP2 Input Configuration Register 14 (TCPIC14) Registers www.ti.com The TCP2 input configuration register 14 (TCPIC14) is shown in Figure 47 and described in Table 21 .
6.18 TCP2 Input Configuration Register 15 (TCPIC15) www.ti.com Registers The TCP2 input configuration register 15 (TCPIC15) is shown in Figure 48 and described in Table 22 .
6.19 TCP2 Output Parameter Register 0 (TCPOUT0) 6.20 TCP2 Output Parameter Register 1 (TCPOUT1) Registers www.ti.com The TCP2 output parameter register 0 (TCPOUT0) is shown in Figure 49 and described in Table 24 .
6.21 TCP2 Output Parameter Register 2 (TCPOUT2) 6.22 TCP2 Execution Register (TCPEXE) www.ti.com Registers The TCP2 output parameter register 2 (TCPOUT2) is shown in Figure 51 and described in Table 26 .
6.23 TCP2 Endian Register (TCPEND) Registers www.ti.com The TCP2 endian register (TCPEND) is shown in Figure 53 and described in Table 28 . TCPEND should only be used when the DSP is set to big-endian mode.
6.24 TCP2 Error Register (TCPERR) www.ti.com Registers The TCP2 error register (TCPERR) is shown in Figure 54 and described in Table 29 . In case of an error, the coprocessor sends an interrupt to the C6457 CPU. The following errors are feedback in the error word.
Registers www.ti.com Table 29. TCP2 Error Register (TCPERR) Field Descriptions (continued) Bit Field Value Description 4 SF Subframe length. 0 No error 1 Subframe length > 5114 3 Reserved 0 Reserved. The reserved bit location is always read as 0. A value written to this field has no effect.
6.25 TCP2 Status Register (TCPSTAT) www.ti.com Registers The TCP2 status register (TCPSTAT) is shown in Figure 55 and described in Table 30 . Figure 55.
Registers www.ti.com Table 30. TCP2 Status Register (TCPSTAT) Field Descriptions (continued) Bit Field Value Description 7 REXT Defines if the TCP2 is waiting for extrinsic memory 0 data to be read. 0 Not waiting 1 Waiting for RAM extrinsic memory 0 to be read 6 WAP Defines if the TCP2 is waiting for a extrinsic memory 1 data to be written.
6.26 TCP2 Emulation Register (TCPEMU) www.ti.com Registers In emulation mode, the access to TCP2 memories can be done in read or write. TCP2 supports emulation mode.
7 Endianness 7.1 Data Memory for Systematic Endianness www.ti.com The TCP2 is halted (or paused) after processing the ongoing frame. Any current frame processing must complete. Sync vents for the new frame will be hold until TCP_EMUSUSP is released. The TCP2 is restarted from the paused state and begins the next frame operations.
www.ti.com Endianness Figure 61. Data Memory 63:62 61:56 55:50 49:44 43:38 37:32 31:30 29:24 23:18 17:12 11:6 5:0 RSVD SP9 SP8 SP7 SP6 SP5 RSVD SP4 SP3 SP2 SP1 SP0 Figure 62.
Endianness www.ti.com Figure 67. EN = 0 (Big-Endian Mode) Rate = 1/4 Word Word N N + 1 SP4 SP3 SP2 SP1 SP0 SP9 SP8 SP7 SP6 SP5 B0' 0 B0 A0 X0 B1' A1' 0 A1 X1 Word Word N + 2 N + 3 SP4 SP3 SP2 SP1 SP0 SP9 SP8 SP7 SP6 SP5 B2' 0 B2 A2 X2 B3' A3' 0 A3 X3 Figure 68.
7.1.1 Hard Decision Data www.ti.com Endianness Figure 71. EN = 0 (Big-Endian Mode) Rate = 3/4 Word Word N N + 1 SP4 SP3 SP2 SP1 SP0 SP9 SP8 SP7 SP6 SP5 0 0 0 A0 X0 0 0 0 0 X1 Word Word N + 2 N + 3 SP4.
7.1.2 TCP_ENDIAN Register for Endianness Manager Endianness www.ti.com Figure 77. Destination of Endianness Manager (OUT_ORDER = 0) 63 62 32 31 1 0 Stage Stage Stage Stage Stage Stage N - 32 N - 33 N - 63 N N - 30 N - 31 4. OUT_ORDER = 1 EN = 1 (Little-Endian Mode) Figure 78.
7.1.3 Interleaver Data 7.1.3.1 ENDIAN_INTR = 1 www.ti.com Endianness Figure 82. TCP_ENDIAN Register 31 16 Reserved R/W 15 2 1 0 ENDIAN_ ENDIAN_ Reserved EXTR INTR R/W R/W R/W LEGEND: R/W = Read/Write; R = Read only; - n = value after reset Table 33.
INTER0 INTER1 INTER3 INTER2 Base 0 Base 2 Base 4 Base 6 INTER2 INTER3 INTER1 INTER0 EDMA3 63 0 INTER3 INTER2 INTER1 INTER0 Kernel 63 0 TCP Memory Endian_Intr=1 Endianness manager 7.
7.1.4 Extrinsic Data 7.1.4.1 ENDIAN_EXTR = 1 XT0 XT1 XT2 XT3 XT4 XT6 XT7 XT5 Base 0 Base 7 Endian_Extr=1 XT7 XT6 XT5 XT4 XT0 XT2 XT3 XT1 Endianness manager XT7 XT6 XT5 XT4 XT3 XT2 XT1 XT0 63 0 63 0 EDMA3 TCP Kernel Memory www.ti.com Endianness Figure 87.
Endianness www.ti.com Figure 90. Data Source - Kernel (ENDIAN_EXTR = 1) 63:56 55:48 47:40 39:32 31:24 23:16 15:8 7:0 EXT7 EXT6 EXT5 EXT4 EXT3 EXT2 EXT1 EXT0 Figure 91.
7.1.4.2 ENDIAN_EXTR = 0 XT3 XT2 XT1 XT0 XT7 XT5 XT4 XT6 Base 0 Base 7 Endian_Extr=0 XT7 XT6 XT5 XT4 XT0 XT2 XT3 XT1 Endianness manager XT7 XT6 XT5 XT4 XT3 XT2 XT1 XT0 63 0 63 0 EDMA3 TCP Kernel Memory 8 Architecture www.ti.com Architecture If ENDIAN_EXTR = 0, data are saved in word format (32 bits) in the DSP (see Table 39 ).
Beta memory Beta memory Scratch Alpha Extrinsic Extrinsic signals Data from memory 8.1 Sub-block and Sliding Window Segmentation Architecture www.ti.com Figure 95. MAP Unit Block Diagram The TCP2 can enable or disable the max star function by modifying the E_MAX_STAR bit in the TCPIC3 register.
Subblock : 1, 2 or 4 sliding windows Frame or subframe (length < 51 14) First subblock Middle subblock Middle subblock Middle subblock Last subblock Beta Prolog portion Alpla Prolog portion Reliability portion Prolog Only used in SP mode.
Shared-processing frame (length > 20730) First subframe Middle subframe Middle subframe Middle subframe Last subframe Prolog Must point to valid address T ail Subframe (length ≤ 20480) 8.3 Reliability and Prolog Length Calculation Architecture www.
R MAX + 128 while ǒ ǒ N SB R N SW * N Ǔ w ( R * 48 ) Ǔ R + WI N_SIZE N SB IF ǒ R N S B t WI N_SIZ E Ǔ R ) ) if ( N v 12 8 ) NSW + 1, R + N ELSE NSW + 2 IF ǒ N S W + 2 Ǔ { { WI N_SIZE + CEI L ƪ N ń N SW ƫ N SB + CEIL ƪ W IN_SIZ E R MAX ƫ R MAX + R MAX * 1 } N SW + N SW * 1 8.
8.4.2 Input Sign 8.4.3 Log Equation 8.4.4 Re-Encode 9 Programming Programming www.ti.com The TCP assumes that the encoded bits are converted into signed binary symbols using the following mapping: 0 → -1, 1 → +1 and scaled by -2*a/ Σ 2 where a is the fading factor and Σ is the noise variance.
9.1 EDMA3 Resources 9.1.1 TCP2 Dedicated EDMA3 Resources 9.1.2 Special TCP2 EDMA3 Programming Considerations www.ti.com Programming Note that several user channels can be programmed prior to starting the TCP2.
9.2 Programming Standalone (SA) Mode 9.2.1 EDMA3 Programming 9.2.1.1 Input Configuration Parameters Transfer 9.2.1.2 Systematics and Parities Transfer Programming www.ti.com Table 42 highlights the required EDMA3 resources to perform a standalone (SA) mode decoding.
9.2.1.3 Interleaver Indexes Transfer www.ti.com Programming – TCINTEN = 0 (Transfer complete interrupt is disabled) – TCC = 1 to 63 (Transfer Complete Code) – TCCMODE = 0 (Normal Completion) –.
9.2.1.4 Hard-Decisions Transfer Programming www.ti.com • SRCBIDX = 0 (Source 2nd Dimension Index) • DSTBIDX = 0 (Destination 2nd Dimension Index • SRCCIDX = 0 (Source 3rd Dimension Index) • DS.
9.2.1.5 Output Parameters Transfer 9.2.2 Input Configurations Parameters Programming www.ti.com Programming 3. Null EDMA3 transfer parameters (with all zeros), if there are no more user channels ready to be decoded and the OUTF bit is cleared.
9.3 Programming Shared-Processing (SP) Mode Programming www.ti.com The minimum number of iterations (MINIT bits in TCPIC3) should be selected as a function of the overall system performance (minimum iterations 1 to 31) when SNR stopping criteria is used.
9.3.1 EDMA3 Programming 9.3.1.1 Input Configuration Parameters Transfer 9.3.1.2 Systematics and Parities Transfer www.ti.com Programming This EDMA3 transfer to the input configuration parameters is a 16-word TCPXEVT frame-synchronized transfer.
9.3.1.3 A Priori Transfer Programming www.ti.com • Word count = 2 * ceil (frame_length/2) • BCNT = (Word count /2) (No of arrays of length ACNT) • DESTINATION ADDRESS: TCPSP (5001 0000h) • SRC.
9.3.1.4 Extrinsics Transfer 9.3.2 Input Configurations Parameters Programming www.ti.com Programming 1. The EDMA3 input configuration parameters transfer parameters of the next user-channel MAP, if there is one ready to be decoded. 2. Dummy EDMA3 transfer parameters, if there are no more user channels LOG-MAP ready to be decoded.
10 Output Parameters 11 Events Generation W rite to TCPEND W rite to TCPEXE Soft reset XEVT W rite input params XEVT XEVT W rite input data coefficients interleaver W rite MAP0 decode MAP decode REVT REVT XEVT decisions hard Read registers Read output T CPU/DMA operations TCP operations Output Parameters www.
Input config params Syst&Par SF1 SF1 Extrinsics TCP processing TCPXEVT TCPXEVT TCPREVT TCPXEVT MAP1 TCP processing TCPXEVT Input config params TCPXEVT TCPREVT SF2 Syst&Par Extrinsics SF2 TCPXE.
13.1.2 Unexpected Frame Length: F 13.1.3 Unexpected Prolog Length: P 13.1.4 Unexpected Subframe Length: SF 13.1.5 Unexpected Reliability Length: R 13.1.6 Unexpected Signal to Noise Ratio: SNR 13.1.7 Unexpected Interleaver Table Load: INT 13.1.8 Unexpected Output Parameters Load: OP 13.
13.1.10 Unexpected Max and Min Iterations: MAXMINITER 13.2 Status 13.2.1 TCP2 Decoder Status: dec_busy 13.2.2 TCP2 Stopped Due to Error: ERR 13.2.3 TCP2 Waiting for Input Control Parameters Write: WIC 13.2.4 TCP2 Waiting for Interleaver Table Write: WINT 13.
13.2.12 TCP2 Active State Status: Active_state 13.2.13 TCP2 Active Iteration Status: Active_iter 13.2.14 TCP2 SNR Status: snr_exceed 13.2.15 TCP2 CRC Status: Crc_pass 13.2.16 TCP2 State: TCP_STATE Errors and Status www.ti.com The Active_state indicates active MAP decoder state.
IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements, and other changes to its products and services at any time and to discontinue any product or service without notice.
An important point after buying a device Texas Instruments TURBO-DECODER COPROCESSOR 2 TMS320C6457 DSP (or even before the purchase) is to read its user manual. We should do this for several simple reasons:
If you have not bought Texas Instruments TURBO-DECODER COPROCESSOR 2 TMS320C6457 DSP yet, this is a good time to familiarize yourself with the basic data on the product. First of all view first pages of the manual, you can find above. You should find there the most important technical data Texas Instruments TURBO-DECODER COPROCESSOR 2 TMS320C6457 DSP - thus you can check whether the hardware meets your expectations. When delving into next pages of the user manual, Texas Instruments TURBO-DECODER COPROCESSOR 2 TMS320C6457 DSP you will learn all the available features of the product, as well as information on its operation. The information that you get Texas Instruments TURBO-DECODER COPROCESSOR 2 TMS320C6457 DSP will certainly help you make a decision on the purchase.
If you already are a holder of Texas Instruments TURBO-DECODER COPROCESSOR 2 TMS320C6457 DSP, but have not read the manual yet, you should do it for the reasons described above. You will learn then if you properly used the available features, and whether you have not made any mistakes, which can shorten the lifetime Texas Instruments TURBO-DECODER COPROCESSOR 2 TMS320C6457 DSP.
However, one of the most important roles played by the user manual is to help in solving problems with Texas Instruments TURBO-DECODER COPROCESSOR 2 TMS320C6457 DSP. Almost always you will find there Troubleshooting, which are the most frequently occurring failures and malfunctions of the device Texas Instruments TURBO-DECODER COPROCESSOR 2 TMS320C6457 DSP along with tips on how to solve them. Even if you fail to solve the problem, the manual will show you a further procedure – contact to the customer service center or the nearest service center