RDA5850开发教程

上传人:沈*** 文档编号:89327391 上传时间:2022-05-12 格式:DOC 页数:22 大小:157KB
收藏 版权申诉 举报 下载
RDA5850开发教程_第1页
第1页 / 共22页
RDA5850开发教程_第2页
第2页 / 共22页
RDA5850开发教程_第3页
第3页 / 共22页
资源描述:

《RDA5850开发教程》由会员分享,可在线阅读,更多相关《RDA5850开发教程(22页珍藏版)》请在装配图网上搜索。

1、-RDA5850/RDA5851开发手册版本: 2.12013-7-15目录目录3更新历史5声明6代码构造7任务列表7应用开发模块7驱动开发接口9Flash驱动9LCD驱动9工程定义10平台定义10应用定义14编译环境15第一次运行15编译方法15资源编辑器16工程设置16出厂设置17语音设置17语言选择18图片设置19字符串设置20LED设置21菜单设置22节日设置23模拟器24第一次运行25选择工程26模拟器界面27模拟器菜单28调试工具29工具栏说明29Log窗口说明29内存窗口说明30下载界面如下30调试菜单30工具配置31Trace配置32音频校准32音量校准32Mp3解码器校准34

2、SBC参数设置35回音消除参数设置35更新历史日期版本描述作者2012-5-261.0新版本发布2012-7-301.1增加局部target配置2012-8-211.2增加gpio按键配置2013-4-92.0增加led,gdb,trace,calibration2013-7-152.1增加蓝牙调试菜单,增加sbc和回音消除设置方法的说明声明1. 在未经RDA公司事先书面许可的情况下,严禁以任何形式复制、修改本手册中的任何内容;在编制手册过程中已经力求内容的正确与完整,但并不保证本手册没有任何错误或遗漏。本公司将不对本手册可能出现的错误或者疏漏负责;我们保存在不预先通知的情况下,对本手册中描述

3、的任何产品进展修改和改进的权利。代码构造系统分为两个局部,应用程序和平台代码。平台代码位于platform目录,应用程序位于apps目录。目录列表目录内容appsap_*应用程序代码ap_gui公用显示程序,比方菜单、进度条等gui显示函数库,显示文字、图片等projects_cfg应用工程配置,包括选项、资源等system访问平台软件相关的代码env编译脚本和makefilelib库文件platformchip芯片定义和rom文件edrv外部设备驱动程序flash_prog下载程序Ramruninclude平台库文件的头文件。Simulator模拟器代码target平台定义文件build编译

4、中间文件he*系统目标文件,每个target会有一个子目录。toolpool编译调试工具。系统入口函数是BAL_TaskInit。BAL_TaskInit里面首先调用BAL_Initalise函数进展系统的初始化。然后创立了4个任务。任务列表总共有4个任务中系统中运行:1. 系统任务,主要处理底层驱动的消息2. 媒体任务,运行和调度解码模块3. 蓝牙任务,运行协议栈和profile4. 应用任务,运行应用程序,处理消息和显示界面。4个任务中除了应用任务都是在平台代码里的。应用开发模块应用程序一般是一个消息处理循环,调用MESSAGE_Wait函数得到消息,根据应用分别处理对应的消息,不处理的消

5、息调用MESSAGE_HandleHotkey函数处理热键。例如代码:INT32 Sample_Entry(INT32 param) UINT32 key;UINT8 result=RESULT_MAIN; MESSAGE_Initial(g_comval); / 重置系统计数器 while(1) if(need_draw) / 如果需要显示 #if APP_SUPPORT_LCD=1 if(AP_Support_LCD() GUI_ClearScreen(NULL);/清全屏幕 GUI_DisplayBattaryLever(); GUI_UpdateScreen(NULL); #endif

6、 need_draw = FALSE; key = MESSAGE_Wait(); / 取得系统消息 switch( key )/ 根据消息执行不同动作。 case AP_MSG_RTC: need_draw = TRUE; break; case AP_KEY_MODE|AP_KEY_HOLD: ; / break; default: result = MESSAGE_HandleHotkey(key); / 处理热键 if(result = RESULT_REDRAW) need_draw = TRUE; else if(result != 0) return result; 驱动开发接口

