技術(shù)頻道

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

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

時(shí)間:2008-09-12 09:09:00來(lái)源:ronggang

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

標(biāo)簽:

點(diǎn)贊

分享到:

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

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

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

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

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

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

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

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)