999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

1553B總線遠(yuǎn)程終端的一種設(shè)計

2014-12-01 09:01:19姜曉莊
科技創(chuàng)新導(dǎo)報 2014年28期
關(guān)鍵詞:設(shè)置設(shè)計

姜曉莊

摘 要:該文首先簡要介紹了MTL-STD-1553B總線情況,然后介紹了某產(chǎn)品的總線設(shè)計,該產(chǎn)品是在BU-61580的基礎(chǔ)上設(shè)計的總線的遠(yuǎn)程中端(RT);詳細(xì)介紹了該產(chǎn)品的設(shè)計方法,并針對該產(chǎn)品總線消息幀特點,著重介紹了BU-61580消息堆棧的設(shè)計。經(jīng)驗證,產(chǎn)品能可靠地完成與總線控制器(BC)的通信。

關(guān)鍵詞:MTL-STD-1553B RT 遠(yuǎn)程終端 消息

中圖分類號:TP4 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-098X(2014)10(a)-0051-04

A Design of MSL-STD-1553Bs Remote Terminal

JIANG Xiaozhuang

(China Airbome Missile Academy,Luoyang Henan,471009,China)

Abstract:This paper introduces the situation MSL-STD-1553B first,then introduces the bus design of one product,it is an remote terminal(RT),designed based on BU-61580.Then introduces the design method of the product in detail,and focus on the design of message stack according to the characteristics of the product. After verification,the product can communication with BUS CONTROLLER reliably.

Key words:MTL-STD-1553B RT remote terminal message

隨著計算機計數(shù)的發(fā)展,航空電子綜合化也在飛速的發(fā)展,綜合化系統(tǒng)中的每個子系統(tǒng)都通過總線發(fā)送和接收消息,現(xiàn)代航空電子綜合化系統(tǒng)通常采用MTL-STD-1553B多路傳輸數(shù)據(jù)總線通訊系統(tǒng),MTL-STD-1553B通信網(wǎng)絡(luò)系統(tǒng)包括終端和電纜等,總線的傳輸速度1M比特。終端類型有總線控制器(BC)、遠(yuǎn)程終端(RT)和總線監(jiān)視器(BM)。

BU-61580是美國DDC公司生產(chǎn)的MTL-STD-1553B總線協(xié)議芯片,可以分別作為BC/RT/MT。它具有靈活的處理器/存儲器接口、幀自動重復(fù)總線控制、自動重試總線控制、可靠性高等特點,能滿足各類應(yīng)用環(huán)境的要求。本文介紹的是一種遠(yuǎn)程終端(RT)的設(shè)計。

1 系統(tǒng)概述

該產(chǎn)品采用dsp(TMS320F240)加BU-61580進(jìn)行總線設(shè)計,設(shè)計完成后,該產(chǎn)品可以作為通信系統(tǒng)的遠(yuǎn)程終端(RT)進(jìn)行工作。

該產(chǎn)品總線接口協(xié)議有如下特點:該系統(tǒng)總線消息分為周期消息和事件消息,周期消息和事件消息以信息幀的形式發(fā)送,每幀發(fā)送計數(shù)到的周期消息和需要發(fā)送的事件消息。為了適應(yīng)該總線消息的特點,產(chǎn)品作為遠(yuǎn)程終端對BU-61580消息接收響應(yīng)進(jìn)行了特殊的優(yōu)化設(shè)計。

該產(chǎn)品總線部分的功能設(shè)計主要由兩部分組成,硬件設(shè)計和軟件設(shè)計。

2 硬件設(shè)計

通過硬件連接,BU-61580的寄存器和數(shù)據(jù)空間被映射為dsp的外擴存儲器,dsp通過訪問和修改其外部存儲空間,完成對BU-61580的設(shè)置及總線數(shù)據(jù)讀寫工作,其硬件鏈接如圖1所示。

BU-61580主要管腳設(shè)計有以下內(nèi)容:

clock in:接16 M時鐘。

MSTCLR:控制器復(fù)位,上電后至少100ns的低電平。

D15~D0:直接與dsp數(shù)據(jù)線D15~D0連接。

A15~A0:BU-61580的A11~A0接dsp的A11~A0,A15~A12懸空。

SELECT及MEM/REG:dsp的A15~A12譯碼作為SELECT和MEM/REG,完成地址空間映射dsp的0x8000和0x9000映射為61580的數(shù)據(jù)空間和寄存器空間的起始地址(此處若僅使用數(shù)據(jù)空間,則在譯碼時將dsp的DS作為譯碼條件之一)。

