一種基於Aurora協議的高速視頻信號傳輸方法與流程
2023-06-08 06:40:36 3

本發明公開一種高速視頻信號傳輸方法,涉及信號傳輸領域,具體地說是一種基於aurora協議的高速視頻信號傳輸方法。
背景技術:
隨著時代發展,計算機通信經常進行高清視頻等信號的遠距離傳輸。而目前這些信號通過普通傳輸線經過遠距離傳輸,接收端收到的信號因傳輸延遲大,會導致嚴重失真等問題。造成視頻信號顯示不清等問題,本發明提供一種基於aurora協議的高速視頻信號傳輸方法,基於aurora協議,利用光纖傳輸解決發送端和接收端數據傳輸不同步,造成視頻信號失真等問題。
aurora協議是一種可擴展的開放的鏈路層協議,該協議採用點對點的串行傳輸方式,實現高速數據的傳輸。該協議固化了gtp硬核,能夠靈活地用於擴展光纖傳輸信道的數量進行多通道綁定,實現數據傳輸的無縫帶寬優化,並且在滿足用戶應用設計的同時簡化了用戶接口。
光纖傳輸,以光導纖維為介質進行的數據、信號傳輸。光導纖維,不僅可用來傳輸模擬信號和數位訊號,而且可以滿足視頻傳輸的需求。光纖傳輸一般使用光纜進行,單根光導纖維的數據傳輸速率能達幾gbps,在不使用中繼器的情況下,傳輸距離能達幾十公裡。
技術實現要素:
本發明針對現有技術存在的不足和問題,提供一種基於aurora協議的高速視頻信號傳輸方法,本發明提出的具體方案是:
一種基於aurora協議的高速視頻信號傳輸方法,基於aurora協議,使光端機發送端odck與接收端idck同源同步,將發送端的aurorauser_clk恢復的時鐘recoveryclk作為接收端aurora的rxoutclk,並通過外部pll晶片生成與odck相同頻率的時鐘作為接收端fifo的讀時鐘,同時輸出到接收端的編碼器,
光端機發送端和接收端的邏輯晶片,依據發送端和接收端時鐘的同源同步,控制發送接收視頻信號。
所述發送端aurora的參考時鐘gt_refclk是odck輸出到i/o引腳,通過外部pll晶片產生同一種時鐘頻率的差分時鐘接入到gtpbank的專用時鐘,使發送端fifo的讀寫時鐘同源同步。
所述光端機傳輸視頻信息的過程為:接收端發送命令讀取edid信息,並發送到發送端保存,向發送端發送edid讀取指令,讀到display的解析度信息,發送display支持的像素信號,發送端設置時鐘頻率,對odck進行採樣,根據接收到的整幀的信號,分析得知發送的視頻信號的解析度及像素傳輸頻率,再發送給接收端,接收端解析後生成相應信號,發給transmitter,發送端根據信號整理像素信息,再發送給接收端,接收端接收像素信息,使能transmitter並向外面發送數據。
視頻解析度發生變化時,光端機重新採集解析度及像素傳輸頻率發送到接收端。
所述發送端定義緩存區域,接收像素點進行串並轉換,接收一定數量的像素點後進行壓縮緩存,緩存一定數量的像素點後,發送端連續發送串行數據。
所述發送端發送到光纖的信息有像素信息、發送指令、主機復位信號。
所述發送端接收到光纖的信息有edid信息、hotplug信息。
所述傳輸過程中對不同信號定義不同的包頭、包尾。
本發明的有益之處是:
本發明提供一種基於aurora協議的高速視頻信號傳輸方法,基於aurora協議,使光端機發送端odck與接收端idck同源同步,將發送端的aurorauser_clk恢復的時鐘recoveryclk作為接收端aurora的rxoutclk,並通過外部pll晶片生成與odck相同頻率的時鐘作為接收端fifo的讀時鐘,同時輸出到接收端的編碼器,光端機發送端和接收端的邏輯晶片,依據發送端和接收端時鐘的同源同步,控制發送接收視頻信號,因此利用本發明解決發送端和接收端數據傳輸不同步,造成視頻信號失真等問題。
附圖說明
圖1本發明中光端機內部結構框圖;
圖2本發明光端機發送端與接收端時鐘連接框圖;
圖3本發明光端機接收端與發送端時鐘連接框圖;
圖4本發明視頻信號處理流程圖;
圖5本發明中ddc通道獲取edid信息過程;
圖6本發明中像素點信息傳輸流程圖。
具體實施方式
結合附圖,進一步對本發明進行解釋說明。
參考圖1,其中具體實施中,光端機包括發送端和接收端,其中發送端的邏輯晶片分別為u0,接收端的邏輯晶片分別為u1。其中光端機的dvi光遠傳系統主要包括發送端的雙編碼器tfp401、控制器xc7a200t、光模塊,接收端的雙解碼器tfp410、控制器xc7a200t、光模塊;其中編碼器tgp401將標準dvi信號轉換成24位並行信號,供控制器xc7a200t使用;解碼器tfp410將24位並行數據轉換為標準dvi信號;控制器xc7a200t主要負責數據採集及轉換;光模塊負責電信號和光信號的轉換。
發送端和接收端之間時鐘不同源同步,總是有大有小,造成兩端fifo的狀態總是「empty」或者「full」,屏幕上就容易出現「花屏」等失真現象。
設置發送端和接收端之間時鐘同步同源,可參考如圖2所示,使idck和odck同源。優先確保發送端fifo的讀寫時鐘同源同步,其中發送端aurora的參考時鐘gt_refclk是odck輸出到i/o引腳,通過外部pll晶片產生同一種時鐘頻率的差分時鐘接入到gtpbank的專用時鐘pin腳,做到發送端fifo的讀寫時鐘同源同步;然後接收端aurora的rxoutclk是發送端的aurorauser_clk恢復出來的時鐘recoveryclk,這個時鐘通過外部pll晶片生成與odck相同頻率的時鐘作為接收端fifo的讀時鐘,同時輸出到解碼器tfp410,這樣可以做到odck與idck的同源同步。解決屏幕上就容易出現「花屏」等失真問題。
在上述本發明技術的基礎上,光端機傳輸dvi視頻信息的具體工作步驟為:
(1)開機之後,u1作為主設備,向display發送命令讀取128byteedid信息,並發送到u0保存;
(2)host作為主設備,向u0發送edid讀取指令,從u0直接發送,無需告知display;
(3)主機讀到display的解析度信息後,會發送display能夠支持的像素信號m*n;
(4)u0中設置時鐘頻率fs,對odck進行採樣,當odck頻率發生變化時,說明主機向display發送的視頻信號解析度發生了變化。u0根據接收到的整幀的信號,通過對hsync、vsync、odck的分析得知主機發送的視頻信號的解析度m*n以及像素傳輸頻率f,並將此信息打包發給u1;u1解析後生成hsync、vsync、idck信號,準備發給transmitter;
(5)u0中定義l=m*4*8的緩存區域,每接收一個像素點都要並/串轉換,每一個像素點數據都要以hsync+vsync+像素信息的形式表示,接收整行的m個像素點後打包緩存,包頭包尾設置標誌位分別用s、p表示;
(6)等待緩存n個像素點後,u0連續向gtx,高速串行收發器,發送串行數據,此處w=0~m,當等於0時表示即收即發,當等於m時表示整行發送;
(7)u1接收到像素信息,使能transmitter並向外面發送數據;
(8)當主機端發送的視頻解析度發生變化,要重新採集m、n、f發送到接收端,以此重複(4)步驟;
(9)當主機重啟、發送reset信號或更換display(hotplug發生變化)時,主機會重新讀取edid信息,由此重複(1)步驟;
(10)u0發送到光纖的信息有像素信0息、ddc發送指令、主機復位信號;u0接收到的光纖信息有edid信息、hotplug信息,為了傳輸過程中便於區分各類信號,需要對每種信號定義不同的包頭、包尾。
利用本發明方法依據發送端和接收端時鐘的同源同步,控制發送接收視頻信號,因此利用本發明解決發送端和接收端數據傳輸不同步,造成視頻信號失真等問題。