1.物聯網LWIP網絡,TCP/IP協議簇

一。TCP/IP協議簇

1.應用層:FTP,HTTP,Telent,DNS,RIP

2.傳輸層:TCP,UDP

3.網絡層:IPV4,IPV6,OSPF,EIGRP

4.數據鏈路層:Ethernet,FrameRelay,Is-Is

注意:IWIP是完全按照TCP/IP協議來創建

2.OSI七層模型與TCP/IP協議模型

3.通訊過程

應用層:FTP協議

傳輸層:TCP協議

網絡層:IP協議

鏈路層:以太網驅動程序

4.全雙工vs半雙工

半雙工同時只能一方傳輸消息,否則沖突

全雙工兩方可以同時傳遞消息

?5.以太網的幀格式

就是在發送數據時,需要知道目標地址原地址,甚至是哪一個應用程序等這些信息都需要記錄。

6.C/S與B/S架構

C/S架構;

? ? ? ? 百度網盤客戶端與服務器端。

B/S架構:

? ? ? ? 百度網盤網頁端與服務器端。

二者的區別:

? ? ? ? C/S是直接與服務器端相連,優點是可以傳輸大容量的文件,缺點是相對于B/S架構來說,需要下載一個客戶端不方便。其次是開發軟件時需要對不同的操作系統開發,例如Windows,Linux,Android等等,開發困難。

? ? ? ? B/S是通過網頁連接服務器端,所以容易連接,但是同時有大量的人加入服務器端,信息會難以傳遞。這也是在百度網盤網頁版在下載大容量任務時,會要求用戶下載客戶端的一個原因。

具體區別如下圖:

二。IWIP物理層設計

1.系統連線圖

MII:稱為m-two

RMII:稱為r-m-two?

上述兩個就是接口,是物理層模塊連接stm32的接口

2.MII與RMII

MII為8數據線,6控制線,2時鐘線,2PHY線

RMII為4數據線,3控制線,1時鐘線,2PHY線?

(1)上述接口的解釋

MII_TX_CLK:發送數據使用的時鐘信號,對于10M位/s的數據傳輸,此時鐘為2.5MHz,對于100M位/s的數據傳輸,此時鐘為25MHz。?
MII_RX_CLK:接收數據使用的時鐘信號,對于10M位/s的數據傳輸,此時鐘為2.5MHz,對于100M位/s的數據傳輸,此時鐘為25MHz。?
MII_TX_EN:傳輸使能信號,此信號必需與數據前導符的起始位同步出現,并在傳輸完畢前一直保持。 ????????????????????????????????
MII_TXD[3:0]:發送數據線,每次傳輸4位數據,數據在MII_TX_EN信號有效時有效。MII_TXD[0]是數據的最低位,MII_TXD[3]是最高位。當MII_TX_EN信號無效時,PHY忽略傳輸的數據。?
MII_CRS:載波偵聽信號,僅工作在半雙工模式下,由PHY控制,當發送或接收的介質非空閑時,使能此信號。 PHY必需保證MII_CRS信號在發生沖突的整個時間段內都保持有效,不需要此信號與發送/接收的時鐘同步。?
MII_COL:沖突檢測信號,僅工作在半雙工模式下,由PHY控制,當檢測到介質發生沖突時,使能此信號,并且在整個沖突的持續時間內,保持此信號有效。此信號不需要和發送/接收的時鐘同步。?
MII_RXD[3:0]:接收數據線,每次接收4位數據,數據在MII_RX_DV信號有效時有效。MII_RXD[0]是數據的最低位,MII_RXD[3]是最高位。當MII_RX_EN無效,而MII_RX_ER有效時,MII_RXD[3:0]數據值代表特定的信息??
MII_RX_DV:接收數據使能信號,由PHY控制,當PHY準備好數據供MAC接收時,使能該信號。此信號必需和幀數據的首位同步出現,并保持有效直到數據傳輸完成。在傳送最后4位數據后的第一個時鐘之前,此信號必需變為無效狀態。為了正確的接收一個幀,有效電平不能滯后于數據線上的SFD位出現。?
MII_RX_ER:接收出錯信號,保持一個或多個時鐘周期(MII_RX_CLK)的有效狀態,表明MAC在接收過程中檢測到錯誤。具體錯誤原因需配合MII_RX_DV的狀態及MII_RXD[3:0]的數據值。

以下為四種MII接口

(1)一個 25Mhz 外部晶振 MII接口

(2)一個 25Mhz 外部晶振 + 一個50Mhz外部晶振 RMII接口