RD/WR:讀寫有效信號,直接與dsp 的RD/WR連接。

STRBD:與SELECT一起初始化控制主處理器與BU-61580的數(shù)據(jù)傳輸。此處直接與dsp的STRBD連接。

READYD:與主機的握手信號,高電平標(biāo)識地址線數(shù)據(jù)線占用??赏ㄟ^譯碼后送dsp連接,在譯碼時可加入SELECT等信號作為譯碼條件。

INT:芯片中斷,本文直接連接dsp外部中斷1。

TRIGGER_SEL:在16bit緩存模式下,無連接。

MSB/LSB:在緩存模式下,MSB/LSB用來說明哪一個比特是當(dāng)前被傳輸?shù)?。M S B/L S B的邏輯功能由POLARITY_SEL輸入控制,只用于在8bit緩存模式下。此設(shè)計不用,無連接。

ADD_LAT:CPU地址占用。此處置高電平。

16bit/8bit:傳輸模式選擇。如果是邏輯1,表示16bit,反之則為8bit。該文為邏輯1,置高電平。

POLARITY_SEL:POLARITY_SEL讀極性選擇,該文選擇與dsp讀寫相同,置高電平。

ZERO_WAIT:在緩存模式下,用于選擇零狀態(tài)模式和非零狀態(tài)模式,這里置低電平,不需要確認(rèn)握手信號的連接。

TRANSPARENT/BUFFERED:選擇透明模式或者緩存模式,該文選緩存模式,置低電平。

SSFLAG/EXT_TRIG:子系統(tǒng)標(biāo)志或外部觸發(fā)輸入,該文不用,無連接。endprint

TAG_CLK:外部時間標(biāo)簽時鐘,該文不使用外部時間標(biāo)簽時鐘。無連接。

TX/RXA TX/RXB:總線通道A和B,經(jīng)過耦合器后接出。

RTAD4-RTAD0及RTADP:終端地址及奇校驗設(shè)置,此處由上位機設(shè)置。

3 軟件設(shè)計

軟件主要有兩部分組成,主程序和中斷處理程序。

主程序完成dsp的初始化、61580初始化、根據(jù)接收的消息標(biāo)志,完成消息處理,以及根據(jù)需要更新需要發(fā)送的消息,如圖2所示。關(guān)于dsp的初始化此處不再詳細(xì)描述,重點介紹61580初始化。

消息中斷處理程序完成已接收消息的標(biāo)志置位,對于需要及時處理的消息,在中斷中完成處理,詳述見下文。

3.1 BU-61580芯片初始化

該產(chǎn)品總線通信協(xié)議有以下特點:消息分為兩類,周期類消息、事件消息;周期類消息每個周期打包發(fā)送;消息可雙通道通信;對于不同時間,同一個子地址消息,重點考慮最新的消息內(nèi)容。

根據(jù)上述協(xié)議特點,對BU-61580進(jìn)行如下設(shè)置:RT增強模式、單消息模式、消息結(jié)束中斷等。

其具體工作流程如下:dsp上電后,由dsp通過訪問61580的寄存器空間(本文中,其空間映射為dsp的0x9000地址為起始的數(shù)據(jù)空間)完成61580的工作模式設(shè)置。

具體寄存器設(shè)置,可見如下代碼:

/*定義BU-61580寄存器空間基地址*/

unsigned int *pAceReg= (unsigned int *)0x9000;

/*BU-61580寄存器初始化*/

*(pAceReg+3)=0x0001;

* pAceReg=0x2013;

*(pAceReg+1)=0x8f80;

*(pAceReg+2)=0x8410;

*(pAceReg+7)=0x8080;

*(pAceReg+8)=0x0008;

*(pAceReg+9)=0x0000;

dsp通過訪問61580的數(shù)據(jù)空間(映射為dsp的0x8000地址為起始的數(shù)據(jù)空間),完成堆棧指針設(shè)置,Stack Pointer A的設(shè)置(本文不使用堆棧B),查詢表設(shè)置(分配發(fā)送數(shù)據(jù)空間映射,分配接收數(shù)據(jù)的空間映射,子地址控制字配置:發(fā)送、接收消息結(jié)束中斷),待發(fā)送消息的初始化等,具體代碼參考:

/*定義BU-61580數(shù)據(jù)空間基地址*/

