當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]1553B總線在嵌入式系統(tǒng)中的應用

作者Email: cai_yang@etang.com

1 介紹

    MIL-STD-1553是為數(shù)據(jù)總線定義的軍方標準。這種數(shù)據(jù)總線被用來為各種的系統(tǒng)之間的數(shù)據(jù)和信息的交換提供媒介,它類似“局域網(wǎng)或者LAN”。

    1950年至60年代中,航空電子學是簡單、獨立的系統(tǒng),航空、通信、飛行控制和顯示器由模擬系統(tǒng)構成;信號主要由模擬電壓、同-異步信號和接觸式開關構成。
    MIL-STD-1553總線的傳輸速度為每秒1M比特,字的長度為20個比特,數(shù)據(jù)有效長度為16個比特,信息量最大長度為32個字,傳輸方式為半雙工方式,傳輸協(xié)議為命令/響應方式,故障容錯有典型的雙冗余方式,第二條總線處于熱備份狀態(tài);信息格式有BC到RT、RT到BC、RT到RT、廣播方式和系統(tǒng)控制方式;能掛31個遠置終端,終端類型有總線控制器(BC)、遠置終端(RT)和總線監(jiān)聽器(BM);傳輸媒介為屏蔽雙絞線,MIL-STD-1553總線耦合方式有直接耦合和變壓器耦合。

2 硬件系統(tǒng)

    本系統(tǒng)采用PCI總線接口,PCI橋芯片采用PLX公司的PCI9052。1553B總線芯片采用DDC61580,CPLD主要實現(xiàn)DDC61580和PCI9052之間的時序及邏輯控制。硬件框圖如圖1所示。

詳細的邏輯控制信號見CPLD邏輯部分。

2.1 PCI9052的主要特點

    PCI9052PLX技術公司為擴展適配板卡推出的能提供一種混合的高性能PCI總線目標(從)模式的接口芯片。該芯片可與多種局部總線相連,并且支持相對慢的局部總線在PCI總線上的突發(fā)傳送速率達到132MB/s。9052可編程配置直接與復用或非復用的8/16/32位局部總線相連,8位和16位模式便于ISA卡直接向PCI卡轉換。

 

PCI9052的內部結構中包含了一個獨立的ISA邏輯接口,通過這個邏輯接口可以完成由ISAPCI的平滑轉換。它支持8位和16位數(shù)據(jù)寬度的ISA設備,該設備可以是內存映射,也可以是I/O映射。先讀模式用于提高讀取數(shù)據(jù)的吞吐量。一旦ISA接口模式使能,PCI9052只執(zhí)行單個周期操作。特別指出的是,串行EEPROM必需使ISA接口模式使能。

 

可以使用兩種方法配置PCI9052用于ISA接口模式。方法一:燒寫串行EEPROM方法。使用燒寫器,將數(shù)據(jù)寫入串行EEPROM,參照PCI9052DataSheet來寫入恰當?shù)臄?shù)據(jù)。需要注意的是,對于ISA模式,LRESET引腳必須始終為高電平,并確認MODE引腳置為0,處于非復用模式。

 

方法二:熱配置方法。從PCI總線通過PCI9052芯片來燒寫串行EEPROM。該方法需要注意的是,LRESET引腳的極性在ISA模式時由低變?yōu)楦?,并確認MODE引腳置為低。

 

當為ISA接口模式配置時必須注意以下幾點:(1)存取ISA接口引腳時要參照PCI9052引腳的C/ISA模式引腳圖來連線。(2)空間0分配給ISA接口的內存存取。(3)空間1分配給ISA接口的I/O存取。(4)無論空間0的局部地址處于CS0#范圍還是空間1的局部地址處于CS1#范圍,ISA存取均有效。(5)標準的從周期可以使用空間2、空間3和串行EEPROM來存取。

 

2.2  DDC61580的主要特點

 

DDC61580具有以下特點:

     全兼容MIL-STD-1553接口

     靈活的處理器/內存接口

     標準的4K×16RAM

     自動BC重試

     可編程BC間隔時間

     靈活的RT數(shù)據(jù)緩沖區(qū)

     可編程非法區(qū)

     可選擇消息監(jiān)控

     支持同時RT/Monitor模式

