張書君 周海力
摘 要:本文介紹了一款智能型高速模擬與數字信號合成的液晶顯示器。該顯示器采用雙FPGA作為主控芯片,利用視頻解碼芯片ADV7180將模擬信號解析為可供液晶屏顯示的RGB信號。
關鍵詞:FPGA;ADV7180;模擬與數字信號
0 引言
FPGA技術作為一種新興的技術,具有靜態可重復編程的特性,芯片上包含的資源豐富,能夠將龐大的、滿足各種需求的、復雜的數字電路以及高性能微處理器整合到一塊芯片上實現片上系統(SoC),使得系統的開發周期更短、可靠性更高。
這款同時顯示數字和模擬信號的彩色液晶顯示器可以將多種字體的彩色中西文、直方圖、自由曲線等數字信號和視頻模擬信號以疊加的方式顯示;將固定顯示的內容預先在微機上進行編制,然后將其作為“預置畫面”送入機內Flash(閃存)中。另外,開放了與BMP、JPEG等格式圖像文件顯示與操作相關的命令,極大地提高了二次開發的效率,使顯示效果得到更完美的體現。
1 系統概述
1.1 液晶顯示器概述
液晶顯示器作為科技時代的智慧結晶,為生產生活提供了極大的便利。液晶顯示器將各種信號及場景直觀地顯示在屏幕上,縮短了顯示到現場的距離,更能體現信號的各種細節,方便直觀地為設計人員的開發提供了更加詳細的數據支撐。本文介紹一種新型的液晶顯示器,可以根據功能需要顯示不同的數字或視頻信息,體現出細節信息,將遠程的數字或視頻信息近距離地顯示在眼前,具有很大的實用性。
1.2 FPGA概述
FPGA全稱現場可編程門陣列,是一種集成電路芯片,相當于把一個計算機系統集成在一個小的芯片上。本系統采用的FPGA芯片為京微齊力科技有限公司自主研發設計的CME-M5芯片。該芯片功能強大,既具備并行執行程序的特點,又集成了增強型8051 MCU,使得FPGA的硬件性能大幅提高。采用FPGA邏輯設計的外設可以確保電路系統穩定高速運行,嵌入式的8051 MCU又可以為編程開發人員的設計帶來便利,非常適合用作液晶顯示器的主控芯片[1-2]。
2 系統設計
智能型彩色液晶顯示器主要組成部分包括:電源模塊、液晶顯示模塊、RSM232隔離通信模塊以及視頻轉換模塊等。如圖1所示,加電工作時,首先啟動FPGA內的配置程序分配資源,明確兩片FPGA(M5)的工作任務。由其中一片FPGA(1)擔負解析數字信號指令,負責切換分配顯示內存等工作任務。由另一片FPGA(2)處理視頻(ADV7810)解碼后的數據,根據指令送入FPGA(1)分配的顯示內存中,實現視頻在指定窗口的顯示。

2.1 電源模塊
電源系統設計如圖2所示,顯示器采用外部12 V或24 V電源供電,經過LT3995轉換為DC 5 V,DC 5 V用來驅動7英寸液晶屏的背光模塊,并經過LM1085轉換為DC 3V3;DC 3V3通過TPS71711轉換為DC 1V1,然后DC 3V3和DC 1V1共同驅動FPGA芯片。本系統用到兩個同一型號的FPGA模塊,FPGA_A用來處理視頻信息,FPGA_D用來處理數字信息,兩個芯片協同工作保證顯示器穩定高效地運行;DC 3V3經過LM1117-1V8轉換為DC 1V8,然后DC 3V3和DC 1V1共同驅動ADV7180進行模擬視頻信號的轉換工作[3]。

2.2 基于RSM232的隔離通信模塊
數字信號的通信使用致遠RSM232,如圖3所示,其中C82、C94作為隔離電容使用。R6、R7是防止通信線路串入強干擾所加磁珠或電阻[4]。
2.3 基于ADV7180的模擬視頻信號轉換模塊
視頻轉換模塊如圖4所示,IN1、IN2和IN3為模擬視頻信號的輸入端,通過sma外接模擬攝像頭;BF_PPIx、BF_TMRx和LLC_CLK為ADV7180的輸出信號,連接到FPGA_A做進一步的信號處理;BF_PFx為IIC總線,連接至FPGA_D用來配置ADV7180[5]。

