劉桂華
【摘要】隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,網(wǎng)絡(luò)通信技術(shù)已經(jīng)應(yīng)用到人們工作和生活的各個里領(lǐng)域,通信與人們的生活息息相關(guān),通信功能的完善至關(guān)重要。本文簡要探討了單片機多機通信系統(tǒng)的網(wǎng)絡(luò)拓撲設(shè)計和多機通信協(xié)議,以實現(xiàn)客戶機與服務(wù)機以及客戶機之間的通信。
【關(guān)鍵詞】單片機;多機通信;協(xié)議;設(shè)計
1系統(tǒng)網(wǎng)絡(luò)拓撲設(shè)計
服務(wù)機是整個單片機多機通信網(wǎng)絡(luò)系統(tǒng)中的主體,其能夠?qū)崿F(xiàn)網(wǎng)絡(luò)資源的有效分配。在單片機網(wǎng)絡(luò)協(xié)議中,服務(wù)端能夠根據(jù)不同客戶機的具體需要向每一個客戶端發(fā)送相關(guān)數(shù)據(jù)。單片機多機通信網(wǎng)絡(luò)系統(tǒng)一般采用總線型的網(wǎng)絡(luò)拓撲結(jié)構(gòu),基于總線型網(wǎng)絡(luò)拓撲結(jié)構(gòu),單片機多機通信都是以基帶的形式進行信息的傳遞和傳輸,在拓撲結(jié)構(gòu)中的每一個節(jié)點都能夠進行信息的接收和發(fā)送,具體來說,接收器的主要功能是接收信息并將信息以基帶的形式傳送給服務(wù)機,發(fā)送器的主要功能是根據(jù)服務(wù)機指令向拓撲網(wǎng)絡(luò)結(jié)構(gòu)中的極端發(fā)送數(shù)據(jù)?;谶@個特點,總線型的拓撲結(jié)構(gòu)所使用電纜長度較小,但其中的總線負載能力較強,這就對總線的長度以及其連接節(jié)點的數(shù)量提出了要求[1]。
服務(wù)機在進行數(shù)據(jù)傳輸發(fā)送的時候要詢問客戶機,之后按照設(shè)計的網(wǎng)絡(luò)協(xié)議進入到整個拓撲結(jié)構(gòu)電路中,當?shù)谝粋€客戶機接收到數(shù)據(jù)時,服務(wù)機會進行詢問,客戶機選擇“是”,則此客戶機需要數(shù)據(jù)接收,如果此客戶機選擇“否”,則服務(wù)機依此進行下一臺客戶機的詢問,從而保證數(shù)據(jù)最終被接受并使用。為了保證數(shù)據(jù)的接受和使用,在網(wǎng)絡(luò)拓撲結(jié)構(gòu)中客戶機發(fā)送的數(shù)據(jù)對于其他機器來說都是可見的,以此來保證信號的可靠性。
2通信協(xié)議設(shè)計
網(wǎng)絡(luò)通信協(xié)議的設(shè)計是實現(xiàn)單片機多機通信的基礎(chǔ),通信協(xié)議即是在計算機網(wǎng)絡(luò)中,單片機之間進行數(shù)據(jù)交換的規(guī)則,為了實現(xiàn)正常通信,每一個終端都要對各自字符集中的字符進行變換,變?yōu)闃藴首址蟛拍軌蜻M入到網(wǎng)絡(luò)中,進而進行傳輸和傳送,在傳送到目的終端之后,在將標準字符轉(zhuǎn)換為目的終端字符集中的字符。對于單片機多機通信來說,其主要是多臺通信機來公用一臺服務(wù)機,TCP/IP是互聯(lián)網(wǎng)的基礎(chǔ)協(xié)議,互聯(lián)網(wǎng)中的操作都離不開TCP/IP協(xié)議,單片多機通信的系統(tǒng)服務(wù)對象是多個用戶,因此,為了實現(xiàn)單片機多機通信,就要對網(wǎng)絡(luò)協(xié)議的中的IP地質(zhì)、子網(wǎng)掩碼、DNS服務(wù)器等參數(shù)進行詳細的設(shè)置。這樣通信系統(tǒng)的服務(wù)端就能夠根據(jù)用戶數(shù)據(jù)內(nèi)容進行判斷,并根據(jù)協(xié)議進行數(shù)據(jù)的發(fā)送,接收端會根據(jù)TCP/IP網(wǎng)絡(luò)協(xié)議進行數(shù)據(jù)的接受,這樣一來則服務(wù)端與接收端的通信完成。服務(wù)端在進行數(shù)據(jù)發(fā)送的時候會詢問客戶端,客戶端需要根據(jù)通信協(xié)議進行回復(fù),如果如果沒有回復(fù)則進行二次詢問,如果第一次詢問無應(yīng)答,則會繞過此客戶端,將數(shù)據(jù)發(fā)送到下一個客戶端,通過依此根據(jù)通信協(xié)議的詢問,最終實現(xiàn)客戶端接收數(shù)據(jù),如果沒有一個客戶端符合通信協(xié)議,那么數(shù)據(jù)則會顯示發(fā)送失敗,進而原路返回,回到服務(wù)端。
在通信協(xié)議的設(shè)計中,每一個詢問數(shù)據(jù)包都會請求客戶機的確認,如果客戶機沒有對詢問數(shù)據(jù)包進行確認,則進行重發(fā),超過兩次詢問數(shù)據(jù)包發(fā)送客戶機沒有確認則認為發(fā)送失敗或?qū)Ψ讲豢伤瓦_。被詢問的客戶機在數(shù)據(jù)發(fā)送的過程中,如果結(jié)構(gòu)中總線空閑,服務(wù)機可以將時間片進行分配使用,如果在時間片內(nèi)客戶機沒有發(fā)送完成相關(guān)數(shù)據(jù),則服務(wù)機進行強行回收總線使用和時間片,如果客戶機發(fā)送成功,客戶機要發(fā)送結(jié)束數(shù)據(jù)包,并將總線的使用權(quán)歸還。
3電路設(shè)計
3.1網(wǎng)絡(luò)接口電路功能
網(wǎng)絡(luò)接口電路的功能主要有以下幾個方面:①實現(xiàn)各個端口之間的同構(gòu),實現(xiàn)對交叉線的使用;②能夠為網(wǎng)絡(luò)通信提供網(wǎng)絡(luò)狀態(tài)的相關(guān)信號;③能夠接收相關(guān)數(shù)據(jù)元,并將所接收到的數(shù)據(jù)元提交或?qū)?shù)據(jù)元轉(zhuǎn)發(fā)到其他的端口上去;④網(wǎng)絡(luò)接口電路采用的是多端口機制,這樣多個端口之間就能夠?qū)崿F(xiàn)信息及數(shù)據(jù)的相互轉(zhuǎn)發(fā)。
3.2網(wǎng)絡(luò)接口電路設(shè)計
網(wǎng)絡(luò)接口電路是單片機多機通信系統(tǒng)中的重要組成部分,其是客戶機與服務(wù)機實現(xiàn)通信的橋梁,是通信協(xié)議產(chǎn)生作用的橋梁。單片機的多機通信中,網(wǎng)絡(luò)接口電路中的數(shù)據(jù)接發(fā)工作主要有多片芯片工程來完成,其中每一個芯片都與一個客戶機端口互相對應(yīng),一旦電路中出現(xiàn)信號,則芯片則會進行信號的接收和發(fā)送工作,實現(xiàn)信號向單片機的傳遞,而芯片在沒有進行工作的時候,單片機多機通信系統(tǒng)中的第一號電路會與第二號電路相互連接,從而實現(xiàn)在芯片不工作的情況下的數(shù)據(jù)傳輸,而網(wǎng)絡(luò)接口電路中信號增強則代表著數(shù)據(jù)的接收成功。在單片機多機通信中,客戶機與服務(wù)機之間的網(wǎng)絡(luò)接口電路的穩(wěn)定性與通信的連續(xù)性息息相關(guān),單片機多機通信系統(tǒng)中的客戶機往往不需要對網(wǎng)絡(luò)接口電路進行控制,只需要依照網(wǎng)絡(luò)通信協(xié)議所發(fā)送的相關(guān)IP地址進行選擇即可,而對于服務(wù)機來說,服務(wù)機也不需要根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)對電路進行選擇,這就大大減少了多機通信系統(tǒng)的通信負擔(dān),提升了通信效率[2]。
3.3客戶機與服務(wù)機電路設(shè)計
單片機多機通信中,共有兩種客戶機和服務(wù)機電路,將服務(wù)機電路與客戶機電路整合到同一個電路板中,就能夠共同表現(xiàn)兩種電路??蛻舳瞬恍枰獙﹄娐愤M行控制,但要獲取電路地址,并進行編址。對于服務(wù)機來說,不需要對電路進行編址,其地址同一固定,因此不需要獲取電路。但服務(wù)機承擔(dān)著多機通信網(wǎng)絡(luò)的監(jiān)管和輪詢功能。
參考文獻
[1]沈一凡.一種單片機多機通信系統(tǒng)的設(shè)計[J]. 硅谷,2014,22:28+32.
[2]朱小超,徐雪春.基于Modbus協(xié)議的上位機與單片機通信的實現(xiàn)與仿真[J].儀表技術(shù)與傳感器,2011,06:65-68.