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