《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于STM32C和μC/OS-Ⅲ的雙觸摸屏 無線自助點餐系統(tǒng)設(shè)計
基于STM32C和μC/OS-Ⅲ的雙觸摸屏 無線自助點餐系統(tǒng)設(shè)計
2014年微型機與應(yīng)用第12期
張恩迪,,余 萌
湖南大學(xué) 物理與微電子科學(xué)學(xué)院,,湖南 長沙
摘要: 隨著目前生活水平的日益提高,餐飲行業(yè)的傳統(tǒng)服務(wù)方式和管理模式已不能滿足人們的需求,,針對這種現(xiàn)狀,,設(shè)計了一種基于嵌入式操作系統(tǒng)和無線通信技術(shù)的雙觸摸屏無線自助點餐系統(tǒng)。系統(tǒng)以ARM Cortex-M3核的STM32F103VB微控制器結(jié)合?滋C/OS-Ⅲ操作系統(tǒng),,由STR-18無線數(shù)傳模塊構(gòu)建組網(wǎng),,具有位于兩側(cè)的方便就餐者點餐的雙觸摸屏,上位機由Visual Studio工具開發(fā),,上下位機無線通信方便了顧客的菜單傳送到上位機和修改菜單,,如此減少了服務(wù)人員、節(jié)約成本,、提高了運作效率,。
Abstract:
Key words :

  摘  要: 隨著目前生活水平的日益提高,餐飲行業(yè)的傳統(tǒng)服務(wù)方式和管理模式已不能滿足人們的需求,,針對這種現(xiàn)狀,,設(shè)計了一種基于嵌入式操作系統(tǒng)和無線通信技術(shù)的雙觸摸屏無線自助點餐系統(tǒng)。系統(tǒng)以ARM Cortex-M3核的STM32F103VB微控制器結(jié)合?滋C/OS-Ⅲ操作系統(tǒng),,由STR-18無線數(shù)傳模塊構(gòu)建組網(wǎng),,具有位于兩側(cè)的方便就餐者點餐的雙觸摸屏,上位機由Visual Studio工具開發(fā),,上下位機無線通信方便了顧客的菜單傳送到上位機和修改菜單,,如此減少了服務(wù)人員、節(jié)約成本,、提高了運作效率,。

  關(guān)鍵詞: ARM Cortex-M3;STM32F103,;C/OSⅢ,;雙觸摸屏;無線點餐,;

  人們生活水平的提高推動著餐飲行業(yè)的發(fā)展,但是很多企業(yè)依舊依靠傳統(tǒng)的人工服務(wù),、核算和查詢,,對服務(wù)員的要求高;單據(jù)多、信息量大,、出錯率高,,服務(wù)員等候客人點菜耗時多[1],降低了效率,。而已有的點餐器采用的是ARM9或ZigBee,,成本都太高,而WiFi可靠性不強[2-3],。對此本文提出了雙觸摸屏,、無人服務(wù)的無線智能點餐系統(tǒng),通過降低硬件加強軟件來減少成本,。系統(tǒng)以STM32為硬件基礎(chǔ)結(jié)合?滋C/OS-Ⅲ嵌入式實時操作系統(tǒng)[4-5],,利用STR-18模塊構(gòu)成組網(wǎng)[6]與PC(以Visual Studio作為開發(fā)工具[7]開發(fā)的前臺軟件)進行無線數(shù)據(jù)交換[8],實現(xiàn)無線點餐,。該無線點餐系統(tǒng)融合了無線通信技術(shù),、計算機網(wǎng)絡(luò)和數(shù)據(jù)庫技術(shù),數(shù)據(jù)無線實時傳輸,、實時處理等,。系統(tǒng)硬件配置價格低,減少了人員需求,,從而降低了成本,,并且提高了工作效率和服務(wù)質(zhì)量,優(yōu)化了業(yè)務(wù)流程,。

  1 系統(tǒng)總體架構(gòu)


