<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于USB的高速硬件精插補器設(shè)計

          基于USB的高速硬件精插補器設(shè)計

          作者: 時間:2007-10-24 來源:網(wǎng)絡(luò) 收藏

          摘要:介紹了一種基于通訊的高速精插補器的設(shè)計,設(shè)計中采用FPGA實現(xiàn)精插補,并通過接口實現(xiàn)與上位PC機的高速數(shù)據(jù)通訊。該精插補器具有設(shè)計簡單、易于實現(xiàn)、插補速度高等特點,可適用于高速數(shù)控系統(tǒng)的開發(fā)。
          關(guān)鍵詞:通訊;FPGA;精插補器

          前言

          數(shù)控系統(tǒng)發(fā)展到90年代后,基于個人計算機(PC)的數(shù)控系統(tǒng)(簡稱PCNC)成為CNC發(fā)展的主要方向[1]。目前PC和NC的連接主要采用兩種形式,一是通過PC機的串口、并口,這種方式接口簡單、連接方便,開發(fā)費用低,但由于傳輸速度低,已不能滿足現(xiàn)代數(shù)控系統(tǒng)的實時性要求。二是采用ISA和PCI插卡的形式,NC功能插卡化,并將其插入PC機的標(biāo)準(zhǔn)ISA/PCI插槽,可方便實現(xiàn)與用戶接口、主機系統(tǒng)通訊的開放化,這是PCNC系統(tǒng)的一種主流形式,但PCI總線接口復(fù)雜,驅(qū)動程序、接口開發(fā)難度大,開發(fā)成本較高,開發(fā)周期也較長,而ISA總線由于速度較慢已隨著計算機的發(fā)展逐漸被淘汰。

          隨著計算機總線結(jié)構(gòu)的變革,必將影響數(shù)控系統(tǒng)的體系結(jié)構(gòu),串行總線的應(yīng)用將極大地改變現(xiàn)有的傳統(tǒng)數(shù)控系統(tǒng)的結(jié)構(gòu)形式。串行總線連接引腳數(shù)量少,連接簡單,成本較低,系統(tǒng)可靠性高,USB作為一種新的通用串行總線標(biāo)準(zhǔn),應(yīng)用越來越廣泛[2]。USB總線具有較強的糾錯能力、速度快、不占用系統(tǒng)資源、驅(qū)動程序開發(fā)簡單的特點,較好地滿足了現(xiàn)代數(shù)控系統(tǒng)的要求,因此,本文把USB這種新型接口和通訊方式應(yīng)用到數(shù)控系統(tǒng),設(shè)計了一種基于USB通訊的高速精插補器。

          1硬件精插補器的工作原理

          硬件精插補器通過USB接口從上位PC機獲取粗插補數(shù)據(jù),由FPGA實現(xiàn)高速精插補輸出。精插補器主要由USB接口芯片、微控制器、數(shù)據(jù)緩存、FPGA等部分組成,如圖1所示。各部分功能如下:

          微控制器通過USB從上位PC機獲取粗插補數(shù)據(jù)和機床控制信息,通過數(shù)據(jù)緩存?zhèn)魉徒oFPGA;

          USB接口芯片負責(zé)處理所有與USB總線事務(wù)有關(guān)的任務(wù),如總線喚醒、數(shù)據(jù)接受/發(fā)送、打包、CRC校驗等;

          FPGA通過微控制器獲取粗插補數(shù)據(jù)及機床控制信息,實現(xiàn)精插補輸出;

          數(shù)據(jù)緩存用于緩存粗插補數(shù)據(jù),以協(xié)調(diào)微控制器和精插補控制器的速度差異。

          精插補器通過微控制器的固件程序和上位PC機應(yīng)用程序及驅(qū)動程序的協(xié)調(diào)處理,完成高速的數(shù)據(jù)通訊。



          2 硬件設(shè)計

          2.1 USB通訊接口設(shè)計

          USB 外圍接口芯片采用Philips公司的支持USB1.1協(xié)議的芯片PDIUSBD12(以下簡稱D12), 該芯片性價比高,集成了320字節(jié)的FIFO內(nèi)存、SIE(Serial Interface Engine)、收發(fā)器以及電壓調(diào)整器, 主端點有雙緩存配置,增加吞吐量,容易實現(xiàn)實時數(shù)據(jù)傳輸[3]。由于其為純粹的USB外設(shè)接口芯片僅處理USB總線相關(guān)事務(wù),必須有一個外部微處理器來進行協(xié)議處理和數(shù)據(jù)交換,設(shè)計中采用PHILIPS公司內(nèi)核基于8位80C51單片機增強型派生產(chǎn)品P89C58X2FN ,它完全保留了80C51指令系統(tǒng)和硬件結(jié)構(gòu)的大框架,而且它在多個方面進行了加強、擴展和創(chuàng)新。如片上的FLASH EPROM擴展到32KB,滿足當(dāng)今用嵌入式高級語言對片上大存儲容量的需要;6個中斷源和4個中斷優(yōu)先級滿足數(shù)控系統(tǒng)的多級中斷要求;速度高達33M有利于提高對D12的讀寫速度。D12與P89C58X2FN連接電路如圖2所示。

          圖2 D12與P89C58X2FN的連接電路圖

          D12采用數(shù)據(jù)/地址總線復(fù)用方式和P89C58X2FN相連接,D12相當(dāng)于一位(兩個地址)的外部RAM,對D12的操作就像對外部RAM操作一樣,低位地址線P0.0通過373地址鎖存后與D12的A0相連,高位P2.5產(chǎn)生片選信號,這樣D12的地址為2000H和2001H, D12的通信采用這樣的方式:一個偶數(shù)地址表示送往D12的是讀/寫數(shù)據(jù),一個奇數(shù)地址表示往D12 寫入一個命令,這是由D12的內(nèi)部邏輯來實現(xiàn)的,即D12的數(shù)據(jù)地址為2000H,命令地址為2001H。D12的中斷引腳接P89C58X2FN的外部中斷1,要注意的是中斷只能采用電平觸發(fā)方式,低電平有效。

          2.2 FPGA設(shè)計

          隨著集成度高、速度快的可編程門陣列FPGA(FILED ROGRAMABLE GATE ARRAY)的出現(xiàn)和EDA工具的完善,使得硬件電路的設(shè)計過程大大簡化,并可通過波形仿真工具驗證電路的功能正確性,有效地縮短了電路的開發(fā)周期,提高了設(shè)計的靈活性,可彌補傳統(tǒng)硬件插補器的缺點。因此,本文采用FPGA來實現(xiàn)精精插。具體設(shè)計中采用了ALTERA公司的FPGA芯片EPF10K10LC84-4,可實現(xiàn)三軸直線、兩軸圓弧聯(lián)動精插補,產(chǎn)生進給序列脈沖,用于三軸步進或伺服電機的驅(qū)動控制。

          2.2.1 精插補原理

          精插補器的功能是接收通過粗插補計算得到的一個插補周期內(nèi)各軸的進給量(微段直線),并將其轉(zhuǎn)化成頻率均勻的進給脈沖,輸出給各軸的位置伺服控制器。脈沖轉(zhuǎn)換常用的方法是采用計數(shù)器和分頻器,其主要優(yōu)點是頻率均勻,但存在脈沖截斷誤差。本文采用了基于DDA(數(shù)字微分分析器)插補原理的脈沖轉(zhuǎn)換算法,它不僅實現(xiàn)簡單,消除了脈沖截斷誤差,而且易于實現(xiàn)多坐標(biāo)進給的同步[4]。

          DDA插補的原理是通過對進給量X的不斷累加、溢出,產(chǎn)生相應(yīng)的進給脈沖。具體的說,在累加脈沖△T控制下,存儲在N位寄存器中的進給量X不斷累加,累加的溢出脈沖即為驅(qū)動坐標(biāo)軸的進給脈沖。當(dāng)累加次數(shù)達到2N時,溢出脈沖的數(shù)據(jù)量恰好等于進給量X,一次脈沖轉(zhuǎn)換完成。此時,完成一次脈沖轉(zhuǎn)換的周期是T=2N/fin,產(chǎn)生的溢出脈沖頻率為fout=fin*X/2N,其中fin為累加控制脈沖頻率。

          2.2.2 FPGA實現(xiàn)

          精插補器內(nèi)部結(jié)構(gòu)原理圖如圖3所示。其工作過程如下:精插補的啟動、停止是由單片機來控制的,開始插補時,單片機把本次插補周期的粗插補數(shù)據(jù)發(fā)送給FPGA后,發(fā)出插補開始信號。插補開始信號一到,插補控制邏輯就把插補數(shù)據(jù)送入累加寄存器,并啟動累加器進行累加,同時輸出插補方向信號,然后就向單片機申請中斷,發(fā)送下一個插補周期的數(shù)據(jù)到插補數(shù)據(jù)緩沖區(qū)中。插補周期未到時,累加器不斷累加進行脈沖輸出,計數(shù)器控制每個插補周期脈沖轉(zhuǎn)化的累加次數(shù),一旦本次插補周期一到,計數(shù)器對累加器清零,以免給下一次插補帶來偏差,并重新開始下一個周期的插補。當(dāng)單片機發(fā)出停止插補信號后,控制邏輯立即封鎖插補脈沖源,停止插補脈沖輸出。為了提高溢出脈沖均勻性,減少溢出脈沖的頻率誤差,本文使累加次數(shù)增加Q倍,再對溢出脈沖進行Q倍分頻。

          圖3 精插補器內(nèi)部結(jié)構(gòu)原理圖

          2.2.2精插補器最高輸出脈沖頻率分析

          設(shè)插補周期為0.5ms,若硬件精插補器采用8位累加器,4位分頻器,則每次脈沖轉(zhuǎn)換的累加次數(shù)應(yīng)為212。累加脈沖的輸入頻率是fin=212/T=8.192MHZ,則最高輸出脈沖頻率可達fout=fin*X/212=510KHZ。當(dāng)伺服進給的脈沖量為lum時,最大進給速度可達30.6m/min,而且通過提高累加的頻率還可獲得更高的速度??梢姳疚奶岢龅挠布逖a器完全可滿足高速加工的進給速度控制要求。

          3 固件程序設(shè)計

          固件程序(firmware)除了完成USB設(shè)備初始化、USB協(xié)議標(biāo)準(zhǔn)請求處理外,主要的任務(wù)是實現(xiàn)粗插補數(shù)據(jù)及機床控制命令和狀態(tài)反饋信息的傳輸。D12共有3個端點,端點0、端點1和端點2。在設(shè)計中,端點0通過控制傳輸實現(xiàn)設(shè)備的枚舉;端點1通過中斷傳輸方式實現(xiàn)數(shù)控系統(tǒng)的控制信號及數(shù)據(jù)請求信號的傳輸,端點2配置為普通傳輸端點,通過批量傳輸實現(xiàn)數(shù)控系統(tǒng)粗插補數(shù)據(jù)的傳輸工作。數(shù)據(jù)交換是采用中斷機制來實現(xiàn)。微控制器與USB的數(shù)據(jù)交換由外部中斷1來處理,微控制器與FPGA的數(shù)據(jù)交換由外部中斷0來處理?,F(xiàn)主要介紹固件程序?qū)崿F(xiàn)NC粗插補數(shù)據(jù)傳輸?shù)姆椒ā?/P>

          由于NC粗插補數(shù)據(jù)量較大,不適合于采用中斷傳輸,盡管同步傳輸速度快,速度恒定,但由于其數(shù)據(jù)傳輸?shù)臏?zhǔn)確性差也滿足不了要求,因此NC粗插補數(shù)據(jù)采用批量傳輸。由于批量傳輸方式優(yōu)先級最低,系統(tǒng)響應(yīng)具有不確定性,傳輸速度也具有一定的不確定性。解決的方法是采用數(shù)據(jù)緩沖,在系統(tǒng)中配置了一個8k的外部RAM,設(shè)置兩個4000字節(jié)的粗插補數(shù)據(jù)緩沖區(qū)。一個插補周期的數(shù)據(jù)占4個字節(jié),可緩沖1000段數(shù)據(jù),系統(tǒng)插補周期為0.5ms,即一次傳輸加工時間為500ms,若按40k/s的批量傳輸速度計算(實際傳輸?shù)乃俣冗h大于此速度),傳輸4000字節(jié)只需100ms左右,加上NC數(shù)據(jù)請求等待延時,還有足夠的時間余量。另外,系統(tǒng)中沒有同步傳輸,中斷傳輸?shù)臄?shù)據(jù)量少,也保證了USB總線為批量傳輸提供足夠的帶寬。因此,本文采用雙緩沖區(qū)的方式完全可滿足高速加工的插補數(shù)據(jù)通訊要求。

          具體實現(xiàn)時,粗插補數(shù)據(jù)通過端點2的批量傳輸來完成的。在一個緩沖區(qū)的數(shù)據(jù)精插補完后,通過端點1向PC主機發(fā)出數(shù)據(jù)請求,PC主機即向該緩沖區(qū)傳輸數(shù)據(jù),固件程序通過端點2 OUT中斷接收該數(shù)據(jù),并存入數(shù)據(jù)緩沖區(qū)。

          4 結(jié)束語

          高速加工是當(dāng)代數(shù)控加工的發(fā)展趨勢,高速硬件精插補器是實現(xiàn)高速加工進給控制的關(guān)鍵技術(shù)之一。本文采用可編程邏輯器件FPGA實現(xiàn)高速精插補器,充分發(fā)揮了FPGA速度快、設(shè)計靈活、集成度高、性能可靠、開發(fā)成本低等一系列優(yōu)點。采用USB接口實現(xiàn)通訊,完全滿足精插補器的高速數(shù)據(jù)傳輸要求。

          參考文獻

          [1] 孫斌、楊汝清,基于PC的數(shù)控系統(tǒng)的研究現(xiàn)狀和發(fā)展趨勢,機床與液壓,2001年4期:3~5
          [2] 鄭立新,串行總線計算機數(shù)控系統(tǒng),制造技術(shù)與機床,200年4期:9~10。
          [3] 周立功等編著. PDIUSBD12 USB 固件編程與驅(qū)動開發(fā) .北京:北京航空航天大學(xué)出版社. 2003年
          [4] 羅睿梅著. 高速數(shù)控系統(tǒng)的運動控制技術(shù). 南京航空航天大學(xué)學(xué)位論文,2003年

          伺服電機相關(guān)文章:伺服電機工作原理


          分頻器相關(guān)文章:分頻器原理


          關(guān)鍵詞: USB 硬件

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();