《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于串行通信的智能家居上位機設計
基于串行通信的智能家居上位機設計
中國物聯網
空城 收編
摘要: 上位機設計是智能家居系統的一個重要組成部分,擔負著管理、控制、維護和用戶界面操作的重任,高效可靠的上位機設計是整個系統正常運作的重要保障。上位機與系統的通信實際上是與下端單片機的通信。單片機或單片機系統是智能家居控制的核心,當計算機作為單片系統的一個角色時,通常被稱為“工控機”或“上位機”,各獨立的單片機是系統中實現功能的一個模塊,所以有時也稱單片機為模塊。
Abstract:
Key words :

        上位機設計是智能家居系統的一個重要組成部分,擔負著管理、控制、維護和用戶界面操作的重任,高效可靠的上位機設計是整個系統正常運作的重要保障。上位機與系統的通信實際上是與下端單片機的通信。單片機或單片機系統是智能家居控制的核心,當計算機作為單片系統的一個角色時,通常被稱為“工控機”或“上位機”,各獨立的單片機是系統中實現功能的一個模塊,所以有時也稱單片機為模塊。
  計算機與單片機是通過串口來實現通信的,本文著重討論計算機與單片機的串口通信的實現方法和MSComm控件技術。
  1 上位機在智能家居系統的角色
  首先,必須認識計算機在智能家居系統的作用,可以概括為以下幾個方面:
  1.1通信測試工具
  傳統的單片機系統的通信測試通過示波器來監測,既不直觀又容易丟失信息。將計算機加入到系統中,可以實時監測到線路中的信息,并以數字化呈現,使各個單片機間的通信得到檢驗,及時解決系統存在的問題。所以計算機在加速系統的開發和保證系統的運行質量的作用就不言而喻了。
  1.2系統維護
  一個單片機系統往往需要對系統中各個不同功能的模塊(單片機)進行參數的設置,以適應不同的運行環境,雖然可以通過各模塊的控制面板來調整,但操作通常比較麻煩,非專業人員不易掌握。同時對于一些需要定義其地理位置的參數難以實現,不夠直觀。計算機加入到系統中,不但可以解決操作上的問題,同時還可以讀取各模塊的參數,以便于調整。
  1.3單片機
  計算機可以作為單片機系統的一個模塊,完成相應的功能。計算機應答系統的請求、處理系統中的信息,一方面將信息呈現給用戶,另一方面計算機程序通過自動計算或用戶的輸入,將信息反饋到系統中,參與系統的控制。
  1.4主控機
  在單片機系統中,往往存在一個主控機或主控模塊,負責對整個系統的統籌和設置。單片機系統通常是通過各功能模塊的輸入和響應來實現其功能的,因此必須有一個負責收集輸入任務并指定響應模塊的主控模塊。計算機系統中既可以是一個普通的模塊,又可以是負責總體協調的主控器。
  2 通信協議
  一個單片機系統是由硬件系統和軟件系統構成的。硬件是實現功能的前提,而系統功能則是通過軟件來實現的,為了保證各個模塊通信,實現系統信息交流,必須制訂系統的通信協議。
  從物理上來說,系統各模塊是以半雙工的模式來通信的,下文提及的智能照明系統下端模塊就是以半雙工的RS485總路線為通信架構的。而計算機的RS232串口是以全雙工的模式來實現通信的,因此,計算機要通過串口參與到單片機系統中必須增加一個RS232和RS485總線轉換的模塊。

  從邏輯上講,要實現各模塊之間的通信,就必須在模塊間約定一個共同遵守的通信協議。單片機以位(b)為基本單位,傳輸時以8位1字節(B)來傳輸,單片機以毫秒間距發送若干個字節為一個數據包,也稱為一幀,幀之間又規定若干毫秒的間隙。通過計算機程序可以捕獲線路中每一幀信息。
  下面以智能照明系統為例,講述單片機系統的通信協議。
  本協議采用異步串行通信方式,字節幀格式:1個起始位+8個數據位+1個停止位,無校驗位。
  幀格式如下:
  l幀=幀頭(F4HF5H)+數據包+幀尾(F4HFBH)<255B
  數據包=有效字節數(1B)+傳輸層數據+校驗和(1B)<251B
  幀數據的發送、接收過程中前后兩字節數據傳送延時不得超過O.5s。
  各模塊分配兩個字節的地址碼,第一字節代表模塊類型,第二字節代表模塊在系統中分配的順序。各模塊獲取總線上的幀后,對自己的地址幀響應,其他的幀拋掉。
  以下是本協議中的關于“燈開停控制”的協議:
  描述:該信息是輸出子模塊的各路燈的開或關控制。
  構成:該信息發送時由信息頭和信息內容構成,返回時由信息頭構成。
  主控器或PC機發給輸出模塊時:
 
  系統的通信按照規定的各條協議來執行。
  3 計算機通信的實現
  計算機硬件上通過RS232與RS485接口轉換與下端模塊進行通信。而軟件的實現有多種方法,下面主要介紹在VB6.0通過MSComm控件來實現通信的方法。
  3.1將MSComm控件引入到VB平臺
  MSComm控件通過串行端口傳輸和接收數據,為應用程序提供串行通訊功能。MSComm控件在串口編程時非常方便,程序員不必去花時間去了解較為復雜的API函數,而且在VC,VB,Delphi等語言中均可使用。 
  MSComm是Mierosoft公司提供的簡化Windows下串行通信編程的AcTIveX控件,它為應用程序提供了通過串行接口收發數據的簡便方法。具體的來說,它提供了兩種處理通信問題的方法:一是事件驅動(Eventdriyen)方法,一是查詢法。
  3.2.1MSComm控件的屬性
  MSComm控件有很多重要的屬性,正確設置其屬性是程序進行正常通信的保證,下面介紹幾個必須熟悉的屬性。

  CommPort:設置并返回通訊端口號。
  Settings:以字符串的形式設置并返回波特率、奇偶校驗、數據位、停止位。
  PortOpen:設置并返回通訊端口的狀態,也可以打開和關閉端口。
  Input:從接收緩沖區返回和刪除字符。
  InputMode:接收模式,取O值時,接收文本數據;取1時,接收二進制數據。
  Output:向傳輸緩沖區寫一個字符串。
  Rthrehold:響應模式,取整數。當接收字符后,若Rthrehold屬性設置為O,則不產生OnComm事件;若設置為1,則接收緩沖區收到每一個字符都會使MSComm控件產生OnComm事件。
  Sthreshold:發送模式,設置O(缺省值),數據傳輸事件不會產生OnComm事件;設置為1,當傳輸緩沖區完全空時,MSComm控件產生OnComm事件。如果在傳輸緩沖區中的字符數小于value,CommEvent屬性設置為comEvSend,并產生OnComm事件。
  Handshake:通信握手模式,取值為O時,無握手;取值為1時,表示XOn/Xoff握手;取值為2時,表示Request-to\-send/clear-to-send握手;取值為3時,表示eqLlest-to-send&clear-to-send握手皆可。
  3.2.2MSComm控件兩種處理通訊的方式
  MSComm控件提供下列兩種處理通訊的方式:事件驅動方式和查詢方式。
  (1)事件驅動方式
  事件驅動通訊是處理串行端口交互作用的一種非常有效的方法。在許多情況下,在事件發生時需要得到通知,例如,在串口接收緩沖區中有字符,或者CarrierDetect(CD)或RequestToSend(RTS)線上一個字符到達或一個變化發生時。在這些情況下,可以利用MSComm控件的OnComm事件捕獲并處理這些通訊事件。OnComm事件還可以檢查和處理通訊錯誤。所有通訊事件和通訊錯誤的列表,參閱CommEvent屬性。在編程過程中,就可以在OnComm事件處理函數中加入自己的處理代碼。這種方法的優點是程序響應及時,可靠性高。每個MSComm控件對應著一個串行端口。如果應用程序需要訪問多個串行端口,必須使用多個MSComm控件。
  (2)查詢方式
  查詢方式實質上還是事件驅動,但在有些情況下,這種方式顯得更為便捷。在程序的每個關鍵功能之后,可以通過檢查CommEvent屬性的值來查詢事件和錯誤。如果應用程序較小,并且是自保持的,這種方法可能是更可取的。例如,如果寫一個簡單的電話撥號程序,則沒有必要對每接收一個字符都產生事件,因為惟一等待接收的字符是調制解調器的“確定”響應。

  3.3計算機信息發送和接收的實現
  下面以智能照明系統中PC機與主控器的通信,說明計算機與單片機通信的實現方法。以下是實現的主要子程序。
  頁面裝載程序:
  通信建立后,計算機就可以與下端單片機通過設定的協議進行通信,可以測試下端模塊的響應。
  4 MSComm控件的問題和解決辦法
  在實際應用中,MSComm控件對于一問一答式的通信,效果還是可以的,所以用于單模塊的通信測試問題不大。但是,如果計算機作為單片系統的一個角色,要實時捕獲總線上的信息并響應,存在失幀和誤幀的問題,如果系統要求不高,還可以對付,而象智能照明這樣要求信息持續、實時、準確的系統,利用MSComm控件處理串口通信就難以勝任了。
  在智能照明系統中,采用了自編制的動態庫Transdata,dll程序,作為處理串口通信的接口,誤幀率和失幀率較低,能滿足產品化的要求。
  Transdata.dll使用說明:
  (1)初始化串口并處于通訊狀態<函數>
  Init_OpenCom(byvalm_strasstring,byvalnbaudasInteger)asBoolean
  參數說明:m_str為串口名稱,如“coml”“com2”等;nbaud為波特率,可為1200,2400,4800,9600等;返回值為Boolean,若為true則成功,否則失敗false。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲理论在线观看| 国产中文一区二区| 亚洲精品三级| 99精品国产在热久久| 国产精品午夜在线观看| 欧美在线欧美在线| 亚洲国产一区二区a毛片| 亚洲美女在线看| 国产精品一区二区欧美| 免费短视频成人日韩| 亚洲性图久久| 久久精品国产一区二区电影 | 欧美午夜精品久久久久久孕妇| 午夜精品福利一区二区三区av| 久久激五月天综合精品| 一本色道久久综合亚洲精品按摩| 国产精品日韩欧美| 欧美va天堂| 翔田千里一区二区| 亚洲国产欧美日韩精品| 国产裸体写真av一区二区| 亚洲成人资源| 国产精品xxx在线观看www| 欧美中文字幕久久| 日韩午夜在线视频| 午夜性色一区二区三区免费视频| 亚洲国产日韩在线| 国产伦一区二区三区色一情| 欧美另类69精品久久久久9999| 欧美中文字幕久久| 在线午夜精品| 亚洲国产成人91精品| 亚洲午夜精品网| 亚洲国产精品视频| 国产综合自拍| 国产精品拍天天在线| 欧美mv日韩mv亚洲| 午夜精品久久久久久久久久久久| 亚洲国产日韩欧美综合久久 | 亚洲精品婷婷| 黄色亚洲大片免费在线观看| 国产精品久久91| 欧美日本精品| 欧美激情2020午夜免费观看| 久久久综合香蕉尹人综合网| 亚洲欧美国内爽妇网| 亚洲免费播放| 亚洲黄色av| 欧美中日韩免费视频| 亚洲自拍偷拍一区| 一本色道久久综合精品竹菊| 亚洲乱码精品一二三四区日韩在线 | 久久成人综合视频| 一本一本久久a久久精品综合妖精| 久久精品亚洲精品国产欧美kt∨| 午夜精品久久久久| 亚洲一区二区三区国产| 在线视频亚洲一区| 日韩午夜高潮| 亚洲精品一二| 日韩网站在线看片你懂的| 亚洲美女av黄| 亚洲精品人人| 日韩视频免费观看| 亚洲精品国产系列| 亚洲免费av观看| 亚洲欧洲日本mm| 亚洲精品一区二区三区樱花| 亚洲日本在线观看| 99re8这里有精品热视频免费| 亚洲精选一区| 一本色道综合亚洲| 99精品国产在热久久| 在线一区观看| 亚洲一区影院| 欧美亚洲视频一区二区| 欧美一区二区成人6969| 欧美伊人久久| 亚洲第一福利在线观看| 亚洲成色999久久网站| 亚洲成人在线视频播放| 91久久久精品| 日韩视频一区二区在线观看 | 日韩午夜激情| 99视频国产精品免费观看| 一本色道久久综合狠狠躁的推荐| 99这里只有精品| 亚洲深夜福利| 午夜精品三级视频福利| 午夜精品久久久久久久久久久久久| 亚洲愉拍自拍另类高清精品| 午夜视频久久久久久| 欧美一区二区三区播放老司机| 欧美中文字幕不卡| 在线一区二区日韩| 亚洲女ⅴideoshd黑人| 性亚洲最疯狂xxxx高清| 欧美一区综合| 六月婷婷一区| 欧美激情在线观看| 国产精品久久国产愉拍| 国产日产精品一区二区三区四区的观看方式 | 欧美午夜精品伦理| 国产视频一区免费看| 狠狠狠色丁香婷婷综合久久五月| 在线观看亚洲a| 一区二区三区 在线观看视| 午夜日韩激情| 亚洲免费观看| 欧美在线高清视频| 欧美xx69| 国产精品网站一区| 在线观看福利一区| 这里是久久伊人| 久久精品视频在线观看| 一区二区高清视频| 久久国内精品视频| 欧美日韩免费在线视频| 国产欧美视频一区二区| 亚洲福利视频在线| 亚洲午夜精品一区二区| 亚洲国产高清一区| 亚洲深夜福利| 毛片精品免费在线观看| 国产精品扒开腿做爽爽爽视频 | 国产精品高潮粉嫩av| 一区免费观看视频| 中国成人在线视频| 亚洲激情视频网| 欧美一区二区成人6969| 欧美成人免费观看| 国产精品嫩草99av在线| 亚洲高清免费视频| 亚洲欧美一区二区激情| 日韩亚洲在线观看| 久久久国产一区二区| 国产精品初高中精品久久| 伊人久久成人| 午夜免费日韩视频| 亚洲午夜电影在线观看| 麻豆精品91| 国产性天天综合网| 国产精品99久久久久久久久久久久| 亚洲国产精品热久久| 久久aⅴ乱码一区二区三区| 欧美日韩国产精品专区| 尤物九九久久国产精品的分类| 亚洲影院在线观看| 一区二区三区欧美激情| 欧美69视频| 国产亚洲一本大道中文在线| 一本色道久久综合亚洲精品小说 | 嫩草国产精品入口| 国产日韩一区二区三区| 一区二区三欧美| 日韩亚洲欧美一区| 免费试看一区| 国产在线欧美日韩| 欧美亚洲日本国产| 欧美在线一区二区| 国产精品日韩欧美一区二区三区| 亚洲精品国产欧美| 最新日韩精品| 久久综合999| 国产一区二区三区高清播放| 亚洲主播在线| 亚洲欧美另类在线| 国产精品久久久久久久午夜 | 亚洲午夜激情网页| 欧美裸体一区二区三区| 在线观看欧美激情| 久久精品五月| 久久久久久电影| 国产日韩精品在线播放| 亚洲欧美国产三级| 香蕉国产精品偷在线观看不卡| 国产精品久久二区二区| 亚洲图片欧洲图片av| 亚洲尤物视频网| 国产精品久久久久久妇女6080| 一区二区三区日韩欧美精品| 亚洲一区二区三区欧美| 国产精品videossex久久发布| 一本久道久久综合狠狠爱| 亚洲视频一二三| 欧美日一区二区在线观看| 一区二区三区 在线观看视频| 亚洲视频中文| 国产精品大片免费观看| 亚洲一区二区久久| 欧美一区二区三区久久精品| 国产伦精品一区二区三区视频黑人| 亚洲欧美激情一区二区| 久久国产精品一区二区三区| 国产欧美在线视频| 久久激五月天综合精品| 免费中文字幕日韩欧美| 亚洲日产国产精品| 亚洲一区二三| 国产区日韩欧美|