001.jpg


  系統(tǒng)主要由一臺PC主機和多個從機(點餐終端系統(tǒng))組成,,以一個從機為例,其系統(tǒng)框圖如圖1所示,。從機上連接2個顯示菜單信息的TFTLCD觸摸屏,,當(dāng)在一個屏上點菜時,另一個屏上會實時顯示點菜的信息,。屏上有呼叫人工服務(wù)按鈕,,便于文明呼叫人工服務(wù)。當(dāng)點菜完畢,,選擇“完成”即可將菜單發(fā)送到主機上,。主機上有由Visual C#編寫的上位機軟件,主機和從機通過無線數(shù)傳模塊進行數(shù)據(jù)傳輸,,主機連接打印機將菜單信息打印出來,,用于廚師做菜和結(jié)賬。當(dāng)餐廳需要修改菜單時,,通過主機將新菜單通過串口發(fā)送給從機進行修改,。

  2 下位機設(shè)計

  2.1 硬件設(shè)計

  下位機主控芯片選用STM32f103VBT6,,它是意法半導(dǎo)體公司增強型的32位微控制器,采用先進的ARM Cortex-M3內(nèi)核,,擁有72 MHz的時鐘頻率,、128 KB的Flash、20 KB的SRAM,;有2個SPI總線接口,、2個IIC接口、3個USART,、1個USB,、1個CAN總線以及2個12 bit的ADC轉(zhuǎn)換,80個通用的I/O端口,。本設(shè)計主芯片上主要連接2個TFTLCD,、EEPROM24C02(用于存儲觸摸屏的校準(zhǔn)值)、LED指示燈和JTAG下載口,、串口1(PA9,、PA10)用于連接到STR-18無線模塊與上位機通信。

  TFTLCD采用自帶XPT2046控制芯片的四線電阻式觸摸屏,。XPT2046是一款四導(dǎo)線制觸摸屏控制器,,內(nèi)含12位分辨率125 kHz轉(zhuǎn)換速率逐步逼近型A/D轉(zhuǎn)換器;支持從1.5 V~5.25 V的低電壓I/O接口,,能通過執(zhí)行2次A/D轉(zhuǎn)換查出被按的屏幕位置,。觸摸屏共有34個管腳,引腳分布如圖2所示,,BD1~DB16為數(shù)據(jù)位,,RST、CS,、RS,、WR、RD實現(xiàn)復(fù)位,、片選,、指令數(shù)據(jù)切換、讀寫等控制功能,,MISO,、MOSI、CLK,、T_PEN,、T_CS用于觸摸屏控制。

002.jpg

  兩個LCD觸摸屏分別與STM32f103VBT6連接,。兩屏16位的數(shù)據(jù)位分別與STM32f103VBT6的PD口,、PE口相連,,其中一個TFT屏的連線如圖2所示,,另一屏的MISO,、MOSI、CLK,、T_PEN,、T_CS依次對應(yīng)PB0、PB1,、PC4,、PC5、PB11,,BL,、CS、RS,、WR,、RD依次與STM32F103VBT6的PB10、PB6,、PB7,、PB8和PB9相連。

  2.2 無線數(shù)傳模塊在本系統(tǒng)中的實現(xiàn)

  主機和從機通信采用STR-18微功率無線數(shù)傳模塊,,它具有功率小,、ISM頻段工作頻率無需申請頻點、抗干擾能力強,、誤碼率低,、通信協(xié)議完善、數(shù)據(jù)實時同步和傳輸距離遠(yuǎn)等優(yōu)點,,支持1 200 b/s,、2 400 b/s、4 800 b/s,、9 600 b/s等接口波特率,。

  在本系統(tǒng)中,使用了2塊STR-18無線數(shù)傳模塊,,一塊通過USB轉(zhuǎn)串口模塊與上位機連接(TXD,、TXD、GND和VCC 4個引腳一一對應(yīng)即可),;另一塊與下位機相連時,,除VCC和GND是直接連接以外,TXD和TXD交叉相連,。并把設(shè)置波特率的焊盤跳線J4~J2接成011態(tài)(即9 600 b/s),,J1的E=1(即插上斷路器)傳輸不帶奇偶校驗的8位數(shù)據(jù)位,。

  STR-18無線串口通信有點對點、點對多點和多點對多點三種方式,,本設(shè)計采用點對多點無線串口通信,,如圖3所示。

003.jpg

  2.3 μC/OS-Ⅲ操作系統(tǒng)在本系統(tǒng)中的應(yīng)用

