0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于ENC28J60以太網(wǎng)控制器實(shí)現(xiàn)微型嵌入式Web服務(wù)器的設(shè)計(jì)

電子設(shè)計(jì) ? 來源:作者:劉盼盼 夏路易 來源 ? 作者:作者:劉盼盼 夏路 ? 2019-11-06 07:46 ? 次閱讀

1 、引言

隨著計(jì)算機(jī)、網(wǎng)絡(luò)通信和Internet技術(shù)的飛速發(fā)展和不斷進(jìn)步,嵌入式系統(tǒng)在家庭和工業(yè)應(yīng)用廣泛。如何將嵌入式系統(tǒng)和工業(yè)控制系統(tǒng)接人Internet,綜合利用嵌入式系統(tǒng)資源,實(shí)現(xiàn)嵌入式系統(tǒng)的遠(yuǎn)程管理和控制,已成為關(guān)注的研究課題,而實(shí)現(xiàn)嵌入式系統(tǒng)的網(wǎng)絡(luò)化則成為嵌入式系統(tǒng)的發(fā)展趨勢。

以太網(wǎng)以其成本低、速度快、應(yīng)用普遍、有廣泛的硬件和軟件支持等優(yōu)點(diǎn)為實(shí)現(xiàn)管理控制網(wǎng)絡(luò)一體化提供可能,在現(xiàn)場設(shè)備內(nèi)置WEB服務(wù)器,使現(xiàn)場設(shè)備具有網(wǎng)頁發(fā)布功能,將Internet技術(shù)直接引入現(xiàn)場設(shè)備。

本設(shè)計(jì)是基于ARM7的微型嵌入式Web服務(wù)器。目前市場上大部分以太網(wǎng)控制器的封裝均超過80引腳,而ENC28J60是業(yè)界最小的以太網(wǎng)控制器,只有28引腳,這樣既能提供相應(yīng)功能,又大大簡化相關(guān)設(shè)計(jì),減小空間,其標(biāo)準(zhǔn)的SPI串行接口只需4條總線即可實(shí)現(xiàn)與單片機(jī)連接,有利于在小型系統(tǒng)上實(shí)現(xiàn)以太網(wǎng)功能。在研究和分析TCP/IP協(xié)議的基礎(chǔ)上,合理簡化TCP/IP協(xié)議,選擇實(shí)現(xiàn)ARP、IP、ICMP、TCP和HTTP協(xié)議。

2 、系統(tǒng)硬件設(shè)計(jì)

ENC28J60的硬件連接如圖1所示。ENC28J60的硬件設(shè)計(jì)包括復(fù)位電路、時(shí)鐘振蕩器、網(wǎng)絡(luò)變壓器和其他外部元件以及LED配置單元模塊。

基于ENC28J60以太網(wǎng)控制器實(shí)現(xiàn)微型嵌入式Web服務(wù)器的設(shè)計(jì)

2.1復(fù)位電路

當(dāng)ENC28J60的RESET引腳為低電平時(shí)ENC28J60工作在復(fù)位模式。RESET引腳內(nèi)部有弱上拉電阻,應(yīng)外接一只10 kΩ的上拉電阻。

2.2 時(shí)鐘振蕩器

ENC28J60工作頻率為25 MHz。在OSC1和OSC2引腳之間連接無源晶體振蕩器。ENC28J60要求使用平行切割的晶體。本設(shè)計(jì)采用連接至OSC1引腳的外部25 MHz有源晶體振蕩器驅(qū)動(dòng),此時(shí)3.3V的外部時(shí)鐘連接OSC1引腳,OSC2引腳可使用一只接地電阻或斷開OSC2引腳以減少系統(tǒng)噪聲。

2.3 網(wǎng)絡(luò)變壓器和其他外部元件

實(shí)現(xiàn)以太網(wǎng)接口控制,還需多個(gè)標(biāo)準(zhǔn)外部元件:網(wǎng)絡(luò)變壓器、偏置電阻、儲(chǔ)能電容和去耦電容。

差分輸入引腳(TPIN+/TPIN-)需用一個(gè)變比為1:1的網(wǎng)絡(luò)變壓器實(shí)現(xiàn)10BASET。差分輸出引腳(TPOUT+/TPOUT-)需用一個(gè)變比為1:1、帶中心抽頭的脈沖變壓器實(shí)現(xiàn)。變壓器需具有2 kV或更高的隔離能力,以防止靜電干擾。本設(shè)計(jì)采用Pulse公司的集成以太網(wǎng)隔離變壓器H1102。

