《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的機(jī)載千兆交換機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于單片機(jī)的機(jī)載千兆交換機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
茹 偉,張軍才,趙臘才
(中航工業(yè)西安航空計(jì)算技術(shù)研究所,陜西 西安710068)
摘要: 針對(duì)機(jī)載千兆交換機(jī)系統(tǒng)配置與自測(cè)試(BIT)要求,設(shè)計(jì)了一種基于單片機(jī)的嵌入式交換機(jī)系統(tǒng)。針對(duì)軟件的移植性、擴(kuò)展性要求,采用基于UML的面向?qū)ο笤O(shè)計(jì)方法,建立了軟件的靜態(tài)模型,給出了軟件運(yùn)行流程圖及設(shè)計(jì)。通過(guò)在單片機(jī)平臺(tái)上實(shí)現(xiàn),表明硬件功能正常,軟件能實(shí)現(xiàn)交換機(jī)系統(tǒng)的配置與自測(cè)試
中圖分類(lèi)號(hào): TP302.1
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2015.09.010

中文引用格式: 茹偉,張軍才,趙臘才. 基于單片機(jī)的機(jī)載千兆交換機(jī)系統(tǒng)設(shè)計(jì)與實(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.
Design and implementation of airborne gigabit switch system based on micro control unit
Ru Wei,Zhang Juncai,Zhao Lacai
Aeronautical Computing Technique Research Institute,Xi′an 710068,China
Abstract: Forcusing on the requirement of airborne gigabit switch system configuration and Build-In-Test(BIT), a kind of embedded gigabit switch system is designed based on micro control unit(MCU). Focusing on requirement of software portability and scalability, object-oriented design based on unified modeling language(UML) is adopted, static model of software is established,and software flow char and design are given. Via design and implementation on the MCU platform, the hardware function is normal,and the software can well implement the configuration and BIT for switch system.
Key words : embedded system;switch;MCU;object-oriented

  

0 引言

  隨著A380、B787等大型民用飛機(jī)的出現(xiàn),為滿(mǎn)足乘客旅途及舒適度要求而逐步提供了機(jī)上休閑及娛樂(lè)功能,當(dāng)乘客娛樂(lè)功能及數(shù)據(jù)迅速發(fā)展而帶來(lái)大量數(shù)據(jù)傳輸,傳統(tǒng)的AFDX網(wǎng)絡(luò)100 Mb/s傳輸帶寬已不適應(yīng)大量數(shù)據(jù)傳輸,基于IEEE802.3ah協(xié)議的EPON技術(shù)及基于時(shí)間觸發(fā)以太網(wǎng)的TTE技術(shù)都具有更高的傳輸速率[1]。

  目前,嵌入式技術(shù)已在機(jī)載軟件[2]、物聯(lián)網(wǎng)[3]等方面廣泛應(yīng)用,傳統(tǒng)的面向過(guò)程開(kāi)發(fā)方法已不適應(yīng)當(dāng)前嵌入式軟件的大規(guī)模、高復(fù)雜的需求,面向?qū)ο?/a>設(shè)計(jì)技術(shù)采用封裝、繼承等抽象機(jī)制降低了系統(tǒng)復(fù)雜性,在嵌入式軟件的開(kāi)發(fā)過(guò)程過(guò)中用來(lái)提高軟件的可重用性、可擴(kuò)展性[4]。本文設(shè)計(jì)了一種基于單片機(jī)的嵌入式千兆交換機(jī)系統(tǒng),實(shí)現(xiàn)對(duì)交換機(jī)進(jìn)行配置以及自測(cè)試,從而實(shí)現(xiàn)飛機(jī)娛樂(lè)系統(tǒng)對(duì)大量數(shù)據(jù)傳輸?shù)囊?。采用面向?qū)ο蟮腢ML開(kāi)發(fā)技術(shù)[5],使嵌入式開(kāi)發(fā)后軟件具有可移植性及良好擴(kuò)展性。

1 機(jī)載千兆交換機(jī)系統(tǒng)總體設(shè)計(jì)

  機(jī)載交換機(jī)系統(tǒng)需根據(jù)外部ID1~ID3離散量的不同配置,實(shí)現(xiàn)交換機(jī)的不同工作模式配置,并通過(guò)CPCI對(duì)外提供20路千兆以太網(wǎng);同時(shí)需周期性對(duì)交換機(jī)進(jìn)行自測(cè)試,將測(cè)試結(jié)果通過(guò)串口輸出。

  根據(jù)交換機(jī)系統(tǒng)需求,本文設(shè)計(jì)了一種機(jī)載交換機(jī)系統(tǒng)。通過(guò)單片機(jī)實(shí)現(xiàn)交換機(jī)不同工作模式的配置和自測(cè)試(BIT),實(shí)現(xiàn)對(duì)外提供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)口,對(duì)交換機(jī)進(jìn)行讀寫(xiě)操作可通過(guò)SPI總線;同時(shí)此交換機(jī)有下電控制寄存器,可實(shí)現(xiàn)異常狀態(tài)下低功耗工作要求。

  根據(jù)系統(tǒng)需求及嵌入式軟件存儲(chǔ)要求,單片機(jī)程序存儲(chǔ)空間應(yīng)不低于128 KB的Flash,輸出測(cè)試結(jié)果的串口不少于1路,對(duì)交換機(jī)讀寫(xiě)操作的SPI不少于1路,BIT測(cè)試觸發(fā)的定時(shí)器不少于1個(gè),GPIO不少于3個(gè),同時(shí)單片機(jī)應(yīng)有支持調(diào)試接口的JTAG。

  根據(jù)上述要求,單片機(jī)采用TI的TM4C1231H6PGE[7](簡(jiǎn)稱(chēng)TM4C)。TM4C是一款基于Cortex-M4F的處理器、具有256 KB的Flash、32 KB的SRAM、8路串口UART、4路SPI、多個(gè)定時(shí)器、1個(gè)JTAG口。機(jī)載千兆交換機(jī)系統(tǒng)硬件設(shè)計(jì)如圖1所示。

