嵌入式系统设计中网络通信接口已成为标配接口,网络技术应用到嵌入式设备中时,若使用传统的TCP/IP协议,因其比较完善且过于复杂,在嵌入式系统中需要占用大量资源。考虑使用精简的以太网协议是比较适合的方式,并且可以提高嵌入式系统的实时性。
本文对嵌入系统网络设计中使用的主要几种硬件实现设计方式的认识做一些简单的介绍,以及在硬件实现方式中结合使用TCP/IP协议的方式加以介绍。尤其主要介绍在ARM系列MCU中使用精简的TCP/IP协议的几种方式,主要的实现方式如下:
第一种:MCU芯片+MAC芯片+PHY芯片;
此种实现方式通常需要外接存储芯片,组合起来性价比较低,成本较高,现阶段基本不适用该种应用方案;
第二种:(MCU+MAC)芯片+PHY芯片;
此种实现方式在嵌入式应用中比较广泛,因MAC实际电路大部分为数字电路,集成到MCU中作为MCU芯片中的一部分附加功能,与外部PHY芯片将使用MII或者RMII接口连接,以进行控制和数据通信,典型的应用如:
1、STM32F107(带MAC)+PHY芯片
2、STM32F407(带MAC)+PHY芯片
3、LPC1768(带MAC)+PHY芯片
4、LPC2368(带MAC)+PHY芯片
常用的PHY芯片有:
1、ST公司:ST802RT1A、STE101P(有SMII接口)
2、National的:DP83848CW、DP83840TW
3、Realtech的:RTL8021N
4、Micrel的:KSZ8721CL
5、SMSC的:LAN83C185、LAN8700
6、Marvell的:88E3015(有RGMII接口)
以上PHY芯片均具有MII和RMII两种媒体独立接口;在以上硬件接口实现方式中,以太网络通信需要精简的网络协议的支撑,如常用的LWIP,uIP等轻量级的TCP/IP网络协议栈;
第三种:MCU芯片+(MAC+PHY)芯片;
这种实现方式,组合比较灵活,在(MAC+PHY)芯片内部集成了网络通信协议,使用起来比较方便,而且最终的数据传输和处理速度取决于所选择的MCU芯片的处理能力。典型的应用如:
1、MCU+RTL8039
2、MCU+W5500(自带全硬件TCP/IP协议栈)
3、MCU+ENC28J60
4、MCU+DM9000
这种实现方式中,除对MCU的处理能力要求以外,仅要求MCU带有行业标准串行外设接口(SPI),因此绝大部分MCU都能满足基本要求,实现个性化的嵌入式以太网络通信设计;
第四种:(MCU+MAC+PHY)芯片;
业界已实现很多Cortex-M4的MCU中集成MAC+PHY功能;如德州仪器宣布推出面向云网关的全球首款支持以太网MAC+PHY的Cortex-M4产品—CTM4C129x。
MCU的主要作用对用户程序的执行,通信协议的执行,以及对MAC和PHY芯片的控制;MAC实现媒体接入层的规定协议,负责控制与连接物理层(PHY);而PHY负责将数据转换成串行数据流,进行编码转换为模拟信号发送出去,或者反向将模拟转换为数字信号。
在第二种和第三种选择方案中,还可以实现更加个性化的网页WEB服务器,若MCU的性能较佳,可同时移植实时操作系统系统ucosii和LWIP协议栈,在实时操作系统中运行LWIP协议栈是一个不错的选择。