《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 民用無(wú)人機(jī)多通道數(shù)傳交換系統(tǒng)設(shè)計(jì)
民用無(wú)人機(jī)多通道數(shù)傳交換系統(tǒng)設(shè)計(jì)
2018年電子技術(shù)應(yīng)用第12期
盛 蔚,,黃偉杰
北京航空航天大學(xué) 儀器科學(xué)與光電工程學(xué)院,,北京100191
摘要: 民用無(wú)人機(jī)系統(tǒng)集成時(shí)需要滿(mǎn)足空地間多路串口設(shè)備的數(shù)據(jù)傳輸需求,,現(xiàn)有的主要方法是通過(guò)飛控和地面站轉(zhuǎn)發(fā)多路數(shù)據(jù),,但該方法存在數(shù)據(jù)傳輸效率低,、數(shù)據(jù)量大時(shí)容易發(fā)生通信阻塞等問(wèn)題,。設(shè)計(jì)了一種串口交換機(jī),,并通過(guò)專(zhuān)用的報(bào)文協(xié)議和基于RT-Thread實(shí)時(shí)操作系統(tǒng)的多線(xiàn)程通信程序,,實(shí)現(xiàn)高效的多通道數(shù)據(jù)交換傳輸功能;提出一種基于線(xiàn)程優(yōu)先級(jí)的優(yōu)先隊(duì)列調(diào)度實(shí)現(xiàn)方法,,確保高優(yōu)先級(jí)數(shù)據(jù)不因數(shù)據(jù)量大而發(fā)生通信阻塞問(wèn)題,,提高了系統(tǒng)的可靠性。測(cè)試結(jié)果表明,,該設(shè)計(jì)能實(shí)時(shí),、可靠地傳輸多通道數(shù)據(jù),滿(mǎn)足無(wú)人機(jī)系統(tǒng)數(shù)據(jù)傳輸需求,,具有重要的實(shí)際意義和應(yīng)用價(jià)值,。
中圖分類(lèi)號(hào): TP368.1
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.181311
中文引用格式: 盛蔚,黃偉杰. 民用無(wú)人機(jī)多通道數(shù)傳交換系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,,2018,,44(12):77-80,84.
英文引用格式: Sheng Wei,,Huang Weijie. Design of multi-channel data switch system for civil UAVs[J]. Application of Electronic Technique,,2018,44(12):77-80,,84.
Design of multi-channel data switch system for civil UAVs
Sheng Wei,,Huang Weijie
School of Instrumentation Science and Opto-eletronics Engineering, Beihang University,Beijing 100191,,China
Abstract: When the civil UAV system is integrated, it needs to meet the requirements of data transmission from multiple serial devices between the air and the ground. The existing main method is to forward multiple data by the Autopilot and ground control station, but this method has the problems of low efficiency and communication blocking happens when facing large amount of data. This paper designs a serial port switch, and realizes efficient multi-channel data transmission function through a dedicated message protocol and multi-thread communication program based on RT-Thread real-time operating system. A priority queue scheduling algorithm is implemented based on thread priority to ensure that high priority data will not be blocked due to large amount of data, improving system reliability. The test results show that the design can transmit multi-channel data in real time and reliably, which satisfies the data transmission requirements of the UAV system and has important practical significance and application value.
Key words : UAV,;multi-channel transmission;serial communication,;switch,;queue scheduling

