
高速數據傳輸系統設計的關鍵是主機接口卡的設計與實現。傳統的做法是采用分立元件,由若干個模塊構成。大多數的設計都類似于如下結構[1]:接口的主要功能模塊包括光電信號轉換接口(O/E和E/O)、串行化和解串行化模塊(TX和RX)、數據緩存F I F O 、c PCI 控制器和可編程邏輯模塊(FPGA或CPLD)或DSP。各模塊中O/E和E/O 實現光纖通道串行光信號和串行電信號之間的相互轉換。TX和RX 實現將串行電信號和并行電信號的相互轉換功能。F I F O 主要實現光纖通道和cPCI 之間信號的緩沖。cPCI 控制器實現FIFO 輸出的信號與32 位標準cPCI 信號的轉換。FPGA或CPLD 負責各模塊之間的時序協調和傳輸控制。分析以上方案可見,各模塊功能都是由分立芯片完成的。這樣各芯片間的互連勢必會影響傳輸速率,也將使PCB板的布局布線變得復雜,使傳輸延時增大,進一步降低傳輸速率。而隨著FPGA(Field Programmable Gate Array)技術的不斷發展,其容量、功能、可靠性以及響應速度都在不斷的提高。用一片FPGA完全可以實現計算機與光纖通道之間的數據傳輸與處理。鑒于此,本論文的設計將用一片FPGA來實現串行信號與并行信號的相互轉換、數據緩沖以及時序協調和傳輸控制等以前用分立元件實現的功能。
籠統來說,本設計主要是要完成主機接口的實現。主機接口是實現高速數據傳輸和數據存儲的一個關鍵環節。主要完成高速數據流的信號轉換,實現數據在主機上的存儲,同時減少CPU對存儲過程的干預。CompactPCI簡稱cPCI,是國際PICMG協會于1994年提出來的一種總線接口標準。它的出現解決了多年來電信系統工程師與設備制造商面臨的棘手問題:將VME密集堅固的封裝和大型設備的極佳冷卻效果以及PC廉價的易采用具有最新處理能力的芯片結合在一起,既保證99.999%的高可靠度,又降低硬件和軟件的開發成本。因此希望通過cPCI總線利用DMA方式完成數據的傳輸與存儲。由圖1知,接口的主要功能模塊包括電光(光電)信號轉換模塊、可編成邏輯模塊FPGA和cPCI總線接口模塊。接口各模塊中,O/E和E/O實現光信號與電信號的相互轉換。FPGA實現幾乎所有的信號處理工作,比如實現數據的串行、并行轉換與最終通過光纖進行數據傳輸;實現FIFO功能進行信號緩沖,在高速數據傳輸中緩存是很重要的,它協調了數據發送端和接收端之間的數據傳輸速度,防止由于數據流速度的波動導致傳輸的失敗;實現各模塊之間的時序協調和傳輸控制等。cPCI總線接口卡實現FPGA輸出的信號與32位標準cPCI信號的轉換,通過DMA方式實現cPCI總線到主機的數據存儲。主要的研究與設計重點在cPCI總線接口模塊、可編程邏輯模塊FPGA和光電轉換模塊。
接口卡的軟件設計主要包括兩個部分,一個是FPGA控制程序的編寫,一個是板卡驅動程序的編寫。以下本文主要就接收端FPGA控制程序的編寫加以詳細論述。正如前面所述,FPGA主要完成時序協調和傳輸控制,以及數據流的串并轉換和緩存。整個系統的控制采用有限狀態機[3]。狀態機的狀態轉換以及各個狀態下信號的處理完全依據PCI9056的Local端到PCI端的DMA傳輸時序圖。
轉換流程分為3個狀態:idle ,prel,dma_read。idle為空閑狀態,上電復位后首先進入此狀態,在此期間總線無任何操作,只是不斷檢測ADS#信號,一旦檢測到這個信號有效,就進入下一個狀態。prel是一過渡狀態。根據PCI9056的DMA傳輸時序圖可知,每次一個新的總線接入有效(即ADS#有效)后的第一個數據會持續兩個時鐘周期(其后的數據持續一個時鐘周期),其中,第一個時鐘周期并不采集數據,而只是使從設備準備好信號(即READY#)有效,第二個時鐘周期才開始采集第一個數據。所以,此過渡狀態主要是使READY#信號在采集數據前一個周期有效。dma_read狀態期間執行從局部總線到cPCI總線的DMA操作,在每次時鐘的上升沿采集數據,直到突發長度內的最后一個數據,BLAST#信號有效,下一個時鐘周期,狀態機又回到空閑狀態,等待下一次傳輸的開始。對數據的處理是按照數據的流向逐步完成的[4][5]。首先經過OE轉換的串行數據進入FPGA,經由FPGA內部的串行高速收發通道完成解碼及第一步的串并轉換,這時由1bit串行數據變為8bits并行數據;其次由于cPCI局部總線數據線寬度為32位,所以第二步的串并轉換要完成8bits數據到32bits數據的轉換。其過程是,用4個8bits的D觸發器來連續鎖存輸入的8bits的數據,再用一個32bits的D觸發器來同時鎖存4個8bits的數據以形成32bits寬的數據輸出;最后為了對數據進行緩沖,完成數據速率的轉換,將數據存入一32位寬異步FIFO。該異步FIFO的寫時鐘是從串行數據提取出的隨路時鐘,讀時鐘是與總線控制器PCI9056的局部時鐘同頻的由板上提供的外部66M時鐘。
CIO頻道人物視窗
CIO頻道方案案例庫
大數據建設方案案例庫
電子政務建設方案案例庫
互聯集成系統構建方案案例庫
商務智能建設方案案例庫
系統集成類軟件信息研發企業名錄