发布网友 发布时间:2024-12-11 22:04
共1个回答
热心网友 时间:2024-12-11 23:03
ENC28J60概述
ENC28J60是一款集成了MAC控制器和PHY收发器的以太网控制器,它能够通过SPI接口方便地与微控制器(MCU)通信以实现以太网扩展。该器件符合IEEE 802.3标准,具备包过滤机制、内部DMA模块、以及支持硬件校验和计算的能力。通过SPI与主控制器连接,数据传输速率可达10Mb/s,并提供两个专用引脚用于LED指示网络活动状态。图1-1展示了ENC28J60的简化框图,而图1-2为典型应用电路。实现10Mbps以太网连接只需ENC28J60、两个脉冲变压器和少量无源元件即可。
ENC28J60主要功能模块包括:
数据包格式
符合IEEE 802.3标准的以太网帧长度一般在字节至1518字节之间,由5至6个字段组成:目标MAC地址、源MAC地址、类型/长度字段、数据有效负载、可选填充字段和循环冗余校验(CRC)字段。此外,前导字段和帧起始定界符在发送时自动生成,在接收时被剥离。
发送和接收数据包
发送数据包时,主控制器负责生成所有帧字段并写入缓冲存储器。ENC28J60将自动生成前导符、帧起始定界符、填充(如果需要)和CRC字段。接收数据包时,必须初始化接收缓冲器,配置接收过滤器,并使能接收功能。主控制器可通过中断和接收状态向量来监控数据包接收情况。
初始化
使用ENC28J60发送和接收数据包前需进行初始化设置。包括接收缓冲器初始化、设置接收过滤器、等待振荡器起振时间、MAC和PHY寄存器初始化等。初始化通常在复位后立即完成。
接收缓冲器初始化
接收缓冲器初始化涉及编程ERXST和ERXND指针,用于确定接收缓冲器的起始和结束地址。ERXST建议用偶地址编程,以支持大量数据和频繁数据包交换的应用。预留至少7个字节用于跟踪接收数据。发送缓冲器通常不需要特定初始化。
等待振荡器起振时间
在执行初始化操作后,应确保经过足够的时间,查询ESTAT.CLKRDY位以确保振荡器完全起振。
MAC初始化
配置MAC寄存器以设置发送特性。初始化顺序不重要。
PHY初始化
配置PHY寄存器以适应不同应用需求,包括双工模式控制、LED输出配置等。确保与MAC配置相匹配,实现正确的双工操作。