關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 心電圖機(jī)USB借口的熱敏打印控制系統(tǒng)

心電圖機(jī)USB借口的熱敏打印控制系統(tǒng)

作者: 時間:2006-10-17 來源:網(wǎng)絡(luò) 收藏

摘 要:詳細(xì)介紹基于接口的機(jī)的,系統(tǒng)采用ARM作為控制芯片,使用接口進(jìn)行數(shù)據(jù)通信。機(jī)噪聲低、速度快、可靠性高、字符清晰。文中對打印所涉及到的關(guān)鍵技術(shù)作了詳細(xì)說明,并對軟件設(shè)計作了介紹。
關(guān)鍵詞:ARM 接口 熱敏打印機(jī)


機(jī)是描記心臟組織活動所產(chǎn)生的生物電信號以及現(xiàn)代醫(yī)學(xué)科學(xué)研究和l臨床診斷中使用非常廣泛的一種精密電子醫(yī)療儀器。由于它診斷可靠,操作簡便,對病人無損傷,故在臨床上得到廣泛的應(yīng)用,而作為心電圖檢測結(jié)果直觀的輸出方式和手段,心電圖機(jī)微型打印機(jī)是必不可少的。

目前,醫(yī)院中使用的多為傳統(tǒng)機(jī)械式心電打印機(jī),存在著打印效率低、噪聲污染嚴(yán)重、心電波形失真等缺點。近年來uSB技術(shù)有了飛速的發(fā)展,很多臺式打印機(jī)已經(jīng)應(yīng)用了該技術(shù)。但是采用USB接口技術(shù)的心電圖機(jī)熱敏打印機(jī)卻很少。本系統(tǒng)就采用了USB接口與心電圖機(jī)相連,同時也可以與PC心電圖機(jī)進(jìn)行連接打印。


1 心電圖熱敏打印機(jī)的硬件設(shè)計
1.1 系統(tǒng)的總體結(jié)構(gòu)

硬件系統(tǒng)由控制器、走紙電機(jī)、uSB接口、熱敏打印頭及其檢測和保護(hù)電路等組成,組成框圖如圖1所示。


1.2 ARM控制器的選擇
由于本系統(tǒng)要求打印最高速度達(dá)50 mm/s,所以對于處理器給打印頭傳送數(shù)據(jù)的速度就要求很高。一般熱敏打印頭數(shù)據(jù)通過串行傳送,所以通過SPI口傳送是最佳方式,而普通8位單片機(jī)在處理速度上就有缺陷,難以滿足整體要求,因此決定選用Atlnel公司的ARM7內(nèi)核芯片AT91SAM7S64作為控制器。該芯片具有64 KB的片內(nèi)高速Flash存儲器,16 KB的片內(nèi)高速SRAM(可以在最高時鐘速度下進(jìn)行單時鐘周期訪問操作);1個USB 2.O全速(12 Mbps)設(shè)備端口,片上收發(fā)器,328字節(jié)可編程的FIFO;主/從串行外設(shè)接口(SPI),8~16位可編程的數(shù)據(jù)長度,4個片選線。本設(shè)計將用USB口與臺式或PC心電圖機(jī)通信,SPI口控制打印頭,同時具有大容量的數(shù)據(jù)存儲及高速數(shù)據(jù)處理能力。所以無論從集成度,還是性價比來看,都是理想的選擇。

1.3 熱敏打印頭的選擇及控制

熱敏打印技術(shù)最早使用在傳真機(jī)上,其基本原理是將打印機(jī)接收的數(shù)據(jù)轉(zhuǎn)換成點陣信號控制熱敏單元的加熱.把熱敏紙上熱敏涂層顯影。這種技術(shù)只能使用專用的熱敏紙。熱敏紙上涂有一層遇熱就會產(chǎn)生化學(xué)反應(yīng)而變色的涂層,類似于感光膠片,不過該涂層是遇熱后變色顯影。利用熱敏涂層的這種特性,研究出了熱敏打印技術(shù)。熱敏打印技術(shù)的關(guān)鍵在于加熱元件。熱敏打印機(jī)芯上有一排微小的半導(dǎo)體元件。這些元件排得很密,從290dpi~600dpi不等。這些元件在通過一定電流時會很快產(chǎn)生高溫,當(dāng)熱敏紙的涂層遇到這些元件時,在極短的時間內(nèi)溫度會升高,涂層就會發(fā)生化學(xué)反應(yīng),顯出顏色。

熱敏打印機(jī)接收到打印數(shù)據(jù)后,將打印數(shù)據(jù)轉(zhuǎn)換為位圖數(shù)據(jù),然后按照位圖數(shù)據(jù)的點控制打印機(jī)芯上的發(fā)熱元件通過電流,這樣就把打印數(shù)據(jù)變成打印紙上的打印內(nèi)容了。

