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