Fsm软件的构建方法

文档序号:6559839阅读:447来源:国知局
专利名称:Fsm软件的构建方法
技术领域
本发明涉及一种FSM软件的构建方法,尤其涉及在主装置控制下 的从属装置中,以软件构成FSM(Finite State Machine:有限状态时序 机),实现通讯协议简单化的FSM软件的构建方法。
背景技术
通常,能够控制独立动作的其它装置的主装置与在主装置控制下 进行动作的从属装置通过特定协议(Protocol)连接。在上述各个装置中, 需要安装支持从属装置与主装置之间通讯使用标准的设备(device), 还需要安装能够对相关设备进行控制的设备驱动器(drive)。
驱动器作为OS(OperatingSystem:动作系统)的一部分,指的是对 连接到计算机上的各种辅助装置进行控制的装置,其通过硬件
(hardware)和库欠件(software)构成。
现有技术存在如下问题由于现有的主装置与从属装置间进行通 讯使用的协议采用按照一定的顺序进行动作的控制方法,程序依次排 列进行编码(Coding),很难进行扩展及修改。
即,依次决定主装置(例如,个人用计算机)与从属装置(例如USB 装置)各自的动作,分别执行相应动作,进行通讯。当增加新动作或者 改变顺序时,需要修改主装置与从属装置两方面的软件,给使用带来 很大不便。