下面將詳細介紹BC、RT以及MT模式的內存組織,編程方法等。

 

2.3  BC模式操作

BC協(xié)議支持所有的MIL-STD-1553消息格式,通過編程BC控制字和命令字的T/R*位來確定消息格式。另外,BC控制字還允許選擇通道、自測試、重試、中斷以及狀態(tài)字掩碼等。BC模式內存映射包含有8個固定的內存位置,即堆棧指針A,B、消息計數(shù)器AB、初始堆棧指針A,B和初始消息計數(shù)器A,B。在啟動消息幀之前,必須首先初始化堆棧指針和消息計數(shù)器。特別應注意的是,BC消息塊最大是38個字,比如對于RT->RT傳輸,它包含32個數(shù)據(jù),1個控制字,2個命令字,1LoopBack字和2個狀態(tài)字。

 

2.3.1  BC內存管理

BC內存管理如圖2所示。該圖說明了堆棧指針包含四個字的消息塊描述符,即塊狀態(tài)字,時間標志字,消息間隔時間和消息塊地址。塊狀態(tài)字包括消息狀態(tài)、完成、有效性及總線通道;時間標志字反映了當前消息起始和結束時時間標志寄存器的值,它可以編程為分辨率為264us/LSB2的冪);消息間隔時間指的是當前消息的開始到下一條消息的開始之間的時間;消息塊地址提供了指向消息塊第一個字的指針。

 

2.3.2  BC編程

 

對于BC編程,首先要初始化相應的寄存器以及堆棧指針、消息計數(shù)器;然后定義消息的控制字、命令字等;最后啟動BC。需要注意的是BC控制字不會在1553總線上傳輸。BC的消息格式通過編程BC控制字的最低3位來控制。如表1所示。

 

BC消息幀可以通過查詢和中斷來進行處理。如果采用查詢模式,那么可以查詢配置寄存器1、中斷狀態(tài)寄存器、堆棧指針和消息計數(shù)器寄存器。另外,每一條BC消息結束后堆棧指針加4,所以如果要讀取RT-To-BC的消息,我們應該首先從堆棧指針A中讀取當前消息的堆棧指針,然后減4后來分別讀出塊狀態(tài)字、時間標志字、消息時間間隔和上一條消息的塊地址,最后從此塊地址讀出接收到的數(shù)據(jù)。在嵌入式系統(tǒng)軟件處理中,我們應盡量采用中斷方式。

 

表1 MIL-STD-1553消息格式

 

BIT2(MODE CODE)

BIT1(BROADCAST)

BIT0(RT-TO-RT)

Message Format

0

0

0

BC-To-RT(if T/R*=0) or RT-To-BC(if T/R*=1)

0

0

1

RT-To-RT

0

1

0

Broadcast

0

1

1

RT-To-RTs(Broadcast)

1

0

0

Mode Code

1

0

1

Not Used

1

1

0

Broadcast Mode Code

1

1

1

Not Used

 

 

2.4  RT模式操作

 

RT,即遠程終端,它包含了所有MIL-STD-1553的格式,雙冗余模式編碼,內部命令非法,內部格式化的BIT字和錯誤檢測。RT的反映時間大約為4.8us。RT內存管理包含單消息模式,循環(huán)緩沖區(qū)模式(支持批量數(shù)據(jù)傳輸)和雙緩沖區(qū)模式。通過使用雙緩沖區(qū),主機處理器很容易訪問最近接收到有效數(shù)據(jù)塊。對于發(fā)送、接收或廣播子地址,數(shù)據(jù)塊存儲緩沖區(qū)可以采用單緩沖、雙緩沖(兩個交替的數(shù)據(jù)塊)和循環(huán)緩沖區(qū)(可編程大小為128到8192個字)。在增強模式下,ACE提供RT子地址雙緩沖區(qū),RT子地址雙緩沖區(qū)模式給指定的子地址分配了兩個32字數(shù)據(jù)緩沖區(qū),接收到的數(shù)據(jù)交替的存儲在這兩個緩沖區(qū)中。

 

2.4.1  RT內存管理

 

