美章網 資料文庫 CPCI總線接口設計論文范文

CPCI總線接口設計論文范文

本站小編為你精心準備了CPCI總線接口設計論文參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。

CPCI總線接口設計論文

1地面測試臺整體結構

地面測試臺的測試對象為某采編存儲器。測試臺的主要功能包括向采編存儲器提供模擬信號供其采集,向采編存儲器下發控制命令,接收采編存儲器下發的高速LVDS實時數據并進行后續處理。測試臺的整體結構如圖1所示。cpci總線上掛有3個CPCI板卡,分別為CPU卡、接口卡、信源卡。其中,CPU卡為處理系統,接口卡和信源卡為功能卡。本文將以接口卡為主要依據來介紹如何以FPGA邏輯控制來實現CPCI局部總線接口和高速LVDS接口。

2LVDS高速數據接口實現

2.1LVDS接口硬件電路設計由于趨膚效應和介質損耗,高速信號在傳輸過程中會衰減。因此,當傳輸距離較長時,往往要使用電纜驅動器和均衡器來保證高速數據傳輸的準確性。電纜驅動器將信號以最大功率耦合到電纜上[4],延長信號的傳輸距離,電纜均衡器可以對傳輸的信號進行高頻補償,以至達到標準邏輯電位。本設計中,LVDS串行器/解串器分別選用TI公司的SN65LV1203和SN65LV1224,信號驅動器/電纜均衡器分別選用NS公司的CLC001和CLC014。LVDS接口電路結構如圖2所示,采編存儲器的FPGA控制LVDS串行器將10bit并行數據轉換成差分串行數據,再通過電纜驅動器將信號耦合到電纜上。地面測試臺的電纜均衡器對接收到的信號進行高頻補償之后傳送給解串器,解串器根據參考時鐘將差分串行數據轉換成10bit的并行數據,由FP-GA進行后續的處理。

2.2FPGA邏輯控制LVDS數據接收由于CPCI接口傳輸的時鐘和LVDS數據接收電路的時鐘不匹配,為了保證數據傳輸的可靠性,在編寫VHDL語言程序時FPGA內部調用一個異步時鐘控制的緩存FIFO[8]IP核來對接收到的LVDS高速數據進行緩存,如圖2所示。上位機通過配置PCI9054的傳輸計數寄存器,將一次DMA傳輸的數據量設置為2kbyte。寫FIFO的時鐘為18.432MHz,讀FIFO的時鐘為36.864MHz,當FIFO內數據量達到2kbyte時,FPGA立即通知上位機啟動一次DMA傳輸。經計算,從FIFO內讀走2kbyte數據大約耗時54μs,在這個時間段內寫入FIFO的數據量大約為1kbyte,所以,當DMA傳輸結束時,FIFO內數據不足2kbyte,上位機直到FIFO內數據量再次達到2kbyte時才會啟動下一次的DMA傳輸。為了避免PCI9054不能立即執行DMA傳輸而導致FIFO數據溢出,FIFO容量要大于2kbyte。本設計中選擇容量為4kbyte的FIFO,經驗證,不會出現FIFO溢出現象。

3CPCI局部總線接口實現

實現CPCI接口協議一般有兩種方法。其中一種方法為:利用FPGA實現接口邏輯。這種方法雖然可以充分利用FPGA的資源,減小成本,但PCI邏輯十分復雜,可靠性不能得到保證,且開發周期長。另外一種方法為:采用專用的PCI接口控制芯片。專用接口芯片功能強大,性能穩定,設計方便,很大程度上減少了設計者的工作量,縮短了開發周期。所以,本設計中選擇使用PCI9054接口控制芯片與FPGA配合工作的方式來實現CPCI局部總線接口通信。

3.1EEPROM的配置在Windows環境下,為有效管理多塊CPCI板卡資源,實現多卡協同工作。通過設置EEPROM配置選項中的ClassCode/REV值,解決使用同一驅動情況下,多塊CPCI板卡識別問題。地面測試臺含信源卡和接口卡兩塊CPCI功能板卡,圖3為接口卡的EEPROM配置文件截圖,各板卡需要設置不同的ClassCode/Rev(圖中紅色選框部分),上位機程序通過識別不同的ClassCode/Rev達到控制不同板卡的目的。ClassCode/Rev為一個32bit數據,規定高8bit作為不同板卡區分標志,低24bit保留。其中D31~D28功能標識,區分是否為信源卡、接口卡等功能卡。D27~D24數量標識,區分當前功能卡的數量,具體約束如下表1所示。

3.2CPCI局部總線實現方法

3.2.1PCI9054工作模式選擇PCI9054總線控制芯片有3種工作模式,即M模式、C模式、J模式。其中,C模式最為簡單,類似于單片機的工作方式,它的地址線和數據線分開使用,可以很方便地控制本地時序。所以本設計中PCI9054工作于C模式,由FPGA邏輯控制本地時序來完成CPCI局部總線與功能板卡之間的通信。