0 引言

    民用無(wú)人機(jī)系統(tǒng)集成時(shí),,除了飛控需要與地面站通信外,部分機(jī)載設(shè)備也需要與地面系統(tǒng)的設(shè)備進(jìn)行通信,。如采用相對(duì)差分GPS技術(shù)來(lái)提高無(wú)人機(jī)導(dǎo)航精度時(shí),,地面端差分基站需要上傳差分導(dǎo)航電文給機(jī)載移動(dòng)站接收機(jī)[1];任務(wù)載荷需要與其配套的地面控制終端傳輸狀態(tài)與指令數(shù)據(jù)等,。如何解決空地多路設(shè)備的數(shù)據(jù)傳輸成為系統(tǒng)集成的關(guān)鍵問(wèn)題,。

    現(xiàn)有的解決方法主要包括:(1)采用多對(duì)數(shù)傳電臺(tái)或多通道電臺(tái)分別傳輸各路設(shè)備的數(shù)據(jù);(2)由飛控和地面站轉(zhuǎn)發(fā)多路數(shù)據(jù),,數(shù)據(jù)經(jīng)過(guò)一對(duì)電臺(tái)實(shí)現(xiàn)無(wú)線(xiàn)傳輸[2-3],。方法1體積重量增加,電磁兼容性差,,且成本高,。因此,方法2成為主要實(shí)現(xiàn)方法,。但由于飛控需要完成復(fù)雜的導(dǎo)航控制解算任務(wù),,處理器資源有限,造成數(shù)據(jù)傳輸效率低,,數(shù)據(jù)量大時(shí)容易發(fā)生數(shù)據(jù)阻塞的問(wèn)題,,影響無(wú)人機(jī)飛行安全。

    鑒于現(xiàn)有的無(wú)人機(jī)設(shè)備多采用串口通信方式,,且空地間的通信呈現(xiàn)交換局域網(wǎng)特性,,本文設(shè)計(jì)了一種應(yīng)用于無(wú)人機(jī)設(shè)備網(wǎng)絡(luò)的串口交換機(jī),通過(guò)專(zhuān)用的鏈路層報(bào)文協(xié)議和基于RT-Thread實(shí)時(shí)操作系統(tǒng)的多線(xiàn)程通信程序,,實(shí)現(xiàn)高效的多通道數(shù)據(jù)交換傳輸功能,;利用操作系統(tǒng)基于線(xiàn)程優(yōu)先級(jí)的內(nèi)核調(diào)度方法實(shí)現(xiàn)輸出端口的優(yōu)先級(jí)隊(duì)列調(diào)度功能,確保高優(yōu)先級(jí)數(shù)據(jù)不因數(shù)據(jù)量大而發(fā)生通信阻塞,,提高了交換傳輸系統(tǒng)的可靠性,。

1 系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)與工作原理

    一對(duì)串口交換機(jī)分別安裝在無(wú)人機(jī)系統(tǒng)的機(jī)載端和地面端,連接機(jī)載系統(tǒng)和地面系統(tǒng)的串口設(shè)備,,如圖1所示,。交換機(jī)端口分為1個(gè)節(jié)點(diǎn)端口和多個(gè)設(shè)備端口,節(jié)點(diǎn)端口連接數(shù)傳電臺(tái),,分時(shí)傳輸各設(shè)備的數(shù)據(jù),。在計(jì)算機(jī)網(wǎng)絡(luò)中,以太網(wǎng)交換機(jī)工作在OSI模型的數(shù)據(jù)鏈路層,,各端口接收到鏈路層的以太網(wǎng)數(shù)據(jù)幀后根據(jù)其中的目的MAC地址與端口地址映射表完成數(shù)據(jù)幀的轉(zhuǎn)發(fā)[4],。而在無(wú)人機(jī)設(shè)備網(wǎng)絡(luò)中,串口交換機(jī)接收到的是設(shè)備的應(yīng)用協(xié)議數(shù)據(jù)幀,,不包含任何網(wǎng)絡(luò)連接信息,,因此系統(tǒng)軟件為各設(shè)備端口分配唯一的端口地址,,并根據(jù)鏈路層的報(bào)文協(xié)議和端口參數(shù)為設(shè)備數(shù)據(jù)幀添加地址等鏈路層封裝,通過(guò)端口尋址轉(zhuǎn)發(fā)數(shù)據(jù),,在端口輸出時(shí)去除封裝,,實(shí)現(xiàn)各通道設(shè)備間虛連接的透?jìng)鞴δ堋.?dāng)出現(xiàn)多路數(shù)據(jù)同時(shí)訪(fǎng)問(wèn)節(jié)點(diǎn)端口時(shí),,則根據(jù)通道優(yōu)先級(jí)依次輸出各路數(shù)據(jù),,最終實(shí)現(xiàn)多通道數(shù)據(jù)的無(wú)線(xiàn)傳輸功能。

tx1-t1.gif