由于本設(shè)計要求最多能同時打印12導(dǎo)聯(lián)的心電波形,所以對打印頭的寬度和分辨率要求很高。經(jīng)過認(rèn)真的性能比較,選用了C216型行式打印頭,其打印寬度可達(dá)216 mm,即1728點/行。熱敏打印頭的電路連接如圖2所示。


C216打印頭各信號線加2.2 kΩ上拉電阻,數(shù)據(jù)通過ARM的SPI口串行輸入;SPCK連接ARM芯片SPI口串行時鐘引腳,ARM最多有4個SPI外設(shè)片選信號腳,P_LATCHCSl連接其中的NPCSl腳,由于打印機(jī)只需單向接收數(shù)據(jù),所以只連接MOSI腳。THERMISTOR接打印頭內(nèi)置熱敏電阻,外加電路來檢測打印頭的溫度,從而可對打印頭作相應(yīng)的保護(hù)。打印頭工作需要24 V直流電壓。由于每行1728點,且電源電流有限,所以必須進(jìn)行打印頭的加熱功率控制。C216有4個加熱選通信號(STR()BEl~4),即1728個點可以分4次加熱,每次最多448個點。根據(jù)打印頭參數(shù),如每個加熱點電阻為R=700 Ω時,消耗功率為31.0 mA/點;若所有點都加熱時需電流1728點31.O mA/點=53 568 mA。所以設(shè)計中要根據(jù)實際加熱點數(shù)通過軟件進(jìn)行一定的時序控制。

1.4 USB接口電路

AT9lSAM7S64芯片具有一個USB 2.O全速(12Mbps)設(shè)備端口,片上收發(fā)器,328字節(jié)可編程的F。IFO。這就給設(shè)計帶來很大的便捷性,也是采用本款A(yù)RM芯片較其他控制芯片的獨(dú)特優(yōu)勢之一。其外接電路如圖3所示。


AT9ISAM7S64的USB物理收發(fā)器集成在芯片中,USB器件有一條與高級中斷控制器(AIC)連接的中斷線.處理USB器件中斷須在配置UDP前對AIC編程,可自動檢測掛起與恢復(fù),通過出現(xiàn)中斷來停止處理器。雙向差分信號DP與DM對于產(chǎn)品邊界有效,應(yīng)用中會用到兩條I/O線:一條檢查來自主機(jī)的VBUS是否仍然有效的USB_DET引腳,使用該入口通知自供電器件主機(jī)斷電(此時,禁用板上上拉DP,以防止電流流入主機(jī));另一條用來控制板上上拉DP即USB_DP_PUP引腳,當(dāng)器件準(zhǔn)備與主機(jī)通信時,通過該控制線激活其DP上拉。

NRST引腳來自芯片的復(fù)位信號,AT9lSAM7S64的基于上電復(fù)位單元的復(fù)位控制器(RSTC)可以處理系統(tǒng)的所有復(fù)位,而無需其他器件,它可以給出上一次復(fù)位源的信息。復(fù)位控制器可獨(dú)立地或同時驅(qū)動外部復(fù)位和外設(shè)及處理器復(fù)位,其掉電檢測功能可防止處理器進(jìn)入不可預(yù)測的狀態(tài)。

USB器件外設(shè)需要48 MHz時鐘。該時鐘由精度為士O.25%的PLL產(chǎn)生。因此,USB器件收到來自電源管理控制器(PMC)的兩個時鐘:主機(jī)時鐘MCK,用來驅(qū)動外設(shè)用戶接口;UDPCK用來與總線USB信號連接。

1.5 走紙電路設(shè)計

打印機(jī)走紙控制采用雙極斬波驅(qū)動的步進(jìn)電機(jī)來實現(xiàn)。本設(shè)計采用Allego公司的專用雙全橋PWM步進(jìn)電機(jī)驅(qū)動器A2919SLB來驅(qū)動電機(jī),如圖4所示。驅(qū)動器輸出雙路可直接驅(qū)動步進(jìn)電機(jī),PHASEl和PHASE2分別由.ARM控制器輸出相應(yīng)脈沖來控制輸出脈沖頻率,從而得到理想的速度。走紙電機(jī)驅(qū)動電路如圖4所示。


A2919SLB驅(qū)動電機(jī)工作電壓為+24 V,芯片參考供電電壓為VOC,驅(qū)動芯片的電機(jī)驅(qū)動電流取決于參考電壓VREF和參考電阻Rs,以及Io和fI高低電平的組合,其計算方法如表1所列。

 

該芯片的控制簡單方便,實際應(yīng)用中可以根據(jù)需要調(diào)節(jié)輸出高低電平搭配,以達(dá)到細(xì)分的效果。本設(shè)計采用了全角控制,VREF采用+5 V直流電壓,Rs取0.5 n的高精度電阻,I0和Il采用第2種電平組合方式,輸出電流為67%,ITRlP,完全可以滿足設(shè)計需要。

