Zynq高速串行CMOS接口的設(shè)計與實現(xiàn)_第1頁
Zynq高速串行CMOS接口的設(shè)計與實現(xiàn)_第2頁
Zynq高速串行CMOS接口的設(shè)計與實現(xiàn)_第3頁
Zynq高速串行CMOS接口的設(shè)計與實現(xiàn)_第4頁
Zynq高速串行CMOS接口的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Zynq高速串行CMOS接口的設(shè)計與實現(xiàn)現(xiàn)在CMOS傳感器的分辨率越來越大,對應(yīng)的,對數(shù)據(jù)傳輸接口的要求也越來越高。根據(jù)熊貓君有限的實現(xiàn)和調(diào)試經(jīng)驗,基本上遇到了:多通道HiSPi接口:主要是Aptina(現(xiàn)已經(jīng)被安森美收購),常用的有1080P60的AR0331(3.1M),3664×2748P15的MT9J003,3984×2712P80(開窗輸出最高可達1200fps)的AR1011等;多通道LVDS接口:主要有索尼系列和德國viimagic系列等,至少熊貓君用過的IMX172/IMX122/IMX185/IMX236和VII9222等都是LVDS輸出;MIPI接口:多

2、用于手機,一些監(jiān)控用的CMOS如Sony IMX185、OV14810等也帶;CCIR656:一般低分辨率的會帶CCIR656接口,也有一些廠家的高分攝像頭也帶,比如OV14810;并行接口:較早設(shè)計的CMOS許多都是直接并口輸出,比如Aptina的MT9M031、MT9J003都帶有并口輸出;熊貓君在這里想討論的是前三種接口的實現(xiàn),它們是業(yè)界應(yīng)用最廣泛而且對FPGA資源有著共性要求。無論是HiSPi、LVDS還是MIPI,其核心思想就是要實現(xiàn)將高速串行信號恢復(fù)成并行數(shù)據(jù)。這將會用到Xilinx FPGA IOB上的一個重要的資源ISERDES。實現(xiàn)串行信號的并行化,光有ISERDES還不行,

3、還需要用到IO BANK上的延時模塊IDELAYCTRL和IOB上的IODELAYE以及相關(guān)的相位訓練算法。1 Xilinx的IO資源本節(jié)對用到的IO資源作簡要的介紹。1.1 IDELAYCTRL資源在電壓、溫度等因素變化時,可能會影響到系統(tǒng)的時序,此時IDELAYCTRL模塊就可以連續(xù)補償時鐘域內(nèi)所有個體的delay taps (IDELAY/ODELAY)。如果使用了IOB上的IDELAY或ODELAY資源,那么就必須使用IDELAYCTRL資源。請注意,整個IO BANK里面只有一個IDELAYCTRL。IDELAYCTRL很重要的一個輸入項就是參考時鐘REFCLK,補償時鐘域內(nèi)所有模塊

