微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于CP2102高速USB2.0-CAN适配卡的设计

基于CP2102高速USB2.0-CAN适配卡的设计

时间:05-04 来源:互联网 点击:
控制器局域网(CAN)是德国BOSCH公司于1986年为解决汽车内部测量与执行部件之间的数据通信而开发的一种串行数据通信协议。它的网络模型结构包括物理层、数据链路层和应用层,以双绞线为信号传输介质,通信速率最高可达1Mbps ( 40m),直接传输距离最远可以达到10km/5Kbit/s,每条总线可挂接设备多达110个,特别适用于实时性要求很高的网络。由于其多主的工作方式、优良的稳定性和实时性能、成熟的仲裁和同步技术,加上开放式总线结构、短报文高速通讯、远程通讯能力、超强的纠错和扩展功能,以及控制简单、应用成本低等优点,已经被越来越多地应用到广大网络控制系统领域,并被公认为最有前途的现场总线技术之一。
  USB(通用串行总线),是1995年以Intel为首的7家公司推出的一种协议规范,用以实现将将计算机的各种外围接口统一起来,用带四根线(两根电源线和两根数据线)的接口来实现任意设备和PC机间的通讯。具有即插即用,软硬件支持广泛、低功耗、价格低、数据传输率高、扩充性好、使用灵活、硬件结构标准化高和完备的总线拓扑结构等特点,因此USB自问世以来,显示出了强大的生命力,在以计算机为上位机的控制系统中,得到广泛的应用。
  随着计算机技术的飞速发展,PC这个已经把USB采纳为通用总线和通用接口标准的控制器几乎已经成为各个领域操控终端的首要选择。通过USB接口,在安装必要的应用软件和驱动程序之后,PC能接入到各个控制系统中去。因此,为了提高应用的高效率、操控的便利性,把USB的通用型和CAN的专业性结合起来,达到优势互补,有必要设计一种高速USB2.0-CAN适配卡,以实现USB2.0通信协议与CAN总线通信协议的转换。
系统结构
  系统主要包含三部分:微控制器、USB接口和CAN接口的控制部分(见图1)。其中C8051F040作为系统微控制器。USB接口功能控制器采用CP2102 USB转UART桥接芯片。其中C8051F040作为CAN总线控制器负责与CAN网络交换数据,CP2102实现USB口信息格式与串口格式的转换,最后由C8051F040操作串口与CP2102交换数据,实现USB2.0到CAN总线协议的转换。

图1  USB2.0-CAN适配卡框图
硬件实现
CP2102

  CP2102是Silicon Labs公司的USB转UART桥接芯片,具有集成度高、速度高、价格低廉、开发简单等特点,能够用最简单的外部电路,最少的外部器件简便地实现USB到UART的转换。CP2102 包含USB2.0全速功能控制器、USB收发器、振荡器和带有全部的调制解调器控制信号的异步串行数据总线(UART)。CP2102的内部结构如图2所示,内置有与计算机通信的协议,工作时,提供的免费的实用COM口器件驱动器允许一个基于CP2102的产品作为的一个口使用,也就是通常所说的产生一个虚拟的口,电路无需任何外部的USB器件即可工作,工作特性可以满足CAN总线的传输波特率要求。

图2  CP2102的内部结构图
微控制器
  系统采用SiliconLaboratories公司推出的混合信号系统级单片机C8051F040作为系统的控制器,内部集成的CAN控制器包括一个CAN内核、消息RAM(独立于CIP-51内核)、消息处理单元、控制寄存器等但是没有提供物理层的驱动器,要实现与CAN总线的接口,还需接口控制器,例如82C250、TJA1050等。数据接收和滤波都是由CAN控制器完成的,不需要CIP-51内核的参与,通过这种方式使CAN通讯时占用的系统资源最小。CIP-51内核通过其内部的特殊功能寄存器来配置CAN控制器以及实现数据交互。
电路设计
  系统电路如图3所示,由CP2102、C8051F040、CAN驱动芯片PCA82C250以及光电隔离芯片6N137等组成。CP2102的RTX、TXD引脚分别是串口的接收、输出端,与单片机的对应引脚相连。USB的终止和恢复信号支持功能便于CP2102器件以及外部电路的电源管理。当在总线上检测到终止信号时,CP2102将进人终止模式。在进人终止模式时,CP2102会发SUSPEND和信号。但是,SUSPEND和在CP2102复位期间会暂时处于高电平。为避免这种情况出现,需要用一个l0kΩ的电阻来确保在复位期间保持在低电平。PCA82C250是CAN收发器,可增加总线驱动能力,Rs端接地相连,系统处于高速工作方式。6N137是光电隔离芯片,CAN总线信号CANTX和CANRX从C8051F040出来后先分别经过高速光耦6N137进行电气隔离,再经过CAN总线控制器接口芯片82C250驱动,然后接到CAN数据线上。6N137实现智能节点与CAN总线之间的电气隔离,不仅提高了节点的可靠性和系统的抗干扰能力,而且也保护了总线及总线上的其它节点。总线两端124Ω的电阻对,防止通信信号传输到导线端点时发生反射。

图3  适配卡的硬件设计

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

网站地图

Top