IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 离线语音风扇设计应用案例 -> 正文阅读

[嵌入式]离线语音风扇设计应用案例

1 概述?

随着人们生活水平的提高,对产品的功能要求也越来越高,追求舒适的体验感,特别是对操控性的要求越来越高。目前风扇产品的控制方式有以下几类:

  • 按键控制:传统控制方式,每次要走到风扇边才行,操作麻烦;
  • 遥控控制:采用红外遥控或者蓝牙遥控,方便远距离控制,但遥控器容易丢,放置也麻烦。且遥控器上按键较少,当风扇功能多的时候无法用单次按键控制全部的功能,组合按键不符合人们使用习惯;
  • 手机APP控制:每次控制需要打开手机APP,需要联网,同时风扇需配网,操作繁琐;
  • 智能音箱控制:通过如天猫精灵等智能音箱直接控制,相对方便,但音箱需联网状态下才可使用,识别时有隐私安全问题,网络延时大时控制的实时性不好。

为了解决以上痛点,可以采用纯离线语音识别进行控制,在成本增加不大的情况下,为产品带来更多的亮点和竞争力。启英泰伦针对该产品领域,已开发了整套离线语音风扇方案,下面对该方案进行介绍。


2 方案优势?

启英泰伦离线语音风扇相对传统风扇方案,可让用户通过语音控制风扇设备,替换传统遥控器或按钮控制的方式,该方案有以下优势:

  • 可以直接使用语音控制风扇,且无需联网,自然方便,识别率可达95%以上;
  • 语音控制响应快,一般在0.2~0.8s内完成;
  • 可远场识别,安静情况下可达10米;
  • 方案功耗低,工作功耗仅为0.2W左右;
  • 可靠性好,芯片方案已通过双85测试,满足格力、美的等家电巨头要求;
  • 整套产品技术已成熟,具有完整的软件、硬件、结构设计方案,节省开发周期,降低开发难度;
  • 配合我司语音AI平台开发,可灵活定制唤醒词和命令词,不需要再专门收集语料训练。


3 应用描述?

风扇产品按照使用电源类型可分为交流电风扇、直流电风扇和交直流电风扇三类,其类型可以分为台扇、吊扇、落地扇、无叶风扇等。启英泰伦离线语音风扇方案适用于各类风扇,其中尤其在落地扇上面的应用较多。

语音风扇产品的使用场景为普通家居环境,在安静和中低噪音下可以达到良好的识别率。其中安静环境的环境底噪在35dB ~ 45dB之间,属于中低噪音环境;开启风扇后环境噪音可达45dB ~ 65dB之间。该噪音环境下可以直接选用我司单麦克风语音模块,如CI-B0XGS01S或CI-B0XGS01S-H模块,以达到比较好的性价比。

特别注意,不同的风扇运行过程中,因为扇叶大小和叶片数量,风量大小差异,运行产生的风噪大小也有不小的差异,为了达到最好的语音识别效果,在设计风扇整机结构时,因注意控制噪音小于65dB。


4 产品设计流程?

一个基于我司芯片的标准语音产品设计流程如下图所示:

该流程主要针对我司新用户开发产品使用,包含了前期购买样品Demo进行验证,硬件选型,语音对话逻辑、软硬件方案和结构设计,设计完成后的测试,以及生产测试准备和后续批量采购等步骤。如果是已经熟悉我司方案的老用户,可以直接从中间步骤开始,不用再重复进行Demo测试等工作。

下面针对新用户的开发,对上述流程中的各个步骤逐一描述。

4.1 DEMO测试?

针对新用户,可以先从我司授权的经销商或直接从我司官网 ?样品购买?处购买对应的模块或开发板套件,进行识别效果测试,相关的软硬件技术文档可以从本文档中心处获取。用户测试满意后,可以进行硬件选型。

4.2 选型指南?

用户硬件选型可以直接参考 ?硬件选型?,如果用户想快速产品化,推荐直接使用我司已设计好的标准模块;如果现有标准模块无法满足产品的结构需求,也可以选用合适的芯片进行硬件板的设计。

