外挂收音IC RDA5807的频段设置

测试SDK版本:《ac608n_soundbox_sdk_v1.2.2》


文章目录

  • 外挂收音IC RDA5807的频段设置
  • 前言
  • 一、RDA5807M 基本特征
  • 二、频段设置
    • 1.设置频段 76–108 MHz
    • 2.设置频段65 –76 MHz
  • 总结

前言

世界各国收音频段:

接收地区OIRT: AM:531-1602(9kHz步进)、FM 64.5-73MHz(50kHz步进)俄罗斯、蒙古、北朝鲜
接收地区EU :AM:531-1602(9kHz步进)、FM 87.5-108 MHz(50kHz步进)欧洲、中国、韩国、菲律宾
接收地区JP :AM:531-1629(9kHz步进)、FM 76-90MHz(100kHz步进)日本
接收地区US : AM:530-1710kHz(10kHz步进)、FM 87.5-108.1MHz(200kHz步进)美国


一、RDA5807M 基本特征


完整的手册可到立创商城下载查阅

可以看到,这颗收音IC的几个特征:
1、支持全球频段 50~115MHz
2、支持 100KHz、200KHz、50KHz、25KHz 的步进
3、支持外挂32.768KHz晶振
4、支持32.768 KHz 12M,24M,13M,26M,19.2M,38.4MHz的参考时钟
5、支持 单声道和立体声的切换
6、软件可控制音量和静音
7、工作电压:2.7~3.3V
8、只支持I2C通讯

我案子用的电路:

二、频段设置

1、杰理、蓝讯等蓝牙方案的SDK基本都自带了RDA5807的驱动,因为RDA5807M在消费电子中应用广泛,网上的驱动等资料也比较全,这里就不贴完整驱动了。

2、寄存器说明也在数据手册中,完整的手册可到立创商城下载查阅

杰理SDK中RDA5807的寄存器初始化表,使用默认频段 87~108MHz:

/*--------------RDA5807MP Initial Table----------------*/
static const u8 rda5807mp[] = {//#if defined(_SHARE_CRYSTAL_24MHz_)
//    0xC4,0x51, //02H:
//#elif defined(_SHARE_CRYSTAL_12MHz_)
//    0xC4,0x11, //02H:
//#elif defined(_SHARE_CRYSTAL_32KHz_)
//    0xC4,0x01, //02H:
//#else0xC0,0x05,//02H:
//#endif0x00,0x10,//03H:0x04,0x00,//04H:RDA5807_RSSI | 0xC0,0xBF, //05h0x60,0x00,0x42,0x1A,//110x00,0x00,0x00,0x00,0x00,0x00,  //0x0ah0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //0x10h0x00,0x19,0x2a,0x11,0xB0,//0x80; 201108040x42,//0x53;0x2a,//0x22; 201108040x11,//加大音量0x31        wengyidong0xb8,//0xf8;       201108040x31,//0x30;  //0x15h0xc0,0x00,0x2a,0x91,0x94,0x00,0x00,0xa8,0xc4,0x00,  //0x1ah0xf7,//0xe0; 201108040x0f,//0x00;0x2a,//0x3a;201108040xdc,//0x14;  //0x1ch0x80,//0x81;201108040x6f,//0x6a;0x46,0x08,0x00,0x86,0x06,0x61,  //0x20h0x00,0x00,0x10,0x9e,0x23,//0x22;  201108040xc8,//0x44;0x04,0x06,//0x08;  //0x24h 201108040x0e,//0x0d;0x1c,//0x18;  //0x25h
};

频段设置的寄存器:

可以看到,要改变频段,需要设置寄存器地址0x03h的bit<3>和bit<2>

1.设置频段 76–108 MHz

将5807初始表中的:

0x00,
0x10,//03H:

改为:

0x00,
0x18,//03H:

搜台设置频点时,会重新写0x03h寄存器,所以,下面函数也要同步修改:

