數(shù)字量變換器是一種多路數(shù)據(jù)采集設(shè)備,主要采集各傳感器的輸出信號(及其他需經(jīng)遙測系統(tǒng)傳送的信號),將各路信號按一定體制組合起來并加上幀同步碼形成一定格式的PCM數(shù)據(jù),互不干擾地通過同一個信道傳送出去。
PCM解碼板是為數(shù)字量變換器設(shè)計的接收端,把組合信號解調(diào)出來,恢復(fù)各路原始信息,加以記錄、處理和顯示,用于數(shù)字量變換器的單機調(diào)試和單元測試。限于測試臺空間的嚴格要求以及測試系統(tǒng)的微型化、高速數(shù)據(jù)傳輸、低功耗原則,PCM解碼板采用了基于低壓差分信號LVDS的串行通信技術(shù)增強了抗噪聲、抗干擾能力,并以時鐘和數(shù)據(jù)恢復(fù)技術(shù)解決了限制數(shù)據(jù)傳輸速率的信號時鐘參差問題,大大提高了數(shù)據(jù)傳輸?shù)臄?shù)據(jù)率。選用了FPGA作為PCM解碼板控制核心,將各功能模塊由FPGA統(tǒng)一協(xié)調(diào)完成,從而簡化了設(shè)計的復(fù)雜程度,縮短了試驗和開發(fā)周期。
1 模塊硬件結(jié)構(gòu)
PCM解碼板硬件結(jié)構(gòu),如圖1所示。
PCM解碼板接收到上位機上傳PCM數(shù)據(jù)命令后,輸出幀同步信號給數(shù)字量變換器,并接收數(shù)字量變換器輸出的PCM串行數(shù)據(jù),在碼同步信號的配合下,將PCM串行數(shù)據(jù)經(jīng)FPGA串并轉(zhuǎn)換后寫入FPGA中的發(fā)送FIFO(First In First Outmemory先進先出存儲器)中。LVDS總線物理層將FPGA中的FIFO內(nèi)數(shù)據(jù)包的數(shù)據(jù)和時鐘信號編碼為20位串行數(shù)據(jù)上傳。串行數(shù)據(jù)傳輸示意圖,如圖2所示,TCLK為發(fā)數(shù)時鐘,RCLK為解串時鐘。
2 LVDS總線結(jié)構(gòu)
針對數(shù)據(jù)可靠傳輸在數(shù)據(jù)交換系統(tǒng)中的重要性,方案結(jié)合LVDS接口和OSI網(wǎng)絡(luò)模型,設(shè)計了一種基于LVDS接口的數(shù)據(jù)傳輸協(xié)議,并具體給出了各協(xié)議層所實現(xiàn)的功能及協(xié)議約束關(guān)系?;贚VDS的總線體系結(jié)構(gòu)大致分為:物理層、數(shù)據(jù)鏈路層和傳輸層。
(1)物理層。
LVDS總線采用DS92LVl8專用接口芯片,連接構(gòu)成兩對LVDS信號,一對用于發(fā)送,一對用于接收。物理層在發(fā)送端將時鐘信號用18 bit/20 bit編碼方案嵌入數(shù)據(jù)中以達到高速數(shù)據(jù)率;在接收端將串行數(shù)據(jù)流中的數(shù)據(jù)和時鐘分離,然后對串行數(shù)據(jù)進行采樣,從而在接收端恢復(fù)了串行數(shù)據(jù)。通過搜尋同步字符進行字同步,數(shù)據(jù)流恢復(fù)到和發(fā)送端編碼后的數(shù)據(jù)流相同,該數(shù)據(jù)流再經(jīng)解碼,恢復(fù)原始數(shù)據(jù),寫入接收端的FIFO內(nèi),等待數(shù)據(jù)鏈路層的進一步處理。
物理層除了收發(fā)器(DS92LV18芯片)和傳輸介質(zhì)(PCB走線)外的所有模塊均在FPGA中實現(xiàn)。物理層結(jié)構(gòu)示意圖,如圖3所示。
LVDS兩對低壓差分信號無論其傳輸介質(zhì)是電纜還是PCB走線,都必須與終端匹配,以減少不希望的電磁輻射,提供最佳的信號質(zhì)量。通常一個盡可能靠近接收端的100 Ω終端電阻跨在差分線上即可提供良好的匹配。電路設(shè)計中,輸入差分線對離開DS92LV18集成芯片后立刻盡可能地相互靠近(距離<10 mm),以保持接收器的共模抑制能力,并且兩條差分線之間的距離應(yīng)盡可能保持一致,以避免差分阻抗的不連續(xù)性,這樣能減少反射并能確保耦合到的噪聲為共模噪聲。
(2)數(shù)據(jù)鏈路層。
在數(shù)據(jù)鏈路層中包含控制邏輯和幀格式,數(shù)據(jù)以幀為單位傳送,在目的節(jié)點被接收。這樣做是為了當出現(xiàn)差錯時,可將有錯誤的幀重傳一次,從而避免了將全部數(shù)據(jù)都重傳一次所帶來的帶寬浪費,且各接收節(jié)點能從接收到的比特流中明確地區(qū)分出一幀的開始和結(jié)束在什么地方,以及數(shù)據(jù)和控制信息。該層的功能模塊也在FPGA中實現(xiàn)。
(3)傳輸層。
傳輸層的任務(wù)是為從發(fā)送節(jié)點到目的節(jié)點提供可靠、合理的信息傳輸。傳輸層是控制通信過程的核心,初始化和通信過程中,需要設(shè)置必要的計時器、地址和狀態(tài)寄存器,這些都是傳輸層來實現(xiàn)。其中,地址寄存器用于存儲節(jié)點前繼和后繼地址,計時器是為初始化和通信過程中的超時報警而設(shè)置。該層功能可通過在FPGA內(nèi)部定義信號來實現(xiàn)。
3 PCM碼解調(diào)設(shè)計
PCM解碼部分用于接收數(shù)字量變換器輸出的PCM串行數(shù)據(jù)并將數(shù)據(jù)串并轉(zhuǎn)換。該部分需產(chǎn)生兩種勤務(wù)信號,幀同步信號:周期為25 ms,碼寬8μs;碼同步信號:頻率81.92 kHz,占空比50%,用于數(shù)字量變換器內(nèi)部的時序控制。每8個一組的碼同步信號稱作一路,在每幀中從第1路開始排到128路結(jié)束。模塊接收的群信號是串行“0”“1”碼,為不歸零碼。PCM解碼部分工作原理:根據(jù)幀、碼同步信號時序特征,F(xiàn)PGA生成一個數(shù)據(jù)時序進程,在時鐘信號的推動下通過地址推進來輸出幀、碼勤務(wù)信號。數(shù)字量變換器輸出的串行PCM數(shù)據(jù)流在碼同步信號作用下,通過移位寄存器轉(zhuǎn)換為8位并行數(shù)據(jù),通過寫信號WR同步將解得的并行PCM碼寫入到FIFO中。串并轉(zhuǎn)換的工作時序,如圖4所示。
經(jīng)多次測試,上位機讀回的數(shù)據(jù)按照副幀結(jié)束標志EB 90兩個bit和幀結(jié)束標志14 6F兩個bit所組成數(shù)據(jù)格式的結(jié)果與設(shè)計要求吻合。
4 結(jié)束語
實踐表明:由于采用低壓差分信號傳送數(shù)據(jù),不易受共模噪音影響,可以實現(xiàn)更快的數(shù)據(jù)傳輸,同時具有低功耗、低噪聲等優(yōu)良特性;由于總線結(jié)構(gòu)物理層可以采用專用接口芯片實現(xiàn),而數(shù)據(jù)鏈路層和傳輸層均可采用可編程邏輯器件FPGA實現(xiàn)。因此,總線硬件實現(xiàn)簡單,易于低成本解決系統(tǒng)高速通信問題。通過測試分析,該板在PCM解碼的抗干擾能力及實現(xiàn)解碼數(shù)據(jù)的高速、可靠傳輸方面均達到了系統(tǒng)提出的技術(shù)指標。