心電圖機是描記心臟組織活動所產生的生物電信號以及現代醫學科學研究和l臨床診斷中使用非常廣泛的一種精密電子醫療儀器。由于它診斷可靠,操作簡便,對病人無損傷,故在臨床上得到廣泛的應用,而作為心電圖檢測結果直觀的輸出方式和手段,心電圖機微型打印機是必不可少的。
目前,醫院中使用的多為傳統機械式心電打印機,存在著打印效率低、噪聲污染嚴重、心電波形失真等缺點。近年來uSB技術有了飛速的發展,很多臺式打印機已經應用了該技術。但是采用USB接口技術的心電圖機熱敏打印機卻很少。本系統就采用了USB接口與心電圖機相連,同時也可以與PC心電圖機進行連接打印。
1 心電圖熱敏打印機的硬件設計
1.1 系統的總體結構
1.2 ARM控制器的選擇
由于本系統要求打印最高速度達50 mm/s,所以對于處理器給打印頭傳送數據的速度就要求很高。一般熱敏打印頭數據通過串行傳送,所以通過SPI口傳送是最佳方式,而普通8位單片機在處理速度上就有缺陷,難以滿足整體要求,因此決定選用A
tlnel公司的ARM7內核芯片AT91SAM7S64作為控制器。該芯片具有64 KB的片內高速Flash存儲器,16 KB的片內高速SRAM(可以在最高時鐘速度下進行單時鐘周期訪問操作);1個USB 2.O全速(12 Mbps)設備端口,片上收發器,328字節可編程的FIFO;主/從串行外設接口(SPI),8~16位可編程的數據長度,4個片選線。本設計將用USB口與臺式或PC心電圖機通信,SPI口控制打印頭,同時具有大容量的數據存儲及高速數據處理能力。所以無論從集成度,還是性價比來看,都是理想的選擇。
1.3 熱敏打印頭的選擇及控制
熱敏打印技術最早使用在傳真機上,其基本原理是將打印機接收的數據轉換成點陣信號控制熱敏單元的加熱.把熱敏紙上熱敏涂層顯影。這種技術只能使用專用的熱敏紙。熱敏紙上涂有一層遇熱就會產生化學反應而變色的涂層,類似于感光膠片,不過該涂層是遇熱后變色顯影。利用熱敏涂層的這種特性,研究出了熱敏打印技術。熱敏打印技術的關鍵在于加熱元件。熱敏打印機芯上有一排微小的半導體元件。這些元件排得很密,從2·90dpi~600dpi不等。這些元件在通過一定電流時會很快產生高溫,當熱敏紙的涂層遇到這些元件時,在極短的時間內溫度會升高,涂層就會發生化學反應,顯出顏色。
熱敏打印機接收到打印數據后,將打印數據轉換為位圖數據,然后按照位圖數據的點控制打印機芯上的發熱元件通過電流,這樣就把打印數據變成打印紙上的打印內容了。
由于本設計要求最多能同時打印12導聯的心電波形,所以對打印頭的寬度和分辨率要求很高。經過認真的性能比較,選用了C216型行式打印頭,其打印寬度可達216 mm,即1728點/行。熱敏打印頭的電路連接如圖2所示。
C216打印頭各信號線加2.2 kΩ上拉電阻,數據通過ARM的SPI口串行輸入;SPCK連接ARM芯片SPI口串行時鐘引腳,ARM最多有4個SPI外設片選信號腳,P_LATCHCSl連接其中的NPCSl腳,由于打印機只需單向接收數據,所以只連接MOSI腳。THERMISTOR接打印頭內置熱敏電阻,外加電路來檢測打印頭的溫度,從而可對打印頭作相應的保護。打印頭工作需要24 V直流電壓。由于每行1728點,且電源電流有限,所以必須進行打印頭的加熱功率控制。C216有4個加熱選通信號(STR()BEl~4),即1728個點可以分4次加熱,每次最多448個點。根據打印頭參數,如每個加熱點電阻為R=700 Ω時,消耗功率為31.0 mA/點;若所有點都加熱時需電流1728點×31.O mA/點=53 568 mA。所以設計中要根據實際加熱點數通過軟件進行一定的時序控制。
1.4 USB接口電路
AT9lSAM7S64芯片具有一個USB 2.O全速(12Mbps)設備端口,片上收發器,328字節可編程的F。IFO。這就給設計帶來很大的便捷性,也是采用本款ARM芯片較其他控制芯片的獨特優勢之一。其外接電路如圖3所示。
AT9ISAM7S64的USB物理收發器集成在芯片中,USB器件有一條與高級中斷控制器(AIC)連接的中斷線.處理USB器件中斷須在配置UDP前對AIC編程,可自動檢測掛起與恢復,通過出現中斷來停止處理器。雙向差分信號DP與DM對于產品邊界有效,應用中會用到兩條I/O線:一條檢查來自主機的VBUS是否仍然有效的USB_DET引腳,使用該入口通知自供電器件主機斷電(此時,禁用板上上拉DP,以防止電流流入主機);另一條用來控制板上上拉DP即USB_DP_PUP引腳,當器件準備與主機通信時,通過該控制線激活其DP上拉。
NRST引腳來自芯片的復位信號,AT9lSAM7S64的基于上電復位單元的復位控制器(RSTC)可以處理系統的所有復位,而無需其他器件,它可以給出上一次復位源的信息。復位控制器可獨立地或同時驅動外部復位和外設及處理器復位,其掉電檢測功能可防止處理器進入不可預測的狀態。
USB器件外設需要48 MHz時鐘。該時鐘由精度為士O.25%的PLL產生。因此,USB器件收到來自電源管理控制器(PMC)的兩個時鐘:主機時鐘MCK,用來驅動外設用戶接口;UDPCK用來與總線USB信號連接。
1.5 走紙電路設計
打印機走紙控制采用雙極斬波驅動的步進電機來實現。本設計采用Allego公司的專用雙全橋PWM步進電機驅動器A2919SLB來驅動電機,如圖4所示。驅動器輸出雙路可直接驅動步進電機,PHASEl和PHASE2分別由.ARM控制器輸出相應脈沖來控制輸出脈沖頻率,從而得到理想的速度。走紙電機驅動電路如圖4所示。
該芯片的控制簡單方便,實際應用中可以根據需要調節輸出高低電平搭配,以達到細分的效果。本設計采用了全角控制,VREF采用+5 V直流電壓,Rs取0.5 n的高精度電阻,I0和Il采用第2種電平組合方式,輸出電流為67%,ITRlP,完全可以滿足設計需要。
1.6 打印頭保護和頭溫度測量電路
對打印頭的保護是打印機控制系統好壞的重要標志。由于行式熱敏打印機對發熱元件的加熱時間都是ms級的,如果對發熱元件連續加熱超過l s,將會燒壞打印頭,因此對打印頭的保護必須及時、可靠。從行式打印頭電路連接圖可以看出,要使發熱元件加熱,除寄存器中數據點為高外,還必須將頭電壓VH一24V供電電源打開。只要任一條件不滿足,就不可能給打印頭加熱,也就不會燒壞打印頭.所以對打印頭電壓設計了一個電源保護電路。
如果打印過程中打印頭過熱,就必須停止打印,否則會燒壞打印頭。打印頭內置熱敏電阻由THERMIST()R連接到外部檢測電路,經過LM339M比較器,一旦溫度超過極限溫度,就通過OVER_HOT腳發出低電平給主控芯片.從而可以及時采取相應的保護措施,如圖5所示。
打印過程中如果出現缺紙和開蓋的情況,同樣需要停止打印,否則會出現不可預測的結果。J4連接光敏對檢測缺紙電路,J8連接一個開關電路。當缺紙和開蓋狀況出現時,電路將立即通過PAPER_SHORT腳和COVER_OPEN腳向ARM控制器發出低電平信號,控制器則立即停止打印頭和電機,停止任何打印操作,以免損壞打印頭。
2 心電圖熱敏打印機的軟件設計
軟件的主要功能是接收來自主機(心電圖機)通過USB口發來的數據,然后判斷數據的內容,根據指定的通信協議進行
處理。數據包括三種情況:控制命令、心電圖數據和字符。對于心電圖數據,首先要判斷是幾導打印(本設計中分為同時打印1、3、6和12導四種情況),然后將接收到的數據映射成點,通過SPI口,以串行方式送至打印頭的緩沖區進行打印;如果有字符,則從外擴的DATAFLASH中取出各字符的字形碼,并進行轉換.然后送往打印頭的緩沖區進行打印;如果數據是控制命令,則轉到相應控制命令的執行程序。
在對打印頭傳送數據時,使用了ARM控制器的SPI口,因ARM只需向打印頭單向傳送數據,僅是主從式工作方式,所以只要通過3根線--時鐘線(SPKCLK)、數據輸出線(SPIMOSI)、片選線(CS)進行通信,內部通過SPIDAT寄存器完成轉換。打印機有3種打印速度可供用戶選用:50 mm/s、25 mm/s和12.5 mm/s。當采用最高的50 mm/s速度打印時,必須保證電機走紙內打印頭數據已經傳送到打印頭。普通8位單片機此時就不能滿足要求,這就是本設計采用ARM的原因之一。
軟件設計中的另一個關鍵技術就是將打印數據映射成點,再打印到紙上。映射的點必須和打印紙上的點一一對應,所以合理分配每導在打印紙上的空間就十分重要,既要分配充分,又不能相互重疊。打印紙的寬度是216ms,與1728個點相對應,12導可以成行排列同時打印。
由圖7可以看出,心電波形圖絕大部分都在基線的一邊,故相鄰的導聯波形在一側可以共用部分空間,而不至于導聯波形重疊。程序框圖和程序在此省略。
結語
本設計充分利用了ARM芯片AT91sAM7S64的資源,完成了采用USB借口技術的熱敏打印機的開發,并對打印機頭作了充分的保護。通過采用響應的算法實現了心電圖的高達12導聯的多導同時打印,在實際應用中效果良好。
責任編輯:gt
-
芯片
+關注
關注
456文章
51037瀏覽量
425464 -
驅動器
+關注
關注
53文章
8263瀏覽量
146698 -
usb
+關注
關注
60文章
7966瀏覽量
265290
發布評論請先 登錄
相關推薦
評論