2 系統(tǒng)需求分析與硬件方案

    結(jié)合當(dāng)前應(yīng)用需求分析,,無(wú)人機(jī)空地?cái)?shù)據(jù)鏈包括飛控?cái)?shù)據(jù)鏈、差分導(dǎo)航電文數(shù)據(jù)鏈,、載荷數(shù)據(jù)鏈等,。因此,將串口交換機(jī)的端口數(shù)定為5個(gè),,分為1個(gè)節(jié)點(diǎn)端口和4個(gè)設(shè)備端口,,在實(shí)現(xiàn)常用的3通道數(shù)據(jù)傳輸?shù)幕A(chǔ)上預(yù)留1路給其他擴(kuò)展設(shè)備。

    串口交換機(jī)的硬件組成包括單片機(jī),、電平轉(zhuǎn)換芯片,、端口通信指示燈和開(kāi)關(guān)電源。單片機(jī)采用ST公司的STM32F405RGT6,,其內(nèi)核為ARM公司推出的Cotex-M4內(nèi)核,,運(yùn)行時(shí)鐘達(dá)168 MHz,總共有6個(gè)串口外設(shè),,具有1 MB的Flash和192 KB的RAM,,充足的運(yùn)行內(nèi)存為大容量通信提供足夠的緩沖區(qū),單個(gè)芯片即可滿(mǎn)足系統(tǒng)設(shè)計(jì)需求,。

    電平轉(zhuǎn)換芯片由MAX3232和MAX3490分別將COMS/TTL電平轉(zhuǎn)為常用的RS-232和RS-422串口電平,,以適應(yīng)不同接口的設(shè)備,如圖2所示,。通信指示燈則用于顯示各端口的數(shù)據(jù)收發(fā)狀態(tài),。

tx1-t2.gif

3 系統(tǒng)軟件設(shè)計(jì)

3.1 鏈路層報(bào)文協(xié)議設(shè)計(jì)

    為實(shí)現(xiàn)多路數(shù)據(jù)交換傳輸功能,首先定義了鏈路層報(bào)文交換協(xié)議,。借鑒IEEE802.3標(biāo)準(zhǔn)以太網(wǎng)幀格式定義[5],,并結(jié)合無(wú)人機(jī)串口設(shè)備網(wǎng)絡(luò)的特點(diǎn)和實(shí)際功能需求,設(shè)計(jì)了如表1所示的鏈路層報(bào)文協(xié)議,。

tx1-b1.gif

    相較于以太網(wǎng)幀格式,,上述定義的鏈路層報(bào)文協(xié)議存在以下特點(diǎn):

    (1)以太網(wǎng)數(shù)據(jù)幀最長(zhǎng)為1 500 B,串口交換機(jī)的報(bào)文幀長(zhǎng)由1 B表示,,最長(zhǎng)數(shù)據(jù)幀為255 B,,該長(zhǎng)度能夠滿(mǎn)足絕大部分的串口設(shè)備幀長(zhǎng),。對(duì)于超長(zhǎng)的數(shù)據(jù)幀,對(duì)其拆分成多個(gè)數(shù)據(jù)報(bào)文,,由報(bào)文序號(hào)表示報(bào)文之間的拼接順序,,避免超長(zhǎng)數(shù)據(jù)幀占用鏈路時(shí)間過(guò)長(zhǎng)而增加其他報(bào)文的等待延時(shí);

    (2)報(bào)文攜帶端口的優(yōu)先級(jí)信息,,在多個(gè)報(bào)文同時(shí)訪(fǎng)問(wèn)一個(gè)輸出端口時(shí)能夠?qū)崿F(xiàn)區(qū)分服務(wù)功能,,確保重要的設(shè)備數(shù)據(jù)優(yōu)先輸出;

    (3)協(xié)議除了用于數(shù)據(jù)通信外,,還可向交換機(jī)發(fā)送指令報(bào)文,,配置各個(gè)端口的優(yōu)先級(jí)和串口參數(shù)等,提高串口交換機(jī)應(yīng)用的靈活性,。

