CAN总线与USB的转接技术

发布者:BlissfulDreams最新更新时间:2012-01-04 关键字:CAN总线  USB  转接技术 手机看文章 扫描二维码
随时随地手机看文章

  USB(Universal Serial Bus)是一种通用串行总线。随着计算机技术的发展和广泛应用,人们对串行总线提出了更高的要求。因此,开发一种兼容低速和高速的技术,从而为广大用户提供一种可共享、可扩充、使用方便的串行总线已成为众多厂商的共同目标。
  USB总线就是一种新型、快速、双向、同步传输、并可以热插拔的数据传输总线,它满足了人们对总线易用性、扩展能力强和低成本的要求,因此,USB在PC外设领域的传输速率从1.5Mbps的低速和12 Mbps的全速提高到如今的480 Mbps的高速数据传输。目前,USB总线已经逐渐成为计算机领域中应用最广泛的外设总线连接规范。

  与此同时CAN(Controller Area Network)总线技术也日趋成熟,其传输距离远,传输速率高,抗干扰能力强,易于组网,而且节约成本,已被公认为是最有前途的现场总线之一,并在国内外控制领域获得了普遍重视。目前,德国现代汽车公司和欧洲其他几个主要汽车公司的车内控制系统全部采用CAN总线,国内的很多工业控制系统,(如车载控制系统、医疗控制系统和很多智能小区中的智能控制系统)都采用了CAN总线技术。随着更加完善的CAN2.0B协议的提出,国外已有专家提出预言,CAN总线的应用寿命至少还有二十年。

  虽然上述两种总线的特点都比较突出,但二者在控制领域的应用仍有其自身局限性。USB的传输距离通常不超过几十米,经常达不到工业应用的要求;而CAN适配器与主机在传统接口上的连接十分繁琐和复杂,不利于CAN的应用扩展。所以,本设计考虑将传输距离较远的CAN总线技术与即插即用的USB接口技术相结合,即利用USB接口方便的实现CAN总线和主机的连接,从而有力的扩展了CAN总线的监控和管理功能,扩大CAN总线的应用范围。

  1 接口模块的总体设计

  本文所介绍的USB-CAN转接技术总体框图如图1所示,该设计分两大部分:一是与主机USB接口相连的USB控制部分;二是与CAN总线相连的CAN控制器部分。两者中间通过单片机联系起来。USB控制部分用USB接口控制芯片CH372来实现数据的接收和发送;CAN控制器SJA1000用来实现CAN总线间的数据通信。单片机用来进行相应的控制、协调以及系统的通信。

 

  2 AT89C52在系统中的功能

  单片机AT89C52在系统中主要起到一个桥梁和协调控制的作用。主机通过CH372把数据发送到单片机,单片机再把数据通过SJA1000发送到CAN总线,从而实现整个系统的通信。此外,单片机还需要对CH372和SJA1000进行初始化,并通过地址/数据以复用的方式访问CH372和SJA1000。由于在访问其中一个芯片时,如果另一个芯片还保持有输出,那么单片机就不能读到正确的数据,因此,单片机要通过片选控制信号分配有效地址。单片机主要通过主循环来监控系统的通信,其主循环流程图见图2所示。

 

[page]

  3 USB控制部分

  USB控制部分使用USB接口控制芯片CH372来实现数据的接受和发送。CH372是一个USB总线的通用设备接口芯片,CH372在单片机端,具有8位数据总线和读、写、片选控制线以及中断输出,因此可以方便地挂接到单片机/DSP/MCU等控制器的系统总线上;在计算机系统中,CH372的配套软件提供了简洁易用的操作接口,因此,与本地端的单片机通讯就如同读写文件一样简单。

  CH372在计算机端提供有应用层接口,应用层接口是由CH372动态链接库DLL提供的面向功能应用的API,所有API在调用后都会有操作状态返回,但不一定有应答数据。CH372动态链接库提供的API包括:设备管理API、数据传输API、中断处理API等。

  在应用层设计中,笔者采用的是请求加应答的方式。该方式使用一个下传的主动请求和一个上传的被动应答进行交互式双向数据通讯,下传与上传一一对应,相互关联。主动请求是指由计算机应用层下传给单片机的数据请求,被动应答则是单片机收到数据请求后,上传给计算机应用层的应答数据。所有的通讯都由计算机应用层发起,然后以接收到单片机的应答结束,其完整的过程包括如下步骤:

  (1) 计算机应用层按事先约定的格式将数据请求发送给CH372芯片;

  (2) CH372芯片以中断方式通知单片机;

  (3) 单片机进入中断服务程序,以获取CH372的中断状态并分析;

  (4) 如果是上传,则释放当前USB缓冲区,然后退出中断程序;

  (5) 如果是下传,则从数据下传缓冲区中读取数据块;

  (6) 分析接收到的数据块,准备应答数据,或者先退出中断程序再处理;

  (7) 单片机将应答数据写入批量端点的上传缓冲区,然后退出中断程序;

  (8) CH372芯片将应答数据返回给计算机;

  (9) 计算机应用层接收到应答数据。

  在单片机端,CH372芯片占用两个地址位,当A0引脚为高电平时,系统选择命令端口,此时可以写入命令;当A0引脚为低电平时,选择数据端口,此时可以读写数据。单片机通过8位并口对CH372芯片进行读写时,所有操作都是由一个命令码、若干个输人数据和若干个输出数据组成。

