甄國涌, 關瑞云, 武慧軍
(中北大學儀器與電子學院,太原030051)
1553B總線是一種指令/響應式串行總線標準。在國內已得到廣泛應用。1553B總線抗干擾能力強、實時性好,且采用雙冗余備份設計,能夠顯著提高數據傳輸的可靠性[1]。近年來,隨著航空綜合電子系統性能需求的不斷提高,國際上掀起了高速1553總線研究的高潮,其目的是在現有的物理傳輸方式下突破1553B 總線1 Mbit/s的傳輸速率[2]。我國高速1553B總線控制器LHB155304,在不改變其原有傳輸方式、網絡結構及傳輸協議的情況下,傳輸速率可達4 Mbit/s[3]。高性能浮點DSP TMS320C6713是專為高性能、數字密集型電力電子控制而設計的,與LHB155304總線控制器直接通信的方式提高了數據傳輸的效率和可靠性,LHB155304工作電平為3.3 V,相較BU-61580而言,與DSP通信無須電平轉換,使設計過程更為簡單,也降低了設計的復雜程度和設備體積。
LHB155304采用了和BU-61580全兼容的軟件界面,相對于BU-61580而言,LHB155304提供了更加靈活高效的主機接口方式,增大了內部存儲器空間,不僅可以實現BU-61580支持的接口方式,還具有主機訪問等待時間更短的特點。LHB155304內部有16 Kbyte的共享存儲器。通過獨特的設計技術,LHB155304的主機接口和內部協議接口對共享存儲器的訪問不會發生沖突,主機任何時候都能訪問總線[5]。
LHB155304是一款4 Mbit/s 1553總線控制器混合電路,集成了時鐘與復位管理單元、雙曼徹斯特Ⅱ型編譯碼器單元、BC/RT/MT多協議處理單元、存儲管理單元、中斷管理單元、主機接口單元和16 Kbyte×16 bit的雙端口存儲器單元,完整實現了1553B協議中規定的總線控制器(Bus Controller,BC)、遠程終端(Remote Terminal,RT)、總線監視器(Bus Monitor,MT),可實現具有雙冗余總線通道的4 Mbit/s1553總線通信。
1553B總線上的信息是以消息的形式調制成曼徹斯特碼進行傳輸的,每條消息最長由32個字組成,所有的字分為3類:命令字、數據字和狀態字[6]。LHB155304的1553B總線特性見表1。

表1 1553B數據總線特性
LHB155304總線控制器(ACE)通過不同的硬件配置工作于不同模式。8/16 bit緩沖零等待/非零等待是最常用的工作模式。每種模式的硬件設計、軟件讀寫訪問時序各不相同。LHB155304靈活的處理器接口允許其直接連接32bitDSP處理器TMS320C6713,文中給出了LHB155304的16 bit緩沖非零等待模式的硬件設計。TMS320C6713與LHB155304的硬件連接圖如圖1所示。

圖1 DSP與LHB155304硬件連接原理圖
由圖1可見,DSP通過SELECTn、STRBDn、MEM_REGn、RD_WRn信號啟動對LHB155304的內部寄存器或存儲器的訪問,要存取內部寄存器或存儲器SELECTn必須為低電平,STRBDn信號與SELECTn相連控制著訪問周期的長度[7]。使用6713的GPI/O(通用輸入輸出)對MEM_REGn信號進行控制,訪問存儲器時MEM_REGn為高電平,訪問寄存器時MEM_REGn為低電平。POLARITY_SEL用來選擇RD/WRn的極性,當POLARITY_SEL 接邏輯‘1’時,RD/WRn 低電平為寫,高電平為讀;當POLARITY_SEL接邏輯‘0’時,RD/WRn高電平為寫,低電平為讀。將LHB155304的RAM地址與TMS320C6713的CE3地址空間(0xB0000000-0XBFFFFFFF)映射,地址線A[11:0]與6713 地址線A[13:2]相連進行地址譯碼,數據線D[15:0]與6713 數據線D[15:0]相連進行數據讀寫,圖中RT地址的配置通過外接上/下拉電阻設置,如RT地址為22,即RTAD4-RTAD0=10110,1的個數為奇數,則RTADP=0。LHB155304的READYn信號低有效,讀操作時,READYn為低表示D15-D00上的數據已經準備好,寫操作時,READYn為低表示數據已寫入寄存器或數據存儲器。
LHB155304讀寫時序如圖2所示。

