技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于PCI 9052的運(yùn)動控制卡的研發(fā)

基于PCI 9052的運(yùn)動控制卡的研發(fā)

時間:2008-09-12 09:09:00來源:ronggang

導(dǎo)語:?文章簡要介紹了PCI總線從模式接口芯片PCI9052的主要特點(diǎn)、結(jié)構(gòu)組成和特色功能,并通過一個實例介紹了PCI9052在運(yùn)動控制卡中的典型應(yīng)用,具體包括運(yùn)動控制卡的實現(xiàn)原理
摘 要:文章簡要介紹了PCI總線從模式接口芯片PCI9052的主要特點(diǎn)、結(jié)構(gòu)組成和特色功能,并通過一個實例介紹了PCI9052在運(yùn)動控制卡中的典型應(yīng)用,具體包括運(yùn)動控制卡的實現(xiàn)原理,硬件電路、驅(qū)動程序、功能庫函數(shù)和操作界面的設(shè)計及其抗干擾措施 關(guān)鍵詞:PCI總線;PCI接口芯片9052;運(yùn)動控制卡 一:引言   目前,國外有關(guān)運(yùn)動控制方面的技術(shù)已經(jīng)比較成熟,其研究的內(nèi)容主要集中在提高運(yùn)動控制器的靈活性,可集成性及標(biāo)準(zhǔn)化程度三個方面。而與國外相比,我國在運(yùn)動控制領(lǐng)域的研發(fā)起步較晚,國內(nèi)有關(guān)這方面的產(chǎn)品在穩(wěn)定性、可靠性和實用性方面仍然存在諸多問題。因此開發(fā)一款成本低廉、功能強(qiáng)大穩(wěn)定的運(yùn)動控制卡具有良好的應(yīng)用前景。 二:PCI總線接口芯片PCI9052   PCI總線是一種先進(jìn)的高性能32/64位地址數(shù)據(jù)復(fù)用局部總線,可以同時支持多組外圍設(shè)備,具有高數(shù)據(jù)傳輸率、即插即用、低功耗、適應(yīng)性強(qiáng)等特點(diǎn)。一般,實現(xiàn)PCI總線接口的方法主要有兩種:一是采用CPLD或FPGA設(shè)計PCI接口,這種方法比較靈活,但是其難度較高,設(shè)計周期也較長。二是采用專用的PCI接口芯片,可以大大減少設(shè)計者的工作量,從而縮短開發(fā)周期,降低開發(fā)成本。而本運(yùn)動控制卡采用PCI9052芯片進(jìn)行設(shè)計。   1:PCI9052的主要特點(diǎn)有 :  ?。?)、支持突發(fā)操作:PCI9052提供讀寫FIFO,支持突發(fā)存儲器映射和I/O映射方式在 PCI總線和局部總線存取數(shù)據(jù)。  ?。?)、可編程局部總線配置:PCI9052支持多路復(fù)用和非多路復(fù)用的8/16/32位局部總線。  ?。?)、先讀模式:即預(yù)鎖存數(shù)據(jù)可從PCI9052內(nèi)部FIFO寄存器先于局部總線讀取。   (4)、四個局部片選信號(五個局部地址空間):其基地址和每一個片選(局部地址空間)的范圍可由串行EEPROM或主控設(shè)備進(jìn)行編程。  ?。?)、PCI鎖定機(jī)制:PCI主控設(shè)備可以通過鎖定信號獨(dú)占對PCI9052的訪問。   2:組成結(jié)構(gòu)
  如圖1所示,PCI9052是由PCI 總線接口邏輯、局部總線接口邏輯、串行EEPROM接口邏輯和內(nèi)部邏輯組成。   3:PCI9052的部分功能及操作  ?。?)、初始化   在上電時,PCI總線將PCI9052的內(nèi)部寄存器設(shè)置為缺省值,同時,PCI9052輸出局部復(fù)位信號,并且檢查EEPROM是否存在,如果其存在且第一個16字節(jié)非空,則PCI9052根據(jù)EEPROM內(nèi)容設(shè)置內(nèi)部寄存器,否則設(shè)為缺省值。  ?。?)、復(fù)位   PCI9052支持硬件復(fù)位和軟件復(fù)位。一、硬件復(fù)位:當(dāng)RST#信號輸入有效時,將引起整個PCI9052復(fù)位,并輸出LREST#局部復(fù)位信號。二、軟件復(fù)位:通過設(shè)置CNTRL中的軟件復(fù)位字節(jié)來復(fù)位,并輸出LRESET#信號。PCI9052保持這個狀態(tài)直到PCI總線上的主機(jī)清除軟件復(fù)位字節(jié)。  ?。?)、對串行EEPROM接口的訪問   復(fù)位后,PCI9052開始讀串行EEPROM,若讀出的第一個字非FFFFH,則繼續(xù)進(jìn)行讀操作,否則認(rèn)為無效。PCI總線的主設(shè)備對EEPROM進(jìn)行讀寫操作之前需要將寄存器位CNTRL[25]設(shè)置為“1”,并控制CNTRL[24]位以產(chǎn)生串行EEPROM的時鐘,然后從EEDI送入指令代碼。結(jié)束操作時,將CNTRL[25]設(shè)置為“0”即可。  ?。?)、對內(nèi)部寄存器的訪問   PCI9052提供了兩種類型的片內(nèi)寄存器,即PCI配置寄存器和局部配置寄存器,二者都可以由PCI總線和串行EEPROM訪問,也可以通過設(shè)置CNTRL[13:12]禁止對串行EEPROM的訪問。這些寄存器主要有:(其中“*”表示數(shù)值,取值范圍是0~3)   <1>、設(shè)備與廠商寄存器:用于標(biāo)識設(shè)備類別和制造廠家。   <2>、狀態(tài)寄存器:內(nèi)含與PCI總線相關(guān)的事件信息。   <3>、命令寄存器:控制設(shè)備對PCI訪問的響應(yīng)。   <4>、地址范圍寄存器(LAS*RR):用于定義板卡上資源所占用的地址空間的大小。   <5>、基址寄存器(LAS*BA):用于定義板卡上資源所占用的基地址,并將之重映射到   PCI地址空間中,以便PC機(jī)對板卡進(jìn)行訪問。   <6>、總線區(qū)域描述寄存器(LAS*BRD):用于定義地址空間的具體工作特性。   <7>、片選信號控制寄存器(CS*BASE):用來確定片選信號有效的地址范圍,從而為硬件提供片選信號CS*。  ?。?)、PCI中斷(INTA#)的產(chǎn)生   要產(chǎn)生中斷INTA#,首先將INTCSR[6]設(shè)置為“1”。若以軟件方式產(chǎn)生中斷,只需將INTCSR[7]設(shè)置為“1”即可;如果需要由局部總線上的設(shè)備產(chǎn)生中斷信號INTi1和INTi2,再生成中斷INTA#的方式,只要將INTCSR的相關(guān)位按要求進(jìn)行設(shè)置即可。 三:PCI9052的應(yīng)用實例   1:運(yùn)動控制卡的實現(xiàn)原理
  圖2為設(shè)計的一款基于PCI總線的運(yùn)動控制卡的系統(tǒng)結(jié)構(gòu)圖。系統(tǒng)采用了PCI專用接口芯片PCI9052實現(xiàn)運(yùn)動控制芯片PCL5023與PCI總線之間的高速通信;采用CPLD(復(fù)雜可編程邏輯器件,其優(yōu)點(diǎn)是:系統(tǒng)集成化程度高,方便邏輯功能的更改,修改時無需改動硬件設(shè)計)實現(xiàn)卡上邏輯電路功能。如圖所示:系統(tǒng)采用兩片PCL5023芯片實現(xiàn)對電機(jī)的運(yùn)動控制。其中一片PCL5023控制軸1和軸2,另外一片PCL5023控制軸3和軸4。使用時須正確設(shè)置PCI9052的EEPROM的參數(shù),使得系統(tǒng)上電時能夠正確初始化PCI9052的內(nèi)部寄存器(如對PCI配置寄存器和PCI局部配置寄存器進(jìn)行正確設(shè)定后,才能使計算機(jī)上的存儲空間地址和卡上的局部存儲空間地址形成一一映射的關(guān)系)。正確上電配置后,通過高頻脈沖驅(qū)動步進(jìn)電機(jī)或者伺服電機(jī),完成預(yù)期的速度輸出要求。而且同一系統(tǒng)中可以同時使用多塊本款運(yùn)動控制卡,從而達(dá)到對多軸的運(yùn)動控制,滿足在多種情況下的運(yùn)動控制要求。   2:整個系統(tǒng)的設(shè)計包括兩個方面,即硬件電路設(shè)計和軟件設(shè)計。  ?。?):硬件電路設(shè)計   具體包括電路原理圖的設(shè)計,設(shè)計時充分考慮了總體元件的分布,使其滿足熱效應(yīng)原則、抗干擾原則、最近相鄰原則,并同時保證了板卡設(shè)計的正確性、可靠性、合理性、經(jīng)濟(jì)性以及熱設(shè)計、電磁抗干擾等(接地、配置退耦電容等)。而卡上外部信號與內(nèi)部信號使用光耦合器進(jìn)行有效隔離。  ?。?):軟件設(shè)計   具體包括驅(qū)動程序、功能庫函數(shù)以及人機(jī)界面的設(shè)計。   a:驅(qū)動程序的設(shè)計   由于在WINDOWS操作系統(tǒng)下,不能直接訪問計算機(jī)設(shè)備上的硬件資源。因此,要實現(xiàn)對運(yùn)動控制卡的硬件資源的訪問必須編寫運(yùn)行在核心態(tài)的設(shè)備驅(qū)動程序。而windriver具有對PCI接口芯片的良好支持以及無需精通操作系統(tǒng)以及驅(qū)動程序方面的知識等優(yōu)點(diǎn),所以本設(shè)計采用了windriver來開發(fā)設(shè)備驅(qū)動程序。具體步驟大致如下: 在創(chuàng)建驅(qū)動程序項目時,在項目中添加程序文件P9052lib.c,在驅(qū)動程序源代碼中包括頭文件P9052lib.h,在源代碼開始時調(diào)用P9052_Open()來獲得板卡的一個句柄“HANDLE”,然后在程序中調(diào)用 P9052_ReadBlock()、P9052_WriteBlock()、P9052_ReadByte()、P9052_ReadWord()、P9052_ReadDWord()、P9052_WriteByte()、P9052_WriteWord()、P9052_WriteDWord()、P9052_IntEnable()、P9052_IntDisable()、P9052_IntWait()等函數(shù)來完成對板卡內(nèi)存的讀取、使能/禁止中斷等操作,同時修改并添加必要的代碼,在驅(qū)動程序的最后用 P9052_Close()來關(guān)閉對板卡的調(diào)用。   b:運(yùn)動控制卡功能庫函數(shù)的設(shè)計   為了給用戶提供一個良好的軟、硬件開發(fā)平臺,滿足在一定的情況下,用戶可以通過調(diào)用提供的接口函數(shù)來獲得實際需要的運(yùn)動控制模式,這些運(yùn)動控制模式主要有:單軸的恒速運(yùn)動模式、單軸的梯形運(yùn)動模式、單軸的S曲線形運(yùn)動模式(如圖3)、單軸的返回模式、雙軸的線性和圓形插補(bǔ)運(yùn)動模式以及多軸點(diǎn)對點(diǎn)運(yùn)動模式等。所以需要編寫豐富的功能庫函數(shù)來完成對系統(tǒng)的初始化、脈沖的輸入輸出配置、中斷控制、位置控制、插補(bǔ)參數(shù)配置、I/O口的控制和監(jiān)測以及各種運(yùn)動模式等。所有這些功能庫函數(shù)均采用C語言編寫。
  如圖3所示,電機(jī)轉(zhuǎn)速在加減速區(qū)和最大速度之間實現(xiàn)了平滑轉(zhuǎn)換,這樣可以有效的降低沖擊和磨損,從而有利于提高電機(jī)和機(jī)械系統(tǒng)的壽命。   庫函數(shù)的設(shè)計原理是利用API函數(shù)實現(xiàn)對PCL5023芯片的寄存器的讀寫操作。而這些讀寫操作實現(xiàn)對相應(yīng)的寄存器寫入某些特定的值,從而控制電機(jī)在一定的操作模式下工作。對應(yīng)于不同的操作模式,不同的操作內(nèi)容,對寄存器的讀寫操作也不相同,而且對其操作的步驟也有特定的要求。如圖4所示,通過CPU發(fā)出的數(shù)據(jù)信號和控制信號對PCL5023的內(nèi)部寄存器實行讀寫操作,從而實現(xiàn)對電機(jī)的控制。
  c:操作界面的編寫   為了實現(xiàn)對電機(jī)的實時精確控制,本軟件系統(tǒng)設(shè)計了比較人性化的人機(jī)操作界面,以完成對需要的操作,具體包括軸的選擇及其參數(shù)配置、運(yùn)動參數(shù)以及插補(bǔ)參數(shù)的選擇、操作模式的選擇等。編程語言采用VC++6.0。 四:抗干擾措施   在硬件電路中采用以下措施:在交流伺服系統(tǒng)的輸入電源上使用噪聲濾波器、在交流伺服系統(tǒng)的功率電源采用隔離變壓器、在系統(tǒng)中的不同功能模塊實行電源分組供電以防止設(shè)備間的相互干擾以及采用光電耦合器將運(yùn)動控制卡的內(nèi)部電路與伺服驅(qū)動器的輸入、輸出電路隔離開,以防止干擾從外部進(jìn)入到運(yùn)動控制卡或主機(jī)等。   另外,在軟件系統(tǒng)中也采用了一些抗干擾措施,比如,采用平均值法以避免系統(tǒng)的隨機(jī)誤差對采樣結(jié)果的影響,采用比較取舍法以剔除個別異常數(shù)據(jù)等。 五:結(jié)束語   本文主要介紹了PCI9052接口芯片的主要特點(diǎn)、結(jié)構(gòu)組成、相關(guān)功能及其相應(yīng)的操作,同時結(jié)合實際介紹了PCI9052在運(yùn)動控制卡設(shè)計中的應(yīng)用,具體包括有運(yùn)動控制卡實現(xiàn)原理、硬件電路的設(shè)計以及驅(qū)動程序、功能庫函數(shù)和人機(jī)界面的設(shè)計。實踐證明,采用這種專業(yè)接口芯片進(jìn)行運(yùn)動控制卡的開發(fā),不但大大的縮短了設(shè)計周期,降低了產(chǎn)品的成本,而且采用PCI9052開發(fā)的本款運(yùn)動控制卡實用性強(qiáng)、可靠性好、并具有良好的可擴(kuò)張性。 參考文獻(xiàn):   1:PLX PCI9052 Data Book[M], 2000   2:WinDriver User’s Guide[M],Jungo Ltd, Version6.02, 2003   3:李貴山:PCI局部總線開發(fā)者指南[M],西安電子科技大學(xué)出版社,1997   4:尹 勇:PCI設(shè)計開發(fā)寶典[M],北京航空航天大學(xué)出版社,2005

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:高g值微加速度開關(guān)設(shè)計

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.surachana.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號