本文设计了一种基于分层设计的小家电控制板通用程序框架。分层设计有以下优点:
(1)降低系统复杂度。由于每层都是相对独立的,每层可以单独实现。
(2)隔离变化。通过分层设计,可以把变化的部分独立出来,让它们的变化不会给其他部分带来大的影响。
(3)具有良好的程序可移植性。
(4)具有良好的程序可维护性。
本文的程序框架以市电过零中断20ms,作为程序运行的滴答时钟。在主循环里每到20ms,执行一次,每次主程序循环一次的时间要小于20ms,且尽可能小,保证程序能及时响应。本文的分层设计,定义了三层架构;
第一层:系统层,位于程序最顶层。
第二层:任务层,系统层下的工作任务分配,位于程序中间层。
第三层:执行层,任务层下的执行过程,位于程序最底层。
图1 分层结构图
本文分层设计的实现过程:
1.针对小家电产品,系统层一般定义为四种事务:待机,开机,工作,告警。对于不同的小家电产品功能需求,系统层的事务定义可以适当裁剪或者增加。当接收到外部事件触发时,可以从一种事务切换到另一种事务。外部事件可以是按键,也可以是程序的事务处理,比如在工作事务,检测到异常,可以跳转到告警事务。
2.每种系统层的事务又有多个任务组成,以系统层下的工作事务为例,可以分为任务1