KDocs 研发资料库
  • 音频技术应用文档入口汇总
  • 杰理WINDOWS环境安装及其他事项
  • LINUX安装和编译
  • Linux环境编译SDK教程(ubuntu18.04)
  • 音频类补丁汇总表
  • 认证资料获取汇总(最新资料后台会更新)
  • 《Hi-Res申请指南v1.0》
  • FreeRTOS 开源协议版本
  • uCOS 开源协议版本信息
  • 各个模块关键资料汇总
  • 软件调试方法
  • Makefile编译
  • 提bug的规范
  • 常规设备使用指导
  • 对外特别发布开发注意点信息汇总
  • AD697X软件问题整理
  • AC700N软件问题整理
  • AC701X耳机软件问题整理
  • 951&961软件问题整理
  • AC104X软件问题整理
  • AC128N问题整理文档
  • 可视化工具调试问题整理
  • 耳机资料汇总
  • AC704N、 AC705N相关应用
  • AC695N&AC696N&AC608N音箱问题整理
  • JL701N音箱问题整理
  • AC692X软件问题整理
  • AC706N音箱问题整理
  • JL701N音箱问题整理(可视化工具SDK)
  • JL703N音箱问题整理
  • JL709N(JL689N)音箱问题整理
  • JL7094系列-入门到进阶开发指导
  • AC210N音箱问题整理
  • 无线麦系列版本支持指南
  • AW32N无线麦问题整理
  • lAD697X&JL701X 无线麦软件共性问题整理
  • AC706N无线麦问题整理
  • AW36N无线麦问题整理
  • AC710X无线麦问题整理
  • 唤醒源获取及唤醒IO设置
  • 电源
  • LVD
  • 长按复位配置方法
  • 低功耗应用
  • TIMER
  • UART
  • SPI
  • 内部FLASH空间添加用户自定义区域
  • IIC
  • GPIO
  • MCPWM
  • SD&U盘
  • 时钟&晶振
  • GPCNT
  • IO口crossbar映射功能
  • 文件系统使用总结
  • 复用应用
  • LINEIN_AUX相关应用
  • IIS音频接口应用
  • SPDIF模式相关(HDMI_ARC、光纤、同轴)
  • PDM LINK
  • 外设相关应用
  • 蓝牙相关
  • 杰理蓝牙距离调试文档
  • TWS耳机配对方式使用及生产把控指南
  • GFP谷歌快连及其认证流程指引
  • 蓝牙发射器(bt_emitter)相关
  • BLE应用
  • 关于提升BLE传输速率说明
  • BLE测试数据
  • MUSIC 模式相关应用
  • MIDI音乐实现
  • PC相关应用
  • FM相关应用
  • AC695N_AC696N FM天线ESD静电防护措施说明V2.0_20250107
  • fm应用详细设计说明书
  • 杰理FM硬件指南-20230315
  • ADC模块
  • AUDIO相关应用
  • 新Tools的音效调试使用
  • 混响应用使用说明
  • 音效调式
  • 音箱耳机低音小音量增强实现方法
  • DAC输出功率调试
  • DAC性能测试指南
  • 针对各类底噪、电流声分析流程
  • 录音相关应用
  • OPUS编解码相关
  • RTC相关应用
  • 升级相关
  • UI相关应用
  • 通话调试流程指南
  • 通话相关应用
  • 省电容mic使用手册
  • 如何测试验证手表通话系统的语音失真 V1.0
  • AC695X_AC696X_AD697X 常见通话问题处理参考资料
  • 通话调试问题确定步骤
  • 内置触摸调试指南
  • 低功耗内置触摸介绍V2.2
  • 触摸相关文档
  • AC697X、AC698X内置触摸调试及整改方法V1.0
  • 产测相关应用
  • AC63X BLE DUT测试介绍
  • 兆华序列使用简易说明
  • JL_1T2蓝牙测试盒音频文件更换说明
  • ENC相关应用入口汇总
  • ANC相关应用入口汇总
  • JL DMS通话调试手册-V3.9.4
  • ANC-ENC结构设计要点-20240407
  • 半入耳式ANC耳机器件选型与结构设计指南V1.0
  • JL 耳道自适应调试指南
  • ANC相关问题处理
  • ANC调试文档
  • 评估蓝牙耳机通话上行降噪性能的方法 V1.0 (2)
  • FCC 或者 BQB 认证相关应用
  • BQB profile 测试中常遇到的问题点汇总
  • 蓝牙参数整理20210811
  • 杰理科技认证问题参考
  • 无线音频产品开发指南
  • 无线麦系列从入门到进阶开发指导
  • 量产烧录相关说明
  • 一拖八烧录器远程过程调用说明
  • 量产相关建议
  • EffectTool(eq)调试工具说明文档
  • AC897AD697系列的EQ调试方法-V3
  • 杰理调音指南-20220622
  • 音效模块总结
  • 简要调音步骤指引(可视化)
  • 耳机充电与通信调试指南
  • 充电仓硬件调试指南
  • 充电仓软件问题整理
  • AC951常用说明
  • AC951_AC961_开发板使用说明V1.0
  • 彩屏仓AC982 入门指导及FAQ
  • 蓝牙音频APP相关应用
  • 手机APP的简介和开发流程
  • 蓝牙音频系列-硬件设计指南
  • 静电测试及整改方法-20220706
  • TWS耳机底噪整改指南V1.2
  • 杰理蓝牙距离调试文档
  • 蓝牙RF硬件设计与调试V1.1-20250219
  • AC695N_AC696N FM天线ESD静电防护措施说明V2.0_20241228
  • 音效调试指南
  • 无线话筒K歌音箱标准开发流程
  • 杰理科技 700N TWS耳机产品标准-202303
  • 杰理科技 701N 广播产品标准-202303
  • JL-HAT ANC高效产测自适应
  • 无线话筒测试板使用介绍
  • 一拖八频偏校准使用说明
  • 领夹麦产测工具使用介绍
  • Dongle量产测试说明
  • Dongle+Tws或头戴式 SDK通过工具绑定配对功能说明文档
  • 双麦ENC产测宏配置验证方法 V1.0
  • JL耳机方案麦克风声学测试指令_V1.0
  • JL耳机方案麦克风声学测试指令_V2.0
  • JL_ENC自动测试命令_V0.0.1
  • JL蓝牙测试盒用例说明
  • LDAC自测环境搭建_ubuntu
  • 延迟小板使用手册
  • 杰理库文件的制作及添加实现过程
  • 关于 AC635N&AC636N系列免晶振兼容性补丁 说明
  • 关于 AC63系列VM兼容性修复补丁_20250224 说明
  • 关于 AC632N &AE632N_ 蓝牙& 低功耗兼容性修复补丁 说明
  • AD698N和AC638N电压优化补丁V3说明
  • 关于 AC635N&AC636N漏电和E&G版兼容联合补丁 说明
  • AD698N和AC638N电压优化补丁V2说明
  • 702相关应用
  • 2024-4-30 发布歌词显示SDK开发注意事项
  • BQB RF & FCC 认证测试固件问题汇总及源码
  • BQB profile 测试中常遇到的问题点汇总
  • 进dut测试模式方法及固件
  • 704-频偏修改bin文件合集
  • 701手表BQB PROFILE认证注意事项
  • 认证的干扰规避整改
  • 海外CRA认证报告生成说明
  • JL700N可视化工具问题处理文档
  • JL701X可视化工具问题处理文档
  • JL701N_earphone_release_v1.6.0_ANC 低功耗问题补丁
  • JL708X可视化工具问题处理文档
  • JL709N可视化工具问题处理文档
  • JLstudio可视化工具使用说明
  • 一拖二-串口_蓝牙_app在线EQ、通话参数及调试方式和内置触摸调试
  • 可视化JL701M_DONGLE_SDK添加MIC为发射源
  • 可视化JL701M_DONGLE_SDK添加按键切换usb audio与MIC发射源
  • JL701M_DONGLE_SDK_1.0.0_dongle输入linein输出dac
  • 701可视化_a2dp_to_le_demo说明
  • 耳机系列demo汇总
  • JL7018F&JL7006F_7003F AUX IIS
  • 一键连接应用
  • 普通SDK动态开关一拖二功能
  • 蓝牙分析仪(EllisysBluetoothAnalyzer)抓包例程
  • TWS配对常见应用
  • APP自定义按键的demo
  • AC700N 播歌双EQ DEMO示例及说明
  • AC698V164 MIC与蓝牙音乐共同输出DAC demo
  • 添加第三方算法以及多算法授权流程
  • 空间音频配置方法
  • 普通高低电平TWS耳机控制通讯
  • 入耳检测状态更新demo解析
  • 资源优化(非可视化的SDK)
  • 资源优化(可视化SDK)
  • 翻译耳机、语音识别应用demo
  • 耳机抗干扰问题排查和优化
  • AC698D2 抗干扰优化
  • AC696X软件问题整理
  • AC695X软件问题整理
  • AC695X软件问题整理_1722249702
  • AC608X软件问题整理
  • JL701N_2T1_DUPLEX 应用软件问题汇总
  • le_audio_1.0.0_patch05 以及之前的版本IRkey 功能异常修改
  • AC706N-le_audio-200SDK有线_无线麦录音demo
  • jl701n_le_audio_v200patch02 IO串口升级修改串口单次发送字节长度的修改办法
  • 703创建IIS 输入dac输出音频流demo
  • 703将媒体流音频同时上传PC_mic录音demo实现
  • 703四路IIS输入输出demo
  • 底噪调试
  • AW328A烧录说明
  • 文档合集
  • AC706N_wireless_mic_release_PATCH_20240712 补丁 说明
  • AC706N_wireless_mic_release_PATCH_20240726 补丁 说明
  • AC706N_wireless_mic_release_V1.0.0、1.0.1、1.0.2 补丁 说明
  • AC706N_wireless_mic_release_V1.1.2 中的2T1应用 RX端不绑定配对,TX端实现绑定配对的修改方法
  • 各系列省晶振实现方法
  • iis tx rx说明文档
  • spdif信号
  • 蓝牙电话本
  • 安卓手机同步时间补丁
  • CDC配置
  • PC模式下增加Teams唤起功能
  • 杰理HDMIARC开发实现过程
  • AC701N patch06之前的版本用第三方算法节点实现新版本的pcm delay节点功能
  • (K歌音箱)各SDK音效配置相关说明
  • 长文件录音
  • 点阵屏歌词字库相关(蓝牙歌词,普通歌词)
  • 字模提取工具说明
  • 音箱可视化彩屏-入门到进阶开发指导
  • 彩屏LVGL UI设计及工具使用
  • 使用内部UI框架进行UI调试的系列步骤
  • AD101C使用强制升级工具spi 烧录不了问题处理(测试版本)
  • AD161扩展灯板说明文档
  • 歌词显示器开发注意项
  • 使用硬件数字增益控制通话下行音量(可视化)
  • 杰理小牛产测资料
  • ENC配置说明
  • 通话调试流程指引
  • ANC相关功能demo
  • 无线麦硬件资料汇总
  • 无线麦相关应用
  • 无线麦复杂功能补丁包汇总
  • 无线话筒形态SDK程序&开发经验&问题点分享
  • 双模式结合应用问题汇总
  • 无线麦距离优化案例
  • 无线麦系列中的双工形态(duplex)演变开发对讲机方案开发资料
  • 音箱入门到进阶指导文档(编写中)
  • 蓝牙耳机品控和生产技巧
  • 982过_欠压标志获取异常
  • 如何获取最新涂鸦SDK及库文件
  • 无线话筒K歌音响-调音标准流程
  • 无线话筒产测流程

