a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > EPA通信協議在μC/OS-II嵌入式系統中的設計與實現

EPA通信協議在μC/OS-II嵌入式系統中的設計與實現

作者: 時間:2010-03-11 來源:網絡 收藏

(1)服務棧模塊:管理服務包括設備查詢、設備聲明等服務,應用訪問服務包括域操作服務、事件操作服務、變量操作服務,各種服務對相應的服務報文進行處理。 以域下載服務為例說明服務棧的流程如圖3示。

(2)套接字映射模塊:對服務棧數據進行封裝,并作為與UDP層之間的數據接口,其接口函數包括創建與關閉套接字函數、發送應用服務報文與響應報文函數,發送管理報文與響應報文函數,從UDP層接收應用服務與管理報文函數等。EPA套接字開UDP套接字的語句如下:

if(!udp_open(gEPA_AP_Sock, EPA_AP_PORT, -1, EPA_AP_PORT, NULL))

SockErr=1;

else SockErr=0;

(3)時鐘同步服務的采用IEEE 1588精確時鐘同步,該用于分布式系統中的設備通過以太網的亞微秒級時鐘同步。設備與主時鐘通過交換同步報文而實現同步,同步報文分為同步信息(Sync)、附加信息(Follow_Up)、延時請求(Delay_Req)、延時響應(Delay_Rsp)四種報文。同步過程分兩個階段,第一階段通過Sync和Follow_Up報文測量時間偏差,第二個階段通過Delay_Req和Delay_Rsp測量延遲(網絡延遲和棧延遲),進一步校正偏差。為了進一步減少協議棧帶來的延遲,可以讓時間同步服務盡量接近物理層,這里通過修改TCP/IP庫文件實現。

(4)實時調度的實現,包括時間中斷調度函數――判斷是否到達本設備的周期報文發送時間或非周期報文發送開始時間,以及報文發送函數――實現對幾個優先級的數據隊列報文發送等。

4.2 在μ中的實現

在完成各個模塊的編寫之后,協議在μ系統中的實現主要是根據應用要求進行任務的創建、劃分以及任務間與調度的。因為μ在RABBIT2000中的移植已經由Dynamic開發平臺實現,這里不再詳細介紹。模塊與任務之間非一一對應關系,因為模塊是基于功能進行劃分,而任務是基于時間優先級進行劃分。劃分任務優先級就是確定任務實時性要求的過程。實時性要求越高的,則任務優先級越高,其對應的優先級號越低。μC/OS-II共支持最多56個用戶任務,對于本系統來說是綽綽有余的。按照優先級由高到低次序的任務劃分與調度方案如下:

(1)設備管理任務:完成設備的上電與初始化組態,之后根據設備狀態機,在設備為正常可操作狀態下被掛起,直到設備狀態被其他事件改變后由信號量激活。

(2)周期性報文發送任務:由時間調度任務在宏周期內本設備周期性報文發送時間到達時產生中斷激活而進入就緒狀態,在中斷退出后成為最高優先級任務被執行,立即發送周期性報文,發送完畢即掛起等待下一次激活。

(3)非周期性報文發送任務:與任務(2)相似,在非周期報文發送時間到被激活,通過調度算法發送非周期性報文。以上兩個任務由于不會在同一時間段執行,因此實際運行時的優先級是等同的。

(4)功能塊調度任務:在組態的功能塊調度時間到達時被激活,或者在控制回路中上一個功能塊執行之后被激活,立刻執行后掛起。由于首先要確保EPA網絡的確定性,所以此任務的優先級低于前兩個任務。

(5)時間調度任務:通過對網絡時間的判斷,在到達以上三個任務的執行時間時進入時間中斷函數,給相應的任務發送信號量,使任務進入就緒狀態,中斷退出即可以執行就緒的高優先級任務。根據時間精度的要求設置內核調用OSTimeTick的頻率,可以通過#define OS_TICKS_PER_SEC 256,實現每秒256次的Tick頻率。

(6)普通報文接收任務:套接字映射實體偵聽來自EPA網絡的報文并根據需要調用相應的應用層服務處理報文,設為每100ms執行一次。

(7)時鐘同步任務:獨立接收與發送時間同步報文,以確保設備時間與網絡時間的同步。由于主時鐘發送Sync報文周期為2秒一次,所以其優先級可以低于時間調度任務,設為每2秒執行一次。

(8)串口通信任務:與電動執行器進行周期性的串口通信,根據電動執行器的物理特性,通信頻率設為每秒2次,其通信方法在后文中介紹。

各任務之間采用全局變量或者消息機制進行通信,以完成任務狀態機的變化。任務堆棧則根據各任務的實際需要分配,這里不再詳述。

5. 測試

為了測試的實現,使用通信卡的RS-232串口與某型電動執行器的異步串行通信接口相連,形成一個EPA現場設備。EPA通信卡接收來自EPA網絡的閥位指令并通過串行口傳送給電動執行器,電動執行器接到閥位指令后向網板發出應答幀,雙方各自一收一發完成一個周期的通信。通信中網板是主節點,電動執行器為從節點,每周期通信均是由通信卡發起,電動執行器響應。

通過EPA網橋將該設備加入EPA網絡進行測試,經過專家組的驗收,該實驗系統成功通過了一致性測試、互可操作性測試等服務測試,時鐘同步精度也達到了毫秒級,基本上實現了EPA通信卡的功能。

6. 結束語

系統實時性要求越高,對硬件的要求也越高,如果要求時鐘同步精度和通信調度發送報文的時間精度達到實際應用的水平,并且進一步提高EPA設備通信的可靠性,則需要采用硬件實現的方法,即開發EPA專用通信芯片,在芯片級實現,預計EPA芯片很快會面世。相信在眾多研究機構與廠商的共同努力下,EPA的推廣應用將會取得豐碩的成果。

本文作者創新點:針對EPA提出了一種新的實現方法,此方法基于μC/OS-II操作系統,用多任務的方式實現了各個協議實體及其調度。

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

tcp/ip相關文章:tcp/ip是什么



上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