本發(fā)明涉及一種基于空間應(yīng)用的多路高速串行圖像數(shù)據(jù)的傳輸系統(tǒng)。
背景技術(shù):
高速串行傳輸芯片如TLK2711對時鐘抖動要求很高,要求時鐘抖動的峰值不超過40ps。對于數(shù)據(jù)和發(fā)送端,要么使用FPGA內(nèi)專用的時鐘通道資源MRCC和SECC來傳輸時鐘,要么使用FPGA內(nèi)部的全局時鐘資源來傳輸時鐘且同bank內(nèi)不能使用其余高速信號以降低SSO(simultaneously switching output)的干擾,資源利用率低,且對電源的供電要求很高。TLK2711在對接收的數(shù)據(jù)進(jìn)行串并轉(zhuǎn)換過程中,每次上電后解碼輸出圖像數(shù)據(jù)參考時鐘的相對相位不確定,若采用單一時鐘對解碼的多組數(shù)據(jù)進(jìn)行采樣,則存在亞穩(wěn)定狀態(tài),因此需要對解碼后的多路圖像數(shù)據(jù)進(jìn)行異步緩存。
技術(shù)實現(xiàn)要素:
本發(fā)明為解決現(xiàn)有高速串行傳輸芯片的資源利用率低且對供電要求高,同時在接收數(shù)據(jù)過程中,每次上電后解碼輸出圖像數(shù)據(jù)參考時鐘的相對相位不確定,以及采用單一時鐘對解碼的多組數(shù)據(jù)進(jìn)行采樣時存在亞穩(wěn)定狀態(tài)的問題,提供一種多路高速串行圖像數(shù)據(jù)的傳輸方法及傳輸系統(tǒng)。
多路高速串行圖像數(shù)據(jù)的傳輸系統(tǒng),包括發(fā)送端和接收端,所述發(fā)送端包括第一時鐘源、第一時鐘分路器、發(fā)送控制器和n個高速串行發(fā)送器;所述n>1;
第一時鐘源產(chǎn)生的時鐘經(jīng)第一時鐘分路器后產(chǎn)生n+1路低抖動時鐘,將n+1路低抖動時鐘分別送入發(fā)送控制器和n個高速串行發(fā)送器;經(jīng)所述第一時鐘分路器產(chǎn)生的時鐘sclock送入發(fā)送控制器,經(jīng)發(fā)送控制器內(nèi)部的數(shù)字時鐘管理單元和鎖相環(huán)進(jìn)行延遲和去抖動后,作為發(fā)送控制器的系統(tǒng)時鐘,所述發(fā)送控制器產(chǎn)生n路圖像數(shù)據(jù)分別送入n個高速串行發(fā)送器;經(jīng)第一時鐘分路器產(chǎn)生n路低抖動時鐘作為n路圖像數(shù)據(jù)的伴隨時鐘,圖像數(shù)據(jù)和伴隨時鐘的相對相位由所述數(shù)字時鐘管理單元進(jìn)行調(diào)節(jié),通過n個高速串行發(fā)送器向接收端輸出n路高速串行圖像數(shù)據(jù);
所述接收端包括第二時鐘源、第二時鐘分路器、接收控制器和n個高速串行接收器;
第二時鐘源產(chǎn)生的時鐘經(jīng)第二時鐘分路器產(chǎn)生n路低抖動時鐘,將n路低抖動時鐘分別送入n個高速串行接收器;
經(jīng)第二時鐘分路器產(chǎn)生n路低抖動時鐘作為n個高速串行接收器的參考時鐘;n個高速串行接收器接收發(fā)送端的串行圖像數(shù)據(jù),產(chǎn)生n路并行數(shù)據(jù)和n路與發(fā)送端頻率相同的伴隨時鐘送入接收控制器,其中第一路高速串行接收器的恢復(fù)時鐘rclock進(jìn)入接收控制器,作為接收控制器的系統(tǒng)時鐘;
所述接收控制器輸出幀有效標(biāo)志信號FVAL、行有效標(biāo)志信號LVAL和并行數(shù)據(jù)DATA_OUT。
本發(fā)明的有益效果:
一、本發(fā)明所述的傳輸系統(tǒng)降低對時鐘源及控制器內(nèi)部時鐘通道的要求,可使用更易采購的控制器器件,而且可提高控制器內(nèi)部資源的利用率;使用時鐘分路器后,還可以降低對晶振抖動的要求;
二、本發(fā)明可實現(xiàn)多路高速圖像數(shù)據(jù)的傳輸,而且可方便將接收到的在不同起始相位的多路高速圖像數(shù)據(jù)最終同步到相同的參考時鐘,而且恢復(fù)為以幀為單位的面陣圖像數(shù)據(jù)格式。
附圖說明
圖1為本發(fā)明所述的多路高速串行圖像數(shù)據(jù)的傳輸系統(tǒng)的結(jié)構(gòu)框圖;
圖2為本發(fā)明所述的多路高速串行圖像數(shù)據(jù)的傳輸系統(tǒng)中發(fā)送控制器的工作流程圖;
圖3為本發(fā)明所述的多路高速串行圖像數(shù)據(jù)的傳輸系統(tǒng)中接收控制器的工作流程圖;
圖4為本發(fā)明所述多路高速串行圖像數(shù)據(jù)的傳輸系統(tǒng)中接收控制器內(nèi)圖像數(shù)據(jù)的異步緩存框圖。
具體實施方式
具體實施方式一、結(jié)合圖1至圖4說明本實施方式,多路高速串行圖像數(shù)據(jù)的傳輸系統(tǒng),包括發(fā)送端和接收端,所述發(fā)送端包含第一時鐘源、第一時鐘分路器、發(fā)送控制器和n(n>1)個高速串行發(fā)送器。在發(fā)送端,第一時鐘源產(chǎn)生的時鐘經(jīng)第一時鐘分路器產(chǎn)生n+1路低抖動時鐘(sclock、sclock1、sclock2…sclockn)分別送入發(fā)送控制器和n個高速串行發(fā)送器。經(jīng)第一時鐘分路器產(chǎn)生的時鐘sclock送入發(fā)送控制器,經(jīng)發(fā)送控制器內(nèi)部的數(shù)字時鐘管理單元(DCM)和鎖相環(huán)(PLL)進(jìn)行延遲和去抖動后,作為發(fā)送控制器的系統(tǒng)時鐘,產(chǎn)生的n路圖像數(shù)據(jù)(sdata1、sdata2…sdatan)分別送入n個高速串行發(fā)送器;經(jīng)第一時鐘分路器產(chǎn)生n路低抖動時鐘(sclock1、sclock2…sclockn)作為n路圖像數(shù)據(jù)(sdata1、sdata2…sdatan)的伴隨時鐘,圖像數(shù)據(jù)和伴隨時鐘的相對相位由DCM進(jìn)行調(diào)節(jié),最終輸出n路高速串行圖像數(shù)據(jù)。
接收端包含第二時鐘源、第二時鐘分路器、接收控制器和n個高速串行接收器。在接收端,第二時鐘源產(chǎn)生的時鐘經(jīng)第二時鐘分路器產(chǎn)生n路低抖動時鐘(refclk1、refclk 2…refclk n)分別送入n個高速串行接收器。
經(jīng)第二時鐘分路器產(chǎn)生n路低抖動時鐘(refclk1、refclk 2…refclk n)作為n個高速串行接收器的參考時鐘;n個高速串行接收器接收發(fā)送端的串行圖像數(shù)據(jù),產(chǎn)生n路并行數(shù)據(jù)(rdata1、rdata2…rdatan)和n路與發(fā)送端頻率相同的伴隨時鐘(rclock1、rclock2…rclockn)送入接收控制器,其中第一路高速串行接收器的恢復(fù)時鐘rclock進(jìn)入接收控制器,作為接收控制器的系統(tǒng)時鐘;最終輸出幀有效標(biāo)志信號FVAL、行有效標(biāo)志信號LVAL和并行數(shù)據(jù)DATA_OUT。
本實施方式中,高速串行傳輸芯片的并行圖像數(shù)據(jù)由發(fā)送控制器提供,并行數(shù)據(jù)的伴隨時鐘(sclock1、sclock2…sclockn)不由發(fā)送控制器提供,而是采用第二時鐘源如晶體經(jīng)第二時鐘分路器后同時提供給高速串行傳輸芯片和控制器;并行圖像數(shù)據(jù)和伴隨時鐘的相對最佳相位通過高速串行發(fā)送器內(nèi)部的環(huán)回功能進(jìn)行訓(xùn)練獲得。具體的訓(xùn)練方法是采用發(fā)送控制器內(nèi)部的DCM和PLL,對發(fā)送控制器送入高速串行發(fā)送器的數(shù)據(jù)進(jìn)行不斷的相位調(diào)整,然后接收高速串行發(fā)送器內(nèi)部環(huán)回的訓(xùn)練數(shù)據(jù),通過接收的訓(xùn)練數(shù)據(jù)和發(fā)送數(shù)據(jù)的比較,尋找采集到正確訓(xùn)練數(shù)據(jù)的極限相位值(在該位置采集到的訓(xùn)練數(shù)據(jù)與發(fā)送數(shù)據(jù)相同,在該位置基礎(chǔ)上相位值增加或減小接收到的訓(xùn)練數(shù)據(jù)與發(fā)送數(shù)據(jù)不同)。
通過兩個錯誤訓(xùn)練數(shù)據(jù)的極限相位值和確定兩個極限相位值位置的中間位置即為最佳相位。
結(jié)合圖2和圖3說明本實施方式,本實施方式中所述發(fā)送控制器的工作流程為:上電首先進(jìn)入發(fā)送上電初始化狀態(tài)機(jī),然后進(jìn)入發(fā)送圖像數(shù)據(jù)和時鐘最佳相位的檢測狀態(tài)機(jī),最佳相位檢測到后進(jìn)入持續(xù)2ms的同步碼發(fā)送狀態(tài)機(jī),最后進(jìn)入發(fā)送以幀為單位的圖像數(shù)據(jù)狀態(tài)機(jī)。
接收控制器的工作流程是:上電首先進(jìn)入接收上電初始化狀態(tài)機(jī),然后進(jìn)入檢測幀頭狀態(tài)機(jī),當(dāng)檢測到幀頭后進(jìn)入檢測行頭狀態(tài)機(jī),當(dāng)檢測到行頭后進(jìn)入以行為單位接收數(shù)據(jù)狀態(tài)機(jī),當(dāng)一行數(shù)據(jù)接收完畢后進(jìn)入一幀數(shù)據(jù)接收完畢判斷狀態(tài)機(jī),當(dāng)一幀數(shù)據(jù)未接收完畢則進(jìn)入檢測行頭狀態(tài)機(jī),當(dāng)一幀數(shù)據(jù)接收完畢后進(jìn)入檢測幀頭狀態(tài)機(jī)。
本實施方式中,所述接收控制器中以行為單位在接收數(shù)據(jù)時,一行內(nèi)數(shù)據(jù)接收錯誤的標(biāo)志為以下三種中任意一種:
在圖像數(shù)據(jù)接收階段接收到K碼(K碼指示器如RKLSB或RKMSB為高電平指示接收到K碼);
接收到的數(shù)據(jù)累加和不等于各圖像數(shù)據(jù)逐個累加的值;
接收到的行尾無K碼或行尾值與發(fā)送值不相等。
結(jié)合圖4說明本實施方式,本實施方式中的多路高速圖像數(shù)據(jù)的發(fā)送以同一個時鐘為參考,也就是多路并行數(shù)據(jù)到高速圖像數(shù)據(jù)的傳輸延時相同;而接收端的各數(shù)據(jù)的參考時鐘在每次上電的相位不同,如圖4所示,采用一個同步FIFO和n-1個異步FIFO進(jìn)行圖像數(shù)據(jù)的異步緩存,同步FIFO寫入數(shù)據(jù)為rdata1,寫入數(shù)據(jù)的伴隨時鐘為rclocl1,寫使能為r_w1,異步FIFO寫入數(shù)據(jù)為rdatai,寫入數(shù)據(jù)的伴隨時鐘為rclocli,寫使能為r_wi,其中1<i<n+1。同步FIFO和異步FIFO的讀出數(shù)據(jù)分別為rrdatam,其中0<m<n+1,讀時鐘都為rclocl1,讀使能都為r_r1。最終將多路相對時鐘相位不同的圖像數(shù)據(jù)變?yōu)橐韵嗤瑓⒖紩r鐘的圖像數(shù)據(jù)。
對于輸入的圖像數(shù)據(jù),當(dāng)其消隱期最夠長,即則輸入的n通道圖像數(shù)據(jù)可采用n抽頭(tap)Camera Link數(shù)據(jù)格式進(jìn)行傳輸;當(dāng)其消隱期過短,即則輸入的n通道圖像數(shù)據(jù)可采用2n tap Camera Link數(shù)據(jù)格式進(jìn)行傳輸。式中p有效為每行的有效圖像數(shù)據(jù)數(shù),p消隱為每行的無效圖像數(shù)據(jù)數(shù),fTLK2711高速串行發(fā)送器和高速串行接收器的工作頻率。
本實施方式中,所述發(fā)送控制器和接收控制器采用Xilinx公司的器件XC6VLX240T-2FFG1156C;所述的高速串行發(fā)送器和高速串行接收器采用TI公司的TLK2711;所述第一時鐘源和第二時鐘源采用晶振;第一時鐘分路器和第二時鐘分路器采用TI公司的LMK00105。