(3)一個50Mhz外部晶振 RMII接口

(4)一個 25Mhz 外部晶振 RMII接口

3.PHY,稱為pai

(1)DP83848CVV功能框圖

????????圖的上方interfaces與MII等接口連接,與stm32通信,下方為數據輸入輸出與外設接口連接。?

以下是PHY的一些功能

?以下是stm32f407的原理圖

以下是stm32f407的網絡變壓器接口。

一。以太網

1.nc模擬UDP

(1)COMMBOX通信調試工具

(2) 控制臺輸入nc -u 127.0.0.1 8000,此時串口也可以獲得數據

?(3)串口調試程序發送字符串,電腦控制臺也會展示同樣字符串(說明UDP雙向通信)

?2.nc模擬TCP

(1)串口調試助手創建Socket服務器

(2)相互發送數據

輸入: nc 127.0.0.1 8001創建TCP連接(TCP的端口號是8001,UDP端口號設置為8000)

(3)在控制臺中按Ctrl+C會導致錯誤

?綜上得出結論:

? ? ? ? TCP在連接和斷開時,會有連接與釋放。UDP是無連接的。所以在控制臺強制中斷連接時(按Ctrl+c),TCP連接的任務發送數據會報錯,而UDP的傳輸任務會繼續發送數據,不會管是否有沒有對象接受。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/42272.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/42272.shtml
英文地址,請注明出處:http://en.pswp.cn/news/42272.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

YOLOv5改進系列(21)——替換主干網絡之RepViT(清華 ICCV 2023|最新開源移動端ViT)