unsigned int * pAceMem= (unsigned int *)0x8000;

/* BU-61580數(shù)據(jù)空間初始化*/

/*清空數(shù)據(jù)空間*/

……

/*配置數(shù)據(jù)空間*/

*(pAceReg+0x0100) = 0x0000; /*堆棧指針A配置*/

/*配置查詢表*/

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

{

*(pAceReg+0x0140+i) = 0x0400+i*32;

}

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

{

*(pAceReg+0x01A0+i) = 0x0420;

}

/*初始化發(fā)送消息*/

……

3.2 消息中斷處理設(shè)計

在初始化中將BU-61580的中斷響應(yīng)設(shè)置為消息結(jié)束中斷,所以在每次完成消息的接受或發(fā)送后,BU-61580都會向dsp發(fā)送中斷請求,當(dāng)dsp收到中斷請求后,產(chǎn)生中斷并進(jìn)入中斷處理程序,對于需要立即處理的消息,在中斷內(nèi)直接處理,對以處理量較大消息設(shè)消息標(biāo)志,放主程序處理,主程序根據(jù)中斷標(biāo)志處理數(shù)據(jù)。

在進(jìn)入中斷處理程序后,首先需要進(jìn)行的工作是從消息堆棧中讀出消息描述,根據(jù)消息描述進(jìn)行標(biāo)志置位及消息處理。在從消息堆棧中讀取消息時需要注意以下幾個問題。

(1)消息堆棧長度為0x100、每個消息描述長度為4,可存儲64個消息描述,當(dāng)消息描述超過64時會產(chǎn)生溢出并循環(huán)覆蓋,當(dāng)接收將要溢出的最后一幀消息后,其堆棧指針會從0x0fc變?yōu)?x000,此時進(jìn)行消息描述讀取時需注意。

(2)當(dāng)1553中斷請求未能及時響應(yīng),而再次接收到消息時,可能出現(xiàn)兩種情況,第一種是,當(dāng)dsp相應(yīng)中斷,準(zhǔn)備去處理第一個消息時,第二個消息已經(jīng)接收完畢,此時BU-61580的消息堆棧指針指向第二個消息的棧頂。若直接讀取堆棧指針進(jìn)行數(shù)據(jù)處理可能將前一個消息丟失;第二種情況是,當(dāng)dsp響應(yīng)中斷,準(zhǔn)備去處理第一個消息時,第二個消息正在接收,此時61580的消息堆棧指針指向第二個消息的棧頂。若直接讀取堆棧指針進(jìn)行數(shù)據(jù)處理的時不僅會丟失前一個消息,而且可能由于第二個消息未接收完畢,處理信息時還是舊信息,而有可能將最新的消息丟失。

針對上述兩個問題,對消息處理進(jìn)行以下設(shè)計:設(shè)置指針變量PreStackTop儲存上一次處理消息時的棧頂,當(dāng)有新消息時讀取消息堆棧指針存放至StackTop,每一次中斷都循環(huán)判斷PreStackTop與StackTop是否相等,不相等時,根據(jù)PreStackTop讀取并處理消息,然后將PreStackTop加4(若PreStackTop加4后為0x100則將PreStackTop清零),循環(huán)處理,直至與StackTop相等,同時在進(jìn)行消息處理前首先判斷消息是否接收完成,若未完成則結(jié)束中斷處理,等待下一次中斷處理。原理及程序流程見圖3和圖4。

4 結(jié)語

為了實現(xiàn)1553B總線通信,本文設(shè)計了一種基于dsp加61580的總線遠(yuǎn)程終端,可以作為總線終端進(jìn)行通信,經(jīng)測試該系統(tǒng)能較好地完成同總線控制器(BC)的正常通信,并且在消息量較大的情況下也能穩(wěn)定工作。本文介紹了該系統(tǒng)硬件和軟件的詳細(xì)設(shè)計內(nèi)容,具有較實用的參考價值。

參考文獻(xiàn)

[1] 伏鹍,陳紹煒.61580芯片與DSP芯片的連接關(guān)系分析[J].信息安全與通信保密,2009(3):82-84.

[2] 顧驤.用于1553總線控制器的存儲單元設(shè)計[J].電子科技大學(xué),2003,32(3).

[3] 林強.dsp在1553總線接口技術(shù)中的應(yīng)用[J].微計算機應(yīng)用,2004,25(3).

