好好学习,天天向上,一流范文网欢迎您!
当前位置:首页 >> 最新范文 内容页

全国作品设计报告

全国作品设计报告 本文关键词:报告,作品,全国,设计

全国作品设计报告 本文简介:狗吠二次报警系统DBC2007第十届“挑战杯”全国大学生课外学术科技作品竞赛研究与设计报告作品名称:狗吠二次报警系统学校全称:合肥学院申报者姓名:窦宝成联系电话:13515652933Email:doubaocheng2@163.com类别:自然科学类学术论文哲学社会科学类社会调查报告和学术论文科技

全国作品设计报告 本文内容:

狗吠二次报警系统

DBC2007

第十届“挑战杯”全国大学生课外学术科技作品竞赛

研究与设计报告

作品名称:

狗吠二次报警系统

学校全称:

申报者姓名:

联系电话:

13515652933

Email:

doubaocheng2@163.com

类别:

自然科学类学术论文

哲学社会科学类社会调查报告和学术论文

科技发明制作A类

√科技发明制作B类

2007年10月12日

——目录——

第一章

引言

1.1系统设计目的………………………………………………………………4

1.2总体设计思想………………………………………………………………4

1.3总体设计框图………………………………………………………………5

1.4系统功能与说明……………………………………………………………5

1.5国内外目前研究现状………………………………………………………5

1.6先进性、实用性、可行性………………………………………………………6

1.7经济效益、推广价值、成熟程度

……………………………………………7

1.8普通报警器与狗吠二次报警器的比较

………………………………………8

第二章

理论分析

2.1声音识别技术……………………………………………………………9

2.2生物特征参数的提取……………………………………………………9

2.2.1样本的采集………………………………………………………………9

2.2.2频谱仪频谱分析…………………………………………………………9

2.2.3Matlab的频谱分析……………………………………………………10

2.2.4分析的数据…………………………………………………………….10

2.2.5对实验数据进行分析…………………………………………………13

2.2.6结论………………………………………………………………………14

2.3算法原理及实现……………………………………………………………14

2.3.1

FFT算法的原理……………………………………………………14

2.3.2

FFT运算的单片机的实现……………………………………………16

第三章

模块电路方案选择

3.1中央处理芯片选择…………………………………………………………17

3.2声音拾取放大电路方案选择………………………………………………18

3.3前置滤波电路方案选择……………………………………………………18

3.4显示模块……………………………………………………………………19

第四章

模块电路电路设计

4.1

中央处理器单元电路

……………………………………………………20

4.2前置滤波电路设计

………………………………………………………20

4.3

自动增益(AGC)电路设计

……………………………………………21

4.4

A/D转换电路设计

………………………………………………………22

4.5

DTMF信号产生电路………………………………………………………22

第五章

软件设计

5.1

概述

……………………………………………………………………23

5.2

系统软件设计原则

……………………………………………………23

5.3倒序子程序框图

………………………………………………………24

5.4

FFT运算和程序框图

…………………………………………………24

第六章

测试与调试

6.1

测试所用仪器及工具

………………………………………………………26

6.2

测试项目………………………………………………………………………26

7.参考文献

………………………………………………………………………26

8.致谢……………………………………………………………………………27

附1:主要元器件清单及价格……………………………………………………27

附2:成本预算……………………………………………………………………28

附3:使用计算机工具软件清单…………………………………………………28

附4:部分程序……………………………………………………………………28

附5:实物照片……………………………………………………………………41

狗吠二次报警器研究与设计报告

摘要:

本设计是一个能精确分辨出代表危险信号的狗叫声的狗吠二次报警器。它是应用数字信号处理技术对狗吠声进行处理,提取“正常”与“非正常”情况下狗吠特征的不同点,形成特征参数数据库并存储于单片机中。由传感器实时检测声音,对采集的语音信号进行快速傅立叶变换(以下简称FFT)并与模板进行精确比对,判断是否发出报警信息。设计中以凌阳公司研发的16位单片SPCE061A作为系统核心,将传统用DSP实现的FFT变换改为用单片机实现,成本大大降低。

