摘 要: 軍工系統單位在應用1553B總線控制器電路過程中,采用其零等待工作模式,偶爾會遇到競爭訪問數據丟失的問題。文章詳細介紹了1553B總線控制器電路在應用過程中競爭訪問產生的原因,并對競爭訪問和非競爭訪問之間的時序差異進行了測試分析,闡明了競爭訪問數據丟失的原因,給出了有效避免競爭訪問發(fā)生時數據丟失的時序配置方法。
關鍵詞: 1553B總線;競爭訪問;非競爭訪問;時序
0 引言
1553B總線是美國軍用標準MIL-STD-1553B總線的簡稱,它采用帶屏蔽的雙絞線作為串行數據總線,使用時分制指令/響應型傳輸協議,其傳輸速率為1 Mb/s,傳輸方式為半雙工,其形式類似一個局域網[1]。由于1553B總線的高可靠性和實時性[2],使其在航空、航天等眾多型號單機系統中得到廣泛的應用。1553B總線通常由一個總線控制器(BC)、最多31個遠程終端(RT)和一個總線監(jiān)控器(MT)組成[3]。目前航空、航天系統使用最廣泛的1553B總線控制器有61580、65170、61585、64843等。1553B總線控制器在應用過程中,通過主控制器(如MCU、DSP、FPGA等)對其內部寄存器及存儲器進行配置及數據寫入與讀出。本文重點分析1553B總線控制器在應用過程中產生競爭訪問的原因、競爭訪問與非競爭訪問的時序差異、競爭訪問時數據丟失的原因及有效避免的方法。
1 競爭訪問與非競爭訪問介紹
1553B總線控制器為配合不同的主處理器(如16位的VC33、3803、8位的80C51等)的使用,提供了多種配置工作模式,主要有8位/16位緩沖非零等待模式、8位/16位緩沖零等待模式、16位透明模式、16位直接存儲器存取模式[4]六種。其中16位透明模式與16位直接存儲器存取模式需要使用外掛RAM,因此在航空、航天單機系統中使用較少;8位/16位緩沖非零等待模式和8位/16位緩沖零等待模式使用1553B總線控制器電路內部RAM,在航空、航天系統中被廣泛應用。但8位/16位緩沖零等待模式使用內部共享的4K×16位RAM時,通過軟件程序固定的讀寫周期對內部寄存器及共享RAM進行讀寫操作。由于該模式讀寫周期固定,當競爭訪問發(fā)生時,偶爾會出現數據丟失的現象。下面重點介紹該問題產生的原因。
從圖1 1553B總線控制器內部邏輯功能框圖[5]可以看出,1553B總線控制器內部集成了一塊4K×16位的共享RAM。首先1553B總線控制器內部協議處理器可以通過數據總線和地址總線對4K×16位的共享RAM進行讀寫訪問;其次外部主處理器CPU也可通過數據總線和地址總線對4K×16位的共享RAM進行讀寫訪問(但通過了一級數據、地址緩沖器)。當1553B總線控制器內部協議處理器和外部主處理器CPU同時對4K×16位的共享RAM進行讀寫訪問時,這時就產生了競爭訪問[6]。當競爭訪問產生時,如前一個數據還沒有被寫入內部的共享RAM,就會在數據緩沖區(qū)里等待內部協議處理器結束,以完成當前共享RAM的訪問;下一個數據再次到來時,將無法寫入數據緩沖區(qū),導致當前寫入的數據丟失。當1553B總線控制器內部的協議處理器和外部主處理器CPU對4K×16位的共享RAM輪流進行讀寫訪問時,則為非競爭訪問。非競爭訪問不會發(fā)生數據丟失的現象。
2 競爭訪問與非競爭訪問時序分析
以16位緩沖零等待模式外部主處理器寫內部共享RAM為例,重點介紹競爭訪問與非競爭訪問之間的時序差異。從圖2的16位緩沖零等待寫內部RAM時序圖可以看出,STRBD信號控制了內部RAM的寫入周期,READYD信號反映了數據寫入的時間過程,READYD高電平表示數據正在寫入內部共享RAM,IOEN信號低電平表示數據寫入成功,本次測試分析了t14的時間長度(READYD信號高電平持續(xù)時間),該時間可有效反應競爭訪問與非競爭訪問之間的時序差異。
試驗測試板通過主處理器CPU對1553B總線控制器電路(DDC公司生產的BU-65170S6-110K)內部寄存器和RAM進行配置,配置1553B總線控制器電路工作在遠程終端RT模式下。配置成功后再對某一固定地址區(qū)域循環(huán)寫入遞增的數據,寫入數據的周期通過軟件編程進行改變;同時通過另外一塊測試板卡總線控制器BC對本RT進行循環(huán)訪問該取數據[7]。利用示波器對STRBD、READYD、IOEN信號進行監(jiān)測,并對總線通信數據進行實時記錄,判斷數據是否為連續(xù)數據[8]。
2.1 非競爭訪問時序測試
寫入數據的周期通過軟件編程控制在每2 s寫入一次,并通過中斷信號控制主處理器CPU寫入數據,與總線控制器BC對RT進行取數據輪流進行,避免主處理器CPU與1553B總線控制器內部協議處理器同時對內部共享RAM進行訪問的發(fā)生,即非競爭訪問。測試波形如圖3所示。
通過圖3的波形可測得在非競爭訪問的情況下,當STRBD低電平寬度為500 ns時,READYD信號的高電平寬度為720 ns,并對實時記錄的總線通信數據進行分析,在非競爭訪問的情況下,寫入數據與總線讀出數據一致,均為連續(xù)數據,未出現數據丟失的現象。
2.2 競爭訪問數據丟失時序測試
寫入數據的周期通過軟件編程控制在2 s一次,并在主處理器CPU寫入數據的同時,通過總線控制器BC對RT進行取數據,以造成主處理器CPU和1553B總線控制器內部協議處理器同時對內部4K×16位共享RAM進行訪問,即競爭訪問。測試波形如圖4所示。
通過圖4的波形可測得在競爭訪問的情況下,當STRBD低電平寬度為500 ns時,READYD信號的高電平寬度為3.12 s,并對實時記錄的總線通信數據進行分析,在競爭訪問的情況下,寫入數據與總線讀出數據有不一致的現象,總線讀出的數據為不連續(xù)數據,在寫入周期為2 s的情況下,當競爭訪問發(fā)生時出現了數據丟失的現象。
從測試波形可以看出,競爭訪問發(fā)生時,即外部通信總線通過1553B總線控制器內部協議處理器從共享RAM取數據,與主控制器CPU向內部共享RAM寫數據同時進行,數據寫入內部共享RAM的時間變長[9],即數據在排隊等待寫入內部共享RAM,如果此時下一個寫周期到來,這個數據將無法寫入內部共享RAM,出現數據丟失。
2.3 競爭訪問數據未丟失時序測試
寫入數據的周期通過軟件編程控制在每5 s寫入一次,并在主處理器CPU寫入數據的同時,通過總線控制器BC對RT進行取數據,以造成主處理器CPU和1553B總線控制器內部協議處理器同時對內部4K×16位共享RAM進行訪問[10],即競爭訪問。測試波形如圖5所示。
通過圖5的波形可測得在競爭訪問的情況下,當STRBD低電平寬度為250 ns時,READYD信號的高電平寬度為3.12 s,并對實時記錄的總線通信數據進行分析,在競爭訪問的情況下,寫入數據與總線讀出數據一致,均為連續(xù)數據,在寫入周期為5 s的情況下,當競爭訪問發(fā)生時未出現數據丟失的現象。
3 結論
在1553B總線控制器電路應用過程中,如果外部主處理器CPU與1553B總線控制器內部協議處理器(即1553B總線收發(fā)數據)同時對內部4K×16位RAM進行讀寫操作,就會造成競爭訪問,在競爭訪問發(fā)生時如果外部主處理器CPU寫入與讀出周期控制不當,就會造成數據的丟失。為有效保證競爭訪問發(fā)生時數據可正確地寫入與讀出,可通過合理控制外部主處理器CPU寫入與讀出周期實現。在競爭訪問發(fā)生時(即READYD高電平期間)避開數據的寫入與讀出,即可有效避免數據的寫入與讀出失敗。本文對16位緩沖零等待模式下競爭訪問時間進行了實測,當STRBD低電平寬度為500 ns時,實測READYD高電平寬度最大值為3.12 s,則讀寫周期控制在3.12 s+0.125 s(2個CLK周期)=3.245 s以上即可保證數據可靠寫入與讀出,可有效避免數據丟失。
參考文獻
[1] Condor Engineering Inc. MIL—STD—1553 Protocol Tutorial[S]. 2004.
[2] DDC. ACE/Mini-ACE Series BC/RT/MT Advanced Communication Engine Integrated 1553 Terminal User′s Guide[S].2008.
[3] Condor Engineering Inc. BusTools—1553—API Software Reference Manual[S]. 2004.
[4] DDC. MIL—STD—1553B Designer′s Guide[S].USA.1998.
[5] DDC. BU-65170/61580 and BU-61585 datasheet[S].1999.
[6] Data Device Corporation. Rebirth of the 1553 data bus[C]. 2006:3-4.
[7] GLASS M. Enhanced mini-ACE architecture offloads host processor for BC applications[Z]. Application Note AN/B-32,2006:1-6.
[8] LOS G. Asynchronous asynchronous message insertion for DDC′s enhanced mini-ACE series[Z]. Application Note AN/B-42,2006:1-7.
[9] Wu Kan, Jiang Jingfei. Research and design of 1553B fault-tolerant communication protocol[J]. Energy Procedia,2011,16(1):2-3.
[10] 黃長春,徐抒巖.基于DSP的1553B總線系統設計與實現[J].電子設計工程,2010(8):4-7.