3.2 多線(xiàn)程通信程序設(shè)計(jì)

    串口交換機(jī)的嵌入式通信程序要求能夠?qū)崟r(shí)處理5個(gè)串口外設(shè)的數(shù)據(jù)收發(fā),,同時(shí)還要完成各設(shè)備端口數(shù)據(jù)的鏈路層協(xié)議封裝、轉(zhuǎn)發(fā),、解封和端口輸出調(diào)度等任務(wù),。采用傳統(tǒng)單片機(jī)順序執(zhí)行的程序設(shè)計(jì)方法難以實(shí)現(xiàn)多個(gè)端口高效、實(shí)時(shí)的數(shù)據(jù)交換傳輸功能,。

    本文在串口交換機(jī)的STM32處理器上移植了嵌入式實(shí)時(shí)操作系統(tǒng)RT-Thread[6-7],,利用操作系統(tǒng)的多線(xiàn)程編程模型與運(yùn)行機(jī)制實(shí)現(xiàn)各端口通信程序模塊化編程和獨(dú)立運(yùn)行。利用系統(tǒng)提供的信號(hào)量,、消息隊(duì)列等線(xiàn)程同步和通信對(duì)象實(shí)現(xiàn)各端口收發(fā)線(xiàn)程的同步與數(shù)據(jù)交換功能,,極大地提高了程序設(shè)計(jì)的效率。

    首先,,為了應(yīng)對(duì)多串口并發(fā)傳輸數(shù)據(jù)的通信壓力,,軟件底層設(shè)計(jì)了DMA傳輸和接收空閑中斷的串口驅(qū)動(dòng)程序。端口接收設(shè)備的數(shù)據(jù)時(shí),,DMA控制器自動(dòng)將數(shù)據(jù)存入底層接收緩沖區(qū),。當(dāng)數(shù)據(jù)幀結(jié)束時(shí),串口產(chǎn)生空閑中斷,,在中斷服務(wù)函數(shù)中計(jì)算接收數(shù)據(jù)長(zhǎng)度,,并釋放信號(hào)量通知上層的應(yīng)用程序讀取數(shù)據(jù)。在發(fā)送數(shù)據(jù)時(shí),,直接將發(fā)送緩沖區(qū)的首地址和數(shù)據(jù)長(zhǎng)度賦值給DMA控制器后,,便掛起釋放CPU資源,底層由硬件自動(dòng)執(zhí)行串口發(fā)送,。該方法與常用的單字節(jié)接收中斷方法相比,,極大地減少數(shù)據(jù)接收的中斷頻率,接收線(xiàn)程可在底層接收完一幀數(shù)據(jù)后才喚醒一次,統(tǒng)一對(duì)接收緩沖區(qū)的數(shù)據(jù)進(jìn)行處理,,提高了數(shù)據(jù)傳輸效率和系統(tǒng)可靠性,。

    上層應(yīng)用程序分別為每個(gè)端口創(chuàng)建接收處理線(xiàn)程和發(fā)送線(xiàn)程,由系統(tǒng)內(nèi)核根據(jù)線(xiàn)程狀態(tài)和線(xiàn)程優(yōu)先級(jí)調(diào)度執(zhí)行,,達(dá)到并發(fā)運(yùn)行的效果,。端口接收線(xiàn)程的執(zhí)行流程如圖3所示,首先讀取底層接收FIFO的數(shù)據(jù),。對(duì)于4個(gè)設(shè)備端口,,對(duì)讀取的數(shù)據(jù)執(zhí)行透?jìng)魈幚恚醋x取端口目的地址等參數(shù)后對(duì)數(shù)據(jù)幀添加鏈路層協(xié)議封裝,,形成鏈路層報(bào)文數(shù)據(jù),,最后通過(guò)操作系統(tǒng)提供的消息隊(duì)列將報(bào)文數(shù)據(jù)轉(zhuǎn)發(fā)到節(jié)點(diǎn)端口的發(fā)送線(xiàn)程。對(duì)于節(jié)點(diǎn)端口,,其接收電臺(tái)發(fā)送過(guò)來(lái)的鏈路層報(bào)文數(shù)據(jù),,需要對(duì)報(bào)文進(jìn)行傳輸校驗(yàn),校驗(yàn)通過(guò)后按照?qǐng)?bào)文的目的端口信息將報(bào)文轉(zhuǎn)發(fā)到目的端口的發(fā)送線(xiàn)程,。

