1 引 言
傳統(tǒng)的檢測儀器大多由硬件電路來完成,不僅功能單一,而且開發(fā)周期長,不易維護。隨著微電子技術(shù)和信息技術(shù)的高速發(fā)展,醫(yī)學檢測儀器正向組合式、多功能、智能化和微型化方向發(fā)展?,F(xiàn)代數(shù)字部件的快速發(fā)展為醫(yī)學檢測儀提供了強有力的支持,醫(yī)學檢測儀器都無一例外地采用了微處理器來增強其功能。廣泛地應用微處理器芯片能增強儀器的智能化程度,提高其穩(wěn)定性和數(shù)據(jù)處理的精確性,使醫(yī)學信號的采集、處理、通信一體化,并具有自診斷、自校驗等一系列優(yōu)點。
ATMEL公司新推出的AT90系列AVR單片機是很引人注目的一款微處理器。這種芯片基于新的RISC(Reduced Instruction Set Computer)結(jié)構(gòu),在設計上采用了流水線的結(jié)構(gòu),在執(zhí)行前一條指令的時候,同時取出下一條指令,它的FLASH以及強大的外圍接口能力使它成為目前最流行的單片機之一。
本文采用的高性能微處理器芯片Atmega163,利用結(jié)構(gòu)化、模塊化程序設計的思想,實時地對8路人體生理信號進行采樣,對數(shù)據(jù)實行壓縮和優(yōu)化處理,以115 200 bps的速率和上位PC機進行串行數(shù)據(jù)傳輸。
2 硬件構(gòu)成
2.1 微處理器及其特點
Atmega163是ATMEL公司推出的高檔系列產(chǎn)品,是基于AVRRISC的低功耗CMOS8位單片機。在外部晶振為8MHz時,一條指令的執(zhí)行時間僅為125ns,這種AVR單片機的結(jié)構(gòu)有利于用C語言編程,從而能高效地開發(fā)出目標產(chǎn)品。為了對目標代碼大小進行優(yōu)化,AVR單片機采用了大型快速存取寄存器文件和快速單周期指令。通過在一個時鐘周期內(nèi)執(zhí)行一條指令,Atmega163可以取得接近1MIPS/MHz的性能。它將32個工作寄存器和豐富的指令集聯(lián)結(jié)在一起,使所有的工作寄存器都和ALU(ArithmeticLogic Unit,計算機CPU中的算術(shù)邏輯單元)直接相連,允許在1個時鐘周期內(nèi)執(zhí)行的單條指令同時訪問2個獨立的寄存器。Atmega163具有16K字節(jié)的Flash存儲器,512字節(jié)在線可編程E2PROM,1024字節(jié)SRAM,外圍有全雙工UART串行通訊接口。此外,它還有2個具有比較模式的可預分頻的8位定時器/計數(shù)器,1個可預分頻,具有比較、捕捉功能的16位定時器/計數(shù)器。
Atmega163單片機提供了一個性能良好的10位模數(shù)轉(zhuǎn)換器。如圖1所示,A口為8路模擬信號輸入端,如果AD功能禁止,則A口是一個8位雙向I/O口。8路人體生理信號如心電、心音、頸動脈、脈搏、體溫等,經(jīng)過放大、濾波、去噪處理后,分別與A口的8個引腳相連。微處理器采集數(shù)據(jù)時,通過控制ADMUX寄存器進行通道路號選擇,讀取的數(shù)據(jù)由CPU作進一步處理。
2.2 基于RS-232的串行通訊接口電路
如圖2所示,與上位PC機連接的J1應用了RS-232的5條信號線,其中,TX為PC機的發(fā)送信號線,RX為接收信號線,CGND為地線。而RTS和DTR不產(chǎn)生信號,僅在初始化時產(chǎn)生高低電平,RTS設為+12V,DTR設為-12V。三極管Q1的作用是使信號反相,并輸出RS-232電平。
電氣的安全性,是醫(yī)學測量儀必須考慮的問題。傳統(tǒng)的醫(yī)學測量儀一般采用隔離放大器,對模擬信號進行隔離,這種隔離技術(shù)的不足之處是:(1)必須為不同的模擬信號采用不同的隔離技術(shù);(2)采用這種隔離措施會在信號線性度、共模抑制以及頻率響應等方面引起問題,通常使電路穩(wěn)定性變差,代價較高,且使電路變得更為復雜。而選用數(shù)字信號隔離技術(shù),則可以克服上述缺陷?! ?
光電隔離器6N137是把發(fā)光二極管與光敏管組合封裝在一起的器件(見圖2中方框內(nèi))。由于兩個部分之間是電氣隔離的,光電隔離器件能圓滿解決信號隔離與電平匹配的問題。通過這一隔離電路,可使PC機系統(tǒng)電源和測量儀器部分的電源完全隔離開來,從而保證醫(yī)學儀器的安全性,防止電擊危險,減小患者漏電流,同時也減少了計算機對檢測電路的干擾。
3 軟件設計
軟件流程圖如圖3所示。軟件部分采用模塊化、結(jié)構(gòu)化程序設計方法,利用匯編語言編寫,有關模塊功能如下。
3.1 初始化
設置SP初值,把程序用到的內(nèi)部RAM區(qū)清0,給數(shù)據(jù)采集通道計數(shù)器賦初值(8),設置波特率(115 200)。
3.2 數(shù)據(jù)采集與A/D轉(zhuǎn)換
按預先確定的采樣順序?qū)Ω髀沸盘栠M行采樣,由于A/D轉(zhuǎn)換需要一定的時間,所以,延時等待的時間應略大于轉(zhuǎn)換完成時間。前一路轉(zhuǎn)換完成后,應立即啟動下一路開始轉(zhuǎn)換。由于模擬信號經(jīng)A/D轉(zhuǎn)換后,成為10位數(shù)字信號,所以,我們用2個字節(jié)來存儲該數(shù)據(jù),高字節(jié)存儲高8位數(shù)據(jù),低字節(jié)高位存儲最低的兩位數(shù)據(jù),后6位補0。同時,把采樣通路號加在最低3位字節(jié)上,以便與上位PC機通訊時,上位機能及時準確地判斷該數(shù)據(jù)來自哪一通道,從而方便地對各路數(shù)據(jù)作相應處理。最后把轉(zhuǎn)換完成的數(shù)據(jù),按先后順序依次存儲在內(nèi)RAM里。
利用R0間接尋址的方式,把RAM里的數(shù)據(jù)取出,按115 200 bps的波特率逐個字節(jié)向PC機發(fā)送,發(fā)送完8通道共16個字節(jié)后,進行下一輪的采樣。
3.4 上位PC機接收數(shù)據(jù)程序
上位機通信程序由兩部分組成:初始化子程序,中斷數(shù)據(jù)接收子程序。
4 結(jié)束語
由上面提供的硬件電路和軟件,制作成串行通信接口電路,能可靠、穩(wěn)定地工作,實現(xiàn)多路信號的采集、轉(zhuǎn)換和數(shù)據(jù)無差錯傳輸,同時,能夠滿足醫(yī)學儀器安全性的要求,為臨床人體生理信號測量,及病理診斷提供幫助。
參考文獻
1 葉勇建主編.AVR高速嵌入式單片機原理與應用.北京:北京航空航天大學出版社,2000
2 吳效明,李 斌,崔文生,等.多道生理參數(shù)檢測與分析軟件系統(tǒng)研究.暨南大學學報,2000,21(1)
3 孫紅軍,孫秀云,周學鐵.用C語言設計高速三線串行通信程序.電子技術(shù)應用,1997(
6)
4 楊福生.論生物醫(yī)學信號處理研究的學科發(fā)展戰(zhàn)略——生物醫(yī)學工程的今天與明天.第1版.天津:天津科技翻譯出版公司,1998:465~483