資料介紹
系統遠程監測和控制或許是微控制器應用最重要的功能之一。想象一下:一個巨大的高爾夫球場的草坪灑水系統,最好能夠向主機自動報告故障狀況。這樣的系統幾乎無需人工監測其是否正常工作。 RS-232 串口或紅外等多種通信方式可用來實現系統遠程器件的控制和監測。然而,所有這些方法都受限于具體的接口標準,其中包括:是否與傳輸媒介和協議兼容、距離限制等。以太網網絡協議(IP) 網絡協議提供了一個應對上述挑戰的解決方案,所有現代操作系統都帶有 IP 棧。而 IP 可在各種傳輸媒介上運行,到目前為止,以太網的應用最普遍。此外,以太網得益于交換和路由網絡拓撲結構,因此不受距離限制。借助于先進的 MAC/PHY 集成電路與板載緩沖器,可以用微控制器和以太網 IP 實現控制,并且幾乎可以從所有遠程系統采集數據。本文演示了如何利用免費的 uIP 堆棧和 SPI 至以太網轉換 IC 實現 MAXQ2000 微控制器聯網。 uIP 介紹 uIP (讀作“micro IP”)提供了一個最小規模的 IP 堆棧,其中包括 TCP、UDP 和 ICMP 協議。uIP 由 Adam Dunkels 開發,采用 BSD 方式授權。完整的源代碼可從 https://github.com/adamdunkels/uip 下載。當然,對于大多數應用,沒有必要完全運行 TCP/IP,過于浪費。uIP 具有一整套功能,符合全功能主機的最低需求,并且可以避免其它簡單 IP 堆棧存在的“特殊情況”。編譯環境 Rowley CrossWorks 1.1 build 1 C 編譯器用于編譯、匯編和鏈接項目。為方便調試,所有代碼優化功能均被禁用。最終代碼僅占用 MAXQ2000 程序閃存存儲器的一小部分。 MAXQ2000 有 2kB 的數據存儲器。使用這種數據存儲器時必須謹慎,因為緩沖器必須用來處理 IP 數據包的內容。為了最大限度地利用數據存儲器,所有常數都存儲在代碼空間內,并根據需要復制到一個固定大小的 RMA 緩存區。 uIP 堆棧的使用 uIP 堆棧可以看成一個事件循環,超時基于結構時鐘設定。在主循環中,MAC/PHY 接收到的數據包由 uip_arp_ipin()和 uip_input()處理。這些調用會產生一個輸出數據包,必須由 MAC/PHY 驅動程序傳輸。然后檢查計時器,清理已關閉連接及一段時間未出現的 ARP 表項,并調用應用程序回調函數以進行重發。主要事件循環為樣板代碼,大多數應用中無需改變。注意:uIP 實現了非常小的 TCP 窗口尺寸,這一點非常重要,只能有一個重要的(un-ACKed)數據包等候處理,有時可能需要重發。實際應用處理由函數 UIP_APPCALL 完成。調用時,應用程序回調功能會檢查幾個功能并返回 uIP 當前狀態。其中最重要的狀態是:uip_connected()、uip_closed()、uip_aborted()、uip_timedout()、uip_newdata()和 and uip_rexmit()。前四個函數管理輸入連接的打開和關閉;后兩個函數管理數據的輸入和輸出。當新數據到達套接字等待應用程序處理時,uip_newdata()將返回一個非零的結果。然后應用程序進行數據處理,這些數據保存在 uip_appdata 指向的緩沖區中,也可以返回響應。所有數據,包括以太網鏈路層和 IP 頭儲存在 uip_appdata。如果網絡丟掉返回至 peer 的數據的任何部分,應用將通過計時器超時調用應用程序回調功能并且 uip_rexmit()返回一個非零的結果。在這個點上 uIP 與其他 IP 堆棧不同。通常情況下,TCP 數據包的轉發由 IP 協議棧處理。當 uip_rexmit()標記出現時 uIP 需要應用程序轉發丟失的數據,可以節省存儲空間。轉發可以通過重新生成數據來實現,或將先前產生的數據保存在緩沖區以供轉發。
- 淺談如何評估TI C2000系列微控制器程序的堆棧使用情況
- 兆易創新AN014 GD32微控制器在Arduino中的應用
- 基于Nuvoton 1T 8051的微控制器N76E003數據表 5次下載
- 基于ARM Cortex M0的微控制器MM32F013x 22次下載
- 基于微控制器的永磁同步電機磁場定向控制 15次下載
- 系統可編程閃存中的RISC微控制器LGT8XM 0次下載
- AN11153微控制器的設計及開發 5次下載
- 微控制器系統的詳細資料概述
- 基于FPGA中實現微控制器 1次下載
- 基于ARM微控制器的醫療機器人主從夾持控制系統設計與實現 34次下載
- 針對微控制器應用的FPGA實現 42次下載
- 低成本嵌入式多媒體微控制器的設計與實現
- 利用軟件技術擴展嵌入式微控制器功能的方法
- 微控制器原理課程實驗教學大綱
- 利用PSD301微控制器外圍和微控制器設計智能發送器
- 微控制器與運動控制器的區別 377次閱讀
- 微控制器的定義和工作原理 1084次閱讀
- 為MAXQ2000微控制器實現JTAG自舉加載程序主控 984次閱讀
- 在MAXQ2000數據存儲器中實現軟堆棧 688次閱讀
- 使用uIP堆棧將MAXQ微控制器聯網 1051次閱讀
- 在MAXQ2000的數據存儲器中實現軟堆棧 619次閱讀
- 基于LPC2292微控制器和CAN控制器實現車輛行駛監控系統的設計 2402次閱讀
- 基于微控制器的MicroPython模塊運行 2001次閱讀
- digilent開源微控制器介紹 1482次閱讀
- 基于GPRS微控制器實現上網的解決方案 687次閱讀
- 基于STM32微控制器的物聯網節點設計 3227次閱讀
- 后備電源控制器LTC3350,可對串聯堆棧進行充電和監察 2220次閱讀
- 微控制器的相關知識介紹(含義、編程語言) 5138次閱讀
- TIMSP430微控制器軟件編程經驗和應用技巧 4104次閱讀
- 微控制器原理及應用 1.4w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多