tx1-t3.gif

    設(shè)備端口的發(fā)送線(xiàn)程在等待消息隊(duì)列的報(bào)文數(shù)據(jù)時(shí)處于掛起狀態(tài)。在獲得節(jié)點(diǎn)接收線(xiàn)程轉(zhuǎn)發(fā)過(guò)來(lái)的報(bào)文數(shù)據(jù)后,,發(fā)送線(xiàn)程以高于接收線(xiàn)程的優(yōu)先級(jí)搶占CPU,,讀取隊(duì)列中報(bào)文數(shù)據(jù)并根據(jù)鏈路層的報(bào)文協(xié)議去除封裝,提取數(shù)據(jù)內(nèi)容,,執(zhí)行DMA發(fā)送,,最后釋放CPU。該過(guò)程流程簡(jiǎn)單,,占用CPU時(shí)間少,,使消息隊(duì)列中的報(bào)文及時(shí)輸出,避免隊(duì)列溢出,。

3.3 基于線(xiàn)程優(yōu)先級(jí)的優(yōu)先隊(duì)列調(diào)度實(shí)現(xiàn)方法

    交換機(jī)連接電臺(tái)的節(jié)點(diǎn)端口任意時(shí)刻只能傳輸一個(gè)報(bào)文數(shù)據(jù),,當(dāng)多路報(bào)文同時(shí)訪(fǎng)問(wèn)時(shí),須在輸出隊(duì)列中排隊(duì)等待,。不同數(shù)傳電臺(tái)的傳輸速率不同,,造成后續(xù)報(bào)文排隊(duì)等待延時(shí)難以確定。設(shè)備增多,,數(shù)據(jù)量變大時(shí)容易發(fā)生通信阻塞和緩沖區(qū)溢出的問(wèn)題,。

    考慮到不同的設(shè)備數(shù)據(jù)對(duì)實(shí)時(shí)性要求和無(wú)人機(jī)安全飛行的重要程度不同。為了確保無(wú)人機(jī)飛行安全,,本文采用的策略是對(duì)端口進(jìn)行優(yōu)先級(jí)定義,,形成不同優(yōu)先級(jí)的報(bào)文,并確保最高優(yōu)先級(jí)的數(shù)據(jù)充分享有電臺(tái)的傳輸帶寬,不發(fā)生通信阻塞,。一種易于實(shí)現(xiàn)的方法是嚴(yán)格優(yōu)先級(jí)隊(duì)列調(diào)度算法(Strict Priority,,SP)[8],該算法的原理是在節(jié)點(diǎn)輸出端口設(shè)計(jì)一個(gè)隊(duì)列調(diào)度器和多級(jí)輸出緩沖隊(duì)列,,如圖4所示,。隊(duì)列調(diào)度器每次發(fā)送報(bào)文數(shù)據(jù)時(shí),先發(fā)送最高優(yōu)先級(jí)隊(duì)列的報(bào)文數(shù)據(jù),,只有在最高優(yōu)先級(jí)隊(duì)列中無(wú)報(bào)文數(shù)據(jù)后,,才從次優(yōu)先級(jí)中選擇報(bào)文發(fā)送,以此類(lèi)推,。