2.4 顯示模塊
系統采用群創7英寸液晶屏作為顯示終端,分辨率為800×480,采用RGB565信號驅動液晶屏顯示。
3 系統軟件設計
系統軟件的主要任務是實現數字信號以及視頻模擬信號在顯示屏上的正常顯示。上電之后首先進行設備初始化工作,包括液晶顯示屏模塊、串口模塊以及ADV7180視頻轉換模塊的初始化設置;隨后進入串口處理數據模塊,根據指定通信協議判斷串口是否接收到有效數據,如果未接收到有效數據則返回串口數據處理模塊,如果接收到有效數據則判斷顯示模式;根據顯示模式來切換液晶顯示屏的視頻或數字界面,并將串口接收的數據進行必要的處理后顯示在界面上的指定位置,到此本次處理結束,開啟下一次處理以保證顯示信息的實時性[6]。
3.1 ADV7180的初始化




3.2 數據的處理
采用中斷方式進行串口接收處理,接收到的數據存放在一個256 B的數據緩沖區中。在處理緩沖區數據時采用狀態機的原理,只有當前一個狀態完成時才進入下一個狀態。緩沖區內經過判斷正確的數據放入一個數組中,顯示模塊調用該數組的內容,這樣做可以保證界面信息的實時性,也有效降低了不同模塊之間的關聯性,增加了程序的穩定性。串口接收,中斷處理的流程如圖6。

3.3 數字信號和模擬信號疊加處理
模擬信號通過ADV7180芯片和FPGA芯片的協同工作,將其轉換為RGB信號保存到SDRAM中,過程如下:首先ADV7180將攝像頭輸出的視頻信號解碼后轉換為RBT656信號發送給FPGA芯片,進入芯片后首先將RBT656信號解碼,同時為了減少視頻信號中的干擾,將RBT656信號中的Y信號濾波,濾波后將Cb、Cr和Y信號轉換為RGB信號,最后根據解碼后的行信號和奇偶場信號將RGB信號通過存儲器調度模塊寫入SDRAM保存起來,完成視頻信號的解碼過程。根據輸入的數字顯示信號中的行、場和時鐘信號生成地址和讀取信號,從SDRAM中讀取保存的視頻數據,通過疊加模塊同數字顯示數據疊加后輸出,實現顯示。按彩色液晶屏像素的排列格式處理完成后的整屏RGB像素數據,可以直接送入液晶屏,實現顯示。這一部分在FPGA中完成[1],部分源代碼如下:


4 實驗及結果分析
對本系統的硬件和軟件模塊調試成功后,對系統進行整體功能性測試。本文設計的液晶顯示器需要實現的功能是:上電后即按照通信協議將接收到的數據包進行解析后按照幀定義進行顯示,并可以根據通信協議自動進行數據刷新或者畫面切換。實驗測試包含數字界面能否正常刷新,數字和視頻界面能否正常切換,視頻和數字的疊加是否正常和系統運行是否穩定等。表1的數據是系統測試200次的結果以及運行24 h的穩定性結果[1-4,6]。

5 結語
本文提出了一種采用雙FPGA處理器、通信模塊加ADV7810視頻轉換的能同時實時顯示數字和模擬信號的彩色液晶顯示器。該顯示器能夠實現畫面的高速更新,且互不干擾,可以直接使用攝像頭,真實還原攝像頭的信號,在很多空間狹小不方便進去人員的場合都可以使用。
參考文獻:
[1] 魏麗玲,朱平,石永亮.基于FPGA的圖像采集與存儲系統設計[J].電子技術應用,2015,41(10): 67-69.
[2] 曾聲奎.可靠性設計與分析[M].北京:國防工業出版社,2011.
[3] 王兆安,黃俊.電力電子技術[M].北京:機械工業出版社,2003.
[4] 羅映紅,張博.傳輸線端接阻抗對線間串擾的影響研究[J].鄭州大學學報(工學版),2009,30(4):120-122.
[5] 朱珍民,沈燕飛,何哲.視頻信號處理技術及應用[J].電子技術應用,2008,34(10).
[6] 陸民燕.軟件可靠性工程[M].北京:國防工業出版社,2015.