软件中断线程(SWI)优先级次之,一般将相对于普通任务比较重要的、发生频率比较频繁的子功能模块安排在软件中断线程(SWI)中。通过DSP/BIOS内核的API调用来启动软件中断线程,利用每个软件中断线程自身的邮箱有条件地启动对应的软件中断。本系统设置的软件中断包括:PWM信号生成模块和通信模块(发送)。
任务线程(TSK)优先级一般。因系统堆栈有限,大部分线程都安排成任务线程。任务线程也具有优先级,优先级高的任务优先执行,相同优先等级的任务按照任务请求顺序执行。每个任务创建后都处于4种执行状态即运行、就绪、暂停和终止中的一种。本系统将电量数据计算和系统保护、故障和运行数据存储模块、人机交互模块放置在任务线程(TSK)中。电量数据计算主要是计算输入输出电压、电流、功率有效值、输出频率等电量参数,系统保护主要是根据测得的电量数据进行系统过载、过热等故障判断,当出现这些故障时经过一定延时后通知主控板。故障和运行数据存储模是将系统设定的额定负载量、故障历史记录、通信地址等需要长期保存的数据存储到时钟芯片存储器中。键盘显示任务线程包括键盘检测任务和液晶显示任务两部分。键盘显示任务线程每500ms运行1次,检测是否有按键需要处理。当有按键需要处理时,液晶显示任务根据按键显示相应数据。没有按键需要处理,显示任务根据目前所出界面更新显示数据。
在4种线程中,后台线程(IDL)级别最低。可将实时分析模块放在其中运行,用来在应用程序执行期间对DSP应用程序进行实时交互与诊断,了解DSP运行情况。据此设计的系统软件参数设定和逻辑故障显示界面见图1。