文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2014)06-0039-03
隨著數(shù)字信號處理技術(shù)的發(fā)展,數(shù)據(jù)傳輸速率越來越高,數(shù)據(jù)量越來越大。在傳統(tǒng)的測試設(shè)備設(shè)計中,大多是通過USB總線與上位機(jī)進(jìn)行通信。這種通信方式傳輸速率不高,連接也不穩(wěn)固。采用64 bit、66 MHz的PCI總線,傳輸速率可達(dá)到528 MB/s,且基于CPCI總線的通信設(shè)備數(shù)據(jù)傳輸速率比USB總線更快、更穩(wěn)定,板卡的四周都被牢牢地固定住,機(jī)械結(jié)構(gòu)也很穩(wěn)固[1]。
1 接口卡功能介紹
接口卡整體結(jié)構(gòu)如圖1所示。接口卡主要包括CPCI總線接口、高速數(shù)據(jù)接口和全雙工RS422接口。其中,CPCI接口實(shí)現(xiàn)接口卡與上位機(jī)之間的通信,高速數(shù)據(jù)接口接收記錄器下傳的高速數(shù)據(jù),并由FPGA控制通過CPCI總線將數(shù)據(jù)傳輸給上位機(jī)進(jìn)行實(shí)時顯示與存盤;RS422接口將上位機(jī)下發(fā)的控制命令轉(zhuǎn)發(fā)給記錄器,并接收記錄器反饋回來的狀態(tài)信息,試驗人員根據(jù)狀態(tài)反饋來監(jiān)測記錄器是否工作正常。
2 CPCI總線接口設(shè)計
CPCI完全兼容PCI協(xié)議,本設(shè)計通過PCI9054總線控制芯片和FPGA來實(shí)現(xiàn)PCI協(xié)議,代替?zhèn)鹘y(tǒng)的FIFO芯片和串/并轉(zhuǎn)換芯片,完成對模擬電路的控制功能,節(jié)約了板卡面積,減少PCB走線,有效防止了傳輸線之間的串?dāng)_[2]。
2.1 PCI9054工作模式選擇
PCI9054總線控制芯片有3種工作模式,分別為M模式、C模式、J模式。其中,M模式應(yīng)用于MotorolaMPC850/860PowerQUICC和PowerPC80x/82x;C模式即非多路復(fù)用的32位地址和數(shù)據(jù)總線,應(yīng)用于DSP、FPGA等;J模式即多路復(fù)用的32位地址和數(shù)據(jù)總線,應(yīng)用于Intel1960、IBMPowerPC401、IDTRC32364、DSP以及IOP480等[3]。
C模式類似于單片機(jī)的工作方式,它的地址線和數(shù)據(jù)線分開使用,可以很方便地控制本地時序。在使用C模式時,只需要嚴(yán)格控制好本地端和CPCI 端的各種時序,就可以很好地使用PCI9054芯片。因此,在本設(shè)計中使PCI9054工作在C模式。通過設(shè)置MODE0(156引腳)和MODE1(157引腳)的值來實(shí)現(xiàn)其工作模式的配置,將PCI9054的156腳和157腳接地后,使其工作于C模式。
2.2 CPCI接口FPGA的邏輯控制
2.2.1 CPCI總線訪問本地總線時序介紹
PCI9054的訪問方式選擇DMA方式。PCI9054作為主控設(shè)備,通過其內(nèi)部的DMA控制器來實(shí)現(xiàn)局部總線上的數(shù)據(jù)與CPCI總線上的數(shù)據(jù)之間的傳輸。DMA訪問方式下,CPCI總線向本地總線傳輸數(shù)據(jù)時,本地時序如圖2所示。
當(dāng)上位機(jī)向接口卡下發(fā)控制命令時,上位機(jī)通過配置DMA控制器的命令/狀態(tài)寄存器來啟動DMA訪問。此時,DMA控制器通過發(fā)出LHOLD信號來向本地總線申請總線的主控權(quán),本地FPGA收到LHOLD請求信號后,反饋一個信號LHOLDA來響應(yīng)請求,DMA控制器收到此響應(yīng)信號之后,便獲得主控本地總線的權(quán)利。當(dāng)DMA控制器獲得主控權(quán)之后,ADS#信號變低,意味著地址總線LA上的地址為有效地址。BLAST#變低,單周期訪問開啟,只有收到本地總線反饋的READY#信號有效(低)時,才能真正開啟訪問。LW/R#為高代表寫操作,為低代表讀操作,如圖2所示,當(dāng)上位機(jī)下發(fā)命令時為寫操作,LW/R#為高。當(dāng)所有時序滿足之后,F(xiàn)PGA從地址LA上獲得數(shù)據(jù)信號LD。
當(dāng)接口卡向上位機(jī)傳輸數(shù)據(jù)時,本地總線時序與圖2所示時序相似,只是LW/R#為低,進(jìn)行讀操作。DMA控制器從地址LA將數(shù)據(jù)讀入其內(nèi)部的緩存FIFO中,在不占用CPU資源的情況下,將數(shù)據(jù)存儲下來。如果ADS#處于高狀態(tài),則代表開啟一次突發(fā)訪問,F(xiàn)PGA無條件向CPCI總線上傳數(shù)據(jù)。
2.2.2 FPGA控制本地時序
用VHDL語言編程來實(shí)現(xiàn)本地時序地控制。按照上一節(jié)介紹的時序控制接口卡與CPCI總線之間進(jìn)行通信。FPGA內(nèi)部調(diào)用一個FIFO,記錄器上傳的LVDS數(shù)據(jù)緩存于此FIFO中,當(dāng)FIFO內(nèi)數(shù)據(jù)達(dá)到2 KB時,其FIFO可編程半滿信號有效。當(dāng)處于單周期讀訪問時,一旦FIFO可編程半滿則啟動一次DMA訪問。當(dāng)處于單周期寫訪問時,F(xiàn)PGA從命令地址讀取上位機(jī)下發(fā)的命令數(shù)據(jù)。VHDL程序的流程圖如圖3所示。
3 高速數(shù)據(jù)接口設(shè)計
3.1 高速數(shù)據(jù)傳輸方式選擇
數(shù)據(jù)傳輸有并行和串行兩種方式。在傳輸速率要求不高、傳輸距離較短的電路中,并行傳輸方式是首選。但是,隨著數(shù)據(jù)傳輸速率以及時鐘頻率的提高,很容易發(fā)生數(shù)據(jù)和時鐘不同步的現(xiàn)象,造成數(shù)據(jù)接收錯誤的結(jié)果,較高的傳輸速率還會使信號線之間產(chǎn)生干擾。差分信號以其功耗低、串?dāng)_小和輻射低等特點(diǎn),在各種高速總線中得到了應(yīng)用。因此,這里采取LVDS串行通信技術(shù)。這種技術(shù)通過一對差分PCB走線或平衡電纜來傳輸幅度非常低的信號(約350 mV),傳輸速率可以達(dá)到100 Mb/s,甚至超過1 Gb/s,且其信號連線較少,帶寬較高,抗干擾能力較強(qiáng)[4],可以保證本設(shè)計中高速數(shù)據(jù)傳輸?shù)恼_性。
3.2 LVDS接口設(shè)計
由于趨膚效應(yīng)和介質(zhì)損耗[5],高速信號在傳輸過程中會發(fā)生衰減。因此,當(dāng)傳輸距離較長時,往往要使用電纜驅(qū)動器和均衡器來保證高速數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。電纜驅(qū)動器將信號以最大功率耦合到電纜上,可以延長高速數(shù)據(jù)的傳輸距離;電纜均衡器可以對傳輸?shù)男盘栠M(jìn)行高頻補(bǔ)償。
本設(shè)計中,LVDS串行器/解串器分別選用TI公司的SN65LV1203和SN65LV1224,這組芯片的數(shù)據(jù)傳輸速率最大可以達(dá)到660 Mb/s;信號驅(qū)動器/電纜均衡器分別選用NS公司的CLC001和CLC014,這組芯片的數(shù)據(jù)傳輸速率最大可以達(dá)到662 Mb/s。LVDS接口電路結(jié)構(gòu)如圖4所示,記錄器的FPGA控制LVDS串行器將10 bit并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),再通過電纜驅(qū)動器將信號耦合到電纜上。接口卡的電纜均衡器對接收到的信號進(jìn)行高頻補(bǔ)償之后傳送給解串器,解串器根據(jù)參考時鐘將串行數(shù)據(jù)轉(zhuǎn)換成10 bit的并行數(shù)據(jù),由FPGA進(jìn)行后續(xù)的處理。
為串行器提供一個頻率為18.432 MHz的時鐘,在時鐘上升沿時,串行器SN65LV1203將I/O口上的10 bit并行數(shù)據(jù)存入鎖存寄存器中,再轉(zhuǎn)換成串行數(shù)據(jù)傳輸給驅(qū)動器CLC001。串行器在發(fā)送數(shù)據(jù)時,會自動附加起始位和停止位,其中,起始位為“1”,停止位為“0”,起始位和停止位是串行數(shù)據(jù)流內(nèi)嵌的同步標(biāo)志。驅(qū)動器的外圍電路按照NS公司的CLC001芯片的典型應(yīng)用電路進(jìn)行配置。為了降低信號反射,在發(fā)送端要放置阻抗匹配電阻,在電纜均衡器的外圍電路配置中,接收端也要放置終端匹配電阻。
與串行器時鐘頻率保持一致,給解串器也提供一個相同頻率的時鐘REFCLK,且RCLK_R/F置高,即在時鐘的上升沿時刻,解串器將LVDS輸入端的串行信號轉(zhuǎn)換成10 bit并行信號,由FPGA控制通過CPCI總線上傳給上位機(jī)。
3.3 FPGA控制LVDS接收
為了解決LVDS數(shù)據(jù)接收時鐘與CPCI接口數(shù)據(jù)傳輸時鐘不同步的問題,F(xiàn)PGA調(diào)用一個異步時鐘控制的FIFO來進(jìn)行數(shù)據(jù)緩存,當(dāng)FIFO內(nèi)數(shù)據(jù)達(dá)到一次DMA傳輸?shù)臄?shù)據(jù)量時,其可編程FIFO半滿信號有效。為了防止FIFO內(nèi)數(shù)據(jù)溢出,F(xiàn)IFO深度要大于一次DMA傳輸?shù)臄?shù)據(jù)量。
4 全雙工RS422接口設(shè)計
4.1 全雙工RS422硬件電路設(shè)計
為了提高接口卡的抗干擾能力,需要采取隔離措施,以達(dá)到接口卡與記錄器之間電氣隔離、記錄器不受接口卡影響的目的。光電隔離是一種應(yīng)用較為廣泛的隔離方法,常用于實(shí)現(xiàn)電氣隔離[6]。本設(shè)計要求RS422數(shù)據(jù)傳輸?shù)牟ㄌ芈蕿?15.2 kb/s,選用HCPL-063L光耦進(jìn)行隔離,它是一種高速兼容LVTTL 3.3 V電平的光耦合器,輸出上升沿時間為45 ns,下降沿時間為20 ns,可以滿足波特率要求。由于HCPL-063L內(nèi)部輸出端的三極管的集電極開路,所以在設(shè)計電路時需要外接上拉電阻。
光耦隔離需要注意的是,輸入/輸出的供電電源要進(jìn)行隔離,否則就失去了隔離的意義。本設(shè)計采用DC-DC芯片RO3.33.3S隔離前后的3.3 V電源。RS422接口芯片選用應(yīng)用比較廣泛的MAX3490,在接口處都有上拉、下拉電阻,即使接口短路也不會損壞電路。
4.2 RS422接口FPGA邏輯控制
本設(shè)計中RS422接口遵循UART協(xié)議,先發(fā)低位,再發(fā)高位,其中包括1 bit起始位、8 bit數(shù)據(jù)位和1 bit停止位,總共10 bit,無奇偶校驗位。接口卡的系統(tǒng)時鐘為36.864 MHz,傳輸1 bit二進(jìn)制位需要經(jīng)歷36 864 000/115 200=320個時鐘周期,傳輸1 B的數(shù)據(jù)則需要經(jīng)歷320×10=3 200個時鐘周期。
在接收數(shù)據(jù)時,存在毛刺和干擾,為避免引起接收數(shù)據(jù)出現(xiàn)錯誤,以每位傳輸?shù)闹虚g態(tài)時鐘作為接收的時間,如起始位接收時鐘為第160個時鐘,第1位數(shù)據(jù)位為第480個時鐘,第2位數(shù)據(jù)位為第800個時鐘,以此類推,如圖5所示。
發(fā)送數(shù)據(jù)與接收數(shù)據(jù)的方法類似,是以每位傳輸?shù)钠鹗紤B(tài)時鐘作為發(fā)送的時間,起始位發(fā)送時鐘為第0個時鐘,第1位數(shù)據(jù)位為第320個時鐘,第2位數(shù)據(jù)位為第640個時鐘,以此類推。
5 設(shè)計驗證
給記錄器提供一個頻率為3 Hz、幅值為0.5 V~4.5 V的正弦模擬信號供其采集,接口卡接收記錄器下傳的數(shù)字量信號,并通過CPCI總線將數(shù)據(jù)上傳給上位機(jī)。用上位機(jī)畫圖軟件依據(jù)接收到的數(shù)據(jù)文件繪制波形,得到如圖6所示圖形。
如圖6所示,根據(jù)接口卡接收的數(shù)據(jù)繪制出的波形為光滑連續(xù)的正弦波,與信號源波形一致。根據(jù)圖中2點(diǎn)的橫坐標(biāo)可以看出,2.5個正弦周期的長度間隔大約為0.836 s,可以計算出正弦波頻率為3 Hz,與信號源頻率一致。記錄器的ADC為16 bit,最大可測電壓值為5 V,即每個分層值約代表0.076 mV,圖中分層值的最小值約為6 724,最大值約為57 147,可以計算出上圖正弦波的幅值約為0.5 V~4.5 V,與信號源幅值一致。
上述驗證結(jié)果表明,接口卡能夠正確接收記錄器下發(fā)的高速數(shù)據(jù)并通過CPCI總線將數(shù)據(jù)上傳給上位機(jī)進(jìn)行處理,具有很高的可靠性。
參考文獻(xiàn)
[1] 張華,胡修林,馬若飛.超高速數(shù)據(jù)采集系統(tǒng)設(shè)計與優(yōu)化策略研究[J].電子技術(shù)應(yīng)用,2010,36(12):86-90.
[2] 孫國良.基于FPGA的cPCI接口數(shù)據(jù)采集系統(tǒng)設(shè)計[D].北京:北京郵電大學(xué),2009.
[3] 王旭.PCI9054局部總線三種工作模式的具體應(yīng)用[J].電子與封裝,2005,12(5):27-28.
[4] 儲成群.基于LVDS接口的高速數(shù)據(jù)記錄器的設(shè)計[D].太原:中北大學(xué),2011.
[5] 孟青.多通道數(shù)據(jù)采集記錄器的設(shè)計與研究[D].太原:中北大學(xué),2013.
[6] 謝子青.光電隔離抗干擾技術(shù)及應(yīng)用[J].現(xiàn)代電子技術(shù),2003(13):33-34.