7、需要用户定制的驱动主要是flash和lcd,其他局部的驱动一般不需要改动。驱动的选择在平台的定义文件target.def里面。Flash驱动Flash驱动位于platformedrvmemd目录下,驱动的接口定义在文件memd_m.h中,主要包括读、写、擦等函数接口。/初始化函数,系统启动后会调用。PUBLIC MEMD_FLASH_LAYOUT_T* memd_FlashOpen(CONST MEMD_FLASH_CONFIG_T* cfg);/读函数,一般需不要使用,可以用memcpy实现PUBLIC MEMD_ERR_T memd_FlashRead(UINT8 *flashAddres

8、s, UINT32 byteSize, UINT32* pReadByteSize, UINT8* buffer);/写函数,下载程序和保存程序配置时调用PUBLIC MEMD_ERR_T memd_FlashWrite(UINT8 *flashAddress, UINT32 byteSize, UINT32 * pWrittenByteSize, CONST UINT8* buffer);/擦函数,调用写函数前会先调用擦函数来擦除要写的扇区。PUBLIC MEMD_ERR_T memd_FlashErase( UINT8 *startFlashAddress, UINT8 *endFlash

9、Address);LCD驱动LCD驱动位于platformedrvlcdd目录下,驱动的接口定义在文件lcdd_m.h中,主要包括翻开,更新等接口。/初始化函数,系统启动后会调用。PUBLIC LCDD_ERR_T lcdd_Open(VOID);/刷屏函数,把Data指向的buff里的内容显示到屏幕上PUBLIC LCDD_ERR_T lcdd_update_screen (UINT8* Data, LCDD_ROI_T *rect);/8段数码管显示刷屏函数PUBLIC LCDD_ERR_T led8s_update_screen(UINT16 flag, UINT8* Data);工程定

10、义平台定义平台定义在目录target下,每个平台一个目录,包括一个target.def文件和两个头文件tgt_board_cfg.h和tgt_app_cfg.h。平台定义包括了芯片的定义和硬件平台的定义,比方驱动的配置、按键的设置等信息。target.def文件中需要修改的局部:#=# 3 # FLASH驱动 #SPI Flash (RAM is packaged inside baseband chip)FLSH_MODEL = flsh_gd25q32TARGET_E*PORT_FLAG += MEMD_NO_ASSERT# Flash model interface: parallel/

11、spiFLSH_IF = spi# EBC CLK cfg:_52MHz_/_78MHz_/_104MHz_/_156MHz_SYS_MEMD_EBC_CLK = _78MHz_#SPIFLASH spi CLK cfg:_52MHz_/_78MHz_/_104MHz_/_156MHz_ifeq $(strip $FLSH_IF) spiSYS_MEMD_FLSH_SPI_CLK = _78MHz_endif # ($FLSH_IF,)# Ram is ADMU* or not TARGET_E*PORT_FLAG += MEMD_RAM_IS_ADMU*# Flash is ADMU* or

12、 not #TARGET_E*PORT_FLAG += MEMD_FLASH_IS_ADMU*# Ram support burst mode or notTARGET_E*PORT_FLAG += MEMD_RAM_IS_BURST# Flash support burst mode or not#TARGET_E*PORT_FLAG += MEMD_FLASH_IS_BURST#=# 4 # LCD驱动 #LCD_MODEL = mzl02#ili9163c st7735r# LCD interface: gouda/slcdLCD_IF = gouda# GOUDA can suppor

13、t serial LCD starting from 8808ifeq $LCD_IF goudaUSE_SPI_LCD = 1TARGET_E*PORT_FLAG += USE_SPI_LCDendif#=# 9 #用户工程定义#工程名CT_PROJECT := 128_64#是否有资源CT_RESVALID := yesGLOBAL_E*PORT_FLAG += RESOURCE_SUPPORTtgt_app_cfg.h一般不需要修改。tgt_board_cfg.h可能需要修改的局部:GPIO相关的定义#define TGT_GPIO_CONFIG_CFG / 红外使用的gpio.gpio

14、_irc = HAL_GPIO_4, / led使用的gpio .led_count = 3, .leds = /led 列表 .gpoId = HAL_GPO_5 , /* MUSIC */ .gpoId = HAL_GPO_3 , /* FM */ .gpoId = HAL_GPO_0 , /* Bluetooth */ /按键使用的gpio .key_count = 0, /按键个数 .key_interrupt_mode = TRUE,/是否中断模式,否则使用查询模式 .high_keydown = TRUE, / 按键按下时gpio值为高 / gpio 按键列表 .gpio_keys

