兰州军区总医院妇产科:ISD1700系列应用心得(一)

来源:百度文库 编辑:偶看新闻 时间:2024/05/03 05:02:41
分段录音母片制作
今年夏,因产品需要,原来的ISD1400系列的语音芯片,已经不能在产品上使用了。迫不得已,改用ISD1700系列的了。
跑遍深圳市场,没有一家能够提供ISD1700系列语音芯片的开发工具,如编程序器、烧录音器什么的,没办法,只好自己做。
在制作(ISD1700TOOLS)过程着,也对ISD1700系列芯片,有新的认识,现将一些心得,记录下来。主要目的是给自己做一个资料整理,以便日后有需要时,好有个查找。因断断续续写(本来就没打算要发表,权当工作记录),读取来显得零散。
这些心得,不敢说对刚刚接触ISD1700的工程师,有些帮助。只要你不嫌我行文罗嗦,你就将就着看吧,我得说声谢谢了。
好像有许多要说的,不知从何说起。就先所说昨天对ISD1700分段语音的录制说起吧。
【分段录音实例】
【应用背景】
这是一个应用在监控报警设备上的案例。有一监控设备,共有32个防区。单片机监控这些防区,发现异常(状态改变)时,发出语音报警。报警内容为:
“防区代号”+“防区”+“防区名称”+“报警”
如:03防区为“财务中心”,出现异常时,发出的报警语音为:
03防区财务中心报警
每个防区均用“防区代码”和“防区名称”映射。防区名称可由用户更改。
【思路】
根据应用要求,对语音进行分段录制和播放,需要播放时,根据报警点,进行组合放音。
本案例中,采用ISD1740语音芯片,正常8K采用时,可存储40秒语音信息。因本例中是使用电话语音播放,故用4K采样频率。这样可录放的语音长度为80秒。
好了,下面将各分段的“语音元素”(嘿嘿,我这样称呼),规划如下。原文件是用Excel做的,加上几个公式,得到如下的表格:
AddName
内容
时长(秒)
字节
SH
SL
EH
EL
SetPlay
SetRec
SetDel
Isd0
0
0.5
2
00
10
00
11
900010001100
910010001100
920010001100
Isd1
1
0.5
2
00
12
00
13
900012001300
910012001300
920012001300
Isd2
2
0.5
2
00
14
00
15
900014001500
910014001500
920014001500
Isd3
3
0.5
2
00
16
00
17
900016001700
910016001700
920016001700
Isd4
4
0.5
2
00
18
00
19
900018001900
910018001900
920018001900
Isd5
5
0.5
2
00
1A
00
1B
90001A001B00
91001A001B00
92001A001B00
Isd6
6
0.5
2
00
1C
00
1D
90001C001D00
91001C001D00
92001C001D00
Isd7
7
0.5
2
00
1E
00
1F
90001E001F00
91001E001F00
92001E001F00
Isd8
8
0.5
2
00
20
00
21
900020002100
910020002100
920020002100
Isd9
9
0.5
2
00
22
00
23
900022002300
910022002300
920022002300
IsdZc
正常
1
4
00
24
00
27
900024002700
910024002700
920024002700
IsdBj
报警
1
4
00
28
00
2B
900028002B00
910028002B00
920028002B00
IsdTd
停电
1
4
00
2C
00
2F
90002C002F00
91002C002F00
92002C002F00
IsdKm
开门
1
4
00
30
00
33
900030003300
910030003300
920030003300
IsdGd
供电
1
4
00
34
00
37
900034003700
910034003700
920034003700
IsdZd
红外
1
4
00
38
00
3B
900038003B00
910038003B00
920038003B00
IsdFq
防区
1
4
00
3C
00
3F
90003C003F00
91003C003F00
92003C003F00
IsdByq
变压器
1.5
6
00
40
00
45
900040004500
910040004500
920040004500
IsdKzgm
控制柜大门
1.75
7
00
46
00
4C
900046004C00
910046004C00
920046004C00
IsdXL
线路
1
4
00
4D
00
50
90004D005000
91004D005000
92004D005000
IsdCh0
00防区
1.75
7
00
51
00
57
900051005700
910051005700
920051005700
IsdCh1
01防区
1.75
7
00
58
00
5E
900058005E00
910058005E00
920058005E00
IsdCh2
02防区
1.75
7
00
5F
00
65
90005F006500
91005F006500
92005F006500
IsdCh3
03防区
1.75
7
00
66
00
6C
900066006C00
910066006C00
920066006C00
IsdCh4
04防区
1.75
7
00
6D
00
73
90006D007300
91006D007300
92006D007300
IsdCh5
05防区
1.75
7
00
74
00
7A
900074007A00
910074007A00
920074007A00
IsdCh6
06防区
1.75
7
00
7B
00
81
90007B008100
91007B008100
92007B008100
IsdCh7
07防区
1.75
7
00
82
00
88
900082008800
910082008800
920082008800
IsdCh8
08防区
1.75
7
00
89
00
8F
900089008F00
910089008F00
920089008F00
IsdCh9
09防区
1.75
7
00
90
00
96
900090009600
910090009600
920090009600
IsdCh10
10防区
1.75
7
00
97
00
9D
900097009D00
910097009D00
920097009D00
IsdCh11
11防区
1.75
7
00
9E
00
A4
90009E00A400
91009E00A400
92009E00A400
IsdCh12
12防区
1.75
7
00
A5
00
AB
9000A500AB00
9100A500AB00
9200A500AB00
IsdCh13
13防区
1.75
7
00
AC
00
B2
9000AC00B200
9100AC00B200
9200AC00B200
IsdCh14
14防区
1.75
7
00
B3
00
B9
9000B300B900
9100B300B900
9200B300B900
IsdCh15
15防区
1.75
7
00
BA
00
C0
9000BA00C000
9100BA00C000
9200BA00C000
IsdCh16
16防区
1.75
7
00
C1
00
C7
9000C100C700
9100C100C700
9200C100C700
IsdCh17
17防区
1.75
7
00
C8
00
CE
9000C800CE00
9100C800CE00
9200C800CE00
IsdCh18
18防区
1.75
7
00
CF
00
D5
9000CF00D500
9100CF00D500
9200CF00D500
IsdCh19
19防区
1.75
7
00
D6
00
DC
9000D600DC00
9100D600DC00
9200D600DC00
IsdCh20
20防区
1.75
7
00
DD
00
E3
9000DD00E300
9100DD00E300
9200DD00E300
IsdCh21
21防区
1.75
7
00
E4
00
EA
9000E400EA00
9100E400EA00
9200E400EA00
IsdCh22
22防区
1.75
7
00
EB
00
F1
9000EB00F100
9100EB00F100
9200EB00F100
IsdCh23
23防区
1.75
7
00
F2
00
F8
9000F200F800
9100F200F800
9200F200F800
IsdCh24
24防区
1.75
7
00
F9
00
FF
9000F900FF00
9100F900FF00
9200F900FF00
IsdCh25
25防区
1.75
7
01
00
01
06
900000010601
910000010601
920000010601
IsdCh26
26防区
1.75
7
01
07
01
0D
900007010D01
910007010D01
920007010D01
IsdCh27
27防区
1.75
7
01
0E
01
14
90000E011401
91000E011401
92000E011401
IsdCh28
28防区
1.75
7
01
15
01
1B
900015011B01
910015011B01
920015011B01
IsdCh29
29防区
1.75
7
01
1C
01
22
90001C012201
91001C012201
92001C012201
IsdCh30
30防区
1.75
7
01
23
01
29
900023012901
910023012901
920023012901
IsdCh31
31防区
1.75
7
01
2A
01
30
90002A013001
91002A013001
92002A013001
IsdZj
主机名称
4
16
01
31
01
40
900031014001
910031014001
920031014001
表格说明,只要你的ISD1700稍微熟悉,应该明白上表的内容。
【母片制作】
第1步:准备声源文件
找一个录音软件,各种录音编辑软件应该不难找。我是用WindowsXP自带的“录音机”程序。就在“程序\附件\娱乐\录音机,别看它简单,可比较实用。后来,同事还送我一个Cool Edit Pro2.1,中文汉化的,也蛮好用。
录音,找个清静的地方,自己对着话筒,吼吧。不满意自己的声音,就找个漂亮妹妹当播音员吧。嘿嘿,我准备叫老婆帮忙,北京的MM,标准的普通话。
还有,登录安徽科大讯飞,利用语音合成演示软件,可以进行语音合成。不过版权问题,自己解决,你要盗版,与我无关。
总之,将声源文件准备好,看看我的:
第2步:打开录音机,试试看播放一段语音
第3步:连接硬件
①                  电脑喇叭输出口,接ISD1700TOOLS编程器的LINE输入(右下角的浅绿色插座),对用线路录音的方式。
②                  音响线接ISD1700TOOLS编程器的喇叭输出插孔(黑色的那个),用来做录音监听。
③                  连接好串口线
④                  最后别忘记连接电源
第4步:打开串口调试助手,如下图设置好波特率
第5步:插入ISD1740芯片,打开编程器电源开关
第6步:调整采样频率。
将编程器选择到【功能1】,设置采样频率为4K。只需要设置一次,编程器将采样频率保存到EEPROM中,下次重新更改之前,采样频率不变。
第7步:设置PC-SPI模式及声控模式。
将ISD1700TOOLS编程器,选择到功能7,将“声控”模式选择到SC:M,即MIC话筒声控模式。
第8步:上电,设置APC寄存器。
在串口调试助手中,输出上电指令,即在发送对话框中输入“0100回车”,再点击“手动发送”,这时,应该得到回复:
MOSI:0100
MISO:0300
如果没有回复,则检查前几步是否正确。
接下来,更改APC寄存器。设置为线路输入录音,监控开。输入如下指令:“650804回车”,点击“手动发送”,同样会得到回复。
此时,点击电脑的录音机放音,声音可通过ISD1700输出的监听的音箱上,如果听不到声音,则前几步错误,返回检查或重新设置。
第9步,输入指定录音指令SetRel
我们来录音“0”到ISD中
在串口调试助手软件中,输入:910010001100,回车,点击手动发送。
提示:参照上表,将SetRel列中的对应的内容,复制,然后粘贴到串口调试软件中,我的表格是在EXCEL中制作的,这样不容易出错。(需要EXCEL原文件的朋友,跟我联系:TEL:13602696863,Email:isd1700@163.com,kuheye@163.com,QQ:798183213)
这时,ISD1700编程器的LCD上,显示如下:
第10步,关键一步。
先说说原理吧,因为声控模式选择为话筒声控。而录音模式选择为线路录音,乍看起来,好像不合理,其实不然。
ISD1700编程器会自动拦截录音指令,然后在根据声控模式,等待声控触发。就是说ISD1700编程器的单片机,已经将录音指令准备好,就等声控触发了。
好,关键一步操作:
同时进行下面两个操作:
①     用鼠标点击“录音机”播放(你播放的声源文件要先装载好);
②     对准编程器的话筒,吹一声口哨。
口哨声是标准的正弦波,可作为话筒触发的声源,如果你不会吹口哨的话(你丫的是太监不成,口哨都不会吹?),那就弄点响声出来(敲桌子摔板凳,大声咳嗽,喊救命都行)。
好了,一段录音完成,而且是按指定的地址录音。试听一下,按ISD1700编程器的按PLAY键(即ISD1700独立按键,小按键左边第一个),听听刚刚录制的声音满意否。
如果不满意,删除,在串口调试软件中输入:920010001100,即SetDel命令。回到第9步,重新操作。
如果满意,那就进行下一段录音,重复第9步执行。
如法炮制,依次录制其他分段录音。
母片制作完成后,可利用ISD1700TOOLS的编程器,进行整片拷贝,多备份几个母片,具体详见ISD1700【功能4】