《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 業(yè)界動態(tài) > 高速視頻信號的光纖傳輸系統(tǒng)設計

高速視頻信號的光纖傳輸系統(tǒng)設計

2008-09-10
作者:阮林波 李斌康 郭明安 郝

??? 摘 要: 針對1000幀/秒高速攝影傳輸系統(tǒng)" title="傳輸系統(tǒng)">傳輸系統(tǒng)需實現(xiàn)數(shù)據(jù)輸出速率600MBps的長距離傳輸難題,提出了采用CIMT編碼方式的光纖數(shù)字化傳輸設計方案。整個系統(tǒng)主要包括數(shù)字信號的多路復用" title="復用">復用、解復用以及PCI數(shù)據(jù)傳輸卡三部分。詳細闡述了系統(tǒng)的原理及硬軟件實現(xiàn)方法,設計實現(xiàn)了兩路高速視頻數(shù)字化信號的15公里遠距離傳輸和計算機實時顯示。
??? 關鍵詞: 光纖傳輸" title="光纖傳輸">光纖傳輸? 復用? 解復用? PCI

?

??? 高幀頻的視頻信號不同于普通視頻信號,如果采用模擬信號方式傳輸,它的模擬帶寬達到了幾十兆甚至一兩百兆,這樣很難實現(xiàn)遠距離傳輸。而光纖傳輸容量大、質量高和不易受干擾等特點,在高速數(shù)字傳輸系統(tǒng)中得到了廣泛應用。目前國內外針對普通視頻信號的光纖傳輸系統(tǒng)已相當多[1,5],而對非標準的高幀頻視頻信號光纖傳輸系統(tǒng)少有報道,特別是兩路或多路高幀頻視頻的單根光纖傳輸實現(xiàn)則未見報道。
??? 在本文中需要實現(xiàn)兩路256×256像素每秒1000幀高速視頻信號遠距離傳輸。對于高幀頻攝像機,由于它幀頻很高,通常采用多路并行的信號輸出方式降低數(shù)據(jù)率,最后通過復用合成為視頻信號[2]。為實現(xiàn)遠距離傳輸,文中提出采用數(shù)字光纖的復用、解復用和計算機PCI技術實現(xiàn)兩路高幀頻視頻設備產(chǎn)生的15MBps×40路數(shù)字信號的傳輸與視頻信號的合成及計算機實時顯示。
1 系統(tǒng)原理和結構
??? 高速視頻信號的光纖傳輸系統(tǒng)主要包括復用、光發(fā)射、光接收、解復用、控制電路和PCI傳輸接口等部分。圖1為系統(tǒng)光發(fā)射部分工作原理圖。

?


??? 從高速視頻采集獲得的40路15MBps的數(shù)據(jù)首先經(jīng)過XC9572內的2:1復用,形成20路30MBps的二級復用數(shù)據(jù)提供給HDMP-1022,由其完成信道編碼,轉換成600MBps的PECL串行數(shù)據(jù),驅動光發(fā)射模塊,完成數(shù)據(jù)的光纖發(fā)射。圖2為光接收部分原理圖。

?


??? 解復用芯片HDMP-1024從光纖接收模塊接收到的600MBpsPECL數(shù)據(jù)中提取出20路的并行數(shù)據(jù)和30MHz的時鐘信號,再由XC9572完成二級解復用,同時也為FIFO及PLX9052組成的PCI傳輸卡提供時序信號,計算機通過PCI總線獲得實時高速視頻采集數(shù)據(jù),并予以顯示和處理。
2 硬件設計
??? 系統(tǒng)的硬件設計主要包括光纖傳輸單元、PCI傳輸單元和控制單元三部分。
2.1 數(shù)字光纖傳輸單元設計
??? 數(shù)字光纖傳輸單元主要完成串并行數(shù)據(jù)的復用與解復用功能。設計中采取數(shù)據(jù)通信中的CIMT(Conditional-Invert Master Transition)信道編碼方式對數(shù)據(jù)進行編碼。圖3顯示CIMT碼的格式。

?


