CAN总线设计(最终版)(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CAN-USB适配器设计
*****
指导老师:***
学院名称:*****
专业班级:****
设计提交日期:**年**月
摘要
随着现场总线技术和计算机外设接口技术的发展,现场总线与计算机快速有效的连接又有了更多的方案。USB作为一种新型的接口技术,以其简单易用、速度快等特点而备受青睐。本文介绍了一种基于新型USB接口芯片CH372的CAN总线网络适配器系统的设计,提出了一种使用USB接口实现CAN总线网络与计算机连接
的方案。利用芯片CH372可在不了解任何USB协议或固件程序甚至驱动程序的情况下,轻松地将并口或串口产品升级到USB接口。该系统在工业现场较之以往的系统,可以更加灵活,高速,高效地完成大量数据交换,并可应用于多种控制系统之中,具有很大的应用价值。
关键词:USB;CH372;CAN;SJA100;适配器
目录
1.设计思想 (3)
2.CAN总线与USB的转换概述 (4)
3. 适配器硬件接口设计 (5)
3.1 USB接口电路 (5)
3.2 CAN总线接口电路 (7)
4.USB通用设备接口芯片CH372 (8)
4.1 概述 (8)
4.2 引脚功能说明 (9)
4.3 内部结构 (9)
4.4 命令 (10)
5.软件设计 (10)
5.1 概述 (10)
5.2主监控程序设计 (12)
5.3 CAN和USB接口芯片的初始化 (13)
5.4 CAN报文的发送 (15)
5.5 CAN报文的接收 (17)
5.6.自检过程 (19)
5.7 USB下传子程序设计 (20)
5.8 USB上传子程序设计 (22)
5.9.USB—CAN转换器计算机端软件设计 (23)
6. 抗干扰措施 (25)
7. 估算成本 (26)
8. 应用实例介绍 (27)
9 总结及设计心得 (28)
10 参考文献 (28)
1 设计思想
现场总线网络技术的实现需要与计算机相结合。目前,在微机上扩展CAN总线接口设备一般采用PCI总线或者RS-232总线。PCI虽然仍是高速外设与计算机接口的主要渠道,但其主要缺点是占用有限的系统资源、扩展槽地址;中断资源有限;并且插拔不方便;价格较贵;而且设计复杂、需有高质量的驱动程序保证系统的稳定;且无法用于便携式计算机的扩
展;RS-232虽然插拔方便,但是传输速率太慢。
本文的设计思想是通过使用USB接口芯片CH372,将计算机与CAN网络控制节点参数相互准确快速地传输。CH372是一种USB总线通用接口芯片,在计算机系统中,通过CH372的配套软件可提供简洁易用的操作接口,从而使其与本地端的单片机通讯就如同读写硬盘中的文件一样简单,由于CH372屏蔽了USB通讯中的所有协议,因而可在计算机应用层与本地端控制器之间提供端对端的连接,在不需要了解任何USB协议或者固件程序甚至驱动程序的情况下,就可轻松地将并口、串口产品升级到USB接口。
CAN适配器用于完成USB总线和CAN总线之间的数据交换。使用MCU统筹安排数据在USB总线和CAN总线之间的数据交换。以MCU为界可以将硬件分为两部分:一是MCU和USB总线交换数据;二是MCU控制CAN控制器,完成CAN数据包到CAN总线位序列协议解释,该系统结构如图1所示。
2 CAN总线与USB的转换概述
USB是英文UniVersalSerial Bus的缩写,即通用串行总线,它是针对计算机外设的一种新型串行通信的接口标难。最初的USB总线标准由Intel、Microsoft、Compaq和NEC等多家公司于1994年共同提出,到1998年推出了1.1全速版本,2000年又推出了2.0高速版本,再到最近的USB—OTG新兴技术,随着规范的不断完善和发展,具有快速、双向、即插即用且价格低廉特点的USB总线,近几年来已在计算机与外设的连接以及基于计算机的各种仪器中获得了广泛的应用。USB总线共有4种基本类型的数据传输,分别为控制传输、批量传输、中断传输和同步传输,为不同的通信任务要求提供了灵活的选择。但USB总线毕竟不是为工业现场测控应用而设计的总线,它可连接的设备数较少,通信距离短,抗干扰能力也不是很强;而CAN总线则具有可连接设备数目多、传输距离远、抗干扰能力强等许多优点,但其不能直接与计算机相连。如果能将USB总线与CAN总线结合起来,设计一个USB—CAN转换器,就能同时利用两者的优点,在现场测控领域实现更强大而灵活的通信任务。
图2 网关中断处理程序流程图(接收CAN子网报文)
3 适配器硬件接口设计
3.1 USB接口电路
USB接口电路在微控制器和USB接口的选择上有两种方式:一种是采用具备USB通讯功能的微处理器。随着USB应用的日益广泛,Intel、Cypress、Philips等芯片厂商都推出了具有USB通信接口的微处理器,如8X930A、8X931A、EZ-USB等。由于这些微处理器具有USB 接口,它们与过去的开发系统不兼容,需要购买新的开发系统,投资较高。另一种是采用普通微处理器加上专用的USB通信芯片。
现在的专用芯片中较流行的有USBN9602、SL11、PDIUSBD12等。但是,USB接口的开发一般要求设计人员对USB的标准、Firmware编程及驱动程序编写等有较深入的理解,因
此限制了一般的硬件工程师对USB接口产品的开发使用。本系统中使用了USB接口芯片CH372,使用非常简单,开发人员只要熟悉单片机的编程及简单的VB或者VC应用程序编程,在较短的时间内就可开发出相应的USB产品。
CH372是一个USB总线的通用设备接口芯片,遵守USB1.1协议。在本地端,CH372具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机、DSP等控制器的系统总线上;在计算机系统中,CH372的配套软件提供了简洁易用的操作接口,与本地端的单片机通信就如同读写硬盘中的文件。CH372内置了USB通讯中的底层协议,具有内置固件模式和外置固件模式。在内置固件模式下CH372屏蔽了USB通信中的所有协议,在计算机应用层与本地端控制器之间提供端对端的连接。使用CH372,不需要了解任何USB 协议或者固件程序,甚至驱动程序,就可以轻松地将并口、串口的产品升级到USB接口。
CH372芯片的RD和WR可以分别连接到单片机的读选通输出引脚和写选通输出引脚。CS由地址译码电路驱动,用于当单片机具有多个外围器件时进行设备选择。INT可以连接到单片机的中断输入引脚,中断请求是低电平有效。当CS和RD以及A0都为低电平时,CH372中的数据通过D7~D0输出;当CS和WR以及A0都为低电平时,D7~D0上的数据被写入CH372芯片中;当CS和WR都为低电平而A1为高电平时,D7~D0上的数据被作为命令码写入CH372芯片中。CH372芯片的UD+和UD-引脚应该直接连接到USB总线上。如果为了芯片安全而串接保险电阻或者电感,那么交直流等效串联电阻应该在5Ω之内。CH372芯片内置了电源上电复位电路,一般情况下,不需要外部提供复位。CH372芯片正常工作时需要外部为其提供12MHz的时钟信号。一般情况下,时钟信号由CH372内置的反相器通过晶体稳频振荡产生。外围电路只需要在X1和X0引脚之间连接一个标称频率为12MHz的晶体,并且分别为X1和X0引脚对地连接一个容量为30pF的高频振荡电容。CH372芯片支持5V电源电压或者3.3V电源电压。当使用5V工作电压时,CH372芯片的VCC引脚输入外部5V电源,并且,V3引脚应该外接容量为0.1μF左右的电源退耦电容。当使用3.3V工作电压时,CH372芯片的V3引脚应该与VCC引脚相连接,同时输入外部的3.3V电源,并且与CH372芯片相连接的其它电路的工作电压不能超过3.3V。接口电路如图3所示。
图3 USB接口电路