15、 = HAL_GPIO_NONE , /line in检查gpio端口号 .gpio_lineIn = HAL_GPIO_NONE, / line in gpio 是高有效 .lineinPlugHigh = TRUE, / t卡检测脚 .cardDetectGpio = HAL_GPIO_7, / 低有效 .gpioCardDetectHigh = FALSE, / 耳机检测脚 .earpieceDetectGpio = HAL_GPIO_1, / 低有效.earpiecePlugHigh = FALSE, / 没有设置gpio检测时是否有耳机 .earpiecePlugin = FALSE

16、, #define TGT_HAL_CONFIG .keyInMask = 0*07, /按键使用的keyin位开关 .keyOutMask = 0*07, /按键使用的keyout位开关 .uartKeyinoutSel = / 以下为用keyin/keyout做gpio的开关 .keyin0GpioEn = 0, /* GPIO_20 */ .keyout1GpioEn = 0, /* GPIO_17 */ .keyout2GpioEn = 0, /* GPIO_11 */ .keyout3GpioEn = 0, /* GPIO_7 */ .keyout4GpioEn = 0, /* GP

17、IO_8 */ , ./ 按键定义#define KEY_MAP KEY_POWER,/ power键的键值,设置为KEY_INVALID可以不用power键,直接拉高,加电自动开机。 . / gpio按键的值,顺序和gpio按键定义一致 . /第一列按键的值 . /第二列按键的值 . /第三列按键的值 / 按键动作定义#define KEY_CONFIG .repeat_timeout = 1000, / 进入长按的延时,单位毫秒 .repeat_interval = 200, / 进入长按后循环周期,单位毫秒 .keymap = g_tgtKeyMap / 红外遥控器定义#define I

18、RC_CODE_MAP_SIZE 22#define IRC_MA*_STYLE 4#define IRC_STYLE_MAP 0*bf00, 0*7f80, 0*ff00, 0*fd02 #define IRC_MAP 0*10, 0*0a, 0*0c, 0*08, /* KEY_1 */ 0*11, 0*1b, 0*18, 0*88, /* KEY_2 */ #define IRC_CONFIG .gpioId = HAL_GPIO_4, .irc_styles = IRC_MA*_STYLE, .map_size = IRC_CODE_MAP_SIZE, .timeout = 200,

19、.style_list = &g_tgtIRCStyle0, .code_map = &g_tgtIRCMap00 / pmd配置#ifndef TGT_PMD_CONFIG#define TGT_PMD_CONFIG ./ 长按开机.holdPowerOn = FALSE, /语音配置,对每种语音配置路径和参数EAR_PIECE为耳机模式LOUD_SPEAKER为外放模式BLUETOOTH为耳机发射模式BT_EP为蓝牙接收,耳机输出模式BT_SP为蓝牙接收,外放输出模式FM是收听收音机的模式LINEIN为插入linein时使用的模式RECEIVER和BLUETOOTH模式暂时没有用到。#de

20、fine TGT_AUD_CONFIG_EAR_PIECE_DRIVER CodecGallite#define TGT_AUD_CONFIG_EAR_PIECE_PARAM 0#define TGT_AUD_CONFIG_EAR_PIECE_OUTPUT_PATHAUD_SPK_RECEIVER / 语音输出路径,可选值为耳机AUD_SPK_EAR_PIECE或者外放AUD_SPK_LOUD_SPEAKER#define TGT_AUD_CONFIG_EAR_PIECE_OUTPUT_TYPE AUD_SPEAKER_STEREO / 输出类型,立体声或者左、右声道#define TGT_A

21、UD_CONFIG_EAR_PIECE_INPUT_PATH AUD_MIC_LOUD_SPEAKER / 输入路径*make脚本中的CT_TARGET参数选择编译的平台。应用定义应用定义在目录appsprojects_cfg目录下,每个工程一个目录,包括一个头文件project_config.h和资源文件。头文件中定义了上层应用的feature,比方lcd尺寸、是否支持菜单等。#define APP_SUPPORT_BLUETOOTH 1 / 支持蓝牙#define APP_SUPPORT_USB 0/ 支持usb host#define APP_SUPPORT_FM 1/ 支持fm#def

22、ine APP_SUPPORT_FM_RECORD 0 / fm录音#define APP_SUPPORT_FM_OUT 0 / fm输出#define APP_SUPPORT_LCD 1 / lcd单色液晶屏#define APP_SUPPORT_LED 1 / led指示灯#define APP_SUPPORT_LED8S 1 / 8 段数码管显示#define APP_SUPPORT_FLASHDISK 0 / 内置磁盘空间#define APP_SUPPORT_MENU 1 / 菜单支持#define APP_SUPPORT_REMOTECONTROL 1 / 遥控器支持#define