[4] MSL-STD-1553A/B NOTICE 2 RT and BC/RT/MT,ADVANCED COMMUNICATION ENGINE (ACE)[Z].endprint

TAG_CLK:外部時間標(biāo)簽時鐘,該文不使用外部時間標(biāo)簽時鐘。無連接。

TX/RXA TX/RXB:總線通道A和B,經(jīng)過耦合器后接出。

RTAD4-RTAD0及RTADP:終端地址及奇校驗設(shè)置,此處由上位機設(shè)置。

3 軟件設(shè)計

軟件主要有兩部分組成,主程序和中斷處理程序。

主程序完成dsp的初始化、61580初始化、根據(jù)接收的消息標(biāo)志,完成消息處理,以及根據(jù)需要更新需要發(fā)送的消息,如圖2所示。關(guān)于dsp的初始化此處不再詳細(xì)描述,重點介紹61580初始化。

消息中斷處理程序完成已接收消息的標(biāo)志置位,對于需要及時處理的消息,在中斷中完成處理,詳述見下文。

3.1 BU-61580芯片初始化

該產(chǎn)品總線通信協(xié)議有以下特點:消息分為兩類,周期類消息、事件消息;周期類消息每個周期打包發(fā)送;消息可雙通道通信;對于不同時間,同一個子地址消息,重點考慮最新的消息內(nèi)容。

根據(jù)上述協(xié)議特點,對BU-61580進(jìn)行如下設(shè)置:RT增強模式、單消息模式、消息結(jié)束中斷等。

其具體工作流程如下:dsp上電后,由dsp通過訪問61580的寄存器空間(本文中,其空間映射為dsp的0x9000地址為起始的數(shù)據(jù)空間)完成61580的工作模式設(shè)置。

具體寄存器設(shè)置,可見如下代碼:

/*定義BU-61580寄存器空間基地址*/

unsigned int *pAceReg= (unsigned int *)0x9000;

/*BU-61580寄存器初始化*/

*(pAceReg+3)=0x0001;

* pAceReg=0x2013;

*(pAceReg+1)=0x8f80;

*(pAceReg+2)=0x8410;

*(pAceReg+7)=0x8080;

*(pAceReg+8)=0x0008;

*(pAceReg+9)=0x0000;

dsp通過訪問61580的數(shù)據(jù)空間(映射為dsp的0x8000地址為起始的數(shù)據(jù)空間),完成堆棧指針設(shè)置,Stack Pointer A的設(shè)置(本文不使用堆棧B),查詢表設(shè)置(分配發(fā)送數(shù)據(jù)空間映射,分配接收數(shù)據(jù)的空間映射,子地址控制字配置:發(fā)送、接收消息結(jié)束中斷),待發(fā)送消息的初始化等,具體代碼參考:

/*定義BU-61580數(shù)據(jù)空間基地址*/

unsigned int * pAceMem= (unsigned int *)0x8000;

/* BU-61580數(shù)據(jù)空間初始化*/

/*清空數(shù)據(jù)空間*/

……

/*配置數(shù)據(jù)空間*/

*(pAceReg+0x0100) = 0x0000; /*堆棧指針A配置*/

/*配置查詢表*/

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

{

*(pAceReg+0x0140+i) = 0x0400+i*32;

}

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

{

*(pAceReg+0x01A0+i) = 0x0420;

}

/*初始化發(fā)送消息*/

……

3.2 消息中斷處理設(shè)計

在初始化中將BU-61580的中斷響應(yīng)設(shè)置為消息結(jié)束中斷,所以在每次完成消息的接受或發(fā)送后,BU-61580都會向dsp發(fā)送中斷請求,當(dāng)dsp收到中斷請求后,產(chǎn)生中斷并進(jìn)入中斷處理程序,對于需要立即處理的消息,在中斷內(nèi)直接處理,對以處理量較大消息設(shè)消息標(biāo)志,放主程序處理,主程序根據(jù)中斷標(biāo)志處理數(shù)據(jù)。

在進(jìn)入中斷處理程序后,首先需要進(jìn)行的工作是從消息堆棧中讀出消息描述,根據(jù)消息描述進(jìn)行標(biāo)志置位及消息處理。在從消息堆棧中讀取消息時需要注意以下幾個問題。

