在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于LPC2134和UCOSII的自動售貨機狀態(tài)機模型

電子設計 ? 2018-10-08 08:32 ? 次閱讀

由于售貨機的功能不斷增多,售貨機控制系統(tǒng)也相應得不斷變得龐大,這就使原來的面向過程的開發(fā)方法變得越來難以擴展和維護,根據(jù)自動狀態(tài)機的理論,提出一種在售貨機上的狀態(tài)機模型,該模型對系統(tǒng)狀態(tài)進行抽象和分離,建立了系統(tǒng)狀態(tài)表和狀態(tài)轉換表,是一種網(wǎng)狀的狀態(tài)機模型。根據(jù)系統(tǒng)事件和當前狀態(tài)來查找系統(tǒng)狀態(tài)轉換表,如果有匹配項,則進行狀態(tài)轉換。經(jīng)過實驗表明,該模型能解決系統(tǒng)的代碼龐大問題,并且使系統(tǒng)開發(fā)變得易于維護。

1 概述

自動售貨機是一種全新的商業(yè)零售形式,20世紀70 年代自日本和歐美發(fā)展起來。現(xiàn)在,自動售貨機產業(yè)正在走向信息化并進一步實現(xiàn)合理化。例如實行聯(lián)機方式,通過GPRS 將自動售貨機內的庫存信息及時地傳送各營業(yè)點的電腦中,從而確保 了商品的發(fā)送、補充以及商品選定的順利進行。并且,為防止地球暖化,自動售貨機的開發(fā)致力于能源的節(jié)省,節(jié)能型清涼飲料自動售貨機成為該行業(yè)的主流。在夏季電力消費高峰時,這種機型的自動售貨機即使在關掉冷卻器的狀況下也能保持低溫,與以往的自動售貨機相比,它能夠節(jié)約10-15%的電力。進入21 世紀 時,自動售貨機也將進一步向節(jié)省資源和能源以及高功能化的方向發(fā)展。這就導致了售貨機的控制系統(tǒng)(VenclingMachine Controller,VMC)的復雜度大大增加。先前的基于匯編程序的VMC控制系統(tǒng)雖然效率高,但是存在著可擴展性差,程序結構性差,不易維護等缺點。因此本文提出了一種基于ARM7的新型VMC主板的有限狀態(tài)機的結構,對VMC 進行改進。本文所用的硬件環(huán)境為使能LPC2134 的ARM7 主板,有一個RS232 串口接GPRS 模塊,一個MDB 總線模塊,一個電機驅動模塊,外接一個顯示和按鍵模塊。

軟件方面采用的操作系統(tǒng)ucosII操作系統(tǒng),這是一種開源的實時多任務操作系統(tǒng),在數(shù)據(jù)同步和互斥上提供了信號量,消息隊列,消息郵箱等功能,本文主要采用的是信號量和消息隊列。

總的來說,有限狀態(tài)機系統(tǒng),是指在不同階段會呈現(xiàn)出不同的運行狀態(tài)的系統(tǒng),這些狀態(tài)是有限的、不重疊的。這樣的系統(tǒng)在某一時刻一定會處于其所有狀態(tài)中的一個狀態(tài),此時它接收一部分允許的輸入,產生一部分可能的響應,并且遷移到一部分可能的狀態(tài)。 一個有限狀態(tài)機(FSM)是一個五元組,M=(S,G,E,A,T)。

State(狀態(tài)),就是一個系統(tǒng)在其生命周期中某一時刻的運行情況,此時,系統(tǒng)會執(zhí)行一些動作,或者等待一些外部輸入。

Guard(條件),狀態(tài)機對外部消息進行響應的時候,除了需要判斷當前的狀態(tài),還要判斷跟這個狀態(tài)相關的一些條件是否成立。這種判斷稱為guard("條件")。guard 通過允許或者禁止某些操作來影響狀態(tài)機的行為。

Event(事件),就是在一定的時間和空間上發(fā)生的對系統(tǒng)有意義的事情。

