本申請涉及觸摸控制領域,特別涉及一種實現(xiàn)V-BY-ONE的FPGA芯片和相應的V-BY-ONE處理方法。
背景技術(shù):
V-By-ONE(Video By ONE),是專門面向圖像傳輸開發(fā)出的數(shù)字接口標準。相比于傳統(tǒng)的LVDS(Low-Voltage Differential Signaling,低電壓差分信號)接口,采用V-By-ONE傳輸視頻信號可以幫助減少PCB(Printed Circuit Board,印制電路板)布線、減少EMI(Electro Magnetic Interference,電磁干擾)/EMC(Electromagnetic Compatibility,電磁兼容)干擾,尤其在傳輸超高清圖像時效果更明顯。V-By-ONE是目前超高清解決方案廣泛采用的傳輸接口。
由于SOC(System on Chip,芯片級系統(tǒng))芯片是訂制的集成電路,V-By-ONE接口的模擬電路是根據(jù)需求定制的,可以完美的適配整個系統(tǒng)。因此,超高清解決方案大多是SOC芯片的方式。
在產(chǎn)品生產(chǎn)實踐中,采用FPGA(Field-Programmable Gate Array,現(xiàn)場可編程門陣列)實現(xiàn)V-By-ONE并用于量產(chǎn)的產(chǎn)品很少。在使用FPGA時,V-By-ONE接口的模擬電路是需要借用FPGA芯片提供的高速收發(fā)單元來實現(xiàn)。不同的FPGA提供的高速收發(fā)單元規(guī)格是不同的。
例如,能支持4lanes(線路,或通路)的高速收發(fā)單元的成本遠低于能支持8lanes甚至更多l(xiāng)anes的高速收發(fā)單元。而在發(fā)送4KX2K 60HZ數(shù)據(jù)時,需要發(fā)送8lanes的V-By-ONE數(shù)據(jù),選用兩個支持4lanes的高速收發(fā)單元的成本遠低于選用一個能支持8lanes的高速收發(fā)單元。從成本考慮,顯然選用兩個支持4lanes的高速收發(fā)單元更適用于量產(chǎn)型產(chǎn)業(yè)。因此,現(xiàn)有的設計中采用兩個V-By-ONE控制器來分別給出4lanes給兩個高速收發(fā)單元。
申請人在實現(xiàn)本申請的過程中發(fā)現(xiàn),上述現(xiàn)有的處理方案至少存在如下的問題:
在采用FPGA實現(xiàn)V-By-ONE的場景中,由于高速收發(fā)單元規(guī)格的變化以及成本的考慮,現(xiàn)有技術(shù)改變了V-By-ONE的原設計方案,通過兩個或多個V-By-ONE控制器來分別輸出到不同的高速收發(fā)單元,這樣的方案由于各組V-By-ONE控制器和高速收發(fā)單元之間獨立運行,造成接收端解碼異常,已經(jīng)不能滿足系統(tǒng)的穩(wěn)定性需求,嚴重影響了高清數(shù)據(jù)的傳輸質(zhì)量和用戶體驗。
技術(shù)實現(xiàn)要素:
本申請實施例提供一種實現(xiàn)V-BY-ONE的FPGA芯片和相應的V-BY-ONE處理方法,以實現(xiàn)在存在多個高速收發(fā)單元的多通路FPGA芯片中,對不同的通路進行時鐘統(tǒng)一,保證各通路的處理進程同步進行,避免多通路時鐘偏差對V-BY-ONE處理效果的影響。
為了達到上述技術(shù)目的,本申請?zhí)峁┝艘环N實現(xiàn)V-BY-ONE的FPGA芯片,具體包括:
一個晶振、一個V-BY-ONE Mapping單元和至少兩個V-BY-ONE傳輸組,其中,每個V-BY-ONE傳輸組中至少包括高速收發(fā)單元,異步先入先出AFIFO單元和V-BY-ONE控制單元;
各所述高速收發(fā)單元分別與所述晶振相連接,用于通過同一個所述晶振獲取單端時鐘信息;
鎖相環(huán)PLL單元與一個高速收發(fā)單元相連接,用于將該高速收發(fā)單元所獲取到的單端時鐘信息,轉(zhuǎn)換為統(tǒng)一時鐘信息,配置給相應的V-BY-ONE傳輸組和V-BY-ONE Mapping單元;
所述V-BY-ONE Mapping單元將接收到的數(shù)據(jù)流分別發(fā)送給各所述V-BY-ONE傳輸組,由各所述V-BY-ONE傳輸組按照所述統(tǒng)一時鐘信息進行處理,通過各自的所述高速收發(fā)單元將處理后的數(shù)據(jù)流發(fā)送給接收端。
優(yōu)選的,所述晶振與各高速收發(fā)單元所對應的專用時鐘引腳的距離相等。
優(yōu)選的,所述FPGA芯片中包含多個PLL單元,各PLL單元分別對應了各所述V-BY-ONE傳輸組,各PLL單元將自身所對應的V-BY-ONE傳輸組中的高速收發(fā)單元所獲取的單端時鐘信息轉(zhuǎn)換為統(tǒng)一時鐘信息,配置給V-BY-ONE Mapping單元,以及自身所對應的V-BY-ONE傳輸組中的高速收發(fā)單元,AFIFO單元和V-BY-ONE控制單元;
或,
所述FPGA芯片中只包含一個PLL單元,該PLL單元對應了全部V-BY-ONE傳輸組,該PLL單元與任一高速收發(fā)單元相連接,并將該高速收發(fā)單元所獲取的單端時鐘信息轉(zhuǎn)換為統(tǒng)一時鐘信息,配置給V-BY-ONE Mapping單元,以及各V-BY-ONE傳輸組中的高速收發(fā)單元,AFIFO單元和V-BY-ONE控制單元。
優(yōu)選的,所述FPGA芯片中包含的至少兩個V-BY-ONE傳輸組中分別包括不同的V-BY-ONE控制單元,各V-BY-ONE控制單元之間通過握手信號進行處理進程的同步。
優(yōu)選的,所述各V-BY-ONE控制單元之間通過握手信號進行處理進程的同步,具體包括:
當一個V-BY-ONE控制單元初始化完成時,向所有其他V-BY-ONE控制單元發(fā)送待命確認消息;
所述V-BY-ONE控制單元判斷是否接收到了所有其他V-BY-ONE控制單元所發(fā)送的待命確認消息;
如果不是,則繼續(xù)待命,如果是,則所述V-BY-ONE控制單元啟動當前的處理進程。
優(yōu)選的,所述FPGA芯片中包含的至少兩個V-BY-ONE傳輸組中分別包括的V-BY-ONE控制單元具體為同一個V-BY-ONE控制單元,所述V-BY-ONE控制單元初始化完成后,分別觸發(fā)各V-BY-ONE傳輸組的處理進程。
另外,本申請實施例還提供了一種V-BY-ONE處理方法,應用于一種實現(xiàn)V-BY-ONE的FPGA芯片中,所述FPGA芯片包括一個晶振、一個V-BY-ONE Mapping單元和至少兩個V-BY-ONE傳輸組,其中,每個V-BY-ONE傳輸組中至少包括高速收發(fā)單元,異步先入先出AFIFO單元和V-BY-ONE控制單元,所述方法具體包括:
所述FPGA芯片通過同一個晶振向各高速收發(fā)單元發(fā)送相同的單端時鐘信息;
所述FPGA芯片通過其中一個高速收發(fā)單元將單端時鐘信息發(fā)送給PLL單元,轉(zhuǎn)換為統(tǒng)一時鐘信息,并配置給所述PLL單元相應的V-BY-ONE傳輸組和V-BY-ONE Mapping單元;
當所述FPGA芯片通過所述V-BY-ONE Mapping單元接收到數(shù)據(jù)流時,通過各所述V-BY-ONE傳輸組按照所述統(tǒng)一時鐘信息進行處理,并分別通過各所述V-BY-ONE傳輸組中的高速收發(fā)單元,將處理后的數(shù)據(jù)流發(fā)送給接收端。
優(yōu)選的,在所述FPGA芯片中,所述晶振與各高速收發(fā)單元所對應的專用時鐘引腳的距離相等。
優(yōu)選的,所述FPGA芯片中包含多個PLL單元,各PLL單元分別對應了各所述V-BY-ONE傳輸組,各PLL單元將自身所對應的V-BY-ONE傳輸組中的高速收發(fā)單元所獲取的單端時鐘信息轉(zhuǎn)換為統(tǒng)一時鐘信息,配置給V-BY-ONE Mapping單元,以及自身所對應的V-BY-ONE傳輸組中的高速收發(fā)單元,AFIFO單元和V-BY-ONE控制單元;
或,
所述FPGA芯片中只包含一個PLL單元,該PLL單元對應了全部V-BY-ONE傳輸組,該PLL單元與任一高速收發(fā)單元相連接,并將該高速收發(fā)單元所獲取的單端時鐘信息轉(zhuǎn)換為統(tǒng)一時鐘信息,配置給V-BY-ONE Mapping單元,以及各V-BY-ONE傳輸組中的高速收發(fā)單元,AFIFO單元和V-BY-ONE控制單元。
優(yōu)選的,所述FPGA芯片中包含的至少兩個V-BY-ONE傳輸組中分別包括不同的V-BY-ONE控制單元,各V-BY-ONE控制單元之間通過握手信號進行處理進程的同步;
或,
所述FPGA芯片中包含的至少兩個V-BY-ONE傳輸組中分別包括的V-BY-ONE控制單元具體為同一個V-BY-ONE控制單元,所述V-BY-ONE控制單元初始化完成后,分別觸發(fā)各V-BY-ONE傳輸組的處理進程。
與現(xiàn)有技術(shù)相比,本申請實施例所提出的技術(shù)方案的有益技術(shù)效果包括:
本申請實施例公開了一種實現(xiàn)V-BY-ONE的FPGA芯片和相應的V-BY-ONE處理方法,該FPGA芯片只包含一個晶振,通過該晶振為全部的多個高速收發(fā)單元傳輸相同的單端時鐘信息,并由PLL單元將該單端時鐘信息轉(zhuǎn)化為統(tǒng)一時鐘信息,發(fā)送給V-BY-ONE Mapping單元和各通路的V-BY-ONE傳輸組,從而,實現(xiàn)在存在多個高速收發(fā)單元的多通路FPGA芯片中,對不同的通路進行時鐘統(tǒng)一,保證各通路的處理進程同步進行,避免多通路時鐘偏差對V-BY-ONE處理效果的影響。
附圖說明
為了更清楚地說明本申請的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)中采用FPGA實現(xiàn)V-By-ONE的芯片結(jié)構(gòu)示意圖;
圖2為本申請實施例所提出的一種實現(xiàn)V-BY-ONE的FPGA芯片的結(jié)構(gòu)示意圖;
圖3為本申請實施例在具體應用場景下所提出的一種包括多個PLL單元的實現(xiàn)V-BY-ONE的FPGA芯片的結(jié)構(gòu)示意圖;
圖4為本申請實施例在具體應用場景下所提出的一種包括握手同步過程的實現(xiàn)V-BY-ONE的FPGA芯片的結(jié)構(gòu)示意圖;
圖5為本申請實施例在具體應用場景下所提出的一種包括單個V-BY-ONE控制單元的實現(xiàn)V-BY-ONE的FPGA芯片的結(jié)構(gòu)示意圖;
圖6為本申請實施例所提出的一種V-BY-ONE處理方法的流程示意圖。
具體實施方式
正如本申請背景技術(shù)所陳述的,在采用FPGA實現(xiàn)V-By-ONE的場景中,如果采用多通路設計,應用多個高速收發(fā)單元進行數(shù)據(jù)傳輸,則會因為各組V-By-ONE控制器和高速收發(fā)單元之間獨立運行,無法準確保證時鐘同步,而造成接收端解碼異常,從而,無法滿足系統(tǒng)的穩(wěn)定性需求,影響高清數(shù)據(jù)的傳輸質(zhì)量和用戶體驗。
如圖1所示,為現(xiàn)有技術(shù)中采用FPGA實現(xiàn)V-By-ONE的芯片結(jié)構(gòu)示意圖。圖中所示框圖內(nèi)為FPGA內(nèi)部設計,包含V-BY-ONE MAPPING單元、兩個V-BY-ONE控制器、兩個AFIFO(Asynchronous First Input First Output,異步先入先出隊列)和兩個高速收發(fā)單元。其中,V-BY-ONE MAPPING單元負責將輸入的視頻流按照接收端要求的數(shù)據(jù)排列方式對數(shù)據(jù)進行重新排列。V-BY-ONE控制器主要是實現(xiàn)V-BY-ONE協(xié)議。AFIFO實現(xiàn)跨時鐘域處理。高速收發(fā)單元是FPGA內(nèi)部的基本單元,在此設計中使用其發(fā)送相關的功能??驁D外的OSC1(oscillator,晶振)和OSC2為PCB電路板上與設計緊密相關的兩個晶振的示意圖。
基于上述的設計結(jié)構(gòu),現(xiàn)有技術(shù)的工作方式具體為,數(shù)據(jù)流從FPGA外部輸入FPGA,V-BY-ONE MAPPING單元收到數(shù)據(jù)流后,會根據(jù)接收端的需求將數(shù)據(jù)進行重新組合排列,拆分發(fā)送給兩個V-BY-ONE控制器單元。V-BY-ONE控制器單元將接收到的數(shù)據(jù)按照V-BY-ONE協(xié)議進行打包、編碼和加擾等操作后,推送到AFIFO。AFIFO接收到V-BY-ONE控制單元推入的數(shù)據(jù)后,非空狀態(tài)信號拉高,此時,AFIFO會將數(shù)據(jù)取出,發(fā)送給高速收發(fā)單元,由高速收發(fā)單元將數(shù)據(jù)轉(zhuǎn)換成高速的串行數(shù)據(jù)發(fā)送給接收端。
該設計中涉及到三個時鐘域。第一個是FPGA外部與輸入的數(shù)據(jù)流同步時鐘;第二個是V-BY-ONE MAPPING單元(其中一部分)、V-BY-ONE控制器1、AFIFO1和高速收發(fā)單元1所在的時鐘域;第三個是V-BY-ONE MAPPING單元(其中一部分)、V-BY-ONE控制器2、AFIFO2和高速收發(fā)單元2所在的時鐘域。其中V-BY-ONE MAPPING單元工作在3個時鐘域下,需要同時處理三個時鐘域的數(shù)據(jù)。這樣在一個單元中處理多個時鐘域的設計會較為復雜,并且第二個時鐘域和第三個時鐘域的邏輯單元不能共用,造成資源浪費,導致在FPGA布線后該模塊占用較大的資源,同時影響其他模塊的時序。
該設計中第二個時鐘域和第三個時鐘域的時鐘分別來自于PCB板上的兩個晶振。以第二個時鐘域為例介紹該時鐘域內(nèi)時鐘。外部晶振OSC1給出一個穩(wěn)定的148.5MHZ差分時鐘給FPGA專用的參考時鐘引腳上,該差分時鐘經(jīng)過IBUFDS_GTE2單元后轉(zhuǎn)換成單端時鐘,并經(jīng)專用的時鐘布線資源進入高速收發(fā)模塊內(nèi)部。高速收發(fā)模塊會以該單端時鐘作為輸入重新產(chǎn)生一個同頻的單端時鐘。然后在經(jīng)過PLL產(chǎn)生該時鐘域內(nèi)的所有時鐘。同理可以得到第三個時鐘域內(nèi)的時鐘。由此可見第二個時鐘域與第三個時鐘域是兩條完全獨立的通路。由于兩個通路完全獨立,同時在兩個通路之間沒有交互的信號,這樣兩個通路會有不同步的風險。如果發(fā)生不同步的情況,接收端就會發(fā)生解碼錯誤。
下面針對該設計分析會造成接收端不能正常解碼的具體原因。
首先,從圖1中看到兩個通路的時鐘源是來自PCB板上的兩顆晶振。在兩顆晶振頻率存在偏差時,這兩個通路是工作在不同頻率下的,假如OSC1的時鐘頻率稍大于OSC2的時鐘頻率,此時兩個通路從V-BY-ONE MAPPING單元中取數(shù)據(jù)的速度就存在偏差,OSC1所在的第二個時鐘域通路取數(shù)據(jù)的速度要大于OSC2所在的第三個時鐘域通路,在經(jīng)過一行圖像數(shù)據(jù)后累計的偏差會加大。如果累計偏差在接收端的接受范圍內(nèi),那此時接收不會表現(xiàn)會異常,因為累計偏差會在每一行被清零一次。這是一個風險點。
其次,該設計中每一個通路各有一個V-BY-ONE控制器,在上電后由于工作頻率和每個通路的實際情況不同,兩個V-BY-ONE控制器的工作節(jié)奏是不完全同步的,在這種情況下會有其中一個控制器先工作,另外一個控制器還在做初始化的處理,這樣在接收端會造成時鐘恢復異常,屏端會有出現(xiàn)鎖定后失鎖,然后一直重復的情況。這是第二個風險點。
基于以上兩個風險點,現(xiàn)有的FPGA芯片設計方案在實現(xiàn)V-BY-ONE處理過程中存在時鐘異步風險,無法保證解碼正常,影響了系統(tǒng)穩(wěn)定性。
本申請的發(fā)明人希望通過本申請所提供的技術(shù)方案,通過單個晶振為多通路提供相同的單端時鐘信息,實現(xiàn)在存在多個高速收發(fā)單元的多通路FPGA芯片中,對不同的通路進行時鐘統(tǒng)一,保證各通路的處理進程同步進行,避免多通路時鐘偏差對V-BY-ONE處理效果的影響。
在多通路場景下,時鐘偏差是造成系統(tǒng)不穩(wěn)定的主要因素。由于在FPGA內(nèi)部多個高速收發(fā)單元的輸入時鐘的布線都是專用的,多個高速收發(fā)單元的時鐘不能共享,同時高速收發(fā)單元產(chǎn)生的時鐘也不可以作為另外一個高速收發(fā)單元的輸入時鐘來使用,因此,在FPGA內(nèi)部無法做到對多個通路時鐘偏差的修正,只能從FPGA外部也就是PCB板上來修改,因此,本申請的發(fā)明人提出了單晶振提供單端時鐘信息的方案,由一顆晶振同時驅(qū)動多個高速收發(fā)單元。。
如圖2所示,為本申請實施例所提出的一種實現(xiàn)V-BY-ONE的FPGA芯片的結(jié)構(gòu)示意圖,具體包括一個晶振21、一個V-BY-ONE Mapping單元22和至少兩個V-BY-ONE傳輸組(在本實施例中,為簡便說明,以兩個V-BY-ONE傳輸組為例,如圖2所示,具體為V-BY-ONE傳輸組23和V-BY-ONE傳輸組24,在實際應用中則可以是更多數(shù)量,這樣的變化并不會影響本申請的保護范圍),其中,V-BY-ONE傳輸組23中至少包括高速收發(fā)單元231,AFIFO單元232和V-BY-ONE控制單元233,V-BY-ONE傳輸組24中至少包括高速收發(fā)單元241,AFIFO單元242和V-BY-ONE控制單元243。
針對上述的FPGA芯片結(jié)構(gòu),需要進行說明的內(nèi)容如下:
(1)單晶振提供時鐘信息。
高速收發(fā)單元231和高速收發(fā)單元241分別與晶振21相連接,用于通過同一個晶振獲取單端時鐘信息。
在具體的應用場景中,為了更好的減小晶振到FPGA兩個專用時鐘管腳PCB走線的干擾,可以設置晶振21與高速收發(fā)單元231和高速收發(fā)單元241所對應的專用時鐘引腳的距離相等,這樣,就避免了信號傳輸過程對時鐘同步的影響。
(2)PLL單元進行時鐘同步。
PLL單元25與高速收發(fā)單元231(在具體的應用場景中,也可以是高速收發(fā)單元241,這樣的變化并不會影響本申請的保護范圍)相連接,用于將高速收發(fā)單元231所獲取到的單端時鐘信息,轉(zhuǎn)換為統(tǒng)一時鐘信息,配置給相應的V-BY-ONE傳輸組和V-BY-ONE Mapping單元22。
在具體的應用場景中,這樣的PLL單元進行時鐘同步的方案可以包括以下兩種:
方案A、多PLL分別進行各通路的時鐘同步。
具體可以如圖3所示,所述FPGA芯片中包含多個PLL單元(同樣以雙通路為例,PLL單元也相應的為兩個,PLL單元251和PLL單元252),各PLL單元分別對應了各V-BY-ONE傳輸組,PLL單元251對應了V-BY-ONE傳輸組23,PLL單元252對應了V-BY-ONE傳輸組24,PLL單元251與高速收發(fā)單元231相連接,PLL單元252與高速收發(fā)單元232相連接。
各PLL單元將自身所對應的V-BY-ONE傳輸組中的高速收發(fā)單元所獲取的單端時鐘信息轉(zhuǎn)換為統(tǒng)一時鐘信息,配置給V-BY-ONE Mapping單元22,以及自身所對應的V-BY-ONE傳輸組中的高速收發(fā)單元,AFIFO單元和V-BY-ONE控制單元。具體的,PLL單元251向V-BY-ONE傳輸組23中的高速收發(fā)單元231,AFIFO單元232和V-BY-ONE控制單元233進行時鐘信息配置,PLL單元252向V-BY-ONE傳輸組24中的高速收發(fā)單元241,AFIFO單元242和V-BY-ONE控制單元243進行時鐘信息配置。
需要說明的是,由于高速收發(fā)單元231和高速收發(fā)單元241都是通過晶振21獲取單端時鐘信息,可以保證時鐘信息的一致性,所以,即使是多個PLL單元,其向相應的通路所同步的時鐘信息也是相同的。通過這樣的時鐘配置過程,多通路保持了時鐘信息的統(tǒng)一,實現(xiàn)了時鐘同步。對于本方案,多個PLL單元的設計保證各PLL單元之間的處理過程獨立,避免多通路同時處理所帶來的處理壓力,同時,相對于現(xiàn)有的技術(shù)方案,其對布線改動小,降低了設備升級的成本。
方案B、一個PLL進行全部各通路的時鐘同步。
由于布線上的改進,F(xiàn)PGA芯片內(nèi)部原先設計的多個通路的時鐘源頭現(xiàn)在改為一個源頭,因此,本申請進一步提出將多個通路上的PLL單元也簡化為一個,由其中一個高速收發(fā)單元的輸出做為PLL單元的輸入,PLL單元的輸出同時給所有通路上的高速收發(fā)單元。
具體可以如圖2所示,所述FPGA芯片中只包含一個PLL單元25,該PLL單元25對應了全部V-BY-ONE傳輸組,PLL單元25與任一高速收發(fā)單元相連接(在圖2中,以高速收發(fā)單元231為例進行說明),并將該高速收發(fā)單元231所獲取的單端時鐘信息轉(zhuǎn)換為統(tǒng)一時鐘信息,配置給V-BY-ONE Mapping單元22,以及各V-BY-ONE傳輸組中的高速收發(fā)單元,AFIFO單元和V-BY-ONE控制單元。
PLL單元25將高速收發(fā)單元231通過晶振21所獲取單端時鐘信息轉(zhuǎn)換為統(tǒng)一時鐘信息,配置給V-BY-ONE Mapping單元22,以及自身所對應的V-BY-ONE傳輸組中的高速收發(fā)單元,AFIFO單元和V-BY-ONE控制單元。
由于只有一個PLL單元25參與了時鐘同步,所以,各單元被同步的時鐘信息是完全一致的,保證了時鐘同步。對于本方案,采用單個PLL單元設計,可以減少其他PLL單元設置和布線所到來的設計壓力和成本,同時,單個PLL單元進行時鐘同步也降低了時鐘信息受到干擾,在多通路之間異步的風險,提高了同步系統(tǒng)的可靠性。
在具體的應用場景中,上述的方案A和方案B都可以根據(jù)實際需要進行選擇和應用,這樣的變化并不會影響本申請的保護范圍。
(3)多通路同步進行數(shù)據(jù)流處理。
所述V-BY-ONE Mapping單元22將接收到的數(shù)據(jù)流分別發(fā)送給各所述V-BY-ONE傳輸組,由各所述V-BY-ONE傳輸組按照所述統(tǒng)一時鐘信息進行處理,通過各自的所述高速收發(fā)單元將處理后的數(shù)據(jù)流發(fā)送給接收端。
需要進一步說明的是,考慮到多通路場景下,每個V-BY-ONE傳輸組都需要各自的V-BY-ONE控制單元進行數(shù)據(jù)流處理控制,而V-BY-ONE控制器分別獨立于兩個通路上,各V-BY-ONE控制器之間是不清楚對方當前工作狀態(tài)的,所以,如果V-BY-ONE控制單元無法保證工作節(jié)奏的同步,即使時鐘信息統(tǒng)一,也無法保證輸出端數(shù)據(jù)的同步抵達,影像數(shù)據(jù)流傳輸質(zhì)量。
因此,本申請實施例進一步通過以下兩種方案保證多通路V-BY-ONE控制單元之間的處理過程同步。
方案一、增加握手驗證過程。
本方案適用于各通路的V-BY-ONE傳輸組中分別包含V-BY-ONE控制單元的情況。
同樣以圖2所示的結(jié)構(gòu)為例,所述FPGA芯片中包含的至少兩個V-BY-ONE傳輸組(V-BY-ONE傳輸組23和V-BY-ONE傳輸組24)中分別包括不同的V-BY-ONE控制單元(V-BY-ONE控制單元233和V-BY-ONE控制單元243),各V-BY-ONE控制單元之間通過握手信號進行處理進程的同步。
在具體的應用場景中,所述各V-BY-ONE控制單元之間通過握手信號進行處理進程的同步的過程如圖4所示,具體包括:
當一個V-BY-ONE控制單元初始化完成時,向所有其他V-BY-ONE控制單元發(fā)送待命確認消息;
所述V-BY-ONE控制單元判斷是否接收到了所有其他V-BY-ONE控制單元所發(fā)送的待命確認消息;
如果不是,則繼續(xù)待命,如果是,則所述V-BY-ONE控制單元啟動當前的處理進程。
如圖4所示,V-BY-ONE控制單元233和V-BY-ONE控制單元243所采取的處理策略完全一致。
當V-BY-ONE控制單元233初始化完成時,向V-BY-ONE控制單元243發(fā)送待命確認消息(具體可以為一個ready消息)。在自身發(fā)出消息之后,V-BY-ONE控制單元233判斷是否接收到了V-BY-ONE控制單元243所發(fā)送的待命確認消息。
如果不是,則表示V-BY-ONE控制單元243尚未就緒,V-BY-ONE控制單元233繼續(xù)待命。
相反,如果是,則表示V-BY-ONE控制單元243已經(jīng)初始化完畢,準備就緒,由于V-BY-ONE控制單元233之前已經(jīng)向V-BY-ONE控制單元243發(fā)送了待命確認消息,所以,V-BY-ONE控制單元243也必然已經(jīng)確認V-BY-ONE控制單元233準備就緒,所以,V-BY-ONE控制單元233和V-BY-ONE控制單元243同時分別啟動當前的處理進程,保證了多通路之間工作節(jié)奏的同步。
方案二、合并多通路的V-BY-ONE控制單元。
本方案適用于FPGA芯片中只有一個V-BY-ONE控制單元的情況。
即如圖5所示,該方案由一個外部時鐘晶振提供時鐘源,消除了原設計中兩顆晶振時鐘頻率不一致導致兩個通路數(shù)據(jù)偏差較大,造成接收端8lanes數(shù)據(jù)不同步以及鎖定異常等異常情況。同時也簡化了高速收發(fā)單元部分時鐘部分的設計,優(yōu)化了時鐘部分邏輯,更好的滿足FPGA布局布線時的時序要求,增強的系統(tǒng)的穩(wěn)定性。但更重要的是,所述FPGA芯片中包含的至少兩個V-BY-ONE傳輸組中分別包括的V-BY-ONE控制單元具體為同一個V-BY-ONE控制單元26,所述V-BY-ONE控制單元26初始化完成后,分別觸發(fā)各V-BY-ONE傳輸組的處理進程。
上述方案將兩個V-BY-ONE控制器合并為一個V-BY-ONE控制器來處理V-BY-ONE協(xié)議。由原先每個V-BY-ONE控制器控制4lanes數(shù)據(jù)修改為由一個V-BY-ONE控制器控制8lanes數(shù)據(jù)。由一個控制器來處理8lanes數(shù)據(jù)消除了兩個控制帶來的節(jié)奏不一致問題,提高了接收端鎖定的可靠性。消除了原先設計中會有接收端鎖定后失鎖的問題,也避免了由于反復失鎖造成接收端進入混亂狀態(tài)而無法恢復,使得系統(tǒng)可靠性大大提升。
改由一個控制器的控制的方案也省去了改進方案中加入握手的機制。根據(jù)所選用FPGA期間型號的差異,兩個高速收發(fā)單元的位置可能會放在FPGA芯片的兩端,兩個高速收發(fā)單元的距離較遠,F(xiàn)PGA布線時會把相關資源放在距離高速收發(fā)單元周圍,這樣子握手信號需要從FPGA芯片的頂部布線至FPGA芯片的底部,布線距離較遠,布線后時序難以滿足,F(xiàn)PGA為了滿足該布線時序會對其他單元的布線進行調(diào)整,相應的單元時序是變差,從而影響整個系統(tǒng)的時序,使得系統(tǒng)穩(wěn)定性變差,在接收端顯示的圖像有等高線或亂點等問題。該設計方案可以很好的滿足FPGA的時序要求,對系統(tǒng)的穩(wěn)定性也會有所提高。
該方案將原先設計中3個時鐘域減少為2個時鐘域。第一個時鐘域為視頻流所在時鐘域,第二個時鐘域為V-BY-ONE MAPPING單元中部分以及其后的所有模塊所在的時鐘域,由V-BY-ONE MAPPING單元來處理兩個時鐘域的數(shù)據(jù),這樣的改進設計大大簡化了V-BY-ONE MAPPING單元跨時鐘域處理的復雜度,減輕了V-BY-ONE MAPPING設計的工作量,同時減小了V-BY-ONE MAPPING單元的面積,有利于FPGA芯片內(nèi)部布局布線的處理,更好的滿足時序要求。
該方案對PCB設計的修改,去掉原先設計兩顆晶振中的一顆,使兩個通路偏差減少到最小。不僅提高了系統(tǒng)的穩(wěn)定性,同時降低的成本。
與現(xiàn)有技術(shù)相比,本申請實施例所提出的技術(shù)方案的有益技術(shù)效果包括:
本申請實施例公開了一種實現(xiàn)V-BY-ONE的FPGA芯片和相應的V-BY-ONE處理方法,該FPGA芯片只包含一個晶振,通過該晶振為全部的多個高速收發(fā)單元傳輸相同的單端時鐘信息,并由PLL單元將該單端時鐘信息轉(zhuǎn)化為統(tǒng)一時鐘信息,發(fā)送給V-BY-ONE Mapping單元和各通路的V-BY-ONE傳輸組,從而,實現(xiàn)在存在多個高速收發(fā)單元的多通路FPGA芯片中,對不同的通路進行時鐘統(tǒng)一,保證各通路的處理進程同步進行,避免多通路時鐘偏差對V-BY-ONE處理效果的影響。
下面將結(jié)合本申請中的附圖,對本申請中的技術(shù)方案進行清楚、完整的描述,顯然,所描述的實施例是本申請的一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
如圖6所示,為本申請實施例所提出的一種在前述的FPGA芯片中實現(xiàn)V-BY-ONE處理的方法示意圖,該方法具體包括:
步驟S601、所述FPGA芯片通過同一個晶振向各高速收發(fā)單元發(fā)送相同的單端時鐘信息。
在具體的應用場景中,為了更好的減小晶振到FPGA兩個專用時鐘管腳PCB走線的干擾,可以設置晶振與各高速收發(fā)單元所對應的專用時鐘引腳的距離相等,這樣,就避免了信號傳輸過程對時鐘同步的影響。
步驟S602、所述FPGA芯片通過其中一個高速收發(fā)單元將單端時鐘信息發(fā)送給PLL單元,轉(zhuǎn)換為統(tǒng)一時鐘信息,并配置給所述PLL單元相應的V-BY-ONE傳輸組和V-BY-ONE Mapping單元。
如前所示,PLL但愿的處理方案包括兩種,多PLL單元分別進行各V-BY-ONE傳輸組的時鐘同步,或者單個PLL單元對所有V-BY-ONE傳輸組進行時鐘同步,在此不再贅述,這樣的變化并不會影響本申請的保護范圍。
步驟S603、當所述FPGA芯片通過所述V-BY-ONE Mapping單元接收到數(shù)據(jù)流時,通過各所述V-BY-ONE傳輸組按照所述統(tǒng)一時鐘信息進行處理,并分別通過各所述V-BY-ONE傳輸組中的高速收發(fā)單元,將處理后的數(shù)據(jù)流發(fā)送給接收端。
同樣的,如前所述,為了實現(xiàn)多通路之間工作節(jié)奏的統(tǒng)一,V-BY-ONE控制單元的設計也包括兩種:多V-BY-ONE控制單元之間的握手同步,或者各V-BY-ONE傳輸組之間V-BY-ONE控制單元的合并,具體的處理方案參照前述說明,在此不再重復。
與現(xiàn)有技術(shù)相比,本申請實施例所提出的技術(shù)方案的有益技術(shù)效果包括:
本申請實施例公開了一種實現(xiàn)V-BY-ONE的FPGA芯片和相應的V-BY-ONE處理方法,該FPGA芯片只包含一個晶振,通過該晶振為全部的多個高速收發(fā)單元傳輸相同的單端時鐘信息,并由PLL單元將該單端時鐘信息轉(zhuǎn)化為統(tǒng)一時鐘信息,發(fā)送給V-BY-ONE Mapping單元和各通路的V-BY-ONE傳輸組,從而,實現(xiàn)在存在多個高速收發(fā)單元的多通路FPGA芯片中,對不同的通路進行時鐘統(tǒng)一,保證各通路的處理進程同步進行,避免多通路時鐘偏差對V-BY-ONE處理效果的影響。
通過以上的實施方式的描述,本領域的技術(shù)人員可以清楚地了解到本發(fā)明實施例可以通過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明實施例的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是CD-ROM,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或網(wǎng)絡側(cè)設備等)執(zhí)行本發(fā)明實施例各個實施場景所述的方法。
本領域技術(shù)人員可以理解附圖只是一個優(yōu)選實施場景的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明實施例所必須的。
本領域技術(shù)人員可以理解實施場景中的裝置中的模塊可以按照實施場景描述進行分布于實施場景的裝置中,也可以進行相應變化位于不同于本實施場景的一個或多個裝置中。上述實施場景的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施場景的優(yōu)劣。
以上公開的僅為本發(fā)明實施例的幾個具體實施場景,但是,本發(fā)明實施例并非局限于此,任何本領域的技術(shù)人員能思之的變化都應落入本發(fā)明實施例的業(yè)務限制范圍。