91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

PC機與單片機多機如何互通?這些方法拿走不謝

電子設計 ? 來源:互聯網 ? 作者:佚名 ? 2018-01-11 07:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

為了實現PC機與多個單片機的互相通信,特別是多個單片機都需要向PC機傳輸數據時,課題組采用“點名式”的總線控制方式。單片機在得到PC機發送的“點名”指令后,開始控制總線,向PC機傳輸數據。傳輸數據結束后,通知PC機并退出總線控制,PC機再逐個往后發送“點名”指令。根據這種思路,搭建了相應的電路,經過不斷的實驗、調試和改進,構建的系統工作穩定、可靠。“點名式”的多機互通方式非常適合于需要多單片機向PC機傳送數據的場合,具有較高的實用價值。

0 引言

PC 機與單片機組成的主從系統很常見,在很多領域中都得到了應用。在這些系統中,PC 機與單片機之間一般采用串行通信方式,按照一定的格式,進行數據、指令的交換,完成PC機對單片機的控制、數據前送,或者單片機上數據、狀態等信息的回送。

當單片機數量較多時,比較容易實現PC 機對所有單片機的控制。一般在這種情況下,采用廣播的方式。

所有單片機都掛在一條串行數據總線上,只需對單片機進行地址編碼,PC機將地址數據和控制報文進行廣播,單片機接收廣播數據后進行地址比對,篩選出所需的數據,完成相應的數據傳送。

如果PC 機要對單片機多機進行廣播,并回傳所有單片機的信息,即單片機還要發送數據至PC機,再加上單片機數量較多(大于100 個單片機),則要實現PC 機與單片機多機的互相通信,難度是比較大的。

本文提出了一種切實可行的方法,通過實際電路搭建和調試,實現了PC機與單片機多機的互相通信,達到了預定的目標,使該系統具有如下功能:

(1)PC機可以對所有100多個單片機進行控制,根據需要,發送不同控制字到達每個單片機;

(2)PC機對單片機的狀態修改是隨機的、沒有規律的;

(3)所有單片機將自身的一些狀態信息按照順序回傳至PC機。

1 互通信的幾種實現方法

PC 機至多個單片機的廣播比較簡單,難度較大的是多個單片機發送數據至PC機。由于100多個單片機均掛在一個數據總線上,系統設計的難點就在于數據總線控制權的傳遞,絕對不能出現有2個或者2個以上設備同時向總線上發送數據。系統設計之初,考慮了兩種總線控制方式有接力式和點名式:

(1)接力式總線控制方式

這種控制方式的基本思路是:初始化后,所有單片機在接收完PC機數據后,處于串行接收狀態,不占用總線控制權。PC機發出回送開始指令,第1個單片機響應該指令,并立即占有總線控制權,向總線上的PC機發送數據,數據發送完成后,緊接著第1個單片機發送控制指令,通知第2個單片機,同時第1個單片機退出總線控制權,處于接收狀態;第2個單片機接收到第1個單片機的開始指令后,和前面第1個單片機一樣,開始向總線上發送數據,并在結束傳送之后通知第3個單片機,如此這般,不斷接力傳輸,輪流控制總線,直至最后一個單片機完成數據傳送。在單片機控制總線,進行回傳的過程中,如果要通過PC機向某個或者某些單片機傳送數據時,PC機軟件會自動將這些數據存儲下來,等到最后一個單片機接收向PC機送數據之后,PC機再占用數據總線,開始向單片機傳送數據。

(2)點名式總線控制方式

該控制方式與接力式控制方式大體相同,不同的是這種控制方式需要等待PC 機點名指令。系統初始化后,單片機接收PC機指令、數據之后,PC機發送點名指令,讓第1個單片機開始傳送數據,第1個單片機接收該指令后,立即占用總線,開始傳送數據,傳送結束后,發送結束指令至PC 機,PC 機在接收該結束指令后,立即占用總線,再發送點名指令,讓第2個單片機開始傳送數據,如此不斷動作,直至最后一個單片機結束傳送。

