求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

單片機TCP/IP檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
  單片機TCP/IP

單片機TCP/IP就是在單片機上運行的TCP/IP協議棧。由於嵌入式聯網設備越來越多,需要在嵌入式設備上實現TCP/IP協議棧,但是嵌入式設備不同於PC機,它們一般採用MCU也就是單片機而不是CPU作為核心處理器。這就需要在單片機上實現TCP/IP協議棧。對於高端的32位單片機,由於其性能已經接近於低端PC機CPU(例如奔騰II系列),所以和在PC上實現TCP/IP協議棧沒有多大區別;這裡主要講述低端8位(例如51單片機)、16位單片機TCP/IP協議棧。

簡介

在單片機上實現TCP/IP與在PC機上實現TCP/IP是有所不同的,參考《TCP/IP1單片機上的實現特點和方法》我們可以了解到,它的特點是:1. 速度慢:根據該文檔的介紹12M晶振的51單片機的最快網絡傳送速度為25KB/s。其中的關鍵在於TCP/IP需要對傳送的每個字節進行校驗和計算,以及必要的拷貝。這樣51單片機的處理速度就不夠了。為了提高單片機TCP/IP的速度一般的方法是要對協議棧進行精簡。2. 程序存儲空間和外部RAM空間不大:一般的單片機的最大程序和數據空間為64KB。TCP/IP協議一般需要對發送的數據進行緩存,而一個最大的數據包就有1500B左右,當網絡速度很大的時候內存消耗將很大。對於非嵌入式TCP/IP協議棧,64KB的程序和數據空間是不夠的。3. 單片機體系結構:51單片機是8位機,所以對於需要完成同一個數據操作,32位的PC機可能只需要10條指令,而51單片機可能需要幾百條指令

評價

由於TCP協議棧的程序流程較為複雜,因為程序中需要處理對方發送過來的數據、發起的連接,而我方並不知道對方會何時進行什麼樣的操作,這就使得協議處理起來較為複雜。另外一個原因是單片機TCP/IP協議棧的穩定性是以非常重要的問題,一個穩定的協議棧需要在實際應用中經過長時間的測試,所以編寫一個穩定的單片機TCP/IP協議棧更加困難。為此另外一種選擇就是使用現有的TCP/IP協議棧。[1]

參考文獻