新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ARM設計的嵌入式數(shù)控系統(tǒng)方案

        基于ARM設計的嵌入式數(shù)控系統(tǒng)方案

        作者: 時間:2010-12-14 來源:網(wǎng)絡 收藏

        3 軟件

        31人機交互與G代碼解釋

        人機交互界面如圖3所示。陔界面是用QT/Embedded嵌人式罔形庫的。QTEmbedded 是由-rroll—tech公司的GUI開發(fā)T具,控件豐富,并且支持虛擬幀緩沖。通過該界面可以實現(xiàn)編輯G代碼,語法檢查、預覽加1 軌跡、與下位機通信等功能。

        G代碼解釋的原理如同4所示。程序中定義了兩個數(shù)據(jù)結構PreGCode和GCode分別用來保存語法檢查后的中間結果和數(shù)據(jù)分析后生成的G代碼類型、節(jié)點坐標、圓弧半徑等數(shù)據(jù),供仿真和加工使用。

        3.2CAN通信

        本系統(tǒng)使用CAN控制器MCP2510完成CAN總線幀的發(fā)送和接收任務。通信數(shù)據(jù)分為命令幀和數(shù)據(jù)幀兩種。通信協(xié)議利用了CAN總線的29位擴展標識符保存了一些協(xié)議中必要的信息,如表1所示。由于CAN支持多主機和多從機模式,所以為源設備和目的設備地址分配了ID,以區(qū)分數(shù)據(jù)的來源和目的地。數(shù)據(jù)幀的數(shù)據(jù)量較大,必須分批傳送,所以標識符里還包含了數(shù)據(jù)包分組號,用來排序。

        系統(tǒng)使用中斷模式傳輸數(shù)據(jù),共開啟4項中斷,分別為錯誤消極中斷、錯誤報警中斷以及發(fā)送中斷和接收中斷。如果為前兩種中斷,程序將復位MCP2510芯片。如果為發(fā)送中斷,則表示發(fā)送完畢,程序將置位發(fā)送中斷標志位以通知主程序。如果為接收中斷,程序將檢查標識符的ID28一ID21,判斷該幀的類型,然后根據(jù)幀的類型分別進行處理。

        3.3插補算法

        SM5004芯片是斯邁迪公司的一款高性能運動控制FPGA芯片,能夠實現(xiàn)4軸聯(lián)動,驅動脈沖頻率高達5MPPS,插補精度高達0.5I SB,單次輸出脈沖數(shù)高達2G,支持4種插補模式:直線插補、圓弧插補、連續(xù)插補和位模式插補。

        對于直線和圓弧,SM5004有自己的插補算法,只要提供終點坐標、速度等插補所需的參數(shù),SM5004就能自動完成插補。

        位模式插補是把高位CPU計算的插補數(shù)據(jù)以數(shù)據(jù)包的方式接收后,以指定的驅動速度連續(xù)輸出插補脈沖。位模式插補的原理是在每個寄存器上2軸或3軸的+/一方向驅動脈沖設定為1位1脈沖,輸出驅動脈沖時設定為1,不輸出脈沖時設定為0。位模式插補提供了一種靈活的插補機制,用戶可以自己編寫直線、圓弧、樣條曲線、函數(shù)曲線等各種曲線的插補算法。程序使用數(shù)字積分的方法實現(xiàn)了直線和二次曲線的插補。數(shù)字積分插補(又稱DDA插補)的原理如圖5所示。通過將積分區(qū)間[a,b]分割成足夠小的區(qū)間△f,將函數(shù)y=f(t)的積分運算變?yōu)樽兞康那蠛瓦\算,即

        數(shù)字運算時,At一般取最小單位“1”,即一個脈沖當量,則:

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 门源| 巨野县| 岗巴县| 云南省| 万安县| 淳化县| 靖州| 金昌市| 乌兰察布市| 醴陵市| 满洲里市| 遂川县| 封开县| 泸西县| 武定县| 丰都县| 昌江| 绥江县| 湄潭县| 乐陵市| 南雄市| 夏邑县| 淅川县| 苏尼特右旗| 芜湖县| 合水县| 池州市| 大洼县| 福泉市| 滁州市| 庄浪县| 长岭县| 砚山县| 社会| 高台县| 乌苏市| 田阳县| 沾益县| 于田县| 鄂托克前旗| 汉川市|