4、的時序參考,這個時鐘必須由BUFG或BUFH驅(qū)動。REFCLK必須保證在FIDELAYCTRL_REF+IDELAYCTRL_REF_PRECISION(MHz)ppm才能保證IDELAY/ODELAY的延時分辨率:(TIDELAYRESOLUTION=1/(32 x 2 x FREF)1.2 IDELAYE2邏輯IDELAYE2邏輯是一個31抽頭的循環(huán)延時補償模塊,對輸入的信號進行指定分辨率的延時,F(xiàn)PGA可以直接訪問。Tap延時分辨率由IDELAYCTRL的參考時鐘提供持續(xù)補償。圖(1)是IDELAYE2接口示意圖,表(1)是對這些接口的描述,表(2)是對邏輯參數(shù)的描述。圖(1)IDELA

5、YE2接口示意圖。表(1)IDELAYE2接口描述以下以VAR_LOAD模式為例說明延時的時序動作,如圖(2)所示。圖(2)延時時序動作模型n Clock Event 0:在LD有效前,CNTVALUEOUT輸出為未知值;n Clock Event 1:在C的上升沿采樣到LD有效,此時DATAOUT延時CNTVALUEIN指定的延時Taps,改變tap Setting到Tap2,CNTVALUEOUT更新到新的Tap值;n Clock Event 2:INC和CE有效,此時指定了增量操作,Tap值加1,DATAOUT輸出從Tap2更新到Tap3,CNTVALUEOUT更新到新的Tap值;n C

6、lock Event 3LD有效,DATAOUT輸出延時更新到Tap10,CNTVALUEOUT更新到新的Tap值。1.3 ISERDESE2邏輯輸入串轉(zhuǎn)并邏輯可以看做是OSERDESE2的逆過程,在SDR模式下可支持2-、3-、4-、5-、6-和7-的串并轉(zhuǎn)換,在DDR模式下可支持2-、4-、6-、8-的串并轉(zhuǎn)換,級聯(lián)DDR模式下還可擴展到10-和14-。每一個ISERDESE2包括:n 專門的串并轉(zhuǎn)換器;n Bitslip子模塊用于源同步接口;n 專用的可支持strobe-based的存儲接口。圖(3)是ISERDESE2的結(jié)構(gòu)示意圖。表(3)是ISERDESE2接口描述,表(4)示ISE

7、RDESE2的參數(shù)描述。圖(3)ISERDESE2結(jié)構(gòu)示意圖表(3) ISERDESE2表(4)ISERDESE2的參數(shù)描述(1) 時鐘方案CLK和CLK_DIV必須是嚴格對齊的時鐘,雖然允許使用BUFIO/BUFR,但任然有可能存在相位問題。圖(5)時采用BUFIO/BUFR的方案。圖(5)采用BUFIO/BUFR的時鐘方案一般的,根據(jù)接口類型的差異,時鐘必須滿足以下的約束:a)networking interfacen CLKBUFIO;CLKDIVBUFR;n CLKMMCM/PLL;CLKDIV和CLK相同的MMCM/PLL的CLKOUT0:6的輸出,使用MMCM時CLK和CLKDIV

8、必須使用相同的驅(qū)動BUF;n CLKBUFG;CLKDIVBUFG。b)MEMORY Interface Typen CLKBUFIO, OCLKBUFIO,或CLKDIVBUFR;n CLKMMCM或PLL, OCLKMMCM,或CLKDIV由同一個MMCM/PLL的CLKOUT0:6驅(qū)動;n CLKBUFG,CLKDIV不同的BUFG。OCLK和CLKDIV的輸入相位必須是嚴格對齊的,CLK和OCLK之間不要求相位關(guān)系。From CLK to OCLK的時鐘域必須進行補償。其他接口類型的時鐘方案參考文檔UG471。(2) BitSlip子模塊BitSlip用于調(diào)整并行寄存器輸出串行數(shù)據(jù)的位

9、置。在SDR模式下,每一個BitSlip脈沖讓輸出pattern的數(shù)據(jù)左移1bit;在DDR模式下,第一個BitSlip右移1bit,第二個BitSlip左移3bit,依次進行,移動規(guī)律如圖(6)所示。BitSlip一定是和CLKDIV同步的一個脈沖。圖(6)BitSlip訓練移位規(guī)律在上面所介紹的資源中,IDELAYE2是動態(tài)相位對其訓練的神器,ISERDESE2實現(xiàn)串并轉(zhuǎn)換,其Bitslip功能是實現(xiàn)并行化數(shù)據(jù)對齊的關(guān)鍵。2 LVDS高速接口實現(xiàn)實例因為MIPI接口有其完整的物理層協(xié)議,因此不在這里講具體實現(xiàn),本文以Sony的IMX122 CMOS為例,聊一聊高速LVDS(HiSPi類似,

10、只是電平標準有一點區(qū)別)接口在Xilinx 7系列FPGA和Zynq SoC上的實現(xiàn)。2.1 需求分析以Sony IMX122 CMOS為例,配置在1080P分辨率可輸出30fps。CMOS在初始化完成后輸出兩通道穩(wěn)定的LVDS數(shù)據(jù),LVDS接收模塊在收到配置完成信號后開始工作。因此,這個LVDS接收模塊需要實現(xiàn): CMOS工作在Slave模式下,向CMOS發(fā)出參考時鐘(INCK)、行同步(XHS)、幀同步(XVS)信號; 接收LVDS數(shù)據(jù)并將它恢復(fù)成為指定的圖像數(shù)據(jù)格式; 提供測試信息接口。2.2 IMX122 CMOS輸出特性本小節(jié)簡介IMX122 CMOS的一些特性。2.2.1 同步時序

