ImageVerifierCode 换一换
格式:DOC , 页数:10 ,大小:240.42KB ,
资源ID:10997908      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-10997908.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于ENC28J60的嵌入式网络接口的设计.doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

基于ENC28J60的嵌入式网络接口的设计.doc

1、基于 ENC28J60 的嵌入式网络接口的设计发布日期:2008-06-18 作者:刘琼 朱志伟 周志光 来源:微计算机信息 摘要:设计了以 ENC28J60 为核心的以太网接口实现方案,描述了该系统硬件架构的设计方法。在简要介绍了以太网控制器ENC28J60 的结构、功能、外围电路的基础上,对 ENC28J60 与Atmega16 的 SPI 通讯进行了阐述。此方案不仅成本低,而且可以实现 500Kbps 以上的传输速率,满足了嵌入式系统的 Internet控制要求。 关键词:嵌入式系统;ENC28J60;SPI 1 引言随着 Internet 的出现和以太网的迅速发展,基于以太网的设备控制

2、越来越多。目前市场上大部分以太网控制器采用的封装均超过 80 引脚,如 RTL8019AS、DM9008、CS8900A 等。这些器件不仅结构复杂,面积庞大,且系统开销较大。近来,Microchip 推出全球首枚 28 引脚独立以太网控制器 ENC28J60,可为嵌入式系统提供低引脚数、低成本、精简的远程通讯解决方案。2 ENC28J60 网络接口体系结构ENC28J60 是带有行业标准串行外设接口(Serial Peripheral Interface,SPI)的独立以太网控制器。它符合IEEE 802.3 的全部规范,采用了一系列包过滤机制以对传入数据包进行限制。它还提供了一个内部 DMA

3、 模块,以实现快速数据吞吐和硬件支持的 IP 校验和计算。与主控制器的通信通过两个中断引脚(INT 和WOL)和 SPI 脚(SO、SI 、SCK、CS)实现,数据传输速率高达 10 Mb/s。两个专用的引脚(LEDA、LEDB)用于连接 LED,进行网络活动状态指示。图 1 所示为 ENC28J60 的典型应用电路。图 1 ENC28J60 的典型应用电路ENC28J60 由 7 个主要功能模块组成:SPI 接口,充当主控制器和 ENC28J60 之间通信通道;控制寄存器,用于控制和监视 ENC28J60;双端口 RAM 缓冲器,用于接收和发送数据包;判优器,当 DMA、发送和接收模块发出请

4、求时对 RAM 缓冲器的访问进行控制;总线接口,对通过 SPI 接收的数据和命令进行解析;MAC 模块:实现符合 IEEE 802.3 标准的 MAC 逻辑;PHY 模块,对双绞线上的模拟数据进行编码和译码。ENC28J60 还包括其他支持模块,诸如振荡器、片内稳压器、电平变换器(提供可以接受 5V 电压的 I/O引脚)和系统控制逻辑。根据以上说明, ENC28J60 应用于嵌入式网络接口是非常合适的,有广阔的应用发展前景。3 ENC28J60 在嵌入式网络接口的应用31 硬件电路设计利用 ENC28J60 可以构成不同功能的网络终端节点,如网络服务器、带 Internet 功能的设备、远程监

5、控(数据采集,诊断)设备等。图 2 所示为基于 ENC28J60 的嵌入式网络接口的硬件电路原理图。电路中有:2个 LED 状态指示灯主要用来显示网络连接状态,包括 PHY 是否冲突、连接是否建立、是否接收数据、连接速度、双工模式等;必需的偏置电阻 R3(2k ,精度为 1%);高速局域网电磁隔离模块(即 RJ45 以太网接口),应用中,ENC28J60 的物理端口与隔离变压器 HR901170A 连接时必须符合 IEEE802.3 对物理层规范的要求,如 RJ45 的插孔与隔离变压器的间隔应尽量小,输出和输入差分信号对的走线要有很好的隔离。图 2 基于 ENC28J60 的嵌入式网络接口的硬