??? CIMT碼有三種幀形式:數(shù)據(jù)幀、控制幀和填充幀。數(shù)據(jù)幀和控制幀的格式如圖3(a)所示,可以發(fā)送任意需要傳送的數(shù)據(jù)和控制信息,每一幀都以C-Field(Coding Field)開始,其后接著D-Field(Data Field)。其中D-Field組成的數(shù)據(jù)位可以是十六位或二十位,本系統(tǒng)采用二十位數(shù)據(jù);控制位(C-Field)由四位數(shù)據(jù)碼組成,接收端" title="接收端">接收端可以此提取并鎖定數(shù)據(jù)的類型與狀態(tài)。填充幀是在發(fā)射端沒有數(shù)據(jù)信號時以及發(fā)射端和接收端建立連接時產(chǎn)生。在三種幀的主瞬變點處是接收端恢復時鐘信號的參考點。本系統(tǒng)中選用Aglient公司的HDMP-1022和HDMP-1024作為CIMT碼的復用與解復用主要芯片,HFCT-5208作為光發(fā)射和光接收器來實現(xiàn)點對點的光纖傳輸設計。
??? 在光發(fā)射端設計中采用HDMP-1022的Double-Frame模式實現(xiàn)40路數(shù)據(jù)的傳輸,通過二級復用擴展其并行數(shù)據(jù)的容量為40路。數(shù)據(jù)在同一時鐘控制下同時被復用成一路的高速信號,同時生成另一路按位取反的信號,最后通過其CIMT編碼器輸出推動光發(fā)射器。圖4為以Double-Frame方式復用發(fā)射的時序圖。其中CLOCK(15MHz)是單路數(shù)據(jù)采集時鐘,FLAG表示奇偶場,CAV和DAV表示數(shù)據(jù)幀和控制幀的控制位,C0~C39表示輸入的40路信號,D0~D19是CIMT碼的D-Field數(shù)據(jù),STRBOUT(30MHz)為芯片鎖相后的倍頻時鐘。

?


??? 在光接收端部分光接收器將獲得的光信號轉變?yōu)楦咚匐娦盘柌l(fā)送給HDMP-1024,由它解復用后提取參考時鐘信號STRBOUT(30MHz)、數(shù)據(jù)信號C0~C39,以及其他的狀態(tài)控制信號和數(shù)據(jù)時鐘RCLK(15MHz)。圖5為Double-Frame光接收端時序圖。

?


2.2 PCI傳輸單元設計
??? 為實現(xiàn)高速視頻信號的實時記錄,設計中利用了PCI總線技術?熏PCI控制芯片采用PLX9052,它與FIFO相結合可以實現(xiàn)最高數(shù)據(jù)傳輸速率120MBps數(shù)字量輸入。
??? PLX9052符合PCI2.1規(guī)范,支持低成本從屬適配器。內部包括一個64字節(jié)的寫FIFO和一個32字節(jié)的讀FIFO,通過讀寫FIFOs,可實現(xiàn)高性能的突發(fā)式數(shù)據(jù)傳輸;其局部總線與PCI總線的時鐘相互獨立,局部總線的時鐘頻率范圍為0~40MHz,PCI的時鐘頻率范圍為0~33MHz;可以通過串行EEPROM提供PCI總線和局部總線的部分重要配置信息。PLX9052支持突發(fā)式內存映射傳輸和單周期的內存或I/O" title="I/O">I/O映射傳輸,利用32字節(jié)的直接從設備讀FIFO和64字節(jié)的直接從設備寫FIFO,映射在PCI內存和I/O空間中的地址由PCI基址寄存器設置。而且,局部映射寄存器允許將PCI地址空間轉換為局部地址空間。圖6是PLX9052與FIFO相互連接的電路圖,FIFO采用IDT公司的IDT72205。

?


2.3 控制單元設計
??? 整個設計的時序控制單元均由CPLD完成,在光發(fā)射端主要提供40路信號的2:1復用、數(shù)據(jù)的鎖存及系統(tǒng)工作的時序信號;在光接收端主要為解復用、FIFO和PLX9052提供相應的時序邏輯。本設計選用Xilinx公司的XC9572作為控制單元的核心芯片,結合它的在線編程功能,完成整個系統(tǒng)的時序調試與設計。
??? 結合Verilog語言與原理圖(sch)方法,較好地實現(xiàn)了整個系統(tǒng)時序的設計。以下是40路數(shù)字信號8:1復用Verilog語言設計代碼。
??? Module parrelserial (Data, clock, EN, OutData) ;
??? input [0:8] Data ;input clock ;input EN ;
??? output OutData ;reg [0:8]Data;
??? reg [0:3]count;reg OutData;
??? always @(posedge clock)
????? ??begin
????? ??if(EN)
???????? ??count=0;
????? ??else
???? ????? begin
?????????? OutData=Data[count];
?????????? count=count+1;
??????? ???if(count>8)count=0;
??????? ???end
????? ??end
??? endmodule
3 軟件設計
??? 整個系統(tǒng)軟件主要包括PCI傳輸單元的驅動程序和系統(tǒng)應用程序設計。
??? Windows下的PCI驅動程序不僅僅包括物理設備的驅動程序,也包括為文件系統(tǒng)等非物理設備編寫的虛擬設備驅動程序。在設計中主要針對Windows2000下PCI驅動程序設計。由于Windows 2000禁止用戶模式的程序訪問I/O端口(Windows 95/98則允許用戶程序直接訪問I/O端口),直接控制物理設備的驅動程序均為內核模式。而本設計的PCI驅動程序要求對各種硬件資源訪問,所以應該選擇工作在零級的驅動程序模式。

