国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于有限狀態(tài)機的自動售貨機控制器

發(fā)布時間:2010-3-29 22:38    發(fā)布者:李寬
引言

售貨機上除基本自動售貨功能外,增加了諸多功能,如GPRS短信模塊以加強安全監(jiān)控,在售貨機上播放視頻廣告以提高運營商的經(jīng)濟效益等。這就使得存在于售貨機內部的控制器(Vencling Machine Controller,VMC)的復雜程度也迅速增加,先前的一套用于小規(guī)模嵌入式系統(tǒng)的分析設計方法、應用程序結構、運行效率與易維護程度在當前的售貨機需求面前顯得有些力不從心了。有限狀態(tài)機理論在計算機應用領域有著廣泛的應用,狀態(tài)機對處理一些復雜情況也大有裨益。在設計階段,開發(fā)人員可以利用狀態(tài)機模型來描述復雜的系統(tǒng),從而大大縮短項目的開發(fā)周期,且系統(tǒng)易于維護。魏先民提出了有限狀態(tài)機在嵌入式領域應用的一個基本框架,但是在這個框架中,系統(tǒng)中的所有狀態(tài)都是互斥的關系,盡管有些狀態(tài)之間存在著緊密的關系。V.Ayvazyan等論述了狀態(tài)之間不僅存在互斥關系,還存在包含關系(父狀態(tài)與子狀態(tài))。本文應用有限狀態(tài)機的這些特性,提出一個層次型有限狀態(tài)機(Hierarchical FSM,HFSM)模型,對售貨機控制器(VMC)進行改進。

1 有限狀態(tài)機

有限狀態(tài)機是一種具有離散輸入輸出系統(tǒng)的模型,在任何時刻都處于一個特定的狀態(tài)。對于事件驅動的程序設計,它是非常有用的設計模型。在某一個狀態(tài)下有事件發(fā)生時,根據(jù)當前狀態(tài)和輸入事件的不同,選擇如何處理該事件以及是否需要轉換到下一個狀態(tài)。一個有限狀態(tài)機(FSM)是一個五元組,M=(K,E,T,S,Z)。其中,K是一個有限的狀態(tài)集合,它的每個元素稱為“狀態(tài)”;E表示該系統(tǒng)能接收的所有事件的集合,它的每個元素稱為一個“事件”;T是狀態(tài)轉換函數(shù),是K×E→K上的映射;S 是系統(tǒng)的一個特殊狀態(tài),一般是系統(tǒng)啟動時的初始狀態(tài);Z是K的一個子集,是一個終態(tài)集。

有限狀態(tài)機一般有2種表示方式:狀態(tài)轉移表和狀態(tài)轉移圖。通常用有向圖來表示有限狀態(tài)機,其節(jié)點代表狀態(tài)。如圖1所示,若在狀態(tài)SO接收到某個輸入事件 e1后轉向S1狀態(tài),就在圖中畫一條從SO到Sl的帶箭頭的弧線,并在弧線上標記e1。



2 基本思想

2.1 必要性分析

有限狀態(tài)機是通過事件來觸發(fā)狀態(tài)的轉變的,其事件來源主要有2個:其一是外部觸發(fā)事件,如響應用戶鍵盤的輸入;其二是內部觸發(fā)事件,如系統(tǒng)所發(fā)出來的各種命令。有限狀態(tài)機這種事件驅動的特性具有良好的開放性,可以根據(jù)用戶的要求方便地增加相應的狀態(tài)與事件,完成系統(tǒng)功能的擴展。本文所研究的自動售貨機配有1個5×5的管理鍵盤和1個3×7用戶鍵盤,二者復用了部分的鍵盤掃描線;另外有37個外部事件源,加上幾條內部命令,可能觸發(fā)的事件達45 個。如此多的事件,當某個事件發(fā)生時,如果采用if…else或switch…case語句進行一一判斷,將非常復雜。而采用有限狀態(tài)機,每個狀態(tài)維護一張事件表,無需比較,大大提高了響應速度;并且就擴展需求較為頻繁的自動售貨機而言,有限狀態(tài)機也是便于維護的。

2.2 實現(xiàn)方式

根據(jù)系統(tǒng)中各個狀態(tài)之間是否存在包含關系,有限狀態(tài)機可以分為常規(guī)狀態(tài)機與層次型狀態(tài)機(hierarchicalstate machine)。對于前者,系統(tǒng)中各個狀態(tài)是獨立的、互斥的,適合應用于那些存在狀態(tài)數(shù)量不多的簡單系統(tǒng);而對于后者,系統(tǒng)中的狀態(tài)除了互斥關系以外,還存在真包含的關系。

