PCI Decoders
Customizing PCI Decoder Drivers for
Different Tuners
Application Note
100029B
November 2000
© 2000, Conexant Systems, Inc.
All Rights Reserved.
Information in this document is provided in connection with Conexant Systems, Inc. (“Conexant”) products. These materials are
provided by Conexant as a service to its customers and may be used for informational purposes only. Conexant assumes no
responsibility for errors or omissions in these materials. Conexant may make changes to specifications and product descriptions at
any time, without notice. Conexant makes no commitment to update the information and shall have no responsibility whatsoever for
conflicts or incompatibilities arising from future changes to its specifications and product descriptions.
No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document. Except as
provided in Conexant’s Terms and Conditions of Sale for such products, Conexant assumes no liability whatsoever.
THESE MATERIALS ARE PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, RELATING
TO SALE AND/OR USE OF CONEXANT PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A
PARTICULAR PURPOSE, CONSEQUENTIAL OR INCIDENTAL DAMAGES, MERCHANTABILITY, OR INFRINGEMENT OF ANY
PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. CONEXANT FURTHER DOES NOT WARRANT THE
ACCURACY OR COMPLETENESS OF THE INFORMATION, TEXT, GRAPHICS OR OTHER ITEMS CONTAINED WITHIN THESE
MATERIALS. CONEXANT SHALL NOT BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, INCLUDING WITHOUT LIMITATION, LOST REVENUES OR LOST PROFITS, WHICH MAY RESULT FROM THE USE
OF THESE MATERIALS.
Conexant products are not intended for use in medical, lifesaving or life sustaining applications. Conexant customers using or selling
Conexant products for use in such applications do so at their own risk and agree to fully indemnify Conexant for any damages
resulting from such improper use or sale.
The following are trademarks of Conexant Systems, Inc.: Conexant™, the Conexant C symbol, and “What’s Next in Communications
Technologies”™. Product names or services listed in this publication are for identification purposes only, and may be trademarks of
third parties. Third-party brands and names are the property of their respective owners.
For additional disclaimer information, please consult Conexant’s Legal Information posted at www.conexant.com, which is
incorporated by reference.
Reader Response: Conexant strives to produce quality documentation and welcomes your feedback. Please send comments and
suggestions to tech.pubs@conexant.com. For technical questions, contact your local Conexant sales office or field applications
engineer.
100029B
Conexant
Preliminary Information/Conexant Proprietary and Confidential
PCI Decoders
Table of Contents
Customizing PCI Decoder Drivers for Different Tuners
Table of Contents
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
PCI Decoders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
PCI Decoder Software Development Kit Tuner support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
I2C Bus Data Format for Tuners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2
2
3
3
3
Address Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Divider Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Control Byte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bandswitch Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to Derive the Divider Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to Derive the Control Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
How to Derive the Bandswitch Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
Modifying the Software Development Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
Finding the Actual File to Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Modifying the Divider Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Modifying the Control Byte and Bandswitch Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
How to Specify the Channel Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Compiling the Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Appendix A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
NTSC (M) TV Broadcast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
NTSC Cable TV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4
PAL TV Tuner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9
PAL (B, G) Cable TV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-11
Control Code for Various Tuners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-14
100029B
Conexant
Preliminary Information/Conexant Proprietary and Confidential
iii
PCI Decoders
Table of Contents
Customizing PCI Decoder Drivers for Different Tuners
iv
Conexant
Preliminary Information/Conexant Proprietary and Confidential
100029B
PCI Decoders
List of Tables
Customizing PCI Decoder Drivers for Different Tuners
List of Tables
Table 1.
Table 2.
Table 3.
Table 4.
Table 5.
Table A-1.
Table A-2.
Table A-3.
Table A-4.
Table A-5.
Table A-6.
100029B
C Data Format for Tuners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Divider Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Table of N Values for NTSC (M) Broadcast TV (Temic4032FY5 Tuner) . . . . . . . . . . . . . . . . . . 5
Ratio Select Bits for Phillips FI1236Mk2 Tuner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Channel Coverage Chart for Temic 4036FY5 (NTSC) Tuner . . . . . . . . . . . . . . . . . . . . . . . . . . 13
I2C Divider Bytes for NTSC (M) Broadcast TV (Temic 4036FY5 Tuner) . . . . . . . . . . . . . . . . . A-1
I2C Divider Bytes for NTSC Cable TV (Temic 4036FY5 Tuner) . . . . . . . . . . . . . . . . . . . . . . . . A-4
I2C Divider Bytes for PAL (B,G) Broadcast TV (Temic 4002FH5 Tuner ) . . . . . . . . . . . . . . . . A-9
I2C Divider Bytes for PAL(B,G) Cable TV (Temic 4002FH5 Tuner) . . . . . . . . . . . . . . . . . . . . A-11
I2C Control and Bandswitch Bytes for Various NTSC Tuners. . . . . . . . . . . . . . . . . . . . . . . . A-14
I2C Control and Bandswitch Bytes for Various PAL Tuners . . . . . . . . . . . . . . . . . . . . . . . . . A-15
Conexant
Preliminary Information/Conexant Proprietary and Confidential
v
PCI Decoders
List of Tables
Customizing PCI Decoder Drivers for Different Tuners
100029B
Conexant
Preliminary Information/Conexant Proprietary and Confidential
vi
PCI Decoders
Introduction
The purpose of this application note is to explain the programming details of various tuners and
show the reader how to customize the software included in our PCI decoder Software Development
Kit to enable control of different tuners for video standards worldwide.
The software included with our PCI Software Development Kit will work in the US without any
modifications. However, due to differences in video channel frequencies and video standards
around the world, it is necessary to modify the software to support tuners in other parts of the world.
It is assumed that the reader has a working knowledge of C++ programming and the software
tools necessary to compile the source codes.
PCI Decoder Software Development Kit Tuner support
The PCI Decoder Software Development Kit includes support for NTSC versions of Temic,
Phillips (FM1236) and Alps (TSCH5) tuners.
The programming of the above tuners is set up to operate via the I2C bus. The I2C bus uses both
the SDA (Serial Data Line) and the SCL (Serial Clock Line) lines to transfer data in a serial fashion.
In all cases, the PCI decoder acts as the master and the tuner acts as the slave. For more
information on I2C, refer to Rockwell’s I2C Reference guide.
100029B
Conexant
Preliminary Information/Conexant Proprietary and Confidential
1
PCI Decoders
PCI Decoders
I2C Bus Data Format for Tuners
Customizing PCI Decoder Drivers for Different Tuners
I2C Bus Data Format for Tuners
It is necessary to understand the I2C bus data format for tuners before you can program them
correctly. There are 4 sets of information that is needed by the tuners. They are the following:
•
•
•
•
Address Byte
2 Divider Bytes
Control Byte
Bandswitch Byte.Most tuners follow the format given in Table 1 below. The exact data format
for your tuner may vary.
Address Byte
The Address Byte is used to specify the I2C address of the tuner. Some tuners have fixed I2C
address and some tuners have configurable I2C address. The exact Address Byte format will be
given in the tuner’s data sheet. Check your tuner’s data sheet for the exact address byte format, as it
is non-standard.
If the I2C address of the tuner is configurable, it means that the I2C address of the tuner depends
on how the tuner is set up in hardware. As an example, Table 1 shows two configurable address bits
MA1 and MA0 in the Address byte. To correctly address the tuner, you must specify the address
byte based on the hardware setting. Please refer to your tuner data sheet to find out how to setup
your tuner’s I2C address.
Divider Bytes
The two Divider Bytes are used to instruct the tuner’s PLL to synthesize various frequencies.
With the ability to change the PLL frequency, you will be able to tune in to all the channels available
via broadcast or cable television. Since the audio and video frequency spectrums for broadcast and
cable TV are different for most countries around the world, each broadcast standard will require a
different set of Divider bytes values.
2
Conexant
Preliminary Information/Conexant Proprietary and Confidential
100029B
PCI Decoders
PCI Decoders
Customizing PCI Decoder Drivers for Different Tuners
I2C Bus Data Format for Tuners
Control Byte
The Control Byte specifies a charge pump (CP) setting, a test mode ([T2..T0]) setting, as well
as the reference divider ratio (RSA, RSB) for the tuner. You can setup the tuner to tune faster or in
smaller step size as well as put the tuner in test mode using the Control Byte. You can also shut down
the PLL of the tuner using the Control Byte (OS).
Table 1. C Data Format for Tuners
MSB
LSB
Address Byte
1
1
0
0
0
MA1
MA0
0
Divider Byte
0
N14
N13
N12
N11
N10
N9
N8
Divider Byte
N7
N6
N5
N4
N3
N2
N1
N0
Control Byte
1
CP
T2
T1
T0
RSA
RSB
OS
BandSwitch Byte
P7
P6
P5
P4
P3
P2
P1
P0
Bandswitch Byte
The Bandswitch Byte is used to select one of the three frequency bands, namely, VHF Low,
VHF High and UHF bands supported by all tuners. Each television channel (broadcast or cable) will
belong to only one band. To correctly tune to any channel, it is necessary to specifying the
correct
Divider Bytes and the frequency band that the channel belongs to.
The channel assignments for the various frequency bands depend on the broadcast standard. For
example, the channel assignments for NTSC Japan are different from the channel assignments for
NTSC (M) and PAL B. Please refer to Rockwell’s Application Note on “Broadcast and Cable
Television Frequency Standards” for further details.
How to Derive the Divider Bytes
The trickiest part about deriving the Divider Bytes is that you will need to obtain the table of
frequencies for the country that you wish to support. Please refer to the Rockwell Application Note
on “Broadcast and Cable Television Frequency Standards” for further information.
Table 2. Divider Bytes
Divider Byte 1
0
N14
N13
N12
N11
N10
N9
N8
Divider Byte 2
N7
N6
N5
N4
N3
N2
N1
N0
100029B
Conexant
Preliminary Information/Conexant Proprietary and Confidential
3
PCI Decoders
PCI Decoders
Customizing PCI Decoder Drivers for Different Tuners
I2C Bus Data Format for Tuners
Refer to the Divider Bytes above. You will see that the least significant bit is N0 followed by N1,
N2 and so on. The most significant bit is N14. N0 through N14 are binary bits, meaning each of
them can only be either a 1 or a 0.
How does one derive the values for N0 through N14? In every tuner data sheet, you will find a formula stating the relationship between the frequency of oscillation and the value N. Be aware that
the formula is dependent on the tuner and it is non-standard. The NTSC tuners from Phillips and
Temic that we support, both have the same formula as follows:
Fosc = N/16 (Mhz)
Rearranging the above equation, we get the following:
N= 16 * Fosc
The frequency of oscillation is made up of two components; they are the Radio Frequency and
the Intermediate Frequency. The relationship is as follows:
Fosc = FIF + FRF
The frequency of oscillation depends on the channel number. To better illustrate this, an
example calculation follows. Suppose you are using a Temic 4032FY5 (NTSC) tuner and you wish
to find out the frequency of oscillation for broadcast channel 2 in the United States. The
Intermediate Frequency of the tuner as specified in the tuner data sheet is 45.75 Mhz. The video
carrier frequency for broadcast channel 2 is 55.25 Mhz, so the Radio Frequency FRF to use is 55.25 Mhz.
Channel Number = 2
FIF = 45.75 Mhz (obtained from 4032FY5 data sheet)
FRF = 55.25 Mhz (video carrier frequency for Channel 2)
The Frequency of oscillation is obtained by summing FIF and FRF :
Fosc
= FIF + FRF
= 45.75 + 55.25 Mhz
= 101 Mhz
It is very straightforward to derive the value of N once you know the frequency of oscillation:
N
=
=
=
=
= 16 * Fosc
16 * 101
1616 (Decimal)
0x0650 (hex)
000011001010000 (Binary)
Therefore:
N14=
N13=
N12=
N11=
N10=
4
0
0
0
0
1 etc.
Conexant
Preliminary Information/Conexant Proprietary and Confidential
100029B
PCI Decoders
PCI Decoders
Customizing PCI Decoder Drivers for Different Tuners
I2C Bus Data Format for Tuners
It is important to note that the Intermediate Frequencies of different types of tuners are
different. Take for instance, the Intermediate Frequency of the Phillips FI1236 (NTSC) tuner is
45.75 Mhz whereas the Intermediate Frequency of the Phillips FM1246 PAL-I tuner is 38.90 Mhz.
You must refer to the appropriate data sheet to determine the Intermediate Frequency of your tuner.
Table 3 below lists all the N values for NTSC (M) broadcast television for the Temic 4032FY5 tuner.
Table 3. Table of N Values for NTSC (M) Broadcast TV (Temic4032FY5 Tuner) (1 of 3)
100029B
Channel
FRF (MHz)
FIF Tuner (MHz)
FOSC (MHz)
N
(16 * FOSC)
N
(Hex)
2
55.25
45.75
101
1616
0650
3
61.25
45.75
107
1712
06B0
4
67.25
45.75
113
1808
0710
5
77.25
45.75
123
1068
07B0
6
83.25
45.75
129
2064
0810
7
175.25
45.75
221
3536
0DD0
8
181.25
45.75
227
3632
0E30
9
187.25
45.75
233
3728
0E90
10
193.25
45.75
239
3824
0EF0
11
199.25
45.75
245
3920
0F50
12
205.25
45.75
251
4016
0FB0
13
211.25
45.75
257
4112
1010
14
471.25
45.75
517
8272
2050
15
477.25
45.75
523
8368
20B0
16
483.25
45.75
529
8464
2110
17
489.25
45.75
535
8560
2170
18
495.25
45.75
541
8656
21D0
19
501.25
45.75
547
8752
2230
20
507.25
45.75
553
8848
2290
21
513.25
45.75
559
8944
22F0
22
519.25
45.75
565
9040
2350
23
525.25
45.75
571
9136
23B0
24
531.25
45.75
577
9232
2410
25
537.25
45.75
583
9328
2470
26
543.25
45.75
589
9424
24D0
27
549.25
45.75
595
9520
2530
28
555.25
45.75
601
9616
2590
29
561.25
45.75
607
9712
25F0
30
567.25
45.75
613
9808
2650
Conexant
Preliminary Information/Conexant Proprietary and Confidential
5
PCI Decoders
PCI Decoders
Customizing PCI Decoder Drivers for Different Tuners
I2C Bus Data Format for Tuners
Table 3. Table of N Values for NTSC (M) Broadcast TV (Temic4032FY5 Tuner) (2 of 3)
6
Channel
FRF (MHz)
FIF Tuner (MHz)
FOSC (MHz)
N
(16 * FOSC)
N
(Hex)
31
573.25
45.75
619
9904
26B0
32
579.25
45.75
625
10000
2710
33
585.25
45.75
631
10096
2770
34
591.25
45.75
637
10192
27D0
35
597.25
45.75
643
10288
2830
36
603.25
45.75
649
10384
2890
37
609.25
45.75
655
10480
28F0
38
615.25
45.75
661
10576
2950
39
621.25
45.75
667
10672
29B0
40
627.25
45.75
673
10768
2A10
41
633.25
45.75
679
10864
2A70
42
639.25
45.75
685
10960
2AD0
43
645.25
45.75
691
11056
2B30
44
651.25
45.75
697
11152
2B90
45
657.25
45.75
703
11248
2BF0
46
663.25
45.75
709
11344
2C50
47
669.25
45.75
715
11440
2CB0
48
675.25
45.75
721
11536
2D10
49
681.25
45.75
727
11632
2D70
50
687.25
45.75
733
11728
2DD0
51
693.2
45.75
739
11824
2E30
52
699.25
45.75
745
11920
2E90
53
705.25
45.75
751
12016
2EF0
54
711.25
45.75
757
12112
2F50
55
717.25
45.75
763
12208
2FB0
56
723.25
45.75
769
12304
3010
57
729.25
45.75
775
12400
3070
58
735.25
45.75
781
12496
30D0
59
741.25
45.75
787
12592
3130
60
747.25
45.75
793
12688
3190
61
753.25
45.75
799
12784
31F0
62
759.25
45.75
805
12880
3250
63
765.25
45.75
811
12976
32B0
Conexant
Preliminary Information/Conexant Proprietary and Confidential
100029B
PCI Decoders
PCI Decoders
Customizing PCI Decoder Drivers for Different Tuners
I2C Bus Data Format for Tuners
Table 3. Table of N Values for NTSC (M) Broadcast TV (Temic4032FY5 Tuner) (3 of 3)
100029B
Channel
FRF (MHz)
FIF Tuner (MHz)
FOSC (MHz)
N
(16 * FOSC)
N
(Hex)
64
771.25
45.75
817
13072
3310
65
777.25
45.75
823
13168
3370
66
783.25
45.75
829
13264
33D0
67
789.25
45.75
835
13360
3430
68
795.25
45.75
841
13456
3490
69
801.25
45.75
847
13552
34F0
Conexant
Preliminary Information/Conexant Proprietary and Confidential
7
PCI Decoders
PCI Decoders
Customizing PCI Decoder Drivers for Different Tuners
How to Derive the Control Byte
How to Derive the Control Byte
Below is an example of the Control Byte with definitions for the various bits. Note that the
format of the Control Byte may differ for different tuners.
Control Byte
1
CP
T2
T1
T0
RSA
RSB
OS
The least significant bit is OS and it is used to disable the PLL of the tuner.
OS =0 for normal operation
OS =1 for switching the charge pump to the high impedance state (disable the PLL)
The next two bits RSA and RSB are known as the Ratio Select bits. Depending on the tuner
used, these two bits may or may not be fixed. If the tuner allows various step sizes then the tuner
manufacturer will need to specify how to set them up. The following is a table given in the Phillips
FI1236MK2 tuner data sheet:
Table 4. Ratio Select Bits for Phillips FI1236Mk2 Tuner
RSA
RSB
STEP size
X
0
50 Khz
0
1
31.25 Khz (for slow picture search)
1
1
62.5 Khz (for normal picture search)
The most important thing to note is that the Ratio Select bits are not standard. An example
would be an ALPS TSB tuner, its data sheet does not even mention anything about the ratio select bits.
The values for the two bits are 11 in binary. You must be very careful in order to get the tuner to work
properly.
The next 3 bits T2, T1 and T0 are meant for setting the test mode of the tuner. Please refer to the
tuner’s data sheet for an explanation of the various test modes. In most cases, the tuner will be
operating in normal mode defined as follows:
T2 = T1 = 0 and T0 = 1 (Or T2T1T0 = 001)
The next bit CP is defined as follows:
CP = 1 for fast tuning
CP = 0 for moderate speed tuning
Normally, the Control Byte is either 0xCE (11001110 in binary) or 0x8E (10001110 in binary)
which means that the tuner is operating in normal mode with fast tuning or in normal mode with
moderate tuning speed respectively. You must check the data sheet of the tuner that you wish to support
to determine the actual value of the Control Byte.
8
Conexant
Preliminary Information/Conexant Proprietary and Confidential
100029B
PCI Decoders
PCI Decoders
Customizing PCI Decoder Drivers for Different Tuners
How to Derive the Bandswitch Byte
How to Derive the Bandswitch Byte
The Bandswitch Byte is different for each tuner. You will need to refer to your tuner data sheet to
determine the exact format for it. The only thing that is common for all tuners is that they all support
three frequency bands. They are the following:
1.
2.
3.
VHF Low
VHF High
UHF
The data sheet of each tuner will provide the frequency ranges of the three bands stated above.
Some data sheet may state Low, Middle and High frequency bands but they mean the same as above.
Each frequency of oscillation (Fosc ) will belong to only one band. In other words, each channel in
broadcast or cable television will belong to only one band. Note once again that the frequency ranges
depend on the tuner used. A detailed explanation can be found in the section Section , How to Specify the
Channel Maps.
Modifying the Software Development Kit
This section specifies how to modify the Software Development kit for a different tuner control.
Finding the Actual File to Modify
It is necessary to modify the “grappler.dll” file supplied in the PCI Decoder Software Development
Kit to change the Divider Bytes, Control Byte and Bandswitch Byte for tuners in different parts of the
world. To do this, one must modify the “tuner.cpp” file given in the PCI Decoder Software Development
Kit and recompile it to get a customized version of “grappler.dll”.
In the PCI Decoder Software Development Kit, you will find a folder named “Source”:
•
Source
- Grappler
- Dialogs
- Include
- Lib
You will find the file “tuner.cpp” in the “Grappler” folder. The sections that follow will explain
the modifications you need to make.
100029B
Conexant
Preliminary Information/Conexant Proprietary and Confidential
9
PCI Decoders
PCI Decoders
Modifying the Software Development Kit
Customizing PCI Decoder Drivers for Different Tuners
Modifying the Divider Bytes
Open the “tuner.cpp” file with your editor and look for the following code fragment:
///////////////////////////////////////////////////////////////
// Divider codes for NTSC USA Air Channels
///////////////////////////////////////////////////////////////
TunerCodes airNtscChannelCode[] = {
0x0000, 0x0000, 0x0650, 0x06B0, 0x0710, 0x07B0,
0x0810, 0x0DD0, 0x0E30, 0x0E90, 0x0EF0,
0x0F50, 0x0FB0, 0x1010, 0x2050, 0x20B0,
0x2110, 0x2170, 0x21D0, 0x2230, 0x2290,
0x22F0, 0x2350, 0x23B0, 0x2410, 0x2470,
0x24D0, 0x2530, 0x2590, 0x25F0, 0x2650,
0x26B0, 0x2710, 0x2770, 0x27D0, 0x2830,
0x2890, 0x28F0, 0x2950, 0x29B0, 0x2A10,
0x2A70, 0x2AD0, 0x2B30, 0x2B90, 0x2BF0,
0x2C50, 0x2CB0, 0x2D10, 0x2D70, 0x2DD0,
0x2E30, 0x2E90, 0x2EF0, 0x2F50, 0x2FB0,
0x3010, 0x3070, 0x30D0, 0x3130, 0x3190,
0x31F0, 0x3250, 0x32B0, 0x3310, 0x3370,
0x33D0, 0x3430, 0x3490, 0x34F0
};
///////////////////////////////////////////////////////////////
// Divider codes for NTSC USA Cable Channels
///////////////////////////////////////////////////////////////
TunerCodes cableNtscChannelCode[] = {
0x0000, 0x0770, 0x0650, 0x06B0, 0x0710, 0x07B0,
0x0810, 0x0DD0, 0x0E30, 0x0E90, 0x0EF0,
0x0F50, 0x0FB0, 0x1010, 0x0A70, 0x0AD0,
0x0B30, 0x0B90, 0x0BF0, 0x0C50, 0x0CB0,
0x0D10, 0x0D70, 0x1070, 0x10D0, 0x1130,
0x1190, 0x11F0, 0x1250, 0x12B0, 0x1310,
0x1370, 0x13D0, 0x1430, 0x1490, 0x14F0,
0x1550, 0x15B0, 0x1610, 0x1670, 0x16D0,
0x1730, 0x1790, 0x17F0, 0x1850, 0x18B0,
0x1910, 0x1970, 0x19D0, 0x1A30, 0x1A90,
0x1AF0, 0x1B50, 0x1BB0, 0x1C10, 0x1C70,
0x1CD0, 0x1D30, 0x1D90, 0x1DF0, 0x1E50,
0x1EB0, 0x1F10, 0x1F70, 0x1FD0, 0x2030,
0x2090, 0x20F0, 0x2150, 0x21B0, 0x2210,
0x2270, 0x22D0, 0x2330, 0x2390, 0x23F0,
0x2450, 0x24B0, 0x2510, 0x2570, 0x25D0,
0x2630, 0x2690, 0x26F0, 0x2750, 0x27B0,
0x2810, 0x2870, 0x28D0, 0x2930, 0x2990,
0x29F0, 0x2A50, 0x2AB0, 0x2B10, 0x0890,
0x08F0, 0x0950, 0x09B0, 0x0A10, 0x2B70,
0x2BD0, 0x2C30, 0x2C90, 0x2CF0, 0x2D50,
0x2DB0, 0x2E10, 0x2E70, 0x2ED0, 0x2F30,
0x2F90, 0x2FF0, 0x3050, 0x30B0, 0x3110,
0x3170, 0x31D0, 0x3230, 0x3290, 0x32F0,
0x3350, 0x33B0, 0x3410, 0x3470, 0x34D0
};
10
Conexant
Preliminary Information/Conexant Proprietary and Confidential
100029B
PCI Decoders
PCI Decoders
Customizing PCI Decoder Drivers for Different Tuners
Modifying the Software Development Kit
This is where you find the Divider Bytes for the all US broadcast and Cable TV channels. You
will need to Calculate the Divider Bytes for the video standard that your tuner is designed for. The
various Divider bytes for NTSC (M) and PAL (B,G) tuners are included as an appendix to this application
note.
In the US, the first air channel starts from VHF low band and it is channel 2. Examine the first
two 32-bit DWORD in the cableNtscChannelCode array, you will find 0x0000 in there. They are meant
for channels 0 and 1 that are not used in the US. The third DWORD is meant for channel 2 and the value
is 0x0650. The most significant byte of the DWORD is Divider Byte 1 and the least significant byte of
the DWORD is Divider Byte 2. Therefore, Divider Byte 1 is 0x06 and Divider Byte 2 is 0x50.
If you are using your tuner in a PAL environment, you will need to make sure that you calculate
the new Divider Bytes (values for PAL B,G are given in the appendix) and put them in two new arrays.
You may choose to replace the default Divider Bytes with your own Divider Bytes. In this case, your
version of grappler.dll will no longer support NTSC (M).
If you add two new arrays to the tuner.cpp file, it is necessary to modify the member methods
GetDividerWord, SetDividerWord and MaxNumberOfChannel for the Tuner class to use the new Divider
bytes that you have added. Details on how to modify the source code are beyond the scope of this
Application Note.
Modifying the Control Byte and Bandswitch Byte
In the same “tuner.cpp” file, you will find the following code fragment:
///////////////////////////////////////////////////////////////
ControlWord controlPhilips[] = // Phillips FM1236 video & FM radio tuner
{ // These control bytes are for video only
0xCEA0, // vhf low
0xCE90, // vhf high
0xCE30 // uhf
};
///////////////////////////////////////////////////////////////
ControlWord controlTemic[] =
{
0x8E02, // vhf low
0x8E04, // vhf high
0x8E01 // uhf
};
///////////////////////////////////////////////////////////////
ControlWord controlAlps[] =
// Alps TSCH5 tuner with FM radio
{ //
// These control bytes are for video only
0xC214, // vhf low
0xC212, // vhf high
0xC211 // uhf
};
Each of the DWORD in the above 3 arrays is actually made up of Control Byte : Bandswitch
Byte. For instance, in the controlPhilips ControlWord structure, there are 3 DWORDs 0xCEA0, 0xCE90
and 0xCE30, one for each band. 0xCE is the Control Byte and 0xA0 is the Bandswitch byte for the VHF
low band. 0xCE is the Control Byte and 0x90 is the Bandswitch byte for the VHF high band..As
mentioned in the section Section, How to Derive the Bandswitch Byte, it is necessary for you to obtain
the exact format of the Bandswitch byte from your tuner data sheet. With the exact Bandswitch format,
you will be able to modify the Bandswitch bytes to work with your own TV tuner.
100029B
Conexant
Preliminary Information/Conexant Proprietary and Confidential
11
PCI Decoders
PCI Decoders
Modifying the Software Development Kit
Customizing PCI Decoder Drivers for Different Tuners
How to Specify the Channel Maps
Once again, in the file “tuner.cpp”, you will find the following code fragments:
///////////////////////////////////////////////////////////////
// Channel Map of frequency bands for NTSC USA air channels
///////////////////////////////////////////////////////////////
TunerBandStruct airNtscBands[] = {
{ 2, 6, bandVHF_LOW },
{ 7, 13, bandVHF_HIGH },
{ 14, 69, bandUHF },
{ 0, 0, 0 } // end marker
};
///////////////////////////////////////////////////////////////
// Channel Map of frequency bands for NTSC USA cable channels
///////////////////////////////////////////////////////////////
TunerBandStruct cableNtscBands[] = {
{ 1, 6, bandVHF_LOW },
{ 7, 13, bandVHF_HIGH },
{ 14, 20, bandVHF_LOW },
{ 21, 62, bandVHF_HIGH },
{ 63, 94, bandUHF },
{ 95, 99, bandVHF_LOW },
{ 100, 125, bandUHF },
{ 0, 0, 0 } // end marker
};
///////////////////////////////////////////////////////////////
//Channel Map of frequency bands for NTSC USA cable channels for
//Alps TSCH5
///////////////////////////////////////////////////////////////
TunerBandStruct AlpsCableNtscBands[] = {
{ 1, 6, bandVHF_LOW },
{ 7, 13, bandVHF_HIGH },
{ 14, 15, bandVHF_LOW },
{ 16, 47, bandVHF_HIGH },
{ 48, 94, bandUHF },
{ 95, 99, bandVHF_LOW },
{ 100, 125, bandUHF },
{ 0, 0, 0 } // end marker
};
The purpose of the channel maps is to map each channel number to one of the three frequency
bands. Without the channel map, one cannot specify the correct Bandswitch byte when tuning to a
specific channel. You will need to refer to the data sheet of the tuner you are using to find out the
frequency range for each of the three bands. Do not assume that the frequency range is the same
for all tuners. The channel coverage chart in the tuner data sheet will specify the frequency
range for the various bands. The following table is taken from the data sheet of the Temic
4036FY5 (NTSC) TV tuner. You will find something similar in most tuner data sheets.
12
Conexant
Preliminary Information/Conexant Proprietary and Confidential
100029B
PCI Decoders
PCI Decoders
Customizing PCI Decoder Drivers for Different Tuners
Modifying the Software Development Kit
Table 5. Channel Coverage Chart for Temic 4036FY5 (NTSC) Tuner
Band
Channels (FRF)
Low band
54 to 157.25 MHz
Mid band
162.00 to 451.25 MHz
High band
456.00 to 801.25 MHz
Assuming that you are using a Temic 4036FY5 (NTSC) tuner and you wish to build a channel
map for broadcast television in the United States. Table 1 lists the video carrier frequencies for all NTSC
(M) broadcast channels. Channels 2 through 6 have frequencies in the range of 55.25 MHz to 83.25
MHz, so they belong to the Low band. Channels 7 through 13 have frequencies between 175.25 MHz to
211.25 MHz which means that they belong to the Mid band. Channels 14 through 69 have frequencies in
the range of 471.25 MHz to 801.25 MHz, so they belong to the High band. In the airNtscBands array
above, you will see that we have defined channels 2 through 6 in the VHF_LOW band, channels 7
through 13 in the VHF_HIGH band and finally channels 14 through 69 in the UHF band.
You have to add your own channel map arrays for the broadcast standard that you wish to
support. Bear in mind that the channel coverage for different tuners and different broadcast standards are
different. If you don’t specify the bands according to the channel coverage chart of your tuner, you will
not be able to tune to certain channels. For a complete list of frequency values for various video
standards, please refer to Rockwell’s Application Note “Broadcast and Cable Television Frequency
Standards”.
After you have added your own channel maps, make sure you modify the GetControlWord
member method for the Tuner class to use your own channel map instead of the supplied one. A detailed
explanation of how to modify the member method is beyond the scope of this application note.
Compiling the Code
Once you have added you own Divider Bytes arrays, Control Bytes and Bandswitch Bytes
arrays and the channel maps arrays, you will need to re-compile tuner.cpp to generate a new grappler.dll
file. Basically, you will need to make use of the make files supplied in the PCI Decoder Software
Development Kit.
Upon successful compilation, you will get a new “grappler.dll” file which will support both
NTSC and the television standard you have decided to use. If you choose to modify the various arrays
above, you will end up with a new “grappler.dll” file which will only support the television standard you
have decided to use. Simply replace the original grappler.dll file with the new one. You can find the
grappler.dll file in your windows\system directory.
Once you have tested the new grappler.dll file, you will need to modify your own driver
installation program to use the new version. Another option is to replace the original grappler.dll file
with your own version and distribute it with the rest of the PCI Decoder drivers.
100029B
Conexant
Preliminary Information/Conexant Proprietary and Confidential
13
PCI Decoders
PCI Decoders
Modifying the Software Development Kit
Customizing PCI Decoder Drivers for Different Tuners
Summary
In summary, to be able to support TV tuners for various video standards outside the United
States, one must execute the following steps:
1. Determine which tuner you need to use for the video standard in the intended country of
operation.
2. Get the data sheet for the tuner and make sure you know the I2C data format of the tuner.
3. If the tuner data sheet does not provide a table for the Divider Bytes, you will need to
calculate the divider byte values and build a table yourself. Refer to Rockwell’s Application
note on “Broadcast and Cable Television Frequency Standards” to find out the actual
frequencies to use. You will need to find out the Intermediate Frequency of the tuner and
calculate the frequency of oscillation for each channel.
4. Modify the “tuner.cpp” file that comes with the Rockwell PCI Decoder Software
Development Kit. Make sure that you modify the various member methods for the Tuner
class to point to the appropriate data structure that you set up for your TV tuner.
5. If you are using Borland C++ version 5.0 and above, use the “grappler.mak” make file to
6. build a new version of the grappler.dll file.
7. If you are using Visual C++ 4.0 and above, use the “m_grappler.mak” make file to build a
new version of the grappler.dll file.
8. Include the new grappler.dll in your own driver installation program..
14
Conexant
Preliminary Information/Conexant Proprietary and Confidential
100029B
Appendix A
Channel maps and divider bytes for different broadcast standards
NTSC (M) TV Broadcast
Table 1 lists the band assignment, video frequencies, and divider bytes for NTSC TV broadcast for a Temic
4036FY5 tuner. The actual Divider Bytes for your selected tuner may vary.
Table A-1. I2C Divider Bytes for NTSC (M) Broadcast TV (Temic 4036FY5 Tuner) (1 of 3)
Band Assignment
Channel Number
Video Carrier (MHz)
Divider Byte1
Divider Byte2
VHF LOW
2
55.25
06
50
3
61.25
06
B0
4
67.25
07
10
5
77.25
07
B0
6
83.25
08
10
7
175.25
0D
D0
8
181.25
0E
30
9
187.25
0E
90
10
193.25
0E
F0
11
199.25
0F
50
12
205.25
0F
B0
13
211.25
10
10
14
471.25
20
50
15
477.25
20
B0
16
483.25
21
10
17
489.2
21
70
18
495.25
21
D0
VHF HIGH
UHF
100029B
Conexant
Preliminary Information/Conexant Proprietary and Confidential
1
PCI Decoders
Appendix A
Customizing PCI Decoder Drivers for Different Tuners
NTSC (M) TV Broadcast
Table A-1. I2C Divider Bytes for NTSC (M) Broadcast TV (Temic 4036FY5 Tuner) (2 of 3)
2
Band Assignment
Channel Number
Video Carrier (MHz)
Divider Byte1
Divider Byte2
UHF
19
501.25
22
30
20
507.25
22
90
21
513.25
22
F0
22
519.25
23
50
23
525.25
23
B0
24
531.25
24
10
25
537.25
24
70
26
543.25
24
D0
27
549.25
25
30
28
555.25
25
90
29
561.25
25
F0
30
567.25
26
50
31
573.25
26
B0
32
579.25
27
10
33
585.25
27
70
34
591.25
27
D0
35
597.25
28
30
36
603.25
28
90
37
609.25
28
F0
38
615.25
29
50
39
621.25
29
B0
40
627.25
2A
10
41
633.25
2A
70
42
639.25
2A
D0
43
645.25
2B
30
44
651.25
2B
90
45
657.25
2B
F0
46
663.25
2C
50
47
669.25
2C
B0
48
675.25
2D
10
49
681.25
2D
70
50
687.25
2D
D0
51
693.25
2E
30
Conexant
Preliminary Information/Conexant Proprietary and Confidential
100029B
PCI Decoders
Appendix A
Customizing PCI Decoder Drivers for Different Tuners
NTSC (M) TV Broadcast
Table A-1. I2C Divider Bytes for NTSC (M) Broadcast TV (Temic 4036FY5 Tuner) (3 of 3)
Band Assignment
Channel Number
Video Carrier (MHz)
Divider Byte1
Divider Byte2
UHF
51
693.25
2E
30
52
699.25
2E
90
53
705.25
2E
F0
54
711.25
2F
50
55
717.25
2F
B0
56
723.25
30
10
57
729.25
30
70
58
735.25
30
D0
59
741.25
31
30
60
747.25
31
90
61
753.25
31
F0
62
759.25
32
50
63
765.25
32
B0
64
771.25
33
10
65
777.25
33
70
66
783.25
33
D0
67
789.25
34
30
68
795.25
34
90
69
801.25
34
F0
100029B
Conexant
Preliminary Information/Conexant Proprietary and Confidential
3
PCI Decoders
Appendix A
Customizing PCI Decoder Drivers for Different Tuners
NTSC Cable TV
NTSC Cable TV
Table 2 lists the band assignment, video frequencies, and Divider codes for NTSC Cable TV for a Temic
4036FY5 NTSC tuner. The actual Divider bytes for your selected tuner may vary.
Table A-2. I2C Divider Bytes for NTSC Cable TV (Temic 4036FY5 Tuner) (1 of 5)
Band
Assignment
Channel
Number
Video Carrier
(MHz)
Divider Byte1
Divider Byte2
VHF LOW
1
73.25
07
70
2
55.25
06
50
3
61.25
06
B0
4
67.25
07
10
5
79.25
07
B0
6
85.25
08
10
7
175.25
0D
D0
8
181.25
0E
30
9
187.25
0E
90
10
193.25
0E
F0
11
199.25
0F
50
12
205.25
0F
B0
13
211.25
10
10
14
121.25
0A
70
15
127.25
0A
D0
16
133.25
0B
30
17
139.25
0B
90
18
145.25
0B
F0
19
151.25
0C
50
20
157.25
0C
B0
VHF HIGH
VHF LOW
4
Conexant
Preliminary Information/Conexant Proprietary and Confidential
100029B
PCI Decoders
Appendix A
Customizing PCI Decoder Drivers for Different Tuners
NTSC Cable TV
Table A-2. I2C Divider Bytes for NTSC Cable TV (Temic 4036FY5 Tuner) (2 of 5)
Band
Assignment
Channel
Number
Video Carrier
(MHz)
Divider Byte1
Divider Byte2
VHF HIGH
21
163.25
0D
10
22
169.25
0D
70
23
217.25
10
70
24
223.25
10
D0
25
229.25
11
30
26
235.25
11
90
27
241.25
11
F0
28
247.25
12
50
29
253.25
12
B0
30
259.25
13
10
31
265.25
13
70
32
271.25
13
D0
33
277.25
14
30
34
283.25
14
90
35
289.25
14
F0
36
295.25
15
50
37
301.25
15
B0
38
307.25
16
10
39
313.25
16
70
40
319.25
16
D0
41
325.25
17
30
42
331.25
17
90
43
337.25
17
F0
44
343.25
18
50
45
349.25
18
B0
46
355.25
19
10
47
361.25
19
70
48
367.25
19
D0
49
373.25
1A
30
50
379.25
1A
90
51
385.25
1A
F0
52
391.25
1B
50
100029B
Conexant
Preliminary Information/Conexant Proprietary and Confidential
5
PCI Decoders
Appendix A
Customizing PCI Decoder Drivers for Different Tuners
NTSC Cable TV
Table A-2. I2C Divider Bytes for NTSC Cable TV (Temic 4036FY5 Tuner) (3 of 5)
Band
Assignment
Channel
Number
Video Carrier
(MHz)
Divider Byte1
Divider Byte2
VHF HIGH
53
397.25
1B
B0
54
403.25
1C
10
55
409.25
1C
70
56
415.25
1C
D0
57
421.25
1D
30
58
427.25
1D
90
59
433.25
1D
F0
60
439.25
1E
50
61
445.25
1E
B0
62
451.25
1F
10
63
457.25
1F
70
64
463.25
1F
D0
65
469.25
20
30
66
475.25
20
90
67
481.25
20
F0
68
487.25
21
50
69
493.25
21
B0
70
499.25
22
10
71
505.25
22
70
72
511.25
22
D0
73
517.25
23
30
74
523.25
23
90
75
529.25
23
F0
76
535.25
24
50
77
541.25
24
B0
78
547.25
25
10
79
553.25
25
70
80
559.25
25
D0
81
565.25
26
30
82
571.25
26
90
83
577.25
26
F0
84
583.25
27
50
85
589.25
27
B0
UHF
6
Conexant
Preliminary Information/Conexant Proprietary and Confidential
100029B
PCI Decoders
Appendix A
Customizing PCI Decoder Drivers for Different Tuners
NTSC Cable TV
Table A-2. I2C Divider Bytes for NTSC Cable TV (Temic 4036FY5 Tuner) (4 of 5)
Band
Assignment
Channel
Number
Video Carrier
(MHz)
Divider Byte1
Divider Byte2
UHF
86
595.25
28
10
87
601.25
28
70
88
607.25
28
D0
89
613.25
29
30
90
619.25
29
90
91
625.25
29
F0
92
631.25
2A
50
93
637.25
2A
B0
94
643.25
2B
10
95
91.25
08
90
96
97.25
08
F0
97
103.25
09
50
98
109.25
09
B0
99
115.25
0A
10
100
649.25
2B
70
101
655.25
2B
D0
102
661.25
2C
30
103
667.25
2C
90
104
673.25
2C
F0
105
679.25
2D
50
106
685.25
2D
B0
107
691.25
2E
10
108
697.25
2E
70
109
703.25
2E
D0
110
709.25
2F
30
111
715.25
2F
90
112
721.25
2F
F0
113
727.25
30
50
114
733.25
30
B0
115
739.25
31
10
116
745.25
31
70
117
751.25
31
D0
VHF LOW
UHF
100029B
Conexant
Preliminary Information/Conexant Proprietary and Confidential
7
PCI Decoders
Appendix A
Customizing PCI Decoder Drivers for Different Tuners
NTSC Cable TV
Table A-2. I2C Divider Bytes for NTSC Cable TV (Temic 4036FY5 Tuner) (5 of 5)
8
Band
Assignment
Channel
Number
Video Carrier
(MHz)
Divider Byte1
Divider Byte2
UHF
118
757.25
32
30
119
763.25
32
90
120
769.25
32
F0
121
775.25
33
50
122
781.25
33
B0
123
787.25
34
10
124
793.25
34
70
125
799.25
34
D0
Conexant
Preliminary Information/Conexant Proprietary and Confidential
100029B
PCI Decoders
Appendix A
Customizing PCI Decoder Drivers for Different Tuners
PAL TV Tuner
PAL TV Tuner
PAL (B, G):
Table 3 lists the band assignment, video frequencies, and Divider codes for PAL (B, G) broadcast TV for the
Temic 4002FH5 Tuner. The actual Divider Bytes for your selected tuner may vary.
a.
Table A-3. I2C Divider Bytes for PAL (B,G) Broadcast TV (Temic 4002FH5 Tuner ) (1 of 2)
Band Assignment
Channel Number
Video Carrier
(MHz)
Divider Byte 1
Divider Byte 2
VHF LOW
2
48.25
05
72
3
55.25
05
E2
4
62.25
06
52
5
175.25
0D
62
6
182.25
0D
D2
7
189.25
0E
42
8
196.25
0E
B2
9
203.25
0F
22
10
210.25
0F
92
11
217.25
10
02
12
224.25
10
72
21
471.25
1F
E2
22
479.25
20
62
23
487.25
20
E2
24
495.25
21
62
25
503.25
21
E2
26
511.25
22
62
27
519.25
22
E2
28
527.25
23
62
29
535.25
23
E2
30
543.25
24
62
31
551.25
24
E2
32
559.25
25
62
33
567.25
25
E2
34
575.25
26
62
35
583.25
26
E2
VHF HIGH
UHF
100029B
Conexant
Preliminary Information/Conexant Proprietary and Confidential
9
PCI Decoders
Appendix A
Customizing PCI Decoder Drivers for Different Tuners
PAL TV Tuner
Table A-3. I2C Divider Bytes for PAL (B,G) Broadcast TV (Temic 4002FH5 Tuner ) (2 of 2)
10
Band Assignment
Channel Number
Video Carrier
(MHz)
Divider Byte 1
Divider Byte 2
UHF
36
591.25
27
62
37
599.25
27
E2
38
607.25
28
62
39
615.25
28
E2
40
623.25
29
62
41
631.25
29
E2
42
639.25
2A
62
43
647.25
2A
E2
44
655.25
2B
62
45
663.25
2B
E2
46
671.25
2C
62
47
679.25
2C
E2
48
687.25
2D
62
49
695.25
2D
E2
50
703.25
2E
62
51
711.25
2E
E2
52
719.25
2F
62
53
727.25
2F
E2
54
735.25
30
62
55
743.25
30
E2
56
751.25
31
62
57
759.25
31
E2
58
767.25
32
62
59
775.25
32
E2
60
783.25
33
62
61
791.25
33
E2
62
799.25
34
62
63
807.25
34
E2
64
815.25
35
62
65
823.25
35
E2
66
831.25
36
62
67
839.25
36
E2
68
847.25
37
62
69
855.25
37
E2
Conexant
Preliminary Information/Conexant Proprietary and Confidential
100029B
PCI Decoders
Appendix A
Customizing PCI Decoder Drivers for Different Tuners
PAL (B, G) Cable TV
PAL (B, G) Cable TV
Table 4 lists the I2C Divider Bytes for PAL (B, G) Cable TV for the Temic 4002FH5 Tuner. The actual Divider Bytes
for your selected tuner may vary.
Table A-4. I2C Divider Bytes for PAL(B,G) Cable TV (Temic 4002FH5 Tuner) (1 of 4)
Band
Assignment
Channel Number
Video Carrier
(MHz)
Divider Byte1
Divider Byte 2
VHF LOW
E02
48.25
05
72
E03
55.25
05
E2
E04
62.25
06
52
E05
175.25
0D
62
E06
182.25
0D
D2
E07
189.25
0E
42
E08
196.25
0E
B2
E09
203.25
0F
22
E10
210.25
0F
92
E11
217.25
10
02
E12
224.25
10
72
E21
471.25
1F
E2
E22
479.25
20
62
E23
487.25
20
E2
E24
495.25
21
62
E25
503.25
21
E2
E26
511.25
22
62
E27
519.25
22
E2
E28
527.25
23
62
E29
535.25
23
E2
E30
543.25
24
62
E31
551.25
24
E2
E32
559.25
25
62
E33
567.25
25
E2
E34
575.25
26
62
VHF HIGH
UHF
100029B
Conexant
Preliminary Information/Conexant Proprietary and Confidential
11
PCI Decoders
Appendix A
Customizing PCI Decoder Drivers for Different Tuners
PAL (B, G) Cable TV
Table A-4. I2C Divider Bytes for PAL(B,G) Cable TV (Temic 4002FH5 Tuner) (2 of 4)
12
Band
Assignment
Channel Number
Video Carrier
(MHz)
Divider Byte1
Divider Byte 2
UHF
E35
583.25
26
E2
E36
591.25
27
62
E37
599.25
27
E2
E38
607.25
28
62
E39
615.25
28
E2
E40
623.25
29
62
E41
631.25
29
E2
E42
639.25
2A
62
E43
647.25
2A
E2
E44
655.25
2B
62
E45
663.25
2B
E2
E46
671.25
2C
62
E47
679.25
2C
E2
E48
687.25
2D
62
E49
695.25
2D
E2
E50
703.25
2E
62
E51
711.25
2E
E2
E52
719.25
2F
62
E53
727.25
2F
E2
E54
735.25
30
62
E55
743.25
30
E2
E56
751.25
31
62
E57
759.25
31
E2
E58
767.25
32
62
E59
775.25
32
E2
E60
783.25
33
62
E61
791.25
33
E2
E62
799.25
34
62
E63
807.25
34
E2
Conexant
Preliminary Information/Conexant Proprietary and Confidential
100029B
PCI Decoders
Appendix A
Customizing PCI Decoder Drivers for Different Tuners
PAL (B, G) Cable TV
Table A-4. I2C Divider Bytes for PAL(B,G) Cable TV (Temic 4002FH5 Tuner) (3 of 4)
Band
Assignment
Channel Number
Video Carrier
(MHz)
Divider Byte1
Divider Byte 2
UHF
E64
815.25
35
62
E65
823.25
35
E2
E66
831.25
36
62
E67
839.25
36
E2
E68
847.25
37
62
E69
855.25
37
E2
S1
105.25
09
02
S2
112.25
09
72
S3
119.25
09
E2
S4
126.25
0A
52
S5
133.25
0A
C2
S6
140.25
0B
32
S7
147.25
0B
A2
S8
154.25
0C
12
S9
161.25
0C
82
S10
168.25
0C
F2
S11
231.25
10
E2
S12
238.25
11
52
S13
245.25
11
C2
S14
252.25
12
32
S15
259.25
12
A2
S16
266.25
13
12
S17
273.25
13
82
S18
280.25
13
F2
S19
287.25
14
62
S20
294.25
14
D2
S21
303.25
15
62
S22
311.25
15
E2
S23
319.25
16
62
S24
327.25
16
E2
S25
335.25
17
62
VHF LOW
VHF HIGH
100029B
Conexant
Preliminary Information/Conexant Proprietary and Confidential
13
PCI Decoders
Appendix A
Customizing PCI Decoder Drivers for Different Tuners
PAL (B, G) Cable TV
Table A-4. I2C Divider Bytes for PAL(B,G) Cable TV (Temic 4002FH5 Tuner) (4 of 4)
Band
Assignment
Channel Number
Video Carrier
(MHz)
Divider Byte1
Divider Byte 2
VHF HIGH
S26
343.25
17
E2
S27
351.25
18
62
S28
359.25
18
E2
S29
367.25
19
62
S30
375.25
19
E2
S31
383.25
1A
62
S32
391.25
1A
E2
S33
399.25
1B
62
S34
407.25
1B
E2
S35
415.25
1C
62
S36
423.25
1C
E2
S37
431.25
1D
62
S38
439.25
1D
E2
S39
447.25
1E
62
S40
455.25
1E
E2
S41
463.25
1F
62
UHF
Control Code for Various Tuners
The following tables list the Control Bytes and Bandswitch Bytes for various tuners. The actual control codes for
your tuner may be different. Check the data sheet of your tuner.
1.
NTSC Control Byte and Bandswitch Byte for various tuners:
Table A-5. I2C Control and Bandswitch Bytes for Various NTSC Tuners
Tuner Manufacturer
Band Assignment
Control Byte
Bandswitch Byte
Temic
4032FY5
VHF LOW
VHF HIGH
UFH
8E
8E
8E
02
04
01
Phillips
FM1236
VHF LOW
VHF HIGH
UFH
CE
CE
CE
A0
90
30
ALPS
TSCH5
VHF LOW
VHF HIGH
UFH
C2
C2
C2
14
12
11
2.
14
PAL Control Bytes and Bandswitch Byte for various tuners:
Conexant
Preliminary Information/Conexant Proprietary and Confidential
100029B
PCI Decoders
Appendix A
Customizing PCI Decoder Drivers for Different Tuners
PAL (B, G) Cable TV
Table A-6. I2C Control and Bandswitch Bytes for Various PAL Tuners
Tuner Manufacturer
Band Assignment
Control Byte
Bandswitch Byte
Temic
4002FH5
VHF LOW
VHF HIGH
UFH
8E
8E
8E
02
04
01
Phillips
FM1246
VHF LOW
VHF HIGH
UFH
CE
CE
CE
A0
90
30
ALPS
TSBE1
VHF LOW
VHF HIGH
UFH
C8
C8
C8
05
02
08
Notes:
100029B
Conexant
Preliminary Information/Conexant Proprietary and Confidential
15
PCI Decoders
Appendix A
PAL (B, G) Cable TV
16
Customizing PCI Decoder Drivers for Different Tuners
Conexant
Preliminary Information/Conexant Proprietary and Confidential
100029B
0.0 Sales Offices
Further Information
literature@conexant.com
(800) 854-8099 (North America)
(949) 483-6996 (International)
Printed in USA
World Headquarters
Conexant Systems, Inc.
4311 Jamboree Road
Newport Beach, CA
92660-3007
Phone: (949) 483-4600
Fax 1: (949) 483-4078
Fax 2: (949) 483-4391
Europe North – England
Phone: +44 1344 486444
Fax:
+44 1344 486555
Europe – Israel/Greece
Phone: +972 9 9524000
Fax:
+972 9 9573732
Europe South – France
Phone: +33 1 41 44 36 51
Fax:
+33 1 41 44 36 90
Europe Mediterranean – Italy
Phone: +39 02 93179911
Fax:
+39 02 93179913
Americas
U.S. Northwest/
Pacific Northwest – Santa Clara
Phone: (408) 249-9696
Fax:
(408) 249-7113
U.S. Southwest – Los Angeles
Phone: (805) 376-0559
Fax:
(805) 376-8180
Europe – Sweden
Phone: +46 (0) 8 5091 4319
Fax:
+46 (0) 8 590 041 10
Europe – Finland
Phone: +358 (0) 9 85 666 435
Fax:
+358 (0) 9 85 666 220
Asia – Pacific
U.S. Southwest – Orange County
Phone: (949) 483-9119
Fax:
(949) 483-9090
Taiwan
Phone: (886-2) 2-720-0282
Fax:
(886-2) 2-757-6760
U.S. Southwest – San Diego
Phone: (858) 713-3374
Fax:
(858) 713-4001
Australia
Phone: (61-2) 9869 4088
Fax:
(61-2) 9869 4077
U.S. North Central – Illinois
Phone: (630) 773-3454
Fax:
(630) 773-3907
China – Central
Phone: 86-21-6361-2515
Fax:
86-21-6361-2516
U.S. South Central – Texas
Phone: (972) 733-0723
Fax:
(972) 407-0639
China – South
Phone: (852) 2 827-0181
Fax:
(852) 2 827-6488
U.S. Northeast – Massachusetts
Phone: (978) 367-3200
Fax:
(978) 256-6868
China – South (Satellite)
Phone: (86) 755-5182495
U.S. Southeast – North Carolina
Phone: (919) 858-9110
Fax:
(919) 858-8669
U.S. Southeast – Florida/
South America
Phone: (727) 799-8406
Fax:
(727) 799-8306
U.S. Mid-Atlantic – Pennsylvania
Phone: (215) 244-6784
Fax:
(215) 244-9292
Canada – Ontario
Phone: (613) 271-2358
Fax:
(613) 271-2359
China – North
Phone: (86-10) 8529-9777
Fax:
(86-10) 8529-9778
India
Phone: (91-11) 692-4789
Fax:
(91-11) 692-4712
Korea
Phone: (82-2) 565-2880
Fax:
(82-2) 565-1440
Korea (Satellite)
Phone: (82-53) 745-2880
Fax:
(82-53) 745-1440
Singapore
Phone: (65) 737 7355
Fax:
(65) 737 9077
Europe
Europe Central – Germany
Phone: +49 89 829-1320
Fax:
+49 89 834-2734
Japan
Phone: (81-3) 5371 1520
Fax:
(81-3) 5371 1501
www.conexant.com