999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

可編程網絡型運動控制卡的設計與實現*

2014-05-14 11:34:16林曉海鄭力新
網絡安全與數據管理 2014年2期

林曉海,鄭力新

(1.華僑大學 信息科學與工程學院,福建 廈門 361021;2.華僑大學 工學院,福建 泉州 362021)

當今運動控制卡多采用PCI接口作為運動控制卡與PC進行數據傳輸的接口,造成用戶即使僅僅使用較少部分PC資源,也必須配備一臺PC或工控機,未使用的PC資源不僅帶來浪費的問題和維護上的麻煩,也不利于系統的小型化。使用以太網接口代替傳統PCI接口可以實現幾個運動控制卡共享同一臺主機,不但可以降低成本,同時便于運動控制卡集中管理[1];隨著運動控制的發展,越來越多的機械設備廠商希望能夠提供一個通用的可編程環境,以方便對該領域較為熟悉的人員來完成編程任務?;谏鲜龅膬牲c需求,本文設計出一款可編程網絡型運動控制卡,并給出軟硬件的實現過程。

1 系統整體結構

圖1 系統的整體結構

圖1為該系統的整體結構。通過對PLT格式的文件進行解析產生用于擬合運動軌跡的微小線段的頂點坐標,這些數據并沒有將實際的運動特性考慮在內,因此必須在輔助開發軟件內對這些數據進行前瞻規劃、加減速控制,使得在滿足系統實際運動特性的前提下更高速、更順暢地加工。輔助開發軟件將預處理后的加工數據通過以太網接口傳送到運動控制卡,并存儲在運動控制卡板卡上的Flash存儲器中。開發人員就可以使用Keil集成開發環境對運動任務和可編程IO服務程序進行編寫,運動任務與編寫好的軟件框架中的其他任務(如暫停、急停、回零等任務)構成系統多任務框架,運行在FreeRTOS實時操作系統環境中。

2 硬件結構

運動控制卡使用ARM Cortex M4系列的STM32F407-ZGT6以及Cyclone II系列的FPGA EP2C8Q208作為核心部分。ARM具有較強的運算能力、信號處理能力和事件管理與控制能力,并且具有較為豐富的外設,在運動控制卡中充當一個管理者的角色;FPGA具有較強的邏輯處理能力與并行處理能力,可以實現多軸同時插補,在該系統中負責完成DDA插補算法。ARM與FPGA之間采用FSMC接口進行數據通信,同時在FPGA內部使用內嵌的RAM模塊例化出一個緩沖區,用來緩沖接收到的數據。與PC通信部分采用的是以太網接口,使用DP83848作為網卡芯片連接到ARM芯片的以太網控制器接口;同時為了方便調試,還提供了一個串口作為調試輸出接口,該串口也可以作為可編程資源,提供給開發人員編程使用。電機驅動接口包括4組軸方向+脈沖輸出接口和控制接口(驅動器報警、錯誤清除、使能接口),同時提供每個軸的正負限位及原點輸入接口和16個可編程輸入接口、16個可編程輸出接口[2-3]。圖2為硬件部分框圖。

圖2 硬件部分框圖

3 開發環境

3.1 輔助開發軟件

該軟件是基于Qt環境開發的,它與運動控制卡通過TCP協議進行通信,在C/S模式中充當服務器的角色。該軟件有3個主要功能:

(1)提供一個可視化的方式來對系統的IP地址、正負限位、原點觸發方式、系統最大速度、最小速度、最大加速度、最大加加速度等進行配置,根據配置結果產生對的頭文件,并導入到開發人員的開發工程文件夾中,這些文件通過宏定義完成系統資源的配置,開發人員在開發時可以引用相應的宏來完成編程。

(2)提供簡單的調試環境:啟動、暫停、停止、系統回零等按鈕。

(3)對軌跡頂點數據進行預處理。

圖3~圖6分別為軟件的流程圖、主界面、產生的頭文件列表和頭文件內容。

圖3 軟件流程圖

圖4 軟件主界面

