精华内容
下载资源
问答
  • 该项目的目标将得以实现,因为Arduino用户可以为两个以太网控制器(W5100和ENC28J60)使用相同的代码。 通过这个项目,我还可以确定标准以太网库实现中的体系结构问题,并将其改进。 带有etherShield的Arduino...
  • ENC28J60程序代码

    2018-07-11 14:38:54
    ENC28J60程序代码 参考代码 ENC28J60 数据手册 带 SPI 接口的独立 以太网控制器
  • 本文档介绍的是一款基于STM32 ENC28J60以太网开发板。作为终端,采集房间内的温湿度、声音、光线等信号,并通过以太网发送出去。接收端可以为一样的终端,也可以是PC...该ENC28J60 以太网开发板各个功能模块应用代码
  • 基于enc28j60的学习心得

    千次阅读 2017-07-15 18:33:58
    enc28j60是带SPI接口的独立以太网控制器,兼容IEEE 802.3,集成MAC和10 BASE-T PHY,最高速度可达10Mb/s。基于enc28j60控制器的理解可阅读文章:ENC28J60学习笔记,在该文章内详细介绍控制器的使用方法,本文不对...

    1.概述

    enc28j60是带SPI接口的独立以太网控制器,兼容IEEE 802.3,集成MAC和10 BASE-T PHY,最高速度可达10Mb/s。基于enc28j60控制器的理解可阅读文章:ENC28J60学习笔记,在该文章内详细介绍控制器的使用方法,本文不对使用方法进行讲解,只提供代码下载路径:github开源地址
    在使用该控制器时,会涉及SPI通信协议。以OSI模型为标准,还会涉及物理层、链路层、网络层等知识。下面分别介绍。

    2.spi通信协议

    SPI(Serial Peripheral Interface)是一种高速的、全双工、同步的通信总线。SPI以主从方式工作,通常有一个主设备和一个或多个从设备,
    SPI 控制器的信号线描述如下:
    • MISO:主设备数据输入,从设备数据输出;
    • MOSI:主设备数据输出,从设备数据输入;
    • SCLK: 时钟信号,由主设备产生;
    • SS: 从设备使能信号,由主设备控制。这个信号可以是SPI外设的一部分,也可用GPIO引脚实现。
    SPI 典型接线方式如下。
     

    SPI总线支持的四种工作方式,取决于串行同步时钟极性(CPOL)和串行同步时钟相位CPHA的组合。四种工作方式时序描述如下:

    CPOL是用来决定SCLK时钟信号空闲时的电平,CPOL=0,空闲电平为低电平,CPOL=1时,空闲电平为高电平。
    CPHA是用来决定采样时刻的,CPHA=0,在每个周期的第一个时钟沿采样,CPHA=1,在每个周期的第二个时钟沿采样。
    SPI主模块和与之通信的外设时钟相位和极性应该一致。
    spi在接口enc28j60ReadOp和enc28j60WriteOp中会使用:

    //*******************************************************************************************
    //
    // Function : icmp_send_request
    // Description : Send ARP request packet to destination.
    //
    //*******************************************************************************************
    BYTE enc28j60ReadOp(BYTE op, BYTE address)
    {
    	// activate CS
    	CSACTIVE;
    	// issue read command
    	SPDR = op | (address & ADDR_MASK);
    	waitspi();
    	// read data
    	SPDR = 0x00;
    	waitspi();
    	// do dummy read if needed (for mac and mii, see datasheet page 29)
    	if(address & 0x80)
    	{
    		SPDR = 0x00;
    		waitspi();
    	}
    	// release CS
    	CSPASSIVE;
    	return(SPDR);
    }
    //*******************************************************************************************
    //
    // Function : icmp_send_request
    // Description : Send ARP request packet to destination.
    //
    //*******************************************************************************************
    void enc28j60WriteOp(BYTE op, BYTE address, BYTE data)
    {
    	CSACTIVE;
    	// issue write command
    	SPDR = op | (address & ADDR_MASK);
    	waitspi();
    	// write data
    	SPDR = data;
    	waitspi();
    	CSPASSIVE;
    }


    3.网络知识

    以太网是一种在计算系统间交换数据的网络拓扑,很多微控制器集成以太网MAC控制器,MAC控制器作为链路层协议控制器连接外部以太网PHY。

    典型的以太网是mac利用MII访问phy,用rj-45接口外接水晶头,接入网线即可完成数据交换。


    如果对mac,mii,phy等概念不是很熟悉可参考文章:http://www.cnblogs.com/jason-lu/articles/3195473.html

    在文中提及了ARP协议,,ARP是地址解析协议,它的作用就是在以太网环境下,通过第三层(网络层)的IP地址来找寻第二层(链路层)的MAC地址,得到一张ARP缓存表,而正是依靠IP和mac地址才能保证网络通信的正常,如果进入第四层传输层时,我们开发人员只要关心IP即可,如TCP、UDP协议。在一次TCP协议传输时,会涉及ICMP,ARP协议等

    展开全文
  • 在系统中,高速微控制器STM32F103c8t6被用作核心处理芯片,RS485芯片MAX3485被用于发送和接收串行端口数据,而以太网接口芯片ENC28J60被用于发送和接收以太网数据。Altium Designer软件用于绘制该系统的原理图和PCB...
  • enc28j60是带SPI接口的独立以太网控制器,兼容IEEE 802.3,集成MAC和10 BASE-T PHY,最高速度可达10Mb/s。基于enc28j60控制器的理解可阅读文章:ENC28J60学习笔记,在该文章内详细介绍控制器的使用方法,本文不对...

    以太网接入w5100对比enc28j60的区别和优势(w5100自带TCP/IP协议栈,enc28j60只有mac和phy,上层都需要自己实现。)

    1.概述

    enc28j60是带SPI接口的独立以太网控制器,兼容IEEE 802.3,集成MAC和10 BASE-T PHY,最高速度可达10Mb/s。基于enc28j60控制器的理解可阅读文章:ENC28J60学习笔记,在该文章内详细介绍控制器的使用方法,本文不对使用方法进行讲解,只提供代码下载路径:github开源地址。
    在使用该控制器时,会涉及SPI通信协议。以OSI模型为标准,还会涉及物理层、链路层、网络层等知识。下面分别介绍。

    2.spi通信协议

    SPI(Serial Peripheral Interface)是一种高速的、全双工、同步的通信总线。SPI以主从方式工作,通常有一个主设备和一个或多个从设备,
    SPI 控制器的信号线描述如下:
    MISO:主设备数据输入,从设备数据输出;
    MOSI:主设备数据输出,从设备数据输入;
    SCLK: 时钟信号,由主设备产生;
    SS: 从设备使能信号,由主设备控制。这个信号可以是SPI外设的一部分,也可用GPIO引脚实现。
    SPI 典型接线方式如下。
    在这里插入图片描述
    SPI总线支持的四种工作方式,取决于串行同步时钟极性(CPOL)和串行同步时钟相位CPHA的组合。四种工作方式时序描述如下:
    在这里插入图片描述
    CPOL是用来决定SCLK时钟信号空闲时的电平,CPOL=0,空闲电平为低电平,CPOL=1时,空闲电平为高电平。
    CPHA是用来决定采样时刻的,CPHA=0,在每个周期的第一个时钟沿采样,CPHA=1,在每个周期的第二个时钟沿采样。
    SPI主模块和与之通信的外设时钟相位和极性应该一致。
    spi具体协议可参看:https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus
    spi在接口enc28j60ReadOp和enc28j60WriteOp中会使用:

    //*******************************************************************************************
    //
    // Function : icmp_send_request
    // Description : Send ARP request packet to destination.
    //
    //*******************************************************************************************
    BYTE enc28j60ReadOp(BYTE op, BYTE address)
    {
    	// activate CS
    	CSACTIVE;
    	// issue read command
    	SPDR = op | (address & ADDR_MASK);
    	waitspi();
    	// read data
    	SPDR = 0x00;
    	waitspi();
    	// do dummy read if needed (for mac and mii, see datasheet page 29)
    	if(address & 0x80)
    	{
    		SPDR = 0x00;
    		waitspi();
    	}
    	// release CS
    	CSPASSIVE;
    	return(SPDR);
    }
    //*******************************************************************************************
    //
    // Function : icmp_send_request
    // Description : Send ARP request packet to destination.
    //
    //*******************************************************************************************
    void enc28j60WriteOp(BYTE op, BYTE address, BYTE data)
    {
    	CSACTIVE;
    	// issue write command
    	SPDR = op | (address & ADDR_MASK);
    	waitspi();
    	// write data
    	SPDR = data;
    	waitspi();
    	CSPASSIVE;
    }
    
    

    3.网络知识

    以太网是一种在计算系统间交换数据的网络拓扑,很多微控制器集成以太网MAC控制器,MAC控制器作为链路层协议控制器连接外部以太网PHY。

    典型的以太网是mac利用MII访问phy,用rj-45接口外接水晶头,接入网线即可完成数据交换。
    在这里插入图片描述
    如果对mac,mii,phy等概念不是很熟悉可参考文章:http://www.cnblogs.com/jason-lu/articles/3195473.html

    在文中提及了ARP协议,,ARP是地址解析协议,它的作用就是在以太网环境下,通过第三层(网络层)的IP地址来找寻第二层(链路层)的MAC地址,得到一张ARP缓存表,而正是依靠IP和mac地址才能保证网络通信的正常,如果进入第四层传输层时,我们开发人员只要关心IP即可,如TCP、UDP协议。在一次TCP协议传输时,会涉及ICMP,ARP协议等

    展开全文
  • Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java...
  • 书中所有程序代码 第1章 51单片机开发基础 第一篇 输入输出系统 第2章 单片机实现7段数码管显示 第3章 基于MAX7219的8位 第4章 单片机实现液晶显示 第5章 单片机实现电子密码锁 第6章 单片机实现简单间乐发生...
  • 11.2.1 服务控制管理(ServiceControlManager) 408 11.2.2 服务控制程序 409 11.2.3 封装CDriver类 412 11.3 开发内核驱动的准备工作 417 11.3.1 驱动程序开发工具箱 417 11.3.2 编译和连接内核模式驱动...
  • TCP/IP详解 卷1:协议--源代码

    热门讨论 2012-10-19 12:27:56
    该资料是《TCP/IP详解 卷1:协议》的源代码 对应的书籍资料见: TCP/IP详解 卷1:协议(09年度畅销榜TOP50)(08年度畅销榜TOP50) http://download.csdn.net/detail/fksec/4657587 基本信息 原书名: TCP/IP ...
  • libbuspirate-开源

    2021-04-24 18:42:34
    该库主要用于通过SPI与RF收发器(例如CC2500,MRF24J40,以太网控制器(例如ENC28J60),EEPROM(例如24C02、24FC1025),LCD显示器(PCD8544 / Nokia5110),LED显示器(HT1632))进行接口。提供了与此硬件对话的...
  • 中断控制器代码,使用GPIO中断 10-CRC&RNG STM32硬件CRC单元和随机数单元 11-SPI 使用STM32的SPI控制器读取norflash 12-SPI-Simulation 使用模拟SPI读取norflash 13-IIC 使用模拟IIC读取PCF8536 14-...
  • STM32F10xxx参考手册

    2012-10-17 11:38:40
    9.2 外部中断/事件控制器(EXTI) 134 9.2.1 主要特性 134 9.2.2 框图 135 9.2.3 唤醒事件管理 135 9.2.4 功能说明 135 9.2.5 外部中断/事件线路映像 137 9.3 EXTI 寄存器描述 138 9.3.1 中断屏蔽寄存器(EXTI_...
  • PLC_R_STATUS:控制器状态代码 . . . . . . . . . . . . . . . 50 PLC_R_STOP_CAUSE:从“ 运行” 向其他状态转换的原因代码. . . 51 PLC_R_TERMINAL_PORT_STATUS:编程端口连接状态代码 . . . 52 PLC_R_USB_HOST_...
  • modbus通信协议

    热门讨论 2010-08-06 15:26:22
    通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识...
  • 第15章 高级数据链路控制规程HDLC 第16章 分组交换 第17章 日本连锁仓储协会(JCA)规程 第18章 全银协议 第19章 X,Y,Z MODEM, Kermit 第20章 系统网络体系结SNA 第四篇 第21章 OSI(开放系统互连)协议 第22章 ...
  • TCPIP详解--共三卷

    2015-11-30 17:17:21
    28章 SMTP:简单邮件传送协议 332 28.1 引言 332 28.2 SMTP协议 332 28.2.1 简单例子 332 28.2.2 SMTP命令 334 28.2.3 信封、首部和正文 335 28.2.4 中继代理 335 28.2.5 NVT ASCII 337 28.2.6 重试间隔 337 28.3 ...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     Java绘制图片火焰效果,源代码相关注释:前景和背景Image对象、Applet和绘制火焰的效果的Image对象、Applet和绘制火焰的效果的Graphics对象、火焰效果的线程、Applet的高度,图片到图片装载、绘制火焰效果的X坐标...
  • TCP_IP详解卷1

    热门讨论 2010-12-29 10:53:54
    28章 SMTP:简单邮件传送协议 332 28.1 引言 332 28.2 SMTP协议 332 28.2.1 简单例子 332 28.2.2 SMTP命令 334 28.2.3 信封、首部和正文 335 28.2.4 中继代理 335 28.2.5 NVT ASCII 337 28.2.6 重试间隔 337 28.3 ...
  • TCPIP详解卷[1].part12

    2010-12-29 11:12:15
    28章 SMTP:简单邮件传送协议 332 28.1 引言 332 28.2 SMTP协议 332 28.2.1 简单例子 332 28.2.2 SMTP命令 334 28.2.3 信封、首部和正文 335 28.2.4 中继代理 335 28.2.5 NVT ASCII 337 28.2.6 重试间隔 337 28.3 ...
  • TCPIP详解卷[1].part11

    2010-12-29 11:09:56
    28章 SMTP:简单邮件传送协议 332 28.1 引言 332 28.2 SMTP协议 332 28.2.1 简单例子 332 28.2.2 SMTP命令 334 28.2.3 信封、首部和正文 335 28.2.4 中继代理 335 28.2.5 NVT ASCII 337 28.2.6 重试间隔 337 28.3 ...
  • TCPIP详解卷[1].part09

    2010-12-29 11:05:16
    28章 SMTP:简单邮件传送协议 332 28.1 引言 332 28.2 SMTP协议 332 28.2.1 简单例子 332 28.2.2 SMTP命令 334 28.2.3 信封、首部和正文 335 28.2.4 中继代理 335 28.2.5 NVT ASCII 337 28.2.6 重试间隔 337 28.3 ...
  • TCPIP详解卷[1].part08

    2010-12-29 11:04:39
    28章 SMTP:简单邮件传送协议 332 28.1 引言 332 28.2 SMTP协议 332 28.2.1 简单例子 332 28.2.2 SMTP命令 334 28.2.3 信封、首部和正文 335 28.2.4 中继代理 335 28.2.5 NVT ASCII 337 28.2.6 重试间隔 337 28.3 ...
  • TCPIP详解卷[1].part06

    2010-12-29 11:03:10
    28章 SMTP:简单邮件传送协议 332 28.1 引言 332 28.2 SMTP协议 332 28.2.1 简单例子 332 28.2.2 SMTP命令 334 28.2.3 信封、首部和正文 335 28.2.4 中继代理 335 28.2.5 NVT ASCII 337 28.2.6 重试间隔 337 28.3 ...
  • TCPIP详解卷[1].part05

    2010-12-29 11:02:35
    该文件共分12个压缩包,必须下载到同一个文件夹后解压。 简介: 《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作...附录F 可以免费获得的源代码 406...
  • TCPIP详解卷[1].part04

    2010-12-29 11:01:49
    28章 SMTP:简单邮件传送协议 332 28.1 引言 332 28.2 SMTP协议 332 28.2.1 简单例子 332 28.2.2 SMTP命令 334 28.2.3 信封、首部和正文 335 28.2.4 中继代理 335 28.2.5 NVT ASCII 337 28.2.6 重试间隔 337 28.3 ...
  • TCP/IP详解part_2

    2010-12-29 10:58:48
    28章 SMTP:简单邮件传送协议 332 28.1 引言 332 28.2 SMTP协议 332 28.2.1 简单例子 332 28.2.2 SMTP命令 334 28.2.3 信封、首部和正文 335 28.2.4 中继代理 335 28.2.5 NVT ASCII 337 28.2.6 重试间隔 337 28.3 ...
  • TCPIP详解卷[1].part10

    2010-12-29 11:08:06
    28章 SMTP:简单邮件传送协议 332 28.1 引言 332 28.2 SMTP协议 332 28.2.1 简单例子 332 28.2.2 SMTP命令 334 28.2.3 信封、首部和正文 335 28.2.4 中继代理 335 28.2.5 NVT ASCII 337 28.2.6 重试间隔 337 28.3 ...
  • TCPIP详解卷[1].part07

    2010-12-29 11:04:06
    28章 SMTP:简单邮件传送协议 332 28.1 引言 332 28.2 SMTP协议 332 28.2.1 简单例子 332 28.2.2 SMTP命令 334 28.2.3 信封、首部和正文 335 28.2.4 中继代理 335 28.2.5 NVT ASCII 337 28.2.6 重试间隔 337 28.3 ...

空空如也

空空如也

1 2 3 4 5
收藏数 97
精华内容 38
关键字:

以太网控制器代码28