運動控制系統已被廣泛應用于工業控制領域。近年來,工業控制對運動控制系統的要求越來越高。傳統的基于PC及低端微控制器日漸暴露出高成本、高消耗、低可靠等問題,已經不能滿足現代制造的要求 。隨著嵌入式技術的日益成熟,嵌人式運動控制器已經初露鋒芒。基于ARM技術的微處理器具有體積小、低成本、低功耗的特點,決定其在運動控制領域具有良好的發展前景。
PCL6045BL是一種新型專用DSP運動控制芯片,它具有強大的數據處理能力和較高的運行速度,可以實現高精度的多軸伺服控制。為解決精密制造對低成本、可移植性強的通用型多軸數控系統的迫切需求,文中給出一種基于ARM 微處理器S3C2440與DSP專業運動控制芯片PCL6045BL構成的嵌入式四軸運動控制器。該運動控制器具有高性能、低成本、體積小、可獨立運行等特點,可以滿足運動控制系統高速、高精度的 要求。它可廣泛應用于雕刻機、機器人、繡花機以及數控加工等工業控制領域。
為解決精密制造對低成本、可移植性強的通用型多軸數控系統的迫切需求,給出一種基于ARM微處理器S3C2440和專用DSP運動控制芯片PCL65045BL組合的嵌入式四軸運動控制器。硬件上該控制器采用ARM+DSP的主從式雙CPU結構,結合ARM在人機界面顯示、通信接口方面的優勢以及PCL6045BL高控制精度的優點。軟件上在S3C2440上移植μC/OS-II實時操作系統來管理運動控制系統。該控制系統通用性較強,可廣泛應用于雕刻機、機器人、繡花機以及數 控加工等工業控制領域。
1 系統總體設計
嵌入式四軸運動控制器主要由硬件部分和軟件部分構成。
硬件主要包括S3C2440嵌入式主控板和PCL6045BL運動控制板兩個部分。S3C2440嵌入式主控板和PCL6045BL運動控制板之間通過通用的IDE通信接口進行連接。
軟件方面在硬件平臺的基礎上移植S3C2440實時嵌入式操作系統,設計Boot Loader、外設驅動以及運動控制系統的應用程序。采用上述的軟硬件平臺,嵌入式運動控制器可以達到開放性能好、精度高的要求。本嵌入式四軸運動控制器的結構如圖1所示。
圖1 嵌入式四軸運動控制器的構成
ARM具有豐富的片內外圍電路,如USB接口、IIS接口、LCD控制器等,在人機界面的顯示、通信接口以及系統移植方面具有更強大的功能。PCL6045BL運動控制芯片速度快,可靠性高,性能好,在運動控制方面有很大的優勢。
實時操作系統μC/OS-II包含了實時內核、任務管理、時間管理、任務間通信同步和內存管理等功能,可以使各個任務獨立工作,互不干涉,很容易實現準時而且無誤地執行,使實時應用程序的設計和擴展變得容易,使應用程序的設計過程大為減化 。將S3C2440處理器、PCL6045BL 以及μC/OS-II三者的優勢應用到本嵌入式四軸運動控制器中可以使其具有強大的功能,并縮短開發時間。
本嵌入式四軸運動控制器以S3C2440為主控平臺,在ARM上移植μC/OS-II實時操作系統來進行人機界面的顯示、I/O的管理、任務問的通信、指令的編譯等工作。PCL6045BL運動控制模塊主要負責位置控制,插補驅動,速度控制。用戶的指令通過S3C2440指令編譯系統的編譯,通過與PCL6045BL之問的專用通信接口來控制DSP運動控制芯片發出脈沖以達到使伺服電機高速運行。
2 系統硬件設計
2.1 系統硬件平臺設計
在控制系統中,以S3C2440處理器為主控核心,PCL6045BL運動控制芯片為從CPU,構建的嵌入式運動控制器結構如圖2所示。
圖2 系統硬件
S3C2440是一款16/32位ARM920T RISC處理器,它實現了MMU、AMBA總線和獨立的16 KB指令和16 KB數據哈佛結構的緩存,每個緩存均為8個字長度的流水線。S3C2440提供全面的、通用的片上外設,不需要配置額外的部件。PCL6045BL運動控制芯片,由NPM公司生產,是一種通過總線接收CPU命令、并產生脈沖控制步進電機或脈沖驅動型伺服電機的CMOS大規模集成芯片,可提供多種輸出運動控制功能,包括連續、定長、回原點等輸出方式。PCL6045BL可以實現2~4軸線性插補及任意兩軸圓弧插補。在這種主從結構框架基礎上,主CPU S3C2440主要負責數據的存儲、人機界面的顯示、網絡通信等管理工作。從CPU PCL6045BL輸出的脈沖發送給4個軸的伺服驅動器。S3C2440只需要通過發送簡單的指令給PCL6045BL,便可實現各種控制功能。
2.2 ARM 與PCL6045BL的連接
PCL6045 BL與ARM的通信是通過讀寫I/O總線上的幾個地址來進行指令和數據的傳輸。PCL6045BL每個軸的內部寄存器地址由A0、A1 和A2地址線輸人決定,其控制地址范圍由輸入端子A3和A4進行選擇。因此在這種主從結構的設計中,ARM與PCL6045BL的連接如圖3所示。
圖3 PCL6045BL與S3C2440的接口電路
2.3 I/O接口電路
嵌入式四軸運動控制器與伺服電機之間是通過I/O接口電路進行連接的。I/O接口電路主要任務是完成輸入信號的光電隔離以及對輸出脈沖的驅動。設計中采用光電耦合器將PCL6045BL芯片與后面的伺服電機驅動器以及其他控制反饋等線路隔離。由于光耦合器輸入輸出問互相隔離,電信號傳輸具有單向性等特點,因而具有良好的電絕緣能力和抗干擾能力。又由于光耦合器的輸入端屬于電流型工作的低阻元件,因而具有很強的共模抑制能力。將PCL6045BL的輸出信號(如CP、CW等)和輸入信號(如報警、限位等)都使用光耦器件與PCL6045BL隔離,這樣能有效地防止干擾信號進入主芯片損壞PCL6045BL。
3 軟件設計
系統軟件部分由μC/OS-II實時嵌入式操作系統及相關應用軟件組成。μC/OS-II實時嵌入式操作系統僅僅提供了一個任務調度的實時內核,因而需要自行開發一系列與系統運行相關的設備驅動程序、API函數及應用程序,才能將μC/OS-II擴展為一個完整、實用的實時操作系統。
3.1 Boot Loader的設計
嵌入式系統中,通常并沒有像BIOS那樣的固件程序,因此整個系統的加載啟動任務就完全由Boot Loader來完成。Boot Loader是系統加電后運行的第一段代碼,負責初始化系統并啟動操縱系統,相當于PC機的程序。Boot Loader初始化硬件設備,建立內存空間的映射圖,為最終調用操作系統內核準備好正確的環境。
Boot Loader分為階段1和階段2兩個部分,與CPU核以及存儲設備密切相關的處理工作通常都放在階段1中,且可以用匯編語言來實現;而階段2則通常用C語言來實現一般的流程以及對板級的一些驅動支持。
階段1主要進行定義入口、設置中斷向量、系統寄存器配置、初始化寄存器等操作。而階段2主要完成調用初始化函數、初始化閃存設備、初始化內存分配函數等操作。Boot Loader是嵌入式系統軟件開發的第一個環節,把實時操作系統和硬件平臺緊密地結合起來,對于嵌入式系統的軟件開發尤為重要。
3.2 μC/OS-II在S3132440的移植
嵌入式實時操作系統μC/OS-II是一個源代碼公開的多任務實時操作系統內核,它簡化了應用軟件的設計,使控制系統的實時性得到保障。良好的多任務設計,有助于提高控制系統的穩定性和可靠性。所謂移植,就是通過修改操作系統內核與處理器相關部分的源代碼,使一個實時內核能在微處理器或微控制器上運行。μC/OS-II的文件系統結構包括核心代碼部分,配置代碼部分,處理器相關代碼部分,如圖4所示。其中處理器相關代碼部分包括OS_CPU.H,OS_CPU.A.ASM,OS_CPU.C.C 3個文件。將μC/OS-II移植到S3C2440只需要修改與處理器相關的代碼即可。
3.3 系統應用程序設計
實時應用程序的設計過程包括如何把問題分割為多個子任務,每個子任務都是整個系統的一部分,都被賦予一定的優先級,有自己的一套CPU寄存器和堆棧空間。一個任務,也叫一個線程,是一個簡單的程序,該程序可以認為CPU完全只屬于自己。在本設計中將任務劃分為人機界面的設計、數控指令編譯解釋、伺服單元采集任務、狀態監視等。μC/OS-II可以按照優先級啟動各個任務,并通過內核來完成任務之間的調度。系統的基本流程如圖5所示。
S3C2440根據系統的應用程序對指令進行解釋,調用運動控制函數,繼而PCL6045BL發出脈沖控制伺服電機去控制執行機構動作,實現運動控制的結果。
圖5 用戶程序流程
3.4 NC代碼解釋
運動控制器接受來自上位機發送過來的加工文件,但加工文件指令在程序中不能直接被識別,在執行指令之前必須先對其進行解析譯碼。解釋器的主要功能就是將用戶程序以程序段為處理單位,將程序中的輪廓信息、運行速度和輔助功能信息,轉換成嵌入式運動控制器能夠執行的格式。解釋過程主要包括數控文件的讀入、詞法分析、語法分析以及加工信息存儲數據結構等過程,如圖6所示。
圖6 程序處理流程
4 實例分析
上位機通過RS485總線與S3C2440連接,把NC指令文件輸入到ARM 中,經過NC代碼解釋器,變成PCL6045BL能夠識別的代碼,從而完成規定的運動控制功能。用NC代碼編寫如下加工程序:
N001 COO X15 Y25//起始點選定
N002 G18//XY平面選擇
N003 G90 G01 X15 Y5//準備直線插補
N004 X30 Y5//(15,5)到(30,5)
N005 X30 Y15//前行至點(30,15)
N006 X45 Y15//前行至點(45,15)
N007 X45 Y5//前行至點(45,5)
N008 X60 Y5//前行至點(60,5)
N009 X60 Y25//前行至點(60,25)
N010 X15 Y25//回到始點(15,25)
根據上面所給的代碼可以完成如圖7所示的多點之間直線插補的功能。
圖7 多線段直線插補運動軌跡
5 結語
該運動控制器的硬件結構是基于微處理器S3C2440和PCL6045BL運動控制芯片設計的,它較好地發揮了ARM處理器的高性能、低成本和運動控制芯片的高可靠性、開發周期短的優點;在控制器硬件平臺上移植μC/OS-II實時操作系統既能使整個軟件系統結構簡結、層次清晰,又能很好地達到運動控制實時性的要求。
-
dsp
+關注
關注
553文章
8011瀏覽量
349134 -
ARM
+關注
關注
134文章
9104瀏覽量
367796 -
嵌入式
+關注
關注
5085文章
19138瀏覽量
305710
原文標題:ARM+DSP的嵌入式四軸運動控制器設計
文章出處:【微信號:mcugeek,微信公眾號:MCU開發加油站】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論