基于ARM和CPLD的開放式數控系統設計
ARM具有較強的事務管理功能,可以運行具有良好人機界面的多線程應用程序,其優勢主要體現在程序控制上。CPLD具有較強的邏輯運算能力,可用于進行插補運算及運動控制等。Windows CE是嵌入式實時操作系統,其獨特體系結構和運行機制使其能夠快速響應外部中斷,并調度相關程序進行處理[3],可以滿足數控系統的實時性要求。本文提出一種基于ARM9和CPLD的開放式數控系統。該系統中ARM9移植了Windows CE嵌入式操作系統,通過開發應用程序實現信息輸入、運動顯示和粗插補等功能; CPLD實現精插補和運動控制。整個系統具有結構緊湊、集成度高、可靠性強和友好人機交互等特點。
1 系統設計
1.1 系統硬件設計
本系統ARM采用SAMSUNG公司的S3C2410,CPLD采用ALTERA公司FLEX6000系列的EPF6016。系統硬件結構如圖1所示。
S3C2410內部資源豐富,可嵌入Windows CE操作系統,并進行復雜的信息處理。系統以LCD和觸摸屏為人機交互裝置,采用10 MB的以太網接口芯片CS8900A,可連接到Internet或局域網。在PC機上生成的CAD文件通過以太網或SD卡輸入到處理器中。系統采用NANDFLASH存儲數據和程序。
EPF6016是ALTERA公司為大容量設計提供的一種低成本可編程交織式門陣列,共有16 000個可用門、1 320個邏輯單元、117個I/O引腳,每個I/O引腳都有獨立的三態輸出使能控制。EPF6016接收ARM的插補指令進行精插補,輸出控制信號,并采集編碼器的反饋信號和限位開關零點開關的狀態信號。
本系統將EPF6016直接連接到S3C2410的存儲總線上。S3C2410與EPF6016之間依靠24位數據總線和8位地址總線進行指令和數據的傳輸,提高了通信效率。S3C2410與EPF6016之間的總線還包括了片選信號線、讀寫控制信號線和中斷信號線。
1.2 系統軟件開發
本系統軟件開發包括Windows CE應用程序開發和CPLD程序開發。采用C#語言開發Windows CE應用程序,采用VHDL語言開發CPLD程序。系統軟件結構如圖2所示。
Windows CE應用程序是基于多線程的。應用程序包括信息輸入、譯碼、運動顯示、故障管理、電機啟動停止和插補等功能模塊,每個功能模塊都是一個獨立的線程。信息輸入、譯碼是非實時任務,線程優先級設為默認值251;故障管理、電機啟動停止是實時非周期性任務,屬于弱實時任務,線程優先級設為247,即用戶態實時級別;插補、運動顯示是實時周期性任務,屬于強實時任務,線程優先級設為3,即核心態實時級別。
評論