資料介紹
系統(tǒng)遠(yuǎn)程監(jiān)測和控制或許是微控制器應(yīng)用最重要的功能之一。想象一下:一個巨大的高爾夫球場的草坪灑水系統(tǒng),最好能夠向主機(jī)自動報告故障狀況。這樣的系統(tǒng)幾乎無需人工監(jiān)測其是否正常工作。 RS-232 串口或紅外等多種通信方式可用來實現(xiàn)系統(tǒng)遠(yuǎn)程器件的控制和監(jiān)測。然而,所有這些方法都受限于具體的接口標(biāo)準(zhǔn),其中包括:是否與傳輸媒介和協(xié)議兼容、距離限制等。以太網(wǎng)網(wǎng)絡(luò)協(xié)議(IP) 網(wǎng)絡(luò)協(xié)議提供了一個應(yīng)對上述挑戰(zhàn)的解決方案,所有現(xiàn)代操作系統(tǒng)都帶有 IP 棧。而 IP 可在各種傳輸媒介上運(yùn)行,到目前為止,以太網(wǎng)的應(yīng)用最普遍。此外,以太網(wǎng)得益于交換和路由網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),因此不受距離限制。借助于先進(jìn)的 MAC/PHY 集成電路與板載緩沖器,可以用微控制器和以太網(wǎng) IP 實現(xiàn)控制,并且?guī)缀蹩梢詮乃羞h(yuǎn)程系統(tǒng)采集數(shù)據(jù)。本文演示了如何利用免費的 uIP 堆棧和 SPI 至以太網(wǎng)轉(zhuǎn)換 IC 實現(xiàn) MAXQ2000 微控制器聯(lián)網(wǎng)。 uIP 介紹 uIP (讀作“micro IP”)提供了一個最小規(guī)模的 IP 堆棧,其中包括 TCP、UDP 和 ICMP 協(xié)議。uIP 由 Adam Dunkels 開發(fā),采用 BSD 方式授權(quán)。完整的源代碼可從 https://github.com/adamdunkels/uip 下載。當(dāng)然,對于大多數(shù)應(yīng)用,沒有必要完全運(yùn)行 TCP/IP,過于浪費。uIP 具有一整套功能,符合全功能主機(jī)的最低需求,并且可以避免其它簡單 IP 堆棧存在的“特殊情況”。編譯環(huán)境 Rowley CrossWorks 1.1 build 1 C 編譯器用于編譯、匯編和鏈接項目。為方便調(diào)試,所有代碼優(yōu)化功能均被禁用。最終代碼僅占用 MAXQ2000 程序閃存存儲器的一小部分。 MAXQ2000 有 2kB 的數(shù)據(jù)存儲器。使用這種數(shù)據(jù)存儲器時必須謹(jǐn)慎,因為緩沖器必須用來處理 IP 數(shù)據(jù)包的內(nèi)容。為了最大限度地利用數(shù)據(jù)存儲器,所有常數(shù)都存儲在代碼空間內(nèi),并根據(jù)需要復(fù)制到一個固定大小的 RMA 緩存區(qū)。 uIP 堆棧的使用 uIP 堆棧可以看成一個事件循環(huán),超時基于結(jié)構(gòu)時鐘設(shè)定。在主循環(huán)中,MAC/PHY 接收到的數(shù)據(jù)包由 uip_arp_ipin()和 uip_input()處理。這些調(diào)用會產(chǎn)生一個輸出數(shù)據(jù)包,必須由 MAC/PHY 驅(qū)動程序傳輸。然后檢查計時器,清理已關(guān)閉連接及一段時間未出現(xiàn)的 ARP 表項,并調(diào)用應(yīng)用程序回調(diào)函數(shù)以進(jìn)行重發(fā)。主要事件循環(huán)為樣板代碼,大多數(shù)應(yīng)用中無需改變。注意:uIP 實現(xiàn)了非常小的 TCP 窗口尺寸,這一點非常重要,只能有一個重要的(un-ACKed)數(shù)據(jù)包等候處理,有時可能需要重發(fā)。實際應(yīng)用處理由函數(shù) UIP_APPCALL 完成。調(diào)用時,應(yīng)用程序回調(diào)功能會檢查幾個功能并返回 uIP 當(dāng)前狀態(tài)。其中最重要的狀態(tài)是:uip_connected()、uip_closed()、uip_aborted()、uip_timedout()、uip_newdata()和 and uip_rexmit()。前四個函數(shù)管理輸入連接的打開和關(guān)閉;后兩個函數(shù)管理數(shù)據(jù)的輸入和輸出。當(dāng)新數(shù)據(jù)到達(dá)套接字等待應(yīng)用程序處理時,uip_newdata()將返回一個非零的結(jié)果。然后應(yīng)用程序進(jìn)行數(shù)據(jù)處理,這些數(shù)據(jù)保存在 uip_appdata 指向的緩沖區(qū)中,也可以返回響應(yīng)。所有數(shù)據(jù),包括以太網(wǎng)鏈路層和 IP 頭儲存在 uip_appdata。如果網(wǎng)絡(luò)丟掉返回至 peer 的數(shù)據(jù)的任何部分,應(yīng)用將通過計時器超時調(diào)用應(yīng)用程序回調(diào)功能并且 uip_rexmit()返回一個非零的結(jié)果。在這個點上 uIP 與其他 IP 堆棧不同。通常情況下,TCP 數(shù)據(jù)包的轉(zhuǎn)發(fā)由 IP 協(xié)議棧處理。當(dāng) uip_rexmit()標(biāo)記出現(xiàn)時 uIP 需要應(yīng)用程序轉(zhuǎn)發(fā)丟失的數(shù)據(jù),可以節(jié)省存儲空間。轉(zhuǎn)發(fā)可以通過重新生成數(shù)據(jù)來實現(xiàn),或?qū)⑾惹爱a(chǎn)生的數(shù)據(jù)保存在緩沖區(qū)以供轉(zhuǎn)發(fā)。
- 淺談如何評估TI C2000系列微控制器程序的堆棧使用情況
- 兆易創(chuàng)新AN014 GD32微控制器在Arduino中的應(yīng)用
- 基于Nuvoton 1T 8051的微控制器N76E003數(shù)據(jù)表 5次下載
- 基于ARM Cortex M0的微控制器MM32F013x 22次下載
- 基于微控制器的永磁同步電機(jī)磁場定向控制 15次下載
- 系統(tǒng)可編程閃存中的RISC微控制器LGT8XM 0次下載
- AN11153微控制器的設(shè)計及開發(fā) 5次下載
- 微控制器系統(tǒng)的詳細(xì)資料概述
- 基于FPGA中實現(xiàn)微控制器 1次下載
- 基于ARM微控制器的醫(yī)療機(jī)器人主從夾持控制系統(tǒng)設(shè)計與實現(xiàn) 34次下載
- 針對微控制器應(yīng)用的FPGA實現(xiàn) 42次下載
- 低成本嵌入式多媒體微控制器的設(shè)計與實現(xiàn)
- 利用軟件技術(shù)擴(kuò)展嵌入式微控制器功能的方法
- 微控制器原理課程實驗教學(xué)大綱
- 利用PSD301微控制器外圍和微控制器設(shè)計智能發(fā)送器
- 微控制器與運(yùn)動控制器的區(qū)別 684次閱讀
- 微控制器的定義和工作原理 1811次閱讀
- 為MAXQ2000微控制器實現(xiàn)JTAG自舉加載程序主控 1175次閱讀
- 在MAXQ2000數(shù)據(jù)存儲器中實現(xiàn)軟堆棧 825次閱讀
- 使用uIP堆棧將MAXQ微控制器聯(lián)網(wǎng) 1229次閱讀
- 在MAXQ2000的數(shù)據(jù)存儲器中實現(xiàn)軟堆棧 745次閱讀
- 基于LPC2292微控制器和CAN控制器實現(xiàn)車輛行駛監(jiān)控系統(tǒng)的設(shè)計 2629次閱讀
- 基于微控制器的MicroPython模塊運(yùn)行 2082次閱讀
- digilent開源微控制器介紹 1657次閱讀
- 基于GPRS微控制器實現(xiàn)上網(wǎng)的解決方案 724次閱讀
- 基于STM32微控制器的物聯(lián)網(wǎng)節(jié)點設(shè)計 3427次閱讀
- 后備電源控制器LTC3350,可對串聯(lián)堆棧進(jìn)行充電和監(jiān)察 2342次閱讀
- 微控制器的相關(guān)知識介紹(含義、編程語言) 5344次閱讀
- TIMSP430微控制器軟件編程經(jīng)驗和應(yīng)用技巧 4205次閱讀
- 微控制器原理及應(yīng)用 1.5w次閱讀
下載排行
本周
- 1RA4L1硬件手冊
- 21.89 MB | 2次下載 | 免費
- 2RA4L1_SENSOR-V1原理圖
- 754.36 KB | 2次下載 | 免費
- 3RA4L1數(shù)據(jù)手冊
- 1.88 MB | 1次下載 | 免費
- 4電子元件FCO-6P-PJ系列超低相噪低抖動晶體振蕩器:規(guī)格參數(shù)與應(yīng)用領(lǐng)域介紹
- 3.66 MB | 次下載 | 免費
- 5單片機(jī)c語言編程實例大全
- 0.66 MB | 次下載 | 1 積分
- 6DS-AN5V PB00 CN-V1
- 610.46 KB | 次下載 | 免費
- 7電橋前端共模電感有效抑制干擾電路分享
- 0.06 MB | 次下載 | 免費
- 8蘋果A1465 820-00164圖紙
- 1.41 MB | 次下載 | 免費
本月
- 1晶體三極管的電流放大作用詳細(xì)說明
- 0.77 MB | 32次下載 | 2 積分
- 2九陽豆?jié){機(jī)高清原理圖
- 2.47 MB | 28次下載 | 1 積分
- 3雙極型三極管放大電路的三種基本組態(tài)的學(xué)習(xí)課件免費下載
- 4.03 MB | 25次下載 | 1 積分
- 4AIWA HS-J303 MKⅡ維修手冊
- 22.47 MB | 24次下載 | 10 積分
- 5多級放大電路的學(xué)習(xí)課件免費下載
- 1.81 MB | 21次下載 | 2 積分
- 6AIWA HS-J202/HS-J202M/HS-J800維修手冊
- 13.60 MB | 16次下載 | 10 積分
- 7人形機(jī)器人電機(jī)驅(qū)動和傳感報告
- 4.27 MB | 13次下載 | 免費
- 8Altium Designer元件庫
- 17.11 MB | 9次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191382次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183338次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81586次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論