FS#12050 - Ticking noise in the radio screen

Attached to Project: Rockbox
Opened by Tuukka Ojala (tuojal) - Thursday, 07 April 2011, 11:58 GMT
Task Type Bugs
Category FM Tuner
Status Unconfirmed
Assigned To No-one
Operating System Sansa AMSv2
Severity Low
Priority Normal
Reported Version Release 3.8.1
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


While in the fm radio screen, a ticking noise can be heard in the background. When pressing the power button in the radio screen the noise disappears.
This task depends upon

Comment by Andree Buschmann (Buschel) - Thursday, 07 April 2011, 17:38 GMT
Is this the same bug as FS#11915 ?
Comment by Tuukka Ojala (tuojal) - Thursday, 07 April 2011, 18:45 GMT
It could be, although the symptoms aren't exactly the same.
Comment by Tuukka Ojala (tuojal) - Friday, 08 April 2011, 19:07 GMT
Tried again the radio, no noise. After that I tried it one more time and the noise was there again with the same behavior as before.
Comment by Bertrik Sikken (bertrik) - Friday, 08 April 2011, 21:32 GMT
I think this is I2C traffic with the radio tuner chip. The tuner chip is polled to get stereo status and received signal strength indication. This communication is only done in the radio screen itself, so you won't hear it with the radio enabled in the main menu. For me this happens mostly with weak radio stations.
Comment by Stephan Grossklass (keyb_gr) - Thursday, 05 May 2011, 09:33 GMT
That would rather be "medium-strength stations" for me. The noise disappears once RSSI indication goes above 40 dBµV.

I was playing with RDA5802 registers lately, and could get the ticking to disappear by switching input from LNAP to LNAN in register 0x5 (SYSCONFIG3, bits 7:6, LNA_PORT_SEL[1:0]). However, signal levels also dropped by some 10 dB at least (I guess it's connected to ground or somesuch), so that's not really an option either. (The Clip+, like its predecessor, is not exactly a DX machine to begin with.)

I guess the OF just leaves the tuner alone?
Comment by Bertrik Sikken (bertrik) - Friday, 06 May 2011, 12:31 GMT
It looks like the OF leaves the tuner alone, at least it's not showing anything like a stereo indicator or a received-signal-strength indicator on the display.

I'm not sure if this problem can really be solved for rockbox. Polling the radio is how rockbox determines the mono/stereo status and the RSSI (received signal strength indication).

Possibilities as I see them:
* Perhaps there is something wrong with our i2c communication. I think our implementation uses the SDA line in push-pull mode, which could result in short current pulse when changing direction on the SDA line during I2C communication.
* Perhaps there is nothing we can do and the RDA5802 is just really sensitive to I2C communication. In that case, we could consider lowering the poll frequency (maybe once every 10 seconds or 60 seconds, or even only poll once just after tuning).

BTW, there are other "funny" things happening with this radio. For example, it always finds a silent station at 96.00 MHz, I guess this is the 4th harmonic of the 24 MHz crystal frequency used in the AMSv2.
Comment by Stephan Grossklass (keyb_gr) - Sunday, 08 May 2011, 18:38 GMT
The I2C handling should be much the same between Si4702 and RDA5802, shouldn't it? My old ClipV2 with the former chip does not have any such issues (and besides, gets a lot closer to correct deemphasis).

Do we have a way of querying whether the display is on? I do see a RSSI indication that's updated at least once a second as being quite useful, but of course it's not necessary to poll it if it's not visible anyway.

Looking at the pin layout, if anything the RDA part should be better at control-to-input xtalk. I'd be inclined to blame it on PCB routing. Since the Clip+ seems somewhat cost-reduced, I wouldn't be totally surprised if they'd even gone from 4-layer to 2-layer board.

I think you nailed the cause for the 96.0 MHz interference. Things like that are very hard to get rid of in small, cramped, inexpensive devices.
Comment by Bertrik Sikken (bertrik) - Monday, 30 May 2011, 19:14 GMT
Stopping the poll when the display is off indeed seems like a reasonable work-around.
Comment by Kam-Fai Tam (kf_tam) - Thursday, 09 June 2011, 11:02 GMT
Hi, I have an iAudio X5 and its radio exhibits exactly the same problem as decribed here. The ticking noise at the background is very annoying, at roughly four ticks/second. And for most radio station here (all signal strength is (between 25 to 40dBV) the receiption keeps toogling between stereo and mono continously.

True to the description by by Bertrik Sikken (bertrik), if the display is out of the main radio screen, the noise would be gone (eg, go to the Preset List.)
I found that if I forced the receiption to mono, the noise would be lower at the main radio screen. So I go into radio_skin.c and remark out
/* "%?St(force fm mono)<%Sx(Force Mono)|%?ts<%Sx(Stereo)|%Sx(Mono)>>\n" */ (it updates the stereo/mono statue on the radio screen)
The ticking noise is still here but it is weaker and going out of the main radio screen still completely kill it.

BTW, even if I move close to the window to get stronger receiption (above 50dBV), the ticking is still here and equally annoying.
Comment by Michael Sevakis (MikeS) - Thursday, 09 June 2011, 15:51 GMT
Making better use of any available indicator interrupts over polling for changes might help things. Won't help all devices of course.
Comment by Michael Sevakis (MikeS) - Friday, 17 June 2011, 02:56 GMT
Working on something else, I I just noticed at I'm getting a nasty tick that didn't used to be there on x5 too. Basically, it sounds like duplication Kam-Fai's report above.
Comment by Kam-Fai Tam (kf_tam) - Sunday, 19 June 2011, 17:57 GMT
I think the problem is two-fold.
1. polling the I2C of the tuner cause a ticking noise.
2. polling the stereo/mono status of the tuner also causes it to toogling between stereo/mono status for low/medium signal strengths every couples of seconds. And it also increases the ticking noise (verifiable by setting "force mono").
Unless it can be proved that you can communicate with the tuner without invoking noise, it seems to me the only way is to just set the tuner status once and be done with it, without polling its status regularly ( just like the OF).
Comment by Shiloh Hawley (gree665) - Friday, 28 October 2011, 04:32 GMT
I sometimes get this on my Gigabeat S as well.
Comment by Felipe (flaps) - Monday, 14 November 2011, 20:31 GMT
i'm not sure i really understand the problem, but does this still happen when the backlight is off? it could stop checking when the display is off
Comment by Ben Armstrong (SynrG) - Thursday, 22 December 2011, 12:23 GMT
Yes, it happens when the backlight is off. Confirmed with 3.10 on Sansa Clip+.
Comment by Kam-Fai Tam (kf_tam) - Sunday, 18 March 2012, 20:37 GMT
After all the time, it seems to me that the cause of the ticking noise during FM is the updating of the LCD screen. Only when the LCD is not updating then it is noise-free (eg, go to the Preset List.) And unfortunately Rockbox seems to try updating the LCD even when backlight is off (if I am not mistaken).