(珠海优特物联科技有限公司 广东珠海 519000)
摘要:设计了一种基于以太网控制器W3150A+和32位意法半导体STR710ARM微处理器的嵌入式以太网通信接口,介绍了W3150A+的工作原理、硬件设计及软件设计方法,针对W3150A+中断机制的实现方法作了详细的分析研究,提出了一种改进机制方法,并将其新的中断机制在项目中得到应用。
关键词:W3150A+;STR710微处理器;嵌入式以太网;中断机制
前言
本文结合ARM技术,采用以太网芯片W3150A+设计高性能、高可靠性的嵌入式以太网通信接口,同时分析了STR710微处理器的I/O口外部中断触发方式及与其他ARM微处理器异同,针对W3150A+以太网芯片,提出了一种改进中断机制处理方法,并在项目中得到实现。
1 W3150A+以太网接口硬件设计
以太网W3150A+硬件电路设计如图1所示,微处理器通过8位数据总线完成对W3150A+芯片读写,W3150A+与RTL8201通过MII(Media Independent Interface)。
当网络上有数据到达芯片RTL8201时,通过MII接口到达W3150A+,芯片W3150A+自动完成TCP/IP协议转换,并将数据保存至它的硬件缓冲区,同时产生低电平中断通知微处理器从硬件缓冲区接收数据,完成一包数据的接收过程。
当通过网络发送一包数据时,微处理器将RAM中的数据写入到芯片W3150A+硬件缓冲区中,执行发送指令,W3150A+通过MII接口发送至RTL8201,完成数据的发送,发送完成后产生中断,通知微处理器发送已完成。
2中断机制分析
2.1现象分析
在实际项目反复测试过程中,发现多个套接字通信时,以太网通信偶尔会断开,但是单个套接字通信时,以太网通信不会断开现象。当有多个套接字连接,数据量通信比较越频繁,上述现象出现概率越高。针对多个套接字数据频繁通信以太网断开情况,用示波器观察W3150A+芯片中断管脚,当断开时,发现中断管脚电平一直被拉底,基于STR710 ARM微处理器的中断函数一直没有被触发。
2.2中断机制异同
基于ARM微处理器的I/O口外部中断有上升沿、下降沿和电平触发中断。例如:基于LPC系列ARM微处理器和意法半导体STR71xARM微处理器系列的I/O口中断机制有如下异同。
1)STR710:只有上升沿和下降沿触发机制;
2)LPC2292:既有上升沿和下降沿触发机制,也有电平触发机制;
W3150A+有数据时,其产生的中断为低电平中断,即INT(61脚:中断管脚)输出低电平的条件:只要有中断产生;INT(61脚:中断管脚)输出高电平的条件:清掉所有中断(网卡中断寄存器和每个套接字中断寄存器)或者清掉中断屏蔽寄存器所有屏蔽位。
2.3中断机制分析
下面是出现问题的中断机制处理流程图,如图2所示。
当只有一个套接字时,STR71x微处理器捕获下降沿进入中断后,由于套接字中断处理程序必须要处理完套接字所有中断才会退出,这种只有一个套接字中断的情况下,退出中断前,会清掉网卡中断寄存器,并清掉所有套接字中断,拉高INT电平,可以保证下一次下降沿来时,继续触发外部中断,进入中断处理程序,这也就不会出现上述现象。
当有多个套接字中断时,STR71x微处理器捕获下降沿进入中断后,当某一个套接字中断处理程序处理完该套接字所有中断退出中断函数后,然后又检测到其它套接字中断产生,这时就不会拉高INT电平,这种有多个套接字中断的情况下,退出中断后,有可能因为多个套接字中断,数据交互的频繁,不会拉高INT电平,造成INT电平一直为低状态,也就没有下降沿存在,造成STR71x一直捕获不到下降沿,也就产生不了外部中断,也就造成上述现象的存在。
3改进后中断机制解决方案
针对上述中断机制所出现的现象问题,提出了一种基于W3150A+中断机制改进,其处理流程如图3所示。
1)性能评估
每进入一次中断处理程序,只要W3150A+有中断产生,都会处理,并清中断,当所有中断寄存器全部清0,退出中断,拉高INT电平,保证下一次下降沿触发中断;当有多个套接字中断频繁产生时,也不会出现丢中断的现象,不会影响多套接字的应用情况,如图4所示。
图4 改进后的示波器显示中断触发图
2)实际应用情况
目前经过反复测试验证,这种改进后的中断机制解决了以太网偶尔断开的现象,大大提高了系统的整体性能,已经在公司多个项目中得到实际的运用,现场应用运行良好。
4结论
本文针对W3150A+以太网芯片应用情况,对其硬件和软件做了简单的设计,并结合实际项目应用经验,分析了意法半导体STR71x系列ARM微处理器I/O口的外部中断机制,针对W3150A+以太网芯片提出了一种改进中断机制,并在公司项目中运行良好。
参考文献:
[1]康文广,胡利民. 基于W3150A+的嵌入式Web服务器设计[J].单片机与嵌入式系统,2010,6:41-43
[2]W3150A+ Datasheet. V2.04
论文作者:梁广,阳仲伯
论文发表刊物:《电力设备》2017年第22期
论文发表时间:2017/12/1
标签:微处理器论文; 以太网论文; 机制论文; 多个论文; 电平论文; 数据论文; 芯片论文; 《电力设备》2017年第22期论文;