(1)消息堆棧長度為0x100、每個消息描述長度為4,可存儲64個消息描述,當(dāng)消息描述超過64時會產(chǎn)生溢出并循環(huán)覆蓋,當(dāng)接收將要溢出的最后一幀消息后,其堆棧指針會從0x0fc變?yōu)?x000,此時進(jìn)行消息描述讀取時需注意。

(2)當(dāng)1553中斷請求未能及時響應(yīng),而再次接收到消息時,可能出現(xiàn)兩種情況,第一種是,當(dāng)dsp相應(yīng)中斷,準(zhǔn)備去處理第一個消息時,第二個消息已經(jīng)接收完畢,此時BU-61580的消息堆棧指針指向第二個消息的棧頂。若直接讀取堆棧指針進(jìn)行數(shù)據(jù)處理可能將前一個消息丟失;第二種情況是,當(dāng)dsp響應(yīng)中斷,準(zhǔn)備去處理第一個消息時,第二個消息正在接收,此時61580的消息堆棧指針指向第二個消息的棧頂。若直接讀取堆棧指針進(jìn)行數(shù)據(jù)處理的時不僅會丟失前一個消息,而且可能由于第二個消息未接收完畢,處理信息時還是舊信息,而有可能將最新的消息丟失。

針對上述兩個問題,對消息處理進(jìn)行以下設(shè)計:設(shè)置指針變量PreStackTop儲存上一次處理消息時的棧頂,當(dāng)有新消息時讀取消息堆棧指針存放至StackTop,每一次中斷都循環(huán)判斷PreStackTop與StackTop是否相等,不相等時,根據(jù)PreStackTop讀取并處理消息,然后將PreStackTop加4(若PreStackTop加4后為0x100則將PreStackTop清零),循環(huán)處理,直至與StackTop相等,同時在進(jìn)行消息處理前首先判斷消息是否接收完成,若未完成則結(jié)束中斷處理,等待下一次中斷處理。原理及程序流程見圖3和圖4。

4 結(jié)語

為了實現(xiàn)1553B總線通信,本文設(shè)計了一種基于dsp加61580的總線遠(yuǎn)程終端,可以作為總線終端進(jìn)行通信,經(jīng)測試該系統(tǒng)能較好地完成同總線控制器(BC)的正常通信,并且在消息量較大的情況下也能穩(wěn)定工作。本文介紹了該系統(tǒng)硬件和軟件的詳細(xì)設(shè)計內(nèi)容,具有較實用的參考價值。

參考文獻(xiàn)

[1] 伏鹍,陳紹煒.61580芯片與DSP芯片的連接關(guān)系分析[J].信息安全與通信保密,2009(3):82-84.

[2] 顧驤.用于1553總線控制器的存儲單元設(shè)計[J].電子科技大學(xué),2003,32(3).

[3] 林強.dsp在1553總線接口技術(shù)中的應(yīng)用[J].微計算機應(yīng)用,2004,25(3).

[4] MSL-STD-1553A/B NOTICE 2 RT and BC/RT/MT,ADVANCED COMMUNICATION ENGINE (ACE)[Z].endprint

TAG_CLK:外部時間標(biāo)簽時鐘,該文不使用外部時間標(biāo)簽時鐘。無連接。

TX/RXA TX/RXB:總線通道A和B,經(jīng)過耦合器后接出。

RTAD4-RTAD0及RTADP:終端地址及奇校驗設(shè)置,此處由上位機設(shè)置。

3 軟件設(shè)計

軟件主要有兩部分組成,主程序和中斷處理程序。

主程序完成dsp的初始化、61580初始化、根據(jù)接收的消息標(biāo)志,完成消息處理,以及根據(jù)需要更新需要發(fā)送的消息,如圖2所示。關(guān)于dsp的初始化此處不再詳細(xì)描述,重點介紹61580初始化。

消息中斷處理程序完成已接收消息的標(biāo)志置位,對于需要及時處理的消息,在中斷中完成處理,詳述見下文。

3.1 BU-61580芯片初始化

該產(chǎn)品總線通信協(xié)議有以下特點:消息分為兩類,周期類消息、事件消息;周期類消息每個周期打包發(fā)送;消息可雙通道通信;對于不同時間,同一個子地址消息,重點考慮最新的消息內(nèi)容。

根據(jù)上述協(xié)議特點,對BU-61580進(jìn)行如下設(shè)置:RT增強模式、單消息模式、消息結(jié)束中斷等。

其具體工作流程如下:dsp上電后,由dsp通過訪問61580的寄存器空間(本文中,其空間映射為dsp的0x9000地址為起始的數(shù)據(jù)空間)完成61580的工作模式設(shè)置。