差分輸入/輸出引腳都需串聯(lián)2只49.7 Ω、精度為1%的電阻和1只0.01μF的電容,本設(shè)計(jì)采用并聯(lián)兩只100 Ω電阻獲得49.7 Ω、精度為1%的電阻。

所有的電源電壓引腳必須連接至外部同一個(gè)33 V電源。同理,所有的接地必須連接至同一外部地。每個(gè)電源電壓引腳和地之間應(yīng)連接1只0.1μF的陶瓷去耦電容,該電容應(yīng)盡可能地靠近電源電壓引腳放置。

2.4 LED配置

LEDA引腳和LEDB引腳在復(fù)位時(shí)支持極性自動(dòng)檢測,既可直接驅(qū)動(dòng)LED,又可灌電流驅(qū)動(dòng)。復(fù)位時(shí)ENC28J60檢測LED的連接,并按照PHLCON寄存器的默認(rèn)設(shè)置驅(qū)動(dòng)。本設(shè)計(jì)LEDB采用拉電流的方式點(diǎn)亮LED。復(fù)位時(shí)該位清零且PHY默認(rèn)在半雙工模式下工作。

3 、系統(tǒng)軟件設(shè)計(jì)

3.1 SPI接口

ENC28J60與微控制器MCU的連接通過SPI接口實(shí)現(xiàn),支持10 Mb/s。但ENC28J60只支持SPI模式00,即CPOL=0和CPHA=0。另外,在空閑狀態(tài)時(shí)SPI端口要求SCK為低電平,且不支持時(shí)鐘極性選擇。以下為SPI接口初始化的源代碼:

基于ENC28J60以太網(wǎng)控制器實(shí)現(xiàn)微型嵌入式Web服務(wù)器的設(shè)計(jì)

3.2 TCP/IP協(xié)議棧的實(shí)現(xiàn)

考慮到單片機(jī)RAM存儲(chǔ)空間的限制和具體應(yīng)用要求,合理簡化TCP/IP協(xié)議棧,選擇實(shí)現(xiàn)ARP、IP、ICMP、TCP和HTTP協(xié)議。圖2所示為精簡的TCP/IP協(xié)議棧。

基于ENC28J60以太網(wǎng)控制器實(shí)現(xiàn)微型嵌入式Web服務(wù)器的設(shè)計(jì)

3.2.1 物理層接口的實(shí)現(xiàn)

物理層接口為ENC28J60的驅(qū)動(dòng)程序,硬件方面是用ENC28J60的電路實(shí)現(xiàn)電纜的物理鏈接、介質(zhì)訪問控制、幀的發(fā)送與接收等功能,而與上層協(xié)議接口即為驅(qū)動(dòng)程序,實(shí)現(xiàn)發(fā)送與接收數(shù)據(jù)幀。以下是其兩個(gè)函數(shù)原型:

基于ENC28J60以太網(wǎng)控制器實(shí)現(xiàn)微型嵌入式Web服務(wù)器的設(shè)計(jì)

3.2.2 網(wǎng)絡(luò)層協(xié)議的實(shí)現(xiàn)

網(wǎng)絡(luò)層的協(xié)議包括ARP、IP、ICMP協(xié)議。網(wǎng)絡(luò)間連接需知雙方物理地址,而ARP協(xié)議是地址解析協(xié)議,實(shí)現(xiàn)IP地址到物理地址的轉(zhuǎn)化。網(wǎng)際協(xié)議(IP)負(fù)責(zé)將消息從一個(gè)主機(jī)傳送到另一個(gè)主機(jī)。ICMP協(xié)議是Internet控制消息協(xié)議,用于IP主機(jī)、路由器之間傳遞控制消息??刂葡⑹侵妇W(wǎng)絡(luò)是否暢通、主機(jī)是否可達(dá)、路由是否可用等網(wǎng)絡(luò)本身消息。圖3所示是ping命令測試遠(yuǎn)程用戶和設(shè)計(jì)的微型嵌人式Web服務(wù)器后的響應(yīng)情況。

基于ENC28J60以太網(wǎng)控制器實(shí)現(xiàn)微型嵌入式Web服務(wù)器的設(shè)計(jì)

3.2.3 TCP、HTTP協(xié)議的實(shí)現(xiàn)

