亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于PC機和運動控制卡的運動控制系統(tǒng)設(shè)計

        2015-02-16 07:51:48張清勇張丹紅
        關(guān)鍵詞:進入狀態(tài)控制卡時序

        張清勇,張丹紅,姜 文

        (武漢理工大學(xué) 自動化學(xué)院,湖北 武漢 430070)

        ?

        基于PC機和運動控制卡的運動控制系統(tǒng)設(shè)計

        張清勇,張丹紅,姜 文

        (武漢理工大學(xué) 自動化學(xué)院,湖北 武漢 430070)

        介紹了由PC機和運動控制卡構(gòu)成的運動控制系統(tǒng),設(shè)計了由FPGA和PCI專用接口芯片組成的運動控制卡PCI接口控制器,實現(xiàn)了上位機與運動控制卡之間靈活而高速地通信,理論最大通信速率最高可達140 MB/s。

        運動控制卡;PCI總線;接口控制器;FPGA

        運動控制卡是一種可用于各種運動控制場合的上位控制單元。工業(yè)運動控制系統(tǒng)中,大多數(shù)運動控制卡通過PCI總線與上位機通信,PCI總線接口控制器的性能直接決定了運動控制卡與上位機的通信性能。PCI總線規(guī)范十分復(fù)雜,采用CPLD或FPGA等可編程邏輯器件直接實現(xiàn)接口控制器在技術(shù)和經(jīng)濟上要求比較高[1],為了達到PCI規(guī)范的嚴格要求,需要作大量的邏輯驗證、時序分析和程序調(diào)試,而采用專用PCI接口芯片和可編程邏輯器件相結(jié)合的設(shè)計方法可使設(shè)計開發(fā)者免除繁瑣的時序分析,增加接口設(shè)計的靈活性。

        筆者設(shè)計的PCI接口控制器由專用PCI接口芯片和FPGA組成。PCI9054是美國PLX公司生產(chǎn)的一款32bit/33MHz的通用PCI總線控制芯片[2-5],突發(fā)傳輸速率可達到132 MB/s,能夠完成PCI總線信號與Local總線信號的相互轉(zhuǎn)換。

        FPGA(field-programmable gate array),即現(xiàn)場可編程門陣列是在CPLD基礎(chǔ)上發(fā)展起來的新型高性能可編程邏輯器件[6],可完成極其復(fù)雜的時序與組合邏輯電路功能。該設(shè)計選用Altera公司Cyclone II系列的EP2C5T144完成PCI9054 Local總線與PCL6143 8086總線的對接。運動控制卡的大部分運動控制功能是由PCL6143實現(xiàn)的,EP2C5T144除了實現(xiàn)PCI9054與PCL6143總線接口的對接外,還可實現(xiàn)與PCI9054直接通信,以拓展運動控制卡的運動控制功能。

        1 運動控制系統(tǒng)總體結(jié)構(gòu)

        筆者的運動函數(shù)是通過PCI驅(qū)動程序驅(qū)動PCI總線傳輸數(shù)據(jù)至運動控制卡。運動控制卡實現(xiàn)各種速度和位置控制,并提供通用和專用I/O口與外界連接,系統(tǒng)結(jié)構(gòu)如圖1所示。系統(tǒng)中,上位機作為控制系統(tǒng)的核心部分[7-8],用戶通過操作界面直接調(diào)用運動函數(shù)庫的運動函數(shù),PCI插槽直接插入PC機中,板卡提供外部接口與伺服驅(qū)動器、限位開關(guān)和指示燈等相連接。

        圖1 運動控制系統(tǒng)總體結(jié)構(gòu)圖

        所設(shè)計的運動控制卡主要分為通信部分和運動控制部分,通信部分采用PCI9054作為橋接芯片與上位機進行通信,完成PCI總線信號到Local總線信號的轉(zhuǎn)換。FPGA用于實現(xiàn)PCI9054 Local總線與PCL6143 8086總線的邏輯粘合,保證PCI9054接收的上位機數(shù)據(jù)通過Local總線傳送至PCL6143,F(xiàn)PGA還可直接與PCI9054進行通信。運動控制部分的大部分功能由PCL6143實現(xiàn),F(xiàn)PGA用來拓展PCL6143的功能。

        2 PCI9054的Local總線

        PCI9054提供了PCI總線、EEPROM和Local總線3個接口,PCI總線接口與PC機的PCI總線相接,以完成PC機PCI總線到Local總線的橋接,并在兩者之間傳遞數(shù)據(jù)和信息。Local總線負責與外部設(shè)備的總線相接,外部設(shè)備通過簡單的時序設(shè)計便可與PCI9054 Local端通信。

        PCI9054具有3種工作模式:M模式、J模式和C模式。Local總線與PCI總線之間的數(shù)據(jù)傳輸有3種方式:PCI Initiator、PCI Target和DMA。該設(shè)計根據(jù)需求選擇了PCI9054數(shù)據(jù)傳輸方式為PCI Target,工作方式為C模式(數(shù)據(jù)、地址總線非復(fù)用),16位總線讀寫。在該工作模式中,字節(jié)使能信號LBE1#可等效為地址信號次低位LA1。由于PCI9054完成了PCI總線所需的全部時序,因此設(shè)計重點集中在Local總線,Local總線單周期寫時序圖如圖2所示。

        圖2 Local總線單周期寫時序圖

        Local總線的讀、寫時序基本相同,以PCI Target單周期寫為例,首先PCI9054通過驅(qū)動LHOLD有效來申請Local總線的主控權(quán),如果Local總線空閑,F(xiàn)PGA驅(qū)動LHOLDA有效以使PCI9054成為Local總線的主控。隨后PCI9054驅(qū)動ADS#有效,使得地址總線信號LA[ 31: 2]、字節(jié)使能信號LBE[ 3: 0]#和讀寫使能信號LW/R# 進入有效狀態(tài),F(xiàn)PGA需對以上信號鎖存和譯碼來確定操作目標和操作類型。目標設(shè)備通過驅(qū)動READY#信號有效,來通知PCI9054目標設(shè)備已經(jīng)準備好,這時PCI9054將數(shù)據(jù)傳輸?shù)綌?shù)據(jù)總線LD上,目標設(shè)備需在下一個時鐘上升沿讀取數(shù)據(jù)。而后PCI9054驅(qū)動BLAST#有效來表示單周期寫操作的結(jié)束。最后,PCI9054將使能LHOLD信號來釋放Local總線,F(xiàn)PGA也需使能LHOLDA信號。

        3 PCL6143的8086總線

        PCL6143是美國NPM公司設(shè)計的一款高性能、低成本的專用運動控制器[9],用戶通過簡單的內(nèi)部控制指令就可實現(xiàn)復(fù)雜的運動功能。PCL6143能夠進行定速、直線加減速、S曲線加減速的速度控制,也可進行連續(xù)運動、定長運動、回原點運動等位置控制。1片PCL6143控制4個軸,用戶可以控制1個芯片或者多個芯片進行多軸直線插補,同時可對PCL各種運動狀態(tài)進行監(jiān)視。此外,芯片可產(chǎn)生各種條件下的中斷信號,還具有用于控制伺服馬達驅(qū)動器的功能。

        PCL6143 內(nèi)部集成有各種不同接口電路, 允許與 4 種類型的 CPU 連接, 分別是 Z80、8086、H8 和 68000??紤]到通用性,該設(shè)計選擇應(yīng)用廣泛的Intel接口(8086接口)實現(xiàn)16位數(shù)據(jù)傳輸。因運動控制功能已集成在芯片內(nèi)部,故設(shè)計重點為PCL6143的8086總線接口,接口單周期寫時序圖如圖3所示。

        圖3 8086總線單周期寫時序圖

        針對時序圖3的時序條件的具體說明如表1所示。8086總線單周期讀時序分析基本與寫時序一致,以寫時序為例,由圖3和表1可知,F(xiàn)PGA首先要驅(qū)動地址總線A1~A4和片選信號CS#有效,且要滿足A1~A4和CS#的建立時間,在A1~A4保持有效至少10 ns和CS#保持有效至少4 ns后才能驅(qū)動WR#有效。在CS#有效后若WRQ#有效,則PCL6143處于忙碌狀態(tài),請求CPU等待。待WRQ#無效后,CPU便將有效數(shù)據(jù)送至數(shù)據(jù)總線,等待至少12 ns后FPGA再置WR#為高電平,在WR#上升沿期間,數(shù)據(jù)被寫入至PCL6143。

        表1 8086總線單周期寫時序表 ns

        4 接口控制器的實現(xiàn)

        PCI總線接口控制器中PCI9054實現(xiàn)其與PC機PCI總線的通信,F(xiàn)PGA實現(xiàn)PCI9054 Local端與PCL6143的通信,以及與PCI9054 Local端的直接通信。通過對Local總線和8086總線的時序分析可知,Local總線屬于同步總線接口,而8086總線屬于異步總線接口,兩者的接口時序完全不符。由于組合邏輯電路的產(chǎn)生延時并不固定,且容易產(chǎn)生毛刺和亞穩(wěn)態(tài),通過簡單組合邏輯電路將兩者進行邏輯粘合的方案可行性不高,筆者采用的Local端接口電路方案如圖4所示。

        圖4 Local端接口控制器電路圖

        圖4中,F(xiàn)PGA分別驅(qū)動Local總線和8086總線。FPGA驅(qū)動模塊左側(cè)接口與Local總線屬于同步通信,為減小時鐘偏斜和時鐘抖動,使用FPGA的鎖相環(huán)和全局時鐘網(wǎng)絡(luò),且鎖相環(huán)的輸出經(jīng)過全局時鐘網(wǎng)絡(luò)和輸出引腳直接驅(qū)動Local端時鐘。由于Local端只有一個從機,不存在總線仲裁問題,因此PCI9054 LHOLD信號線隨時申請主控權(quán)便可隨時獲得LHOLDA信號的應(yīng)答。若將LHOLD和LHOLDA直接相連,很容易造成計算機運行的不穩(wěn)定,這是因為當環(huán)境溫度、工作電壓等外界因素變化時,大多數(shù)邏輯器件的引腳延時會有相應(yīng)的變化。利用D觸發(fā)器只在觸發(fā)時鐘有效邊沿對信號敏感的特性進行設(shè)計,可提高電路運行的穩(wěn)定性,因此該設(shè)計將LHOLD在FPGA中經(jīng)D觸發(fā)器后輸出為LHOLDA。

        FPGA驅(qū)動模塊右側(cè)接口與8086總線屬于異步通信,驅(qū)動模塊需提供4根地址線供PCL6143片內(nèi)尋址。由于FPGA需要與PCI9054直接通信以實現(xiàn)運動控制功能,因此自身也需4根地址線供其片內(nèi)尋址。Local端的PCI_LA[4..2]和PCI_LBE1#用于片內(nèi)尋址,PCI_LA5用于片外尋址,以區(qū)分FPGA和PCL6143。

        Local端接口控制器的主體部分是由有限狀態(tài)機實現(xiàn)的,所設(shè)計的狀態(tài)機采用高效的one-hot編碼,運用三段式描述方法,使FSM做到同步寄存器輸出,消除了組合邏輯輸出的不穩(wěn)定與產(chǎn)生毛刺的隱患,且更利于時序路徑分析,在FPGA上的綜合與布局布線效果更佳。狀態(tài)機的狀體轉(zhuǎn)移圖如圖5所示。

        圖5 接口控制器狀態(tài)機的狀態(tài)轉(zhuǎn)移圖

        一個完備的狀態(tài)機應(yīng)該具備初始化狀態(tài)和默認狀態(tài),所設(shè)計的狀體機初始化狀態(tài)和默認狀態(tài)都為IDLE。該狀態(tài)機的轉(zhuǎn)移是由驅(qū)動模塊的輸入信號PCI_ADS#、PCI_BLAST#、PCI_LW/R#和PCI_LA5的變化引起的。在初始狀態(tài)IDLE下,若Local端PCI_ADS#有效,則進入狀態(tài)ADSready,在該狀態(tài)中鎖存PCI_LA[5:2]和PCI_LBE1#,根據(jù)最高位地址線PCI_LA5判斷此次讀寫操作是PCL6143還是FPGA,若PCI_LA5為低電平則進入狀態(tài)PCL6143_CS,否則進入狀態(tài)FPGA_CS。

        針對PCL6143的讀寫操作,在狀態(tài)PCL6143_CS中,驅(qū)動PCL6143片選信號PCL_CS#和地址信號FPGA_LA[4..1]有效,并判斷PCI_LW/R#,若為高電平則進入狀態(tài)PCL6143_write,否則進入狀態(tài)PCL6143_read。在狀態(tài)PCL6143_write或PCL6143_read中,驅(qū)動PCL6143寫信號PCL_WR#或讀信號PCL_RD#有效,并進入狀態(tài)PCL6143_dataready。在狀態(tài)PCL6143_dataready中判斷PCL_WRQ#,若有效則停留在原狀態(tài),否則驅(qū)動PCI_READY#有效,即PCL6143已經(jīng)準備好讀寫數(shù)據(jù),并進入狀態(tài)PCL6143_datafinish。在狀態(tài)PCL6143_datafinish中,驅(qū)動PCL_WR#和PCL_RD#無效,并判斷PCI_BLAST#,若無效則停留在原狀態(tài),即該次讀寫操作還未結(jié)束,否則驅(qū)動PCI_READY#和PCL6143_CS#無效并進入狀態(tài)STOP。在狀態(tài)STOP中,判斷PCI_LHOLD,若有效則停留在原狀態(tài),即PCI9054還未釋放Local總線,否則進入狀態(tài)IDLE。

        針對FPGA的讀寫操作,在狀態(tài)FPGA_CS中,判斷PCI_LW/R#,若為高電平則進入狀態(tài)FPGA_write,否則讀取在狀態(tài)PCI_ADS#鎖存的PCI_LA[ 4..2] 和PCI_LBE1#地址值并獲取該地址中的數(shù)據(jù),進入狀態(tài)FPGA_read。在狀態(tài)FPGA_read中,將要讀的數(shù)據(jù)送至數(shù)據(jù)總線PCI_LD[15:0]上,保證PCI9054在讀取Local端數(shù)據(jù)時已將數(shù)據(jù)準備好,并進入狀態(tài)FPGA_readdataready。在狀態(tài)FPGA_readdataready中,驅(qū)動PCI_READY#有效,即通知PCI9054數(shù)據(jù)已經(jīng)準備好,可以開始讀取數(shù)據(jù),并進入狀態(tài)FPGA_datafinish。若此時處在狀態(tài)FPGA_write中,驅(qū)動PCI_READY#有效,即通知PCI9054已經(jīng)準備好接收數(shù)據(jù),并進入狀態(tài)FPGA_writedataready。狀態(tài)FPGA_writedataready中,獲取數(shù)據(jù)總線PCI_LD[15:0]的數(shù)據(jù),并進入狀態(tài)FPGA_datafinish。在狀態(tài)FPGA_datafinish中,驅(qū)動狀態(tài)PCI_READY#無效,即通知PCI9054接收數(shù)據(jù)已經(jīng)完成,并進入狀態(tài)STOP。在狀態(tài)STOP中,判斷PCI_LHOLD,若有效則停留在原狀態(tài),否則進入狀態(tài)IDLE。

        為了保證設(shè)計穩(wěn)定可靠,必須對設(shè)計附加時序約束,對綜合結(jié)果進行時序分析。該設(shè)計采用TimeQuest Timing Analyzer時序分析工具對全局時鐘、全局I/O、輸入最大/最小延時和輸出最大/最小延時進行約束,經(jīng)布局布線優(yōu)化后,時序分析報告結(jié)果顯示系統(tǒng)可以運行的最高時鐘頻率fmax=69.99 MHz (period=14.288 ns ),時序余量slack=5.712 ns,完全滿足設(shè)計要求。

        5 結(jié)論

        筆者提出了一種基于PC機和運動控制卡的運動控制系統(tǒng)設(shè)計方案,選用專用接口芯片PCI9054避免了復(fù)雜的邏輯設(shè)計和時序分析,采用高性能FPGA實現(xiàn)了PCI9054與PCL6143的通信并可拓展PCL6143部分運動控制功能。同時重點討論了PCI總線接口控制器的實現(xiàn),分析了PCI9054 Local總線時序和PCL6143 8086總線時序,使用三段式狀態(tài)機實現(xiàn)了Local總線與8086總線的通信,以及FPGA與PCI9054的直接通信。靜態(tài)時序分析結(jié)果和現(xiàn)場通信測試表明,該設(shè)計穩(wěn)定可靠,通信高效流暢。

        [1] 劉軍智,王亞海.基于PCI9054與FPGA結(jié)合的PXI 總線接口電路的設(shè)計[J].電子質(zhì)量,2010(7):9-11.

        [2] 童鵬,吳新建.PCI9054芯片接口設(shè)計中若干問題的深入研究[J].電子技術(shù)應(yīng)用,2005,31(10):64-66.

        [3] 韓雪峰,黃炎,楊濤.基于PCI總線的高速數(shù)據(jù)采集接口的設(shè)計與實現(xiàn)[J].微計算機信息,2005,21(8):71-73.

        [4] 謝黎明,陳宏濤.DSP運動控制器與PCI總線的接口設(shè)計[J].新技術(shù)新工藝,2010(5):36-37.

        [5] 張丹紅,張孝勇,劉文.基于PCI9054的數(shù)據(jù)通信接口卡設(shè)計[J].武漢理工大學(xué)學(xué)報(信息與管理工程版),2013,35(3):305-308.

        [6] 王金明.Verilog HDL程序設(shè)計教程[M].北京:人民郵電出版社,2004:1-8.

        [7] 李穎,譚立新,張文凱.基于PC和運動控制卡的開放式運動控制系統(tǒng)[J].儀表技術(shù),2007(4):43-44.

        [8] 何林,孟憲翠,董硯,等.基于DSP和CPLD的運動控制器簡化設(shè)計與應(yīng)用[J].自動化與儀表,2011(1):36-39.

        [9] 羅繼合,劉建群,余孝偉,等.PCL6143運動控制器的原理及應(yīng)用[J].國外電子元器件,2008(1):48-51.

        ZHANG Qingyong:Laboratory Technician; School of Automation, WUT, Wuhan 430070, China.

        [編輯:王志全]

        Design of Motion Control System Based on PC and Motion Control Card

        ZHANGQingyong,ZHANGDanhong,JIANGWen

        Firstly, motion control system structure based on PC and movement control card was introduced. Then the realization of interface controller between PCI bus and special motion control chip by use of interface chip PCI9054 and programmable logic device FPGA was mainly described. The interface controller also implements the direct communication between FPGA and PCI9054 to expand the function of PCL6143, which makes the motion control system more open-ended. The maximal theoretical communication rate is up to 140MB/s.

        motion control card; PCI bus; interface controller; FPGA

        2015-09-06.

        張清勇(1984-),女,湖北仙桃人,武漢理工大學(xué)自動化學(xué)院實驗師.

        湖北省自然科學(xué)基金資助項目(2013CFB335).

        2095-3852(2015)06-0837-04

        A

        TP23

        10.3963/j.issn.2095-3852.2015.06.038

        猜你喜歡
        進入狀態(tài)控制卡時序
        時序坐標
        兼容多種運動控制卡的V割機數(shù)控系統(tǒng)關(guān)鍵技術(shù)*
        基于Sentinel-2時序NDVI的麥冬識別研究
        課前預(yù)習(xí)在初中數(shù)學(xué)教學(xué)中的應(yīng)用探討
        任務(wù)型教學(xué)在初中數(shù)學(xué)中的應(yīng)用探討
        贏未來(2018年33期)2018-04-10 11:07:13
        基于運動控制卡的桁架機器人控制系統(tǒng)設(shè)計
        一種毫米波放大器時序直流電源的設(shè)計
        電子制作(2016年15期)2017-01-15 13:39:08
        國企黨員領(lǐng)導(dǎo)干部應(yīng)當進入狀態(tài)
        以生為本,構(gòu)建富有生命活力的地理課堂
        凌華科技四軸伺服/步進運動控制卡PCI-C154+
        91免费播放日韩一区二天天综合福利电影| 亚洲男女内射在线播放| 色婷婷亚洲一区二区三区| 少妇被躁爽到高潮无码文| 亚洲最大无码AV网站观看| 国产一区二区在三区在线观看| 免费在线观看视频播放| 国产农村妇女毛片精品久久| 欧美理论在线| 日韩人妻有码中文字幕| av免费在线免费观看| 免费大黄网站| 亚洲v日本v欧美v综合v| 一本大道综合久久丝袜精品| 亚洲午夜狼人综合影院| 欧美大屁股xxxx| 国产乱色国产精品免费视频| 综合久久加勒比天然素人| 无码熟妇人妻av在线网站| 成人无码免费一区二区三区| 欧美日韩一线| 亚洲熟女熟妇另类中文| 欧美激情在线播放| 国产欧美日韩视频一区二区三区| 白白青青视频在线免费观看| 国语对白在线观看免费| 黑森林福利视频导航| 国内精品久久久久影院优| 女同中文字幕在线观看| 夜夜高潮夜夜爽夜夜爱爱一区 | 男女后入式在线观看视频| 无人区乱码一区二区三区| 人妻忍着娇喘被中进中出视频| 99色网站| 色综合悠悠88久久久亚洲| 免费人成网ww555kkk在线| a级福利毛片| 极品少妇高潮在线观看| 免费人成年激情视频在线观看| 国产精品深田咏美一区二区| 亚洲人妻有码中文字幕|