tx1-t4.gif

    通過(guò)分析比較,,SP調(diào)度算法對(duì)隊(duì)列的調(diào)度策略與嵌入式實(shí)時(shí)操作系統(tǒng)內(nèi)核基于線(xiàn)程優(yōu)先級(jí)的調(diào)度策略[9]相似,因此采用線(xiàn)程優(yōu)先級(jí)的調(diào)度方法可快速實(shí)現(xiàn)SP隊(duì)列調(diào)度算法,。具體實(shí)現(xiàn)方法是為圖4中的每個(gè)隊(duì)列創(chuàng)建一個(gè)發(fā)送線(xiàn)程,,即將原來(lái)節(jié)點(diǎn)端口的1個(gè)發(fā)送線(xiàn)程擴(kuò)展為4個(gè),線(xiàn)程的優(yōu)先級(jí)順序按照端口優(yōu)先級(jí)排序,,且均高于其他端口線(xiàn)程的優(yōu)先級(jí),。每個(gè)發(fā)送線(xiàn)程對(duì)應(yīng)一個(gè)長(zhǎng)度為20條消息的消息隊(duì)列,用于緩存待調(diào)度輸出的報(bào)文數(shù)據(jù),。在只有一個(gè)發(fā)送線(xiàn)程的消息隊(duì)列收到報(bào)文時(shí),,內(nèi)核直接調(diào)度執(zhí)行串口發(fā)送。當(dāng)多個(gè)發(fā)送線(xiàn)程同時(shí)處于就緒態(tài)時(shí),,內(nèi)核根據(jù)線(xiàn)程優(yōu)先級(jí)先執(zhí)行高優(yōu)先級(jí)的發(fā)送線(xiàn)程,,發(fā)送完成后進(jìn)行下一次調(diào)度,每次調(diào)度都從就緒態(tài)中最高優(yōu)先級(jí)的發(fā)送線(xiàn)程開(kāi)始,。

    線(xiàn)程調(diào)度與隊(duì)列調(diào)度的一個(gè)區(qū)別在于內(nèi)核對(duì)線(xiàn)程實(shí)行全搶占式的調(diào)度方法,,即高優(yōu)先級(jí)的線(xiàn)程能夠搶占低優(yōu)先級(jí)線(xiàn)程的執(zhí)行。為了避免高優(yōu)先級(jí)發(fā)送線(xiàn)程搶占發(fā)送數(shù)據(jù),,造成前一報(bào)文傳輸失敗,,需在節(jié)點(diǎn)端口4個(gè)發(fā)送線(xiàn)程之間添加發(fā)送互斥鎖同步對(duì)象,使高優(yōu)先級(jí)的發(fā)送線(xiàn)程在收到報(bào)文后仍須等待當(dāng)前發(fā)送完成并釋放互斥鎖,,才獲得執(zhí)行,。

    通過(guò)上述方法,原有的隊(duì)列調(diào)度工作轉(zhuǎn)換為內(nèi)核對(duì)線(xiàn)程的調(diào)度工作,,無(wú)需設(shè)計(jì)隊(duì)列調(diào)度器程序,,由穩(wěn)定的系統(tǒng)內(nèi)核實(shí)現(xiàn)相同的功能,提高了運(yùn)行的可靠性,,確保了高優(yōu)先級(jí)設(shè)備數(shù)據(jù)不因數(shù)據(jù)量大而發(fā)生通信阻塞,,進(jìn)一步提高了無(wú)人機(jī)系統(tǒng)多路數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

4 系統(tǒng)測(cè)試結(jié)果與分析

    為了測(cè)試驗(yàn)證系統(tǒng)軟件,排除電臺(tái)無(wú)線(xiàn)傳輸誤碼造成的報(bào)文丟失,測(cè)試時(shí)采用有線(xiàn)的方式連接一對(duì)串口交換機(jī)的兩個(gè)節(jié)點(diǎn)端口,,節(jié)點(diǎn)端口的波特率設(shè)置為115 200 b/s,。通過(guò)串口助手模擬設(shè)備通信,測(cè)試內(nèi)容分為2項(xiàng):

    (1)測(cè)試各通道在不同波特率,、不同數(shù)據(jù)頻率下數(shù)據(jù)傳輸?shù)耐暾院蛯?shí)時(shí)性,。由兩個(gè)串口助手分別在傳輸通道的兩端,雙向同時(shí)發(fā)送字符串消息,。測(cè)試結(jié)果表明,,各通道獨(dú)立工作時(shí)均能完整、實(shí)時(shí)地傳輸數(shù)據(jù),。

    (2)測(cè)試在不同數(shù)據(jù)頻率下4個(gè)通道并發(fā)傳輸數(shù)據(jù)時(shí)各通道數(shù)據(jù)的傳輸完整率,。首先按端口序號(hào)定義4個(gè)設(shè)備端口的優(yōu)先級(jí),數(shù)值越小優(yōu)先級(jí)越高,,波特率統(tǒng)一配置為115 200 b/s,。串口助手軟件同時(shí)向交換機(jī)的4個(gè)設(shè)備端口發(fā)送幀長(zhǎng)為50 B的數(shù)據(jù),發(fā)送頻率為50~100 Hz,,以10 Hz遞增,,各頻率下通信10 min,統(tǒng)計(jì)每個(gè)頻率下4個(gè)通道接收字節(jié)數(shù)占發(fā)送字節(jié)數(shù)的百分比,,結(jié)果如圖5所示,。

