Difference between revisions of "Quantek QT1010"

From LinuxTVWiki
Jump to: navigation, search
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 19:11, 27 December 2009

The Quantek QT1010 is a wideband tuner chip.

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