具體寄存器設(shè)置,可見如下代碼:

/*定義BU-61580寄存器空間基地址*/

unsigned int *pAceReg= (unsigned int *)0x9000;

/*BU-61580寄存器初始化*/

*(pAceReg+3)=0x0001;

* pAceReg=0x2013;

*(pAceReg+1)=0x8f80;

*(pAceReg+2)=0x8410;

*(pAceReg+7)=0x8080;

*(pAceReg+8)=0x0008;

*(pAceReg+9)=0x0000;

dsp通過訪問61580的數(shù)據(jù)空間(映射為dsp的0x8000地址為起始的數(shù)據(jù)空間),完成堆棧指針設(shè)置,Stack Pointer A的設(shè)置(本文不使用堆棧B),查詢表設(shè)置(分配發(fā)送數(shù)據(jù)空間映射,分配接收數(shù)據(jù)的空間映射,子地址控制字配置:發(fā)送、接收消息結(jié)束中斷),待發(fā)送消息的初始化等,具體代碼參考:

/*定義BU-61580數(shù)據(jù)空間基地址*/

unsigned int * pAceMem= (unsigned int *)0x8000;

/* BU-61580數(shù)據(jù)空間初始化*/

/*清空數(shù)據(jù)空間*/

……

/*配置數(shù)據(jù)空間*/

*(pAceReg+0x0100) = 0x0000; /*堆棧指針A配置*/

/*配置查詢表*/

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

{

*(pAceReg+0x0140+i) = 0x0400+i*32;

}

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

{

*(pAceReg+0x01A0+i) = 0x0420;

}

/*初始化發(fā)送消息*/

……

3.2 消息中斷處理設(shè)計

在初始化中將BU-61580的中斷響應(yīng)設(shè)置為消息結(jié)束中斷,所以在每次完成消息的接受或發(fā)送后,BU-61580都會向dsp發(fā)送中斷請求,當(dāng)dsp收到中斷請求后,產(chǎn)生中斷并進(jìn)入中斷處理程序,對于需要立即處理的消息,在中斷內(nèi)直接處理,對以處理量較大消息設(shè)消息標(biāo)志,放主程序處理,主程序根據(jù)中斷標(biāo)志處理數(shù)據(jù)。

在進(jìn)入中斷處理程序后,首先需要進(jìn)行的工作是從消息堆棧中讀出消息描述,根據(jù)消息描述進(jìn)行標(biāo)志置位及消息處理。在從消息堆棧中讀取消息時需要注意以下幾個問題。

(1)消息堆棧長度為0x100、每個消息描述長度為4,可存儲64個消息描述,當(dāng)消息描述超過64時會產(chǎn)生溢出并循環(huán)覆蓋,當(dāng)接收將要溢出的最后一幀消息后,其堆棧指針會從0x0fc變?yōu)?x000,此時進(jìn)行消息描述讀取時需注意。

(2)當(dāng)1553中斷請求未能及時響應(yīng),而再次接收到消息時,可能出現(xiàn)兩種情況,第一種是,當(dāng)dsp相應(yīng)中斷,準(zhǔn)備去處理第一個消息時,第二個消息已經(jīng)接收完畢,此時BU-61580的消息堆棧指針指向第二個消息的棧頂。若直接讀取堆棧指針進(jìn)行數(shù)據(jù)處理可能將前一個消息丟失;第二種情況是,當(dāng)dsp響應(yīng)中斷,準(zhǔn)備去處理第一個消息時,第二個消息正在接收,此時61580的消息堆棧指針指向第二個消息的棧頂。若直接讀取堆棧指針進(jìn)行數(shù)據(jù)處理的時不僅會丟失前一個消息,而且可能由于第二個消息未接收完畢,處理信息時還是舊信息,而有可能將最新的消息丟失。

針對上述兩個問題,對消息處理進(jìn)行以下設(shè)計:設(shè)置指針變量PreStackTop儲存上一次處理消息時的棧頂,當(dāng)有新消息時讀取消息堆棧指針存放至StackTop,每一次中斷都循環(huán)判斷PreStackTop與StackTop是否相等,不相等時,根據(jù)PreStackTop讀取并處理消息,然后將PreStackTop加4(若PreStackTop加4后為0x100則將PreStackTop清零),循環(huán)處理,直至與StackTop相等,同時在進(jìn)行消息處理前首先判斷消息是否接收完成,若未完成則結(jié)束中斷處理,等待下一次中斷處理。原理及程序流程見圖3和圖4。

