Quantek QT1010
From LinuxTVWiki
(Difference between revisions)
m (→Features) |
(How to init the QT1010) |
||
| Line 8: | Line 8: | ||
==External Links== | ==External Links== | ||
[http://www.quantek-inc.com/qt1010.html QT1010 Product page at qantek-inc.com] | [http://www.quantek-inc.com/qt1010.html QT1010 Product page at qantek-inc.com] | ||
| + | |||
| + | ==Description of how to program the chip== | ||
| + | |||
| + | ===Tuner context=== | ||
| + | |||
| + | The tuner has a global context for some variables. They can be used anytime in the init and set methods. | ||
| + | |||
| + | * reg31 | ||
| + | * reg32 | ||
| + | * reg34 | ||
| + | * reg34_1 | ||
| + | * reg34_2 | ||
| + | * reg34_3 | ||
| + | * reg34_4 | ||
| + | * reg34_5 | ||
| + | * reg34_6 | ||
| + | * reg34_7 | ||
| + | * reg34_8 | ||
| + | * reg37 | ||
| + | * reg38 | ||
| + | |||
| + | ===Tuner Init=== | ||
| + | |||
| + | * write 0x80 to tuner register 1 | ||
| + | * write 0x84 to tuner register 13 | ||
| + | * write 0xB4 to tuner register 14* | ||
| + | * write 0x23 to tuner register 42 | ||
| + | * write 0xDC to tuner register 44 | ||
| + | * write 0x40 to tuner register 37 | ||
| + | * write 0x00 to tuner register 30 | ||
| + | * write 0x81 to tuner register 30 | ||
| + | |||
| + | * loop 30 times | ||
| + | ** read tuner register 37 into reg37 | ||
| + | ** if reg37 bit 8 is set | ||
| + | *** break out of loop | ||
| + | |||
| + | * read tuner register 37 into reg37 | ||
| + | * write 0x00 to tuner register 30 | ||
| + | * write 0x23 to tuner register 42 | ||
| + | * write 0x70 to tuner register 43 | ||
| + | * write 0x08 to tuner register 38 | ||
| + | * write 0x00 to tuner register 30 | ||
| + | * write 0x82 to tuner register 30 | ||
| + | |||
| + | * loop 30 times | ||
| + | ** read tuner register 38 into reg38 | ||
| + | ** if reg38 bit 5 is set | ||
| + | *** break out of loop | ||
| + | |||
| + | * read tuner register 38 into reg38 | ||
| + | * write 0x00 to tuner register 30 | ||
| + | * write 0x14 to tuner register 5 | ||
| + | * write 0x44 to tuner register 6 | ||
| + | * write 0x28 to tuner register 7 | ||
| + | * write 0x0B to tuner register 8 | ||
| + | * write 0xFD to tuner register 17* | ||
| + | * write 0x80 to tuner register 1 | ||
| + | * write 0x80 to tuner register 1 | ||
| + | * write 0x80 to tuner register 1 | ||
| + | * write 0x80 to tuner register 1 | ||
| + | * write 0x80 to tuner register 1 | ||
| + | * write 0x80 to tuner register 1 | ||
| + | * write 0x80 to tuner register 1 | ||
| + | * write 0x80 to tuner register 1 | ||
| + | * write 0x80 to tuner register 1 | ||
| + | * write 0x80 to tuner register 1 | ||
| + | * write 0x0D to tuner register 34 | ||
| + | * write 0x00 to tuner register 30 | ||
| + | * write 0xD0 to tuner register 30 | ||
| + | |||
| + | * loop 30 times | ||
| + | ** read tuner register 34 | ||
| + | ** if register 34 bit 6 is set | ||
| + | *** break out of loop | ||
| + | |||
| + | * write 0x00 to tuner register 30 | ||
| + | * write 0x40 to tuner register 6 | ||
| + | * write 0xF0 to tuner register 22 | ||
| + | * write 0x38 to tuner register 2 | ||
| + | * write 0x19 to tuner register 3 | ||
| + | * write 0x20 to tuner register 31 | ||
| + | * write 0xE0 to tuner register 32 | ||
| + | * write 0x00 to tuner register 30 | ||
| + | * write 0x84 to tuner register 30 | ||
| + | |||
| + | * loop 30 times | ||
| + | ** read tuner register 31 into reg31 | ||
| + | ** if register 31 bit 7 is set | ||
| + | *** break out of loop | ||
| + | |||
| + | * read tuner register 31 into reg31 | ||
| + | * read tuner register 32 into reg32 | ||
| + | * write 0x00 to tuner register 30 | ||
| + | * write 0x3F to tuner register 2 | ||
| + | * write 0x53 to tuner register 33 | ||
| + | * read tuner register 33 into reg33 | ||
| + | * write 0xFD to tuner register 17* | ||
| + | * write 0x34 to tuner register 5 | ||
| + | * write 0x44 to tuner register 6 | ||
| + | * write 0x31 to tuner register 7 | ||
| + | * write 0x08 to tuner register 8 | ||
| + | * write 0xD0 to tuner register 34 | ||
| + | * write 0x00 to tuner register 30 | ||
| + | * write 0xD0 to tuner register 30 | ||
| + | |||
| + | * loop 30 times | ||
| + | ** read tuner register 34 | ||
| + | ** if register 34 bit 6 is set | ||
| + | *** break out of loop | ||
| + | |||
| + | * write 0x00 to tuner register 30 | ||
| + | * read tuner register 34 into reg34_1 | ||
| + | * write 0x32 to tuner register 7 | ||
| + | * write 0xD0 to tuner register 34 | ||
| + | * write 0x00 to tuner register 30 | ||
| + | * write 0xD0 to tuner register 30 | ||
| + | |||
| + | * loop 30 times | ||
| + | ** read tuner register 34 | ||
| + | ** if register 34 bit 6 is set | ||
| + | *** break out of loop | ||
| + | |||
| + | * write 0x00 to tuner register 30 | ||
| + | * read tuner register 34 into reg34_2 | ||
| + | * write 0x33 to tuner register 7 | ||
| + | * write 0xD0 to tuner register 34 | ||
| + | * write 0x00 to tuner register 30 | ||
| + | * write 0xD0 to tuner register 30 | ||
| + | |||
| + | |||
| + | * loop 30 times | ||
| + | ** read tuner register 34 | ||
| + | ** if register 34 bit 6 is set | ||
| + | *** break out of loop | ||
| + | |||
| + | * write 0x00 to tuner register 30 | ||
| + | * read tuner register 34 into reg34_3 | ||
| + | * write 0x34 to tuner register 7 | ||
| + | * write 0xD0 to tuner register 34 | ||
| + | * write 0x00 to tuner register 30 | ||
| + | * write 0xD0 to tuner register 30 | ||
| + | |||
| + | * loop 30 times | ||
| + | ** read tuner register 34 | ||
| + | ** if register 34 bit 6 is set | ||
| + | *** break out of loop | ||
| + | |||
| + | * write 0x00 to tuner register 30 | ||
| + | * read tuner register 34 into reg34_4 | ||
| + | * write 0x35 to tuner register 7 | ||
| + | * write 0xD0 to tuner register 34 | ||
| + | * write 0x00 to tuner register 30 | ||
| + | * write 0xD0 to tuner register 30 | ||
| + | |||
| + | |||
| + | * loop 30 times | ||
| + | ** read tuner register 34 | ||
| + | ** if register 34 bit 6 is set | ||
| + | *** break out of loop | ||
| + | |||
| + | * write 0x00 to tuner register 30 | ||
| + | * read tuner register 34 into reg34_5 | ||
| + | * write 0x36 to tuner register 7 | ||
| + | * write 0xD0 to tuner register 34 | ||
| + | * write 0x00 to tuner register 30 | ||
| + | * write 0xD0 to tuner register 30 | ||
| + | |||
| + | * loop 30 times | ||
| + | ** read tuner register 34 | ||
| + | ** if register 34 bit 6 is set | ||
| + | *** break out of loop | ||
| + | |||
| + | * write 0x00 to tuner register 30 | ||
| + | * read tuner register 34 into reg34_6 | ||
| + | * write 0x37 to tuner register 7 | ||
| + | * write 0xD0 to tuner register 34 | ||
| + | * write 0x00 to tuner register 30 | ||
| + | * write 0xD0 to tuner register 30 | ||
| + | |||
| + | |||
| + | * loop 30 times | ||
| + | ** read tuner register 34 | ||
| + | ** if register 34 bit 6 is set | ||
| + | *** break out of loop | ||
| + | |||
| + | * write 0x00 to tuner register 30 | ||
| + | * read tuner register 34 into reg34_7 | ||
| + | * write 0x38 to tuner register 7 | ||
| + | * write 0xD0 to tuner register 34 | ||
| + | * write 0x00 to tuner register 30 | ||
| + | * write 0xD0 to tuner register 30 | ||
| + | |||
| + | * loop 30 times | ||
| + | ** read tuner register 34 | ||
| + | ** if register 34 bit 6 is set | ||
| + | *** break out of loop | ||
| + | |||
| + | * write 0x00 to tuner register 30 | ||
| + | * read tuner register 34 into reg34_8 | ||
| + | * write 0x39 to tuner register 7 | ||
| + | * write 0xD0 to tuner register 34 | ||
| + | * write 0x00 to tuner register 30 | ||
| + | * write 0xD0 to tuner register 30 | ||
| + | |||
| + | * loop 30 times | ||
| + | ** read tuner register 34 | ||
| + | ** if register 34 bit 6 is set | ||
| + | *** break out of loop | ||
| + | |||
| + | * write 0xD0 to tuner register 30 | ||
| + | * read tuner register 34 into reg34 | ||
| + | |||
[[Category:Tuners]] | [[Category:Tuners]] | ||
Revision as of 18:11, 27 December 2009
The Quantek QT1010 is a wideband tuner chip.
Contents |
Features
- 48MHz-860MHz frequency range (bands I, II, III, IV).
- 30MHz-60MHz IF output range.
- NTSC, PAL, SECAM broadcast formats.
- DVB-C, DVB-T, ATSC and ISDB-T support.
External Links
QT1010 Product page at qantek-inc.com
Description of how to program the chip
Tuner context
The tuner has a global context for some variables. They can be used anytime in the init and set methods.
- reg31
- reg32
- reg34
- reg34_1
- reg34_2
- reg34_3
- reg34_4
- reg34_5
- reg34_6
- reg34_7
- reg34_8
- reg37
- reg38
Tuner Init
- write 0x80 to tuner register 1
- write 0x84 to tuner register 13
- write 0xB4 to tuner register 14*
- write 0x23 to tuner register 42
- write 0xDC to tuner register 44
- write 0x40 to tuner register 37
- write 0x00 to tuner register 30
- write 0x81 to tuner register 30
- loop 30 times
- read tuner register 37 into reg37
- if reg37 bit 8 is set
- break out of loop
- read tuner register 37 into reg37
- write 0x00 to tuner register 30
- write 0x23 to tuner register 42
- write 0x70 to tuner register 43
- write 0x08 to tuner register 38
- write 0x00 to tuner register 30
- write 0x82 to tuner register 30
- loop 30 times
- read tuner register 38 into reg38
- if reg38 bit 5 is set
- break out of loop
- read tuner register 38 into reg38
- write 0x00 to tuner register 30
- write 0x14 to tuner register 5
- write 0x44 to tuner register 6
- write 0x28 to tuner register 7
- write 0x0B to tuner register 8
- write 0xFD to tuner register 17*
- write 0x80 to tuner register 1
- write 0x80 to tuner register 1
- write 0x80 to tuner register 1
- write 0x80 to tuner register 1
- write 0x80 to tuner register 1
- write 0x80 to tuner register 1
- write 0x80 to tuner register 1
- write 0x80 to tuner register 1
- write 0x80 to tuner register 1
- write 0x80 to tuner register 1
- write 0x0D to tuner register 34
- write 0x00 to tuner register 30
- write 0xD0 to tuner register 30
- loop 30 times
- read tuner register 34
- if register 34 bit 6 is set
- break out of loop
- write 0x00 to tuner register 30
- write 0x40 to tuner register 6
- write 0xF0 to tuner register 22
- write 0x38 to tuner register 2
- write 0x19 to tuner register 3
- write 0x20 to tuner register 31
- write 0xE0 to tuner register 32
- write 0x00 to tuner register 30
- write 0x84 to tuner register 30
- loop 30 times
- read tuner register 31 into reg31
- if register 31 bit 7 is set
- break out of loop
- read tuner register 31 into reg31
- read tuner register 32 into reg32
- write 0x00 to tuner register 30
- write 0x3F to tuner register 2
- write 0x53 to tuner register 33
- read tuner register 33 into reg33
- write 0xFD to tuner register 17*
- write 0x34 to tuner register 5
- write 0x44 to tuner register 6
- write 0x31 to tuner register 7
- write 0x08 to tuner register 8
- write 0xD0 to tuner register 34
- write 0x00 to tuner register 30
- write 0xD0 to tuner register 30
- loop 30 times
- read tuner register 34
- if register 34 bit 6 is set
- break out of loop
- write 0x00 to tuner register 30
- read tuner register 34 into reg34_1
- write 0x32 to tuner register 7
- write 0xD0 to tuner register 34
- write 0x00 to tuner register 30
- write 0xD0 to tuner register 30
- loop 30 times
- read tuner register 34
- if register 34 bit 6 is set
- break out of loop
- write 0x00 to tuner register 30
- read tuner register 34 into reg34_2
- write 0x33 to tuner register 7
- write 0xD0 to tuner register 34
- write 0x00 to tuner register 30
- write 0xD0 to tuner register 30
- loop 30 times
- read tuner register 34
- if register 34 bit 6 is set
- break out of loop
- write 0x00 to tuner register 30
- read tuner register 34 into reg34_3
- write 0x34 to tuner register 7
- write 0xD0 to tuner register 34
- write 0x00 to tuner register 30
- write 0xD0 to tuner register 30
- loop 30 times
- read tuner register 34
- if register 34 bit 6 is set
- break out of loop
- write 0x00 to tuner register 30
- read tuner register 34 into reg34_4
- write 0x35 to tuner register 7
- write 0xD0 to tuner register 34
- write 0x00 to tuner register 30
- write 0xD0 to tuner register 30
- loop 30 times
- read tuner register 34
- if register 34 bit 6 is set
- break out of loop
- write 0x00 to tuner register 30
- read tuner register 34 into reg34_5
- write 0x36 to tuner register 7
- write 0xD0 to tuner register 34
- write 0x00 to tuner register 30
- write 0xD0 to tuner register 30
- loop 30 times
- read tuner register 34
- if register 34 bit 6 is set
- break out of loop
- write 0x00 to tuner register 30
- read tuner register 34 into reg34_6
- write 0x37 to tuner register 7
- write 0xD0 to tuner register 34
- write 0x00 to tuner register 30
- write 0xD0 to tuner register 30
- loop 30 times
- read tuner register 34
- if register 34 bit 6 is set
- break out of loop
- write 0x00 to tuner register 30
- read tuner register 34 into reg34_7
- write 0x38 to tuner register 7
- write 0xD0 to tuner register 34
- write 0x00 to tuner register 30
- write 0xD0 to tuner register 30
- loop 30 times
- read tuner register 34
- if register 34 bit 6 is set
- break out of loop
- write 0x00 to tuner register 30
- read tuner register 34 into reg34_8
- write 0x39 to tuner register 7
- write 0xD0 to tuner register 34
- write 0x00 to tuner register 30
- write 0xD0 to tuner register 30
- loop 30 times
- read tuner register 34
- if register 34 bit 6 is set
- break out of loop
- write 0xD0 to tuner register 30
- read tuner register 34 into reg34