关键词:

信号处理

快速傅立叶变换

二次报警

第一章

引言

1.1

系统设计目的

狗是人类的好朋友,狗的叫声能唤起人类的注意。但是,引发狗叫的原因太多了,怎么才能知道什么样的狗叫代表着危险,而什么样的狗叫无关紧要呢?基于这一想法而设计了一套狗吠二次报警系统,它能精确分辨出代表危险信号的狗叫声。当传感器从狗吠声中判断出判断出危险信息,就会自动发送电子警报。

1.2

总体设计思想

1.样本的采集:分别用MP3和录音机到警犬基地现场录制声音,录音分为不同时间、狗的不同状态、不同种类的狗三种情况下。录音时间分别为2006年冬天和2007年春天。狗的不同状态包括正常叫声、危险信号发生、高兴和生气等四种状态。狗的种类为14种。

2.样本的分类:14种狗,4种不同状态,2次不同时间录音。累计14×4×2=112,既代表112种不同的狗叫声。

3.得到112种不同狗叫声的频谱:将112种不同的狗叫声进行频谱分析,得到112种频谱分析结果。比较分析结果,找到正常与非正常狗吠声的不同点。

4.模板的提取:将非正常狗吠声(即代表危险信号发生)在MATLAB软件下做256点FFT变换,得到功率谱图形特征。将其幅值建立数组,即上文提到的声音模板,存储于单片机中。幅值为,i=0,1,2,,,,,,,255。

5.实时FFT变换:传感器检测信号通过相应的前端处理,将这部分信号经AD采样(采样频率为8000Hz),之后通过单片机程序做256点FFT变换,计算功率谱幅值。

6.功率谱比对:在单片机中实现功率谱的比对。并设定门限值K,,满足条件则发出报警信息。

1.3

总体设计框图

由语音信号处理电路对采集的语音信号进行特征化和语音处理,提取声音的个性特征参数并进行存储,形成特征参数数据库。

A

/

D

F

F

T

识别模型

声音模板

报警电路

声音拾取

图1.1总体设计框图

1.4

系统功能与说明

1.识别代表危险信号的狗吠声,并自动发出报警信号。

2.增加时间显示、收音机等功能

3.自动拨号报警、号码预设和报警指数设定功能。

4.报警方式选择。

5.各种省电模式、监控模式选择。

1.5

目前国内外研究现状

三个月前,以色列中部的一个集体农场遭窃,盗贼偷走了50头母牛。为了防止偷盗事件再次发生,农场决定安装一种名为“狗吠报警器”的安全设备。

这套设备是2001年由以色列空军研发的。生物感应技术公司的工作人员,在分析了350种不同的狗吠声后发现,尽管狗有种类和大小的不同,但遇到危机时狗吠声都是一样的。根据这个研究结果,他们开发了“狗吠报警器”。

研发公司的首席执行官埃亚勒·柴海威表示,这套设备能精确地分辨出代表危险信号的狗叫声。只要传感器判断出危险信息,就会自动发送电子警报。

这套“狗吠报警器”是世界上第一套利用狗叫声来作为安全警戒的电子设备,目前为止,这套设备已经进入了以色列军事基地、供水中心、监狱、农场、车库,以及约旦河西岸的犹太人定居点。特别是在以色列的监狱里,安装上这套设备后,狱警就能在第一时间内赶到现场,从而及时阻止犯人越狱。

研究人员表示,他们希望这套“狗吠报警器”经过进一步改善,能很快进入普通家庭。

国内目前尚无关于狗吠二次报警器系统的研究报道。

1.6

先进性、实用性、可行性

①狗吠二次报警器的研制是数字信号处理在报警器设计领域的新应用,与传统报警器相比它处于先进地位。所以该作品具有很强的创新性。

