熊木地, 孫宇航, 郭俞君
(大連海事大學 信息科學技術學院,遼寧 大連 116026)
隨著科技進步和娛樂方式的多樣化,各類顯示屏應運而生,人們對視頻質量以及顯示屏應用領域的需求也就越來越高。在種類繁多的顯示屏產品中,發光二極管(LED)顯示屏憑借著色域廣、功耗低、壽命長的優勢占據了顯示屏市場的一大部分[1]。LED智能玻璃顯示屏在具有傳統LED顯示屏特點的基礎上,又具有良好的透明性以及建材特性,因此被廣泛應用于戶外大型展示項目,尤其適合于以大樓幕墻為載體或者作為地鐵出口的玻璃幕墻等應用。但是,傳統的LED智能玻璃顯示屏的控制系統需要以計算機作為視頻源進行實時的視頻輸出[2-5],在小規模場合中使用不夠方便,因此本文設計了一種脫離了獨立視頻源、便攜的視頻播放控制系統。
本系統由視頻輸出單元和視頻轉發單元兩部分組成。如圖1所示,其中視頻輸出單元主要負責提供可視化操作界面以及將按照一定方式重新排序的視頻數據通過光纖發送至視頻轉發單元,視頻轉發單元負責接收并選取其中一部分視頻數據,再對這部分視頻數據進行反Gamma校正后發送至驅動系統實現對LED智能玻璃顯示屏的控制。由于LED驅動芯片的移位時鐘頻率限制了每個視頻轉發單元所能控制的LED數目,因此想實現大規模LED智能玻璃顯示屏的控制需要多個視頻轉發單元,所以視頻轉發單元還需要將接收到的視頻數據通過光纖轉發至下一個視頻轉發單元,以視頻轉發單元級聯的形式實現大規模LED智能玻璃顯示屏的控制。

圖1 LED智能玻璃顯示系統Fig.1 LED smart glass display system
視頻輸出單元由中央處理器(CPU)和現場可編程門陣列(FPGA)兩部分組成。其中CPU及其外圍電路作為視頻輸出單元的主要核心,負責向用戶提供可視化操作界面,實現文件存取,連接互聯網,向FPGA發送地址碼表,提供視頻數據等功能[6]。FPGA及其外圍電路作為輔助核心負責視頻數據的重排序以及通過光纖向視頻轉發單元的傳輸。視頻輸出單元的整體工作流程如下:
CPU:預先燒寫Android系統至外掛EMMC芯片中,提供完整操作系統,使用戶可通過HDMI接口連接顯示屏,USB接口連接鼠標鍵盤以及U盤,實現視頻文件存取,連接互聯網等所需操作。用戶通過特定內置APP繪制地址映射圖,生成地址映射數據文件,并將地址映射文件中的數據發送至FPGA部分[7]。同時CPU通過特定視頻輸出引腳將RGB數據、場同步信號以及隨路時鐘發送至FPGA部分。
FPGA:在CPU的控制下接收地址映射數據并將其分為兩部分存入兩片外掛SSRAM的后半部分地址中,地址映射數據存儲完成后,將每一幀RGB視頻數據以乒乓操作的方式在兩片外掛SSRAM的前半部分地址中進行讀寫操作,并將讀出的RGB視頻數據通過光纖發送至視頻轉發單元。
視頻轉發單元以FPGA為核心,通過光纖接收視頻輸出單元發送的RGB視頻數據并在其中截取自身控制的部分LED智能玻璃顯示屏所對應的RGB視頻數據,對其進行反Gamma校正后通過網線發送至驅動電路實現對LED智能玻璃顯示屏的控制,同時將接收到的全部RGB視頻數據通過光纖發送至下一個視頻轉發單元。
如圖2所示,視頻輸出單元由CPU和FPGA兩部分組成。CPU部分由CPU、EMMC、DDR、WIFI以及電源管理模塊組成。在此之中CPU選用瑞芯微電子的RK3288處理器,該處理器采用四核Cortex-A17架構,最高支持4 K 10 bits H265/264視頻解碼以及多路視頻輸出,可以保證在提供可視化操作界面的同時向FPGA部分發送RGB視頻數據,以實現本系統所需功能[8]。EMMC以及DDR選用KLMAG1JETD-B041N和K4B4G1646E-BMMA兩款芯片,二者分別作為系統存儲器以及系統緩存單元。WIFI選擇AP6335無線WIFI模塊,用以實現系統所需的網絡功能,電源管理模塊以ACT8846QM490-T芯片為核心,該芯片被設計專用于RK3288系列芯片電源管理。

