影像科无线语音播报系统的设计引言X 射线的影像学检查是现代化精准医疗中的重要环节,在诊治疾病和判断疾病转归及手术方案制定中发挥着不可替代的作用[1]。影像科技师在面对患者时,既要认真核对患者申请单上各项信息,还要密切思考操作技术与方法,同时需要口头指导每位患者如何配合接受检查及取片的时间和地点等等,存在大量的重复话语。特别是体检工作中,多为胸部X 光检查,每天操作技师要重复几百遍指令,成为极大的工作负担[2]。另外医生的发音、语气也时常引起医患之间的矛盾。 无线语音智能播报系统,集语音合成、无线遥控操作、语音点播插播功能于一体。它采用单片机为控制核心,对各个子模块进行控制,以实现需要的功能 [3]。该系统能有效地替代技师的人工重复喊话,减轻工作强度。 1 系统整体设计无线语音播报系统的工作原理是遥控器使用433 MHz ISM/SRD 频段与语音播报主机通信,语音播报主机接收信号后解析指令,读取本地Micro SD 卡中音频文件,通过VS1003B 解码器完成音频的解码工作,并通过外置音箱播放出来。系统结构示意图和实物图,见图1。 图1 系统的结构示意图(a)和实物图(b) 整个系统的使用流程如图2 所示。首先通过PC 上的TTS 客户端转化需要播放的语音成MP3/WAV 文件,拷贝入Micro SD 卡并插入语音播报主机,然后通过遥控器就可以控制语音播报主机任意播放Micro SD 卡内语音。 图2 使用流程图 2 硬件设计本系统硬件部分设计包括主控电路板、遥控器电路和无线接收电路,实现音频编解码、无线控制、数据存储等功能。 2.1 主控板电路设计本 系 统 选 用 基 于ARM Cortext-M3 内 核 的STM32F103RCT6 作为主控制器,最高工作频率达72 MHz,它拥有的资源包括256 k 内置高速闪存、48 k SRAM 容量、4 个通用定时器、2 个DMA 控制器、3 个SPI 接口、2 个IIC 接口、5 个串口、3 个12 位ADC、一个SDIO 接口以及51 个通用IO 口。该芯片的配置非常丰富,能充分满足本系统的各项需求。本系统硬件电路实物图,见图3。 图3 硬件电路实物图 参考STMicroelectronics 发布的STMF103 系列开发文档[4]进行系统主板的设计。电源部分接收最大15 V 输入,使用MIC5219 线性稳压器提供固定输出电压;存储部分使用MicroSD 卡,通过STM32F1 自带的SDIO 接口驱动;音频解码部分使用VLSI 的VS1003B 芯片[5],功耗低,单时钟操作12 MHz,能解码MPEG1 和MPEG2 音频,支持MP3 和WAV 流,VS1003B 作为系统从机,通过SPI 接口来接收输入的音频数据流。另外系统提供串口调试,通过MAX3232 与上位机实现了串口通信。 2.2 遥控器电路与无线接收电路的设计遥控器电路的设计[6]采用了森川电子的SC2262 遥控编码电路,电路具有省电模式,功耗低,最多有12 位三态编码。 无线接收电路的设计,见图4。采用的遥控解码电路SC2272 是与SC2262 配对使用的专用集成电路,拥有12 位的三态地址管脚,可支持多达312 个地址的编码。这种接收器集红外接收与放大于一体,能完成从红外线接收到输出兼容TTL 信号的所有工作[7]。 3 软件设计本系统的软件分为两部分,一部分是烧录在语音播报主机芯片内的嵌入式系统软件,软硬件一体驱动整个主机的工作。另一部分相对独立的是TTS 客户端程序,负责把文字合成清晰的语音文件。 图4 无线接收电路设计原理框图 3.1 嵌入式系统软件嵌入式软件系统采用了RT-Thread[8]实时操作系统,该系统安全开源,遵循Apache License 2.0 开源许可协议,系统模块化且可裁剪性很好,包含丰富的中间件组件,非常适合本系统嵌入式软件的需求。软件的底层驱动设计考虑分离思想,分为硬件直接交互层和接口通用层,与硬件直接交互层参考微控器指南[9]编写合适的控制代码,接口通用层设计合适的接口框架,提供一致性的API 供应用层调用。 整个软件使用RT-Thread 来完成任务调度[10],每个任务对应一个线程,线程间通信采用消息队列的方式[11]。主要任务规划,见表1。 表1 任务规划 任务 优先级 功能tshell 20 shell调试工具app_message_handler 18 指令解析器app_speaker 20 播放语音app_monitor 22 系统监测 app_message_handler 是核心任务,实时监听遥控器发来的指令,并解析后转化成内部数据指令结构压入操作栈。app_speaker 负责接收app_message_handler 发送的消息,然后读取Micro SD card 中的音频文件,并调用编解码器驱动,通过MIC 口传输音频数据至音箱。app_monitor 是系统常驻线程,实时监测主控制板硬件异常,并通过tshell 显示系统运行情况。 3.2 TTS客户端软件TTS 客户端软件选用了百度语音合成引擎,使用Visual C++进行开发[12]。本客户端程序实现了HTTP 通信,支持POST 和GET 两种方式。百度语音合成引擎提供REST API 供使用者调用,具体接口定义参见百度开发者文档[13]生成的音频文件数据通过HTTP 协议返回,然后保存在本地。语音下载后,需将语音地址与下载的语音文件一一对应起来,这是单片机读取语音并且准确播报的重要参考点[14]。表2 是我院编录的语音文件内容,语音内容可以任意编辑,存放地址可以更改。 表2 我院编录的语音文件内容 语音地址 语音文件内容 语音地址 语音文件内容1 请双手叉腰,双肩紧靠机器7 好了,半小时后请到自助打印机上取片2 请双手上举,右侧紧靠机器8 好了,住院病人明天上午10点自助取片3 请把挂件拿掉 9 请出门左拐,先到登记室登记4 请深吸气,憋住 10 请出门右拐,到病人更衣室脱掉胸罩5 请透气,再憋住 11 其他病人请到外面排队等候6 好了,体检人员无需取片 12 家属请到外面等候 4 结果产品采用专业级音频解码芯片,高低音控制,音质可以与专业CD 媲美。433Mh 遥控系统,对Wi-Fi 信号、蓝牙信号和手机信号等零干扰,在空旷的环境可以实现400 m 实时遥控,在放射科室隔着铅板也能无阻碍地无线遥控。产品技术参数,见表3。 表3 产品技术参数 项目 参数支持音频格式 MP3\WMA\WAV\MID音频输出 LINE 500 mV Unbalanced信噪比 ≥ 70 dB频率响应 0.1 dB (1)可用性。该系统易安装,无线遥控灵敏,响应时间在1 s 以内,播放语音清晰响亮,支持长时间稳定使用。 (2)易用性。只需使用遥控器即可控制该系统,可移动使用,简便无使用门槛。 在实际的临床使用中,该系统不仅减轻了技师的工作量,清晰温婉的语音也给患者提供了良好的就医体验。以具体使用为例:① 使用语音播报系统前:以胸部检查为例,技师先要嘱咐患者到病员更衣室去摘掉胸罩、项链等金属物品,接着告知患者双手叉腰、双肩尽量往前靠,曝光时嘱咐患者深吸气再憋气,检查完成后还得告知病人取片的时间及地点;② 使用语音播报系统后:技师只要依次按遥控器上的10、1、4、6、7、8 号键,完成检查。整个检查过程中,操作指令及各项告知都由语音播报系统代替。 5 讨论常规X 线机都是没有语音指令系统的[15],医院常会加装麦克风对讲,技师通过麦克风发出各种操作指令及通知患者注意事项。作为三级甲等医院,每天每个机房需承担100~300 例检查,上百次重复喊话,内容单调枯燥,影响技师心情,语气难免生硬,医患之间易产生误会。另外,技师来自全国各地,地方口音不可避免,常常有患者没听懂指令,检查就已完成,严重影响检查质量。 本文主要阐述了一种基于STM32 的嵌入式无线语音播报系统的设计,从产品需求、整体设计、硬件设计及软件设计各个层面详述了整个系统的实现原理和技术细节。自动语音控制系统在现代科技中已经广泛使用[16],为减轻医院技师工作负担,结合临床工作实际需求,设计本语音播报系统。该系统无需改动X 线机电路,不会对设备产生不利影响,安装方便,成本低廉,操作简便,语音播报清晰准确。该系统使用后,达到了预期的效果,具有良好的使用价值和社会价值。同时,该系统还适用于需要不断重复相同语音的其他场景。 [1] 王淼,肖志清,王艳强,等.合理应用X线检查优化辐射剂量[J].中华放射医学与防护杂志,2019,39(1):1-5. [2] 乔国庆,李敏,刘盼丽,等.大型X线机手闸控制自动播放语音指令系统的设计[J].中国医疗设备,2018,33(9):91-93. [3] 吕宁.单片机智能语音提醒报站系统[J].电子技术(上海), 2009(3):41-42. [4] STMicroelectronics.STM32F103 Datasheet[EB/OL]. (2018-06)[2019-02-12].https://www.st.com/resource/en/datasheet/stm32f103rc.pdf. [5] VLSI solution.VS1003 MP3/WMA Audio Codec Product Datasheet[EB/OL].(2018-03-16)[2019-02-12].http://www.vlsi.fi/fileadmin/datasheets/vs1003.pdf. [6] 潘银松,何晓龙,宋晓亮,等.基于无线遥控的电源电路设计[J].电子设计工程,2015,23(22):109-110. [7] 张焱魁,党景,杨国瑞,等.遥控式驾驶员科目三考试语音提示系统的设计[J].智能计算机与应用,2015,5(6):81-83. [8] 上海睿赛德电子科技有限公司.RT-thread编程指南[EB/OL].(2019-02-12)[2019-02-12].https://www.rt-thread.org/document/site/. [9] Yiu J.The Definitive Guide to ARM® Cortex®-M3 and Cortex-M4 Processors[M].UK:Elsevier Inc,2014. [10] 邱祎,熊谱翔,朱天龙.嵌入式实时操作系统:RT-Thread设计与实现[M].北京:机械工业出版社,2019. [11] 茅胜荣,肖家文,乔东海.嵌入式C语言中的面向对象与多线程编程[J].单片机与嵌入式系统应用,2017(5):22-26. [12] 刘锐宁.Visual C++开发实战1200例[M].北京:清华大学出版社,2011. [13] 北京百度网讯科技有限公司.百度语音合成REST API[EB/OL]. (2015-03-06)[2019-02-12].http://yuyin.baidu.com/docs/tts/133. [14] 王琰.基于RFID技术的智能语音播报系统设计[J].单片机与嵌入式系统应用,2015(3):50-53. [15] 徐同江,刘建新.常规X线摄影增设语音播放器的研究与设计[J].中华放射学杂志,2011,45(8):790-791. [16] 齐现英,付海鸿,鲁雯,等.基于WT588D的高频X线机智能语音提示系统设计[J].中国医学物理学杂志,2012,299(3):3397-3400. Design of Wireless Speech Broadcast System for Imaging Department |