4 結(jié)語

為了實現(xiàn)1553B總線通信,本文設(shè)計了一種基于dsp加61580的總線遠(yuǎn)程終端,可以作為總線終端進(jìn)行通信,經(jīng)測試該系統(tǒng)能較好地完成同總線控制器(BC)的正常通信,并且在消息量較大的情況下也能穩(wěn)定工作。本文介紹了該系統(tǒng)硬件和軟件的詳細(xì)設(shè)計內(nèi)容,具有較實用的參考價值。

參考文獻(xiàn)

[1] 伏鹍,陳紹煒.61580芯片與DSP芯片的連接關(guān)系分析[J].信息安全與通信保密,2009(3):82-84.

[2] 顧驤.用于1553總線控制器的存儲單元設(shè)計[J].電子科技大學(xué),2003,32(3).

[3] 林強.dsp在1553總線接口技術(shù)中的應(yīng)用[J].微計算機應(yīng)用,2004,25(3).

[4] MSL-STD-1553A/B NOTICE 2 RT and BC/RT/MT,ADVANCED COMMUNICATION ENGINE (ACE)[Z].endprint

猜你喜歡
設(shè)置設(shè)計
中隊崗位該如何設(shè)置
少先隊活動(2021年4期)2021-07-23 01:46:22
何為設(shè)計的守護(hù)之道?
《豐收的喜悅展示設(shè)計》
流行色(2020年1期)2020-04-28 11:16:38
7招教你手動設(shè)置參數(shù)
瞞天過?!律O(shè)計萌到家
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
本刊欄目設(shè)置說明
中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
艦船人員編制的設(shè)置與控制
主站蜘蛛池模板: 中文国产成人精品久久| 亚洲综合第一区| 亚洲人成电影在线播放| 久久美女精品| 国产成人91精品| 老司国产精品视频91| 国产成年无码AⅤ片在线| 91av成人日本不卡三区| 欧美日韩第三页| 日韩视频免费| 69国产精品视频免费| 欧美性天天| 91系列在线观看| 国产成人1024精品下载| 色AV色 综合网站| 国产一级小视频| 成人日韩精品| 99热亚洲精品6码| 婷婷六月天激情| 国产黑丝一区| 一级一级一片免费| 熟女视频91| 久久久久无码精品| 一级不卡毛片| 亚洲精品成人福利在线电影| www.精品视频| 欧美性爱精品一区二区三区| 小13箩利洗澡无码视频免费网站| 日韩无码黄色网站| 亚洲中文字幕手机在线第一页| 在线观看亚洲成人| 美女亚洲一区| 一本一道波多野结衣一区二区 | 国产va在线观看| 欧美午夜小视频| 欧美特黄一级大黄录像| 亚洲an第二区国产精品| 国产成人一区在线播放| 在线观看91精品国产剧情免费| 九九线精品视频在线观看| 国产精品成人观看视频国产 | 在线综合亚洲欧美网站| 92精品国产自产在线观看| 日本伊人色综合网| 四虎在线观看视频高清无码| 青草午夜精品视频在线观看| 国产性精品| 综合色88| 久久不卡国产精品无码| 激情综合婷婷丁香五月尤物| 中文字幕资源站| 美女国产在线| 亚洲欧美色中文字幕| 国产69精品久久久久孕妇大杂乱| 91麻豆精品视频| 亚洲91精品视频| 国产精品网曝门免费视频| 日韩精品一区二区三区swag| 亚洲精品第1页| 秋霞一区二区三区| 看av免费毛片手机播放| 中文字幕在线看| 伊人色在线视频| 欧美色99| 高潮爽到爆的喷水女主播视频| AV在线天堂进入| 亚洲欧洲日韩久久狠狠爱| 久久久久青草大香线综合精品 | 日韩免费毛片| 久久福利片| 9cao视频精品| 亚洲精品视频网| 亚洲A∨无码精品午夜在线观看| 亚洲,国产,日韩,综合一区| 国产福利大秀91| 亚洲开心婷婷中文字幕| 日韩精品亚洲精品第一页| 精品久久久久久成人AV| 国产精品密蕾丝视频| 亚洲系列中文字幕一区二区| 伊人狠狠丁香婷婷综合色| 久久性视频|