ARM+PCL6045B的嵌入式運動控制器設計
運動控制器是運動控制系統(tǒng)的核心部件。目前,國內(nèi)的運動控制器大致可以分為3類:
第1類是以單片機等微處理器作為控制核心的運動控制器。這類運動控制器速度較慢、精度不高、成本相對較低,只能在一些低速運行和對軌跡要求不高的輪廓運動控制場合應用。
第2類是以專用芯片(ASIC)作為核心處理器的運動控制器,這類運動控制器結構比較簡單,大多只能輸出脈沖信號,工作于開環(huán)控制方式。由于這類控制器不能提供連續(xù)插補功能,也沒有前饋功能,特別是對于大量的小線段連續(xù)運動的場合不能使用這類控制器。
第3類是基于PC總線的以DSP或FPGA作為核心處理器的開放式運動控制器。這類開放式運動控制器以DSP芯片作為運動控制器的核心處理器,以PC機作為信息處理平臺,運動控制器以插件形式嵌入PC機,即“PC+運動控制器”的模式。這樣的運動控制器具有信息處理能力強,開放程度高,運動軌跡控制準確,通用性好的特點。但是這種方式存在以下缺點:運動控制卡需要插入計算機主板的PCI或者ISA插槽,因此每個具體應用都必須配置一臺PC機作為上位機。這無疑對設備的體積、成本和運行環(huán)境都有一定的限制,難以獨立運行和小型化。
針對這些問題,設計了一種基于ARM+DSP的嵌入式運動控制器。該控制器將嵌入式CPU與專用運動控制芯片相結合,將運動控制功能以功能模塊的方式嵌入到ARM主控板的架構,把不需要的設備裁減掉,既兼顧功能又節(jié)省成本。該控制器是一種可以脫離上位機單獨運行的一種獨立型運動控制器,具有良好的應用前景。
1 嵌入式運動控制器的硬件平臺設計
嵌入式運動控制器的硬件主要包括兩個部分:ARM主控板和DSP運動控制板。這兩塊控制板通過通用I/O口以總線的方式連接在一起。在設計時,可以分別對ARM主控板和DSP運動控制板進行設計,最后再調(diào)試。這種將ARM主控板和DSP運動控制板分開設計和調(diào)試的硬件方案,將設計難點分散,使設計和調(diào)試更簡單。
1.1 ARM主控板部分
本系統(tǒng)采用的ARM芯片為Samsung公司推出的16/32位RISC處理器S3C2440A,主頻為400 MHz,最高頻率可達533 MHz。ARM主控板以嵌入式處理器S3C2440A為核心,外擴存儲器和通用設備接口。ARM主控板的硬件結構框圖如圖1所示。
通過通用I/O接口與DSP運動控制板通信,實現(xiàn)ARM主控板與運動控制板之間數(shù)據(jù)的實時雙向傳送;外部NAND Flash存儲器(64 MB),用于存儲系統(tǒng)參數(shù)及運動指令;NOR Flash存儲器(2 MB),用于存放系統(tǒng)運行程序;SDRAM存儲器(64 MB),用于存放臨時數(shù)據(jù);通過串口、以太網(wǎng)接口、USB接口與上位機系統(tǒng)通信,實現(xiàn)兩者之間數(shù)據(jù)的傳送;通過LCD接口,實現(xiàn)320×240分辨率液晶屏的圖形與字符顯示,并具有觸摸屏接口,提供友好的人機交互界面;通過I/O擴展接口,提供可編程的數(shù)字I/O通道;通過JTAG接口與PC機通信,實現(xiàn)系統(tǒng)運行程序的仿真調(diào)試及下載,軟件升級接口。
1.2 DSP運動控制板部分
本系統(tǒng)DSP運動控制芯片選用PCL6045B。PCL6045B是一種功能十分強大的DSP運動控制芯片。芯片能夠控制四軸,并實現(xiàn)兩軸到四軸直線差補、兩軸圓弧差補。所有插補計算由芯片完成,上位機只需寫入圓弧的參數(shù)即可,其多軸插補控制功能特別優(yōu)秀。系統(tǒng)硬件采用主從式雙CPU結構模式。主CPU為ARM處理器,負責鍵盤、顯示、網(wǎng)絡通信等管理工作;從CPU為PCL6045B運動控制芯片,專門負責運動控制的處理工作。PCL6045B與ARM的通信是靠讀寫I/O總線上的幾個地址來進行指令和數(shù)據(jù)的傳輸??刂葡到y(tǒng)硬件結構框圖如圖2所示。
1.3 ARM處理器與運動控制芯片的連接
通過設置引腳IF0與IF1,PCL6045B芯片與不同的CPU相連,如表1所列。
本系統(tǒng)設置IF1:IF0=0:1,CPU連接如圖3所示。
2 嵌入式運動控制器的軟件設計
本系統(tǒng)可根據(jù)被控對象的特征設計不同的模塊化用戶軟件,來滿足不同的運動控制任務。模塊化軟件恰好是Linux操作系統(tǒng)的優(yōu)點。Linux還可以根據(jù)用戶的需求實現(xiàn)內(nèi)核的裁減和定制,源碼開放,網(wǎng)絡支持功能強大,價格上也更具有競爭優(yōu)勢等。所以該控制器選用Linux作為片上系統(tǒng)(SoC)。但是,Linux并不是一個實時操作系統(tǒng),因此,通過實時內(nèi)核補丁RTAI(Real Time Application In-terface),在硬件平臺的基礎上增加一個實時內(nèi)核,將Linux內(nèi)核當作它的優(yōu)先級最低的任務執(zhí)行,從而保證運動控制系統(tǒng)的實時性。系統(tǒng)的控制軟件分為兩個區(qū)域:非實時域和實時域。非實時域是建立在普通Linux內(nèi)核基礎上的,其主要包括系統(tǒng)初始化和通信模塊。
pid控制器相關文章:pid控制器原理
評論