6、件电路原理图电路中的主控制器采用 Atmel 公司的 ATmega16 单片机,它具有先进的 RISC(精简指令集计算机) 结构、16 kB 可编程 Flash 存储器、512 B 的 EEPROM 和 1 kB 片内 SRAM,具有丰富的外设接口,其 SPI 接口允许ATmega16 与外设进行高速的同步数据传输。本设计中 ATmega16 SPI 配置为主机模式,ENC28J60 为从设备。ATmega16 的 SPI 工作模式由 CPOL、CPHA 设置,根据 ENC28J60 的 SPI 读写时序,ATmega16 的SPI 工作模式应设置为模式 0。ATmega16 通过将 ENC2

7、8J60 的 CS 引脚置低实现与其的同步。SPI 时钟由写入到 SPI 发送缓冲寄存器的数据启动,SPI MOSI(PB5)引脚上的数据发送秩序由寄存器 SPCR 的DORD 位控制,置位时数据的 LSB(最低位) 首先发送,否则数据的 MSB(最高位)首先发送。我们选择先发送 MSB,同时接收到的数据传送到接收缓冲寄存器,CPU 进行右对齐从接收缓冲器中读取接收到的数据。应该注意,当需要从 ENC28J60 中读取多个数据时,即使 ENC28J60 并不需要 ATmega16 串行输出的数据,每读取一个数据前都要向 SPI 发送缓冲器写一个数据以启动 SPI 接口时钟。由于 SPI 系统的

8、发送方向只有1 个缓冲器,而在接收方向有 2 个缓冲器,所以在发送时一定要等到移位过程全部结束后,才能对 SPI 数据寄存器执行写操作;而在接收数据时,需要在下一个字节移位过程结束之前通过访问 SPI 数据寄存器读取当前接收到的数据,否则第 1 个数据丢失。32 ENC28J60 软件初始化在使用 ENC28J60 发送和接收数据包前,必须对器件进行初始化设置。根据不同的应用,一些配置选项可能需要更改。初始化设置工作包括接收和发送缓冲器、接收过滤器、晶振启动时间、MAC 寄存器、PHY寄存器。初始化芯片之前先关闭单片机的中断输入,对 RESET 引脚给定一个持续的低电平复位信号,然后对相应的寄

9、存器进行设置。设置完成所有需要的寄存器后,判断以太网状态中的时钟启动标志位是否置位,然后开中断。系统初始化后进入主程序循环,包括单片机的控制作用和网络数据传输。对于以太网传输部分来说主要有两个作用:一是对要发送的数据按照以太网数据帧格式进行封装并发送;二是对接收的以太网数据帧进行解包,供应用程序使用。33 ENC28J60 发送数据包在进行数据包发送或接收时,要先对写缓冲存储器(Write Buffer Memory,WBM)命令掌握。WBM 允许主控制器将字节写入 8KB 发送和接收缓冲存储器。如果 ECON2 寄存器中的 AUTOINC 位置 1,那么在写完每个字节的最后一位之后,EWRP

10、T 指针将会自动地递增指向下一个地址(当前地址加 1)。如果写入地址 1FFF 且 AUTOINC 置 1,则写指针加 1 指向 0000h。将 CS 引脚拉为低电平启动 WBM 命令。然后将WBM 操作码及随后的 5 位常量 1Ah 送入 ENC28J60。在发送 WBM 命令和常量之后,由 EWRPT 指向的存储器中的数据将移入 ENC28J60,首先移入最高位。在接收到 8 个数据位后,如果 AUTOINC 置 1,写指针将自动递增。主控制器可以继续在 SCK 引脚提供时种信号、在 SI 引脚发送数据同时保持/CS 为低电平,从而可以连续写入存储器。 当 AUTOINC 被使能时,以该方

11、式就可以连续地向缓冲存储器写入字节而无需多余的 SPI 命令。拉高 CS 引脚电平可结束 WBM 命令。在 WBM 操作期间,SO 引脚一直为高阻态, WBM 操作时序,请参见图 3。图 3 写缓冲存储器时序图ENC28J60 内的 MAC 在发送时会自动生成前导符和帧起始定界符。 此外,MAC 可根据配置生成填充(如果需要)和 CRC 字段。主控制器必须生成所有其他帧字段,并将它们写入缓冲存储器,以待发送。此外,ENC28J60 还要求在待发送的数据包前添加一个包控制字节。主控制器应:1.正确编程 ETXST 指针,使之指向存储器中未用的单元。它将指向包控制字节,在本设计方案中,指针应编程为

