


下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于可編程邏輯器件的數據傳輸接口研究與設計摘要:目前部分基于X86體系結構平臺的測試儀器已經采用了PCI板卡設備來控制整個測試電路的運行、采集測試數據,因此在PCI板卡上的本地總線與數據傳輸電路之間需要設計接口電路。在分析PCI9054接口控制器的基礎上,研究和設計了一種實用的數據傳輸接口電路并在現場可編程門陣列器件內部得以實現。 關鍵詞:PCI總線;數據傳輸;FPGA 1引言 近年來PCI總線已經在高檔測試儀器中得到越來越廣泛的應用。由于PCI總線協議非常復雜,不便于與測量控制邏輯直接連接,需要經過一個PCI接口控制器作為橋梁。另外考慮到軟件的處理速度和工作效率,測量電路高速采集的數據也不能
2、立即傳送給主機,因此在FPGA內部設計了FIFO緩沖器。設計方案如圖1所示。當送入FIFO的測量數據達到預定的數量時,本地中斷邏輯通過PCI總線接口控制器向主機提出中斷請求,主機響應中斷后,通過PCI總線控制器從FIFO中取走測量數據。 PCI接口控制器的設計相對來說比較復雜。目前比較常用的方案有兩種:第一種是用可編程邏輯器件設計實現,第二種方案是采用專用接口芯片。由于前者方案需要投入大量的人力、物力進行邏輯驗證和時序分析工作,延長了開發周期,因此本文選擇了專用接口芯片方案。具體型號是PLX公司的PCI9054芯片。使用這種專用芯片橋接PCI總線和本地總線,開發者可以省去考慮很多復雜的PCI總
3、線規范,而集中精力開發硬件和驅動程序。 以下主要論述圖1虛線框內的FPGA設計與實現。重點是與PCI9054接口的本地總線控制邏輯和中斷邏輯。 2數據采集接口邏輯的設計 2.1PCI9054本地總線研究 對本地總線操作過程及控制信號時序關系的分析是應用PCI9054芯片和設計本地總線控制器的基礎性工作。PCI9054本地總線的信號包括:LHOLD(輸出)申請占用本地總線信號;LHOLDA(輸入)本地總線應答信號;ADS#(輸出)地址選通信號;BLAST#(輸出)傳輸結束指示信號;LW/R(輸出)讀寫狀態信號(高電平表示寫,低電平表示讀);READY#(輸入)外部等待信號;LCLK(輸出)本地時
4、鐘;LRESET#(輸出)本地復位信號;LA31:2(輸出)本地地址總線;LD31:0(輸入/輸出)本地數據總線。上述信號名后帶有“#”的表示低電平有效,另外輸入輸出是針對PCI9054芯片而言的。 當讀數據時,本地總線上的各信號時序關系如圖2所示,控制信號有效邊沿的含義已標注于圖中。圖2所示的PCI從方式讀操作中,每次傳輸的數據有多個字,ADS#信號變低表示數據傳輸周期的開始,之后每個時鐘周期的上升沿將本地數據總線上的數據讀入9054內部,在緊接著的時鐘下降沿自動增加本地地址總線上的地址;數據傳輸狀態將一直持續到BLAST#信號變低,表示當前數據期已經是傳輸的最后一個數據期,數據傳輸即將結束
5、。這種傳輸方式稱為突發傳輸。相對應的PCI9054也支持單周期傳輸。在單周期傳輸時,每次只傳輸一個字,BLAST#信號在ADS#信號有效后的下一個時鐘周期就會出現。顯然單周期方式的數據傳輸率較之突發傳輸方式會慢很多,由于FPGA內的FIFO數據傳輸率能夠與PCI9054的數據傳輸率相適應,本文采用突發傳輸方式以提高PCI總線的傳輸效率。12.2本地總線控制 根據前文可以明確出本地總線控制器的設計目標:根據輸入的控制信號LHOLD、ADS#、BLAST#生成符合本地總線時序要求的控制信號LHOLDA、READY#和FIFO的讀請求信號RDREQ。 對于LHOLD信號的應答問題,采用Verilog
6、語言中的always和assign語句就能簡便高效的實現。對READY#信號的處理可以采用同步狀態機,其狀態圖如圖3所示: 2.3對于本地中斷的分析和應用 當采集并存儲在FIFO中的數據達到一定數量,為了避免FIFO溢出主機需要將測試數據從FIFO中取走。從提高效率的角度出發,采用中斷方式完成該工作。 在PCI9054 的中斷被使能的情況下,如果本地邏輯向PCI9054芯片輸出本地中斷信號,PCI9054芯片將生成PCI中斷信號。需要特別注意的是:PCI9054芯片生成的PCI中斷信號是電平信號,而非脈沖信號,因此當該PCI中斷被PCI主機響應后需要在中斷服務程序的入口處手動禁止PCI中斷,否
7、則會導致多次觸發中斷的異常情況出現。同時由于在中斷服務程序出口處重新打開了PCI中斷,因此須在中斷服務程序執行期間撤銷本地中斷源以避免中斷服務程序一旦結束就將再次觸發中斷的異常情況出現。 基于以上分析,本地中斷處理邏輯需要實現兩點功能要求: 當觸發條件滿足時,生成本地中斷輸入信號LINT#。 在中斷服務程序執行期間,撤銷本地中斷輸入信號LINT#。對于第一點要求,采用的方法是用減計數器的溢出信號來作為本地中斷輸入信號,該計數器的初值可以由應用程序根據被測器件和測量模式來靈活設置。對于第二個功能要求,在開發實踐中采用了一種效率更高、移植性更好的本地中斷信號撤銷機制。其關鍵點在于將撤銷本地中斷信號
8、的控制權由本地邏輯轉移到中斷服務程序中。具體方法是:在本地端設計一個中斷處理觸發器。該中斷處理觸發器的clear端口連接的是數據總線的最低位與譯碼器輸出信號相與后的信號,D端口置1,clk端口連接上述減計數器的溢出信號,q端口上輸出信號經過非門作為LINT#信號輸出。當FIFO中的數據量達到預先設定值時,減計數器溢出,觸發器q端輸出高電平,經過反相器即產生低有效的本地中斷輸入信號。當主機響應中斷,并進入中斷服務程序后,執行一次對該觸發器置1的操作,這樣連接clear端口的與門的兩個輸入端都為高電平,進而將該觸發器的q端輸出置0,經過反相后,LINT#信號變為高電平,即撤銷本地中斷信號。 3結論 本文討論分析PCI9054接口控制器的本地總線操作過程,并在此基礎上研究與設計了數據采集接口邏輯。該數據采集接口邏輯是PCI9054芯片與數據FIFO進行信息交互的橋梁。該設計已用Verilog硬件描述語言進行了功能描述,并仿真驗證和綜合。設計方案已經應用在某晶體管特征曲線圖示儀產品開發實踐中,實踐運行證
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 整體調控政策解讀課件
- 高校舞蹈教學課件
- 教育消防安全宣傳課件
- 圖層教學課件
- 新品入店申請活動方案
- 春節手工活動方案
- 文體活動插花活動方案
- 新手尋寶活動方案
- 昌都職校活動方案
- 新婚聚會活動方案
- 2025年遼寧沈陽地鐵集團有限公司所屬分公司招聘筆試參考題庫附帶答案詳解
- 車間主任轉正述職報告
- 靜脈采血并發癥預防與處理
- 2024年體育類第一批(本科)投檔最低分排名
- 2025年河南省許昌市許昌縣小升初數學綜合練習卷含解析
- 2.5 噴泉 教學設計 六年級音樂下冊 人教版
- 剖宮產手術專家共識2023年解讀
- 2024-2025學年廣東省惠州市惠城區七年級下學期期末數學教學質量監測試題(含答案)
- 2025年上半年駐村工作總結范例(三篇)
- 樓宇自控系統入門基礎知識
- 化工企業安全操作規程培訓計劃
評論
0/150
提交評論