該文進行的設計作為數控系統大課題中的一個子課題,主要研究利用PCI總線來實現對外圍IO的操作,硬件上包括設計一塊PCI接口卡并測試通過,軟件上實現了PCI接口卡在Linux下的驅動和用軟PLC來實現對外圍IO的操作.該文在比較幾種微機總線的基礎上,為了實現數控系統高速、高精度、低功耗的要求,采用PCI總線進行設計.隨著可編程邏輯器件的發展,為在一片PLD芯片內實現復雜的邏輯控制提供了條件.該文在綜合比較開發PCI卡的幾種方法的基礎上,選擇了使用FPGA來實現PCI接口卡設計.用VHDL語言對FPGA編程,采用模塊化的設計方法進行設計,用狀態機來控制PCI邏輯的時序.設計首先在EDA軟件上仿真通過后,制作成PCI板卡并在現場調試通過.為方便所設計的PCI卡在數控系統及其它系統中應用,該文設計了PCI卡在Linux下的設備驅動程序,主要包括設備的注冊與注銷、與Linux內核的接口、相關的入口函數、驅動程序的編碼、編譯、加載與卸載等,并編寫了相應的測試代碼,在Linux環境下調試通過.為了解決數控系統中PLC的應用問題,該文還設計了PCI卡在軟PLC中的應用.采用的軟PLC軟件是Linux下的MatPLC軟件.在詳細討論MatPLC工作原理的基礎上,設計了一個輸入模塊、一個輸出模塊和一個MatPLC配置文件.輸入模塊通過驅動程序從PCI卡中讀取數據,傳送到MatPLC內核的全局變量中,輸出模塊從內核全局變量讀取數據并進行邏輯運算,再輸出到PCI卡.將他們編譯通過,并進行測試,最終實現軟PLC對外圍IO端口的讀寫.該論文受到廣東省科技攻關項目[2002A1040402]、廣東省科技攻關項目[2003C101002]、廣州市重大科技攻關計劃[2002Z1-D0051]的資助.
標簽:
FPGA
PCI
接口設計
上傳時間:
2013-07-18
上傳用戶:szchen2006