CP2200控制器的嵌入式以太网接口设计方案

CP2200可以为具有11个以上端口I/O引脚的任何微控制器或主处理器增加以太网通信功能。本文使用通用型单片机C8051F020、以太网控制CP2200和经过自行裁剪的TCP/IP协议栈,构成了嵌入式系统的以太网接口。
    1. 微控制器C8051F020
    C8051F020[2]是美国Silabs公司推出的C8051F系列单片机中的通用型单片机。C8051系列是片上系统(SOC)单片机。片上系统(SOC)是把计算机常用的一些数字和模拟外设等全部都做在一块芯片上,使它成为一个完整的模拟数据采集与控制系统,这使得以8051为内核的单片机上了一个新的台阶。C8051F020是完全集成的混合信号系统级MCU芯片,100脚TQFP(Thin Quad Flat Packeage)封装,MCU可在工业温度范围(-45℃到+85℃)内工作,具有高速、流水线结构,与8051的微控制器内核CIP-51兼容。
    2. 以太网控制器CP2200
    CP2200是Silabs(Silicon Laboratories)公司于推出的一款针对工业控制领域的以太网控制器,集成了IEEE 802.3以太网媒体访问控制器(MAC)、10Base-T物理层(PHY)和8KB非易失性FLASH存储器的单芯片以太网控制[1]器。8位并行总线接口支持Intel和Motorola总线方式,可以使用复用或非复用方式寻址。CP2200有28脚QFN和48脚TQFP两种封装。28脚QFN封装只支持复用方式寻址。有方式选择引脚,用于选择总线接口方式。
    CP2200有8KB片内FLASH存储器,可用于存储用户常数、Web服务器内容或作为通用非易失性存储器。FLASH存储器的最后6个存储单元是工厂预编程的唯一48位MAC地址,这样可以从大多数嵌入式系统的生产过程中消除必不可少的序列化步骤。CP2200完全兼容100/1000 BASE-T网络,可以工作在全双工或半双工模式,自适应,能进行自动极性检测和纠正,具有碰撞自动重发功能,能自动填充和生成CRC,支持广播和多播MAC寻址。工作的温度范围在-40°C到+85°C 之间。
    CP2200的系统结构图如图1所示。
    3. 以太网接口硬件设计
    在嵌入式系统中,扩展以太网接口,通常有下面两种方法:
    1.以太网接口由不带网络接口控制器的嵌入式处理器和以太网接口芯片组成。以太网接口芯片和嵌入式处理器通过总线相连。此方法通用性强,不受处理器的限制,但由于处理器和网络通过外部总线交换数据,速度慢。
    2.选择带有以太网接口的嵌入式处理器。这种方法要求嵌入式处理器有通用的网络接口控制器。处理器和网络数据交换通过内部总线,速度快。
    这里选用前一种方法来实现嵌入式系统的以太网接口,其主要由C8051F020单片机和单芯片以太网控制器CP2200构成,如图2所示,单片机控制数据采集和传输,以太网控制器CP2200负责将数据发送到因特网或从网络上接收数据包。
    图2 以太网接口结构框图
    本以太网接口单元是中国民航总局科技基金项目“机场噪声自动监测与数据传输的研究与实现”中Internet接入设备的重要组成部分。Internet接入设备的主要功能是将噪声数据传送到Internet局域网上。单片机将从现场采集的数据,通过以太网控制器芯片发送到Internet上,以太网服务器端接收该数据包。服务器发送数据的流向与之相反,来自服务器的以太网帧数据,通过RJ45接口送到以太网控制器,处理后的数据包再送入单片机协议栈。深圳pcb抄板这里使用的是48引脚的CP2200,这样可以不用工作在复用模式。单片机C8051F020与以太网控制器CP2200采用并口相连接,CP2200有一个8位的并行主机接口用于访问该设备上的直接寄存器。串行口代表数据采集,CP2200通过RJ45接口接入Internet网。
    4. 以太网接口软件设计
    4.1 CP2200驱动程序
    以太网中,网络接口就是一个以太网控制芯片及其驱动程序。以太网接口驱动程序包含管理控制器芯片与网络协议栈中上一层之间通信的程序代码,为了在以太网上传送IP数据报,IP层将数据报传递给以太网控制器的驱动程序,驱动程序指示以太网控制器传送以太网帧。在接收来自网络的IP数据报时,以太网控制器检查目标地址是否与接口硬件地址或控制器可接收的组播或广播地址一致,如果一致,则控制器检查错误,驱动程序把数据报或出错指示传递给IP层。这里以太网接口驱动程序主要是CP2200的初始化配置和收发配置。

相关