(凱邁(洛陽(yáng))測(cè)控有限公司,河南 洛陽(yáng) 471009)
隨著GJB1188A-1999《飛機(jī)/懸掛物電氣連接系統(tǒng)接口要求》在機(jī)載航空電子系統(tǒng)中的貫標(biāo),MIL-STD-1553B標(biāo)準(zhǔn)逐漸成為目前航空電子綜合系統(tǒng)中信息交換的主要標(biāo)準(zhǔn)。1553B總線遠(yuǎn)程終端(Remote Terminal,RT)通訊技術(shù)也成為航空電子子系統(tǒng)的關(guān)鍵接口技術(shù)之一,其作用是在航空電子子系統(tǒng)和作為1553B總線控制器(Bus Controller,BC)的航空電子管理系統(tǒng)之間搭建一座橋梁,使得二者的信息流能夠?qū)崟r(shí)、準(zhǔn)確和可靠地進(jìn)行交互。
1553B總線協(xié)議的實(shí)現(xiàn)主要有兩種方式,一種是基于單功能或多功能的1553B協(xié)議芯片實(shí)現(xiàn),另一種是基于IP的FPGA實(shí)現(xiàn)。地面測(cè)控仿真模塊從設(shè)計(jì)的靈活性考慮,多使用FPGA來(lái)實(shí)現(xiàn)1553B協(xié)議;機(jī)載航電設(shè)備從可靠性角度考慮,一般使用協(xié)議芯片連接到控制器來(lái)完成1553B總線協(xié)議。國(guó)內(nèi)外多家公司推出了各種不同功能、封裝的協(xié)議芯片,能與DSP、FPGA、ARM等各種嵌入式器件相連接,實(shí)現(xiàn)1553B總線RT、BC和BM功能。DDC公司的BU-61580是使用最廣泛的協(xié)議芯片之一,它功能強(qiáng)大,但應(yīng)用復(fù)雜,價(jià)格昂貴,封裝也較大,并不適用于某些對(duì)成本和封裝體積有較高要求的航空電子設(shè)備。而HOLT公司單一RT功能協(xié)議芯片HI-6121具有封裝小,價(jià)格低,功能豐富,接口簡(jiǎn)單,使用簡(jiǎn)便等優(yōu)點(diǎn),能夠滿足多數(shù)航空電子設(shè)備的要求,特別是那些小型化低成本無(wú)人機(jī)航空電子設(shè)備。本文給出了一種基于DSP和HI-6121的1553B遠(yuǎn)程終端通訊技術(shù)方案,探討了軟硬件設(shè)計(jì)要點(diǎn)。目前,該方案已在某型掛飛訓(xùn)練彈與導(dǎo)彈模擬器中應(yīng)用,具備一定的應(yīng)用推廣價(jià)值。
MIL-STD-1553B總線(簡(jiǎn)稱1553B總線)是美國(guó)國(guó)防部定義的一種軍用數(shù)據(jù)總線標(biāo)準(zhǔn),全稱為飛機(jī)內(nèi)部時(shí)分制命令/響應(yīng)型多路傳輸數(shù)據(jù)總線,對(duì)應(yīng)我國(guó)軍標(biāo)為GJB289A-1997。它規(guī)定了數(shù)據(jù)總線及其接口電子設(shè)備的技術(shù)要求[1]。
1553B總線為多冗余度總線型拓?fù)浣Y(jié)構(gòu),具備兩個(gè)互為冗余的數(shù)據(jù)通道,保障了良好的故障隔離和容錯(cuò)性,具有雙向傳輸特性,半雙工工作方式,主要由四部分組成:屏蔽雙絞線的傳輸介質(zhì);1個(gè)控制和管理總線消息傳輸?shù)腂C;1個(gè)接收總線消息用于監(jiān)測(cè)和記錄的總線監(jiān)控器(Bus Monitor,BM);1~30個(gè)作為用戶子系統(tǒng)接口的RT,結(jié)構(gòu)如圖1所示[1-2]。該總線有10種消息格式,實(shí)現(xiàn)了BC→RT、RT→BC、RT→RT和各種廣播與控制方式指令。每個(gè)消息最少有兩個(gè)消息字,每個(gè)消息字包括3個(gè)bit的同步頭、16個(gè)消息bit和1個(gè)奇偶校驗(yàn)bit,所有的消息字都采用曼徹斯特II碼構(gòu)成[2-3]。
圖1 1553B多冗余度總線型拓?fù)浣Y(jié)構(gòu)
HI-6121是符合1553B協(xié)議所有要求的全集成3.3 V遠(yuǎn)程終端器件;采用SPI總線作為主機(jī)接口,方便MCU、DSP和FPGA等多種處理器連接,簡(jiǎn)化了接口電路與時(shí)序匹配;片內(nèi)32K×16bit RAM,可配置為四種數(shù)據(jù)緩存模式,每個(gè)子地址收發(fā)命令的數(shù)據(jù)緩存模式都可以獨(dú)立設(shè)置;內(nèi)置可編程設(shè)置時(shí)間精度的16位時(shí)標(biāo)計(jì)數(shù)器,為1553B消息提供實(shí)時(shí)時(shí)標(biāo);優(yōu)化中斷緩存和管理,最高可緩存16個(gè)中斷申請(qǐng),減輕了主機(jī)的中斷資源開(kāi)銷;可選上電自EEPROM自動(dòng)初始化配置,縮小系統(tǒng)軟件代碼尺寸;PQFP-52的小型封裝,便于在嵌入式系統(tǒng)中使用[4]。
硬件電路主要包含控制器與HI-6121之間接口電路,總線耦合電路,時(shí)鐘、復(fù)位與電源電路和功能擴(kuò)展電路等4個(gè)部分,硬件系統(tǒng)原理如圖2所示。
圖2 硬件系統(tǒng)原理圖
2.2.1 控制器接口電路設(shè)計(jì)
選用TI公司基于增強(qiáng)型哈佛結(jié)構(gòu)的32位DSP器件TMS320F2812作為核心控制器,其主頻最高可以達(dá)到150 MHz,具有片內(nèi)128K字FLASH,2個(gè)CPU定時(shí)器,SPI、外部總線接口、UART、ADC和外部事件管理器等多種外設(shè)資源[5]。如圖2所示,控制器與HI-6121之間接口電路原理主要如下:
1)HI-6121作為SPI從機(jī),具備兩種SPI時(shí)序模式:Mode0(CPHA = 0, CPOL = 0)和Mode 3 (CPHA = 1, CPOL = 1), SPI同步時(shí)鐘SCK最高速率可以達(dá)到40 MHz。本文中TMS320F2812作為SPI主機(jī)采用SPI模式Mode0與HI-6121連接,從數(shù)據(jù)傳輸可靠性角度考慮選擇4 MHz作為SCK頻率;
2)HI-6121的READY管腳用于指示內(nèi)部自檢完成或是自初始化完成,DSP通過(guò)GPIO檢測(cè)到READY管腳電平變高后,才能對(duì)HI-6121進(jìn)行操作;
3)HI-6121的AUTOIEN和EE1K上拉接高電平,使用芯片的EEPROM自初始化配置模式,上電時(shí)芯片自動(dòng)搬移EEPROM地址0x0~0x3FF中的數(shù)據(jù)到芯片內(nèi)部對(duì)應(yīng)地址中,主要包括寄存器、非法命令表和描述數(shù)據(jù),可以節(jié)約DSP的內(nèi)部RAM資源開(kāi)銷;DSP通過(guò)GPIO輸出寬度不小于1 ms的高電平脈沖給EECOPY管腳,使HI-6121自動(dòng)搬移芯片內(nèi)部0x0~0x3FF中的數(shù)據(jù)到EEPROM地址對(duì)應(yīng)地址中;
4)HI-6121有兩個(gè)中斷輸出管腳INTHW和INTMES,分別連接到DSP的兩個(gè)外部中斷,INTHW用于指示芯片內(nèi)部SPI通訊、時(shí)標(biāo)計(jì)數(shù)器溢出、RT地址校驗(yàn)錯(cuò)誤、EEPROM校驗(yàn)錯(cuò)誤和RAM初始化錯(cuò)誤等硬件自身事件,INTMES用于指示1553B消息收發(fā)事件,二者的輸出電平狀態(tài)均可設(shè)置。DSP的GPIO連接HI-6121管腳ACKINT,對(duì)接收到的中斷作出確認(rèn),以便HI-6121釋放中斷;
5)HI-6121的RT地址既可以由外部信號(hào)注入,也可通過(guò)軟件配置RT地址寄存器來(lái)完成。在RST#的上升沿將外部RT地址信號(hào)、RT地址校驗(yàn)信號(hào)和LOCK信號(hào)鎖存,當(dāng)LOCK信號(hào)為高電平時(shí),DSP就不能再通過(guò)軟件重新配置RT地址??紤]到測(cè)試和排故等原因,更宜采用靈活的軟件配置RT地址模式。因此,下拉LOCK信號(hào)為低電平,使能RT地址寄存器可重配置。RT地址信號(hào)RTA0-4和RT地址校驗(yàn)信號(hào)RTAP先通過(guò)光耦隔離進(jìn)入DSP進(jìn)行校驗(yàn),作為系統(tǒng)自檢工作之一,再由DSP寫入HI-6121的RT地址寄存器,完成RT地址配置;
6)DSP通過(guò)復(fù)用SPI總線操作板載實(shí)時(shí)時(shí)鐘芯片DS3234,獲得實(shí)時(shí)時(shí)間信息作為接收和發(fā)送的1553B數(shù)據(jù)包的的絕對(duì)時(shí)標(biāo),相對(duì)時(shí)標(biāo)通過(guò)HI-6121的時(shí)標(biāo)計(jì)數(shù)器獲得,精度有2 μs、4 μs、8 μs、16 μs、32 μs和64 μs等六種,通過(guò)軟件配置,可任選其一;
7)通過(guò)控制TXINHA和TXINHB管腳,可以禁止芯片的BusA和BusB總線傳輸。通過(guò)控制SSYSF管腳,可以置1553B狀態(tài)字中的“SUBSYS”標(biāo)志位,向BC表明子系統(tǒng)出現(xiàn)了故障。
2.2.2 總線耦合電路
1553B總線的連接方式有兩種:變壓器耦合與直接耦合。直接耦合方式適用于不超過(guò)0.3 m的短距連接。變壓器耦合方式適用于不超過(guò)6 m的長(zhǎng)距離[6]。無(wú)論哪一種,子系統(tǒng)都需要通過(guò)一級(jí)隔離變壓器進(jìn)行故障隔離。根據(jù)應(yīng)用要求,HI-6121與1553B總線的連接方式采用變壓器耦合方式,隔離變壓器選用HOLT公司的PM-DB2791S,變壓比值為1:2.5[7]。
2.2.3 時(shí)鐘、復(fù)位與電源電路
選用TI公司的電源芯片TPS767D318PWP,輸出3.3 V和1.8 V兩路電源,其中3.3 V作為DSP的IO供電與其它電路供電,1.8 V作為DSP的核心供電。TPS767D318PWP能夠在上電時(shí)輸出延遲時(shí)間為200 ms的低電平復(fù)位信號(hào),使DSP和HI-6121能夠可靠地上電復(fù)位。DSP時(shí)鐘選用30 MHz的晶體諧振器,內(nèi)部倍頻為150 MHz作為系統(tǒng)時(shí)鐘;HI-6121時(shí)鐘內(nèi)部無(wú)倍頻電路,直接選用50 MHz有源晶體振蕩器輸出的時(shí)鐘作為系統(tǒng)時(shí)鐘。
2.2.4 功能擴(kuò)展電路
TMS320F2812有兩個(gè)UART,其中一個(gè)用于遠(yuǎn)程在線軟件升級(jí)和實(shí)時(shí)時(shí)鐘芯片的校時(shí),另一個(gè)用于與其它功能系統(tǒng)進(jìn)行數(shù)據(jù)交互。通過(guò)XINTF接口,DSP將收發(fā)到的1553B消息字寫入數(shù)據(jù)記錄模塊的RAM緩存區(qū),擴(kuò)展1553B數(shù)據(jù)記錄功能。
軟件系統(tǒng)完成協(xié)議芯片及其它功能電路的控制和1553B數(shù)據(jù)的接收、發(fā)送和校驗(yàn)處理,主要包括: HI-6121底層驅(qū)動(dòng)和初始化,中斷處理與系統(tǒng)工作流程等三個(gè)部分。
3.2.1 地址映射
HI-6121的功能與狀態(tài)寄存器和共享RAM統(tǒng)一以字為單位映射在32 K地址空間,0x0000-0x001F為功能與狀態(tài)寄存器映射地址;其余為共享RAM映射地址。包括了數(shù)據(jù)接收暫存、中斷日志、非法命令表、描述表和子地址數(shù)據(jù)收發(fā)緩存。寄存器讀寫模式為直接地址映射,共享RAM讀寫模式為指針地址映射。DSP通過(guò)對(duì)HI-6121的各種寄存器及共享RAM進(jìn)行數(shù)據(jù)讀寫操作來(lái)完成1553B消息字的接收與發(fā)送。
3.2.2 主要功能寄存器說(shuō)明
1)配置寄存器1#和2#:用來(lái)設(shè)置HI-6121的總線收發(fā)器的開(kāi)/關(guān),中斷輸出模式,時(shí)標(biāo)精度、復(fù)位和重載,軟復(fù)位,芯片工作開(kāi)始/停止,廣播消息有效性,未定義方式字有效性,RT→RT超時(shí)等;
2)操作狀態(tài)寄存器:主要用于RT地址和校驗(yàn)位讀寫及鎖定;
3)最新命令字寄存器:存放消息中斷的最新消息命令字;
4)最新控制字地址寄存器:存放消息中斷的消息控制字在內(nèi)存中所在地址,使主機(jī)可以通過(guò)該地址讀取芯片緩存中1553B消息數(shù)據(jù)字和狀態(tài)字;
5)內(nèi)存地址指針寄存器:HI-6121的內(nèi)存0x0-0xF地址可以直接訪問(wèn),其余地址通過(guò)內(nèi)存地址指針間接訪問(wèn);
6)描述表基地址寄存器:設(shè)置描述表的起始地址;
7)1553狀態(tài)字位設(shè)置寄存器:設(shè)置/讀取RT狀態(tài);
8)中斷使能寄存器:對(duì)各種中斷源進(jìn)行使能或是禁止;
9)時(shí)標(biāo)寄存器:讀取該時(shí)刻的絕對(duì)時(shí)標(biāo)值。
3.2.3 HI-6121初始化步驟[8]
系統(tǒng)上電復(fù)位后,通過(guò)設(shè)置相應(yīng)的功能寄存器來(lái)初始化HI-6121的基本工作模式,配置子地址描述表來(lái)設(shè)置合法消息處理機(jī)制,配置非法命令描述表來(lái)設(shè)置非法消息處理機(jī)制。初始化步驟如下,在實(shí)際應(yīng)用中可根據(jù)具體情況刪減和更改。
1)讀取READY信號(hào),到READY變高后,DSP才能對(duì)HI-6121進(jìn)行讀寫操作。
2)建立描述表:描述表定義了RT終端對(duì)有效命令的響應(yīng),由4部分組成,分別是子地址接收消息描述塊、子地址發(fā)送消息描述塊、接收方式命令消息描述塊、發(fā)送方式代碼消息描述塊。每個(gè)消息描述塊都有128字,分為32個(gè)4字組(1個(gè)控制字和3個(gè)描述字)。子地址接收消息描述塊的控制字設(shè)置該子地址接收消息數(shù)據(jù)的緩沖模式、是否產(chǎn)生中斷、是否為合法命令等。芯片共有4種數(shù)據(jù)緩存模式:?jiǎn)蜗⒛J?、乒乓模式、循環(huán)1模式、循環(huán)2模式。3個(gè)描述字根據(jù)緩存模式不同而放置相應(yīng)的地址指針,本文選擇發(fā)送數(shù)據(jù)緩存模式為單消息模式,描述字2為消息指針,描述字3為0,,描述字4為廣播消息指針。接收數(shù)據(jù)緩存模式為乒乓模式,描述字2為數(shù)據(jù)區(qū)A指針,描述字3為數(shù)據(jù)區(qū)B指針,描述字4為廣播消息指針。中斷模式設(shè)置為消息中斷。未用子地址的控制字和3個(gè)描述字都置0,設(shè)置為非法命令。
3)建立非法命令表:HI-6121通過(guò)256個(gè)字的非法命令表來(lái)實(shí)現(xiàn)非法消息命令的設(shè)置和檢查,分為廣播接收命令設(shè)置塊、廣播發(fā)送命令設(shè)置塊、子地址接收命令設(shè)置塊、子地址發(fā)送命令設(shè)置塊。每條收發(fā)命令和方式命令都有兩個(gè)控制字,共32bit,代表了32個(gè)數(shù)據(jù)字的合法性,‘0’為合法,‘1’為非法。非法命令檢測(cè)是一個(gè)可選過(guò)程。當(dāng)不使用非法的命令檢測(cè)時(shí),終端對(duì)所有有效的命令字都進(jìn)行響應(yīng),回復(fù)傳輸狀態(tài)字并處理命令字中定義的數(shù)據(jù)字?jǐn)?shù)。當(dāng)不使用非法命令檢測(cè)時(shí),BC無(wú)法根據(jù)RT終端的傳輸響應(yīng)判斷命令是合法的還是非法的。
4)DSP通過(guò)GPIO讀取RT地址和RT地址校驗(yàn)位,校驗(yàn)后寫入操作狀態(tài)寄存器并鎖定。
5)設(shè)置配置寄存器1#,禁止芯片工作,設(shè)置時(shí)標(biāo)計(jì)數(shù)器精度,選擇兼容1553B NOTICE2協(xié)議,選擇方式命令處理流程簡(jiǎn)化模式。
6)設(shè)置配置寄存器2#,選擇RT-RT超時(shí)時(shí)間,裝載時(shí)標(biāo)計(jì)數(shù)器,選擇方式命令消息處理模式;
7)根據(jù)實(shí)際需要設(shè)置中斷使能寄存器;
8)根據(jù)配置寄存器2#中的“MCOPT4”位邏輯值來(lái)配置BusA/B選擇寄存器,用于執(zhí)行方式命令中的“selected transmitter”shutdown和override兩項(xiàng)命令;
9)設(shè)置自檢模式和測(cè)試控制模式;
10)將描述表和非法表寫入HI-6121的共享內(nèi)存;
11)配置寄存器1#的“STEX”置位,芯片開(kāi)始工作。
如前文所述,HI-6121初始化模式有主機(jī)配置和EEPROM配置兩種模式,初始化步驟基本一致。不同在于,主機(jī)配置時(shí)初始化步驟放在系統(tǒng)軟件中,由DSP完成功能寄存器和共享RAM的數(shù)據(jù)寫入;而本文選擇的EEPROM配置,初始化步驟是獨(dú)立的軟件,步驟11)改為給EECOPY管腳一個(gè)大于1 ms的脈沖信號(hào),觸發(fā)HI-6121將數(shù)據(jù)寫入EEPROM。在系統(tǒng)軟件中完成RT地址重新配置,并使能芯片開(kāi)始工作。
3.2.4 SPI總線傳輸過(guò)程中的中斷處理
HI-6121采取指針?lè)绞綄?duì)0xF以上的地址進(jìn)行尋址。如果在SPI數(shù)據(jù)傳輸過(guò)程中,有事件觸發(fā)DSP中斷,系統(tǒng)軟件轉(zhuǎn)入中斷服務(wù)子程序?qū)I-6121進(jìn)行讀寫操作,將更改指針數(shù)據(jù),從而影響了中斷前正在進(jìn)行的SPI數(shù)據(jù)傳輸。因此,進(jìn)入中斷服務(wù)子程序后必須先將HI-6121指針寄存器的數(shù)值暫存,中斷服務(wù)子程序結(jié)束前將指針寄存器的數(shù)值還原,避免指針跑飛造成器件功能異常。
系統(tǒng)工作流程采用模塊化設(shè)計(jì),如圖3所示,主要包括初始化模塊、中斷處理模塊、數(shù)據(jù)接收模塊和數(shù)據(jù)發(fā)送模塊。
圖3 系統(tǒng)軟件設(shè)計(jì)流程
初始化模塊:DSP自身初始化,然后等待HI-6121自初始化完成后,完成RT地址重新配置,并使能芯片開(kāi)始工作。開(kāi)啟外部中斷等待1553B消息中斷;
中斷處理模塊:讀取當(dāng)前中斷消息的命令字(地址0x03)和信息字映射地址(地址0x0A)放入1553B消息命令堆棧,并使堆棧指針遞增,堆棧深度可根據(jù)具體情況設(shè)置。
數(shù)據(jù)接收模塊:主程序根據(jù)堆棧指針判斷堆棧中是否有未處理的1553B消息,根據(jù)1553B消息命令字解析子地址、T/R、數(shù)據(jù)個(gè)數(shù)。如果是“接收”命令字則根據(jù)信息字映射地址和數(shù)據(jù)個(gè)數(shù)來(lái)讀取HI-6121共享內(nèi)存中緩存的數(shù)據(jù);如果是“發(fā)送”命令字,則表明BC取走的HI-6121共享內(nèi)存中該子地址的數(shù)據(jù)。
數(shù)據(jù)發(fā)送模塊:將準(zhǔn)備好的數(shù)據(jù)寫入子地址對(duì)應(yīng)的HI-6121共享內(nèi)存區(qū)間,根據(jù)GJB1188A的規(guī)定,置位子地址對(duì)應(yīng)的矢量字位,并將矢量字寫入對(duì)應(yīng)的HI-6121共享RAM相應(yīng)地址。BC收到矢量字后,按照矢量字位下發(fā)RT發(fā)送命令,HI-6121接收到命令后自動(dòng)將數(shù)據(jù)上傳給BC[9]。
根據(jù)上文所述的技術(shù)方案設(shè)計(jì)了1553B總線遠(yuǎn)程終端通訊板卡。根據(jù)圖1的總線架構(gòu),選用GE公司CPCI總線1553B板卡作為1553B總線 BC,本文設(shè)計(jì)的通訊板卡作為1553B總線RT,使用1553專用線、2個(gè)盒式耦合器和78歐姆終端匹配電阻構(gòu)建雙通道測(cè)試環(huán)境,進(jìn)行消息收發(fā)測(cè)試。主要包括BC與RT之間的消息收發(fā)測(cè)試、方式代碼測(cè)試和雙冗余通道測(cè)試三種[10]。
1)BC向RT發(fā)出命令字(接收)+4個(gè)數(shù)據(jù)字,RT回復(fù)1個(gè)狀態(tài)字,DSP得到的數(shù)據(jù)與GE板卡發(fā)出的數(shù)據(jù)一致, RT端波形如圖4所示。
圖4 RT接收消息波形
2)BC向RT發(fā)出命令字(發(fā)送),RT回復(fù)4個(gè)數(shù)據(jù)字+1個(gè)狀態(tài)字,GE板卡得到的數(shù)據(jù)與DSP設(shè)置的數(shù)據(jù)一致,RT端波形如圖5所示。
圖5 RT發(fā)送消息波形
BC向RT發(fā)出方式代碼(查詢矢量字),RT回復(fù)1個(gè)矢量字+1個(gè)狀態(tài)字,GE板卡得到的數(shù)據(jù)與DSP設(shè)置的數(shù)據(jù)一致,RT端波形如圖6所示。
圖6 查詢矢量字波形
雙冗余通道是1553B總線可靠性保障之一,BusA作為主通道,BusB為冗余備份通道。測(cè)試時(shí),從盒式耦合器端將BusA通道斷開(kāi)或?qū)usB通道斷開(kāi),重復(fù)進(jìn)行上述的BC與RT之間的消息收發(fā)測(cè)試、方式指令測(cè)試,通訊板均能正常工作,數(shù)據(jù)收發(fā)正確。
本文主要介紹了一種小型化、低成本的1553B總線遠(yuǎn)程終端設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試與驗(yàn)證,以TMS320F2812為控制器,以HI-6121為1553B協(xié)議芯片,簡(jiǎn)化了硬件與軟件的設(shè)計(jì),可以使電子設(shè)備快速接入1553B總線。該通訊板已批量應(yīng)用在某小型航空制導(dǎo)炸彈掛飛訓(xùn)練彈及導(dǎo)彈模擬器項(xiàng)目中,通過(guò)試驗(yàn)室試驗(yàn)、環(huán)境適應(yīng)性試驗(yàn)和外場(chǎng)掛飛試驗(yàn),系統(tǒng)工作正常,具備良好的可靠性,在1553總線設(shè)備的小型化,低成本等方面具有一定的參考價(jià)值。