甄國涌, 關(guān)瑞云, 武慧軍
(中北大學(xué)儀器與電子學(xué)院,太原030051)
1553B總線是一種指令/響應(yīng)式串行總線標準。在國內(nèi)已得到廣泛應(yīng)用。1553B總線抗干擾能力強、實時性好,且采用雙冗余備份設(shè)計,能夠顯著提高數(shù)據(jù)傳輸?shù)目煽啃裕?]。近年來,隨著航空綜合電子系統(tǒng)性能需求的不斷提高,國際上掀起了高速1553總線研究的高潮,其目的是在現(xiàn)有的物理傳輸方式下突破1553B 總線1 Mbit/s的傳輸速率[2]。我國高速1553B總線控制器LHB155304,在不改變其原有傳輸方式、網(wǎng)絡(luò)結(jié)構(gòu)及傳輸協(xié)議的情況下,傳輸速率可達4 Mbit/s[3]。高性能浮點DSP TMS320C6713是專為高性能、數(shù)字密集型電力電子控制而設(shè)計的,與LHB155304總線控制器直接通信的方式提高了數(shù)據(jù)傳輸?shù)男屎涂煽啃?,LHB155304工作電平為3.3 V,相較BU-61580而言,與DSP通信無須電平轉(zhuǎn)換,使設(shè)計過程更為簡單,也降低了設(shè)計的復(fù)雜程度和設(shè)備體積。
LHB155304采用了和BU-61580全兼容的軟件界面,相對于BU-61580而言,LHB155304提供了更加靈活高效的主機接口方式,增大了內(nèi)部存儲器空間,不僅可以實現(xiàn)BU-61580支持的接口方式,還具有主機訪問等待時間更短的特點。LHB155304內(nèi)部有16 Kbyte的共享存儲器。通過獨特的設(shè)計技術(shù),LHB155304的主機接口和內(nèi)部協(xié)議接口對共享存儲器的訪問不會發(fā)生沖突,主機任何時候都能訪問總線[5]。
LHB155304是一款4 Mbit/s 1553總線控制器混合電路,集成了時鐘與復(fù)位管理單元、雙曼徹斯特Ⅱ型編譯碼器單元、BC/RT/MT多協(xié)議處理單元、存儲管理單元、中斷管理單元、主機接口單元和16 Kbyte×16 bit的雙端口存儲器單元,完整實現(xiàn)了1553B協(xié)議中規(guī)定的總線控制器(Bus Controller,BC)、遠程終端(Remote Terminal,RT)、總線監(jiān)視器(Bus Monitor,MT),可實現(xiàn)具有雙冗余總線通道的4 Mbit/s1553總線通信。
1553B總線上的信息是以消息的形式調(diào)制成曼徹斯特碼進行傳輸?shù)?,每條消息最長由32個字組成,所有的字分為3類:命令字、數(shù)據(jù)字和狀態(tài)字[6]。LHB155304的1553B總線特性見表1。
表1 1553B數(shù)據(jù)總線特性
LHB155304總線控制器(ACE)通過不同的硬件配置工作于不同模式。8/16 bit緩沖零等待/非零等待是最常用的工作模式。每種模式的硬件設(shè)計、軟件讀寫訪問時序各不相同。LHB155304靈活的處理器接口允許其直接連接32bitDSP處理器TMS320C6713,文中給出了LHB155304的16 bit緩沖非零等待模式的硬件設(shè)計。TMS320C6713與LHB155304的硬件連接圖如圖1所示。
圖1 DSP與LHB155304硬件連接原理圖
由圖1可見,DSP通過SELECTn、STRBDn、MEM_REGn、RD_WRn信號啟動對LHB155304的內(nèi)部寄存器或存儲器的訪問,要存取內(nèi)部寄存器或存儲器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]相連進行地址譯碼,數(shù)據(jù)線D[15:0]與6713 數(shù)據(jù)線D[15:0]相連進行數(shù)據(jù)讀寫,圖中RT地址的配置通過外接上/下拉電阻設(shè)置,如RT地址為22,即RTAD4-RTAD0=10110,1的個數(shù)為奇數(shù),則RTADP=0。LHB155304的READYn信號低有效,讀操作時,READYn為低表示D15-D00上的數(shù)據(jù)已經(jīng)準備好,寫操作時,READYn為低表示數(shù)據(jù)已寫入寄存器或數(shù)據(jù)存儲器。
LHB155304讀寫時序如圖2所示。
圖2 LHB155304讀寫時序
LHB155304進行寫操作時,在SELECTn和STRBDn同時為低的第1個時鐘上升沿鎖存WE信號,在第2個時鐘下降沿鎖存地址和數(shù)據(jù),根據(jù)DSP的EMIF接口時序(見圖3),第1條波形為CE信號,第3條線為鎖存數(shù)據(jù),數(shù)據(jù)在鎖存時并未達到穩(wěn)定,導(dǎo)致鎖存出錯,故將SELECTn信號對地接1 nF電容,與10 kΩ電阻組成RC延時電路,延時時間T=-RCln((E -V)/E)≈33 ns,其中E =5 V 為串聯(lián)電阻和電容之間的電壓,V=1.2 V為電容間要達到的電壓,延時33 ns等待數(shù)據(jù)穩(wěn)定后進行鎖存,保證數(shù)據(jù)讀寫的可靠性,延時后波形如圖4所示。
圖3 未加延時時序波形
圖4 增加延時時序波形
配置和設(shè)置17個內(nèi)部操作寄存器是軟件接口設(shè)計的關(guān)鍵,對1553B數(shù)據(jù)通信具有重要意義[8]。設(shè)計中將LHB155304配置為RT模式,1553B通信由BC控制,BC發(fā)送包含特定RT地址的命令字,以便在總線上發(fā)送或接收數(shù)據(jù)。消息傳輸BC到RT時,如圖5指令字傳輸格式中T/R bit設(shè)置為邏輯‘0’,RT接收指定個數(shù)的數(shù)據(jù)字并返回狀態(tài)字,RT到BC進行傳輸時,T/R位設(shè)置為邏輯‘1’,RT傳輸一個狀態(tài)字,并在其后傳輸數(shù)據(jù)字[9]。
圖5 1553B總線字格式
LHB155304在RT模式下的工作流程如圖6所示。
圖6 LHB155304 RT模式工作過程
首先初始化配置LHB155304為RT工作模式,LHB155304作為RT遠程終端的配置過程見表2。等待BC發(fā)送的命令字,判斷命令字中的T/R位,T/R=1則根據(jù)指令字中的RT子地址發(fā)送相應(yīng)的Data Block中的數(shù)據(jù);T/R=0則將接收到的數(shù)據(jù)存儲到堆棧中,在發(fā)送/接收動作完成后發(fā)出RT狀態(tài)字并等待下一BC指令字,在接收數(shù)據(jù)的動作完成后,向CPU發(fā)出中斷請求,請求CPU處理接收到的數(shù)據(jù)[10]。
表2 LHB15504 RT初始化配置流程
DSP主程序通過中斷方式處理1553B數(shù)據(jù)。通過總線協(xié)議芯片LHB155304向DSP發(fā)送中斷,DSP通過共享的4 KB RAM接收數(shù)據(jù)。DSP在RAM中傳輸接收到的數(shù)據(jù)并將其存儲。將DSP接收到的數(shù)據(jù)傳輸?shù)矫钭兞恐?,進行實時的數(shù)字控制回路處理[11-12]。
1553B使用DSP的外部中斷INT5,LHB155304為下降沿中斷[14],TMS320C6713中斷服務(wù)程序如下:
Interrupt void RT_1553(void)
{
Receive_RT();//LHB155304 作為RT 中斷接收數(shù)據(jù)
}
在進入中斷服務(wù)程序前需先進行中斷初始化[12-15],初始化函數(shù)如下:
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開始寫入自減數(shù),將寫入數(shù)據(jù)讀出,對第2節(jié)中CE信號增加延時前后分別進行了讀寫測試,觀察測試結(jié)果。
如圖7所示,CE信號未加延時讀寫數(shù)據(jù)出現(xiàn)誤碼。
圖7 CE信號未加延時讀出數(shù)據(jù)
如圖8所示,CE信號增加延時后讀寫數(shù)據(jù)正確。
圖8 CE信號增加加延時后讀出數(shù)據(jù)
對LHB155304的讀寫測試成功后,利用上位機軟件配置為4 Mbit/s BC工作模式,對LHB155304 RT模式下的工作狀態(tài)進行了測試,BC發(fā)送一條自檢測試指令“0x5C03”,該指令字表示RT地址為11,RT作為接收端,發(fā)送子地址為15,方式指令為“00111”,LHB155304作為RT接收到該消息,若自檢成功則將“0xAAAA”寫入發(fā)送子地址15返回給BC,如圖9所示返回指令正確,表明該1553B通信接口在4 Mbit/s傳輸速率下工作正常。
圖9 BC讀取RT發(fā)送的消息
本文將DSP強大的數(shù)據(jù)處理能力與1553B總線分布式處理、集中控制和實時響應(yīng)的特點相結(jié)合[16],具有系統(tǒng)集成度高、處理速度快及通用性強的特點,利用DSP EMIF接口直接控制LHB155304總線控制器實現(xiàn)1553B通信,簡化了設(shè)計過程,降低了設(shè)計難度,同時LHB155304總線控制器傳輸速率達到了4 Mbit/s,突破了目前1553B總線1 Mbit/s傳輸速率的局限性,通過對EMIF接口與LHB155304總線控制器的讀寫時序匹配,實現(xiàn)了該1553B接口的高速讀寫,經(jīng)過后期測試表明,文中設(shè)計的1553B通信接口傳輸速率快,實時性好,通用性強,可用于諸多1553B通信的系統(tǒng)中。