②狗吠二次报警器能为人们的生活服务,让人们告别传统报警器带来的种种弊端,解决人们生活中的防盗问题。在某些特殊场合,具有传统报警器不可比拟的优势,比如说在农场里,由于农场比较大,而且树木多,如果安装普通报警器,它的监控范围将因很多树木的阻挡等各方面外界因素的影响而受到限制,如果安装狗吠二次报警器,狗的嗅觉、听觉等非常灵敏,特别是经过训练的警犬,它可以监控方圆几公里的范围,这是普通报警器不具有的,另外在监狱、农场等都有警犬,安装上这套设备就可以充分利用警犬来起到监控防盗的目的,免去普通报警器的安装,省下一笔不小的开支。狗吠二次报警器可以应用于军事基地、供水中心、监狱、农场、车库、普通家庭等场合。因而具有很强的实用性。

③凌阳单片机较高的数据处理速度使它能够非常容易地、快速地处理复杂的数字信号处理,具有能够实现用于处理数字信号的16

乘16

位的内积运算,是一款以单片机的价格获得DSP

处理速度的具有高性价比的单片机。另外以色列已经研制出世界上第一台狗吠二次报警器。

所以说狗吠二次报警器的发明不光在理论上是先进的而且在实际中也行得通。

1.7

经济效益、推广价值、成熟程度

普通报警器的市场价格高低不等,它与应用场合、报警方式和传感器的选择等息息相关,总体来说价格还是相当高的。而狗吠二次报警器在成本上要低很多,开发一台成本也就在120元(见附录:成本预算)以内,如果批量生产,成本还会大大降低。另外从功能上说,狗吠二次报警器经过进一步的改进,增加一个“多功能输入模块”,它可以连接红外人体传感器等各种传感器,也就在现有的狗吠报警器的基础上附加了普通报警器的功能,这一附加功能可以根据消费者的需求而定。另外从监控范围要比普通报警器监控范围宽,比如说一个中型农场或一个监狱里只需要用一台,另外接两三个传感器检测声音就可以了。你还可以随心所欲的选择是否开启监控状态,平时可以当做一台普通收音机使用,也可以把它当作一台数显时钟使用,如果不需要的情况下你可以关闭所有功能进入低功耗的监控状态。

从以上几点来说,狗吠二次报警器将具有很好的推广价值和可观的经济效益。简单的算一笔帐,比如说仅在中国销售,每个监狱安装两台,每个农场安装两台,每百分之零点五的家庭安装(约150万台),每台市价230元,每台成本80元,利润每台150元,销售150万台总利润为150万*150=2

250

000

000,超过22亿,如果再加上监狱、农场等场合安装所得利润,总利润将相当可观。它可广泛应用于军事基地、供水中心、监狱、农场、车库、普通家庭等。此项声音识别技术不仅仅用在这个报警器上,从技术角度来说,它可以用在疯狗的识别、动物语言的解密等各个方面。因而具有很好的应用前景。

本设计主要基于数字信号处理技术、传感器技术,这两方面的研究早已很成熟,直到06年底才出现世界上第一台狗吠报警器,并不说明此项技术不成熟,而只是很少有人想到用狗吠声来研究制作报警器,另一方面,因为研究狗吠报警器要采集大量的声音样本作为分析,对很多人来说可能是困难的事。所以总体来说,狗吠报警器的研究虽然刚刚起步,但它绝对不仅仅是一项实验室产品,在不久的将来,狗吠二次报警器将取代普通报警器而走进农场、走进监狱、走进普通家庭,发挥它应有的作用。

1.8

普通报警器与狗吠二次报警器的比较

狗吠二次报警器

普通报警器

成本

安装方式

简单

复杂

功耗

中等

监控范围

是否可预报警?

是否具有隐蔽性?

报警方式

声、光、拨号等多模式选择

不统一

第二章:理论分析

2.1

声音识别技术