RT內存管理包含單消息模式,循環(huán)緩沖區(qū)模式(支持批量數(shù)據(jù)傳輸)和雙緩沖區(qū)模式。在此主要介紹循環(huán)緩沖區(qū)模式,如圖3所示。這意味著在我們設置發(fā)送、接收或廣播的初始地址后,數(shù)據(jù)塊地址從此地址開始到所設置的最大長度(如1024字)進行環(huán)繞。這在大批量數(shù)據(jù)傳輸中非常有效,它可以減輕處理器的負荷,我們在處理時可以設置循環(huán)緩沖區(qū)Rollover中斷來一次性讀取數(shù)據(jù)。

 

 

2.4.2  RT子地址控制字

 

在增強RT內存管理方式下,32個子地址控制字控制了各自的內存管理和中斷。對于每一個子地址控制字,發(fā)送、接收和廣播各5位控制內存大小及中斷,第15位用來控制使能子地址雙緩沖區(qū)。子地址控制字位如表2所示。

表2 子地址控制字位

15

RX: DOUBLE BUFFER ENABLE

14

TX: EOM INT

13

TX: CIRC BUF INT

12

TX: MEMORY MANAGEMENT 2 (MM2)

11

TX: MEMORY MANAGEMENT 1 (MM1)

10

TX: MEMORY MANAGEMENT 0 (MM0)

9

RX: EOM INT

8

RX: CIRC BUF INT

7

RX: MEMORY MANAGEMENT 2 (MM2)

6

RX: MEMORY MANAGEMENT 1 (MM1)

5

RX: MEMORY MANAGEMENT 0 (MM0)

4

BCST: EOM INT

3

BCST: CIRC BUF INT

2

BCST: MEMORY MANAGEMENT 2 (MM2)

1

BCST: MEMORY MANAGEMENT 1 (MM1)

0

BCST: MEMORY MANAGEMENT 0 (MM0)

 

注意,對于發(fā)送子地址,我們可以選擇使用單緩沖或循環(huán)緩沖內存方式,而雙緩沖模式則不用于發(fā)送子地址。

 

2.4.3  RT編程

對于RT編程,首先初始化相應的寄存器;然后設置非法區(qū)、初始化相應子地址的查詢表及子地址控制字;最后設置配置寄存器1使設備處于RT模式。此后該設備就處于在線,只要BC發(fā)送一條消息命令與該設備相關,那么該設備就會做出反映。處理RT消息時,這里也有四個字的塊描述符,即塊狀態(tài)字、時間標志字、數(shù)據(jù)塊起始地址指針和接收到的16位命令字。與BC模式一樣,要讀取接收到的消息,我們應該首先從堆棧指針A中讀取當前消息的堆棧指針,然后減4后來分別讀出塊狀態(tài)字、時間標志字、上一條消息的塊地址和命令字(該命令字中包含數(shù)據(jù)長度、RT地址、子地址以及是發(fā)送或接收標志);最后根據(jù)數(shù)據(jù)長度從此塊地址讀出接收到的數(shù)據(jù)。

 

2.5  MT模式操作

MT,即監(jiān)控模式,它包含三種不同的總線監(jiān)控模式:(1)字監(jiān)控;(2)可選擇的消息監(jiān)控;(3)組合的RT/可選擇的消息監(jiān)控模式。本文主要介紹可選擇的消息監(jiān)控方式。消息監(jiān)控包含一個命令堆棧和一個數(shù)據(jù)堆棧,它們位于RAM中固定的位置。

 

2.5.1  消息監(jiān)控格式

在數(shù)據(jù)堆棧中的消息格式取決于要處理的消息類型。BC-To-RT命令傳輸會把命令字存儲在監(jiān)控命令字堆棧中,數(shù)據(jù)跟隨在接收到的RT狀態(tài)字后面一起存儲在監(jiān)控數(shù)據(jù)堆棧中。注意,讀取到的監(jiān)控消息需要:塊狀態(tài)字(用來決定消息是否是RT-To-RT傳輸),命令字(用來決定消息格式和字數(shù),如發(fā)送、接收、模式編碼、廣播等),數(shù)據(jù)指針。

 

2.5.2  MT編程

