【参赛】用车载收音模块Si4745制作的DSP收音机
时间:2017-05-29 14:57 来源:www.crystalradio.cn 作者:aqxgm 点击:次
首先感谢坛友@叱咤调频的友情赠送,这才有的玩。 坛友@叱咤调频送了几个日本mitsumi(米兹米)公司生产的车载收音模块,型号是FAEC36 A30。拆开后发现主芯片是Si4745。百度一下发现该IC是Silicon Labs公司面向车载收音机市场推出的一款DSP(Digital Signal Processor)收音芯片。极小的4*4 mm 24脚QFN封装,由于使用了先进的CMOS技术,就这么一个小小的芯片可以实现完整的全波段收音功能。为应对车内复杂的电磁环境,抗干扰能力较强。 ![]() ![]() 芯片支持以下频率范围:FM波段:64-108MHZ;AM波段:520-1710KHZ;LW波段:153-288KHZ;SW波段:2.3-30MHZ。还支持RDS接收。可以直接通过总线输出信号质量指示、信噪比、频率偏移等数值。 工作电压:3.0-3.6V;典型工作电流: FM波段:26ma; AM波段:19ma; 待机模式:6ua。 FM接收灵敏度: 2uV; THD:0.1% 这是Si474X系列的管脚和方框图 ![]() ![]() Si4745通讯管脚由SDIO、SCLK、SEN、RST构成。在RST的上升沿对GPO1和GPO2的电平进行采样确定工作于哪种模式。有三种控制总线方式可以选择: 1、2线模式(兼容I2C) 2、3线模式 3、SPI模式 ![]() 因为GPO1内部集成上拉电阻,GPO2/INT集成下拉电阻。所以芯片默认工作于2-wire(I2C)模式。在3-wire和SPI模式下,总线由SDIO、SCLK和SEN组成。而I2C模式只使用SDIO和SCLK进行通讯,SEN的电平高低决定了I2C的操作地址。其对应关系如下: SEN电平 写地址 读地址 SEN=0 0x22 0x23 SEN=1 0xc6 0xc7 以前玩过一些I2C总线的芯片,SPI和3线没有接触过,决定使用I2C方式来驱动。测量后发现,楼主手里的模块SEN接地,所以I2C的写入地址为0x22,读取地址是0x23。 I2C通讯协议: ![]() 起始信号(START):在SCL为高电平期间,SDA从高到低的跳变; 终止信号(STOP):在SCL为高电平期间,SDA从低到高的跳变; 应答信号(ACK):发送或接收完8bit数据后,在下一个时钟周期(SCL=1),SDA=0为应答(ACK),SDA=1为非应答(NACK); 写入流程:MCU发送起始信号,接下来发送器件地址(0x22),接收应答信号,再发送N字节的8位数据,每发送一个字节后都要读应答信号,最近发送终止信号,释放总线。 读取流程:MCU发送起始信号,接下来发送器件地址(0x23),接收应答信号,开始接收N字节的8位数据,每读取一个字节后都要读应答信号。如果器件非应答,就发送终止信号,结束读取过程。最后释放总线。 本制作主要用了下面几条操作命令: 0x01: POWRE_UP 此命令主要设置CTS中断使能、GPO2 输出使能、晶振、接收波段和音频输出选择等功能。 0X11: POWER_DOWN 发送本命令让芯片进入待机模式 0X12:SET_PROPERTY 设置属性命令 0X14:GET_INT_STATUS 获取中断状态,主要用于判断搜索是否完成。 0X20:FM_TUNE_FREQ 写入指定的频率(64-108mhz) 0X21:FM_SEEK_START 开始搜索电台。可以设置搜索方向和到达搜索终点时是否循环。 0X22:FM_TUNE_STATUS 调谐状态,本例中用于获取当前电台的频率。 0X23:FM_RSQ_STATUS 接收信号质量。RSSI:信号质量,单位为dBuV。SNR:信噪比,单位dB. Si4745的常用属性: 0X1100:FM_DEEMPHASIS 去加重时间常数设置,默认值为0x0002(75us)。要设置为我国使用的50us,需要将值设为0x0001; 0X4000:RX_VOLUME 音量设置,范围从0x00-0x3f,共64级,每级步进1dB。默认值为0X3f即最大音量。 其余属性值在本制作中全部使用了默认值,也就是不去操作这些寄存器。 先用STC15L104W单片机做了一个测试小板,电路够简单,程序才是本制作的难点 ![]() 能正常接收电台后开始了漫长的DIY之旅…… 楼主80后没有AM/SW情结,地方小也没有RDS,决定只做FM波段。电路图和PCB,使用Altium Designer绘制。 ![]() ![]() STC89LE52单片机做主控,模拟I2C协议控制DSP收音模块。MicroUSB提供5V电源,经1117-3.3降压后供DSP模块和MCU使用。加了一级TDA1308组成的音频放大,可直接驱动耳机。 热转印制板,三氯化铁腐蚀。 ![]() ![]() 焊接完成的PCB ![]() ![]() 显示部分使用了单片机爱好者常用的1602液晶屏。PCB大小与1602相同,中间用铜柱连接。 ![]() ![]() ![]() 受PCB面积和手里的按键所限只放了2个。另一侧放了3.5MM的音频输出和MicroUSB插座。 PCB细节来几张 ![]() ![]() 完工后的成品,展示一下 ![]() ![]() (责任编辑:admin) |
- 上一篇:【参赛】放在手心里的FM收音机
- 下一篇:【参赛】用喇叭放音的微型收音机