发明内容
为了解决上述问题,本发明旨在提供一种以FSM构成从属装置中 使用的软件,根据主装置接收的指令和从属装置的FSM状态决定从属 装置动作的FSM软件的构建方法。
为了实现上述目的,本发明FSM软件的构建方法就是通过 FSM(Finite State Machine:有限状态时序才几)软件构建主装置控制下的 从属装置的动作的方法,其特征在于包括如下步骤读取从主装置接 收的动作指令的OutHandler(OutHandler)动作步骤;执行通过上述Out Handler动作步骤读取的指令对应的动作,产生返回值(return value)的 主过程(Main Process)步骤;将在上述主过程步骤中产生的返回值向主 装置传送的InHandler(InHandler)动作步骤。
综上所述,通过本发明,只需要通过修改主装置的软件,就可以 修改从属装置的控制方式,达到减少维护费用的目的。
而且,由于使用简化的通讯协议,软件编码的扩展性增加,如果 进行这种方式的编码,只要修改输入输出端,就能够很容易地达到与 其它类似从属装置通讯(Porting)的效果。
附困说明
图l为本发明的主装置与从属装置的协议构成图。
图2为本发明的从属装置的FSM软件的构成图。
具体实施例方式
下面将参照附图
对本发明的FSM软件的构建方法的实施例进行详
细i兌明。
图l为本发明的主装置与从属装置的协议构成图。如图所示,从属 装置与控制从属装置的动作的主装置连接,主装置向从属装置发送指
令和命令因素,从属装置通过用于分析所述指令的FSM执行主装置所 要求的动作。
这里,从属装置按照主装置的命令进行动作,因此,根椐主装置 输入的指令不同,从属装置执行的动作也不同。由于从属装置并不保 存本身以前执行的动作记录,所以只有通过主装置的命令,才能够决 定从属装置的动作。
如果在从属装置中通过FSM完成动作,将这个结果返回(Retum)主 装置。在没有主装置命令,不能返回结果的情况下,当主装置执行读 取(Read)动作时,返回从属装置的结果。
从属装置执行的动作规定为有限个。由于规定为有限个,如果能 够通过FSM设计从属装置的软件架构,就能够将从属装置执4于的动作 分割和简化。
图2为本发明的从属装置的FSM软件的构成图。如图所示,从属装 置的状态可以是O( Wait Opcode)和1 (Wait Operand)两种。
FSM的状态从准备接收命令的O(Wait Opcode)状态向读取从主装 置接收的指令(read)的l(WaitOperand)状态转换,根据接收的指令执行 命令(do),并向主装置返回(retum)结果。此时,由于从属装置不再保 存以前执行的动作(clr)的记录,主装置根据传送的命令决定动作,以确 保对从属装置的现有动作不产生影响。
因此,如果从属装置完成执行命令动作,FSM状态重新转换为 O(WaitOpcode)状态,进入准备接收下个命令的阶段。
因此,当每次从主装置接收指令时,从属装置的FSM状态重复由O 状态向l状态转换,执行完动作后,再向待机状态-0状态转換的过程, 执行各个指令对应的动作。
执行上述动作的从属装置的软件FSM的程序代码可以4姿照下面方 式构建。
OUT Handler
switch(CURRENT—FSM—STATE){ case STATUS—WAIT—OPCODE: read一opcode();
CURRENT—FSM—STATE=STATE—WAIT—OPERAND; break;
case STATUS—WAIT—OPERAND;
switch(OPCODE){
C8S6 opl:
read—operand—op 1 ();break; case op2:
read—operand一op2();break;
CURRENT_FSM—STATE=STATE—WAIT—OPCODE; breaks
} 、 Main Process
while(l){
switch(CURRENT一FSM一STA卿 case STATUS—WAIT—OPCODE:
while(CURRENT一FSM—STATE==STATUS_WAIT_OPCODE); break;
case STATUS—WAIT—OPERAND:
switch(OPCODE)(
case opl:
do一op(); break;
case op2:
do一op2(); break;
breaks
像这样,利用软件FSM的程序编码,在OUTHandler(HancUer)动作 步骤中,根据当前的FSM状态进行动作,如果是WaitOpcode状态,读 取指令(read—opcode),将当前的FSM状态转换为Wait Operand状态。 (CURRENT—FSM—STATE-STATE—WAIT—OPERAND)。如果是Wait Operand状态,根据指令(OPCODE)进行动作,是第l指令(opl)时,读 取运算值opl (read—operand—opl);当是第2指令(op2)时,读取运算值 op2(read—operand—op2),按照这种方式执行动作后,将当前的FSM状态 设定为WaitOPCODE。
(CURRENT—FSM—STATE=STATE—WAIT一OPCODE)。
根据当前的FSM状态(CURRENT一FSlVLSTATE)选择与上述OUT Handler的动作连动的主过程(MainProcess),第一,当是WaitOPCODE 状态时(case STATUS—WAIT—OPCODE),如果当前的FSM状态是Wait OPCODE,继续等待从OUTHandler接收指令(OPCODE),如果不是, 结束动作。第二,如果是Wait OPERAND状态,根据指令(OTCODE) 进行动作,执行相关指令对应的动作。
通过i述的说明内容,相关工作人员完全可以在不偏离本项发明 技术思想的范围内,进行多样的改变以及修改。因此,本項发明的技术范围并不局限于说明书上的内容,必须要 根据权利范围来确定其技术范围。
权利要求
1、一种通过FSM软件构建主装置控制下的从属装置的方法,其特征在于,包括如下步骤读取从主装置接收的指令运算值的Out Handler动作步骤;执行通过上述Out Handler动作步骤读取的指令对应的动作,产生返回值的主过程步骤;将在上述主过程步骤中产生的返回值向主装置传送的In Handler动作步骤。
2、 根据权利要求项1所述的FSM软件构建方法,其特征在于 所述Out Handler动作步骤包括在上述FSM软件中,当FSM状态具有准备接收命令的Wait Opcode状态和准备执行命令的Wait Operand状态时,根据FSM状态 进行动作,当FSM状态是Wait Opcode状态时,读取指令后,将当前 的FSM状态转换为Wait Operand状态;当是Wait Operand状态时, 执行读取相关指令的运算值的步骤。
3、 根据权利要求项1所述的FSM软件构建方法,其特征在于 所述的主过程步骤包括在所述的FSM软件中,当FSM状态具有准备接收命令的Wait Opcode状态和准备执行命令的Wait Operand状态时,根椐FSM状态进行 动作,当FSM状态是WaitOpcode状态时,通过上述OutHandler^Ht 步骤,读取指令,并持续保持这个状态;当是WaitOperand状态时, 执行相关指令,产生返回值。
4、 根据权利要求项1所述的FSM软件构建方法,其特征在于所述主过程步骤包括执行通过上述Out Handler动作步骤读取 的指令对应的动作,产生返回值后,为了确保对以前动作不产生影响, 删除以前指令对应的动作记录。
5、 根据权利要求项1所述的FSM软件构建方法,其特征在于上迷InHandler步骤是,在没有主装置的命令,上述从属装置不能 向主装置传送返回值的情况下,主装置执行读取动作时,传送返回值。
全文摘要
本发明涉及一种FSM(Finite State Machine有限状态时序机)软件的构建方法。为了解决现有技术中主装置和从属装置的程序很难扩展及修改的问题,本发明公开的FSM软件的构建方法是通过FSM软件构建主装置控制下的从属装置的方法,其特征在于包括以下步骤读取主装置接收的指令运算值的Out Handler动作步骤;执行通过上述Out Handler动作步骤读取的指令对应的动作,产生返回值的主过程步骤;将在上述主过程步骤中产生的返回值向主装置传送的In Handler动作步骤。通过本发明,只需要通过修改主装置的软件,就可以修改从属装置的控制方式,达到减少维护费用的目的。
文档编号G06F9/44GK101192140SQ20061009791
公开日2008年6月4日 申请日期2006年11月22日 优先权日2006年11月22日
发明者姜斗镇 申请人:乐金电子(昆山)电脑有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1