馬鞍山市衛生健康信息中心 丁勝利
文章以醫療心電圖機信息的處理為切入點,首先簡要介紹了SOPC技術,其次闡明了心電圖機信息處理系統整體結構,最后分別從軟件和硬件的角度出發,就信息處理模塊系統設計要點展開了深入探究,內容涉及控制器、控制模塊、時鐘模塊和鍵盤控制器等方面,希望能使相關人員受到幫助或是啟發。
現階段,基于SOPC設計信息處理系統成為社會各界熱議話題,對醫療行業而言,開展相關工作的側重點,主要是以SOPC可高效處理并實時顯示信息的功能為依托,在對其并發執行多個任務的優勢進行充分發揮的基礎上,得到可使心電信號實時顯示、遠程傳輸與長期存儲的監測系統,確保人們所提出需求能夠獲得最大程度的滿足。由此可見,本文所研究課題有重要的社會價值。
SOPC是FPGA衍生出的SOC解決方案,對該系統進行設計的初衷是確保大規模集成電路有符合自身需求的途徑對應。由于SOPA對DSP/PLL/CPU/可編程邏輯進行了集成,因此,現已成為對SOC方案加以解決的首選,另外,該系統還有成本低、設計周期短等優勢,通常僅對開發板、PC機加以應用。未來SOPC將擁有更加廣闊的發展前景,應當引起重視。
本文對采集、處理信號所使用軟硬件均進行了模塊化處理,使檢測精度得到顯著提高。另外,還設計了相應接口,保證能夠隨時與計算機進行連接,這一設計使系統可靠性與穩定性得到了顯著提高。作為系統核心的FPGA系統,通常被用來輔助下列工作開展:其一,對信號做二次除雜處理;其二,在分析和處理信號的基礎上,對其進行存儲;其三,通過連接各接口的方式,做到實時通信。
心電信號向調理電路進行傳輸的載體為導聯,調理電路的作用是對信號做濾波處理,通過持續放大的方式,獲得有極高信噪比的信號,隨后,經由A/D轉換對心電信號進行輸出,FPGA負責對相關心電信號進行濾波,這樣做可再次提高心電信號信噪比,待后續的分析與處理流程告一段落,便可達到遠程傳輸、高效存儲以及實時顯示的目的。
此外,基于該系統所展開設計工作,還應對電源模塊引起重視。本項目計劃使用電源為+9V自帶電源模塊與±5V電壓模塊,DE2自帶電源可被用來向FPGA芯片、開發板外設提供運行所需電力能源,電壓模塊的供壓對象,則是調理電路、轉換電路和信號采集電路。由于采集電路需要模擬放大心電信號,因此,需要前置可對有用心電信號進行提取的前置放大器。
技術人員對系統初始化進行設計時,考慮到顯示端口所顯示單元模塊及功能,遂決定對模塊做初始化處理。VGA顯示窗體組成部分有信息窗口/字符控制窗口/波形顯示窗口。信息窗口又分為發送窗口/接收窗口,二者均借助互聯網進行遠程通信,在初始化階段,信息窗口狀態顯示為空。字符控制窗口的作用,主要是調整波形顯示窗口,例如,窗口采樣率。而波形顯示窗口所顯示內容,通常以處理后ECG信號為主。
本項目計劃使用LWIP協議棧,該協議棧既能夠向操作系統進行移植,又滿足獨立運行的條件。另外,LWIP可減小代碼尺寸并減少內存占用,嵌入式系統等小型處理器系統可優先對其加以使用。雖然對TCP/IP結構做分層設計,可使一部分通信問題得到解決,且底層協議滿足交叉存取條件,底層協議和應用層協議被嚴格區分的情況仍較為常見,LWIP也采取了分層設計方案,但并非做到各層完全獨立,這樣設計的目的主要是對內存利用率還有處理速度進行提高。
基于DE2對SOPC應用軟件進行編寫與開發的步驟如下:①打開集成開發環境與新工程導向;②點擊Brows,確定軟件對應文件;③依次選擇Simple Socket Server模板和Web Server模板,前者強調利用接收控制信號對LED等進行控制,確保其能夠及時做出反應,后者的功能為網頁服務器;④點擊Next,在新建系統庫的同時對操作系統加以確定,建立軟件工程;⑤結合設計要求調整模板程序。
作為心電圖儀基礎功能的存儲和回放,其作用主要是重復觀測心電信號,本項目所設置256KB波形存儲分區的數量為16個,可被用來對10min的波形數據進行保存。若用戶觀測發現波形有較大信息量,便可利用存儲和回訪功能,重復觀測Flash所存儲波形,而選擇該存儲載體的原因,主要是避免掉電丟失的情況出現。
Flash存儲波形數據的格式為{"U",length,hour,minute,second,data...},其中,“U”代表存儲標志位,若無數據輸入,“U”的數值往往是0/255;length代表長度標志位;其他參數代表存儲時間。波形數據經由上升/下降被存儲在相應存儲塊內,存儲空間滿后,方可向下一存儲塊進行自動轉移。DE2固有Flash僅有4M存儲空間,無法做到長期存儲,不斷提高的采樣頻率,必然會使數據量出現持續增加的趨勢,存儲時間被壓縮的情況難以避免。故可以采用通過壓縮ECG信號的方式,在確保其精度得到提高的基礎上,延長監測時間。
波形顯示的任務,主要是平滑顯示ECG所提供波形數據,另外,還要對峰值、采樣頻率等參數加以顯示。由于波形顯示需要具有良好實時性,因此,將其設成最高優先級很有必要,這樣做可避免波形顯示環節被其他任務所打斷的情況出現。波形顯示往往以減點函數、加點函數為依托,Show Wave詳細規定了顯示區域/顏色/位置/字符大小與間距,此外,技術人員還設置了相應的控制按鈕。
由于該系統并未對不間斷電源記性設置,時鐘模塊無法做到持續運行,要想更新時間,可供選擇的方法只有網絡更新與手動設置。時鐘模塊的作用是對系統時間進行準確反映,保證遠程服務端及用戶時間完全一致。其工作流程如下:由CPU提供8位時間數據代表系統時分秒,本項目計劃借鑒寄存器模式,在提高效率的同時精簡流程。經由6個寄存器對系統時鐘進行設置與讀取,3個寄存器負責時間設置工作,3個寄存器負責時間的準確輸出。隨后,對25MHz系統時鐘做分頻處理,獲得1Hz時鐘,再借助該時鐘信號,對系統時分秒加以確定。
6個寄存器對應偏移地址應當是3位二進制,該偏移地址會使2個寄存器呈現出“未使用”的狀態。
而信息管理需要完成的任務,主要是:其一,對按鍵情況進行獲取;其二,基于字符串對錄入字符進行記錄;其三,經由SendMSG對字符串加以顯示。研究表明PS2鍵盤對應按鍵代碼向CPU送達的形式以ASCII為主,技術人員無需對鍵值做二次轉換處理,CPU資源自然得到節約。
該控制器由編碼模塊/FIR濾波器/ADS控制模塊/心率處理器組成,下文將逐一進行介紹,供相關人員參考。首先是編碼模塊,其主要功能是對濾波器、處理器所提供數據做編碼處理,將處理后數據存放在寄存器內,為CPU日后的設置與讀取提供便利。其次是FIR濾波器,其作用是對ECG進行數字濾波,在提高信號精確度的基礎上,借助波形轉換等現有程序,保證數字信號能夠被盡數轉換為波形輸出。再次是ADS控制模塊,其功能主要是對轉換芯片做控制采樣處理,并對串行數據進行轉換,使其成為所需并行數據。最后是心率處理器,其主要作用是計算R-R時間,即心率。
經由控制器處理的ECG信號,通常可被轉換為心率數據或波形數據,要想使上述數據得到直觀顯示,關鍵是有用來對其進行二次變換的控制模塊,本項目所使用控制模塊為VGA模塊,其功能如下:一是對ECG信號進行讀入,通過向控制器讀入心率數據/波形數據的方式,使顯示有據可依;二是對ECG信號進行輸出,對VGA處理所得數據進行轉換,待其格式被轉換為RGB后,便可借助VGA顯示器對相關數據加以顯示。
輸入設備鍵盤常見類別為AT鍵盤、PS/2鍵盤。在設計環節,技術人員只需做到鍵盤電源地/數據腳/電源腳/時鐘腳與PC物理連接相對應,便可實現實時通信。這里要注意一點,數據腳與時鐘腳為集電極開路,因此,技術人員需要將上拉電阻加設于端口處,這樣設計的目的是分壓及限流。無輸出前提下,上述管腳始終呈現出高電平的狀態,電平往往會在輸出數據的同時被拉低,待輸出環節結束,再恢復到之前的狀態。
結論:通過上文的分析能夠看出,在嵌入系統持續發展的當下,具有諸多優勢的SOPC被更加頻繁地應用在醫療監測等多個領域,而利用該技術采集、控制并處理生理信號,通常可取得事半功倍的效果。要想基于SOPC對醫療信息進行處理,先要采集并預處理心電信號,保證FPGA所獲得信號真實且精確,隨后,再由FPGA對預處理所得ECG信號加以分析,得出最終結論。