12、 0120h;2.使用WBM SPI 命令写入包控制字节、目标地址、源 MAC 地址、类型/ 长度和数据有效负载;3.正确编程ETXND 指针。它应指向数据有效负载的最后一个字节,在本设计方案中,指针应编程为 0156h;4.将EIR.TXIF 位清零、将 EIE.TXIE 位和 EIE.INTIE 位置 1 允许在发送完成后产生中断(如果需要);5.将ECON1.TXRTS 位置 1 开始发送。如果在 TXRTS 位置 1 时正在进行 DMA 操作,ENC28J60 会等待 DMA操作完成再发送。 这种等待是必需的,因为 DMA 和发送引擎共享同一个存储器访问端口。同样如果在TXRTS 已置

13、 1 后,ECON1 中 DMAST 位才置 1,DMA 在 TXRTS 位清零前不会采取任何动作。 如果正在进行发送,不应通过 SPI 读取或写入任何待发送的字节。主控制器将 TXRTS 位清零可取消发送。如果数据包发送完成或因错误取消而中止发送,ECON1.TXRTS 位会被清零,一个 7 字节的发送状态向量将被写入由 ETXND + 1 指向的单元,EIR.TXIF 会被置 1 并产生中断(如果允许)。要验证数据包是否成功发送,应读取 ESTAT.TXABRT 位。如果该位置 1,主控制器在查询发送状态向量的各个字段外,还应查询ESTAT.LATECOL 位,以确定失败的原因。下面给出写

