摘 要: 1553B總線在航天領域應用越來越廣泛,已成為星載有效載荷數據傳輸的主要途徑。為了實現星載有效載荷通過1553B總線傳輸指令和科學實驗數據,選用了以TI公司DSP芯片SMJ320VC33為控制器、DDC公司BU65170為通訊芯片的設計方案。采用本設計方案的有效載荷具有接口簡單、通訊速度快、可靠性高的特點,并已在某星載有效載荷中成功應用,效果良好,對星載1553B總線RT(遠置終端)設計具有重要的指導和參考意義。
關鍵詞: DSP; 1553B; RT; 消息; 子地址
中圖分類號: TN911?34; TP368.1 文獻標識碼: A 文章編號: 1004?373X(2013)20?0057?04
0 引 言
1553B總線是MIL?STD?1553總線的簡稱,其中B就是BUS[1]。MIL?STD?1553總線是飛機內部時分制命令/響應式多路復用數據總線,是美國軍方專為飛機上設備制定的一種信息傳輸總線標準,也就是設備間傳輸的協議。1553B總線具有一般總線所無法比擬的高可靠性和實時性,在許多重要的科技領域得到了廣泛的應用。近年來,1553B總線在我國許多行業也得到了很好的應用,如航空、航天電子設備,汽車行業和潛艇等。本文以某星載有效載荷為例,選用DDC公司的BU65170作為1553B總線接口芯片,Ti公司的高速數字信號處理器SMJ320VC33作為控制器,研制了星載1553B總線遠置終端(Remote Terminal)設備。文中為1553B總線接口芯片BU65170和控制器SMJ320VC33設計了硬件接口連接電路,并對BU65170進行了初始化和軟件控制,實現了星上1553B總線控制器(BC)與有效載荷(遠置終端)之間的數據傳輸。
1 核心芯片介紹
1.1 BU65170介紹
BU65170是美國DDC公司推出的第五代1553B總線產品。它是控制器與1553B總線之間的智能接口。BU65170內部結構見圖1。
BU65170可選擇在12 MHz和16 MHz兩種時鐘頻率下工作。芯片內部具有4K×16 b靜態數據存儲器及17個功能寄存器。還集成了編碼/解碼器,雙收發器和協議處理器,數據按照一定的協議經編碼/解碼器處理,通過雙收發器A/B來完成與1553B總線間的數據傳輸,數據傳輸速率最大可達1 Mb/s[2]。
協議控制器和存儲管理器使BU65170具有許多增強型的功能:數據傳輸可以選擇在單消息、雙緩沖、循環緩沖模式下進行。三種數傳模式的靈活運用不但能保證指令和數據收發的實時性,還支持大量的數據低誤碼率的問題;提供對消息的非法檢測功能。對于來自總線上的消息,協議控制器根據非法指令表初始化的內容對其進行判斷,相應合法的消息,對未啟用的消息加以非法屏蔽。這樣可大大地提高系統的工作效率。
BU65170通過中斷接口邏輯的控制可產生多種可屏蔽中斷。芯片內部集成了中斷控制寄存器和中斷狀態寄存器。中斷控制寄存器用來允許活屏蔽不同類型中斷,當由中斷服務請求時,CPU可以通過查詢中斷狀態寄存器來判斷引發中斷的消息類型,從而進行相應的控制操作。
BU65170與MCU接口簡單,可應用于8位或16位單片機系統,也適用于高速DSP系統,并有多種接口方式,因此得到了廣泛的應用。
由于可實現衛星應用的多數單片機數據總線為8位,而BU65170數據總線為16位,因此數據通訊時1個數據字需要執行兩次讀寫操作,通訊效率較低;高速數字信號處理器數據總線一般為16位或32位,并且接口資源更為豐富,與BU65170連接更為方便,1次通訊可實現1個數據字的輸出,通訊效率高。
1.2 SMJ320VC33介紹
SMJ320VC33是TI公司一款32位高性能的CPU,它是一款應用0.18 μm四層金屬CMOS技術制造的32位浮點運算處理器,為用戶提供了相當豐富的硬件和軟件資源[3]。主要性能指標及內部資源如下:
75 MIPS/150 MFLOPS(時鐘75 MHz);片內具有34K×32 b位的靜態RAM,既降低了系統的開發成本,又提高了系統的運行速度;獨立的程序總線、數據總線和DMA總線,讀寫數據和DMA操作可以并行進行;采用雙電源供電,芯片外圍電壓3.3 V,核電壓僅1.8 V,降低了功耗;具有4個外部中斷,中斷觸發方式有兩種:邊沿觸發和電平觸發;具有一個64×32 b的Cache,提高了程序的運行速度;片內存儲器可以映射的外設包括1個串口、2個32 b定時器和一個DMA控制器;高效的流水線操作。
DSP芯片SMJ320VC33具有速率快、技術成熟、開發周期短等特點,因此在航空、航天等軍用電子設備中得到了廣泛的應用。SMJ320VC33數據總線寬度為32位,與BU65170連接方式簡單、可靠。
2 硬件連接
BU65170與控制器具有兩種連接方式:直接模式(TRANSPARENT MODE)和緩沖模式(BUFFERED MODE),其中直接模式在BU65170與控制器之間增加雙口RAM,控制器與BU65170之間通過雙口RAM實現數據通訊;緩沖模式下控制器與BU65170直接連接,無需增加雙口RAM器件。本方案中BU65170選擇緩沖模式與控制器連接,硬件連接框圖如圖2所示。
主要硬件連接設計如下:BU65170與SMJ320VC33之間連接方式為緩沖(BUFFER)模式;BU65170安排在SMJ320VC33地址空間C00000h~FFFFFFh內,由片選信號PAGE3選通。BU65170的片選信號SELECT、STRBD均連接至SMJ320VC33的外設片選信號PAGE3;BU65170復位信號RESET通過SMJ320VC33地址總線擴展得到。DSP上電初始化后對BU65170進行軟復位;BU65170的M/R用于存儲器、寄存器讀寫切換(M/R為0時寄存器讀寫、為1時存儲器讀寫),由SMJ320VC33地址總線A12控制,BU65170讀寫地址為基址+偏移。寄存器基址為0xC00000,存儲器基址為0xC01000;偏移量見BU65170內部存儲區分配(如配置寄存器1偏移量為2)。
由于SMJ320VC33接口電壓為3.3 V,而BU65170為5 V,總線接口電壓不匹配。因此在數據總線和控制信號(由BU65170至SMJ320VC33)之間增加電平轉換器(5 V←→3.3 V),電平轉換器選用UT公司的UT54ACS164245;SMJ320VC33讀寫速度較快,其主頻最高可達75 MHz[4]。本文設計工作主頻為60 MHz,對應讀寫最短周期分別為16.6 ns和33.2 ns(讀操作占用1個機器周期,寫操作占用2個機器周期),而BU65170讀寫周期約為200 ns,因此二者之間讀寫時序不匹配。SMJ320VC33具備兩種讀寫工作模式:軟等待模式和硬等待模式,具體由總線控制寄存器配置控制。其中軟等待模式下最多可將讀寫操作延長至8個機器周期,對應讀寫時間約為132 ns(60 MHz主頻);硬等待模式讀寫時間由外設決定,此模式下SMJ320VC33通過查詢RDY腳電平狀態判斷讀寫操作是否完成(RDY腳為低電平時讀寫操作完成,高電平時等待)。本文設計為硬等待模式,將BU65170的READYD經過電平轉換之后連接至SMJ320VC33的RDY腳;BU65170的INT腳連接至控制器SMJ320VC33的外部中斷3。當接收到消息時,BU65170的INT腳會產生一個中斷信號(電平或邊沿觸發),表明有通訊消息發生。SMJ320VC33對BU65170相應存儲器進行讀操作,判別接收到的消息類型,并作出相對應的響應;BU65170通過耦合變壓器與1553B總線連接,耦合變壓器選用DDC公司的B3226,信號耦合系數比為1∶2.5;BU65170時鐘選擇16 MHz工作模式,16 MHz時鐘由有源晶振ZA519提供。
3 軟件設計
本系統軟件采用模塊化的設計思路,主要由初始化、主循環模塊構成。
3.1 初始化模塊
程序初始化包括2部分內容:DSP初始化和BU65170初始化。
3.1.1 DSP初始化
DSP初始化主要對SMJ320VC33內部寄存器(中斷寄存器IE、IF、ST,定時器、總線控制寄存器等)、IO擴展口及內部RAM等進行初始化。
3.1.2 BU65170初始化
BU65170啟動工作之前需要對其進行初始化,主要對BU65170工作模式、消息處理模式和其他相關寄存器進行配置,同時對各子地址查找表進行配置。初始化順序為:子地址查找表配置→存儲區配置→寄存器配置[5]。
子地址查找表分為A、B兩個區,分別獨立設置(互為備份、冗余)。每個區又分為接收查找表、發送查找表及廣播查找表。
查找表定義初始化流程如圖3所示。圖3中RoffsetA,ToffsetA,RT_SAA分別為A區接收、發送及廣播查找表;RoffsetB,ToffsetB,RT_SAB分別為B區接收、發送及廣播查找表。子地址共32個。
BU65170內部含4K×16 b數據存儲器,包含消息接收堆棧、查找表及數據存儲區。其中消息接收堆棧用于存儲消息命令字,查找表用于消息數據字存儲地址鏈接(1 553 B消息數據字存儲地址),數據存儲區用于存儲1 553 B消息數據字。初始化時首先對A、B區查找表按照BU65170用戶手冊進行定義及地址配置,之后設置各子地址消息數據字存儲地址(將數據字存儲地址寫至相應查找表);通過子地址控制字啟用設計需要的子地址,對對未啟用的子地址進行屏蔽。數據存儲區配置完成之后對其進行初始化(一般為清零)。
寄存器初始化需要按照一定的順序進行(如順序不對,則BU65170不正常工作)。BU65170內部共包含17個寄存器,初始化只涉及其中7個寄存器。本設計寄存器初始化順序及設置見表1。
寄存器由上至下順序進行初始化。初始化時對上述寄存器進行單字寫操作。
3.2 主循環模塊
主循環模塊用于完成對1553B消息的響應及處理。對于一般的RT而言,消息一般分為3類:指令消息、數據傳輸消息及校時消息。其中指令消息(BC向RT發送)可包含多條,也可只設置一條(一個子地址可同時包含多條指令數據,指令數據字組成指令數據包);數據傳輸消息(RT向BC發送數據)可包含多條,也可只設置一條(一個子地址也可包含種數據,數據字組成數據包)。
當RT接收到來自BC的已定義、合法的消息時,BU65170會向SMJ320VC33產生中斷,通知SMJ320VC33已接收到消息,請求處理。控制器SMJ320VC33首先對消息接收堆棧進行讀操作,讀取消息命令字,同時對消息命令字進行解析,以獲取消息子地址及數據字長度信息,對消息類型進行判斷,根據消息類型執行相應的響應。指令消息、校時消息需要讀取數據字信息,數據發送消息需要將待發送的數據(有效載荷的科學實驗數據)寫入至相應的存儲地址(BU65170內部)。主循環模塊流程如圖4所示。
4 結 語
本文基于DSP系統的1553B總線RT設計,選用的DSP為Ti公司的高速信號處理器SMJ320VC33。該設計充分發揮了SMJ320VC33內部資源豐富、接口簡單的優點。同時,SMJ320VC33具有計算速度快的優點,滿足了有效載荷的高速數據采集、處理需求。
該設計已在某星載有效載荷中成功應用,應用結果表明:該系統具有開發簡單、性能穩定的特點,可應用于各類星載1553B總線RT的設計。
參考文獻
[1] 佚名.數字式時分制指令/響應型多路傳輸數據總線[P].北京:中國標準出版社,1997.
[2] DDC. MIL?STD?1553A/B ACE user’s guide [S]. USA: DDC, 1999.
[3] Texas Instruments. TMS320C3X user’s guide [R]. USA: Texas Instruments, 1997.
[4] 杜普選.實時DSP技術及浮點處理器的應用[M].北京:清華大學出版社,2006.
[5] 馬捷中.1553B總線控制器遠程終端軟件設計[J].測控技術,2003(3):9?11.
[6] 吳結根,楊俊.1553B總線遠程端點數據鏈路層協議的FPGA實現[J].現代電子技術,2009,32(3):163?166.
[7] 翟雯艷,張遂南.基于CPCI的1553B總線通信模塊的設計與實現[J].現代電子技術,2008,31(10):82?84.