除了这些参数以外,完整的系统设计还需要以下信息:
●信号定义:类型、大小等;
●发送节点数据定义:收发的信号、TP和TS的定义;
●接收节点数据定义:收发的信号、TP、TS和maximum age的定义;
●拓扑结构的定义:节点之间的互联关系。
以上数据为基础,对通信过程的实时性进行分析,计算通信中的延迟。然后根据单调速率分析法(deadline monotonic analysis),分配消息ID并设置周期。
根据系统获取的时间要求,系统计算消息的延迟并验证设计的协议是否满足这些时间要求。如果不满足时间要求,系统将自动调整消息ID和周期,直到满足所有的时间要求。
本文用Mentor Graphics公司Volcano产品线的设计工具VNA进行了实验。VNA是CAN/LIN协议的自动化设计工具,其核心思想就是采用了本文介绍的系统工程设计方法。其使用方法可以如图5所示,用户提供信号及节点定义、本文介绍的时间参数定义及项目管理定义,VNA将自动对CAN通信协议进行设计,输出通信协议规范。
其中图6是本次实验的通信系统拓扑结构,系统由三条CAN总线和两条LIN总线组成,CAN协议采用的是29位。
输入参数后,VNA自动生成通信协议,结果如图7所示。消息EMSHSC_FrP00的ID为0x04c000d,周期为10ms,计算出的延迟时间为1.734ms。
结论
系统工程设计法,采用一套量化体系描述数据收发的完整过程。明确定义这些指标,并清晰描述了系统功能的时间性要求。正因为这样,使得自动化设计协议成为可能。
根据这些量化指标,系统将自动计算消息的延迟时间,并自动调节消息的优先级和周期,以控制消息的延迟时间,保证用户提出的时间要求全部得到满足,从而实现从设计角度控制消息延迟的目的。
自动化设计协议降低了协议设计的技术门槛,特别是对于中国的整车厂,没有经验积累,这样的工具必将助力国内自主产品在总线上的研发。