文獻標識碼: A
文章編號: 0258-7998(2013)09-0047-03
目前空間遙感技術在農業(yè),、地質探測,、氣象以及軍事等領域有著廣泛的應用[1]。搭載在航天器上的空間遙感儀器將拍攝到的圖像數據通過數據傳輸系統(tǒng)發(fā)送到地面[2]??臻g遙感儀器進行工作時會獲取大量的圖像數據信息,,為了便于后期數據的處理和分析應用,需要對獲取的高速數據進行采集存儲,。由于數據量十分龐大,,目前通常采用高速串行差分的方式進行傳輸,這樣可以大大減少信號之間的相互串擾以及外部噪聲的干擾,。在進行高速數據傳輸系統(tǒng)設計的過程中,,使用現成的高效高速數據傳輸芯片將會使整個設計工作事半功倍。本文重點介紹了基于TI公司的TLK2711高速數據傳輸芯片的串行傳輸系統(tǒng)設計,。
1 系統(tǒng)硬件設計
本文研究的是一種基于TLK2711的高速串行傳輸方案,,在實現高速實時數據傳輸的基礎上進行數據信號處理。系統(tǒng)中的關鍵組成部分包括PCI Express總線接口模塊,、FPGA數據處理控制模塊,、DDR3 SDRAM存儲模塊以及TLK2711高速串/并轉換接口模塊,系統(tǒng)框圖如圖1所示,。系統(tǒng)的工作原理:發(fā)送端PC通過PCI Express總線接口與發(fā)送板進行數據通信,,將PC模擬的衛(wèi)星成像數據源通過緩存DDR3 SDRAM由TLK2711高速串/并轉接口發(fā)送給數據信號處理器;經過數據信號處理器處理的數據再通過TLK2711高速串/并轉接口發(fā)送給接收板,,接收板通過緩存DDR3 SDRAM由PCI Express總線接口上傳給接收端PC,,最后在接收端PC中進行數據校驗和相應處理。
2 系統(tǒng)邏輯設計
2.1 總體邏輯設計
作為系統(tǒng)的控制核心,,FPGA起著前端TLK2711發(fā)送/接收控制,、數據鏈路多路轉換控制、DDR3 SDRAM控制器,、PCI Express總線DMA傳輸控制的作用,。發(fā)送端的PC將數據源在發(fā)送板總線主控DMA控制器的控制下,通過PCIE-8x通道將數據傳入FPGA存儲到片外的DDR3 SDRAM,,FPGA通過內部邏輯對DDR3 SDRAM中緩存的數據進行必要的時序控制和相關處理,,處理過后的并行數據流在FPGA內部進行重組,形成滿足TLK2711數據格式要求的16 bit數據流,。這個過程主要是同步字符,、幀頭、幀尾以及控制信號的添加等,。TLK2711根據參考時鐘對輸入的并行數據進行8B/10B編碼,,然后以20倍的參考時鐘頻率將數據以高速差分串行輸出的方式通過銅纜傳送給數據信號處理器。
經過數據信號處理器處理過的數據以串行差分方式通過銅纜傳送給接收板的TLK2711,,TLK2711在參考時鐘下完成高速串行輸入數據的串/并轉換,,轉換后的20 bit并行數據經過內部同步到恢復時鐘,然后利用8B/10B解碼格式將20 bit并行數據解碼為原始的16 bit并行數據輸出到FPGA進行數據處理,FPGA通過內部邏輯對高速數據進行必要的時序控制和相關處理,。這個過程主要是去除幀頭,、幀尾、同步字符,,同時檢測控制信號并對數據進行處理。處理過后的數據緩存到片外的DDR3 SDRAM,,在總線主控DMA控制器的控制下,,通過PCIE-8x通道將緩存的數據寫入計算機硬盤。FPGA內部邏輯示意圖如圖2所示,。
2.2 TLK2711傳輸協(xié)議
TLK2711高速串行協(xié)議是一種基于點對點的單工協(xié)議,,它以16 bit為一個基本的傳輸單位,數據被分成了高8位和低8位,,因此每個控制字符都定義成了2 B(分別由D碼和K碼組成),,編碼方式由2個控制信號TKMSB/RKMSB和TKLSB/RKLSB決定。協(xié)議的工作過程如圖3所示,。
系統(tǒng)上電或復位后,,收發(fā)雙方處于失步狀態(tài)(在發(fā)送端復位后要保證接收端已處于接收狀態(tài)),發(fā)送端首先發(fā)送同步字符且時間長度不小于1 ms,,1 ms結束后認為系統(tǒng)完成同步過程,,發(fā)送端開始數據幀的發(fā)送。在每一幀數據發(fā)送結束后和下一幀數據開始發(fā)送前,,發(fā)送端要發(fā)送同步字符來保持數據傳輸鏈路的同步狀態(tài),。在同步狀態(tài)建立后,接收端不斷檢測輸出控制信號RKLSB和 RKMSB,,根據RKLSB和 RKMSB的狀態(tài)判斷數據類型,,舍去幀頭、幀尾和同步字符,,鎖存真正需要的數據,。接收端在數據幀傳輸過程中如果失步,則依靠數據幀間的同步字符重新建立起收發(fā)間的同步關系,,同步關系建立后立刻轉入正常數據接收狀態(tài),。根據協(xié)議工作過程,定義TLK2711芯片用作發(fā)送通路時的6個狀態(tài)分別是:空閑,、建立同步,、發(fā)送幀頭、發(fā)送數據,、發(fā)送幀尾,、發(fā)送同步字符,其發(fā)送通路的狀態(tài)轉換如圖4所示。
2.3 帶寬動態(tài)分配
系統(tǒng)采用6片TLK2711并行工作,,接收端要根據發(fā)送端的速率適時調整接收端TLK2711的工作數量,,以實現帶寬的動態(tài)分配。當接收端的6片TLK2711同時接收數據時,,FPGA需要在一個時鐘周期內將96 bit并行數據轉換為與PCI Express總線位寬匹配的64 bit并行數據,,然后才能進行相應處理??紤]到調用FPGA內部的RAM IP核或者FIFO IP核無法實現該位寬轉換,,因此設計了一個輸入位寬可變的RAM來處理數據位寬,從而實現接收端TLK2711工作數量可調,。
首先FPGA在接收板TLK2711的恢復時鐘下將重構的并行數據鎖存一個周期,,然后根據伴隨著數據流的輸入控制信號判斷是否有有效數據到來,當接收到有效數據后,,將數據寫入異步FIFO進行不同時鐘域的數據處理,。當一個信號從一個時鐘域傳遞到另外一個時鐘域時經常會出現亞穩(wěn)態(tài)問題,解決這一問題可以使用一個異步FIFO使得另外一個時鐘域的信號足夠穩(wěn)定,。將接收端TLK2711從串行數據流中提取的恢復時鐘作為FIFO的寫時鐘,,將PCIE總線250 MHz分頻產生一個同相的125 MHz時鐘作為FIFO的讀時鐘。當FIFO半滿信號有效時,,讀寫控制邏輯開始將FIFO中的數據讀出來作為位寬可調的RAM的輸入,,從而實現位寬轉換。該RAM的接口如圖5所示,,其中adjust為通道選擇信號,,wr為異步FIFO的讀使能。
考慮到RAM的讀寫時鐘以及輸入/輸出數據位寬,,可以發(fā)現RAM的寫數據速度遠小于其讀取數據的速度,,故系統(tǒng)采用乒乓操作對接收板TLK2711的數據進行處理。FIFO讀出的數據首先寫進ram0,,ram0寫滿之后開始向ram1寫數據,,同時將ram0寫入的數據讀取出來。由于ram的寫數據速度遠小于其讀取數據的速度,,所以當ram0中的數據讀取完時ram1還未寫滿,,此時ram0停止讀取數據并且處于等待狀態(tài)直至ram1中寫滿數據。當ram1中寫滿數據時開始寫ram0,,同時緊接著讀取ram1中的數據,。同理,當ram1中的數據讀取完時ram0還未寫滿,,所以此時ram1同樣停止讀取數據并且處于等待狀態(tài),,直至ram0中滿數據,。當ram0寫滿數據時,立即開始寫ram1讀取ram0中的數據,,如此循環(huán),。該乒乓操作示意圖如圖6所示。
按照設計思路將模塊功能在Xilinx公司的FPGA設計平臺ISE 14.2上進行代碼編譯綜合,、功能仿真和時序仿真等,,通過JTAG口將程序下載到FPGA中進行實際運行,然后利用ISE 14.2自帶的邏輯分析儀采集所要觀察的數據信號并進行在線調試,。圖7為使用ISE 14.2中Chipscope采集的對單通道TLK2711接收到的數據進行不同時鐘域處理和乒乓操作的時序圖,。從圖中可以看出整個工作情況與以上描述一致,證明該模塊從代碼設計和時序約束到功能實現全部通過,,數據傳輸速率在TLK2711芯片內可以達到194.74 MB/s。
2.4 設計中應注意的問題
高速數據傳輸系統(tǒng)要求有高穩(wěn)定性和高精度的時鐘源,,抖動和頻偏是衡量時鐘源的兩個重要指標,。TLK2711內部對輸入參考時鐘進行20倍頻,同時TLK2711的時鐘穩(wěn)定度要求小于±10 ppm,,在設計時不能使用FPGA內部的MMCM模塊倍頻生成參考時鐘,。因為經過MMCM模塊倍頻的時鐘容易引起比較大的抖動,導致TLK2711接收鎖相環(huán)無法穩(wěn)定地鎖定發(fā)送時鐘從而產生誤碼,??紤]到時序的設計要求,系統(tǒng)選用125 MHz的有源晶振作為TLK2711的時鐘源,,并將其輸出時鐘接至FPGA的全局時鐘引腳,,同時使用IBUFG+BUFG對該全局時鐘進行處理后作為6路TLK2711的輸入參考時鐘。為了保證高速差分信號的傳輸質量,,差分線對的兩根線應盡可能靠近并且遠離其他信號,,在進行PCB布線時,TLK2711的16 bit并行總線與伴隨時鐘也要進行等長處理,,以保證輸入數據的同步和一致性[3-5],。
對于高速串化解串器TLK2711,當它只用作發(fā)送通路時,,應將LCKREFN引腳置低,,這樣接收通道的RXD[0:15]、RXCLK,、RKLSB,、RKMSB等引腳都會處于高阻抗狀態(tài);當只用作接收通路時,,發(fā)送端不用的TXD[0:15],、TKLSB,、TKMSB等引腳應當拉高或拉低使其處于一個穩(wěn)定的狀態(tài)。
基于TLK2711的高速串行傳輸系統(tǒng)的設計大大降低了高速數據傳輸過程中的互聯(lián)復雜程度,,同時保證了信號傳輸的實時性和準確性,。基于此設計的6通道串行傳輸系統(tǒng)工作穩(wěn)定可靠,,各項指標達到設計要求,。本系統(tǒng)創(chuàng)新點在于采用輸入位寬可調的RAM對接收端進行帶寬動態(tài)分配,對于解決高速多通道TLK2711的串行傳輸系統(tǒng)設計有較高的參考價值,。
參考文獻
[1] 任建岳.空間光學遙感器專題文章導讀[J].光學精密工程,,2008,16(10):1852-1852.
[2] 曹小濤,,徐抒巖,,趙運隆.空間相機連續(xù)調焦地面仿真測試系統(tǒng)設計[J].液晶與顯示,2011,,26(3):409-412.
[3] 張達,,徐抒巖.高速CCD圖像數據光纖傳輸系統(tǒng)[J].光學精密工程,2009,,17(3):670-675.
[4] Texas Instruments.TLK2711 1.6 to 2.7 Gb/s transceiver datasheet[Z].2001.
[5] 張達,,徐抒巖.基于TLK2711的高速圖像數據串行傳輸系統(tǒng)[J].微計算機信息,2009,,25(1-2):284-286.