马鞍山注册百亿新基金
06-17
摘要:本文介绍了基于新型独立控制芯片CP的以太网通信接口的软硬件设计方法。
关键词:CP;以太网; CF; TCP/IP 简介 目前,嵌入式设计者在为远程控制或监控设备提供以太网接入时,所使用的以太网控制器是专门为个人计算机系统设计的,如RTL、DM、CSA等。
器件不仅接口电路复杂、体积大,而且价格也相对较高。
CP是Silabs最近推出的一款独立以太网控制器。
它符合IEEE .3协议,支持10M以太网接入,只需很少的外部电路连接即可满足大多数嵌入式以太网接口。
该设计要求大大简化了潜水式以太网接口的设计,大大减少了板卡空间,大大降低了系统开发成本。
此外,以太网控制器具有8位并行主机接口,可为大多数微控制器或主处理器提供以太网通信功能。
8位并行总线接口支持Intel和Motorola总线模式,可以使用复用或非复用方式寻址。
这些功能,再加上相关处理器的TCP/IP协议栈,使得嵌入式应用系统的以太网接口的实现变得极其简单。
硬件电路设计 系统的硬件电路如图1所示。
CP的外围电路比较简单。
图1 硬件电路 I/O并行接口 CP的并行主机接口支持Motorola和Intel总线模式,支持地址数据复用和非复用模式。
主机接口总线模式的配置可以通过将 MUXEN 和 MOTEN 引脚接地或拉高来实现。
以太网变压器 要实现以太网接口,以太网变压器是必不可少的。
在差分接收引脚 (RX+/RX-) 上,需要专用于 10BASE-T 操作的 1:1 脉冲变压器。

在差分发送引脚 (TX+/TX-) 上,需要一个带中心抽头的外部 1:2.5 脉冲变压器。
变压器应具有2kV以上的电压隔离性能,防止静电干扰。
发送端需要两个8W(1%精度)电阻和一个pF电容连接到特定端,接收端需要一个W电阻连接到特定端。
根据CP的要求,笔者采用PRJ系列的PRJ型变压器。
变压器集成了RJ-45连接器,节省了大量接线,也提高了高频信号传输的可靠性。
其他电路 LINK和ACT引脚输出电平来驱动LED以指示网络的连接和活动状态。
所有电源引脚必须连接到同一外部3.3V电源。
同样,所有接地参考都应从外部连接到同一接地点。
每个 VDD 和 VSS 引脚都应有一个 0.1mF 陶瓷旁路电容器,尽可能靠近引脚放置。
需要注意的是,驱动双绞线接口需要比较大的电流,因此以太网发送和接收数据线应尽可能短,并适当增大线径,以减少电阻损耗(以便保证数据的可靠传输,笔者为PCB电路板选择了20mil线径)。
软件设计 TCP/IP协议种类繁多,相互之间的交互也很复杂。
在单片机上实现所有协议是不可能的,所以必须对协议栈进行量身定制。
结合系统的具体通信需求,笔者的系统最终只保留了TCP、UDP、IP、ICMP、ARP协议模块。
在协议栈程序的总体设计中,考虑到单片机的单任务执行方式很难发挥TCP/IP协议的特点,我们采用了基于TCP/IP协议栈的实现方法事件驱动机制。
该机制的引入使得系统在保证高效的汇编语言代码效率的同时,大大提高了实时响应能力。
下面详细介绍事件驱动机制的特点以及基于该机制的TCP/IP协议栈的实现。
事件驱动机制 系统初始化完成后,进入事件循环体,不断检查CF事件队列中是否有事件。
一旦事件队列不为空,则读取事件标志字,判断事件类型,然后调用相应的事件处理子程序。
处理子程序执行完毕后,仍然返回到事件循环体。
事件标志字由中断直接或间接驱动。
当事件发生时,只需在中断服务程序中设置状态字的相应位即可。
中断不断地向事件队列添加事件,CF处理程序不断地从事件队列中读取事件标志字并处理事件。
事件驱动机制的特点是: * 由于在中断处理程序中,只执行了改变事件标志字等简单的程序语句,因此事件被添加到CF事件队列中并立即返回。
因此,系统关机中断时间很短。
增强了系统中断处理的实时性。
*CF根据当前读取的事件进行相应的事件处理或将需要进一步处理的事件添加到事件队列中。
这实际上是一步一步处理任务。
在执行一项任务的同时,还可以执行其他任务的一步。
所以。
在不影响主程序流程的情况下,提高了系统的实时性。
事件循环简述流程 注:1=EVENT_ETH_ARRIVED; 2=EVENT_TCP_RETRAN; 3=EVENT_TCP_INACTIVITY; 4=EVENT_ARP_RETRAN; 5=EVENT_AGE_ARP_CACHE; 6=EVENT_COME_NEWDATA; 图2 事件循环流程 Event 循环体的简要流程如图2所示,其中各个事件的含义为: EVENT_ETH_ARRIVED:待处理的以太网帧事件。
CF检测到该事件后,将调用读CP接受缓冲程序,然后解包该帧; EVENT_TCP_RETRAN:TCP 重传事件。
当TCP定时器超时时,触发该事件; EVENT_TCP_INACTIVITY:关闭非活动连接事件。
当连接超过0.5秒没有发送或接收数据时,触发该事件; EVENT_ARP_RETRAN:ARP请求包重传事件。
当ARP请求发送后0.5秒没有响应时,将触发该事件。
若重发两次仍无响应,则丢弃该IP为目的地址的数据包; EVENT_AGE_ARP_CACHE:更新 ARP 缓存事件。
该事件每60秒触发一次; EVENT_COME_NEWDATA:有新数据事件。
当有新数据发送时,触发该事件; 结论 CP集成了CRC校验、数据过滤等多种功能,有效减轻了微控制器的负载,且其内部收发接口单元操作灵活。
方便并为以太网数据包提供有效的缓冲。
该芯片工作性能稳定,抗干扰、抗震。
作者利用CP、CF单片机和TCP/IP协议栈开发了铁路机车以太网通信接口板。
该板已在试验机车上运行,工作性能良好,能够进行稳定的数据传输。
参考文献: 1。
Silicon Laboratories Inc. CP 数据表。
2。
硅半导体公司cfdatasheet。
3。
TCP/IP特别版,Ramadas Shanmugam,R.Pamini,S.Nivedita,殷浩琼、李健译,电子工业出版社 4。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-17
06-06
06-18
06-18
06-17
06-17
06-18
最新文章
使用电子管有哪些注意事项?如何检查电子管之间是否短路?
博通支付1200万美元和解SEC财务欺诈指控
八名运营商高管确认加入虚拟运营商
内蒙古农牧区雷电灾害成因分析及防雷对策
北京联通将5G应用于世园会远程医疗急救
TD-SCDMA最后一轮冲刺测试启动,产业前景更加光明
专访阿里云总裁王健:云计算服务平台梦想成真
USB2.0控制器CY7C68013的接口设计与实现