遠程心電醫療信號監測系統設計
3.4 顯示模塊設計
為了能夠直觀地顯示出采集的心電波形,需要顯示設備的支持。本設計采用的LCD面板是TFT 320*240 LCD。該LCD模塊沒有顯示控制器,因此需要設計顯示控制器IP核來驅動LCD面板。本設計實現的顯示控制器IP核采用Verilog HDL設計,支持多種顏色模式,包括18bpp,16bpp,8bpp和自定義模式。圖像存儲器lcd_fifo是采用片內FIFO,可以根據需要進行詞整。256色的顏色查找表采用片內RAM來存儲。圖像信息能夠通過AvaIon總線主端口寫入的突發塊傳輸方式進行傳輸,利用DMA從內存中自動讀取,在SDRAM圖像存儲器image_ram與片上圖像數據緩存器lcd_fifo之間建立了一條專用DMA通道,該控制器結構如圖4所示。
該LCD控制器IP核主要由4個模塊組成:接口模塊、內存模塊、顏色轉換模塊和時序模塊。
接口模塊主要是NiosⅡ處理器對LCD控制器進行控制及狀態讀取。接口模塊主要是以寄存器方式存在的,其中寄存器有:控制寄存器、狀態寄存器、DMA地址寄存器和中斷寄存器。
內存模塊是Avalon總線的主接口部分,在系統啟動之后,利用DMA傳輸模式,通過Avalon總線主端口寫入的突發塊傳輸方式,完成圖像數據存儲器image_ram中的圖像數據到片上圖像數據緩存器lcd_fifo的獨立讀取。采用DAM傳輸方式是為了把NiosⅡ軟核處理器從頻繁地進行數據讀取操作的工作中解脫出來,這樣可以大大提高系統的工作效率。
顏色轉換模塊將讀取后的數據根據4種顏色模式不同進行數據讀取的轉換,其中8bpp和自定義模式由于顏色不足,需要接入顏色查詢表處理。自定義模式可以手動對調色板的地址進行預設來定義輸出的顏色。
時序模塊嚴格按照LCD的時序編寫,其中LCD時鐘為5 MHz。通過控制數據使能信號啟動lcd_fifo數據輸出,逐行掃描顯示。同時,設計該模塊時,在數據有效信號(DE)有效前,須檢查lcd_fifo中是否存有數據,以確定是否進行數據讀取和傳輸;須進行調色板模式設置,在幀傳輸過程中需要進行模式鎖定,以免出現傳輸錯誤;須根據不同bpp模式,確定不同的讀取時間段,18bpp每次都讀取,16bpp間隔1次讀取,8bpp間隔4次讀取。
3.5數據存儲模塊設計
本設計選用SD卡作為外接存儲硬盤。SD存儲卡具有大容量、高性能、安全性好等特點的多功能存儲卡,被廣泛用于數碼相機、掌上電腦和手機等便攜式設備中。SD卡上所有單元由內部時鐘發生器提供時鐘,接口驅動單元同步外部時鐘的DAT和CMD信號到內部所用時鐘。SD卡有兩種通信協議,即SD通信協議和SPI通信協議,與SPI通信協議相比,SD通信協議的最大優點是讀寫速度快,單根數據線理論上可以達到25 MB/s,四線傳輸可以達到100 MB/s,本設計采用的是四線SD通信協議。
本設計中對SD卡的協議采用軟件編寫:首先在SoPC Builder里定義了6個I/O口:SD_CMD,SD_DAT0-DAT3,SD_CLK,分別對應SD卡的命令、數據、時鐘端口,然后在NiosⅡIDE上按照SD卡的傳輸協議編寫C程序來對6個I/O口進行操作,以此來實現SD卡的傳輸協議。在完成SD卡數據塊的讀寫基礎上移植了文件系統。FAT16,這樣在不影響讀寫速度的條件下節省FPGA的資源。
3.6 數據傳輸模塊設計
為了實現遠程的數據交換,本系統采用以太網絡進行數據傳輸。設計采用DM9000A作為以太網控制芯片。DM9000A是DAVICOM公司的一款高速網絡控制器,具有通用處理器接口、一個10/100M PHY和4kB的SRAM。為了實現數據的網絡傳輸,設計需要完成的任務有:在NiosⅡ上移植了μClinux操作系統、完成網絡底層驅動程序的設計、基于網絡協議的應用程序開發。其中在NiosⅡ上移植了μClinux操作系統的工作已經完成,因此本設計的關鍵任務是完成網絡驅動程序設計與應用程序開發。
基于DM9000A的HAL設備驅動設計主要分為兩步:首先是DM9000A的Avalon總線接口邏輯設計;其次DM9000A的讀寫驅動程序設計;最后按照HAL的驅動模式將DM9000A的驅動程序移植進HAL。DM9000A是作為Avalon總線的從外設與NiosⅡ進行通信。DM9000A的Avalon總線接口邏輯主要完成芯片信號與Avalon總線接口信號的對接。
DM9000A不允許直接訪問芯片內部的寄存器,需要通過數據端口和索引端口來讀寫。而這兩個端口由CMD管腳控制:當CMD接高電平時為數據端口,CMD接低電平為控制端口。
評論