當前位置:首頁 > 單片機 > 單片機
[導讀]融合單片機技術(shù)和計算機網(wǎng)絡技術(shù),優(yōu)化數(shù)據(jù)包的格式和控制方式以及引入幀檢測序列,設計基于AT89S52的單片機網(wǎng)絡的單片機多機通信協(xié)議;系統(tǒng)網(wǎng)絡拓撲結(jié)構(gòu)采用總線型

摘要: 融合單片機技術(shù)和計算機網(wǎng)絡技術(shù),優(yōu)化數(shù)據(jù)包的格式和控制方式以及引入幀檢測序列,設計基于AT89S52的單片機網(wǎng)絡的單片機多機通信協(xié)議;系統(tǒng)網(wǎng)絡拓撲結(jié)構(gòu)采用總線型;網(wǎng)絡接口電路采用端口轉(zhuǎn)發(fā)的形式等進行單片機多機通信系統(tǒng)的設計,系統(tǒng)易于擴展且提高了穩(wěn)定性。結(jié)果表明,此系統(tǒng)設計解決了8位單片機多機通信的問題,實現(xiàn)了客戶機與服戶機間的通信,以及客戶機與客戶機間的通信。
關(guān)鍵字:單片機;通信協(xié)議;數(shù)據(jù)包;幀;網(wǎng)絡接口

Abstract:By combining the technology of Single-chip Microcomputers and networks, optimizing the pattern and the controlling model of data packets, and introducing frame checking sequences, a protocol of multi-computer communication among Single-chip Microcomputers of  the networks based on “AT89S52” is designed. A bus model is adopted by the networks topological structure of the system. To design the system of multi-computer communication among Single-chip Microcomputers, A port transmitting form is adopted by the networks interface circuit. The system is prone to be expanded and the stability of it is advanced. Results indicate that the design makes the problem of multi-computer communication among 8-bit Single-chip Microcomputers work out easily, realizes the communication between a client computer and its server, and realizes the interactive communication among the clients as well.

Keywords: Single-chip Computer;communication protocol; data packet; frame; network interface

 

1  引言

隨著單片機和計算機技術(shù)的不斷發(fā)展,單片機的應用也從獨立的單機向網(wǎng)絡發(fā)展,由計算機和單片機構(gòu)成的多機網(wǎng)絡系統(tǒng)已成為單片機技術(shù)發(fā)展的一個方向。二者的結(jié)合,充分發(fā)揮了單片機在實時數(shù)據(jù)采集和數(shù)據(jù)管理上的優(yōu)點。單片機在計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸、工業(yè)自動化過程的實時控制和數(shù)據(jù)處理等都有廣泛地應用,已滲透到我們生活的各個領域。許多應用都涉及到單片機多機通信。然而,單片機對網(wǎng)絡數(shù)據(jù)的處理方式不同于通用計算機系統(tǒng),尤其是有的單片機只提供8位的數(shù)據(jù)收發(fā)接口,這在一定程度上阻礙了單片機在網(wǎng)絡方面的應用。因此,采用單片機技術(shù)與計算機網(wǎng)絡技術(shù)相結(jié)合的辦法,對單片機多機通信系統(tǒng)進行研究,在設計單片機網(wǎng)絡的通信協(xié)議的基礎上,系統(tǒng)網(wǎng)絡拓撲結(jié)構(gòu)采用總線型,網(wǎng)絡接口電路采用端口轉(zhuǎn)發(fā)的形式,實現(xiàn)了8位單片機多機通信。

2  系統(tǒng)網(wǎng)絡協(xié)議設計

擬定網(wǎng)絡容量為1臺服務機和62臺客戶機,客戶機之間可以相互通信??蛻魴C和服務機之間也可以相互通信。設計的協(xié)議參考了停止等待協(xié)議,數(shù)據(jù)包參考了IP數(shù)據(jù)包而設計。       經(jīng)過綜合分析和優(yōu)化處理,制定如下單片機多機通信協(xié)議。

(1)服務機協(xié)議

①服務機按1/384的間隔發(fā)送詢問數(shù)據(jù)包;

②將當前詢問地址加1,判斷,如果大于63則置當前詢問地址為1,如果小于1則置當前詢問地址為62,轉(zhuǎn)下一步;