傳輸控制協(xié)議(TCP)負(fù)責(zé)收集信息包,并且將其按適當(dāng)?shù)拇涡騻鬏?,接收端接收后再將其正確還原。傳輸協(xié)議同時(shí)保證了數(shù)據(jù)包在傳送中準(zhǔn)確無誤。而HTTP是基于TCP協(xié)議的超文本傳輸協(xié)議,嵌人式Web服務(wù)器在與遠(yuǎn)程用戶端建立TCP連接后發(fā)送網(wǎng)頁數(shù)據(jù),在HTTP協(xié)議發(fā)送流程中,由于TCP報(bào)文數(shù)據(jù)字段有長度限制,網(wǎng)頁資源一股被分成若干段進(jìn)行分段傳送。在遠(yuǎn)程用戶端打開IE瀏覽器,在地址欄輸入嵌人式Web服務(wù)器的地址。

作者:劉盼盼 夏路易 來源:中國電子設(shè)計(jì)

參考文獻(xiàn)

[1]Microchip Technology Inc. ENC28J60 Data Sheet [DB/OL]。 http://ww1.microchip.com/downloads/en/ DeviceDoc/39662b.pdf, 2006.

[2]Jeremy Bentham. TCP/IP LEAN(second edition)[EB/OL]。 http://www.iosoft.co.uk/tcplean.php, 2001.

[3]周曉陽 程紅 張曉媛。新型以太網(wǎng)控制器ENC-28J60及其接口技術(shù)[J]。單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2006(8):34-36.

[4]周立功 張華。深入淺出ARM7-LPC213x/LPC214x(上冊)[M]。北京:北京航空航天大學(xué)出版社,2005.。

[5]李榮鑫 喻國平?;贏RM的嵌入式WEB服務(wù)器技術(shù)研究[J]。微計(jì)算機(jī)信息,2007(8):145-146.

作者簡介

劉盼盼(1982-), 男, 湖南郴州人, 太原理工大學(xué)控制理論與控制工程在讀碩士,主要從事工業(yè)自動(dòng)化新技術(shù)方面的應(yīng)用研究。

通信地址:太原理工大學(xué) 信息工程學(xué)院,山西 太原 030024

責(zé)任編輯:gt
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7334

    瀏覽量

    150091
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    15879

    瀏覽量

    175342
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5287

    瀏覽量

    169639
  • Web
    Web
    +關(guān)注

    關(guān)注

    2

    文章

    1252

    瀏覽量

    69053
  • HTTP
    +關(guān)注

    關(guān)注

    0

    文章

    478

    瀏覽量

    30757
