導航:首頁 > 操作系統 > 帶tcp協議的單片機方案

帶tcp協議的單片機方案

發布時間:2022-11-12 21:09:12

A. 單片機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協議棧。

B. 實現tcp/ip協議用什麼單片機好

stm32 網路晶元可以用dm9000或en28j60 ,協議棧可以用uip或lwip,具體怎麼實現在網上搜搜資料

C. 能用tcp/ip通信的單片機有哪些

有spi介面的單片機就可以,不是單片機本身可以而是單片機外接網口晶元可以實現tcpip,我用的stm8 stm32就可以,也有串口轉網口的模塊,就是人家幫你做好了協議轉換了,你用串口就可以了,所以不在於什麼單片機

D. 單片機TCP/IP

為什麼不用ARM,移植操作系統來做,會方便很多,可以實現更多功能。
51的話不是十分了解,我的理解:
1.選用有UART及Ethernet埠的開發版,應該都有附Ethernet Driver Demo code的。
2.TCP/IP的部份要自己去找原始碼,一般開發版不會附這個;所以你至少要看看相關的RFC,然後找個小一點的TCP/IP source code來移植。
3.把TCP/IP stack跟Ethenet的送收介面連接起來。(配置IP會不會不易實現?)
4。在TCP/IP上再實現你要遠端控制的功能。一般來說,UDP會比較簡單,但是你要有重送的機制,就看你是要用TCP還是UDP了。
兄台估計硬體比較牛!

E. 單片機TCP/IP的如何使用單片機TCP/IP協議棧

用戶在拿到一個單片機TCP/IP協議棧以後該如何處理呢。其中的處理分為兩個部分:上層介面和下層介面。
4. 1 上層介面
用戶使用單片機TCP/IP的目的實際非常明了,就是要實現數據的傳送,即從PC機(或者另一個單片機)上傳送過來的數據能夠在本地單片機上接收,反之亦然。所以如果屏蔽底層的話,單片機TCP/IP協議棧就是一個傳輸數據的手段。所以最後歸結到了使用send()、recv()函數即可。這就是使用單片機TCP/IP協議棧的核心所在。
但是事實上並沒有這么簡單,因為對於TCP需要有發起連接、接受連接、發送數據、接收數據、關閉連接等操作以配合數據的傳輸。TCP/IP協議棧一般為用戶提供如下的介面:
1. 初始化協議棧和釋放協議棧的函數介面,類似Init(), Release()之類的函數。
2. 提供類似BSD socket的socket, sendto, recvfro, connect, bind, listen, accept, send, recv, closesocket, shutdown, getpeername, getsockname, htonl, htons, ntohl, ntohs, inet_addr,inet_ntoa,ioctlsocket,setsockopt, getsockopt,select等API函數,用戶調用此類函數進行發起連接、接受連接、發送數據、接收數據、關閉連接等操作。
3. 接受連接、接收數據、被動關閉的處理:由於此類操作是上位機發起的,所以TCP/IP協議棧必須提供一套機制來處理此類事件的發生。一般來說有兩種方法:
a) 主動等待:例如使用BSD的recv()函數等待數據的到來。
b) 回調機制:採用類似MFC的OnReceive()函數的回調機制,也即是說在接收到數據的時候會自動調用OnReceive()函數。
那麼用戶如何使用以上的介面來實現遠程式控制制、遠程數據採集呢?方法很簡單。
例如現在需要實現一個對LED燈的亮和滅的遠程式控制制應用。首先PC機使用TCP/IP發送工具例如SocketDlgTest程序發送一個位元組的「1」到開發板(根據開發板的IP地址發送)。開發板在OnReceive函數中發現收到的是「1」,那麼就通過P1埠將燈打開;反之如果收到的是「0」則將燈熄滅。
如果是實現一個遠程數據採集的應用,例如定時進行溫度採集。首先PC機使用SocketDlgTest程序等待發來數據。開發板每隔一段時間採集一個數據,然後通過send()函數將數據發送給PC機(根據PC機的IP地址發送),這樣PC就接收到了當前的遠程溫度數據。
4. 1 下層介面
下層介面是一個比較復雜的部分,實際上是TCP/IP協議棧和底層硬體的對接問題。如果用戶將TCP/IP協議棧移植到自己的單片機系統上。由於硬體上存在一定的差異,就需要修改底層代碼。這里需要包括:
1.網卡驅動:如果TCP/IP協議棧已經提供了網卡驅動,並且驅動和用戶使用的網卡晶元一樣,那麼就相對容易一些。這里只需要修改網卡的基地址即可。否則需要自己動手寫驅動程序。如果網卡採用RTL8019AS可以參考老古開發網的單片機與TCP/IP網路。如果網卡採用CS8900,可以參考《嵌入式 TCP/IP 協議單片機技術在網路通信中的應用》
2.TCP/IP底層介面。一般單片機TCP/IP需要底層為其提供定時中斷、網卡中斷處理的入口。底層需要做相應的處理。

