該文進(jìn)行的設(shè)計作為數(shù)控系統(tǒng)大課題中的一個子課題,主要研究利用PCI總線來實現(xiàn)對外圍IO的操作,硬件上包括設(shè)計一塊PCI接口卡并測試通過,軟件上實現(xiàn)了PCI接口卡在Linux下的驅(qū)動和用軟PLC來實現(xiàn)對外圍IO的操作.該文在比較幾種微機(jī)總線的基礎(chǔ)上,為了實現(xiàn)數(shù)控系統(tǒng)高速、高精度、低功耗的要求,采用PCI總線進(jìn)行設(shè)計.隨著可編程邏輯器件的發(fā)展,為在一片PLD芯片內(nèi)實現(xiàn)復(fù)雜的邏輯控制提供了條件.該文在綜合比較開發(fā)PCI卡的幾種方法的基礎(chǔ)上,選擇了使用FPGA來實現(xiàn)PCI接口卡設(shè)計.用VHDL語言對FPGA編程,采用模塊化的設(shè)計方法進(jìn)行設(shè)計,用狀態(tài)機(jī)來控制PCI邏輯的時序.設(shè)計首先在EDA軟件上仿真通過后,制作成PCI板卡并在現(xiàn)場調(diào)試通過.為方便所設(shè)計的PCI卡在數(shù)控系統(tǒng)及其它系統(tǒng)中應(yīng)用,該文設(shè)計了PCI卡在Linux下的設(shè)備驅(qū)動程序,主要包括設(shè)備的注冊與注銷、與Linux內(nèi)核的接口、相關(guān)的入口函數(shù)、驅(qū)動程序的編碼、編譯、加載與卸載等,并編寫了相應(yīng)的測試代碼,在Linux環(huán)境下調(diào)試通過.為了解決數(shù)控系統(tǒng)中PLC的應(yīng)用問題,該文還設(shè)計了PCI卡在軟PLC中的應(yīng)用.采用的軟PLC軟件是Linux下的MatPLC軟件.在詳細(xì)討論MatPLC工作原理的基礎(chǔ)上,設(shè)計了一個輸入模塊、一個輸出模塊和一個MatPLC配置文件.輸入模塊通過驅(qū)動程序從PCI卡中讀取數(shù)據(jù),傳送到MatPLC內(nèi)核的全局變量中,輸出模塊從內(nèi)核全局變量讀取數(shù)據(jù)并進(jìn)行邏輯運算,再輸出到PCI卡.將他們編譯通過,并進(jìn)行測試,最終實現(xiàn)軟PLC對外圍IO端口的讀寫.該論文受到廣東省科技攻關(guān)項目[2002A1040402]、廣東省科技攻關(guān)項目[2003C101002]、廣州市重大科技攻關(guān)計劃[2002Z1-D0051]的資助.
標(biāo)簽:
FPGA
PCI
接口設(shè)計
上傳時間:
2013-07-18
上傳用戶:szchen2006
隨著電子技術(shù)和EDA技術(shù)的發(fā)展,大規(guī)??删幊踢壿嬈骷LD(Programmable Logic Device)、現(xiàn)場可編程門陣列FPGA(Field Programmable Gates Array)完全可以取代大規(guī)模集成電路芯片,實現(xiàn)計算機(jī)可編程接口芯片的功能,并可將若干接口電路的功能集成到一片PLD或FPGA中.基于大規(guī)模PLD或FPGA的計算機(jī)接口電路不僅具有集成度高、體積小和功耗低等優(yōu)點,而且還具有獨特的用戶可編程能力,從而實現(xiàn)計算機(jī)系統(tǒng)的功能重構(gòu).該課題以Altera公司FPGA(FLEX10K)系列產(chǎn)品為載體,在MAX+PLUSⅡ開發(fā)環(huán)境下采用VHDL語言,設(shè)計并實現(xiàn)了計算機(jī)可編程并行接芯片8255的功能.設(shè)計采用VHDL的結(jié)構(gòu)描述風(fēng)格,依據(jù)芯片功能將系統(tǒng)劃分為內(nèi)核和外圍邏輯兩大模塊,其中內(nèi)核模塊又分為RORT A、RORT B、OROT C和Control模塊,每個底層模塊采用RTL(Registers Transfer Language)級描述,整體生成采用MAX+PLUSⅡ的圖形輸入法.通過波形仿真、下載芯片的測試,完成了計算機(jī)可編程并行接芯片8255的功能.
標(biāo)簽:
FPGA
計算機(jī)
可編程
外圍接口
上傳時間:
2013-06-08
上傳用戶:asddsd