Action(動作), 當一個Event 被狀態(tài)機系統(tǒng)分發(fā)的時候,狀態(tài)機用Action("動作")來進行響應,比如修改一下變量的值、進行輸入輸出、產生另外一個Event或者遷移到另外一個狀態(tài)等等。

Transition(遷移), 從一個狀態(tài)切換到另一個狀態(tài)被稱為Transition("遷移")。引起狀態(tài)遷移的事件被稱為triggering event ("觸發(fā)事件"),或者被簡稱為trigger(觸發(fā))。

有限狀態(tài)機一般有2 種表示方式:狀態(tài)轉移表和狀態(tài)轉移圖。通常用有向圖來表示有限狀態(tài)機,其節(jié)點代表狀態(tài)。如圖1 所示,售貨機售貨流程一共分5 個狀態(tài),每個狀態(tài)都是根據(jù)消息的不同來進行轉換。

圖1 自動售貨機中的狀態(tài)轉換圖:

2 實現(xiàn)方式

2.1 嵌套Switch方式

即先定義一個狀態(tài)和消息的枚舉,再通過嵌套的2層switch-case結構實現(xiàn),外層switch-case結構判斷狀態(tài),雖然這種方法結構簡單,便于理解,但是代碼冗長,不便維護,因此不建議在復雜雜的狀態(tài)機下運行。

2.2 狀態(tài)表方式

這種實現(xiàn)方法對第一種方法進行了改良,根據(jù)State,Event 做成二維表格,表格中的項表示Action和Transmission,狀態(tài)采用枚舉量。這種方法結構簡單,便于理解,代碼比較簡練,效率最高,但是代碼結構不是太好。

2.3 用函數(shù)指針作為狀態(tài)

這種方法用函數(shù)地址代替state 值,比較直觀,可以方便地增加entry/exit 操作,并且效率較高。

3 具體實現(xiàn)

綜合以上幾種方式,本文提出一種結合第二種和第三種方式的狀態(tài)機實現(xiàn)方式,即創(chuàng)立一個狀態(tài)表和一個狀態(tài)轉換表,其中狀態(tài)表中有exit,entry,default處理方法,當進入該狀態(tài)時,先執(zhí)行entry方法,然后在狀態(tài)運行時執(zhí)行default方法,退出狀態(tài)時執(zhí)行exit方法,狀態(tài)之間的切換是通過狀態(tài)轉換表實現(xiàn)的,即首先狀態(tài)等待一個系統(tǒng)消息,如果在狀態(tài)轉換表中對應當前狀態(tài)和當前消息的項,則進行消息轉換,具體實現(xiàn)如下3.1 數(shù)據(jù)結構。

首先定義一個大小為10 的系統(tǒng)消息隊列用來接收外設和系統(tǒng)消息:

3.2 狀態(tài)轉換算法

先建立一個狀態(tài)轉換表, 建立一個FSM_STATE_TRAN 指針數(shù)組。即FSM_STATE_TRAN*fsm_tran[7];將每個狀態(tài)下的轉換項都存在該狀態(tài)下的鏈表中。

在有限狀態(tài)機中,狀態(tài)是通過系統(tǒng)消息和當前狀態(tài)來查找狀態(tài)轉換表,如果有對應的項則進行轉換,沒有則繼續(xù)當前狀態(tài):算法如下:

4 模型分析

4.1 擴展性

為狀態(tài)機添加新狀態(tài),只需在狀態(tài)表中添加新狀態(tài)及其處理方法,以及在狀態(tài)轉換表中添加該狀態(tài)的轉換方式。

4.2 查找算法分析

設總共有n個狀態(tài),m個事件,每個狀態(tài)平均響應的事件為k.

由于在這里每個狀態(tài)都是互斥的,因此狀態(tài)轉換時的時間開銷主要是花費在查找狀態(tài)表上面,這里采用了基數(shù)排序查找的思想。因此主要查找開銷是每個狀態(tài)的狀態(tài)轉換個數(shù)。由于在售貨機中,每個狀態(tài)大概都只有3-4 個狀態(tài)轉換表。因此查找的時間復雜度比O(m)小。

