N900 FM radio transmitter

(Software)
(Software)
Line 20: Line 20:
==Software==
==Software==
-
 
+
===Kernel===
 +
It is controlled through the kernel module fmtx_si4713, which implements the interfaces /dev/radio0 - a video4linux device. See [http://www.stanford.edu/~blp/fmtools/ for more information on the video4linux API] also it exposes the sysfs directory ./class/i2c-adapter/i2c-2/2-0063/ .
 +
==User==
The FM transmitter can be enabled in the settings application, and there are third party applications to more easily enable it.
The FM transmitter can be enabled in the settings application, and there are third party applications to more easily enable it.
-
No software currently uses the ability of the chip to scan for free channels. This enables the transmitter to rapidly scan for free channels even when there is no antenna connected to the [[FM receiver|N900_FM_radio_receiver]].  
+
No software currently uses the ability of the chip to scan for free channels.  
-
 
+
The package [http://maemo.org/packages/view/fm-boost/ FM boost] maximizes the transmitter power. In some cases, this may improve reception. In others, the transmitter will already be set to highest output.  
-
The package [http://maemo.org/packages/view/fm-boost/ FM boost] maximizes the transmitter power. In some cases, this may improve reception. In others, the transmitter will already be set to highest output. Even on highest transmit power setting the usable range of FM transmitter is hardly beyond 5m. This is due to regulations, so you are allowed at all to send on a band reserved for public broadcast. Nobody wants a million pirate radio stations out there messing with frequencies of public broadcast stations for a whole block.
+
There are several bugs open with regards the FM transmitter [https://bugs.maemo.org/show_bug.cgi?id=6792 this one] for example is regarding the policy to turn off the FM transmitter when the device is plugged into a computer using the USB cable.
There are several bugs open with regards the FM transmitter [https://bugs.maemo.org/show_bug.cgi?id=6792 this one] for example is regarding the policy to turn off the FM transmitter when the device is plugged into a computer using the USB cable.
-
 
-
It is controlled through the kernel module fmtx_si4713, which implements the interfaces /dev/radio0 - a video4linux device. See [http://www.stanford.edu/~blp/fmtools/ for more information on the video4linux API] also it exposes the sysfs directory ./class/i2c-adapter/i2c-2/2-0063/ .
 
-
v4l2-ctl --all -d /dev/radio0
 
-
  Driver Info:
 
-
  Driver name  : radio-si4713
 
-
  Card type    : Silicon Labs Si4713 FM Radio Tr
 
-
  Bus info      : I2C: 0x63
 
-
  Driver version: 1
 
-
  Capabilities  : 0x00010000
 
-
  Tuner
 
-
Video input : 0
 
-
Frequency: 1400000 (87.500000 MHz)
 
-
Video Standard = 0x00000000
 
-
Streaming Parameters Video Capture:
 
-
Frames per second: 25.000 (25/1)
 
-
Read buffers    : 0
 
-
Tuner:
 
-
  Name                : FM Transmitter
 
-
Capabilities        : 62.5 Hz stereo
 
-
Frequency range      : 87.5 MHz - 108.0 MHz
 
-
Signal strength/AFC  : 0%/0
 
-
Current audio mode  : stereo
 
-
Available subchannels: stereo
 

Revision as of 01:41, 3 August 2010

The N900 has a short-range FM radio transmitter.

Contents

Hardware

The SI4713 chip is used to transmit FM radio in the range 76-108MHz from a digital or analog audio input.

It can also receive the signal level on the tuned frequency. This enables transmitter application to scan all frequencies, checking for vacant ones, and suggesting empty frequencies to the user for selection as transmission frequencies.

The N900 controls the FM transmitter through the I2C bus, and supplies analog audio to the transmitter.

The FM signal is transmitted from a loop antenna built into the case, and connected to the PCB with clips.

product marketing sheet: https://www.silabs.com/products/audiovideo/fmtransmitters/Pages/Si471213.aspx Full datasheet available there immediately after registering.

The documentation for the driver, along with some information on the chip is at http://www.mjmwired.net/kernel/Documentation/video4linux/si4713.txt

It is connected to the I2C bus.

Software

Kernel

It is controlled through the kernel module fmtx_si4713, which implements the interfaces /dev/radio0 - a video4linux device. See for more information on the video4linux API also it exposes the sysfs directory ./class/i2c-adapter/i2c-2/2-0063/ .

User

The FM transmitter can be enabled in the settings application, and there are third party applications to more easily enable it.

No software currently uses the ability of the chip to scan for free channels.

The package FM boost maximizes the transmitter power. In some cases, this may improve reception. In others, the transmitter will already be set to highest output.

There are several bugs open with regards the FM transmitter this one for example is regarding the policy to turn off the FM transmitter when the device is plugged into a computer using the USB cable.


The DBUS interface is documented in this page

Inherent limitations

Low power transmitters that are license compliant - do not exceed the regulations - are inherently short range devices and will have poor performance in many desired use-cases simply due to the regulatory limit on power usage.

In the US - the limit is approximately 15nW, in the UK, 50nW.

The below OFCOM document lists ranges to a good receiver with a fully extended antenna as 4m for 15nW and 8m for 50nW. (to achieve 'noiseless' reception)

This document from OFCOM (UK licensing agency) outlines test results for 50nW devices) and this is a BBC response to the OFCOM proposal to legalise them in the UK. Quoting the second:

"The BBC appreciates the advantage in principle of authorising for licence-exempt use low-power Band II transmitters constructed strictly to a common European type-approval regime and ‘CE’ marked.
However, the chosen maximum ERP of 50 nW is neither sufficiently small to avoid creating interference to broadcast reception nor sufficiently large to guarantee that such ‘Micro’ FM transmitters will actually work as intended in areas where Band II is utilised intensively, such as London."