③向當前詢問地址機器發(fā)送一詢問數(shù)據(jù)包;

④等待一個發(fā)送間隔時間;

⑤如果沒有收到確認包則轉(zhuǎn)到將當前數(shù)據(jù)包重發(fā),重發(fā)計數(shù)器加1,計數(shù)器大于2則轉(zhuǎn)向⑥;如果收到確認包轉(zhuǎn)到⑦;

⑥設置發(fā)送失敗標記,重發(fā)計數(shù)器清0,轉(zhuǎn)到②;

⑦設置發(fā)送成功標記,重發(fā)計數(shù)器清0,轉(zhuǎn)到⑧;

⑧查看被詢問客戶機是否有數(shù)據(jù)要發(fā)送,有則分配總線使用權(quán)和時間片,轉(zhuǎn)到⑨,否則轉(zhuǎn)到②;

⑨等待被詢問客戶機的發(fā)送結(jié)束數(shù)據(jù)包,如果收到轉(zhuǎn)到②。在一個時間片(1/384s)內(nèi),沒有收到,視為超時。服務機收回總線使用權(quán),轉(zhuǎn)到②。

(2)客戶機協(xié)議

①接收屬于本機的數(shù)據(jù)包;

②如果是詢問數(shù)據(jù)包,檢查本機是否有數(shù)據(jù)要發(fā)送,如果有,則發(fā)送“有數(shù)據(jù)發(fā)送信息”到服務機,并捎帶確認轉(zhuǎn)到③,否則發(fā)送“沒有數(shù)據(jù)發(fā)送信息”到服務機,并捎帶確認,轉(zhuǎn)到①;其它類型數(shù)據(jù)包不處理,轉(zhuǎn)到①;

③等待網(wǎng)絡資源分配數(shù)據(jù)包,收到則發(fā)送確認包,轉(zhuǎn)到⑤;超時,停止等待轉(zhuǎn)到①;

④等待上一數(shù)據(jù)包的確認,收到則轉(zhuǎn)到⑤,否則轉(zhuǎn)到⑦;

⑤檢查是否還有數(shù)據(jù)要發(fā)送,有則發(fā)送數(shù)據(jù)包轉(zhuǎn)到⑥;否則發(fā)送“結(jié)束發(fā)送信息”到服務機,轉(zhuǎn)到①。

⑥檢查是否超時,如果超時結(jié)束發(fā)送轉(zhuǎn)到①,否則轉(zhuǎn)到④。

⑦重發(fā),是否超過兩次,是則當前發(fā)送失敗,轉(zhuǎn)到⑤,否則轉(zhuǎn)到④。

因此,每發(fā)一數(shù)據(jù)包都會請求對方的確認,如果沒有確認,則會再重發(fā)一次,超過兩次則被視為對方不可達,發(fā)送失?。徊⑶以诒辉儐柨蛻魴C有數(shù)據(jù)發(fā)送時,如果總線空閑,服務機將分配其使用時間片,在這個時間片內(nèi),如果數(shù)據(jù)未發(fā)送完成,服務機將強行收回。能發(fā)送完成,客戶機要發(fā)送結(jié)束數(shù)據(jù)包,歸還總線使用權(quán)。

3  系統(tǒng)網(wǎng)絡拓撲設計

選用總線型網(wǎng)絡拓撲結(jié)構(gòu),各站直接連在總線上,由服務機統(tǒng)一管理網(wǎng)絡總線,分配網(wǎng)絡資源。使用類似于令牌總線網(wǎng)的協(xié)議,由服務機輪詢每一客戶機是否有數(shù)據(jù)發(fā)送,如果有分配發(fā)送時間,移交總線使用權(quán),否則詢問下一客戶機;其中接口電路會將所接收到信號中繼,并轉(zhuǎn)發(fā)。因此網(wǎng)絡中任意一臺機器所發(fā)送的數(shù)據(jù)對其它機器都是可見的,并且在一定程度上保證了信號的可靠性。

系統(tǒng)網(wǎng)絡拓撲設計如下圖所示:

   圖1系統(tǒng)網(wǎng)絡拓撲設計

 

