高文靜 李路軍
摘 要:本文設計一款適用于高端顯示設備的圖像發生測試系統。核心框架為上位機+MCU+FPGA+DDR3,通過上位機傳輸指令或按鍵組合來控制單片機實現RGB數據提取、圖像像素修改、文字顯示與縮放、PIP顯示等功能,數據處理完成后單片機將其傳輸到FPGA,FPGA再利用雙緩存技術,將圖像數據高速穩定的傳輸到顯示器。
關鍵詞:圖像發生測試系統 FPGA 單片機
一、總體描述
本文所設計的設備由上位機、flash存儲器、單片機系統、FPGA、SRAM組成。上位機通過RS232接口傳輸命令或者數據到單片機系統,單片機按照協議或通過按鍵組合識別命令后執行圖像存儲、圖像讀取、圖像處理或其他操作。單片機將處理好的圖像數據經8080接口傳輸到FPGA中,FPGA將這些數據直接傳輸到SRAM中,設備采用雙緩存技術,SRAM分為兩個區,其中一個接收圖像數據,另一個通過RGB接口發送圖像數據,發送完成后立刻轉為接收狀態,另一個開始發送數據,循環往復。設備末端由專用芯片將RGB信號轉為MIPI。
二、技術路線
(1)單片機模塊設計
1)RS232接口及串行傳輸
采用半雙工異步串行通訊傳送的幀格式為 10位,1位0電平起始位,8 位數據(低位在前)和1位停止位,無校驗位。
圖像操作命令包括上位機圖像數據傳輸、圖像數據存儲、圖像數據顯示、顯示字符、文字縮放、PIP顯示和幾何圖形加速器。
可編程電池操作包括電源通道選擇及電壓設計、電流電壓監控和電流限流。
2)按鍵
按鍵提供功能有:開啟和關閉PIP顯示、選擇PIP視窗、更換圖片、啟動和關閉自動換圖顯示、啟動或關閉幾何圖形加速器、選擇畫點、線、曲線、圓、矩形、開啟或關閉電源通道、增加或減少電壓值、增加或減少限流電流值。
為了實現資源的充分利用,所以按鍵應用功能菜單的形式。五個按鍵可以完成以上工作:功能選擇鍵、上移、下移、確認、退出/取消。
功能選擇鍵按一次后即可利用上下鍵選擇一級功能,按確認后可利用上下鍵進行下一級功能選擇,按取消可回到上一級功能選擇。
3)MCU與U盤通信
MCU與U盤通信采用CH375接口芯片方案,可以省去大量的USB通信協議的編寫。CH375 的USB主機方式支持常用的USB全速設備,外部單片機可以通過CH375按照相應的USB 協議與USB 設備通訊。CH375 還內置了處理Mass-Storage 海量存儲設備的專用通訊協議的固件,外部單片機可以直接以扇區為基本單位讀寫常用的USB 存儲設備(包括USB 硬盤/USB 閃存盤/U 盤)。
4)MCU圖像處理
由于單片機內部SRAM資源有限,所以單片機對于圖像的處理只能是單行或者單列進行。因為像一幅2K的高清圖像其單純的RGB圖像數據就達到了1440*2880*3B=11.8M,一般的單片機沒有如此大的內存加載一整副圖像數據。
為提高效率,在存儲器中存入新的圖像后,單片機會在空閑時間自動對其解壓,轉換格式,并將處理后得到的RGB數據存儲在存儲器。存儲格式為,RGB數據標志+原圖像地址+像素行+列+RGB數據。
圖像處理部分主要包括以下4點:
1)從bmp、jpg、png文件中提取RGB數據
2)圖像像素的修改
圖像信息中一般包含此圖像的像素信息,設備采取的圖像像素的處理方法是:若圖像像素與顯示像素不一致,則先從各種文件中將RGB數據提取出來,再修改像素。若顯示像素大,則將提取出的RGB數據按一定規律行行擴充,后進行列擴充,反之則先進行行縮小,后進行列縮小。
3)文字放大縮小
文字信息也是轉換為位圖數據存儲,分四部分分別存儲ISO/IEC 8859-1、2、4、5,可根據 ASCII碼索引。文字的放大縮小類似像素修改,例如將一個文字水平放大兩倍,就可以將文字的位圖信息每列復制一次即可,列數增加到之前的兩倍。
4)PIP顯示窗口
當系統接收到PIP命令后,單片機從存儲器中分別調出兩幅圖像的數據,將PIP1圖像在PIP2顯示區域的數據更換為PIP2要顯示圖像的數據。例如:一個2K屏,要求其利用PIP技術在左上角顯示一個320*240的圖像。則將正在顯示圖像的前320行的前240列數據全部更換為一副像素是320*240的圖像。
5) 8080接口
8080模式通常有下列接口信號: RES(復位線),DB0~DB7(雙向數據線),D/I(數據/指令選擇線,1:數據讀寫,0:命令讀寫),CS(片選信號線,如果有多片組合,可有多條片選信號線),/WR(MPU向LCD寫入數據控制線),/RD(MPU從LCD讀入數據控制線); 下圖為8080接口讀寫時序。
(2)FPGA模塊設計
FPGA在整個系統的作用是實現通信,即將8080口的數據傳輸到SRAM中,由于單片機對圖像數據是單行或單列形式處理,因此FPGA應控制 SRAM等待一副圖像都處理完成后才將其傳輸到顯示器上。
FPGA利用雙緩存技術控制SRAM,兩個緩存之間一個接受數據一個顯示數據,并行處理。
對于單緩存技術,FPGA可由一下幾個狀態完成:
1)休眠/等待數據傳輸
2)數據由接口傳入SRAM
3)一副圖像傳輸完成后,將數據經RGB接口輸出
通過FPGA對DDR3進行驅動,DDR3的Mode Register 有四個,分別為MR0、MR1、MR2 和MR3,當四個控制命令信號均為低電平時,即可通過Bank 選擇位對模式寄存器進行選擇; Refresh操作分為Auto Refresh 與Self Refresh 兩種,其中不論是何種Refresh 方式,都不需要外部提供行地址信息,因為這是一個內部的自動操作;DDR3 在進行讀寫操作時,內存會給出一個與數據同步的DQS 信號,用來在一個時鐘周期內準確地區分出每個傳輸周期,提高了接收方接收數據的準確度。
三、總結
顯示設備作為計算機系統重要的人機交互設備,包括顯示器,投影儀等,與安防監控、教育教學、娛樂媒體等行業息息相關,顯示設備的好壞,決定著各行各業工作能否順利開展。因此針對顯示設備進行測試和試驗必不可少,且一款傳輸速率高、價格適中的圖像發生測試系統擁有巨大的市場。本文結合了MCU與FPGA的優勢。可以做到既可以快速有效的對圖像數據處理,又可以高速傳輸,同時成本較低,開發周期較短。
參考文獻:
[1]李華 基于FPGA的圖像發生器的設計 《商洛學院學報2015年04期》
[2]張濤、國澄明、俞斯樂 基于FPGA的HDTV顯示器測試圖案發生器《電子測量與儀器學報2006.20(2):101-105》