基于C8051F040的以太网-CAN转换电路设计

分享到:

以太网和CAN总线应用广泛,但由于其通信协议不同,两种总线器件间无法进行数据通信,因此,设计了基于CP2200与C8051F040的以太网总线与CAN总线接口转换电路,并给出部分相关硬件电路与软件设计分析。在保证数据完整和协议可靠的前提下,通过握手协议和简化的以太网协议,不仅实现了以太网数据与CAN数据的转发,同时还顺利的解决了以太网的高速性与CAN的低速率冲突,以及两者数据包之间的大小不同的矛盾。

控制器局域网(Controller Area Network,CAN)总线是Bosch公司为解决现代汽车控制设备与测试仪器之间数据交换而开发的一种串行数据通信协议,主要用于各种设备的检测及控制。目前,CAN总线被广泛应用于汽车等交通运输工具、工业控制、智能楼宇、机械工业、医疗器械、传感器等领域,被称为最有前途的现场总线之一,但其主要缺点是不适合远距离传输。以太网接口开始是为了连接实验室的多个计算机设备,开发的快速连接方式。随着传输速率的提高和交换技术的使用,以太网的确定性和实时性得到了保证,工业以太网的安全性和网络生存性也得到了很大程度的提高。使其在工业控制领域得到广泛的应用。目前计算机已经广泛应用与各个操控领域,而计算机常用的连接端口就是以太网,只要接口标准统一,并安装好必要的软件,计算机就可以介入到各个控制系统中去。因此,为了提高效率,有必要采用技术手段,实现通过以太网接口使计算机融入CAN网络,把以太网的远距离传输性与CAN的专业性结合起来,优势组合。

1 芯片选择

1.1 CP2200芯片介绍

CP2200芯片是Sificon Labs公司推出的工业界体积最小、性能最高、8位总线控制的以太网驱动芯片,支持IEEE802·3以太网媒体访问MAC控制协议,支持10BASE/T物理层,完全兼容100/1 000 BASE T网络,可以工作在全双工或半双工模式,能进行自动极性检测和纠正,具有碰撞自动重发功能,能自动填充和生成CRC,支持广播和多播。CP2200内部带有2 k字节的发送缓存和4 k字节的接收缓存,还有8 k字节的内部Flash存储器,用于存储用户常数、Web服务器内容,它的最后6个存储单元是工厂预编程的唯一48位MAC地址。此芯片采用48管脚的TQFP封装,工作的温度范围在-40~+85℃,可为具有11个以上I/O引脚的微处理器扩展以太网通信功能。此芯片具有30 Mb/s速率的并行主机接口,支持Intel和Motorola两种总线方式。

CP2200的多种集成功能(如CRC校验、数据滤波等)有效减轻了单片机的载荷,它内部的收发接口单元操作起来灵活方便,为以太网数据包提供了有效缓冲。使用该芯片时,电路只需增加1个RJ-45快速以太网接口即可,其工作特性可以满足CAN总线的传输波特率要求。其内部结构如图1所示。

 

1.2 C8051F040芯片介绍

C8051F系列单片机是Silicon Labs公司推出的系统级芯片,具有与80C51兼容的CIP-51内核。C8051F040内部集成的CAN控制器包括1个CAN内核、消息RAM(独立于CIP-51内核)、消息处理单元、控制寄存器等。C8051F040内部包含1个CAN协议控制器,并没有提供物理层的驱动器,实现与CAN总线的接口。数据接收和滤波都由CAN控制器完成,不需要CIP-51内核的参与。这种方式可使CAN通信时占用的系统资源最小。CIP-51内核通过配置其内部的特殊功能寄存器来实现CAN的数据交互。其内部结构如图2所示。

2 系统硬件设计

系统电路如图3所示,由CP2200、C8051F040、CAN驱动芯片的SN65HVD230等组成。其中CP2200与HR911105A组成以太网电路部分,SN65H-VD230单个组成CAN收发电路。工作原理如下,当CP2200收到以太网数据时,触发C8051F040的INTO,C8051F040把数据从CP2200的接收缓冲区拷贝到其内存空间,然后通过SN65HVD230转发到CAN网络;当CAN数据有要发送到以太网,C8051F040收到数据后,就向CP2200的发送缓冲区转发数据,最后由CP2200通过HR911105A发到以太网。

精彩活动