收藏 人收藏

    評論

    相關(guān)推薦

    解讀ENC28J60嵌入式網(wǎng)絡(luò)接口電路

    介紹了以太網(wǎng)控制器ENC28J60 的結(jié)構(gòu)、功能、外圍電路的基礎(chǔ)上,對ENC28J60 與Atmega16 的SPI 通訊進(jìn)行了闡述。
    發(fā)表于 12-19 14:10 ?7755次閱讀
    解讀<b class='flag-5'>ENC28J60</b><b class='flag-5'>嵌入式</b>網(wǎng)絡(luò)接口電路

    ENC28J60以太網(wǎng)模塊與Arduino的連接方案介紹

    在本篇文章中,我們將學(xué)習(xí)如何將ENC28J60以太網(wǎng)模塊與Arduino Web服務(wù)器進(jìn)行連接,以在LAN局域網(wǎng)或無線網(wǎng)絡(luò)中的計(jì)算機(jī)與Ard
    的頭像 發(fā)表于 11-01 10:38 ?8298次閱讀

    基于ENC28J60嵌入式網(wǎng)絡(luò)接口設(shè)計(jì)

    。這些器件不僅結(jié)構(gòu)復(fù)雜,面積龐大,且系統(tǒng)開銷較大。近來,Microchip推出全球首枚28 引腳獨(dú)立以太網(wǎng)控制器ENC28J60,可為嵌入式
    發(fā)表于 06-03 05:00

    如何將ENC28J60以太網(wǎng)模塊與Arduino Web服務(wù)器進(jìn)行連接

    在本篇文章中,我們將學(xué)習(xí)如何將ENC28J60以太網(wǎng)模塊與Arduino Web服務(wù)器進(jìn)行連接,以在LAN局域網(wǎng)或無線網(wǎng)絡(luò)中的計(jì)算機(jī)與Ard
    發(fā)表于 02-15 07:29

    基于ENC28J60嵌入式網(wǎng)絡(luò)接口的設(shè)計(jì)Design of

    設(shè)計(jì)了以ENC28J60為核心的以太網(wǎng)接口實(shí)現(xiàn)方案,描述了該系統(tǒng)硬件架構(gòu)的設(shè)計(jì)方法。在簡要介紹了以太網(wǎng)控制器
    發(fā)表于 06-01 14:22 ?96次下載

    新型以太網(wǎng)控制器ENC28J60及其接口技術(shù)

    介紹新型獨(dú)立以太網(wǎng)控制器ENC28J60的結(jié)構(gòu)、功能以及與外部接口的軟硬件設(shè)計(jì)。ENC28J60以太網(wǎng)
    發(fā)表于 01-19 11:59 ?88次下載

    ENC28J60以太網(wǎng)模塊【教程】

    ENC28J60以太網(wǎng)模塊教程,詳細(xì)說明!
    發(fā)表于 01-12 11:28 ?36次下載

    基于ENC28J60嵌入式網(wǎng)絡(luò)接口的設(shè)計(jì)

    介紹ENC28J60網(wǎng)絡(luò)接口體系,ENC28J60嵌入式網(wǎng)絡(luò)接口的應(yīng)用
    發(fā)表于 03-01 17:48 ?6次下載

    基于ENC28J60以太網(wǎng)控制器及其應(yīng)用

    SPI接口以太網(wǎng)控制器ENC28J60介紹、工作過程、及應(yīng)用
    發(fā)表于 03-01 17:46 ?17次下載

    ENC28J60 spi 接口 以太網(wǎng) 網(wǎng)絡(luò)模塊 提供 代碼

    ENC28J60 spi 接口 以太網(wǎng) 網(wǎng)絡(luò)模塊 提供 代碼ENC28J60 spi 接口 以太網(wǎng) 網(wǎng)絡(luò)模塊 提供 代碼ENC28J60 s
    發(fā)表于 05-17 17:47 ?22次下載

    微雪電子ENC28J60以太網(wǎng)模塊簡介

    ENC28J60以太網(wǎng)模塊 SPI接口 基于SPI接口的網(wǎng)絡(luò)模塊 應(yīng)用于嵌入式WEB服務(wù)器 提供測試程序(STM32) 型號
    的頭像 發(fā)表于 12-30 11:17 ?2652次閱讀
    微雪電子<b class='flag-5'>ENC28J60</b><b class='flag-5'>以太網(wǎng)</b>模塊簡介

    ENC28J60網(wǎng)口資料詳細(xì)資料說明

    常見問題匯總,ENC28J60網(wǎng)絡(luò)模塊使用,STM32開發(fā)指南-庫函數(shù)版本_V1.3 網(wǎng)口部分,基于ENC28J60嵌入式網(wǎng)絡(luò)接口的設(shè)計(jì),
    發(fā)表于 06-15 08:00 ?4次下載
    <b class='flag-5'>ENC28J60</b>的<b class='flag-5'>網(wǎng)</b>口資料詳細(xì)資料說明

    使用ENC28J60實(shí)現(xiàn)嵌入式網(wǎng)絡(luò)接口的設(shè)計(jì)論文說明

    設(shè)計(jì)了以ENC28J60 為核心的以太網(wǎng)接口實(shí)現(xiàn)方案, 描述了該系統(tǒng)硬件架構(gòu)的設(shè)計(jì)方法。在簡要介紹了以太網(wǎng)控制器
    發(fā)表于 07-14 17:09 ?8次下載
    使用<b class='flag-5'>ENC28J60</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>嵌入式</b>網(wǎng)絡(luò)接口的設(shè)計(jì)論文說明

    ENC28J60以太網(wǎng)控制器的電路原理圖免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是ENC28J60以太網(wǎng)控制器的電路原理圖免費(fèi)下載。
    發(fā)表于 12-03 16:48 ?52次下載
    <b class='flag-5'>ENC28J60</b><b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>控制器</b>的電路原理圖免費(fèi)下載

    arduino loar_ENC28J60以太網(wǎng)模塊與Arduino的連接方案介紹

    在本篇文章中,我們將學(xué)習(xí)如何將ENC28J60以太網(wǎng)模塊與Arduino Web服務(wù)器進(jìn)行連接,以在LAN局域網(wǎng)或無線網(wǎng)絡(luò)中的計(jì)算機(jī)與Ard
    發(fā)表于 12-16 16:52 ?7次下載
    arduino loar_<b class='flag-5'>ENC28J60</b><b class='flag-5'>以太網(wǎng)</b>模塊與Arduino的連接方案介紹