分析自動售貨機這樣一個狀態(tài)機,圖2為自動售貨機的狀態(tài)圖(不完整)。



從圖中可以看出,自動售貨機控制器存在的狀態(tài)數(shù)量是比較多的,但是無論何時,自動售貨機總處于空閑、售貨、商品價格設置、時間設置、測試等諸多狀態(tài)之中的一個.這些狀態(tài)之間是互斥的。同時,上面列舉的所有狀態(tài)都包含子狀態(tài),例如:狀態(tài)S2(時間設置狀態(tài))包括日期設置、時分秒設置、星期設置等子狀態(tài),而對于S3(日期設置狀態(tài))又包括S4(日期顯示狀態(tài))和S5(日期編輯狀態(tài))兩個子狀態(tài)。因此,對于自動售貨機控制器這樣一個系統(tǒng),其內部的狀態(tài)機是一種層次型狀態(tài)機。本文根據(jù)層次型狀態(tài)機的互斥與包含的雙重特性,提出層次型有限狀態(tài)機模型,并且用來實現(xiàn)自動售貨機控制器。模型使用樹結構來描述狀態(tài)集,包含其他狀態(tài)的狀態(tài)稱為“樹枝節(jié)點”,不包含其他狀態(tài)的狀態(tài)稱為“葉子節(jié)點”。為方便用單樹結構描述,總是設計一個狀態(tài)包含所有的狀態(tài)節(jié)點,稱為“根節(jié)點”,它是一個虛擬的節(jié)點,在系統(tǒng)中沒有狀態(tài)與其對應。狀態(tài)機只能停留在葉子節(jié)點,而不能停留在樹枝節(jié)點,每個樹枝節(jié)點需指定一個子節(jié)點為它的默認子節(jié)點,以便狀態(tài)機進入樹枝節(jié)點時能停留到葉子節(jié)點。

3 層次型有限狀態(tài)機模型

3.1 數(shù)據(jù)結構定義

HFSM模型采用樹結構實現(xiàn)有限狀態(tài)機,樹上的每一個節(jié)點都對應了自動售貨機狀態(tài)機的一個狀態(tài)。其中根節(jié)點是一個特殊的節(jié)點,它對應的是一個虛擬的并不存在的狀態(tài),其目的是為了構造一棵單樹,而不是每一個功能對應一棵樹。節(jié)點的數(shù)據(jù)結構如下:



其中,id為狀態(tài)編號,每個狀態(tài)編號在整個系統(tǒng)狀態(tài)機中是唯一的;name為狀態(tài)名;enter_func為狀態(tài)進入操作;exit_func為狀態(tài)退出操作;event_table為事件表;sub_state_table為子狀態(tài)表。因為葉子節(jié)點沒有子狀態(tài),而樹枝節(jié)點沒有狀態(tài)事件表,所以結構中的事件表與子狀態(tài)可以共享一段存儲空間。事件表中每個元素是另外一個結構FSM_STATE_EVENT,它有事件id(與事件源一一對應)、事件操作 (func)和下一狀態(tài)編號(next_state_id)三個成員。圖2所示的狀態(tài)圖子集經(jīng)過處理形成圖3所示的狀態(tài)樹,它是整個自動售貨機狀態(tài)樹的一部分。



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

在有限狀態(tài)機中,是通過事件的驅動而進行狀態(tài)轉換的。狀態(tài)轉換算法的關鍵就在于查找下一狀態(tài)在狀態(tài)樹中的位置,也就是在狀態(tài)樹中查找下一狀態(tài)的時間復雜度的問題。與常規(guī)狀態(tài)機不同,層次型狀態(tài)機中的各個狀態(tài)不僅存在互斥關系,還存在包含關系,特別是當前狀態(tài)與下一狀態(tài)關系就更為緊密了,不僅存在局部相關性,而且在很多情況下,它們之間在狀態(tài)樹中表現(xiàn)為兄弟節(jié)點關系。因此,要在狀態(tài)樹查找下一狀態(tài),需先查找當前節(jié)點的兄弟節(jié)點,再查找父節(jié)點的兄弟節(jié)點。如此循環(huán),直到找到下一狀態(tài)或試圖查找根節(jié)點的兄弟節(jié)點(根節(jié)點沒有父節(jié)點,所以要查找的下一狀態(tài)是不存在的)。

