當前位置:首頁 > 電源 > 數(shù)字電源
[導讀]為了實現(xiàn)PC機與多個單片機的互相通信,特別是多個單片機都需要向PC機傳輸數(shù)據(jù)時,課題組采用“點名式”的總線控制方式。單片機在得到PC機發(fā)送的“點名”指令后,開始控制總線,向PC機傳輸數(shù)據(jù)。傳輸數(shù)據(jù)結(jié)束后,通知PC機并退出總線控制,PC機再逐個往后發(fā)送“點名”指令。根據(jù)這種思路,搭建了相應的電路,經(jīng)過不斷的實驗、調(diào)試和改進,構(gòu)建的系統(tǒng)工作穩(wěn)定、可靠。“點名式”的多機互通方式非常適合于需要多單片機向PC機傳送數(shù)據(jù)的場合,具有較高的實用價值。

0 引言

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

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

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

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

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

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

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

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

1 互通信的幾種實現(xiàn)方法

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

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

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

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

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

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

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

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

2 系統(tǒng)的硬件構(gòu)成

根據(jù)系統(tǒng)的總體要求,構(gòu)建了如圖1所示的硬件平臺。

 

 

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

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

 

 

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

3 系統(tǒng)的軟件構(gòu)成

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

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

 

 

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

4 結(jié)語

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

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