數(shù)字量變換器是一種多路數(shù)據(jù)采集設(shè)備,主要采集各傳感器的輸出信號(及其他需經(jīng)遙測系統(tǒng)傳送的信號),將各路信號按一定體制組合起來并加上幀同步碼形成一定格式的PCM數(shù)據(jù),互不干擾地通過同一個信道傳送出去。 PCM解碼板是為數(shù)字量變換器設(shè)計的接收端,把組合信號解調(diào)出來,恢復(fù)各路原始信息,加以記錄、處理和顯示,用于數(shù)字量變換器的單機調(diào)試和單元測試。限于測試臺空間的嚴(yán)格要求以及測試系統(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先進(jìn)先出存儲器)中。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)系。基于LVDS的總線體系結(jié)構(gòu)大致分為:物理層、數(shù)據(jù)鏈路層和傳輸層。 (1)物理層。 LVDS總線采用DS92LVl8專用接口芯片,連接構(gòu)成兩對LVDS信號,一對用于發(fā)送,一對用于接收。物理層在發(fā)送端將時鐘信號用18 bit/20 bit編碼方案嵌入數(shù)據(jù)中以達(dá)到高速數(shù)據(jù)率;在接收端將串行數(shù)據(jù)流中的數(shù)據(jù)和時鐘分離,然后對串行數(shù)據(jù)進(jìn)行采樣,從而在接收端恢復(fù)了串行數(shù)據(jù)。通過搜尋同步字符進(jìn)行字同步,數(shù)據(jù)流恢復(fù)到和發(fā)送端編碼后的數(shù)據(jù)流相同,該數(shù)據(jù)流再經(jīng)解碼,恢復(fù)原始數(shù)據(jù),寫入接收端的FIFO內(nèi),等待數(shù)據(jù)鏈路層的進(jìn)一步處理。 物理層除了收發(fā)器(DS92LV18芯片)和傳輸介質(zhì)(PCB走線)外的所有模塊均在FPGA中實現(xiàn)。物理層結(jié)構(gòu)示意圖,如圖3所示。 LVDS兩對低壓差分信號無論其傳輸介質(zhì)是電纜還是PCB走線,都必須與終端匹配,以減少不希望的電磁輻射,提供最佳的信號質(zhì)量。通常一個盡可能靠近接收端的100 Ω終端電阻跨在差分線上即可提供良好的匹配。電路設(shè)計中,輸入差分線對離開DS92LV18集成芯片后立刻盡可能地相互靠近(距離(2)數(shù)據(jù)鏈路層。 在數(shù)據(jù)鏈路層中包含控制邏輯和幀格式,數(shù)據(jù)以幀為單位傳送,在目的節(jié)點被接收。這樣做是為了當(dāng)出現(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ù)時序進(jìn)程,在時鐘信號的推動下通過地址推進(jìn)來輸出幀、碼勤務(wù)信號。數(shù)字量變換器輸出的串行PCM數(shù)據(jù)流在碼同步信號作用下,通過移位寄存器轉(zhuǎn)換為8位并行數(shù)據(jù),通過寫信號WR同步將解得的并行PCM碼寫入到FIFO中。串并轉(zhuǎn)換的工作時序,如圖4所示。 經(jīng)多次測試,上位機讀回的數(shù)據(jù)按照副幀結(jié)束標(biāo)志EB 90兩個bit和幀結(jié)束標(biāo)志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ù)的高速、可靠傳輸方面均達(dá)到了系統(tǒng)提出的技術(shù)指標(biāo)。 |