狀態(tài)查找算法如下:



有限狀態(tài)機的一般狀態(tài)轉換過程是:系統(tǒng)首先執(zhí)行exit_func退出當前狀態(tài),然后執(zhí)行驅動此次狀態(tài)轉換的事件操作func,最后執(zhí)行 enter_func進入新狀態(tài)。為了便于遍歷狀態(tài)樹,系統(tǒng)為層次型有限狀態(tài)機建立一個狀態(tài)堆棧,堆棧中記錄的數(shù)據(jù)是當前狀態(tài)在狀態(tài)樹中對應的節(jié)點路徑上所有節(jié)點(自身除外,因為沒有必要人棧)的地址。堆棧的初始狀態(tài)如圖4所示,此時系統(tǒng)處于空閑S1狀態(tài),棧中只有根節(jié)點信息。在某個事件或一系列事件的驅動下(比如通過按鍵顯示系統(tǒng)的當前日期),系統(tǒng)將要從空閑狀態(tài)轉換到日期顯示狀態(tài)S4。從圖3的自動售貨機狀態(tài)樹可以看出,系統(tǒng)需要經(jīng)過S1一S2一S3 一S4的過程,中間的S2和S3是不可停留的狀態(tài)。當按下管理鍵盤的“Time”鍵時,系統(tǒng)先執(zhí)行exit_idle函數(shù)退出S1(空閑狀態(tài)),然后根據(jù)空閑狀態(tài)的事件表得到下一狀態(tài)編號,再通過狀態(tài)查找算法搜索狀態(tài)樹,最后到達目的狀態(tài)S4。S2與S3是兩個中間狀態(tài),但是這兩個狀態(tài)節(jié)點的地址需要入棧。



3.3 模型評價

(1)擴展性

為層次型有限狀態(tài)機模型增加新功能,只需在其根節(jié)點下增加一個子節(jié)點,因為新的子節(jié)點與其他兄弟節(jié)點是互斥的,所以模型可以很方便地進行系統(tǒng)功能擴展。

(2)查找算法時間復雜度

