文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2015.09.010
中文引用格式: 茹偉,張軍才,,趙臘才. 基于單片機(jī)的機(jī)載千兆交換機(jī)系統(tǒng)設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,,2015,41(9):39-41.
英文引用格式: Ru Wei,,Zhang Juncai,,Zhao Lacai. Design and implementation of airborne gigabit switch system based on micro control unit[J].Application of Electronic Technique,2015,,41(9):39-41.
0 引言
隨著A380,、B787等大型民用飛機(jī)的出現(xiàn),為滿足乘客旅途及舒適度要求而逐步提供了機(jī)上休閑及娛樂功能,,當(dāng)乘客娛樂功能及數(shù)據(jù)迅速發(fā)展而帶來大量數(shù)據(jù)傳輸,,傳統(tǒng)的AFDX網(wǎng)絡(luò)100 Mb/s傳輸帶寬已不適應(yīng)大量數(shù)據(jù)傳輸,基于IEEE802.3ah協(xié)議的EPON技術(shù)及基于時間觸發(fā)以太網(wǎng)的TTE技術(shù)都具有更高的傳輸速率[1],。
目前,,嵌入式技術(shù)已在機(jī)載軟件[2]、物聯(lián)網(wǎng)[3]等方面廣泛應(yīng)用,,傳統(tǒng)的面向過程開發(fā)方法已不適應(yīng)當(dāng)前嵌入式軟件的大規(guī)模,、高復(fù)雜的需求,面向?qū)ο?/a>設(shè)計技術(shù)采用封裝,、繼承等抽象機(jī)制降低了系統(tǒng)復(fù)雜性,,在嵌入式軟件的開發(fā)過程過中用來提高軟件的可重用性、可擴(kuò)展性[4],。本文設(shè)計了一種基于單片機(jī)的嵌入式千兆交換機(jī)系統(tǒng),,實現(xiàn)對交換機(jī)進(jìn)行配置以及自測試,,從而實現(xiàn)飛機(jī)娛樂系統(tǒng)對大量數(shù)據(jù)傳輸?shù)囊?。采用面向?qū)ο蟮腢ML開發(fā)技術(shù)[5],,使嵌入式開發(fā)后軟件具有可移植性及良好擴(kuò)展性。
1 機(jī)載千兆交換機(jī)系統(tǒng)總體設(shè)計
機(jī)載交換機(jī)系統(tǒng)需根據(jù)外部ID1~ID3離散量的不同配置,,實現(xiàn)交換機(jī)的不同工作模式配置,,并通過CPCI對外提供20路千兆以太網(wǎng);同時需周期性對交換機(jī)進(jìn)行自測試,,將測試結(jié)果通過串口輸出,。
根據(jù)交換機(jī)系統(tǒng)需求,本文設(shè)計了一種機(jī)載交換機(jī)系統(tǒng),。通過單片機(jī)實現(xiàn)交換機(jī)不同工作模式的配置和自測試(BIT),,實現(xiàn)對外提供20路千兆以太網(wǎng)。交換機(jī)選用Broadcom公司的一款二層9 口千兆以太網(wǎng)交換芯片BCM53118[6],,芯片符合IEEE 802.3規(guī)范,,8路10/100/1 000 Mb/s自適應(yīng)以太網(wǎng)口,對交換機(jī)進(jìn)行讀寫操作可通過SPI總線,;同時此交換機(jī)有下電控制寄存器,,可實現(xiàn)異常狀態(tài)下低功耗工作要求。
根據(jù)系統(tǒng)需求及嵌入式軟件存儲要求,,單片機(jī)程序存儲空間應(yīng)不低于128 KB的Flash,,輸出測試結(jié)果的串口不少于1路,對交換機(jī)讀寫操作的SPI不少于1路,,BIT測試觸發(fā)的定時器不少于1個,,GPIO不少于3個,同時單片機(jī)應(yīng)有支持調(diào)試接口的JTAG,。
根據(jù)上述要求,,單片機(jī)采用TI的TM4C1231H6PGE[7](簡稱TM4C)。TM4C是一款基于Cortex-M4F的處理器,、具有256 KB的Flash,、32 KB的SRAM、8路串口UART,、4路SPI,、多個定時器、1個JTAG口,。機(jī)載千兆交換機(jī)系統(tǒng)硬件設(shè)計如圖1所示,。
圖1中,根據(jù)ID1~ID3離散量的不同值,,實現(xiàn)交換機(jī)3種不同工作模式,,即:(1)3個交換機(jī)獨立工作,此時SW2的Port5與SW1的Port5,、SW2的Port6與SW3的Port6斷開,;(2)3個交換機(jī)級聯(lián)工作,,此時SW2的Port5與SW1的Port5、SW2的Port6與SW3的Port6連接,;(3)3個交換機(jī)靜默工作,,即3個交換機(jī)下電。
2 機(jī)載千兆交換機(jī)系統(tǒng)軟件總體設(shè)計
2.1 軟件靜態(tài)模型
按照機(jī)載千兆交換機(jī)系統(tǒng)要求,,軟件功能劃分為初始化,、交換機(jī)配置、BIT測試,、總線接口,。為實現(xiàn)嵌入式交換機(jī)系統(tǒng)軟件的移植性、擴(kuò)展性,,本文采用基于UML的面向?qū)ο笤O(shè)計方法,。交換機(jī)系統(tǒng)的靜態(tài)模型如圖2。類Sw_Config實現(xiàn)交換機(jī)配置功能,;類BIT實現(xiàn)對交換機(jī)硬件檢測,、交換機(jī)狀態(tài)的檢測結(jié)果輸出;類Timer實現(xiàn)整個軟件中精確定時事件觸發(fā),;類UART實現(xiàn)通過串口收發(fā)數(shù)據(jù),;類SPI實現(xiàn)單片機(jī)對交換機(jī)的讀寫操作;類Initialization實現(xiàn)對定時器,、SPI,、UART的初始化配置。
2.2 軟件流程圖
機(jī)載交換機(jī)系統(tǒng)軟件的運行流程如圖3,。首先對所需要使用的資源進(jìn)行初始化,,包括定時器、串口,、SPI,,當(dāng)初始化成功后讀取ID1~ID3離散量,根據(jù)不同離散量值完成對交換機(jī)的配置,;周期執(zhí)行BIT測試,,在BIT檢測結(jié)果無故障后通過串口將測試結(jié)果輸出。在初始化失敗或者周期執(zhí)行BIT測試時交換機(jī)有故障,,則立即停止運行,。
2.3 軟件設(shè)計
2.3.1 Initialization
初始化是交換機(jī)系統(tǒng)軟件的入口,其主要功能如下:(1)完成UART的初始化,,包括波特率,、數(shù)據(jù)位、奇偶校驗、停止位,;(2)完成SPI的初始化,;(3)完成Timer初始化,包括定時器工作模式,、定時器分辨率等。
2.3.2 Sw_Config
Sw_Config主要功能為:(1)ID1,、ID2,、ID3離散量值的獲取,;(2)實現(xiàn)對交換機(jī)不同工作模式的配置,。
系統(tǒng)上電后,單片機(jī)首先讀取外部ID1~ID3的離散量值,,然后根據(jù)離散量值對交換機(jī)進(jìn)行工作模式配置,,即當(dāng)離散量ID1、1D2,、ID3的取值為001b時,,交換機(jī)配置為獨立工作模式;當(dāng)離散量ID1,、DI2,、ID3的取值為010b時,交換機(jī)配置為級聯(lián)工作模式,;當(dāng)ID1,、DI2、ID3的取值為其他時,,交換機(jī)配置模式為下電模式,。
2.3.3 BIT
機(jī)載交換機(jī)系統(tǒng)周期性BIT測試交換機(jī)硬件、交換機(jī)端口連接狀態(tài),。交換機(jī)硬件的檢測內(nèi)容是交換機(jī)是否有故障,,交換機(jī)端口連接狀態(tài)內(nèi)容包含端口狀態(tài)(Up/Down)、端口速度(10 Mb/s,、100 Mb/s,、1 000 Mb/s)、傳輸方式(Full-Duplex/Half-Duplex),。在進(jìn)行周期性BIT時,,檢測到任一交換機(jī)故障,則軟件終止運行,。
2.3.4 UART/SPI/TIMER
UART類實現(xiàn)串口收發(fā)數(shù)據(jù),,周期性BIT測試結(jié)果無故障后輸出測試結(jié)果。
SPI類實現(xiàn)單片機(jī)對交換機(jī)的讀寫操作,,SPI類包含SPI的讀寫操作,。
Timer實現(xiàn)整個交換機(jī)系統(tǒng)的精確定時,,當(dāng)定時周期到時,完成周期性BIT測試,。
3 機(jī)載千兆交換機(jī)系統(tǒng)實現(xiàn)
根據(jù)上述基于單片機(jī)嵌入式千兆交換機(jī)系統(tǒng)硬件平臺及軟件設(shè)計,,軟件在Keil 4.5.3開發(fā)環(huán)境上完成開發(fā),并通過J-LINK仿真器將程序下載到單片機(jī)上,。通過串口調(diào)試助手,,對以下3種情形的實現(xiàn)進(jìn)行驗證。
(1)BIT測試結(jié)果無故障,,離散量ID1,、1D2、ID3的取值為001b時,,交換機(jī)配置為獨立工作模式——模式1,。當(dāng)SW1/SW2/SW3的Port7分別連接到PC上,實現(xiàn)驗證結(jié)果如圖4所示,。
(2)BIT測試結(jié)果無故障,,散量ID1、DI2,、ID3的取值為010b時,,交換機(jī)配置為級聯(lián)工作模式——模式2。當(dāng)SW1的Port7連接到PC時,,實現(xiàn)驗證結(jié)果如圖5所示,。
(3)BIT測試結(jié)果無故障,離散量ID1,、1D2,、ID3的取值為非001b/010b時,交換機(jī)配置為靜默工作模式——模式3,,此時所有的交換機(jī)任何時候均處于down(非連接)狀態(tài),。實現(xiàn)驗證結(jié)果如圖6所示。
(4)BIT測試結(jié)果有故障,,SW1/SW2/SW3實現(xiàn)驗證結(jié)果與圖6一致,,即任何時候均處于down(非連接)狀態(tài)。
4 結(jié)束語
本文設(shè)計了一種基于單片機(jī)的嵌入式千兆交換機(jī)系統(tǒng)硬件平臺及軟件,,根據(jù)外部離散量實現(xiàn)交換機(jī)不同工作模式的配置,,實現(xiàn)了交換機(jī)的BIT測試功能。
采用基于UML的面向?qū)ο笤O(shè)計方法,,使得低層驅(qū)動獨立而不依賴硬件平臺,,上層應(yīng)用具有良好的移植性。機(jī)載交換機(jī)系統(tǒng)軟件已在不同的單片機(jī)平臺上測試運行,均表明功能正常,,滿足移植性,、擴(kuò)展性要求。本文對機(jī)載交換機(jī)進(jìn)行自測試,,可以有效地實現(xiàn)交換機(jī)健康管理,,為故障診斷、維護(hù)測試的研究進(jìn)行了一些探索,。
參考文獻(xiàn)
[1] 徐科華,,陳謀,徐揚,,等.民用飛機(jī)機(jī)載電子系統(tǒng)分布式體系架構(gòu)研究[J].工程設(shè)計學(xué)報,,2012,,19(6):494-498.
[2] 黃志球,,徐丙鳳,闞雙龍,,等.嵌入式機(jī)載軟件安全性分析標(biāo)準(zhǔn),、方法及工具研究綜述[J].軟件學(xué)報,2012,,25(2):200-218.
[3] 張鋒,,劉美.基于嵌入式與物聯(lián)網(wǎng)技術(shù)的城市綠化在線監(jiān)控系統(tǒng)[J].電子技術(shù)應(yīng)用,2014,,40(7):13-16,,20.
[4] 王道乾,張楊.基于UML的嵌入式系統(tǒng)模型設(shè)計[J].計算機(jī)科學(xué),,2006,,33(11):293-295.
[5] 車葵,程保中,,牛曉太,,等.UML在嵌入式系統(tǒng)開發(fā)中的研究與應(yīng)用[J].計算機(jī)工程與設(shè)計,2009,,30(15):3559-3564.
[6] Broadcom Corporation.BCM53118 datasheet[Z].2009.
[7] Texas Instruments Incorporated. Stellaris TM4C1231H6PGE,,Microcontroller datasheet[Z].2011.