生物识别技术是利用生物特征进行身份认证的一种技术,是目前公认的最为方便与安全的识别技术。由于生物特征具有唯一性和稳定性,不易伪造和假冒,所以利用生物识别技术进行身份认证安全、准确、可靠。在生物识别领域中声音识别以其独特的方便性、经济性和准确性等优势受到世人瞩目,并且易成为人们日常生活和工作中重要且普遍的安全认证方式。声音识别技术是一种行为识别技术,用声音录入设备反复不断地测量、记录声音的波形和变化,并进行频谱分析,经数字化处理之后做成声音模板加以存储。使用时将现场采集到的声音同登记过的声音模板进行精确的匹配。

2.2

生物特征的提取

2.2.1样本的采集

声音来源于安徽省合肥市特警大队警犬基地。采用MP3和录音机到警犬基地现场录制声音,每种狗单独录音,互不影响。MP3存储文件格式为.wav。录音分为不同时间、狗的不同状态、不同种类的狗三种情况下。录音时间分别为2006年冬天和2007年春天。狗的不同状态包括正常叫声、危险信号发生、高兴和生气等四种状态。狗的种类为14种。14种狗,4种不同状态,2次不同时间录音。累计14×4×2=112,既代表112种不同的狗叫声。

2.2.2频谱分析

将采集的声音分成不同状态的小段,共14种狗,累计分成14×4×2=112段,分别将这112段声音进行频谱分析,对得出112种分析结果。在Matlab软件下利用wavread函数对语音信号进行读取,采样频率为8000Hz,再对信号做FFT变换,点数为256,并绘出频谱图。

[x1,fs,nbits]=wavread(

dog.wav

);

%读取语音信号的数据,赋给变量x1

y1=fft(x1,512);

%对信号做512点FFT变换

f=fs*(0:255)/512;

plot(x1);

%做原始语音信号的时域图形

title(

原始语音信号

);

[h,w]=freqz(x1);

%绘制原始语音信号的频率响应图

plot(w,abs(h));title(

频率响应图

)

plot(abs(y1(1:255)));

%做原始语音信号的FFT频谱图

title(

原始语音信号FFT频谱

)

2.2.3分析的数据

以下两副图片为狗在危险信号下叫声时域波形(2006年12月采集)

图2.1狗在发现危险信号时叫声时域波形

图2.2狗在受攻击时叫声时域波形

以下两副图片为狗在危险信号下叫声时域波形(2007年4月采集)

图2.3狗在发现危险信号时叫声时域波形

图2.4狗在受攻击时叫声时域波形

以下两副图片为狗在正常情况下叫声时域波形(2006年12月采集)

图2.5狗在高兴时叫声时域波形

图2.6狗在生气时叫声时域波形

以下两副图片为狗在正常情况下叫声时域波形(2007年4月采集)

图2.7狗在高兴时叫声时域波形

图2.8狗在生气时叫声时域波形

以下两副图片为狗在危险信号下256点FFT图(2006年12月采集)

图2.9狗在发现危险信号时叫声256点FFT图

图2.10狗在受攻击时叫声256点FFT图

以下两副图片为狗在危险信号下256点FFT图(2007年4月采集)

图2.11狗在发现危险信号时叫声256点FFT图

图2.12狗在受攻击时叫声256点FFT图

以下两副图片为狗在正常情况下叫声256点FFT图(2006年12月采集)

图2.13狗在高兴时叫声256点FFT图

图2.14狗在生气时叫声256点FFT图

以下两副图片为狗在正常情况下叫声256点FFT图(2007年4月采集)

图2.15狗在高兴时叫声256点FFT图

图2.16狗在生气时叫声256点FFT图

说明:1.

大量以上数据分析的目的在于找到正常与非正常狗吠声的频谱差别。由

于篇幅有限,不可能将实验中分析112种不同的狗叫声全部列出。

2.

以上分析结果包括两部分,原始信号时域波形图和256点FFT图。

3.采样频率为8000Hz,分析信号长度为均350ms,FFT变换点数为256。

4.为更准确的说明问题,上述图形具有对应关系,即图2.9、图2.10、图

2.11、图2.12、图2.13、图2.14、图2.15、图2.16分别为图2.1、

图2.2、图2.3、图2.4、图2.5、图2.6、图2.7、图2.8的分析结果。