23、 APP_SUPPORT_LYRIC 1 / 歌词显示#define APP_SUPPORT_FADE_INOUT 1 / 淡进淡出#define APP_SUPPORT_INDEPEND_VOLUMNE 1 / 每个模块使用独立音量/ 上面值为0的选工程前还不支持,1的选项可以改为0来关闭/ 语言支持,定义字符串资源时使用#define APP_SUPPORT_LANG_ENGLISH 1 /English#define APP_SUPPORT_LANG_SM_CHINESE 1 /SM Chinese/屏幕尺寸#define LCD_WIDTH 128#define LCD_HEIGHT

24、64#define APP_DEFAULT_RESULT RESULT_MAIN / 进入系统后首先运行的任务应用工程的选择在平台定义的target.def文件里。编译环境第一次运行解压ftp上DevelopTool目录下的MIPS_Compiler.rar和coolgdb.rar到toolpool目录。编译方法执行根目录下的msys.bat翻开编译环境,注意会有杀毒软件警告,最好退出杀毒软件,以方便编译。执行*make命令进展编译,*make文件是个脚本,可以用文本编辑软件修改,其中参数CT_TARGET指定需要编译的工程,其他参数不要修改。*make可以带路径参数来单独编译*个模块,比方*

25、make platform/edrv编译驱动模块。*make link命令可以单独链接。资源编辑器资源保存在appsprojects_cfg工程名resource目录下,源文件名为resource.csv,可以用文本编辑工具直接编辑,目标文件名为res.bin,用来下载到flash,系统链接时会自动把资源目标文件参加到系统bin文件里。资源编辑器翻开的时候读取源文件,保存的时候会同时更新源文件和bin文件。资源编辑器位于toolpoolbin目录下,文件名resedit.e*e。运行时先选择配置的工程。工程设置工程全局设置信息,包括feature,显示参数、蓝牙名字、密码等。出厂设置第一次运行

26、或者用户选择恢复出厂设置时恢复的配置。注:其中Loop Mode有三个选项:RepeatOne: 循环播放一首歌曲,RepeatAll:循环播放所有歌曲,Auto:自动切换,按键选择下一首歌曲时切换为循环所有歌曲,按键选择上一首歌曲时切换为循环一首歌曲。语音设置语音设置配置各种提示音和内置音乐。对于没有LCD的工程,只需要配置前三页:工程设置、出厂设置和语言设置就可以了。选中的mp3文件会被复制到对应工程的resourceaudio子目录下。语音ID在gui_const.h里面定义。语音类型分为两种,mp3文件和内部编码。内部编码用一串字符来定义一段语音,每个字符播放0.1秒时间,0代表没有声

27、音,19代表从低到高的9个频点,大约频率见下表:值声音频率0没有声音1256Hz2384Hz3512Hz4640Hz5768Hz6853Hz71024Hz81280Hz91536Hz语言选择选择语言包,语言包的id和语言菜单的id相对应。语言包文件位于toolpoolbin目录下。图片设置选中的图片会被复制到对应工程的resourceimages子目录下。图片ID在gui_const.h里面定义。对于同类别的图片可以做成图片组资源,显示的时候用一个ID,和要显示的索引值就可以了。比方以下图中的循环状态,把不同循环的图片,按照程序中变量值repeat_mode的顺序排列,显示的时候就会很方便:G

28、UI_ResShowImage(GUI_IMG_MUSICLOOPS, repeat_mode, POSITION_F, 0);定义图片组资源,需要指定图片的高度,以便显示程序截取图片。字符串设置字符串ID在gui_const.h里面定义。需要为每个字符串在不同语言里设置内容,没有设置过的默认值为ID的名字。可以直接用文本编辑工具修改资源源文件来设置字符串的值。LED设置LED显示模式设置,ID在gui_const.h里面定义。每个显示模式依次设置开关灯已经延迟时间,单位0.1秒。点击Preview可以预览led闪烁效果,如以下图:菜单设置首先选择要编辑的菜单,选择后菜单项会显示在列表里。每个

