淺談單片機以太網接入方案

單片機的種類繁多,從低端到高端,有以51單片機為代表的8位單片機和以ARM為代表的32位單片機,不同檔次的單片機實現網絡接口的方法不同。對於像ARM等高端處理器一般都可以運行嵌入式操作系統,例如嵌入式Linux。對於無操作系統要求的單片機如何實現網絡接入,我下面將這些方案按TCP/IP協議棧的不同歸結為兩大類:第一類是傳統的軟件TCP/IP協議棧方案;第二類是最新的硬件TCP/IP協議棧方案。下面我就這兩類方案的實現方式進行分析。 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等方案。 由於軟件協議棧操作需要主控 MCU 不斷地響應中斷,這在很大程度上占用了 MCU的運算/時鐘資源。經過測試發現,單線程操作的情況下,MCU 的運行速度和數據的處理速度僅能滿足需要,但隨著線程增多,MCU 的工作效率直線下降,會嚴重影響通信質量。 代碼量方面,即便是采用輕量級的 TCP/IP 協議棧 LWIP…

View More 淺談單片機以太網接入方案

[無線電易讀版]基於 STM32 和 W5500 的 UPnP 自動端口映射功能實現

文章開始之前讓我們設想下面的幾個情形:我們在辦公室內就能訪問到生產車間的網絡攝像機,而無需到監控室查看生產情況;在下班之前,或在回去的路上,就可以先打開家裡的空調器和廚房設備,等進入家門,立刻就是一個溫度宜人的環境――廚房裡的飯也做好了;我們想在電視機上回味一下幾天前在景區拍的照片,把相機或者DV聯網就可以了,無需再去拷貝。工作生活都如此方便,將是一個很愜意的事情。 實現這些場景的網絡設備都要基於一種叫端口映射的網絡技術。端口映射就是路由器將外網某一個端口與內網中某個設備的IP地址和端口號建立起一一對應關系。內網主動訪問外網時,路由器主動建立了映射關系,內外網間就可以通信。但是外網要主動訪問內網是不可行的,因為不知道內網的設備IP和端口,只能和路由器外網通信。路由器可以進行手動配置端口映射,但是便攜式設備經常移動,內網的IP地址也是不是固定的,每次使用都要手動配置路由器顯然是個麻煩的事情。本文就為你講解如何使用UPnP協議實現網絡設備自動配置路由器進行端口映射。 {一、UPnP協議簡介 UPnP(Universal Plug and Play,即插即用)是各種各樣的智能設備、無線設備和個人電腦等實現遍布全球的對等網絡連接(P2P)的結構。使用UPnP達到的效果是任何設備一旦連接上網絡,所有在網絡上的設備馬上就能知道有新設備加入,這些設備彼此之間能互相通信,更能直接使用或者控制它,一切都不需要人工設置。 1.1 UPnP結構 服務、設備和控制點是UPnP網絡的基本組件,如圖1: 圖 1 UPnP組件圖◾設備(Device):家電、手機、智能設備、無線設備、電腦等等都可以稱之為設備。◾服務(Service):是指設備在不同情況下的動作和設備的狀態。◾控制點(Control Point):指的是可以發現並控制其他設備的控制設備。在UPnP網絡中,設備可以和控制點合並為同一台設備。  1.2  UPnP工作流程 UPnP定義了設備之間、設備和控制點、控制點之間通信的協議。完整的UPnP有設備尋址、設備發現、設備描述、設備控制、事件通知和基於HTML的描述等幾部分構成。UPnP協議最底層是TCP/IP協議,UPnP實現的工作流程如圖2所示: 圖2 UPnP實現的工作流程 尋址:就是找個可用IP地址。一般都采用DHCP服務,使設備自動得到一個IP地址。 發現:加入到網絡中,設備會定期的以組播的方式表明自身的存在以及告知(Advertise)它提供的服務;控制點則是網絡中廣播search packets來發現具有某些服務的設備,具有該服務的設備以單播的方式應答。 描述:控制點可以從發現消息中得到設備描述的URL(可以認為是瀏覽器地址),通過URL取回設備描述的信息。 控制、事件和展示則是控制點獲取描述之後進行的各種通信交互。其中控制是控制點對設備進行的操作;事件為設備向控制點定期發送其感興趣的信息,展示可以認為是設備的一個功能,它給控制點一個URL,可以登錄到設備的網頁服務器。 二、UPnP路由器端口映射控制點在W5500實現…

View More [無線電易讀版]基於 STM32 和 W5500 的 UPnP 自動端口映射功能實現

基於W5500的嵌入式SNMP代理端實現

最近一個做焊接設備的朋友想在焊機上添加監控的新功能,實時獲取焊機的溫度、功耗等參數,還可簡單控制,實現對集群焊接設備的網絡化管理。而這個朋友不想在開發管理系統上花太多精力,想找一個開源的管理軟件來實現他的需求。這讓我想到了簡單郵件管理協議SNMP,它生來就是為搞網絡管理服務的。能廣泛兼容各網絡設備,一經推出就得到了廣泛的應用和支持,幾乎所有的網絡設備生產廠家都實現了對SNMP的支持,大多數網絡管理系統和平台也都是基於SNMP的。事實上,目前SNMP已成為網絡管理領域中的工業標准,我國國家廣電總局就要求通信領域的標准網絡設備都必須支持SNMP協議。SNMP代理端實際占用系統資源少,在單片機上運行是沒有問題的。於是我想到用手頭的WIZnet-W5500評估板實現了SNMP代理端,給他提供一個參考。 二 SNMP基礎普及 在實現SNMP代理端之前,我們先了解一下SNMP的基本知識。管理系統中就要有管理者和被管理者,網管協議定義它為管理站和代理端,它們通過管理信息庫MIB進行接口統一,實現數據的通信。 MIB可以認為是一個被管理對像的集合,每個對像規定了能夠被管理進程查詢和設置的信息,同時都有自己的名字我們稱之為對像標識符,簡稱OID,它的命名方法跟DNS樹形結構命名類似,通過OID就能知道這個設備所屬的領域和廠家,如MIB中有一個節點{1.3.6.1.4.1},即enterprises,代表企業,它以下的節點都為企業型的。如IBM為{1.3.6.1.4.1.2},Cisco為{1.3.6.1.4.1.9}等。任何一個公司、學校只要用電子郵件發往 [email protected] 進行申請即可獲得一個結點名。這樣就可以定義自己的產品的OID,使它能用SNMP進行管理。 為了操作管理數據庫MIB,如圖1所示:SNMP 規定了5種協議SNMP報文,用來在管理進程和代理之間的交換。1 get-request;2 get-next-request;3 set-request;4 get-response;5trap。前面的3種操作是由管理進程向代理進程發出的get/set操作,雙方都使用UDP161端口。第4個是對前三種操作的回應,用UDP161端口,第5個代理進程主動發出的報文,通知管理進程有某些事情發生,使用UDP162端口。                            …

View More 基於W5500的嵌入式SNMP代理端實現

野火W5500網絡模塊 【 例程+教程+視頻 】訪問微博 雲端例程

W5500 網絡擴展模塊,SPI 接口,STM32 驅動,例程豐富,提供訪問內網(局域網),外網(互聯網)例程 配套簡單的視頻講解,每個例程配套一個視頻教程 配套詳盡的PDF教程 SPI 接口,可杜邦線連接到任何 STM32 開發板上,只要你的 STM32 開發板有 SPI 接口,即可使用該模塊 資料下載鏈接:鏈接: http://pan.baidu.com/s/1ntolZ8t 密碼: odbr 資料介紹圖總的資料截圖 代碼 視頻教程 PDF教程部分截圖

View More 野火W5500網絡模塊 【 例程+教程+視頻 】訪問微博 雲端例程

ARDUINO你的家與環境

Steve Spence 正在使用我們的WIZ550io 模塊。它是基於 WIZnet 的 W5500 芯片,類似於 W5100 的官方 Arduino Ethernet Shileld 的一個尺寸非常小的和便宜的以太網模塊。這與 Arduino 的 Ethernet Shield 以及編寫的代碼完全兼容。這是一個很好的添加到 Arduino Nano 或 DIY 的Arduino兼容板,不需要完整盾的大尺寸和花费,再加上 WIZ550io 具有更多如連接數量增加,更快的性能和更大的緩衝器等一些額外的功能。…

View More ARDUINO你的家與環境

WIZ550web 配置工具

配置工具 WIZnet 的配置工具是基於 Java 的,可以在大多數操作系統平台包括Windows,Mac OS和Linux中使用的應用程序。請下載 .jar 文件,並在 Java 虛擬機執行。 WIZnet的配置工具包括四個部分 常見的配置節 網絡配置部分 串行配置節 選項配置節 您可以設置1),2)節和“模塊名稱”,“設置密碼”中4)部分 WIZ550web。 其他部分通過 WIZ550web 的網頁設置。 注意)從WIZnet的配置工具1.02版開始,您可以設置WIZ550web Search 搜索 搜索功能用於搜索同一局域網上的所有現有模塊。通過使用UDP廣播,它發現在同一子網中的所有模塊,並發現設備將被列在“串口轉以太網”樹(搜索窗口)與它的MAC地址。 Setting 配置 此功能用於應用配置。當您選擇從“搜索窗口”的MAC地址,該模塊的默認值將被顯示出來。修改你的配置,然後點擊“設置”按鈕,應用設置。該模塊將重新初始化並保存更改過的配置。用戶可以通過以下步驟來更改配置。…

