操作系统任务调度器的设计图。
“是的,突破性的。”陈致宁走到一台计算机前,那是一台ib的机器,屏幕是显像管的,带着弧度。
他敲了几下键盘,调出一个波形分析界面,“我们彻底解决了1553b数据总线在高峰负载下的传输冲突问题。原来设计的系统,在模拟多传感器数据同时传输时,偶尔会出现丢包,特别是在火控雷达,惯导系统和电子战系统同时发数据的时候。”
屏幕上显示着两段波形图对比。左边的波形参差不齐,脉冲间隔不均匀,有几个位置明显缺失,右边的波形整齐规律,脉冲如梳齿般均匀。
“我们重新设计了总线控制器协议栈,加入了一个动态优先级调整算法。”
陈致宁解释道,手指在屏幕上指点,“当多个子系统同时请求数据传输时,系统会根据数据的重要性和实时性自动分配带宽和时序。”
“比如,火控雷达的目标数据优先级最高,延时要求小于5毫秒,惯导系统次之,但数据量小,通讯系统再次之,可以容忍一定的延迟。”
他调出另一个界面,那是一张复杂的系统架构图,用不同颜色的方框表示不同的子系统,线条表示数据流。
“这是我们的航电系统总体架构。中央任务计算机采用双冗余设计,主备机之间通过高速交叉通道实时同步,切换时间小于50微秒。”
“六个主要子系统,雷达,惯导,火控,通讯,电子战,飞控,通过两条冗余的1553b总线连接,任何一条总线故障,系统都能自动切换到另一条,不影响功能。”
林默凑近屏幕,仔细看着架构图:“实时性测试结果如何?”
“从传感器数据采集,总线传输、中央处理到输出控制指令,端到端平均延迟小于10毫秒。”
陈致宁推了推眼镜,镜片后的眼睛闪着专业的光芒,“最坏情况下不超过20毫秒,完全满足空战格斗的需求。”
“要知道,人的反应时间还要200毫秒呢。”
“操作系统是你们自己写的?”秦怀民问,他也凑过来看屏幕。
“是的,完全自主开发,基于微内核的实时操作系统。”
陈致宁语气中带着自豪,“我们参考了国际上几种主流rtos的设计理念,但架构完全重写了。内核只提供最基本的任务调度,内存管理和中断处理,其他功能都在用户态实现。”
“这样系统更稳定,一个应用崩溃不会导致整个系统宕机。”