電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>TCP/IP協(xié)議簡介資料下載

TCP/IP協(xié)議簡介資料下載

2021-04-19 | pdf | 112.83KB | 次下載 | 2積分

資料介紹

??在因特網(wǎng)上,TCP/IP協(xié)議每時每刻保證了數(shù)據(jù)的準確傳輸。在數(shù)據(jù)采集領(lǐng)域,如何利用TCP/IP協(xié)議在網(wǎng)絡中進行數(shù)據(jù)傳輸成為一個炙手可熱的話題。在本系統(tǒng)中,筆者利用TCP/IP協(xié)議中的UDP(用戶數(shù)據(jù)報協(xié)議)、IP(網(wǎng)絡報文協(xié)議)、ARP(地址解析協(xié)議)及簡單的應用層協(xié)議成功地實現(xiàn)了單片機的網(wǎng)絡互連,既提高了數(shù)據(jù)傳輸?shù)乃俣龋直WC了數(shù)據(jù)傳輸?shù)恼_性,同時也擴展了數(shù)據(jù)傳輸?shù)挠行О霃健? ??1 TCP/IP協(xié)議簡介 ??TCP/IP協(xié)議是一套把因特網(wǎng)上的各種系統(tǒng)互連起來的協(xié)議組,保證因特網(wǎng)上數(shù)據(jù)的準確快速傳輸。參考開放系統(tǒng)互連(OSI)模型,TCP/IP通常采用一種簡化的四層模型,分別為:應用層、傳輸層、網(wǎng)絡層、鏈路層。 ??(1)應用層 ??網(wǎng)絡應用層要有一個定義清晰的會話過程,如通常所說的Http、Ftp、Telnet等。在本系統(tǒng)中,單片機系統(tǒng)傳遞來自Ethernet和數(shù)據(jù)終端的數(shù)據(jù),應用層只對大的數(shù)據(jù)報作打包拆報處理。 ??(2)傳輸層 ??傳輸層讓網(wǎng)絡程序通過明確定義的通道及某些特性獲取數(shù)據(jù),如定義網(wǎng)絡連接的端口號等,實現(xiàn)該層協(xié)議的傳輸控制協(xié)議TCP和用戶數(shù)據(jù)協(xié)議UDP。在本系統(tǒng)中使用UDP數(shù)據(jù)報協(xié)議。 ??(3)網(wǎng)絡層 ??網(wǎng)絡層讓信息可以發(fā)送到相鄰的TCP/IP網(wǎng)絡上的任一主機上,IP協(xié)議就是該層中傳送數(shù)據(jù)的機制。同時建立網(wǎng)絡間的互連,應提供ARP地址解析協(xié)議,實現(xiàn)從IP地址到數(shù)據(jù)鏈路物理地址的映像。 ??(4)鏈路層 ??由控制同一物理網(wǎng)絡上的不同機器間數(shù)據(jù)傳送的底層協(xié)議組成,實現(xiàn)這一層協(xié)議的協(xié)議并屬于TCP/IP協(xié)議組。在本系統(tǒng)中這部分功能由單片機控制網(wǎng)卡芯片CS8900實現(xiàn)。 ?? ??2 硬件框圖 ??如圖1所示,系統(tǒng)提供RJ45接口連接Ethernet網(wǎng)絡,并且提供一個串口給用戶使用。系統(tǒng)板可以將從Ethernet上過來的IP數(shù)據(jù)報解包后送給串口,也可將從串口過來的數(shù)據(jù)封裝為IP包送到局域網(wǎng)中。外部RAM使用61C1024(128KB),從而為數(shù)據(jù)處理提供了很大的緩存;使用E2PROM——X25045,既可以作為看門狗使用,也可以將IP地址、網(wǎng)卡物理地址和其他參數(shù)保存在里面。 ??CS8900芯片是Cirrus Logic公司生產(chǎn)的一種局域網(wǎng)處理芯片,它的封裝是100-pin TQFP,內(nèi)部集成了在片RAM、10BASE-T收發(fā)濾波器,并且提供8位和16位兩種接口,本文只介紹它的8位模式。 ??NE103是一種脈沖變壓器,在CS8900的前端對網(wǎng)絡信號進行脈沖波形變換。 ??3 工作原理 ??3.1 CS8900的工作原理 ??CS8900與單片機按照8位方式連接,網(wǎng)卡芯片復位后默認工作方式為I/O連接,基址是300H,下面對它的幾個主要工作寄存器進行介紹(寄存器后括號內(nèi)的數(shù)字為寄存器地址相對基址300H的偏移量)。 ??·LINECTL(0112H) ??LINECTL決定CS8900的基本配置和物理接口。在本系統(tǒng)中,設置初始值為00d3H,選擇物理接口為10BASE-T,并使能設備的發(fā)送和接收控制位。 ??·RXCTL(0104H) ??RXCTL控制CS8900接收特定數(shù)據(jù)報。設置RXTCL的初始值為0d05H,接收網(wǎng)絡上的廣播或者目標地址同本地物理地址相同的正確數(shù)據(jù)報。 ??·RXCFG(0102H) ??RXCFG控制CS8900接收到特定數(shù)據(jù)報后會引發(fā)接收中斷。RXCFG可設置為0103H,這樣當收到一個正確的數(shù)據(jù)報后,CS8900會產(chǎn)生一個接收中斷。 ??·BUSCT(0116H) ??BUSCT可的I/O接口的一些操作。設置初始值為8017H,打開CS8900的中斷總控制位。 ??·ISQ(0120H) ??ISQ是網(wǎng)卡芯片的中斷狀態(tài)寄存器,內(nèi)部映射接收中斷狀態(tài)寄存器和發(fā)送中斷狀態(tài)寄存器的內(nèi)容。 ??·PORT0(0000H) ??發(fā)送和接收數(shù)據(jù)時,CPU通過PORT0傳遞數(shù)據(jù)。 ??·TXCMD(0004H) ??發(fā)送控制寄存器,如果寫入數(shù)據(jù)00C0H,那么網(wǎng)卡芯片在全部數(shù)據(jù)寫入后開始發(fā)送數(shù)據(jù)。 ??·TXLENG(0006H) ??發(fā)送數(shù)據(jù)長度寄存器,發(fā)送數(shù)據(jù)時,首先寫入發(fā)送數(shù)據(jù)長度,然后將數(shù)據(jù)通過PORT0寫入芯片。 ??以上為幾個最主要的工作寄存器(為16位),CS8900支持8位模式,當讀或?qū)?6位數(shù)據(jù)時,低位字節(jié)對應偶地址,高位字節(jié)對應奇地址。例如,向TXCMD中寫入00C0H,則可將00h寫入305H,將C0H寫入304H。 ??系統(tǒng)工作時,應首先對網(wǎng)卡芯片進行初始化,即寫寄存器LINECTL、RXCTL、RCCFG、BUSCT。發(fā)數(shù)據(jù)時,寫控制寄存器TXCMD,并將發(fā)送數(shù)據(jù)長度寫入TXLENG,然后將數(shù)據(jù)依次寫入PORT0口,如將第一個字節(jié)寫入300H,第二個字節(jié)寫入301H,第三個字節(jié)寫入300H,依此類推。網(wǎng)卡芯片將數(shù)據(jù)組織為鏈路層類型并添加填充位和CRC校驗送到網(wǎng)絡同樣,單片機查詢ISO的數(shù)據(jù),當有數(shù)據(jù)來到后,讀取接收到的數(shù)據(jù)幀。讀數(shù)據(jù)時,單片機依次讀地址300H,301H,300H,301H…。 ??3.2 單片機工作流程 ??如圖人所示,單片機首先初始化網(wǎng)絡設備。網(wǎng)卡IP地址和物理地址存在X25045中,單片機復位后首先讀取這些數(shù)據(jù)以初始化網(wǎng)絡。 ?? ??單片機主要完成數(shù)據(jù)的解包打包。當有數(shù)據(jù)從RJ45過來,單片機對數(shù)據(jù)報進行分析,如果是ARP(物理地址解析)數(shù)據(jù)包,則程序轉(zhuǎn)入ARP處理程序(因為在網(wǎng)絡上正是ARP協(xié)議將IP地址和物理地址相映射)。如果是IP數(shù)據(jù)包且傳輸層使用UDR協(xié)議,端口正確,則認為數(shù)據(jù)報正確,數(shù)據(jù)解包后,將數(shù)據(jù)部分通過串口輸出。反之,如果單片機從串口收到數(shù)據(jù),則將數(shù)據(jù)按照UDP協(xié)議格式打包,送入CS8900,由CS8900將數(shù)據(jù)輸出到局域網(wǎng)中。 ??可以知道,單片機主要處理協(xié)議的網(wǎng)絡層和傳輸層,鏈路層部分由CS8900完成。因單片機將數(shù)據(jù)接收后完整不變地通過串口輸出,所以將應用層交付用戶來處理,用戶可以根據(jù)需求對收到的數(shù)據(jù)進行處理。 ??在單片機的程序處理中,包含了完整的APR地址解析協(xié)議。通過在單片機中正確設置網(wǎng)關(guān)、子網(wǎng)掩碼等參數(shù),實現(xiàn)了通過局域網(wǎng)單片機與外部因特網(wǎng)上的終端設備的數(shù)據(jù)通信。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關(guān)電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統(tǒng)的設計與實現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發(fā)板設計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費