《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 分布式測(cè)控系統(tǒng)中PC與單片機(jī)
分布式測(cè)控系統(tǒng)中PC與單片機(jī)
摘要: 本文介紹了利用公用電話網(wǎng)實(shí)現(xiàn)分布式測(cè)控系統(tǒng)遠(yuǎn)程通信的方法,重點(diǎn)介紹了VB環(huán)境下Modem的操作編程以及數(shù)據(jù)傳輸?shù)膮f(xié)議及實(shí)現(xiàn)。
Abstract:
Key words :

    1 遠(yuǎn)程通信方案  
  
    由PC機(jī)和單片機(jī)組成的分布式測(cè)控系統(tǒng)已在工業(yè)生產(chǎn)中得到了廣泛的應(yīng)用。其中,單片機(jī)作為從機(jī),負(fù)責(zé)現(xiàn)場(chǎng)控制和實(shí)時(shí)數(shù)據(jù)的采集,PC機(jī)作為主機(jī),負(fù)責(zé)對(duì)各從機(jī)發(fā)來(lái)的數(shù)據(jù)進(jìn)行分析、處理,并向各從機(jī)發(fā)布命令,以實(shí)現(xiàn)對(duì)工業(yè)現(xiàn)場(chǎng)的集中監(jiān)控與管理,由于主從機(jī)需不斷進(jìn)行信息交流,通信成為分布式測(cè)控系統(tǒng)重要而基本的功能。
  采用RS485等通信技術(shù)可實(shí)現(xiàn)近距離通信(<1km),而在許多場(chǎng)合,各計(jì)算機(jī)之間距離較遠(yuǎn)(幾公里甚至幾十公里),這時(shí)就應(yīng)采用遠(yuǎn)程通信技術(shù)。基于Modem和公用電話網(wǎng)的遠(yuǎn)程通信技術(shù)則是一種實(shí)施方便、成本低廉的方案。
  
    采用電話網(wǎng)通信的分布式測(cè)控系統(tǒng)如圖1—1所示,PC機(jī)及各單片機(jī)均通過(guò)Modem聯(lián)入電話網(wǎng),PC機(jī)可通過(guò)Modem撥號(hào)與選中的單片機(jī)建立通信鏈路,以進(jìn)行數(shù)據(jù)傳輸,傳輸結(jié)束后可掛機(jī)拆除通信鏈路。
 

 采用電話網(wǎng)通信的分布式測(cè)控系統(tǒng)


  
    為了順利實(shí)現(xiàn)通信,在通信程序設(shè)計(jì)中應(yīng)注意兩個(gè)問(wèn)題:一是對(duì)Modem進(jìn)行正確操作,以實(shí)現(xiàn)數(shù)據(jù)鏈路的建立或

 

 

 

拆除等功能。二是在數(shù)據(jù)傳輸過(guò)程中,收發(fā)雙方應(yīng)遵循共同的通信協(xié)議,以保證數(shù)據(jù)的可靠傳送,本文將對(duì)這兩點(diǎn)作詳細(xì)討論。

    2 Modem操作編程 

    有關(guān)單片機(jī)具體控制Moedm的方法及接口已有許多文獻(xiàn)進(jìn)行了討論[4],本文著重介紹VB環(huán)境下PC機(jī)操作Modem的編程方法。

    標(biāo)準(zhǔn)的賀式命令集定義了一些基本功能集(表2—1),利用這些功能可以操作Modem以實(shí)現(xiàn)Modem的初始化、撥號(hào)、掛機(jī)等功能。

    VB以其功能豐富,簡(jiǎn)單易用等特點(diǎn)成為開(kāi)發(fā)PC機(jī)監(jiān)控軟件的首選工具,VB提供了一個(gè)具有串行通信功能的MSCOMM控件,使得通信程序的開(kāi)發(fā)方便、快捷。

基本功能集
 

  利用MSCOMM控件,我們可以向Modem傳送AT命令對(duì)Modem進(jìn)行操作,下面是一段用VB編寫(xiě)的撥號(hào)程序代碼:
 

撥號(hào)程序代碼

       

撥號(hào)程序代碼