001.jpg

  圖1中,根據(jù)ID1~ID3離散量的不同值,實(shí)現(xiàn)交換機(jī)3種不同工作模式,即:(1)3個(gè)交換機(jī)獨(dú)立工作,此時(shí)SW2的Port5與SW1的Port5、SW2的Port6與SW3的Port6斷開(kāi);(2)3個(gè)交換機(jī)級(jí)聯(lián)工作,此時(shí)SW2的Port5與SW1的Port5、SW2的Port6與SW3的Port6連接;(3)3個(gè)交換機(jī)靜默工作,即3個(gè)交換機(jī)下電。

2 機(jī)載千兆交換機(jī)系統(tǒng)軟件總體設(shè)計(jì)

  2.1 軟件靜態(tài)模型


002.jpg

  按照機(jī)載千兆交換機(jī)系統(tǒng)要求,軟件功能劃分為初始化、交換機(jī)配置、BIT測(cè)試、總線接口。為實(shí)現(xiàn)嵌入式交換機(jī)系統(tǒng)軟件的移植性、擴(kuò)展性,本文采用基于UML的面向?qū)ο笤O(shè)計(jì)方法。交換機(jī)系統(tǒng)的靜態(tài)模型如圖2。類(lèi)Sw_Config實(shí)現(xiàn)交換機(jī)配置功能;類(lèi)BIT實(shí)現(xiàn)對(duì)交換機(jī)硬件檢測(cè)、交換機(jī)狀態(tài)的檢測(cè)結(jié)果輸出;類(lèi)Timer實(shí)現(xiàn)整個(gè)軟件中精確定時(shí)事件觸發(fā);類(lèi)UART實(shí)現(xiàn)通過(guò)串口收發(fā)數(shù)據(jù);類(lèi)SPI實(shí)現(xiàn)單片機(jī)對(duì)交換機(jī)的讀寫(xiě)操作;類(lèi)Initialization實(shí)現(xiàn)對(duì)定時(shí)器、SPI、UART的初始化配置。

  2.2 軟件流程圖


