EPA通信協(xié)議在μC/OS-II嵌入式系統中的設計與實(shí)現
1. 引言
本文引用地址:http://dyxdggzs.com/article/152037.htm《用于工業(yè)測量與控制系統的EPA系統結構與通信規范》(以下簡(jiǎn)稱(chēng)EPA)是基于工業(yè)以太網(wǎng)的實(shí)時(shí)通信規范,它有效地解決了以太網(wǎng)通信的確定性通信問(wèn)題,進(jìn)而可以應用于多種工業(yè)領(lǐng)域,構成各種工業(yè)測量與控制系統。該規范將收錄在制定中的實(shí)時(shí)以太網(wǎng)國際標準IEC61784-2中,成為我國首例具有自主知識產(chǎn)權的現場(chǎng)總線(xiàn)標準;開(kāi)發(fā)和實(shí)現EPA通信協(xié)議是應用EPA系統的基礎和前提。
μC/OS-II是一種占先機制的實(shí)時(shí)多任務(wù)嵌入式操作系統,具有源碼公開(kāi)、可移植、可固化、可裁剪等特點(diǎn),已經(jīng)得到廣泛的應用。相對于同為源碼公開(kāi)的μClinux,它具有內核小、實(shí)時(shí)性高等特點(diǎn),更適合于控制應用。μC/OS-II作為EPA通信協(xié)議的實(shí)現平臺,能夠較大的提高系統資源利用率,利用優(yōu)先級劃分獲得較好的實(shí)時(shí)響應性能,其任務(wù)間多種通信方法有助于實(shí)現各實(shí)體協(xié)議狀態(tài)機。
2. EPA通信協(xié)議與模型
EPA系統采用ISO/OSI開(kāi)放系統互連模型(ISO 7498)的第一、二、三、四和七層,并增加用戶(hù)層。系統中除了采用普通以太網(wǎng)協(xié)議組件外,有些層增加了部分實(shí)體,以適應EPA通信的需求:
增加的用戶(hù)層包含EPA功能塊應用進(jìn)程與非實(shí)時(shí)應用進(jìn)程。應用層增加了由EPA系統管理實(shí)體、EPA應用訪(fǎng)問(wèn)實(shí)體和EPA套接字映射實(shí)體組成的EPA協(xié)議,三個(gè)實(shí)體分別實(shí)現EPA設備管理、應用通信服務(wù)、應用層與UDP/IP軟件實(shí)體之間的映射接口和報文優(yōu)先發(fā)送管理、報文封裝、響應信息返回、鏈路狀況監視等功能。在MAC層和IP層之間增加EPA通信調度管理實(shí)體,對EPA設備向網(wǎng)絡(luò )上發(fā)送的報文進(jìn)行調度管理。調度策略采用分時(shí)發(fā)送機制,將報文分為周期報文和非周期報文,按預先組態(tài)的調度方案,在相應的時(shí)間段內發(fā)送,以避免碰撞。各設備網(wǎng)絡(luò )時(shí)間由時(shí)間同步組件維護其一致性。EPA管理信息庫為各層協(xié)議實(shí)體提供操作所需信息,包括設備描述對象,鏈接對象等。
按照EPA通信協(xié)議,每個(gè)EPA設備由至少一個(gè)功能塊實(shí)例、EPA應用訪(fǎng)問(wèn)實(shí)體、EPA系統管理實(shí)體、EPA套接字映射實(shí)體、EPA鏈接對象、通信調度管理實(shí)體以及UDP/IP協(xié)議等幾個(gè)部分組成。各個(gè)實(shí)體和對象通過(guò)互相調用,協(xié)同完成設備間通信過(guò)程如圖1示:
3. 實(shí)現平臺
本文實(shí)現EPA通信協(xié)議的硬件結構如圖2所示,通信卡CPU為RABBIT2000微處理器,它是Rabbit半導體公司所生產(chǎn)的8位微處理器,工作主頻22.1MHZ,工作電壓5V,具有40個(gè)通用I/O引腳。內建日歷、時(shí)鐘、看門(mén)狗、定時(shí)器、多級中斷、雙DMA通道,數據存儲為128K靜態(tài)存儲器和 256K 動(dòng)態(tài)存儲器,可外擴4~8MB FLASH,對于通信協(xié)議棧和小型控制應用,其存儲空間是足夠的。
由zworld公司提供的基于Dynamic C的軟件開(kāi)發(fā)平臺集編程、編譯、鏈接、調試、下載于一體,提供完善的TCP/IP協(xié)議棧,支持全功能RS232/485通信,配備了各種I/O驅動(dòng)函數庫;文件管理系統可在FLASH或SRAM上建立數據文件,便于存儲系統或用戶(hù)數據;開(kāi)源的協(xié)議庫不但縮短了軟件開(kāi)發(fā)周期,而且便于修改以更好的實(shí)現EPA通信協(xié)議。
通信卡通過(guò)以太網(wǎng)模塊接口與EPA網(wǎng)絡(luò )相連,通過(guò)串口RS-232與電動(dòng)執行器連接形成一個(gè)底層IO設備,掛接在EPA網(wǎng)絡(luò )上進(jìn)行測試。
RABBIT2000支持協(xié)作式(使用costate)和占先式(移植μC/OS-II)多任務(wù)模式,選擇占先式模式基于以下兩點(diǎn)考慮:
(1)對于EPA設備來(lái)說(shuō),系統實(shí)時(shí)性是一個(gè)很重要的指標,表現在經(jīng)過(guò)組態(tài)后功能塊模塊的執行時(shí)間精度、通信調度發(fā)送周期性報文的時(shí)間精度,以及時(shí)鐘同步的精度,而且這幾個(gè)參數在很大程度上影響了網(wǎng)絡(luò )帶寬利用率。μC/OS-II具有任務(wù)執行時(shí)間的可確定性,可以很好的滿(mǎn)足系統的實(shí)時(shí)性要求。
(2)EPA設備可以直接在通信卡的接口上進(jìn)一步開(kāi)發(fā)實(shí)現,同時(shí)需要增加用戶(hù)層任務(wù)進(jìn)程,而RABBIT2000是8位微處理器,資源比較有限,因此基于任務(wù)可擴展性考慮,也應該采用占先式任務(wù)調度方式。
4. 軟件設計與實(shí)現
4.1 通信協(xié)議的模塊化設計
從數據處理角度上看,EPA設備通信是對控制過(guò)程所需要數據進(jìn)行處理和通過(guò)EPA網(wǎng)絡(luò )傳輸的過(guò)程,發(fā)送方從上到下各層依次對應用進(jìn)程或者管理服務(wù)數據進(jìn)行處理和封裝,接收方則進(jìn)行解包和處理,將服務(wù)數據交給應用進(jìn)程。因此,協(xié)議軟件設計主要是系統各模塊對服務(wù)數據的處理程序的設計。EPA通信卡的功能主要包含系統管理、應用服務(wù)、時(shí)鐘同步、實(shí)時(shí)調度等。需要編寫(xiě)的功能模塊有EPA服務(wù)棧模塊、套接字映射模塊、時(shí)間同步模塊、通信調度模塊。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)tcp/ip相關(guān)文章:tcp/ip是什么
評論