1 引 言
近年來,隨著對系統(tǒng)可靠性需求的日益增加,CPCI總線以其獨特的優(yōu)勢被廣泛地應用在工業(yè)控制中。由于CPCI總線支持熱插拔,這種方式就保證在不影響系統(tǒng)運行的前提下,可以對其中的任意板卡進行檢測及維修。這樣就提高了基于CPCI總線的運動控制系統(tǒng)的靈活性,同時對應用在該系統(tǒng)上的運動控制卡的需求也會越來越大。因此急需開發(fā)一款基于CPCI總線的、高性能、高可靠性的運動控制卡以滿足運動控制系統(tǒng)發(fā)展的需要。
2 CPCI總線簡介
CPCI全稱為CompactPCI,中文又稱緊湊型PCI,是國際PICMG協(xié)會于1994年提出來的一種總線接口標準。它是以PCI電氣規(guī)范為標準的高性能工業(yè)用總線。
CPCI總線相對于PCI具有以下優(yōu)點:
(1)具有更好的機械特性。它增強了電信設備或其他惡劣工業(yè)環(huán)境中的PCI系統(tǒng)的可維護性和可靠性;
(2)采用Eurocard封裝,系統(tǒng)中氣流均勻;
(3)CompactPCI連接器的電源和信號引線支持熱插拔規(guī)范,這對于容錯系統(tǒng)是非常重要的,也是標準PCI所不能實現(xiàn)的功能;
(4)總線易于擴展,可同時支持多達256個標準的PCI總線設備;
(5)CompactPCI背板的連接器插針分為長針、中長針和短針。長針是一些電源針,最短的針是BD-SEL#,其他總線信號和部分電源信號是中長針。
3 硬件設計
該運動控制卡的系統(tǒng)結構圖如圖1所示。系統(tǒng)采用專用接口芯片PCI9030實現(xiàn)運動控制芯片MCX314與CPCI總線的高速通信;使用時通過正確配置E2PROM(93CS66L)的參數來完成PCI9030的初始化;用熱插拔控制器LTC1643L實現(xiàn)運動控制卡的熱插拔功能。下面對各個部分進行一一介紹:
3.1 CPCI總線接口
由于CPCI總線規(guī)范較為復雜,為了降低設計難度,縮短開發(fā)時間,本系統(tǒng)采用采用PLX公司的專用接口芯片PCI9030實現(xiàn)CPCI的總線接口。PCI9030是業(yè)界首個支持熱交換的接口芯片,為CPCI接口提供了優(yōu)秀的解決方案。它采用SMARTarget技術,可以保證高性能的熱交換實施功能,可以支持具有熱交換功能的PICMG2.1目標設備,并且符合PCIv 2.2規(guī)范所規(guī)定的32位33 MHz目標接口功能,可以獲得高達132 MB/s的PCI突發(fā)傳輸速度,局部總線操作速度高達60 MHz,支持5個局部地址空間到PCI總線地址空間的映射(空間0,1,2,3,4及1個擴展的ROM),傳輸等待周期及總線寬度可編程。另外,PCI9030內含預充電BIOS、早期電源支持、熱交換控制/狀態(tài)寄存器(HS-CSR)和附加引腳資源,可利用這些資源以及ENUM#,CPCISW和LEDon#實現(xiàn)運動控制板卡的帶電熱插拔的軟硬件控制。由于PCI9030完全符合PCIv2.2規(guī)范,所以只需將對應管腳互聯(lián)即可,這里不再贅述。但需注意要將需要預充電的總線引腳上拉至預充電電壓,PME#,RST#,ENUM#,INTA#上拉至PCI的I/O工作電壓VI/O,且RST#接至總線HEALTH#與PCI-RST#的組合邏輯輸出端。
3.2 E2PROM與PCI9030連接
E2PROM用來對完成PCI9030的初始化,在整個系統(tǒng)中起著極其重要的作用。本系統(tǒng)的E2PROM選用National公司的NM93CS66L。它是一個4 kB的低功耗串行存儲器,用來存儲PCI9030的配置信息并在芯片復位時進行加載,從而使運動控制卡具有即插即用的功能。其與PCI9030的連接原理圖如圖2所示。其中,NM93CS66L的片選信號CS、串行時鐘信號SK、數據輸入DI和數據輸出信號DO分別與PCI9030對應的信號相連;保護寄存器使能信號PRE接地來使能對存儲空間的操作,同時禁止對保護寄存器的操作;編程使能信號PE接3.3 V來允許對存儲區(qū)的操作。
3.3 熱插拔控制器與CPCI總線的連接
為了使板卡在熱插拔的過程中,不對CPCI總線產生沖擊,不影響CPCI總線上數據的傳輸,則需要一個良好的電源切換控制電路。這里選用LTC1643AL實現(xiàn)這一功能。LTC1643AL與CPCI總線的連接原理圖如圖3所示。
在上電過程中,3.3 V和5 V電源由N溝道通路晶體管控制通斷,±12 V電源由內部通路晶體管控制。電阻R1和R2提供電流失效檢測,R5和C1提供電流補償,R3和R4用來防止在Q1和Q2處的高頻震蕩。當ON#腳被拉低時,通路晶體管被打開且將有22μA的電流源連接到TIMER腳。隨著經過通路晶體管電流的逐漸增加,供電電壓達到限制值。每種電源的上電速率由62μA/C1所決定。在TIM-ER腳的電壓小于12 VIN-0.9 V的過程中,電流限制失效檢測被忽略。一旦4種供電電壓達到正常范圍,PWRGD#將會被拉低。
對于CPCI數據總線的1 V預充電電壓由LT1117生成,其輸出電壓設定在1.8 V,經過二極管1N4148后產生1 V的預充電電壓。
3.4 MCX314與PCI9030的連接
MCX314是日本Nova公司推出的4軸運動專用控制集成電路,能用于步進電機或脈沖型伺服驅動的位置、速度和插補控制,可用于工業(yè)自動化設備、工業(yè)機器人、測量設備、辦公設備和家用電器等。其可以進行各軸(x軸、y軸、z軸、u軸)獨立的定位控制、速度控制,也可在4軸中選擇任意的2軸做圓弧插補、2或3軸做直線插補,插補精度是±0.5LSB。默認輸入時鐘為16 MHz,脈沖輸出速度最高可達4 MPPS。MCX314還有伺服電機反饋輸入(編碼器信號、到位信號和報警信號)、加/減速驅動、軟硬件限位、自動原點搜索、同步動作、輸入信號濾波等功能。MCX314能與8位或16位數據總線相連,其所有的功能都是通過讀寫內部命令寄存器、數據寄存器、狀態(tài)寄存器和模式寄存器而實現(xiàn)。各軸都有32位的邏輯位置計數器(對輸出的驅動脈沖計數)、實際位置計數器(對外部編碼器計數)和比較寄存器,實現(xiàn)位置的閉環(huán)控制。各軸都有4個通用輸入(可用于限位、原點信號輸入)和4或8個通用輸出(通過軟件設置來實現(xiàn))。
MCX314與PCI9030的連接原理圖如圖4所示。PCI9030具有可編程的片選信號,可通過配置片選基地址寄存器使得在某一局部地址范圍內產生片選信號,這樣就節(jié)省了譯碼電路,使得應用更加方便。通過對局部地址總線寄存器進行配置,將PCI9030的數據總線配置為16位,此時LBEI#就作為LAl來使用。
由于本設計采取的是地址、數據線非復用方式,則將MODE接地,且為了保證數據總線的所有數據均可用將分別代表高8位數據有效和低8位數據有效的LBE3#,LBE0#置低。
為了將MCX314配置為16位數據總線,將H16L8置高,且將測試管腳和外部單步插補控制腳置高,即不允許硬件外部單步插補。其余與電機驅動器連接如圖4所示,這里不再贅述。需要注意的是,如果編碼器存在Z相,則只需將Z相接至任何一個通用輸入端,通過軟件實現(xiàn)對編碼器的讀取。
4 驅動程序的編寫
經過對同類驅動開發(fā)工具的比較,決定采用Wind-Driver開發(fā)驅動程序。這個開發(fā)工具不必熟悉操作系統(tǒng)的內核知識就可以快速地開發(fā)出驅動程序,對于開發(fā)者來說很方便。
在開發(fā)過程中,使用向導生成的驅動程序框架代碼,然后在此基礎上略加修改,就可以在用戶模式下調試代碼。具體流程如下:在Driver Wizard界面下,選中自己的設備并生成安裝信息,點擊下一步對I/O、內存等資源進行調試,并完成對工作寄存器的配置,然后生成相應代碼,最后在驅動程序中添加自己所需的代碼即可完成驅動程序的編寫工作。#p#分頁標題#e#
5 結 語
本運動控制卡已經在汽車駕駛機器人的控制系統(tǒng)中得到應用。應用結果表明本運動控制卡性能穩(wěn)定,接口豐富,應用方便,可以通過對寄存器的操作輕易地完成對4個軸實時有效的運動控制,具有良好的應用前景。
轉載請注明出處。