日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 智能硬件 > 人工智能AI
[導讀]   lwip定義   Lwip,light weight IP;是由Adam Dunkels 開發(fā)的一個小型開源的TCP/IP協(xié)議棧;目前已經為全球共同開發(fā)的開源協(xié)議;支持TCPIP協(xié)議

  lwip定義

  Lwip,light weight IP;是由Adam Dunkels 開發(fā)的一個小型開源的TCP/IP協(xié)議棧;目前已經為全球共同開發(fā)的開源協(xié)議;支持TCPIP協(xié)議族的核心協(xié)議;包括:ARP/ICMP/TCP/UDP/IPV4/IPV6/DHCP等;其核心特點是:功能齊全、運行需求的RAM和ROM少;

  編程模型

  所有的功能和性能都可進行裁剪和配置;相關文件為:lwipopts.h

  內部實現(xiàn)支持帶操作系統(tǒng)和不帶操作系統(tǒng);核心框架是:外部單線程驅動協(xié)議棧狀態(tài)機;底層使用中斷進行數據的接收;

  其提供三種API :1)RAW API 2)lwip API 3)BSD API。其中BSD API就是大家最熟悉的socket API了。Linux和Windows平臺中的socket接口都與此大同小異;

  移植

  將lwip移植到不同的平臺主要包括兩個部分工作:

  1.MAC+PHY層移植,包括初始化、數據的收發(fā);

  2.應用層框架移植,如操作系統(tǒng)層的線程創(chuàng)建、定時器、消息郵箱;

  平臺

  硬件:STM32F107 PHY芯片:DM9161AEP

  軟件:UCOS-ii

  移植核心點

  ST公司針對STM32F107 不帶操作系統(tǒng)版本的LWIP移植版本,文件名為STM32F107_ETH_LwIP,版本為V1.0.0;由于其版本不再更新且與本軟件平臺不一致,所以不做參考;

  由于STM32F1 STM32F2 STM32F4的以太網驅動都是一致的。所以到ST官網下載stm32cubdf2。其中有LWIP針對FREERTOS的移植;而FREERTOS與UCOS大同小異;所以只要針對其修改應用層框架移植的實現(xiàn)即可;相關代碼位于:stm32cubef2STM32Cube_FW_F2_V1.1.0ProjectsSTM322xG_EVALApplicaTIonsLwIPLwIP_UDPTCP_Echo_Server_Netconn_RTOS;

  LWIP的代碼使用1.4.1版本,可到LWIP官網上下載;也包含在stm32cubef2中;

  移植的理論基礎來源于lwip 1.4.1源碼包中doc文件夾中的文件;同時官方也有移植到各個平臺中的示例,文件為:contrib-1.4.1.zip,到官網上下載即可;

  1.MAC+PHY移植:

  需要修改的文件為:

  app_ethernet.c/h

  etherneTIf.c/h

  同時需要將stm32cubef2驅動庫中的stm32f2xx_hal_eth.c/h拷貝過來;

  以上文件只需要配置好,保證編譯沒問題,則MAC+PHY層移植完成;

  2.應用層框架移植:

  修改1個文件sys_arch.c,位于stm32cubef2STM32Cube_FW_F2_V1.1.0MiddlewaresThird_PartyLwIPsystem;

  所有的移植即完成;

  實現(xiàn)lwip的DHCP自動獲取ip地址   LM3S系列移植lwip自動獲取ip的功能:

  實現(xiàn)過程是:1)在opt.h上使能#define LWIP_ARP 1和#define LWIP_DHCP 1;2)在lwipopts.h上使能#define LWIP_DHCP 1 和 #define DHCP_DOES_ARP_CHECK 1;3)在lwiplib.c上增加#include “lwip/dhcp.h”;4)最后在lwiplib.c上修改staTIc unsigned long g_ulIPMode = IPADDR_USE_DHCP和InitNic函數中的“ lwIPInit(MACAddress,xIpAddr, xNetMask, xGateway,IPADDR_USE_DHCP);”。

  調試過程: 一開始用網絡數據包分析軟件看,發(fā)現(xiàn)每隔幾秒實驗板會發(fā)DHCP廣播給255.255.255.255,我不知道出現(xiàn)什么問題,后來看DHCP原理才知道,路由器沒回應數據包,就覺得路由器不能自動分配ip。我嘗試用pc機改成自動獲取ip,原來真的不成功。后來發(fā)現(xiàn)之前修改路由器使能DHCP功能后沒重啟路由。重啟后,實驗板也是先用DHCP廣播,接著路由器回應一個ARP數據包給實驗板,數據包里有給實驗板分配的ip地址。接著實驗板發(fā)出3次請問有誰是會占用自己將要獲得的ip,避免ip地址重復。之后什么數據都沒,我還以為沒成功獲得ip呢,因為在路由器上看不見實驗板已經連上,后還我用ping,居然是通的,關閉實驗板就ping不通,說明已經獲得ip地址了,只是不明白在路由器上為什么不顯示連接成功。

  DHCP工作原理:

  根據客戶端是否第一次登錄網絡,DHCP 的工作形式會有所不同。

  第一次登錄的時候:

  尋找 Server

  當 DHCP 客戶端第一次登錄網絡的時候,也就是客戶發(fā)現(xiàn)本機上沒有任何 IP 數據設定,它會向網絡發(fā)出一個 DHCP DISCOVER 封包。因為客戶端還不知道自己屬于哪一個網絡,所以封包的來源地址會為 0.0.0.0 ,而目的地址則為 255.255.255.255 ,然后再附上 DHCP discover 的信息,向網絡進行廣播。 在 Windows 的預設情形下,DHCP discover 的等待時間預設為 1 秒,也就是當客戶端將第一個 DHCP discover 封包送出去之后,在 1 秒之內沒有得到響應的話,就會進行第二次 DHCP discover 廣播。若一直得不到響應的情況下,客戶端一共會有四次 DHCP discover 廣播(包括第一次在內),除了第一次會等待 1 秒之外,其余三次的等待時間分別是 9、13、16 秒。如果都沒有得到 DHCP 服務器的響應,客戶端則會顯示錯誤信息,宣告 DHCP discover 的失敗。之后,基于使用者的選擇,系統(tǒng)會繼續(xù)在 5 分鐘之后再重復一次 DHCP discover 的過程。

  提供IP租用地址

  當 DHCP 服務器監(jiān)聽到客戶端發(fā)出的 DHCP discover 廣播后,它會從那些還沒有租出的地址范圍內,選擇最前面的空置 IP ,連同其它 TCP/IP 設定,響應給客戶端一個 DHCP OFFER 封包。 由于客戶端在開始的時候還沒有 IP 地址,所以在其 DHCP discover 封包內會帶有其 MAC 地址信息,并且有一個 XID 編號來辨別該封包,DHCP 服務器響應的 DHCP offer 封包則會根據這些資料傳遞給要求租約的客戶。根據服務器端的設定,DHCP offer 封包會包含一個租約期限的信息。

  接受IP租約

  如果客戶端收到網絡上多臺 DHCP 服務器的響應,只會挑選其中一個 DHCP offer 而已(通常是最先抵達的那個),并且會向網絡發(fā)送一個DHCP request廣播封包,告訴所有 DHCP 服務器它將指定接受哪一臺服務器提供的 IP 地址。 同時,客戶端還會向網絡發(fā)送一個 ARP 封包,查詢網絡上面有沒有其它機器使用該 IP 地址;如果發(fā)現(xiàn)該 IP 已經被占用,客戶端則會送出一個 DHCPDECLIENT 封包給 DHCP 服務器,拒絕接受其 DHCP offer ,并重新發(fā)送 DHCP discover 信息。 事實上,并不是所有 DHCP 客戶端都會無條件接受 DHCP 服務器的 offer ,尤其這些主機安裝有其它 TCP/IP 相關的客戶軟件??蛻舳艘部梢杂?DHCP request 向服務器提出 DHCP 選擇,而這些選擇會以不同的號碼填寫在 DHCP OpTIon Field 里面。

  換一句話說,在 DHCP 服務器上面的設定,未必是客戶端全都接受??蛻舳丝梢员A糇约旱囊恍?TCP/IP 設定,并且主動權永遠在客戶端這邊。

  租約確認

  當 DHCP 服務器接收到客戶端的 DHCP request 之后,會向客戶端發(fā)出一個 DHCPACK 響應,以確認 IP 租約的正式生效,也就結束了一個完整的 DHCP 工作過程。

  DHCP 發(fā)放流程第一次登錄之后: 一旦 DHCP 客戶端成功地從服務器哪里取得 DHCP 租約之后,除非其租約已經失效并且 IP 地址也重新設定回 0.0.0.0 ,否則就無需再發(fā)送 DHCP discover 信息了,而會直接使用已經租用到的 IP 地址向之前之 DHCP 服務器發(fā)出 DHCP request 信息,DHCP 服務器會盡量讓客戶端使用原來的 IP 地址,如果沒問題的話,直接響應 DHCPack 來確認則可。如果該地址已經失效或已經被其它機器使用了,服務器則會響應一個 DHCPNACK 封包給客戶端,要求其重新執(zhí)行 DHCP discover。 至于 IP 的租約期限卻是非??季康?,并非如我們租房子那樣簡單, 以 NT 為例子:DHCP 客戶端除了在開機的時候發(fā)出 DHCP request 請求之外,在租約期限一半的時候也會發(fā)出 DHCP request ,如果此時得不到 DHCP 服務器的確認的話,客戶端還可以繼續(xù)使用該 IP ;當租約期過了87.5%時,如果客戶端仍然無法與當初的DHCP服務器聯(lián)系上,它將與其它DHCP服務器通信。如果網絡上再沒有任何DHCP服務器在運行時,該客戶端必須停止使用該IP地址,并從發(fā)送一個Dhcpdiscover數據包開始,再一次重復整個過程。要是您想退租,可以隨時送出 DHCPRELEASE 命令解約,就算您的租約在前一秒鐘才獲得的。

  跨網絡的 DHCP 運作 從前面描述的過程中,我們不難發(fā)現(xiàn):DHCP DISCOVER 是以廣播方式進行的,其情形只能在同一網絡之內進行,因為 router 是不會將廣播傳送出去的。但如果 DHCP 服務器安設在其它的網絡上面呢?由于 DHCP 客戶端還沒有 IP 環(huán)境設定,所以也不知道 Router 地址,而且有些 Router 也不會將 DHCP 廣播封包傳遞出去,因此這情形下 DHCP DISCOVER 是永遠沒辦法抵達 DHCP 服務器那端的,當然也不會發(fā)生 OFFER 及其它動作了。要解決這個問題,我們可以用 DHCP Agent (或 DHCP Proxy )主機來接管客戶的 DHCP 請求,然后將此請求傳遞給真正的 DHCP 服務器,然后將服務器的回復傳給客戶。這里,Proxy 主機必須自己具有路由能力,且能將雙方的封包互傳對方。 若不使用 Proxy,您也可以在每一個網絡之中安裝 DHCP 服務器,但這樣的話,一來設備成本會增加,而且,管理上面也比較分散。當然嘍,如果在一個十分大型的網絡中,這樣的均衡式架構還是可取的。視您的實際情況而定了。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