fm应用详细设计说明书

📎 原始文档:https://www.kdocs.cn/l/cguJdn0AFsUj

fm应用

详细设计说明书

珠海市杰理科技股份有限公司

Zhuhai Jieli Technologyco.,LTD

版权所有,未经许可,禁止外传

版权所有,侵权必究 1
地址:珠海市吉大石花西路 107号9栋综合楼 邮编:519015
电话:0756-6313088 传真:0756-6313081
网站:www.zh-jieli.com

修改记录

版本更新日期描述
V1.0
V1.1

image 版权所有,侵权必究 2
目录
1.引 言..............................................................................................................................................................................4

  1. 1.编写目的............................................................................................................................................................. 4
    1.2.参考资料............................................................................................................................................................. 4
    1.3.术语和缩写词..................................................................................................................................................... 4
    2.总体设计........................................................................................................................................................................4
  2. 1.需求概述............................................................................................................................................................. 4
    2.2.总体架构设计..................................................................................................................................................... 4
    (a)总体架构图................................................................................................................................................. 5
    2.3.应用的生命周期................................................................................................................................................. 5
    (a)应用的启动................................................................................................................................................. 6
    (b)应用的退出................................................................................................................................................. 6
    2.4.关键数据结构、变量说明.................................................................................................................................. 6
    (a)fm api数据结构...........................................................................................................................................6
    (b) Fm vm数据结构......................................................................................................................................... 7
    3.应用逻辑处理模块设计说明......................................................................................................................................... 7
    3.1.模块描述........................................................................................................................................................... 7
    3.2.模块功能............................................................................................................................................................. 8
    3.3.模块接口设计..................................................................................................................................................... 8
  3. Fm api模块设计说明.................................................................................................................................................. 10
  4. 1.模块描述........................................................................................................................................................... 10
    4.2.模块接口设计................................................................................................................................................... 10
  5. Fm vm模块设计说明.................................................................................................................................................. 12
  6. 1.模块描述........................................................................................................................................................... 12
    5.2.模块接口设计................................................................................................................................................... 12
  7. Fm调试说明................................................................................................................................................................ 15
  8. 1.基本配置........................................................................................................................................................... 15
    6.2.模块扩展........................................................................................................................................................... 16
    6.3.内置FM说明................................................................................................................................................... 16
    6.4.内置FM快速调试............................................................................................................................................ 18
    6.5.内置FM硬件................................................................................................................................................... 18
    6.6.内置FM参数介绍............................................................................................................................................ 19
    6.7.搜台参数设定................................................................................................................................................... 19
    6.8.内置FM常用接口............................................................................................................................................22
    版权所有,侵权必究 3

