色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

基于LPC2134和UCOSII的自動售貨機狀態機模型

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

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

1 概述

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

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

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

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

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

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

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

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

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

圖1 自動售貨機中的狀態轉換圖:

2 實現方式

2.1 嵌套Switch方式

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

2.2 狀態表方式

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

2.3 用函數指針作為狀態

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

3 具體實現

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

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

3.2 狀態轉換算法

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

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

4 模型分析

4.1 擴展性

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

4.2 查找算法分析

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

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

5 結語

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


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

    關注

    0

    文章

    6

    瀏覽量

    9671
  • UCOSIII
    +關注

    關注

    2

    文章

    26

    瀏覽量

    6099
收藏 人收藏

    評論

    相關推薦

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

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

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

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

    自動售貨機MDB電源供電系統要求

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    自動售貨機MDB協議中文解析,自助咖啡售貨機的MDB數據通信格式
    的頭像 發表于 06-23 11:11 ?1100次閱讀

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

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

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

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

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

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

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

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

    藍牙芯片售貨機方案

    藍牙售貨機是一種自動售貨機,通過藍牙技術實現與移動設備的交互,提供便捷的購物體驗。它主要由主機、貨架、付款臺和控制系統組成。主機是售貨機的核心部分,里面包含了所有的電子元件和機械部件。
    的頭像 發表于 02-28 16:39 ?713次閱讀
    主站蜘蛛池模板: 男女全黄h全肉细节文| 无码一区二区三区| 欧美色图天堂网| 强开乳罩摸双乳吃奶视频| 日本一二三区视频在线| 日本亚欧热亚洲乱色视频| 熟妇少妇任你躁在线无码| 视频一区二区中文字幕| 午夜福利08550| 亚洲国产成人一区二区在线| 亚洲日韩欧美国产专区| 中文字幕在线观看亚洲视频| 综合伊人久久| 扒开老师大腿猛进AAA片软件| 国产福利视频在线观看福利| 狠狠插影院| 免费观看桶机十分钟| 日本枯瘦娇小| 亚洲乱码AV久久久久久久| 嘴巴舔着她的私处插| 草莓AV福利网站导航| 国产人妻精品无码AV在线五十路 | 日日啪无需播放器| 午夜伦理网| 18黄女脱内衣| 国产69精品久久久久乱码免费| 国内精品伊人久久久影院| 麻豆国产精品va在线观看约| 日久精品不卡一区二区| 亚洲欧美日韩在线观看一区二区三区| 最近免费中文MV在线字幕| 动漫美女禁区| 九九99亚洲精品久久久久| 欧美午夜精品一区区电影| 亚洲刺激视频| 99热最新网站| 国产亚洲精品久久久久5区| 棉袜足j吐奶视频| 五月丁香啪啪.| 2019伊人查蕉在线观看| 国产99对白在线播放|