基于CP2200的嵌入式系统以太网接口设计

  • 科技
  • 2024年11月07日
  • 摘 要: 随着单片机处理能力不断增强,嵌入式系统也越复杂,控制系统日趋网络化,使基于以太网的嵌入式系统研究成为其技术发展的趋势。本文以ATmega16单片机和CP2200以太网为主要硬件,TCP/IP为协议,分析了嵌入式单片机系统接入以太网的可行性,并阐述了其硬件设计,软件设计与实时性。 关键词: 以太网;单片机;嵌入式系统;TCP/IP;实时性 1 引言 嵌入式系统是控制、监视或辅助设备

基于CP2200的嵌入式系统以太网接口设计

摘 要:随着单片机处理能力不断增强,嵌入式系统也越复杂,控制系统日趋网络化,使基于以太网的嵌入式系统研究成为其技术发展的趋势。本文以ATmega16单片机和CP2200以太网为主要硬件,TCP/IP为协议,分析了嵌入式单片机系统接入以太网的可行性,并阐述了其硬件设计,软件设计与实时性。 关键词:以太网;单片机;嵌入式系统;TCP/IP;实时性 1 引言 嵌入式系统是控制、监视或辅助设备、机器和车间运行的装置,具有软件代码小、高度自动化、响应速度快等特点,近年来被广泛应用于工业控制系统及通信等领域。嵌入式系统根据所采用的嵌入式处理器不同可分为两种:一种是以DSP和32位为微(microcontroller)与微处理器(microprocessor)为主的高端嵌入式系统;另一种是8位单片机作为微的低端嵌入式系统[1]。随着单片机的处理速度提高,存储空间增大,生产工艺改进,成本降低,及结构简单、使用方便等特点与优越性,单片机在未来的嵌入式系统应用中仍有很大的发展空间。同时,控制系统越来越复杂,功能需求不断增多,多个嵌入式单片机系统之间需要相互进行数据通信,工作人员也要对系统工作情况进行监控和管理。这就需要嵌入式单片机系统具有能连接网络的功能。但目前大多数嵌入式系统还处于独立应用阶段,即使进行多个微之间的信息传递,也只是利用一些现场总线进行组网,而这些总线的应用有其局域性,各总线间不能兼容,不能实现更大范围的连接,而以太网则不受限制。 以太网是目前发展最成熟、应用最广的局域网技术,将嵌入式设备通过常见的集线器、交换机等设备接入局域网,实现实时的网络远程控制与管理,已成为嵌入式系统应用的技术发展趋势[2]。在本项目“数控系统”研究中,电火花机床包括运动控制部分、脉冲电源部分和操作部分,这些独立的嵌入式系统采用现场总线方式进行组网。本文以ATmega16单片机和最新发布的以太网CP2200为硬件来实现各个嵌入式单片机系统的联网。 2 硬件设计 系统硬件构成主要由四大模块组成,其框图如图1: [align=center] 图1 系统硬件框图[/align] 2.1 单片机选择 目前单片机种类繁多,主要是基于51内核或是基于AVR内核的单片机。而基于AVR内核的要优越于基于普通51内核的单片机。本文使用的是ATMEL公司生产的基于AVR的单片机ATmega16。AVR单片机采用精简指令集(RISC)和Harvard结构。AVR单片机一般都带有看门狗定时器(watch dog),而看门狗定时器可便于程序抗干扰,这在工业控制系统中,以及在网络数据通信中是很重要的。 ATmega16单片机的主要特性[3]: a) 131条指令,大多数指令执行时间为单个时钟周期; b) 16K字节的系统内可编程Flash, 512字节的EEPROM,1K字节的片内SRAM; c) 两个可编程的串行USART,具有独立片内振荡器的可编程看门狗定时器; d) 两个具有独立预分频器和比较器功能的8位定时器/计数器;一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器,6种睡眠模式。 2.2 以太网选择 目前大多数8位的单片机都不集成有以太网,需通过专用的以太网才能接入以太网。CP2200以太网采用silabs公司最新生产的单芯片以太网。 CP2200可以提供目前应用最广泛的局域网技术,是业界体积较小和效能较高的以太网。CP2200最多能够将所需的电路板面积减少90%,让系统成本和复杂性减至最少,使得系统更好地连入以太网中。其基本结构如图2。 [align=center] 图2 CP2200的基本结构[/align] CP2200以太网的主要特性如下[4]: a) 内含IEEE802.3并兼容10Base-T以太网媒介存取(MAC)和实体层(PHY); b) 预先设定了一组独一无二的48位MAC地址,故可以省下多数嵌入式系统在产品制造过程中所需执行的编程步骤; c) 支持自动协商功能(auto-negotiation),网络通常必须透过这种机制了解所支持的以太网功能,没有这种机制或使用者控制开关,网络就会选择预设的最低通讯能力而使得应用产品的频宽和效能无法发挥; d)提供高效能的并列式外部内存界面,高达30Mbps的操作速度可大幅缩短通讯时间,使得搭配的微能以更高效率执行通讯协议或程序; e)能在-40℃到+85℃温度范围操作,电流消耗仅70mA,相当于产品的1/3; 2.3 硬件电路连接设计 该部分设计提供了ATmega16与CP2200的主要电路连接,提供了一个RJ-45接口用于连接以太网和一个串行接口(MAX232)连接下一级网络或者现场设备。其硬件连接如图3, [align=center] 图3 硬件设计连接电路图[/align] 图中省略了一些抗干扰元件电路与复位电路设计。 ATmega16具有4个I/O双向接口(PA,PB,PC,PD),CP2200提供了专门的用于8位模式的地址端口(A0-A7)。这里用ATmega16的PA0-PA7与CP2200的地址端口A0-A7直接相连。端口PC0-PC7与CP200的数据总线端口D0-D7直接相连。ATmega16通过PB0-PB7端口实现对CP2200的工作方式控制。引脚SS与CP2200引脚CS相连,实现片选功能。ATmega16的引脚MISO与MOSI分别和CP2200的引脚RD与WR以相连,实现单片机对以太网的读写操作。ATmega16通过引脚PD14(RXD)、PD15(TXD)分别与MAX232引脚R1OUT、T1IN相连实现单片机对串口的读写操作。 CP2200采用Non-Mutiplexed 模式,并支持Intel和Motorola Bus 模式。当MUXEN与MOTEN都为低电平时,为Intel模式。CP2200通过隔离变压器连接到RJ-45接口,实现与以太网的连接。CP2200可以使用硬件中断和软件中断,这里使用硬件中断,故CP2200引脚INT与ATmega16的引脚PB2(INT3)相连。 3 系统软件分析设计 以太网使用802.3标准和TCP/IP协议。802.3标准位于IOS/OSI的第一层(物理层)和第二层(数据链路层)。所使用的数据传输结构为IEEE802.3 帧结构(表1)。 表1 IEEE802.3帧结构

