|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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:
Silicon Laboratories Si4700 familyGeneral features:
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:
Mystery Silabs chip in some Sansa Clip+
Radio chip detectionRead 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.Mute radioSet 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).Force monoSet or clear the MONO bit, just like the si4700.Set bandWrite 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 MHzPower downWrite either 0 (powerdown) or 1 (powerup) to register 0x02. Set register bits 9 and 10 of register 0x04.Set soft-muteOn un-mute, clear bit 9 of register 0x04. On mute, set bits 9 and 10 of register 0x04.Set de-emphasisSet or clear bit 11 of register 0x04, just like the si4700.Set channel spacingWrite the 2-bit channel space code in SPACE, similar to si4700, but in a different location.Set frequencyCalculate 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 RSSIRead 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:
r14 - 12 Jun 2010 - 14:25:10 - BertrikSikken
Copyright © by the contributing authors.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||