但部分命令不需要输入数据,而部分命令也可以没有输出数据。

  CH372芯片专门用于处理USB通讯。在接收到数据或发送完数据后,CH372将以中断方式通知单片机进行处理。单片机通过CH372接收和发送数据的流程图如图3所示。

 

[page]

  4 CAN控制器部分

  CAN控制器SJA1000可以通过总线驱动器PCA82C250接收CAN总线上的信号,并将其传送到微控制器,同时接收微控制器传来的信号,然后通过驱动器再传送到CAN总线。

  由于SJA1000与CH372的地址/数据总线共用,故应通过片选加以区别。操作时可将地址锁存管脚ALE/AS与单片机的ALE/P相连接,WR和RD管脚分别与单片机的WR、RD相连接。MODE管脚拉高则选用INTEL模式。应用时应将中断管脚INT与AT89C52的INT1相连,并接外部中断1,同时应接上拉10 kΩ电阻。电源与地之间应连接去耦电容。

  SJA1000的TX0和RX0管脚分别与驱动器82C250的TX和RX相连接,可用于向CAN总线发送和接收数据。此时,需要将RX1管脚接到一个稳定的电平上,并将系统中的RX1接地。

  在CAN总线端,单片机控制着传输流程。SJA1000的初始化由单片机完成,其初始化流程图见图4所示,在正常工作模式下,单片机可控制SJA1000的收发等操作,以完成和CAN总线的通信。当主机端传来数据时,单片机将数据转发到SJA1000的发送缓冲区,并由SJA1000根据CAN协议自动封装后发送到CAN总线上;当SJA1000接收到来自CAN总线上的一个有效的报文后,系统将在INT引脚上产生一个硬件中断信号(低有效),当单片机收到中断信号后,即进人中断服务程序,以完成数据的接收和处理,其中断服务流程见图5所示。

 

  5 结束语

  本文介绍的USB-CAN转接系统可以实现预期的目标。它能够实现数据的传输,从而为CAN总线和PC机的连接提供了一个方便实用的USB接口。

 

关键字:CAN总线  USB  转接技术 引用地址:CAN总线与USB的转接技术

上一篇:基于LIN总线的车用无刷直流电机控制器设计
下一篇:基于虚拟现实技术的汽车性能试验系统的设计与开发

推荐阅读最新更新时间:2024-05-02 21:49

STM32 USB HID 键盘
USB的HID键盘 报告 0x05, 0x01, // USAGE_PAGE (Generic Desktop) 0x09, 0x06, // USAGE (Keyboard) 0xa1, 0x01, // COLLECTION (Application) 0x05, 0x07, //USAGE_PAGE (Keyboard) 0x19, 0x29, //USAGE_MINIMUM (Keyboard ESCAPE) 0x29, 0xe7, //USAGE_MAXIMUM (Keyboard RightAlt) 0x15, 0x00, //LOGICAL_MINIMUM (0) 0x25, 0x01, //L
[单片机]
如何选择和开发DeviceNet系统
DeviceNet构建于CAN总线的基础之上,使用CAN总线11位标识区,只使用标准帧。11位标识区中,5位用于表示报文类型(32种报文),另外6位表示总线地址(64个地址)。  DeviceNet是一个简单的网络化解决方案,降低了成本及安装设备和配线的时间,并提供良好的互换性,使得多家供货商的产品可以像组件一样可以互换。DeviceNet是一个开放的网络标准。其规范和协议都是开放的。供货商不必购买硬件,软件,或许可权限,就可以把设备接入一个DeviceNet系统。其规范文本可以从Open DeviceNet Vendor Association Inc.( ODVA)获得。  DeviceNet在达成众多复杂设备之间的互操作性
[嵌入式]
低功耗数据采集系统的USB接口设计
实现系统运行的最小功耗是现代电子系统的普遍取向,也是绿色电子的基本要求。采用最小功耗设计方法既能减少电子设备的使用功耗,又能减少备用状态下的功率消耗。在节省能源的同时还有利于减少电磁污染,有利于电子系统向便携化方向发展,有助于提高系统的可靠性 。   现代工业生产和科学研究对数据采集的要求日益提高 。在许多场合要求数据采集系统向便携化方向发展,要求系统具有体积小、功耗低、传输速度快、使用方便灵活等特点。在数据采集系统中,如何节省电能以使系统工作时间更长,如何通信才能使系统数据传输速度更快,已经成为系统开发过程中必须加以考虑的主要内容。   微控制器MSP430的超低功耗技术在众多单片机中独树一帜,同时它具有集成度高等特点,因此,选
[单片机]
低功耗数据采集系统的<font color='red'>USB</font>接口设计
基于PIC单片机的CAN总线扩展技术
  引 言   CAN总线是一种串行多主站局域网总线,被广泛应用于汽车控制系统、自动控制、楼宇自动化、医学设备等各个领域。其传输距离远,最远可达10 km,传输速率高,最高可达1 Mb/s,容错性能好,可靠性能高。但是由于CAN驱动器的驱动能力有限,CAN总线能够驱动的节点数有限,一般在100个左右,同时会随着传输距离的增加,最高传输速率会下降,如果距离过长会引起信号丢失、反射等故障。在实验室条件下测得在5 Kb/s的通信速率下最远通信距离能达到10 km;在18 Kb/s的通信速率下最远通信距离只能达到2 km;而在42 b/s的通信速率下,最远通信距离只能达到1 km。测试条件:线缆采用线径为0.75 mm2的屏蔽双绞线,线缆为