29、菜单包括两个图片,一个是没选中时显示的图片,一个是选中时显示的图片。Query Active选项表示在显示菜单时,通过callback函数取得当前选中的菜单项。每个菜单项需要定义对于的string id,action,result,param。菜单项定义:工程说明string id用来显示菜单项的字符串idAction选择菜单后执行的动作Runtime Check运行时调用callback查询是否要显示该菜单项Invisible不显示该菜单项RawTe*t通过callback取得菜单项显示的文本Action有四个选择: Action说明ResultParamSubMenu翻开子菜单子菜单idR

30、esult返回结果RESULT_*等值Key模拟按键按键动作,AP_KEY_DOWN、AP_KEY_PRESS等键值,AP_KEY_PLAY、AP_KEY_VOLADD等。Message发送消息消息值节日设置节日分语言设置,选择语言后,对应的节日显示在列表里。节日定义说明:StyleMonthDateWeekDay阳历节日(Solar)阳历月阳历日阴历节日(Lunar)阴历月阴历日按星期定义的节日(Week)阳历月第几周星期几模拟器Simulator目录下为一Windows平台,Visual C+环境运行的模拟器。模拟器构建了一个可以让应用层运行的环境。模拟器运行时包括一个可以定制的界面和一个

31、终端窗口用来显示trace。第一次运行第一次运行模拟器需要注册插件,执行simulatorBinSimulatorCtrl目录下的regctrl.bat即可。调试蓝牙需要安装蓝牙驱动,蓝牙驱动支持CSR的usb蓝牙dongle,需要先安装原CSR dongle带的IVT软件后,再更新成我们的驱动,驱动位于simulatorBinUSB_Driver目录下。还需要设置Visual C+的工程配置,指定运行的目录为当前目录,否则会找不到资源文件,如以下图所示。选择工程选择模拟器运行的工程,需要修改两个地方:1. 文件IncOption.t*t,倒数第三行包含的目录改成需要模拟工程的目录。./I .

32、appsap_usbdiskinclude/I .appsap_voiceinclude/I .appsprojects_cfg工程名include/I .platformedrvbtdrdaStackinclude/I .platformedrvbtdrdaStackstackinclude2. 修改工程属性,Post-build step,复制对应的资源到调试目录Bin。模拟器界面模拟器的界面通过Skin来定义,skin位于simulatorBinSkins目录下,每个skin包括一个设置文件,一个背景图片和每个按键按下状态的图片构成。Skin的配置文件为*ml格式,包括了图片尺寸,每个按

33、键和led的位置、code等信息。 bk128*64.bmp / 背景图片 / 屏幕定义 46 / 位置 71 128 / 尺寸 64 0*ffffff / 前风光 0*0000ff / 背风光 / led定义 RED 0/ led id led_off.bmp / 灭灯时显示的图片 / led的位置,灭灯时显示图片用 54 145 24 23 / 键盘定义 0 10/ 键值 00.bmp / 按下时显示的图片 / 键的位置,按下时显示图片用 37 377 42 41 模拟器菜单文件菜单包括开机、模拟插拔卡、连接usb等动作。工具菜单包括skin设置,显示放大窗口,电池充电模拟。调试工具调试工

34、具位于toolpoolbin目录下,rdahost.e*e。调试工具包括一个trace窗口和多个内存窗口。Trace窗口显示芯片发送过来的信息,内存窗口可以读写芯片的地址空间。工具栏说明 保存log或者读出的内存信息 新建内存窗口 翻开下载窗口,下载bin到flash。 重新启动板子 去除收到的log信息 滚动显示log 在log信息中搜索Log窗口说明Log窗口显示两中信息,一个是Event,显示Detected Event: 0*; 该信息由hal_HstSendEvent发送。另一个是trace,前面是内标志,第一个是模块名,第二个是类别名,还可能有其他标志,后面是打印的trace信息。

35、打印trace在不同的模块里面有不同的宏,在target.def里面有开关,可以按模块开关。一般在应用层应该是用宏app_trace来打印。内存窗口说明内存窗口左侧显示16进制,右侧显示对应ascii码。地址输入框可以选择常用地址和最近输入的地址,可以用旁边的上下按钮翻页。下载界面如下上面的文件选择下载器bin文件,通过*make flash编译出来;下面的文件选择系统bin文件。可以指定蓝牙地址和蓝牙名字,以方便调试。如果不设置蓝牙地址则烧写完后蓝牙地址为随机值。调试菜单调试菜单如下,有局部功能还未实现:前两个是gdb,当出现assert信息,或者收到0*9db0000 event时代表系统

