<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于BU65170與單片機(jī)系統(tǒng)的RT設(shè)計與實(shí)現(xiàn)

          基于BU65170與單片機(jī)系統(tǒng)的RT設(shè)計與實(shí)現(xiàn)

          作者: 時間:2012-01-31 來源:網(wǎng)絡(luò) 收藏

          1 引言:

          1553B總線是一種時分制指令響應(yīng)型串行多路數(shù)據(jù)傳輸總線,它最早應(yīng)用于70年代末美國軍用飛機(jī)的航電系統(tǒng)中并取得了成功,因其具有一般數(shù)據(jù)總線所無法比擬的高可靠性和實(shí)時性,在很多重要的科技領(lǐng)域都得到了廣泛應(yīng)用。在我國,近年來1553B總線也廣泛應(yīng)用于航空航天電子設(shè)備、地面車輛系統(tǒng)、艦艇系統(tǒng)等不同的軍事平臺上以及一些民用設(shè)備中。本文在所研制的某人造衛(wèi)星有效載荷測控系統(tǒng)中,基于星上數(shù)據(jù)管理系統(tǒng)所采用的1553B總線,選用了專門用于 RT模式的總線協(xié)議芯片BU65170,設(shè)計了BU65170與單片機(jī)控制器的硬件接口,編制了BU65170的初始化和控制軟件,最終實(shí)現(xiàn)了有效載荷對星上數(shù)據(jù)管理系統(tǒng)所發(fā)的內(nèi)部指令、數(shù)據(jù)注入以及廣播時間碼的接收,同時將有效載荷測量數(shù)據(jù)打包傳輸?shù)?553B總線上。

          2BU65170芯片介紹

          BU65170是DDC公司的第五代1553產(chǎn)品,它構(gòu)成了MCU處理器與1553B總線間的智能接口。BU65170的內(nèi)部結(jié)構(gòu)如圖1所示。

          圖1 BU65170 內(nèi)部結(jié)構(gòu)圖

          如圖1所示:BU65170可選擇在12MHZ和16MHZ兩種時鐘頻率下工作。芯片內(nèi)部具有4K×16靜態(tài)數(shù)據(jù)存儲器以及17個功能寄存器。還集成了編碼/解碼器,雙收發(fā)器和協(xié)議處理器,數(shù)據(jù)按一定的協(xié)議經(jīng)編碼/解碼器處理,通過雙收發(fā)器A/B來完成與1553B總線間的數(shù)據(jù)傳遞,數(shù)據(jù)的傳輸速度最大可達(dá)1Mbit/s。

          協(xié)議控制器和存儲管理器使BU65170具有許多增強(qiáng)型的功能:數(shù)據(jù)的傳輸可以選擇在、雙緩沖、模式下進(jìn)行。對這三種數(shù)傳模式的靈活運(yùn)用不但能保證指令和數(shù)據(jù)收發(fā)的實(shí)時性,還支持大量的數(shù)據(jù)低誤碼率的快速傳輸;提供對消息的非法檢測功能。對于來自總線上的消息,協(xié)議控制器根據(jù)非法指令表初始化的內(nèi)容對其進(jìn)行判斷,響應(yīng)合法的消息,對無用的消息加以非法屏蔽。這樣可大大的提高系統(tǒng)的工作效率。

          BU65170通過中斷接口邏輯的控制可產(chǎn)生多種可屏蔽中斷。芯片內(nèi)部集成的中斷控制寄存器和中斷狀態(tài)寄存器。中斷控制寄存器用來允許或屏蔽不同類型中斷,當(dāng)有中斷服務(wù)請求時,CPU可以通過查詢中斷狀態(tài)寄存器來判斷引發(fā)中斷的消息類型,從而進(jìn)行相應(yīng)的控制操作。

          BU65170與MCU接口簡單,可應(yīng)用于8位或16位單片機(jī)系統(tǒng)中,并有多種接口方式,故在測控系統(tǒng)的RT設(shè)計時得到廣泛的應(yīng)用。

          3BU65170與單片機(jī)的硬件接口

          圖2給出了我們設(shè)計的BU65170作為接口芯片與單片機(jī)及星上1553B總線間的硬件接口示意圖。

          BU65170芯片的部分功能引腳介紹如下:

          MSB/LSB:高低字節(jié)判定位;

          POLARITY-SEL:在8位緩沖模式下,該腳為邏輯“0”時,MSB/LSB低電平時訪問低字節(jié),高電平時訪問高字節(jié);該腳為邏輯“1”時,MSB/LSB低電平時訪問高字節(jié),高電平時訪問低字節(jié);

          TRIGGER-SEL:在8位緩沖模式下,TRIGGER-SEL表示一對字節(jié)的傳輸規(guī)則。該腳為邏輯“0”時,讀、寫傳輸順序?yàn)橄鹊妥止?jié)后高字節(jié);該腳為邏輯“1”時,讀、寫傳輸順序?yàn)橄雀咦止?jié)后低字節(jié);

          MEM/REG:寄存器和存儲器選擇位,低電平時訪問寄存器,高電平時訪問存儲器;

          ADDR-LAT:地址鎖存,高電平時,讀取地址,低電平時,鎖存地址;

          RD/WR:讀寫控制信號,高電平時,執(zhí)行讀操作,低電平時,執(zhí)行寫操作;

          MSTCLR:復(fù)位端,接100ns負(fù)脈沖對芯片進(jìn)行復(fù)位;

          CLKIN:時鐘信號輸入端;

          INT:中斷請求信號,可程控選擇脈沖觸發(fā)和電平觸發(fā)兩種形式。脈沖觸發(fā):輸出大于

          500ns的負(fù)脈沖信號,觸發(fā)中斷服務(wù)請求;電平觸發(fā)時:低電平觸發(fā)中斷服務(wù)請求。

          如圖2所示:為簡化設(shè)計,節(jié)約線路板空間,本文BU65170采用與單片機(jī)相同的12M時鐘輸入。

          BU65170芯片內(nèi)部的寄存器和數(shù)據(jù)存儲器讀寫時均是按16位操作的(每個寄存器占兩個字節(jié)),而本文所應(yīng)用的MCU是8位單片機(jī),故對高低字節(jié)的操作采取分時讀寫的模式。先操作低字節(jié),后操作高字節(jié)。為了軟件設(shè)計時尋址簡單,將BU65170的MSB/LSB引腳連接到單片機(jī)的地址線的最低位 P0.0上。這樣單片機(jī)可以很方便的讀寫B(tài)U65170內(nèi)部寄存器或SRAM地址單元的高低字節(jié)。

          當(dāng)有通訊事件到來時,BU65170的 腳會產(chǎn)生一個中斷信號。將該信號送給單片機(jī)的外部中斷0,并設(shè)置相應(yīng)的軟件中斷優(yōu)先級,這樣就能保證通訊事件能夠及時被單片機(jī)獲知并做相關(guān)處理。

          由于單片機(jī)對BU65170片內(nèi)16位數(shù)據(jù)的高低字節(jié)采用分時讀寫的操作,故其高字節(jié)數(shù)據(jù)線D8-D15和低字節(jié)數(shù)據(jù)線D0-D7均直接連接到單片機(jī)的數(shù)據(jù)總線P0口上。為保證通訊時的電流輸出,在P0口與兩數(shù)據(jù)線間使用了總線驅(qū)動芯片74LS244。

          BU-65170另一端是通過耦合變壓器連接到1553B總線上的,其中A總線和B總線連接方式相同。變壓器選用的是美國DDC公司生產(chǎn)的B-3067。

          4BU65170與單片機(jī)接口軟件設(shè)計

          BU65170初始上電時,片內(nèi)的寄存器和靜態(tài)數(shù)據(jù)存儲器的內(nèi)容都是系統(tǒng)默認(rèn)的。軟件設(shè)計上的第一步就是要對這些功能寄存器和靜態(tài)數(shù)據(jù)存儲器進(jìn)行初始化。初始化過程中對有寄存器的賦值是有先后順序的。如果順序顛倒會導(dǎo)致初始化的失敗。例如啟動/復(fù)位寄存器必須要在初始化的最開始設(shè)置。該寄存器的最后一位置1時,BU65170片內(nèi)所有寄存器和地址單元都復(fù)位成上電時默認(rèn)的狀態(tài)。之后通過設(shè)置結(jié)構(gòu)寄存器3來啟用增強(qiáng)型功能模式。該功能啟用后,一些 BU65170較前幾代產(chǎn)品所具有的新功能將允許被使用。以上寄存器設(shè)置完畢后,其它部分則需按照設(shè)計要求進(jìn)行相關(guān)初始化。整個初始化過程的流程圖如如3 所示:


          圖3初始化子程序框圖 圖4中斷服務(wù)程序框圖

          針對1553B總線上的不同消息類型以及設(shè)計的要求,對于數(shù)據(jù)和指令的通訊采用三種數(shù)據(jù)傳輸模式:模式、雙緩沖模式和模式[2]。模式主要特點(diǎn)是簡單,每一個接收、發(fā)送子地址都對應(yīng)一固定的數(shù)據(jù)塊(該數(shù)據(jù)塊可設(shè)定),對于每條新消息主處理器可直接查詢數(shù)據(jù)塊。雙緩沖模式為主處理器提供一種接收最新、最完整有效數(shù)據(jù)的方法。該模式下,一個接收子地址對應(yīng)兩個數(shù)據(jù)塊,任何時候都只有一個數(shù)據(jù)塊是激活的,下一條接收消息的數(shù)據(jù)將存儲在激活的數(shù)據(jù)塊中,當(dāng)一條有效的消息結(jié)束后,BU65170將在兩個數(shù)據(jù)塊上切換。進(jìn)行大量的數(shù)據(jù)傳輸通訊采用模式。循環(huán)緩沖區(qū)大小在初始化中設(shè)定,最小位128字,最大為8192字。

          初始化中斷屏蔽寄存器時,主要打開兩種中斷。一種是消息結(jié)束(EOM)中斷,另一種是循環(huán)緩沖翻轉(zhuǎn)中斷。為了便于消息查詢,將消息描述棧指針指向棧頂。查詢表和子地址控制字初始化指定了通訊過程中數(shù)據(jù)的接收和發(fā)送所利用的子地址以及采用的數(shù)據(jù)傳輸模式。該部分是初始化軟件中最重要的環(huán)節(jié)。本文將數(shù)據(jù)注入設(shè)置在接收子地址2,內(nèi)部指令設(shè)置在接收子地址8,接收方式均為單消息模式;廣播時間設(shè)置在接收子地址4,接收方式為雙緩沖模式;將測量數(shù)據(jù)打包發(fā)送給總線的事件設(shè)置在發(fā)送子地址9,發(fā)送方式為循環(huán)緩沖。同時對非法指令表進(jìn)行初始化,僅將以上通訊事件設(shè)置為本系統(tǒng)所能接受的合法消息。

          在處理1553B總線上的通訊事件時,采用中斷查詢的方法。當(dāng)有外部中斷0有中斷信號時,單片機(jī)控制器通過外部中斷0的入口地址跳轉(zhuǎn)到中斷服務(wù)程給出序中。如圖4所示:首先查詢是否是EOM中斷,由于消息結(jié)束后,BU65170中命令字寄存器中的內(nèi)容會被修改,故查詢該寄存器。如果其中內(nèi)容是內(nèi)部指令或數(shù)據(jù)注入消息的命令代碼,則執(zhí)行相應(yīng)的總線數(shù)據(jù)接收控制子程序,否則繼續(xù)查詢。為防止多個事件同時到來引起中斷重疊時丟失事件響應(yīng)的問題,在內(nèi)部指令和數(shù)據(jù)注入控制子程序結(jié)束后進(jìn)一步查詢中斷狀態(tài)寄存器。該寄存器的低字節(jié)第五位表征循環(huán)緩沖翻轉(zhuǎn)中斷的狀態(tài)。邏輯1表示循環(huán)緩沖區(qū)翻轉(zhuǎn),邏輯0則循環(huán)緩沖區(qū)沒有翻轉(zhuǎn)。如果該位為高電平,則清空該位后執(zhí)行相應(yīng)的子程序來控制測量數(shù)據(jù)發(fā)送。

          總線通訊中還有一種被稱作廣播時間的通訊事件,該事件每秒鐘發(fā)生一次。由星上數(shù)據(jù)管理系統(tǒng)廣播發(fā)送當(dāng)前時間。有效載荷接收并校對自已的時鐘系統(tǒng)。設(shè)計接收該類型消息時,我們采用雙緩沖模式。消息到來時,不觸發(fā)中斷。初始化設(shè)置正確后,該消息的接收完全由BU65170芯片自動完成。當(dāng)測控系統(tǒng)使用時間時,直接到循環(huán)緩沖子地址對應(yīng)的數(shù)據(jù)塊中讀取。

          在調(diào)試過程中,筆者發(fā)現(xiàn),單片機(jī)對BU65170芯片內(nèi)寄存器和靜態(tài)數(shù)據(jù)存儲器的數(shù)據(jù)存取時,對操作時序要求嚴(yán)格,具體遵循以下原則:

          對芯片內(nèi)地址單元(雙字節(jié))進(jìn)行寫操作時,兩次操作的間隔不應(yīng)少于2.5us。

          對芯片內(nèi)地址單元進(jìn)行讀操作時,首先應(yīng)對該地址進(jìn)行一次空讀。即第一次讀取的數(shù)據(jù)不能使用,應(yīng)對該地址重復(fù)讀取一遍,第二遍讀出的內(nèi)容才是實(shí)際該地址中的內(nèi)容。如果需要在連續(xù)的地址空間中讀取多個數(shù)據(jù),則兩次讀操作的時間間隔也不應(yīng)少于2.5us。

          4 結(jié)束語

          本文在介紹1553B總線協(xié)議芯片BU65170的基礎(chǔ)上,在以單片機(jī)為核心,以BU65170為通訊接口的有效載荷測控系統(tǒng)中,設(shè)計了軟硬件接口,將有效載荷作為一個RT與星上數(shù)據(jù)管理系統(tǒng)實(shí)現(xiàn)了通訊連接。在數(shù)次整星電聯(lián)試試驗(yàn)中,與數(shù)據(jù)管理系統(tǒng)的通訊及時準(zhǔn)確、穩(wěn)定可靠。接口電路簡單,易于實(shí)現(xiàn),軟件設(shè)計模塊化、規(guī)范化,針對不同類型消息采用不同通訊模式的方法大大提高了系統(tǒng)通訊的可靠性和穩(wěn)定性。該接口方式對于嵌入式系統(tǒng)與1553B總線連接更具有廣泛的適用性。

          參考文獻(xiàn):

          1.馬捷中等 1553B總線控制器遠(yuǎn)程終端軟件設(shè)計[J] 測控技術(shù),2003

          2.趙希權(quán)等 循環(huán)冗余校驗(yàn)在單片機(jī)無線通信中的應(yīng)用 微計算機(jī)信息 2005.7-2

          3.飛機(jī)內(nèi)部時分制指令/響應(yīng)式多路傳輸數(shù)據(jù)總線 美國軍用標(biāo)準(zhǔn),1978

          4.李華 MCS-51系列單片機(jī)實(shí)用接口技術(shù) 北京航空航天大學(xué)出版社1993.1



          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();