智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒

基于ARM和CPLD的開放式數(shù)控系統(tǒng)設(shè)計(jì)

來源:互聯(lián)網(wǎng)

點(diǎn)擊:1158

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞:ARMCPLD 開放式 數(shù)控系統(tǒng)

      隨著工業(yè)自動化技術(shù)和數(shù)控技術(shù)的飛速發(fā)展,數(shù)控系統(tǒng)的功能得到了極大的擴(kuò)展。用戶對數(shù)控系統(tǒng)提出可聯(lián)網(wǎng)、開放性等更高的要求。開放性是數(shù)控系統(tǒng)未來的發(fā)展趨勢。開放式數(shù)控系統(tǒng)的核心是建立一種對數(shù)控系統(tǒng)的軟硬件開發(fā)商、機(jī)床制造商和最終用戶都開放的體系結(jié)構(gòu)和標(biāo)準(zhǔn),使數(shù)控系統(tǒng)不依賴于特定的廠家,達(dá)到可互聯(lián)、可互操作、可重組和可互換的目的[1]。基于工業(yè)PC的開放式數(shù)控系統(tǒng)已得到廣泛運(yùn)用,它能夠快速開發(fā)出獨(dú)具特色的軟件系統(tǒng),具有良好的人機(jī)界面,但資源利用率不高、體積較大、攜帶不方便。ARM、CPLD和DSP等微處理器的快速發(fā)展,為開放式數(shù)控系統(tǒng)的發(fā)展提供了新的實(shí)現(xiàn)方法[2]。

      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是嵌入式實(shí)時(shí)操作系統(tǒng),其獨(dú)特體系結(jié)構(gòu)和運(yùn)行機(jī)制使其能夠快速響應(yīng)外部中斷,并調(diào)度相關(guān)程序進(jìn)行處理[3],可以滿足數(shù)控系統(tǒng)的實(shí)時(shí)性要求。本文提出一種基于ARM9和CPLD的開放式數(shù)控系統(tǒng)。該系統(tǒng)中ARM9移植了Windows CE嵌入式操作系統(tǒng),通過開發(fā)應(yīng)用程序?qū)崿F(xiàn)信息輸入、運(yùn)動顯示和粗插補(bǔ)等功能; CPLD實(shí)現(xiàn)精插補(bǔ)和運(yùn)動控制。整個(gè)系統(tǒng)具有結(jié)構(gòu)緊湊、集成度高、可靠性強(qiáng)和友好人機(jī)交互等特點(diǎn)。

    1 系統(tǒng)設(shè)計(jì)

      1.1 系統(tǒng)硬件設(shè)計(jì)

      本系統(tǒng)ARM采用SAMSUNG公司的S3C2410,CPLD采用ALTERA公司FLEX6000系列的EPF6016。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。

      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è)計(jì)提供的一種低成本可編程交織式門陣列,共有16 000個(gè)可用門、1 320個(gè)邏輯單元、117個(gè)I/O引腳,每個(gè)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ǔ)等功能模塊,每個(gè)功能模塊都是一個(gè)獨(dú)立的線程。信息輸入、譯碼是非實(shí)時(shí)任務(wù),線程優(yōu)先級設(shè)為默認(rèn)值251;故障管理、電機(jī)啟動停止是實(shí)時(shí)非周期性任務(wù),屬于弱實(shí)時(shí)任務(wù),線程優(yōu)先級設(shè)為247,即用戶態(tài)實(shí)時(shí)級別;插補(bǔ)、運(yùn)動顯示是實(shí)時(shí)周期性任務(wù),屬于強(qiáng)實(shí)時(shí)任務(wù),線程優(yōu)先級設(shè)為3,即核心態(tài)實(shí)時(shí)級別。

      CPLD外接40 MHz時(shí)鐘,程序中使用的所有時(shí)序均由該時(shí)鐘分頻而得。本系統(tǒng)采用基于數(shù)據(jù)采樣法的粗精兩級插補(bǔ)結(jié)構(gòu),插補(bǔ)周期為8 ms,采樣周期為4 ms。因此中斷程序和精插補(bǔ)程序基于125 Hz時(shí)序運(yùn)行;數(shù)據(jù)采樣、故障監(jiān)測和速度位置控制基于250 Hz時(shí)序運(yùn)行。

      系統(tǒng)數(shù)據(jù)傳遞如圖3所示。插補(bǔ)是本系統(tǒng)的一個(gè)重要環(huán)節(jié),因?yàn)椴逖a(bǔ)直接影響系統(tǒng)的實(shí)時(shí)性、運(yùn)動控制和加工精度。從圖3可見粗插補(bǔ)計(jì)算結(jié)果從應(yīng)用程序傳遞到操作系統(tǒng)內(nèi)核,再由內(nèi)核發(fā)送到CPLD進(jìn)行精插補(bǔ)運(yùn)算。由于插補(bǔ)是一項(xiàng)硬實(shí)時(shí)任務(wù),因此數(shù)據(jù)傳遞必須實(shí)時(shí)準(zhǔn)確。ARM與CPLD之間以中斷方式保證通信的實(shí)時(shí)性。而應(yīng)用程序和操作系統(tǒng)內(nèi)核通信的實(shí)時(shí)性則由操作系統(tǒng)的實(shí)時(shí)性保證。

    2 系統(tǒng)中斷控制

      本系統(tǒng)采用基于數(shù)據(jù)采樣法的粗精兩級插補(bǔ)結(jié)構(gòu),插補(bǔ)周期為8 ms,采用中斷方式保證通信的實(shí)時(shí)性。中斷信號由CPLD每隔8 ms定時(shí)產(chǎn)生。當(dāng)接收到CPLD的中斷信號時(shí),ARM把粗插補(bǔ)計(jì)算結(jié)果寫入CPLD的固定地址。CPLD從固定地址讀取數(shù)據(jù)計(jì)算脈沖數(shù),輸出脈沖信號,完成運(yùn)動控制。本系統(tǒng)的中斷控制分成3部分:Windows CE中斷服務(wù)、應(yīng)用程序中斷響應(yīng)程序和CPLD程序。

      2.1 Windows CE中斷服務(wù)

      Windows CE是實(shí)時(shí)操作系統(tǒng),其實(shí)時(shí)性體現(xiàn)在6個(gè)方面:(1)具有256個(gè)線程優(yōu)先級;(2)應(yīng)用程序可以控制提供給每個(gè)線程的時(shí)間片,計(jì)時(shí)器精確到1 ms;(3)優(yōu)先級倒置處理機(jī)制;(4)支持嵌套中斷;(5)中斷延遲時(shí)間短;(6)更細(xì)粒度的內(nèi)存管理控制[4-5]。Windows CE以上機(jī)制特別是中斷體系保證了數(shù)控系統(tǒng)的實(shí)時(shí)性。

      Windows CE的中斷體系包括核心態(tài)的中斷例程ISR和用戶態(tài)的中斷線程IST兩部分。ISR主要響應(yīng)中斷請求,識別中斷源,給操作系統(tǒng)內(nèi)核返回相應(yīng)的中斷標(biāo)識。 ISR具有最高的優(yōu)先級。本系統(tǒng)采用ISR完成中斷服務(wù)。進(jìn)入ISR以后,系統(tǒng)中所有的同級或下級中斷均被屏蔽。為了不降低系統(tǒng)執(zhí)行多任務(wù)的性能,ISR 應(yīng)非常短小精干,以使其他中斷也能夠獲得及時(shí)的服務(wù)。

      定制Windows CE中斷服務(wù)程序步驟如下:

      (1)在操作系統(tǒng)內(nèi)核中注冊事件hMotor,用于操作系統(tǒng)和應(yīng)用程序中斷響應(yīng)的同步。

      (2)在操作系統(tǒng)內(nèi)核中注冊插補(bǔ)中斷標(biāo)識號SYSINTR_PWM_READY。

      (3)調(diào)用函數(shù)InterruptINItialize,使中斷請求和hMotor事件掛鉤,當(dāng)接收到中斷請求時(shí)操作系統(tǒng)自動將事件置為有信號,退出ISR時(shí)將事件置為無信號。

      (4)編寫ISR程序。ISR程序框架如下:

      if(IntPendVal==INTSRC_EINT1)//判斷中斷是否來自CPLD

      {

      s2410INT|=BIT_EINT1;//清除中斷請求

      if(PWM_FINISH==TRUE)

      return(SYSINTR_PWM_READY);

      //向內(nèi)核返回中斷標(biāo)識號

      rADDR=*pulse_buf;//向CPLD寫數(shù)據(jù)

      }

      當(dāng) ARM接收到由CPLD發(fā)出的中斷請求,操作系統(tǒng)將調(diào)用ISR,并將hMotor事件置為有信號。在ISR中將粗插補(bǔ)計(jì)算結(jié)果寫入CPLD,并向操作系統(tǒng)內(nèi)核返回中斷標(biāo)識號。退出ISR時(shí),操作系統(tǒng)將hMotor事件置為無信號。整個(gè)ISR程序非常精短,保證了系統(tǒng)其他程序的正常運(yùn)行。

      2.2 應(yīng)用程序中斷響應(yīng)程序

      應(yīng)用程序無法直接獲知是否有中斷請求。利用hMotor事件使操作系統(tǒng)中斷服務(wù)與應(yīng)用程序中斷響應(yīng)程序達(dá)到同步。通過調(diào)用WaitForSingleObject函數(shù)查詢該事件狀態(tài),應(yīng)用程序可獲知是否有中斷請求并及時(shí)響應(yīng)中斷。中斷響應(yīng)程序框架結(jié)構(gòu)如下:

      while(!IsEnd)//判斷插補(bǔ)是否結(jié)束

      {

      ……//粗插補(bǔ)計(jì)算

      WaitForSingleObject(hMotor,INFINITE);//無限期等待

      //hMotor事件狀態(tài)變?yōu)橛行盘?/span>

      DeviceIoControl();//向操作系統(tǒng)傳遞

      //粗插補(bǔ)計(jì)算結(jié)果,即位置增量

      }

      插補(bǔ)線程啟動后進(jìn)行插補(bǔ)計(jì)算,調(diào)用WaitForSingleObject函數(shù)阻塞插補(bǔ)線程,等待hMotor事件狀態(tài)變?yōu)橛行盘枴.?dāng)操作系統(tǒng)接收到中斷請求后調(diào)度ISR,將事件置為有信號。此時(shí)WaitForSingleObject函數(shù)被返回,插補(bǔ)線程阻塞狀態(tài)解除。通過調(diào)用 DeviceIoControl函數(shù)將插補(bǔ)結(jié)果傳遞到驅(qū)動層,再由操作系統(tǒng)將數(shù)據(jù)發(fā)送到CPLD。插補(bǔ)運(yùn)算時(shí)間遠(yuǎn)小于插補(bǔ)周期,因此插補(bǔ)線程經(jīng)常處于阻塞狀態(tài)。WaitForSingleObject函數(shù)雖然會阻塞當(dāng)前線程,但是不會占用任何CPU資源,因此即使插補(bǔ)線程優(yōu)先級較高,當(dāng)其被阻塞時(shí)也不會影響其他線程的正常運(yùn)行。

      2.3 CPLD程序

      CPLD程序的邏輯如圖4所示。

      通過40 MHz時(shí)鐘分頻,CPLD內(nèi)部產(chǎn)生125 Hz(周期8 ms)的脈沖序列。當(dāng)接收到啟動指令時(shí),CPLD將該脈沖序列發(fā)送到ARM作為中斷信號。ARM的中斷觸發(fā)模式為沿觸發(fā),上升沿為有效中斷請求。ARM接收到中斷請求后,向CPLD傳送數(shù)據(jù)。CPLD內(nèi)部建立2個(gè)數(shù)據(jù)緩沖區(qū),設(shè)置標(biāo)志FLAG。當(dāng)FLAG為0時(shí),CPLD將ARM傳送的數(shù)據(jù)寫入緩沖區(qū)1,讀取緩沖區(qū)2的數(shù)據(jù)進(jìn)行計(jì)算輸出;當(dāng)FLAG為1時(shí)則反之。設(shè)定2個(gè)數(shù)據(jù)緩沖區(qū)可以保證數(shù)據(jù)讀寫的準(zhǔn)確性和運(yùn)動控制的連續(xù)性。CPLD接收到結(jié)束指令后,不再向ARM發(fā)送中斷信號,整個(gè)系統(tǒng)的中斷控制停止。

    3 實(shí)驗(yàn)

      本系統(tǒng)已經(jīng)運(yùn)用于激光沉積焊接機(jī),并成功進(jìn)行了實(shí)物加工。圖5是該系統(tǒng)的激光焊接圖。該焊接軌跡由正方形和圓形組成。在操作系統(tǒng)ISR中寫入檢測程序,記錄中斷情況。在實(shí)驗(yàn)中,所有中斷信號均被正確處理,hMotor事件狀態(tài)切換正常,沒有丟失中斷和事件的情況,即應(yīng)用程序與操作系統(tǒng)、ARM與CPLD的通信狀態(tài)良好。該系統(tǒng)的中斷控制能保證系統(tǒng)實(shí)時(shí)性,直線加工和圓弧加工均能很好地滿足加工精度。

      本系統(tǒng)充分利用了Windows CE的良好實(shí)時(shí)性、ARM的管理能力和CPLD的邏輯計(jì)算能力,硬件組成簡單,軟件開發(fā)方便,具有開放性強(qiáng)、實(shí)時(shí)性好、穩(wěn)定性高、人機(jī)交互友好和性價(jià)比高等優(yōu)點(diǎn),可滿足高速度和高精度的加工要求。本系統(tǒng)設(shè)計(jì)方案已實(shí)際運(yùn)用于激光沉積焊接數(shù)控系統(tǒng)中,運(yùn)行狀態(tài)良好,加工精度較高。本系統(tǒng)可運(yùn)用于各種機(jī)床數(shù)控系統(tǒng),具有廣泛使用價(jià)值。

    (審核編輯: 智匯張瑜)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認(rèn)為內(nèi)容侵權(quán),請聯(lián)系我們刪除。

    主站蜘蛛池模板: 康复器材_常州市友邦医疗康复器材有限公司官网 | 烟台广告公司-烟台仁和图文广告制作有限公司 | 水上浮筒_塑料浮筒_龙舟码头_浮筒浮动码头-黄山耀利水上设施有限公司 | 山东金起起重机械有限公司[官网]-金桥银路悬臂吊,金起龙门吊,山东金起起重行吊,单梁起重机 | 兰舍硅藻泥 -- 深圳硅藻泥|深圳兰舍硅藻泥|深圳硅藻泥品牌|深圳硅藻泥价格|深圳硅藻泥厂家|深圳硅藻泥施工| | 徐州恒铭机械设备有限公司_装载机配件_压路机配件_起重机配件_挖掘机配件_配件_徐州恒铭机械设备有限公司 | 全自动沾锡机|端子机|剥线机|昆山市博科鑫源电子设备有限公司 | 深圳中安视讯科技发展有限公司 - 深圳中安视讯科技发展有限公司 深圳展厅设计_产业园区展馆设计_展馆设计公司_健康产业展馆设计_展厅设计哪家好_华竣国际 | 萍乡赣西肿瘤医院|萍乡赣西肿瘤医院--官网-萍乡赣西肿瘤医院 | 太阳能路灯-高杆灯-景观灯-玉兰灯-中华灯-LED市电-庭院灯厂家-扬州汉威光电科技有限公司 | 市南人才网_市南招聘网_求职找工作平台 | 停车场设计|地下停车场规划设计|智能停车位地下车库设计施工装修|深圳创安顺停车库规划设计有限公司 | 乌鲁木齐万通汽车学校 | 蒸汽流量计_涡轮流量计_涡街流量计_雷达液位计_污水流量计_分体式_大口径工业流量计-江苏长顺仪表 | 云南亿华工贸有限公司-云南护栏网-云南锌钢护栏-昆明市政护栏-工地护栏-昆明护栏网厂家 | 新中式家具,广东新中式家具,广州新中式家具,佛山新中式家具,顺德新中式家具,乐从新中式家具,新中式家具厂家直销--唐明雅居 | 青岛大倾角输送带厂家_橡胶挡边输送带_波纹状挡边输送带_大倾角输送带型号-青岛朗森橡胶有限公司 | 呼吸家官网|肺功能检测仪生产厂家|国产肺功能仪知名品牌|肺功能检测仪|肺功能测试仪|婴幼儿肺功能仪|弥散残气肺功能仪|肺功能测试系统|广州红象医疗科技有限公司|便携式肺功能仪|大肺功能仪|呼吸康复一体机|儿童肺功能仪|肺活量计|医用简易肺功能仪|呼吸康复系统|肺功能仪|弥散肺功能仪(大肺)|便携式肺功能检测仪|肺康复|呼吸肌力测定肺功能仪|肺功能测定仪|呼吸神经肌肉刺激仪|便携式肺功能 | 全自动烫金机-全自动移印机-全自动丝印机-全自动平面机-东莞联昌实业供应各种丝印机和移印机 | 驾驶洗地机|手推洗地车|天津洗地机|扫地车|仓库工厂扫地机|工业吸尘器|扫雪机|耐洁思 | 扭力扳手_扭力扳手检定仪_数显扭力扳手_扭力测试仪_测力计_推拉力计_拉力测试仪_测试台架-上海实干实业有限公司 | 家用座椅电梯 斜挂升降平台 无障碍升降机 残疾人升降机的生产厂家超易达机械 | 吉林市康艺商贸有限公司_吉林市康艺商贸有限公司 | 拖链电缆-卷筒电缆-行车电缆-机器人电缆-上海甲朗制造 | 山东致合必拓环保科技股份有限公司 | 全国重点实验室--人民网| 免费的PPT幻灯片演示制作软件,动画视频及课件制作软件 - Focusky万彩演示大师官网 | 冷缩电缆附件_热缩电缆附件-乐清安尚电气有限公司 | 览众房车,房车, 房车厂家, 房车价格, 房车图片,, 四驱房车, 皮卡房车, 越野房车, 依维柯房车, 国产房车, 自动挡房车, | 内蒙古发电机厂家_呼和浩特发电机租赁_销售_维修_回收_置换|盈弘发电设备有限责任公司 | 化妆粉扑厂家【秀兰】一线品牌资格供应商_海绵粉扑批发_气垫粉扑价格_广州秀兰生物科技有限公司 化工招聘网 化工人才网|化工英才网-化工企业招聘首选网站 | 泰安兴润建材有限公司,泰安井盖定做,泰安警示桩定做,泰安雨水篦子定做,泰安操场篦子定做,泰安标志牌定做 | 喷涂陶瓷涂层_热喷涂陶瓷涂层-北京耐默公司 | 金蝶软件_金蝶湖南公司_长沙金蝶软件_精斗云软件_财务软件_进销存软件_云ERP软件_金蝶软件销售电话 | 金坛区成辉仪器厂-精密増力电动搅拌器,石英亚沸蒸馏水器- | 秦皇岛图成玻璃_横切机,琴键落板,堆垛机械手,玻璃钢化设备,掰边机,铺纸机,水平堆垛机+超大板堆垛机,纵掰纵分,下片机,冷端优化切割 | 济南晨阳科技有限公司-锅巴生产设备-夹心米果设备-膨化食品机械 集装箱零配件_不锈钢丝绳厂家_镀锌铁链条_合页非标件定制_上海英鑫多实业有限公司 | 永光机械-小型建筑机械领航者,公司专注于小型建筑、工程机械的研发与制造 | 锦州龙威机械有限公司官网 ,锦州医药包装机,包装机,锦州包装机械,小袋颗粒装盒生产线,颗粒装盒生产线,软双铝装盒线,伺服颗粒 | 无塔供水_全自动无塔供水设备_石家庄工泉水处理_无塔供水器 | 九江赛璐珞实业有限公司-赛璐珞板,赛璐璐板材,PVC装饰膜,PVC片材,醋酸纤维胶板_多彩装饰材料生产厂家 |