Information from Silicon Labs
Silicon Laboratories是无线电IC的制造商,现在它们是手机中最常用的无线接收器。通常它们与I2C连接。但SiLabs还提供了一个参考设计,将这个IC与一个小型微控制器C8051F321集成在一起,形成一个USB无线电。参考设计的一部分还包括一个二进制和源代码的无线电应用程序。该软件还包含了自动固件升级到最新版本的功能。可以在网站http://www.silabs.com/usbradio下载相关信息。
Supported ICs
以下IC具有非常相似的寄存器集,因此它们现在或将来某个时候都将由驱动程序支持:
• Si4700:FM无线电接收机
• Si4701:FM无线电接收机,RDS支持
• Si4702:FM无线电接收机
• Si4703:FM无线电接收机,RDS支持
• Si4704:FM无线电接收机,不需要外部天线
• Si4705:FM无线电接收机,不需要外部天线,RDS支持,Dig I / O
• Si4706:增强型FM RDS / TMC无线电接收机,不需要外部天线,RDS支持
• Si4707:带SAME解码器的专用气象波段无线电接收机,RDS支持
• Si4708:最小的FM接收器
• Si4709:最小的FM接收器,RDS支持
可以在网站http://www.silabs.com/products/mcu/Pages/USBFMRadioRD.aspx下载有关这些的更多信息。
Supported USB devices
目前已知以下搭载了Silicon Labs si470x芯片的USB收音机(供应商:产品)可以工作:
• 10c4:818a: Silicon Labs USB FM Radio 参考设计
• 06e1:a155: ADS/Tech FM Radio 接收器(以前的Instant FM Music)(RDX-155-EF)
• 1b80:d700: KWorld USB FM Radio SnapMusic Mobile 700(FM700)
• 10c5:819a: Sanei Electric, Inc. FM USB收音机(在DealExtreme.com上销售为PCear)
Software
通常情况下,大多数应用程序都在Debian/testing下进行测试:
• fmtools-用于管理FM调谐器卡的实用程序
• gnomeradio-用于GNOME桌面的FM无线电调谐器
• gradio-GTK FM无线电调谐器
• kradio-适用于KDE的舒适收音机应用程序
• radio-基于ncurses的无线电应用程序
• mplayer-适用于Linux的终极电影播放器
• v4l2-ctl-命令行video4linux实用程序集合
例如,您可以使用以下命令:
v4l2-ctl -d /dev/radio0 --set-ctrl=volume=10,mute=0 --set-freq=95.21 --all
还有一个库libv4l可供使用。它将具有用于通过硬件功能(如radio-si470x)或通过实现每个提到的程序中目前正在使用的函数来进行频率搜索的函数。某些时候,无线电程序应该利用libv4l。
为了处理RDS信息,正在进行一个名为http://rdsd.berlios.de/的项目。
目前还没有使TMC句子可读的项目。
Audio Listing
USB音频由ALSA snd_usb_audio模块提供。建议还选择SND_USB_AUDIO,因为这是从收音机获取声音所必需的。要列出设备,请使用以下命令之一重定向声音。请根据您的需求调整音频设备(/dev/dsp*和hw:x,x)。
如果您只想测试音频(质量非常差),可以使用以下命令:
cat /dev/dsp1 > /dev/dsp
If you use sox + OSS try:
sox -2 --endian little -r 96000 -t oss /dev/dsp1 -t oss /dev/dsp
or using sox + alsa:
sox --endian little -c 2 -S -r 96000 -t alsa hw:1 -t alsa -r 96000 hw:0
If you use arts try:
arecord -D hw:1,0 -r96000 -c2 -f S16_LE | artsdsp aplay -B -
If you use mplayer try:
mplayer -radio adevice=hw=1.0:arate=96000 \
-rawaudio rate=96000 \
radio://<frequency>/capture
Module Parameters
加载模块后,您仍可以在sysfs挂载下的/sys/module/radio_si470x/parameters中访问其中的一些。只读文件(0444)的内容不会被更新,即使使用私有视频控件更改空间、频带和DE。其他参数可以在运行时更改。
Errors
如果经常出现-EIO错误,请增加tune_timeout时间。当超时或者达到频带限制时,hw_freq_seek函数会返回-EAGAIN。如果您从snd_usb_audio获得任何错误,请向ALSA人员报告这些错误。
Open Issues
V4L次设备的分配和参数设置并不完美。目前正在讨论解决方案。
有一个用于下载/上传新固件映像的USB接口。可以使用request_firmware接口实现对它的支持。
有一个RDS中断模式。驱动程序已经使用了相同的接口来轮询RDS信息,但目前没有使用中断模式。
有一个LED接口,可用于覆盖固件中编程的LED控制。这可以通过内核中的LED支持函数实现。
Other useful information and links
http://www.silabs.com/usbradio