<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于I2C和雙ARM的PCB鉆床控制器設(shè)計

          基于I2C和雙ARM的PCB鉆床控制器設(shè)計

          作者: 時間:2012-11-26 來源:網(wǎng)絡(luò) 收藏
          為400KHz。 和LPC2214 各自建立一個24 字節(jié)的全局數(shù)組進行通信。

            3.軟件設(shè)計

            軟件部分主要由人機交互系統(tǒng)軟件和機床運動控制系統(tǒng)軟件組成。人機交互系統(tǒng)軟件結(jié)構(gòu)比較復(fù)雜,所以軟件移植了μC/OS-II 操作系統(tǒng)。機床運動控制系統(tǒng)軟件結(jié)構(gòu)比較簡單,但是這部分軟件有很強的實時性要求,所以軟件沒有移植操作系統(tǒng),而是采用時間觸發(fā)模式編寫。

            3.1 人機交互系統(tǒng)軟件設(shè)計

            人機交互系統(tǒng)軟件采用分層方式進行編寫。軟件分為系統(tǒng)層和應(yīng)用層。系統(tǒng)層設(shè)計的主要任務(wù)是首先進行嵌入式操作系統(tǒng)μC/OS-II 移植,然后再對操作系統(tǒng)內(nèi)核進行擴展,形成一個簡單高效的平臺。應(yīng)用層設(shè)計是在這個平臺的基礎(chǔ)上實現(xiàn)加工文件的操作,機床手動加工,機床自動加工,機床參數(shù)設(shè)置等任務(wù)。

            系統(tǒng)層以μC/OS-II 操作系統(tǒng)內(nèi)核為基礎(chǔ)進行移植和擴展。所謂移植,是指通過編寫一定代碼,使得操作系統(tǒng)能夠在特定的處理器平臺上運行。根據(jù)μC/OS-II 的說明,移植包括對與處理器相關(guān)的OS_CPU.H,OS_CPU_A..ASM,OS_CPU_C.C 三個文件中的代碼進行移植[4]。在μC/OS-II 提供的內(nèi)核基礎(chǔ)上,通過設(shè)計驅(qū)動程序模塊,系統(tǒng)任務(wù),操作系統(tǒng)的API 函數(shù)和任務(wù)調(diào)度模塊等對操作系統(tǒng)內(nèi)核進行擴展。通過設(shè)計實現(xiàn)LCD,鍵盤,K9F2808, 總線和串口通信等的接口函數(shù),建立驅(qū)動程序模塊,使操作系統(tǒng)API 函數(shù)和底層硬件分開。系統(tǒng)任務(wù)部分設(shè)計了LCD 刷新任務(wù),鍵盤讀取任務(wù), 總線讀寫任務(wù)這三個基本任務(wù),并隨著操作系統(tǒng)的啟動而運行。

            應(yīng)用層在系統(tǒng)層提供的 API 函數(shù)的基礎(chǔ)上,設(shè)計了主任務(wù)和機床手動加工,自動加工,文件傳輸,參數(shù)設(shè)置等任務(wù)。系統(tǒng)的入口函數(shù)Main 函數(shù)流程如圖2 所示。主任務(wù)函數(shù)結(jié)構(gòu)如圖3 所示:


            3.2.LPC2214 程序設(shè)計

            機床運動控制系統(tǒng)控制程序結(jié)構(gòu)比較簡單,程序模塊間相對獨立,但是實時性要求很高。由于嵌入式實時操作系統(tǒng)會占用一部分系統(tǒng)資源,影響系統(tǒng)的實時性,增加系統(tǒng)設(shè)計難度,所以,我們沒有移植嵌入式實時操作系統(tǒng),而是使用簡單時間調(diào)度方式。使用該調(diào)度方式可以使程序具有較好的健壯性和穩(wěn)定性。系統(tǒng)采用定時器來產(chǎn)生系統(tǒng)調(diào)度的節(jié)拍,利用定時器中斷程序進行調(diào)度。系統(tǒng)使用定時器0 產(chǎn)生系統(tǒng)的節(jié)拍,定時周期為1ms。系統(tǒng)利用PWM控制器的中斷和四個比較寄存器控制交流伺服系統(tǒng)進給脈沖的生成。我們把任務(wù)分成兩類:一類為周期任務(wù),另一類為非周期任務(wù)。每一個任務(wù)都有一個任務(wù)控制塊,任務(wù)控制塊的數(shù)據(jù)結(jié)構(gòu)如下:

            typedef data struct

            {void (*P_task)(void); //指向任務(wù)的指針

            unsigned int Delay; //延時時間

            unsigned int Period; //任務(wù)再次運行的間隔時間

            unsigned int run; //任務(wù)需要運行的次數(shù)

            }task;

            任務(wù)控制塊包含了任務(wù)被調(diào)度的重要信息:任務(wù)是周期任務(wù)還是非周期任務(wù),以及任務(wù)在何時運行,任務(wù)準備就緒的標志等??刂葡到y(tǒng)的主要任務(wù)有:X 進給軸脈沖發(fā)送任務(wù),Y 進給軸控制任務(wù),Z1 進給軸控制任務(wù),Z2 進給軸控制任務(wù),主軸電機控制任務(wù),換刀任務(wù)等。

            4.結(jié)束語

            在控制器方案考慮和設(shè)計中,我們充分考慮了嵌入式系統(tǒng)對功耗,成本和尺寸的敏感性。基于I2C 的 結(jié)構(gòu)的具有性能優(yōu)良,系統(tǒng)集成度高,性能可靠,人機交互友好,可擴展性好的特點,相對于傳統(tǒng)的基于單片機的在性能上有很大的提高。本設(shè)計為嵌入式系統(tǒng)在印刷電路板控制器中的應(yīng)用提供了新的思路,具有較好的應(yīng)用價值。


          上一頁 1 2 下一頁

          關(guān)鍵詞: I2C 雙ARM 鉆床控制器 S3C44B0X

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();