基于时间触发的1553B总线实时调度设计
2016-02-05詹盼盼郭坚刘欣
詹盼盼,郭坚,刘欣
北京空间飞行器总体设计部,北京 100094
基于时间触发的1553B总线实时调度设计
詹盼盼,郭坚*,刘欣
北京空间飞行器总体设计部,北京 100094
为了优化1553B总线传输性能,降低总线消息传输的等待时间,提高总线带宽利用率和紧急消息响应的实时性,对1553B总线调度方法进行了研究,将周期性调度和抢占式调度策略相结合,设计了一种基于时间触发的1553B总线实时调度方法。在时间触发的基准下按优先级对总线消息进行集中调度,总线帧在总线上传输的时间内,处理器无需等待,可以继续处理其他任务。利用总线数据区分区的特性,设计了紧急消息打断普通总线消息传输的抢占式调度策略,避免了非重要数据较长时间占用总线通信信道,使得紧急消息能够快速响应。试验结果表明,该调度方法实现了总线消息尽最大能力传输,不仅能够较大幅度地提高1553B总线传输效率和带宽利用率,而且紧急消息的响应时间稳定在2 ms以内,为紧急消息的实时响应提供了保证。
1553B总线;周期;抢占式调度;优先级;时间触发
MIL-STD-1553B[1-2]协议是美国空军面向总线通信链路层制定的时分多路串行数据总线协议,由于该协议针对链路层制定了一套故障诊断机制[3],能够很好地满足空军战斗机舱内数据通信并且在空军应用反响良好,后来广泛应用于各类卫星、导弹中[4]。1553B总线上消息传输的速率和周期各不相同,其传输速率只有1 Mbit/s。如何兼顾1553B总线系统的实时性和可靠性,合理地调度1553B总线上的各种消息,尽量发挥1553B总线系统的性能,已成为当前研究的热点[5]。
随着航天器任务越来越复杂,其系统性能和一些指令的响应时间受到重点关注。由于受1553B总线传输带宽的限制,在总线上传输普通遥测等数据需要的时间相对较长,严重时会堵塞紧急消息的实时传输[6-8],从而影响航天器任务。因此如何合理地调度1553B总线上的各种消息,特别是实现紧急消息的快速响应,是航天器1553B总线软件设计的重要内容。
国外对航天器1553B总线通信技术有较多研究,但是对消息重要性分级和如何实时调度没有应用说明。国内传统航天器1553B总线通信主要存在以下两个问题:
1)消息处理不够实时,每次总线通信后均需等待造成通信延时和总线效率较低。传统方式下,多个应用进程直接操作1553B总线芯片,每次总线通信启动后,处理器均需要等待本次总线通信完成才能处理后续任务。这种方式虽然解决了总线访问冲突问题,但是严重制约了对1553B总线的带宽利用(传输后的等待方式使得总线传输速率通常小于100 Kbit/s)和消息的实时性,无法满足新一代航天器对总线带宽的需求。
2)紧急消息存在被堵塞的可能。将关键数据和非关键数据视为同一类总线消息,使用同一总线数据区进行总线通信,这种方式对于总线传输数据量较小的传统航天器而言,可以满足需求,但是对于数据量较大的航天器来说,会导致一些紧急消息不能及时响应,或者一些控制数据的周期不能满足要求。以某航天器为例,其数据管理系统需要处理大量遥测数据和一些短周期控制数据,如果正在处理大量遥测数据(如某设备实时遥测达20 000字节),传统的处理方式是传输完成所有的遥测数据后才能处理其他总线消息,这样会导致短周期控制消息无法满足周期要求、一些对时间要求较高的指令消息得不到实时响应,严重时会堵塞关键指令的实时传输,影响关键指令的执行。
为克服现有技术的不足,提高星内总线通信效率和消息响应的实时性,本文提出了一种基于时间触发的1553B总线实时调度设计方法。首先对星内1553B总线通信需求和设计思路进行分析,然后采用“生产者-消费者”[9]模型,设计了总线调度进程“消费”其他应用进程“生产”的总线消息,以固定时间周期为基准,按优先级从高到低的顺序对总线消息进行集中调度,并在此基础上,设计了紧急消息打断普通消息发送的抢占式调度方法。本文设计的总线调度方法,能够较大幅度地提高星内1553B总线通信效率,并为整星紧急指令和控制数据的实时传输提供了保证。
1 应用需求与设计思路
1553B总线已经成为航天器上使用最为广泛的星内通信总线之一,它是各个分系统的遥测数据、遥控数据、指令数据和各种控制数据的通信介质。当前星内1553B总线通信有如下需求:
1)能够管理不少于一条1553B总线网络,每条1553B总线的传输速率要求不小于300 Kbit/s。
2)总线通信数据中包含周期性数据、突发性数据和对时间精度要求较高的数据,其中周期性数据主要包括各种遥测数据、分系统间交互数据,突发性数据主要包括实时指令、条件指令和一些突发控制数据,对时间精度要求较高的数据包括一些紧急指令、时间码同步数据等。
3)数据通信的周期多种多样,存在着500 ms、1 s和2 s等长期周期的数据通信,也有50 ms、100 ms等短周期数据的通信需求。
针对上述1553B总线通信数据量大、总线消息传输类别多种多样的特点,传统的总线通信方式已经不能满足应用需求,需要改进1553B总线调度方式,以满足日益复杂的星内总线通信需求。本文在进行1553B总线调度时,采取以下设计思路:
1)总线消息集中调度。传统型号在进行1553B总线通信时,应用软件的多个进程分别向总线芯片写入消息,各自启动发送。为避免总线芯片访问冲突,这些进程只能等待,直到总线消息发送完成后其他进程才能读写总线芯片。这种方式下总线带宽利用率不高。为解决这种总线通信效率较低的问题,本文采用总线消息集中调度的方式,设置独立的总线调度进程,负责总线消息的统一调度和发送,在总线通信启动后不再等待,而是继续执行其他任务,待总线消息通信状态返回后再处理这些返回的总线消息。
2)按优先级调度总线消息。将应用数据设置不同的优先级,将重要数据设置为高优先级,普通数据设置为低优先级,在总线消息发送过程中,按照优先级从高到低发送总线消息。
3)基于时间触发的周期性调度与抢占式调度相结合。总线调度进程基于固定的时间周期触发一次调度,周期性组织总线消息并发送,在普通消息调度过程中,如果有关键数据需要发送,则抢占普通消息的发送,等关键数据发送完成后,恢复普通消息的发送,保证关键数据消息的快速响应,而且不影响对时间紧迫性要求不高的普通数据消息的处理。
2 总线调度方法
2.1 时间触发的周期性调度
按照“总线消息集中调度”的设计思想,本文采用“生产者-消费者”模型进行总线消息调度设计。将产生总线消息的任务设计为生产者进程,总线调度进程设计为消费者进程,生产者进程向总线消息数据缓冲区插入待发送的消息数据。总线调度进程周期性地从总线消息数据缓冲区获取消息数据,并且根据消息数据的属性将控制字、命令字和有效数据写入总线芯片。总线调度进程统一负责总线芯片数据区的写入和启动通信过程,如图1所示。
为了按优先级调度总线消息,总线消息数据缓冲区设置3个不同优先级的链表,分别是存储高优先级链表、中优先级链表和低优先级链表。其中高优先级链表预留给紧急消息和快周期消息,采用抢占式调度方式;中优先级和低优先级链表存储非紧急消息,采用周期性调度方式。应用任务根据优先级属性,将应用数据拆块成消息数据块并插入到对应优先级的链表中。
总线传输帧[10-11](简称为总线帧)是总线一次通信需要传输的消息集合。一般地,在总线消息数量确定的情况下,一个总线帧中包含的消息数量越多,总线通信效率越高。通过配置总线芯片,一个总线帧可以包含64个总线消息。本文在总线调度时,每次通信时均将总线帧中的消息填满,以保证总线带宽利用率的最大化。
总线调度进程是基于时间触发的任务,以一个较小的时间周期运行,处理方式如图2所示。根据“按优先级调度”的原则,依次遍历中优先级和低优先级链表,从链表中获取待发送的消息数据,每次最多获取64个消息数据块。如果当前系统中的消息数据块数量大于或等于64个,则在本周期按优先级从高到低处理64个消息数据块,剩余的消息等到下一个周期调度。如果当前系统中的消息数据块数量小于64个,则在本周期按优先级调度这些剩余的消息块。如果当前无可处理的消息块,总线调度进程退出本次调度。根据消息数据块的属性,设置总线消息的控制字、命令字和数据字,依次写入总线芯片并且启动发送。然后总线调度进程获取消息传输完成的信号量,并将自身挂起,释放处理器,其他进程可以执行,当总线传输完成产生总线中断后,释放该信号量,总线调度进程继续执行,处理返回后的总线消息和状态。
图1 基于时间触发的总线帧通信过程Fig.1 Communication process of time triggered bus frame
图2 总线调度流程Fig.2 Process of bus scheduling
这种周期性总线调度方式,与传统方式的最大区别是,在传统总线发送过程中,每个应用进程分别向总线芯片写入消息,一方面,这些总线消息数量往往不能填满一个总线通信帧(有的帧中消息数量仅有几个),另一方面,这些进程各自启动发送,为避免总线芯片访问冲突,进程只能等待,直到总线消息发送完成后其他进程才能读写总线芯片。这种方式下总线传输效率较低,当有紧急消息需要发送时,由于总线芯片独占和未区分优先级的方式,导致紧急消息的等待时间过长。本文设计的周期性总线调度方式,按照数据的优先级调度总线消息,总线帧在总线上传输的时间内,应用软件可以继续处理其他任务,待总线消息返回后再处理总线数据,解决了总线芯片资源和处理器等待的问题,提高了总线通信效率。
2.2 抢占式实时调度
本文设计的抢占式调度采用类似“中断”的处理方式,在总线调度进程执行普通消息发送的过程中,如果其他应用进程要发送高优先级的数据,可以中断正在总线上发送的总线通信帧,待高优先级数据发送完成后,恢复被中断的总线通信帧,并继续发送。总线数据区可分为A区和B区,总线调度进程发送普通消息使用A区发送,高优先级消息采用B区发送。应用进程将这些数据拆分成消息数据块并放入高优先级链表后,首先停止总线调度进程当前区正在通信的总线通信帧,从高优先级链表中获取待发送的消息数据块,根据消息数据块的属性,设置控制字、命令字和数据字,写入总线芯片数据区B区,然后设置当前发送区为B区,并启动发送。待发送完成后,恢复当前发送区为A区,然后启动A区发送,恢复被中断的总线通信帧。
当系统中存在需要调度的高优先级总线消息时,首先停止A区正在传输的普通消息的传输,将高优先级总线消息写入B区,每次写入64个总线消息(最后一次消息数量不足64个时,则将这些消息直接写入B区并发送),直到采用B区将高优先级的总消息发送完毕后,恢复A区总线消息帧的发送,保证高优先级的总线消息能够抢占低有效总线消息的传输。
基于时间触发的周期性调度,解决了总线芯片访问冲突问题,保证了系统按照最大能力进行总线传输。总线B区打断A区的抢占式调度设计,使得高优先级的消息能够抢占低优先级消息的发送,改变了以往总线消息发送没有优先级的工作模式,避免了非重要数据较长时间占用总线通信信道,使得紧急消息能够快速响应,为重要数据的实时传输提供了保证。
3 试验结果与分析
在当前星载计算机应用中,处理器访问1553B总线的效率是星载计算机系统的一个重要指标,计算机系统除了完成总线数据的收发外,还需要实现其他复杂计算和处理过程[12-13]。如果总线消息发送时间较长,占用的处理器时间较多,必然会对其他任务造成影响。本节对基于时间触发的1553B总线实时调度过程进行试验与分析,并与传统型号总线发送方式进行对比,内容包括总线通信效率和紧急消息的实时性。
3.1 总线通信效率分析
试验是在相同的硬件环境和任务下进行的,选用TSC695F处理器,主频为11.059 2 MHz,总线芯片使用61 580芯片,在处理器的IO区间上,IO等待周期设置为3。应用进程共5个,分别产生BC→RT和RT→BC的总线消息。试验方式是分别在相同总线数据量的情况下,测试总线消息传输完成占用的时间,每次试验进行100次,取平均值,本文的调度方式和传统实现方式的运行结果如图3所示。
图3 总线传输效率对比分析Fig.3 Analysis of bus transmission efficiency in different methods
图3是对不同总线通信流量下分别使用传统实现方式和本文设计的调度方式时,总线消息从应用进程产生到传输完成的时间的对比结果。从结果可以看出,当总线数据量较小的情况下,两者差别不太大,但是随着总线数据量的增加,本文设计的总线调度方式传输时间要小很多,这是因为总线帧在总线上传输的时间内,处理器无需等待,应用进程可以继续执行任务或者组织后面的总线消息,从而节约了处理器时间。相比于传统型号总线发送方式,在总线传输流量达到400 Kbit/s以上的情况下,基于时间触发的总线实时调度方式将总线传输时间缩短了4/5左右,很大地提高了总线传输效率。
3.2 紧急消息实时响应分析
当前航天器1553B总线上消息传输的速率和周期性各不相同,除传输各设备的遥测数据外,还要传输各种指令和控制数据,有的指令和控制数据对时间的精度要求较高。这些紧急消息的实时响应是一项重要性能指标,例如某型号的时间传输精度要求在10 ms以内、某些控制指令的时间要求在50 ms以内。本文对紧急消息的实时性响应时间进行测试,试验方式是分别传输相同数据量的遥测后,当某紧急消息到达后,测试该紧急消息的执行时间并比较,如图4所示。
分析图4的数据,随着低优先级的遥测数据量增加,传统实现方式下,紧急消息的响应时间也跟着增加,当数据量增加到一定程度,无法满足紧急消息的时间要求。而在本文的调度方式下,紧急消息的执行时间始终保持在2 ms以内,不随普通遥测数据量的变化而变化。可见基于时间触发的总线实时调度方式对紧急消息的响应时间不仅很短,而且稳定。
图4 紧急消息处理时间对比分析Fig.4 Analysis of processing time of emergency messages in different methods
4 结束语
本文提出了一种基于时间触发的1553B总线实时调度设计方法,并经试验验证,对测试结果进行了分析。研究表明,在时间触发下根据优先级对总线消息进行周期性调度,相较传统实现方式,可以较大幅度地提高1553B总线传输效率和带宽利用率,而且紧急消息能够抢占普通消息的传输,避免了非重要数据较长时间占用总线,使得紧急消息能够实时响应。本文的研究成果满足新一代星内1553B总线通信需求,具有重要的工程应用价值。
References)
[1] MIL-STD-1553 protocol tutorial[M]. New York: Condor Engineering Inc.,2004:12-26.
[2] 刘士全,隽扬,蔡洁明,等. 1553B总线应用发展研究[J]. 电子与封装,2013,13(12):12-15.
LIU S Q,JUAN Y,CAI J M,et a1. Research on the application development of l553B bus[J]. Elecfronics & Packaging,2013,13(12):12-15(in Chinese).
[3] 章生平,郭晶晶,肖轩,等.1553B总线应用层协议可靠性机制设计方法[J]. 遥测遥控,2015,36(6):51-56.
ZHANG S P,GUO J J,XIAO X,et al. A reliability design method of 1553B bus application layer protocol[J]. Journal of Telemetry,Tracking and Command,2015,36(4):51-56(in Chinese).
[4] ZHANG Y X,ZHANG W G,ZHOU Q,et al. The design of 1553B communication bus based of Bu-61580[C]∥2010 the 5th IEEE Conference on Industrial Electronics and Applications.IEEE,2010:1920-1923.
[5] 赵昶宇,颜昌翔,于平. 1553B总线上消息的实时调度[J]. 光学精密工程,2010,18(3):732-740.
ZHAO C Y,YAN C X,YU P. Real time scheduling of messages on 1553B bus[J]. Optics and Precision Engineering,2010,18(3):732-740(in Chinese).
[6] KOTOV V,DUBOVIK L, BYBALTEHENKO K. A bus controller for MID-1553B and multibus II[J].Nuclear Instruments and Methods in Physics Research Section A:Accelerators,Spectrometers,Detects and Associated Equipment,1994,352(1):283-284.
[7] AGRAWAL G,CHEN B,ZHAO W,et a1.Guaranteeing synchronous message deadlines with the timed token medium access control protocol[J].IEEE Transactions on Computer,1994,43(3):327-339.
[8] XU X D,ZHANG P. Software design for real-time measuring and control system based on LabVIEW and 1553B[C]∥2010 International Conference on Electrical and Control Engineering,2010:1973-1976.
[9] 张秀娟. 生产者-消费者系统的建模与行为分析方法研究[J].微电子学与计算机,2004,21(5):97-100.
ZHANG X J. Modeling and behavior analysis for producer-consumer system[J]. Microelectronics & Computer,2004,21(5):97-100(in Chinese).
[10] DDC Data Service Corporation. ACE/Mini-ACE series BC/RT/MT advanced communication engine integrated 1553 terminal User′s Guide[M]. New York: Bohemia,2007.
[11] 刘燕松,盛利元,冯旭哲. 卫星载荷1553B总线数据接口的设计与实现[J]. 宇航计测技术,2013,33(5):52-56.
LIU Y S,SHENG L Y,FENG X Z. The key technology research of 1553B bus data flow interface of satellite[J]. Journal of Astronautic Metrology and Measurement,2013,33(5):52-56(in Chinese).
[12] 詹盼盼,郭廷源,高建军,等. 基于BM3803处理器的即插即用星载计算机系统设计[J]. 航天器工程,2013,22(6):92-96.
ZHAN P P,GUO T Y,GAO J J,et al. Plug-and-play on-board computer system design based on BM3803 processor[J]. Spacecraft Engineering,2013,22(6):92-96(in Chinese).
[13] 郭泽仁. 1553B总线系统优化及可靠性设计[J]. 山东理工大学学报(自然科学版),2008,22(1):67-70.
GUO Z R. The optimization and reliability design for 1553B data bus[J]. Journal of Shandong University of Technology(National Science Edition),2008,22(1):67-70(in Chinese).
(编辑:高珍)
Real time scheduling based on time triggered 1553B bus
ZHAN Panpan,GUO Jian*,LIU Xin
Beijing Institute of Spacecraft System Engineering,Beijing 100094,China
In order to optimize the performance of 1553B bus transmission, reduce the waiting time after the messages transmission,and improve the bus bandwidth utilization and the real time performance of emergency messages response, the 1553B bus scheduling methods were studied, and a real time scheduling method based on the time triggered 1553B bus was designed by using the method of periodic scheduling and preemptive scheduling. On the basis of time trigger,bus messages were centrally scheduled by priority. During the time the bus frame was transmitted on the bus, the processor could continue processing other tasks without waiting for some time. Based on the characteristic of bus data area partition, the preemptive scheduling strategy for emergency messages to interrupt common messages transmission was designed. Non important data didn′t take up the bus channel for a long time, so that emergency messages were quickly responded. The experimental results show that the proposed method can achieve the maximum capacity of bus transmission.It can improve the transmission efficiency and bandwidth utilization of 1553B bus,while the response time of emergency messages is stable within 2 ms.
1553B bus;periodic;preemptive scheduling;priority;time triggered
10.16708/j.cnki.1000-758X.2016.0070
2016-08-04;
2016-10-25;录用日期:2016-11-24;
时间:2016-12-16 11:29:18
http:∥www.cnki.net/kcms/detail/11.1859.V.20161216.1129.010.html
国家自然科学基金(91438102)
詹盼盼(1987-),男,硕士研究生,panpan3210@qq.com,研究方向为空间数据系统设计
*通讯作者:郭坚(1977-),男,研究员,Guojian@163.com,研究方向为空间数据系统设计
詹盼盼,郭坚,刘欣. 基于时间触发的1553B总线实时调度设计[J].中国空间科学技术, 2016,36(6):77-82.
ZHANPP,GUOJ,LIUX.Realtimeschedulingbasedontimetriggered1553Bbus[J].ChineseSpaceScienceandTechnology, 2016,36(6):77-82(inChinese).
V446.2
A
http:∥zgkj.cast.cn