14、数据包的源代码:void encWriteBuffer(unsigned int len,unsigned char *data)PORTB / send write commandSPDR = ENC28J60_WRITE_BUF_MEM;while(!(SPSR while(len-)/ write dataSPDR = *data+;while(!(SPSR PORTB |= CS_ENJ;33 ENC28J60 接收数据包假设接收缓冲器已完成初始化,MAC 已正确配置而且接收过滤器已配置为接收以太网数据包,主控制器应该:1.如果需要在接收到数据包时产生一个中断,就要将 EIE.PKTI

15、E 位和 EIE.INTIE 位置 1;2. 如果需要在由于缓冲空间不足导致数据包丢失时产生一个中断,就要将 EIR.RXERIF 位清零,并将 EIE.RXERIE位和 EIE.INTIE 位置 1;3. 通过将 ECON1.RXEN 位置 1 使能接收。在将 RXEN 置 1 后,将不能修改双工模式和接收缓冲器起始和结束指针。此外,要阻止不期望接收的数据包,在更改接收过滤器配置寄存器(ERXFCON)和 MAC 地址前建议将 RXEN 清零。在使能接收后,没有过滤掉的数据包将写入循环接收缓冲器。任何不符合过滤条件的数据包将被丢弃,但主控制器无法识别一个数据包已被丢弃。当接收到一个数据包并将

16、其完整写入缓冲器时,EPKTCNT 寄存器将递增,EIR.PKTIF 位将置 1,并产生一个中断(如果允许),同时硬件写指针 ERXWRPT 自动递增。4 结束语随着数字化、智能化仪器的飞速发展,采用以太网进行通信的应用将会越来越广泛。ENC28J60 芯片是网络技术与单片机技术的完美结合,用它可以方便地实现嵌入式系统的以太网连接,可广泛用于智能交通、汽车电子、工业控制、信息家电、医学仪器等各种嵌入式系统应用场合。本文作者的创新点:通过 ENC28J60 芯片所设计的嵌入式网络接口可以在多种环境中应用,能按需要进行配置来完成系统功能,并且在成本、体积、功耗、灵活性等方面具有明显的优势,能为智能

17、化仪器与设备、信息家电等开拓新的应用前景。参考文献1 祁树胜. SPI 接口以太网控制器 ENC28J60 及其应用J .微计算机信息,2006, 8-2:266-268.2 Microchip Technology Inc. ENC28J60 Stand-Alone Ethernet Controller with SPI Interface. http:/ 周晓阳,程红,张晓媛. 新型以太网控制器 ENC28J60 及其接口技术J .单片机与嵌入式系统应用,2006, 8:34-36.基于 ENC28J60 的嵌入式网络接口的设计作者:刘琼 朱志伟 周志光 来源:微计算机信息 录入:蝴蝶仙

18、子 字体: Design of embedded network interface based on ENC28J60 摘要:设计了以 ENC28J60 为核心的以太网接口实现方案,描述了该系统硬件架构的设计方法。在简要介绍了以太网控制器 ENC28J60 的结构、功能、外围电路的基础上,对 ENC28J60 与 Atmega16 的 SPI 通讯进行了阐述。此方案不仅成本低,而且可以实现 500Kbps 以上的传输速率,满足了嵌入式系统的 Internet控制要求。关键词:嵌入式系统;ENC28J60;SPIAbstract: A solution of ethernet interfac

19、e based on the core of ENC28J60 and its architecture of hardware is illustrated. Following a brief introduction of the structure, functions and external connections of the ENC28J60.The solution how to make ENC28J60 communicate with Atmega16 are expatiated. This solution not only can reduce the cost

20、but also can obtain the transmitted rate of 500Kbps,and can satisfy the requirements of controlling embedded system through Internet.Key words: Embedded system; ENC28J60; SPI1 引言随着 Internet 的出现和以太网的迅速发展,基于以太网的设备控制越来越多。目前市场上大部分以太网控制器采用的封装均超过 80 引脚,如RTL8019AS、DM9008、CS8900A 等。这些器件不仅结构复杂,面积庞大,且系统开销较大。近

21、来,Microchip 推出全球首枚 28 引脚独立以太网控制器ENC28J60,可为嵌入式系统提供低引脚数、低成本、精简的远程通讯解决方案。2 ENC28J60 网络接口体系结构ENC28J60 是带有行业标准串行外设接口(Serial Peripheral Interface,SPI)的独立以太网控制器。它符合 IEEE 802.3 的全部规范,采用了一系列包过滤机制以对传入数据包进行限制。它还提供了一个内部 DMA 模块,以实现快速数据吞吐和硬件支持的 IP 校验和计算。与主控制器的通信通过两个中断引脚( INT 和WOL)和 SPI 脚(SO、SI、SCK 、CS)实现,数据传输速率高

22、达 10 Mb/s。两个专用的引脚(LEDA 、LEDB )用于连接 LED,进行网络活动状态指示。图 1所示为 ENC28J60 的典型应用电路。图 1 ENC28J60 的典型应用电路ENC28J60 由 7 个主要功能模块组成:SPI 接口,充当主控制器和 ENC28J60 之间通信通道;控制寄存器,用于控制和监视 ENC28J60;双端口 RAM 缓冲器,用于接收和发送数据包;判优器,当 DMA、发送和接收模块发出请求时对RAM 缓冲器的访问进行控制;总线接口,对通过 SPI 接收的数据和命令进行解析;MAC 模块:实现符合 IEEE 802.3 标准的 MAC 逻辑;PHY 模块,对

23、双绞线上的模拟数据进行编码和译码。ENC28J60 还包括其他支持模块,诸如振荡器、片内稳压器、电平变换器(提供可以接受 5V 电压的 I/O 引脚)和系统控制逻辑。根据以上说明, ENC28J60 应用于嵌入式网络接口是非常合适的,有广阔的应用发展前景。3 ENC28J60 在嵌入式网络接口的应用31 硬件电路设计利用 ENC28J60 可以构成不同功能的网络终端节点,如网络服务器、带 Internet功能的设备、远程监控(数据采集,诊断)设备等。图 2 所示为基于 ENC28J60 的嵌入式网络接口的硬件电路原理图。电路中有:2 个 LED 状态指示灯主要用来显示网络连接状态,包括 PHY

24、 是否冲突、连接是否建立、是否接收数据、连接速度、双工模式等;必需的偏置电阻 R3(2k,精度为 1%);高速局域网电磁隔离模块(即 RJ45 以太网接口),应用中,ENC28J60 的物理端口与隔离变压器 HR901170A 连接时必须符合 IEEE802.3 对物理层规范的要求,如 RJ45 的插孔与隔离变压器的间隔应尽量小,输出和输入差分信号对的走线要有很好的隔离。图 2 基于 ENC28J60 的嵌入式网络接口的硬件电路原理图电路中的主控制器采用 Atmel 公司的 ATmega16 单片机,它具有先进的RISC(精简指令集计算机 )结构、16 kB 可编程 Flash 存储器、512

25、 B 的 EEPROM和 1 kB 片内 SRAM,具有丰富的外设接口,其 SPI 接口允许 ATmega16 与外设进行高速的同步数据传输。本设计中 ATmega16 SPI 配置为主机模式,ENC28J60 为从设备。ATmega16 的 SPI 工作模式由 CPOL、CPHA 设置,根据ENC28J60 的 SPI 读写时序,ATmega16 的 SPI 工作模式应设置为模式0。ATmega16 通过将 ENC28J60 的 CS 引脚置低实现与其的同步。 SPI 时钟由写入到 SPI 发送缓冲寄存器的数据启动,SPI MOSI(PB5)引脚上的数据发送秩序由寄存器 SPCR 的 DOR

26、D 位控制,置位时数据的 LSB(最低位)首先发送,否则数据的 MSB(最高位) 首先发送。我们选择先发送 MSB,同时接收到的数据传送到接收缓冲寄存器,CPU 进行右对齐从接收缓冲器中读取接收到的数据。应该注意,当需要从 ENC28J60 中读取多个数据时,即使 ENC28J60 并不需要ATmega16 串行输出的数据,每读取一个数据前都要向 SPI 发送缓冲器写一个数据以启动 SPI 接口时钟。由于 SPI 系统的发送方向只有 1 个缓冲器,而在接收方向有 2 个缓冲器,所以在发送时一定要等到移位过程全部结束后,才能对SPI 数据寄存器执行写操作;而在接收数据时,需要在下一个字节移位过程

27、结束之前通过访问 SPI 数据寄存器读取当前接收到的数据,否则第 1 个数据丢失。32 ENC28J60 软件初始化在使用 ENC28J60 发送和接收数据包前,必须对器件进行初始化设置。根据不同的应用,一些配置选项可能需要更改。初始化设置工作包括接收和发送缓冲器、接收过滤器、晶振启动时间、MAC 寄存器、PHY 寄存器。初始化芯片之前先关闭单片机的中断输入,对 RESET 引脚给定一个持续的低电平复位信号,然后对相应的寄存器进行设置。设置完成所有需要的寄存器后,判断以太网状态中的时钟启动标志位是否置位,然后开中断。系统初始化后进入主程序循环,包括单片机的控制作用和网络数据传输。对于以太网传输

28、部分来说主要有两个作用:一是对要发送的数据按照以太网数据帧格式进行封装并发送;二是对接收的以太网数据帧进行解包,供应用程序使用。33 ENC28J60 发送数据包在进行数据包发送或接收时,要先对写缓冲存储器(Write Buffer Memory,WBM )命令掌握。 WBM 允许主控制器将字节写入 8KB 发送和接收缓冲存储器。如果 ECON2 寄存器中的 AUTOINC 位置 1,那么在写完每个字节的最后一位之后,EWRPT 指针将会自动地递增指向下一个地址(当前地址加1)。如果写入地址 1FFF 且 AUTOINC 置 1,则写指针加 1 指向 0000h。将 CS引脚拉为低电平启动 W

29、BM 命令。然后将 WBM 操作码及随后的 5 位常量 1Ah送入 ENC28J60。在发送 WBM 命令和常量之后,由 EWRPT 指向的存储器中的数据将移入 ENC28J60,首先移入最高位。在接收到 8 个数据位后,如果AUTOINC 置 1,写指针将自动递增。主控制器可以继续在 SCK 引脚提供时种信号、在 SI 引脚发送数据同时保持/CS 为低电平,从而可以连续写入存储器。 当 AUTOINC 被使能时,以该方式就可以连续地向缓冲存储器写入字节而无需多余的 SPI 命令。拉高 CS 引脚电平可结束 WBM 命令。在 WBM 操作期间,SO 引脚一直为高阻态, WBM 操作时序,请参见

30、图 3。图 3 写缓冲存储器时序图ENC28J60 内的 MAC 在发送时会自动生成前导符和帧起始定界符。 此外,MAC 可根据配置生成填充(如果需要)和 CRC 字段。主控制器必须生成所有其他帧字段,并将它们写入缓冲存储器,以待发送。此外,ENC28J60 还要求在待发送的数据包前添加一个包控制字节。主控制器应:1.正确编程 ETXST 指针,使之指向存储器中未用的单元。它将指向包控制字节,在本设计方案中,指针应编程为 0120h;2.使用 WBM SPI 命令写入包控制字节、目标地址、源MAC 地址、类型/ 长度和数据有效负载; 3.正确编程 ETXND 指针。它应指向数据有效负载的最后一

31、个字节,在本设计方案中,指针应编程为 0156h;4.将EIR.TXIF 位清零、将 EIE.TXIE 位和 EIE.INTIE 位置 1 允许在发送完成后产生中断(如果需要);5.将 ECON1.TXRTS 位置 1 开始发送。如果在 TXRTS 位置1 时正在进行 DMA 操作,ENC28J60 会等待 DMA 操作完成再发送。 这种等待是必需的,因为 DMA 和发送引擎共享同一个存储器访问端口。同样如果在TXRTS 已置 1 后,ECON1 中 DMAST 位才置 1,DMA 在 TXRTS 位清零前不会采取任何动作。 如果正在进行发送,不应通过 SPI 读取或写入任何待发送的字节。主控

32、制器将 TXRTS 位清零可取消发送。如果数据包发送完成或因错误取消而中止发送,ECON1.TXRTS 位会被清零,一个 7 字节的发送状态向量将被写入由 ETXND + 1 指向的单元,EIR.TXIF 会被置 1 并产生中断(如果允许)。要验证数据包是否成功发送,应读取 ESTAT.TXABRT 位。如果该位置1,主控制器在查询发送状态向量的各个字段外,还应查询 ESTAT.LATECOL位,以确定失败的原因。下面给出写数据包的源代码:void encWriteBuffer(unsigned int len,unsigned char *data)PORTB / send write co

33、mmandSPDR = ENC28J60_WRITE_BUF_MEM;while(!(SPSR while(len-)/ write dataSPDR = *data+;while(!(SPSR PORTB |= CS_ENJ;33 ENC28J60 接收数据包假设接收缓冲器已完成初始化,MAC 已正确配置而且接收过滤器已配置为接收以太网数据包,主控制器应该:1.如果需要在接收到数据包时产生一个中断,就要将 EIE.PKTIE 位和 EIE.INTIE 位置 1;2. 如果需要在由于缓冲空间不足导致数据包丢失时产生一个中断,就要将 EIR.RXERIF 位清零,并将 EIE.RXERIE位和

34、EIE.INTIE 位置 1;3. 通过将 ECON1.RXEN 位置 1 使能接收。在将 RXEN置 1 后,将不能修改双工模式和接收缓冲器起始和结束指针。此外,要阻止不期望接收的数据包,在更改接收过滤器配置寄存器(ERXFCON)和 MAC 地址前建议将 RXEN 清零。在使能接收后,没有过滤掉的数据包将写入循环接收缓冲器。任何不符合过滤条件的数据包将被丢弃,但主控制器无法识别一个数据包已被丢弃。当接收到一个数据包并将其完整写入缓冲器时,EPKTCNT 寄存器将递增,EIR.PKTIF 位将置 1,并产生一个中断(如果允许),同时硬件写指针 ERXWRPT 自动递增。4 结束语随着数字化、

35、智能化仪器的飞速发展,采用以太网进行通信的应用将会越来越广泛。ENC28J60 芯片是网络技术与单片机技术的完美结合,用它可以方便地实现嵌入式系统的以太网连接,可广泛用于智能交通、汽车电子、工业控制、信息家电、医学仪器等各种嵌入式系统应用场合。本文作者的创新点:通过 ENC28J60 芯片所设计的嵌入式网络接口可以在多种环境中应用,能按需要进行配置来完成系统功能,并且在成本、体积、功耗、灵活性等方面具有明显的优势,能为智能化仪器与设备、信息家电等开拓新的应用前景。参考文献1 祁树胜. SPI 接口以太网控制器 ENC28J60 及其应用 J .微计算机信息,2006, 8-2:266-268.2 Microchip Technology Inc. ENC28J60 Stand-Alone Ethernet Controller with SPI Interface. http:/ 周晓阳,程红,张晓媛. 新型以太网控制器 ENC28J60 及其接口技术J .单片机与嵌入式系统应用,2006, 8:34-36.作者简介:刘琼(1965),女(汉族),湖南长沙人,副教授。主要研究方向:智能控制与工业自动化。(410004 湖南 长沙民政学院电子信息工程系)刘琼 朱志伟 周志光联系方式:邮编:410004地址:长沙民政学院电子信息工程系

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报