假設系統(tǒng)中存在的狀態(tài)數(shù)量為n。如果不采用層次型有限狀態(tài)機模型,那么系統(tǒng)中的各個狀態(tài)都是相互獨立、互斥的,相當于所有的狀態(tài)都是一個虛擬根節(jié)點的子節(jié)點。這樣的話,查找下一狀態(tài)的時間復雜度為:


   
然而,上面的情況忽略了狀態(tài)之間的相關性,很有可能當前狀態(tài)與下一狀態(tài)是兄弟關系,此時的比較次數(shù)就會明顯減少。如果采用層次型狀態(tài)機,假設系統(tǒng)子功能數(shù)目為m(m>1),那么平均每個子功能的狀態(tài)數(shù)目為n/m,當前狀態(tài)與下一狀態(tài)為兄弟節(jié)點的概率為p(0


其中,t1為當前狀態(tài)與下一狀態(tài)不是兄弟節(jié)點的查找時間,與狀態(tài)樹的平均深度^有關。但是由于存在局部相關性,并且這種相關性越大(即p值越大),平均時間復雜度就越集中在前面部分(p·n)/(m·2),后面的表達式值可以忽略不計,即:



顯然,T(n)2
結語

通過建立層次型有限狀態(tài)機模型,并應用改進的數(shù)據(jù)結構與狀態(tài)轉換算法,自動售貨機控制器的程序結構更為清晰。原來存在于程序中的諸多標志變量,由狀態(tài)機的各個狀態(tài)所取代,使系統(tǒng)具有更好的擴展性;并且模型很好地利用了狀態(tài)的相關性,縮短了查找所花費的時間。但是,該模型也存在一定的局限性。比如,很大數(shù)量在構造狀態(tài)樹時需要的存儲空間給一般嵌入式系統(tǒng)的成本帶來了挑戰(zhàn),不過可以試圖通過讓所有的狀態(tài)共享內存空間的方法來解決這個問題。因此,層次型有限狀態(tài)機模型應用于較為復雜的嵌入式系統(tǒng)具有更普遍的意義。

作者:周澤鵬,Zhou Zepeng(中南大學)  金甌,Jin Ou(金融貨幣識別與自助服務平臺技術工程中心)
來源:單片機與嵌入式系統(tǒng) 2009 (3)
本文地址:http://www.qingdxww.cn/thread-9975-1-1.html     【打印本頁】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據(jù)著作權人的要求,第一時間更正或刪除。
fcefce2018 發(fā)表于 2018-9-20 08:40:19


2019廣州國際無人值守零售暨無人店展覽會
The Guangzhou International Unattended Retail Exhibitions 2019

組委會聯(lián)系方式:
廣州中電國際展覽有限公司
電  話:020-2919 8950
E-mail:2100343293@qq.com
聯(lián)系人/WeChat:徐妍 159 8923 3176

誠邀參加廣州無人值守零售展——URE 2019
新零售行業(yè)國際品牌盛會,展示交易最佳選擇,宣傳推廣首選平臺!

智能改變零售   科技引領生活

時間:2019年4月9-11日
地點:廣州琶洲國際采購中心
組織單位:廣州中電國際展覽有限公司

※ 展品范圍
◆ 無人值守零售終端:
1.無人零售店/便利店,無人娛樂與休閑服務(迷你KTV、電影院、健身房、按摩椅、球房等)、無人餐飲廳,無人停車場,無人加油站,自助洗衣及相關無人便民服務等;

2.智能售貨機(飲料機、綜合機、便利柜、咖啡機、售飯機、自助派發(fā)機等),開放貨架及辦公室零售服務等。

◆ 無人值守零售技術及產(chǎn)品:
1.視覺圖像識別技術,生物識別技術,目標跟蹤技術及相關的AI技術,結算意圖識別和交易系統(tǒng),電子標簽、射頻識別(RFID)技術,自助檢測與跟蹤系統(tǒng)、商品信息采集技術,二維碼、條形碼技術,視頻安防解決方案等;

2.數(shù)字化門店、智能貨架、智能柜、智能購物車、智能包裝、服務機器人、商品快速裝袋設施、出入口設備、集裝箱盒子等;

3.智能收銀、自動結算、及相關貨幣解決方案,相關打印技術及耗材等;

4.大數(shù)據(jù)分析、消費者形象刻畫、IOT(物聯(lián)網(wǎng))、區(qū)塊鏈、語音助理、客戶感知技術、商品感知、客流分析等。

◆ 商品及供應鏈服務:各類快消品(含食品、飲料、酒水、農(nóng)產(chǎn)品、生鮮等),日用百貨,文創(chuàng)產(chǎn)品,商品配送服務及設備等。

◆ 其它:專業(yè)配套服務、空間設計、場景營造、培訓、媒體、招聘等。

※ 展會日程
報到布展:2019年4月7-8日
展出時間:2019年4月9-11日
撤展時間:2019年4月11日下午


歡迎業(yè)界同仁踴躍報名參展,現(xiàn)正接受申請,請速與組委會聯(lián)系,索取參展申請表及展位平面圖!充分利用URE 2019,鞏固您的市場地位!

您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • PIC18-Q71系列MCU概述
  • 安靜高效的電機控制——這才是正確的方向!
  • 了解一下Microchip強大的PIC18-Q24 MCU系列
  • 基于CEC1712實現(xiàn)的處理器SPI FLASH固件安全彈性方案培訓教程
  • 貿澤電子(Mouser)專區(qū)

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产日产欧美一区二区三区 | 四虎精品成在线播放 | 91羞羞视频 | 成人一级黄色大片 | 成人亚洲综合 | 国产精品 视频一区 二区三区 | 欧美亚洲一区二区三区在线 | 亚洲aⅴ在线 | 日日碰狠狠添天天爽五月婷 | 四虎精品国产一区二区三区 | 欧美精品久久久久久久久大尺度 | 母亲的朋友在线观看 | 91香蕉国产在线观看免费永久 | 久久99精品久久久久久久不卡 | 国产3级在线 | 国产欧美一区二区三区在线 | 国产精品视频免费看 | 国产精品永久免费10000 | 91视频最新网址 | 欧美性动 | 年轻的馊子hd中文播放 | 欧美日韩一区二区中文字幕视频 | 色网站免费在线观看 | 日本无遮挡吸乳视频看看 | 亚洲综合网在线观看 | 久久这里只是精品免费视频 | 在线中文字幕第一页 | 亚洲天堂热 | 国产精品福利久久2020 | 青青草a免费线观a | 国产麻豆91欧美一区二区 | 欧美在线完整高清观看 | 精品欧美 | 四虎影视库永久在线地址 | 午夜久久免影院欧洲 | 色视频日本 | 久久久麻豆 | jizz日本女护士 | 久久www免费人成看片入口 | 日本黄在线观看免费播放 | 国产va欧美va在线观看 |