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