對于MT編程,首先初始化相應寄存器及配置寄存器1來使該設備處于MT模式;然后初始化監(jiān)控命令堆棧指針和數(shù)據(jù)堆棧指針,初始化可選擇的監(jiān)控查詢表;最后啟動MT。中斷處理時,首先讀取中斷狀態(tài)寄存器,判斷是否是EOM中斷;其次從命令字堆棧所初始化的堆棧地址開始讀取塊狀態(tài)字、時間標志字、數(shù)據(jù)指針及命令字;最后從數(shù)據(jù)指針所指的地址中讀取狀態(tài)字和數(shù)據(jù)。注意,此后堆棧指針應該加4,一直到1K環(huán)繞。

 

3 軟件部分

   該軟件部分主要工作在VxWorks嵌入式操作系統(tǒng)中,軟件的任務首先是通過PCI總線查找PCI9052的存在與否,然后獲取IO、內存以及中斷資源以供驅動程序使用。軟件的主要任務就是初始化DDC61580相關寄存器以及內存,并使之工作于其中一種模式(BCRTMT)。比如下面一段程序就是使DDC61580工作于RT模式。

//Start RT Test

       for(i=0;i<256;i++)

              _acMemWrite(STACK_A + i ,0x0000);

 

       _acMemWrite(STACK_POINTER_A ,0x0000);                 //Initialize Stack

      

       //Initialize lookup

       for(i=0;i<128;i++)

              _acMemWrite((LOOKUP_A + i) ,0xffff);

 

       for(i=0;i<32;i++)

              _acMemWrite((0x400 + i) ,0xffff);

 

       _acMemWrite(0x162  ,0x0260);         //sa2,transmit

       _acMemWrite(0x1a2  ,0x8000);         //sa2

      

       _acMemWrite(0x143  ,0x0400);         //sa3,receive

       _acMemWrite(0x1a3  ,0x0260);         //sa3,single message,EOM interrupt enabled

 

       for(i=0;i<32;i++)

              _acMemWrite((0x3c0 +i)  ,0x0000);          //sa2

      

       for(i=0;i<32;i++)

              _acMemWrite((0x400  + i) ,i);

      

       _acRegWrite(REG_CFG1_RW,0x8f80);       //0x8f80

 

4 CPLD邏輯部分

在該系統(tǒng)中,PCI9052采用的是ISA模式。對于ISA模式,首先必須確保硬件按照Datasheet上所說的進行配置,其次是EPROM內容的編寫。EPROM內容最重要的就是LAS0RR、LAS1RR、LAS0BA、LAS1BA、CS0BASECS1BASE。它們分別對應于Local Configuration Registers偏移值為00h、04h、14h18hLAS0RR定義了內存地址空間大小,如0x1fff,那么它的值應為0xFFFE000LAS1RR定義了IO地址空間大小,如0x3f,那么它的值應為0xFFFFFC1;LAS0BA為內存地址的基地址,也就是訪問外部設備用的基地址,如0xD0001,表示外部設備內存基地址為0xD0000;LAS1BAIO地址的基地址,也就是訪問外部設備用的IO基地址,如0x201,表示外部設備內存基地址為0x200。CS0BASECS1BASE根據(jù)基地址和地址范圍來定義。具體請參考PCI9052數(shù)據(jù)手冊。

要訪問外部設備(如基地址為0x200),PCI9052與外部設備之間就必須有相應的邏輯控制以使能夠訪問到外部設備。在PC機端只需要訪問PCI配置寄存器讀取的局部地址空間0、1即可。因為ISA>PCI之間的轉換是PCI9052自動完成的。對于DDC61580,需要控制的信號有:/SELECT、/STRBDMEM//REG、RD//WR、/MSTCLR、/READY;而對于PCI9052則需要/MEMRD、/MEMWR/IORD、/IOWR、LRESET、CHRDY以及需要的地址信號,至于所需要的地址信號,我們可以和ISA總線進行地址譯碼一樣。

懂得了上述PCI9052DDC61580之間的邏輯關系,要表達出來就很容易了。具體的代碼在此就不寫了。

 

5 注意

在硬件設計上,必須嚴格按照DDC61580PCI9052說明書上進行相關引腳的處理。比如對于DDC61580工作有幾種模式,必須正確設置;而PCI9052 EEPROM內容的編寫也一定要正確。

 

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