新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Flash構(gòu)架的模數(shù)混合的FPGA在心電監(jiān)控儀上的應(yīng)用設(shè)計(jì)

基于Flash構(gòu)架的模數(shù)混合的FPGA在心電監(jiān)控儀上的應(yīng)用設(shè)計(jì)

作者: 時(shí)間:2010-12-10 來源:網(wǎng)絡(luò) 收藏

2.3 彩色顯示驅(qū)動(dòng)模塊

比較成熟的TFT_LCD顯示驅(qū)動(dòng)的開發(fā)大多數(shù)ARM[2-3]、DSP[4]的平臺。然而本系統(tǒng)使用的處理器是Coer8051,所以沒有辦法移植原有的驅(qū)動(dòng)模塊。又因?yàn)閳D像數(shù)據(jù)比較大,對處理器運(yùn)算能力的要求比較高,所以結(jié)合Core8051和的特點(diǎn)重新了一種算法,降低需要處理的數(shù)據(jù)量,從而在Core8051的能力范圍內(nèi)來完成圖像信息的顯示。

為了顯示一幅完整的圖像,按照液晶掃描的時(shí)鐘順序?qū)⑹孪葴?zhǔn)備好的一幀圖像數(shù)據(jù)逐次地輸入到數(shù)據(jù)端口,從而完成一幀圖像的顯示。由于要顯示的圖像只有信號是動(dòng)態(tài)變化的,而其他的都是相對靜止不動(dòng)的,也就是每一次掃描時(shí)數(shù)據(jù)信息是不變化的,整幅的圖像被分成動(dòng)態(tài)的(圖像)和靜態(tài)的(背景、標(biāo)度)兩部分。動(dòng)態(tài)的由Core8051產(chǎn)生,并在特定時(shí)刻輸入到TFT_LCD;靜態(tài)的圖像信息事先存儲到中的存儲器中,每掃描一次都按照特定的順序輸入到LCD。通過這種方法,Core805就只需處理心電信號的信息,從而大大地減少了圖像數(shù)據(jù)的處理量,并完成圖像的顯示。該模塊的完成了低端處理器很難完成的實(shí)時(shí)彩色界面的驅(qū)動(dòng),即僅使用帶有256 B RAM的Core8051就可以顯示256色界面。

根據(jù)上述設(shè)想,可將液晶屏分成動(dòng)態(tài)部分和靜態(tài)部分,如圖5所示。

圖5中除了“心電信號動(dòng)態(tài)顯示區(qū)”中顯示出動(dòng)態(tài)的心電圖像,其他部分包括“動(dòng)態(tài)顯示區(qū)”中的背景圖像信息全部事先存儲在內(nèi)部的存儲器中。

動(dòng)態(tài)顯示區(qū)可以用兩組數(shù)據(jù)來標(biāo)注,設(shè)為:x0,y0,x1,y1,則這個(gè)動(dòng)態(tài)顯示區(qū)每個(gè)定點(diǎn)的坐標(biāo)就可以表示為(x0,y0)(x0,y1)(x1,y0)(x1,y1)。如圖5所示, 橫坐標(biāo)表示時(shí)間t/s,縱坐標(biāo)表示心電信號的幅值大小U/v,(x0,y0)處為(0,0)坐標(biāo)點(diǎn)。在Core8051的基礎(chǔ)上編碼算法,對采集到的心電信號進(jìn)行編碼,然后將心電信號轉(zhuǎn)換成顯示屏的坐標(biāo)信號,然后根據(jù)坐標(biāo)信號計(jì)算出心電圖像的數(shù)據(jù),并在掃描時(shí)鐘的控制下逐次將數(shù)據(jù)按照順序輸入到LCD中, 這樣即可實(shí)現(xiàn)動(dòng)態(tài)的心電圖像的顯示。 function ImgZoom(Id)//重新設(shè)置圖片大小 防止撐破表格 { var w = $(Id).width; var m = 650; if(w

心電信號動(dòng)態(tài)顯示區(qū)的設(shè)計(jì)采用了3種方法,分別為:

