基于信号名的嵌入式多CPU板间信号自动交换的方法技术

技术编号:11663144 阅读:80 留言:0更新日期:2015-06-29 18:24
本发明专利技术公开一种基于信号名的嵌入式多CPU板间信号自动交换的方法,步骤是:将CPU板划分为主板和从板,在初始化阶段,所有从板依次向主板发送信号注册信息;主板汇总所有从板的信号注册信息后,从配置文件中读取用信号名连线表示的输出、输入信号交换关系,计算分配输出、输入信号映射的数据总线地址,依次将各个信号的内存地址、数据类型和总线地址发给各从板;从板收到主板的信号的内存地址、数据类型和总线地址后,保存为输出信号表和输入信号表;在运行阶段,信号发送方按照输出信号表,将输出信号值填入相应总线地址中,接收方按照输入信号表,从相应总线地址读取输入信号值。此方法可直观简单地调整CPU板间信号交换,并保证信号交换的正确性。

【技术实现步骤摘要】
基于信号名的嵌入式多CPU板间信号自动交换的方法
本专利技术属于嵌入式系统领域,特别涉及一种多CPU板通过数据总线实现板间信号自动交换的实现方法。
技术介绍
对于由两个或多个CPU板组成的嵌入式系统,各CPU板完成不同的功能,CPU板之间通过数据总线交换信号,从而实现分布式计算和协同工作,如图1所示。为了实现CPU板间信号交换,常规做法是在软件编程阶段,预先为各CPU板需要交换的输出信号、输入信号分配相同的数据总线地址,并将分配的地址写入各个CPU板程序。只有输出方和输入方的数据总线地址相同,才能实现正确的信号交换。如图2所示,板1输出信号Sig1、板2输入信号Sig2都使用了数据总线地址x进行信号交换。在嵌入式系统开发过程中,通常多次调整信号和信号交换(如增加、减少、改变顺序),需要信号收发双方同步修改数据总线地址,重新编译CPU板程序。在一个复杂系统中,板间信号交换可能有几万个,手工调整数据总线地址很容易出现错误。因此,对于一个多CPU板构成的嵌入式系统,如何方便、灵活地使用数据总线进行CPU板间信号自动交换是一个挑战。
技术实现思路
本专利技术的目的,在于提供一种基于信号名的嵌入式多CPU板间信号自动交换的方法,其可直观简单地调整CPU板间信号交换,并保证信号交换的正确性。为了达成上述目的,本专利技术的解决方案是:一种基于信号名的嵌入式多CPU板间信号自动交换的方法,包括如下步骤:(1)将嵌入式多CPU板分布式系统中的CPU板划分为主板和从板,将一个具备信号管理功能的CPU板作为主板,其余CPU板均作为从板;在初始化阶段,所有从板依次向主板发送包含信号名、信号内存地址和信号数据类型的信号注册信息;(2)主板汇总所有从板的信号注册信息后,从配置文件中读取用信号名连线表示的输出、输入信号交换关系,计算分配输出、输入信号映射的数据总线地址,依次将各个信号的内存地址、数据类型和总线地址发给各从板;(3)从板收到主板的信号的内存地址、数据类型和总线地址后,保存为输出信号表和输入信号表;(4)在运行阶段,信号发送方按照输出信号表,将输出信号值填入所分配的相应总线地址中,接收方按照输入信号表,从相应总线地址读取输入信号值。上述步骤(1)中,从板通过CAN、RS-485或Ethernet向主板发送信号注册信息。上述步骤(1)中,在初始化阶段,主板轮流向各个从板发送开始注册命令,接收到该开始注册命令的从板向主板发送信号注册信息。上述步骤(2)中,主板获取所有从板的信号注册信息后,按照输出、输入类型存储成输出信号注册表和输入信号注册表,所述注册表以数组存储,每个数组项表示一个信号信息,包括信号名字符串、信号所属板卡编号、信号数据类型和信号内存地址;所有信号注册结束后,信号信息表按信号名排序。上述步骤(2)中,主板从配置文件中读取用信号名连线表示的输出、输入信号交换关系,具体内容是:主板读取配置文件,逐条提取信号名连线,存储为信号交换关系表数组,其中每个数组项代表一个信号连线;主板根据信号交换关系表中的输出信号名,从输出信号注册表中检索到信号信息,再按输出信号的板卡地址、数据类型和内存地址顺序,对信号交换关系表的表项进行重新排序,具体排序规则是:不同板卡编号的信号按板卡编号从小到大,相同板卡的按信号数据类型宽度从小到大,相同板卡且相同数据类型的按内存地址从小到大。上述数据类型宽度的顺序从小到大是:布尔量、单字节整型、双字节整型、四字节整型和浮点型。采用上述方案后,本专利技术通过在初始化阶段从板向主板发送信号注册信息;用信号名连线表示输出、输入信号交换关系;用配置文件存储信号名连线;主板解析配置文件中的信号交换关系,计算分配输出、输入信号的总线地址,将各个信号的内存地址、数据类型和总线地址发给各从板;从板将输出、输入信号内存地址、数据类型和总线地址保存为输出信号表和输入信号表;在运行时,信号发送方按照输出信号表,将信号值填入总线所分配的地址中,接收方按照输入信号表,从数据总线特定地址读取输入信号值,能够降低手工调整信号交换的难度,避免人工出错的风险,从机制上保证了多CPU板间信号交换的正确性;另外,根据信号名来调整CPU板间信号交换,可以通过编辑配置文本来实现,既直观又简单,无需修改CPU板卡程序,简化了嵌入式系统开发设计。附图说明图1是本专利技术所针对的嵌入式多CPU板分布式系统的结构结构图;图2是现有基于固定分配数据总线地址的多CPU板间信号交换实现方法示意图;图3是本专利技术中基于信号名多CPU板间信号自动交换实现方法示意图;图4是本专利技术初始化阶段的信号注册及计算分配数据总线地址的示意图;图5是本专利技术运行阶段更新输出、输入信号示意图。具体实施方式以下将结合附图,对本专利技术的技术方案进行详细说明。如图3所示,本专利技术提供一种基于信号名的嵌入式多CPU板间信号自动交换的方法,包括如下步骤:(1)将嵌入式多CPU板分布式系统(其架构如图1所示)中的CPU板划分为主板和从板,将其中一个CPU板划分为主板,其余均作为从板,形成“主从”系统架构;所述嵌入式多CPU板分布式系统上电后,各CPU板首先初始化硬件,然后进行信号注册,即将该从板需要与外部交换的信号信息用通信总线发送给主板,具体可采用CAN、RS-485、Ethernet等;所述信号信息包含信号名、信号内存地址和信号数据类型;为了避免多个从板同时向主板发送,超出主板接收能力,可以采取主板轮流向各个从板发送开始注册命令,让各从板依次注册的方法,如图4所示。(2)主板汇总所有从板的信号注册信息后,按照输出、输入类型存储成输出信号注册表和输入信号注册表,所述注册表以数组存储,每个数组项表示一个信号信息,包括信号名字符串、板卡编号、数据类型和内存地址。所有信号注册结束后,信号信息表将按信号名排序。主板读取如下述结构的配置文件:B01.Sig1->B02.Sig2B01.Sig1->B03.Sig0B02.Sig1->B01.Sig4…主板读取配置文件,逐条提取信号名连线,存储为信号交换关系表数组,其中每个数组项代表一个信号连线(输出信号名字符串、输入信号名字符串)。主板根据信号交换关系表中的输出信号名,从输出信号注册表中检索到信号信息(含板卡编号、数据类型、内存地址),再按输出信号的板卡地址、数据类型和内存地址顺序,对信号交换关系表的表项进行重新排序,具体排序规则是:板卡编号的顺序是从大到小,相同板卡的数据类型的顺序是按照数据宽度从小到大(布尔量、单字节整型数、双字节整型数、四字节整型数、浮点型),相同板卡且相同数据类型的内存地址是按从小到大。排序结束后,信号交换关系表中,相同板卡的信号排在一起,相同板卡相同数据类型的排在一起。主板依次读取已排序的信号交换关系表中的各个输出信号,为其分配数据总线地址,根据排序结果,各板卡所分配的总线地址按照板卡编号从小到大。当输出信号的数据总线地址分配成功后,主板通过信号交换关系表,找到各个输出信号关联的输入信号,自动得到各个输入信号的数据总线地址。(3)主板计算分配输出信号地址后,再依次向各个从板下发信号地址信息,输出信号相关信息包括输出信号内存地址、信号数据类型、数据总线地址,输入信号相关信息包括信号内存地址、信号数据类型、数据总线地址。本文档来自技高网...
基于信号名的嵌入式多CPU板间信号自动交换的方法

