微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于OpenTCP的嵌入式以太网模块设计

基于OpenTCP的嵌入式以太网模块设计

时间:04-22 来源:互联网 点击:
1 引言

随着嵌入式系统和单片机技术的发展,嵌入式以太网的设计越来越受关注。MC9S12NE64单片机是飞思卡尔公司量产较早的一款以太网单片机,具有以太网控制器的功能,它体积小、稳定性好、开发成本低。同时MC9S12NE64已经在汽车电子设备中得到应用,可靠性较高。OpenTCP源代码可以免费获得,所以OpenTCP协议的引入为低成本嵌入式网关设计提供了很好的支撑。

在MC9S12NE64单片机内嵌入0penT℃P协议来实现嵌入式以太网,可以减少开发成本。同时与组合芯片以太网模块相比。MC9S12NE64单芯片以太网模块的结构更简单,稳定性更高。

2 硬件设计

MC9S12NE64包含内置的10/100Mbits以太网媒体访问控制器(EMAC)、10/100Mbits以太网物理层(EPHY).满足以太网低层通信;片内8K的RAM,有足够的空间保证OpenTCP的实现;支持IEEE802.3标准。

根据飞思卡尔公司网站给出的MC9S12NE64单片机外围电路,以太网模块的主要硬件电路如下:1、单片机PHY层输入、输出口与RJ45连接电路,见图l;2、单片机I/O口与EEPROM(AT93C46)连接电路,见图2;3、单片机SCI口与MAX232连接电路,见图3。


图1 单片机与RJ45连接电路


图2 外接EEPROM连接电路


图3 MAX232连接电路

3 软件流程

3.1 OpenTCP协议结构及裁剪

OpenTCP是面向嵌入式系统的,开源的TCP/IP协议栈。和.TCP/IP协议一样,OpenTCP层次模型通常理解共分为五层:应用层、传输层、网络层、网络接口层和物理层。本文用到的OpenTCP是飞思卡尔公司和Viola System公司合作开发的.基于MC9S12NE64平台的开放源代码协议栈。模块要实现的功能是串口转以太网,因此删除了应用层部分,只保留通信需要用到的协议:ARP协议、TCP协议、IP协议(包括ICMP协议),实现了OpenTCP协议最大程度的裁减。

3.2 软件流程

整个以太网模块的软件由以太驱动、OpenTCP协议和修改设置三部分组成。主程序软件流程见图4。


图4 主程序流程

以前一些论文中提到的嵌入式以太网模块并没有涉及模块以太网参数(这些参数包括:网关的MAC地址、IP地址、端口号、网关、子掩码等)设置的问题,都是把模块的以太网参数设置在软件内,只能在软件内进行修改,给使用者带来了不便。为了方便以太网模块的应用,本文提出一个修改模块参数的方法:将模块的以太参数保存在一个外接的EEPROM内,修改参
数时。上位机与MC9S12NE64进行串口通信,通过单片机I/O口来读出和修改EEPROM内的参数,在上位机编写一个软件界面.使用者修改参数时,只需对界面进行操作。以太网模块参数设置的软件流程见图5。


图5 以太网参数设置软件流程

VB6.0的MSComm控件能实现串口通信的功能,根据这一特点,用VB6.0编写一个串口通信界面(见图6)。


图6 参数设置界面

运行界面后,通过MSComm控件定时、连续向串口发送串口识别码,等待回复。MC9S12NE64单片机复位以后,先对接收到的串口数据进行分析,判别数据是否是上位机的串口识别码,如果是则回复上位机,进入参数设置程序,否则进入OpenTCP程序。参数设置的步骤是:将以太网模块串口与上位机串口相连,打开上位机界面,复位单片机,修改参数。

4 结论

本文利用MC9S12NE64单片机和OpenTCP协议实现了单芯片的嵌入式以太网模块,模块的硬件结构简单、成本低,可广泛应用于远程控制和数据采集。同时提出了通过计算机和以太网模块串口通信来修改模块以太网参数的思想.并给出了参数设置的界面,简化了参数设置工作量。随着网络化数字家庭、网络化远程控制和网络化数据采集的发展,嵌入式以太网模块必
定会有很好的应用前景。

本文作者创新点:设计了一个单芯片的嵌入式以太网模块.针对以太网模块的实际需要对OpenTCP协议进行最大量的裁减,减少了协议所占的内存空间,提高了单片机运行速度;提出了一个新的参数设置方法,减少了使用者参数设置时的工作量。

根据国内网络化数字家庭和网络化数据采集领域中对嵌入式以太网模块的需求量估计.项目未来5年的经济效益为1600万元。

作者:陈建,陈万忠      来源:《微计算机信息》(嵌入式与SOC)2009年第6-2期

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top