F. 51單片機接入乙太網的幾種方案

1、MAC+PHY方案

所謂的TCP/IP協議棧是一系列網路協議的統稱,不僅包括我們熟知的TCP協議和IP協議。

還有網路層的ICMP(Internet控制報文)協議、IGMP(Internet組管理)協議、ARP(地址解析)協議,傳輸層的UDP(用戶數據包)協議,應用層的HTTP(超文本傳輸)協議、DNS(域名解析)協議、FTP(文件傳送)協議、SMTP(簡單郵件管理)協議等等。

傳統的乙太網接入方案由MCU+MAC+PHY再加入網路介面實現乙太網的物理連接,通過在主控晶元中植入TCP/IP協議代碼實現通信及上層應用。

應用這種軟體TCP/IP協議棧方式實現的比較成熟方案有ENC28J60,CS8900A,DM9000,當然也有像STM32F107這類(內部自帶MAC)+PHY等方案。

2、硬體協議棧晶元方案

由MCU+硬體協議棧晶元(內含MAC和PHY)直接加網路介面,便可方便的實現單片機聯網,所有的處理TCP/IP協議的工作都是通過這位MCU的「小秘書」——硬體協議棧晶元來完成。

乙太網晶元的內核由傳輸層的TCP、UDP、ICMP、IGMP等協議、網路層的IP、ARP、PPPoE等協議以及鏈路層的MAC構成,再加上物理層的PHY和外圍的寄存器、內存、SPI介面組成了這一整套硬體化的乙太網解決方案。

這套硬體TCP/IP協議棧代替了以往的MCU來處理這些中斷請求,即MCU只需要處理面向用戶的應用層數據即可,傳輸層、網路層、鏈路層及物理層全部由外圍WIZnet的晶元完成。

這套方案從硬體開銷和軟體開發兩個方面來簡化前面所述的五層網路模型,簡化產品開發方案。這樣一來,工程師們就不必再面對繁瑣的通信協議代碼,只需要了解簡單的寄存器功能以及Socket編程便能完成產品開發工作的的網路功能開發部分。

(6)帶tcp協議的單片機方案擴展閱讀

乙太網協議:

一個標準的乙太網物理傳輸幀由七部分組成。

PR SD DA SA TYPE DATA FCS

同步位 分隔位 目的地址 源地址 類型欄位 數據段 幀校驗序列 7 1 6 6 2 46~1500 4

除了數據段的長度不定外,其他部分的長度固定不變。數據段為46~1500位元組。乙太網規定整個傳輸包的最大長度不能超過1514位元組(14位元組為DA、SA、TYPE),最小不能小於60位元組。

除去DA、SA、TYPE14位元組,還必須傳輸46位元組的數據,當數據段的數據不足46位元組時需填充,填充字元的個數不包括在長度欄位里;超過1500位元組時,需拆成多個幀傳送。

事實上,發送數據時,PR、SD、FCS及填充欄位這幾個數據段由乙太網控制器自動產生;而接收數據時,PR、SD被跳過,控制器一旦檢測到有效的前序欄位(即PR、SD),就認為接收數據開始。

G. 單片機TCP/IP開發板的如何選擇

2. 1 各類開發板
目前單片機TCP/IP一般有面向16位和32位的單片機的LWIP、面向8位單片機的uIP、面向51單片機的ZLIP等。目前51單片機上的TCP/IP協議棧以uIP和ZLIP為主,目前uIP的最高版本為V1.0,ZLIP的最高版本為ZLIP增值版V1.0。
2. 2 選擇注意事項
作為單片機上網技術學習者,選擇一款合適的開發板對於學習是事半功倍的,選擇開發板時應該注意以下問題:
1. 價格考慮。TCP/IP開發板的最主要的東西在於TCP/IP協議棧本身,硬體的成本可以做得很低,所以不要因為低價而忽略了核心軟體。對於TCP/IP協議棧可以從如下方面考慮:
a) 穩定性:商家提供的TCP/IP協議棧是否有全面的測試,是否在連續PING的情況下不斷線,是否在發送接受大數據量(例如10M以上)時不丟失任何位元組?對於使用者來說如果協議棧不穩定,那麼對於項目的順利開發將帶來很大麻煩。
b) 易用性:使用單片機TCP/IP開發板的用戶一般都對於嵌入式TCP/IP的使用不太了解,這就需要開發板提供更加完善的資料和使用手冊。包括函數定義、更多的例子程序等。
c) 廠家的技術:某些廠家只是仿冒他人的開發板,用戶在使用中遇到的問題根本無法給於解答。這就需要用戶問清楚該協議棧是否是廠家自己設計的。
2. 外包裝和質量保證:外包裝不好可是使得用戶收到時,開發板已經在運輸過程中受損而無法使用。