在單片機傳送數據時,如果PC 機要送數據至單片機,可以在接收完某個單片機數據之后,暫停發送點名指令,直接發送數據至某個或者某些單片機。待數據發送完成后,繼續接上原先的中斷的點名順序號,繼續向后點名、傳送數據。綜合考慮這兩種總線控制方式,不難發現,由于沒有來回傳遞點名的指令時間開銷,接力式的傳輸效率會略高于點名式,所以,一開始還是采用了接力式的控制方式。

但是在進行大的系統聯調時,問題出現了。由于接力式脫離PC機的過程干預,一旦出現某個單片機程序跑飛、死機時,整個程序就沒法進行下去,一直處于等待狀態,整個系統就癱瘓了。調試過程中出現過好幾次死機的情況。最后,不得不回頭修改總體方案,采用點名式的控制方式。如果中間某個單片機出現異常,沒有按照預定的程序回傳數據,則PC機就可以判斷該單片機死機,在經歷過一段等待時間后,自行跳過該單片機,點名下一個單片機,繼續后續的回傳和程序。如果該故障單片機還在占用總線,影響下一個單片機的工作,則對單片機公用的復位端發送一個整體復位信號,讓所有單片機復位。經過重新調整方案后,經過長時間運行,均沒有出現整機死機的狀況,總體運行情況良好。另外,這種控制方式還有其他兩種控制方式所不具有的優勢:

可以隨時打斷回傳,幾乎實時發送新的指令到某個或者某些單片機上,該功能是非常實用的。

2 系統的硬件構成

根據系統的總體要求,構建了如圖1所示的硬件平臺。

整個系統采用RS 485 總線結構,RS 485 為差分平衡數字通信方式,具有較強的抗干擾能力,廣泛應用于遠距離數字通信。RS 485和RS 422A總線最大的區別是RS 485 可以單工雙向傳輸,而RS 422A 只能單向傳輸數據,在本系統由于存在大量單片機,如果使用RS 422A,電纜會增加一倍。另外,由于標準的RS 485鏈路只可以連接32個設備,故每個轉換器上要增加驅動器。目前PC 機上已經很難找到串口了,故PC 機與RS 485 總線之間采用PL2303 芯片進行橋接。PL2303為Prolific 公司產品,可以很方便地將USB 接口轉換成標準RS 232 電平,用戶根本不用關心復雜的USB 協議和規范,在PC端的軟件編程中,只需像標準com口一樣使用USB口,因為Prolific公司提供的驅動中,已經將該USB 口模擬成了一個標準的com 口了。該芯片最高速度可以達到115 200 b/s,極大地方便了普通串行通信與PC機的連通。復位監視與讀寫轉換電路也是一個單片機,不過該單片機只完成兩個功能。一個是就是接收RS 485 總線前的PC 機TXD(RS 232 端的TXD)發出信號,一旦出現PC機發出的全局復位串行代碼后,立即產生一個全局復位信號,將所有單片機進行復位。該功能就是為了防止某個單片機出現故障,一直意外占用總線,導致整個系統癱瘓。

為了實現RS 485 的半雙工通信,必須有一個方向切換控制信號,如圖2所示。在單片機端,這個控制信號很容易獲得,引出一個I/O腳,即可在單片機程序中控制該信號的切換;但是PC機端的RS 485的切換就相對比較麻煩,這也是復位監視與讀寫轉換電路完成的另外一個重要功能:讀寫轉換。如果PC機要占用RS 485總線,則發送一個特定的串行碼,該專用單片機接收并響應該串行碼,切換RS 485控制器,開始占用485總線并發送數據,如果PC機結束發送數據,則要同時發送一個特定的串行碼,通知該專用單片機,進行相應的RS 485切換。單片機及其附屬電路組成了相關的功能電路。

主單片機采用了Silicon公司的8051F020型增強型單片機。該單片機最大的優勢是內部集成的模擬電路功能較為強大、單片機運行速度快、程序編寫-燒寫-仿真較為方便。

3 系統的軟件構成

