靳祖光
勝利油田中心醫院 醫學裝備部,山東 東營 257100
現如今,醫用腳踏開關在醫院的各個科室中應用十分廣泛,特別是用于采集圖像相關的環境中,但現有醫用腳踏開關存在控制功能單一、控制對象單一等缺點[1]。例如:傳統腳踏只能完成采圖功能,錄像等功能還要去手動點擊鼠標進行操控[2];某些采圖軟件并不自配腳踏,只能單純通過鼠標、鍵盤進行人機交互。HID(Human Interface Device)規范是一類用于人機交互的USB協議,其特點是即插即用,每次傳輸數據可以攜帶小量或中量的數據,即可以通過移動鼠標或點擊鍵盤上的某個組合鍵等直接將預期的操作信息一次性打包傳送給上位機進行處理[3]。
本文針對傳統腳踏存在的問題展開研究,基于HID規范研制了一種新型腳踏控制器,可以人為定義腳踏所完成的功能,可以對接不自配腳踏的軟件,使腳踏應用范圍更加廣泛,同時更好地釋放醫護人員的雙手以完成其他更重要的工作。
本文設計的控制器位于醫用腳踏和醫用主機之間,其主要作用是將醫用腳踏所產生的5 V高電平信號轉化成所需功能的HID規范下的信號[4-5],然后通過USB傳至醫用儀器的主機上,從而完成操作人員下達的任務。
控制器主要包含兩部分:① 主控模塊,選用STC12C5A60S2單片機作為該模塊的核心,其處理速度為傳統8051 MCU的8~12倍[6],含有兩組串行輸入輸出引腳,成本低廉,運行穩定,可以非常迅速地接收腳踏開關的電信號,并通過KeilC環境中的預編程序將電信號轉換成對應的操作代碼;② HID標準輸出模塊,選用UTS2210模塊,其優點在于同時具備串口UART收發引腳和USB輸出口,即可直接將單片機中傳輸送過來的操作代碼規范化成HID標準信息[7]。該設備通過USB接口的方式連接至醫用主機,不需外掛其他轉換芯片和模塊,其中USB接口的GND和VCC端為控制器提供+5 V供電[8],D+及D-端為控制器提供雙向通訊接口。控制器的總體構建方案如圖1所示。

圖1 控制器系統方案簡圖
控制器軟件在KeilC環境下編寫,燒錄在STC12C5A60S2中。軟件主要分為4個模塊:初始化、信號采集與去抖、識別與轉換、UART發送。程序執行的流程圖如圖2所示。以下對控制器軟件的4個模塊進行簡述。

圖2 控制器軟件執行流程圖
(1)初始化。在硬件正確連接并啟動后,UTS2210首先進入初始化狀態,延時3~5 s進行上位機識別,初始化中UTS2210的Rdy處于低電平狀態[9]。在這一過程中,STC12C5A60S2會對Rdy進行循環檢測,當檢測到Rdy拉至高電平時,即認為初始化程序執行完畢。
(2)信號采集。腳踏開關的一端接在+5 V高電平上,另一端接在STC12C5A60S2其中的一個引腳上[10]。當操縱人員踩壓腳踏開關時,該引腳就會接收到高電平信號,隨后程序會進入2 s的計時區間。由于踩踏中會存在一些極短時間的開關抖動,所以采集中還要加入去抖動信號程序[11-12],以方便后續對踩踏方式進行正確地識別。
(3)識別與轉換。本文采用雙板腳踏進行測試,并定義三種踩踏的方式:短時單踩踏、短時雙踩踏和長時踩踏。在計時區間內采集到一次穩定的高電平轉低電平的下降沿判定為短時單踩踏;計時區間內采集到兩次穩定的下降沿判定為短時雙踩踏;計時區間內一直為高電平則判定為長時踩踏。判定過程中,同時還對是哪一塊踏板開關產生的信號進行判斷。判斷后,程序隨即將信息變量賦值為與踩踏動作對應的HID Usage ID[13-14],完成自定義功能,并進入下一步驟。與前兩種踩踏方式不同的是,長時踩踏在結束后還需對信息變量進行再次賦值并執行下一步驟,以示動作結束。
(4)UART發送。STC12C5A60S2的TXD1與RXD1引腳分別連接至UTS2210的RXD和TXD引腳上[15]。通過該組引腳,以UART串口的方式程序將信息變量以2字節的形式發送給UTS2210,再由UTS2210內部將信息HID規范化,最后發送至醫用主機。此步驟執行后,程序跳轉至步驟(3),重新對腳踏信號進行采集。
對于UTS2210而言,通過UART接收到STC12C5A60S2發送的HID Usage ID需定義為2個字節,可包含全按鍵、組合鍵、鼠標移動、絕對坐標定位等信息[14]。按發送的先后順序定義雙字節分別為:字節0和字節1。其中,字節0包含快捷鍵組合信息,需滿足圖3中的規范,其中Bit7須賦值為0,其他位如果需要自定義則賦值為1,反之為0。字節1為HID Usage ID,包含各種按鍵及鼠標移動信息,每類按鍵的具體 ID 請參考 USB Device Working Group 定義的國際標準 HID Usage Tables庫[16]。最后,定義0X00為釋放所有組合鍵或按鍵的結束符。

圖3 基于HID規范對字節0的要求
例如,實現需求功能的鍵盤手動操作形式為“組合鍵(Ctrl+Shift+C)+組合鍵(Ctrl+A)+F8”,若用該醫用腳踏控制器實現,在KeilC環境下編程,STC12C5A60S2須向UTS2210發送以下代碼:

基于上文闡述,本文已研發并制作出該腳踏控制器,并進行實驗。實驗分為兩組,分別采用單腳踏開關和雙腳踏,兩組交替輪換,在不同環境下的彩圖軟件中進行測試,測試地點包含鼻咽喉鏡室、胃鏡室、骨密度室和小兒支氣管檢查室。設定短時單次踩踏為采圖,長時單次踩踏為錄像,針對各個檢查對象不同,按需求由醫護人員自行選用上述功能,每個腳踏每個地點測試時間為10天,每天抽取5組檢查結果進行正確次數統計,每組結果按實際情況含若干圖像,若使用組數不達標則剩余組數順延增添到第二天進行抽取。實驗照片和測試數據如圖4及表1所示。

圖4 實驗腳踏開關及軟件示意圖

表1 腳踏正確率實驗統計
圖4b共9張圖,第1張由于主機系統與軟鏡端沒有正確連接引起采圖失敗,并不是控制器本身的問題,其余8張為測試成功的數據。本實驗共測試400組數據,其中測試成功392組,出現問題的有8組數據。出問題的數據包含腳踏及系統本身所致的問題[1-2],還有操作者在控制器開啟的5 s初始化時間內進行采圖而出現問題。綜上各方面因素統計,此次實驗成功率為98%,運行基本穩定,達到了預期設計效果。
本文主要概述了一種基于HID規范的可定義功能的多用途醫用腳踏控制器的研制,通過連接此控制器可以使醫用腳踏開關對接更廣泛的使用對象,根據需求定義更豐富的功能,不占用醫護人員的雙手從而使其并行更多的任務。該單腳踏開關已在鼻咽喉鏡檢查室中使用近一年時間,運行穩定,控制器本身未出現報錯現象,節省了醫務人員勞動力,成本低廉,可推廣使用。