Fsm軟體的構建方法
2023-06-10 13:17:01
專利名稱: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日
發明者姜鬥鎮 申請人:樂金電子(崑山)電腦有限公司