4  網(wǎng)絡接口電路的功能與設計

(1)網(wǎng)絡接口電路的功能

網(wǎng)絡接口電路完成的主要功能如下:①完成網(wǎng)絡數(shù)據(jù)元的接收;②對接收到的數(shù)據(jù)元轉(zhuǎn)發(fā)給其它端口;③多端口機制,端口間相互轉(zhuǎn)發(fā);④提交收到的數(shù)據(jù)元;⑤中繼收到的數(shù)據(jù)元;⑥提供網(wǎng)絡狀態(tài)信號;⑦各端口之間同構(gòu),使用交叉線。

(2)網(wǎng)絡接口電路的設計

為實現(xiàn)上述功能要求,網(wǎng)絡接口電路設計時一共采用了四片74HC245芯片,共同承擔數(shù)據(jù)的收發(fā)工作,其中每一塊芯片對應一個端口。在外表現(xiàn)為三個端口,這是因為有一個端口被本機占用,電路已布置在線路板上。各端口之間用交叉線連接,當檢測到收線上有信號時,芯片開始啟動工作,將信號分成三路中繼出來,一路發(fā)給單片機,其它兩種發(fā)給另外的兩個端口。在收方的收收線上如果檢測到同樣的信號,則進行同樣的操作。當單片機向外界發(fā)送數(shù)據(jù)時,就啟動對應于單片機收發(fā)端口上的芯片,將信號中繼后發(fā)送給另外的三個端口,并隨時檢測收線信號的變化,一旦檢測到電平信號由高倒低的變化一次,即說明有數(shù)據(jù)需要接收,接收完后將產(chǎn)生一中斷信號,啟動處理程序進行處理。

網(wǎng)絡接口電路中設計了網(wǎng)絡狀態(tài)信號BUS,當各芯片都沒有工作時,表示網(wǎng)絡中沒有數(shù)據(jù)傳輸,這時BUS經(jīng)非門電路取反變成低電平,與單片機二號中斷引腳相連,單片機可以通過這一引腳撐握網(wǎng)絡狀態(tài),實現(xiàn)數(shù)據(jù)包的發(fā)送。

網(wǎng)絡接口電路中還設計了指標信號,當收到數(shù)據(jù)時信號便置高,這時接在信號上的LED發(fā)光管將會發(fā)光,以表示收到數(shù)據(jù)。

5   客戶機與服務機電路設計

系統(tǒng)中有客戶機和服務機兩種不同的電路。將客戶機電路和服務機電路整合在一個電路板上,即兩種電路用同一塊電路板表現(xiàn)出來。

對于客戶機,客戶不需要部門控制電路,但其需要編址,故需要地址獲取電路。

對于服務機,它不需要編址,統(tǒng)一固定為65這一地址,故不需要地址獲取這一部分電路。服務機擔負著整個網(wǎng)絡的監(jiān)管與輪詢工作。

其它電路客戶機與服務機均同構(gòu),所以不需要做任何修改。

電路板上,采取不插器件的方式實現(xiàn)兩種不同構(gòu)的電路在同一電路板上實現(xiàn),大大地壓縮開發(fā)成本。

6  系統(tǒng)功能模塊圖

(1) 系統(tǒng)功能:

服務器部分

① 完成網(wǎng)絡的輪詢,每隔一定時間向網(wǎng)絡中的機器發(fā)出詢問數(shù)據(jù)包。

② 讀取ADC數(shù)據(jù),顯示當前環(huán)境溫度

③ 控制一個調(diào)風閥,顯示電機角度數(shù)據(jù)

④ 掃描鍵盤,提供按鍵控制

⑤ 從網(wǎng)絡中收集調(diào)風閥信息,智能控制風機的開啟

⑥ 控制本實驗室照明電路的開、關(guān)

⑦ 能夠接管網(wǎng)絡中任意一臺客戶機

客戶機部分

① 接收服務機的輪詢,發(fā)送確認數(shù)據(jù)包

② 讀取ADC數(shù)據(jù),顯示當前環(huán)境溫度

③ 控制一個調(diào)風閥,顯示電機角度數(shù)據(jù)

④ 掃描鍵盤,提供按鍵控制

⑤ 讀取本機地址

⑥ 接收來自服務器的管理操作

(2)功能劃分:

軟件系統(tǒng)采用模塊化的方式,每個設備編寫一個驅(qū)動程序。驅(qū)動程序負責驅(qū)動其所控制的設備。并向其它程序提供接口,方便其它程序調(diào)用,控制設備。

各個驅(qū)動功能劃分如下:

① 數(shù)碼管驅(qū)動程序:驅(qū)動數(shù)據(jù)管顯示,按指定方式顯示數(shù)據(jù)。

② 鍵盤驅(qū)動程序:動態(tài)掃描鍵盤,判別按鍵,并避開電路毛刺。

③ 蜂鳴器驅(qū)動程序:驅(qū)動蜂鳴器安指定方式發(fā)聲。

④ ADC驅(qū)動程序:讀取模數(shù)轉(zhuǎn)換器數(shù)據(jù),并轉(zhuǎn)換為溫度數(shù)值。

⑤ 串口驅(qū)動程序:收發(fā)數(shù)據(jù)包,過濾非本機數(shù)據(jù)包

其中還有一個輪詢模塊,它在時鐘的驅(qū)動下按一定間隔時間向網(wǎng)絡中各臺客戶機發(fā)送詢問數(shù)據(jù)包。如果兩次沒有收到回應,則視發(fā)送數(shù)據(jù)包失敗。并能夠向被接管的客戶機發(fā)送管理數(shù)據(jù)包。同樣也需要確認,超過兩次則視為失敗。

系統(tǒng)功能模塊圖如圖2所示。


圖2 系統(tǒng)功能模塊圖

由圖可知,所有的驅(qū)動程序都掛靠在時鐘中斷上,由時鐘中斷按一定的頻率調(diào)用這些驅(qū)動程序。

7 小結(jié)

    系統(tǒng)設計了一個基于網(wǎng)絡控制和管理的控制系統(tǒng)。它將計算機機網(wǎng)絡技術(shù)和單片機技術(shù)進行融合,網(wǎng)絡協(xié)議設計參考計算機網(wǎng)絡中的停止等待協(xié)議和TCP/IP協(xié)議,但為了更好的適應于單片機處理,優(yōu)化了數(shù)據(jù)包的格式和控制方式,大大提高了處理速度和效率。同時,引入幀檢測序列,提供數(shù)據(jù)包的檢測機制,提高了網(wǎng)絡的可靠性。系統(tǒng)網(wǎng)絡拓撲結(jié)構(gòu)采用總線型,網(wǎng)絡接口電路采用端口轉(zhuǎn)發(fā)的形式,便于擴展且提高了穩(wěn)定性。此系統(tǒng)設計功能齊全可以通過服務器控制整個網(wǎng)絡的所有客戶機,監(jiān)視所有客戶機運行情況;系統(tǒng)操作簡單,具有一定的經(jīng)濟意義和實用價值。

參考文獻

[1] (美)Christa Anderson.Mark Minasi.Mastering Local Area Networks [M] .出版社Sybex ,1999.

[2]  江曉安.董秀峰.模擬電子技術(shù)[M].西安電子科技大學出版社,2002.

[3]  張永瑞.楊林耀.張雅蘭.電路分析基礎[M].西安電子科技大學出版社,2001.

[4]  Barry B.Brey.Programming the 80286,80386,80486,and Pentium-Based Personal Computer[M].電子工業(yè)出版社,1998.

[5]  湯子瀛.哲風屏.湯小丹.計算機操作系統(tǒng)[M].西安電子科技大學出版社,1996.

[6]  江曉安.董秀峰.楊頌華.數(shù)字電子技術(shù)[M].西安電子科技大學出版社,2002.

[7]  周明德.微型計算機系統(tǒng)原理及應用[M].清華大學出版社,1998.

[8]  林雪梅.彭佳紅.姚志成.單片機多機通信協(xié)議的設計[J] .微計算機信息,2006.2-2:24-26

[9]  張魯國.智能卡操作系統(tǒng)中存儲管理設計[J] .微計算機信息,2005,8-3:18-19

本站聲明: 本文章由作者或相關(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è)務引領增長 以科技創(chuà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)閉