H. 51單片機實現TCP/IP

51 + 嵌入式乙太網晶元.OK 了

到這里有你想要的:
http://www.bocon.com.cn/index.php?option=com_content&task=view&id=317&Itemid=670&gclid=CP70rIKr2aECFQMXewodwVLpHA

但價格有點貴.

普通51做不了 TCP/IP, 在下面找一款大 RAM(1K以上) 的搞定
http://www.mcu-memory.com/

不用寫 TCP/IP協議棧,只要會配置晶元就行了.主要工作集中到應用的開發.

如果你的時間多,或者資金不多的情況下,就用回你一開始說的方法.這時你只能還得要花一大半時間在移植協議棧方面(當然網上有移植好的,但還要時間消化).協議棧就用uIP 或 LwIP

I. 單片機的TCP協議連接問題

單片機響應無需要你來關心 由WIFI轉串口晶元幫你解包完成
具體看你的設置 單片機是TCP的server還是PC(V)是TCPserver

J. 有誰把TCP IP協議應用於51單片機通信中嗎,能不能給點經驗

單片機80C51+乙太網控制器RTL8019構成的乙太網節點,其中微處理器是使用80C51內核的P89C60負責RTL8019AS初始化及通過控制RTL8019AS實現網路協議,進行數據的接收和發送等通信任務。RTL8019AS是台灣REALTEK公司生產的一種兼容NE2000的ISA匯流排乙太網控制晶元。其主要特點如下:
該晶元符IEEE802.3 10BaseT標准。
網路傳輸速率為10Mbit/sec,支持CSMA/CD傳輸協議。
自動奇偶檢測及糾錯。
支持即插即用(PnP),非即插即用(Non-PnP),可通過軟體進行設置,並能夠設置中斷,輸入輸出地址等網路參數。
支持兩種介面類型,並能自動偵測介質類型,BNC口用於連接同軸電纜,RJ45口用於非屏蔽雙絞線。
支持全雙工模式。
選取用RTL8019AS的原因:它是一種NE2000類型的兼容網卡晶元,與其它網路晶元如DM9008,DP839011A等兼容,軟體移植性好;與51單片機介面簡單,不用轉換晶元如PCI-ISA橋;價格低、貨源好;相對51單片機而言RTL8019AS的帶寬充裕。
其中,RTL8019AS的數據線SD0~SD7與80C51的AD0~AD7(P0口)相連,地址線A0~A4與80C51的A0~A4(P0口鎖存後的信號)連接。讀寫信號經16V8產生,RTL8019AS的基地址為0x5000。按照上圖電路連接後,當訪問地址的范圍為0x5000~0x501F時,80C51實現對RTL8019AS讀寫操作。
RTL8019AS支持3種工作方式:
1) 即插即用方式,I/O地址和中斷都由操作系統管理,用戶不必過多干預,當然這種方式要耗費系統資源多一些;
2) 跳線方式,網卡的I/O地址和中斷都由跳線決定;
3) 免跳線方式,網卡的I/O和中斷由外接的E2PROM 93C46中的內容決定。
在這三種方式里,我們的設計使用第二種跳線工作方式。第一種方式對於51系列單片機來說無法實現。未用第三種又可以省掉一片93C46晶元,不但減少了連線,而且降低了成本。
RTL8019AS的引腳懸空時輸入狀態為低電平,因為晶元引腳內部已經接了一個100K的下拉電阻。
 I/O地址:RTL8019AS的第65腳JP決定網卡的工作方式,本設計中JP腳接高電平(VCC),即使用跳線方式。此時,RTL8019AS的I/O地址由引腳85,84,82,81(IOS3..IOS0)決定,本設計中因為IOS3..IOS0都是懸空,選擇的基地址為0300H。基地址的確定詳見RTL8019AS的數據手冊。
 中斷:晶元的中斷由引腳80,79,78(IRQS2..IRQS0)決定。全部懸空時,選擇IRQ0。考慮到單片機的資源比較緊張,我們的單片機程序設計中沒有使用中斷方式而使用的查詢方式。
 網路介面類型:由74,77(PL0,PL1)引腳決定,使用自動檢測。設計中64腳AUI懸空,使用RJ45介面。
 BROM:設計中未用BROM,引腳72,71,69,68,67(BS4..BS0)懸空即可。
 匯流排模式:RTL8019AS的IOCS16B引腳通過一個27K的電阻拉低,使得RTL8019AS工作在8位數據匯流排的模式。
詳細電路請參考網上資料。

閱讀全文

與帶tcp協議的單片機方案相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:758
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:486
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:383
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:779
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:151
伊克塞爾文檔怎麼進行加密 瀏覽:893
app轉賬是什麼 瀏覽:163