基于Fusion FPGA芯片的心電儀片上系統(tǒng)開(kāi)發(fā)
2.2 控制核心Core8051模塊設(shè)計(jì)
FPGA內(nèi)部可以嵌入高速的Core8051處理器內(nèi)核,它是整個(gè)系統(tǒng)的核心,負(fù)責(zé)有序地調(diào)用其余各功能模塊,同時(shí)又兼有數(shù)據(jù)處理任務(wù),負(fù)責(zé)將ADC傳來(lái)的數(shù)據(jù)轉(zhuǎn)換成VGA可以顯示的數(shù)據(jù)。Core8051的硬件配置非常靈活,時(shí)鐘速度可以達(dá)到33 MHz,ROM的大小可以根據(jù)需要靈活地設(shè)置,該設(shè)計(jì)配置為64 KB。片內(nèi)DATA RAM僅需256 B即可完成驅(qū)動(dòng)VGA的功能,也可以擴(kuò)展外部64 KB RAM,從而完成更強(qiáng)大的軟件功能。系統(tǒng)中設(shè)置單片機(jī)的片內(nèi)DATA RAM為256 B,并通過(guò)系統(tǒng)總線擴(kuò)展了外部64 KB的SRAM,系統(tǒng)框圖如圖4所示。
2.3 彩色顯示驅(qū)動(dòng)模塊
比較成熟的TFT_LCD顯示驅(qū)動(dòng)的開(kāi)發(fā)大多數(shù)基于ARM[2-3]、DSP[4]的平臺(tái)。然而本系統(tǒng)使用的處理器是Coer8051,所以沒(méi)有辦法移植原有的驅(qū)動(dòng)模塊。又因?yàn)閳D像數(shù)據(jù)比較大,對(duì)處理器運(yùn)算能力的要求比較高,所以結(jié)合Core8051和FPGA的特點(diǎn)重新設(shè)計(jì)了一種算法,降低需要處理的數(shù)據(jù)量,從而在Core8051的能力范圍內(nèi)來(lái)完成心電圖像信息的顯示。
為了顯示一幅完整的圖像,按照液晶掃描的時(shí)鐘順序?qū)⑹孪葴?zhǔn)備好的一幀圖像數(shù)據(jù)逐次地輸入到數(shù)據(jù)端口,從而完成一幀圖像的顯示。由于要顯示的圖像只有心電信號(hào)是動(dòng)態(tài)變化的,而其他的都是相對(duì)靜止不動(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)的圖像信息事先存儲(chǔ)到FPGA中的存儲(chǔ)器中,每掃描一次都按照特定的順序輸入到LCD。通過(guò)這種方法,Core805就只需處理心電信號(hào)的信息,從而大大地減少了圖像數(shù)據(jù)的處理量,并完成圖像的顯示。該模塊的設(shè)計(jì)完成了低端處理器很難完成的實(shí)時(shí)彩色界面的驅(qū)動(dòng),即僅使用帶有256 B RAM的Core8051就可以顯示256色界面。
根據(jù)上述設(shè)想,可將液晶屏分成動(dòng)態(tài)部分和靜態(tài)部分,如圖5所示。
圖5中除了“心電信號(hào)動(dòng)態(tài)顯示區(qū)”中顯示出動(dòng)態(tài)的心電圖像,其他部分包括“動(dòng)態(tài)顯示區(qū)”中的背景圖像信息全部事先存儲(chǔ)在FPGA內(nèi)部的Flash存儲(chǔ)器中。
動(dòng)態(tài)顯示區(qū)可以用兩組數(shù)據(jù)來(lái)標(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)表示心電信號(hào)的幅值大小U/v,(x0,y0)處為(0,0)坐標(biāo)點(diǎn)。在Core8051的基礎(chǔ)上設(shè)計(jì)編碼算法,對(duì)采集到的心電信號(hào)進(jìn)行編碼,然后將心電信號(hào)轉(zhuǎn)換成顯示屏的坐標(biāo)信號(hào),然后根據(jù)坐標(biāo)信號(hào)計(jì)算出心電圖像的數(shù)據(jù),并在掃描時(shí)鐘的控制下逐次將數(shù)據(jù)按照順序輸入到LCD中, 這樣即可實(shí)現(xiàn)動(dòng)態(tài)的心電圖像的顯示。
評(píng)論