基于SM61580的MIL-STD-1553B總線(xiàn)終端設(shè)計(jì)
摘要:通過(guò)對(duì)MIL-STD-1553B總線(xiàn)的研究,實(shí)現(xiàn)遠(yuǎn)程終端(RT)與總線(xiàn)控制器(BC)之間高效、可靠的數(shù)據(jù)通信,提出了一種基于SM61580的MIL-STD-1553B總線(xiàn)終端設(shè)計(jì)方案。選用SM61580芯片,利用SM7C133存儲(chǔ)功能,并結(jié)合MSP430F247的控制優(yōu)勢(shì),采用透明模式連接芯片與處理器,實(shí)現(xiàn)1553B總線(xiàn)終端設(shè)計(jì)。該1553B總線(xiàn)終端系統(tǒng)的應(yīng)用具有普遍的實(shí)用性。
關(guān)鍵詞:1553B總線(xiàn);SM61580;MSP430F247;終端
MIL-STD-1553總線(xiàn)是美國(guó)國(guó)防部制定的一種具有可確定性且傳輸可靠的數(shù)據(jù)總線(xiàn),被廣泛應(yīng)用于軍用飛機(jī)、軍用車(chē)輛以及艦載等領(lǐng)域中。1553B終端系統(tǒng)可以使用8位單片機(jī),16位單片機(jī),32位單片機(jī)來(lái)實(shí)現(xiàn)。本設(shè)計(jì)選用SM61580接口芯片,設(shè)計(jì)了基于MSP430F247單片機(jī)的硬件接口電路,完成了軟件接口程序,最終實(shí)現(xiàn)了1553B終端(RT)與總線(xiàn)控制器(BC)之間高效、可靠的數(shù)據(jù)通信。
1 MIL-STD-1553B總線(xiàn)
1553B總線(xiàn)網(wǎng)絡(luò)由終端、子系統(tǒng)和總線(xiàn)傳輸介質(zhì)組成,結(jié)構(gòu)如圖1所示。終端是使數(shù)據(jù)總線(xiàn)與子系統(tǒng)相連接的電子組件。子系統(tǒng)為從多路數(shù)據(jù)總線(xiàn)上接收數(shù)據(jù)傳輸服務(wù)的裝置或功能單元。總線(xiàn)控制器(BC)是總線(xiàn)系統(tǒng)組織信息傳輸?shù)慕K端??偩€(xiàn)監(jiān)控器(BM)是總線(xiàn)系統(tǒng)中指定做接收且記錄總線(xiàn)上傳輸?shù)男畔⒉⒂羞x擇地提取信息以備后用的終端。遠(yuǎn)程終端(RT)是總線(xiàn)系統(tǒng)中不作為總線(xiàn)控制器或總線(xiàn)監(jiān)控器的所有終端。
1553B總線(xiàn)的傳輸速度是1Mb/s,采用曼切斯特Ⅱ編碼,半雙工工作方式。1553B總線(xiàn)有10種消息格式,每個(gè)消息至少包含兩個(gè)字,每個(gè)字包含有16個(gè)信息位、一個(gè)奇偶校驗(yàn)位和3個(gè)位長(zhǎng)的同步頭。適用于變壓器耦合的曼切斯特II編碼,通過(guò)雙絞線(xiàn)可靠傳輸?shù)拈L(zhǎng)度可以超過(guò)30 m。
2 SM61580芯片的功能特點(diǎn)
SM61580為微處理器和1553B總線(xiàn)之間提供了完整、靈活的接口電路。
SM61580芯片包含兩個(gè)低功耗收發(fā)器和一個(gè)全雙工譯碼/編碼器,一個(gè)完整的BC/RT/MT(總線(xiàn)控制/遠(yuǎn)程終端/監(jiān)視模式)多協(xié)議邏輯電路,存儲(chǔ)器管理電路和中斷邏輯電路,4Kx16bit共享靜態(tài)RAM,以及一個(gè)靈活的緩沖接口與主處理總線(xiàn)相連。
SM61580的內(nèi)部地址鎖存器和雙向數(shù)據(jù)緩沖器,可直接與主處理器總線(xiàn)相連,支持16位和8位的微處理器,并可與處理器共享一個(gè)緩沖RAM。
SM61580還可通過(guò)DMA接口電路與一個(gè)16位處理總線(xiàn)相連。
SM61580有3種監(jiān)控模式:字監(jiān)控(word monitor),選擇信息監(jiān)控(selective message monitor),遠(yuǎn)程終端與選擇監(jiān)控組合(combined RT/selective monitor)。
3 SM61580內(nèi)部RAM資源分配
SM61580內(nèi)部具有4Kx16共享RAM。在RT增強(qiáng)模式中,兩個(gè)堆棧指針?lè)峙湓诠潭ǖ奈恢茫?100H是堆棧指針A的地址;0104H是堆棧指針B的地址。0000-00FFH是256字的堆棧A空間,也是1553B接收信息描述符區(qū),每個(gè)描述符占4個(gè)字,一共可儲(chǔ)存64個(gè)描述符。描述符的4個(gè)字分別是塊狀態(tài)字、時(shí)間戳,接收數(shù)據(jù)塊指針、接收命令字。
0108-010FH是模式命令選擇中斷表,設(shè)置每一個(gè)接收、發(fā)送、廣播接收、廣播發(fā)送的模式命令時(shí),是否產(chǎn)生中斷。
0110-013FH是模式命令返回?cái)?shù)據(jù)的固定地址,當(dāng)RT接收到一個(gè)模式命令時(shí),將儲(chǔ)存于對(duì)應(yīng)位置的數(shù)據(jù)自動(dòng)返回給BC。
0140-01BFH和01C0-023FH分別是RT的A/B區(qū)域地址查詢(xún)表。對(duì)于A區(qū)域,地址分為4部分:0140-015FH分別對(duì)應(yīng)子地址0到子地址31的接收數(shù)據(jù)緩沖區(qū)的首地址;0160-017FH分別對(duì)應(yīng)子地址0到子地址31的發(fā)送數(shù)據(jù)緩沖區(qū)的首地址;0180-019FH分別對(duì)應(yīng)子地址0到子地址31廣播模式數(shù)據(jù)緩沖區(qū)的首地址;01A0一01BFH分別對(duì)應(yīng)子地址0到子地址31的子地址控制字,可以設(shè)置數(shù)據(jù)緩存區(qū)的大小和工作方式,如:?jiǎn)蜗⒛J?、雙緩沖模式和循環(huán)緩沖模式。
0240-0247H是忙位查詢(xún)表,其中每一位分別對(duì)應(yīng)子地址0到子地址31的忙狀態(tài),0表示不忙,1表示忙。當(dāng)RT收到的消息對(duì)應(yīng)的子地址為忙時(shí),將向BC端返回狀態(tài)字的忙位置1。
0300-03FFH是非法化指令查詢(xún)表,分為4部分:0300-033FH對(duì)應(yīng)廣播接收非法化命令;0340-037FH對(duì)應(yīng)廣播發(fā)送非法化命令;0380-03BFH對(duì)應(yīng)非廣播式接收非法化命令;03C0-03FFH對(duì)應(yīng)非廣播式發(fā)送非法化命令。當(dāng)RT收到非法化命令字時(shí),將向BC返回對(duì)應(yīng)的狀態(tài)字。
0260-02FFH和0400-0FFFH為數(shù)據(jù)緩存區(qū)。這部分空間可以由子地址0到子地址31的子地址控制字設(shè)置每個(gè)子地址對(duì)應(yīng)的數(shù)據(jù)緩存區(qū)空間的大小和工作方式。
4 SM61580與MSP430F247的接口設(shè)計(jì)
4.1 硬件接口設(shè)計(jì)
SM61580與16位處理器的連接方式采用16位透明模式。透明模式使用外部雙端RAM,這使得主處理器能迅速的訪(fǎng)問(wèn)RAM(只受到RAM的速度限制);在這種模式下,可消除SM61580的調(diào)整延時(shí)。系統(tǒng)框圖如圖2所示。
在雙端RAM的接口,RAM的一端由主CPU訪(fǎng)問(wèn),另外一端可為SM61580通過(guò)存儲(chǔ)器的控制信號(hào),由1553B邏輯電路訪(fǎng)問(wèn)。地址和數(shù)據(jù)總線(xiàn)需要三態(tài)緩沖器來(lái)為CPU訪(fǎng)問(wèn)SM61580的內(nèi)部寄存器。SM61580輸入信號(hào)MEN/REG直接與邏輯0信號(hào)相連,SELECT與地址解碼器輸出1553REGSELECT相連,從而進(jìn)行寄存器訪(fǎng)問(wèn)操作。
引腳RTAD4-0和RTADP通過(guò)跳線(xiàn)可以選擇SM61580的地址編號(hào)。芯片采用外部接16 MHz晶振工作方式。
其中雙端RAM采用的是SM7C133。
SM7C133是一款高速CMOS雙端口靜態(tài)RAM,容量為2Kx16bit。
SM7C133有兩組獨(dú)立的端口、地址、I/O管腳,并且在進(jìn)行讀或?qū)懖僮鲿r(shí)異步訪(fǎng)問(wèn)存儲(chǔ)器。CE是自動(dòng)低功耗的控制端,允許對(duì)應(yīng)端的片內(nèi)電路進(jìn)入待機(jī)功耗模式。
SM7C133有2組獨(dú)立的端口,包括地址線(xiàn)、I/O線(xiàn),控制線(xiàn),可以單獨(dú)訪(fǎng)問(wèn)存儲(chǔ)器進(jìn)行讀寫(xiě)操作。SM7C133中CE是自動(dòng)低功耗的控制端,當(dāng)沒(méi)有選擇(CE=1)時(shí),各端口進(jìn)入待機(jī)模式。當(dāng)某端口的CE使能時(shí),可以訪(fǎng)問(wèn)整個(gè)存儲(chǔ)陣列。
為了保證寫(xiě)操作有效,數(shù)據(jù)必須在WR/的上升延之前建立并持續(xù)。寫(xiě)操作由SDtWR/管腳和CE管腳控制。2個(gè)WR/管腳用來(lái)分別控制IO口的高字節(jié)與低字節(jié)。
如果一個(gè)端口寫(xiě)數(shù)據(jù)到一個(gè)地址,而另一個(gè)端口試圖去讀這個(gè)地址,數(shù)據(jù)必須經(jīng)過(guò)一個(gè)端口到端口的流通延時(shí),才可以在輸出端口被讀出,否則,讀出的數(shù)據(jù)是不確定的。
微控制器選用MSP430F247單片機(jī),其特點(diǎn)如下:強(qiáng)大的處理能力;超低功耗;系統(tǒng)工作穩(wěn)定;豐富的片上外圍模塊。
為了在開(kāi)發(fā)過(guò)程中驗(yàn)證1553B總線(xiàn)終端傳輸數(shù)據(jù)的正確性,終端上制作了RS422接口,便于計(jì)算機(jī)顯示總線(xiàn)上的收、發(fā)數(shù)據(jù)。
4.2 軟件接口設(shè)計(jì)
SM61580內(nèi)部具有25個(gè)寄存器,包括17個(gè)通用控制寄存器和8個(gè)測(cè)試寄存器。其中,設(shè)置17個(gè)通用控制寄存器是軟件接口設(shè)計(jì)的關(guān)鍵。
設(shè)置啟動(dòng)/復(fù)位寄存器,先進(jìn)入復(fù)位狀態(tài);設(shè)置配置寄存器3,進(jìn)入增強(qiáng)模式;設(shè)置中斷屏蔽寄存器,使能消息結(jié)束中斷;設(shè)置配置寄存器2,進(jìn)入增強(qiáng)型RT存儲(chǔ)器管理模式;設(shè)置配置寄存器3,增強(qiáng)模式允許。設(shè)置配置寄存器1,進(jìn)入RT工作方式,開(kāi)啟RT。
主程序?qū)?553B信息的處理采用中斷處理方式。從BC端發(fā)送來(lái)的1553B命令有2種要求:不需要RT回傳數(shù)據(jù)和需要RT回傳數(shù)據(jù)。
1)不需要RT回傳數(shù)據(jù)
BC端發(fā)送命令字為非模式命令,要求RT接收信息,單片機(jī)終端收到信息進(jìn)入中斷程序,設(shè)置相應(yīng)的任務(wù)標(biāo)志,然后進(jìn)入主程序,根據(jù)155 3B接收信息描述符區(qū)中接收數(shù)據(jù)塊指針,找到1553B接收數(shù)據(jù)緩沖區(qū),然后執(zhí)行這些數(shù)據(jù)對(duì)應(yīng)的任務(wù),然后在主程序循環(huán)等待下一次中斷。
2)需要RT回傳數(shù)據(jù)
首先BC端發(fā)送命令字為非模式命令,要求RT接收信息,單片機(jī)終端收到信息進(jìn)入中斷程序設(shè)置任務(wù)標(biāo)志,然后進(jìn)入主程序,找到1553B接收數(shù)據(jù)緩沖區(qū),執(zhí)行相關(guān)任務(wù),并把需要返回給BC端的數(shù)據(jù)準(zhǔn)備好,保存在1553B發(fā)送數(shù)據(jù)緩沖區(qū),且將需要回傳數(shù)據(jù)字個(gè)數(shù)保存到模式命令對(duì)應(yīng)的地址單元,然后設(shè)置服務(wù)請(qǐng)求,將配置寄存器1中的第9位設(shè)為0。與此同時(shí),BC端向RT一直發(fā)送空指令,得到相應(yīng)的返回狀態(tài)字,判斷狀態(tài)字的第11位,若為1,表示RT將數(shù)據(jù)準(zhǔn)備好,BC向RT發(fā)送模式命令,命令編碼為10000,即為發(fā)送向量字命令,要求RT發(fā)送消息。RT收到模式命令后,返回狀態(tài)字,且將準(zhǔn)備好的數(shù)據(jù)個(gè)數(shù)返回給BC;然后BC端再發(fā)送一次非模式命令,要求RT發(fā)送消息,數(shù)據(jù)個(gè)數(shù)為剛才收到的返回值。此時(shí),BC端再次收到返回的狀態(tài)值和RT回傳的有效數(shù)據(jù)?;赟M61580的單片機(jī)終端系統(tǒng)程序流程圖如圖3、圖4所示。
5 結(jié)論
文中重點(diǎn)介紹了SM65180接口芯片的功能特點(diǎn)和RAM資源。并且給出了基于SM61580的MIL-STD-1553B單片機(jī)終端系統(tǒng)的硬件和軟件設(shè)計(jì)方法。在多次的系統(tǒng)調(diào)試試驗(yàn)中,RT終端系統(tǒng)與BC總線(xiàn)控制器之間實(shí)現(xiàn)了高效、可靠的數(shù)據(jù)通信。該1553B總線(xiàn)終端系統(tǒng)的應(yīng)用具有普遍的實(shí)用性。
評(píng)論