4.3 方案设计?

选择好合适的芯片或模块后,可根据产品的功能进行下述设计:

如用户为首次进行语音方案开发,建议到 ?启英泰伦语音AI平台?上获取基于相关芯片的语音产品方案设计Checklist文档,进行逐一检查以确保设计效果。如有技术支持需求请联系我司技术支持人员。

4.4 测试验收?

产品方案设计完成形成样品后,建议对该样品进行相关的识别测试,相关测试方法和标准可参考 ?识别效果测试。同时,还建议根据产品质量的要求进行各类硬件测试,如双85测试、静电测试等。为了保证最终的识别效果,还建议进行硬件底噪的测试及产品装机后的整机功能测试。

4.5 生产测试?

样机测试完成后,会转入后续产线批量生产阶段。我司为产品的批量生产做了完善的解决方案,用户可以参考 ?生产测试?获取更多信息。用户如需要生产测试的相关技术支持,请联系我司技术人员。

4.6 下单采购?

用户如果要采购我司产品样品,请点击 ?样品购买?,也可以点击 ?样品和批量采购?获取更多信息。


5 风扇设计方案介绍?

5.1 主控方案?

5.1.1 方案特点?

我司的CI110X芯片内置多个IO,可直接取代传统电控风扇中的单片机控制方案,实现单芯片完成语音控制和主控控制,整体成本较低,但需要做语音和主控的开发,前期开发周期长。

为了方便用户使用,我司已提前做了相应的开发,可以提供完整的语音风扇主控方案。

5.1.2 方案框图?

整个方案如上图所示,CI110X芯片作为主控,可以通过麦克风采集外部语音进行识别,通过功放驱动喇叭播音。如为省成本,还可以将功放和喇叭换为蜂鸣器。CI110X芯片还可以接受外部按键及红外信号,兼容传统控制方式。

CI110X芯片可支持数码管显示,以及控制外部的驱动电路,实现电机的控制,可以很好的用一个单芯片实现风扇的全部控制功能。

5.1.3 硬件设计参考?

?风扇电控板的一个硬件参考线路图及IO使用情况见下图,用户可以使用CI110X芯片按照相同的IO使用方式设计硬件电路,可以方便的搭建整套风扇方案。

5.1.4 主控方案SDK包说明?

我司为用户基于上述硬件设计,提供了完整的SDK包,用户可以到 ?启英泰伦语音AI平台?上获取相关SDK开发包。

本SDK包有以下功能点:

  • 控制方式:支持蓝牙、红外、按键、语音;
  • 风扇模式:支持正常风、自然风、睡眠风、智能风;
  • 摇头方式:支持左右摇头、上下摇头、3D摇头;
  • 定时功能:支持定时关机功能,可按整数定时1 ~ 15小时。

本SDK包中使用到了硬件timer,使用方式如下:

  1. 硬件TIMER0:转速电机控制(不归零码NRZ编码,使用一个IO脚);
  2. 硬件TIMER1:红外接收控制;
  3. 硬件TIMER2:蓝牙接收控制(注意,蓝牙接收的数据和红外接收模块基本相同);
  4. 硬件TIMER3:蜂鸣器控制和摇头电机控制。

为了方便代码的移植,每个外设驱动和风扇应用代码都是单独的文件夹,目录说明如下:

目录地址目录说明功能描述
..\components\ir..\components\ir_remote_driver\红外驱动目录(有些蓝牙也是单线通讯方式,与红外的驱动基本一致)红外接收功能,接收后的数据会队列通知到deal_userdef_msg,红外的长度可以根据宏定义配置。
#宏定义 #define IR_MAX_DATA_COUNT 120最大红外个数
..\components\motor_driver\电机驱动目录当前支持5104的不归零码协议,后续如有其它驱动,CI可以支持
..\components\ci_key\使用了2个Touch IC芯片(如品腾PT8041),控制7个按键触摸不同的按键,对应不同的adc数值,故使用两个ADIO 做按键驱动,根据客户的实际产品,请自行调整
..\components\digital_tube\数码管驱动目录IO 与LED 进行复用。目前支持的是两个数码管+8个LED
..\components\temperature_sensor\温度传感器驱动目录使用AD+热敏电阻实现,产品可以根据温度进行智能调节风量
..\components\buzzer\蜂鸣器驱动目录采用定时器默认4Khz进行声音提示,可以更改 #define BUZZER_HZ 进行配置,单位HZ
..\sample\internal\sample_1102\src\user_msg_deal.c风扇应用层代码根据红外,按键,语音识别的消息进行电机的应用控制