撥號(hào)程序代碼

      數(shù)據(jù)傳輸完畢后,可向Modem發(fā)出掛機(jī)命令以釋放通信鏈路  

   CommCtrl.Output=“ATH”+chr $(13)’發(fā)送掛機(jī)命令  
 
   CommCtrl.PortOpen=False ’關(guān)閉端口

       3 數(shù)據(jù)傳輸及通信協(xié)議  
  
       撥號(hào)接通線路后,就可以進(jìn)行數(shù)據(jù)傳輸了,采用異步通信不可避免地會(huì)出現(xiàn)數(shù)據(jù)傳輸錯(cuò)誤,為了保證數(shù)據(jù)可靠傳輸,通信的雙方應(yīng)遵循一定的協(xié)議,我們根據(jù)微機(jī)通信中廣泛采用的Xmodem協(xié)議,制定主機(jī)與從機(jī)通信協(xié)議如下:

  傳輸?shù)臄?shù)據(jù)被分割成128字節(jié)的數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊前有起始符SOH,塊編號(hào),數(shù)據(jù)塊后附有檢驗(yàn)和。

      傳輸過(guò)程由PC機(jī)每隔10秒發(fā)一個(gè)“NAK”字符來(lái)啟動(dòng),當(dāng)單片機(jī)檢測(cè)到一個(gè)NAK后,會(huì)發(fā)出第一個(gè)數(shù)據(jù)包,PC機(jī)檢查數(shù)據(jù)包,將128字節(jié)相加,計(jì)算出檢驗(yàn)和,并與發(fā)來(lái)的檢驗(yàn)和相比較,相同則發(fā)送ACK字符,對(duì)本次接收的數(shù)據(jù)塊進(jìn)行確認(rèn),否則,發(fā)送NAK字符,通知對(duì)方重發(fā)數(shù)據(jù)塊,當(dāng)數(shù)據(jù)傳送完畢后,單片機(jī)發(fā)出“EOT”字符,通知PC機(jī)結(jié)束數(shù)據(jù)傳輸。

  在通信過(guò)程中,發(fā)送方重發(fā)數(shù)據(jù)的次數(shù)限制為6次,超過(guò)6次則掛機(jī),而接收方也應(yīng)設(shè)置超時(shí)機(jī)制,如果一個(gè)數(shù)據(jù)包在規(guī)定的時(shí)間內(nèi)沒(méi)有傳遞完成,則意味著出現(xiàn)了異常情況,這時(shí)應(yīng)掛機(jī)停止通信,以防止進(jìn)入無(wú)限期等待的死鎖狀態(tài)。

  PC機(jī)(接收方)與單片機(jī)(發(fā)送方)通信程序流程見(jiàn)圖3—1、圖3—2。                                             

通信程序流程

通信程序流程


     4 結(jié)束語(yǔ)  
  
     本文介紹的通信方法已在實(shí)驗(yàn)中得到驗(yàn)證,它不僅可保證數(shù)據(jù)的可靠傳輸,并且實(shí)現(xiàn)簡(jiǎn)單方便,對(duì)于工控領(lǐng)域中計(jì)算機(jī)間的遠(yuǎn)程 通信設(shè)計(jì)具有一定的參考價(jià)值。

 

 

 
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 久久国产精品久久精品国产| 依恋影视在线观看韩国| 亚洲一区二区日韩欧美gif| 黑人粗大猛烈进出高潮视频| 无限资源日产好片| 免费视频淫片aa毛片| 337p日本欧洲亚洲大胆色噜噜 | 欧美黑人vs亚裔videos| 国产精品无码不卡一区二区三区| 久久成人无码国产免费播放| 精品国偷自产在线视频| 国产萌白酱在线观看| 久久精品午夜福利| 精品一区二区三区免费毛片爱| 国产精品无码专区| xyx性爽欧美| 欧美18-19sex| 人人爽人人爽人人爽人人片av| 亚洲国产成人精品激情| 成人αv在线视频高清| 亚洲最大激情中文字幕| 蜜桃臀av高潮无码| 在线免费观看国产视频| 久久精品国产一区二区三区不卡| 滴着奶水做着爱中文字幕| 嗯~啊太紧了妖精h| 91天堂素人精品系列全集亚洲| 日本道在线播放| 伊人蕉久中文字幕无码专区| 西西人体444rt高清大胆| 国产精品久久久久久一区二区三区| 中文字幕无码免费久久9一区9| 污污网站在线播放| 国产内射在线激情一区| XX性欧美肥妇精品久久久久久| 日韩大片高清播放器| 全球中文成人在线| 视频一区二区三区免费观看| 国产高清一区二区三区免费视频| 一级特黄a大片免费| 欧美人与动人物xxxx|