View More WIZ550web 配置工具

WIZ550WEB 簡介

WIZ550web 是WIZnet最新推出的嵌入式網頁服務器模塊,基於全硬件TCP/IP以太網芯片W5500,用戶可以通過網頁在模塊上控制/監控16個可配置數字I/O 及4個ADC. WIZ550web 可以根據用戶使用目的,提供基礎固件/網頁實例定制。 規格: MCU : STM32F103RBT6 TCP/IP Controller : W5500RJ45(Integrated Transformer) : J1B1211CCDExternal Flash Memory : AT45DB081D2.54mm Pin Header x 2 特徵與優勢…

View More WIZ550WEB 簡介

pbjtech IoT5500 LanJack

物聯網嵌入式以太網連接模塊 IoT5500 製作成一個非常緊湊的尺寸,幾乎比以太網插座大不了多少。作為基本模塊可以直接經由SPI或與作為智能外設可選的CPU + SD連接到主機系統的薄堆疊模塊變成網絡服務器卸載網絡操作的負擔。更重要的是也就是即使單獨相比於許多串行以太網唯一的解決方案,仍是非常符合成本效益。 基於 WIZnet 公司 W5500 硬件 TCP/ IP 以太網芯片模塊是一種體積小,易於通過SPI接口和引腳兼容於舊基於 W5200 的 WIZ820io 模塊兼容。 IoT5500 特點 WIZnet W5500 with eight hard-wired TCP/IP sockets Simple 4-wire…

View More pbjtech IoT5500 LanJack