5.读取声音函数为“wavread”。

2.2.4对实验数据进行分析

从时域图形来看,正常与非正常狗吠声时域波形相差不大,看不出他们之间的区别。从频谱图来看,我们可以明显看到正常与非正常狗吠声的频谱图有很大的差别。从图2.9、图2.10、图2.11、图2.12中我们可以看出:狗在发现危险信号和受攻击时叫声的256点FFT图基本相同,在25和225左右时幅值很高,在110到140之间很小,基本为0。另外我们看到它与样本采集的时间没任何关系。从图2.13、图2.14、图2.15、图2.16中我们可以看出:正常狗叫声随时间不同、状态不同有差别,但不论在什么情况下,它与非正常狗吠声的差别是相当明显的,这种正常狗吠声频谱的差别对我分析不会产生任何影响,因为我的目的是找到正常与非正常狗吠声的差别,去识别什么样的狗叫声代表非正常,而不是识别什么样的狗吠声代表高兴、生气等等。

2.2.5结论

经过分析,我们知道:

同一种狗在不同状态下叫声不同,频谱差别很大。

同一种狗在同一状态下的不同时刻叫声差别不大,频谱基本相同。

不同种类狗在不同状态下叫声不同,频谱差别很大

不同种类的狗在同一状态下的叫声不同,但差别不大。

不同种类的狗在“攻击”状态下的频谱有共同特征。

于是我们可以得出结论:不同种类的狗在不同状态之下的叫声千差万别但当受到攻击或主动攻击时(即代表危险信号发生时)的叫声的频谱基本相同。即我们可以通过比较频谱的特征来判断是否有危险信号发生。

2.3

算法原理及实现

通过研究FFT的算法结构和信号的特点发现,采用分段FFT,巧妙地组织单片机的片内RAM资源,可使数据运算量和RAM开销大大减少,能实现数据滤波且能达到实时采集与处理所需的运算速度。

2.3.1

FFT算法的原理

DFT(离散傅立叶变换)在实际中得到大量应用,利用它可以计算信号频谱,但如果直接计算DFT计算量将会很大,因此提出了快速计算DFT的方法,FFT算法有20余种,我们以最基本的“基数2时间抽取算法(DIT-FFT)”为例.这种算法是通过对N为2的整数幂时间序列x(n)的逐次分解而得到.下图所示流图描述了这种快速计算DFT的算法.

图2.17基本蝶形计算流图

这个流图表示的方程具有如下形式:

下图所示为8点离散傅立叶变换蝶形计算流图.它说明了FFT算法的基本原理.

图2.18点离散傅立叶变换蝶形计算流图

可见每一级共有N/2个蝶形,共有log2N级,则总乘法次数为(N/2)log2

N,N愈大,算法次数与直接DFT算法的差距愈大.快速算法的优势表现的越明显,

要实现FFT算法,将自然次序排列的序列,按倒位序重排后作为输入,

2.3.2

FFT运算的单片机实现

为加快计算速度,将N=8时的值制成表存于FLASHROM,供整序时查询

,FFT变换是复数运算。在将原始数据加载到片内RAM的同时,应把实数转换为复数,即令虚部为0。于是,一个原始数据加载到RAM中要占用2个字。复数的存储格式为:实部字存于低地址,虚部字存于相邻的高地址。现在考察RAM需要量。N=9时,段长为512个数据,加载到RAM中要占用512×2=1024字。

W[k]=COS[(2kπ)/N

]+jsin[(2kπ)/N],

k=0…2N-1

将复因子W[k]的实部和虚部都乘2的13次方,取整后制成表存于FLASH

ROM中,供程序查表获得其值;而W[k]与某数相乘,将32位运算结果右移13位作为积。这就使全部运算为整数运算,适应SP061A的硬件乘法功能。

第三章

模块电路方案选择

3.1

中央处理芯片选择

方案一:DSP芯片

DSP芯片是针对数字信号处理而设计的,它具有运算速度快、可编程的特性和接口灵活的特点,在信号处理中被广泛应用,但相对成本较高。

