一种精简可靠的低成本嵌入式以太网接口设计
当前,嵌入式设计人员在为远程控制或监控设备提供以太网接入时,使用的以太网控制器都是专为个人计算机系统设计的,如RTL8019,DM9008,CS8900A 等。
这些器件不仅接口电路复杂、体积较大,而且比较昂贵。CP2200 是Silabs于近期推出的一款独立以太网控制器,它符合IEEE 802.3协议,支持10M以太网接入,而且仅需要很少的外部电路连线就可满足绝大多数嵌入式以太网接口的设计要求,使得潜入式以太网接口的设计大大简化,占板空间大大减小,系统开发成本大大降低。
另外,该以太网控制器具有8位并行主机接口,可以为绝大多数微控制器或主处理器提供以太网通信功能。8位并行总线接口支持Intel和Motorola总线方式,可以使用复用或非复用方式寻址。这些功能加上相关处理器的TCP/IP协议栈,使得嵌入式应用系统的以太网接口实现变得极其简易。
硬件电路设计
系统的硬件电路示于图1。CP2200的外围电路比较简单。
图1 硬件电路
I/O并行接口
CP2200的并行主机接口,支持Motorola 和 Intel两种总线方式,且支持地址数据复用和非复用方式。可以通过将MUXEN和MOTEN引脚接地或拉高电平来实现对主机接口总线方式的配置。
以太网变压器
要实现以太网接口,以太网变压器是不可缺少的。在差分接收引脚(RX+/RX-)上,需要一个专用于10BASE-T 操作的1:1 脉冲变压器。 在差分发送引脚(TX+/TX-)上,需要外接一个带有中心抽头的1:2.5 脉冲变压器。变压器应具有2kV 以上的电压隔离性能,以防止静电干扰。发送端需要两个8W(精度为1%)的电阻和一个560pF 的电容与特定端相连,接收端需要一个100W电阻与特定端相连。
按照CP2200的要求,笔者采用的是PRJ系列的PRJ-010型变压器。该变压器集成了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协议栈的实现。
相关文章
- 2021-12-28明电变频器在纺织行业粗纱机电气控制系统应用分析
- 2022-07-15SY一1型体外冲击波碎石机
- 2022-12-02网络化分布式虚拟仪器测试研究
- 2021-12-08基于WinCE的ARM视频监控系统解析
- 2023-04-24薄壁圆筒式动态多维切削测力仪的有限元分析
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。