针对SDK中一些重要的变量和函数进行说明:

风扇状态变量:

typedef struct
{
    unsigned short user_code : 4 ;//用户码固定位 b'1010*
    unsigned short positive : 2 ;//正转b'00 反转b'11*
    unsigned short sync_motor: 2 ;//同步电机1 停止b'00 同步电机停止b'10*
    unsigned short speed_bit: 8 ;//电机工作范围25~255 0表示电机停止*
    unsigned char mode; //0:正常风 1:自然风 2:睡眠风 3:智能风*
    short time; //0~15H*
    unsigned char led; //1开,0关*
    unsigned char head; //0关闭 1:左右 2:上下 3:3D*
    unsigned char gear; //0关闭 1~24*
}motor_status_struct_data;

风扇初始化函数

路径: ..\sample\internal\sample_1102\src\user_msg_deal.c

/*\* @breif 风扇初始化函数**/
void fan_init(void)
{
//风扇状态初始化
  motor_status.user_code = 0xa;
  motor_status.sync_motor = 0x0;
  motor_status.speed_bit = 0x0;
  motor_status.positive = 0x00;
  motor_status.mode = 0;
  motor_status.head = 0;
  motor_status.led = 1;
  motor_status.gear = 0;
  motor_status.time = 0;
  /*风扇软件初始化*/
  extern void  user_fan_soft_init(void);
  user_fan_soft_init();

  //电机初始化
  agreement_5104_app_init();
  //红外初始化
  extern void ir_test_recive(void);
  ir_test_recive();
  //蓝牙初始化
  extern void bt_test_recive(void);
  bt_test_recive();
  //按键初始化
  extern void ci_key_init(void);
  ci_key_init();
  //数码管初始化
  extern int digital_tube_init(void);
  digital_tube_init();
  //蜂鸣器初始化
  buzzer_init();

  //同步电机2初始化
  sync_motor2_hw_init();

  //温度传感器初始化
  temp_sensor_init();
}

风扇应用任务处理

语音入口和标准SDK一致无改动,蓝牙、语音、按键、红外通过队列sys_msg_queue发送消息到UserTaskManageProcess任务。相关控制处理入口入下图所示例:

uint32_t deal_userdef_msg(sys_msg_t *msg)
{
    uint32_t ret = 1;
    switch(msg->msg_type)
    {
    /* 按键消息 */
        case SYS_MSG_TYPE_KEY:
        {
            sys_msg_key_data_t *key_rev_data;
            key_rev_data = &msg->msg_data.key_data;
            userapp_deal_key_msg(key_rev_data);
            break;
        }
        /* 红外消息 */
        case SYS_MSG_TYPE_IR:
        {
            sys_msg_ir_data_t *ir_rev_data;
            ir_rev_data = &msg->msg_data.ir_data;
            userapp_deal_ir_msg(ir_rev_data);
            break;
        }
        /* 蓝牙消息*/
        case SYS_MSG_TYPE_BT:
        {
            sys_msg_bt_data_t *bt_rev_data;
            bt_rev_data = &msg->msg_data.bt_data;
            userapp_deal_bt_msg(bt_rev_data);
            break;
        }
        #if MSG_COM_USE_UART_EN
        /* CI串口协议消息 */
        case SYS_MSG_TYPE_COM:
        {
            sys_msg_com_data_t *com_rev_data;
            com_rev_data = &msg->msg_data.com_data;
            userapp_deal_com_msg(com_rev_data);
            break;
        }
        #endif
        /* CI IIC 协议消息 */
        #if MSG_USE_I2C_EN
        case SYS_MSG_TYPE_I2C:
        {
            sys_msg_i2c_data_t *i2c_rev_data;
            i2c_rev_data = &msg->msg_data.i2c_data;
            userapp_deal_i2c_msg(i2c_rev_data);
            break;
        }
        #endif
        default:
        break;
    }
    return ret;
}