/*----------------------------------------------------------------------------*/
/**@brief    设置一个频点RDA5807@param    fre 频点  875~1080@return   1:当前频点有台,0:当前频点无台@note     bool set_fre_RDA5807(u16 fre)
*/
/*----------------------------------------------------------------------------*/
u8 rda5807_set_fre(void *priv, u16 fre)
{u16 pll;u8 i;i = 0;fre /= 10;printf("set_5807_frq %d ", fre);pll = (fre - 870);rda5807_dat[2] = pll >> 2;rda5807_dat[3] = ((pll & 0x0003) << 6) | 0x10;rda5807_write(4);delay_n10ms(5);/* os_time_dly(5); */do {rda5807_read(4);i++;//delay_n10ms(1);if (rda5807_true()) {puts(" 1 \n");return 1;}} while (i < 2);puts(" 0 \n");return 0;
}

修改后:

/*----------------------------------------------------------------------------*/
/**@brief    设置一个频点RDA5807@param    fre 频点  875~1080@return   1:当前频点有台,0:当前频点无台@note     bool set_fre_RDA5807(u16 fre)
*/
/*----------------------------------------------------------------------------*/
u8 rda5807_set_fre(void *priv, u16 fre)
{u16 pll;u8 i;i = 0;fre /= 10;printf("set_5807_frq %d ", fre);pll = (fre - 760);rda5807_dat[2] = pll >> 2;rda5807_dat[3] = ((pll & 0x0003) << 6) | 0x18;rda5807_write(4);delay_n10ms(5);/* os_time_dly(5); */do {rda5807_read(4);i++;//delay_n10ms(1);if (rda5807_true()) {puts(" 1 \n");return 1;}} while (i < 2);puts(" 0 \n");return 0;
}

杰理的驱动,要将下图的REAL_FREQ_MIN 改为 7600:

2.设置频段65 –76 MHz

将5807初始表中的0x03h寄存器改为:

    0x00,//03h0x1c,

要注意:

0x07h寄存器:

 0x1A,//07h0x00,

频点设置函数改为:

u8 rda5807_set_fre(void *priv, u16 fre)
{u16 pll;u8 i;i = 0;fre/=10;printf("set_5807_frq %d ", fre);pll = (fre - 650);rda5807_dat[2] = pll >> 2;rda5807_dat[3] = ((pll & 0x0003) << 6) | 0x1c;printf("pll: %d   0x%x   0x%x \n", pll,rda5807_dat[2],rda5807_dat[3]);rda5807_write(4);delay_n10ms(5);/* os_time_dly(5); */do {rda5807_read(4);i++;//delay_n10ms(1);if (rda5807_true()) {puts(" 1 \n");return 1;}} while (i < 2);puts(" 0 \n");return 0;
}

频段范围改为:

#define REAL_FREQ_MIN        (6500)
#define REAL_FREQ_MAX       (7600)

总结

1、设置的两个频段都用 惠普HP8657A信号发生器 测试过的,能正常接收频段范围内的频点。
2、如果设置后,出现搜不到对应频点的情况,可以查看驱动,除了初始化写了初始数据,在其它地方有无改动到相应寄存器,可以全局搜索或者读寄存器值来排查问题。

【杰理AC696X】外挂收音IC RDA5807的频段设置相关推荐

  1. 【杰理AC696X】外挂FLASH音乐播放及Bin文件制作

    外挂FLASH音乐播放及Bin文件制作 测试SDK版本:<ac696n_soundbox_sdk_v1.6.0> 文章目录 外挂FLASH音乐播放及Bin文件制作 前言 一.板级配置 1. ...

  2. 【杰理AC696X】软件定时器介绍

    [杰理AC696X]软件定时器介绍 测试SDK版本:<ac696n_soundbox_sdk_v1.6.0> 文章目录 [杰理AC696X]软件定时器介绍 前言 一.功能概述 1.1 软件 ...

  3. 【杰理AC696X】PWM推RGB灯实例

    SDK版本:ac696n_soundbox_sdk_v1.2.3 杰理的PWM,定时器会绑定默认的硬件IO,而且支持任意IO映射,硬件io对应用户手册上的io,有硬件io的尽量使用硬件io. 注意:因 ...

  4. 杰理ac18芯片_杰理AC1074 MP3解码芯片ic方案说明

    系列分类 对应的芯片 目前版本 封装 备注 2系列 已经停产,无需关心 1系列 AC1090 E 版 LQFP48 多 GPIO 口 AC1094 E 版 SSOP24 AC1093 E 版 SSOP ...

  5. 【杰理AC696X】MIC能量采集的三种方式

    MIC能量采集的三种方式 测试SDK版本:<ac696n_soundbox_sdk_v1.5.0-20211217> 文章目录 MIC能量采集的三种方式 前言 一.混响流程的MIC能量检测 ...

  6. 杰理之外挂 FLASH 使用方法与注意点【篇】

  7. 【杰理AC696X】各功能占ROM大小说明

  8. 【杰理AC696X】上电DAC PO声处理

    SDK版本:ac696n_soundbox_sdk_v1.2.3 标准SDK上电开机第一次播声音时有个比较大的'PO'声 处理: 先手动把音频输出设备输出打开再关闭,过程是MUTE功放的状态 void ...

  9. 杰理之外挂32K时钟。软关机时钟不走【篇】

最新文章

  1. Classloader内存泄露
  2. 微软职位内部推荐-SDEII for Windows Phone Apps
  3. 一分钟了解阿里云产品:阿里云解析五大热点技术问题分析
  4. JavaScript call()函数的应用
  5. python处理teradata数据库_Python脚本连接Teradata数据库
  6. Android开机自动启动程序设置
  7. 【Codevs 3115】高精度练习之减法
  8. 微信养号防封攻略_防封群微信怎么卖
  9. [渝粤教育] 九江学院 看影视学社交礼仪 参考 资料
  10. cpu功耗排行_笔记本低功耗cpu有哪些 低功耗笔记本cpu排行介绍【图文】
  11. Arduino-ESP8266库接口:Ticker.h
  12. [Linux] 如何在 Linux 电脑上制作专业的视频教程
  13. linux安装xbox无线手柄,ROS配置和使用Xbox One无线手柄
  14. 开发你自己的Android 授权管理器 (AccountManager的使用以及应用场景)
  15. 计算机编程语言及Java
  16. Sams Teach Yourself SQL in 10 Minutes, Third Edition
  17. 人工智能 | ShowMeAI资讯日报 #2022.06.01
  18. video-editing
  19. IPhone 手机屏幕 不显示了。 只有一个背景界面。其他都不显示。怎么回事。
  20. cad无法安装_CAD软件下载好了,为什么安装不上?别急!试试这两个方法!

热门文章

  1. Unity 之 代码切换横竖屏
  2. 将1亿以下阿拉伯数字转换为大写汉字
  3. 三菱FX3U——ST的创建工程、新建数据
  4. svg动画 - 在线编辑器
  5. 城市垃圾处理无线监控综合解决方案
  6. JAVA设计模式(04):创建型-建造模式(Builder)
  7. 弘辽科技:淘宝改商品标题会影响权重吗?如何修改?
  8. 基于Linux开源VOIP系统LinPhone[三]
  9. 【神经网络与深度学习-TensorFlow实践】-中国大学MOOC课程(十四)(卷积神经网络))
  10. CTF Misc(2)内存取证基础以及原理,覆盖了大部分题型