【YOLOv5改進系列】前期回顧: YOLOv5改進系列(0)——重要性能指標與訓練結果評價及分析 YOLOv5改進系列(1)——添加SE注意力機制 YOLOv5改進系列(2

兩階段提交:詳解數據庫宕機引起的主從不一致問題、redolog與binlog的兩階段提交

0、基礎知識and問題 從基礎上我們了解: (1)redolog作為數據庫保證持久化的日志,在update事務提交后就會按一定的策略刷入磁盤中,在刷入后,即使數據庫斷電宕機,mysql也能從redolog中恢復數據到磁…

Matplotlib數據可視化(六)

目錄 1.繪制概率圖 2.繪制雷達圖 3.繪制流向圖 4.繪制極坐標圖 5.繪制詞云圖 1.繪制概率圖 from scipy.stats import norm fig,ax plt.subplots() plt.rcParams[font.family] [SimHei] np.random.seed() mu 100 sigma 15 x musigma*np.random.randn(437) num_bins …

【騰訊云 Cloud Studio 實戰訓練營】在線 IDE 編寫 canvas 轉換黑白風格頭像

關于 Cloud Studio Cloud Studio 是基于瀏覽器的集成式開發環境(IDE),為開發者提供了一個永不間斷的云端工作站。用戶在使用Cloud Studio 時無需安裝,隨時隨地打開瀏覽器就能在線編程。 Cloud Studio 作為在線IDE,包含代碼高亮、自動補全、Gi…

winform 設置畫刷半透明

使用solidBrush新建畫刷,定義畫刷的顏色為透明色 Brush b new SolidBrush(Color.FromArgb(50, Color.Green)); 這里的50是透明度的設置,范圍從0-255; 0:無顏色 255:不透明 轉:c# 設置Brush 畫刷 透明_solidcolorbrush 透明色_…

git-fatal: No url found for submodule path ‘packages/libary‘ in .gitmodules

文章目錄 前言一、git submodule功能使用二、錯誤信息:三、解決方法:四、.gitmodules配置文件:總結 前言 最近在做vue項目,因為項目比較復雜,把功能拆分成很多子模塊,我們使用Git的submodule功能。遇到錯誤…

使用libvncserver庫快速搭建VNC服務端

文章目錄 VNC是什么libvncserver的優點和缺點構建libvncserver使用libvncserver搭建VNCServerX11模擬鼠標鍵盤操作libvncserver中處理鼠標鍵盤消息 VNC是什么 VNC(Virtual Network Computing)是一種使用遠程幀緩沖協議(RFB)的屏幕分享及遠程操作軟件。VNC的服務端可以通過RFP協…

Linux開機啟動程序添加root權限

Linux添加開機啟動程序 Debain、Ubuntu系列Linux開機之后會執行/etc/rc.local文件中的命令,所以,如果是想添加登陸用戶所具有權限的操作,可以在文件中exit 0之前添加開機自動執行的腳本命令。或者將執行腳本的權限修改為當前登錄用戶具有執行…

基于R語言APSIM模型進階應用與參數優化、批量模擬

隨著數字農業和智慧農業的發展,基于過程的農業生產系統模型在模擬作物對氣候變化的響應與適應、農田管理優化、作物品種和株型篩選、農田固碳和溫室氣體排放等領域扮演著越來越重要的作用。APSIM (Agricultural Production Systems sIMulator)模型是世界知名的作物生…

moodle單點登陸

在moodle/login添加sso.php <?phprequire(../config.php); require_once(lib.php);if($_SERVER[REQUEST_METHOD]==GET){$tokenId=$_GET[tokenId]; }else{$tokenId="fail";

C++新經典03--共用體、枚舉類型與typedef

共用體 共用體&#xff0c;也叫聯合&#xff0c;有時候需要把幾種不同類型的變量存放到同一段內存單元&#xff0c;例如&#xff0c;把一個整型變量、一個字符型變量、一個字符數組放在同一個地址開始的內存單元中。這三個變量在內存中占的字節數不同&#xff0c;但它們都從同…

idea 轉換為 Maven Project 的方法

選項&#xff1a; Add as Maven Project

通過TightVNC遠程訪問MacOS

目錄 一、下載 TightVNC 下載鏈接&#xff1a;https://www.tightvnc.com/ 下載后按步驟進行安裝&#xff0c;安裝完成后安裝目錄如下&#xff1a; 運行 tvnviewer.exe&#xff0c;輸入遠程 IP&#xff0c;點擊【connect】&#xff1a; 輸入密碼&#xff0c;點擊【OK】后即可遠…

Matlab中圖例的位置(圖例放在圖的上方、下方、左方、右方、圖外面)等

一、圖例默認位置 默認的位置在NorthEast r 10; a 0; b 0; t0:0.1:2.1*pi; xar*cos(t); ybr*sin(t); A1plot(x,y,r,linewidth,4);%圓 hold on axis equal A2plot([0 0],[1 10],b,linewidth,4);%直線 legend([A1,A2],圓形,line)二、通過Location對legend的位置進行改變 變…

企業電子招投標采購系統源碼之電子招投標的組成 tbms

? 功能模塊&#xff1a; 待辦消息&#xff0c;招標公告&#xff0c;中標公告&#xff0c;信息發布 描述&#xff1a; 全過程數字化采購管理&#xff0c;打造從供應商管理到采購招投標、采購合同、采購執行的全過程數字化管理。通供應商門戶具備內外協同的能力&#xff0c;為…

設計模式-觀察者模式(觀察者模式的需求衍變過程詳解,關于監聽的理解)

目錄 前言概念你有過這樣的問題嗎&#xff1f; 詳細介紹原理&#xff1a;應用場景&#xff1a; 實現方式&#xff1a;類圖代碼 問題回答監聽&#xff0c;為什么叫監聽&#xff0c;具體代碼是哪觀察者模式的需求衍變過程觀察者是為什么是行為型 總結&#xff1a; 前言 在軟件設計…

【C++類和對象】類有哪些默認成員函數呢?(下)

文章目錄 一、類的6個默認成員函數二、日期類的實現2.1 運算符重載部分2.2 日期之間的運算2.3 整體代碼1.Date.h部分2. Date.cpp部分 三. const成員函數四. 取地址及const取地址操作符重載擴展內容 總結 ヾ(????)&#xff89;" 人總要為過去的懶惰而付出代價ヾ(???…

2011年下半年 軟件設計師 上午試卷2

博主介紹&#xff1a;?全網粉絲3W&#xff0c;全棧開發工程師&#xff0c;從事多年軟件開發&#xff0c;在大廠呆過。持有軟件中級、六級等證書。可提供微服務項目搭建與畢業項目實戰&#xff0c;博主也曾寫過優秀論文&#xff0c;查重率極低&#xff0c;在這方面有豐富的經驗…

如何為你的表單添加一個反選功能

原始代碼 無標題文檔 <form id"form1" name"form1" method"post" action""><table width"50%" border"1" cellspacing"0" cellpadding"0"><tr><td bgcolor"#9999…

數據包如何游走于 Iptables 規則之間?

在前文《Linux路由三大件》中&#xff0c;我們提到了 iptables 可以修改數據包的特征從而影響其路由。這個功能無論是傳統場景下的 防火墻&#xff0c;還是云原生場景下的 服務路由&#xff08;k8s service&#xff09;、網絡策略(calico network policy) 等都有依賴。 雖然業…