11、要求在Slave模式下需要向CMOS提供周期穩(wěn)定的XHS和XVS信號,兩者的時序要求如圖7所示。在產(chǎn)生同步時序時需要注意以下要點: XVS和XHS必須是穩(wěn)定的周期性信號; XVS和XHS信號的低電平保持時間為4100個INCK; XHS可以和XVS同時拉低,也可延時一個時鐘周期拉低。圖7 Slave模式下同步時序2.2.2 輸出數(shù)據(jù)率在串行SDR LVDS模式下以12bit模式輸出,數(shù)據(jù)率為891Mbps,每個通道的數(shù)據(jù)率為445.5Mbps。2.2.3 Sync Code格式在串行輸出模式下,CMOS通過輸出固定的Sync Code來指示圖像的有效幀、行信息,接收器需通過查找這些Sync C

12、ode來恢復(fù)圖像。IMX122可提供兩種模式的Sync Code,這里配置為Sync Code1,其具體定義如圖8所示。圖8 IMX122 Sync Code定義2.2.4 輸出圖像組織形式IMX122在1080P讀出模式下,輸入?yún)⒖紩r鐘INCK是37.125MHz。一幀圖像輸出固定為1125行,每行1100 INCK(29.63s),有效輸出為1984×1105。圖像輸出的時序如圖9所示,圖10是輸出數(shù)據(jù)編碼規(guī)則。圖9 IMX122 LVDS模式輸出時序圖10 IMX122 12-bit 2通道輸出編碼格式2.3 設(shè)計思路和模塊結(jié)構(gòu)Slave模式下工作的CMOS在XVS和XHS的同

13、步下按照固定時序穩(wěn)定輸出LVDS圖像數(shù)據(jù)。LVDS串行數(shù)據(jù)按照一定的方式進行編碼,接收模塊應(yīng)先將串行數(shù)據(jù)解碼恢復(fù)成為并行數(shù)據(jù),再根據(jù)數(shù)據(jù)的排列方式格式化輸出。因此,整個模塊可以劃分為時序同步、LVDS接收解碼(串轉(zhuǎn)并)和數(shù)據(jù)格式化輸出三個部分。整個LVDS接收模塊的結(jié)構(gòu)如圖11所示。圖11 LVDS接收模塊頂層圖 CMOS輸入?yún)⒖紩r鐘(INCK)為37.125MHz; CMOS輸出LVDS數(shù)據(jù)為445.5MHz SDR型; 時序發(fā)生器由74.25MHz發(fā)生30fps的XVS、XHS信號; LVDS數(shù)據(jù)接收解碼模塊將數(shù)據(jù)恢復(fù)為8bit55.6875MHz并行格式(DATA7:0); 格式化輸出模

14、塊通過搜索同步頭的狀態(tài)確定是否發(fā)出bit_slip,并根據(jù)CMOS的數(shù)據(jù)格式和同步信號格式化輸出12bit74.25MHz像素數(shù)據(jù)(PIX_DATA11:0); IDELAYCTRL以Ref_clk為基準對整個IO BANK進行輸入延時控制。2.3.1 時序同步同步時序由內(nèi)部74.25MHz計數(shù)產(chǎn)生。按照圖7所示時序即可。2.3.2 LVDS接收解碼LVDS接收的主要工作是將串行的數(shù)據(jù)轉(zhuǎn)為并行數(shù)據(jù)并進行自動相位調(diào)節(jié),移位寄存器抽頭調(diào)整(Bitslip)。Xilinx Artix7系列FPGA提供串轉(zhuǎn)并模塊ISERDES和IO延時模塊IODELAYE2,ISERDES性能可在415Mb/s120