3.2.2CPCI總線訪問本地總線PCI9054的訪問方式選擇DMA方式。PCI9054作為主控設備,通過內部的DMA控制器來實現局部總線上數據與CPCI總線上數據的傳輸。在DMA訪問方式下,一個總線周期的時序如圖4所示。當CPCI總線訪問本地總線時,PCI9054內部的DMA控制器發出LHOLD信號來申請控制局部總線,當其收到響應信號LHOLDA后,才獲得局部總線的控制權。當ADS#信號有效時,局部總線上的地址信號LA為有效地址;當BLAST#信號有效時,代表一次單周期訪問開啟;READY#為本地總線的狀態反饋信號,只有當其有效時,表示本地總線已經準備好,才可以進行訪問;當LW/R#為高時,代表單周期訪問為寫操作,當LW/R#為低時,代表單周期訪問為讀操作。在本設計中,FPGA通過識別地址信號LA來判斷具體的操作類型。當上位機向接口卡下發控制命令時,為CPCI總線到本地總線的數據傳輸,具體的工作流程為:當上位機下發命令時,啟動一次單周期寫訪問,同時下發特定的寫地址LA1,FPGA反饋READY#信號,并判斷到LW/R#信號為高,即得知上位機要下發數據,便從該特定地址LA1將命令代碼讀出,進行解碼之后將命令下發給采編存儲器。當接口卡向上位機傳輸LVDS高速數據時,為本地總線到CPCI總線的數據傳輸,具體的工作流程為:當圖1中所示的LVDS數據緩存FIFO內數據量達到2kbyte,啟動一次DMA傳輸,即一次DMA傳輸將2kbyte的數據上傳給上位機進行實時顯示與處理。上位機通過下發特定地址信號LA2來向FPGA查詢FIFO內數據量是否達到2kbyte,一旦其得到緩存FIFO內數據量滿足要求的信息,立即啟動一次單周期讀訪問,并向FPGA下發數據傳輸地址LA3,FPGA反饋READY#信號,并判斷到LW/R#信號為低,便將LVDS數據通過地址LA3上傳給上位機。

4設計驗證

將信源卡和接口卡分別插到背板上的2號和3號物理槽中,1號物理槽為系統槽,打開計算機系統,安裝驅動之后,兩塊功能板卡均能夠被識別。分別對兩塊板卡進行操作,均能實現各自的功能且互不影響,說明EEPROM的配置正確可行。以接口卡為例,用Chipscope來監測CPCI總線對本地進行讀、寫操作的實際過程,圖5和圖6分別為單周期讀訪問時序截圖和單周期寫訪問截圖。如圖5所示,當FIFO內數據量達到2kbyte時,信號f_fifo_hf變高,此時啟動一次單周期讀訪問,LW/R#為低,通過地址0008h將數據87h上傳給上位機。實際時序與第3節介紹的本地總線向CPCI總線傳輸數據的理論時序一致,對接收到的數據文件進行分析,數據結構完整,數據包計數連續,沒有丟數現象,驗證了本設計中本地總線向CPCI總線傳輸數據的正確性。如圖6所示,上位機向FPGA下發控制信號,此時啟動一次單周期寫訪問,LW/R#為高,FPGA通過地址0004h獲得命令代碼67h。實際通信時序與第3節介紹的CPCI總線向本地總線傳輸數據的理論時序一致,且命令下發正確,驗證了本設計中CPCI總線向本地總線傳輸數據的正確性。

5總結

本設計使用PCI接口控制芯片簡化了CPCI接口的實現過程,由FPGA控制本地時序完成功能板卡與計算機系統之間的通信。經驗證,該設計可以準確完成高速數據的接收、上傳與處理。并且,CPCI總線體系結構增強了測試臺的耐用性、抗震性和散熱性,具有很高的可靠性。

作者:任勇峰彭巧君劉占峰單位:中北大學儀器科學與動態測試教育部重點實驗室中北大學電子測試技術國家重點實驗室

精品推薦
主站蜘蛛池模板: 3d动漫精品啪啪一区二区中| 久久久久久不卡| 爱豆传媒视频在线网址最新| 国产一区二区影院| 日韩精品免费一级视频| 国精产品一区一区三区有限公司 | 菠萝蜜亏亏带痛声的视频| 国产精品bbwbbwbbw| 99久久精品这里只有精品| 少妇无码AV无码一区| 久久久久久久久毛片精品| 最近中文字幕在线中文视频| 亚洲欧洲一区二区三区| 田中瞳中文字幕久久精品| 另类老妇性BBWBBW| 调教15小男生gay脱裤子| 国产成人爱片免费观看视频| 18禁黄污吃奶免费看网站| 在线免费黄色网址| hdmaturetube熟女xx视频韩国| 成人女人a毛片在线看| 久久五月天婷婷| 日韩欧美亚洲国产精品字幕久久久| 亚洲国产91在线| 欧美最猛黑人xxxx黑人| 人人狠狠综合久久亚洲婷婷| 精品久久人人爽天天玩人人妻| 国产主播在线看| 高清毛片aaaaaaaa**| 国产精品久久久久电影| 91啦视频在线| 在线观看免费a∨网站| qvod小说区图片区亚洲| 幻女free性俄罗斯第一次摘花| 中文字幕日韩亚洲| 日本免费一本天堂在线| 亚洲av无码久久寂寞少妇| 欧美乱人伦人妻中文字幕| 亚洲国产综合网| 欧美日韩亚洲国产一区二区综合| 亚洲香蕉久久一区二区|