003.jpg


  機(jī)載交換機(jī)系統(tǒng)軟件的運(yùn)行流程如圖3。首先對(duì)所需要使用的資源進(jìn)行初始化,包括定時(shí)器、串口、SPI,當(dāng)初始化成功后讀取ID1~ID3離散量,根據(jù)不同離散量值完成對(duì)交換機(jī)的配置;周期執(zhí)行BIT測(cè)試,在BIT檢測(cè)結(jié)果無(wú)故障后通過(guò)串口將測(cè)試結(jié)果輸出。在初始化失敗或者周期執(zhí)行BIT測(cè)試時(shí)交換機(jī)有故障,則立即停止運(yùn)行。

  2.3 軟件設(shè)計(jì)

  2.3.1 Initialization

  初始化是交換機(jī)系統(tǒng)軟件的入口,其主要功能如下:(1)完成UART的初始化,包括波特率、數(shù)據(jù)位、奇偶校驗(yàn)、停止位;(2)完成SPI的初始化;(3)完成Timer初始化,包括定時(shí)器工作模式、定時(shí)器分辨率等。

  2.3.2 Sw_Config

  Sw_Config主要功能為:(1)ID1、ID2、ID3離散量值的獲?。?2)實(shí)現(xiàn)對(duì)交換機(jī)不同工作模式的配置。

  系統(tǒng)上電后,單片機(jī)首先讀取外部ID1~ID3的離散量值,然后根據(jù)離散量值對(duì)交換機(jī)進(jìn)行工作模式配置,即當(dāng)離散量ID1、1D2、ID3的取值為001b時(shí),交換機(jī)配置為獨(dú)立工作模式;當(dāng)離散量ID1、DI2、ID3的取值為010b時(shí),交換機(jī)配置為級(jí)聯(lián)工作模式;當(dāng)ID1、DI2、ID3的取值為其他時(shí),交換機(jī)配置模式為下電模式。

  2.3.3 BIT

  機(jī)載交換機(jī)系統(tǒng)周期性BIT測(cè)試交換機(jī)硬件、交換機(jī)端口連接狀態(tài)。交換機(jī)硬件的檢測(cè)內(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時(shí),檢測(cè)到任一交換機(jī)故障,則軟件終止運(yùn)行。

  2.3.4 UART/SPI/TIMER

  UART類(lèi)實(shí)現(xiàn)串口收發(fā)數(shù)據(jù),周期性BIT測(cè)試結(jié)果無(wú)故障后輸出測(cè)試結(jié)果。

  SPI類(lèi)實(shí)現(xiàn)單片機(jī)對(duì)交換機(jī)的讀寫(xiě)操作,SPI類(lèi)包含SPI的讀寫(xiě)操作。

  Timer實(shí)現(xiàn)整個(gè)交換機(jī)系統(tǒng)的精確定時(shí),當(dāng)定時(shí)周期到時(shí),完成周期性BIT測(cè)試。

3 機(jī)載千兆交換機(jī)系統(tǒng)實(shí)現(xiàn)

  根據(jù)上述基于單片機(jī)嵌入式千兆交換機(jī)系統(tǒng)硬件平臺(tái)及軟件設(shè)計(jì),軟件在Keil 4.5.3開(kāi)發(fā)環(huán)境上完成開(kāi)發(fā),并通過(guò)J-LINK仿真器將程序下載到單片機(jī)上。通過(guò)串口調(diào)試助手,對(duì)以下3種情形的實(shí)現(xiàn)進(jìn)行驗(yàn)證。

  (1)BIT測(cè)試結(jié)果無(wú)故障,離散量ID1、1D2、ID3的取值為001b時(shí),交換機(jī)配置為獨(dú)立工作模式——模式1。當(dāng)SW1/SW2/SW3的Port7分別連接到PC上,實(shí)現(xiàn)驗(yàn)證結(jié)果如圖4所示。

004.jpg

  (2)BIT測(cè)試結(jié)果無(wú)故障,散量ID1、DI2、ID3的取值為010b時(shí),交換機(jī)配置為級(jí)聯(lián)工作模式——模式2。當(dāng)SW1的Port7連接到PC時(shí),實(shí)現(xiàn)驗(yàn)證結(jié)果如圖5所示。

005.jpg

  (3)BIT測(cè)試結(jié)果無(wú)故障,離散量ID1、1D2、ID3的取值為非001b/010b時(shí),交換機(jī)配置為靜默工作模式——模式3,此時(shí)所有的交換機(jī)任何時(shí)候均處于down(非連接)狀態(tài)。實(shí)現(xiàn)驗(yàn)證結(jié)果如圖6所示。

006.jpg

  (4)BIT測(cè)試結(jié)果有故障,SW1/SW2/SW3實(shí)現(xiàn)驗(yàn)證結(jié)果與圖6一致,即任何時(shí)候均處于down(非連接)狀態(tài)。

4 結(jié)束語(yǔ)

  本文設(shè)計(jì)了一種基于單片機(jī)的嵌入式千兆交換機(jī)系統(tǒng)硬件平臺(tái)及軟件,根據(jù)外部離散量實(shí)現(xiàn)交換機(jī)不同工作模式的配置,實(shí)現(xiàn)了交換機(jī)的BIT測(cè)試功能。

  采用基于UML的面向?qū)ο笤O(shè)計(jì)方法,使得低層驅(qū)動(dòng)獨(dú)立而不依賴(lài)硬件平臺(tái),上層應(yīng)用具有良好的移植性。機(jī)載交換機(jī)系統(tǒng)軟件已在不同的單片機(jī)平臺(tái)上測(cè)試運(yùn)行,均表明功能正常,滿(mǎn)足移植性、擴(kuò)展性要求。本文對(duì)機(jī)載交換機(jī)進(jìn)行自測(cè)試,可以有效地實(shí)現(xiàn)交換機(jī)健康管理,為故障診斷、維護(hù)測(cè)試的研究進(jìn)行了一些探索。

  參考文獻(xiàn)

  [1] 徐科華,陳謀,徐揚(yáng),等.民用飛機(jī)機(jī)載電子系統(tǒng)分布式體系架構(gòu)研究[J].工程設(shè)計(jì)學(xué)報(bào),2012,19(6):494-498.

  [2] 黃志球,徐丙鳳,闞雙龍,等.嵌入式機(jī)載軟件安全性分析標(biāo)準(zhǔn)、方法及工具研究綜述[J].軟件學(xué)報(bào),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].計(jì)算機(jī)科學(xué),2006,33(11):293-295.

  [5] 車(chē)葵,程保中,牛曉太,等.UML在嵌入式系統(tǒng)開(kāi)發(fā)中的研究與應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(15):3559-3564.

  [6] Broadcom Corporation.BCM53118 datasheet[Z].2009.

  [7] Texas Instruments Incorporated. Stellaris TM4C1231H6PGE,Microcontroller datasheet[Z].2011.


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