其中:目的地址是帧发往的站点地址,每个站点都有自己唯一的地址;数据长度是要传送的数据的总长度;协议首部是数据字段的一部分,含有更高层协议嵌入数据字段中的信息;数据字节的长度可从0-1500个字节,但必须保证帧不小于64个字节,否则就要填入填充字节;帧校验采用CRC码。 TCP/IP协议采用分层的结构(以OIS为参考模型),从下到上为物理层、数据链路层、网络层、传输层以及应用层。物理层与数据链路层可以有以太网完成。网络层包括IP、ARP、ICMP协议,主要完成IP寻址,负责将源主机的报文分组发送到目的主机。传输层包括TCP、UDP,主要功能是负责应用进程之间的端-端通信,目的是在联网中源主机与目的主机的对等实体之间建立用于会话的端-端连接。用户的主要程序位于协议的最高层,即应用层,主要用来完成数据的采集与处理,主要协议有TENET、FTP、SMTP、DNS。 单片机与以太网之间的通信访问模式有中断和查询两种方式,为了避免主程序的不断查询和简化程序,可采用中断方式[5]。在中断方式下,以太网接入驱动程序主要由以太网中断服务程序、发送数据模块(图4)和接受数据模块(图5)组成。在CP2200开始工作之前,系统需要对它进行一定的初始化,以确定CP2200的工作模式。 [align=center] 图4 发送数据模块 [/align] [align=center] 图5接受数据模块[/align] 在实现嵌入式单片机系统的网络互联时,除了一些驱动程序外,主要的是要实现TCP/IP网络协议,主要流程如图6,它的主要功能是有数据要发送时,生成TCP组和IP组,送于CP2200发出去;有数据接收时,解析IP/TCP组,并送于应用层作进一步处理。 4 以太网实时性问题 实时性是指系统对外界激励及时做出响应的能力,常用系统对外界激励的响应时间定量描述。以太网采用的是一种随机访问协议,即载波侦察听多路访问/冲突检测—CSMA/CD。在通信负载较小的条件下,CSMA/CD法的响应熟读很快,具有很好的实时性。但是,当以太网应用于工业或者通信负载较大的条件下,CSMA/CD将产生无法预见的延迟特性,即不确定性问题,不能满足实时性要求。其改善实时性的方法一般主要从软件或硬件方面上考虑。软件方面有采用实时操作系统,RT-CSMA/CD,IEEE1588[6]等。这方面的技术已取得一定的进步,在一些领域已有应用,但是还有一些问题需要解决。硬件方面一般采用以太网交换机,通过交换机构建一个全双工交换式以太网。此技术应用较广,相对较成熟。 [align=center] 图6 网络互连程序流程图[/align] 5 结束语 嵌入式系统通过以太网技术不仅能够完成对现场设备或其他子系统的控制,监视和管理,还可以通过网络实现跟上位机或其他系统的通信,实现系统的联网通信与控制功能,而且系统稳定,控制方便,成本低。基于CP2200的嵌入式系统以太网接口就能达到这种目的。 本文作者创新点在于不仅对基于CP2200的嵌入式系统以太网接口设计进行了硬件、软件分析,而且还简述了以太网实时性问题和改善的方法。 参考文献 [1] 程小辉,李明强,沈旭 基于AT89C51单片机嵌入式系统硬件平台的设计[J].自动化与仪器.2005.4. [2] 付冲,陈英等一种通用嵌入式系统以太网接口的设计以实现[J].山东大学学报,2005.6(3).93-97. [3] ATMEL Corporation AVR Embedded Web server[Z].USA: ATMEL Corporation 2003. [4] Silicon Laboratories Inc.CP2200/1 Complete Datasheet [Z]. USA:Silicon Laboratories Inc.2006. [5] 何锐波,赵英俊 一种以太网与8位单片机的连接方法[J].单片机与嵌入式系统应用.2002.7. [6] 张 妍,孙鹤旭等IEEE1588在实时工业以太网中的应用[J].微计算机信息2005年第9-1期.

猜你喜欢