基于单片机的无线语音多功能呼叫机的设计与实现.docx
《基于单片机的无线语音多功能呼叫机的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于单片机的无线语音多功能呼叫机的设计与实现.docx(59页珍藏版)》请在冰豆网上搜索。
![基于单片机的无线语音多功能呼叫机的设计与实现.docx](https://file1.bdocx.com/fileroot1/2023-4/18/4dcc2c01-8c3a-4ec9-b341-a6b2cb2b5d6e/4dcc2c01-8c3a-4ec9-b341-a6b2cb2b5d6e1.gif)
基于单片机的无线语音多功能呼叫机的设计与实现
多功能呼叫机设计与实现
论文
申请学位专业:
自动化
申请学位类别:
工学学士
指导教师(职称):
论文提交日期:
多功能呼叫机设计与实现
摘要
为使医院、茶楼、小区等公共服务场所工作效率的提高和资源的合理配置,多功能呼叫机系统渐渐走入很多公共服务场所。
医院多功能呼叫机就是一个很好的例子,它改变了传统高声急促呐喊式的呼叫,使得呼叫变得简单、快捷。
本设计以医院多功能呼叫机作为设计蓝本,运用单片机专业知识,设计了模拟医院呼叫的医院多功能呼叫机。
该设计的主分机均以52单片机为核心,采用NRF24L01无线模块收发数据,NS73作为语音发射核心、RAD5807作为语音接收芯片、DS1302作为时钟源、AT24C02存储呼叫记录、LCD12864显示呼叫状态等信息。
软件部分,使用KeilC51语言编制了相应的分析、控制软件程序。
通过电子元件选型、硬件绘制、程序编写,软硬件联调,大部分完成了呼叫机系统。
系统具有语音和按键呼叫、语音和按键回复、显示呼叫和存储查询呼叫历史等功能,满足医院进行病员监护的需要。
经过测试表明,本系统可靠性教高,功耗低,使用便捷,实用价值极强。
关键词:
呼叫机;52单片机;NRF24L01;NS73;双工通信
DesignandImplementationofMulti-functionalMachineCall
Abstract
Toenablehospitals,restaurants,residentialandotherpublicserviceestablishmentsrationalallocationofworkefficiencyandresources,multi-callsystemsgraduallyintomanypublicserviceestablishments.Callthehospitalmultifunctionmachineisagoodexample,ithaschangedthetraditionalstyleofthecallloudcryshortnessmakesthecallbecomessimpleandfast.
Thedesigncallshospitalmultifunctionmachineasadesignblueprint,theuseofsingle-chipexpertisetodesignanalogmultifunctioncallthehospitaltocallthehospitalmachine.Thedesignsarethemainextension52microcontrollercore,usingNRF24L01wirelessdatatransceivermodule,NS73asavoicetransmittercore,RAD5807asavoicereceiverchip,DS1302astheclocksource,AT24C02storecallrecords,LCD12864displaycallstatusandotherinformation.Softwaresection,usetheKeilC51languagepreparationofthecorrespondinganalysis,controlsoftwareprogram.
Selection,hardwarerenderingelectroniccomponents,programming,hardwareandsoftwareFBI,mostcompletelocalcalls.Andkeysystemwithvoicecalls,voiceandtouchresponse,calldisplayandcallhistorystoredqueriesandotherfunctionstomeetthehospital'spatientcareneeds.Aftertestsshowedthatthissystemteachhighreliability,lowpowerconsumption,easytouse,practicalvaluehighly.
Keywords:
callmachines;52microcontroller;NRF24L01;NS73;duplexcommunication
论文总页数:
44页
1引言
1.1课题的背景与意义
伴随电子半导体技术的迅猛发展,特别是大规模集成电路的出现,给我们的生活带来了最直观性的改变,尤其是随着单片机技术成熟而应运而生的产品已经走进了千家万户。
改革开放以来,我国科技的如雨后春笋蓬勃发展,电力电子行业获得长足稳定的发展,各种电子产品琳琅满目,随着电子产品的更迭变换风驰电掣,功能日渐强大,款式新颖、贴切生活的电子产品不断问世。
医院多功能呼叫机则是发展趋势中的代表,医院多功能呼叫机顺应了人们对医疗方面的要求。
该系统是一种应用于医院病房、养老院、KTV等地方,用于医护人员与病员沟通联系的专用呼叫系统,是提高医院服务水平的必备设备之一。
多呼叫系统的优劣直接影响到病员的安危,历来受到各大医院的普遍重视。
它要求与时、准确可靠、简便可行、利于推广。
它的出现给医护人员以与病患人员带来的诸多方便,避免了很多医疗事故,其作用更是不言而喻。
1.2呼叫机的现状和发展
目前市场上存在着许多种型号不一功能各异的医院病房呼叫系统;按呼叫方式来分类,主要分为按键呼叫和语音呼叫两大类。
单纯的按键呼叫系统,功能单一,呼叫原因模糊不清,越来越不能满足现代医院医护人员与患者的的需求。
而按信号传送途径来分类,主要分为有线式和无线式。
有线式病房呼叫系统存在布线较多、铺设线路复杂、影响美观、日常维护困难等问题,故不太适宜大型的医院。
本文设计的是无线式兼容按键和语音两种方式的呼叫系统,适合型的医院病房使用,具有成本低,易于操作、安装和维护,而且具有可靠稳定,对其他医疗设备产生干扰小等特点。
病房呼叫系统便于病员快捷的呼叫护士站值守医生和护士,缩短人工呼叫的时间。
当今病房呼叫系统正在逐步地向智能化发展,它可以和对讲机、乃至摄像头一起使用,当病人按下开关时,在护士值班室的大屏幕能够更直观地观察病人的状态,了解病人的需要。
越来越智能化的病房呼叫系统使病员与时快捷地与医护人员进行沟通,医护人员更与时地了解病人此时的情况以与需求。
1.3课题的研究方法
随着社会的发展,智能化程度的逐渐提高。
也对病房呼叫系统的稳定可靠性,功能丰富性,维护便利性有了更高的要求。
于是本项目对方案设计实施者的电子、通信技术要求也很高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展芯片的应用以与C51程序编写。
而且要求设计的多功能呼叫机在操作上力求简洁,功能上尽量齐全,显示界面也要丰富出彩。
该多功能呼叫机主机使用两片STC89C52RC主控芯片搭建控制模块,命名为MCU1和MCU2;MCU1作为无线数据收发和语音收发的控制芯片,MCU2作为呼叫数据存储/读取、实时时间读取/写入,信息显示的控制芯片,MCU1和MCU2之间进行串口通信,传输呼叫信息。
使用拾音器为主体搭建语音采集电路,日本新泻精工专业NS73作为FM发射芯片搭建语音发送平台,RDA5807为主体接收语音信息,通过耳机或音响播放语音。
以NRF24L01+为主体搭建无线收发模块,AT24C02为主体搭建信息存储模块,DS1302为主体搭建实时时间模块,LCD12864为主体搭建信息显示模块,按键为主体搭建按键呼叫模块和实时信息调整模块,LED为主体搭建信息呼叫提醒模块,ASM1117-3.3和ASM1117-5.0为主体搭建电平转换模块。
该多功能呼叫机有两个分机MCU3和MCU4,且设计电路完全一样,此处以MCU3为例介绍。
MCU3同样以STC89C52RC作为主控芯片搭建控制模块。
以FM电波形式发送和接收语音,按键和LED为主体搭建按键呼叫和回复提示模块。
该多功能呼叫机的设计既需要较强的硬件电路图和PCB图绘制能力、也需要PCB铜板的焊接调试能力,更需要相当能力的keil软件C51编程能力,设计的重难点在于NRF24L01、DS1302、AT24C02、LCD12864的程序编写,核心问题在于FM调频收发和NRF24L01的软硬件的调试。
2方案设计
2.1设计要求
2.1.1主要任务
1)可实现基于按键的呼叫方式;
2)可进行呼叫后LED或蜂鸣器报警提示;
3)可进行患者与护士双向通话;
4)装置的电气原理图和PCB图
5)设计完成各模块的程序流程图、源程序;
6)完成装置的调试;
7)验证实现装置的功能;
8)医院住院楼大多一层楼配备一个护士站。
本设计以1个楼层,1个护士站主机,2个病房分别1个分机,每病房3个病员来模拟呼叫系统;
2.1.2基本功能
设计一个具有按键呼叫方式、使用无线传输呼叫方式信息与容信息,使用显示屏显示当前状态的医院多功能呼叫机。
可液晶显示呼叫对应的房号病床号、呼叫时间;存储一段时间的呼叫记录;使用无线传输模式方便布线和安装;
2.2系统总体方案
2.2.1设计容
此设计方案中分机和主机均已STC89C52RC为控制核心。
结合外围模块电路实现对呼叫机的控制,其具体设计的容含以下几个方面:
硬件容:
1)稳压模块:
设计电源使用9V电池,其中单片机最小系统、时钟模块、存储模块、显示模块使用ASM1117-5.0稳压后的5V电压供电;无线模块和语音模块使用ASM1117-3.3稳压后的3.3V供电。
2)无线收发模块:
设计使用NRF24L01+模块,进行无线数据收发。
3)LED提示模块:
设计使用8个LED,代表呼叫、回复状态的提醒。
4)信息显示模块:
设计使用128642液晶显示屏作为核心构成呼叫信息、历史记录、时间显示模块。
5)语音收发模块:
设计使用NS73和RDA5807芯片为核心分别构成语音发送和语音接收模块。
6)信息存储模块:
设计使用AT24C02芯片为呼叫信息存储芯片。
便于呼叫信息的写入和读出显示
7)按键调整模块:
设计使用4脚按键,完成呼叫、调整、查询功能。
软件容:
1)编写test.c和main.c程序,作为整个软件系统的核心。
2)编写NRF24L01.c无线收发子程序。
3)编写DS1302.c、12864.c、AT24C02子程序。
4)编写按键呼叫、调整、查询、串口通信子程序。
5)编写语音收发子程序。
2.2.2系统设计方案
本设计主机硬件系统框图如图2-1所示,软件结构图如图2-2所示。
图2-1主机硬件系统框图
图2-2主机软件结构图
设计以1主机2分机来模拟整个呼叫系统,且分机的原理、功能和电路都完全一样,以下都以分机1为例,介绍分机的工作原理,分机1的硬件系统框图如图2-3所示,软件设计结构图如图2-4所示。
图2-3分机硬件系统框图
图2-4分机软件结构图
2.3硬件方案选择和论证
2.3.1主控芯片模块
方案1:
使用51系列宏晶公司STC89C52RC作为主控芯片,其片ROM全都采用FlashROM:
能以3V的超低电压工作,与MCS-51系列单片机完全兼容,该芯片部存储器为8KBROM存储空间,同时具有89C51的功能,具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或程序的新增功能需要烧入程序时,不需要对芯片进行多次插拔,所以不会对芯片造成损坏。
方案2:
使用TI公司16位MSP430F149单片机作为主控芯片,具有超低功耗、强大的处理能力、丰富的片外设、系统工作稳定、方便高效的开发环境等优点。
在运算性能方面,MSP430系列单片机能够在8MHz晶体的驱动下,实现125ns的指令周期。
16位RISC结构,使MSP430运算速度很快。
而且其配套编程软件IAR早已成熟,有很多开源代码,对编程帮助很大。
方案3:
使用意法半导体推出的STM32F107作为主控芯片,其具有64K~256KBFlash,达64KB的SRAM,STM32不同型号产品在引脚和软件上具有完美的兼容性,可以轻松适应更多的应用,有2个12位AD,2个12位DA(数模转换器)、2个IIC接口、5个USART接口和3个SPI端口和高质量数字音频接口IIS,另外STM32F107拥有全速USB(OTG)接口,两路CAN2.0B接口,以与以太网10/100MAC模块,72MHz超高运行频率,1.25DMIPS/MHz。
综上,以上各芯片作为主控芯片都能达到系统的处理速度和其他要求,于是选择方案1的STC89C52RC和STC90C51价格相对便宜,编程相对简单的芯片作为主控芯片。
2.3.2无线收发模块
方案1:
使用高频电路,直接发送模拟信号。
当为发送模式时:
使用高频电路将拾音器采集、滤波、音频放大、振荡调制和高频放大后的模拟信号通过带通滤波器和天线后发送。
当为接受模式时:
通过天线接收到模拟信号,经带通滤波器滤波、选频放大、本振混频、中放电路、解调电路以与音频放大电路后,扬声器放声。
虽然期间程序极其简单,但硬件电路复杂,调试难度大,造价高,耗电量大,对医用设备干扰极大等缺点,所以本设计放弃此方案。
方案2:
使用TI公司基于ZigBee协议的CC2530无线收发芯片,工作于2.4GHZ的ISM频段,CC2530工作电压为2V~3.6V,集成增强型8051MCU,系统有8KBRAM,32KB~256KBFlash存储器,CPU主动接收模式下为24mA,主动发送模式下为29mA,最高工作速率500kbps。
方案3:
使用挪威Nordic公司基于SPI协议的NRF24L01+射频收发芯片,工作于2.4GHz~2.524GHz的ISM频段,NRF24L01+工作电压为1.9V~3.6V,置硬件CRC检错,处于发送模式时(0dBm)工作电流为11.3mA,处于接收模式时(2Mbps)工作电流为13.5mA,休眠电流为1.5nA,空中传输率有250kbps、1Mbps和2Mbps三模式,未集成MCU,无部存储器。
综上,NRF24L01+传输速率快于CC2530,功耗低于CC2530,成本远低于CC2530,且本设计未用CC2530编程功能和存储器,如果使用稍许浪费。
于是,在无线模块芯片的选择上使用NRF24L01+。
2.3.3语音模块
方案1:
使用PCF8591等AD、DA功能一体化芯片,由于此处并未选择STC89C52RD或STC12C5A60S2等自带AD、DA的主控芯片,由此需要选择对拾音器采集处理后的模拟信号进行ADC和对无线接收到并处理后数字信号进行DAC,但本设计要对语音信号进行处理并用于通信,就以适合语音通信的32Kbit/s的采样频率来研究,其AD、DA转换速率和转换要求过于严苛,此类芯片不能达到要求,故本设计选择弃用此方案。
方案2:
使用斜率连续可变增量(cvsd)双工音频调制芯片CMX639。
CMX639完全集成语音编码与解码功能,编解码速率围8kbps~64kbps,可实现单芯片语音处理的能力,外围设备简单,用户可以通过其管脚方便地对其编解码算法进行设置,具有强大的可选择编码算法,低功耗、低价位、小体积和开发难度低等多种优点,因此特别适合在对成本非常敏感的消费类语音系统中应用[1],一片CMX639D4的价格为¥30。
方案3:
使用DVSI语音压缩/解压芯片AMBE2000。
利用该芯片能全双工的压缩和解压,其压缩率可在2kbps~9.6kbps围,由软件调节,且具有FEC(前向纠错)、VAD(语音激活检测)功能和DTMF信号检测功能[2],但一片AMBE2000的价格在¥150~¥230之间,成本过高。
方案4:
使用NS73作为FM发射芯片,STD15L104为控制芯片组成语音发送模块,以RAD5807作为接收芯片,STC15L104为控制芯片搭建语音接收模块。
由于NS73模块和RDA5807模块已集成51主控单片机,无须外模块单片机编程程序。
即可完成语音的发射和接收。
NS73发送模块发射频率围为85~108MHz,RDA接收模块接收频率围为76~108MHz。
整个模块几乎不需要外置主控单片机对其软件控制易调试,价格适中。
综上,虽然AMBE对语音的编解码质量和性能略好于CMX639,但由于价格过于昂贵,且CMX639满足设计需求,由此语音编解码芯片选择CMX639。
但基于前期使用CMX639未能进行编解码,本设计改变方案选择STC15L104、NS73和RDA5807进行语音收发。
2.3.4时钟模块
方案1:
直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒信息提供,采用此种方案虽然减小芯片的使用,节约成本,但是极大增大软件编程难度,最缺陷的还是其提供的时间误差太大,不容直视。
方案2:
采用DALLAS的DS1302时钟芯片。
实时时钟具有读/写秒、分、时、日、星期、月和年,一个月少于31天时可以自动调整的功能,且具有闰年补偿功能。
工作电压围2.5~5.5V,2.5V时耗电小于300Ma。
采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。
DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录[3]。
而且精度高,价格便宜。
综上所述,采用DS1302时钟芯片提供实时时间。
2.3.5存储模块
AT24CXX系列是集E²PROM存储器,复位控制器和看门狗定时器一体的芯片。
XX代表存储容量,如02为2KB,16为16KB;AT24C02与以下为8字节页缓存,AT24C02以上为16字节页缓存。
与400KHz的I2C总线兼容,工作电压为1.8V~6.0V,采用低功耗CMOS技术。
WP为高电平时进入写保护状态,页写缓冲器自定时擦写周期 1000000编程/擦除周期。
可保存数据100年。
方案1:
使用AT24C02,2KB存储空间,我们设计时,估计每个病员一天呼叫3次,一周总体约为120条。
计划存储10条呼叫信息,其容量至多为(时间8字节,状态4字节),估算为16*120=1920B,满足。
方案2:
使用AT24C08或以上,由于上面我们以最大需求存储空间估算得到至多使用160B的存储空间,而AT24CXX系列的价格随着存储容量的增大而更高,在满足设计需求的前提下,本着从简节约的原则,我们放弃此选择。
综上,存储芯片选择AT24C02。
2.3.6稳压模块
方案1:
LM78XX三端稳压IC外加电解电容、瓷片电容,组成稳压电源模块所需的外围元件极少,电路部还有过流、过热与调整管的保护电路,使用起来可靠、方便。
输入电压在7.5V~20V时,输出电压的精度为±4%以。
方案2:
ASM1117是一个低压差电压调节器系列。
压差在1.2V输出,负载电流为800mA时为1.2V。
提供电流限制和热保护。
电路包含1个齐纳调节的带隙参考电压以确保输出电压的精度在±1%以[4]。
综上所述,两者价格相似,ASM1117性能好于LM7805,故电平转换电路采用ASM1117-5.0和ASM1117-3.3芯片。
2.3.7显示模块
方案1:
选择LCD1602液晶屏,1602显示屏的显示功能强,可显示大量的数字、图形,字母,显示方式多样,显示效果清晰可见,但本设计需求显示大量汉字,1602不能满足此要求,放弃。
方案2:
使用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示极少个文字比较合适,如用在此处需求量大,电路板制作和编程难度相应增大,价格也相对较高,所以也不用此种作为显示。
方案3:
采用LCD12864液晶显示屏,12864液晶显示屏的显示信息的种类和数量都够多,可显示大量文字,图形[5],显示多样,清晰可见。
价格适中,占用接口线适宜,且能满足本设计所需显示较多要求。
综上,选择LCD12864为此项目的显示屏。
2.4软件方案选择和论证
2.4.1main.c和test.c函数设计
主程序主要结构都由一个while
(1)大循环构成,main.c主要做串口初始化、无线收发控制、按键和语音回复控制、串口通信之用。
test.c主要做串口初始化、时钟、显示、存储、调整的控制之用。
2.4.2NRF24L01.c函数设计
NRF24L01.c函数主要由NRF24L01初始化、读寄存器、写入寄存器、读数据、写数据、配置接收模式、发送数据、接收数据子程序构成。
发送的原理是:
由写命令子程序写入相应的命令之后,再由写数据子程序逐位写入需要发送的数据,最后由发送子程序进行发送。
接收的原理是:
配置子程序进行写命令话转换为接收模式、读状态寄存器、读出寄存器中数据。
2.4.3语音收发程序设计
语音收发的程序写入STC15L104单片机,语音发送模块由NS73初始化、NS73模式设定、NS73发送数据程序构成;语音接收模块由RDA读、写寄存器、上电初始化、IIC接收、发送、等子程序构成。
整个模块只需外模块单片机检测到语音呼叫开关按下后,通过NRF24L01发送语音呼叫信息即可。
2.4.4按键调整程序设计
信息显示模块,按键主要作时间调整和记录查询之用。
2.4.5DS1302.c函数设计
DS1302.c函数主要由DS1302初始化、读寄存器命令、写寄存器命令、读数据、写数据子程序构成。
2.4.612864.c函数设计
12864.c函数主要由初始化、忙检测、写命令、写数据、清屏、读数据、写数据、显示初始界面、显示无呼叫界面、显示呼叫界面、显示查询界面、显示调整界面子程序构成。
2.4.7AT24C02.c函数设计
AT24C02.c程序由初始化、启动、停止、字节写、字节读、读数据、写数据、应答子程序构成。
3系统硬件电路的设计
3.1系统硬件概述
本项目硬件电路是STC89C52RC单片机作为主分机无线语音主控芯片,以STC89C52RC为主机信息显示主控芯片,低功耗,可在3V超低压工作[6];时钟电路由DS1302构成,它是一种高性能、低功耗、带RAM同时具有掉电自动保存功能的实时时钟电路,它可以对年、月、日、时、分、秒等进行计时,具有闰年补偿功能,工作电压为2.5V-5.5V。
无线收发由NRF24L01+模块构成,语音模块由、NS73发送模块、RDA5807接收模块组成,存储模块使用AT24C02芯片,显示部分为LCD12864液晶显示屏,能够实现字符与数字同时显示的功能。
电平转换电路选择ASM1117-5.0和ASM1117-3.3作为转换芯片。
3.2主要单元模块设计
由于分机系统的主要模块和主机系统的电平转换、无线收发、语音发送、语音接收、与无线语音主控一样,没有LED提示模块,增加按键呼叫模块。
因此,我们将分别介绍:
电平转换模块电路、语音发送模块电路、语音接收模块电路、无线收发模块电路、LED提示报警模块电路、无线语音主控模块电路,时钟模块电路、按键模块电路、显示模块电路、存储模块电路、信息显示主控模块电路,分机主控模块电路和分机呼叫模块电路。
3.2.1电平转换模块电路
电平转换采用ASM1117-5.0和ASM1117