(1)移位寄存器法。在FPGA內(nèi)部構(gòu)建一個(gè)240位移位寄存器作為心電圖像的緩存,Core8051實(shí)時(shí)地采集數(shù)據(jù)然后發(fā)送到移位寄存器內(nèi)部,同時(shí)CRT驅(qū)動(dòng)模塊按照自己的時(shí)序來不斷地掃描移位寄存器,從而顯示出心電圖像。這種方法的缺點(diǎn)是動(dòng)態(tài)曲線顯示的連續(xù)性不好。

(2)雙RAM緩存法[5]。利用Core8051外部擴(kuò)展的64 KB

RAM作為心電波形信號的緩存,同時(shí)在CRT驅(qū)動(dòng)模塊中再設(shè)計(jì)一個(gè)心電波形顯示緩存,這樣Core8051就可以先采集心電信號存儲在外部擴(kuò)展的64 KB RAM中,達(dá)到某一數(shù)量后,連續(xù)地發(fā)送給CRT驅(qū)動(dòng)模塊中的緩存,從而顯示出動(dòng)態(tài)的心電信號圖像。該設(shè)計(jì)的一個(gè)最大優(yōu)點(diǎn)是圖像顯示連續(xù)(沒有拋棄任何時(shí)刻的心電數(shù)據(jù)),同時(shí)又可以根據(jù)需要選擇觀察采集到的任何時(shí)刻的心電波形。但由于要采集一定數(shù)量的心電波形數(shù)據(jù),因此心電波形的顯示會(huì)有一定時(shí)間的延時(shí)。

(3)單RAM緩存法。在Core8051沒有擴(kuò)展外部64 KB RAM的前提下設(shè)計(jì)的,利用一個(gè)雙端口的RAM作為動(dòng)態(tài)顯示區(qū)的圖像緩存,Core8051通過其中的一個(gè)寫端口向圖像緩存中寫入數(shù)據(jù),VGA控制器通過另外一個(gè)端口從圖像緩存中讀出數(shù)據(jù),兩者互不影響。同時(shí)設(shè)計(jì)算法使雙端口RAM具有位讀寫能力,即利用Core8051來靈活地讀寫雙端口RAM中的任何一位,這樣對圖像數(shù)據(jù)的處理就非常靈活了。這種設(shè)計(jì)的最大優(yōu)點(diǎn)是如方法(1)一樣可以實(shí)時(shí)地顯示。

本文結(jié)合(2)、(3)兩種方法進(jìn)行系統(tǒng)的設(shè)計(jì),彌補(bǔ)了各種方案的缺點(diǎn),實(shí)現(xiàn)了動(dòng)態(tài)、實(shí)時(shí)顯示的功能,使得片上系統(tǒng)的功能變得完善。這種設(shè)計(jì)結(jié)合了FPGA的可編程性成功解決了低端8位處理器無法驅(qū)動(dòng)彩色TFT_LCD動(dòng)態(tài)、實(shí)時(shí)顯示的問題。在此基礎(chǔ)上,還可以利用FPGA和Core8051的資源開發(fā)其他的功能模塊,例如與PC機(jī)的通信、SD卡大量心電數(shù)據(jù)存儲、心電分析與報(bào)警等。

3 系統(tǒng)測試及結(jié)果

心電信號能力集中在中低頻段,隨著頻率的升高,響應(yīng)的能量也逐漸降低[6]。利用信號發(fā)生器產(chǎn)生不同頻率和幅值的正弦信號來模擬心電信號,并將其加到心電信號輸入端口,可以看到CRT顯示器上顯示出和輸入信號完全一致的正弦波形,沒有任何失真。

Fution信號芯片的誕生給小型化、便攜式片上系統(tǒng)的設(shè)計(jì)帶來了可能,本文通過對FPGA各種資源的綜合完成了一種心電監(jiān)護(hù)儀的片上系統(tǒng)的設(shè)計(jì),通過實(shí)際的測試驗(yàn)證了它的準(zhǔn)確性。系統(tǒng)的所有功能都是在FPGA上完成的,所以它的單芯片性和FPGA可編程性,給產(chǎn)品的升級帶來了極大的便利。


上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