基于WT588F02B语音芯片 433解码下的烟雾警报系统应用设计方案
时间:2023-02-20 08:00:00
概述
市场上常见的烟雾报警系统有些过于单一,只是基于一般的警告WT588F02B语音芯片支持433解码设计的烟雾报警系统,使烟雾报警系统功能更加丰富多样,设计简单,应用快捷。
WT588F02B 语音芯片简介
16位DSP语音芯片、32Mhz内部振荡;
工作电压2.0~5.5V; 建议电压:2.2~4.0V(使用串口TTL电平通信)
16bit的PWM可直接驱动8的输出R 0.5W喇叭;
支持6K~32Khz的WAV文件;
客户可以下载测试板更换芯片内部语音内容;
带语音提示功能(完整)WT588F标准播放功能);
可为客户提供数据(读写),例如预留256个字节 放在FLASH里面
当电压低于3时,低压检测功能.3V不播放语音,低压标志位置
WT588F02B 包装种类繁多,资源丰富,接口众多,时钟通信接口,红外信号接口,EV1527解码、LED数码显示。
详见下图
方案设计
方案分为两部分,第一部分是近端烟雾传感器和警告发送模块;第二部分是远端接收报警部分
第一部分:烟雾传感器和发送信号部分
客户使用传感器 MCU 433发送模块 WT588F02B标准或C001 扩展(如果需要时间,语音芯片可以作为时钟插入秒跳芯片,可以定期播放提醒)
使用标准版
当MCU当检测到烟雾时,使用一线或二线串口向语音芯片发送地址指令,以便语音芯片发出警告。通信格式见唯创业务提供的说明书。
更多功能参考下表
命令码 |
功能 |
描述 |
E0H...EFH |
E0音量最小,EF音量最大,16级音量调节 |
此命令在语音播放结束、播放过程中或待机状态下调节音量。 |
F1H |
无缝衔接循环播放指令 (音源本身需要相应调整,详情请联系我们的业务员) |
执行此命令可以循环播放当前段环播放当前段语音并发送。F1在执行循环指令的过程中,可以被执行FE命令,普通地址指令,F3/F8组合指令中断,失效;在发送循环播放指令之前,需要先发放指令。 再次发送F1.停止当前循环功能 |
F2H |
循环播放当前语音 |
执行此命令可以循环播放当前段环播放当前段语音并发送。F2在执行循环指令的过程中,可以被执行FE命令,普通地址指令,F3/F8组合指令中断,失效;在发送循环播放指令之前,需要先发放指令。 再次发送F2.停止当前循环功能 |
F3H |
连码播放 |
F3H 语音地址A,F3H 语音地址B,F3H 语音地址C,…播放地址A时,收到后面的码不打断,播放后A,就播放B,然后播放C…。F需要在地址之间加23ms延迟连码地址与下一组地址间隔要大于2ms(“F3+语音地址”为一组连码地址),最多可实现40段连码 |
FEH |
停止播放当前语音 |
执行此命令可停止播放当前段语音。 |
使用C001拓展版本
该版本使用标准串口控制,串口配置为:起始位:1位;数据位:8位;奇偶位:无;停止位:1位;波特率:9600,指令格式见下表
唤醒码 |
起始码 |
长度 |
命令码 |
参数1 |
参数2 |
.... |
参数end |
效验码 |
结束码 |
00 00 |
7E |
XX |
0xAX |
Adr 1 |
Adr 2 |
.. |
Adr End |
XX |
0xEF |
更多播放功能参照下表
命令码 |
备注 |
|
播放对应地址语音 |
例如:播放0x01地址则发送,00 00 7E 05 A0 00 01 A6 EF |
|
音量调节 |
00为静音,1F为最大音量,共32级音量调节 |
|
循环播放当前语音 |
循环播放可被AB、B0指令打断并失效 |
|
停止播放当前语音 |
||
B0 |
连码播放 |
时钟相关功能参照下表
命令码 |
功能 |
命令码详解 |
备注 |
FF 01 01 |
获取当前时钟 |
FF 01 01+R1 R2 R3 R4 R5 R6 R7 R8 R1:年 千位和百位; R2:年 十位和个位; R3:月; R4:日; R5:时; R6:分; R7:秒; R8:星期; (数据都为16进制) |
00:星期日 01:星期一 02:星期二 03:星期三 04:星期四 05:星期五 06:星期六 |
FF 01 02 R1 R2 R3 R4 R5 R6 R7 |
设置当前时钟信息 |
R1:年 千位和百位; R2:年 十位和个位; R3:月; R4:日; R5:时; R6:分; R7:秒; (数据都为16进制) |
|
FF 01 03 X1 X2 X3 X4 X5 X6
|
设置报警/闹钟信息 |
命令后接 6个数据,分别代表: X1:报警组, X2:报警状态,bit7=1,该报警组使能 X3:星期,bit7=1,星期使能 X4:日期,bit7=1,日期使能 X5:时,bit7=1,小时使能 X6:分,bit7=1,分钟使能 若设置报警组1每天7:30报警则发:7E 0B FF 01 03 01 80 00 00 87 9E B4 EF |
星期和日期二选一使能且只能设置每周某一个星期使能 20组报警组 X1从0x01~0x14 注意:X2的bit0~bit6用户可自定义状态,系统不会改变它的值; |
FF 01 04 |
获取当前报警信息 |
有报警,则反馈:FF 01 04 +如上6个信息 |
查询正在发生的报警。 |
FF 01 05 XX |
清除对应定时 |
XX:报警组 |
FF代表全部 |
FF 01 06 |
查询多少组定时 |
反馈:FF 01 06+报警组数 |
|
FF 01 07 XX |
查询XX组定时信息 |
反馈:FF 01 07 X1 X2 X3 X4 X5 X6 |
|
FF 01 08 |
清除报警跟倒计时中断信号 |
成功返回00,失败返回01 |
|
FF 01 09 X1 X2 X3 X4 |
设置倒计时 |
X1 :倒计时控制寄存器 bit7=1,倒计时使能 bit6=1,倒计时重载数据使能 X2:倒计时计数器H X3:倒计时计数器M X4:倒计时计数器L |
最大支持4660小时倒计时,计时单位秒, 若想停止计时器,则让X1的bit7≠1。 |
FF 01 0A |
查询倒计时 |
反馈:FF 01 0A |
查询倒计时剩余秒数 |
FF 01 0B |
查询状态寄存器 |
发送: 00 7E 05 FF 01 0B 10 EF 返回: 7E 05 FF 01 0B X1 X2 X1: bit7=1,有报警信号; bit6=1,有倒计时信号; bit5=1,低电压信号; bit4=1,正在播放; bit3~0,预留 X2: 预留 |
存储指令:
FF 01 0C |
读取存储数据 |
FF 01 0C adr0 adr1+adr19 adr0:表示要读取地址(00~255) 最多一次读20个byte数据 返回:FF 01 0C data0 data1+data19 对应地址上放对应数据值(data0) |
例如:读取位置00/01/02/03/04的值00 7E 0A FF 01 0C 00 01 02 03 04 20 EF 返回:7E 0A FF 01 0C A0 A1 A2 A3 A4 40 EF 注意:掉电不记忆 |
FF 01 0D |
写存储数据 |
FF 01 0D adr0 data0 adr1 data1+adr19 data19 adr0:要写入地址(00~255); data0:前面地址要写入的数据; 地址+数据成组出现 注意:最多一次可以写入20个byte数据 |
例如:在位置00/01/02/03/04写入A0/A1/A2/A3/A4 00 7E 0F FF 01 0D 00 A0 01 A1 02 A2 03 A3 04 A4 50 EF |
第二部分:接收报警部分
使用 WT588F02B C006 拓展,加上接收模块,对每一个烟雾传感器进行对码,最多支持16个,如果觉得不够还可以定制程序进行添加。原理图如下。