1.6 打印頭保護(hù)和頭溫度測量電路

對打印頭的保護(hù)是打印機(jī)好壞的重要標(biāo)志。由于行式熱敏打印機(jī)對發(fā)熱元件的加熱時間都是ms級的,如果對發(fā)熱元件連續(xù)加熱超過l s,將會燒壞打印頭,因此對打印頭的保護(hù)必須及時、可靠。從行式打印頭電路連接圖可以看出,要使發(fā)熱元件加熱,除寄存器中數(shù)據(jù)點為高外,還必須將頭電壓VH一24V供電電源打開。只要任一條件不滿足,就不可能給打印頭加熱,也就不會燒壞打印頭.所以對打印頭電壓設(shè)計了一個電源保護(hù)電路。

如果打印過程中打印頭過熱,就必須停止打印,否則會燒壞打印頭。打印頭內(nèi)置熱敏電阻由THERMIST()R連接到外部檢測電路,經(jīng)過LM339M比較器,一旦溫度超過極限溫度,就通過OVER_HOT腳發(fā)出低電平給主控芯片.從而可以及時采取相應(yīng)的保護(hù)措施,如圖5所示。


打印過程中如果出現(xiàn)缺紙和開蓋的情況,同樣需要停止打印,否則會出現(xiàn)不可預(yù)測的結(jié)果。J4連接光敏對檢測缺紙電路,J8連接一個開關(guān)電路。當(dāng)缺紙和開蓋狀況出現(xiàn)時,電路將立即通過PAPER_SHORT腳和COVER_OPEN腳向ARM控制器發(fā)出低電平信號,控制器則立即停止打印頭和電機(jī),停止任何打印操作,以免損壞打印頭。


2 心電圖熱敏打印機(jī)的軟件設(shè)計
軟件的主要功能是接收來自主機(jī)(心電圖機(jī))通過USB口發(fā)來的數(shù)據(jù),然后判斷數(shù)據(jù)的內(nèi)容,根據(jù)指定的通信協(xié)議進(jìn)行處理。數(shù)據(jù)包括三種情況:控制命令、心電圖數(shù)據(jù)和字符。對于心電圖數(shù)據(jù),首先要判斷是幾導(dǎo)打印(本設(shè)計中分為同時打印1、3、6和12導(dǎo)四種情況),然后將接收到的數(shù)據(jù)映射成點,通過SPI口,以串行方式送至打印頭的緩沖區(qū)進(jìn)行打?。蝗绻凶址?,則從外擴(kuò)的DATAFLASH中取出各字符的字形碼,并進(jìn)行轉(zhuǎn)換.然后送往打印頭的緩沖區(qū)進(jìn)行打?。蝗绻麛?shù)據(jù)是控制命令,則轉(zhuǎn)到相應(yīng)控制命令的執(zhí)行程序。

在對打印頭傳送數(shù)據(jù)時,使用了ARM控制器的SPI口,因ARM只需向打印頭單向傳送數(shù)據(jù),僅是主從式工作方式,所以只要通過3根線――時鐘線(SPKCLK)、數(shù)據(jù)輸出線(SPIMOSI)、片選線(CS)進(jìn)行通信,內(nèi)部通過SPIDAT寄存器完成轉(zhuǎn)換。打印機(jī)有3種打印速度可供用戶選用:50 mm/s、25 mm/s和12.5 mm/s。當(dāng)采用最高的50 mm/s速度打印時,必須保證電機(jī)走紙內(nèi)打印頭數(shù)據(jù)已經(jīng)傳送到打印頭。普通8位單片機(jī)此時就不能滿足要求,這就是本設(shè)計采用ARM的原因之一。圖6是打印頭的加熱控制時序圖。


軟件設(shè)計中的另一個關(guān)鍵技術(shù)就是將打印數(shù)據(jù)映射成點,再打印到紙上。映射的點必須和打印紙上的點一一對應(yīng),所以合理分配每導(dǎo)在打印紙上的空間就十分重要,既要分配充分,又不能相互重疊。打印紙的寬度是216ms,與1728個點相對應(yīng),12導(dǎo)可以成行排列同時打印。


圖7是標(biāo)準(zhǔn)心電波形圖


由圖7可以看出,心電波形圖絕大部分都在基線的一邊,故相鄰的導(dǎo)聯(lián)波形在一側(cè)可以共用部分空間,而不至于導(dǎo)聯(lián)波形重疊。程序框圖和程序在此省略。


結(jié)語
本設(shè)計充分利用了ARM芯片AT91sAM7S64的資源,完成了采用USB技術(shù)的熱敏打印機(jī)的開發(fā),并對打印機(jī)頭作了充分的保護(hù)。通過采用響應(yīng)的算法實現(xiàn)了心電圖的高達(dá)12導(dǎo)聯(lián)的多導(dǎo)同時打印,在實際應(yīng)用中效果良好。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