浅析ENC28J60模块在单片机以太网通信中重置问题

来源 :科学与财富 | 被引量 : 0次 | 上传用户:wwucg
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:针对ENC28J60模块稳定性问题,采用周期重置的方式来提高其连续运行的稳定性;结合网络状态实时监测,对周期重置方式进行改进,改善了系统联网的质量。
  关键词:ENC28J60 单片机 稳定性
  一、引言
  单片机系统作为自动化控制的一个核心部件,随着其应用范围的不断扩大,不同单片机控制系统之间数据交互的需求也在不断的增加。传统的单片机之间通信一般是采用RS232串口来实现,该标准典型的传输速率只有9600bps,同时其传输距离也非常有限,很难适应不断发生的应用需求。相比于串口通信,以太网通信无论是通信速率还是通信距离都有很大的提升;美国微芯公司在2005年推出的ENC28J60是一个能够用于单片机以太网接入的集成电路芯片,该芯片采用28引脚的封装,自带SPI接口能够与带有该类型接口的单片机直接进行高速的数据交互。通过这种方式,可以将单片机控制系统接入到以太网中实现远程高速的数据通信。
  然而,在实际的工程实践过程中,在诸如数据通信量过大、系统工作时间太长等因素的影響下,容易导致ENC28J60通信模块无法正常进行数据通信,影响了单片机系统正常功能的发挥。在排除单片机系统自身控制程序问题的前提下,笔者尝试通过以下方式来对该问题进行解决。
  二、对ENC28J60模块进行周期重置
  该方法设计思路非常简单,就是在单片机中启动一个定时计数器,通过对定时计数器相关寄存器的初始化和单片机控制程序设计,得到一个符合系统需求的ENC28J60模块重置周期,在周期到来后,由单片机系统通过SPI接口向ENC28J60模块发送重置指令,实现对该模块的周期重置。通过测试,发现在该方式下系统能够在连续工作数小时(12小时以上)后,仍能进行数据通信。但是进一步的测试发现,该方式下,会出现较频繁的数据丢包现象。通过分析,发现导致丢包的原因是在ENC28J60模块进行数据接收或者是发送过程中,该模块设定的重置周期到了,此时,由定时计数器产生的中断将使单片机由数据收发流程直接跳转到中断服务程序,进行ENC28J60模块重置工作;该模块重置后,ENC28J60的接收和发送缓存将被清空,虽然单片机控制程序返回到数据接收/发送程序,但是重置时正在接收或发送的数据包已经被清除,从而导致丢包。由于重置周期与数据收时间之间不存在依存关系,因此,由此导致的数据包丢失是随机的,而且,当重置周期越短是,丢包现象越严重。
  针对以上存在的问题,对程序进行改进,将ENC28J60模块重置代码从中断服务程序中移出,程序流程如图1所示:。从流程图中可以看出,ENC28J60的每一次重置都将等到数据接收或发送完成之后进行,可以避免数据包丢失的情况出现。通过实际测试,系统能够在长时间(12小时以上)不间断工作之后保持稳定的通信质量,而且数据包丢失的问题得到明显改善。
  三、对周期重置的进一步改进
  上述对ENC28J60模块进行重置的方式可以解决该模块在出现死机后及时进行复位重置的问题,在一定程度上提高了系统整体的稳定性。然而,这种定时周期重置大部分都是在ENC28J60模块还能正常工作的情况下发生的,对模块本身而言,大部分操作都是多余的,甚至这种频繁的重置将会对模块的性能带来影响。基于这一考虑,对系统进行如下改进(如图2所示):
  1、在网络中设置一个服务站点(一般选择在性能稳定的网络服务器中实现)对所有通过ENC28J60接入到网络的单片机系统以时间间隔t为周期发送 “网络状态保持标志数据包”,当单片机系统链接的ENC28J60模块工作正常上,系统将能正常收到“网络状态保持标志数据包”,单片机在收到该数据包后,将对ENC28J60重置标志进行清除,并打开定时计数器,同时将定时计数器的中断周期设置为大于2倍的“网络状态保持标志数据包”发送周期t的某一个数字,比如2.5t,这样设置是为了保证在正常情况下一个时钟中断周期中至少能收到2个“网络状态保持标志数据包”。
  2、在定时计数器的中断服务程序中对ENC28J60重置标志进行置位,如果在一个定时计数周能内没有收到至少一个“网络状态保持标志数据包”,就表明网络链接异常,中断返回后,系统将对ENC28J60模块进行重置,从而使系统恢复正常。
  在进行以上改进后,对系统进行测试,在系统长时间(12小时以上)不间断工作后,系统仍能正常运行,网络丢包现象得到明显改善。
  四、结束语
  ENC28J60模块以其自身的优势,已经在自动化控制领域得到了广泛的应用,由此同时,对该模块运行稳定性的要求也越来越高。本文在不改变现有硬件设计的基础上,通过对控制程序进行改进,较好的改善了ENC28J60的工作稳定性,一定程度上满足了一些对单片机网络传输可靠性要求较高的工程应用。■
  参考文献
  【1】李阳,吴成富,邓红德.基于DSP和ENC28J60的多串口与以太网数据传输系统设计【J】.测控技术,2011,30(12):61-65.
  【2】张伟业,黄云龙,成国定,基于ENC28J60以太网通信接口的设计与实现【J】.机电工程,2008,25(1):28-30.
