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