004.jpg

  μC/OS-Ⅲ是一個結(jié)構(gòu)簡單,、功能完備和實時性很強的嵌入式操作系統(tǒng)內(nèi)核[5],,適合于如STM32F103VBT6這種沒有MMU的CPU。下位機的點菜界面如圖4所示[9],,左邊是菜單,,分頁顯示,顧客選擇一道菜時,,通過μC/OS-Ⅲ發(fā)送信號量,,此時等待該信號量的任務(wù)首先完成在本屏上使該道菜變?yōu)樗{底白字且顯示在右邊,并使另一觸摸屏完成相同的任務(wù)[10],,使之顯示相同的信息,。當(dāng)選擇“上一頁”之類非菜單的選項時不會發(fā)送該信號量。當(dāng)“完成點餐”時會彈出“點餐完成”窗口,,并等待PC掃描信號后將顧客菜單發(fā)送到PC,,打印給廚師。

  3 系統(tǒng)軟件設(shè)計


005.jpg


  主機的上位機軟件由Visual C#編寫,,系統(tǒng)軟件流程圖如圖5所示,。首先從機上電完成初始化,如果要更改菜單,,則由上位機通過無線數(shù)傳模塊發(fā)送給所有從機,,從機遇到串口接收中斷,則更新菜單顯示,;如從機在完成初始化后直接點菜,,有顧客在一個觸摸屏菜單上點菜,則兩觸摸屏間進行通信,,更新兩屏上已點菜品的顯示,。點菜完成后,將菜品通過無線數(shù)傳模塊發(fā)送給主機顯示并打印菜單,。本設(shè)計由于從機較多且用到的是串口通信方式,,為防止多個從機有可能在同一時刻發(fā)送菜單給主機,采用先給從機編碼,,主機循環(huán)發(fā)送從機地址,,當(dāng)從機已經(jīng)準(zhǔn)備好并接收到是本機的地址時,才發(fā)送菜單給主機,。

006.jpg

  上位機界面如圖6所示,,有選擇端口和幫助等功能,,鼠標(biāo)點到某個桌號上,會顯示此桌最近時間的點餐信息,。本文主要采用serialPort控件來接收下位機的數(shù)據(jù),,其配置應(yīng)與下位機串口配置保持一致,即BaudRate=9 600,;Databits=8,;Stopbits=1,;Parity為NONE,,并選擇對應(yīng)的COM口,先定義全局變量public string indata="";主要代碼如下:

  private void serialPort1_DataReceived_1 (object sender,

  System.IO.Ports.SerialDataReceivedEventArgs e)

  {indata="";indata=this.serialPort1.ReadExisting(); }

  本文設(shè)計的雙觸摸屏的無線自助點餐系統(tǒng),,相比于之前的點餐器,,既方便快捷智能,又減少了服務(wù)員,,節(jié)約了成本,。

  參考文獻

  [1] 陳曉峰,林正浩.基于Android的無線點餐系統(tǒng)設(shè)計[J].上海師范大學(xué)學(xué)報(自然科學(xué)版),,2012,,41(4):369-373.

  [2] 李泉溪,吳碩.ZigBee無線點餐系統(tǒng)研究[J].河南科技大學(xué)學(xué)報(自然科學(xué)版),,2011,,32(5):28-32.

  [3] 楊保亮,王慶閣.觸摸式無線點餐終端系統(tǒng)的設(shè)計[J].重慶文理學(xué)院學(xué)報(自然科學(xué)版),,2012,,31(1):76-79.

  [4] 李正民,姬曉陽,,陳京育.嵌入式實時操作系統(tǒng)在測控系統(tǒng)中的應(yīng)用研究[J].計算機與現(xiàn)代化,,2010(6):153-155.

  [5] 黨宏社,姚勇,,張新院.一種用于觸摸屏的多級菜單界面實現(xiàn)方法[J].計算機應(yīng)用與軟件,,2013,301(10):159-161.

  [6] 邱紅兵,,邱曉燕.基于WinCE的點餐系統(tǒng)設(shè)計[J].?dāng)?shù)字技術(shù)與應(yīng)用,,2011(8):127-130.

  [7] 孫凱明,石磊,,甄海濤,,等.基于Cortex-M3處理器和CC2430的無線網(wǎng)關(guān)設(shè)計[J].自動化技術(shù)與應(yīng)用,2011,,30(8):34-35.

  [8] 丁順鶯.RFlD觸控屏幕點餐系統(tǒng)[J].計算機時代,,2013(3):21-22,,25.

  [9] 宋亮,苗瓊.嵌入式實時操作系統(tǒng)μC/OS-II串口通信的設(shè)計與實現(xiàn)[J].電子設(shè)計工程,,2011,,19(1):42-45.

  [10] LABROSSE J.嵌入式實時操作系統(tǒng)μC/OS-Ⅲ[M].宮輝,曾鳴,,龔光華,,等,譯.北京:北京航空航天大學(xué)出版社,,2012.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。