社区导航

 
查看: 1309|回复: 1

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

[复制链接]

337

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2015-4-23 14:20:34 | 显示全部楼层 |阅读模式
第十八章 金龙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控制静音等。

此帖出自stm32/stm8论坛

评分

1

查看全部评分

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

回复

使用道具 举报

55

TA的帖子

2

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2015-4-28 14:09:51 | 显示全部楼层
收音机数字化

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2017-8-18 13:10 , Processed in 0.209800 second(s), 20 queries , Redis On.

快速回复 返回顶部 返回列表