- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ENC28J60的AVR单片机接口设计与网络通信编程
本文介绍了带有行业标准串行外设接口(serial peripheral interface,spi)的独立以太网控制器enc28j60 在avr单片机接口开发设计中的应用,以及单片机控制enc28j60的程序及计算机与enc28j60进行网络通信的有关程序设计段。
一、概述
带spi接口的enc28j60由七个主要功能模块组成:1. spi 接口:充当主控制器和enc28j60 之间通信通道;2. 控制寄存器:用于控制和监视enc28j60;3. 双端口ram缓冲器:用于接收和发送数据包;4. 判优器:当dma、发送和接收模块发出请求时对ram 缓冲器的访问进行控制;5. 总线接口:对通过spi 接收的数据和命令进行解析;6. mac (medium access control)模块:实现符合ieee 802.3 标准的mac 逻辑;7. phy(物理层)模块——对双绞线上的模拟数据进行编码和译码。该器件还包括其他支持模块,诸如振荡器、片内稳压器、电平变换器(提供可以接受5v 电压的i/o 引脚)和系统控制逻辑。
二、器件结构接口示意框图
enc28j60 中所有的存储器都是以静态ram 的方式实现的。enc28j60 中有三种类型的存储器:控制寄存器、以太网缓冲器和phy寄存器,控制寄存器类存储器包含控制寄存器(control register,cr)。它们用于进行enc28j60 的配置、控制和状态获取。可以通过spi 接口直接读写这些控制寄存器。phy 寄存器用于进行phy 模块的配置、控制和状态获取。phy 寄存器用于进行phy 模块的配置、控制和状态获取。不可以通过spi 接口直接访问这些寄存器,只可通过mac 中的mii (media independent interface)访问这些寄存器。
enc28j60的接口示意框图如图1所示:
三、工作原理
如图1所示,在enc28j60中接口so、si、sck和cs可与许多单片机(本远程监控系统中使用单片机的是atmega1280-16au)上的串行外设接口spi(如图2中pb0、pb1、pb2和pb3)直接相连。另外,在enc28j60的spi 端口要求sck 在空闲状态时为低电平,并且不支持时钟极性选择。在sck 的每个上升沿移入数据,命令和数据通过si 引脚送入器件。enc28j60 在sck 的下降沿从so 引脚输出数据。当执行操作时cs 引脚必须保持低电平,当操作完成时返回高电平。
主机和从机之间的spi 连接系统包括两个移位寄存器和一个主机时钟发生器。通过将需要的从机的 ss 引脚拉低,主机启动一次通讯过程。主机和从机将需要发送的数据放入相应的移位寄存器。该移位寄存器可存储8位二进制数,主机在sck 引脚上产生时钟脉冲以交换数据。主机的数据从主机的mosi 移出,从从机的mosi 移入;从机的数据从从机的miso 移出,从主机的miso 移入。主机通过将从机的ss 拉高实现与从机的同步。如图3所示:
配置为spi 主机时, spi 接口不自动控制 ss 引脚,必须由用户软件来处理。对 spi 数据寄存器写入数据即启动spi 时钟,将8 比特的数据移入从机。传输结束后spi 时钟停止,传输结束标志spif 置位。如果此时spcr 寄存器的spi 中断使能位spie 置位,中断就会发生。主机可以继续往spdr 写入数据以移位到从机中去,或者是将从机的ss拉高以说明数据包发送完成。最后进来的数据将一直保存于缓冲寄存器里。
配置为从机时,只要ss 为高,spi 接口将一直保持睡眠状态,并保持miso 为三态。在这个状态下软件可以更新spi 数据寄存器spdr 的内容。即使此时sck 引脚有输入时钟,spdr 的数据也不会移出,直至ss 被拉低。一个字节完全移出之后,传输结束标志spif置位。如果此时spcr寄存器的spi中断使能位spie置位,就会产生中断请求。在读取移入的数据之前从机可以继续往spdr 写入数据。最后进来的数据将一直保存于缓冲寄存器里。
spi 系统的发送方向只有一个缓冲器,而在接收方向有两个缓冲器。也就是说,在发送时一定要等到移位过程全部结束后才能对spi 数据寄存器执行写操作。而在接收数据时,需要在下一个字符移位过程结束之前通过访问spi 数据寄存器读取当前接收到的字符。否则第一个字节将丢失。
四、网络编程以及程序实现
本文以调谐器为例进行说明,使用iccavr-v7.17b软件对单片机atmega1280-16au进行编程,其中在protocol.c中需要对主控制器的网络通信ip地址、子网掩码等进行初始化,如
电脑端接收字节数据的程序段如下:
电脑端接收字节数据的程序段如下:
您可能关注的文档
最近下载
- 浅析企业员工流失的原因及对策——以福州永辉超市为例.docx VIP
- XK3190-C8技术手册.pdf VIP
- 广州市历年中考(2025-2026)化学试题(含答案).doc VIP
- 办公设备维护方案.docx VIP
- 浙江省杭州市学军中学四校区2022-2023学年高二上学期期末物理试题(含答案解析).docx
- 《金瓶梅》中潘金莲“绣鞋”之物象探析.doc VIP
- 14s501-1P35-37页球磨铸铁踏步施工检验标准.pdf VIP
- 2026年上海市松江区中考一模化学试卷含详解.docx VIP
- 2025研读新课标,探寻数学教育新方向——读《小学数学新课程标准》有感.docx
- 如何通过手机号码查询行动轨迹.docx VIP
原创力文档


文档评论(0)