【RT-Thread作品秀】AFDX端系統(tǒng)實現(xiàn)與時間調(diào)度算法時間
作者:shenkh
概述
新一代航空電子系統(tǒng)隨著飛行條件復雜和對安全飛行、舒適旅行等要求,數(shù)據(jù)傳輸已由傳統(tǒng)的音頻通信擴大為圖像、多媒體、確定性控制信號等多數(shù)據(jù)流業(yè)務航空電子全雙工交換以太網(wǎng)(AFDX)在此多元化應用背景下應用而生?;贗EEE 802.3標準,結合航空電子應用背景下對協(xié)議MAC部分進行適應性修改,使其成為新的具有高速和確定性的航空以太網(wǎng)數(shù)據(jù)標準網(wǎng)絡。
ADFX協(xié)議主要包括端系統(tǒng)、交換機、應用系統(tǒng)。本次大賽主要實現(xiàn)端系統(tǒng)和交換機的通信、以及交換機的基于時間的同步算法。
開發(fā)環(huán)境
硬件:ART-Pi開發(fā)板,正點原子Stm32F407開發(fā)板
RT-Thread版本:4.03
開發(fā)工具及版本:RT Thread Stdio最新版本,MDK5.25
RT-Thread使用情況概述
ART-Pi開發(fā)板作為交換機,使用的RT-Thread內(nèi)核未作修改,組件部分使用了finsh、SAL、LWIP、DFS、串口、Pin。
其中finsh和串口用于調(diào)試,LWIP作為AFDX協(xié)議層,SAL用于實現(xiàn)AFDX數(shù)據(jù)發(fā)送和接受。
硬件框架
硬件使用的是ART-PI開發(fā)板。
軟件框架說明
軟件模塊說明
軟件實現(xiàn)的關鍵點在于
1:AFDX協(xié)議內(nèi)容部分實現(xiàn), AFDX應用數(shù)據(jù)包括虛電路符和交換數(shù)據(jù);虛電路控制模塊VLcblk則包括基本控制信息,地址端口映射信息、配置信息等。
2:時間調(diào)度:端系統(tǒng)和交換機異步上電,各自都采用高精度的時鐘用于周期性計數(shù)0~24ms,交換機在讀取本地時間后發(fā)送給端系統(tǒng),端系統(tǒng)在接收到時間后本地同步,且在下次時間計數(shù)到來時,發(fā)送本地時間幀給交換機,交換機將收到的時間幀和本地做對比,只當時間計數(shù)保持一致后,才開始數(shù)據(jù)交換。
演示效果
同步失敗時,一直嘗試同步。
同步成功后打印接收的端系統(tǒng)數(shù)據(jù)
比賽感悟
本次比賽最大的收獲就是熟悉和實操了RTThread操作系統(tǒng)。第一次接觸到RTThread操作系統(tǒng)時,就被其配置的簡單所驚艷。menuconfig的配置方式更是將需要的外設、內(nèi)核等內(nèi)容圖形化顯示出來,方便了開發(fā)者的使用,不需要像其它RTOS那樣去代碼里手動改代碼。不經(jīng)感嘆,國產(chǎn)操作系統(tǒng)也能做到很出色的。
對于個人而言,本次比賽最大的收獲就是加深了對LWIP協(xié)議和SAL的理解。紙上得來終覺淺,絕知此事要躬行,以往看協(xié)議棧的書籍時,過于注重理論的理解,實際對于開發(fā)者而言,真正的實操是非常重要的。
最后感謝大賽組織方給了我們這次機會,也祝RTThread團隊將這款操作系統(tǒng)發(fā)揮更大的光和熱。