36、已经进入gdb状态,可以翻开gdb调试。正常运行时也可以启动gdb,进入gdb后系统会停下来进入gdb模式。Tui是图形界面的,C-GDB是命令行的,如果系统异常错误有可能图形界面gdb无法得到调试信息,就需要用命令行的gdb来调试。Configure和Trace Mask可以配置调试工具,具体在下节介绍。接下来的4项都是读取信息的,还没有完全做好。Audio Calibration是调试音频参数的,在后面详细介绍。工具配置配置内容如以下图:第一个选择GDB Enable,如果不选择在出现异常的时候会自动重启,选择了异常时进入gdb状态。SPI调试选择,是兼容coolwatcher做的调试sp

37、i存放器用的,必须有外部ram的情况下才能开启。NO Sleep,制止睡眠,方便调试。Trace开关,开关trace的传输和显示,后面的size是最大trace尺寸,超过时会去除最早收到的数据。Event Mask的开关对应于hal_HstSendEvent后面第一个参数。Trace配置这里对每个模块分别有16个级别的trace进展开关配置,对应于每条trace前面两项标志。音频校准点击Debug-Audio Calib出现音频校准界面,翻开时保证RDA5850/5851没有休眠,否则将读取参数失败。右上角按钮功能:Read - 读取设备相关参数。Write - 写入当前页面的参数到设备,一般

38、需要暂停后重新播放才能生效。Reset - 恢复为代码默认参数右下角按钮功能:确定, 取消 - 关闭对话框Save -生成头文件,可以复制粘贴到tgt_calib_cfg.h或者直接保存到tgt_calib_cfg.h,然后编译就可以固化到flash里面。生成文件的数据是已经写到板子上的数据,不一定是界面上显示的数据。音频校准分为音量校准,mp3设置,sbc设置,回音消除设置,以下分别介绍。音量校准如以下图对系统音量进展校准:音量数可以在target.def里面通过AUD_MA*_LEVEL进展设置。配置数在tgt_calib_cfg.h里面通过CALIB_AUDIO_GAIN_ITF_QTY

39、设置。每个配置可以选择多个模式,但只能是一样输出类型的模式,比方外放(Speaker)模式和蓝牙外放模式BT(SP)。前三行是对播放语音时的音量进展配置,后三行对播放音乐时的音量进展配置。最后是提示音的音量配置。修改数值后选择write可以把数据写到板子上,板子上需要通过调节音量或者暂停后重新播放才能生效。点击Save会生成头问题,可以复制粘贴到tgt_calib_cfg.h或者直接保存到tgt_calib_cfg.h,然后编译就可以固化到flash里面。Mp3解码器校准配置数在tgt_calib_cfg.h里面通过CALIB_AUDIO_VOC_ITF_QTY设置。每个配置可以选择多个模式。

40、可以配置每个频点的增益值,配置写入板子后立即生效。点击save的时候生成的头文件包括了解码器的校准数据。SBC参数设置SBC解码器里面有个高通滤波器,这里配置滤波器的参数。Eanble Filter - 滤波器的开关Band - 滤波器的范围,有0-200Hz,0-300Hz,0-400Hz,0-500Hz,0-600Hz可选Gain - 增益值,一般为负值回音消除参数设置相关配置为打 时消除回音的算法使用,分为外放和耳机两种模式,配置写入板子后立即生效。在调节这局部的参数前应先保证通话时的输入、输出音量到达了产品要求,因为语音的输入、输出增益可能会导致Echo局部的参数失效,从而导致回声的出

41、现。而Echo局部的参数根本不会影响到输入/输出的增益。回声处理算法总共分为两种算法:回声抑制算法和是回声消除算法。1. 回声抑制算法是通过对输入/输出的信号控制到达对回声的抑制,此算法可能会导致通话断续或双方不能同时说话等问题。2.回声消除算法是通过复杂的信号处理算法消除掉语音中的回声局部,此算法一定范围内的回声有效。所以优先使用回声消除算法,当回声过大,非线性过强时,消除算法可能不起作用,此时需要关闭回声消除算法,去使用回声抑制算法。下面逐项介绍各个参数的意义:􀁺 High Pass Filter:这个参数控制一个截至频率为200Hz 的高通滤波器的开关。该滤波器主要滤掉

