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