摘要:提出了ARM微控器LPC2214與4軸3聯動DSP運動控制芯片MCX314A相結合的通用運動控制器方案。闡述了該運動控制器在X、Y兩軸數控伺服工作臺中的應用原理。該控制器具有高速度、高精度、高可靠性、成本低等特點,它在數控機床的控制中有重要的應用價值。
運動控制系統在工業,尤其是現代制造加工業中應用非常普遍。控制是為了實現預期運動軌跡和速度、加速度、力等運動參數而采取的必要手段。一般地,運動控制系統主要由運動控制器、驅動器、執行器、傳動部件和被控運動部件構成。ARM處理器具有體積小、低功耗、低成本、高性能等特點,是業界領先的嵌入式32位RISC微處理器;MCX314A是高集成度的專用運動控制DSP芯片,能實現4軸3聯動的位置、速度、加速度控制和直線、圓弧的連續插補和位置環閉環控制。兩者有機結合,可方便地構成低成本、高性能的運動控制器。
1 ARM微控器LPC2214
LPC2214是Philips公司推出的基于支持實時仿真和跟蹤的16/32位ARM7TDMI-S工業級ARM微控制器,片內帶有256kB高速FlashROM和16kB靜態RAM,且具有外部存儲器接口。通過片內PLL可實現最大為60MHz的CPU操作頻率。LPC2214采用144腳LQFP封裝,片內有2個32位定時器、中斷控制器以及多種串行接口等功能模塊,這使它特別適用于工業控制應用。其內部結構如圖1所示。

圖1 LPC2214內部結構方框圖
2 MCX314A的主要功能
MCX314A是日本NOVA公司推出的4軸運動控制專用DSP集成電路,能用于步進電機或脈沖型伺服驅動的位置、速度和插補控制,可用于工業自動化設備、工業機器人、測量設備、辦公設備和家用電器等。其可以進行各軸(X軸、Y軸、Z軸、U軸)獨立的定位控制、速度控制,也可在4軸中選擇任意的2軸作圓弧插補、2/3軸作直線插補,插補精度是±0.5LSB。其還有伺服電機反饋輸入(編碼器信號、在位信號和報警信號)、加/減速驅動、軟硬件限位、自動原點搜索、同步動作、輸入信號濾波等功能。
MCX314A能與8/16位數據總線接口,其所有的功能都是通過讀寫內部命令寄存器、數據寄存器、狀態寄存器和模式寄存器而實現。默認輸入時鐘為16MHz,輸出脈沖范圍為32位,速度最高可達每秒4百萬個脈沖。各軸都有32位的邏輯位置計數器(對輸出的驅動脈沖計數)、實際位置計數器(對外部編碼器計數)和比較寄存器,實現位置的閉環控制。各軸都有4個通用輸入和8個通用輸出。
3 運動控制器的基本構成
3.1 硬件系統
ARM微控制器LPC2214通過16位數據總線與MCX314A相連,如圖2所示。兩者互連后,且將MCX314A的EXPLSN引腳、H16L8引腳、TESTN引腳接+5V電壓,RESETN引腳連接低電平復位電路,CLK引腳接16M時鐘源,VDD引腳接上+5V電源,MCX314就具備了最基本的運行條件。LPC2214的I/O運行電壓是3.3V的(但能承受5V電平),而MCX314A運行電壓是+5V,兩者互連時,可串人1kΩ電阻。應用實踐表明LPC2214和MCX314A直接相連也是可行的。圖2中虛線框內表示4軸中的某一軸的接口。XPP/XPM在CW/CCW模式時輸出正/反驅動脈沖,在脈沖/方向模式時輸出驅動脈沖和方向信號。ECA/ECB/IN0接收編碼器的反饋輸入。AM26LS31是4路差動線驅動器,AM26LS32是4路差動線接收器。
為了能與上位系統(人機交互界面HMI和CAD/CAM系統等)通信,控制器設計有以太網通信和RS232通信接口。RTL8019AS是以太網控制器,SP3232E是3.3V電平與RS232電平的轉換IC。LPC2214外部Flash存儲器用于存儲需要固化的運動控制參數(如軌跡坐標、運動速度)。

圖2 控制器構成及接口原理框圖
3.2 軟件系統
LPC2214通過16位EMC外部存儲器總線接口讀寫MCX314A內部的寄存器實現對MCX314A的控制。MCX314A可“寫”的寄存器有:命令寄存器WR0,模式寄存器WRl~3,輸出寄存器WR4,插補模式寄存器WR5,數據寄存器WR6~7;可“讀”的寄存器有:主狀態寄存器RR0,狀態寄存器RR1~5,數據寄存器RR6~7。
ARM處理器將I/O端口和存儲器統一編址,可將MCX314A接于LPC2214的Bank2存儲器組(地址范圍是0x8200,0000-0x82ff,ffff),即將CS2作為MCX314A的片選信號,那么WR0和RR0的地址是0x8200,0000,記為Addr。依此類推,WRl和RRl的地址是Addr+2,WR7和RR7的地址是Addr+Oxoe。為了使LPC2214提供16位的總線接口,需要在其啟動代碼中設置PINSEL2=0xofSl4914,BCFG2=0x-1000ffef,。
采用ARM開發套件ADSl.2(CodeWarrior for ARM Developer Suite)進行軟件開發。啟動代碼的編寫是ARM微控器軟件開發的重要任務,其包括以下部分:設置中斷/異常向量表,初始化堆棧指針寄存器、設置堆棧大小、地址重映射、設置系統時鐘、引導進入C語言程序等。NOVA electronics Inc.MCX314 As User‘s Manual Ver.1.2文中提供了基于C語言的示例程序,該程序作適當修改后,可方便地移植到ADSl.2開發環境中。上位系統通過通信接口將運動參數下載到運動控制器的存儲器中,LPC2214從存儲器中讀取運動參數,完成對MCX314A的控制,程序流程如圖3。

圖3 MCX314A控制程序流程圖
4 在XY兩軸數控伺服工作臺中的應用
XY兩軸工作臺是采用滾珠絲桿和滾動導軌傳動的十字工作臺,其控制系統拓撲圖如圖4。為了簡化通用控制器的結構且使其適應不同應用場合,將其與對象緊密相關的部分(如信號驅動放大和光電隔離)另設信號轉接板。圖中電機為松下交流伺服電機(型號MSMA022A1C,功率200W,額定轉速3000r/min,額定轉矩0.64N•m),EC為11線2500P/r增量編碼器,電機驅動器采用與電機配套的松下伺服驅動器MSDA023A1A。將伺服驅動器的“控制模式”設置為“位置控制”,把指令脈沖設置為“CW/CCW”方式,整定各環路增益。

圖4 數控平臺控制系統結構拓撲圖
上位PC系統通過通信接口把數控代碼程序下載到運動控制器中,LPC2214對數控程序進行解釋,轉換成MCX314A相應的命令。MCX314A執行命令,產生控制脈沖給伺服驅動器,驅動機械部件完成期望的運動。運動控制器可以脫離PC系統獨立運行。如果LPC2214把運動狀態(含編碼器的位置反饋信號)反饋給上位PC系統,也可方便地實現PC對數控過程的監控。
5 結束語
以ARM微控器和專用芯片MCX314A為核心的嵌入式運動控制器,具有高速度、高精度、高效率、成本低等特點,控制器結構簡潔、可靠性高,是通用運動控制器的一種可行的解決方案。在數控機床等數控裝備、機器人等領域有重要應用價值。