【技术保护点】
一种基于信号名的嵌入式多CPU板间信号自动交换的方法,其特征在于包括如下步骤:(1)将嵌入式多CPU板分布式系统中的CPU板划分为主板和从板,将一个具备信号管理功能的CPU板作为主板,其余CPU板均作为从板;在初始化阶段,所有从板依次向主板发送包含信号名、信号内存地址和信号数据类型的信号注册信息;(2)主板汇总所有从板的信号注册信息后,从配置文件中读取用信号名连线表示的输出、输入信号交换关系,计算分配输出、输入信号映射的数据总线地址,依次将各个信号的内存地址、数据类型和总线地址发给各从板;(3)从板收到主板的信号的内存地址、数据类型和总线地址后,保存为输出信号表和输入信号表;(4)在运行阶段,信号发送方按照输出信号表,将输出信号值填入所分配的相应总线地址中,接收方按照输入信号表,从相应总线地址读取输入信号值。

【技术特征摘要】
1.一种基于信号名的嵌入式多CPU板间信号自动交换的方法,其特征在于包括如下步骤:(1)将嵌入式多CPU板分布式系统中的CPU板划分为主板和从板,将一个具备信号管理功能的CPU板作为主板,其余CPU板均作为从板;在初始化阶段,所有从板依次向主板发送包含信号名、信号内存地址和信号数据类型的信号注册信息;(2)主板汇总所有从板的信号注册信息后,从配置文件中读取用信号名连线表示的输出、输入信号交换关系,计算分配输出、输入信号映射的数据总线地址,依次将各个信号的内存地址、数据类型和总线地址发给各从板;(3)从板收到主板的信号的内存地址、数据类型和总线地址后,保存为输出信号表和输入信号表;(4)在运行阶段,信号发送方按照输出信号表,将输出信号值填入所分配的相应总线地址中,接收方按照输入信号表,从相应总线地址读取输入信号值。2.如权利要求1所述的基于信号名的嵌入式多CPU板间信号自动交换的方法,其特征在于:所述步骤(1)中,从板通过CAN、RS-485或Ethernet向主板发送信号注册信息。3.如权利要求1所述的基于信号名的嵌入式多CPU板间信号自动交换的方法,其特征在于:所述步骤(1)中,在初始化阶段,主板轮流向各个从板发送开始注册命令,接收到该开始注册命令的从板向主板发送信号注册信息。4.如权利要...

【专利技术属性】
技术研发人员:冯亚东周强徐东方袁涛赵天恩李广华文继锋陈宏君刘克金
申请(专利权)人:南京南瑞继保电气有限公司南京南瑞继保工程技术有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1