方案二:FPGA芯片

采用FPGA/CPLD(现场可编程逻辑门阵列/复杂可编程逻辑门阵列)作为系统的微处理器。它可以实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,减小了体积,提高了稳定性,并且可应用EDA软件仿真,调试,易与进行功能扩展。FPGA/CPLD采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模实时系统的控制核心。但由于它集成度高,成本比普通控制器高。

方案三:单片机

SPCE061A

是台湾凌阳科技公司推出的一款以μ

nSPTM为核心的基于SOC(System

On

Chip)

技术的16

位单片机。SPCE061A中包括2K字节的SRAM和32K字节的闪存ROM;

32

位可编程的多功能I/

O

端口;两个16

位可编程定时器/

计数器;14

个中断源,两级优先级,三种中断类型;32768Hz

实时时钟;低电压复位/监测功能;可编程的看门狗功能;7

通道10

位A/

D

输入和单通道内置麦克风放大器和自动增益控制AGC

功能的声音A/

D

转换器;双通道10

位D/

A

音频转换器;具有ICE(

In

Circuit

Emula2tion)

接口,能够方便的实现在线仿真和程序的下载;

SPCE061A在2.

6~3.

6V

工作电压范围内的工作频率范围为0.

32~49.152MHz

,较高的数据处理速度使SPCE061A

能够非常容易地、快速地处理复杂的数字信号,

SPCE061A

能够实现用于处理数字信号的16

位3

16

位的内积运算,因此非常适合于数字语音识别和应用领域。凌阳的指令系统采用精简指令集,它以字为单位,从而格式紧凑、灵活;执行时间短。由此可见,SPCE061A

是一款以单片机的价格获得DSP

处理速度的具有高性价比的单片机。

综合上述,我们选择方案三SPCE061A作为本系统的中央处理器。

3.2

声音拾取放大电路方案选择

方案一:高精度运放LM356

MIC采用驻极体电容话筒,这种话筒具有灵敏度高、无方向性、重量轻、体积小、频率响应宽、保真度好等优点。麦克风输入的模拟语音信号很小,首先要对其进行放大,在此采用高精度运放LM356。

方案二:采用功率放大器LM386

LM386是小功率音频放大器集成电路,其频响宽、功耗低、电压范围大、外接元件少,被称“万用放大器”。

综合上述,我们选择方案一

3.3

前置滤波电路方案选择

前置滤波电路主要用来滤除音频信号以外的高频干扰等杂波信号,在此我们采用低通滤波器,其上截止频率为35KHz。

方案一:简单一阶低通有源滤波器

一阶低通滤波器的电路如图6.3.1所示,其幅频特性见图3.3.1,图中虚线为理想的情况,实线为实际的情况。特点是电路简单,阻带衰减太慢,选择性较差。

图3.1简单一阶低通有源滤波器

与理想的二阶波特图相比,在超过

以后,幅频特性以-40

dB/dec的速率下降,比一阶的下降快。但在通带截止频率

之间幅频特性下降的还不够快。

方案二:二阶压控型低通滤波器

二阶压控型低通有源滤波器如图3.3.2所示。其中的一个电容器C1原来是接地的,现在改接到输出端。显然,C1的改接不影响通带增益。

图3.2二阶压控型LPF

综上所述,我们采用方案二。

3.4

显示模块

方案一:采用数码管显示

数码管具有低压、寿命长、耐老化、防潮,对环境要求低以及精确可靠、操作简单、易于维护等特点,但显示信息量小。

方案二:采用液晶显示屏(LCD)显示

液晶显示屏具有低耗电量,无辐射危险,以及无影像不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等特点。并能显示各种波形,菜单等,显示内容十分丰富。

综上所述选择方案一。本设计没有丰富的内容需要显示,采用LED足以满足设计要求。

第四章

模块电路设计

4.1

中央处理器单元电路

由SPCE061A组成的中央处理器单元电路,如下图所示:

4.2

前置滤波电路设计

4.3

