国产成人精品a视频一区www_国产区视频在线观看_99色视频_欲色av_亚洲一区电影_亚洲综合视频一区

基于ARM和CPLD的開放式數控系統設計

來源:互聯網

點擊:1157

A+ A-

所屬頻道:新聞中心

關鍵詞:ARMCPLD 開放式 數控系統

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

      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,即核心態實時級別。

      CPLD外接40 MHz時鐘,程序中使用的所有時序均由該時鐘分頻而得。本系統采用基于數據采樣法的粗精兩級插補結構,插補周期為8 ms,采樣周期為4 ms。因此中斷程序和精插補程序基于125 Hz時序運行;數據采樣、故障監測和速度位置控制基于250 Hz時序運行。

      系統數據傳遞如圖3所示。插補是本系統的一個重要環節,因為插補直接影響系統的實時性、運動控制和加工精度。從圖3可見粗插補計算結果從應用程序傳遞到操作系統內核,再由內核發送到CPLD進行精插補運算。由于插補是一項硬實時任務,因此數據傳遞必須實時準確。ARM與CPLD之間以中斷方式保證通信的實時性。而應用程序和操作系統內核通信的實時性則由操作系統的實時性保證。

    2 系統中斷控制

      本系統采用基于數據采樣法的粗精兩級插補結構,插補周期為8 ms,采用中斷方式保證通信的實時性。中斷信號由CPLD每隔8 ms定時產生。當接收到CPLD的中斷信號時,ARM把粗插補計算結果寫入CPLD的固定地址。CPLD從固定地址讀取數據計算脈沖數,輸出脈沖信號,完成運動控制。本系統的中斷控制分成3部分:Windows CE中斷服務、應用程序中斷響應程序和CPLD程序。

      2.1 Windows CE中斷服務

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

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

      定制Windows CE中斷服務程序步驟如下:

      (1)在操作系統內核中注冊事件hMotor,用于操作系統和應用程序中斷響應的同步。

      (2)在操作系統內核中注冊插補中斷標識號SYSINTR_PWM_READY。

      (3)調用函數InterruptINItialize,使中斷請求和hMotor事件掛鉤,當接收到中斷請求時操作系統自動將事件置為有信號,退出ISR時將事件置為無信號。

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

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

      {

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

      if(PWM_FINISH==TRUE)

      return(SYSINTR_PWM_READY);

      //向內核返回中斷標識號

      rADDR=*pulse_buf;//向CPLD寫數據

      }

      當 ARM接收到由CPLD發出的中斷請求,操作系統將調用ISR,并將hMotor事件置為有信號。在ISR中將粗插補計算結果寫入CPLD,并向操作系統內核返回中斷標識號。退出ISR時,操作系統將hMotor事件置為無信號。整個ISR程序非常精短,保證了系統其他程序的正常運行。

      2.2 應用程序中斷響應程序

      應用程序無法直接獲知是否有中斷請求。利用hMotor事件使操作系統中斷服務與應用程序中斷響應程序達到同步。通過調用WaitForSingleObject函數查詢該事件狀態,應用程序可獲知是否有中斷請求并及時響應中斷。中斷響應程序框架結構如下:

      while(!IsEnd)//判斷插補是否結束

      {

      ……//粗插補計算

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

      //hMotor事件狀態變為有信號

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

      //粗插補計算結果,即位置增量

      }

      插補線程啟動后進行插補計算,調用WaitForSingleObject函數阻塞插補線程,等待hMotor事件狀態變為有信號。當操作系統接收到中斷請求后調度ISR,將事件置為有信號。此時WaitForSingleObject函數被返回,插補線程阻塞狀態解除。通過調用 DeviceIoControl函數將插補結果傳遞到驅動層,再由操作系統將數據發送到CPLD。插補運算時間遠小于插補周期,因此插補線程經常處于阻塞狀態。WaitForSingleObject函數雖然會阻塞當前線程,但是不會占用任何CPU資源,因此即使插補線程優先級較高,當其被阻塞時也不會影響其他線程的正常運行。

      2.3 CPLD程序

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

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

    3 實驗

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

      本系統充分利用了Windows CE的良好實時性、ARM的管理能力和CPLD的邏輯計算能力,硬件組成簡單,軟件開發方便,具有開放性強、實時性好、穩定性高、人機交互友好和性價比高等優點,可滿足高速度和高精度的加工要求。本系統設計方案已實際運用于激光沉積焊接數控系統中,運行狀態良好,加工精度較高。本系統可運用于各種機床數控系統,具有廣泛使用價值。

    (審核編輯: 智匯張瑜)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    主站蜘蛛池模板: 日韩艹逼视频 | 精品久久国产 | 午夜成人在线视频 | 国产又粗又猛视频免费 | 台湾佬亚洲色图 | 亚洲精彩视频 | 欧美精品网站 | 欧美日韩一区二区在线 | 亚洲精品1| 天天天天天天天操 | 97国产在线视频 | 一区在线观看 | 久久亚洲一区二区三区四区 | 国产精品久久久久一区二区三区 | 久久久久久成人 | a级淫片 | 亚洲精品视频在线 | 久久这里只有精品首页 | www.男人天堂 | 国产精品久久久久蜜臀 | 视频久久精品 | 一级一级国产片 | 国产情品| 亚洲一区中文字幕在线观看 | 激情五月婷婷 | 国产午夜精品在线 | 国产欧美日韩在线观看 | 久久精品播放 | 中文字幕播放 | 天堂一区| 精品午夜久久久 | 91天堂 | 欧美国产日韩在线 | 中文字幕在线不卡视频 | 亚洲一区二区三区中文字幕 | 久久久九九九九 | 在线视频一区二区 | 亚洲黄色一区二区三区 | 亚洲精品国产高清 | 91精品国产综合久久久蜜臀粉嫩 | 蜜桃日韩 |