1. 引 言

1.1.编写目的

该文档为基于杰理BR系列蓝牙音箱平台开发fm应用的人员提供相应的设计开发文档。也可以为测试fm应用的测试人员提供参考。
文档中详细定义了fm应用的总体功能、系统的接口和数据属性;

1.2.参考资料

[ 1]

1.3.术语和缩写词

缩写和术语解 释
fmFM调频即收音机功能
Fm 频点频点,指具体的绝对频率值
Fm 频道具有有效信息的频点
Fm 虚拟频点使用了数字序号 1、 2、 3代替了8750、 8760、 8770等真实的频率

2.总体设计

2.1.需求概述

本应用实现的功能包括内部收音模块驱动和linein采集外部收音实现fm功能的播放。

2.2.总体架构设计

版权所有,侵权必究 4
地址:珠海市吉大石花西路 107号9栋综合楼 邮编:519015
电话:0756-6313088 传真:0756-6313081
网站:www.zh-jieli.com

(a)总体架构图

image 上图体现了各个功能模块之间的调用关系。进入fm模式首先会对时钟和ui进行初始化,获取fm 的 vm保存信息,根据vm信息设置好播放发频点或者频道,然后播放fm模式的提示音,接着就是开启fm播放。
本应用的程序组织基本上是以界面来划分,加上一些附加子功能模块,每个模块都有清晰的接口,分别完成独立的功能,模块之间通过有机的结合组成一个功能强大的音乐播放器。本应用可以分为4个功能模块,具体划分详见下表。