5.2 配合主控板的串口通讯方案?

5.2.1 方案特点?

如用户不愿意替换原先使用的电控板,也可以用我司的芯片设计语音控制板,和原电控板通过串口进行通讯,也可以实现语音风扇的产品设计。该方式开发相对简单,可以快速对接完成产品,但成本略高,适用于需快速出产品的的方案或者第一次接触语音识别的方案。

该方案的设计框图如下,语音模块与电控模块需要4根线的串口连接,语音模块进行语音识别及根据风扇的状态进行信息播放,控制由电控模块完成。

5.2.2 硬件设计参考?

用户可以使用我司芯片设计需要要求的语音模块,但为快速开发,推荐直接使用我司的以下标准模块:

  • CI-B02GS03T:适合空间比较高,纵深长的结构,串口接口电平为3.3V;
  • CI-B02GS01S:适合空间比较矮的结构,串口接口电平为3.3V;
  • CI-B02GS01J:适合有空间放置固定语音模块的结构,原来的风扇硬件改动较小,串口接口电平为5V。

用户直接使用我司标准语音模块时,有以下注意事项:

  • 将语音模块板的串口跟电控串口对接,注意电控的供电需要大于1A;
  • 注意串口的电平要匹配,CI-B02GS01J支持5V电平,其他的模块支持3.3V,如果电控板使用5V电平,CI-B02GS01J可以对接直接串口,其它模块需要增加电平转换电路,如下图所示:

5.2.3 串口通讯方式?

语音模块与电控模块通过串口进行信息交互,主要有两种方式,一种为语音模块主动播放,同时将信息发电控模块;另一种为语音模块被动播放,其分别描述如下:

语音模块主动播放模式

主动播放方式主要执行以下动作:

  1. 识别到词条,主动播放反馈声音;
  2. 将此条信息串口告知电控模块;
  3. 电控模块执行动作。

该方式的优点在于控制方式简单,由语音模块单线输出信息给电控模块。但缺点在于无法根据风扇的情况及按键情况进行语音反馈。

语音模块被动播放模式

被动播放方式主要执行以下动作:

  1. 语音模块识别到词条;
  2. 将词条信息串口告知电控模块;
  3. 电控模块执行相关动作;
  4. 告知语音模块需要播放的内容;
  5. 语音模块根据电控模块反馈进行播放。

该方式的优点在于语音模块根据电控模块的状态进行播放对应内容,可以进行最合适的反馈,体验感好;同时如果电控模块通过按键或者遥控进行控制,语音模块也可以进行状态播放。缺点在于会多一次串口通信的过程。

5.2.4 SDK包说明和模块串口通讯协议?

我司为用户提供了串口通讯方案完整的SDK包,用户可以到 ?启英泰伦语音AI平台?上获取相关SDK开发包。

模块的串口通讯建议使用我司标准协议,具体格式请参考 ?串口协议?。

以下是语音模块发给电控模块的一个命令词及协议参考:

