[原创] STM32F107VC金龙开发板 第十八章 金龙107——收音机

旺宝电子   2015-4-23 14:20 楼主
第十八章 金龙107——收音机


18.1TEA5767简介:
TEA5767是飞利浦公司生产的一款收音机芯片,很多手机,MP3MP4里的收音机功能都是于他实现的,接收频率76MHz~108MHz(日本/美国/欧洲频段选择),中频频率225kHz,采用锁相环调谐系统,带有AGC电路,并可以使用软件进行静音和消除噪音。主要电性能指标:工作电压2.5V~5.0V,工作电流10mA,灵敏度15uA,立体声分离度30dB,信噪比60dB,输出信号电平75mV。总线通信可选IIC3线总线,具有RF信号强度ADC输出,软件静音。
18.2TEA5767读写:
金龙107开发板通过IIC总线与TEA5767模块连接,其电路接口如下图,PB11IIC数据线,PB10IIC时钟线,T1连接外接天线,FM_OUTLFM_OUTR为音频输出。
图片1.png
TEA5767I 2C总线的地址是C0是可收发的从器件结构,向TEA5767写入数据时,其低位地址为0C0,从TEA5767读出数据时其低位地址为1C1
写时序:
QQ图片20150423141830.png

其中传送数据中的bit位的含义可以参考芯片手册。
18.3、实验说明:
实验中使用到了TEA5767收音机模块和WM8978芯片,这里主要是将WM8978作为功率放大器,因此这里不做说明。
如下是向TEA5767写入数据
static void tea5767_Write(uint8_t *_ucaBuf, uint8_t _count)
{
        uint8_t i;
        uint8_t ucAck;
        i2c_Start();
        i2c_SendByte(TEA5767_SLAVE_ADDRESS | I2C_WR);/*发送设备写地址 */
        ucAck = I2C_WaitAck();        /*检测ACK*/
        if (ucAck == 1)
        {
                goto err_quit;
        }
        for (i = 0; i < _count; i++)
        {
                i2c_SendByte(_ucaBuf);/*发送数据 */
                ucAck = I2C_WaitAck();/*检测ACK*/
                if (ucAck == 1)
                {
                        goto err_quit;
                }
        }
err_quit:
i2c_Stop();
}
如下是从TEA5767读出数据
static void tea5767_Read(uint8_t *_ucaBuf)
{
        uint8_t i;
        uint8_t ucAck;
        i2c_Start();
        i2c_SendByte(TEA5767_SLAVE_ADDRESS | I2C_RD);/*发送设备读地址C1 */
        ucAck = I2C_WaitAck();/*检测ACK */
        if (ucAck == 1)
        {
                goto err_quit;
        }
        for (i = 0; i < 5; i++)
        {
                _ucaBuf = i2c_ReadByte();                //读取数据
                if (i == 4)
                {
                        i2c_Ack();                //发送ACK
                }
                else
                {
                        i2c_NAck();                //发送NACK
                }
        }
err_quit:
i2c_Stop();       
}
通过写入数据来设置TEA5767工作模式和调节频道,使用按键调节收音机音量频道等可以参考程序fm_radio.c文件。
18.4、实验现象:
插上串口线设置波特率为115200PB11IIC数据线需用10K上拉电阻,下载程序后复位开发板,开发板自动搜索到一个电台后开始播放,串口打印出电台频率等信息。使用方向键上下可以调节音量,左右调节频道,按键S1控制静音等。

http://openmcu.taobao.com]77[/url]

回复评论 (1)

收音机数字化
点赞  2015-4-28 14:09
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复