ENC28J60的AVR单片机接口设计与网络通信编程

来源 :数字化用户 | 被引量 : 0次 | 上传用户:yinyueemo1122334
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  本文介绍了带有行业标准串行外设接口(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地址、子网掩码等进行初始化,如
  电脑端接收字节数据的程序段如下:
  电脑端接收字节数据的程序段如下:
其他文献
综述了先进过程装置开发、使用、再制造等方面所涉及的科学基础问题,主要介绍与过程装置密切相关的计算分子动力学、计算流体力学问题、流固耦合问题、高温材料与结构的寿命
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
应用Bayes方法,研究了阶段试验信息中具有不确定数据的的二项可靠性增长问题,提出了可靠性最低置信限及试验阶段的划分方法,并给出实例.
采用纯粉末,通过SPS烧结制备了组织均匀、致密且体积分数高的SiC_p/Al电子封装材料.通过对SPS烧结现象的研究,认为该复合材料的SPS烧结过程属于反应性烧结,大部分收缩在极短时
【摘 要】本文将对网络通信系统的脆弱性以及系统的安全威胁性两种风险进行分析,然后提出具有针对性的措施来规避这两种风险,从而为网络通信系统的健康发展提供科学的参考依据。  【关键词】网络通信系统 风险评估 规避措施  在网络通信系统中有两个重要的问题亟待解决,一个是网络通信系统的脆弱性,另一个是网络通信系统的安全威胁性。要想让网络通信系统更好的为我们的社会生活服务,就需要采取有效的措施来对网络通信系
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
智能家居在我国发展已有十余年之久的历史,但基于一些行业现状,一直没有得到大规模的发展。如何能让智能家居系统在国内得到快速发展,迅速走上一条健康发展的道路,想必是每个行业
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
期刊
目的 观察小鼠原位肝癌移植模型中髓系来源抑制性细胞(MDSCs)的表达.方法 将10只BALB/c小鼠随机分为两组:正常组和荷瘤组,后组是将H22肝癌细胞注射到肝左外叶,制作小鼠原位肝癌移植模型.10d后处死小鼠.流式细胞术检测两组小鼠外周血、骨髓、脾脏及肝脏组织中MDSCs的表达.结果 荷瘤组小鼠外周血、骨髓和脾脏中的MDSCs比例为[(47.73±6.00)、(71.90±4.30)、(11.