自动增益电路(AGC)设计

SPCE061A内部自动增益控制电路AGC能随时跟踪、监视前置放大器输出的音频信号电平,当输入信号增器时,AGC电路自动减小放大器的增益;当输入信号减小时,AGC电路自动增大放大器的增益,以便使进入A/D的信号保持在最佳电平,又可使谐波减至最小。

话筒输入的语音信号动态范围很宽。为了充分利用A/D转换器的位数,需要在不同的输入音量下,放大器的输出电平大致相同。声音小时增益大,声音大时增益小。需要用到自动增益控制AGC。

SPCE061A内带有自动增益的AGC电路,AGC把MIC_In信号控制在指定的范围内,

MIC_In通道有两级OP放大器。关闭AGC后,第一级放大器的增益为15V/V。第二级放大器(OPAMP2)的增益为60K/(1K+Rext),可以通过外接电阻Rx

来调整增益的大小,Rx的增减和OPAMP2的增益的变化成反比。如果Rx=5.1K(ohm),OPAMP2的增益=60K/(1K+5.1K)

=

9.8

(19.8dB),MIC放大器的总增益=OPAMP1×

OPAMP2

=

15

×

9.8

=

147(43.3dB)。

AGC被启用之后(P_ADC_Ctrl

(W)

($7015H)的b2=1),能自动调整增益的值,以防止信号饱和。当OPAMP2的输出>0.9

AVdd时,AGC自动降低OPAMP1的增益,以防止被放大的信号饱和。

AGC外电路的接口电路如下

4.4

A/D转换电路设计

SPCE061A内置8通道10位模-数转换器,其中7个通道用于将模拟量信号

(例如电压信号)

转换为数字量信号,可以直接通过引线(IOA[0~6])输入。另外一个通道IOA7只用于语音输入,即通过内置自动增益控制的麦克风通道(MIC_IN)输入。ADC采用自动方式工作。硬件ADC的最高速率限定为(Fosc/32/12)Hz,

ADC在各种系统时钟频率下的响应速率

FOSC(MHvz)

20.48

24.576

32.768

40.96

49.152

ADC响应率(KHz)

640

768

1024

1280

1536

从MIC_IN输入的模拟信号则要经过缓冲器和放大器。AGC功能将通过MIC_IN通道输入的模拟信号的放大值控制在一定范围内,然后放大信号经采样-保持模块被送至比较器参与A/D转换值的确定,最后送入P_ADC

(7014H)。模拟信号通过麦克风的MIC_IN通道输入时,选择AGCE为‘1’,即运算放大器的增益可在其线性区域内自动调整。AGCE缺省选择为‘0’,即取消自动增益控制功能。

4.5

DTMF信号产生电路

我们利用了DTMF专用芯片HT9200B。

图4.5.2

HT9200B与单片机的接口

第五章:软件设计

5.1

概述

系统采用C语言和汇编语言联合编程的方法,C语言作为主程序编程,调用其他程序模块,可充分利用C语言的优点。汇编语言主要用在子程序模块中,它可以直接对硬件进行操作,利于它在中断延时方面的优点。系统采用模块化程序设计,主要模块包括:系统初始化模块、系统主程序模块、A/D转换模块、FFT变换模块、频谱比对模块、报警模块、键盘设置模块、自动拨号报警模块、显示模块等。

5.2

系统软件设计原则

在本次的软件设计中,单片机应用开发中代码使用效率、单片机的抗干扰性及软件可靠性是设计的重点。

单片机应用软件系统设计包括功能模块划分、程序流程确立、模块接口设计以及程序代码编写。依据系统的功能要求,将整体软件系统分割成若干个独立的程序模块。这些程序模块可以是几条语句的集合、功能函数或程序文件。在软件设计中,从以下几个方面考虑了设计的原则。

1)程序代码效率

