趙春陽,戴春曉,李勇,周峰,朱德來,黃維雷
1. 蘇州大學附屬第二醫院 影像科,江蘇 蘇州 215004;2. 蘇州登頂醫療科技有限公司,江蘇 蘇州 215163
X 射線的影像學檢查是現代化精準醫療中的重要環節,在診治疾病和判斷疾病轉歸及手術方案制定中發揮著不可替代的作用[1]。影像科技師在面對患者時,既要認真核對患者申請單上各項信息,還要密切思考操作技術與方法,同時需要口頭指導每位患者如何配合接受檢查及取片的時間和地點等等,存在大量的重復話語。特別是體檢工作中,多為胸部X 光檢查,每天操作技師要重復幾百遍指令,成為極大的工作負擔[2]。另外醫生的發音、語氣也時常引起醫患之間的矛盾。
無線語音智能播報系統,集語音合成、無線遙控操作、語音點播插播功能于一體。它采用單片機為控制核心,對各個子模塊進行控制,以實現需要的功能[3]。該系統能有效地替代技師的人工重復喊話,減輕工作強度。
無線語音播報系統的工作原理是遙控器使用433 MHz ISM/SRD 頻段與語音播報主機通信,語音播報主機接收信號后解析指令,讀取本地Micro SD 卡中音頻文件,通過VS1003B 解碼器完成音頻的解碼工作,并通過外置音箱播放出來。系統結構示意圖和實物圖,見圖1。

圖1 系統的結構示意圖(a)和實物圖(b)
整個系統的使用流程如圖2 所示。首先通過PC 上的TTS 客戶端轉化需要播放的語音成MP3/WAV 文件,拷貝入Micro SD 卡并插入語音播報主機,然后通過遙控器就可以控制語音播報主機任意播放Micro SD 卡內語音。

圖2 使用流程圖
本系統硬件部分設計包括主控電路板、遙控器電路和無線接收電路,實現音頻編解碼、無線控制、數據存儲等功能。
本 系 統 選 用 基 于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 與上位機實現了串口通信。
遙控器電路的設計[6]采用了森川電子的SC2262 遙控編碼電路,電路具有省電模式,功耗低,最多有12 位三態編碼。
無線接收電路的設計,見圖4。采用的遙控解碼電路SC2272 是與SC2262 配對使用的專用集成電路,擁有12 位的三態地址管腳,可支持多達312 個地址的編碼。這種接收器集紅外接收與放大于一體,能完成從紅外線接收到輸出兼容TTL 信號的所有工作[7]。
本系統的軟件分為兩部分,一部分是燒錄在語音播報主機芯片內的嵌入式系統軟件,軟硬件一體驅動整個主機的工作。另一部分相對獨立的是TTS 客戶端程序,負責把文字合成清晰的語音文件。

圖4 無線接收電路設計原理框圖
嵌入式軟件系統采用了RT-Thread[8]實時操作系統,該系統安全開源,遵循Apache License 2.0 開源許可協議,系統模塊化且可裁剪性很好,包含豐富的中間件組件,非常適合本系統嵌入式軟件的需求。軟件的底層驅動設計考慮分離思想,分為硬件直接交互層和接口通用層,與硬件直接交互層參考微控器指南[9]編寫合適的控制代碼,接口通用層設計合適的接口框架,提供一致性的API 供應用層調用。
整個軟件使用RT-Thread 來完成任務調度[10],每個任務對應一個線程,線程間通信采用消息隊列的方式[11]。主要任務規劃,見表1。

表1 任務規劃
app_message_handler 是核心任務,實時監聽遙控器發來的指令,并解析后轉化成內部數據指令結構壓入操作棧。app_speaker 負責接收app_message_handler 發送的消息,然后讀取Micro SD card 中的音頻文件,并調用編解碼器驅動,通過MIC 口傳輸音頻數據至音箱。app_monitor 是系統常駐線程,實時監測主控制板硬件異常,并通過tshell 顯示系統運行情況。
TTS 客戶端軟件選用了百度語音合成引擎,使用Visual C++進行開發[12]。本客戶端程序實現了HTTP 通信,支持POST 和GET 兩種方式。百度語音合成引擎提供REST API 供使用者調用,具體接口定義參見百度開發者文檔[13]生成的音頻文件數據通過HTTP 協議返回,然后保存在本地。語音下載后,需將語音地址與下載的語音文件一一對應起來,這是單片機讀取語音并且準確播報的重要參考點[14]。表2 是我院編錄的語音文件內容,語音內容可以任意編輯,存放地址可以更改。

表2 我院編錄的語音文件內容
產品采用專業級音頻解碼芯片,高低音控制,音質可以與專業CD 媲美。433Mh 遙控系統,對Wi-Fi 信號、藍牙信號和手機信號等零干擾,在空曠的環境可以實現400 m 實時遙控,在放射科室隔著鉛板也能無阻礙地無線遙控。產品技術參數,見表3。

表3 產品技術參數
(1)可用性。該系統易安裝,無線遙控靈敏,響應時間在1 s 以內,播放語音清晰響亮,支持長時間穩定使用。
(2)易用性。只需使用遙控器即可控制該系統,可移動使用,簡便無使用門檻。
在實際的臨床使用中,該系統不僅減輕了技師的工作量,清晰溫婉的語音也給患者提供了良好的就醫體驗。以具體使用為例:① 使用語音播報系統前:以胸部檢查為例,技師先要囑咐患者到病員更衣室去摘掉胸罩、項鏈等金屬物品,接著告知患者雙手叉腰、雙肩盡量往前靠,曝光時囑咐患者深吸氣再憋氣,檢查完成后還得告知病人取片的時間及地點;② 使用語音播報系統后:技師只要依次按遙控器上的10、1、4、6、7、8 號鍵,完成檢查。整個檢查過程中,操作指令及各項告知都由語音播報系統代替。
常規X 線機都是沒有語音指令系統的[15],醫院常會加裝麥克風對講,技師通過麥克風發出各種操作指令及通知患者注意事項。作為三級甲等醫院,每天每個機房需承擔100~300 例檢查,上百次重復喊話,內容單調枯燥,影響技師心情,語氣難免生硬,醫患之間易產生誤會。另外,技師來自全國各地,地方口音不可避免,常常有患者沒聽懂指令,檢查就已完成,嚴重影響檢查質量。
本文主要闡述了一種基于STM32 的嵌入式無線語音播報系統的設計,從產品需求、整體設計、硬件設計及軟件設計各個層面詳述了整個系統的實現原理和技術細節。自動語音控制系統在現代科技中已經廣泛使用[16],為減輕醫院技師工作負擔,結合臨床工作實際需求,設計本語音播報系統。該系統無需改動X 線機電路,不會對設備產生不利影響,安裝方便,成本低廉,操作簡便,語音播報清晰準確。該系統使用后,達到了預期的效果,具有良好的使用價值和社會價值。同時,該系統還適用于需要不斷重復相同語音的其他場景。