圖2 視頻輸出單元結構框圖Fig.2 Structure diagram of video output unit
FPGA部分由FPGA、SSRAM、光纖接口組成。在此之中,FPGA選用Xilinx公司的Spartan-6系列的XC6SLX45T FPGA芯片,該芯片最大支持可達3.2 Gbps的高速串行收發器,可以滿足本系統所需的光纖傳輸速率需求。SSRAM選用IS61LPS204836B-200TQLI,該芯片最多可存72 Mb數據,讀寫速率可達200 MHz,能夠滿足本系統所需的1 080 P的視頻數據讀寫要求。
在用戶開機后,CPU借由搭載的專用Android5.1操作系統共實現3部分功能。其一為持續通過專用引腳向FPGA發送RGB視頻數據、隨路時鐘信號以及同步信號。其二為提供可操作圖形界面以及操作系統。其三為通過內置APP按照實際LED智能玻璃顯示屏走線繪制地址映射圖生成相應地址映射文件,并將其存入EMMC中,之后拉高CPU與FPGA相連的使能引腳,通知FPGA接收地址映射數據。并按照CPU生成的寫時鐘信號向FPGA發送地址映射數據。當地址映射數據發送完成后,CPU拉低使能引腳,通知FPGA地址映射數據發送完畢。該操作需進行兩次,分別發送地址映射數據的前后兩部分。
FPGA部分從功能上可以分為地址映射數據接收模塊、視頻數據接收以及地址映射模塊、光纖發送模塊4個模塊。
地址映射數據接收模塊在系統上電后等待CPU的使能信號,當使能信號被拉高時,通過FIFO將地址映射數據的前后兩部分按照地址自增的方式分別存入外掛SSRAM_B以及SSRAM_A的后半部分存儲空間中。
視頻數據接收以及地址映射模塊在FPGA上電后就開始在CPU所發送的隨路時鐘信號以及同步信號的控制下將視頻數據以地址自增的方式存入外掛SSRAM中,由于本系統采用的是1 920×1 080的視頻輸出分辨率,因此通過對行同步信號的計數可將視頻數據均分為兩部分,分別存入SSRAM_A以及SSRAM_B中。在實際運行過程中,為了保證視頻幀數不減半,在視頻數據接收以及地址映射操作過程中采用乒乓操作的方式[9-10]。
光纖發送模塊通過將Aurora_8b10b IP核配置為單工發送模式,將地址映射操作完成并經過了FIFO的RGB視頻數據通過光纖發送至視頻轉發單元。由于本系統使用的單工Aurora_8b10b IP核的初始化以定時模式實現,因此整體光纖通訊系統的上電順序必須為接收端在前,發送端在后,無法實現光纖的熱插拔,在實際應用中較為不便。為解決此問題,在光纖發送模塊每完整發送20幀視頻數據后,Aurora_8b10b單工發送模塊會進行一次復位重啟,使光纖通道可以重新建立,實現光纖的熱插拔,并去除上電順序對光纖系統的影響。由于每次Aurora_8b10b單工發送模塊的重啟均在視頻場消隱過程中進行,故不會對視頻顯示效果造成影響。