模块名称功能简述对应文件
应用逻辑处理模块应用初始化,参数恢复,备份,资源开关fm.c
应用实现api模块播放函数、 暂停函数开启fm 的实现fm_api.c
应用vm存储模式Fm频点信息的保存接口fm_rw.c
应用显示实现fm模式显示实现ui fm.c

2.3.应用的生命周期

fm应用在fmtask调用执行时生命周期开始,当fmtask应用被执行时,当从按键切换了其他的应用模版权所有,侵权必究 5
式、关机、插入usb、 退出fm应用,应用生命周期结束。

(a)应用的启动

fm应用由app_fm_task启动,随即调用fm_app_init 进行了初始化,初始化主要工作为:设置ui界面为fm主页、设置fm空闲时钟、开启按键使能、初始化fm。 如图:
image

(b)应用的退出

当按键切换了模式,应用执行退出处理流程,应用退出是关闭显示主页、关闭fm模块、关闭模式提示音等。如图:
image

2.4.关键数据结构、变量说明

(a) fm api数据结构

Api 中使用该数据结构进行信息存储:
struct fm_opr {​
void *dev;//未使用
u8 volume: 7;//音量
u8 fm_dev_mute : 1;//mute状态
u8 scan_flag;//搜索标志位,客户增加了自己了搜索标志位也要对应增加
u16 fm_freq_cur; // 这是虚拟频率,从1计算 real_freq = fm_freq_cur + 874
版权所有,侵权必究 6
u16 fm_freq_channel_cur;//当前的台号,从1计算
u16 fm_total_channel;//总共台数
s16 scan_fre;//搜索过程的虚拟频率,因为--会少于0,使用带符号​};
#define SCANE_ALL (0x01)//全自动搜台标志
#define SEMI_SCANE_DOWN (0x02)//半自动搜索标志位
#define SEMI_SCANE_UP (0x03)//半自动搜台标志

(b) Fm vm数据结构

typedef struct FM_INFO {​
u16 mask;//mask标志
u16 curFreq;//最近浏览的虚拟频点
u16 curChanel;//最近浏览的频道
u16 total_chanel;//搜索到频道数
u8 dat[MEM_FM_LEN];//频道映射表​} FM_INFO;
#define FREQ_STEP (100)//100 步进
#define REAL_FREQ_MIN (8750)//真实频点开始
#define REAL_FREQ_MAX (10800)//真实频点结束
#define VIRTUAL_FREQ_STEP (FREQ_STEP/10)//虚拟频点步进
#define REAL_FREQ(x) ((REAL_FREQ_MIN-VIRTUAL_FREQ_STEP)+(x)*VIRTUAL_FREQ_STEP)
//虚拟频点转真实频点
#define VIRTUAL_FREQ(x) ((x-(REAL_FREQ_MIN-VIRTUAL_FREQ_STEP))/VIRTUAL_FREQ_STEP)
//真实频点转虚拟频点
#define MAX_CHANNEL ((REAL_FREQ_MAX-REAL_FREQ_MIN)/VIRTUAL_FREQ_STEP + 1)//最大频道数

3.应用逻辑处理模块设计说明

3.1.模块描述

本模块为fm应用的入口与出口,是顺序处理的模块, 占用app_core 任务。
版权所有,侵权必究 7

3.2.模块功能

本模块对应的文件是fm.c,进入时负责系统的初始化,资源的打开,数据的恢复,在初始化完成后就自动进入播放状态,退出时负责数据的保存及资源的关闭。

3.3.模块接口设计

app_fm_task
● 功能描述:
fm模式的主任务
● 函数原形:
void app_fm_task()
● 输入参数描述无
● 输出参数描述:
无
fm_app_init
● 功能描述:
fm模式初始化入口
● 函数原形:
● static void fm_app_init(void)
● 输入参数描述无
● 输出参数描述:
无
fm_app_unint
● 功能描述:
fm模式退出释放入口
● 函数原形:
static void fm_app_unint(void)
● 输入参数描述无
● 输出参数描述:
无
fm_event_handler
● 功能描述:
版权所有,侵权必究 8
fm模式的设备消息和按键消息处理入口
● 函数原形:
static int fm_event_handler(struct sys_event *event)
● 输入参数描述
从主任务获取的消息
● 输出参数描述:
True:当前消息已经处理,不需要发送common处理 False:当前消息不是fm处理,发送到common统一处理

fm_key_event_opr

● 功能描述:
Linein消息按键处理入口
image ● 函数原形:
static int fm_key_event_opr(struct sys_event *event)
● 输入参数描述
事件的消息
● 输出参数描述:
True:当前消息已经处理,不需要发送common处理
False:当前消息不是fm处理,发送到common统一处理
版权所有,侵权必究 9

4. Fm api模块设计说明

4.1.模块描述

该模块主要实现了fm 的api功能。

4.2.模块接口设计

● fm_api_init
● 功能描述:
Fm读取vm信息、初始化频点
● 函数原形:
void fm_api_init()
● 输入参数描述 Param = void
● 输出参数描述:
无
● fm_api_release
● 功能描述:
Fm api 的一些资源释放
● 函数原形:
void fm_api_release()
● 输入参数描述 Param = void
● 输出参数描述:
无
● fm_scan_up、 fm_scan_down
● 功能描述:
Fm 半自动搜台功能,搜索下一个频点
● 函数原形:
void fm_scan_up()、 void fm_scan_down()
● 输入参数描述 Param = void
● 输出参数描述:
无版权所有,侵权必究 10
● fm_scan_all
● 功能描述:
Fm 全自动搜台功能,搜索所有频点
● 函数原形:
void fm_scan_all()
● 输入参数描述
Param = void
● 输出参数描述:
无
● fm_prev_freq、 fm_next_freq
● 功能描述:
Fm 设置下一个频点
● 函数原形:
void fm_prev_freq()、 void fm_next_freq()
● 输入参数描述
Param = void
● 输出参数描述:
无
● fm_prev_station、 fm_next_station
● 功能描述:
Fm 根据vm信息设置下一个频道
● 函数原形:
● void fm_prev_station()、void fm_next_station()
● 输入参数描述
Param = void
● 输出参数描述:
无
● fm_volume_pp
● 功能描述:
Fm 暂停、播放
● 函数原形:
● void fm_volume_pp()
● 输入参数描述
Param = void
● 输出参数描述:
无
版权所有,侵权必究 11

5. Fm vm模块设计说明

5.1.模块描述

该模块主要用来保存fm搜台信息。

5.2.模块接口设计

● get_total_mem_channel
● 功能描述:
获取vm保存的fm频道数
● 函数原形:
● u16 get_total_mem_channel(void)
● 输入参数描述 Param = void
● 输出参数描述:
频道数
● get_channel_via_fre
● 功能描述:
根据真实频点获取频道
● 函数原形:
● u16 get_channel_via_fre(u16 fre)
● 输入参数描述真实频率
● 输出参数描述:
频道
● get_fre_via_channel
● 功能描述:
根据频道获取虚拟的频点
● 函数原形:
● u16 get_fre_via_channel(u16 channel)
● 输入参数描述频道
● 输出参数描述:
虚拟频点

● clear_all_fm_point

版权所有,侵权必究 12
● 功能描述:
清理vm频道信息
● 函数原形:
● void clear_all_fm_point(void)
● 输入参数描述
无
● 输出参数描述:
无
● save_fm_point
● 功能描述:
保存频点,用于搜台时候保存有效的频点
● 函数原形:
● void save_fm_point(u16 fre)
● 输入参数描述
真实频点
● 输出参数描述:
无
● delete_fm_point
● 功能描述:
删搜索到的有效频点
● 函数原形:
● void delete_fm_point(u16 fre)
● 输入参数描述
虚拟频点
● 输出参数描述:
无
● fm_last_ch_save
● 功能描述:
保存最近一次操作的频道
● 函数原形:
● void fm_last_ch_save(u16 channel)
● 输入参数描述
频道
● 输出参数描述:
无
● fm_last_freq_save
● 功能描述:
保存最近一次操作的频点
● 函数原形:
版权所有,侵权必究 13
● void fm_last_ch_save(u16 channel)
● 输入参数描述
真实频点
● 输出参数描述:
无
● fm_save_info
● 功能描述:
保存vm信息
● 函数原形:
● void fm_save_info(FM_INFO *info)
● 输入参数描述
Vm信息结构体
● 输出参数描述:
无
● fm_read_info
● 功能描述:
保存vm信息
● 函数原形:
● voidfm_read_info(FM_INFO *info)
● 输入参数描述
Vm信息结构体
● 输出参数描述:
无
版权所有,侵权必究 14

6. Fm调试说明

6.1.基本配置

#define TCFG_FM_ENABLE ENABLE_THIS_MOUDLE // fm收音使能
//以下使能目前已有驱动的FM模块
#define TCFG_FM_INSIDE_ENABLE ENABLE //使能内置FM
#define TCFG FM RDA5807 ENABLE DISABLE
#define TCFG FM BK1080 ENABLE DISABLE
#define TCFG_FM_QN8035_ENABLE DISABLE
//以下是使用外挂FM使用模拟输入时做的一些配置
// 走模拟通道,使用的ladc通道,需要与TCFG_FMIN_LR_CH 的序号一致#define TCFG FMIN LADC IDX 1
//走模拟通道,使用的ladc通道
#define TCFG FMIN LR CH AUDIO LIN1 LR
//使用模拟通道
#define TCFG FM INPUT WAY LINEIN INPUT WAY ANALOG
说明:
①内置FM接入芯片只有数字输入。
②.外挂FM接入芯片有模拟输入也有数字输入。使用模拟输入时,需要按以上模拟通道配置,实际上是使用了一路linein通道;当使用数字通道时,TCFG_FM_INPUT_WAY需要配置为 LINEIN_INPUT_WAY_ADC。

2、 起始频点和搜台步进设置

文件:fm_manage.h
image 说明:REAL_FREQ_MIN则代表应用fm频率的最小频点,用户可以自行修改,应用层和vm操作可以自动适配。REAL_FREQ_MAX代表fm频率的最大频点。FM_STEP 100表示步进为 100KHZ 的搜索频点,用户可以修改了50、或者200步进,应用层是根据虚拟频点进行操作,可以自行适配。
版权所有,侵权必究 15

6.2.模块扩展

收音流程中,采用统一的接口方式来兼容多种收音模块。不同收音模块,只需要提供以下功能函数即可添加到收音流程中:
①启动/初始化函数
②关闭函数
③设置频点函数
④设置音量函数
⑤获取模块ID 函数以内置FM为例:
image

6.3.内置FM说明

1、 内置FM清晰与不清晰电台特征判断

①清晰正常电台的特征:固定时间内的,对信号过零点统计值seek_cnt在相对较小的范围内,且信噪比cnr 的值比较大。
②无台(白噪声)或不清晰的电台特征: seek_cnt一般比较大, cnr相对较小。

2、 内置FM一般调试方式

①按默认的参数配置搜台,如果搜台不满足要求,先检测硬件,硬件没有问题,则继续第②步。
②执行一次搜台(按键消息 KEY_FM_SCAN_ALL_UP 或者KEY_FM_SCAN_ALL_DOWN),程序中开打印,初步统计一下各电台的过零点seek_cnt,信噪比cnr。
典型搜台打印参数如下:
[fr eq : 875 seek_cnt : 554 cnr : 22][fr eq : 876 seek_cnt : 385 cnr:-21][fr eq : 877 seek_cnt : 545 cnr : 0]
根据需要调节信噪比阈值fm_config_dat.cnr,及过零点取值范围
[fm_config_dat.seek_cnt_min , fm_config_dat.seek_cnt_max],当(cnr >= fm_config_dat.cnr)) && (fm_config_dat.seek_cnt_min <= seek_cnt) && (seek_cnt <=版权所有,侵权必究 16
fm_config_dat.seek_cnt_max])时,则当前电台判断为真台,否则判断为假台.
注意: 搜台时同时打印seek_cnt和cnr信息,需要先调用以下函数打开库中的相关打印。
//1打开库中的打印. 0 关闭库中的打印.
fm_inside_io_ctrl (SET_FM_INSIDE_PRINTF, 1) ;
若怀疑搜台时库中开打印,会影响到搜台参数,可以在搜台时关掉打印,搜完台时,在下面的函数统一把搜台参数打印出来(搜台时,已先把参数存到内部RAM 中)
//打印87.5到108.0 的搜台参数.
fm_insice_scan_info_printf (875, 1080) ;

