熊木地, 孫宇航, 郭俞君
(大連海事大學 信息科學技術(shù)學院,遼寧 大連 116026)
隨著科技進步和娛樂方式的多樣化,各類顯示屏應(yīng)運而生,人們對視頻質(zhì)量以及顯示屏應(yīng)用領(lǐng)域的需求也就越來越高。在種類繁多的顯示屏產(chǎn)品中,發(fā)光二極管(LED)顯示屏憑借著色域廣、功耗低、壽命長的優(yōu)勢占據(jù)了顯示屏市場的一大部分[1]。LED智能玻璃顯示屏在具有傳統(tǒng)LED顯示屏特點的基礎(chǔ)上,又具有良好的透明性以及建材特性,因此被廣泛應(yīng)用于戶外大型展示項目,尤其適合于以大樓幕墻為載體或者作為地鐵出口的玻璃幕墻等應(yīng)用。但是,傳統(tǒng)的LED智能玻璃顯示屏的控制系統(tǒng)需要以計算機作為視頻源進行實時的視頻輸出[2-5],在小規(guī)模場合中使用不夠方便,因此本文設(shè)計了一種脫離了獨立視頻源、便攜的視頻播放控制系統(tǒng)。
本系統(tǒng)由視頻輸出單元和視頻轉(zhuǎn)發(fā)單元兩部分組成。如圖1所示,其中視頻輸出單元主要負責提供可視化操作界面以及將按照一定方式重新排序的視頻數(shù)據(jù)通過光纖發(fā)送至視頻轉(zhuǎn)發(fā)單元,視頻轉(zhuǎn)發(fā)單元負責接收并選取其中一部分視頻數(shù)據(jù),再對這部分視頻數(shù)據(jù)進行反Gamma校正后發(fā)送至驅(qū)動系統(tǒng)實現(xiàn)對LED智能玻璃顯示屏的控制。由于LED驅(qū)動芯片的移位時鐘頻率限制了每個視頻轉(zhuǎn)發(fā)單元所能控制的LED數(shù)目,因此想實現(xiàn)大規(guī)模LED智能玻璃顯示屏的控制需要多個視頻轉(zhuǎn)發(fā)單元,所以視頻轉(zhuǎn)發(fā)單元還需要將接收到的視頻數(shù)據(jù)通過光纖轉(zhuǎn)發(fā)至下一個視頻轉(zhuǎn)發(fā)單元,以視頻轉(zhuǎn)發(fā)單元級聯(lián)的形式實現(xiàn)大規(guī)模LED智能玻璃顯示屏的控制。
圖1 LED智能玻璃顯示系統(tǒng)Fig.1 LED smart glass display system
視頻輸出單元由中央處理器(CPU)和現(xiàn)場可編程門陣列(FPGA)兩部分組成。其中CPU及其外圍電路作為視頻輸出單元的主要核心,負責向用戶提供可視化操作界面,實現(xiàn)文件存取,連接互聯(lián)網(wǎng),向FPGA發(fā)送地址碼表,提供視頻數(shù)據(jù)等功能[6]。FPGA及其外圍電路作為輔助核心負責視頻數(shù)據(jù)的重排序以及通過光纖向視頻轉(zhuǎn)發(fā)單元的傳輸。視頻輸出單元的整體工作流程如下:
CPU:預(yù)先燒寫Android系統(tǒng)至外掛EMMC芯片中,提供完整操作系統(tǒng),使用戶可通過HDMI接口連接顯示屏,USB接口連接鼠標鍵盤以及U盤,實現(xiàn)視頻文件存取,連接互聯(lián)網(wǎng)等所需操作。用戶通過特定內(nèi)置APP繪制地址映射圖,生成地址映射數(shù)據(jù)文件,并將地址映射文件中的數(shù)據(jù)發(fā)送至FPGA部分[7]。同時CPU通過特定視頻輸出引腳將RGB數(shù)據(jù)、場同步信號以及隨路時鐘發(fā)送至FPGA部分。
FPGA:在CPU的控制下接收地址映射數(shù)據(jù)并將其分為兩部分存入兩片外掛SSRAM的后半部分地址中,地址映射數(shù)據(jù)存儲完成后,將每一幀RGB視頻數(shù)據(jù)以乒乓操作的方式在兩片外掛SSRAM的前半部分地址中進行讀寫操作,并將讀出的RGB視頻數(shù)據(jù)通過光纖發(fā)送至視頻轉(zhuǎn)發(fā)單元。
視頻轉(zhuǎn)發(fā)單元以FPGA為核心,通過光纖接收視頻輸出單元發(fā)送的RGB視頻數(shù)據(jù)并在其中截取自身控制的部分LED智能玻璃顯示屏所對應(yīng)的RGB視頻數(shù)據(jù),對其進行反Gamma校正后通過網(wǎng)線發(fā)送至驅(qū)動電路實現(xiàn)對LED智能玻璃顯示屏的控制,同時將接收到的全部RGB視頻數(shù)據(jù)通過光纖發(fā)送至下一個視頻轉(zhuǎn)發(fā)單元。
如圖2所示,視頻輸出單元由CPU和FPGA兩部分組成。CPU部分由CPU、EMMC、DDR、WIFI以及電源管理模塊組成。在此之中CPU選用瑞芯微電子的RK3288處理器,該處理器采用四核Cortex-A17架構(gòu),最高支持4 K 10 bits H265/264視頻解碼以及多路視頻輸出,可以保證在提供可視化操作界面的同時向FPGA部分發(fā)送RGB視頻數(shù)據(jù),以實現(xiàn)本系統(tǒng)所需功能[8]。EMMC以及DDR選用KLMAG1JETD-B041N和K4B4G1646E-BMMA兩款芯片,二者分別作為系統(tǒng)存儲器以及系統(tǒng)緩存單元。WIFI選擇AP6335無線WIFI模塊,用以實現(xiàn)系統(tǒng)所需的網(wǎng)絡(luò)功能,電源管理模塊以ACT8846QM490-T芯片為核心,該芯片被設(shè)計專用于RK3288系列芯片電源管理。
圖2 視頻輸出單元結(jié)構(gòu)框圖Fig.2 Structure diagram of video output unit
FPGA部分由FPGA、SSRAM、光纖接口組成。在此之中,F(xiàn)PGA選用Xilinx公司的Spartan-6系列的XC6SLX45T FPGA芯片,該芯片最大支持可達3.2 Gbps的高速串行收發(fā)器,可以滿足本系統(tǒng)所需的光纖傳輸速率需求。SSRAM選用IS61LPS204836B-200TQLI,該芯片最多可存72 Mb數(shù)據(jù),讀寫速率可達200 MHz,能夠滿足本系統(tǒng)所需的1 080 P的視頻數(shù)據(jù)讀寫要求。
在用戶開機后,CPU借由搭載的專用Android5.1操作系統(tǒng)共實現(xiàn)3部分功能。其一為持續(xù)通過專用引腳向FPGA發(fā)送RGB視頻數(shù)據(jù)、隨路時鐘信號以及同步信號。其二為提供可操作圖形界面以及操作系統(tǒng)。其三為通過內(nèi)置APP按照實際LED智能玻璃顯示屏走線繪制地址映射圖生成相應(yīng)地址映射文件,并將其存入EMMC中,之后拉高CPU與FPGA相連的使能引腳,通知FPGA接收地址映射數(shù)據(jù)。并按照CPU生成的寫時鐘信號向FPGA發(fā)送地址映射數(shù)據(jù)。當?shù)刂酚成鋽?shù)據(jù)發(fā)送完成后,CPU拉低使能引腳,通知FPGA地址映射數(shù)據(jù)發(fā)送完畢。該操作需進行兩次,分別發(fā)送地址映射數(shù)據(jù)的前后兩部分。
FPGA部分從功能上可以分為地址映射數(shù)據(jù)接收模塊、視頻數(shù)據(jù)接收以及地址映射模塊、光纖發(fā)送模塊4個模塊。
地址映射數(shù)據(jù)接收模塊在系統(tǒng)上電后等待CPU的使能信號,當使能信號被拉高時,通過FIFO將地址映射數(shù)據(jù)的前后兩部分按照地址自增的方式分別存入外掛SSRAM_B以及SSRAM_A的后半部分存儲空間中。
視頻數(shù)據(jù)接收以及地址映射模塊在FPGA上電后就開始在CPU所發(fā)送的隨路時鐘信號以及同步信號的控制下將視頻數(shù)據(jù)以地址自增的方式存入外掛SSRAM中,由于本系統(tǒng)采用的是1 920×1 080的視頻輸出分辨率,因此通過對行同步信號的計數(shù)可將視頻數(shù)據(jù)均分為兩部分,分別存入SSRAM_A以及SSRAM_B中。在實際運行過程中,為了保證視頻幀數(shù)不減半,在視頻數(shù)據(jù)接收以及地址映射操作過程中采用乒乓操作的方式[9-10]。
光纖發(fā)送模塊通過將Aurora_8b10b IP核配置為單工發(fā)送模式,將地址映射操作完成并經(jīng)過了FIFO的RGB視頻數(shù)據(jù)通過光纖發(fā)送至視頻轉(zhuǎn)發(fā)單元。由于本系統(tǒng)使用的單工Aurora_8b10b IP核的初始化以定時模式實現(xiàn),因此整體光纖通訊系統(tǒng)的上電順序必須為接收端在前,發(fā)送端在后,無法實現(xiàn)光纖的熱插拔,在實際應(yīng)用中較為不便。為解決此問題,在光纖發(fā)送模塊每完整發(fā)送20幀視頻數(shù)據(jù)后,Aurora_8b10b單工發(fā)送模塊會進行一次復(fù)位重啟,使光纖通道可以重新建立,實現(xiàn)光纖的熱插拔,并去除上電順序?qū)饫w系統(tǒng)的影響。由于每次Aurora_8b10b單工發(fā)送模塊的重啟均在視頻場消隱過程中進行,故不會對視頻顯示效果造成影響。
圖3 視頻轉(zhuǎn)發(fā)單元結(jié)構(gòu)框圖Fig.3 Structure diagram of video forwarding unit
如圖3所示,視頻轉(zhuǎn)發(fā)單元以FPGA為核心,F(xiàn)PGA芯片同樣選用Xilinx公司的Spartan-6系列的XC6SLX45T FPGA芯片。視頻轉(zhuǎn)發(fā)單元在功能上可分為光纖模塊、數(shù)據(jù)選取以及處理模塊、數(shù)據(jù)發(fā)送模塊3部分。其中光纖模塊為修改過的Aurora_8b10b IP核,通過修改Aurora_8b10b IP核的程序,使其可以同時作為接收端和發(fā)送端分別與兩個不同的對象建立光纖通道,實現(xiàn)視頻轉(zhuǎn)發(fā)單元之間的光纖級聯(lián)[11-12]。系統(tǒng)上電后,光纖模塊先接收由上一級通過光纖發(fā)送的RGB視頻數(shù)據(jù),并將數(shù)據(jù)選取以及處理模塊處理后的RGB視頻數(shù)據(jù)通過光纖發(fā)送至下一級。數(shù)據(jù)選取以及處理模塊先將光纖接收到的數(shù)據(jù)通過簡單雙口RAM去除其中的無效數(shù)據(jù),之后通過對大小固定的另一個雙口RAM進行寫操作來將RGB視頻數(shù)據(jù)分組。具體為設(shè)置一個初始值為0的寄存器,每次雙口RAM寫滿后會對該寄存器進行加一操作并從地址零開始繼續(xù)寫入下一部分數(shù)據(jù),直至寄存器的值與板載撥碼開關(guān)所設(shè)置的數(shù)值一致,便停止寫入RGB視頻數(shù)據(jù),并對此時雙口RAM中的數(shù)據(jù)進行反伽馬校正處理[13-14]。數(shù)據(jù)發(fā)送模塊將反伽馬校正后的數(shù)據(jù)進行并轉(zhuǎn)串處理,生成與驅(qū)動電路匹配的時鐘后發(fā)送至驅(qū)動電路,實現(xiàn)LED智能玻璃顯示屏的控制。
為保證最終系統(tǒng)輸出視頻不存在丟幀現(xiàn)象,在地址映射過程中需要進行乒乓操作,具體流程如下。FPGA首先需自己生成雙倍于隨路時鐘頻率的時鐘CLK_PP1以及CLK_PP2,在地址映射數(shù)據(jù)存儲完成后,首先以CLK_PP1的奇數(shù)周期作為寫時鐘將第一部分RGB視頻數(shù)據(jù)存入SSRAM_A的前半部分空間中,在這部分RGB視頻數(shù)據(jù)存儲完成后,同樣利用CLK_PP2的奇數(shù)周期將RGB視頻數(shù)據(jù)的后半部分數(shù)據(jù)存入SSRAM_B的同時利用CLK_PP2的偶數(shù)周期作為讀時鐘以地址自增的方式讀出地址映射數(shù)據(jù),并以該數(shù)據(jù)為讀地址利用CLK_PP1的偶數(shù)周期從SSRAM_A中讀出視頻數(shù)據(jù),完成地址映射。再之后SSRAM_A以CLK_PP1的奇數(shù)周期為寫時鐘寫入視頻數(shù)據(jù),以CLK_PP1的偶數(shù)周期為讀時鐘讀出地址映射數(shù)據(jù)并操作SSRAM_B完成地址映射操作,之后重復(fù)上述過程。
嵌入式視頻播放控制系統(tǒng)連線圖如圖4所示。
圖4 嵌入式視頻播放控制系統(tǒng)連線圖Fig.4 Wiring diagram of embedded video playback control system
嵌入式播放控制系統(tǒng)視頻映射調(diào)試如圖5所示,映射調(diào)試采用行列掃描方式,通過觀察行列像素點位置,判斷映射結(jié)果是否準確,經(jīng)實際測試,無像素點錯位現(xiàn)象。
圖5 嵌入式播放控制系統(tǒng)視頻映射調(diào)試圖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
本文介紹了一種基于嵌入式系統(tǒng)的LED智能玻璃顯示控制系統(tǒng),采用搭載操作系統(tǒng)的CPU+FPGA雙核架構(gòu)。CPU通過USB接口對U盤中視頻數(shù)據(jù)進行讀取,通過在CPU特定內(nèi)置APP中進行地址映射圖繪制,生成地址映射數(shù)據(jù),并將視頻數(shù)據(jù)和映射數(shù)據(jù)發(fā)送至FPGA。FPGA對視頻數(shù)據(jù)重新排序,通過光纖發(fā)送至視頻轉(zhuǎn)發(fā)單元,視頻轉(zhuǎn)發(fā)單元接收視頻數(shù)據(jù)選取其中一部分視頻數(shù)據(jù),反伽馬校正后發(fā)送至驅(qū)動系統(tǒng)實現(xiàn)對LED智能玻璃顯示屏的控制,采用多個視頻轉(zhuǎn)發(fā)單元級聯(lián)方式驅(qū)動大規(guī)模LED智能玻璃顯示屏。此系統(tǒng)給產(chǎn)品應(yīng)用帶來了方便,具有更廣泛的應(yīng)用范圍。