本發(fā)明屬于顯示驅(qū)動(dòng)技術(shù)領(lǐng)域,具體涉及一種用于嵌入式處理器擴(kuò)展DVI顯示輸出的電路及方法。
背景技術(shù):
嵌入式處理器以其優(yōu)良的性能及其較低功耗已經(jīng)廣泛的應(yīng)用在工業(yè)、醫(yī)療、航空、航天等領(lǐng)域。在頭盔顯示器應(yīng)用中,嵌入式處理器除了要完成對(duì)外部傳感器的數(shù)據(jù)進(jìn)行解算外,還需要把通過機(jī)上總線接收到視頻數(shù)據(jù)經(jīng)過特定處理后能夠直接顯示輸出。而像P2020等嵌入式處理器多數(shù)都不具備能夠直接顯示輸出視頻的能力,往往需要借助其他的專用的顯示處理芯片(例如GPU處理器)來實(shí)現(xiàn),實(shí)現(xiàn)架構(gòu)復(fù)雜,軟硬件開銷大,實(shí)時(shí)性較低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種用于嵌入式處理器擴(kuò)展DVI顯示輸出的電路及方法,以解決現(xiàn)有嵌入式處理器無法直接顯示輸出處理后的視頻圖像的問題,實(shí)現(xiàn)架構(gòu)簡單,軟硬件開銷較小,實(shí)時(shí)性高。
本發(fā)明的技術(shù)方案為:
所述一種用于嵌入式處理器擴(kuò)展DVI顯示輸出的電路,其特征在于:由嵌入式處理器,F(xiàn)PGA芯片和DVI編碼芯片組成;
嵌入式處理器處理生成的圖像畫面數(shù)據(jù)存入在內(nèi)存中開辟的指定的幀緩存區(qū)域;嵌入式處理器控制FPGA芯片通過PCIe總線以Bus Master DMA方式從嵌入式處理器內(nèi)存中指定的幀緩存區(qū)域逐像素讀取數(shù)據(jù);FPGA芯片實(shí)現(xiàn)數(shù)據(jù)串并轉(zhuǎn)換及提取有效像素?cái)?shù)據(jù),并根據(jù)設(shè)定的分辨率按照VESA標(biāo)準(zhǔn)的輸出RGB并行視頻數(shù)據(jù);FPGA芯片輸出的RGB并行視頻數(shù)據(jù)通過DVI編碼芯片實(shí)現(xiàn)DVI視頻數(shù)據(jù)的輸出。
進(jìn)一步的優(yōu)選方案,所述一種用于嵌入式處理器擴(kuò)展DVI顯示輸出的電路,其特征在于:所述幀緩存區(qū)域?yàn)槲锢淼刂愤B續(xù)的幀緩存區(qū)域。
進(jìn)一步的優(yōu)選方案,所述一種用于嵌入式處理器擴(kuò)展DVI顯示輸出的電路,其特征在于:一幀圖像數(shù)據(jù)通過DMA數(shù)據(jù)傳輸?shù)拇螖?shù)由圖像大小和一次DMA傳輸?shù)淖止?jié)數(shù)決定;每次DMA傳輸開始時(shí)機(jī)由FPGA芯片產(chǎn)生的表示上一次傳輸數(shù)據(jù)輸出即將完成的中斷信號(hào)觸發(fā)。
進(jìn)一步的優(yōu)選方案,所述一種用于嵌入式處理器擴(kuò)展DVI顯示輸出的電路,其特征在于:一次DMA傳輸最大不超過4096bytes,能夠通過多次DMA傳輸完成一幀圖像數(shù)據(jù)的傳輸。
進(jìn)一步的優(yōu)選方案,所述一種用于嵌入式處理器擴(kuò)展DVI顯示輸出的電路,其特征在于:FPGA芯片采用串行流水線架構(gòu)實(shí)現(xiàn)數(shù)據(jù)串并轉(zhuǎn)換、有效像素?cái)?shù)據(jù)的提取以及按照VESA標(biāo)準(zhǔn)的輸出并行RGB視頻數(shù)據(jù)。
所述一種用于嵌入式處理器擴(kuò)展DVI顯示輸出的方法,其特征在于:包括以下步驟:
步驟1:在嵌入式處理器運(yùn)行內(nèi)存中開辟一段物理地址連續(xù)的區(qū)域作為幀緩存區(qū)域;
步驟2:通過嵌入式處理器將處理生成的圖像數(shù)據(jù)放入所述幀緩存區(qū)域;
步驟3:嵌入式處理器控制FPGA芯片利用PCIe總線以Bus Master DMA方式從所述的幀緩存區(qū)域逐像素讀取圖像數(shù)據(jù),一次DMA傳輸最大不超過4096bytes;
步驟4:在FPGA芯片中實(shí)現(xiàn)數(shù)據(jù)串并轉(zhuǎn)換及有效像素?cái)?shù)據(jù)提取,并根據(jù)設(shè)定的分辨率輸出符合VESA標(biāo)準(zhǔn)的并行RGB數(shù)據(jù);
步驟5:待上次DMA傳輸像素?cái)?shù)據(jù)即將輸出完時(shí),以中斷方式通知嵌入式處理器,并開始下一次DMA數(shù)據(jù)傳輸;
步驟6:重復(fù)步驟3~步驟5;直至一幀圖像數(shù)據(jù)傳輸完成;
步驟7:重復(fù)步驟6,實(shí)現(xiàn)圖像數(shù)據(jù)的連續(xù)顯示輸出。
有益效果
本發(fā)明的有益成果是:本發(fā)明通過嵌入式處理器自帶的PCIe接口,采用簡單的架構(gòu)和較少的軟硬件開銷,實(shí)現(xiàn)了嵌入式處理器直接DVI擴(kuò)展顯示輸出,滿足了在特定頭盔顯示器應(yīng)用,拓展了嵌入式處理器應(yīng)用范圍。
本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
附圖說明
本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1:嵌入式處理器擴(kuò)展DVI顯示輸出的硬件架構(gòu)
圖2:一幀圖像DMA數(shù)據(jù)傳輸流程圖;
圖3:FPGA內(nèi)部邏輯實(shí)現(xiàn)框圖;
圖4:本發(fā)明工作流程圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。
本發(fā)明提供了一種用于嵌入式處理器擴(kuò)展DVI顯示輸出的電路及方法,以解決現(xiàn)有嵌入式處理器無法直接顯示輸出處理后的視頻圖像的問題,實(shí)現(xiàn)架構(gòu)簡單,軟硬件開銷較小,實(shí)時(shí)性高。
如圖1所示,一種用于嵌入式處理器擴(kuò)展DVI顯示輸出的電路由嵌入式處理器,小型低容量FPGA芯片和DVI編碼芯片組成。
嵌入式處理器處理生成的圖像畫面數(shù)據(jù)存入在內(nèi)存中開辟的指定的幀緩存區(qū)域,優(yōu)選物理地址連續(xù)的幀緩存區(qū)域。
嵌入式處理器(作為RC)控制FPGA芯片(作為EP)通過PCIe總線以Bus Master DMA方式從嵌入式處理器內(nèi)存中指定的幀緩存區(qū)域逐像素讀取數(shù)據(jù)。其中一幀圖像數(shù)據(jù)通過DMA數(shù)據(jù)傳輸?shù)拇螖?shù)由圖像大小和一次DMA傳輸?shù)淖止?jié)數(shù)決定;一次DMA傳輸最大不超過4096bytes,能夠通過多次DMA傳輸完成一幀圖像數(shù)據(jù)的傳輸。每次DMA傳輸開始時(shí)機(jī)由FPGA芯片產(chǎn)生的表示上一次傳輸數(shù)據(jù)輸出即將完成的中斷信號(hào)觸發(fā)。
FPGA芯片實(shí)現(xiàn)數(shù)據(jù)串并轉(zhuǎn)換及提取有效像素?cái)?shù)據(jù),并根據(jù)設(shè)定的分辨率按照VESA標(biāo)準(zhǔn)的輸出RGB并行視頻數(shù)據(jù)。FPGA芯片輸出的RGB并行視頻數(shù)據(jù)通過DVI編碼芯片實(shí)現(xiàn)DVI視頻數(shù)據(jù)的輸出。
FPGA芯片采用串行流水線架構(gòu)實(shí)現(xiàn)數(shù)據(jù)串并轉(zhuǎn)換、有效像素?cái)?shù)據(jù)的提取以及按照VESA標(biāo)準(zhǔn)的輸出并行RGB視頻數(shù)據(jù)。FPGA內(nèi)部邏輯實(shí)現(xiàn)架構(gòu)如圖3所示。
利用上述硬件電路實(shí)現(xiàn)用于嵌入式處理器擴(kuò)展DVI顯示輸出的方法,包括以下步驟:
步驟1:在嵌入式處理器運(yùn)行內(nèi)存中開辟一段物理地址連續(xù)的區(qū)域作為幀緩存區(qū)域;
步驟2:通過嵌入式處理器將處理生成的圖像數(shù)據(jù)放入所述幀緩存區(qū)域;
步驟3:嵌入式處理器控制FPGA芯片利用PCIe總線以Bus Master DMA方式從所述的幀緩存區(qū)域逐像素讀取圖像數(shù)據(jù),一次DMA傳輸最大不超過4096bytes;
步驟4:在FPGA芯片中實(shí)現(xiàn)數(shù)據(jù)串并轉(zhuǎn)換及有效像素?cái)?shù)據(jù)提取,并根據(jù)設(shè)定的分辨率輸出符合VESA標(biāo)準(zhǔn)的并行RGB數(shù)據(jù);
步驟5:待上次DMA傳輸像素?cái)?shù)據(jù)即將輸出完時(shí),以中斷方式通知嵌入式處理器,并開始下一次DMA數(shù)據(jù)傳輸;
步驟6:重復(fù)步驟3~步驟5;直至一幀圖像數(shù)據(jù)傳輸完成;
步驟7:重復(fù)步驟6,實(shí)現(xiàn)圖像數(shù)據(jù)的連續(xù)顯示輸出。所述的FPGA輸出的連續(xù)的RGB并行視頻數(shù)據(jù)通過DVI編碼芯片實(shí)現(xiàn)DVI視頻數(shù)據(jù)的連續(xù)穩(wěn)定輸出。
盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在不脫離本發(fā)明的原理和宗旨的情況下在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。