鄧發(fā)俊
摘要:1394B總線以其高帶寬、低延遲、高可靠特性在機(jī)載系統(tǒng)中應(yīng)用越來越廣泛。該文介紹了1394B總線協(xié)議,實(shí)現(xiàn)了一種智能1394B接口模塊,并進(jìn)行了通信測試,具有一定的參考意義。
關(guān)鍵詞:1394B;匿名簽署協(xié)議;通信
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)01-0238-02
Design and Implementation of An Intelligent 1394B Interface Module
DENG Fa-jun
(AVIC Computing Technique Research Institute,Xian 710065 , China)
Abstract: With its high bandwidth, low delay and high reliability, 1394B bus is widely used in airborne system. This paper introduces the 1394B bus protocol, implements an intelligent 1394B interface module, and carries out the communication test, which has a certain reference value.
Key words: 1394B; ASM; communication
1 概述
1394B總線網(wǎng)絡(luò)與傳統(tǒng)1553B總線系統(tǒng)相比具有高帶寬、低延遲、高可靠性等方面優(yōu)勢,已經(jīng)廣泛應(yīng)用于新一代戰(zhàn)機(jī)的航電系統(tǒng)、飛行器管理系統(tǒng)和機(jī)電公共設(shè)備管理系統(tǒng)。
2 1394B總線概述
IEEE 1394-1995最初由Apple公司提出,由IEEE正式制定,支持100/200/400Mbps通信速率,其目的是為了簡化計算機(jī)的外部連線,并且為實(shí)時數(shù)據(jù)傳輸提供一個高速接口[1]。2000年對IEEE 1394-1995標(biāo)準(zhǔn)進(jìn)行補(bǔ)充,增強(qiáng)了互操作性,解決了一些二義性問題,形成了IEEE 1394a-2000。2002 年起,對IEEE 1394-1995 規(guī)范進(jìn)行了不斷地完善, 確定了IEEE-1349b-2002,其目標(biāo)是用于傳輸多媒體數(shù)據(jù),其帶寬,傳輸速度,距離等都有了大幅度提高[2]。
1394B總線具有如下特點(diǎn):
采用異步流包:異步流包是異步時間間隔內(nèi)發(fā)送的等時包。異步流被用于網(wǎng)絡(luò)上大多數(shù)的通信。
使用STOF同步:STOF包由每條總線上的CC按照固定的幀速率發(fā)送STOF包通知總線上所有的節(jié)點(diǎn)新的一幀開始。通過傳輸一個固定速率的STOF包實(shí)現(xiàn)網(wǎng)絡(luò)的同步。
縱向奇偶校驗(yàn)(VPC):縱向奇偶校驗(yàn)(VPC)是作為1394物理層產(chǎn)生的CRC校驗(yàn)的一個附加校驗(yàn)。VPC提供物理層和軟件層在進(jìn)行消息傳輸過程中的附加數(shù)據(jù)完整性的保障。
通道號靜態(tài)分配:因?yàn)楫惒搅靼诟袷缴吓c等時包一致,所以也由通道號來確定目標(biāo)節(jié)點(diǎn),總線上每個節(jié)點(diǎn)的通道號是由應(yīng)用預(yù)先分配的,根據(jù)體系結(jié)構(gòu)而定。
帶寬預(yù)分配:每一幀開始后(STOF包),總線上每個節(jié)點(diǎn)的發(fā)送和接收的時間由應(yīng)用根據(jù)體系結(jié)構(gòu)預(yù)先分配。
使用匿名簽署協(xié)議(ASM):匿名簽署協(xié)議是為了滿足嵌入式實(shí)時系統(tǒng)需求的上測試協(xié)議,ASM協(xié)議建立于下層協(xié)議,不需要1394消息頭傳輸ASM特殊消息[3]。
3 模塊設(shè)計
智能1394B接口采用MPC8270實(shí)現(xiàn),對外提供三個1394B端口。模塊主要由時鐘電路,電源電路,復(fù)位電路,1394接口電路以及處理器電路組成。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)
3.1 處理器電路
處理器電路主要由處理器,SDRAM,CPLD和FLASH組成。
采用MPC8270處理器,主頻266MHz,外頻66MHz,提供PCI總線仲裁以及標(biāo)準(zhǔn)PCI總線接口,運(yùn)行VxWorks5.5系統(tǒng),完成應(yīng)用數(shù)據(jù)處理以及通信傳輸控制和管理工作,并提供串口、以太網(wǎng)等調(diào)試接口。
SDRAM:采用四片容量為512MB的SDRAM組成2GB容量的內(nèi)存,工作頻率66MHz,64bit寬度,作為程序和數(shù)據(jù)的存儲空間。
CPLD:CPLD固化邏輯用于實(shí)現(xiàn)CPU初始化配置,復(fù)位管理,片選分配等功能。
FLASH:容量64MB,訪問速度120ns,寬度32bit,用于固化Boot、OS以及應(yīng)用程序。
3.2 1394B接口
1394B接口屬于該模塊對外的應(yīng)用通信數(shù)據(jù)接口,選用1394鏈路層和物理層實(shí)現(xiàn)芯片以及1394變壓器,實(shí)現(xiàn)模塊1394B接口的對外耦合。1394B電路連接示意見圖2。1394鏈路層芯片帶有獨(dú)立的PCI控制器,內(nèi)部帶有多個DMA發(fā)送通道和接收通道??芍苯訏旖釉谥魈幚砥鞯腜CI接口上,通過PCI總線進(jìn)行對鏈路層的控制。1394物理層芯片是1394B物理層芯片中的一款高性能物理層接口芯片,保持與其他物理層芯片設(shè)計的兼容性。該芯片滿足OHCI、IEEE 1394-1995、IEEE 1394a-2000、IEEE 1394b-2002等協(xié)議規(guī)范;全面支持IEEE 1394b-2002協(xié)議下S100,S100β,S200,S200β,S400和S400β的傳輸速率;提供3個物理層端口。
圖2 1394B接口電路連接示意
4 模塊工作流程
模塊的工作流程如下:
a.CPLD邏輯輸出配置字對處理器進(jìn)行初始化配置,配置的主要內(nèi)容有:將CPU配置32位模式啟動,內(nèi)部寄存器基值為0xF0000000,啟動地址為0xFFF00100,內(nèi)核工作頻率為200MHz, 處理器工作在PCI Host模式, PCI接口工作頻率為33MHz;
b.CPU從0xFFF00100(FLASH地址)獲取第一條指令開始執(zhí)行,通過獲取的指令對CPU的中斷,時鐘,系統(tǒng)總線,SDRAM和FLASH進(jìn)行初始化,并將后續(xù)的固化在FLASH中的代碼從FLASH搬運(yùn)到SDRAM中,搬運(yùn)到SDRAM的起始地址為0x0000C000;
c.完成代碼搬運(yùn)后,處理器開始對串口進(jìn)行初始化,并在執(zhí)行后續(xù)代碼時通過串口輸出相應(yīng)的打印信息;
d.處理器執(zhí)行上電BIT,以及后續(xù)的BOOT代碼;
e.處理器運(yùn)行操作系統(tǒng);
f.處理器調(diào)用驅(qū)動程序?qū)?394設(shè)備進(jìn)行初始化,設(shè)備初始化工作包括調(diào)用設(shè)備句柄空間的初始化、設(shè)備資源的分配、信號量的初始化、中斷的使能和設(shè)備工作模式的設(shè)置等過程;
g.初始化完成后,處理器可進(jìn)行1394B通信。發(fā)送過程:主機(jī)應(yīng)用調(diào)用異步流數(shù)據(jù)包發(fā)送函數(shù)后,由驅(qū)動檢查相關(guān)參數(shù)的合法性,由主機(jī)通知鏈路層芯片該消息數(shù)據(jù)準(zhǔn)備好,根據(jù)數(shù)據(jù)包發(fā)送條件判斷出該數(shù)據(jù)包具備發(fā)送條件后,配置異步流發(fā)送上下文,啟動DMA,鏈路層芯片從指定的數(shù)據(jù)包地址中將數(shù)據(jù)搬移到鏈路層芯片的FIFO 緩沖中發(fā)送,完成異步流的發(fā)送。接收過程:設(shè)備在接收到消息之前,首先在設(shè)備的初始化時配置異步流的接收上下文,啟動接收,當(dāng)設(shè)備檢測到數(shù)據(jù)包到達(dá)時,物理層芯片根據(jù)接收的上下文配置,將和配置的通道號匹配的異步流數(shù)據(jù)包上傳鏈路層,鏈路層啟動DMA 將接收到的數(shù)據(jù)直接放在指定的主機(jī)緩沖區(qū)內(nèi),然后更新接收的上下文配置,同時更新主機(jī)的緩沖區(qū)地址。
工作流程圖如圖3所示。
圖3 模塊工作流程圖
5 測試驗(yàn)證
將智能1394B接口模塊安裝在測試工裝中,經(jīng)過高速1394線纜與1394B仿真分析儀連接,運(yùn)行測試程序,1394B接口模塊的三個端口都能和標(biāo)準(zhǔn)設(shè)備正確通信。
6 結(jié)論
本文介紹了1394B總線協(xié)議的特點(diǎn),基于MPC8270實(shí)現(xiàn)了三端口1394B接口模塊,并進(jìn)行了測試驗(yàn)證,具有一定的應(yīng)用價值。
參考文獻(xiàn):
[1] 李世平,戴凡,汪旭東.IEEE-1394系統(tǒng)原理與應(yīng)用技術(shù)[M].2004:1-2.
[2] 劉莎,陰亞芳.VxWorks下1394b總線系統(tǒng)驅(qū)動軟件設(shè)計[J].測控技術(shù),2013(5):96-99.
[3] 馬寧,王宣明,鄭斐.飛機(jī)管理系統(tǒng)1394總線AS5643協(xié)議的設(shè)計與實(shí)現(xiàn)[J].航空計算技術(shù),2013(6):122-124.