基于单片机的无线语音多功能呼叫机的设计与实现(编辑修改稿)内容摘要:
写入,信息显示的控制芯片, MCU1和 MCU2 之间进行串口通信,传输呼叫信息。 使用拾音器为主体搭建语音采集电路,日本新泻精工专业 NS73 作为 FM 发射芯片搭建语音发送平台, RDA5807为主体接收语音信息, 通过耳机或音响播放语音。 以 NRF24L01+为主体搭建无线收发模块, AT24C02 为主体搭建信息存储模块, DS1302 为主体搭建实时时间模块, LCD12864 为主体搭建信息显示模块,按键为主体搭建按键呼叫模块和实时信息调整模块, LED 为主体搭建信息呼叫提醒模块, 和 为主体搭建电平转换模块。 该多功能呼叫机有两个分机 MCU3 和 MCU4,且设计电路完全相同,此处以 MCU3 为例介绍。 MCU3 同样以 STC89C52RC 作为主控芯片搭建控制模块。 以 FM 电波形式发送和接收语音,按键和 LED 为主体搭建按键呼叫和回复提示模块。 该多功能呼叫机的设计既需要较强的硬件电路图和 PCB 图绘制能 力、也需要 PCB 铜板的焊接调试能力,更需要相当能力的 keil软件 C51 编程能力,设计的重难点在于 NRF24L0 DS130 AT24C0 LCD12864 的程序编写,核心问题在于 FM 调频收发 和 NRF24L01 的软硬件的调试。 2 方案设计 设计要求 主要任务 1) 可实现基于按键的呼叫方式; 2) 可进行呼叫后 LED 或蜂鸣器报警提示; 3) 可进行患者与护士双向通话; 4) 装置的电气原理图和 PCB 图 5) 设计完成各模块的程序流程图、源程序 ; 6) 完成装置的调试 ; 7) 验证实现装置的功能; 8) 医院住院楼大多一层 楼配备一个护士站。 本设计以 1个楼层, 1个护士站主机, 2个病房分别 1 个分机,每病房 3 个病员来模拟呼叫系统; 基本功能 第 3 页 共 44 页 设计一个具有按键呼叫方式、使用无线传输呼叫方式信息及内容信息,使用显示屏显示当前状态的医院多功能呼叫机。 可液晶显示呼叫对应的房号病床号、呼叫时间;存储一段时间内的呼叫记录;使用无线传输模式方便布线和安装; 系统总体方案 设计内容 此设计方案中分机和主机均已 STC89C52RC 为控制核心。 结合外围模块电路实现对呼叫机的控制,其具体设计的内容含以下几个方面: 硬件内容: 1)稳压模块:设计电源使用 9V 电池,其中单片机最小系统、时钟模块、存储模块、显示模块使用 稳压后的 5V 电压供电;无线模块和语音模块使用 稳压后的 供电。 2)无线收发模块:设计使用 NRF24L01+模块,进行无线数据收发。 3) LED 提示模块:设计使用 8 个 LED,代表呼叫、回复状态的提醒。 4)信息显示模块:设计使用 128642 液晶显示屏作为核心构成呼叫信息、历史记录、时间显示模块。 5)语音收发模块:设计使用 NS73 和 RDA5807 芯片为核心分别构 成语音发送和语音接收模块。 6)信息存储模块:设计使用 AT24C02 芯片为呼叫信息存储芯片。 便于呼叫信息的写入和读出显示 7)按键调整模块:设计使用 4 脚按键,完成呼叫、调整、查询功能。 软 件 内 容: 1)编写 和 程序,作为整个软件系统的核心。 2)编写 无线收发子程序。 3)编写 、 、 AT24C02 子程序。 4)编写按键呼叫、调整、查询、串口通信子程序。 5) 编写语音收发子程序。 系统设计方案 本设计主机硬件系统框图如图 21 所 示,软件结构图如图 22 所示。 第 4 页 共 44 页 图 21 主机硬件系统框图 图 22 主机软件结构图 设计以 1 主机 2 分机来模拟整个呼叫系统,且分机的原理、功能和电路都完全相同,以下都以分机 1 为例,介绍分机的工作原理,分机 1 的硬件系统框图如图 23 所示,软件设计结构图如图 24 所示。 main . cNRF 24 L 01 .c 无线程序按键回复程序语音处收发程序串口通信程序test . c按键调整程序12864 . c显示程序DS 1302 . c时钟程序AT 24 C 02 . c存储程序串口通信程序MCU 1STC 89 C 52 RC单片机语音接收语音发送无线收发回复模块ASM 1117( 5 . 0 )ASM 1117( 3 . 3 V )9 V 电源LED 提示MCU 2STC 89 C 52 RC 单片机9 V 电源ASM 1117( 5 . 0 )液晶显示时钟芯片存储芯片按键STC15 L 104STC15 L 104 第 5 页 共 44 页 图 23 分机硬件系统框图 图 24 分机软件结构图 硬件方案选择和论证 主控芯片模块 方案 1:使用 51 系列宏晶公司 STC89C52RC 作为主控芯片,其片内 ROM全都采用 FlashROM:能以 3V的超低电压工作,与 MCS51 系列单片机完全兼容,该芯片内部存储器为 8KB ROM 存储空间,同时具有 89C51 的功能,具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或程序的新增功能需要烧入程序时,不需要对芯片进行多次插拔,所以不会对芯片造成损坏。 方案 2:使用 TI 公司 16 位 MSP430F149 单片机作为主控芯片, 具有超低功耗、强大的处理能力、丰富的片内外设、系统工作稳定、方便高效的开发环境等优点。 在运算性能方面, MSP430 系列单片机能够在 8MHz晶 体的驱动下,实现 125ns 的指令周期。 16 位 RISC 结构,使 MSP430 运算速度很快。 而且其配套编程软件 IAR 早已成熟,有很多开源代码,对编程帮助很大。 MAIN . CNRF 24 L 01 .C 无线程序按键呼叫程序语音收发程序LED 提示程序MCUSTC 89 C 52 RC最小系统语音播放语音接收无线收发回复模块ASM 1117( 5 . 0 )ASM 1117( 3 . 3 V )9 V 电源LED 提示STC 15 L 104STC 15 L 104 第 6 页 共 44 页 方案 3:使用意法半导体推出的 STM32F107 作为主控芯片,其具有64K~256KB Flash,达 64KB 的 SRAM , STM32 不同型号产品在引脚和软件上具有完美的兼容性,可以轻松适应更多的应用 ,有 2 个 12 位 AD, 2 个 12 位DA(数模转换器 )、 2 个 IIC 接口、 5 个 USART 接口和 3 个 SPI 端口和高质量数字音频接口 IIS,另外 STM32F107 拥有全速 USB( OTG)接口,两路 接口,以及以太网 10/100 MAC 模块 , 72MHz超高 运行频率,。 综上,以上各芯片作为主控芯片都能达到系统的处理速度和其他要求,于是选择方案 1 的 STC89C52RC 和 STC90C51 价格相对便宜,编程相对简单的芯片作为主控芯片。 无线收发模块 方案 1:使用高频电路,直接发送模拟信号。 当为发送模式时:使用高频电路将拾音器采集、滤波、音频放大、振荡调制和高频放大后的模拟信号通过带通滤波器和天线后发送。 当为接受模式时:通过天线接收 到模拟信号,经带通滤波器滤波、选频放大、本振混频、中放电路、解调电路以及音频放大电路后,扬声器放声。 虽然期间程序极其简单,但硬件 电路复杂,调试难度大,造价高,耗电量大,对 医用设备干扰极大等缺点,所以本设计放弃此方案。 方案 2:使用 TI 公司基于 ZigBee 协议的 CC2530 无线收发芯片,工作于 的 ISM 频段, CC2530 工作电压为 2V~,集成增强型 8051MCU,系统内有 8KB RAM, 32KB~256KB Flash存储器, CPU主动接收模式下为 24mA,主动发送模式下为 29mA, 最高工作 速率 500kbps。 方案 3:使用挪威 Nordic 公司基于 SPI 协议的 NRF24L01+射频收发芯片,工作于 ~ 的 ISM 频段, NRF24L01+工作电压为 ~,内置硬件 CRC 检错,处于发送模式时( 0dBm)工作电流为 ,处于接收模式时( 2Mbps)工作电流为 ,休眠电流为 ,空中传输率有 250kbps、1Mbps 和 2Mbps 三模式,未集成 MCU,无内部存储器。 综上, NRF24L01+传输速率快于 CC2530,功耗低于 CC2530,成本远低 于CC2530,且本设计未用 CC2530 编程功能和存储器,如果使用稍许浪费。 于是,在无线模块芯片的选择上使用 NRF24L01+。 语音模块 方案 1:使用 PCF8591 等 AD、 DA 功能一体化芯片,由于此处并未选择STC89C52RD 或 STC12C5A60S2 等自带 AD、 DA 的主控芯片,由此需要选择对拾音器采集处理后的模拟信号进行 ADC 和对无线接收到并处理后数字信号进行 DAC,但本设计要对语音信号进行处理并用于通信,就以适合语音通信的32Kbit/s 的采样频率来研究,其 AD、 DA 转换速率和转换要求 过于严苛,此类 第 7 页 共 44 页 芯片不能达到要求,故本设计选择弃用此方案。 方案 2:使用斜率连续可变增量( cvsd)双工音频调制芯片 CMX639。 CMX639 完全集成语音编码及解码功能,编解码速率范围 8kbps~64kbps,可实现单芯片语音处理的能力,外围设备简单,用户可以通过其管脚方便地对其编解码算法进行设置,具有强大的可选择编码算法,低功耗、低价位、小体积和开发难度低等多种优点,因此特别适合在对成本非常敏感的消费类语音系统中应用 [1],一片 CMX639D4 的价格为 ¥ 30。 方案 3:使用 DVSI 语音压缩 /解压芯片 AMBE20xx。 利用该芯片能全双工的压缩和解压 ,其压缩率可在 2kb p s~ 9. 6kb p s 范围内,由软件调节 , 且具有 FEC(前向纠错 ) 、 VAD(语音激活检测 ) 功能和 DTMF 信号检测功能 [2],但一片 AMBE20xx 的价格在¥ 150~¥ 230 之间,成本过高。 方案 4:使用 NS73 作为 FM 发射芯片, STD15L104 为控制芯片组成语音发送模块,以 RAD5807 作为接收芯片, STC15L104 为控制芯片搭建语音接收模块。 由于 NS73 模块和 RDA5807 模块已集成 51 主控单片机,无须外模块单片机编程程序。 即可完成语音的发射和接收。 NS73 发送模块发射频率范围为85~108MHz, RDA 接收模块接收频率范围为 76~108MHz。 整个模块几乎不需要外置主控单片机对其软件控制易调试,价格适中。 综上,虽然 AMBE 对语音的编解码质量和性能略好于 CMX639,但由于价格过于昂贵,且 CMX639 满足设计需求,由此语音编解码芯片选择 CMX639。 但基于前期使用 CMX639 未能进行编解码,本设计改变方案选择 STC15L10NS73 和 RDA5807 进行语音收发。 时钟模块 方案 1:直接采用单片 机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒信息提供,采用此种方案虽然减小芯片的使用,节约成本,但是极大增大软件编程难度,最缺陷的还是其提供的时间误差太大,不容直视。 方案 2:采用 DALLAS 的 DS1302 时钟芯片。 实时时钟具有读 /写秒、分、时、日、星期、月和年,一个月少于 31 天时可以自动调整的功能,且具有闰年补偿功能。 工作电压范围 ~ , 时耗电小于 300Ma。 采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。 DS1302 用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录 [3]。 而且精度高,价格便宜。 综上所述,采用 DS1302 时钟 芯片提供实时时间。 第 8 页 共 44 页 存储模块 AT24CXX 系列是集 E178。 PROM 存储器,复位控制器和看门狗定时器一体的芯片。 XX 代表存储容量,如 02 为 2KB, 16 为 16KB; AT24C02 及以下为 8 字节页缓存, AT24C02 以上为 16 字节页缓存。 与 400KHz 的 I2C 总线兼容 ,工作电压为 ~,采用 低功耗 CMOS 技术。 WP 为高电平时进入写保护状 态 ,页写缓冲器自定时擦写周期 1000000 编程 /擦除周期。 可保存数据 100 年。 方案 1:使用 AT24C02, 2KB 存储空间,我们设计时,估计每个病员一天呼叫 3 次,一周总体约为 120 条。 计划存储 10 条呼叫信息,其容量至多为(时间 8 字节,状态 4 字节),估算为 16*12。基于单片机的无线语音多功能呼叫机的设计与实现(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。