1553B总线应用竞争访问时序分析
刘士全;黄正;蔡洁明;魏敬和
【摘 要】军工系统单位在应用1553B总线控制器电路过程中,采用其零等待工作模式,偶尔会遇到竞争访问数据丢失的问题.文章详细介绍了1553B总线控制器电路在应用过程中竞争访问产生的原因,并对竞争访问和非竞争访问之间的时序差异进行了测试分析,阐明了竞争访问数据丢失的原因,给出了有效避免竞争访问发生时数据丢失的时序配置方法.
【期刊名称】《微型机与应用》 【年(卷),期】2015(034)001 【总页数】3页(P69-71)
【关键词】1553B总线;竞争访问;非竞争访问;时序 【作 者】刘士全;黄正;蔡洁明;魏敬和
【作者单位】中国电子科技集团第58研究所,江苏无锡214035;中国电子科技集团第58研究所,江苏无锡214035;中国电子科技集团第58研究所,江苏无锡214035;中国电子科技集团第58研究所,江苏无锡214035 【正文语种】中 文 【中图分类】V19
1553B总线是美用标准MIL-STD-1553B总线的简称,它采用带屏蔽的双绞线作为串行数据总线,使用时分制指令/响应型传输协议,其传输速率为1 Mb/s,传输方式为半双工,其形式类似一个局域网[1]。由于1553B总线的高可靠性和实
时性[2],使其在航空、航天等众多型号单机系统中得到广泛的应用。1553B总线通常由一个总线控制器(BC)、最多31个远程终端(RT)和一个总线监控器(MT)组成[3]。目前航空、航天系统使用最广泛的1553B总线控制器有61580、65170、61585、843等。1553B总线控制器在应用过程中,通过主控制器(如MCU、DSP、FPGA等)对其内部寄存器及存储器进行配置及数据写入与读出。本文重点分析1553B总线控制器在应用过程中产生竞争访问的原因、竞争访问与非竞争访问的时序差异、竞争访问时数据丢失的原因及有效避免的方法。 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进行读写操作。由于该模式读写周期固定,当竞争访问发生时,偶尔会出现数据丢失的现象。下面重点介绍该问题产生的原因。
从图1 1553B总线控制器内部逻辑功能框图[5]可以看出,1553B总线控制器内部集成了一块4K×16位的共享RAM。首先1553B总线控制器内部协议处理器可以通过数据总线和地址总线对4K×16位的共享RAM进行读写访问;其次外部主处理器CPU也可通过数据总线和地址总线对4K×16位的共享RAM进行读写访问(但通过了一级数据、地址缓冲器)。当1553B总线控制器内部协议处理器和外部主处理器CPU同时对4K×16位的共享RAM进行读写访问时,这时就产生了竞争访问[6]。当竞争访问产生时,如前一个数据还没有被写入内部的共享RAM,就
会在数据缓冲区里等待内部协议处理器结束,以完成当前共享RAM的访问;下一个数据再次到来时,将无法写入数据缓冲区,导致当前写入的数据丢失。当1553B总线控制器内部的协议处理器和外部主处理器CPU对4K×16位的共享RAM轮流进行读写访问时,则为非竞争访问。非竞争访问不会发生数据丢失的现象。
以16位缓冲零等待模式外部主处理器写内部共享RAM为例,重点介绍竞争访问与非竞争访问之间的时序差异。从图2的16位缓冲零等待写内部RAM时序图可以看出,STRBD信号控制了内部RAM的写入周期,READYD信号反映了数据写入的时间过程,READYD高电平表示数据正在写入内部共享RAM,IOEN信号低电平表示数据写入成功,本次测试分析了t14的时间长度(READYD信号高电平持续时间),该时间可有效反应竞争访问与非竞争访问之间的时序差异。 试验测试板通过主处理器CPU对1553B总线控制器电路(DDC公司生产的BU-65170S6-110K)内部寄存器和RAM进行配置,配置1553B总线控制器电路工作在远程终端RT模式下。配置成功后再对某一固定地址区域循环写入递增的数据,写入数据的周期通过软件编程进行改变;同时通过另外一块测试板卡总线控制器BC对本RT进行循环访问该取数据[7]。利用示波器对STRBD、READYD、IOEN信号进行监测,并对总线通信数据进行实时记录,判断数据是否为连续数据[8]。 2.1 非竞争访问时序测试
写入数据的周期通过软件编程控制在每2 μs写入一次,并通过中断信号控制主处理器CPU写入数据,与总线控制器BC对RT进行取数据轮流进行,避免主处理器CPU与1553B总线控制器内部协议处理器同时对内部共享RAM进行访问的发生,即非竞争访问。测试波形如图3所示。
通过图3的波形可测得在非竞争访问的情况下,当STRBD低电平宽度为500 ns时,READYD信号的高电平宽度为720 ns,并对实时记录的总线通信数据进行分
析,在非竞争访问的情况下,写入数据与总线读出数据一致,均为连续数据,未出现数据丢失的现象。
2.2 竞争访问数据丢失时序测试
写入数据的周期通过软件编程控制在2 μs一次,并在主处理器CPU写入数据的同时,通过总线控制器BC对RT进行取数据,以造成主处理器CPU和1553B总线控制器内部协议处理器同时对内部4K×16位共享RAM进行访问,即竞争访问。测试波形如图4所示。
通过图4的波形可测得在竞争访问的情况下,当STRBD低电平宽度为500 ns时,READYD信号的高电平宽度为3.12 μs,并对实时记录的总线通信数据进行分析,在竞争访问的情况下,写入数据与总线读出数据有不一致的现象,总线读出的数据为不连续数据,在写入周期为2 μs的情况下,当竞争访问发生时出现了数据丢失的现象。
从测试波形可以看出,竞争访问发生时,即外部通信总线通过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,并对实时记录的总线通信数据进行分析,
在竞争访问的情况下,写入数据与总线读出数据一致,均为连续数据,在写入周期为5 μs的情况下,当竞争访问发生时未出现数据丢失的现象。
在1553B总线控制器电路应用过程中,如果外部主处理器CPU与1553B总线控制器内部协议处理器(即1553B总线收发数据)同时对内部4K×16位RAM进行读写操作,就会造成竞争访问,在竞争访问发生时如果外部主处理器CPU写入与读出周期控制不当,就会造成数据的丢失。为有效保证竞争访问发生时数据可正确地写入与读出,可通过合理控制外部主处理器CPU写入与读出周期实现。在竞争访问发生时(即READYD高电平期间)避开数据的写入与读出,即可有效避免数据的写入与读出失败。本文对16位缓冲零等待模式下竞争访问时间进行了实测,当STRBD低电平宽度为500 ns时,实测READYD高电平宽度最大值为3.12 μs,则读写周期控制在3.12 μs+0.125 μs(2个CLK周期)=3.245 μs以上即可保证数据可靠写入与读出,可有效避免数据丢失。
刘士全(1982-),男,工程师,主要研究方向:1553B总线控制器电路应用测试研发工作。 【相关文献】
[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]CondorEngineeringInc.BusTools—1553—APISoftware 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.