圖3 視頻轉發單元結構框圖Fig.3 Structure diagram of video forwarding unit
如圖3所示,視頻轉發單元以FPGA為核心,FPGA芯片同樣選用Xilinx公司的Spartan-6系列的XC6SLX45T FPGA芯片。視頻轉發單元在功能上可分為光纖模塊、數據選取以及處理模塊、數據發送模塊3部分。其中光纖模塊為修改過的Aurora_8b10b IP核,通過修改Aurora_8b10b IP核的程序,使其可以同時作為接收端和發送端分別與兩個不同的對象建立光纖通道,實現視頻轉發單元之間的光纖級聯[11-12]。系統上電后,光纖模塊先接收由上一級通過光纖發送的RGB視頻數據,并將數據選取以及處理模塊處理后的RGB視頻數據通過光纖發送至下一級。數據選取以及處理模塊先將光纖接收到的數據通過簡單雙口RAM去除其中的無效數據,之后通過對大小固定的另一個雙口RAM進行寫操作來將RGB視頻數據分組。具體為設置一個初始值為0的寄存器,每次雙口RAM寫滿后會對該寄存器進行加一操作并從地址零開始繼續寫入下一部分數據,直至寄存器的值與板載撥碼開關所設置的數值一致,便停止寫入RGB視頻數據,并對此時雙口RAM中的數據進行反伽馬校正處理[13-14]。數據發送模塊將反伽馬校正后的數據進行并轉串處理,生成與驅動電路匹配的時鐘后發送至驅動電路,實現LED智能玻璃顯示屏的控制。
為保證最終系統輸出視頻不存在丟幀現象,在地址映射過程中需要進行乒乓操作,具體流程如下。FPGA首先需自己生成雙倍于隨路時鐘頻率的時鐘CLK_PP1以及CLK_PP2,在地址映射數據存儲完成后,首先以CLK_PP1的奇數周期作為寫時鐘將第一部分RGB視頻數據存入SSRAM_A的前半部分空間中,在這部分RGB視頻數據存儲完成后,同樣利用CLK_PP2的奇數周期將RGB視頻數據的后半部分數據存入SSRAM_B的同時利用CLK_PP2的偶數周期作為讀時鐘以地址自增的方式讀出地址映射數據,并以該數據為讀地址利用CLK_PP1的偶數周期從SSRAM_A中讀出視頻數據,完成地址映射。再之后SSRAM_A以CLK_PP1的奇數周期為寫時鐘寫入視頻數據,以CLK_PP1的偶數周期為讀時鐘讀出地址映射數據并操作SSRAM_B完成地址映射操作,之后重復上述過程。
嵌入式視頻播放控制系統連線圖如圖4所示。

圖4 嵌入式視頻播放控制系統連線圖Fig.4 Wiring diagram of embedded video playback control system
嵌入式播放控制系統視頻映射調試如圖5所示,映射調試采用行列掃描方式,通過觀察行列像素點位置,判斷映射結果是否準確,經實際測試,無像素點錯位現象。

圖5 嵌入式播放控制系統視頻映射調試圖Fig.5 Video mapping debugging diagram of embedded playback control system
LED智能玻璃顯示效果6所示。

圖6 LED智能玻璃顯示屏顯示效果圖Fig.6 Display effect diagram of LED intelligent glass display screen
本文介紹了一種基于嵌入式系統的LED智能玻璃顯示控制系統,采用搭載操作系統的CPU+FPGA雙核架構。CPU通過USB接口對U盤中視頻數據進行讀取,通過在CPU特定內置APP中進行地址映射圖繪制,生成地址映射數據,并將視頻數據和映射數據發送至FPGA。FPGA對視頻數據重新排序,通過光纖發送至視頻轉發單元,視頻轉發單元接收視頻數據選取其中一部分視頻數據,反伽馬校正后發送至驅動系統實現對LED智能玻璃顯示屏的控制,采用多個視頻轉發單元級聯方式驅動大規模LED智能玻璃顯示屏。此系統給產品應用帶來了方便,具有更廣泛的應用范圍。