[嵌入式]
基于CANopen协议在车载设备中的应用研究
引言 在现代战争中,随着武器装备系统的机动化、自动化和信息化程度的不断提高,军用车辆上的车载设备也不断增多,其中很多设备如车载雷达、车载 光学 瞄准设备、车载武器设备等,都需要一个稳定的水平平台作为基座,以保证武器系统的瞄准、跟踪和精确打击。同时,随着网络技术的不断发展,车辆系统中的网络化程度也越来越高,这就要求一个车载装置能和其它的设备进行互连,从而有利于形成整车 监控 系统。目前,在车辆中大多数设备都通过 CAN 总线进行连接,但是其应用层协议的不统一给不同厂商之间的设备互连带来了困难。 CANopen 是基于CAN(Controller Area Network)总线的应用层协议,它最初由从事工业控制的CiA (CA
[汽车电子]
基于CANopen协议在车载设备中的应用研究
详解基于CAN总线的汽车仪表系统设计
系统整体方案设计 3.1系统的设计原则 一个应用系统开发方案的好坏,和开发者对系统本身的了解程度有密切的关系,当还不完全了解系统需求的时候,就开始进行开发工作是盲目的和不切合实际的。当代汽车对工况信息的显示要求越来越高,要求汽车组合仪表提供信息量大,显示直观、清晰、稳定,而且要求响应速度快,显示精度高哪]。本课题根据汽车电气设备基本技术条件和汽车仪表基本技术条件,同时结合系统的设计思路和方案,提出了以下设计原则: (l)作为驾驶员与车辆进行信息交流的界面要简洁和直接方便,使驾驶员在不需要分神的情况下能很方便地了解相关信息。 (2)系统必须能够及时准确地提供大量的信息,要求显示信息速度快,部分信号要求实时反映。 (3)必须满足汽
[单片机]
详解基于<font color='red'>CAN总线</font>的汽车仪表系统设计
CAN总线在逆变电源监控模块中的研究与应用
1引言 新型高频中小功率逆变电源设备运用电源模块之间的并联实现功率合成,组成积木式、智能化的分布式大功率电源系统,是当今很有应用前景的新型技术。将若干电源模块组合起来,可以构成任意功率等级的供电系统,有着广泛的应用前景。以现场总线为基础的全数字化自动控制系统是当今世界各国在工业自动化领域的热点课题。本文采用CAN现场总线组建监控网络,对含DSP的嵌入式智能控制器的电源模块进行单模块和多模块监控。 CAN (Controler Area Network)总线属于现场总线的范畴,是一种串行数据通信总线。CAN总线结构模型取ISO/OSI参考模型的第1、2、7层协议,即物理层、数据链路层和应用层。应用层的内容主要取决于用户的需要,所以实
[嵌入式]
支持CAN总线的电动车辅助逆变电源的设计
摘要:现代电动车辆中电控技术应用广泛,各类设备运行参数共享成为整车系统的特点。(CAN)总线的数据交换速度高、抗噪性强,成为车辆内部通信网络的首选。介绍了集成CAN控制器的高性能微处理器P8xC592的功能和特点及其在电动车辅助三相逆变电源中的应用。 关键词:CAN总线 P8xC592微处理器 三相逆变电源 电动车由于储能设备容量有限,在运行过程中对电能流向管理十分严格。精确的电能管理可以延长车辆运行里程,减少电池充电频率,从而节约运行成本。车载能量管理系统需要随时监控电池电压、电机输出功率以及其它设备的用电情况。同时,电动车电子控制系统的动态信息必须具有实时性,各子系统需要将车辆的公共数据实时共享,如电机转速、车轮转换、油门踏板位
[电源管理]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved