陳慶旭
(南京國電南自電網(wǎng)自動化有限公司,江蘇 南京 211106)
隨著現(xiàn)代通信技術的發(fā)展,網(wǎng)絡通信已經(jīng)成為了人們?nèi)粘I钪斜夭豢缮俚囊徊糠郑瑸槿藗兊墓ぷ骱蜕顜砹藰O大的便利。但是,當前的網(wǎng)絡通信技術還不夠成熟,存在著一定的缺陷。通過研究嵌入式傳輸控制協(xié)議/網(wǎng)際協(xié)議(Transmission Control Protocol/Internet Protocol,TCP/IP)單片機技術,并將其應用于網(wǎng)絡通信,可以有效解決目前存在的問題[1]。嵌入式TCP/IP 單片機技術可以提高網(wǎng)絡通信效率,保證在進行信息傳輸時不會出現(xiàn)錯誤。
在現(xiàn)代通信技術的發(fā)展中,網(wǎng)絡通信已經(jīng)成為了當前最重要的技術之一。但是,在實際的網(wǎng)絡通信中,還存在著一些問題,例如:進行信息傳輸時,受環(huán)境因素的影響,經(jīng)常會出現(xiàn)錯誤,導致傳輸內(nèi)容出現(xiàn)問題;受網(wǎng)絡環(huán)境的影響,通信質量也受到了一定的限制[2,3]。因此,想要提高網(wǎng)絡通信質量,需要對目前存在的問題進行解決。嵌入式TCP/IP 單片機技術就是一種有效的解決措施。
將嵌入式TCP/IP 單片機技術應用于網(wǎng)絡通信,可以保證數(shù)據(jù)的傳輸不會出現(xiàn)錯誤,并且在實際的網(wǎng)絡通信中能夠與互聯(lián)網(wǎng)進行有效連接,從而實現(xiàn)信息資源共享[4,5]。在進行網(wǎng)絡通信時,主要是將一臺計算機作為中心節(jié)點與另外一臺計算機進行連接。如果這2 臺計算機之間存在著數(shù)據(jù)傳輸問題,就需要使用嵌入式TCP/IP 單片機技術進行解決,如圖1 所示。在進行數(shù)據(jù)傳輸時,可以連接互聯(lián)網(wǎng),從而實現(xiàn)資源共享,并將網(wǎng)絡通信效率提高到一個新的高度。
圖1 TCP/IP 數(shù)據(jù)流封裝過程
網(wǎng)絡通信中嵌入式TCP/IP 單片機技術的硬件結構主要由輸入部分、端口、地址部分以及通信部分組成。在進行設計時,主要是將這些部分進行合理的連接,構成一個完整的硬件系統(tǒng),如圖2 所示。
圖2 嵌入式TCP/IP 單片機技術硬件結構
在進行嵌入式TCP/IP 單片機技術硬件設計時,可以從以下幾個方面入手:首先,要做好系統(tǒng)的初始化工作,對相關參數(shù)進行設置,同時要確保能夠與各個模塊進行通信;其次,完成通信模塊的設計后,要對其進行檢查和優(yōu)化,確保能夠與其他模塊實現(xiàn)通信,并將上位機和網(wǎng)絡連接起來,實現(xiàn)信息共享;再次,進行通信過程中,需要有效解決地址問題,當單片機內(nèi)部沒有對應的地址時,可以將地址線與串行口相連,從而實現(xiàn)地址的轉換;最后,在設計中要合理利用TCP/IP 的協(xié)議棧,在對網(wǎng)絡通信中嵌入式TCP/IP 單片機技術進行硬件設計時,應該將其與TCP/IP 協(xié)議棧結合起來,只有這樣才能夠將硬件設計得更加完善[6,7]。
一般情況下,可以將TCP/IP協(xié)議棧分為3個模塊,即應用層、網(wǎng)絡層以及數(shù)據(jù)鏈路層。具體模塊內(nèi)容如圖3 所示。
圖3 TCP/IP 協(xié)議棧模塊
這3個模塊中,每一個模塊都有不同的作用。首先,應用層能夠實現(xiàn)數(shù)據(jù)鏈路層和網(wǎng)絡層之間的連接。在網(wǎng)絡接口中使用的協(xié)議類型很多,可以通過TCP/IP將數(shù)據(jù)傳輸?shù)絀nternet 網(wǎng)絡。其次,網(wǎng)絡層負責在硬件系統(tǒng)中連接并分配TCP/IP 協(xié)議棧。最后,數(shù)據(jù)鏈路層則負責將應用層和網(wǎng)絡層連接起來。由于在網(wǎng)絡通信中采用的是TCP/IP 協(xié)議棧,也可以將其稱為以太網(wǎng)通信協(xié)議棧。
在進行嵌入式TCP/IP 單片機技術的軟件設計時,要根據(jù)具體情況選擇合理的編程語言,確保其能夠高效、快捷地進行程序設計。其中,對于程序語言的選擇主要是以C 語言為主,結合其他的編程語言對其進行優(yōu)化、組合,最終實現(xiàn)軟件系統(tǒng)的編制。其中,C 語言具有易理解性、可讀性強等優(yōu)點,可以將其作為嵌入式TCP/IP 單片機技術的編程語言。
在進行軟件設計時,主要是以VB 語言為編程語言進行編程。VB 是一種基于面向對象技術的高級程序設計語言在編程時需要根據(jù)實際情況選擇合適的編程語言,只有這樣才能提高軟件系統(tǒng)的質量和效率。其中,對于VB 程序設計模式主要有2 種,分別是模板模式和對象模式。在進行軟件開發(fā)時,要根據(jù)實際情況選擇合適的編程方式[8-10]。
在對嵌入式TCP/IP 單片機技術進行程序設計時,主要是以C++為開發(fā)工具進行編程。其中,C++作為一種通用編程語言,其應用非常廣泛,有著強大的功能。
應用程序的設計是嵌入式TCP/IP 單片機技術研究的關鍵。在應用程序中,通常會對數(shù)據(jù)信息進行處理和傳輸。將數(shù)據(jù)信息發(fā)送到用戶端時,需要經(jīng)過2次傳輸,一次是將數(shù)據(jù)信息發(fā)送給服務器,另一次是將數(shù)據(jù)信息發(fā)送到用戶端[11]。在發(fā)送數(shù)據(jù)過程中存在著一定的問題,特別是在發(fā)送長數(shù)據(jù)時,如果沒有做好相關處理就進行傳輸,那么會造成系統(tǒng)資源浪費。嵌入式TCP/IP單片機技術在進行數(shù)據(jù)信息發(fā)送時,在網(wǎng)絡中會有一定的延時。在實際的通信過程中,由于存在一定的誤碼和中斷現(xiàn)象,會使數(shù)據(jù)信息傳輸失敗??梢詫⑶度胧絋CP/IP 單片機技術應用于數(shù)據(jù)信息傳輸過程,并且在進行數(shù)據(jù)信息發(fā)送時,可以采用短消息方式進行傳遞,從而有效避免誤碼和中斷現(xiàn)象出現(xiàn)。
基于嵌入式TCP/IP 單片機技術應用程序,需要建立協(xié)議棧,從而實現(xiàn)網(wǎng)絡通信功能。網(wǎng)絡協(xié)議棧中主要包括3個層次,即應用層、傳輸層和鏈路層。其中,應用層是主要的層次之一。在進行嵌入式TCP/IP 單片機技術應用程序的設計時,可以先將上層進行劃分,然后根據(jù)具體情況選擇適合的應用程序。在具體設計時需要根據(jù)嵌入式 TCP/IP 單片機技術的應用情況進行分析,制定出相應的解決方案,如表1 所示。
表1 嵌入式TCP/IP 網(wǎng)絡協(xié)議棧設計
嵌入式TCP/IP 單片機技術的應用程序在網(wǎng)絡通信中應用時,需要采集數(shù)據(jù)信息,通常是從終端設備通過網(wǎng)絡發(fā)送到服務器。在進行傳輸時,通常使用串行通信方式,通過通信模塊將數(shù)據(jù)信息封裝成TCP/IP 協(xié)議包,然后通過網(wǎng)絡傳輸至服務器。
一般的應用程序中,如果需要對網(wǎng)絡中的數(shù)據(jù)進行處理和傳輸,則需要將所有的協(xié)議棧都包含在內(nèi),再進行相關的處理和傳輸。通過對嵌入式TCP/IP 單片機技術應用程序的研究可以發(fā)現(xiàn),在實際工作中,通常采用網(wǎng)絡傳輸方式[12]。
應用嵌入式TCP/IP 單片機技術時,需要對網(wǎng)絡中的數(shù)據(jù)進行處理,然后將數(shù)據(jù)發(fā)送到用戶端。在對遠程數(shù)據(jù)進行處理時,需要先建立起通信模塊,然后將其發(fā)送到服務器。在完成發(fā)送后,還需要對數(shù)據(jù)的真實性進行檢查。在傳輸數(shù)據(jù)時,通常采用TCP 傳輸方式[13,14]。但在實際應用中,如果采用TCP 傳輸,在進行信息傳輸時會出現(xiàn)一定的延時,影響系統(tǒng)性能。因此,通過對嵌入式TCP/IP 單片機技術的研究可以發(fā)現(xiàn),將其應用于實際工作中不僅可行而且有效。
TCP/IP 的層次特性決定每個協(xié)議層都有自己的數(shù)據(jù)格式,如IP 數(shù)據(jù)包、TCP 數(shù)據(jù)包和用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol,UDP)數(shù)據(jù)包等,這些數(shù)據(jù)信息在網(wǎng)絡傳輸中需要不斷地打包與解包。在嵌入式TCP/IP單片機技術中,數(shù)據(jù)包放在確定的存儲區(qū),協(xié)議棧層次傳遞數(shù)據(jù),在數(shù)據(jù)最終被用戶取走或發(fā)送出去時,實現(xiàn)數(shù)據(jù)的轉移。將嵌入式TCP/IP 連入網(wǎng)前,需要將芯片復位,并通過串口對芯片進行操作,使其可以正常通信。在進行數(shù)據(jù)傳輸時,嵌入式TCP/IP單片機技術可以對數(shù)據(jù)進行提取和傳輸,從而有效完成數(shù)據(jù)的傳輸任務,同時在進行數(shù)據(jù)傳輸過程中,可以對其進行打包和解包。
為確保網(wǎng)絡通信系統(tǒng)中的嵌入式TCP/IP 單片機技術能夠正常運行,需要對嵌入式TCP/IP 單片機技術的通信協(xié)議進行測試。在應用程序中調用函數(shù)“sendtuleUser”,然后在函數(shù)“connection”中設置字符串,將字符串的長度設置為指定的數(shù)值,如果字符串的長度超過了指定的數(shù)值,那么會直接進入數(shù)據(jù)處理模塊。
網(wǎng)絡通信中,嵌入式TCP/IP 單片機技術是一項比較成熟的技術,具有重要的作用。該技術可以提高數(shù)據(jù)傳輸質量,降低數(shù)據(jù)傳輸錯誤率,給人們的日常生活帶來了極大便利。因此,要不斷加強對該技術的研究和開發(fā),使其能夠應用于更多領域。