3、 常见搜台问题处理

①收台数量不够:先调低fm_config_dat.cnr,若还不行,再放宽[fm_config_dat.seek_cnt_min , fm_config_dat.seek_cnt_max]。
②假台数量过多:先调高fm_config_dat.cnr,再缩窄[fm_config_dat.seek_cnt_min, fm_config_dat.seek_cnt_max].
代码如下:
image

4、 其他内置FM 的API 函数

①void fm_inside_set_stereo(u8 set) ; //双声道(立体声)效果设置. set取值范围[0, 128]. set值为0时,相当于完全的单声道.
set 的值越接近 128时,双声道效果越明显,
set值为 128时为双声道.
②void fm_inside_set_abw(u8 set) ; //音频带宽设置, set取值范围[0, 128]. set 的值越大,音频带宽越宽.带宽可调范围[2k, 16k]
③void fm_inside_deempasis_set(u8 set) ; //去加重参数设置. set 只能设置为0 或 1. set值为0时,去加重时间参数为50us.
set值为 1时,去加重时间为75us.
④s16 fm_inside_rssi_read ( void) ; //收音RSSI值获取.单位为dB.
版权所有,侵权必究 17

6.4.内置FM快速调试

假台多:

无天线:
a.提高CNR
b.提高DIFFER_P_S_ANT
c .降低DIFFER_N 有天线:
a.提高CNR
b.提高DIFFER_P_L_ANT 真台少:
无天线:
a.降低CNR
b.降低DIFFER_P_S_ANT
c.提高DIFFER_N 有天线:
a.降低CNR
b.降低DIFFER_P_L_ANT 叠台多:
降低AGC_N_AVG 长短天线判别N_L_S_ANT:
尽量使用 15~20cm天线时的noise_avg。过零点数SEEK_CNT:
人声的过零点数通常是在512左右。