??? 開發(fā)設備驅動采用的主要開發(fā)工具是JUNGO公司提供的軟件包Windriver。這個軟件包提供開發(fā)PLX9052有關設備的文檔、編譯需要的頭文件和庫文件、調試工具和程序范例。利用其內部定義的可以調用的系統(tǒng)底層服務,如DMA服務、中斷服務、內存管理服務、可安裝文件系統(tǒng)服務等,結合VC++完成整個PCI設備驅動程序。本設計包括以下幾個方面:
??? (1)PCI設備初始化
??? PCI設備驅動程序首先實現(xiàn)識別PLX9052器件、尋址PLX9052器件的資源和對PLX9052器件中斷的服務。主要調用Windirver軟件包內以下函數(shù):
??? WD_Open(hWD);
??? PCI_Get_WD_handle(&hWD);
??? PLX_LocateAndOpenBoard(0x10b5, 0x9052, UseInt);
??? (2)PCI端口地址操作
??? PCI總線是32位的總線標準,在進行I/O操作時通常要進行雙字(DWORD?雪操作,而在Windows 2000下,系統(tǒng)不允許處于優(yōu)先級3的用戶程序和用戶模式驅動程序直接使用I/O指令。任何對I/O的操作都需要借助內核模式驅動來完成。筆者主要調用Windirver軟件包內兩個函數(shù)來完成。
??? IO_ReadByteString(DWORD dwIOAddr, PBYTE pBuf, DWORD dwBytes);
??? IO_WriteByteString(DWORD dwIOAddr, PBYTE pBuf, DWORD dwBytes);
??? (3)內存的讀寫
??? PLX9052與計算機進行數(shù)據(jù)通信主要采取DMA方式,在Windriver中提供了相應內存讀取兩個函數(shù),通過對它的調用可實現(xiàn)PLX9052與計算機內存的數(shù)據(jù)交換。
??? IO_Read32BitRegister(DWORD dwAddr);
??? IO_Write32BitRegister(DWORD dwAddr, DWORD dwData);
??? 整個系統(tǒng)的應用程序研制都基于微軟公司的VC++開發(fā)設計,可用于Windows 2000 操作系統(tǒng)下。
??? 整個光纖傳輸系統(tǒng)利用復用、解復用,結合PCI技術實現(xiàn)了高速視頻數(shù)字化信號遠距離傳輸及控制、實時顯示等功能,傳輸距離15km,可記錄數(shù)據(jù)量為128K字節(jié)。目前已將設計用到相關的測試項目中,并將進一步改進擴大數(shù)據(jù)的容量及穩(wěn)定性。
參考文獻
1 Asada, Hideyuki Yamada, Takashi Rabou. Optical fiber digital transmission of multiplexed video and audio signals suitable for multimedia applications[J].IEEE Transactions on Consumer Electronics. 1998; 44(2): 273~279
2 P.A.Levine,D.J. Sauer,F.V.Shallcross et al. High Frame?Rate Multi-Port CCD Imager and Camera[J].SPIE,1992;1952:257~267
3 Aglient Technology Inc. Low Cost Gigabit Rate Transmit/Receive Chip Set With TTL I/Os[M]. 2002
4 PLX Technology Inc. PCI 9054 Data Book V2.0[M].1999
5 劉 穎,王春悅. 數(shù)字通信原理與技術[M].北京:北京郵電大學出版社,2002
6 張寶富,劉忠英.現(xiàn)代光纖通信與網(wǎng)絡教程[M].北京:人民郵電出版社,2002

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。