新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 1553B总线控制器异步通讯仿真软件设计

1553B总线控制器异步通讯仿真软件设计

作者:时间:2012-03-13来源:网络收藏

1553B是一种时分制指令/响应式多路传输数据总线,因其高可靠性和实时性广泛应用在航空电子设备中,目前在舰船系统中也有广泛应用。总线上可以挂接一个总线控制器(BC),若干(不超过31个)用来连接子系统和数据总线进行数据通信的远程终端(RT),一般还可以挂接
一个总线监视器(MT),用于监听各个节点的通信状态。

总线控制器是在数据总线上被指定执行启动信息传输任务的终端。上消息传输的过程是:总线控制器向某一终端发布一个接收/发送指令,终端在给定的响应时间范围内发回一个状态字并执行消息的接收/发送。

在1553B数据总线上,消息是按时间逐次进行传输的,总线上BC与RT间有10种可能的通信模式[1]。大多消息的处理按固定的顺序、周期和相位出现。这类消息称为周期消息,其传输过程叫同步通讯。对这类消息可以按静态的时间表进行,周期时间最小的消息排在一个小帧中(小周期),周期时间最大按小周期2的幂次的调和构成一个主帧(大周期),每个大周期由若干个小周期组成,其余各周期同样按照2的幂次的调和排入消息表,具体的算法详见文献[2]。多数的总线控制器系统软件都只实现了周期消息的传输,即同步通讯。但在实际应用的总线通讯中,有些消息是由系统中随机突发事件激活或由其它事件的请求所引起。这类消息称非周期消息,相应的传输称是在有服务请求的情况下插入同步通讯中的,具有很高的实时性和重要性,因此,能够根据用户的需求,在同步通讯的同时实现非周期消息的具有非常实际的意义。

1 总线控制器异步通讯处理方案

总线控制器(BC)是总线上的重要组成。总线上所有消息的传输都由BC来激励和控制,是总线进行通讯的开关。为了处理非周期消息,在总线上必须对BC原有的静态总线控制协议进行改进,改进后的协议称为ISBC,它的特点是:

·当消息被更新后才进行传输,其工作机理为更新检测传输(UPDT);

·消息传输周期是变化的。一个周期消息完成后立即开始新的周期。对任何相关子系统来说,对更新性消息而言,传输周期是异步的。

这一协议的应用降低了通信系统的负载和平均延迟时间,大大改善了子系统的性能。

实现更新数据传输机制(ISBC)的方法有两种:异步服务请求方式和BC定时查询方式。异步服务请求方式是当同步通讯段中的某一周期消息的状态字的服务请求位因异步的服务而被置1时必需插入异步通讯。BC定时查询方式是总线控制器BC以某一预定频率向RT发送方式指令0x1000(发送矢量字)。被查询的RT若有非周期消息,就将矢量字置位,通知BC组织非周期消息的传输。

异步请求方式无查询开销,但它对非周期消息响应不确定,必须在请求RT获得总线使用权时BC才组织传输非周期消息。BC定时查询方式较前者有很强的确定性,它每个小周期对各个终端查询一次,可以保证非周期消息的分辨率,虽然有查询开销,但由于采用UDPT方式,开销并不多。另外由于它的确定性,系统设计时可确切地对系统进行性能评价,便于系统设计。由于在实时系统中主要考虑实时性问题,因此本软件采用BC定时查询方式。

2 异步通信软件的仿真测试环境

的开发基于特定的硬件和软件配置环境。如图1所示。

在整个测试环境中,本软件用来组织整个系统各个子系统间消息的传输,并响应子系统的非周期消息传输请求,实现异步通讯。计算机仿真终端必须由一块多路数据总线接口卡连接到总线上,以进行数据通讯。本软件的开发选用美国DDC公司的IDEA多路数据总线接口卡,Win98操作系统为计算机仿真平台。

IDEA接口卡本身提供了一个RTL(运行时库)函数库,为上层的开发提供了与底层硬件驱动相关的特定功能接口函数(API),驱动总线接口卡与总线进行数据通讯。为了给用户提供友好的界面,本使用VC++语言进行设计开发。

仿真软件除了要组织消息的异步通讯,还要求对链入网络的各个终端进行监视,判断各个RT故障情况,将其链入或剔除网络的通信过程,以提高网络的数据传输效率,并实时显示节点状态便于管理员及时发现和排除故障。同时在实际通讯中,为了协调各个终端的通讯,设计了周期性的带数据字的同步消息,每个周期向各个RT广播,通知各个RT做好准备,并在特定终端的异步消息传输结束后通知该RT。设计中周期消息的传输周期分别为2s、1s、50ms(周期时间为设计值,可根据用户要求改变),故设定周期性消息的传输大周期为2s,并将其分成40个小周期(每周期为50ms)。每一小周期1553B命令的配置图如图2所示。

3 异步通讯软件的结构

考虑以上功能的实现和VC++语言本身的特点,本软件在界面和功能的实现上采用模块化的设计思想,由设置文件建立模块(M1-1)和仿真功能实现模块(M1-2)两个主模块组成,各主模块根据需要包含相应的功能子模块(模块的命名方式:M层次-模块号)。设置文件建立模块(M1-1)为用户提供输入界面,用户可以方便地定义系统所使用的终端地址、要传输的消息内容和数据以及周期消息传输的消息表,对不同的用户有很大的适应性。仿真功能实现模块(M1-2)根据M1-1提供的数据定时组织周期消息的传输,并查询异步消息的传输请求,及时响应异步消息请求并组织传输,每个大周期定时向故障节点发送查询消息,以判断相应RT的状态并刷新实时显示各节点状态。系统模块数据流如图3所示(设该软件为0级模块,即M0-仿真软件)。

设置文件建立模块主要为用户提供一个友好的输入界面,用户输入的数据主要为仿真功能实现模块提供输入。仿真功能实现模块从软件中取出用户在设置文件模块中定义的传输消息所必需的数据,组织消息传输。根据不同功能的实现,它所包含的子模块主要为:IDEA卡的初始化和周期消息传输(M2-1)、异步通讯实现模块(M2-2)、RT故障检测(M2-3)。

数字通信相关文章:数字通信原理


通信相关文章:通信原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