其他文献
古诗——中华文学艺术中的一支奇葩,它博大精深,灿若繁星,千百年来,以其精湛的语言,深邃的意境而脍炙人口、吟唱千古,滋润了无数代中国人。
1922年前后,中国妇女利用各地军阀修改宪法和制定省宪法的机会,在全国范围内掀起了轰轰烈烈的妇女参政运动。对于妇女参政,社会上议论纷纷,莫衷一是,主要有以下几方面的议论。一坚决支持女子参政。一部分人认为女子参政是社会进步的好现象,是中国妇女迅速觉醒的...
本文简要阐述了计算机病毒的概念,特征,重点分析了微机病毒产生的原因和作用机理,在此基础上提出预防和消除计算机病毒的一般方法,并对计算机病毒的发展趋势作了预测。
现阶段我国文艺欣赏群体的划分胡山林现阶段我国文艺欣赏群体应该怎样划分,每个欣赏群体的特点是什么,它是一个对文艺系统各个方面都有意义的问题:有利于作家艺术家全面了解服务对象的欣赏要求和欣赏能力,以便更好地调整艺术创作与艺术欣赏的关系;有利于文艺作品的出...
本文简要论述了Microsoft C/C++V7.0在程序开发过程中,利用预编译技术,缩短再编译时间的方法。
国有老企业改革之路的现实选择──创建产权机制与利益机制相结合的现代企业制度王琢(广东省赛思经济社会发展研究院)国有大中型老企业改革,路在何方?邓小平同志于1992年5月考察国有大中型老企业改革情况时,明确提出“国家对国有企业应当走放松的路”,“放水养...
论庄子的“无知”“不知”思想邓联合在庄子看来,人们的知识是分为不同层次的。例如,他说:“小知不及大知”①、“大知闲闲,小知间间”②,这是将知分为大小;又说:“小夫之知,不离苞苴
课程结构上的变化《普通高中新课程方案(实验)》在课程结构上的最大变化是引用了“学习领域”和“模块”两个概念。那么,这两个概念与传统的“科目”之间究竟是什么关系呢?它们有
内陆县域经济快速发展的成功之路──济源市调研报告省市联合课题组县域经济在我国国民经济中占有十分重要的地位。但是,目前在我国内陆县域经济发展中,突出存在着两大制约因素:一是县办工业企业效益每况愈下,使人们视为不可救药之症;二是县域财政增收比较缓慢,大部...