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