tx1-t5.gif

    在60 Hz頻率下,總的數(shù)據(jù)輸入速率為12 000 B/s,,由于緩沖區(qū)的存在,即使略大于節(jié)點(diǎn)的輸出速率11 520 B/s,,短時(shí)間內(nèi)仍然能夠完整地傳輸4個(gè)通道的數(shù)據(jù),,只存在少量誤碼丟包。當(dāng)數(shù)據(jù)頻率達(dá)到70 Hz時(shí),,輸入速率已經(jīng)大大超過(guò)節(jié)點(diǎn)輸出速率,,此時(shí)最低優(yōu)先級(jí)的COM4端口數(shù)據(jù)開(kāi)始得不到傳輸,COM3端口只傳輸了67.8%,,而高優(yōu)先級(jí)的COM1,、COM2仍然能夠得到完整的傳輸。繼續(xù)增加發(fā)送頻率,,COM3的傳輸率繼續(xù)下降,,但仍然不影響高優(yōu)先級(jí)的兩個(gè)端口。測(cè)試結(jié)果說(shuō)明基于線(xiàn)程優(yōu)先級(jí)的SP隊(duì)列調(diào)度實(shí)現(xiàn)方法有效,。

5 結(jié)論

    本文針對(duì)當(dāng)前民用無(wú)人機(jī)系統(tǒng)集成時(shí)出現(xiàn)的空地多路設(shè)備傳輸需求,,將計(jì)算機(jī)局域網(wǎng)中以太網(wǎng)交換機(jī)的原理應(yīng)用于無(wú)人機(jī)系統(tǒng)串口設(shè)備網(wǎng)絡(luò),設(shè)計(jì)了多串口交換機(jī)。通過(guò)專(zhuān)用的鏈路層協(xié)議和高效的多線(xiàn)程通信程序,,實(shí)現(xiàn)了空地多通道數(shù)傳交換功能,,并實(shí)現(xiàn)了端口的區(qū)分服務(wù),確保高優(yōu)先級(jí)數(shù)據(jù)的可靠傳輸,,保障無(wú)人機(jī)飛行安全,。該設(shè)計(jì)簡(jiǎn)化了系統(tǒng)集成工作,降低了系統(tǒng)成本,,對(duì)推動(dòng)無(wú)人機(jī)在各領(lǐng)域的應(yīng)用具有重要意義,。

參考文獻(xiàn)

[1] 張曉毅,韋高.基于Novatel DL-V3接收機(jī)的相對(duì)差分定位技術(shù)研究[J].彈箭與制導(dǎo)學(xué)報(bào),,2008(4):266-268,,271.

[2] 陳青松,李平,,韓波,,等.多路串行通信在微型無(wú)人機(jī)飛控計(jì)算機(jī)中的設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)電工程,2006(4):57-61.

[3] 余國(guó)林,,陳繼平,,余濤,等.無(wú)人機(jī)航空遙感平臺(tái)機(jī)載作業(yè)控制系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),,2012,,35(4):132-135.

[4] 呂斌.交換機(jī)原理及應(yīng)用[J].電腦知識(shí)與技術(shù),2009,,5(10):2557-2558,,2563.

[5] 郭曉宇.基于IEEE802.3標(biāo)準(zhǔn)的以太網(wǎng)數(shù)據(jù)幀格式的封裝實(shí)現(xiàn)[D].北京:北京交通大學(xué),2008.

[6] 朱傳宏,,張麗全.嵌入式實(shí)時(shí)操作系統(tǒng)RT-Thread在SEP-4020上的移植[J].計(jì)算機(jī)與數(shù)字工程,,2010,38(11):93-96.

[7] 邱祎.嵌入式實(shí)時(shí)操作系統(tǒng)RT-Thread的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),,2007.

[8] 魏艷艷,,孟李林.高速分組交換網(wǎng)絡(luò)中調(diào)度器的設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012,,22(1):25-28.

[9] 郭楊,,王新社.嵌入式操作系統(tǒng)的硬實(shí)時(shí)微內(nèi)核設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2008(1):115-118.



作者信息:

盛  蔚,,黃偉杰

(北京航空航天大學(xué) 儀器科學(xué)與光電工程學(xué)院,,北京100191)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。