6.5.内置FM硬件

1、 选频网络

选频网络可以提高FM6dBm 的灵敏度
image

2、 天线走线

①无地天线
直接FMIP天线引脚出来经过选频网络,立马打孔拉天线,减少地对天线的干扰。
②有地天线
直接FMIP天线引脚出来经过选频网络,立马打孔拉天线,其次,FM无需分地处理,直接大面积回芯片地,保证芯片部分地完整,保证芯片地到电池地回路完整。

3、 功放类型

版权所有,侵权必究 18

不能使用D类功放

6.6.内置FM参数介绍

请查看参数注释:
imageimage

6.7.搜台参数设定

1、 假如对比收音机只能收到:91. 5M、 99. 1M、 99.3M三个有人声的台。

2、 我们的收音机(插天线):
①、 开库打印

版权所有,侵权必究 19
image

②、 长短天线的判断阈值

作用:区分长短天线,提高真假台的判断正确率。短天线需要power_differ和noise_differ,长天线只需要 power_differ。
操作:
寻找一根 15~20cm 的软线,焊在电路天线焊盘上。
按键搜台,记录AGC打印的noise平均值。
image 参数更改:
image

③、 AGC 阈值

作用:匹配最优的增益等级。 当信号较弱时,提高增益等级,从而提高真台率;当前信号较强时,降低增益等级,从而减少叠台率。
说明:叠台是内部LPF 的增益过大,多个频点的能量泄漏叠加产生的电台。
操作:在信号较强的地方(室外),用一根 1米(甚至更长的天线),搜台或者随便切几个台,如果发现有叠台,则把阈值降低,让AGC判定在更低的阈值下,降低增益。反之,提高阈值,可以提高弱台搜索率。
参数更改:
image