圖2 LHB155304讀寫時序
LHB155304進行寫操作時,在SELECTn和STRBDn同時為低的第1個時鐘上升沿鎖存WE信號,在第2個時鐘下降沿鎖存地址和數據,根據DSP的EMIF接口時序(見圖3),第1條波形為CE信號,第3條線為鎖存數據,數據在鎖存時并未達到穩定,導致鎖存出錯,故將SELECTn信號對地接1 nF電容,與10 kΩ電阻組成RC延時電路,延時時間T=-RCln((E -V)/E)≈33 ns,其中E =5 V 為串聯電阻和電容之間的電壓,V=1.2 V為電容間要達到的電壓,延時33 ns等待數據穩定后進行鎖存,保證數據讀寫的可靠性,延時后波形如圖4所示。

圖3 未加延時時序波形

圖4 增加延時時序波形
配置和設置17個內部操作寄存器是軟件接口設計的關鍵,對1553B數據通信具有重要意義[8]。設計中將LHB155304配置為RT模式,1553B通信由BC控制,BC發送包含特定RT地址的命令字,以便在總線上發送或接收數據。消息傳輸BC到RT時,如圖5指令字傳輸格式中T/R bit設置為邏輯‘0’,RT接收指定個數的數據字并返回狀態字,RT到BC進行傳輸時,T/R位設置為邏輯‘1’,RT傳輸一個狀態字,并在其后傳輸數據字[9]。

圖5 1553B總線字格式
LHB155304在RT模式下的工作流程如圖6所示。

圖6 LHB155304 RT模式工作過程
首先初始化配置LHB155304為RT工作模式,LHB155304作為RT遠程終端的配置過程見表2。等待BC發送的命令字,判斷命令字中的T/R位,T/R=1則根據指令字中的RT子地址發送相應的Data Block中的數據;T/R=0則將接收到的數據存儲到堆棧中,在發送/接收動作完成后發出RT狀態字并等待下一BC指令字,在接收數據的動作完成后,向CPU發出中斷請求,請求CPU處理接收到的數據[10]。

表2 LHB15504 RT初始化配置流程
DSP主程序通過中斷方式處理1553B數據。通過總線協議芯片LHB155304向DSP發送中斷,DSP通過共享的4 KB RAM接收數據。DSP在RAM中傳輸接收到的數據并將其存儲。將DSP接收到的數據傳輸到命令變量中,進行實時的數字控制回路處理[11-12]。
1553B使用DSP的外部中斷INT5,LHB155304為下降沿中斷[14],TMS320C6713中斷服務程序如下:
Interrupt void RT_1553(void)
{
Receive_RT();//LHB155304 作為RT 中斷接收數據
}
在進入中斷服務程序前需先進行中斷初始化[12-15],初始化函數如下:
voidinterrupt_init()
{
*(volatile short*)0x019C0008=0x0002
//EXTPOL寄存器配置1553中斷下降沿
IRQ_setVecs(vectors);//指向定義的中斷向量表
IRQ_map(IRQ_EVT_EXTINT5,5);
//映射事件到指定的物理中斷號
IRQ_clear(IRQ_EVT_EXTINT5);
IRQ_enable(IRQ_EVT_EXTINT5);//中斷使能
IRQ_globalEnable();
IRQ_nmiEnable();
}
通過DSP芯片TMS320C6713對LHB155304寄存器與存儲器的讀寫操作進行了測試,向LHB155304存儲器地址空間0x0000開始寫入自減數,將寫入數據讀出,對第2節中CE信號增加延時前后分別進行了讀寫測試,觀察測試結果。
如圖7所示,CE信號未加延時讀寫數據出現誤碼。

圖7 CE信號未加延時讀出數據
如圖8所示,CE信號增加延時后讀寫數據正確。

圖8 CE信號增加加延時后讀出數據
對LHB155304的讀寫測試成功后,利用上位機軟件配置為4 Mbit/s BC工作模式,對LHB155304 RT模式下的工作狀態進行了測試,BC發送一條自檢測試指令“0x5C03”,該指令字表示RT地址為11,RT作為接收端,發送子地址為15,方式指令為“00111”,LHB155304作為RT接收到該消息,若自檢成功則將“0xAAAA”寫入發送子地址15返回給BC,如圖9所示返回指令正確,表明該1553B通信接口在4 Mbit/s傳輸速率下工作正常。

圖9 BC讀取RT發送的消息
本文將DSP強大的數據處理能力與1553B總線分布式處理、集中控制和實時響應的特點相結合[16],具有系統集成度高、處理速度快及通用性強的特點,利用DSP EMIF接口直接控制LHB155304總線控制器實現1553B通信,簡化了設計過程,降低了設計難度,同時LHB155304總線控制器傳輸速率達到了4 Mbit/s,突破了目前1553B總線1 Mbit/s傳輸速率的局限性,通過對EMIF接口與LHB155304總線控制器的讀寫時序匹配,實現了該1553B接口的高速讀寫,經過后期測試表明,文中設計的1553B通信接口傳輸速率快,實時性好,通用性強,可用于諸多1553B通信的系統中。