圖5 產生的配置頭文件列表

圖6 頭文件內容

3.2 與KeilμVision4的集成

對ARM開發采用KeilμVision4集成開發環境,Keil軟件可以在編譯之前運行外部程序[4],通過這個特性,可以在編譯工程文件之前先運行輔助開發軟件,利用輔助開發軟件產生相應的頭文件實現對系統參數的配置。

4 多任務軟件框架

為了減輕開發人員的開發難度,在FreeRTOS的上層創建了多任務的軟件框架,如圖7所示。

圖7 多任務的軟件框架

在該框架中創建了6個默認的任務,分別是:數據包解析任務、存儲器管理任務、暫停任務、停止任務、回零任務、運行任務。開始時存儲管理任務、暫停任務、停止任務、回零任務和運行任務都在等待相應信號量而掛起。

輔助開發軟件通過以太網接口將數據傳送到運動控制卡,每個數據包由數據包類型、數據包內容所組成,數據包解析任務通過解析數據包類型碼來分別發送不同的信號量喚醒不同的任務。存儲管理任務是板上2 MB Flash存儲器進行寫的守護任務,負責存儲器的讀入,任何任務需要讀存儲器都需要請求該任務來完成,同時在寫存儲器時不允許任何任務讀存儲器,從而避免讀到無效數據。

暫停、停止、回零,運行任務的功能是通過搶占機制來實現的,各個任務的優先級分配如表1所示[5]。當系統正在運行時如果發送暫停命令,由于暫停優先級比運行任務優先級高,所以會搶占運行任務的優先級。其他的優先級分配也是按照這個原則,其中在沒有執行回零操作時優先級設置為5是為了能夠搶占運行、暫停、停止這些任務的運行;而在執行回零過程中,將優先級降低為2是為了能夠實現在回零過程中被暫停和停止。圖8~圖11分別是運行任務、暫停任務、回零任務和停止任務的流程圖。

表1 優先級分配表

在系統運行過程中有時需要接收外圍設備的輸入信號,例如在一些設備中存在一些按鈕,運動控制卡需要接收這些按鈕信息,并對這些按鈕的相應函數進行編程,例如調用暫停信號量來喚醒暫停任務,此時這個按鈕就具備了暫停功能;又如在運動過程中可能需要給電磁閥一個觸發信號來執行對外圍設備的控制等,這部分就是可編程IO功能[6],可編程輸入引腳連接到ARM的中斷引腳中,當有外部輸入時觸發中斷,進而調用外部中斷服務函數,因此只需在中斷服務代碼中編寫相應的程序就可以實現對應的功能。下面是連接設備暫停按鈕的中斷服務函數:

圖8 運行任務

圖9 暫停任務

圖10 回零任務

圖11 停止任務

可編程輸出功能是通過軟件中斷來實現的,在運行任務中可以調用軟中斷指令,使得程序轉到軟件中斷服務程序中。在轉入軟件中斷服務程序之前,開發人員需給出觸發引腳編號、脈沖模式或電平模式、電平類型等信息,需要使用如下的MC_PO類型來創建一個結構體變量,并對這個結構變量的對應成員變量賦值。為了實現多個引腳同時輸出,在軟件框架中定義了16個MC_PO類型的變量,每個變量對應一個可編程輸出引腳的信息,同時創建一個16個元素的數組MC_PO_Pins[16]用于存放需要輸出的引腳的標志。在軟件中斷服務程序中通過查詢這個數組來調用需要輸出信號引腳對應的函數。這樣就使得耦合性較低,軟件框架結構更為清晰。

開發人員需要調用可利用的函數庫(ST公司提供的固件庫函數以及系統已經封裝好的API函數、FreeRTOS API等)來編寫運行任務。在運行任務中,需要完成的工作是讀取存儲器中的數據,傳到FPGA執行插補,由FPGA來輸出給予驅動器的方向脈沖信號。同時編寫希望響應的外部輸入/輸出的服務函數,這些函數借助已經編寫好的軟件框架就可以運行。