42、MIC 信号中的200Hz 以下的低频噪音。可以起到一定的降噪作用。􀁺 Notch Filter:这个参数控制一个梳妆陷波器的开关。该滤波器主要滤掉MIC信号中的217Hz 及其谐波局部,也就是远端的电流声。􀁺 AEC :这个参数控制着回声消除算法的的开关。u 翻开AEC enable这个开关,则手机中的回声消除算法起作用;以下参数只有在AEC 翻开的时候起作用􀁺 Strong echo flag: 回音较强时使用。􀁺 Non Linear transform:非线性变换开关。在loudspeaker 模式下使用,用于应对

43、扬声器产生的非线性。speaker 模式下,一般要翻开这个开关。Normal 模式下关闭。􀁺 Noise Gain Limit:噪声抑制下限。此参数可以控制噪声抑制的强度。当参数变小的时候,噪声抑制能力增强,相应的有用语音也会有所损失;当参数变大的时候,噪声抑制能力下降。􀁺 Noise Gain Limit Step:噪声抑制下限频率步长。此参数可以改变在各个频率点的噪声抑制下限,形成随频率点变化的噪声抑制下限。当此参数为0 的时候,就是恒定的噪声抑制下限。当此参数不为0 时,就形成以Noise Gain Limit 为起点,Noise Gain Limit

44、 Step 为斜率的一条直线。􀁺 Noise Mininum:舒适噪声添加幅度。在echo cancellation 处理的最后会参加舒适噪声来获得较好的听觉效果同时掩蔽一些残留噪声,这个参数决定了添加噪声的幅度。􀁺 AmpThr:目前不作调整。u 如果关闭AEC enable 这个开关,则回声抑制算法起作用。里面都包含降噪的算法,具有一定的降噪能力。以下参数只有在AEC 关闭的时候起作用􀁺 Noise Suppresser:这个参数控制着一个非线性的降噪器。如果翻开这个开关则对MIC 信号进展降噪,同时对音质也有一定的影响。⣶

45、98; Noise Suppresser Without Speech:这个参数控制着一个在MIC 端没有语音情况下对MIC 端的背景噪声进展降噪的降噪器。如果翻开这个开关,则在没有语音的情况下,远端的背景噪声会变小。Echo cancel方框内的参数,主要适用于回声较小的情况。􀁺 Echo Mu:这个参数表示翻开回声抑制算法的音量,例如,如果参数为3,则说明当音量为3 时才翻开回声抑制算法,如果这个值不为零,应该关闭EchoSuppression的开关。􀁺 Echo Rel:此参数表示Speaker 能量和Mic 能量的倍数。这个数越大,出现回声的可能性越

46、大,两人同时说话出现的断续的可能性越小。这个数越小,出现回声的可能性越小,两人同时说话出现的断续越明显。所以此值应该在没有回声出现的情况下尽量调大。􀁺 Echo Min:此参数表示一个门限,当Speaker 音量大于这个值时,关闭Mic,以防止声音进到Mic 里面引起回声,这个值越大表示这个门限越小,从而抑制回声的能力越强,但引起的断续越严重。所以这个值应该在没有回声的情况下,尽量调小也就是在没有回声的情况下把这个门限设置的越大越好。Echo suppression方框内的参数,主要适用于回声较大的情况。􀁺 Echo suppression:翻开这个开关,下

47、面的参数才起作用,这套参数一般用于外放模式,如果翻开这个开关应该把Echo Mu设置为零。􀁺 DTD:这个参数暂时没用。􀁺 VAD:这个参数表示一个门限,当接收到的音量大于这个值时,关闭Mic,以防止声音进到Mic 里面引起回声,这个值越大表示这个门限越小,从而抑制回声的能力越强,但引起的断续越严重。所以这个值应该在没有回声的情况下,尽量调小也就是在没有回声的情况下把这个门限设置的越大越好。蓝牙功能调试蓝牙调试菜单有5个菜单项,分别是蓝牙存放器,蓝牙补丁,RAW PDU,DUT模式,T*测试模式。前面三项是调试蓝牙芯片用的,一般情况不需要使用,使用时需要根据我们这边做蓝牙驱动的同事的指数做。DUT模式是用来和蓝牙综测仪链接,测试蓝牙指标的,没有参数,点击之后进入DUT模式,综测仪就可以连接了。T*测试模式是发射测试,参数说明如下。蓝牙发射测试发射测试有两种模式,continue模式和burst模式。Continue模式发射连续的射频信号,界面如下:参数说明:H

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!