陳慶旭
(南京國(guó)電南自電網(wǎng)自動(dòng)化有限公司,江蘇 南京 211106)
隨著現(xiàn)代通信技術(shù)的發(fā)展,網(wǎng)絡(luò)通信已經(jīng)成為了人們?nèi)粘I钪斜夭豢缮俚囊徊糠郑瑸槿藗兊墓ぷ骱蜕顜?lái)了極大的便利。但是,當(dāng)前的網(wǎng)絡(luò)通信技術(shù)還不夠成熟,存在著一定的缺陷。通過(guò)研究嵌入式傳輸控制協(xié)議/網(wǎng)際協(xié)議(Transmission Control Protocol/Internet Protocol,TCP/IP)單片機(jī)技術(shù),并將其應(yīng)用于網(wǎng)絡(luò)通信,可以有效解決目前存在的問(wèn)題[1]。嵌入式TCP/IP 單片機(jī)技術(shù)可以提高網(wǎng)絡(luò)通信效率,保證在進(jìn)行信息傳輸時(shí)不會(huì)出現(xiàn)錯(cuò)誤。
在現(xiàn)代通信技術(shù)的發(fā)展中,網(wǎng)絡(luò)通信已經(jīng)成為了當(dāng)前最重要的技術(shù)之一。但是,在實(shí)際的網(wǎng)絡(luò)通信中,還存在著一些問(wèn)題,例如:進(jìn)行信息傳輸時(shí),受環(huán)境因素的影響,經(jīng)常會(huì)出現(xiàn)錯(cuò)誤,導(dǎo)致傳輸內(nèi)容出現(xiàn)問(wèn)題;受網(wǎng)絡(luò)環(huán)境的影響,通信質(zhì)量也受到了一定的限制[2,3]。因此,想要提高網(wǎng)絡(luò)通信質(zhì)量,需要對(duì)目前存在的問(wèn)題進(jìn)行解決。嵌入式TCP/IP 單片機(jī)技術(shù)就是一種有效的解決措施。
將嵌入式TCP/IP 單片機(jī)技術(shù)應(yīng)用于網(wǎng)絡(luò)通信,可以保證數(shù)據(jù)的傳輸不會(huì)出現(xiàn)錯(cuò)誤,并且在實(shí)際的網(wǎng)絡(luò)通信中能夠與互聯(lián)網(wǎng)進(jìn)行有效連接,從而實(shí)現(xiàn)信息資源共享[4,5]。在進(jìn)行網(wǎng)絡(luò)通信時(shí),主要是將一臺(tái)計(jì)算機(jī)作為中心節(jié)點(diǎn)與另外一臺(tái)計(jì)算機(jī)進(jìn)行連接。如果這2 臺(tái)計(jì)算機(jī)之間存在著數(shù)據(jù)傳輸問(wèn)題,就需要使用嵌入式TCP/IP 單片機(jī)技術(shù)進(jìn)行解決,如圖1 所示。在進(jìn)行數(shù)據(jù)傳輸時(shí),可以連接互聯(lián)網(wǎng),從而實(shí)現(xiàn)資源共享,并將網(wǎng)絡(luò)通信效率提高到一個(gè)新的高度。

圖1 TCP/IP 數(shù)據(jù)流封裝過(guò)程
網(wǎng)絡(luò)通信中嵌入式TCP/IP 單片機(jī)技術(shù)的硬件結(jié)構(gòu)主要由輸入部分、端口、地址部分以及通信部分組成。在進(jìn)行設(shè)計(jì)時(shí),主要是將這些部分進(jìn)行合理的連接,構(gòu)成一個(gè)完整的硬件系統(tǒng),如圖2 所示。

圖2 嵌入式TCP/IP 單片機(jī)技術(shù)硬件結(jié)構(gòu)
在進(jìn)行嵌入式TCP/IP 單片機(jī)技術(shù)硬件設(shè)計(jì)時(shí),可以從以下幾個(gè)方面入手:首先,要做好系統(tǒng)的初始化工作,對(duì)相關(guān)參數(shù)進(jìn)行設(shè)置,同時(shí)要確保能夠與各個(gè)模塊進(jìn)行通信;其次,完成通信模塊的設(shè)計(jì)后,要對(duì)其進(jìn)行檢查和優(yōu)化,確保能夠與其他模塊實(shí)現(xiàn)通信,并將上位機(jī)和網(wǎng)絡(luò)連接起來(lái),實(shí)現(xiàn)信息共享;再次,進(jìn)行通信過(guò)程中,需要有效解決地址問(wèn)題,當(dāng)單片機(jī)內(nèi)部沒(méi)有對(duì)應(yīng)的地址時(shí),可以將地址線與串行口相連,從而實(shí)現(xiàn)地址的轉(zhuǎn)換;最后,在設(shè)計(jì)中要合理利用TCP/IP 的協(xié)議棧,在對(duì)網(wǎng)絡(luò)通信中嵌入式TCP/IP 單片機(jī)技術(shù)進(jìn)行硬件設(shè)計(jì)時(shí),應(yīng)該將其與TCP/IP 協(xié)議棧結(jié)合起來(lái),只有這樣才能夠?qū)⒂布O(shè)計(jì)得更加完善[6,7]。
一般情況下,可以將TCP/IP協(xié)議棧分為3個(gè)模塊,即應(yīng)用層、網(wǎng)絡(luò)層以及數(shù)據(jù)鏈路層。具體模塊內(nèi)容如圖3 所示。

圖3 TCP/IP 協(xié)議棧模塊
這3個(gè)模塊中,每一個(gè)模塊都有不同的作用。首先,應(yīng)用層能夠?qū)崿F(xiàn)數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層之間的連接。在網(wǎng)絡(luò)接口中使用的協(xié)議類(lèi)型很多,可以通過(guò)TCP/IP將數(shù)據(jù)傳輸?shù)絀nternet 網(wǎng)絡(luò)。其次,網(wǎng)絡(luò)層負(fù)責(zé)在硬件系統(tǒng)中連接并分配TCP/IP 協(xié)議棧。最后,數(shù)據(jù)鏈路層則負(fù)責(zé)將應(yīng)用層和網(wǎng)絡(luò)層連接起來(lái)。由于在網(wǎng)絡(luò)通信中采用的是TCP/IP 協(xié)議棧,也可以將其稱(chēng)為以太網(wǎng)通信協(xié)議棧。
在進(jìn)行嵌入式TCP/IP 單片機(jī)技術(shù)的軟件設(shè)計(jì)時(shí),要根據(jù)具體情況選擇合理的編程語(yǔ)言,確保其能夠高效、快捷地進(jìn)行程序設(shè)計(jì)。其中,對(duì)于程序語(yǔ)言的選擇主要是以C 語(yǔ)言為主,結(jié)合其他的編程語(yǔ)言對(duì)其進(jìn)行優(yōu)化、組合,最終實(shí)現(xiàn)軟件系統(tǒng)的編制。其中,C 語(yǔ)言具有易理解性、可讀性強(qiáng)等優(yōu)點(diǎn),可以將其作為嵌入式TCP/IP 單片機(jī)技術(shù)的編程語(yǔ)言。
在進(jìn)行軟件設(shè)計(jì)時(shí),主要是以VB 語(yǔ)言為編程語(yǔ)言進(jìn)行編程。VB 是一種基于面向?qū)ο蠹夹g(shù)的高級(jí)程序設(shè)計(jì)語(yǔ)言在編程時(shí)需要根據(jù)實(shí)際情況選擇合適的編程語(yǔ)言,只有這樣才能提高軟件系統(tǒng)的質(zhì)量和效率。其中,對(duì)于VB 程序設(shè)計(jì)模式主要有2 種,分別是模板模式和對(duì)象模式。在進(jìn)行軟件開(kāi)發(fā)時(shí),要根據(jù)實(shí)際情況選擇合適的編程方式[8-10]。
在對(duì)嵌入式TCP/IP 單片機(jī)技術(shù)進(jìn)行程序設(shè)計(jì)時(shí),主要是以C++為開(kāi)發(fā)工具進(jìn)行編程。其中,C++作為一種通用編程語(yǔ)言,其應(yīng)用非常廣泛,有著強(qiáng)大的功能。
應(yīng)用程序的設(shè)計(jì)是嵌入式TCP/IP 單片機(jī)技術(shù)研究的關(guān)鍵。在應(yīng)用程序中,通常會(huì)對(duì)數(shù)據(jù)信息進(jìn)行處理和傳輸。將數(shù)據(jù)信息發(fā)送到用戶端時(shí),需要經(jīng)過(guò)2次傳輸,一次是將數(shù)據(jù)信息發(fā)送給服務(wù)器,另一次是將數(shù)據(jù)信息發(fā)送到用戶端[11]。在發(fā)送數(shù)據(jù)過(guò)程中存在著一定的問(wèn)題,特別是在發(fā)送長(zhǎng)數(shù)據(jù)時(shí),如果沒(méi)有做好相關(guān)處理就進(jìn)行傳輸,那么會(huì)造成系統(tǒng)資源浪費(fèi)。嵌入式TCP/IP單片機(jī)技術(shù)在進(jìn)行數(shù)據(jù)信息發(fā)送時(shí),在網(wǎng)絡(luò)中會(huì)有一定的延時(shí)。在實(shí)際的通信過(guò)程中,由于存在一定的誤碼和中斷現(xiàn)象,會(huì)使數(shù)據(jù)信息傳輸失敗。可以將嵌入式TCP/IP 單片機(jī)技術(shù)應(yīng)用于數(shù)據(jù)信息傳輸過(guò)程,并且在進(jìn)行數(shù)據(jù)信息發(fā)送時(shí),可以采用短消息方式進(jìn)行傳遞,從而有效避免誤碼和中斷現(xiàn)象出現(xiàn)。
基于嵌入式TCP/IP 單片機(jī)技術(shù)應(yīng)用程序,需要建立協(xié)議棧,從而實(shí)現(xiàn)網(wǎng)絡(luò)通信功能。網(wǎng)絡(luò)協(xié)議棧中主要包括3個(gè)層次,即應(yīng)用層、傳輸層和鏈路層。其中,應(yīng)用層是主要的層次之一。在進(jìn)行嵌入式TCP/IP 單片機(jī)技術(shù)應(yīng)用程序的設(shè)計(jì)時(shí),可以先將上層進(jìn)行劃分,然后根據(jù)具體情況選擇適合的應(yīng)用程序。在具體設(shè)計(jì)時(shí)需要根據(jù)嵌入式 TCP/IP 單片機(jī)技術(shù)的應(yīng)用情況進(jìn)行分析,制定出相應(yīng)的解決方案,如表1 所示。

表1 嵌入式TCP/IP 網(wǎng)絡(luò)協(xié)議棧設(shè)計(jì)
嵌入式TCP/IP 單片機(jī)技術(shù)的應(yīng)用程序在網(wǎng)絡(luò)通信中應(yīng)用時(shí),需要采集數(shù)據(jù)信息,通常是從終端設(shè)備通過(guò)網(wǎng)絡(luò)發(fā)送到服務(wù)器。在進(jìn)行傳輸時(shí),通常使用串行通信方式,通過(guò)通信模塊將數(shù)據(jù)信息封裝成TCP/IP 協(xié)議包,然后通過(guò)網(wǎng)絡(luò)傳輸至服務(wù)器。
一般的應(yīng)用程序中,如果需要對(duì)網(wǎng)絡(luò)中的數(shù)據(jù)進(jìn)行處理和傳輸,則需要將所有的協(xié)議棧都包含在內(nèi),再進(jìn)行相關(guān)的處理和傳輸。通過(guò)對(duì)嵌入式TCP/IP 單片機(jī)技術(shù)應(yīng)用程序的研究可以發(fā)現(xiàn),在實(shí)際工作中,通常采用網(wǎng)絡(luò)傳輸方式[12]。
應(yīng)用嵌入式TCP/IP 單片機(jī)技術(shù)時(shí),需要對(duì)網(wǎng)絡(luò)中的數(shù)據(jù)進(jìn)行處理,然后將數(shù)據(jù)發(fā)送到用戶端。在對(duì)遠(yuǎn)程數(shù)據(jù)進(jìn)行處理時(shí),需要先建立起通信模塊,然后將其發(fā)送到服務(wù)器。在完成發(fā)送后,還需要對(duì)數(shù)據(jù)的真實(shí)性進(jìn)行檢查。在傳輸數(shù)據(jù)時(shí),通常采用TCP 傳輸方式[13,14]。但在實(shí)際應(yīng)用中,如果采用TCP 傳輸,在進(jìn)行信息傳輸時(shí)會(huì)出現(xiàn)一定的延時(shí),影響系統(tǒng)性能。因此,通過(guò)對(duì)嵌入式TCP/IP 單片機(jī)技術(shù)的研究可以發(fā)現(xiàn),將其應(yīng)用于實(shí)際工作中不僅可行而且有效。
TCP/IP 的層次特性決定每個(gè)協(xié)議層都有自己的數(shù)據(jù)格式,如IP 數(shù)據(jù)包、TCP 數(shù)據(jù)包和用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol,UDP)數(shù)據(jù)包等,這些數(shù)據(jù)信息在網(wǎng)絡(luò)傳輸中需要不斷地打包與解包。在嵌入式TCP/IP單片機(jī)技術(shù)中,數(shù)據(jù)包放在確定的存儲(chǔ)區(qū),協(xié)議棧層次傳遞數(shù)據(jù),在數(shù)據(jù)最終被用戶取走或發(fā)送出去時(shí),實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)移。將嵌入式TCP/IP 連入網(wǎng)前,需要將芯片復(fù)位,并通過(guò)串口對(duì)芯片進(jìn)行操作,使其可以正常通信。在進(jìn)行數(shù)據(jù)傳輸時(shí),嵌入式TCP/IP單片機(jī)技術(shù)可以對(duì)數(shù)據(jù)進(jìn)行提取和傳輸,從而有效完成數(shù)據(jù)的傳輸任務(wù),同時(shí)在進(jìn)行數(shù)據(jù)傳輸過(guò)程中,可以對(duì)其進(jìn)行打包和解包。
為確保網(wǎng)絡(luò)通信系統(tǒng)中的嵌入式TCP/IP 單片機(jī)技術(shù)能夠正常運(yùn)行,需要對(duì)嵌入式TCP/IP 單片機(jī)技術(shù)的通信協(xié)議進(jìn)行測(cè)試。在應(yīng)用程序中調(diào)用函數(shù)“sendtuleUser”,然后在函數(shù)“connection”中設(shè)置字符串,將字符串的長(zhǎng)度設(shè)置為指定的數(shù)值,如果字符串的長(zhǎng)度超過(guò)了指定的數(shù)值,那么會(huì)直接進(jìn)入數(shù)據(jù)處理模塊。
網(wǎng)絡(luò)通信中,嵌入式TCP/IP 單片機(jī)技術(shù)是一項(xiàng)比較成熟的技術(shù),具有重要的作用。該技術(shù)可以提高數(shù)據(jù)傳輸質(zhì)量,降低數(shù)據(jù)傳輸錯(cuò)誤率,給人們的日常生活帶來(lái)了極大便利。因此,要不斷加強(qiáng)對(duì)該技術(shù)的研究和開(kāi)發(fā),使其能夠應(yīng)用于更多領(lǐng)域。