15、0Mb/s之間,IODELAYE2的延時參考時鐘可以是200MHz(1tap78ps)或300MHz(1tap52ps)。(1)Artix7 FPGA時鐘特性在Artix7系列器件里,MMCM可驅(qū)動BUFIO、BUFR、BUFH和BUFG,PLL只能驅(qū)動BUFH和BUFG。ZYNQ-7020采用Artix7 Speed-1器件,時鐘網(wǎng)絡(luò)的最高性能如下表5所示。表5  Artix7 Speed-1 器件時鐘性能FPGABUFGBUFHBUFRBUFIOArtix7 Speed-1464MHz464MHz315MHz600MHz(2)LVDS接收時鐘選擇LVDS解碼串行參考時鐘選擇從表1

16、可以知道,采用BUFG最高時鐘性能為464MHz。IMX122 1080P串行模式下兩通道LVDS每通道的輸出數(shù)據(jù)率為445.5Mbps(SDR),接近BUFG的極限值,因此這里作一個變通處理,使用222.75MHz時鐘按照DDR方式對串行數(shù)據(jù)進行采樣。IODELAYE2 延時參考時鐘選擇延時參考時鐘選擇的原則是在LVDS數(shù)據(jù)時鐘周期內(nèi),可調(diào)節(jié)的Tap數(shù)盡量的多。IMX122輸出的數(shù)據(jù)周期為2.245ns,調(diào)節(jié)一個周期采用200MHz參考時鐘需要28taps,采用300MHz參考時鐘需要43個Taps,而IODELAYE2的調(diào)節(jié)Tap數(shù)為031,故只能選擇200MHz的參考時鐘。(3)LVDS

17、數(shù)據(jù)接收模塊時鐘因CMOS IMX122不輸出LVDS bit時鐘,F(xiàn)PGA使用內(nèi)部時鐘來接收解碼LVDS數(shù)據(jù)。如圖12所示,與LVDS相關(guān)的時鐘由同一個MMCM產(chǎn)生以保證其相位的一致性。其中: 37.125MHz,為CMOS工作參考時鐘; 55.6875MHz,提供給IODELAYE2.C、ISERDES2.CLKDIV、補償狀態(tài)機及解碼后的字節(jié)數(shù)據(jù)參考時鐘; 74.25MHz,產(chǎn)生30fps的CMOS同步參考時序和12bit像素參考時鐘; 222.75MHz,以DDR模式接收的DDR位參考時鐘;圖12 LVDS數(shù)據(jù)接收模塊結(jié)構(gòu)IMX122輸出兩路LVDS數(shù)據(jù),每個通道的接收邏輯相同,對每一

18、通道而言,數(shù)據(jù)流路徑如下:a)LVDS差分對通過IBUFDS_DIFF_OUT,得到位數(shù)據(jù)(記為Master)及與其反相的數(shù)據(jù)(記為Slave);b)Master和Slave分別進入各自的IODELAYE2和ISERDES2得到各自的并行數(shù)據(jù)送到補償算法狀態(tài)機進行動態(tài)相位調(diào)整并反饋各自的延時值到IODELAYE2。根據(jù)IMX122的LVDS編碼特點,ISERDES2按照1:8作串并轉(zhuǎn)換最為合適;c)數(shù)據(jù)格式化輸出模塊根據(jù)查找Sync Code的情況調(diào)整bitslip;d)補償模塊根據(jù)數(shù)據(jù)調(diào)整的情況輸出解碼后的8-bit并行數(shù)據(jù)。2.3.3 動態(tài)相位補償動態(tài)相位補償原理如下: 初始化時,Master數(shù)據(jù)延時假定設(shè)為數(shù)據(jù)眼圖的中間位置,Slave和Master的延時相隔半個數(shù)據(jù)周期。 在Master和Slave的數(shù)據(jù)不全為零或不全為壹時啟動動態(tài)相位補償算法。相位補償?shù)幕驹硎牵喝绻鸐aster和Slave采樣到的數(shù)據(jù)相同,則說明采樣太靠后,延時減少一個Tap(如圖13a);如果Master和Slave采樣到的數(shù)據(jù)不同,則說明采樣點太靠前,延時增加一個Tap(如圖13b)。圖13采樣點延時示意圖如果延時Tap值為最小或最大位置時,則交換Master和Slave的的參考關(guān)系,同時輸出數(shù)據(jù)作相應(yīng)調(diào)整;2.3.4

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論