首页 理论教育现场总线应用技术中控制卡软件的框架设计

现场总线应用技术中控制卡软件的框架设计

【摘要】:控制卡采用嵌入式操作系统μC/OS-Ⅱ,该软件的开发具有确定的开发流程。控制卡软件中涉及的内容除操作系统μC/OS-Ⅱ外,应用程序大致可分为4个主要模块,分别为双机热备、CAN通信、以太网通信和控制算法。图11-14 控制卡软件涉及的主要模块嵌入式操作系统μC/OS-Ⅱ中程序的执行顺序与程序代码的位置无关,只与程序代码所在任务的优先级有关。为了增加对事件响应的实时性,部分功能必须通过中断实现,如CAN接收中断和以太网接收中断。

控制卡采用嵌入式操作系统μC/OS-Ⅱ,该软件的开发具有确定的开发流程。软件的开发流程甚至与任务的多少、任务的功能无关。在μC/OS-Ⅱ环境下,软件的开发流程如图11-13所示。

978-7-111-55649-7-Chapter11-15.jpg

图11-13 μC/OS-Ⅱ环境下软件的开发流程

在该开发流程中,除了启动任务及其功能是确定的之外,其他任务的任务数目及功能甚至可以不确定。但是开发流程中的开发顺序是确定的,不能随意更改。

控制卡软件中涉及的内容除操作系统μC/OS-Ⅱ外,应用程序大致可分为4个主要模块,分别为双机热备、CAN通信以太网通信和控制算法。控制卡软件涉及的主要模块如图11-14所示。

978-7-111-55649-7-Chapter11-16.jpg(www.chuimin.cn)

图11-14 控制卡软件涉及的主要模块

嵌入式操作系统μC/OS-Ⅱ中程序的执行顺序与程序代码的位置无关,只与程序代码所在任务的优先级有关。所以,在嵌入式操作系统μC/OS-Ⅱ环境下的软件框架设计,实际上就是确定各个任务的优先级安排。优先级的安排会根据任务的重要程度以及任务间的前后衔接关系来确定。以CAN通信任务与控制算法运行任务为例,控制算法运行所需要的输入信息是由CAN通信任务向测控板卡索要的,所以CAN通信任务要优先于控制算法任务执行,CAN通信任务拥有更高的优先级。控制卡软件中的任务及优先级见表11-3。

表11-3 控制卡软件中的任务及优先级

978-7-111-55649-7-Chapter11-17.jpg

确定了各个任务的优先级就确定了系统软件的整体框架。但是使用嵌入操作系统μC/ OS-Ⅱ,并不表示所有的事情都要以任务的形式完成。为了增加对事件响应的实时性,部分功能必须通过中断实现,如CAN接收中断和以太网接收中断。而且,μC/OS-Ⅱ也提供对中断的支持,允许在中断函数中调用部分系统服务,如用于释放信号量的OSSemPost()等。