便攜式心電監護系統的設計與解決方案
2. USB模塊硬件設計
本文引用地址:http://www.104case.com/article/266065.htmUSB模塊負責完成心電數據的本地高速回放,它提供了另一種數據傳輸手段。通常的串口RS-232只是利用一條線進行數據傳輸,而USB傳輸是利用D+和 D-線上的差分信號,與主機進行數據的傳輸,充分保證了數據傳輸的可靠性。本系統采用恩智浦公司的PDIUSBD12實現USB傳輸。
PDIUSBD12(以下簡稱D12)是恩智浦公司的一款性價比很高的USB芯片,完全符合USB1.l版的規范。是在USB1.1協議設備端使用最多的芯片之一,是一種純粹的USB接口芯片,需要外部微處理器控制。
本系統利用Rabbit3000微處理器控制USB芯片D12來完成USB傳輸,此時D12就是單片機的一個外設。D12與Rabbit3000之間的數據傳輸是通過8位數據線來實現的,即D12的并口數據線D0-D7與Rabbit3000的數據線D0-D7直接相連。
D12的INT_N引腳與Rabbit3000復用引腳INT0A相連,作為Rabbit3000的外部中斷輸入。當D12需要進行操作時,就利用 INT_N引腳發出一個中斷請求,Rabbit3000立即響應中斷,對其進行操作。D12的RD_N和WR_N分別與Rabbit3000的IORD和 IOWR相連,以控制數據傳輸的方向。D12的RESET_N與Rabbit3000的復用引腳PE4相連,Rabbit3000可以利用這個引腳向 D12發出一個低電平,RESET_N被置為低電平后,D12便自動復位了。D12的CS_N與Rabbit3000的復用引腳PE7相連,可以通過這個引腳來控制片選。如圖3所示。

圖3:PDIUSBD12模塊硬件連接圖。
D12有兩種數據總線方式:多路地址/數據總線方式和單地址數據總線方式。本系統采用單地址數據總線方式,將D12的ALE接地,A0與 Rabbit3000的地址總線A0相連,在片選信號有效的前提下(即PE7=0),當A0=1時,CPU給D12發命令;當A0=0時,CPU向D12 寫數據或從D12讀數據。因此,地址0xE001為發送命令地址,地址0xE000為讀寫數據地址。
三、系統軟件設計
軟件設計借鑒了軟件工程的設計思想。采用了分層和模塊化的設計思路,為代碼的組織、維護和升級都提供了便利。而且,即使以后更換硬件系統平臺,也能夠保證大部分代碼可重用。軟件總體結構如圖4所示。下面重點介紹無線模塊和USB模塊的軟件設計。
1. 無線模塊軟件設計
無線模塊MC35與Rabbit3000的串口B相連,并通過串口向MC35發送AT指令,進行撥號、設置等操作。
MC35與網關的通信協議為PPP協議(Point-to-Point Protocol),PPP協議是一種基于TCP/IP協議棧的數據鏈路層協議,是為在兩個對等實體間傳輸數據包,建立簡單連接而設計的,主要用于廣域網的連接,但在局域網的撥號連接中同樣可以采用。MC35本身不支持PPP協議,要通過MC35撥號上網必須編寫程序實現PPP協議,同時還要實現 TCP/IP協議。
開機后首先初始化MC35模塊,這里要注意的是初始化MC35模塊時,需要給IGT引腳一個低電平,并保持120~140ms,才能完成初始化操作。然后啟動MC35并登陸移動夢網網關,建立與服務提供商的連接。
登陸成功后,MC35具有兩種工作狀態:數據傳輸狀態和空閑狀態。MC35在空閑狀態下的電流一般為15mA,而且在空閑狀態下,MC35還支持多種休眠模式。為降低功耗,本系統啟用了MC35的休眠功能,設置為休眠模式7。在該休眠模式下,電流可以降到3mA左右。

圖4:心電監護系統軟件總體結構。
2. USB模塊軟件設計
USB接口對于使用者來說十分簡單方便,但從開發者角度來看,最大的缺點就是協議的復雜性增加了,因此也就導致了USB設計的復雜性。USB軟件設計包括三個方面:固件(firmware)設計、驅動程序設計和主機端應用程序的設計。
a. 固件設計
固件是固化在單片機中的程序代碼,可采用匯編語言或C語言設計。它運行在微處理器上,用來響應主機的請求。即它與USB控制器一起完成枚舉過程和主機通信。USB協議規定任何傳輸過程都是由主機端發起并控制的,在枚舉過程中,主機通過USB控制器的端點0的默認管道建立控制傳輸過程,D12響應主機的要求,主要是發送特定的描述符(如設備描述符、配置描述符、接口描述符、端點描述符、字符串描述符和廠商描述符)給主機。主機從獲得的描述符來了解該設備的配置和能力,并完成對USB設備的配置。枚舉過程結束后,主機就可以與D12進行數據傳輸了。
本系統的固件編程采用標準C語言來編寫,設計固件程序時需要注意的是:D12的中斷輸出為電平觸發,Rabbit3000的中斷為上升沿或下降沿觸發。在設計程序時,使用下降沿加延時,可使低電平保持一段時間,從而達到同樣的效果。
b. 驅動程序設計
在Windows系統下,與USB外設的任何通信都必須通過設備驅動,設備驅動使應用程序訪問硬件設備成為可能。USB驅動程序的編寫與硬件相關,屬于核心模式。微軟的DDK在這方面提供了較為詳細的說明。
c. 應用程序的設計
本系統采用VB編寫上位機應用程序。它主要負責實現利用USB接口從心電監護儀中讀取心電數據,并把心電數據保存到數據庫中,同時在PC機屏幕上繪制心電波形。
四、本文小結
本文所研制的便攜式移動心電監護儀,能夠在計算機屏幕上準確地描繪出心電波形,經中國醫科大學附屬二院的醫生認定,可作為臨床診斷依據;本系統實用性強,且體積小、經濟方便?;颊呖呻S時隨地對心臟進行實時監護,而不受時間和空間限制;本系統所具有的無線傳輸功能,可以實時地把心電數據傳送給醫院供醫生診斷,極大地提高了急救效率。
西門子plc相關文章:西門子plc視頻教程
評論