ZARLINK MT312

MT312
Satellite Channel Decoder
Design Manual
Supersedes DS5347 Issue 1.2 November 2001
DM5651
Key Features
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
January 2002
Ordering Information
MT312C/CG/GP1N
Conforms to EBU specification for DVB-S and
DirecTV specification for DSS.
On-chip digital filtering supports 1 to 45MBaud
Symbol rates.
On-chip 6-bit 60 or 90MHz dual-ADC.
High speed scanning mode for blind symbol
rate/code rate acquisition.
Automatic IQ phase resolution.
No signal indicator.
Up to ±15MHz LNB frequency tracking.
Fully digital timing and phase recovery loops.
High level software interface for minimum
development time.
DiSEqC™ v2.2: receive/transmit for full control
of LNB and dish.
The MT312 is a QPSK/BPSK 1 to 45MBaud
demodulator and channel decoder for digital satellite
television transmissions to the European Broadcast
Union ETS 300 421 specification (ref. 1). It receives
analogue I and Q signals from the tuner, digitises
and digitally demodulates this signal, and
implements the complete DVB/DSS FEC (Forward
Error Correction), and de-scrambling function. The
output is in the form of MPEG2 or DSS transport
stream data packets. An external MPEG clock input
is provided for synchronisation to MPEG decoders
and DVB Common Interface Modules. The MT312
also provides automatic gain control to the RF frontend devices.
Applications
•
ISSUE 1.2
DVB 1 to 45MBaud compliant satellite
receivers.
DSS 20MBaud compliant satellite receivers.
SCPC receivers. (Single Channel Per Carrier)
SMATV trans-modulators. (Single Master
Antenna TV)
LMDS (Local Multipoint Distribution Service)
Satellite PC applications.
The MT312 has a serial 2-wire bus interface to the
control microprocessor. Minimal software is required
to control the MT312 because of the built in
automatic search and decode control functions.
AGC control
RF I/P AGC
AMP
SL1914
Direct
Conversion
Tuner
SL1925
I
Q
I I/P
Low pass
Filter
Q I/P
Channel
Decoder
MT312
Transport
stream O/P
Tank
2-wire bus
control
Synthesiser
SP5769
2-wire bus control
Figure 1 - System Block Diagram - SNIM5
1
MT312
Design Manual
80
61
1
60
20
41
21
40
Figure 2 - System Block Diagram - SNIM5
PIN
FUNCTION
PIN
FUNCTION
PIN
FUNCTION
PIN
FUNCTION
1
CVSS
21
PLLVDD
41
CVSS
61
MDO[1]
2
CVDD
22
PLLGND
42
CVDD
62
CVDD
3
IIN[1]
23
PLL1
43
AGC
63
MDO[2]
4
ADDR[7]
24
ADCFGND
44
CLK2/GPP0
64
MDO[3]
5
ADDR[6]
25
ADCFVDD
45
DATA2/GPP1
65
MDO[4]
6
ADDR[5]
26
VRT
46
DISEQC2/GPP2
66
MDO[5]
7
ADDR[4]
27
IREF
47
DISEQC1 HV
67
CVDD
8
ADDR[3]
28
ISINGP
48
DISEQC0 22kHz
68
MDO[6]
9
CVDD
29
NC
49
RESET
69
MDO[7]
10
CVSS
30
ADCDVDD
50
CVDD
70
CVSS
11
ADDR[2]
31
ADCDGND
51
CVSS
71
MDOEN
12
ADDR[1]
32
VRM
52
STATUS
72
MOVAL
13
VDD
33
QSINGP
53
CLK1
73
VDD
14
MICLK
34
QREF
54
DATA1
74
VSS
15
VSS
35
VRB
55
CVDD
75
BKERR
16
TESTCLK
36
ADCAGND
56
VSS
76
MOSTRT
17
CVDD
37
ADCAVDD
57
IRQ
77
IIN[5]
18
XTI
38
RREF
58
MOCLK
78
IIN[4]
19
XTO
39
TEST1
59
MDO[0]
79
IIN[3]
20
CVSS
40
TEST2
60
CVSS
80
IIN[2]
Table 1 - MT312 pin-out
2
Design Manual
Quick start overview
The MT312 is a QPSK/BPSK 1 to 45MBaud
demodulator and channel decoder for digital satellite
television transmissions compliant to both DVB-S
and DSS standards and other systems, such as
LMDS, that use the same architecture.
A Command Driven Control (CDC) system is
provided making the MT312 very simple to program.
After the tuner has been programmed to the required
frequency, to acquire a DVB transmission, the
MT312 requires a minimum of five registers to be
written. Activity flow diagrams for initialisation and
basic channel change are included in section 2.
The MT312 provides a monitor of Bit Error Rate after
the QPSK module and also after the Viterbi module.
For receiver installation, a high speed scan or 'blind
search' mode is available. This allows all signals
from a given satellite to be evaluated for frequency,
symbol rate and convolutional coding scheme. The
phase of the IQ signals can be automatically
determined.
Full DiSEqC™ v2.2 is provided for both writing and
reading DiSEqC™ messages. Storage in registers
for up to eight data bytes sent and eight data bytes
received is provided.
I I/P
Dual ADC
De-rotator
Timing recovery
Matched filter
Phase recovery
Decimation
Filteriing
Q I/P
Analog
AG
Ccontrol
MT312
Acquisition
Control
Clock Generation
DVB
DSS
FEC
I?C
Interface
MPEG/
DSS
Packets
Bus I/O
Figure 3 - MT312 Functional Block Diagram
Additional Features
De-Interleaver
•
•
•
•
•
•
•
•
2-wire bus microprocessor interface.
All digital clock and carrier recovery.
On-chip PLL clock generation using low cost 10
to 15MHz crystal.
3.3V operation.
80 pin MQFP package.
Low external component count.
Commercial temperature range 0 to 70°C.
Compliant with DVB and DSS standards.
Reed Solomon
•
•
(204, 188) for DVB and (146,130) for DSS.
Reed Solomon Bit-error-rate monitor to indicate
Viterbi performance.
De-Scrambler
•
EBU specification De-scrambler for DVB mode.
Demodulator
•
•
BPSK or QPSK programmable.
Optional fast acquisition mode for low symbol
rates.
Viterbi
•
•
•
•
•
Programmable decoder rates 1/2, 2/3, 3/4, 5/6,
6/7, 7/8.
Automatic spectrum resolution of IQ phase.
Constraint length k=7.
Trace back depth 128.
Extensive SNR and BER monitors.
Outputs
•
•
•
MPEG transport parallel & serial output.
MPEG clock input for external synchronising of
MPEG data output.
Integrated MPEG2 TEI bit processing for DVB
only.
Application Support
•
•
•
Channel decoder system evaluation board.
Windows based evaluation software.
ANSI C generic software.
3
MT312
Contents
Contents
1
Functional Overview ............................................................................................. 10
1.1
1.2
1.3
1.4
1.4.1.1
1.4.1.2
1.4.2
1.4.3
1.4.3.1
1.4.3.2
1.4.4
1.4.5
1.4.6
1.5
1.5.2
1.6
1.7
1.7.1
1.7.2
Introduction ........................................................................................................................................ 10
Analogue-to-Digital Converter ............................................................................................................ 10
QPSK Demodulator ............................................................................................................................ 10
Forward Error Correction .................................................................................................................. 11
Viterbi Error Count Measurement ................................................................................................ 11
Viterbi Error Count Coarse Indication .......................................................................................... 12
The Frame Alignment Block ........................................................................................................ 12
The De-interleaver Block ............................................................................................................. 13
DVB ............................................................................................................................................. 13
DSS ............................................................................................................................................. 13
The Reed Solomon Decoder Block ............................................................................................. 14
The Energy Dispersal (De-Scrambler) Block, DVB only .............................................................. 14
Output Stage ............................................................................................................................... 15
Control ................................................................................................................................................ 15
Symbol Rate and Code Rate Search Mode ................................................................................ 16
Direct Conversion Application ............................................................................................................ 16
DiSEqC™ Transmit and Receive Messages ..................................................................................... 17
DiSEqC™ Transmitting Messages .............................................................................................. 17
DiSEqC™ Receiving Messages .................................................................................................. 17
2
MT312 Software Control ....................................................................................... 18
2.1
MT312 Register Map Overview .......................................................................................................... 18
3
MT312 Initialisation ............................................................................................... 19
3.1
3.2
3.3
3.4
3.5
3.5.1
3.5.2
3.5.3
3.6
3.6.1
The Configuration Register (127) ....................................................................................................... 19
Power Supplies ................................................................................................................................... 19
Initialisation Sequence ....................................................................................................................... 20
Spectral Inversion .............................................................................................................................. 21
MT312 Initialisation Read/Write Registers ......................................................................................... 21
Reset. Register 21 (R/W) ........................................................................................................... 21
MT312 Configuration. Register 127 (R/W) ................................................................................. 22
System Clock Frequency. Register 34 (R/W) ............................................................................. 23
MT312 Initialisation Read Register .................................................................................................... 23
Identification. Register 126 (R) ................................................................................................... 23
4
Tuner Control ......................................................................................................... 24
4.1
4.2
4.3
4.4
4.4.1
4.4.2
4.4.3
4.5
4.5.1
4.5.2
Simple Channel Change Sequence ................................................................................................... 24
Channel Change Sequence with a new Symbol Rate ....................................................................... 24
Channel Change Sequence with Search Mode ................................................................................. 24
Tuner Control Read/Write Registers .................................................................................................. 25
General Purpose Port Control. Register 20 (R/W) ..................................................................... 25
FR LIM: Frequency Limit. Register 37 (R/W) ............................................................................. 26
FR OFF: Frequency Offset. Register 38 (R/W) .......................................................................... 27
Tuner Control Read Registers ........................................................................................................... 27
Measured LNB Frequency Error. Registers 7 - 8 (R) ........................................................................ 27
Frequency Error 1 and 2. Registers 111 - 115 (R) ............................................................................ 28
4
Contents
5
MT312
DiSEqC Control ......................................................................................................29
5.1
5.2
5.2.1
5.2.2
5.2.3
5.2.4
5.2.5
5.3
5.3.1
5.3.2
5.3.3
Screen Printouts of DiSEqC™ Waveforms ........................................................................................ 29
DiSEqC Control Read/Write Registers ............................................................................................... 30
DiSEqC™ Mode Control. Register 22 (R/W) .............................................................................. 30
DiSEqC(tm) Ratio. Register 35 (R/W) ........................................................................................ 30
DiSEqC™ Instruction (R/W). Register 36 (R/W) ........................................................................ 31
DiSEqC™ 2 Control 1. Registers 121 (R/W) .............................................................................. 31
DiSEqCTM 2 Control 2. Registers 122 (R/W) ............................................................................ 32
DiSEqC Control Read Registers ........................................................................................................ 33
DiSEqC™M 2 Interrupt Indicators. Register 118 (R) .................................................................. 33
DiSEqC™M 2 Status Indicators. Register 119 (R) ..................................................................... 34
DiSEqC™ 2 FIFO. Register 120 (R) ........................................................................................... 34
6
QPSK demodulator ................................................................................................36
6.1
6.1.1
6.1.2
6.1.3
6.1.4
6.1.5
6.1.6
6.2
6.2.1
6.2.2
6.2.3
6.2.4
QPSK Demodulator Read/Write Registers ........................................................................................ 36
Symbol Rate. Registers 23 - 24 (R/W) ....................................................................................... 36
Viterbi mode. Register 25 (R/W) ................................................................................................. 38
QPSK Control. Register 26 (R/W) .............................................................................................. 39
Go Command. Register 27 (R/W) .............................................................................................. 40
QPSK Interrupt Output Enable. Registers 28 - 30 (R/W) ........................................................... 40
QPSK STATUS Output Enable. Register 32 (R/W) .................................................................... 41
QPSK Demodulator Read Registers .................................................................................................. 42
QPSK Interrupt. Registers 0 - 2 (R) ............................................................................................ 42
QPSK Status. Registers 4 - 5 (R) ............................................................................................... 44
Symbol Rate Output. Registers 116 - 117 (R) ............................................................................ 44
Monitor Registers. Registers 123 - 124 (R) ................................................................................ 45
7
Forward Error Correction ......................................................................................46
7.1
7.1.1
7.1.2
7.1.3
7.2
7.2.1
7.2.2
7.2.3
7.2.4
7.2.5
7.2.6
Forward Error Correction Read/Write Registers ................................................................................ 47
FEC Interrupt Enable. Register 31 (R/W) ................................................................................... 47
FEC STATUS Output Enable. Register 33 (R/W) ...................................................................... 47
FEC Set Up. Register 97 (R/W) .................................................................................................. 48
Forward Error Correction Read Registers .......................................................................................... 48
FEC Interrupt. Register 3 (R) ...................................................................................................... 48
FEC Status. Register 6 (R) ......................................................................................................... 49
Measured Signal to Noise Ratio. Registers 9 - 10 (R) ................................................................ 49
Viterbi Error Count at Viterbi Input. Registers 11 - 13 (R) .......................................................... 50
Reed Solomon Bit Errors Corrected. Registers 14 - 16 (R) ........................................................ 50
Reed Solomon Uncorrected block Errors. Registers 17 - 18 (R) ................................................ 51
8
Automatic Gain Control ........................................................................................52
8.1
8.1.1
8.1.2
8.2
8.2.1
8.2.2
Automatic Gain Control Read/Write Registers ................................................................................... 52
AGC Control. Register 39 (R/W) ................................................................................................ 52
AGC REF Reference Value. Register 41 (R/W) ......................................................................... 52
Automatic Gain Control Read Registers ............................................................................................ 53
Measured Signal Level at MT312 Input. Register 19 (R) ........................................................... 53
Measured AGC Feed Back Value. Registers 108 - 110 (R) ....................................................... 53
9
MPEG Packet Data Ouput .....................................................................................54
9.1
9.2
9.3
9.4
9.5
9.5.1
9.5.2
MPEG Clock Modes ........................................................................................................................... 54
Data Output Header Format - DVB only ............................................................................................ 55
MPEG/DSS Data Output Signals ....................................................................................................... 56
Data output timing .............................................................................................................................. 58
MPEG Packet Data Output Read/Write Registers ............................................................................. 59
Output Data Control. Register 96 (R/W) ..................................................................................... 59
Monitor Control. Register 103 (R/W) .......................................................................................... 59
5
MT312
Contents
10
Secondary Registers for Test and De-Bugging .................................................. 61
10.1
10.2
10.2.1
10.2.2
10.2.3
10.2.4
10.2.5
10.2.6
10.2.7
10.2.8
10.2.9
10.2.10
10.2.11
10.2.12
10.2.13
10.2.14
10.2.15
10.2.16
10.2.17
10.2.18
10.2.19
10.2.20
10.2.21
10.2.22
10.2.23
10.2.24
10.2.25
10.2.26
10.2.27
10.2.28
10.2.29
10.2.30
10.2.31
10.2.32
10.2.33
10.2.34
10.2.35
10.2.36
10.2.37
10.2.38
10.2.39
10.2.40
10.2.41
10.2.42
10.2.43
10.2.44
10.2.45
10.2.46
10.2.47
10.2.48
10.2.49
10.2.50
10.2.51
10.2.52
10.3
10.4
10.4.1
Read / Write Secondary Register Map ............................................................................................... 61
Secondary Registers for Test and De-Bugging Read/Write Registers .............................................. 63
AGC Initial Value. Register 40 (R/W) ......................................................................................... 63
AGC Maximum Value. Register 42 (R/W) .................................................................................. 63
AGC Minimum Value. Register 43 (R/W) ................................................................................... 63
AGC Lock Threshold Value. Register 44 (R/W) ......................................................................... 63
AGC Lock Threshold Value. Register 45 (R/W) ......................................................................... 63
AGC Power Setting Initial Value. Register 46 (R/W) .................................................................. 63
QPSK Miscellaneous. Register 47 (R/W) ................................................................................... 63
SNR Low Threshold Value. Register 48 (R/W) .......................................................................... 64
SNR HIGH Threshold Value. Register 49 (R/W) ........................................................................ 64
Timing Synchronisation Sweep Rate. Register 50 (R/W) ........................................................... 64
Timing Synchronisation Sweep Limit Low. Register 51 (R/W) ................................................... 64
Timing Synchronisation Sweep Limit High. Register 52 (R/W) .................................................. 64
Carrier Synchronisation Sweep Rate 1. Register 53 (R/W) ........................................................ 64
Carrier Synchronisation Sweep Rate 2. Register 54 (R/W) ........................................................ 64
Carrier Synchronisation Sweep Rate 3. Register 55 (R/W) ........................................................ 65
Carrier Synchronisation Sweep Rate 4. Register 56 (R/W) ........................................................ 65
Carrier Synchronisation Sweep Limit. Register 57 (R/W) ........................................................... 65
Timing Synchronisation Coefficients. Registers 58 - 60 (R/W) ................................................... 65
Carrier Synchronisation Proportional Part Coefficients. Registers 61 - 62 (R/W) ...................... 65
Carrier Synchronisation Integral Coefficients. Registers 63 - 64 (R/W) ..................................... 66
QPSK Output Scale Factor. Register 65 (R/W) .......................................................................... 66
Timing Lock Detect Threshold out of lock. Register 66 (R/W) .................................................... 66
Timing Lock Detect Threshold in lock. Register 67 (R/W) .......................................................... 66
Frequency Lock Detect Threshold. Register 68 ......................................................................... 66
Phase Lock Detect Threshold out of lock. Registers 69 - 72 (R/W) ........................................... 67
Phase Lock Detect Threshold in lock. Registers 73 - 76 (R/W) ................................................. 67
Phase Lock Detect Accumulator Time. Register 77 (R/W) ......................................................... 67
Sweep PAR. Register 78 (R/W) ................................................................................................. 68
Start up Time. Register 79 (R/W) ............................................................................................... 68
Loss Lock Threshold. Register 80 (R/W) .................................................................................... 68
FEC Lock Time. Register 81 (R/W) ............................................................................................ 68
Loss Lock Time. Register 82 (R/W) ............................................................................................ 69
Viterbi Error Period. Registers 83 - 85 (R/W) ............................................................................. 69
Viterbi Set up. Register 86 (R/W) ............................................................................................... 69
Viterbi Reference Byte 0. Register 87 (R/W) .............................................................................. 70
Viterbi Reference Byte 1. Register 88 (R/W) .............................................................................. 70
Viterbi Reference Byte 2. Register 89 (R/W) .............................................................................. 70
Viterbi Reference Byte 3. Register 90 (R/W) .............................................................................. 70
Viterbi Reference Byte 4. Register 91 (R/W) .............................................................................. 70
Viterbi Reference Byte 5. Register 92 (R/W) .............................................................................. 70
Viterbi Reference Byte 6. Register 93 (R/W) .............................................................................. 70
Viterbi Maximum Error. Register 94 (R/W) ................................................................................. 70
Byte Align Set up. Register 95 (R/W) ......................................................................................... 71
Program Synchronising Byte. Register 98 (R/W) ....................................................................... 71
AFC Frequency Search Threshold. Register 99 (R/W) .............................................................. 71
Accumulator Differential Threshold. Register 100 (R/W) ............................................................ 71
QPSK Lock Control. Register 101 (R/W) ................................................................................... 71
QPSK State Control. Register 102 (R/W) .................................................................................. 72
QPSK Reset. Register 104 (R/W) .............................................................................................. 72
QPSK Test Control. Register 105 (R/W) .................................................................................... 72
QPSK Test State. Register 106 (R/W) ....................................................................................... 73
Test Mode. Register 125 (R/W) .................................................................................................. 73
Read only Secondary Register Map .................................................................................................. 73
Secondary Registers for Test and De-Bugging Read Register .......................................................... 73
Test Read. Register 107 (R) ....................................................................................................... 73
6
Contents
MT312
11
Microprocessor Control ........................................................................................74
11.1
11.2
11.3
11.4
11.5
11.6
Primary 2-wire bus interface ............................................................................................................... 74
RADD: 2-Wire Register Address (W) ................................................................................................. 74
Primary 2-Wire Bus Interface ............................................................................................................. 74
Secondary 2-Wire Bus for Tuner Control ........................................................................................... 75
Examples of 2-Wire Bus Messages ................................................................................................... 76
Primary 2-Wire Bus Timing ................................................................................................................ 77
12
Electrical Characteristics ......................................................................................78
12.1
12.2
12.3
12.4
12.5
12.6
Recommended Operating Conditions ................................................................................................ 78
Absolute Maximum Ratings ............................................................................................................... 78
Crystal Specification ........................................................................................................................... 79
DC Electrical Characteristics .............................................................................................................. 79
MT312 Pinout Description .................................................................................................................. 80
Alphabetical Listing of Pin-Out ........................................................................................................... 82
13
Application Diagram ..............................................................................................83
14
MT312 Register Map ..............................................................................................84
14.1
14.2
Read / Write Register Map ................................................................................................................. 84
Read Only Register Map .................................................................................................................... 85
7
MT312
Contents
List of figures
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
System Block Diagram - SNIM5 ............................................................................................. 1
System Block Diagram - SNIM5 ............................................................................................. 2
MT312 Functional Block Diagram ........................................................................................... 3
Viterbi block diagram ............................................................................................................11
Viterbi error count measurement ...........................................................................................12
Viterbi error count coarse indication ......................................................................................12
DVB Conceptual diagram o f the conoluntional de-interleaver block .......................................13
DSS Conceptual diagram of the convolutional de-interleaver block ........................................13
DVB block structure ..............................................................................................................14
DSS block structure ..............................................................................................................14
DVB Energy dispersal conceptual diagram ............................................................................15
MT312 Control Structure .......................................................................................................16
Alternative System Block Diagram - SNIM6 ...........................................................................17
Initialisation sequence in DVB mode .....................................................................................20
Simple channel change sequence .........................................................................................24
Channel change sequence with new Symbol rate, DVB mode ................................................24
Channel change sequence with search mode, DVB mode .....................................................25
Results of Symbol rate and code ...........................................................................................25
A DiSEqC™ data byte interrupting a continuous 22kHz tone .................................................29
One DiSEqC™ data byte - 0x11 (hex) plus parity bit .............................................................29
DVB Transport Packet Header bytes ......................................................................................55
MT312 output data wave form diagram ..................................................................................56
MT312 output data wave form diagram 2 ...............................................................................57
MT312 output data wave form diagram 2 ...............................................................................58
One DiSEqC™ data byte - 0x11 (hex) plus parity bit .............................................................77
Crystal oscillator circuit .........................................................................................................79
Application Schematic ...........................................................................................................83
Contents
MT312
List of tables
Table
Table
Table
Table
Table
Table
Table
Table
Table
Table
Table
Table
1
2
3
4
5
6
7
8
9
10
11
12
MT312 pin-out ....................................................................................................................... 2
MT312 register map overview ...............................................................................................18
Viterbi code rate indication ....................................................................................................49
Sigma Delta clock decimation ratio programming ..................................................................52
MPEG clock modes 54
MOCLK input minimum and maximum frequencies ................................................................54
Viterbi code rate search start ................................................................................................69
Primary 2-wire bus timing .....................................................................................................77
Recommended operating conditions .....................................................................................78
Maximum operating conditions ..............................................................................................78
DC electrical characteristics ..................................................................................................79
Alphabetical listing of pin-out ................................................................................................82
9
MT312
Functional Overview
PLEASE NOTE: This manual has the following
convention:
All numerical values are shown as decimal
numbers, unless otherwise defined.
1. Functional Overview
1.1 Introduction
MT312 is a single-chip variable rate digital QPSK/
BPSK satellite demodulator and channel decoder.
The MT312 accepts base-band in-phase and
quadrature analogue signals and delivers an MPEG
or DSS packet data stream. Digital filtering in MT312
removes the need for programmable external antialias filtering for all symbol rates from 1 to 45Mbaud.
Frequency, timing and carrier phase recovery are all
digital and the only feed-back to the analogue frontend is for automatic gain control. The digital phase
recovery loop enables very fine bandwidth control
that is needed to overcome performance degradation
due to phase and thermal noise.
All acquisition algorithms are built into the MT312
controller. The MT312 can be operated in a
Command Driven Control (CDC) mode by specifying
the Symbol rate and Viterbi code rate. There is also a
provision for a search for unknown Symbol rates and
Viterbi code rates.
1.2 Analogue-to-Digital Converter
The MT312 contains dual 6-bit A/D converters which
each sample a 500mVpp single-ended analogue
input at up to 90MHz. The fixed rate sampling clock
is provided on-chip using a programmable PLL
needing only a low cost 10 to 15MHz crystal.
Different crystal frequencies can be combined with
different PLL ratios, depending on the maximum
symbol rate, allowing a flexible approach to clock
generation.
1.3 QPSK Demodulator
The demodulator in the MT312 consists of signal
amplitude offset compensation, frequency offset
compensation, decimation filtering, carrier recovery,
symbol recovery and matched filtering.
The decimation filters give continuous operation from
2Mbits/s to 90Mbits/s allowing one receiver to cover
the needs of the consumer market as well as the
single carrier per channel (SCPC) market with the
same
components
without
compromising
performance, that is, the channel reception is within
10
0.5dB from theory. For a given Symbol rate, control
algorithms on the chip detect the number of
decimation stages needed and switch them in
automatically.
The frequency offset compensation circuitry is
capable of tracking out up to ±15MHz frequency
offset. This allows the system to cope with relatively
large frequency uncertainties introduced by the Low
Noise Block (LNB). Full control of the LNB is
provided by the DiSEqC™ outputs from the MT312.
Horizontal / Vertical polarisation and an instruction
modulated 22kHz signal are available under register
control. All DiSEqC™ v2.2 functions are
implemented on the MT312 (ref. 2).
An internal state machine that handles all the
demodulator functions controls the signal tracking
and acquisition. Various pre-set modes are available
as well as blind acquisition where the receiver has no
prior knowledge of the received signal. Fast
acquisition algorithms have been provided for low
Symbol rate applications. Full interactive control of
the acquisition function is possible for debug
purposes.
In the event of a signal fade or a cycle slip, QPSK
demodulator allows sufficient time for the FEC to reacquire lock, for example, via a phase rotation in the
Viterbi decoder. This is to minimise the loss of signal
due to the signal fade. Only if the FEC fails to reacquire lock for a long period (which is
programmable) would QPSK try to re-acquire the
signal.
The matched filter is a root-raised-cosine filter with
either 0.20 or 0.35 roll-off, compliant with DSS and
DVB standards. Although not a part of the DVB
standard, MT312 allows a roll-off of 0.20 to be used
with other DVB parameters.
An AGC signal is provided to control the signal levels
in the tuner section of the receiver and ensure the
signal level fed to the MT312 is set at an optimal
value under all reception conditions.
The MT312 provides comprehensive information on
the input signal and the state of the various parts of
the device. This information includes Signal to Noise
Ratio (SNR), signal level, AGC lock, timing and
carrier lock signals. A maskable interrupt output is
available to inform the host controller when events
occur.
Functional Overview
MT312
indication of the bit error rate at the output of the
Viterbi decoder.
1.4 Forward Error Correction
The MT312 contains FEC blocks to enable error
correction for DVB-S and DSS transmissions. The
Viterbi decoder block can decode the convolutional
code with rates 1/2, 2/3, 3/4, 5/6, 6/7 or 7/8. The
block features automatic synchronisation, automatic
IQ phase resolution and automatic code rate
detection. The trace back depth of 128 provides
better performance at high code rates and the built-in
synchronisation algorithm allows the Viterbi decoder
to lock onto signals with very poor signal-to-noise
ratios. Viterbi bit error rate monitor provides an
indication of the error rate at QPSK output.
The 24-bit error count register in the Viterbi decoder
allows the bit error rate at the output of the QPSK
demodulator to be monitored. The 24-bit bit error
count register in the Reed-Solomon decoder allows
the Viterbi output bit error rate to be monitored. The
16-bit
uncorrectable
packet
counter
yields
information about the output packet error rate. These
three monitors and the QPSK SNR register allows
the performance of the device and its individual
components, such as the QPSK demodulator and
the Viterbi decoder, to be monitored extensively by
the external microprocessor.
The frame/byte align block features a sophisticated
synchronisation algorithm to ensure reliable recovery
of DVB and DSS framed data streams under worst
case signal conditions. The de-interleaver uses onchip RAM and is compatible with the DVB and DSS
algorithms.
The Reed-Solomon decoder is a truncated version of
the (255, 239) code. The code block size is 204 for
DVB and 146 for DSS. The decoder provides a count
of the number of uncorrectable blocks as well as the
number of bit errors corrected. The latter gives an
In DVB mode, spectrum de-scrambling is performed
compatible with the DVB specification. The final
output is a parallel or serial transport data stream;
packet sync; data clock; and a block error signal. The
data clock may be inverted under software control.
1.4.1.1 Viterbi Error Count Measurement
A method of estimating the bit error rate at the output
of the QPSK block has been provided in the Viterbi
decoder. The incoming data bit stream is delayed
and compared with the re-encoded and punctured
version of the decoded bit stream to obtain a count of
errors see Figure 4 - Viterbi block diagram.
The measurement system has a programmable
register to determine the number of data bits (the
error count period) over which the count is being
recorded. A read register indicates the error count
result and an interrupt can be generated to inform
the host microprocessor that a new count is
available.
The VIT ERRPER H-M-L group of three registers is
programmed with required number of data bits (the
error count period) (VIT ERRPER[23:0]). The actual
value is four times VIT ERRPER[23:0]. The count of
errors found during this period is loaded by the
MT312 into the VIT ERRCNT H-M-L trio of registers
when the bit count VIT ERRPER[23:0] is reached. At
the same time an interrupt is generated on the IRQ
line. Setting the IE FEC[2] bit in the IE FEC register
enables the interrupt, see page 32. Reading the
register does not clear VIT ERRCNT [23:0], it is only
loaded with the error count.
DATA BIT STREAM
VITERBI
DECODER
VITERBI
ENCODER
DELAY
COMP
ERROR COUNT
Figure 4 - Viterbi block diagram
11
MT312
Functional Overview
ERROR
COUNT
VIT_ERRCNT[23:0]
0
0
VIT_ERRPER[23:0]
DATA BITS
IRQ
Figure 5 - Viterbi error count measurement
Figure 5 shows the bit errors rising until the
maximum programmed value of VIT ERRPER[23:0]
is reached, when an interrupt is generated on the
IRQ line to advise the host microprocessor that a
new value of bit error count has been loaded into the
VIT ERRCNT [23:0] register. The IRQ line will go
high when the IE FEC register is read by the host
microprocessor. The error count may be expressed
as a ratio:
VIT_ERRCNT[23:0]
---------------------------------------------------------VIT_ERRPER[23:0]*4
1.4.1.2 Viterbi Error Count Coarse Indication
To assist in the process of aligning the receiver dish
aerial, a coarse indication of the number of bit errors
being received can be provided by monitoring the
STATUS line with the following set up conditions.
maximum value programmed into the VIT
MAXERR[7:0] register and the dish alignment on the
satellite. This VIT MAXERR mode is enabled by
setting the FEC STAT EN register bit B0. Figure 5
above shows the bit errors rising to the maximum
value programmed and triggering a change of state
on the STATUS line.
1.4.2 The Frame Alignment Block
The frame alignment algorithm detects a sequence
of correctly spaced synchronising bytes in the Viterbi
decoded bit-stream and arranges the input into
blocks of data bytes. Each block consists of 204
bytes for DVB and 147 bytes for DSS. In the DSS
mode, the synchronising byte is removed from the
data stream, so only 146 bytes of a block are passed
to the next stage. The frame alignment block also
removes the 180° phase ambiguity not removed by
Viterbi decoder.
The frequency of the output waveform will be a
function of the bit error count (triggering the
VITERBI
COURSE
BIT
ERROR
COUNT
VIT_MAXERR[7:0]
0
0
DATA BITS
STATUS
Figure 6 - Viterbi error count coarse indication
12
Functional Overview
synchronisation byte in branch 0, etc. In the MT312,
this de-interleaving function is realised using on-chip
Random Access Memory (RAM).
1.4.3 The De-interleaver Block
1.4.3.1 DVB
Before transmission, the data bytes are interleaved
with each other in a cyclic pattern of twelve. This
ensures the bytes are spaced out to avoid the
possibility of a noise spike corrupting a group of
consecutive message bytes. The diagram below
shows conceptually how the convolutional deinterleaving system works. The synchronisation byte
is always loaded into the First-In-First-Out (FIFO)
memory in branch 0. The switch is operated at
regular byte intervals to insert successively received
bytes into successive branches. After 12 bytes have
been received, byte 13 is written next to the
1.4.3.2 DSS
Before transmission, the data bytes are interleaved
with each other in a cyclic pattern of thirteen. This
ensures the bytes are spaced out to avoid the
possibility of a noise spike corrupting a group of
consecutive message bytes. The diagram below
shows conceptually how the convolutional deinterleaving system works. On the MT312, this
function is realised in the same Random Access
Memory (RAM) as used for DVB, but utilising
different addressing algorithm.
Sync word route
0
one
byte per
position
MT312
0
17x11 bytes
1
1
17x10 bytes
2
2
17x9 bytes
3
3
17x8 bytes
4
4
17x7 bytes
5
5
17x6 bytes
6
6
17x5 bytes
7
7
17x4 bytes
8
8
17x3 bytes
9
17x2 bytes
10
17x1
9
10
11
11
Figure 7 - DVB Conceptual diagram o f the conoluntional de-interleaver block
Output
145
0
2
1
Input
12D
12D
12D
Figure 8 - DSS Conceptual diagram of the convolutional de-interleaver block
13
MT312
Functional Overview
1.4.4 The Reed Solomon Decoder Block
DVB and DSS data are encoded using shortened
versions of the Reed-Solomon code of block length
255, containing 239 message bytes and 16 check
bytes, that is (255,239) with T = 8. Both encoders
use the same generator polynomial. The code block
size for DVB is 204 and that for DSS is 146. Hence
DVB code is (204, 188) and DSS code is (146, 130),
with both having T = 8. The block structure of the
DVB and DSS Reed-Solomon codes are as shown in
Figure 9 and Figure 10 below.
The Reed-Solomon decoder can correct up to eight
byte errors per packet. If there are more than 8 bytes
containing errors, the packet is flagged as
uncorrectable using the pin BKERR. In the case of
DVB the transport error indicator (TEI) bit of the
MPEG packet is set to 1, if setting of TEI is enabled.
randomised using the configuration shown in Figure
11 below. This is a Pseudo Random Binary
Sequence (PRBS) generator, with the polynomial:
1 + X14 + X15
The PRBS registers are loaded with the initialisation
sequence as shown, at the start of the first transport
packet in a group of eight packets. This point is
indicated by the inverted sync byte B8hex. The
normal DVB sync byte is 47hex. The data starting
with the first byte after the sync byte is randomised
by exclusive-ORing data bits with the PRBS. (The
sync bytes themselves are not randomised).
In the decoder, the process of de-randomising or descrambling the data is exactly the same as described
above. The de-scrambler also inverts the sync byte
B8hex so that all MPEG output packets have the
same synch byte 47hex.
1.4.5 The Energy Dispersal (De-Scrambler)
Block, DVB only
Before Reed Solomon encoding in the DVB
transmission system, the MPEG2 data stream is
Sync byte
187 bytes
16 check bytes
Reed Solomon encoded block
Sync byte
187 bytes
MPEG transport packet
Figure 9 - DVB block structure
130 bytes
Reed Solomon encoded block
130 bytes
DSS transport packet
Figure 10 - DSS block structure
14
16 check bytes
Functional Overview
1
1
0
2
0
3
1
4
MT312
Initialisation sequence
0 1 0 1 0 0 0 0 0 0 0
5 6 7 8 9 10 11 12 13 14 15
XOR
Figure 11 - DVB Energy dispersal conceptual diagram
1.4.6 Output Stage
Transport stream can be output in a byte-parallel or
bit-serial mode. The output interface consists of an
8-bit output, output clock, a packet validation level, a
packet start pulse and a block error indicator.
The output clock rate depends on the Symbol rate,
QPSK/BPSK choice, convolutional (Viterbi) coding
rate, DVB/DSS choice and byte-parallel or bit-serial
output mode. This rate is computed by MT312 to be
very close to the minimum required to output packet
data without packet overlap. Furthermore, the
packets at the output of MT312 are as evenly spaced
as possible to minimise packet position movement in
the transport layer. The maximum movement in the
packet synchronisation byte position is limited to ±
one output clock period.
An external MPEG clock can be input to synchronise
the MPEG data output to MPEG decoders.
1.5 Control
Automatic Symbol Rate Search, Code Rate Search,
Signal Acquisition and Signal Tracking algorithms are
built into the MT312 using a sophisticated on-chip
controller. The software interaction with the device is
via a simple Command Driven Control (CDC)
interface. This CDC maps high level inputs such as
symbol rates in MBaud and frequencies in MHz, to
low level on-chip register settings. The on-chip
control state machine and the CDC significantly
reduces the software overhead as well as the
channel search times. There is also an option for the
host processor to by-pass both the CDC as well as
the on-chip controller and take direct control of the
QPSK demodulator.
Once the MT312 has locked up, any frequency offset
can be read from the LNB FREQ error registers 7
and 8. The frequency synthesiser under the software
control can be re-tuned in frequency to optimise the
received signal within the SAW bandwidth. Note that
MT312 compensates for any frequency offsets
before QPSK demodulation. Hence a frequency
offset will not necessarily lead to a performance loss.
Performance loss will occur only if a significant part
of the signal is cut off by the SAW or base-band filter,
due to this frequency offset. This will happen only if
the symbol rate is close to maximum supported by
that filter. In such an event it is recommended that
front-end be re-tuned to neutralise this error before
the SAW filter. It is then necessary for the MT312 to
re-acquire the signal.
The MT312 can generate control signals to enable
full control of the dish and LNB. The chip implements
the signals needed for the full DiSEqC™ v2.2
specification. This includes high/low band selection,
polarisation and dish position.
In this mode, the Symbol rate in MBaud and Viterbi
code rate are the only values needed to start the
MT312 searching for the signal. The CDC module
maps the high level parameters into the various low
level register settings needed to acquire and track
the signal. The low level registers may be read and
directly modified to suit very specific requirements.
However, this is not recommended.
15
MT312
Functional Overview
High level input/output
(MBaud, MHz)
Command
Driven
Control
MT312
format
registers
Acquisition/
Track
State machine
QPSK
Low level register read/write
Figure 12 - MT312 Control Structure
1.5.2 Symbol Rate and Code Rate Search Mode
Where the Symbol rate and/or the Viterbi code rate
are unknown, the MT312 can be programmed to
search for QPSK/BPSK signals. The user should
define the range(s) over which the search is
required. The MT312 will then locate and track any
signal detected. Failure to find a QPSK signal in the
specified frequency and specified symbol rate
ranges will be indicated by interrupts (see 6.2 QPSK
Demodulator Read Registers). MT312 will carry on
searching these ranges after issuing these
interrupts. When the MT312 has locked onto a
signal, the Symbol rate in MBaud may be read from
the MONITOR registers. The Viterbi code rate may
be read from the FEC STATUS register. This search
facility is primarily for the initial installation of a set
top box.
1.6 Direct Conversion Application
Figure 1 shows a direct conversion system that
mixes the L-band input to the tuner directly down to I
and Q baseband channels at zero intermediate
frequency.
The RF AGC amp and tracking filter provide the
required tuner noise figure and limit the total power
reaching the SL1925. These elements also give
isolation between the SL1925 local oscillator and the
L-band tuner input. This is an important factor since
both signals are at the same frequency.
The baseband filter is an anti-alias filter. This
replaces the filtering normally carried out with a SAW
filter in conventional single conversion tuners.
It is important to note that all the channel filtering
needed to isolate low Baud rate signals is contained
within the MT312. The low pass filter before MT312
is designed not to filter channels, but to minimise any
aliasing due to sampling. To illustrate this, let the
sampling frequency be 90 MHz and the maximum
symbol rate be 45 MBaud. The bandwidth of the 45
MBaud QPSK signal, with 0.35 roll-off, is about 60
MHz. If the channel has been mapped precisely to
16
base-band, the pass-band of the low pass filter
should extend up to 30 MHz. However, it is
preferable to make this bandwidth larger by about 5
MHz, partly to reduce the in-band phase distortion
introduced by the filter and partly to reduce the loss
of signal due to LNB offset. The filter must attenuate
signals beyond 60 MHz by about 30 dB, as these
signal will alias to the useful frequency range with 90
MHz sampling.
Although the system is designed for 45 MBaud, if the
actual symbol rate is much lower, say 1 MBaud, then
MT312 will automatically introduce all the digital
filtering needed to isolate the 1 MBaud signal.
Figure 13 - Alternative System Block Diagram SNIM6 shows an alternative application when a
reduced Symbol rate is acceptable. The SL1935
combines the functions of the RF pre-amp, direct
conversion zero IF tuner and synthesiser.
Functional Overview
MT312
AGC control
RF I/P
I I/P
I
Direct
Conversion
ZIF Tuner
SL1935
Q
Low pass
Filter
Q I/P
Channel
Decoder
MT312
Transport
stream O/P
Tank
2-wire bus
control
2-wire bus control
Figure 13 - Alternative System Block Diagram - SNIM6
1.7 DiSEqC™ Transmit and Receive Messages
The MT312 has the capability to send and receive
DiSEqC™ messages. Eight registers are provided to
store a message for transmission and a further eight
registers are provided to store a received message.
The received bytes have a parity bit and a parity
error bit in addition to the eight data bits. These
additional bits are read out in following the data bits,
so two byte reads are required for each data byte.
1.7.1 DiSEqC™ Transmitting Messages
The sequence of events to send a message are as
follows:
1. Load the required message bytes into the
DiSEqC™ Instruction register 36, see page 34.
Sequential writes to the same register is achieved
by setting the Inhibit Auto Incrementing (IAI) bit 7
in RADD, the register address byte.
2. Load the number of bytes (less one) in the
DiSEqC™ instruction in the register
DISEQC MODE[5:3], see page 32.
3. Set DISEQC MODE[2:0] = 4 to command the
MT312 to encode the data and transmit the
message.
4. Reset DISEQC MODE[2:0] to either 0 or 1
depending on previous setting of 22kHz off or on.
The data loaded into DISEQC INSTR register is
retained, so that if the same message is to be
repeated, the data loading stage 1 above can be
omitted.
1.7.2 DiSEqC™ Receiving Messages
transmitted. If a return message is expected, the
DISEQC MODE[2:0] must be set to zero in order to
leave the LNB control signal free for another
DiSEqC™ transmitter to respond.
The sequence of events to receive a message are as
follows:
1. Enable DiSEqC2 GPP2 pin 46 as an input by
setting GPP CTRL register 20 B5 to zero.
2. Enable interrupts if the IRQ pin is being used to
interrupt the host processor in DISEQC2 CTRL1
register 121.
3. Monitor DISEQC2 INT register.
4. If B3 = 1 and B1 = 0, there has been no message
received.
5. If a message has been received, B0 will be set, If
B1 is also set the message is complete.
DISEQC2 INT register B7-4 indicate how many
bytes have been received.
6. Read the received message from
DISEQC2 FIFO register 120 by setting the Inhibit
Auto Incrementing (IAI) bit 7 in RADD, the register
address byte and sequentially reading
DISEQC2 FIFO for the indicated number of
bytes. Each data byte read requires two 2-wire
bus reads. The second or the pair of bytes
contains the parity bit and a parity bit error
indicator.
The user may choose to wait for the end of message
indication, before reading the message, if it is known
that the message is not greater than eight bytes.
However, if the length of message is not known, the
message should be read out of the FIFO by the host
as it is being received. Care must be taken to avoid a
FIFO buffer overflow. DISEQC2 INT register B7-4 will
indicate how many bytes remain in the FIFO.
The MT312 will automatically listen for DiSEqC™
messages 5ms after a message has been
17
MT312
Software Control
2 MT312 Software Control
This section describes the sequences of register
operations needed to acquire DVB and DSS
channels with known or unknown parameters.
Communication with the MT312 is via a standard 2wire bus and the first byte following the chip address,
in write mode, is the register address (RADD).
The register map is organised to group important
Read registers at the lowest addresses, then the
main control Write registers in the next block of
addresses.
highest register address, because it is only written
once during the initialisation sequence.
The CONFIG register can only be reset by the
hardware reset. The MT312 is held in a power saving
mode following the hardware reset.
After a hardware reset, the MT312 must be taken out
of the power save mode by writing a one to the MSB
of the CONFIG register (see 1.1 Introduction). When
MT312 is not being used it can be put back into the
power save mode by writing a zero to the MSB of
CONFIG.
The first register to be written must be the
Configuration register, which has been placed at the
2.1 MT312 Register Map Overview
Address
Description
Section
Type
00 - 06
Interrupt and Status
5.1to 5.4-
read
07 - 19, 108 - 117, 123, 124
Primary signal monitors
5.5 to 5.17
read
20 - 39, 41, 96, 103
Primary control parameters
4 to 4.20
write / read
40, 42 - 49, 50 - 106, 125
Secondary parameters
11.1.1 to 11.1.52
write / read
107, 118 - 122
Secondary monitors
11.2.1 to 4.22
read
126
Chip identification
5.18
read
127
Chip configuration
4.22
write / read
Table 2 - MT312 register map overview
All write / read registers take on default values on full software reset, except for the configuration register (127),
that is only reset to the default value by a hardware reset.
18
Initialisation
3 MT312 Initialisation
3.1 The Configuration Register (127)
CONFIG[B7-0]: This register is for setting up the
MT312. It must be loaded first before any other
register. It can only be reset to the default value by
the RESET pin being pulled low. After loading this
register, wait 150µs for the Clock PLL to settle before
writing to the RESET register. During this wait
period, the tuner may be programmed via the
General Purpose Port. Note that the GPP register
occupies the address space before the RESET
register.
CONFIG[B7]: 312 ENHigh = MT312 enable.
Low = MT312 disable to save power.
CONFIG[B6-5]: DSS BDSS A
0
0: DVB mode
0
1: DSS mode 1 - code rate 2/3
1
0: DSS mode 2 - code rate 6/7
1
1: DSS Code Rate search
If both DSS A and DSS B are set high, the MT312
will search for the code rate in DSS mode. If either of
the DSS A or DSS B are set high, the Symbol rate is
automatically set to 20Mbaud and SYM RATE
registers (23 & 24) are ignored. The matched filter
root-raised-cosine roll-off is set to 0.20 and bit B0 of
QPSK CTRL (26) is ignored. Also, any code rate
programmed into VIT MODE register (25) and VIT
SETUP register (86) will be ignored.
Also in DSS mode TS SW RATE register (50) must
be set to 20, see 10.2.10 Timing Synchronisation
Sweep Rate. Register 50 (R/W).
CONFIG[B4]:
BPSK High = BPSK
Low = QPSK
CONFIG[B3-2]: PLL FACTOR[1:0]:
B3-2 Multiplication factor
00:
3
01:
4
10:
6
11:
9
MT312
e.g. For a crystal frequency of 10MHz, a system
clock frequency of 60MHz, the PLL ratio will be 6,
requiring the PLL FACTOR[1:0] = 2.
For QPSK reception and ADC internal, the MT312 is
enabled by writing 88 hex to register 127.
MT312 computes the System clock frequency using
bits B3-B1 above. This frequency is used internally
for computing parameters needed for acquiring the
QPSK signal.
It is possible to use a crystal frequency other than 10
or 15 MHz. As an example, let the crystal frequency
be 10.25MHz and the PLL multiplication factor be 6.
Then B3 is set to 1 and B2 to 0. Bit B1 may be given
an arbitrary value (0 or 1). The external software
must compute the system clock frequency and load
this value (multiplied by 2) to the SYS CLK register
(Address 34). In the above example, the system
clock frequency is 61.5 MHz and hence the value
123 has to be loaded into SYS CLK register.
The QPSK demodulator checks the SYS CLK
register and if this is non-zero, it uses the contents of
this as the system clock frequency, for internal
calculations mentioned above. If this register is zero
(which is the default setting), QPSK demodulator
works out the system clock frequency from bits B3B1 of the CONFIG register assuming that the crystal
frequency is either 10 or 15 MHz, as defined by bit
B1.
3.2 Power Supplies
To avoid the possibility of destructive latch-up, the
CVDD supply must never, at any time during powerup, exceed 0·5V above the VDD supply and must
also remain within the absolute maximum ratings,
see section 12.2 on page 78.
VDD
CVDD
RESET
ADDR[7:1]
Don’t care
Don’t care
SLEEP
Osc
CONFIG[B1]:
CRYS15
High = 15MHz crystal.
Low = 10MHz crystal.
~1ms typ.
Figure 14 - MT351 power-up sequence
CONFIG[B0]:
ADCEXT High = ADC external.
Low = ADC internal.
In general therefore, the VDD supply should be
established ahead of, or simultaneously with the
CVDD supply.
19
MT312
Initialisation
3.3 Initialisation Sequence
MT312 will be in the power save mode after a
hardware reset. The first command to be written
must be to the CONFIGURATION register at address
127. After loading this register, wait 150µs before
writing to the RESET register. During this wait, the
tuner can programmed to the required channel
frequency via the General Purpose Port (register
20). If the AGC slope control bit of AGC CTRL(39) or
the AGC REF(41) are to be changed, it is best to
write to these registers after writing to the RESET
register. This will allow the front-end AGC loop to
settle while the other registers are being written.
Finally, the MT312 is given a GO command, register
(27) GO =1, to release the state machine and to start
the signal acquisition sequence. This is summarised
as an example in the following flow diagram.
Enable MT312 : Program CONFIG
Reg 127 = 140 (8Chex)
Program tuner via GPP in 'pass through mode'
Next write 128 to the RESET register (21) to reset
the MT312 state machine and all parameter registers
to the default settings. It is then necessary to change
the default setting of register 49 to 50 (decimal).
open port with Reg 20 = 64 (40hex)
send TUNER DATA via I2C bus (5 bytes).
close port with Reg 20 = 0
If necessary, other default parameters may need to
be changed. These may include:
Reset MT312 to default register settings
Reg21 = 128 (80hex)
Set SYS_CLK = 2*Xtal*PLL_RATIO
Set DISEQQC_RATIO (if required)
Set AGC_SL (if required)
Initialise register: reg 49 = 50 (32hex);
•
•
•
•
•
Slope of AGC control signal - see register (39)
ACG CTRL[B0] AGC SL bit
AGC Reference value - see register (41) AGC
REF
Relative phase of IQ spectrum - see register
(25) VIT MODE[B6]
LNB frequency search range, default is ±6MHz
- see register (37) FR LIM
For low Baud rates only, set fast frequency
acquisition mode - see register (26) set QPSK
CTRL[B2] = 1
To invert MOCLK or BKERR output signals - see
register (96) OP CTRL
After this, the LNB controls are defined, in register
(22) DISEQC MODE.
The signal parameters should then be written to the
MT312. The symbol rate (registers 23 & 25 SYM
RATE) may be specified within ±2% of the required
value, absolute precision is not required to achieve
successful lock and tracking. If the symbol rate is
unknown, a search mode is available.
Selecting the correct bit of register (25) VIT MODE, if
known, programs the convolutional code rate. If the
code rate is unknown, some or all of the bits of VIT
MODE may be set to force the MT312 to search for
the code rate.
DiSEqC mode
eg Horizontal with 22kHz on:
Reg 22 = 65 (41hex)
Signal input - Symbol rate
eg 27.5 MBaud:
Reg 23 = 27 (1Bhex) DEFAULT state
Reg 24 = 128 (80hex) DEFAULT state
Viterbi code rate
eg V_IQ swap not set, CR = 3/4:
Reg 25 = 4 (4hex)
QPSK control
eg DVB : roll-off = 0.35:
Reg 26 = 0 DEFAULT state
GO
Release reset state to start signal capture
Reg 27 = 1
Figure 15 - Initialisation sequence in DVB mode
20
MT312
Initialisation
3.4 Spectral Inversion
Spectral inversion of the QPSK signal can be caused
by the transmitter or the receiver front-end. In the
latter case, this could happen due to the way I-Q
conversion is carried out or because the I and Q
wires are swapped between the I-Q converter and
the MT312. If spectral inversion is caused by the
receiver front-end, then this must be removed by
swapping I and Q (within MT312) before QPSK
demodulation, by setting Q IQ SP bit B6 of QPSK
CTRL register (26) to 1.
If no spectral inversion is caused by the receiver
front-end design, then bit B6 of QPSK CTRL must
always be held at zero. If the transmitted signal is
known to be spectrally inverted, then V IQ SP bit B6
of the VIT MODE register (25) must be set to 1. Then
I and Q are swapped after QPSK demodulation. If
the spectral inversion status of the transmitted signal
is not known, then after QPSK has locked (i.e. QPSK
CT LOCK = 1), the software must try to achieve FEC
lock with the bit B6 of VIT MODE register first at zero
and then at one.
3.5 MT312 Initialisation Read/Write Registers
3.5.1 Reset. Register 21 (R/W)
NAME
ADR
B7
B6
B5
B4
B3
B2
B1
B0
RESET
21
FR
312
PR
312
FR
QP
PR
QP
FR
VIT
PR
VIT
PR
BA
PR
DS
B7:
FR 312
High = Full reset of MT312 device.
B6:
PR 312
High = Partial reset of MT312 device.
B5:
FR QP
High = Full reset of QPSK block.
B4:
PR QP
High = Partial reset of QPSK block.
B3:
FR VIT
High = Full reset of Viterbi block.
B2:
PR VIT
High = Partial reset of Viterbi block.
B1:
PR BA
High = Partial reset of Byte Align block.
B0:
PR DS
High = Partial reset of De-scrambler block.
Def
hex
R/W
00
Writing a one to these register locations generates a reset pulse three crystal clock periods wide.
The register automatically resets to zero after use.
A full reset does reset the registers to their default values.
A partial reset does not reset the registers to their default values.
21
MT312
Initialisation
3.5.2 MT312 Configuration. Register 127 (R/W)
NAME
ADR
B7
B6
CONFIG
127
312 EN
B5
DSS B DSS A
B4
BPSK
B3
B2
B1
Def
hex
B0
PLL FACTOR CRYS ADC
[1:0]
15
EXT
R/W
08
CONFIG[7:0]: This register is for setting up the MT312. It must be loaded first before any other register. It can
only be reset by the RESET pin being pulled low.
B7:
312 EN
High = MT312 enable.
Low = MT312 disable to save power.
B6-5:
DSS B
0
0
1
1
DSS
0:
1:
0:
1:
A
DVB mode
DSS mode 1 - code rate 2/3
DSS mode 2 - code rate 6/7
DSS search mode
If both DSS A and DSS B are set high, the MT312 will search for the code rate in DSS mode. Then
the Symbol rate is automatically set to 20Mbaud and SYM RATE registers (23 & 24) are ignored.
Also, any code rate programmed into VIT MODE register (25) and VIT SETUP register (86) will be
ignored.
Also in DSS mode TS SW RATE register (50) must be set to 20, see page 70.
B4:
BPSK
B3-2:
PLL FACTOR[1:0]:
B3-2
00:
01:
10:
11:
High = BPSK
Low = QPSK
Multiplication factor
3
4
6
9
B1:
CRYS15
High = 15MHz crystal.
Low = 10MHz crystal.
B0:
ADCEXT
High = ADC external.
Low = ADC internal.
e.g.
For a crystal frequency of 10MHz, a system clock frequency of 60MHz, the PLL ratio will be 6,
requiring the PLL FACTOR[1:0] = 2.
When MT312 is not being used it can be put into power save mode by setting bit B7 to 0.
22
Initialisation
MT312
3.5.3 System Clock Frequency. Register 34 (R/W)
NAME
ADR
SYS CLK
34
B7
B6
B5
B4
B3
B2
B1
Def
hex
B0
SYS CLK[7:0] - System clock frequency x2 in MHz
R/W
00
SYS CLK[7:0] = System clock frequency * 2 in MHz.
The SYS CLK register must be programmed to indicate the system clock frequency to the calculation unit. The
maximum system clock frequency allowed is 90MHz.
e.g. for a crystal frequency = 10MHz, if the PLL multiplication ratio is 9,
The system clock frequency = 90MHz.
Then SYS CLK[7:0] = 180.
The system clock frequency is NOT affected by the setting of SYS CLK[7:0] register.
3.6 MT312 Initialisation Read Register
3.6.1 Identification. Register 126 (R)
NAME
ADR
ID
126
ID[7:0]:
B7
B6
B5
B4
B3
ID[7:0] Chip identification.
B2
B1
Def
hex
B0
R
03
This register provides an identification number related to the MT312 version.
23
MT312
Tuner Control
4 Tuner Control
4.1 Simple Channel Change Sequence
Program tuner via GPP in 'pass through mode'
If the MT312 is running, to change channel keeping
the same signal conditions, it is only necessary to
change the tuner data and possibly the DiSEqC™
data. NO reset is necessary.
4.2 Channel Change Sequence with a new
Symbol Rate
If the MT312 is running, to change channel and
Symbol rate but not Viterbi coding rate, change the
tuner data and possibly the DiSEqC™ data and
Symbol rate. NO reset is necessary.
open port with Reg 20 = 64 (40hex)
send TUNER DATA via I2C bus (5 bytes).
close port with Reg 20 = 0
DiSEqC mode
eg Vertical with 22kHz on:
Reg 22 = 1 (01hex)
GO
Re-acquire signal
Reg 27 = 1
4.3 Channel Change Sequence with Search
Mode
If the signal parameters are unknown, it is possible to
instruct the MT312 to find a digital signal and report
the parameters found. Registers 24 and 25 are
programmed with the expected range(s) and the
search mode bit SYM RATE[B15] is set high. A code
rate search is forced by programming more than one
bit in VIT MODE (26) register. The IQ spectrum
phase can be automatically determined by setting bit
7 in the VIT MODE (26) register.
Note: code rate 6/7 is not searched for DVB mode.
If a signal with the specified symbol rate range (or
ranges) is not found in the frequency range
searched, a QPSK Baud End interrupt (Bit B6, QPSK
INT L (2)) is issued.
When the MT312 QPSK section has locked to the
signal, this is indicated in register (6) by QPSK STAT
H[B0] = 1. The symbol rate found can be read from
registers (123 - 124) MONITOR, provided the
register (103) MON CTRL = 3. The tolerance of the
result is ±0.25%. The 14 MSBs of this result
(discarding two LSBs) may be written as the 14 LSBs
of the 16-bit register pair (23 and 24) SYM RATE in
the non-search mode for re-acquisition of the same
channel.
The FEC is locked to the signal, when the Byte Align
lock in FEC STATUS[B2] = 1. Then the code rate
found can be read from FEC STATUS[B6-4], see
register 6 49 for details.
24
Figure 16 - Simple channel change sequence
Program tuner via GPP in 'pass through mode'
open port with Reg 20 = 64 (40hex)
send TUNER DATA via I2C bus (5 bytes).
close port with Reg 20 = 0
DiSEqC mode
eg Horizontal with 22kHz on:
Reg 22 = 65 (41hex)
Signal input - Symbol rate
eg 22.0 MBaud:
Reg 23 = 22 (16hex)
Reg 24 = 0
Viterbi code rate
eg V_IQ swap not set, CR = 5/6:
Reg 25 = 8 (8hex)
GO
Re-acquire signal
Reg 27 = 1
Figure 17 - Channel change sequence with new
Symbol rate, DVB mode
Tuner Control
MT312
Program tuner via GPP in 'pass through mode'
open port with Reg 20 = 64 (40hex)
send TUNER DATA via I2C bus (5 bytes).
close port with Reg 20 = 0
Program MONITOR to read Symbol rate
MON_CTRL Reg 103 = 3
DiSEqC mode
eg Horizontal with 22kHz on:
Reg 22 = 65 (41hex)
Read Symbol rate from MONITOR registers 123 & 124.
Symbol rate = MONITOR_H/4 + MONITOR_L/1024 MBaud
Signal input - Search mode
eg if MONITOR_H = 27 and MONITOR_L = 136
then Symbol rate = 27.53125 MBaud
ie 27.5 MBaud ±0.25%
eg for SYS_CLK=60MHz and
30 to 20 Mbaud range:
Reg 23 = 136 (88hex)
Reg 24 = 0
Viterbi code rate search
Read code rate from FEC_STATUS[B6-4] register 6.
eg set: AUTO IQ detection
Reg 25 = 175 (AFhex)
eg if FEC_STATUS = 2C hex
signal is locked and the code rate = 3/4
GO
Re-aquire signal
Reg 27 = 1
Figure 18 - Channel change sequence with
search mode, DVB mode
Figure 19 - Results of Symbol rate and code
rate search, DVB or DSS mode
4.4 Tuner Control Read/Write Registers
4.4.1 General Purpose Port Control. Register 20 (R/W)
NAME
ADR
B7
B6
GPP CTRL
20
Reserved
2W
PAS
B5
B4
B3
B2
GPP DIR[2:0]
B1
Def
hex
B0
GPP PIN[2:0]
B7:
Reserved.
Must be set low.
B6:
2W PAS:
High = 2-wire bus Pass-through.
Low = GPP pin I/O direction set by GPP DIR[2:0].
B5-3:
GPP DIR[2:0]
Any bit set high configures the corresponding GPP[2:0] pin as output
Any bit set low configures the corresponding GPP[2:0] pin as input
Mixed use of pins as inputs and outputs is allowed.
R/W
20
If B6 = 1, pass-through mode, then:
GPP DIR[1:0] are ignored,
B2: = Input or output set by GPP DIR[2] - relating to pin 46.
25
MT312
Tuner Control
Pin 45 = DATA2, this is a transparent, bi-directional connection to the primary DATA1.
Pin 44 = CLK2, this is a transparent, bi-directional connection to the primary CLK1.
If B6 = 0 then: GPP DIR[2:0] defines the input/output conditions of the GPP pins and:
If a pin[n] is defined as output then:
GPP PIN[n] high forces GPP[n] pin high
GPP PIN[n] low forces GPP[n] pin low
If a pin[n] is defined as input then:
GPP[n] pin high sets bit GPP PIN[n] high
GPP[n] pin low sets bit GPP PIN[n ] low
Allocation of GPP PIN[2:0] is:
GPP PIN[2] = DiSEqC™ v2.2 input, 3 wire bus Enable or can be used for any other application
GPP PIN[1] = DATA2 or 3 wire bus Data
GPP PIN[0] = CLK2 or 3 wire bus Clock
The register default state of 20 hex allows the GPP[2] pin to be used for the 3 wire bus Enable line and to be
kept low at all times, except when programming the Synthesiser.
When GPP[2] pin is used for DiSEqC™ v2.2 input, the GPP CTRL register will need to be set to zero after
every full reset to make GPP[2] an input.
4.4.2 FR LIM: Frequency Limit. Register 37 (R/W)
B7:
NAME
ADR
B7
FR LIM
37
Reserved
Reserved.
B6
B5
B4
B3
B2
B1
FR LIM[6:0] - Freq. Limit in MHz
Def
hex
B0
R/W
30
Must be set low.
FR LIM[6:0] Frequency search range MHz x 8. This unsigned 7 bit number represents a search range of +/-0
to +/- 15.875MHz. Default value 30 (hex) = +/- 6MHz.
26
Tuner Control
MT312
4.4.3 FR OFF: Frequency Offset. Register 38 (R/W)
NAME
ADR
FR OFF
38
B7
B6
B5
B4
B3
B2
B1
Def
hex
B0
FR OFF[7:0] - Freq. Offset in MHz
R/W
00
FR OFF[7:0] Frequency offset correction value in MHz x 32. This 2’s complement 8 bit number represents an
offset from -4MHz to +3.96875MHz. Default value 0.
The frequency search is carried out in the range [(-FR LIM + FR OFF), (FR LIM + FR OFF]. Frequency offset
register can be useful in reducing frequency search during channel hopping, especially with low symbol rates.
If the location of the wanted channel with respect to the current channel is known and if the synthesiser step
size is too large to set the precise frequency of that channel, then the FR OFF register can be used to take up
any residual frequency offset.
4.5 Tuner Control Read Registers
4.5.1 Measured LNB Frequency Error. Registers 7 - 8 (R)
B7
B6
B5
B4
B3
B2
B1
Def
hex
NAME
ADR
B0
LNB FREQ H
07
LNB FREQ15:8] Measured LNB frequency error (high byte)
R
00
LNB FREQ L
08
LNB FREQ[7:0] Measured LNB frequency error (low byte)
R
00
LNB FREQ[15:0]: Once the chip is in lock these two registers provide a measurement of the frequency of the
signal at the input to MT312. Ideally, this frequency is zero. Due to LNB frequency uncertainty this frequency
may take a positive or negative value. Then the analogue front-end may be re-tuned to bring this offset close to
zero. Note that MT312 indicates the frequency location of the QPSK spectrum with respect to zero frequency.
The direction in which the synthesiser frequency has to be stepped depends on the design of the analogue
front-end. Also note that in many instances it will not be necessary to re-tune even when there is a relatively
large frequency offset. This is because MT312 compensates for this frequency offset before it demodulates the
signal. Re-tune only if a substantial part of the QPSK spectrum is affected by the SAW or base-band filter
which precedes MT312. This will be the case only for symbol rates which are close to the maximum symbol
rate supported by the above mentioned filters.
When MT312 locks part of the frequency offset is taken up by the frequency compensation mixer and part by
the carrier synchroniser. LNB FREQ gives only the value in the frequency compensation mixer. Over a short
period of about 1 s after lock, the carrier synchroniser will transfer all the frequency compensation to the mixer.
Hence the LNB FREQ reading will have an error less than ±5% of the symbol rate, during this short period after
lock. If an accurate frequency reading is needed immediately after lock, the calculation given in section on
FREQ ERR2 has to be performed by external software.
LNB FREQ[15:0] Frequency offset MHz x 512. This is a 2’s complement 16 bit number.
F680 (=-2432) represents an offset of -4.75MHz.
e.g. a hex value of
27
MT312
Tuner Control
4.5.2 Frequency Error 1 and 2. Registers 111 - 115 (R)
B6
B5
B4
B3
B2
B1
Def
hex
NAME
ADR
B7
B0
FREQ ERR1 H
111
FREQ ERR1[23:16] Input frequency error coarse (high byte)
R
00
FREQ ERR1 M
112
FREQ ERR1[15:8] Input frequency error coarse (middle byte)
R
00
FREQ ERR1 L
113
FREQ ERR1[7:0] Input frequency error coarse (low byte)
R
00
FREQ ERR1[23:0] Ratio of Frequency Compensation Mixer offset to System Clock x 224. 24 bit signed
number. For most purposes the LS byte can be ignored hence the alternative definition is more useful: FREQ
ERR1[23:8] Ratio of Frequency Compensation Mixer offset to System Clock x 216. 16 bit signed number.
B7
B6
B5
B4
B3
B2
B1
Def
hex
NAME
ADR
B0
FREQ ERR2 H
114
FREQ ERR2[15:8] Input frequency error fine (high byte)
R
00
FREQ ERR2 L
115
FREQ ERR2[7:0] Input frequency error fine (low byte)
R
00
FREQ ERR2 [16:0] Ratio of Carrier Synchroniser offset to Symbol Rate x 28. 16 bit signed number. This value
drops to near zero within a second or so of signal lock.
To obtain an accurate value for the frequency offset at any time, especially immediately after lock, the error
from each of these registers can be calculated and add together. In practice only the two most significant bytes
of FREQ ERR 1 are required, so that the net offset can be calculated as:
FREQ_ERR1(23:8)* PLL_CLK FREQ_ERR2(15:0)*Rs
Frequency offset = --------------------------------------------------------------------------------- + ------------------------------------------------------------65536
256
Where PLL CLK is the sytem clock frequency (e.g. 60 MHz) and Rs is the symbol rate in MBd.
Any frequency error in FREQ ERR2 transfers to FREQ ERR1 very rapidly after lock, so that any delay between
reading the two values will cause an error in the calculation. It is therefore recommended that the five bytes
above are read as a block, especially if the two wire bus is subject to congestion or other delays.
28
DiSEqC Control
MT312
5 DiSEqC Control
5.1 Screen Printouts of DiSEqC™ Waveforms
Figure 20 - A DiSEqC™ data byte interrupting a continuous 22kHz tone
The timing periods of the 16ms before the data byte and 16ms afterwards to the interrupt being asserted are
clearly shown. The restoration of the 22kHz after the interrupt is controlled by software.
Figure 21 - One DiSEqC™ data byte - 0x11 (hex) plus parity bit
A 'zero' comprises 22kHz on for 1ms then off for 0.5ms. A 'one' comprises 22kHz on for 0.5ms then off for 1ms.
The ninth bit is an odd parity bit.
29
MT312
DiSEqC Control
5.2 DiSEqC Control Read/Write Registers
5.2.1 DiSEqC™ Mode Control. Register 22 (R/W)
NAME
ADR
B7
B6
DISEQC MODE
22
Reserved
HV
B5
B4
B3
DISEQC
instruction length
B2
B1
Def
hex
B0
22kHz mode
R/W
00
B7:
Reserved.
Must be set low.
B6:
HV H/V polarisation control: High = Horizontal, DISEQC[1] pin = high
Low = Vertical, DISEQC[1] pin = low
The DISEQC[1] pin controls the externally generated 13/18V LNB voltage.
B5-3:
Number of bytes in DiSEqC™ instruction minus 1, to output on DISEQC[0] pin.
i.e. if the message contains four bytes, program B5-3 with the value three.
B2-0:
DiSEqC™ mode:
0:
22kHz off
1:
22kHz on continuous
2:
Burst mode - on for 12.5ms = '0'
3:
Burst mode - modulated 1:2 for 12.5ms = '1'
4:
Modulated with bytes from DISEQC INSTR
5-7:
Reserved.
Note:
for modes 2 and 3, an interrupt is generated 16ms after the '0' or '1' burst.
for mode 4, there is a 16ms delay before the message bytes, then an interrupt is generated 16ms after
the last message byte has been sent. The requisite number of bytes must be pre-loaded into
DISEQC INSTR (register 36) before this bit is set, see 31.
5.2.2 DiSEqC(tm) Ratio. Register 35 (R/W)
NAME
ADR
DISEQC RATIO
35
B7
B6
B5
B4
B3
B2
B1
DISEQC RATIO[7:0]
DISEQC RATIO[7:0] This must be programmed to set the Diseqc output tone frequency.
Fout =
Fxtal
4*DISEQC_RATIO[7:0]
Where Fout is in kHz and Fxtal is in MHz.
For a 22kHz output tone, DISEQC RATIO[7:0] = 11.364 * Fxtal
e.g. with Fxtal = 10MHz, DISEQC RATIO[7:0] = 114, or for 15 MHz 170.
30
Def
hex
B0
R/W
00
DiSEqC Control
MT312
11E6
For this example, the DiSEqC™ frequency = --------------- = 22kHz.
4*125
For a 10MHz crystal, the tone frequency range is from 9.8kHz with DISEQC RATIO = 255 to 250kHz with
DISEQC RATIO = 10. A lower value than 10 causes the tone frequency to become unstable, until the DISEQC
RATIO = 0, the default, value giving a 22kHz tone frequency. This range is not guaranteed, the maximum tone
frequency should be used with caution.
5.2.3 DiSEqC™ Instruction (R/W). Register 36 (R/W)
NAME
ADR
DISEQC INSTR
36
B7
B6
B5
B4
B3
B2
B1
Def
hex
B0
DISEQC Instruction [7:0]
R/W
00
Up to eight instruction data bytes are first loaded into a bank of registers through this register. The 2-wire
automatic register address incrementing is turned off during this loading by setting B7: IAI = 1 in RADD,
(register address). The number of bytes (less one) must be defined in the DiSEqC™ instruction register
DISEQC MODE[5:3].
i.e. DISEQC MODE[5:3] = (number of bytes in the DiSEqC™ instruction) - 1
When the DiSEqCTM instruction data bytes have been loaded, set DISEQC MODE[2:0] = 4. At the same time
program DISEQC MODE[5:3] as required. The instruction data is modulated onto the 22kHz signal and output
from the DISEQC[0] pin.
An interrupt is generated 16ms after all the data bytes have been sent and the MT312 then resets DISEQC
MODE[5:0] to zero, see Figure 19 on page 33.
5.2.4 DiSEqC™ 2 Control 1. Registers 121 (R/W)
NAME
ADR
DISEQC2
CTRL1
121
B7-6:
MIN TONE PER
B7
B6
B5
B4
B3
B2
DISEQC2 CTRL1[7:0]
B1
Def
hex
B0
R/W
00
Minimum Tone Period.
B7-6:
MIN TONE PER
00
3.0 * DISEQC RATIO
01
3.125 * DISEQC RATIO
10
2.875 * DISEQC RATIO
11
2.75 * DISEQC RATIO
B7:6
are for controlling (or fine tuning) the DiSEqC™ 2 receive algorithm.
B5:
Send extended pulse to the Status pin 52. This is a test or diagnostics bit. If it is set to 1, then the
cleaned up and extended pulse stream is sent to the status pin so that it can be recorded or observed.
B4:
DiSEqC™ 2 Reset only the DiSEqCTM 2 receive module. Automatically set low again after use.
31
MT312
DiSEqC Control
This is the software (partial) reset for DISEQC2 module. If this is set to 1 in the DISEQC2 listen (or
receive) period, any listen operations will be aborted and DISEQC2 will wait until the end of the next
transmission to expect a reply.
Note that the host beginning the next DISEQC2 transmission will have a similar effect to writing bit 4.
B3:
Interrupt enable for bit B3 of DISEQC2 INT STAT register 118.
B2:
B1:
B0:
Interrupt enable for bit B2 of DISEQC2 INT STAT register 118.
Interrupt enable for bit B1 of DISEQC2 INT STAT register 118.
Interrupt enable for bit B0 of DISEQC2 INT STAT register 118.
Bits B0 and B3 are interrupt enables. These determine whether bits B0 to B3 of DISEQC2 INT (register 118,
see 33) have any impact on the pin IRQ 57 of the MT312.
Note that buffer overflow interrupt does not have an interrupt enable and hence this cannot be brought out to
the IRQ pin.
5.2.5 DiSEqCTM 2 Control 2. Registers 122 (R/W)
NAME
ADR
DISEQC2
CTRL2
122
B[7:5]: MIN PULS PER
B6
B5
MIN PULS PER
B4
B3
B2
TONE EXT PER
B1
MIN PULS PER
000
24 * DISEQC RATIO
001
25 * DISEQC RATIO
010
26 * DISEQC RATIO
011
27 * DISEQC RATIO
100
28 * DISEQC RATIO
101
29 * DISEQC RATIO
110
30 * DISEQC RATIO
111
31 * DISEQC RATIO
Tone Impulse Extended Period.
B1-0:
TONE EXT PER
000
7 * DISEQC RATIO
001
8 * DISEQC RATIO
010
9 * DISEQC RATIO
011
10 * DISEQC RATIO
100
11 * DISEQC RATIO
Def
hex
B0
MAX TONE
PER
Minimum Pulse Period.
B7-5:
B[4-2]: TONE EXT PER
32
B7
(default)
R/W
D4
DiSEqC Control
B1-0:
TONE EXT PER
101
12 * DISEQC RATIO
110
13 * DISEQC RATIO
111
14 * DISEQC RATIO
B[1-0]: MAX TONE PER
MT312
(default)
Maximum Tone Period.
B1-0:
MAX TONE PER
00
6.0 * DISEQC RATIO
01
6.25 * DISEQC RATIO
10
5.75 * DISEQC RATIO
11
5.5 * DISEQC RATIO
(default)
5.3 DiSEqC Control Read Registers
5.3.1 DiSEqC™M 2 Interrupt Indicators. Register 118 (R)
NAME
ADR
DISEQC2 INT
118
B7
B6
B5
B4
B3
B2
B1
DISEQC2 INT[7:0]
Def
hex
B0
R
00
Note that the most significant four bits are not reset on read. The least significant four bits are interrupt bits
which are reset when the register is read. Interrupts indicate events in history. The interrupts may be enabled to
drive the IRQ pin 57 by setting required bit(s) in the DISEQC2 CTRL1 register 121, see 31.
B7-4:
Bits B7-4 denote the following number of bytes received:
B7-4 = (Number of bytes received - Number of bytes read)
Hence this is the number of bytes that would be in the FIFO BUFFER if this buffer had unlimited
capacity. Since the size of this buffer is only 8 bytes, if the above difference, given by bits B7-4,
exceeds eight, that indicates buffer overflow.
B3:
Silent period exceeds 176 ms interrupt (reset on read)
The host may enable interrupts B1 and B3. Then when an interrupt is received, the host may read the
DISEQC2 INT register. Then if bit B3 is one and bit B1 is 0, this indicates there has been a
continuous period 176ms of silence since the end of the transmission. If the host is expecting a reply,
then this silence may be taken to signify a hardware fault in the system.
There is a 5-bit number in the DISEQC2 STATUS BYTE which indicates the length of a continuous
period of silence up to the read time, in multiples of 16 ms.
B2:
Receive error interrupt (reset on read).
Bit B2 indicates an error in the received message. This does not refer to a parity error. It indicates
that a bit has been lost due to excessive noise or interference in the return channel. This is identified
within MT312 by the occurrence of an excessively long tone or silence period within a byte.
33
MT312
B1:
DiSEqC Control
End of message interrupt (reset on read).
Bit B1 indicates a new message has been received. The end of a message is identified by a silent
period of about 6 ms following a byte. The end-of-message interrupt bit makes it easier for the host
processor to read DiSEqC™ data from MT312. Instead of reading a byte at a time, it can read the
message as a whole.
It is important to note that MT312 does not stop accepting bytes after setting end-of-message
interrupt. It will receive new messages, if any, whilst the current message is being read by the host.
Since 2-wire bus read rate is higher than the byte receive rate, there is no reason for FIFO buffer
overflow. After every received message there will be an interrupt.
B0:
End of byte interrupt (reset on read).
Bit B0 is set when a new byte is received. The host may wish to ignore byte interrupts and opt to read
received messages, as described below.
It is important to note that MT312 does not stop accepting bytes after setting end-of-message
interrupt. It will receive new messages, if any, whilst the current message is being read by the host.
Since 2-wire bus read rate is higher than the byte receive rate, there is no reason for FIFO buffer
overflow.
After every received message there will be an interrupt.
5.3.2 DiSEqC™M 2 Status Indicators. Register 119 (R)
NAME
ADR
DISEQC2 STAT
119
B7
B6
B5
B4
B3
B2
B1
Def
hex
B0
DISEQC2 STATUS[7:0]
R
B7-5:
DISEQC2 Finite State Machine State. This is primarily for debugging the device.
B4-0:
Silent period since last received bit, in multiples of 16 ms.
00
Bits B4-0 is reset to zero when a bit is received. When this 5-bit number reaches 176, the interrupt bit
B3 of DISEQC2 INT register is set. This is saturated to 31. Hence if the total period exceeds 496
ms this counter will continue to indicate 31.
5.3.3 DiSEqC™ 2 FIFO. Register 120 (R)
Odd byte read of register 120:
NAME
ADR
DISEQC2 FIFO
120
B7
B6
B5
B4
B3
DISEQC2 FIFO[7:0]
B2
B1
Def
hex
B0
R
00
Even byte read of register 120:
This FIFO contains data bytes and parity bits collected. This can hold a maximum of 8 data bytes, 8 parity bits
and 8 parity error bits. The parity error bit is defined as the inverse of the exclusive-OR combination (or
modulo-2 addition) of all 9 bits (8 data and 1 parity). This bit will be zero when there is no parity error.
34
DiSEqC Control
NAME
ADR
DISEQC2 FIFO
120
B7
B6
B5
Reserved
B4
B3
B2
B1
B0
Par
error
Par
bit
MT312
Def
hex
R
00
Refer to preceding section for buffer overflow.
The received bytes are read from this location with 2-wire bus auto-increment bit set to zero. The received
bytes will be available in the order received, i.e. the buffer is a First In First Out (FIFO) memory.
Note that two read operations are needed for each byte. The first read operation will give the data byte and the
second will provide the associated parity bit(B0) and the parity-error bit(B1), the other 6 bits will be zero. For
example, if four bytes are received, then eight read operations (with auto-increment bit set to zero) are needed
to get all data bytes as well as the parity bits.
The number of bytes received is given by bits B3-0 of DISEQC2 STATUS BYTES register 119.
35
MT312
QPSK Demodulator
6 QPSK demodulator
6.1 QPSK Demodulator Read/Write Registers
6.1.1 Symbol Rate. Registers 23 - 24 (R/W)
NAME
ADR
B7
B6
SYM RATE H
23
SEARCH
Reserved
SYM RATE L
24
B15:
SEARCH
B14:
B14:
Reserved.
S FMT
B5
B4
B3
B2
B1
SYM RATE[13:8] in MBaud (high byte)
SYM RAT[7:0] in Mbaud (low byte)
Def
hex
B0
R/W
80
R/W
80
Must be set low
Sweep MT312 Format.
If SYM RATE[15:14] = 0 this is the non-search mode, i.e. the known Symbol rate mode.
B13-0:
Required Symbol rate in Mbaud x 256. Unsigned 14 bit number. e.g. for a symbol
rate of 27.5 MBd
SYM RATE = 27.5 * 256 = 7040 = 1B80 (hex)
If any of the two DSS bits are set in the CONFIG register, then the SYM RATE register contents are ignored
and the symbol rate is taken as 20 MBaud. Hence it is not necessary to program the SYM RATE register for
DSS applications.
If SYM RATE[15:14] = 1x this is the Search Mode where x = don't care.
B11-0:
Sub-ranges to be searched (scaled by clock rate).
The total symbol rate range is divided into 12 sub-ranges. A bit in the above register pair is assigned to each
sub-range, as defined in the tables below. The symbol rate sub-range or sub-ranges to be searched are defined
by setting the appropriate bits high. Small overlaps are automatically provided between successive sub-ranges.
Note that the lowest sub-ranges have been provided for 90 MHz operation and the device has not been
optimised for operation below 1 MBaud.
36
QPSK Demodulator
Bit
Symbol Rate Sub Range MBaud
11
SYS CLK /2 to SYS CLK/3
10
SYS CLK/3 to SYS CLK/4
9
SYS CLK/4 to SYS CLK/6
8
SYS CLK/6 to SYS CLK/8
7
SYS CLK/8 to SYS CLK/12
6
SYS CLK/12 to SYS CLK/16
5
SYS CLK/16 to SYS CLK/24
4
SYS CLK/24 to SYS CLK/32
3
SYS CLK /32 to SYS CLK/48
2
SYS CLK/48 to SYS CLK/64
1
SYS CLK /64 to SYS CLK/96
0
SYS CLK/96 to SYS CLK/128
MT312
Table 3 - Symbol sweep ranges for general case
Bit
Symbol Rate Sub Range MBaud
11
45 - 30
10
30 - 22.5
9
22.5 - 15
8
15 - 11.25
7
11.25 - 7.5
6
7.5 - 5.625
5
5.625 - 3.75
4
3.75 - 2.8125
3
2.81325 - 1.875
2
1.875 - 1.40625
1
1.40625 - 0.9375
0
0.9375 - 0.703125
Table 4 - Symbol sweep ranges for 90MHz system clock
37
MT312
QPSK Demodulator
6.1.2 Viterbi mode. Register 25 (R/W)
NAME
ADR
B7
B6
B5
B4
B3
B2
B1
B0
VIT MODE
25
AUT IQ
V IQ
SP
CR
7/8
CR
6/7
CR
5/6
CR
3/4
CR
2/3
CR
1/2
Def
hex
R/W
44
B7:
AUT IQ
Automatic IQ phaseHigh = Search for correct IQ phase.
Low = Use IQ phase setting in V IQ SP.
When this bit is set high, the Viterbi decoder will start with the IQ phase defined in V IQ SP and the
code rate defined in VIT MODE[5:0], to establish the correct IQ phase of the incoming signal. When
this is established, the V IQ SP bit will be set to that phase indication so that it can be read by
software for subsequent re-tuning to the same channel.
B6:
V IQ SP
Swap I and Q inputs to the Viterbi decoder to overcome
spectral inversion caused by the transmitter.
High = I-Q swap
Low = No I-Q swap
If the transmitted signal is known to be spectrally inverted then set this bit to 1. If the spectral inversion
status of the transmitted signal is not known, then after QPSK CT lock, try to achieve FEC lock with
this bit first at zero and then at one.
When AUT IQ is set high, this bit will indicate the IQ phase following successful channel acquisition.
In manual mode, when AUT IQ is set low, software is required to determine the spectrum phase and
control this bit externally.
B5:
CR 7/8
High = Viterbi code rate 7/8.
B4:
CR 6/7
High = Viterbi code rate 6/7.
B3:
CR 5/6
High = Viterbi code rate 5/6.
B2:
CR 3/4
High = Viterbi code rate 3/4.
B1:
CR 2/3
High = Viterbi code rate 2/3.
B0:
CR 1/2
High = Viterbi code rate 1/2.
38
QPSK Demodulator
MT312
The Viterbi decoder will search for a signal with the code rates selected by this register. If one code rate is
selected, the MT312 will search for a signal with only that code rate. If the code rate is unknown then all B5:0
may be set, when the MT312 will search all code rates. It is possible to choose the starting point for the code
rate search by setting a bit in VIT SETUP[B3:1] register (86). After searching for a signal with the initial code
rate, if no signal is found the search proceeds to the next higher code rate, see 69.
In the DSS mode the code rate is not specified using VIT MODE register. If any of the two DSS bits of
Configuration Register (127) is set, then the code rates selected by the VIT MODE register are ignored. The
DSS code rate selection is carried out as described in section 1.1, see 10.
The result of the search is reported in the FEC STAT register (6), see 49.
6.1.3 QPSK Control. Register 26 (R/W)
NAME
ADR
B7
B6
QPSK
CTRL
26
Reserved
B5
B4
B3
Q
Reserved Reserved Reserved
IQ SP
B2
AFC
M
B1
Def
hex
B0
Reserved ROLL
20
R/W
00
B7:
Reserved
Must be set low.
B6:
Q IQ SP
Swap I and Q inputs before QPSK demodulation to overcome spectral inversion
caused by the receiver front-end, for example through the swapping I and Q wires on
the board.
High = I-Q swap
Low = No I-Q swap
B5:
Reserved
Must be set low.Q MANHigh = QPSK manual programming
B4:
Reserved
Must be set low.OP CALHigh = Output calculation disable
B3:
Reserved
Must be set low.FLD LKHigh = Use Frequency Lock Detector lock
B2:
AFC M
High = Use AFC mode, for low Symbol rates only, < 10MSym/s.
B1:
Reserved
Must be set low.
B0:
ROLL 20
High = Roll-off 0.20
Low = Roll-off 0.35
If any of the two DSS control bits of the Configuration Register (127) is active (see section 1.1 10), then bit B0
(ROLL 20) is ignored and the matched filter root-raised-cosine roll-off factor is taken as 0.20. Hence bit only
allows the choice of roll-off in the DVB mode.
39
MT312
QPSK Demodulator
6.1.4 Go Command. Register 27 (R/W)
NAME
ADR
GO
27
B7
B6
B5
B4
B3
B2
B1
Reserved
B7-1:
Reserved - not used.
B0:
GO
Def
hex
B0
GO
R/W
00
High = release reset state to start signal capture, automatically reset to zero.
Low = no action.
If this register is read, it will return zero.
6.1.5 QPSK Interrupt Output Enable. Registers 28 - 30 (R/W)
When the bits of these three registers are set high, they enable an event to generate an interrupt on the IRQ
pin 57. All interrupts may be enabled together. These registers do not affect the indication of events in the read
registers 0 - 3.
NAME
ADR
IE QPSK H
28
B7
B6
B5
B4
B3
High = Enable QPSK CT LOCK indication on interrupt pin.
B6:
High = Enable QPSK CT UNLOCK indication on interrupt pin.
B5:
High = Enable QPSK LOCK indication on interrupt pin.
B4:
High = Enable QPSK UNLOCK indication on interrupt pin.
B3:
High = Enable QPSK TS LOCK indication on interrupt pin.
B2:
High = Enable QPSK TS UNLOCK indication on interrupt pin.
B1:
High = Enable QPSK CS LOCK indication on interrupt pin
B0:
High = Enable QPSK CS UNLOCK indication on interrupt pin.
ADR
IE QPSK M
29
B7
B6
B5
B4
B3
B2
B1
IE QPSK[15:8] Interrupt enable QPSK (middle byte)
B7:
High = Enable QPSK FE AGC LOCK indication on interrupt pin.
B6:
High = Enable QPSK TS AGC LOCK indication on interrupt pin.
B5:
High = Enable QPSK TS AGC UNLOCK indication on interrupt pin.
40
B1
Def
hex
B0
IE QPSK[23:16] Interrupt enable QPSK (high byte)
B7:
NAME
B2
R/W
00
Def
hex
B0
R/W
00
QPSK Demodulator
B4:
High = Enable QPSK FR LOCK indication on interrupt pin.
B3:
High = Enable QPSK FR UNLOCK indication on interrupt pin.
B2:
High = Enable QPSK calculation complete indication on interrupt pin.
B1:
High = Enable QPSK TS MAX indication on interrupt pin.
B0:
High = Enable QPSK CS MAX indication on interrupt pin.
NAME
ADR
IE QPSK L
30
B7
B6
B5
B4
B3
B2
B1
High = Enable QPSK ST CHA indication on interrupt pin.
B6:
High = Enable QPSK frequency end indication on interrupt pin.
B5:
High = Enable QPSK BAUD end indication on interrupt pin.
B4:
High = Enable QPSK AFC success indication on interrupt pin.
B3:
High = Enable QPSK AFC fail indication on interrupt pin.
B2:
High = Enable QPSK next FRS21 indication on interrupt pin.
B1:
High = Enable QPSK same FRS21 indication on interrupt pin.
Def
hex
B0
IE QPSK [7:0] Interrupt enable QPSK (low byte)
B7:
MT312
R/W
00
B0:High = Enable QPSK LTV limit indication on interrupt pin.
6.1.6 QPSK STATUS Output Enable. Register 32 (R/W)
If more than one bit is enabled then the logical-OR combination of the selected status signals will appear on the
STATUS pin 52.
NAME
ADR
QPSK STAT EN
32
B7
B6
B5
B4
B3
B2
B1
QPSK STAT EN[7:0] Enable various QPSK outputs on STATUS pin
B7:
High = QPSK TS sweep on
B6:
High = QPSK CS sweep on
B5:
High = QPSK FR LOCK
B4:
High = QPSK TS AGC LOCK
B3:
High = QPSK TS LOCK
Def
hex
B0
R/W
00
41
MT312
QPSK Demodulator
B2:
High = QPSK CS LOCK
B1:
High = QPSK CT LOCK
B0:
Reserved. Must be set low.
6.2 QPSK Demodulator Read Registers
6.2.1 QPSK Interrupt. Registers 0 - 2 (R)
The majority of these interrupts are for diagnostic purposes and generally not useful in normal operation,
unless otherwise indicated.
NAME
ADR
QPSK INT H
00
B7
B6
B5
B4
B3
B2
B1
QPSK INT [23:16] Interrupt QPSK (high byte)
B7:
High = QPSK Carrier and Timing LOCK important indicator.
B6:
High = QPSK Carrier and Timing UNLOCK
B5:
High = QPSK LOCKimportant indicator.
B4:
High = QPSK UNLOCK
B3:
High = QPSK Timing LOCK
B2:
High = QPSK Timing UNLOCK
B1:
High = QPSK Carrier LOCK
B0:
High = QPSK Carrier UNLOCK
Def
hex
B0
R
00
Reading an Interrupt register resets that register.
After the QPSK demodulator achieves Carrier and Timing Lock, from now on referred to as QPSK CT Lock, it
waits some time for the FEC to confirm this lock. When the FEC locks, the QPSK enters QPSK Lock state. The
time QPSK waits for the FEC to gain lock is programmable via register 81 (see section 10.2.31 FEC Lock Time.
Register 81 (R/W)). If the FEC does not achieve lock during this period (very unlikely), then MT312 drops its
QPSK CT Lock status and resumes search for another QPSK signal.
NAME
ADR
QPSK INT M
01
B7
B6
B5
B3
B2
B1
QPSK INT [15:8] Interrupt QPSK (middle byte)
B7:
High = QPSK FE AGC LOCK
B6:
High = QPSK Digital Internal AGC LOCK
B5:
High = QPSK Digital Internal AGC UNLOCK
B4:
Reserved High = QPSK FR LOCK
42
B4
Def
hex
B0
R
00
QPSK Demodulator
B3:
Reserved High = QPSK FR UNLOCK
B2:
High = QPSK calculation complete
B1:
High = QPSK TS MAX
B0:
High = QPSK CS MAX
MT312
Reading an Interrupt register resets that register.
NAME
ADR
QPSK INT L
02
B7
B6
B5
B4
B3
B2
QPSK INT [7:0] Interrupt QPSK (low byte)
B1
Def
hex
B0
R
00
The majority of these interrupts are for diagnostic purposes and generally not useful in normal operation,
unless otherwise indicated.
B7:
High = QPSK state change
B6:
High = QPSK frequency end of search rangeimportant indicator.
B5:
High = QPSK BAUD end of rangeimportant indicator.
B4:
High = QPSK AFC success
B3:
High = QPSK AFC fail
B2:
High = QPSK next frequency search
B1:
High = QPSK same frequency search
B0:
High = QPSK LTV limit
Reading an Interrupt register resets that register.
Frequency and symbol rate search is carried out as follows. If the symbol rate is known then MT312 will search
the specified frequency range for this symbol rate. Once the end of this range has been reached, "QPSK end of
frequency range search" interrupt will be issued and MT312 will resume the search beginning from frequency
zero. A "QPSK end of Symbol rate range(s) search" interrupt will not be issued.
If the symbol rate is not known, then MT312 can be made to search several sub-ranges of symbol rates, by
setting 12 bits of the pair of SYM RATE registers, as described in section 4.4. For illustration purposes, assume
that the symbol rate sub-ranges SYS CLK/2 to SYS CLK/3 and SYS CLK/4 to SYS CLK/6 are to be searched.
Then MT312 will begin the search from the upper sub-range SYS CLK/2 to SYS CLK/3. MT312 will search for
a channel with a symbol rate in this range over the specified frequency range, for example ± 10 MHz. If no
channel is found then MT312 will issue a "QPSK end of frequency range search" interrupt and will go on to
search the sub-range SYS CLK/4 to SYS CLK/6 over the specified frequency range. If no channel is found,
then MT312 will issue a "QPSK end of frequency range search" interrupt as well as a "QPSK end of Symbol
rate range(s) search" interrupt. Then MT312 will return to search the specified frequency range for a symbol
rate in the range SYS CLK/2 to SYS CLK/3. This process continues indefinitely, unless it is interrupted by host
processor software.
43
MT312
QPSK Demodulator
6.2.2 QPSK Status. Registers 4 - 5 (R)
NAME
ADR
QPSK STAT H
04
B7
B6
B5
High = QPSK SNR MSB
B6:
High = QPSK SNR LSB
B5:
High = QPSK FR LOCK
B4:
High = QPSK Timing AGC LOCK
B3:
High = QPSK Timing LOCK
B2:
High = QPSK Carrier LOCK
B1:
High = QPSK Carrier and Timing (CT) Lock
B0:
High = QPSK LOCK
ADR
QPSK STAT L
05
B3
B2
B1
B7
B6
B5
B4
B3
B2
R
B1
High = QPSK Timing sweep on
B6:
High = QPSK Carrier sweep on
B5-0:
Reserved
00
Def
hex
B0
QPSK STATUS[7:0] (low byte)
B7:
Def
hex
B0
QPSK STATUS[15:8] (high byte)
B7:
NAME
B4
R
00
6.2.3 Symbol Rate Output. Registers 116 - 117 (R)
B7
B6
B5
B4
B3
B2
B1
Def
hex
NAME
ADR
B0
SYM RAT OP H
116
SYM RAT OP[15:8] Symbol Rate Output (high byte)
R
00
SYM RAT OP L
117
SYM RAT OP[7:0] Symbol Rate Output (low byte)
R
00
SYM RAT OP[15:0] These two bytes contain a positive number that is inversely proportional to the Symbol rate.
The decimation ratio index must also be read from the MONITOR register bits B[7:5] and divided by 32 to
normalise the result.
PLL_CLK *8192
Rs = ---------------------------------------------------------SYM_RAT_OP+ 8192
* 2 -DEC RATIO
Where: Rs = Symbol rate in MBaud
PLL CLK = PLL clock frequency in MHz
SYM RAT OP = value of registers 116 and 117.
DEC RATIO = MONITOR H[7:5] when MON CTRL[2:0] = 5.
44
QPSK Demodulator
MT312
6.2.4 Monitor Registers. Registers 123 - 124 (R)
B7
B6
B5
B4
B3
B2
B1
Def
hex
NAME
ADR
B0
MONITOR H
123
MONITOR[15:8] Monitor (high byte)
R
00
MONITOR L
124
MONITOR[7:0] Monitor (low byte)
R
00
For details, see MON CTRL register (103) on page 62.
MON CTRL[3:0] = 0:
MONITOR H = CS SYM I and MONITOR L = CS SYM Q.
This is a snapshot of two I and Q samples (of the same symbol) after carrier synchroniser. This
information could be used to produce a scatter diagram. Keep reading these continuously and mark
these as points on a 2-D I-Q plane to get a scatter diagram.
MON CTRL[3:0] = 1:
MONITOR H = DC OFFSET I and MONITOR L = DC OFFSET Q.
This will give the amount of DC offset in the I and Q inputs from the ADC compensated by the QPSK.
Each of these is a two's complement number. If the 6-bit ADC range is taken to be in the scale -32 to
31, then it is necessary divide DC OFFSET I by 16, to bring it to the same scale as the ADC. For
example, if we get the DC OFFSET I as "11111101", the corresponding two's complement number is
-3. However, the actual offset with respect to the ADC scale of [-32, 31] is actually -3/16. The same
applies to DC OFFSET Q.
MON CTRL[3:0] = 3:
MONITOR H = MBAUD OP H and MONITOR L = MBAUD OP L.
When the QPSK demodulator is in lock following a symbol rate search, the locked symbol rate may be
read from the MONITOR register. Then:
Symbol Rate = MONITOR[15:0]/ 1024.
The accuracy of this reading is within ±0.25% of the actual symbol rate. Note that the channel with this
symbol rate can be subsequently re-acquired without a search by programming the 14 MSBs of the
above read-out (discarding the two LSBs) as the 14 LSBs of the 16-bit SYM RATE register (23,24),
see page 27.
MON CTRL[3:0] = 5:
Decimation ratio = MONITOR[15:13]/32.
MON CTRL[3:0] = 6:
MONITOR H = M FLD[7:0] and MONITOR L = M FLD[7:0].
M FLD[7:0]:
This byte contains a number calculated in the TS FLD Timing synchroniser
frequency lock detector and is used for frequency lock detection in the manual
programming mode.
MON CTRL[3:0] = 7:
MONITOR H = M TLD H and MONITOR L = M TLD L.
M TLD[15:0]:
Measurement of the Timing lock detector value. Reading the bytes does NOT reset
the value.
MON CTRL[3:0] = 8:
MONITOR H = M PLD H and MONITOR L = M PLD L.
45
MT312
M PLD[15:0]:
QPSK Demodulator
Measurement of the Phase lock detector value. Reading the bytes does NOT reset
the value.
The remaining settings of MON CTRL[3:0] are either reserved for diagnostic purposes or not used.
46
Forward Error Correction
MT312
7 Forward Error Correction
7.1 Forward Error Correction Read/Write Registers
7.1.1 FEC Interrupt Enable. Register 31 (R/W)
When the bits of this register are set high, they enable an event to generate an interrupt on the pin 57. All
interrupts may be enabled together.
NAME
ADR
IE FEC
31
B7
B6
B5
B4
B3
B2
B1
Def
hex
B0
IE FEC[7:0] Interrupt enable FEC
R/W
B7:
High = Enable DiSEqC™ indication on interrupt pin.
B6:
High = Enable Byte Align lock lost indication on interrupt pin.
B5:
High = Enable Byte Align lock indication on interrupt pin.
B4:
High = Enable Viterbi lock lost indication on interrupt pin.
B3:
High = Enable Viterbi lock indication on interrupt pin.
B2:
High = Enable Viterbi BER monitor period reached indication on interrupt pin.
B1:
High = Enable De-scrambler lock lost indication on interrupt pin.
00
B0:High = Enable De-scrambler lock indication on interrupt pin.
7.1.2 FEC STATUS Output Enable. Register 33 (R/W)
If more than one bit is enabled then the logical-OR combination of the selected status signals will appear on the
STATUS pin 52.
NAME
ADR
FEC STAT EN
33
B7
B6
B5
MOCLK RATIO[3:0]
B4
B3
B2
B1
B0
DS lock
BA
lock
VIT
lock
BER
tog
B7-4:
MOCLK RATIO[3:0]
MPEG clock ratio - 6. I.e. range is from 6 to 21
see section 9.1.3 on 54.
B3:
DS lock
High = De-scrambler lock
B2:
BA lock
High = Byte Align lock
B1:
VIT lock
High = Viterbi lock. High = Viterbi lock
Def
hex
R/W
14
47
MT312
B0:
Forward Error Correction
BER tog High = BER toggle. This bit enables the audio signal output on the STATUS pin it indicates
BER during dish alignment, see 12, section 1.4.1.2. The frequency of the signal is controlled by
VIT MAXERR register (94), see 70.
7.1.3 FEC Set Up. Register 97 (R/W)
NAME
ADR
B7
B6
B5
B4
B3
B2
FEC SETUP
97
DIS SR
ENCL
KO
DIS
DS
DIS
RS
DIS
VIT
EN
PRS
B7:
B1
Def
hex
B0
DS LK[1:0]
R/W
03
When MANUAL MOCLK (register 96 bit 7) is Low then:
DIS SR
High = Disable use of Symbol Rate for MOCLK generation.
Low = Use Symbol Rate for MOCLK generation.
When MANUAL MOCLK (register 96 bit 7) is High then:
DIS SR
High = Use external MICLK (pin 14) signal for MOCLK.
Low = Manually set MOCLK period from MOCLK RATIO (reg. 33).
B6:
ENCLKO
High = Enable clock out for test purposes.
B5:
DIS DS
High = Disable de-scrambler.
B4:
DIS RS
High = Disable Reed Solomon decoder.
B3:
DIS VIT
High = Disable Viterbi (Viterbi by pass mode)
B2:
EN PRS
High = Enable programmed synchronisation byte in register 98.
B1-0:DS LK[1:0] + 2 =Number of bytes for de-scrambler to lose lock. The default register value of 3 is
equivalent to 5 bad sync words.
7.2 Forward Error Correction Read Registers
7.2.1 FEC Interrupt. Register 3 (R)
NAME
ADR
FEC INT
03
B7
B6
B5
B3
FEC INT[7:0] Interrupt FEC
B7:
High = DiSEqC™
B6:
High = Byte Align lock lost
B5:
High = Byte Align lockimportant indicator.
B4:
High = Viterbi lock lost
B3:
High = Viterbi lock
48
B4
B2
B1
Def
hex
B0
R
00
Forward Error Correction
B2:
High = Viterbi BER monitor period reached
B1:
High = De-scrambler lock lost
B0:
High = De-scrambler lock
MT312
Reading an Interrupt register resets that register.
7.2.2 FEC Status. Register 6 (R)
NAME
ADR
FEC STATUS
06
B7
B6
B5
B4
B3
B2
B1
FEC STATUS[7:0]
B7:
Reserved
B6-4:
Viterbi coding rate
B6-4
Code rate indication
0
1/2
1
2/3
2
3/4
3
5/6
4
6/7
5
7/8
Def
hex
B0
R
00
Table 3 - Viterbi code rate indication
B3:
High = De-scrambler lock
B2:
High = Byte Align lock
B1:
High = Viterbi lock
B0:
Reserved
7.2.3 Measured Signal to Noise Ratio. Registers 9 - 10 (R)
NAME
ADR
B7
M SN R H
09
Reserved
M SNR L
10
B15:
B6
B5
B4
B3
B2
B1
M SNR[14:8] Measured SNR (high byte)
M SNR[7:0] Measured SNR (low byte)
Def
hex
B0
R
00
R
00
Reserved
49
MT312
Forward Error Correction
M SNR[14:0]: These two registers provide a indication of the signal to noise ratio of the channel being received
by the MT312. It should not be taken as the absolute value of the SNR.
13312 - M SNR[14:0]
Eb/N0 = ~ -------------------------------------------------------- dB.
683
The equation given only holds for Es/No values in the range 3 to 15 dB, i.e. Eb/No values in the range 0 to 12
dB.
7.2.4 Viterbi Error Count at Viterbi Input. Registers 11 - 13 (R)
B7
B6
B5
B4
B3
B2
B1
Def
hex
NAME
ADR
B0
VIT ERRCNT H
11
VIT ERRCNT[23:16] - Viterbi error count (high byte)
R
00
VIT ERRCNT M
12
VIT ERRCNT[15:8] - Viterbi error count (middle byte)
R
00
VIT ERRCNT L
13
VIT ERRCNT[7:0] - Viterbi error count (low byte)
R
00
This is effectively the QPSK Bit Error Rate.
VIT ERRCNT[23:0]: This is the count of bits corrected by the Viterbi decoder. This value is updated when the
Viterbi error timer (VIT_ERRPER) expires (indicated by B2 in register FEC_INT) and is NOT reset by reading.
VIT_ERRCNT[23:0]
QPSK BER = ------------------------------------------------------------VIT_ERRPER[23:0] * 4
7.2.5 Reed Solomon Bit Errors Corrected. Registers 14 - 16 (R)
B7
B6
B5
B4
B3
B2
B1
Def
hex
NAME
ADR
B0
RS BERCNT H
14
RS BERCNT[23:16] - Reed Solomon bit errors corrected
(high byte)
R
00
RS BERCNT M
15
RS BERCNT[15:8] - Reed Solomon bit errors corrected
(middle byte)
R
00
RS BERCNT L
16
RS BERCNT[7:0] - Reed Solomon bit errors corrected (low byte)
R
00
This is effectively the Viterbi Bit Error Rate.
RS BERCNT[23:0]: These three registers provide a measurement of the number of bit errors corrected by the
Reed Solomon decoder. Reading the high byte stops the count incrementing. Reading the low byte resets all
three bytes and restarts the count incrementing again.
RS_BERCNT[23:0]
Viterbi BER = --------------------------------------------------dt * Rs * 2 * CR
Where: dt = delta time between two readings in sec (recommend 20s for 20 - 30 MBaud signals)
Rs = Symbol rate in Baud
CR = Viterbi code rate
In denominator: the factor 2 is for QPSK, change it to 1 for BPSK
e.g.
for Rs = 27.5Mbaud, CR = 3/4 and dt = 20 sec
RS_BERCNT[23:0] * 4
Viterbi BER = -----------------------------------------------------------20 * 27.5E6 * 2 * 3
50
Forward Error Correction
MT312
RS_BERCNT[23:0]
Viterbi BER = --------------------------------------------------8.25E8
7.2.6 Reed Solomon Uncorrected block Errors. Registers 17 - 18 (R)
B7
B6
B5
B4
B3
B2
B1
Def
hex
NAME
ADR
B0
RS UBC H
17
RS UBC[15:8] - Reed Solomon uncorrected block errors
(high byte)
R
00
RS UBC L
18
RS UBC[7:0] - Reed Solomon uncorrected block errors (low byte)
R
00
RS UBC[15:0]: These two registers provide a measurement of the Reed Solomon uncorrected block errors.
Reading the high byte resets the byte and stops the count incrementing. Reading the low byte resets the byte
and restarts the count incrementing again.
RS_UBC[15:0] *Blk_size
Block Error Rate = ----------------------------------------------------------------dt *Rs *CR
Where: dt = delta time between two readings in sec
Rs = Symbol rate in Baud
CR = Viterbi code rate
Blk size = 1632 bits for DVB and 1096 bits for DSS
In denominator: the factor 2 is for QPSK, change it to 1 for BPSK
51
MT312
Automatic Gain Control
8 Automatic Gain Control
8.1 Automatic Gain Control Read/Write Registers
8.1.1 AGC Control. Register 39 (R/W)
NAME
ADR
B7
B6
AGC CTRL
39
Reserved
Reserved
B5
B4
B3
AGC SD[1:0]
B2
B1
AGC BW[2:0]
B7:
Reserved.
Must be set low.
B6:
Reserved.
Must be set low.
B5-4:
AGC SD[1:0]
Sigma Delta clock decimation ratio related to system clock.
AGC SD[1:0]
Decimation
00
2
01
4
10
8
11
16
Def
hex
B0
AGC
SL
R/W
26
Table 4 - Sigma Delta clock decimation ratio programming
AGC control output is a pulse density modulated output created by a sigma-delta modulator. To reduce power
consumption this is not clocked at the full system clock rate. The frequency at which this is clocked is the
system clock divided by the decimation factor in Table 6.
B3-1:
AGC BW[2:0]
Front End AGC bandwidth (retain default value of 3).
B0:
AGC SL Analogue AGC slope
High = positive slope i.e. RF gain proportional to AGC voltage.
Low = negative slope i.e. RF gain inversely proportional to AGC voltage (default).
8.1.2 AGC REF Reference Value. Register 41 (R/W)
NAME
ADR
AGC REF
41
AGC REF[7:0]
B7
B6
B5
B4
B3
B2
AGC REF[7:0] AGC reference level
B1
Def
hex
B0
R/W
67
Front End AGC reference value.
The AGC loop control in MT312 is designed to bring the mean square value of the I signal (or the Q signal) at
the ADC output (prior to any digital filtering) to the value set by the AGC REF register.
52
Automatic Gain Control
MT312
8.2 Automatic Gain Control Read Registers
8.2.1 Measured Signal Level at MT312 Input. Register 19 (R)
NAME
ADR
SIG LEVEL
19
B7-0:
SIG LEVEL[11:4]:
B7
B6
B5
B4
B3
B2
B1
Def
hex
B0
SIG LEVEL[11:4] - Signal level at MT312 input
R
00
This register provides a measurement of the MT312 input signal level. It
contains the 8 MSBs. The remaining 4 LSBs are contained in SIG LEV L
register 107 together with the front end AGC lock status flag. In almost all
conditions, it should only be necessary to read the high byte to determine the
incoming signal level. If further accuracy is required, then the remaining bits of
the lower byte should be read and the 12 bits combined into one number.
When AGC is controlling the signal level, there is a direct relationship between SIG LEVEL and AGC REF:
SIG LEVEL * 8 = AGC REF
NOTE: the signal level is measured at the output of the ADC before any digital filtering takes place. Hence the
reading includes all noise and other signal channels passed by the SAW or baseband filter.
8.2.2 Measured AGC Feed Back Value. Registers 108 - 110 (R)
NAME
ADR
AGC H
108
AGC M
109
AGC L
110
AGC[13:0]:
B7
B6
B5
B4
B3
B2
B1
AGC[13:6] - Front end AGC (high byte)
AGC[5:0] - Front end AGC (low byte)
Def
hex
B0
ERR DB[9:8]
ERR DB[7:0] - Error difference (low byte)
R
00
R
00
R
00
These two registers provide a measurement of the AGC error feed back value by the MT312 to
the front end. Reading the bytes does NOT reset the value.This measurement can be used to
provide an indication of the signal level at the input to the tuner.
To avoid having too large a number, the following formula extracts a number less than 10000:
Tuner input signal level = AGC[13-6] * 4 + AGC[5-4] / 64.
ERR DB[9:0]: The ERR DB is the difference between the expected signal level defined by AGC REF and
received signal level. This is in a non-linear logarithmic scale (hence the notation DB).
The way H/M/L registers work within the QPSK block is as follows. When you read the H register the 24-bit
value is dumped into a shadow register. You don't have to read M and L after this. However, what you must
NOT do is to read M and L (or just L of a 24 or 16-bit register) without reading H. The safest solution is to read
H/M/L in that order.
53
MT312
MPEG Packet Data Output
9 MPEG Packet Data Ouput
9.1 MPEG Clock Modes
There are four MOCLK modes of operation, controlled by register bits.
MANUAL MOCLK
register 96 bit 7
DIS SR
register 97 bit 7
MOCLK generation mode
0
0
Use Symbol Rate for MOCLK generation.
0
1
Disable use of Symbol Rate for MOCLK generation.
1
0
Manually set MOCLK period from MOCLK RATIO
(reg. 33).
1
1
Use external MICLK (pin 14) signal for MOCLK.
Table 5 - MPEG clock modes
9.1.1 MANUAL MOCLK = 0 and DIS SR = 0.
In this mode MOCLK is generated from the symbol clock . MOCLK will be a continuously running clock once
symbol lock has been achieved in the QPSK block.
9.1.2 MANUAL MOCLK = 0 and DIS SR = 1.
In this mode MOCLK is not generated from the symbol clock but instead uses the data in the QPSK decimation
ratio. This mode is not normally used but is available for engineering test purposes.
9.1.3 MANUAL MOCLK = 1 and DIS SR = 0.
This is the Programmable Clock Division Ratio mode of operation. MOCLK is generated by dividing the PLL
clock frequency by the MOCLK RATIO + 6 see register 33 on 47.
PLLfrequency
MOCLK frequency = ---------------------------------------------------(MCLK_RATIO + 6)
PLL frequency
MOCLK RATIO + 6
MOCLK frequency
comment
60MHz
6
10.0MHz
maximum
60MHz
9
6.667 MHz
minimum
90MHz
6
15MHz
maximum
90MHz
9
10.0MHz
minimum
Table 6 - MOCLK input minimum and maximum frequencies
The range of values of 6 to 9 for (MOCLK RATIO + 6) will guarantee operation for 2 - 45 MSym/s. However, for
a restricted range of symbol rates, higher (MOCLK RATIO + 6) values may be used with a lower MOCLK
frequency. The equation in section 9.4 on 58 must be evaluated to ensure successful operation and avoid
buffer overflow in the MT312.
54
MPEG Packet Data Output
MT312
9.1.4 MANUAL MOCLK = 1 and DIS SR = 1.
This is the External MPEG Clock mode of operation. The external MOCLK is input on the MICLK pin 14. The
clock supplied must be a continuous clock, otherwise the data buffers in the MT312 would overflow and data
would be lost. The maximum permitted MICLK frequency is:
PLLfrequency
MICLK frequency maximum = ------------------------------------6.3
Where PLL frequency is 60MHz the MICLK frequency maximum = 9.524MHz.
Where PLL frequency is 90MHz the MICLK frequency maximum = 14.286MHz.
As in the Programmable Clock Division Ratio mode, the minimum MICLK frequency must be high enough to
clock the complete MPEG packet out before the next one arrives. For this reason, the minimum MICLK
frequency recommended is 6.7MHz at 60MHz and 10MHz at 90MHz.
The MCLKINV control bit in the Output Data Control register (96) will change the phase of the MICLK used to
clock the data out. With MCLKINV = 0, data is clocked out on the positive edge of MICLK. If MCLKINV = 1, data
is clocked out on the negative edge of MICLK.
9.2 Data Output Header Format - DVB only
188 byte packet output
184 Transport packet bytes
Transport
Packet
Header
4 bytes
0
1
0
0
0
1
1
1
TEI
MDO[7]
1st byte
2nd byte
MDO[0]
Figure 22 - DVB Transport Packet Header bytes
After decoding the 188 byte MPEG packet, it is output on the MDO pins in 188 consecutive clock cycles.
Additionally, in DVB mode, when the EN TEI bit in the OP CTRL register (96) is set high (default), the TEI bit of
any uncorrectable packet will automatically be set to 1, see 52. If EN TEI bit is low then TEI bit will not be
changed (but note that if this bit is already 1, for example, due to a channel error which has not been corrected,
it will remain high at output).
55
MT312
MPEG Packet Data Output
9.3 MPEG/DSS Data Output Signals
1st byte packet n
188 (DVB) or 130 (DSS) byte packet n
1st byte packet n+1
MCLKIV=1
MOCLK
MDO7:0
MOSTRT
MOVAL
ERR_IND = 0
BKERR
ERR_IND = 1
BKERR
Tp
Ti
Figure 23 - MT312 output data wave form diagram
Figure 22 illustrates the case when ERR IND is set
high and the De-scrambler lock remains high. If the
first packet shown is good, BKERR would remain
high at the first MOSTRT shown, going low at the
second MOSTRT shown when that packet has
uncorrected block errors. If the first packet shown is
bad, BKERR will go low at the first MOSTRT shown
and continue low until a good packed is received.
MOCLK will be a continuously running clock once
symbol lock has been achieved in the QPSK block
and is derived from either the system clock or MICLK
if external clock is selected. MOCLK shown in Figure
24, Figure 25 and Figure 26 with MCLKINV = 1, the
default state, see register 96 in 7.1.3 FEC Set Up.
Register 97 (R/W) on page 51.
MOCLK is the MPEG data byte rate clock, the
internal rate is calculated from the formulae in
section 9.4. The maximum movement in the packet
synchronisation byte position is limited to ± one
output clock period.
56
All output data and signals (MDO[7:0], MOSTRT,
MOVAL, BKERR) change on the negative edge of
MOCLK (MCLKINV = 1) to present stable data and
signals on the positive edge of the clock.
A complete packet of data is output on MDO[7:0] on
188 (DVB) or 130 (DSS) consecutive clocks and the
MDO[7:0] pins will remain low during the inter packet
gaps.
MOSTRT goes high for the first byte clock of a
packet.
MOVAL goes high on the first byte of a packet and
remains high until the 188th byte (DVB) or 130th byte
(DSS) has been clocked out.
BKERR has two modes of operation, selected by
ERR IND bit 7 of MON CTRL register 103, see 59.
MPEG Packet Data Output
MT312
When ERR IND is High: BKERR remains high when error free MPEG packets are being output on the
MDO[7:0] bus. BKERR goes low when there is no De-scrambler lock OR on the first
byte of a packet where uncorrectable bytes are detected. BKERR remains low until
error free MPEG packets are being output on the MDO[7:0] bus.
When ERR IND is Low:
BKERR remains high when error free MPEG packets are being output on the
MDO[7:0] bus. BKERR goes low on the first byte of a packet where uncorrectable
bytes are detected and will remain low until the 188th byte (DVB) or 130th byte
(DSS) has been clocked out.
Note: the signal on pin 75 can be inverted by setting the BKERIV bit 6 of OP CTRL register 96, see 48.
1st byte packet n
188 (DVB) or 130 (DSS) byte packet n
1st byte packet n+1
MCLKIV=1
MOCLK
MDO7:0
MOSTRT
MOVAL
DS lock
ERR_IND = 0
BKERR
ERR_IND = 1
BKERR
Tp
Ti
Figure 24 - MT312 output data wave form diagram 2
Figure 23 illustrates the case when ERR IND is set high and the De-scrambler lock is lost during output of the
first packet. The first packet shown is good, in which case BKERR would remain high at the first MOSTRT
shown, going low when De-scrambler lock goes low. Will go high at the next MOSTRT for a good packet.
57
MT312
MPEG Packet Data Output
9.4 Data output timing
Q*R*P PLL
The number of PLL clocks per Byte clock is: N = ----------------- * ---------2*V
RS
truncated to an integer
Where: Q = 1 for QPSK, 2 for BPSK
R = 204/193 for DVB, 147/135 for DSS
P = 8 for parallel byte output, 1 for serial byte output
V = Viterbi code rate, i.e. 3/4 for ASTRA
PLL = Sampling frequency MHz
RS = Symbol rate in MBaud, i.e. 27.5MBaud for ASTRA
e.g. For DVB ASTRA
N
N
= 1 * 204/193 * 8/2 * 4/3 *90E6/27.5E6
= 18
The transport Stream clock rate
= PLL / N
= 90E6 / 18
= 5E6Hz
The time to transmit a packet
= 204 * 8/2 * 4/3 *1/RS
= 1088 / RS
= 3.9564E-5 sec
Time to output 188 bytes
= 188/5E6
= 3.76E-5 sec
The gap between packets
= 3.9564E-5 - 3.76E-5
= 1.936E-6 sec
The gap as number of byte clocks = 1.936E-6 * 5E6
= 9.82
tCLKP
MCLKIV=1
MOCLK
tCLKL
tOD
MOSTRT
MOVAL
MDO7:0
BKERR
Figure 25 - MT312 output data wave form diagram 2
Parameter
Data output delay (when MCLKINV = 1)
58
Symbol
tOD
Min
Typ
Max
Units
±2
±4
ns
MPEG Packet Data Output
MT312
9.5 MPEG Packet Data Output Read/Write Registers
9.5.1 Output Data Control. Register 96 (R/W)
NAME
ADR
B7
B6
B5
B4
B3
OP CTRL
96
MANUAL
MOCLK
BKE
RIV
MCL
KINV
EN
TEI
BSO
B2
B1
BA LK[2:0]
B7:
MANUAL
MOCLK
Manual MOCLK mode selection, see register 97
B6:
BKERIV
High = Inverted signal on BKERR output pin.
Low = Normal signal on BKERR output pin.
B5:
MCLKINV
High = Normal signal on MOCLK output pin.
Low = Inverted signal on MOCLK output pin.
Def
hex
B0
R/W
33
For a description of how to use these features, see section 9.1 MPEG Clock Modes on 55.
With MCLKINV = 0, data is clocked out on the positive edge of MOCLK. If MCLKINV = 1, data is clocked out on
the negative edge of MOCLK.
B4:
EN TEI
High = Enable automatic setting of transport error indicator (TEI) bit in MPEG packet
header byte 2 when the block is flagged as uncorrectable by the Reed-Solomon
decoder. See section 8.2 Data output header format - DVB only. (Not used in DSS).
B3:
BSO
High = Bit serial output of the MPEG data on MDO0 pin.
Low = Parallel output of the MPEG data on MDO[7:0] pins.
B2 -0:
BA LK[2:0] + 2 = Number of bytes for byte aligner to lock.
The default register value of 3 is equivalent to 5 good sync words.
9.5.2 Monitor Control. Register 103 (R/W)
NAME
ADR
B7
MON CTRL
103
ERR
IND
B6
B5
Reserved
B4
B3
B2
B1
MON CTRL[3:0]
Monitor control
Def
hex
B0
R/W
00
B7:
ERR IND
Error Indicator.
High
BKERR remains high when error free MPEG packets are being output on the MDO[7:0] bus. BKERR
goes low when there is no De-scrambler lock OR on the first byte of a packet where uncorrectable
bytes are detected. BKERR will remain low until error free MPEG packets are being output on the
MDO[7:0] bus.
Low
BKERR remains high when error free MPEG packets are being output on the MDO[7:0] bus.
BKERR goes low on the first byte of a packet where uncorrectable bytes are detected and will remain
low until the 188th byte (DVB) or 130th byte (DSS) has been clocked out.
59
MT312
MPEG Packet Data Output
Note:
the BKERR signal on pin 75 can be inverted by setting the BKERIV bit 6 of OP CTRL register 96, see
page 37.
B6-4:
Reserved, not used.
B3-0:
MON CTRL[3:0] selects which pair of registers will be read from MONITOR H & L registers 123 and
124, (see section 6.10 on page 48).
MON CTRL[3:0]
MONITOR H (123)
MONITOR L (124)
0
CS SYM I
CS SYM Q
1
DC OFFSET I
DC OFFSET Q
2
Reserved
Reserved
3
MBAUD OP H
MBAUD OP L
4
Reserved
Reserved
5
DEC RATIO[15:13]
and the rest reserved
Reserved
6
M FLD[7:0]
M FLD7:0]
7
M TLD H
M TLD L
8
M PLD H
M PLD L
15 - 9
Not used
Not used
I and Q input samples when MON CTRL[3:0] = 0.
DC offset in the I and Q inputs when MON CTRL[3:0] = 1.
Symbol Rate when MON CTRL[3:0] = 3, (see section 6.2.4 Monitor Registers. Registers 123 - 124 (R)).
Decimation ratio when MON CTRL[3:0] = 5, (see 6.2.4 Monitor Registers. Registers 123 - 124 (R)).
Timing synchroniser frequency lock detector value when MON CTRL[3:0] = 6, (see section 6.2.4 Monitor
Registers. Registers 123 - 124 (R)).
Timing lock detector value when MON CTRL[3:0] = 7, (see section 6.2.4 Monitor Registers. Registers 123 - 124
(R)).
Phase lock detector value when MON CTRL[3:0] = 8, (see section 6.2.4 Monitor Registers. Registers 123 - 124
(R)).
The remaining settings of MON CTRL[3:0] are either reserved for diagnostic purposes or not used.
60
Secondary Registers for Test and De-Bugging
MT312
10 Secondary Registers for Test and De-Bugging
10.1 Read / Write Secondary Register Map
Def
hex
Page
R/W
3B
63
AGC MAX[7:0] Front end AGC maximum value
R/W
FF
63
43
AGC MIN[7:0] Front end AGC minimum value
R/W
00
63
AGC LK TH
44
AGC LK TH[7:0] Front end AGC lock threshold value
R/W
0A
63
TS AGC LK TH
45
TS AGC LK TH[7:0] Fine AGC lock threshold value
R/W
1E
63
AGC PWR SET
46
AGC PWR SET[7:0] AGC power initial value
R/W
14
63
QPSK MISC
47
R/W
00
63
SNR THS LOW
48
SNR THS LOW[7:0] SNR estimator low threshold
R/W
5A
63
SNR THS HIGH
49
SNR THS HIGH[7:0] SNR estimator high threshold
R/W
46
64
TS SW RATE
50
TS SW RATE[7:0] TS sweep rate
R/W
1E
64
TS SW LIM L
51
TS SW LIM L[7:0] TS sweep limit low
R/W
40
64
TS SW LIM H
52
TS SW LIM H[7:0] TS sweep limit high
R/W
84
64
CS SW RATE 1
53
CS SW RATE 1[7:0] CS sweep rate
R/W
20
64
CS SW RATE 2
54
CS-SW RATE 2[7:0] CS sweep rate
R/W
48
64
CS SW RATE 3
55
CS SW RATE 3[7:0] CS sweep rate
R/W
70
64
CS SW RATE 4
56
CS SW RATE 4[7:0] CS sweep rate
R/W
90
65
CS SW LIM
57
CS SW LIM[7:0] CS sweep limit
R/W
7C
65
TS LPK
58
TS KPROPE[11:4]
R/W
57
65
TS LPK M
59
R/W
85
65
TS LPK L
60
R/W
9B
65
CS KPROP H
61
R/W
12
65
CS KPROP L
62
R/W
96
65
CS KINT H
63
R/W
51
66
CS KINT L
64
R/W
3B
66
QPSK SCALE
65
QPSK SCALE[7:0] QPSK output scale factor for IOUT and QOUT
outputs
R/W
27
66
TLD OUTLK TH
66
TLD OUTLK TH[7:0] TLD threshold when not in lock
R/W
82
66
TLD INLK TH
67
TLD INLK TH[7:0] TLD threshold when in lock
R/W
0A
66
FLD TH
68
FLD TH[7:0] Frequency lock threshold
R/W
20
66
PLD OUTLK3
69
R/W
AE
66
PLD OUTLK2
70
R/W
E6
66
PLD OUTLK1
71
R/W
40
66
NAME
ADR
B7
B6
AGC INIT
40
AGC INIT[7:0] Front end AGC initial value
AGC MAX
42
AGC MIN
DAGC D
B5
B4
B3
A
MIX D CACC
OPEN
D
B2
FOC
D
TS KPROPE[3:0]
TSLP
D
B1
CSLP
D
B0
ADC
FM
TS KINTE[11:8]
TS KINTE[7:0]
NONSNR
CS KP2[4:0]
CS KP1[2:0]
Reserved
CS KP1[4:3]
CS KP0[4:0]
CS KI2[4:0]
CS KI1[2:0]
SW R N MX[1:0]
PLD OUTLK3[3:0]
CS KI1[4:3]
CS KI0[4:0]
PLD OUTLK3[9:4]
PLD OUTLK2[9:6]
PLD OUTLK2[5:0]
PLD O LK1
[9:8]
Read/Write Secondary register map
61
MT312
Secondary Registers for Test and De-Bugging
Def
hex
Page
R/W
7E
66
R/W
01
67
R/W
A0
67
R/W
68
67
R/W
1A
67
R/W
48
67
R/W
49
68
R/W
30
68
R/W
21
68
FEC LOCK TIME[7:0]
R/W
20
68
82
LOSSLOCK TIME[7:0]
R/W
10
69
VIT ERRPER H
83
VIT ERRPER[23:16] Viterbi error period (high byte)
R/W
FF
69
VIT ERRPER M
84
VIT ERRPER[15:8] Viterbi error period (middle byte)
R/W
FF
69
VIT ERRPER L
85
VIT ERRPER[7:0] Viterbi error period (low byte)
R/W
FF
69
VIT SETUP
86
R/W
34
69
VIT REF0
87
VIT REF0[7:0] Viterbi reference byte 0
R/W
80
69
VIT REF1
88
VIT REF1[7:0] Viterbi reference byte 1
R/W
14
70
VIT REF2
89
VIT REF2[7:0] Viterbi reference byte 2
R/W
0A
70
VIT REF3
90
VIT REF3[7:0] Viterbi reference byte 3
R/W
06
70
VIT REF4
91
VIT REF4[7:0] Viterbi reference byte 4
R/W
04
70
VIT REF5
92
VIT REF5[7:0] Viterbi reference byte 5
R/W
02
70
VIT REF6
93
VIT REF6[7:0] Viterbi reference byte 6
R/W
01
70
VIT MAXERR
94
VIT MAXERR [7:0] Viterbi max. error bit count
R/W
FF
70
BA SETUPT
95
BA UNLK[3:0]
R/W
D4
71
PROG SYNC
98
PROG SYNC BYTE[7:0] Enabled by FEC SETUP [2]
R/W
47
71
AFC SEAR TH
99
AFC SEAR TH[7:0]
R/W
23
71
CSACC DIF TH
100
ACC DIF TH[7:0]
R/W
20
71
QPSK LK CT
101
CS L LK
TS L
LK
ACC
CK
R/W
04
71
QPSK ST CT
102
HLD ST
AFC
RS
MS
RS
R/W
00
72
QPSK RESET
104
R/W
00
72
QPSK TST CT
105
QPSK TEST CTRL[7:0]
R/W
00
72
QPSK TST ST
106
QPSK TEST TS[7:0]
R/W
00
73
TEST MODE
125
Test mode
R/W
00
73
NAME
ADR
PLD OUTLK0
72
PLD INLK3
73
PLD INLK2
74
PLD INLK1
75
PLD INLK0
76
PLD ACC TIME
77
SWEEP PAR
78
STARTUP TIME
79
LOSSLOCK TH
80
FEC LOCK TM
81
LOSSLOCK TM
B7
B6
B5
B4
B3
B2
B1
PLD OUTLK1[7:0]
Reserved
PLD INLK3[9:4]
PLD INLK3[3:0]
PLD INLK2[9:6]
PLD INLK2[5:0]
PLD INLK1
[9:8]
PLD INLK1[7:0]
CS PLD MPLEN[3:0]
SW LIM SC[1:0]
LOSSLOCK INT SW[3:0]
TS NR SWEEP[2:0]
CS NR SWEEP[2:0]
STARTUP INTERVAL[7:0]
LOSSLOCK TH SPUR[3:0]
FR AL TM O[1:0]
BA FSM[1:0]
Reserved
LOSSLOCK TH SW[3:0]
SRCH CYC
[1:0]
SEARCH START
[2:0]
BA MV
[1:0]
REL
QP
EX F
LK
NUM PLD INT[4:0]
NXT
FR
FCE
ST
FORCED ST[2:0]
PR QP PR CS PR TS PR FE
Read/Write Secondary register map (continued)
62
B0
PR
AGC
Secondary Registers for Test and De-Bugging
MT312
10.2 Secondary Registers for Test and De-Bugging Read/Write Registers
10.2.1 AGC Initial Value. Register 40 (R/W)
AGC INIT (40)
AGC INIT[7:0]
Default value
59 dec.
3B hex.
255 dec.
FF hex.
0 dec.
00 hex.
10 dec.
0A hex.
30 dec.
1E hex.
Front End AGC initial value.
10.2.2 AGC Maximum Value. Register 42 (R/W)
AGC MAX (42)
AGC MAX[7:0]
Default value
Front End AGC maximum value.
10.2.3 AGC Minimum Value. Register 43 (R/W)
AGC MIN (43)
AGC MIN[7:0]
Default value
Front End AGC minimum value.
10.2.4 AGC Lock Threshold Value. Register 44 (R/W)
AGC LK TH (44)
AGC LK TH[7:0]
Default value
Front End AGC lock threshold value.
10.2.5 AGC Lock Threshold Value. Register 45 (R/W)
TS AGC LK TH (45)
TS AGC LK
TH[7:0]
Default value
Timing synchroniser fine AGC lock threshold value.
10.2.6 AGC Power Setting Initial Value. Register 46 (R/W)
AGC PWR SET (46)
AGC PWR
SET[7:0]
Default value
20 dec.
14 hex.
0 dec.
00 hex.
AGC power setting initial value.
10.2.7 QPSK Miscellaneous. Register 47 (R/W)
QPSK MISC (47)
QPSK
MISC[B7-0]
Default value
Reserved, must be set low,
63
MT312
Secondary Registers for Test and De-Bugging
10.2.8 SNR Low Threshold Value. Register 48 (R/W)
SNR THS LOW (48)
SNR THS
LOW[7:0]
Default value
90 dec.
5A hex.
70 dec.
46 hex.
SNR low threshold value.
10.2.9 SNR HIGH Threshold Value. Register 49 (R/W)
SNR THS HIGH (49)
Default value
SNR THS
HIGH[7:0]
Change to 50 dec. 32 hex. after a full reset.
SNR high threshold
value.
10.2.10 Timing Synchronisation Sweep Rate. Register 50 (R/W)
TS SW RATE (50)
TS SW
RATE[7:0]
Default value
30 dec.
1E hex.
Timing Synchronisation sweep rate.
For DSS set the value to 20 dec. 14 hex. after a full reset.
10.2.11 Timing Synchronisation Sweep Limit Low. Register 51 (R/W)
TS SW LIM
L (51)
Default value
64 dec.
40 hex.
TS SW LIM L[7:0]
Timing Synchronisation sweep limit low.
10.2.12 Timing Synchronisation Sweep Limit High. Register 52 (R/W)
TS SW LIM H (52)
TS SW LIM
H[7:0]
Default value
132 dec.
84 hex.
Timing Synchronisation sweep limit high.
10.2.13 Carrier Synchronisation Sweep Rate 1. Register 53 (R/W)
CS SW RATE 1 (53)
CS SW
RATE 1[7:0]
Default value
32 dec.
20 hex.
Carrier Synchronisation sweep rate 1.
10.2.14 Carrier Synchronisation Sweep Rate 2. Register 54 (R/W)
CS SW
RATE 2 (54)
CS SW
RATE 2[7:0]
64
Default value
Carrier Synchronisation sweep rate 2.
72 dec.
48 hex.
MT312
Secondary Registers for Test and De-Bugging
10.2.15 Carrier Synchronisation Sweep Rate 3. Register 55 (R/W)
CS SW
RATE 3 (55)
Default value
CS SW
RATE 3[7:0]
112 dec.
70 hex.
Carrier Synchronisation sweep rate 3.
10.2.16 Carrier Synchronisation Sweep Rate 4. Register 56 (R/W)
CS SW
RATE 4 (56)
Default value
CS SW
RATE 4[7:0]
144 dec.
90 hex.
Carrier Synchronisation sweep rate 4.
10.2.17 Carrier Synchronisation Sweep Limit. Register 57 (R/W)
CS SW
LIM (57)
Default value
CS SW
LIM[7:0]
124 dec.
7C hex.
Carrier Synchronisation sweep limit.
10.2.18 Timing Synchronisation Coefficients. Registers 58 - 60 (R/W)
NAME
ADR
TS LPK H
58
TS LPK M
59
TS LPK L
60
B7
B6
B5
B4
B3
B2
B1
TS KPROPE[11:4]
TS KPROPE93:0]
Def
hex
B0
TS KINTE[11:8]
TS KINTE[7:0]
R/W
57
R/W
85
R/W
9B
B23-12:
TS KPROPE[11:0]
Timing Synchronisation Proportional path coefficients.
B11-0:
TS KINTE [11:0]
Timing Synchronisation Integration path coefficients.
10.2.19 Carrier Synchronisation Proportional Part Coefficients. Registers 61 - 62 (R/W)
NAME
ADR
B7
B6
CS KPROP H
61
NON
SNR
CS KROP L
62
B5
B4
B3
B2
CS KP2[4:0]
CS KP1 [2:-0]
B1
CS KP1[4:3]
CS KP0[p4:0]
B15:
NONSNR
High = Non SNR sweep.
B14-10:
CS KP2[4:0]
Carrier proportional tracking coefficients.
B9-5:
CS KP14:0]
Carrier proportional transition coefficients.
B4-0:
CS KP04:0]
Carrier proportional acquire coefficients.
Def
hex
B0
R/W
12
R/W
3B
65
MT312
Secondary Registers for Test and De-Bugging
10.2.20 Carrier Synchronisation Integral Coefficients. Registers 63 - 64 (R/W)
NAME
ADR
B7
B6
CS KINT H
63
Reserved
CS KINT L
64
B5
B4
B3
B2
CS KI2[4:0]
B1
CS KI1[4:3]
CS KI1[2:0]
CS KI0[4:0]
B15:
Reserved
B14-10:
CS KI2 [4:0]
Carrier integer tracking coefficients.
B9-5:
CS KI1 [4:0]
Carrier integer transition coefficients.
B4-0:
CS KI0[4:0]
Carrier integer acquire coefficients.
Def
hex
B0
R/W
51
R/W
3B
10.2.21 QPSK Output Scale Factor. Register 65 (R/W)
QPSK SCALE (65)
Default value
39 dec.
27 hex.
QPSK SCALE [7:0]
QPSK output scale factor for IOUT and QOUT outputs.
10.2.22 Timing Lock Detect Threshold out of lock. Register 66 (R/W)
TLD OUTLK TH (66)
Default value
130 dec.
82 hex.
TLD OUTLK TH [7:0] Timing Lock Detect threshold when not in lock.
10.2.23 Timing Lock Detect Threshold in lock. Register 67 (R/W)
TLD INLK TH (67)
Default value
10 dec.
0A hex.
32 dec.
20 hex.
TLD INLK TH[7:0] Timing Lock Detect threshold when in lock.
10.2.24 Frequency Lock Detect Threshold. Register 68
FLD TH (68)
Default value
FLD TH[7:0] Frequency lock detect threshold.
66
Secondary Registers for Test and De-Bugging
MT312
10.2.25 Phase Lock Detect Threshold out of lock. Registers 69 - 72 (R/W)
B7
B6
B5
B4
B3
B2
ADR
PLD OUTLK3
69
SW R N MX[1:0]
PLD OUTLK3[9:4]
R/W
AE
PLD OUTLK2
70
PLD OUTLK3[3:0]
PLD OUTLK2[9:6]
R/W
E6
PLD OUTLK1
71
R/W
40
PLD OUTLK0
72
R/W
7E
PLD OUTLK2[5:0]
B1
Def
hex
NAME
B0
PLD O
LK1[9:8]
PLD OUTLK1[7:0]
B31-30:
SW R N MX[1:0]
CS Sweep rate number max.
B29-20:
PLD OUTLK TH3[9:0]
B19-10:
PLD OUTLK TH2[9:0]
B9-0:
PLD OUTLK TH1[9:0]
10.2.26 Phase Lock Detect Threshold in lock. Registers 73 - 76 (R/W)
NAME
ADR
PLD INLK3
73
PLD INLK2
74
PLD INLK1
75
PLD INLK0
76
B7
B6
B5
B4
B3
B2
B1
Reserved
PLD INLK3[3:0]
PLD INLK2[9:6]
PLD INLK2[5:0]
Reserved
B29-20:
PLD INLK TH3[9:0]
B19-10:
PLD INLK TH2[9:0]
B9-0:
PLD INLK TH1[9:0]
R/W
01
R/W
A0
PLD INLK1
[9:8]
PLD INLK1[7:0]
B31-30:
Def
hex
B0
R/W
68
1A
10.2.27 Phase Lock Detect Accumulator Time. Register 77 (R/W)
NAME
PLD ACC
TIME
ADR
77
B7
B6
B5
CS PLD MPLEN[3:0]
B7-4:
CS PLDMPLEN[3:0]
B3-0:
LOSSLOCK INT SW[3:0]
B4
B3
B2
B1
Def
hex
B0
LOSSLOCK INT SW[3:0]
R/W
48
Maximum value allowed is 8.
67
MT312
Secondary Registers for Test and De-Bugging
10.2.28 Sweep PAR. Register 78 (R/W)
NAME
ADR
SWEEP PAR
78
B7
B6
B5
SW LIM
SC [1:0]
B7-6:
SW LIM SC[1:0]
B5-3:
TS NR SWEEP[2:0]
B2-0:
CS NR SWEEP[2:0]
B4
B3
B2
TS NR SWEEP[2:0]
B1
Def
hex
B0
CS NR SWEE{[2:0]
R/W
49
Frequency sweep limit scale.
10.2.29 Start up Time. Register 79 (R/W)
NAME
ADR
STARTUP TIME
79
B7
B6
B5
B4
B3
B2
B1
Def
hex
B0
STARTUP INTERVAL[7:0]
R/W
30
STARTUP INTERVAL[7:0]
10.2.30 Loss Lock Threshold. Register 80 (R/W)
NAME
ADR
LOSSLOCK TH
80
B7
B6
B5
B4
LOSSLOCK TH SPUR[3:0]
B7-4:
LOSSLOCK TH SPUR[3:0]
B3-0:
LOSSLOCK TH SW[3:0]
B3
B2
B1
Def
hex
B0
LOSSLOCK TH SW[3:0]
R/W
21
10.2.31 FEC Lock Time. Register 81 (R/W)
FEC LOCK TM (81).
Default value
32 dec.
20 hex.
FEC LOCK TM[7:0]
The number of symbol periods which the QPSK allows for the FEC to lock after achieving carrier and timing
synchronisation is given by :
FEC LOCK TM * Search factor * 65536
The parameter Search Factor is 1 if there is no code rate search and is 8 if there is a code rate search, i.e. the
QPSK allows more time for the FEC to lock in the presence of a code rate search.
If the FEC does not lock within the allotted number of symbol periods, then the QPSK resets the timing and
carrier loops and resumes the search for a QPSK signal.
68
Secondary Registers for Test and De-Bugging
MT312
10.2.32 Loss Lock Time. Register 82 (R/W)
LOSSLOCK TM (82)
Default value
16 dec.
10 hex.
LOSSLOCK TM[7:0]
After the FEC locks it can unlock due to a signal fade or a cycle slip. Then the QPSK allows the following
number of symbol periods for the FEC to regain lock :
LOSSLOCK TM * 262144
If the FEC does not regain lock during this number of symbol periods, then QPSK will re-acquire lock.
10.2.33 Viterbi Error Period. Registers 83 - 85 (R/W)
VIT ERRPER (83, 84 & 85)
VIT ERRPER
[23:0]
Default value
16,777,215 dec.FF FF FF hex.
Viterbi error period. This is the period over which the Viterbi error count is measured. See
registers 11, 12 & 13 on page 53.
10.2.34 Viterbi Set up. Register 86 (R/W)
NAME
ADR
VIT SETUP
86
B7
B6
B5
FR AL TM
O[1:0]
B4
SRCH CYC
[1:0]
B3
B2
B1
SEARCH START
[2:0]
Def
hex
B0
EX F
LK
R/W
B7-6:
FR AL TM O [1:0]
Frame (or byte) align time out.
B5-4:
SRCH CYC[2:0]
Viterbi BER based search cycles.
B3-1:
SEARCH START[2:0]
Code rate search start, only one code rate may be selected.
B6-4
Code rate search start
at:
0
1/2
1
2/3
2
3/4
3
5/6
4
6/7
5
7/8
34
Table 7 - Viterbi code rate search start
B0:
EX F LK
Exit false lock.
69
MT312
Secondary Registers for Test and De-Bugging
10.2.35 Viterbi Reference Byte 0. Register 87 (R/W)
VIT REF0 (87)
VIT REF0[7:0]
Default value
128 dec.
80 hex.
20 dec.
14 hex.
10 dec.
0A hex.
6 dec.
06 hex.
4 dec.
04 hex.
2 dec.
02 hex.
1 dec.
01 hex.
148 dec.
94 hex.
Viterbi reference byte 0.
10.2.36 Viterbi Reference Byte 1. Register 88 (R/W)
VIT REF1 (88)
VIT REF1[7:0]
Default value
Viterbi reference byte 1.
10.2.37 Viterbi Reference Byte 2. Register 89 (R/W)
VIT REF2 (89)
VIT REF2[7:0]
Default value
Viterbi reference byte 2.
10.2.38 Viterbi Reference Byte 3. Register 90 (R/W)
VIT REF3 (90)
Default value
VIT REF3[7:0] Viterbi reference byte 3.
10.2.39 Viterbi Reference Byte 4. Register 91 (R/W)
VIT REF4 (91)
Default value
VIT REF4[7:0] Viterbi reference byte 4.
10.2.40 Viterbi Reference Byte 5. Register 92 (R/W)
VIT REF5 (92)
Default value
VIT REF5[7:0] Viterbi reference byte 5.
10.2.41 Viterbi Reference Byte 6. Register 93 (R/W)
VIT REF6 (93)
Default value
VIT REF6[7:0] Viterbi reference byte 6.
10.2.42 Viterbi Maximum Error. Register 94 (R/W)
VIT MAXERR (94)
Default value
VIT MAXERR[7:0]Viterbi maximum error.
This register controls the frequency of the BER indication audio signal, output on the status pin when the FEC
STAT EN register B0 is set high, see pages 11 and 50.
70
Secondary Registers for Test and De-Bugging
MT312
10.2.43 Byte Align Set up. Register 95 (R/W)
NAME
ADR
BA SETUP
95
B7
B6
BA FSM[1:0]
B5
B4
B3
BA MV[1:0]
B2
B1
Def
hex
B0
BA UNLK[3:0]
R/W
D4
B7-6:
BA FSM[1:0]
Byte Align FSM mode.
B5-4:
MA MV[2:0] + 5 =
Byte Align majority voting.
B3-0:
BA UNLK[3:0] +3 =
Number of bad sync words to unlock the Byte Align. The default
register value of 4 is equivalent to 7 bad sync words.
10.2.44 Program Synchronising Byte. Register 98 (R/W)
PROG SYNC (98)
Default value
71 dec.
47 hex.
PROG SYNC[7:0 ]
If FEC SETUP[2] is high, use the PROG SYNC value to
synchronise MPEG data packets.
10.2.45 AFC Frequency Search Threshold. Register 99 (R/W)
AFC SEAR TH (99)
Default value
35 dec.
23 hex.
AFC SEAR TH[7:0]
10.2.46 Accumulator Differential Threshold. Register 100 (R/W)
CSACC DIFF TH (100)
Default value
32 dec.
20 hex.
CSACC DIFF TH[7:0]
10.2.47 QPSK Lock Control. Register 101 (R/W)
NAME
ADR
B7
B6
B5
QPSK LK CT
101
CS
L LK
TS
L LK
ACC
CK
B4
B3
B2
B1
NUM PLD INT[4:0]
B7:
CS L LK
High = Use CS long lock.
B6:
TS L LK
High = Use TS long lock.
B5:
ACC CK
High = Disable Accumulator check option.
B4-0:
NUM PLD INT[4:0]
Maximum value allowed is 29.
Def
hex
B0
R/W
04
71
MT312
Secondary Registers for Test and De-Bugging
10.2.48 QPSK State Control. Register 102 (R/W)
NAME
ADR
B7
B6
B5
B4
B3
QPSK ST CT
102
HLD
ST
AFC
RS
MS
RS
NXT
FR
FCE
ST
B7:
HLD ST
High = Hold state.
B6:
AFC RS
High = AFC reset.
B5:
M S RS
High = Mixer scan reset.
B4:
NXT FR
High = Get next frequency.
B3:
FCE ST
High = Force state.
B2-0:
FORCED ST[2:0]
Forced state.
B2
B1
Def
hex
B0
FORCED ST[2:0]
R/W
00
10.2.49 QPSK Reset. Register 104 (R/W)
NAME
ADR
QPSK RESET
104
B7
B6
Reserved
B5
B4
B3
B2
B1
B0
REL
QP
PR
QP
PR
CS
PR
TS
PR
FE
PR
AGC
Def
hex
R/W
B7-6:
Reserved Must be set low.
B5:
REL QP
High = Release QPSK FSM.
B4:
PR QP
High = Partial reset FSM (applies to QPSK control).
B3:
PR CS
High = Partial reset carrier synchroniser
B2:
PR TS
High = Partial reset timing synchroniser (includes fine AGC).
B1:
PR FE
High = Partial reset front-end logic.
B0:
PR AGC
High = Partial reset analogue AGC.
10.2.50 QPSK Test Control. Register 105 (R/W)
QPSK TST CT (105)
Default value
QPSK TEST CTRL[7:0]
For factory test purposes only.
72
0 dec.
00 hex.
00
Secondary Registers for Test and De-Bugging
MT312
10.2.51 QPSK Test State. Register 106 (R/W)
QPSK TEST ST (106)
Default value
0 dec.
00 hex.
QPSK TEST ST[7:0]
For factory test purposes only.
10.2.52 Test Mode. Register 125 (R/W)
TEST MODE (125)
Default value
0 dec.
00 hex.
TEST MODE[7:0]:
This register is for testing purposes only.
10.3 Read only Secondary Register Map
Writing to these registers will have no effect.
NAME
ADR
TEST R
107
B7
B6
B5
B4
B3
B2
B1
TEST R[7:0] Test Read, for test purposes only.
Def
hex
B0
R
00
10.4 Secondary Registers for Test and De-Bugging Read Register
10.4.1 Test Read. Register 107 (R)
TEST R (107) Default value0 dec.00 hex.
TEST R[7:0]For test purposes only.
73
MT312
Microprocessor Control
11 Microprocessor Control
11.1 Primary 2-Wire Bus Address
The 2-wire bus Address is determined by applying VDD or VSS to the ADDR[7:1] pins. See 11.3 Primary 2Wire Bus Interface.
11.2 RADD: 2-Wire Register Address (W)
RADD is the 2-wire register address. It is the first byte written after the MT312 2-wire chip address when in
write mode.
To write to the chip, the microprocessor should send a START condition and the chip address with the write bit
set, followed by the register address where subsequent data bytes are to be written. Finally, when the
'message' has been sent, a STOP condition is sent to free the bus.
To read from the chip from register address zero, the microprocessor should send a START condition and the
chip address with the read bit set, followed by the requisite number of CLK1 clocks to read the bytes out.
Finally a STOP condition is sent to free the bus. RADD is not sent in this case.
To read from the chip from an address other than zero, the microprocessor should send the chip address with
the write bit set, followed by the register address where subsequent data bytes are to be read. Then the
microprocessor should send a START condition and the chip address with the read bit set, followed by the
requisite number of CLK1 clocks to read the bytes out. Finally a STOP condition is sent to free the bus
A STOP condition shall reset the RADD value to 00. For examples of use, see 74.
RADD (virtual register, address none)
NAME
ADR
B7
B6
B5
B4
B3
B2
B1
B0
RADD
N/A
IAI
AD6
AD5
AD4
AD3
AD2
AD1
AD0
B7:
IAI
High = Inhibit auto increment.
Low = Increment addresses.
B6-0:
AD[6:0]
2-wire register address, numbers in the range 0 to 127 are allowed.
Def
hex
W
-
When the register address is incremented to 127 it stops and the bus will continue to write to or read from
register 127 until a STOP condition is sent.
11.3 Primary 2-Wire Bus Interface
The primary 2-wire bus serial interface uses pins:
DATA1 (pin 54) Serial data, the most significant bit is sent first.
CLK1 (pin 53) Serial clock.
The 2-wire bus Address is determined by applying VDD or VSS to the ADDR[7:1] pins.
For compatibility with VP310, the 2-wire bus Address should be 0001 110 R/ and the pins connected as follows:
74
Microprocessor Control
MT312
ADDR[7]
ADDR[6]
ADDR[5]
ADDR[4]
ADDR[3]
ADDR[2]
ADDR[1]
VSS
VSS
VSS
VDD
VDD
VDD
VSS
When the MT312 is powered up, the RESET pin 49 should be maintained low for typically 250ms (minimum
100ms) after VDD has reached normal operation levels. This is to ensure that the crystal oscillator and internal
PLL have become fully established and that the internal reset signal is fully clocked into all parts of the circuit.
As the reset pin is pulled high, the logic levels on ADDR[7:1] are latched to become the 2-wire bus address
ADDR[7:1]. ADDR[0] is the R/W bit.
IIN[5:1] are only used for test purposes and should be wired to VSS.
The circuit works as a slave transmitter with the eighth bit set high or as a slave receiver with the eighth bit set
low. In receive mode, the first data byte is written to the RADD virtual register, which forms the register subaddress.
Bit 7 of the RADD register, IAI is an Inhibit Auto Increment function. When the IAI bit is set high, the automatic
incrementing of register addresses is inhibited. IAI set low is the normal situation so that data bytes sent on the
2-wire bus after the RADD register data are loaded into successive registers. This automatic incrementing
feature avoids the need to individually address each register.
Following a valid chip address, the 2-wire bus STOP command resets the RADD register to 00. If the chip
address is not recognised, the MT312 will ignore all activity until a valid chip address is received. The 2-wire
bus START command does NOT reset the RADD register to 00. This allows a combined 2-wire bus message,
to point to a particular read register with a write command, followed immediately with a read data command. If
required, this could next be followed with a write command to continue from the latest address. RADD would
not be sent in this case. Finally a STOP command should be sent to free the bus.
When the 2-wire bus is addressed (after a recognised STOP command) with the read bit set, the first byte read
out shall be the content of register 00.
11.4 Secondary 2-Wire Bus for Tuner Control
The MT312 has a General Purpose Port that can be configured to provide a secondary 2-wire bus with full bidirectional operation. When pass-through is enabled, a transparent connection is made to the tuner. This
innovative design simplifies the software required to program the tuner to only five data bytes.
Pass-through mode is selected by setting register (20) GPP CTRL[B6] = 1.
The allocation of the pins is: GPP[0] pin 44 = CLK2, GPP[1] pin 45 = DATA2.
75
MT312
Microprocessor Control
11.5 Examples of 2-Wire Bus Messages
KEY:
S
P
A
Start condition
Stop condition
Acknowledge
MT312 output
ITALICS
W
R
NA
RADD
Write (= 0)
Read (= 1)
NOT Acknowledge
Register Address
Write operation - as a slave receiver:
S
DEVICE
ADDRESS
W
A
RADD
(n)
A
DATA
(reg n)
A
DATA
(reg n+1)
A
DATA
(reg 2)
A
P
Read operation - MT312 as a slave transmitter:
S
DEVICE
ADDRESS
R
A
DATA
(reg 0)
A
DATA
(reg 1)
NA P
Write/read operation with repeated start - MT312 as a slave transmitter:
S
DEVICE
ADDRESS
W
A
RADD
(n)
A
S
DEVICE
ADDRESS
R
A
DATA
(reg n)
A
DATA
(reg n+1)
NA
P
Write / read / write operation with repeated start and auto increment off with IAI set high - MT312 as a slave
transmitter. This example uses the GPP CTRL register where the register address is 20 + 128 (IAI). Data is first
read from the GPP CTRL register, then following a restart, data is written to the GPP CTRL register.
S
DEVICE W
ADDRESS
A
RADD
(148)
A
S
DEVICE
ADDRESS
R
A
DATA
(reg 20)
NA S
DEVICE W
ADDRESS
A
DATA
(reg 20)
A
P
To program the Tuner, use the following sequence of three messages:
Open secondary 2-wire port:
S
MT312
ADDRESS
W
A
GPP CTRL
(20)
A
DATA
(64)
A
P
W
A
DATA
(BYTE 2)
A
DATA
(BYTE 3)
A
DATA
(BYTE 4)
A
DATA
(0)
A
P
Program Tuner:
S
TUNER
ADDRESS
A
DATA
(BYTE 5)
A
P
Close secondary 2-wire port:
S
MT312
ADDRESS
W
A
GPP CTRL
(20)
Always close the secondary 2-wire port after programming the Tuner, to avoid 2-wire bus clock interference in
the Tuner.
76
MT312
Microprocessor Control
11.6 Primary 2-Wire Bus Timing
tBUFF
Sr
P
DATA1
tLOW
tF
tR
CLK1
P
S
tHD;STA
tHD;DAT
tHIGH
tSU;STO
tSU;DAT tSU;STA
Figure 26 - One DiSEqC™ data byte - 0x11 (hex) plus parity bit
Where: S = Start
Sr = Restart, i.e. Start without stopping first.
P = Stop.
Value
Parameter: Primary 2-wire bus only
Symbol
Unit
Min
Max
450
CLK1 clock frequency
fCLK
0
Bus free time between a STOP and START condition.
tBUFF
200
ns
tHD;STA
200
ns
LOW period of CLK1 clock.
tLOW
450
ns
HIGH period of CLK1 clock.
tHIGH
600
ns
Set-up time for a repeated START condition.
tSU;STA
200
ns
Data hold time (when input).
tHD;DAT
100
ns
Data set-up time
tSU;DAT
100
ns
Hold time (repeated) START condition.
note 1
kHz
ns
Rise time of both CLK1 and DATA1 signals.
tR
Rise time of both CLK1 and DATA1 signals, (100pF to ground)
tF
20
ns
tSU;STO
200
ns
Set-up time for a STOP condition.
Table 8 - Primary 2-wire bus timing
Note 1.The rise time depends on the external bus pull up resistor.
77
MT312
Electrical Characteristics
12 Electrical Characteristics
12.1 Recommended Operating Conditions
Parameter
Symbol
Min.
Typ.
Max.
Units
Core power supply voltage
CVDD
1.62
1.8
1.98
V
Core power supply current
CIDD
130
150
mA
Power supply voltage
VDD
3.3
3.6
V
Power supply current
IDD
170
180
mA
Input clock frequency 1
XTI
16.00
MHz
450
kHz
70
°C
CLK1 clock frequency
3.0
9.99
FCLK1
Ambient operating temperature
0
Table 9 - Recommended operating conditions
Note 1. When not using a crystal, XTI may be driven from an external source over the frequency range shown.
12.2 Absolute Maximum Ratings
Parameter
Symbol
Min.
Max.
Unit
VDD
-0.3
+3.6
V
Voltage on input pins (5 v rated)
VI
-0.3
5.5
V
Voltage on input pins (3.3v rated)
VI
-0.3
VDD +
0.3
V
Voltage on input pins (1.8v rated)
VI
-0.3
CVDD +
0.3
V
Voltage on output pins (5v rated)
VO
-0.3
5.5
V
Voltage on output pins (3.3v rated)
VO
-0.3
VDD +
0.3
V
Voltage on output pins (1.8v rated)
VO
-0.3
CVDD +
0.3
V
TSTG
-55
150
°C
TOP
0
70
°C
125
°C
Power supply
Storage temperature
Operating ambient temperature
Junction temperature
TJ
Table 10 - Maximum operating conditions
Note: Stresses exceeding these listed under ’Absolute Ratings’ may induce failure. Exposure to absolute
maximum ratings for extended periods may reduce reliabilty. Functionality at or above these conditions is not
implied.
78
MT312
Electrical Characteristics
12.3 Crystal Specification
Parallel resonant fundamental frequency (preferred)
Tolerance over operating temperature range
Tolerance overall
Nominal load capacitance
Equivalent series resistance
9.99 to 16.00MHz.
±25ppm.
±50ppm.
30pF.
<35Ω
XTI
XTO
33pF
33pF
GND
Figure 27 - Crystal oscillator circuit
NOTE: The crystal frequency should be chosen to ensure that the system clock would marginally exceed the
maximum symbol rate required. See 59.
12.4 DC Electrical Characteristics
Parameter
Conditions / Pin
Symbol
Min.
Typ.
Max.
Unit
CVDD
1.62
1.8
1.98
V
Peripheral operating voltage
VDD
3.0
3.3
3.6
V
Average core power supply
current
CIDD
130
150
mA
IDD
170
180
mA
1
2
mA
Core operating voltage
Average peripheral power
supply current
Average supply current
Stand-by Mode
Output levels VOH
Tri-state push pull
1 mA drive current.
IIN, QIN, TESTCLK,
MDO, MOVAL, MOSTRT,
MOCLK, BKERR,
DISECQ, STATUS
Output levels VOL
Tri-state push pull
1 mA drive current,
Pins as VOH.
Output level open drain
4 mA drive current.
6 mA drive current.
AGC, DATA1, IRQ,
GPP<2:0>
Input levels VIH CMOS
3.3V input
VIH
0.7VDD
V
Input levels VIH CMOS
5.0V input
VIH
0.7VDD
V
Input levels VIL CMOS
Input leakage Current
VOH
0.80
VDD
0.92
VDD
0.2
VIL
VIN = 0 and VDD
V
0.4
V
0.4
0.6
V
V
0.3VDD
V
10
µA
Table 11 - DC electrical characteristics
79
MT312
Electrical Characteristics
12.5 MT312 Pinout Description
Pin
Name
Description
I/O
Note
V
mA
4,5,6,7,8,11,12
ADDR[7:1]
Primary 2-wire bus address defining pins
I/O
CMOS
3.3
1
1
14
MICLK
MPEG clock input used to generate
MOCLK. Enabled when both register 96
bit 7 and register 97 bit 7 are set high. In
this mode, MICLK must be continuous.
I
CMOS
16
TESTCLK
18
5
External ADC mode clock.
O
PECL
Tristate
XTI
Crystal clock input or external reference
clock input.
I
CMOS
3.3
19
XTO
Crystal output. An internal feedback
resistor to XTI is included
O
CMOS
3.3
23
PLL1
Phase Locked Loop test output
23
26
VRT
ADC Voltage top reference level
26
27
IREF
I channel de-coupling input
I
28
ISINGP
I channel input
I
29
NC
No connection
I
32
VRM
33
QSINGP
34
QREF
35
VRB
38
RREF
Bias level
39
TEST1
For factory test only. This pin must be
connected to VSS in normal operation
I
CMOS
3.3
40
TEST2
For factory test only. This pin must be
connected to VSS in normal operation
I
CMOS
3.3
43
AGC
AGC sigma-delta output
O
Open
drain
5
1
6
46,45,44
GPP[2:0]
(DISEQC2)
General Purpose Port for tuner control,
register defined.
I/O
Open
drain
5
1
6
3.3
ADC Voltage middle reference level
Q channel input
I
Q channel de-coupling input
I
ADC Voltage bottom reference level
GPP0 = secondary CLK2,
GPP1 = secondary DATA2,
GPP2 = DiSEqC™ v2.2 input signal.
80
47
DISEQC1
DiSEqC™ Horizontal/Vertical control
O
CMOS
3.3
1
48
DISEQC0
DiSEqCTM 22kHz output
O
CMOS
3.3
1
49
RESET
Active low reset input
I
CMOS
5
52
STATUS
Audio BER or Status output, register
defined
O
CMOS
3.3
1
1
Electrical Characteristics
MT312
Note 1.8V tolerant pins with thresholds related to 3.3V.
Pin
Name
Description
I/O
Note
V
mA
53
CLK1
2-wire serial bus clock
I
CMOS
5
1
54
DATA1
2-wire serial bus data
I/O
Open
drain
5
1
6
57
IRQ
Active low interrupt output. A low output
on this pin indicates an event has
occurred and the microprocessor should
read the interrupt registers. Reading all
interrupt registers resets this pin.
O
Open
drain
5
1
6
58
MOCLK
MPEG clock output at the data byte rate.
O
CMOS
Tristate
3.3
1
69,68,66,65,
64,63,61,59
MDO[7:0]
MPEG transport packet data output bus.
O
CMOS
Tristate
3.3
1
71
MDOEN
Logic 1 = MPEG data and clock outputs
disable - Tri-state. Logic 0 = MPEG data
and clock outputs enable
I
CMOS
5
72
MOVAL
MPEG data output valid. This pin is high
during the MOCLK clock cycles when
valid data bytes are being output.
O
CMOS
Tristate
3.3
1
75
BKERR
Active low uncorrectable block indicator
OR no signal indicator selected by ERR
IND bit 7 of MON CTRL register.
O
CMOS
Tristate
3.3
1
76
MOSTRT
MPEG output start signal, high on the
first byte of a packet.
O
CMOS
Tristate
3.3
1
2,9,17,42,50,
55,62,67
CVDD
13,73
VDD
37
1
Core Digital CVDD. All pins must be
connected.
1.8
Peripheral VDD. All pins must be
connected.
3.3
ADCAVDD
ADC core analogue VDD. All pins must
be connected.
1.8
30
ADCDVDD
ADC core digital VDD. All pins must be
connected.
3.3
25
ADCFVDD
ADC core front end VDD. All pins must
be connected.
3.3
21
PLLVDD
PLL VDD. All pins must be connected.
1.8
1,10,20,41,51,
60,70
CVSS
15,56,74
VSS
36
31
Digital VSS. All pins must be connected.
0
Peripheral VSS. All pins must be
connected.
0
ADCAGND
ADC core analogue VSS. Must be
connected to analogue GND.
0
ADCDGND
ADC core digital VSS. Must be
connected to analogue GND.
0
81
MT312
Electrical Characteristics
Pin
Name
Description
I/O
Note
53
CLK1
2-wire serial bus clock
I
CMOS
24
ADCFGND
22
PLLGND
77,78,79,80,3
IIN[5:1]
V
5
1
ADC core front end VSS. Must be
connected to analogue GND.
0
PLL VSS. Must be connected to
analogue GND.
0
Test bus, all inputs must be connected to
VSS.
I/O
CMOS
mA
3.3
1
Note 1. 8V tolerant pins with thresholds related to 3.3V.
12.6 Alphabetical Listing of Pin-Out
FUNCTION
PIN
FUNCTION
PIN
FUNCTION
PIN
FUNCTION
PIN
ADCAGND
36
CVDD
17
IIN[4]
78
PLLVDD
21
ADCAVDD
37
CVDD
42
IIN[5]
77
QREF
34
ADCDVDD
30
CVDD
50
IREF
27
QSINGP
33
ADCDGND
31
CVDD
62
IRQ
57
RESET
49
ADCFGND
24
CVDD
67
ISINGP
28
RREF
38
ADCFVDD
25
CVSS
1
MDO[0]
59
STATUS
52
ADDR[1]
12
CVSS
10
MDO[1]
61
TEST1
39
ADDR[2]
11
CVSS
20
MDO[2]
63
TEST2
40
ADDR[3]
8
CVSS
41
MDO[3]
64
TESTCLK
16
ADDR[4]
7
CVSS
51
MDO[4]
65
VRB
35
ADDR[5]
6
CVSS
60
MDO[5]
66
VRM
32
ADDR[6]
5
CVSS
70
MDO[6]
68
VRT
26
ADDR[7]
4
DATA1
54
MDO[7]
69
VDD
13
AGC
43
DATA2/GPP1
45
MDOEN
71
CVDD
55
BKERR
75
DISEQC0
22kHz
48
MICLK
14
VDD
73
CLK1
53
DISEQC1 HV
47
MOCLK
58
VSS
15
CLK2/GPP0
44
DISEQC2/
GPP2
46
MOSTRT
76
VSS
56
NC
29
IIN[1]
3
MOVAL
72
VSS
74
CVDD
2
IIN[2]
80
PLL1
23
XTI
18
CVDD
9
IIN[3]
79
PLLGND
22
XTO
19
Table 12 - Alphabetical listing of pin-out
82
22uF
C303
100nF
100nF
C326
C336
C314
1nF
C338
R301 100R
C337
3V3
1V8
35
36
37
38
2
9
13
17
43
100nF
C311
29
30
31
32
27
28
470nF 33
34
470nF
100nF
24
25
26
C310
C306
C305
C331
100nF
C325
C333 C335
AGC
AGC
R300 1k2
100nF
ICH
100nF
QCH
100nF
C329
100nF
100nF 100nF 100nF 100nF 100nF 100nF
C313
100nF
C328
100nF
C302 +
1V8
1V8
C312
C309
C304
100nF
C327
C301
C308 100nF
100nF
3V3
100nF
C324
22uF
C323 +
33pF
C315
VRB
ADCAGND
ADCAVDD
RREF
CVDD
CVDD
VDD
CVDD
AGC
QSINGP
QREF
NC
ADCDVDD
ADCDGND
VRM
IREF
ISINGP
ADCFGND
ADCFVDD
VRT
CVSS
CVSS
10MHz
XL301
1
10
100nF
C300
3V3
4
5
6
7
8
11
12
3V3
18
19
16
TESTCLK
23
22
21
PLL1
PLLGND
PLLVDD
33pF
C316
XTI
XTO
1V8
MT312
DATA2
CLK2
44
45
ADDR7
ADDR6
ADDR5
ADDR4
ADDR3
ADDR2
ADDR1
TEST1
TEST2
VSS
CVSS
CVSS
CVSS
VSS
CVSS
CVSS
VSS
39
40
15
20
41
51
56
60
70
74
CLK2
3
80
79
78
77
CLK2/GPP0
DATA2/GPP1
DATA2
IC3
100pF
C330
R305 8k2
R304 8k2
C319
1nF
DiSEqC0(22kHz)
DiSEqC1(HV)
DiSEqC2/GPP2
STATUS
RESET
MICLK
MOCLK
MDO0
MDO1
MDO2
MDO3
MDO4
MDO5
MDO6
MDO7
MDOEN
MOVAL
BKERR
MOSTRT
VDD
CVDD
CVDD
CVDD
CVDD
CVDD
IRQ
DATA1
CLK1
STATUS
RESET
52
49
C320
100nF
5VD
48 DiSEqCout
47 HVselect
46 DiSEqCin
1V8
3V3
IRQ
DATA1
CLK1
MICLK
MOCLK
MDO0
MDO1
MDO2
MDO3
MDO4
MDO5
MDO6
MDO7
MDOEN
MOVAL
BKERR
MOSTRT
14
58
59
61
63
64
65
66
68
69
71
72
75
76
73
67
62
55
50
42
57
54
53
4k7
R308
4k7
R309
C322
BCW31
B
SCL
R322
22k
R320
2k2
3V3
R312 100R
100pF
TR2
(SLEEP)
MOVAL
MICLK
DiSEqCout
SDA
IRQ
5VA
R311 100R SDA
100pF
HDR2X23
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
42
44
46
C321
RESET
STATUS
MOCLK
MDO0
MDO1
MDO2
MDO3
MDO4
MDO5
MDO6
MDO7
MOSTRT
BKERR
MDOEN
HVselect
SCL
1
3
5
7
9
11
13
15
17
19
21
23
25
27
29
31
33
35
37
39
41
43
45
PL1
C
E
IIN1
IIN2
IIN3
IIN4
IIN5
VLNB
2k2
R323
VT
5VD
C341
22nF
R321
150k
3V3
1V8
VLNB
VLNB
C340
100nF
C342
100pF
Application Diagram
MT312
13 Application Diagram
Figure 28 - Application Schematic
83
MT312
Register Map
14 MT312 Register Map
RADD is a virtual register with no address containing the address of the register to be accessed. It is written
immediately after the 2-wire write address.
NAME
ADR
B7
B6
B5
B4
B3
B2
B1
B0
RADD
N/A
IAI
AD6
AD5
AD4
AD3
AD2
AD1
AD0
B3
B2
B1
B0
Def
hex
W
-
14.1 Read / Write Register Map
NAME
ADR
B7
B6
B5
GPP CTRL
20
Reserved
2W PAS
RESET
21
FR 312
PR 312
DISEQC MODE
22
Reserved
HV
SYM RATE H
23
SEARCH Reserved
SYM RATE L
24
VIT MODE
25
AUT IQ
V IQ SP
QPSK CTRL
26
Reserved
Q IQ SP
GO
27
IE QPSK H
28
IE QPSK M
B4
R/W
20
25
R/W
00
21
R/W
00
30
R/W
1B
36
R/W
80
36
CR 1/2 R/W
44
38
ROLL
20
R/W
00
39
GO
R/W
00
40
IE QPSK[23:16] Interrupt enable QPSK (high byte)
R/W
00
40
29
IE QPSK[15:8] Interrupt enable QPSK (middle byte)
R/W
00
40
IE QPSK L
30
IE QPSK[7:0] Interrupt enable QPSK (low byte)
R/W
00
40
IE FEC
31
IE FEC[7:0] Interrupt enable FEC
R/W
00
47
QPSK STAT EN
32
QPSK STAT EN[7:0] Enable various QPSK outputs on STATUS pin
R/W
00
41
FEC STAT EN
33
R/W
14
47
SYS CLK
34
SYS CLK[7:0] - System clock frequency x2 in MHz
R/W
00
23
DISEQC RATIO
35
DISEQC RATIO[7:0]
R/W
00
30
DISEQC INSTR
36
DISEQC Instruction[7:0]
R/W
00
31
FR LIM
37
R/W
00
26
FR OFF
38
R/W
00
27
AGC CTRL
39
R/W
26
52
AGC REF
41
R/W
67
52
OP CTRL
96
MANUAL
MOCLK
BKERIV
MCLKINV
EN TEI
BSO
R/W
03
59
FEC SETUP
97
DIS SR
ENCLKO
DIS DS
DIS RS
DIS VIT
DS LK[1:0]
R/W
00
48
MON CTRL
103
ERR IND
MON CTRL[3:0] Monitor control
R/W
00
59
DISEQC2
CTRL1
121
R/W
00
31
84
GPP DIR[2:0]
FR QP
PR QP
GPP PIN[2:0]
Def
hex Page
FR VIT
PR VIT
DISEQC instruction length
PR BA
PR DS
22kHz mode
SYM RATE[13:8] in MBaud )high byte)
SYM RATE[7:0] in MBaud (low byte)
CR 7/8
CR 6/7
CR 5/6
CR 3/4
CR 2/3
Reserved Reserved Reserved AFC M Reserved
Reserved
MOCLK RATIO[3:0]
DS Lock
Reserved
BA lock
VIT lock
BER
tog
FR LIM[6:0] - Freq. Limit in MHz
FR OFF[7:0] - Freq. Offset in MHz
Reserved Reserved
AGC SD[1:0]
AGC BW[2:0]
AGC
SL
AGC REF[7:0] AGC reference level
Reserved
DISEQC2 CTRL1[7:8]
BA LK[2:0]
EN
PRS
MT312
Register Map
NAME
ADR
DISEQC2
CTRL2
122
CONFIG
127
B7
B6
B5
B4
MIN PULS PER
312 EN
DSS B
B3
B2
B1
TONE EXT PER
DSS A
BPSK
PLL FACTOR[1:0]
Def
hex Page
B0
MAX TONE PER
R/W
D4
32
CRYS15
ADC
EXT
R/W
08
22
B1
B0
14.2 Read Only Register Map
Writing to these registers will have no effect
B7
B6
ADR
QPSK INT H
00
QPSK INT[23:16] Interrupt QPSK (high byte)
R
00
42
QPSK INT M
01
QPSK INT [15:8] Interrupt QPSK (middle byte)
R
00
42
QPSK INT L
02
QPSK INT [7:0] Interrupt QPSK (low byte)
R
00
42
FEC INT
03
FEC INT[7:0] Interrupt FEC
R
00
48
QPSK STAT H
04
QPSK STATUS[15:8] (high byte)
R
00
44
QPSK STAT L
05
QPSK STATUS[7:0] (low byte)
R
00
44
FEC STATUS
06
FEC STATUS[7:0]
R
00
49
LNB FREQ H
07
LNB FREQ[15:8] Measured LNB frequency error (high byte)
R
00
27
LNB FREQ L
08
R
00
27
M SNR H
09
M SNR[14:8] Measured SNR (high byte)
R
00
49
M SNR L
10
M SNR [7:0] Measured SNR (low byte)
R
00
49
VIT ERRCNT H
11
VIT ERRCNT[23:16] - Viterbi error count (high byte)
R
00
50
VIT ERRCNT M
12
VIT ERRCNT[15:8] - Viterbi error count (middle byte)
R
00
50
VIT ERRCNT L
13
VIT ERRCNT[7:0] - Viterbi error count (low byte)
R
00
50
RS BERCNT H
14
RS BERCNT[23:16] - Reed Solomon bit errors corrected (high byte)
R
00
50
RS BERCNT M
15
RS BERCNT[15:8] - Reed Solomon bit errors corrected (middle byte)
R
00
50
RS BERCNT L
16
RS BERCNT[7:0] - Reed Solomon bit errors corrected (low byte)
R
00
50
RS UBC H
17
RS UBC[15:8] - Reed Solomon uncorrected block errors (high byte)
R
00
51
RS UBC L
18
RS UBC[7:0] - Reed Solomon uncorrected block errors (low byte)
R
00
51
SIG LEVEL
19
SIG LEVEL[11:4] - Signal level at MT312 input
R
00
53
AGC H
108
AGC (23:16] - Front end AGC (high byte)
R
00
85
AGC M
109
AGC[15:8] - Front end AGC (middle byte)
R
00
85
AGC L
110
AGC[7:0] - Front end AGC (low byte)
R
00
85
FREQ ERR1 H
111
FREQ ERR1[23:16] Input frequency error course (high byte)
R
00
28
FREQ ERR1 M
112
FREQ ERR1[15:8] Input frequency error course (middle byte)
R
00
28
FREQ ERR1 L
113
FREQ ERR1[7:0] Input frequency error course (low byte)
R
00
28
FREQ ERR2 H
114
FREQ ERR2[15:8] Input frequency error fine (high byte)
R
00
28
FREQ ERR2 L
115
FREQ ERR2[7:0] Input frequency error fine (low byte)
R
00
28
SYM RAT OP H
116
SYM RAT OP[15:8] Symbol Rate Output (high byte)
R
00
44
SYM RAT OP L
117
SYM RAT OP[7:0] Symbol Rate Output (low byte)
R
00
44
DISEQC2 INT
118
DISEQC2 INT[7:0]
R
00
33
Reserved
B5
B4
B3
B2
Def
hex Page
NAME
LNB FREQ [7:0] Measured LNB frequency error (low byte)
85
MT312
Register Map
ADR
DISEQC2 STAT
119
DISEQC2 STATUS[7:0]
R
00
34
DISEQC2 FIFO
120
DISEQC2 FIFO[7:0]
R
00
34
MONITOR H
123
MONITOR[15:8] Monitor (high byte)
R
00
45
MONITOR L
124
MONITOR[7:0] Monitor (low byte)
R
00
45
ID
126
ID[7:0] Chip identification.
R
03
23
86
B7
B6
B5
B4
B3
B2
B1
Def
hex Page
NAME
B0
Index
MT312
15 INDEX
Numerics
E
312_EN ................................................................ 22
EN_ TE ................................................................59
EN_PRS ..............................................................48
EN_TEI ................................................................55
ENCLKO ..............................................................48
ERR_IND .............................................................84
A
ADCEXT ........................................................ 19, 22
AFC ..................................................................... 39
AGC .............................................................. 52, 85
AGC_SD .............................................................. 52
B
BKERR ................................................................ 59
BPSK ................................................................... 19
BSO ..................................................................... 59
C
CLK1 ................................................................... 74
CONFIG .................................................. 19, 22, 85
CR 1/2 ................................................................. 38
CR 2/3 ................................................................. 38
CR 3/4 ................................................................. 38
CR 5/6 ................................................................. 38
CR 6/7 ................................................................. 38
CR 7/8 ................................................................. 38
CRYS .................................................. 15 19, 22, 85
CS_SYM .............................................................. 60
D
DATA1 .................................................................. 74
DC offset ............................................................. 60
DEC_RATIO ........................................................ 60
DIS_DS ............................................................... 48
DIS_RS ............................................................... 48
DIS_SR ............................................................... 54
DIS_VIT ............................................................... 48
DISEQC ............................................................... 17
DISEQC_INSTR ...................................... 17, 30, 84
DISEQC_MODE ................................ 17, 20, 31, 84
DISEQC_RATIO ............................................ 30, 84
DiSEqC™ .............................................. 1, 3, 10, 34
DISEQC2 ............................................................. 17
DISEQC2_ CTRL1 ............................................... 84
DISEQC2_ CTRL2 ............................................... 85
DISEQC2_CTRL1 ................................................ 17
DISEQC2_FIFO ............................................. 17, 35
DISEQC2_INT ............................................... 17, 85
DISEQC2_STAT ................................................... 86
DISEQC2_STATUS .............................................. 33
DS_LK ........................................................... 48, 84
DSS ............................................................... 14, 19
DSS_A ................................................................ 19
DSS_B .......................................................... 19, 22
DVB ..................................................................... 14
F
FEC_INT ..............................................................85
FEC_SETUP .................................................. 48, 84
FEC_STAT_EN ........................................ 12, 47, 84
FEC_STATUS .......................................... 16, 24, 85
FIFO_BUFFER ....................................................33
FR ........................................................................27
FR_312 ................................................................84
FR_LIM .......................................................... 20, 84
FR_OFF ......................................................... 27, 84
FR_QP .................................................................21
FR_VIT ................................................................21
FREQ_ERR1 2 .......................................................8
FREQ_ERR2 H ....................................................28
G
GC ................................................................. 20, 84
GO ........................................................... 20, 40, 84
GPP_CTRL .............................................. 17, 25, 84
H
HV .......................................................................30
I
IAI ........................................................................74
ID .........................................................................86
IE_FEC .................................................... 11, 47, 84
IE_QPSK ....................................................... 40, 84
K
KERR ...................................................................56
L
LNB .....................................................................85
LNB_FREQ ..........................................................85
M
M_FLD ........................................................... 45, 60
M_PLD .................................................................60
M_SNR ................................................................85
M_TLD ........................................................... 45, 60
MANUAL_MOCLK .......................................... 54, 59
MAX_TONE_PER ................................................32
MBAUD_OP ................................................... 45, 60
87
MT312
Index
MCLKINV ....................................................... 56, 59
MICLK ..................................................................48
MIN_PULS ...........................................................85
MOCLK .......................................................... 48, 56
MOCLK_RATIO ........................................ 47, 48, 54
MON_CTRL .........................................................84
MONITOR ............................................................86
MOSTRT ..............................................................56
MOVAL ................................................................56
O
OP_CTRL ............................................................20
P
Pass-through mode ..............................................75
pass-through mode ..............................................25
Pinout ..................................................................80
PLL_FACTOR ................................................ 19, 22
PR_ AGC .............................................................72
PR_ BA ................................................................21
PR_ QP ...............................................................21
PR_ VIT ...............................................................21
PR_312 ................................................................84
PR_BA .................................................................84
PRBS ...................................................................14
Q
Q_IQ_SP .............................................................39
QPSK STATUS .....................................................85
QPSK_ CTRL ......................................................39
QPSK_CTRL ................................................. 21, 84
QPSK_INT ...........................................................85
QPSK_STAT_EN ..................................................84
88
R
RADD .............................................................18, 74
REL ..................................................................... 72
RESET .....................................................80, 82, 84
ROLL .............................................................39, 84
RS BERCNT ..................................................50, 85
RS UBC .............................................................. 51
S
SEARCH ........................................................62, 69
SIG LEVEL .....................................................53, 85
SNR ...............................................................61, 64
SYM RAT OP .................................................44, 85
SYM RATE ...............................................36, 45, 84
SYS ..................................................................... 84
SYS CLK ............................................................. 84
T
TONE EXT PER .............................................32, 85
V
V IQ SP ....................................................21, 38,
VIT ERRCNT ..................................................50,
VIT ERRPER ..................................................62,
VIT MAXERR ...........................................12, 62,
VIT MODE ................................................20, 38,
84
85
69
70
84
References
MT312
16 References
1.
European Digital Video Broadcast Standard, ETS 300 421 December 1994.
ETS Secretariat
06921 Sophia Antipolis Cedex
France.
2.
Digital Satellite Equipment Control (DiSEqC™)
EUTELSAT
European Telecommunications Satellite Organisation
70, rue Balard - 75502 PARIS Cedex 15
France.
89
MT312
90
Design Manual