汇编语言是面向机器的语言,执行速度与机器语言相仿,但它比机器语言易读、好记,相对来说也不容易出错。使用汇编语言编程时,必须熟悉机器的指令系统、寻址方式、寄存器的设置和使用方式,不同类型的机器不能移植。使用汇编语言可以把计算机的工作过程刻画得非常精细而又具体,因此可以编制出结构紧凑、运行时间准确的程序。这样的程序设计语言在实时控制中是非常实用的,因此,我选择了汇编语言。

2)程序错误分析

(1)物理参数

物理参数主要是系统的输入参数,它包括采集处理中的运行参数和处理结果时的结果参数。合理设定这些边界,将超出边界的参数都要进行出错处理。

(2)资源参数

资源参数主要是系统中的电路、器件功能单元的资源,如记忆体容量、存储单元长度、堆叠深度。在程序设计中,对资源参数不允许超出范围使用。

5.3

倒序子程序框图

I为自然序列,J当前倒序数的十进制数值,对于,M位二进制数最高位的权值为N/2,且从左向右权值依次为N/4、N/8、……2、1。因此最高位加一相当于十进制运算J+N/2,如果最高位是0(J<N/2),则直接由J+N/2得下一个倒序值,如果最高位是1(J﹥N/2),则要将最高位变成0(J——J-N/2),最高位加1(J+N/4),但次高位加1时同样要判断0、1值,如果为0则直接加1,否则将次高位变成0再判断下一位,依次类推,直至完成最高位加1向右进位的运算。

LH——N/2

J

——LH

N1——N-2

T——X(I)

A(I)——X(J)

A(J)——T

I>=J

I=1,N1

K——LH

J=K)

{

J=J-K;

K=(int)(K/2+0.5);

}

J=J+K;

}

}

//***************************频谱比对函数**************************//

void

compare(float

x1[pts])

{float

fd[pts];

//定义幅度模板数组

int

i;

//定义循环变量

int

k=1;

//定义偏差指数

int

count=0;

for(i=0;i=1)

{

alarm_asm();

}

}

/*****************************报警子程序***************************/

.INCLUDE

HARDWARE.INC

.PUBLIC

_alarm_asm

.define

P_IOA_Data

0x7000

.define

P_IOA_Attrib

0x7003

.define

P_IOA_Dir

0x7002

.CODE

.PUBLIC

_alarm_asm

_alarm_asm:

R1=0xfff0

[P_IOA_Attrib]=R1

[P_IOA_Data]=R1

R1=0xFFF8

[P_IOA_Dir]=R1

//R1=0x1117

//[P_IOA_Data]=R1

RETF;

/**************************系统设置子程序**************************/

//系统时钟设定

.INCLUDE

HARDWARE.INC

.PUBLIC

_systemset_asm

.CODE

_systemset_asm:

INT

OFF;

//关中断,以便进行初始化

R1

=

0x00F0;

//系统时钟设定,为49.1592MHz

[P_SystemClock]

=

R1;

FIQ

ON;

//开中断

RETF;

/**************************程序查表****************************/

//将cos(2*pi*i/256)的结果乘以2的13次方后取整//

float

costab[]={

//Columns

1

through

7

8192,8189,8182,8169,8152,8130,8103,//

Columns

8

through

14

8071,8034,7993,7946,7895,7839,7778,//Columns

15

through

21

7713,7643,7568,7489,7405,7317,7224,//

Columns

22

through

28

7127,7026,6921,6811,6697,6579,6458,//

Columns

29

through

35

6332,6203,6069,5933,5792,5648,5501,//

Columns

36

through

42

5350,5196,5040,4880,4717,4551,4382,//

Columns

43

through

49

4211,4037,3861,3683,3502,3319,3134,//

Columns

50

through

56

2948,2759,2569,2378,2184,1990,1794,//

Columns

57

through

63

1598,1400,1202,1002,803,602,402,//

Columns

64

through

70

201,0,-201,-402,-602,-803,-1002,//

Columns

71

through

77

-1202,-1400,-1598,-1794,-1990,-2184,-2378,//

Columns

78

through

84

-2569,-2759,-2948,-3134,-3319,-3502,-3683,//

Columns

85

through

91

TAG标签: