????????????????????????????????????? TCP/IP基本概念解釋及CH395應(yīng)用說明

1、應(yīng)用基礎(chǔ)

???? TCP/IP通常被認(rèn)為是一個四層協(xié)議系統(tǒng),自下而上依次可分為:鏈路層、網(wǎng)絡(luò)層、運輸層和應(yīng)用層,TCP/IP協(xié)議簇中不同層次對應(yīng)的協(xié)議有:

?????????? 2-1.png

???? TCP和UDP是兩種比較重要的傳輸層協(xié)議,兩者都使用IP作為網(wǎng)絡(luò)層協(xié)議。

???? TCP是一種面向連接的傳輸,能夠提供可靠的字節(jié)流傳輸服務(wù)。

???? UDP是一種簡單的面向數(shù)據(jù)報的運輸層協(xié)議,與TCP不同的是UDP無法保證數(shù)據(jù)報文準(zhǔn)確達(dá)到目的地。

???? TCP為網(wǎng)絡(luò)設(shè)備提供了高可靠性的通訊,它所做的工作包括把應(yīng)用程序交給他的數(shù)據(jù)分成合適的小塊交給下面的網(wǎng)絡(luò)層,確認(rèn)接收到的分組,設(shè)置發(fā)送最后確認(rèn)分組超時時鐘等,由于運輸層提供了高可靠性的端到端的通信,應(yīng)用層客戶忽略所有細(xì)節(jié)。而?? UDP則為應(yīng)用層提供一種非常簡單的服務(wù),速度較TCP快,它只是把數(shù)據(jù)報從一個網(wǎng)絡(luò)終端發(fā)送到另一個網(wǎng)絡(luò)終端,但是并不保證該數(shù)據(jù)報能夠達(dá)到另一端,任何必需的可靠性都必須由應(yīng)用層來提供。

???? IP是網(wǎng)絡(luò)層上的協(xié)議,同時被TCP和UDP使用,TCP和UDP的每組數(shù)據(jù)都通過IP層在網(wǎng)絡(luò)中進(jìn)行傳輸。

???? ICMP是IP協(xié)議的附屬協(xié)議,IP層用它來與其他主機或者路由器交換錯誤報文或者其他重要信息,例如CH395產(chǎn)生不可達(dá)中斷,就是通過ICMP來進(jìn)行錯誤報文交換的。PING也使用了ICMP協(xié)議。

???? IGMP是Internet組管理協(xié)議,主要用來把一個UDP數(shù)據(jù)報多播到多個主機。

???? ARP為地址解析協(xié)議,用來轉(zhuǎn)換IP層和網(wǎng)絡(luò)接口層使用的地址。


2、CH395 TCP/IP協(xié)議棧實現(xiàn)

???? CH395內(nèi)部集成TCP/IP協(xié)議棧,提供鏈路層、網(wǎng)絡(luò)層、運輸層服務(wù),方便客戶直接進(jìn)行應(yīng)用層程序開發(fā),縮短產(chǎn)品開發(fā)周 期。????

??? CH395 是以太網(wǎng)協(xié)議棧管理芯片,用于單片機系統(tǒng)進(jìn)行以太網(wǎng)通訊,CH395 支持三種通訊接口:8 位并口、SPI 接口或者異步串口,單片機/DSP/MCU/MPU 等控制器可以通過上述任何一種通訊接口控制 CH395 芯片進(jìn)行以太網(wǎng)通訊。

應(yīng)用參考步驟:

???? CH395操作步驟主要包括:

???? ① 選擇合適通訊接口(PARA、SPI、UART),連接硬件,完成對應(yīng)單片機接口的初始化;

???? ② 對CH395做測試命令(CMD11_CHECK_EXIST),測試命令通過后執(zhí)行步驟③,否則檢查步驟①操作;

???? ③ CH395網(wǎng)絡(luò)參數(shù)初始化,設(shè)置CH395 IP地址,網(wǎng)關(guān),子網(wǎng)掩碼等網(wǎng)絡(luò)參數(shù);

???? ④ 連接網(wǎng)線,等待以太網(wǎng)連接成功;

???? ⑤ 初始化Socket,根據(jù)實際應(yīng)用,創(chuàng)建合適類型的Socket并打開;

???? ⑥ 單片機主函數(shù)處理CH395中斷任務(wù),如連接中斷、收發(fā)數(shù)據(jù)中斷等等;

?應(yīng)用參考流程圖:

????????????? 2-2.png

?