資料介紹
??在因特網上,TCP/IP協議每時每刻保證了數據的準確傳輸。在數據采集領域,如何利用TCP/IP協議在網絡中進行數據傳輸成為一個炙手可熱的話題。在本系統中,筆者利用TCP/IP協議中的UDP(用戶數據報協議)、IP(網絡報文協議)、ARP(地址解析協議)及簡單的應用層協議成功地實現了單片機的網絡互連,既提高了數據傳輸的速度,又保證了數據傳輸的正確性,同時也擴展了數據傳輸的有效半徑。
??1 TCP/IP協議簡介
??TCP/IP協議是一套把因特網上的各種系統互連起來的協議組,保證因特網上數據的準確快速傳輸。參考開放系統互連(OSI)模型,TCP/IP通常采用一種簡化的四層模型,分別為:應用層、傳輸層、網絡層、鏈路層。
??(1)應用層
??網絡應用層要有一個定義清晰的會話過程,如通常所說的Http、Ftp、Telnet等。在本系統中,單片機系統傳遞來自Ethernet和數據終端的數據,應用層只對大的數據報作打包拆報處理。
??(2)傳輸層
??傳輸層讓網絡程序通過明確定義的通道及某些特性獲取數據,如定義網絡連接的端口號等,實現該層協議的傳輸控制協議TCP和用戶數據協議UDP。在本系統中使用UDP數據報協議。
??(3)網絡層
??網絡層讓信息可以發送到相鄰的TCP/IP網絡上的任一主機上,IP協議就是該層中傳送數據的機制。同時建立網絡間的互連,應提供ARP地址解析協議,實現從IP地址到數據鏈路物理地址的映像。
??(4)鏈路層
??由控制同一物理網絡上的不同機器間數據傳送的底層協議組成,實現這一層協議的協議并屬于TCP/IP協議組。在本系統中這部分功能由單片機控制網卡芯片CS8900實現。
??
??2 硬件框圖
??如圖1所示,系統提供RJ45接口連接Ethernet網絡,并且提供一個串口給用戶使用。系統板可以將從Ethernet上過來的IP數據報解包后送給串口,也可將從串口過來的數據封裝為IP包送到局域網中。外部RAM使用61C1024(128KB),從而為數據處理提供了很大的緩存;使用E2PROM——X25045,既可以作為看門狗使用,也可以將IP地址、網卡物理地址和其他參數保存在里面。
??CS8900芯片是Cirrus Logic公司生產的一種局域網處理芯片,它的封裝是100-pin TQFP,內部集成了在片RAM、10BASE-T收發濾波器,并且提供8位和16位兩種接口,本文只介紹它的8位模式。
??NE103是一種脈沖變壓器,在CS8900的前端對網絡信號進行脈沖波形變換。
??3 工作原理
??3.1 CS8900的工作原理
??CS8900與單片機按照8位方式連接,網卡芯片復位后默認工作方式為I/O連接,基址是300H,下面對它的幾個主要工作寄存器進行介紹(寄存器后括號內的數字為寄存器地址相對基址300H的偏移量)。
??·LINECTL(0112H)
??LINECTL決定CS8900的基本配置和物理接口。在本系統中,設置初始值為00d3H,選擇物理接口為10BASE-T,并使能設備的發送和接收控制位。
??·RXCTL(0104H)
??RXCTL控制CS8900接收特定數據報。設置RXTCL的初始值為0d05H,接收網絡上的廣播或者目標地址同本地物理地址相同的正確數據報。
??·RXCFG(0102H)
??RXCFG控制CS8900接收到特定數據報后會引發接收中斷。RXCFG可設置為0103H,這樣當收到一個正確的數據報后,CS8900會產生一個接收中斷。
??·BUSCT(0116H)
??BUSCT可的I/O接口的一些操作。設置初始值為8017H,打開CS8900的中斷總控制位。
??·ISQ(0120H)
??ISQ是網卡芯片的中斷狀態寄存器,內部映射接收中斷狀態寄存器和發送中斷狀態寄存器的內容。
??·PORT0(0000H)
??發送和接收數據時,CPU通過PORT0傳遞數據。
??·TXCMD(0004H)
??發送控制寄存器,如果寫入數據00C0H,那么網卡芯片在全部數據寫入后開始發送數據。
??·TXLENG(0006H)
??發送數據長度寄存器,發送數據時,首先寫入發送數據長度,然后將數據通過PORT0寫入芯片。
??以上為幾個最主要的工作寄存器(為16位),CS8900支持8位模式,當讀或寫16位數據時,低位字節對應偶地址,高位字節對應奇地址。例如,向TXCMD中寫入00C0H,則可將00h寫入305H,將C0H寫入304H。
??系統工作時,應首先對網卡芯片進行初始化,即寫寄存器LINECTL、RXCTL、RCCFG、BUSCT。發數據時,寫控制寄存器TXCMD,并將發送數據長度寫入TXLENG,然后將數據依次寫入PORT0口,如將第一個字節寫入300H,第二個字節寫入301H,第三個字節寫入300H,依此類推。網卡芯片將數據組織為鏈路層類型并添加填充位和CRC校驗送到網絡同樣,單片機查詢ISO的數據,當有數據來到后,讀取接收到的數據幀。讀數據時,單片機依次讀地址300H,301H,300H,301H…。
??3.2 單片機工作流程
??如圖人所示,單片機首先初始化網絡設備。網卡IP地址和物理地址存在X25045中,單片機復位后首先讀取這些數據以初始化網絡。
??
??單片機主要完成數據的解包打包。當有數據從RJ45過來,單片機對數據報進行分析,如果是ARP(物理地址解析)數據包,則程序轉入ARP處理程序(因為在網絡上正是ARP協議將IP地址和物理地址相映射)。如果是IP數據包且傳輸層使用UDR協議,端口正確,則認為數據報正確,數據解包后,將數據部分通過串口輸出。反之,如果單片機從串口收到數據,則將數據按照UDP協議格式打包,送入CS8900,由CS8900將數據輸出到局域網中。
??可以知道,單片機主要處理協議的網絡層和傳輸層,鏈路層部分由CS8900完成。因單片機將數據接收后完整不變地通過串口輸出,所以將應用層交付用戶來處理,用戶可以根據需求對收到的數據進行處理。
??在單片機的程序處理中,包含了完整的APR地址解析協議。通過在單片機中正確設置網關、子網掩碼等參數,實現了通過局域網單片機與外部因特網上的終端設備的數據通信。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- TCP/IP協議棧的設計與實現_中文 2次下載
- LwIP協議棧源碼詳解—TCP/IP協議的實現 1次下載
- Microchip TCP/IP 協議棧應用筆記 0次下載
- TCP/IP 協議通信接口的實現
- TCP/IP協議進階課程:6、TCP協議
- 初級課程-tcp ip協議
- TCP-IP協議講解
- 基于FPGA的TCP/IP協議的實現 50次下載
- Microchip TCP/IP協議棧 22次下載
- 使用LabVIEW編寫的TCP IP協議聊天室資料免費下載 63次下載
- TCP IP相關知識的詳細資料說明免費下載 19次下載
- Microchip的TCP和IP協議棧的詳細中文資料免費下載
- Microchip TCP/IP協議棧 4次下載
- TCP:傳輸控制協議 0次下載
- tcp ip協議詳解卷三 下載
- 一文了解TCP/IP協議 250次閱讀
- tcpip協議作用 TCP/IP協議分為哪幾層 1782次閱讀
- RDMA和TCP/IP有什么區別 1320次閱讀
- TCP協議詳細解析 3531次閱讀
- 關于TCP/IP協議的知識總結 1111次閱讀
- TCP/IP協議和OPC協議的區別 3881次閱讀
- TCP/UDP簡介、特點及優劣勢 2443次閱讀
- TCP協議如何優化 1206次閱讀
- IP地址、端口號、通信協議的相關知識 TCP和UDP通信協議簡述 1710次閱讀
- MQTT協議簡介及協議原理 6718次閱讀
- 什么是IP協議 4590次閱讀
- 什么是TCP/IP協議 2500次閱讀
- 基于mega128芯片實現TCP/IP協議棧的設計 3001次閱讀
- 什么是TCP/IP協議?原理是什么? 3.7w次閱讀
- TCP/IP協議典型的優化原則和方法 1930次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多