軟件分為3個部分:PC機上位機程序、單片機通用程序和專用單片機程序。專用單片機的程序運行在復位監視與讀寫轉換電路中,該程序較為簡單,就是在上電后,一直按照約定的波特率和數據格式接收PC機送出的串行數據,若得到的數據符合約定的復位格式,則送出復位信號;若接收到的數據符合總線切換的格式,則送出相應的切換信號。PC 機上位機程序比較復雜,可以根據用戶的實際需要,編寫相關的應用程序。在本文中,采用Delphi編寫了應用程序,實現了對單片機群的參數設置、狀態調整、信息反饋和系統控制。

單片機通用程序分別運行在100多個單片機上,是實現系統功能的基礎。圖3為單片機程序流程圖。

單片機初始化后,接收PC機送來的初始指令,然后開始運行主程序,執行單片機的主功能。同時開放串行接收中斷,一旦接收到PC機發來的指令,就進行對比判斷,如果是PC 機對自己的點名,則響應PC 機的回送指令,開始占用總線,向PC機傳送數據,結束后向PC機發送結束狀態字,結束占用總線,回到主程序,同時等待接收串行數據。

4 結語

經過大量試驗,課題組應用點名式總線控制方式,成功解決了PC機與大量單片機的雙向互通問題,實現了100 多個單片機與主控PC 機之間的互通信,達到了設計要求。電路經過長時間運行,實際情況表明,該系統運行穩定、控制靈活、可靠性高,采用的點名式總線控制方式具有很好的實用價值。

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

    關注

    54

    文章

    8695

    瀏覽量

    149933
  • PC機
    +關注

    關注

    2

    文章

    201

    瀏覽量

    29381
  • 單片機通訊
    +關注

    關注

    0

    文章

    2

    瀏覽量

    2009
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    PC單片機機主從互通的實現

    結束后,通知PC并退出總線控制,PC再逐個往后發送“點名”指令。根據這種思路,搭建了相應的電路,經過不斷的實驗、調試和改進,構建的系統工作穩定、可靠。“點名式”的
    發表于 01-16 09:39 ?5429次閱讀
    <b class='flag-5'>PC</b><b class='flag-5'>機</b>與<b class='flag-5'>單片機</b><b class='flag-5'>多</b>機主從<b class='flag-5'>互通</b>的實現

    基于VB6.0的PC單片機的遠程通信

    簡要介紹了VB6.0中MSComm通信控件的屬性和使用方法,并給出了其在PC單片機遠程通信中的應用。關鍵詞:VB6.0 PC
    發表于 08-15 10:09 ?50次下載

    用組態王實現PC與多臺單片機的遠程通信

    介紹了用組態王6.51 實現PC 單片機遠程串行通信的一種方法,給出了PC
    發表于 09-12 15:29 ?61次下載

    PC單片機之間串口通訊的設計方法

    摘要:通過利用VC實現PC單片機間串行通信方法的探討,給出了通信協議以及用VC和MCS51匯編語言編寫的部分通信程序,經驗證明了程序的
    發表于 08-02 14:34 ?62次下載

    一種PC單片機RS232串口通信設計

    摘要:針對傳統的PC與單片機串口通信會使多個單片機接收無效數據的缺陷。介紹了一種串口通信的方法,在PC與
    發表于 08-18 18:05 ?0次下載

    PCMCS-51單片機間的串行通信設計?

    【摘 要】 主要講解了IBM-PC與MCS-51單片機系統的通信原理,給出了其硬件接口框圖,并詳細地分析了系統的
    發表于 05-16 19:43 ?2045次閱讀
    <b class='flag-5'>PC</b><b class='flag-5'>機</b>與<b class='flag-5'>多</b>MCS-51<b class='flag-5'>單片機</b>間的串行通信設計?

    單片機與遠程PC間建立通信的方法

    介紹一種通過串口服務器在單片機與遠程PC間建立通信的方法,實現的遠程數據采集系統。該系統是應用一款低電壓,高性能的CMOS的8位單片機AT
    發表于 08-24 17:40 ?6689次閱讀
    <b class='flag-5'>單片機</b>與遠程<b class='flag-5'>PC</b><b class='flag-5'>機</b>間建立通信的<b class='flag-5'>方法</b>

    單片機PC串行通信的實現方法

    隨著單片機和微機技術的不斷發展,特別是網絡技術在測控領域的廣泛應用,由PC和多臺單片機構成的
    發表于 05-29 14:21 ?1w次閱讀
    <b class='flag-5'>單片機</b>與<b class='flag-5'>PC</b><b class='flag-5'>機</b>串行通信的實現<b class='flag-5'>方法</b>

    PC單片機通信應用

    本文是關于計算機與單片機的通信實驗的應用。主要包括實驗原理闡述、硬件電路圖、源程序等 目錄: 1、單片機串口通信的應用 2、PC控制單片機IO口輸出 3、
    發表于 08-20 10:33 ?7326次閱讀
    <b class='flag-5'>PC</b><b class='flag-5'>機</b>與<b class='flag-5'>單片機</b>通信應用

    PC 單片機串行通信實現

    介紹了基于 MATLAB 的 PC 與 PIC 系列單片機串行通信的實現方法。串行系統主要由 PC
    發表于 09-03 11:13 ?22次下載
    <b class='flag-5'>PC</b> <b class='flag-5'>機</b>與<b class='flag-5'>單片機</b>串行通信實現

    PC單片機串行通信的一種新方法

    PC單片機串行通信的一種新方法
    發表于 09-04 14:20 ?4次下載
    <b class='flag-5'>PC</b><b class='flag-5'>機</b>與<b class='flag-5'>單片機</b>串行通信的一種新<b class='flag-5'>方法</b>

    PC與MSP430單片機串行通信的實現方法

    PC與MSP430單片機串行通信的實現方法
    發表于 10-13 08:59 ?22次下載
    <b class='flag-5'>PC</b><b class='flag-5'>機</b>與MSP430<b class='flag-5'>單片機</b>串行通信的實現<b class='flag-5'>方法</b>

    通信和單片機pc

    通信和單片機pc
    發表于 11-04 11:38 ?7次下載

    這些單片機按鍵設計方案,拿走

    單片機系統里,按鍵是常見的輸入設備,在本文江介紹幾種按鍵硬件、軟件設計方面的技巧。一般的在按鍵的設計上,一
    的頭像 發表于 12-11 10:55 ?2.5w次閱讀
    <b class='flag-5'>這些</b><b class='flag-5'>單片機</b>按鍵設計方案,<b class='flag-5'>拿走</b><b class='flag-5'>不</b><b class='flag-5'>謝</b>

    PC單片機實時通信的設計與實現

    電子發燒友網站提供《PC單片機實時通信的設計與實現.pdf》資料免費下載
    發表于 10-31 09:55 ?3次下載
    <b class='flag-5'>PC</b><b class='flag-5'>機</b>與<b class='flag-5'>單片機</b><b class='flag-5'>多</b><b class='flag-5'>機</b>實時通信的設計與實現
    主站蜘蛛池模板: 国产精品入口免费视频 | 久久人成 | 最近2018中文字幕免费看手机 | 狠狠色噜噜狠狠狠狠2021天天 | 麻豆色哟哟网站 | 久青草免费视频手机在线观看 | 天天操免费视频 | 爱爱免费视频 | 午夜影院免费观看视频 | 狠狠噜天天噜日日噜 | 久久怡红院国产精品 | 2021成人国产精品 | 丁香八月婷婷 | 中文字幕一区在线 | 欧美午夜影院 | 你懂的网址免费国产 | 色狠狠网| 深夜视频在线播放视频在线观看免费观看 | 色婷婷婷丁香亚洲综合不卡 | 户外露出精品视频国产 | 最近2018免费中文字幕视频 | 女人牲交一级毛片 | 色中色软件 | 骚五月| 天天久久综合 | 在线天堂中文在线网 | 色天天综合色天天碰 | 国产高清一区二区三区四区 | 久久久久久久影院 | 综合网 色天使 | 午夜日韩精品 | 日本x色视频 | 欧美 变态 另类 人妖班 | 四虎永久在线观看视频精品 | 五月天婷婷导航 | 欧美一级特黄aaaaaa在线看首页 | 青青青草国产 | 26uuu另类亚洲欧美日本一 | 亚洲乱亚洲乱妇41p国产成人 | 婷婷综合七月激情啪啪 | 亚洲一区免费在线 |