楼宇对讲系统.doc
中南大学本科生毕业论文(设计)题 目 楼宇对讲系统 学生姓名 刘益武 指导老师 邓木生 学 院 中南大学铁道学院校区 专业班级 电气工程及其自动化2005级 完成时间 2006年11月18日 毕业设计任务书一、 设计课题:楼宇对讲系统二、 指导老师:邓木生三、 设计内容与要求1、 课题概述访客根据门牌号选择楼宇门前主机的按键,按下按键后相对应的房间分机响铃。主人摘机后振铃停止,即可与门机实现对讲。分机在摘机状态下按下“开锁”键即可打开大门电锁。2、 设计内容与要求2.1 确定设计方案,绘制电路原理图2.2 分析各单元电路的工作原理和特性,说明整个系统的特点及控制原理2.3 说明电路调试的基本方法2.4 进行软件与硬件的联合调试3、 技术指标3.1 整机功耗较低,安全、可靠3.2 采用专用振铃芯片3.3 可根据相应的按键选择分机3.4 采用专用的语音信号滤波单元3.5 采用开关电源供电方式3.6 开锁响应可靠摘 要 楼宇智能监控系统现已成为物业管理公司在安全防护方面的不可缺少的部分,广泛应用于城市的住宅小区、商务大厦的安全防护。本文介绍的楼宇对讲系统就是楼宇智能监控系统的重要组成部分。为保障系统的可靠性、经济性,设计采用AVR系列的高速8位单片机ATMEGA8为控制核心。本文介绍了一种新型的楼宇对讲系统的硬件设计原理、软件设计方法。详细介绍了振铃检测电路,语音信号放大电路、音频信号滤波电路,开锁控制电路在楼宇对讲系统中的应用。在硬件上考虑系统的实用性,采用可靠性高的元器件。工作电源选用宽电压工作范围,具有过载、短路保护的开关电源。在软件设计上,以ICC AVR为开发平台,用C语言作为程序设计语言,实现自动控制。在程序设计中采用滤波算法,抗干扰能力强。该系统实用、功能灵活多样,经改造还可以广泛的应用于各种控制设备。关键词:单片机控制、语音、滤波Abstract The safety having become the estate management company-housing district, business affairs protecting essential aspect part, applying to a city broadly in safety edifice protects building world intelligence supervisory control system. The building world correct talk system the main body of a book is introduced it is building world intelligence to monitor the systematic important component. Be to ensure systematic reliability, economy, design that high speed 8 monolithic machine ATMEGA8 adopt the AVR series is to control core. Systematic one kind of late-model building world correct talk hardware the main body of a book has been introduced designs principle, the software design procedures. Circuit having introduced that ringing checks detailed, pronunciation signal enlarges a circuit, voice signal wave filtering circuit, the unblinking control circuit say application in system face to face in the building world. Consider the systematic pragmatism on the hardware; adopt the high component of reliability. The job power source selects and uses the width voltage efficient range, have surcharge, short-circuit protection switch power source. In the software design, develops the platform take ICC AVR, takes the programming language with the C language, the realization automatic control. Adopt the wave-filtering algorithm in programming, the anti interference ability is strong. This system practical, the function nimble is diverse, after the transformation also may the widespread application to each kind of control device.Key words: single-chip control, sound,filter目 录第一章、 引言.1第二章、 系统分析.22.1 设计原则.2 2.1.1 系统的可靠性.2 2.1.2 系统的可扩展性.2 2.1.3 操作简便且易于掌握2 2.1.4 系统的实用性2 2.1.5 系统的易维护性22.2 系统原理框图.22.3 电路原理框图.2第三章、 硬件设计.53.1 电源模块.53.2 MCU控制模块.63.3 摘、挂机电路.103.4 语音信号放大电路.113.5 音频滤波电路.123.6 开锁电路.133.7 振铃电路.133.8 输入语音信号放大电路.15第四章、 软件设计.164.1 楼宇对讲系统室内机源程序.16 4.1.1 流程图16 4.1.2 源程序164.2 楼宇对讲系统主机源程序.21 4.2.1 流程图.21 4.2.2 源程序.21第五章、 结束语29 5.1 功能扩展. .29 5.2 调试心得.29致谢.30参考文献.31附件.32 附件1元件明细表.32 附件2原理图.34 中南大学本科毕业设计 楼宇对讲系统第一章 引 言踏入二十一世纪以来,电子信息技术正在迅速地向人们生活的各个领域渗透,建筑与人们的生活息息相关,随着我国国民经济的发展,人们的生活水平和自身素质日益提高,人们的家庭住宅需求概念也发生了彻底变革,从以往追求居住空间的宽敞豪华向着享受现代化精神内涵与浪漫生活情趣的方向发展。为了满足人们对周围居住环境的舒适性、方便性、安全性等方面的要求,智能化的建筑监控系统便呈现在人们面前。 楼宇对讲系统以建筑为平台,构筑一个智能监控系统,向人们提供一个安全、舒适、便利的居住及办公环境。近年来兴起的现代高科技和信息技术正在由智能大厦走向智能住宅小区。目前,安全防范系统、管理体制日趋成熟,并具有综合性的信息服务系统,系统设备的选择也更具有先进性、可靠性;随着建设资金的投入和技术的发展,对系统可进行扩充、升级,使系统得到不断地完善和提高,以智能控制系统、安防系统、物业管理系统和综合信息服务系统为依托,为人们提供安全、环保、舒适、方便的生活空间。34第二章 系统分析2.1设计原则按照“严密、可靠、经济”的设计思想,在硬件和软件设计上努力做到安全、周密,使设备更具人性化,能够给人们的生活带来便利、安全、舒适。同样也给物业管理公司提供方便、快捷的管理方式。2.1.1系统的可靠性对讲系统若设计时不采用成熟的技术,可靠的设备,一些细小的失误或技术上潜在的问题将会带来不可估量的损失,甚至灾难性的后果。因此,我们认为可靠性是系统设计中需首先考虑的因素。设计时必须选用可靠的设备,成熟的技术,以保证系统的可靠性。2.1.2系统的可扩展性整个系统应具有扩展功能。随着技术的不断进步,为了更好地服务于生活,原来建立的系统的容量和功能往往都不能满足发展的需要,扩展系统规模几乎是必须的。因此,在设计中重点考虑系统应有较强的扩展功能,并留有一定余量。2.1.3 操作简便且易于掌握系统的设计,要求建立起友好的用户界面,使用户在不了解系统的设置及内部结构情况下,能够通过表面简单的提示,即可完成操作。2.1.4 系统的实用性整个系统必须满足用户所提出的要求,避免系统资源的浪费。在系统的设计中应体现技术的先进性以及高可靠性,并确保工程施工的质量。2.1.5 系统易维护性任何一个子系统出现问题时,其它子系统和主系统均可正常工作。2.2 系统原理框图如图2-1,楼宇对讲系统由1个门前主机和多个室内分机通过网络线接口互连组成,可根据应用情况而定,添加分机时只要布置一根网线至主机即可。该系统可扩展12台分机,简单经济,可靠性高。主机系统 4#分机3#分机2#分机1#分机8#分机7#分机6#分机5#分机11#分机10#分机9#分机12#分机 图2-1 系统原理框图2.3 电路原理框图楼宇对讲系统系统包括主机系统与分机系,主机系统用于处理用户的呼叫选择及通话和执行,分机系统用于通话与发送开锁指令,并在有呼叫时响铃。两个系统均由AVR系列单片机(Atmega8)构成主控部分,进行主要的信息处理,接收外部操作指令形成各种控制信号,并完成对于各种信息的接收;接口电路提供单片机与网线的接口。其中包括摘挂机控制电路、音频信号滤波电路、音频信号放大电路及开锁电路等。门前主机电路原理框图如下图2-2:单片机实时扫按键电路,查询是否有呼叫信号,根据按键位置,呼叫相应室内分机,接收室内分机的开锁指令,即打开门锁。扬声器受话器按键电路单片机Mega8语音信号放大语音信号放大摘、挂机音频信号滤波音频信号滤波开锁电路语音信号输入语音信号输出用户切换网络总线 图2-2 门前主机电路原理框图室内分机原理框图如下图2-3:接收到呼叫信号后,即启动振铃电路,用户摘机后,响铃结束,进入通话状态,并可根据需要发送开锁指令给门前主机。语音信号输入音频信号滤波语音信号放大语音信号输出音频信号滤波受话器语音信号放大扬声器网络总线单片机Mega8呼叫信号开锁信号摘、挂机振铃电路 图2-3 室内分机原理框图中南大学本科毕业设计 楼宇对讲系统第三章 硬件设计楼宇对讲系统由门口主机和室内分机两部分组成,可实现呼叫、对讲、开锁等功能。主要硬件组成部分有电源模块、MCU控制模块、摘挂机电路、语音信号放大电路、音频滤波电路、开锁电路等。下面分别对以上控制电路进行介绍:3.1电源模块由于开关电源的输入范围较宽,效率相对较高,技术也比较成熟,因此选择专用的AC/DC开关电源模块作为系统的电源,大大提高系统的稳定性。输入为AC220V,输出为3路,均为相互隔离。其中DC24V用于驱动开锁的继电器及摘、挂机控制信号,DC12V为集成运放提供工作电源,DC5V为单片机控制系统提供工作电源。电源模块内置EMI滤波单元,可以有效抑制来自电网的电磁干扰,保障系统的可靠运行。基本参数如下:输入电压范围90V 264V AC输出电压精度标称输出电压±1%输出过载保护110150%负载效应0%至100%负载变化时 ±0.5%(最大值)源效应输入电压从低端至高端变化时 ±0.5%(最大值)纹波及噪声1%标称输出电压值(最大值)隔离电压输入至输出(1分钟漏电流<0.5mA)2500VDC开关频率150KHZ最小无故障间隔时间(MTBF)(M(MTBF)200000小时效率80%工作温度-10 +50 安全标准GB4943、UL60950、EN60950EMC标准GB9254、EN55022A散热方式自冷3.2 MCU控制模块MCU控制模块采用AVR系列的Atmega8型单片机。ATmega8是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间, ATmega8 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。产品主要特性高性能、低功耗的 8 位AVR® 微处理器先进的RISC 结构130 条指令 大多数指令执行时间为单个时钟周期32个8 位通用工作寄存器全静态工作工作于16 MHz 时性能高达16 MIPS只需两个时钟周期的硬件乘法器非易失性程序和数据存储器8K 字节的系统内可编程Flash 擦写寿命: 10,000 次具有独立锁定位的可选Boot 代码区通过片上Boot 程序实现系统内编程 图3-1 Atmega8型单片机真正的同时读写操作512 字节的EEPROM擦写寿命: 100,000 次1K字节的片内SRAM 可以对锁定位进行编程以实现用户程序的加密外设特点 两个具有独立预分频器8 位定时器/ 计数器, 其中之一有比较功能 一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器 具有独立振荡器的实时计数器RTC 三通道PWM TQFP与MLF 封装的8 路ADC8 路10 位ADC PDIP封装的6 路ADC8 路10 位ADC 面向字节的两线接口 两个可编程的串行USART 可工作于主机/ 从机模式的SPI 串行接口 具有独立片内振荡器的可编程看门狗定时器 片内模拟比较器特殊的处理器特点 上电复位以及可编程的掉电检测 片内经过标定的RC 振荡器 片内/ 片外中断源 5种睡眠模式: 空闲模式、ADC 噪声抑制模式、省电模式、掉电模式及Standby 模式I/O 和封装 23个可编程的I/O 口 28引脚PDIP 封装,32 引脚TQFP 封装,32 引脚MLF 封装工作电压 +2.7 +5.5V (ATmega8L) +4.5 +5.5V (ATmega8)速度等级 0 - 8 MHz (ATmega8L) 0 - 16 MHz (ATmega8)4 MHz 时功耗, 3V, 25°C 工作模式: 3.6 mA 空闲模式: 1.0 mA 掉电模式: 0.5 A引脚说明VCC 数字电路的电源。GND 地。端口B XTAL1/XTAL2/TOSC1/TOSC2 端口B(PB7.PB0) 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B 处于高阻状态。通过时钟选择熔丝位的设置, PB6 可作为反向振荡放大器或时钟操作电路的输入端。通过时钟选择熔丝位的设置PB7 可作为反向振荡放大器的输出端。若将片内标定RC 振荡器作为芯片时钟源,且ASSR 寄存器的AS2 位设置,PB7.6 作为异步 T/C2 的TOSC2.1 输入端。端口C 端口C(PC5.PC0) 为7 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C 处于高阻状态。PC6/RESET 若RSTDISBL 熔丝位编程, PC6 作为I/O 引脚使用。注意PC6 的电气特性与端口C 的其他引脚不同,若RSTDISBL 熔丝位未编程,PC6 作为复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限时间的脉冲不能保证可靠复位。端口D 端口D(PD7.PD0) 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D 处于高阻状态。RESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限时间的脉冲不能保证可靠复位。AVCC AVCC 是A/D转换器、端口C (3.0) 及ADC (7.6) 的电源。不使用ADC时,该引脚应直接与VCC 连接。使用ADC 时应通过一个低通滤波器与VCC 连接。注意,端口C (5.4) 为数字电源, VCC。AREF A/D 的模拟基准输入引脚。AVR 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。图3-2 结构框图ATmega8 有如下特点:8K 字节的系统内可编程Flash( 具有同时读写的能力,即RWW),512 字节 EEPROM,1K 字节 SRAM,32 个通用I/O 口线,32 个通用工作寄存器,三个具有比较模式的灵活的定时器/ 计数器(T/C), 片内/ 外中断,可编程串行USART,面向字节的两线串行接口, 10 位6 路 (8 路为TQFP 与MLF 封装)ADC,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,以及五种可以通过软件进行选择的省电模式。工作于空闲模式时CPU 停止工作,而SRAM、T/C、 SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态; ADC 噪声抑制模式时终止CPU 和除了异步定时器与ADC 以外所有I/O 模块的工作,以降低ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力。本芯片是以Atmel 高密度非易失性存储器技术生产的。片内ISP Flash 允许程序存储器通过ISP 串行接口,或者通用编程器进行编程,也可以通过运行于AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlash Memory)。在更新应用Flash存储区时引导Flash区(Boot Flash Memory)的程序继续运行,实现了RWW 操作。 通过将8 位RISC CPU 与系统内可编程的Flash 集成在一个芯片内,ATmega8 成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。 3.3 摘、挂机电路检测电路采用TLP521-2作为光电隔离器件,能有效防止外界的干扰对单片机系统的影响,使统能更稳定。 图 3-3 DIP8封装TLP521-2 为TOSHIBA公司生产的光电隔离器件。最高隔离电压可达DC2500V。灵敏度较高,驱动电流为310mA,可正常工作,输出压降小,最大输出电流为50mA,饱和压降约1.2V。适用工作温度宽,在-2570。电路原理图如下图3-4: 图 3-4 摘、挂机电路原理图CTRL 为摘、挂机的控制信号,低电平有效。NC、NO、COM分别为叉簧开关的常闭、常开、公共触点。当主机或分机有一方呼叫时,CTRL被拉低,这时检测呼叫信号的光电耦合器输出电平信号PA0、PA1至单片机引脚,然后由程序处理。3.4 语音信号放大电路采用National semiconductor公司生产的LF412N集成运放芯片。该芯片功耗低,响应速度快。LF412N具有双路运算放大系统。采用JFET输入运算放大器,输出电压低漂移。噪声抑制能力强,系统维持电流约50uA,输入阻抗大,约1012W,较宽的响应带宽,3MHz。 图 3-5 DIP8 封装电路原理图如下: 图 3-6 语音信号放大电路采用同相放大器,将受话器的输出信号进行放大。输入信号MIC接至运算放大器的同相输入端,同时为了减少运算放大器的失真,在此引入负反馈,提高系统的增益稳定性和共模抑制能力。3.5 音频滤波电路 采用National semiconductor公司生产的LF412N集成运放芯片。该芯片功耗低,响应速度快。LF412N具有双路运算放大系统。采用JFET输入运算放大器,输出电压低漂移。噪声抑制能力强,系统维持电流约50uA,输入阻抗大,约1012W,较宽的响应带宽,3MHz。电路原理图如下: 图 3-7 音频滤波电路采用LF412N组成有源带通滤波器。带通滤波器的作用是只允许某一段的频带内的信号通过,而将此频带以外的信号阻断,这样可以接收某一频带范围内的有效信号,而消除高频段及低频段的干扰和噪声。语音信号的频率一般在303000Hz,因此将音频滤波电路的带通频率设置为303000Hz,将无用的杂波信号滤除掉,保证通话时的高清晰度。 3.6 开锁电路开锁电路就是当主人确认来访者的身份后,让单片机给开门信号并驱动开锁继电器动作。采用三极管作为继电器线圈的驱动。 图 3-8 开锁电路3.7 振铃电路振铃音采用专用的振铃芯片KA2411,响铃声音跟普通电话机铃音相似。KA2411是双极型的积分式鉴别电路,专用于电话机的铃音设置,它由1个输出放大器,2个振荡器,1个电压调整电路组成。它功耗低,有2种可调整的振铃频率,可调整减小起动电流,滞后电路可防止触发失败带来的影响。工作电压范围宽,适应环境能力更强。 图 3-9 DIP8 封装电路原理图如下: 图 3-10 振铃电路输出频率为630Hz的铃音信号,为了保证一定的适用性,选取了TDA2030作为铃音信号的放大器,可驱动14W以下的扬声器,满足不同环境的要求。TDA2030是一款专用于HI-FI音频信号放大器的集成电路,外部器件比较少,具有较大的电流输出能力,工作电压高,较低的谐波和转换失真,内部有温度保护电路,所有引脚间都有短路保护,输出可靠。 图 3-11 TO220B 封装电路原理图如下: 图 3-12 音频信号放大器 输出直接驱动10W的扬声器,音质无失真。可以调节RP1电位器的值,以获得合适大小的音频信号,扬声器最大可输出100dB,以适用于不同的工作环境。3.8 输入语音信号放大电路传输线路上的语音信号经过滤波电路后,需要经过放大才能送至受话器,才能保证清晰。根据一般的要求,将信号放大到100倍左右,以保证信号的最大不失真。采用National semiconductor公司生产的LM386作为音频信号的功率放大器。LM386是一款低电压的音频信号功率放大器。它功耗低,静态消耗电流约为4mA,工作电压范围宽,为518V,电压放大倍数为20200倍。参考地电位输出,失真非常小。 图 3-13 DIP8封装电路原理图如下图 3-14 输入语音信号放大电路将输入的音频信号放大100倍,而无明显失真,以获得较好的通话效果。 第四章 软件设计4.1 楼宇对讲系统室内机源程序4.1.1 流程图开始 程序初始化 扫描呼叫Y被呼叫?N响铃扫描摘挂机Y 摘机?N通话挂机结束图4-1 楼宇对讲系统室内机源程序流程图4.1.2 源程序/*/*名称:楼宇对讲系统室内分机源程序 /*版本:V1.0 /*创建人:刘益武 /*创建日期:2006-11-10 /*修改日期:2006-11-18 /*/ 目标CPU : ATmega8/ 晶 振: 8.0000MHz/* - 1-| |-28 2-| |-27 3-| |-26 4-| |-25 5-| Atmega8 |-24 6-| |-23 7-| |-22 8-| |-21 9-| |-20 10-| 8MHz |-19 11-| |-18 12-| |-17 13-| |-16 14-| |-15 - */=/ 头文件和变量定义 /=#include <iom8v.h>#include <macros.h>void delay_5s(char c);unsigned char lock_flag;unsigned char send_flag;unsigned char OC_DATA;void delay_1us(void) /1us延时函数 asm("nop"); void delay_nus(unsigned int n) /N us延时函数 unsigned int i=0; for (i=0;i<n;i+) delay_1us(); void delay_1ms(void) /1ms延时函数 unsigned int i; for (i=0;i<1140;i+); void delay_nms(unsigned int n) /N ms延时函数 unsigned int i=0; for (i=0;i<n;i+) delay_1ms(); void delay_5s(char c) char i; for(i=0;i<c;i+) delay_nms(5000); /=