命令词帧头长度类型命令序号语音ID保留分数累加和帧尾
小艾小艾A5 FC07 00A091XX00 00 00 0000 00XXXXXXFB
开风扇A5 FC07 00A091XX42 19 74 0200 00XXXXXXFB
打开风扇A5 FC07 00A091XX41 19 74 0200 00XXXXXXFB
关风扇A5 FC07 00A091XX82 19 74 0200 00XXXXXXFB
关闭风扇A5 FC07 00A091XX81 19 74 0200 00XXXXXXFB
开摇头A5 FC07 00A091XX86 22 74 0200 00XXXXXXFB
打开摇头A5 FC07 00A091XX85 22 74 0200 00XXXXXXFB
风扇摇头A5 FC07 00A091XX81 22 74 0200 00XXXXXXFB
关摇头A5 FC07 00A091XXC5 22 74 0200 00XXXXXXFB
关闭摇头A5 FC07 00A091XXC4 22 74 0200 00XXXXXXFB
停止摇头A5 FC07 00A091XXC1 22 74 0200 00XXXXXXFB
风大点A5 FC07 00A091XXE1 38 BC 0200 00XXXXXXFB
风大一点A5 FC07 00A091XX72 1A 98 0100 00XXXXXXFB
风大一些A5 FC07 00A091XX73 1A 98 0100 00XXXXXXFB
风再大点A5 FC07 00A091XX74 1A 98 0100 00XXXXXXFB
风小一点A5 FC07 00A091XX75 1A 98 0100 00XXXXXXFB
风小一些A5 FC07 00A091XX76 1A 98 0100 00XXXXXXFB
风小点A5 FC07 00A091XX5F 39 BC 0200 00XXXXXXFB
风再小点A5 FC07 00A091XX77 1A 98 0100 00XXXXXXFB
最大风A5 FC07 00A091XXC7 39 BC 0200 00XXXXXXFB
最小风A5 FC07 00A091XX48 3A BC 0200 00XXXXXXFB
定时关机A5 FC07 00A091XX01 0F 95 0100 00XXXXXXFB
关闭定时A5 FC07 00A091XX44 0E 95 0100 00XXXXXXFB
睡眠风A5 FC07 00A091XX82 27 74 0200 00XXXXXXFB
自然风A5 FC07 00A091XX03 28 74 0200 00XXXXXXFB
正常风A5 FC07 00A091XXC1 CB 94 0100 00XXXXXXFB
声音大点A5 FC07 00A091XX47 19 94 0100 00XXXXXXFB
声音小点A5 FC07 00A091XX87 19 94 0100 00XXXXXXFB
定时一小时A5 FC07 00A091XX02 37 95 0100 00XXXXXXFB
定时两小时A5 FC07 00A091XX82 37 95 0100 00XXXXXXFB
定时二小时A5 FC07 00A091XX83 37 95 0100 00XXXXXXFB
定时三小时A5 FC07 00A091XX01 38 95 0100 00XXXXXXFB
定时四小时A5 FC07 00A091XX81 38 95 0100 00XXXXXXFB
定时五小时A5 FC07 00A091XX01 39 95 0100 00XXXXXXFB
定时六小时A5 FC07 00A091XX81 39 95 0100 00XXXXXXFB
开一档A5 FC07 00A091XX41 3F 94 0100 00XXXXXXFB
开二档A5 FC07 00A091XXC1 3E 94 0100 00XXXXXXFB
开三档A5 FC07 00A091XX01 3F 94 0100 00XXXXXXFB
开四档A5 FC07 00A091XX41 3F 94 0100 00XXXXXXFB
开五档A5 FC07 00A091XX81 3F 94 0100 00XXXXXXFB
开六档A5 FC07 00A091XXC1 3F 94 0100 00XXXXXXFB
开七档A5 FC07 00A091XX01 40 94 0100 00XXXXXXFB
开八档A5 FC07 00A091XX41 40 94 0100 00XXXXXXFB
开九档A5 FC07 00A091XX81 40 94 0100 00XXXXXX FB
退出唤醒A5 FC02 00A39AXX00 B2XXXXFB

以下是一个电控模块发给语音模块的通讯协议参考:

对应播报音帧头长度类型命令序号控制播放类型播放序号保留累加和帧尾
小艾小艾A5 FC07 00A192XX809201 00 00 000XXXXFB
开风扇A5 FC07 00A192XX809202 00 00 000XXXXFB
打开风扇A5 FC07 00A192XX809203 00 00 000XXXXFB
关风扇A5 FC07 00A192XX809204 00 00 000XXXXFB
关闭风扇A5 FC07 00A192XX809205 00 00 000XXXXFB
开摇头A5 FC07 00A192XX809206 00 00 000XXXXFB
打开摇头A5 FC07 00A192XX809207 00 00 000XXXXFB
风扇摇头A5 FC07 00A192XX809208 00 00 000XXXXFB
关摇头A5 FC07 00A192XX809209 00 00 000XXXXFB
关闭摇头A5 FC07 00A192XX80920A 00 00 000XXXXFB
停止摇头A5 FC07 00A192XX80920B 00 00 000XXXXFB
风大点A5 FC07 00A192XX80920C 00 00 000XXXXFB
风大一点A5 FC07 00A192XX80920D 00 00 000XXXXFB
风大一些A5 FC07 00A192XX80920E 00 00 000XXXXFB
风再大点A5 FC07 00A192XX80920F 00 00 000XXXXFB
风小一点A5 FC07 00A192XX809210 00 00 000XXXXFB
风小一些A5 FC07 00A192XX809211 00 00 000XXXXFB
风小点A5 FC07 00A192XX809212 00 00 000XXXXFB
风再小点A5 FC07 00A192XX809213 00 00 000XXXXFB
最大风A5 FC07 00A192XX809214 00 00 000XXXXFB
最小风A5 FC07 00A192XX809215 00 00 000XXXXFB
定时关机A5 FC07 00A192XX809216 00 00 000XXXXFB
关闭定时A5 FC07 00A192XX809217 00 00 000XXXXFB
睡眠风A5 FC07 00A192XX809218 00 00 000XXXXFB
自然风A5 FC07 00A192XX809219 00 00 000XXXXFB
正常风A5 FC07 00A192XX80921A 00 00 000XXXXFB
声音大点A5 FC07 00A192XX80921B 00 00 000XXXXFB
声音小点A5 FC07 00A192XX80921C 00 00 000XXXXFB
定时一小时A5 FC07 00A192XX80921D 00 00 000XXXXFB
定时两小时A5 FC07 00A192XX80921E 00 00 000XXXXFB
定时二小时A5 FC07 00A192XX80921F 00 00 000XXXXFB
定时三小时A5 FC07 00A192XX809220 00 00 000XXXXFB
定时四小时A5 FC07 00A192XX809221 00 00 000XXXXFB
定时五小时A5 FC07 00A192XX809222 00 00 000XXXXFB
定时六小时A5 FC07 00A192XX809223 00 00 000XXXXFB
开一档A5 FC07 00A192XX809224 00 00 000XXXXFB
开二档A5 FC07 00A192XX809225 00 00 000XXXXFB
开三档A5 FC07 00A192XX809226 00 00 000XXXXFB
开四档A5 FC07 00A192XX809227 00 00 000XXXXFB
开五档A5 FC07 00A192XX809228 00 00 000XXXXFB
开六档A5 FC07 00A192XX809229 00 00 000XXXXFB
开七档A5 FC07 00A192XX80922A 00 00 000XXXXFB
开八档A5 FC07 00A192XX80922B 00 00 000XXXXFB
开九档A5 FC07 00A192XX80922C 00 00 000XXXXFB

注意:

  1. ASR语言模型中文建议选择SE146,其他语种请使用对应语种的模型。风扇产品自带运行噪音,如果风扇本身噪音大于60db,建议打开降噪功能。
  2. 串口设置:
    • 波特率:9600
    • 停止位:1
    • 数据位:8
    • 奇偶校验:无
  3. 代码中通过判断 “命令+语音ID”获取是什么指令和功能。
  4. 发送的串口信息建议要检查完整性,可以用以下的checksum参考代码来实现。
#define VMUP_MSG_DATA_MAX_SIZE (20)//可根据实际数据大小调整

#pragma pack(1)
typedef struct
{
    uint16_t header;
    uint16_t data_length;
    uint8_t msg_type;
    uint8_t msg_cmd;
    uint8_t msg_seq;
    uint8_t msg_data[VMUP_MSG_DATA_MAX_SIZE];
    /*uint16_t chksum; send add auto*/
    /*uint8_t tail; send add auto*/
}sys_msg_com_data_t;
#pragma pack()