④、 CNR、 SEEK CNT、DIFFER 阈值

插上天线(最好是客户最终使用的天线),听台,并记录91.5M、 99. 1M、 99.3M 的打印
说明:依次切到每个频点,听我们的收音机是否有电台声音,如果有,那么就有机会搜到,如果没有,
那么就跳过这个频点。然后记录有电台声的频点信息,具体如下:
切频点:
不插天线,同样操作一遍。
image 插天线打印: (此次搜台是从108M~ 87.5M)
image 版权所有,侵权必究 20
imageimage

不插天线打印: (此次搜台是从 108M~ 87.5M)

imageimage 筛选出最小cnr、 最小seek_cnt、 最大seek_cnt。
单独筛选出插天线最小power_differ。
单独筛选出不插天线最小power_differ和最大noise_differ。
CNR:7 //值越大越严
SEEK_CNT_MIN:424 //值越大越严
SEEK_CNT_MAX:511 //值越小越严
DIFFER_P_L_ANT:7 //值越大越严
DIFFER_P_S_ANT:6 //值越大越严
DIFFER_N:10 //值越小越严
版权所有,侵权必究 21
阈值稍微放宽 CNR:5
SEEK_CNT_MIN:400
SEEK_CNT_MAX:550
DIFFER_P_L_ANT:6
DIFFER_P_S_ANT:5
DIFFER_N:11
image

⑤、 设置晶振谐波的cnr 阈值

说明: 由于96M和108M是晶振24M 的谐波,导致这两个频点的载噪比cnr会比较大。所以我们要单独提高这两个频点的cnr。
找一个封闭的房间,调到96M和108M 的频点,分别筛选出这两个频点的最大cnr,更新参数即可。
imageimage 、

6.8.内置FM常用接口

1.外界立体声标识获取

image

2.收音立体声设置

image

3.带宽设置

image 版权所有,侵权必究 22
image 版权所有,侵权必究 23

Prev
AC695N_AC696N FM天线ESD静电防护措施说明V2.0_20250107
Next
杰理FM硬件指南-20230315