RDA5820收音机芯片驱动

本文介绍了RDA5820,一款集成度高的立体声FM收发芯片,支持多种接口和操作模式。文章详细讲解了如何通过IIC进行通信,包括初始化、设置频率、音量、静音等功能,并提供了相关的代码示例。
摘要由CSDN通过智能技术生成

RDA5820 是北京锐迪科推出的一款集成度非常高的立体声 FM收发芯片。该芯片具有以下

特点:

  FM 发射和接收一体

  支持 65Mhz~115Mhz的全球 FM接收频段,收发天线共用。

  支持 IIC/SPI接口

  支持 32.768K晶振

  数字音量及自动 AGC控制

  支持立体声/单声道切换,带软件静音功能

  支持 I2S接口(输入/输出)

  内置 LDO,使用电压范围宽(2.7~5.5V)

  高功率 32欧负载音频输出、可直接驱动耳机

  集成度高、功耗低、尺寸小(4mm*4mm QFN封装)、应用简单

RDA5820引脚图如图所示


RDA5820 支持 2种通信模式, SPI和 IIC,MODE脚接 GND,RDA5820即进入 IIC模式,此时 SCLK充当 IIC的 SCL,SDIO充当 IIC的 SDA。RDA5820的 IIC地址为 0X11(不包含最低位),对应读为 0X23,写为 0X20

实际电路连接如下

 

 

RDA5820拥有半自动搜台,全自动搜台两种模式

具体设置参考代码

 
#include "rda5820.h"






//初始化
//0,初始化成功;
//其他,初始化失败.
u8 Rda5820Init(void)
{
    u16 id;
    IIcInit(); //初始化IIC口
    id=Rda5820ReadReg(RDA5820_R00); //读取ID =0X5805
    if(id==0X5805) //读取ID正确
    {
        Rda5820WriteReg(RDA5820_R02,0x0002); //芯片软复位
        DelayMs(400);//等待复位结束
Rda5820WriteReg(RDA5820_R02,0x0001); //芯片上电
DelayMs(600);
        Rda5820WriteReg(RDA5820_R02,0xD201); //芯片上电,不复位 正常天线 32.768时钟 循环搜索 不开始搜索 想上搜索 低音增强 立体声 非静音 非高阻抗
Rda5820WriteReg(RDA5820_R03,0x0000); //100k apace 87-108baud 不开启调谐
Rda5820WriteReg(RDA5820_R04,0x0000); //关闭中断 0.75us去加重 不使能iis io口全部浮空
Rda5820WriteReg(RDA5820_R05,0X8548); //搜索强度8,LNAN,1.8mA,VOL最大 无输入低噪声
// Rda5820WriteReg(RDA5820_R0A,0X7800); //0A不用设置
// Rda5820WriteReg(RDA5820_R0B,0X7800); //0b不用设置
Rda5820WriteReg(RDA5820_R40,0X0000); //半自动搜台 RX工作模式
Rda5820WriteReg(RDA5820_R41,0X0000); //RDS应答为0 不复位fifo fifo深度为0
// Rda5820WriteReg(RDA5820_R42,0X0000); //42不用设置
Rda5820WriteReg(RDA5820_R4A,0X0010); //fifo满中断
Rda5820FreqSet(8700);//设置初始化频率81.00M
    }else return 1;//初始化失败
    return 0;
}






//写RDA5820寄存器    
void Rda5820WriteReg(u8 addr,u16 val)
{
    IIcStart();     
    IIcSendByte(RDA5820_WRITE); //发送写命令    
    IIcWaitAck();   
    IIcSendByte(addr);   //发送地址
    IIcWaitAck();     
    IIcSendByte(val>>8);     //发送高字节   
    IIcWaitAck();         
    IIcSendByte(val&0XFF);     //发送低字节   
    IIcWaitAck();         
    IIcSto

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值