5 結語

通過建立有限狀態(tài)機模型,并應用改進的數(shù)據(jù)結構與狀態(tài)轉換算法,自動售貨機控制器的程序結構更為清晰。原來存在于程序中的諸多標志變量,由狀態(tài)機的各個狀態(tài)所取代,使系統(tǒng)具有更好的擴展性;并且模型很好地利用了狀態(tài)的相關性,縮短了查找所花費的時間。應用于別的嵌入式系統(tǒng)也有較高的意義。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • LPC2134
    +關注

    關注

    0

    文章

    6

    瀏覽量

    9670
  • UCOSIII
    +關注

    關注

    2

    文章

    26

    瀏覽量

    6087
收藏 人收藏

    評論

    相關推薦

    自動售貨機MDB協(xié)議中文解析(八)mdb-rs232控制MDB年齡驗證設備

    MDB-RS232控制自動售貨機,無人值守設備MDB年齡驗證設備。(以下是與臺灣ICT的DCM5售賣MDB接口年齡驗證設備測試數(shù)據(jù))
    的頭像 發(fā)表于 10-15 11:27 ?435次閱讀
    <b class='flag-5'>自動</b><b class='flag-5'>售貨機</b>MDB協(xié)議中文解析(八)mdb-rs232控制MDB年齡驗證設備

    NV080D-S8 高品質otp語音芯片:讓漱口水售貨機更智能和人性化

    隨著科技的快速發(fā)展,自動售貨機作為一種方便的購物方式,已經(jīng)逐漸融入到人們的日常生活中。特別是近年來,NV080D-S8高品質OTP語音芯片的應用,更是為漱口水售貨機這樣的細分市場帶來了前所未有的智能
    的頭像 發(fā)表于 10-12 08:02 ?245次閱讀
    NV080D-S8 高品質otp語音芯片:讓漱口水<b class='flag-5'>售貨機</b>更智能和人性化

    自動售貨機MDB電源供電系統(tǒng)要求

    自動售貨機MDB協(xié)議中文解析(五)MDB電源供電系統(tǒng)要求
    發(fā)表于 09-09 10:46 ?1次下載

    自動售貨機MDB協(xié)議中文解析(四)通信格式

    自動售貨機MDB協(xié)議中文解析(四)通信格式
    發(fā)表于 09-09 10:45 ?1次下載

    自動售貨機MDB設備的級別和選項

    自動售貨機MDB協(xié)議中文解析(二)MDB設備的級別和選項
    發(fā)表于 09-09 10:44 ?0次下載

    自動售貨機MDB總線周邊設備地址中文解析(三)

    自動售貨機MDB協(xié)議中文解析(三)MDB總線周邊設備地址
    發(fā)表于 09-09 10:43 ?0次下載

    自動售貨機MDB協(xié)議中文解析(六)MDB-RS232控制硬幣器的流程和解析

    自動售貨機MDB協(xié)議中文解析(六)MDB-RS232控制硬幣器的流程和解析
    的頭像 發(fā)表于 08-19 15:53 ?703次閱讀
    <b class='flag-5'>自動</b><b class='flag-5'>售貨機</b>MDB協(xié)議中文解析(六)MDB-RS232控制硬幣器的流程和解析

    自動售貨機MDB協(xié)議中文解析(五)MDB電源供電系統(tǒng)要求

    自動售貨機MDB協(xié)議中電源供電系統(tǒng)要求 文章定義了最小VMC電壓輸出。實際每個外設的電流額定值將在其各自的部分中定義。
    的頭像 發(fā)表于 08-12 17:51 ?921次閱讀
    <b class='flag-5'>自動</b><b class='flag-5'>售貨機</b>MDB協(xié)議中文解析(五)MDB電源供電系統(tǒng)要求

    自動售貨機MDB協(xié)議中文解析(二)MDB設備的級別和選項

    自從引入最早的MDB總線規(guī)范以來和MDB協(xié)議制定,自動售貨機大多數(shù)的MDB外圍設備的功能級別和可選功能都已經(jīng)確定了。這些功能滿足了國際自動售貨機行業(yè)不斷發(fā)展所需要的新要求。
    的頭像 發(fā)表于 06-23 11:14 ?843次閱讀

    自動售貨機MDB協(xié)議中文解析(四) 通信格式

    自動售貨機MDB協(xié)議中文解析,自助咖啡售貨機的MDB數(shù)據(jù)通信格式
    的頭像 發(fā)表于 06-23 11:11 ?1063次閱讀

    自動售貨機MDB協(xié)議中文解析(三)MDB總線周邊設備地址

    自動售貨機MDB協(xié)議總線周邊設備地址列表
    的頭像 發(fā)表于 06-21 17:46 ?936次閱讀

    關于MDB-RS232售貨機支付適配器的售前疑問解答

    關于MDB-RS232售貨機支付適配器的售前疑問解答。介紹了MDB-RS232適配器的選擇,應用和設計需求。幫助客戶更多的了解MDB適配器和MDB協(xié)議的基本知識,在自動售貨機,自助咖啡機設計之初做更好的選擇。
    的頭像 發(fā)表于 05-08 22:26 ?557次閱讀
    關于MDB-RS232<b class='flag-5'>售貨機</b>支付適配器的售前疑問解答

    MDB-RS232測試NAYAX的VPOS自動售貨機刷卡器注意事項

    MDB-RS232測試NAYAX的VPOS自動售貨機刷卡器注意事項以及必要的通信指令。給我們設計自動售貨機,自助咖啡的控制系統(tǒng)提供了必要的
    的頭像 發(fā)表于 05-08 22:20 ?924次閱讀
    MDB-RS232測試NAYAX的VPOS<b class='flag-5'>自動</b><b class='flag-5'>售貨機</b>刷卡器注意事項

    畢設,51單片自動售貨計設計與實現(xiàn)(C程序+硬件+論文)

    投入鍵1個確認鍵和1個取消鍵。 Proteus仿真電路 原理圖及PCB 仿真結果分析 (1)加載Sale.hex文件到AT89C51單片,點擊運行,自動售貨機系統(tǒng)進入初始化等待狀態(tài)
    發(fā)表于 03-29 18:35

    藍牙芯片售貨機方案

    藍牙售貨機是一種自動售貨機,通過藍牙技術實現(xiàn)與移動設備的交互,提供便捷的購物體驗。它主要由主機、貨架、付款臺和控制系統(tǒng)組成。主機是售貨機的核心部分,里面包含了所有的電子元件和機械部件。
    的頭像 發(fā)表于 02-28 16:39 ?686次閱讀
    主站蜘蛛池模板: 色多多在线| 国产h在线播放| 亚洲无卡| 色淫阁色九九| 国产天堂网| 欧美资源在线| 婷婷综合久久中文字幕 | 老逼影院| 欧美伊久线香蕉线新在线| 欧美色图 亚洲| 色天使网| 亚洲精品福利你懂| 黄视频网站在线看| 亚洲日本视频| 手机看片www xiao2b cm| 久久深夜福利| 日日干日日爽| 国产视频福利| 国产精品资源| 国产高清网站| 国产小视频在线| 91天天操| 97影院午夜午夜伦不卡| 日本免费在线一区| 中文字幕一区二区三区在线观看| 视频在线高清完整免费观看| 亚洲精品资源在线| 五月婷婷基地| 巨尻在线观看| 亚洲手机看片| 亚洲天天做夜夜做天天欢人人| 天堂网www天堂在线资源链接| 夜夜爽影院| 亚洲精品网站日本xxxxxxx| 女bbbbxxxx毛片视频0| 精品一区二区在线观看| 六月丁香综合网| 中文字幕亚洲一区| 黄视频网站免费观看| 色婷婷精品大全在线视频| 韩国朴银狐诱感在线观看|