設計出一款可編程網絡型運動控制卡,使用以太網接口作為數據傳輸接口,使得多運動控制卡可以共享同一臺主機,結合輔助開發軟件可以以直觀的方式對板卡上的資源進行配置。同時將輔助開發軟件集成到Keil μVision4中方便了開發過程,并建立了運行于FreeRTOS實時操作系統上的多任務軟件框架,通過降低任務間的耦合性來使得框架結構更加清晰。

[1]云利軍,孫鶴旭,雷兆明,等.工業網絡的發展及其在運動控制中的應用[J].微型機與應用,2005,24(9):4-6.

[2]齊珊.多軸運動控制系統設計[D].天津:天津大學,2008.

[3]謝輝.基于以太網的分布式運動控制系統研究與實現[D].大連:大連理工大學,2008.

[4]李寧.ARM MCU開發工具 MDK使用入門 [M].北京:北京航天航空大學出版社,2012.

[5]BARRY R.Using the FreeRTOS real time kernel(A practical guide opened)[EB/OL].(2009-xx-xx)[2013-10-23].http://www.FreeRTOS.org.

[6]朱閣,鄭力新,林曉海.基于ARM Cortex-M3的運動控制系統與算法設計[J].微型機與應用,2013,32(1):77-79.

主站蜘蛛池模板: 久996视频精品免费观看| 美女潮喷出白浆在线观看视频| 久久久久久久久18禁秘| 国产成人a在线观看视频| 国产精品 欧美激情 在线播放| 永久免费AⅤ无码网站在线观看| 无码乱人伦一区二区亚洲一| 国内黄色精品| 亚洲精品国产成人7777| 亚洲IV视频免费在线光看| 美女一区二区在线观看| 免费99精品国产自在现线| 亚洲欧美在线精品一区二区| а∨天堂一区中文字幕| 国产综合另类小说色区色噜噜 | 三上悠亚在线精品二区| 欧美全免费aaaaaa特黄在线| 精品国产成人国产在线| 91久久天天躁狠狠躁夜夜| 久久99热66这里只有精品一| 青草视频在线观看国产| 97精品国产高清久久久久蜜芽| 在线毛片网站| 日本在线亚洲| 国产在线观看91精品| 六月婷婷精品视频在线观看| 呦视频在线一区二区三区| 老司机久久99久久精品播放| 日韩成人免费网站| 永久免费无码日韩视频| 最新日本中文字幕| 中文天堂在线视频| 久久大香伊蕉在人线观看热2| 91精品网站| 国产一区二区福利| 一级毛片网| 91成人在线观看| 国产一区成人| 国产精品永久免费嫩草研究院| 92午夜福利影院一区二区三区| 国产成人你懂的在线观看| 亚洲日韩AV无码一区二区三区人| 欧美成人区| 精品国产网| 欧美成人精品一级在线观看| 国产欧美视频综合二区| 狠狠综合久久| 亚洲人成网站在线播放2019| 一级全黄毛片| 亚洲免费黄色网| 91久久夜色精品国产网站| 久久一日本道色综合久久| 亚洲国产精品无码久久一线| 青青久久91| 国产亚洲日韩av在线| 996免费视频国产在线播放| 久久这里只有精品66| 久久黄色小视频| 98精品全国免费观看视频| 欧美国产成人在线| 国产欧美日韩在线在线不卡视频| 亚洲 成人国产| 亚洲中文无码av永久伊人| 狠狠躁天天躁夜夜躁婷婷| 激情成人综合网| 亚洲无码视频一区二区三区| 看av免费毛片手机播放| 亚洲综合欧美在线一区在线播放| 国产jizzjizz视频| 亚洲色中色| 啪啪啪亚洲无码| 久久久久亚洲av成人网人人软件 | 国产在线观看91精品亚瑟| 色综合中文| 精品久久国产综合精麻豆| 久久久久青草大香线综合精品 | 男女猛烈无遮挡午夜视频| 国产精品一线天| 成人在线不卡| 97se综合| 国产成人一区在线播放| 天天色天天综合网|