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