|
|
Wiki > Main > FmTunerHardware (compare)
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Difference: FmTunerHardware (r19 vs. r18)Overview of FM tuner chipsIntroductionThis page gives an overview of the various FM chips in current Rockbox targets and experimental Rockbox ports. Philips/NXP TEA5700 familyThis family of FM tuners is the most popular in rockbox targets. TEA5760/TEA5761Supported in rockbox by the tea5760uk.c driver. These chips are used in:
TEA5767Supported in rockbox by the tea5767.c driver. These chips are used in:
Sanyo LV24000 familyGeneral features:
These chips are used in:
Silicon Laboratories Si4700 familyGeneral features:
Some models of this chip provide RDS support (Si4701 and Si4703). Si4700/Si4702These chips are basic FM tuners, without RDS support. The Si4700 and Si4702 are supported by the rockbox si4700.c driver. These chips are used in:
Si4701/Si4703These chips provide the same functionality as the Si4700/Si4702 but with RDS support added. RDS is not yet supported by rockbox. These chips are used in:
Quite similar to the Si4700 chips (even the same I2C? address), but with a different register map. RDA5802This chip is used in some Sansa Clip+ players. It is made by RDA Microelectronics and is remarkably similar to the Si4700, but with a different register layout. This chip appears to have 32 registers of 16-bit each. Writes start at register 0x02, read start at register 0x0A (similar to si4700). The first 16 registers are shown below.
Radio chip detection
Read 128 bytes from the chip, check if bytes[4] == 0x58. If this is the case, the chip has been detected. Now write 2 bytes (0x200) and wait a bit (10 ms), then check bytes[6] and compare against 0. If 0, write a set of 72 initialisation values, else write a set of 82 initialisation values. Set or clear the DMUTE bit, just like the si4700. Also set bits 9 and 10 of register 0x04 and the four lowest bits of register 5 (VOLUME). Set or clear the MONO bit, just like the si4700. Write the 2-bit band code in BAND, similar to the si4700, but in a different location. The lowest bit of BAND indicates the start of the band as follows: 0 = 76 MHz, 1 = 87 MHz Write either 0 (powerdown) or 1 (powerup) to register 0x02. Set register bits 9 and 10 of register 0x04. On un-mute, clear bit 9 of register 0x04. On mute, set bits 9 and 10 of register 0x04. Set or clear bit 11 of register 0x04, just like the si4700. Write the 2-bit channel space code in SPACE, similar to si4700, but in a different location. Calculate the channel code CHAN = (Fdesired - Flow) / 50 KHz, where Fdesired is the frequency to tune to and Flow is the lowest frequency in this band. Then write CHAN together with the TUNE bit set. Wait 70 ms, read 4 bytes status. Verify that READCHAN = CHAN and that STC is set, if so we're done, otherwise clear TUNE and try the whole procedure again up to 25 times. Read 4 bytes from the radio chip. If AFCRL is set, assume 0, otherwise return RSSI bits. Samsung S1A0903X01Supported in rockbox by the s1a0903x01.c driver Used in:
Niigata familyThere is no driver yet for this family of FM tuners in rockbox. General features:
These chips are used in:
r22 - 19 Mar 2012 - 21:49:14 - BertrikSikken
Revision r19 - 21 Jun 2010 - 13:50 - BertrikSikkenRevision r18 - 16 Jun 2010 - 16:45 - BertrikSikken Copyright © by the contributing authors.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||