unsigned short Uart_Checksum(sys_msg_com_data_t * msg)
{
    unsigned char i;
    unsigned short t16_lenth;
    unsigned short t16_check = 0;
    uint8_t* rxbuf = uint8_t*&msg->msg_type

    t16_lenth = msg->data_length + 3;//cmd_type,cmd,sequence 加上data数据的长度 
    if(t16_lenth > VMUP_MSG_DATA_MAX_SIZE + 3)//data length error
    {
        return 0xffff;
    } 
    for(i=4;i<t16_lenth;i++)
    {
        t16_check +=  rxbuf[i];
    }
    return t16_check;
}

6 产品结构相关注意事项?

6.1 麦克风结构设计?

风扇产品在设计结构时,针对麦克风应当注意以下事项:

  • 麦克风布局尽量远离风扇的风面及电机;
  • 麦克风放在风扇的正面/顶部/底部/的位置避免遮挡,保证拾音最大范围;
  • 分贝仪测试最大风速下,麦克风处的稳态噪声需小于60dB;
  • 麦克风连线较长可选择带屏蔽的线;
  • 麦克风线扎捆远离电机或电控线。

下图以落地风扇为例,讲述麦克风结构开孔及位置的建议方式,固定麦克风的结构件也需要考虑麦克风线方便引出导线和避免干扰。

6.2 喇叭结构设计?

风扇产品在设计结构时,针对喇叭应当注意以下事项:

  • 考虑到音质,喇叭功率不能太小,建议选用1W以上喇叭,带音腔的喇叭效果会更好一点,同时注意硬件板上的功放驱动能力要匹配喇叭型号;
  • 喇叭放置位置以美观及结构布局方便为主,但注意尽量避免和麦克风放在同一位置;
  • 不带音腔喇叭可以在结构上做一个音腔密封后能增大音量输出。

下图是一个喇叭规格及开孔的建议。

6.3 其它注意事项?

  • 建议选择-32dB±3dB,信噪比大于70dB以上,性价比高的全向模拟麦克风;
  • 若风扇旋转震动比较大,选择较厚的麦克风胶套减缓震动,可减小对识别效果的影响;
  • 某些显控板在底盘上的落地风扇,或类似易接触水或积累灰尘的风扇,需要选择防水防尘的麦克风;
  • 特别注意禁止直接点热溶胶用于固定麦克风头;
  • 将麦克风完全插入固定孔内部,避免歪斜,拾音孔中心孔对准麦克风的中心;
  • 风扇内部接线多容易扯松,插头配插座带卡扣会更牢固;
  • 选择符合环保RoHS要求的RTV硅胶,推荐常用的硅胶有703/704/737等,或其它有机材料、单组分室温固化硅胶等;
  • 多数硅橡胶灌胶厚度小于3mm以内实温完全固化时间为8 ~ 12小时,灌胶厚度 > 3mm以上完全固化时间更长,可分层多次浇灌,确保完全固化稳定密封;
  • 生产工艺可把固定麦克风工序提前,另外特别注意麦克风接线在重力拉扯下,未完全固化前容易导致麦克风扯歪,也需注意将麦克风插线固定好。


7 相关参考资料列表?

编号参考资料描述获取方式
1标准离线SDK
CI110X_SDK_ASR_Offline
请到 ?启英泰伦语音AI平台?上获取
2风扇SDK Demo:
主控方案SDK
串口通讯方案SDK
请到 ?启英泰伦语音AI平台?上获取
3测试固件到 ?启英泰伦语音AI平台?上获取
4我司芯片和模块的选型指南请点击 ?硬件选型指南?查看
5我司芯片硬件设计方法参考请点击 ?硬件设计参考?查看
6麦克风和喇叭器件选型请点击 ?外围器件兼容列表?查看
7产品结构设计请点击 ?产品结构设计?查看
8软件开发方法和标准SDK说明请点击 ?软件开发?查看各部分内容
9产品识别性能测试方法请点击 ?识别效果测试?查看
10生产测试的方法请点击 ?生产测试?查看

用户如遇到使用问题,请到启英泰伦语音AI平台上提交技术工单,或直接联系我司技术人员获取协助。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-01-29 23:14:49  更:2022-01-29 23:17:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 11:31:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码