推荐-CAN总线的适配器节点设计课程设计1 精品
- 格式:doc
- 大小:307.47 KB
- 文档页数:22
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虽然插拔方便,但是传输速率太慢。
CAN总线节点设计
简介
CAN总线是一种基于总线的通信系统,它允许在有限的带宽中实现大
量低速I/O。
CAN总线可以用于连接各种设备,如控制器、传感器、执行
器等,而它的架构可以支持多路文件传输。
CAN通信系统最常用于设计汽
车电子系统,该系统可以允许多种终端设备工作在不同的节点上,从而实
现复杂的汽车电子系统的结构化管理。
本文将介绍CAN总线节点的设计,
包括CAN总线的结构、CAN总线消息格式以及CAN总线节点设计要素。
CAN总线是一种广泛使用的系统,它由一组多个总线节点组成,用于
传输控制、监视和数据通信信号。
CAN总线的架构类似于星型结构,但
是它不是点对点的连接,而是一个多端点的共享总线。
每个节点都是一
个独立的硬件单元,它可以发送和接收数据。
传输的速率可以在10Kbps
到1Mbps之间进行调整,这取决于总线的长度和电缆类型。
CAN总线的消息是以帧格式传输的,帧包括控制字段、数据长度代码、标识符和数据字段等。
控制字段可以用来标识消息类型,如请求、通知、
应答等。
数据长度代码是用来指示数据字段长度的,标识符是用来标识特
定消息的,而数据字段则包含了数据。
CAN总线通信适配卡的设计与实现1 CAN简介CAN(Controller Area Network)总线属于现场总线的范畴,是一种有效支持分布式控制或实时控制的串行通信网络。
CAN协议目前已纳入ISO 国际标准(ISO11898),它分为物理层、数据链路层和应用层,其中物理层和数据链路层协议已经集成在芯片中,可通过硬件自动完成数据的成帧与发送和接收,从而大大削减软件的工作量,因此,特殊适用于工业领域,尤其是那些强调低层监测与控制且要求牢靠性高、实时性好的恶劣条件下的工业现场用法。
具有以下突出特点:●能够以多主节点方式工作,网络上任一节点均可设成主节点以其它节点主动发送信息。
●报文传输不含目标地址,它以全网广播为基础,各个接收站可按照报文中反映的数据性质标识符来过滤报文以打算是否接收。
同时可通过报文标识符将报文设定为不同的发送优先级,以满足不同的实时要求。
●非破坏性总线仲裁和错误界定,利用现有的产品,可由控制器自动解决总线矛盾和出错界定,并对用户彻低透亮,同时还能区别临时和永远故障,并可自动关闭故障节点。
●通信距离可达10km(速率5kb/s),速度可达1MB/s(距离40m以内)。
●理论上,CAN总线的网上节点数不受限制,它有2032种不同的报文标识符,但详细数量取决于物理层的承受能力,通常CAN总线上的节点数可达110个。
CAN总线系统普通采纳总线式网络拓扑结构,其优点是结构容易,成本低,系统牢靠性高。
其总体模式1所示。
2 CAN总线适配卡的功能特点CAN总线通信适配卡是插在PC机ISA插槽内的智能通讯卡,它可使PC 机便利地衔接到CAN总线上,其特点如下:(1)采纳高性能的8位微处理器89C52(12MHz),可减轻PC主机的通信负担,而且可以运行复杂的用户通相信务。
(2)卡上带有lkB的高速双口RAM存储器,可挺直映射到主机内存空间以实现CAN总线与主机PC的高速数据交换,并可设置双口RAM在ISA总线中的基地址。
CAN智能节点的设计摘要总线是一种流行的实时性现场总线,文中提出了一种基于430单片机,并以2510为控制器的智能节点设计方案,该方案利用430通过标准接口可实现对2510的控制,并能够完全实现总线规范。
关键词智能节点;430;2510;数据通信1引言CAN总线是控制器局域网ControllerAreaNet-work总线的简称,它属于现场总线范畴,是一种能有效支持分布式控制或实时控制的串行通信网络,它可将挂接在现场总线上作为网络节点的智能设备连接成网络系统,范文先生网收集整理并进一步构成自动化系统,从而实现基本的控制、补偿、计算、参数修改、报警、显示、监控、优化及控管一体化的综合自动化功能。
CAN总线智能节点在分布式控制系统中起着承上启下的作用。
它位于传感器和执行机构所在的现场,一方面和上位机PC或者工控机进行通信,以完成数据交换;另一方面又可根据系统的需要对现场的执行机构或者传感器进行控制和数据采集。
它常常将一些简单的过程控制程序放在底层模块中,从而减少了通信量,提高了系统控制的实时性。
因此,智能化模块设计在CAN系统中有着十分重要的作用。
本文将给出一种用MSP430单片机和MCP2510CAN控制器组成的总线智能节点的设计方案见图1,该方案中的单片机和CAN控制器通过标准的SPI接口进行通信,因此,该节点能够完成对被控器件的数据采集上报,并接受上位机的命令,进而进行解析以完成对执行机构的控制。
为了调试简单,本方案作了一些改动一是使MCP2510工作在环回模式,也就是数据由发送缓存直接发送到接收缓存,由于不经过CAN收发器和CAN总线,而只是使用了它的一个发送缓存和一个接收缓存,因而方便了调试;二是把被控器件的数据采集和对执行机构的控制部分略去,而这些功能在以后可以方便地添加,这样,在实际使用时,只要对程序稍作修改就可应用。
2硬件设计本设计的整个接口模块主要由两部分组成CAN控制器MCP2510和微控制器MSP430。
课程设计课程名称车载总线题目名称学生学院专业班级学号学生姓名指导教师20 年月日摘要:通过iCAN协议,设计单片机对SJA1000连接,进行控制收发器TJA1050的收发,通过iCAN-4050数字I/O产品进行流水灯输出试验。
关键词:CAN总线、SJAl000、TJA1050、AT89C521 引言CAN(Controller Area Network)是控制器局域网,主要用于各种设备检测及控制的现场总线。
CAN总线是德国BOSCH公司20世纪80年代初为解决汽车中众多控制与测试仪器间的数据交换而开发的串行数据通信协议。
这是一种多主总线,无论是在高速网络还是在低成本的节点系统,应用都很广泛。
由于采用了许多新技术及独特的设计,与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性,其主要特点如下:●通信方式灵活,可以多主方式工作,网络上任意一个节点均可以在任意时刻主动向网络上的其他节点发送信息,不分主从。
●CAN节点只需对报文的标识符滤波即可实现点对点、点对多点及全局广播方式发送和接收数据,其节点可分成不同的优先级,节点的优先级可通过报文标识符进行设置,优先级高的数据最多可在134μs内传输,可以满足不同的实时要求。
●CAN总线通信格式采用短帧格式,每帧字节数量多为8个字节,可满足一般工业领域中控制命令、工作状态及测试数据的要求,同时,8个字节不会占用总线时间过长,保证了通信的实时性。
●采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息出现冲突时,优先级低的节点会主动退出数据发送,而优先级高的节点可不受影响地继续传输数据,大大节省了总线冲突仲裁时间,在网络重载的情况下也不会出现网络瘫痪。
●直接通信距离最大可达10 km (速率在5 kb/s以下),最高通信速率可达1 Mb/s (此时距离最长为40 m);节点数可达110个,通信介质可以是双绞线、同轴电缆或光导纤维。
●CAN总线采用CRC检验并可提供相应的错误处理功能,保证数据通信的可靠性,其节点在错误严重的情况下具有自动关闭输出功能,使总线上其他节点的操作不受影响。
一、现场总线、现场总线系统(FCS)、现场总线智能节点现场总线现场总线是一种工业数据总线,它主要解决现场的智能化仪表、控制器、协作机构等现场设备间的数字通讯以与这些现场设备和高级控制系统之间的信息传递问题。
近年来,国际上形成了多种成熟的现场总线,较为著名的有过程现场总线PROFIBUS(Process Fieldbus)、基金会现场总线FF(Foundation Fieldbus)、控制器局域网现场总线CANbus(Control Area Network)、可寻址远程传感器数据通路(HART)和局部操作网络(LONWORKS)。
从资料分析和应用实践来看,FF、LONWORKS或HART与国的技术状况和承受能力有一定距离。
CAN总线更适合我国国情,其通信芯片价格较为低廉。
本项目研制的智能节点就采用了CAN 总线技术。
CAN总线是德国BOSCH公司从80年代初为解决现代汽车中众多的控制与测量仪器之间的数据交换而开发的一种串行数据通信协议。
他是一种多主总线,通信介质可以使双绞线、同轴电缆和光导纤维。
通信速率可达1Mbps 。
归纳起来,CAN总线主要有以下特点:(1)、网络中任一节点均可作为主节点,主动发送数据。
解决了许多传统总线的从节点无法主动向其他节点发送数据的难题,给用户的系统设计提供了极大的灵活性。
(2)、CAN网络中节点可分优先权满足不同要求。
(3)、抗干扰能力强,速度快,且工程简单,普通双绞线40米时可达1Mbps 。
(4)、调试维护方便。
(5)、CAN用户可以定义自己的CAN语言,即子层数据协议,然而这个协议需遵守ISO/OSI 参考模型的第7层(应用层)标准。
当然,用户也可以使用标准的CAN子层数据协议,如工业标准CAN协议Allen-Bradley’s DEVICE net ,直接利用它们进行方案开发,通过这些数据协议,建立了应用层与物理层之间的联系。
(6)、CAN协议采用CRC校样并可提供相应的错误处理功能,保证数据的可靠性。
基于USB的CAN总线适配器设计摘要提出一种使用接口实现总线网络与计算机连接的方案。
讨论了总线与计算机之间的硬件接口电路,同时分析了固件编程方法及驱动程序设计思路。
关键词总线固件编程适配器现场总线作为二十世纪80年代发展起来的新兴技术,在工业现场已有了广泛的应用。
在比较有影响力的几种现场总线中,总线以其突出的优点不仅大量应用于工业现场,而且在楼宇自动化、智能终端设备等民用领域也有了长足的发展。
现场总线网络技术的实现需要与计算机相结合。
以往总线网络与计算机的连接采用232、或接口。
但是随着计算机接口技术的发展,接口已经逐渐被淘汰;232接口数据传输率太低;虽然仍是高速外设与计算机接口的主要渠道,但其主要缺点是占用有限的系统资源、设计复杂、需有高质量的驱动程序保证系统的稳定,且无法用于便携式计算机的扩展。
随着11、20规范的相继制定,为外设与计算机的接口提出了新的发展方向。
的主要特点有外设安装简单,可实现热插拨;通讯速率高,11全速传送速率为12,与标准串行端口相比,大约快100倍;支持多设备连接;提供内置电源。
本文给出一种在2000下使用11协议实现总线适配器的设计方法。
整个设计主要开发适配器的固件及计算机的驱动程序、应用程序,以达到用接口连接现场总线网络的目的。
图11适配器硬件接口设计适配器硬件电路由微控制器、总线接口、总线接口和-隔离电源模块等组成。
原理框图如图1所示。
微控制器89512是公司生产的增强型-51兼容单片机,片内集成64闪存和1扩展,双数据指针,4级中断优先级,7个中断源,范文先生网收集整理内置看门狗,可编程时钟输出,在6时钟模式下工作,速度是标准51单片机的两倍。
此时外部最高频率可达20。
在高速、大程序容量、中小规模数据处理场合是一款非常理想的单片机型。
can总线接口电路设计Can总线是一种用于车辆电子系统中的通信接口,它在汽车电子技术中起着至关重要的作用。
本文将围绕Can总线接口电路的设计展开讨论。
Can总线是Controller Area Network的缩写,它是一种串行通信协议,旨在提供高可靠性、实时性和高带宽的数据通信。
Can总线接口电路的设计是为了实现Can总线与其他电子设备的连接和数据传输。
我们需要考虑Can总线的物理层接口电路。
Can总线使用差分信号传输,因此需要设计差分发送器和差分接收器。
差分发送器将逻辑高和逻辑低分别转换为正向和负向的差分信号,而差分接收器则将差分信号还原为逻辑高和逻辑低。
这样的设计可以提高信号的抗干扰能力,保证数据的可靠传输。
我们需要考虑Can总线的协议层接口电路。
Can总线采用帧格式进行数据传输,因此需要设计帧格式解析器和帧格式生成器。
帧格式解析器用于解析接收到的帧数据,提取出其中的控制信息和数据信息。
而帧格式生成器则用于生成符合Can总线协议的帧数据,并将其发送出去。
这样的设计可以保证数据的正确解析和生成,实现与其他设备的有效通信。
除了物理层和协议层接口电路,Can总线接口电路还需要考虑其他功能模块。
例如,需要设计时钟模块来提供时钟信号,以保证数据传输的同步性。
同时,还需要设计中断模块来处理Can总线接收到的中断信号,及时响应和处理来自其他设备的请求。
在Can总线接口电路的设计中,还需要考虑电路的功耗和成本。
可以采用低功耗的设计方案,选择低功耗的器件和电源管理电路,以降低整个系统的功耗。
同时,还需要根据实际的应用需求选择适当的元器件和电路结构,以降低系统成本。
Can总线接口电路的设计是为了实现Can总线与其他电子设备的连接和数据传输。
它涉及到物理层接口电路、协议层接口电路以及其他功能模块的设计。
在设计过程中,需要考虑信号的抗干扰能力、数据的可靠传输、接口的兼容性、功耗的控制以及成本的降低等因素。
通过合理的设计和选型,可以实现高可靠性、实时性和高带宽的数据通信,进而提升车辆电子系统的性能和功能。
can总线接口电路设计Can总线接口电路设计一、引言Can总线是一种常用的串行通信协议,广泛应用于汽车电子、工业自动化等领域。
Can总线接口电路的设计是实现Can总线通信的关键。
本文将从Can总线的基本原理、Can总线接口电路的设计要点以及常见的设计方案等方面进行探讨。
二、Can总线的基本原理Can总线是一种多主机、多节点的串行通信协议,采用差分信号传输方式。
其基本原理包括以下几个方面:1. 差分信号传输:Can总线采用两条线分别传输正负两个信号,通过差分电压来传递信息。
这种差分传输方式具有抗干扰能力强、传输距离远等优点。
2. 冲突检测与容错机制:Can总线采用冲突检测与容错机制,可以在多个节点同时发送数据时进行冲突检测,并通过优先级来解决冲突,确保数据传输的可靠性。
3. 高速传输:Can总线的通信速率可以达到几百kbps甚至几Mbps,能够满足高速数据传输的需求。
三、Can总线接口电路的设计要点Can总线接口电路的设计要考虑以下几个方面:1. 差分信号传输:Can总线的接口电路应保证正负两个信号的差分电压,一般通过差分放大器或差分驱动器来实现。
2. 抗干扰能力:Can总线在工业环境中应用广泛,接口电路应具备良好的抗干扰能力,包括抑制共模干扰、抑制电磁干扰等。
3. 高速传输:Can总线的通信速率较高,接口电路应具备足够的带宽和响应速度,以满足高速传输的需求。
4. 电源稳定性:Can总线接口电路对电源的稳定性要求较高,应采取合适的电源滤波和稳压措施,以确保电源的可靠性和稳定性。
5. 保护电路设计:Can总线接口电路应具备过压保护、过流保护等保护电路,以防止外部干扰对接口电路和总线的损坏。
四、常见的Can总线接口电路设计方案根据应用需求和成本考虑,常见的Can总线接口电路设计方案包括以下几种:1. 集成电路方案:使用Can总线收发器芯片,如TI的SN65HVD230等,通过将芯片与控制器进行连接,实现Can总线的收发功能。
手把手教你设计CAN总线系列讲座(1)—CAN实验设备和器材准备一.CAN实验设备和器材使用简介1. CAN总线简介(1)什么是CAN总线CAN(Controller Area Network,控制器局域网)是一种高性能、高可靠性、易开发和低成本的现场总线,在全球得到广泛应用,也是最早在我国应用的现场总线之一。
CAN 是20世纪80年代(1983)德国Bosch(博世)公司为解决众多的测量控制部件之间的数据交换问题而开发的一种串行数据通信总线。
最初,CAN作为汽车的监测、控制系统而设计,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。
比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。
现在,由于CAN总线自身的特点,其应用领域已由汽车行业扩展到过程工业、机械工业、机器人和楼宇自动化等领域。
(2) CAN总线特点CAN与其他现场总线相比,具有突出的可靠性、实时性和灵活性,其技术特点如下:●CAN从本质上讲是一种多主或对等网络,网络上任一节点均可主动发送报文,不分主从,通信方式灵活。
●废除了传统的站地址编码,而代之以对通信数据进行编码;通过报文过滤,可实现点对点、多点播送(传送)、广播等几种数据传送方式。
●采用短帧结构,传输时间短,受干扰概率低,具有极好的检错效果。
CAN 的每帧信息都有CRC及其他检错措施,降低了数据出错概率。
●具有多种检错措施及相应的处理功能,检错效果极好,处理功能很强,保证了通信的高可靠性。
位错误和位填充错误检测、CRC校验、报文格式检查和应答错误检测及相应的错误处理。
●通信介质(媒体)可为双绞线、同轴电缆或光纤,选择灵活。
●总线长度可达10km(速率为5kbps及其以下);网络速度可达1Mbps(总线长度为40m及其以下)。
●网络上的节点数主要取决于总线驱动电路,目前可达110个;标准格式的报文标识符可达2032个,而扩展格式的报文标识符的个数几乎不受限制●通过报文标识符来定义节点报文的优先级。
CAN总线节点电路的设计与实现CAN(Controller Area Network)即控制器局域网络。
因为其具有较强的抗干扰能力、通讯中没有地址的概念及节点数不受限制等优点,已经被广泛应用于汽车、数控机床、仪器仪表、现场控制等领域。
在的节点设计中,目前应用较多的是通过的控制来实现。
有的单片机已经嵌入了CAN控制器的功能,比如Philips的P8XC592,Motorola的68HC05X4等,但这类单片机的应用并不普及,而且价格相对较高。
对于目前应用最为普及、价格也很廉价的MCS-51系列单片机,本身并不嵌有CAN控制器的功能。
下面就给出一种基于MCS-和SJA1000的CAN总线节点设计办法。
1 CAN总线简介CAN 总线是现场总线的一种,它是德国Bosch 公司在1986 年为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通讯总线。
它与其它总线最大的区分是两个节点之间传送信息时报文中没有地址信息,而是对不同性质的数据加以标识。
在通讯时,以全网广播为基础,各接收节点按照报文中反映数据性质的标识符过滤报文,该收的收下,不该收的弃而不用。
虽然CAN总线最初是为在汽车行业应用而开发的,但因为其具有很强的纠错能力,支持差分收发,因而适合高噪声环境,而且传输距离比较远。
另外,象Philips,Motorola,Intel等创造商相继开发出了支持CAN协议的集成芯片,更是推进了CAN总线的应用。
目前,CAN总线在数控机床、医疗设备、工业控制等领域也取得了广泛的应用。
1993年,国际标准化组织正式颁布了CAN 总线的国际标准ISO11898。
其详细特性如下:(1)CAN网络上的节点信息可以分成不同的优先级,用来满足不同的实时要求。
(2)CAN为多主工作方式,网络上任一节点均可在随意时刻主动地向网络上的其他节点发送信息,而不分主从。
(3)当多个节点同时向总线发送信息时,CAN采纳非破坏性总线仲裁技术,低优先级的节点会依此退动身送,而最高优先级的节点正常发送,不会受到任何影响,极大地节约了总线矛盾仲裁时光。
CAN总线节点设计CAN总线节点设计指的是在CAN总线上实现节点功能的设备设计。
CAN总线是一种多主控制器、多从设备的串行通信总线,具有高可靠性、高抗干扰性以及实时性强的特点。
在CAN总线上实现节点设计,需要考虑节点的硬件和软件部分。
硬件设计方面,首先需要选择合适的CAN控制器芯片。
常见的CAN控制器芯片有Microchip的 MCP2515、TI的 TJA1050等。
控制器芯片的选择应根据具体的应用需求,如通信速率、数据帧格式、支持的CAN协议等进行选择。
除了CAN控制器芯片和收发器,还需要进行其他外围电路的设计,如电源电路、过滤电路等。
电源电路需要提供节点所需的稳定电压,过滤电路可以用于抑制噪声和滤除无效的CAN信息等。
软件设计方面,需要开发CAN通信协议栈,这是实现节点功能的关键。
CAN通信协议栈主要包括消息传输、传输错误检测和纠正、总线冲突处理等功能。
根据应用需求可以选择开源的CAN协议栈进行开发,如SocketCAN和CANopen等。
除了通信协议栈,还需要开发节点的应用层协议栈。
应用层协议栈根据具体的应用需求进行设计,可以包括节点与上位机的通信协议、节点之间的通信协议等。
在软件的实现过程中,还需要进行硬件和软件的接口设计,包括CAN控制器芯片的驱动程序、收发器的驱动程序等。
驱动程序需要负责控制硬件的操作,如发送和接收CAN消息。
此外,还需要进行节点的测试和调试。
在测试和调试过程中,可以使用CAN总线分析仪对节点进行监测和分析,检查节点的通信正常性、数据正确性等。
总而言之,CAN总线节点设计涉及硬件和软件两个方面。
硬件方面包括选择合适的CAN控制器芯片、收发器的设计以及其他外围电路的设计。
软件方面则包括CAN通信协议栈和应用层协议栈的开发,驱动程序的编写,以及节点的测试和调试。
通过综合考虑硬件和软件两个方面的设计,可以实现功能完备的CAN总线节点。
CAN总线智能节点设计现场总线是自动化领域的计算机网络,是当今自动化领域技术发展的热点之一。
它以总线为纽带,将现场设备连接起来成为一个能够相互交换信息的控制网络,是一种双向串行多节点数字通信的系统。
CAN总线也是现场总线的一种,它最初被应用于汽车的控制系统中。
由于其卓越的性能,CAN总线的应用范围已不再局限于汽车工业,被广泛应用到自动控制、楼宇自动化、医学设备等各个领域。
本文设计的CAN智能节点由数据采集电路和通信电路两部分组成。
数据采集系统采用了八路信号采集,并且根据工业现场的情况采用了一种新的高精度信号调理电路,通过此种信号调理电路增强了节点的抗干扰性和稳定性。
单片机对CAN总线控制芯片SJA1000进行正确初始化后,将要发送的数据通过82C250输出至CAN总线。
接收过程中,通过选择将要索取信息的节点及其相关信息的选项,数据流按照上述发送过程通过总线到达被索取节点,再由该节点分析数据包,返回相应数据信息。
所有数据都由SJA1000打包,再按CAN2.0B的BISCICAN模式发送和接收。
本文从课题的研究背景、CAN总线协议、CAN节点以及CAN总线节点之间的通信等方面对CAN总线技术的应用进行了详细阐述,并对CAN总线数据采集节点的硬件设计和软件编程进行了详尽介绍,并且针对系统设计过程中出现的问题,并对其进行了一定的分析。
同主题文章[1].饶家明,田作华. CAN总线智能节点的设计和实现' [J]. 工业仪表与自动化装置. 2002.(05)[2].刘忠,杨世兴. 基于CAN总线的智能节点设计' [J]. 西安科技大学学报. 2003.(04)[3].黄河,高浪琴. 基于CAN总线通讯智能节点的设计与实现' [J]. 江西科学. 2004.(04)[4].徐津,杜尚丰,赵兴炳,张卫. 基于CAN总线的温室智能控制节点的开发' [J]. 仪器仪表学报. 2004.(S1)[5].易军,费敏锐,王红蕾. 基于CAN总线技术的一类智能节点开发及应用' [J]. 测控技术. 2003.(07)[6].宋健. 基于CAN总线的温室智能环境控制系统' [J]. 潍坊学院学报. 2004.(02)[7].罗丁,刘建辉,张全贵. 基于CAN总线的嵌入式监控系统中智能节点研究' [J]. 微计算机信息. 2004.(07)[8].刘雪丽,张长利,朱春波,房俊龙. CAN总线及其智能节点的软硬件设计' [J]. 东北农业大学学报. 2004.(03)[9].徐卓农,万芳瑛,朱俊杰. 一种具有CAN总线接口单片机开发系统的设计' [J]. 湖南工程学院学报(自然科学版). 2004.(02)[10].范焱,王武斌,乔占明,王原会,姚永林. CAN总线智能节点在煤矿运输信、集、闭系统中的应用' [J]. 电脑开发与应用. 2005.(05)【关键词相关文档搜索】:控制理论与控制工程; 智能节点; CAN总线; 低功耗【作者相关信息搜索】:哈尔滨理工大学;控制理论与控制工程;宋清昆;吴立松;。
课程设计题目 CAN通信二级学院电子信息与自动化专业自动化班级 107070103 学生姓名学号指导教师熊文考核项目设计50分平时成绩20分答辩30分设计质量20分创新设计15分报告质量15分熟练程度20分个人素质10分得分总分考核等级教师签名摘要:CAN总线是控制器局域网总线(contr01ler AreaNetwork)的简称。
属于现场总线的范畴,是一种有效支持分布式控制或实时控制的串行通信网络。
由于其高性能、高可靠性及独立的设计而被广泛应用于工业现场控制系统中。
SJAl000是一个独立的CAN控制器,PCA82C200的硬件和软件都兼容,具有一系列先进的性能,特别在系统优化、诊断和维护方面,因此,SJAl000将会替代PCA82C200。
SJAl000支持直接连接到两个著名的微型控制器系列80C51和68xx。
下面以单片机AT89C52和SJAl000为例,介绍CAN总线模块的硬件设计和CAN通信软件的基本设计方法。
关键词:AT89S52 CAN通信 SJA1000目录:(一) 背景:(二) CAN介绍(三) SJA1000内部结构和功能简介(四) 硬件电路图(五) 初始化程序(六) 测试(七) 总结一背景:CAN(Controller Area Network)数据总线是一种极适于汽车环境的汽车局域网。
CAN总线是德国Bosch公司为解决汽车监控系统中的复杂技术难题而设计的数字信号通信协议,它属于总线式串行通信网络。
由于采用了许多新技术和独特的设计思想,与同类车载网络相比,CAN总线在数据传输方面具有可靠、实时和灵活的优点。
1991年9月Philips半导体公司制定并发布了CAN技术规范(版本2.0),该技术规范包括A部分和B两部分,其中2.0A给出了CAN报文的标准格式;2.0B给出了标准和扩展两种格式。
此后,1993年11月ISO正式颁布了道路交通运输工具一数据信息交换一高速通信控制器局域网(CAN)的国际标准IS011898,为控制器局域网的标准化和规范化铺平了道路。
CAN总线节点的设计与应用CAN(Controller Area Network)总线,又称控制器局域网,是Bosch公司在现代汽车技术中领先推出的一种多主机局域网。
由于其卓越的性能,极高的可靠性,独特灵活的设计和低廉的价格,现已广泛应用于工业现场控制、智能大厦、小区安防、交通工具、医疗仪器、环境监控等众多领域。
CAN已被公认为几种最有前途的现场总线之一。
CAN总线规范已被ISO国际标准组织制订为国际标准。
CAN协议也是建立在国际标准组的开放系统互联参考模型基础上的,主要工作在数据链路层和物理层。
用户可在其基础上开发适合系统实际需要的应用层通信协议,但由于CAN总线极高的可靠性,从而使应用层通信协议得以大大简化。
本设计主要实现的是CAN总线节点的设计与应用,利用一块板子进行模拟数据的通信。
1.引言1.1课题背景自动控制技术是当代发展极为迅速、应用十分广泛、最引人注目的高技术之一,也是推动新技术革命和新产业革命的核心技术。
随着现代控制理论的发展,自动控制技术已从单变量控制到多变量控制,从自动调节到最优控制。
现在对自动控制的要求已不仅是保持个别变量(如温度、转数、电压等)的稳定,而是要求实现多个变量的最优控制。
分析与设计最优控制系统已成为现代控制理论的基本内容。
随着微型计算机的出现,特别是微型计算机应用于控制系统,为计算机控制带来了根本性的变革。
对于复杂的、分散的控制对象,由于它们往往是同时、并行,且独立地工作,控制对象分布面又很广,因此把它们联系起来实现分布控制是现代控制技术中的一个重要发展方向。
随着计算机硬件、软件技术及集成电路技术的迅速发展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支,并取得了巨大进步。
由于对系统可靠性和灵活性的高要求,工业控制系统的发展主要表现为:控制面向多元化,系统面向分散化,即负载分散、功能分散、危险分散和地域分散。
分散式工业控制系统就是为适应这种需要而发展起来的。
一、摘要本实验介绍一种基于CAN总线控制器SJA1000的总线节点模块,包括SJA1000的部分重要寄存器的功能介绍,以及软件编程的实现。
,,,,,,,,,,,,,,,特点:1.可实现任意单片模块的互相通信,由于SJA1000兼容5V和3.3V的逻辑电平,且供电电压也为3.3V~5.6V,因而可以使基于逻辑供电5V和3.3V的系统能够很容易的挂在CAN总线网络上,解决模块之间的电平不兼容问题。
2.总线控制器宇驱动器之间利用6N137高速光耦隔离技术,使得网络上的各个模块与总线本身完全隔离,保证了总线的安全性,也保证了各模块之间的独立性。
当总线网络中含有大负载驱动时这点表现的尤为重要。
3.由于采用SJA1050作为总线驱动器,实现数据在总线网络里高速传输,最高速度可达到1Mbps。
二、CAN总线简介1,,,,,.CAN总线的特点,,,,,CAN(Controller,,,,,Area,,,,,Network局域控制网),,,,,总线由Bosch、Benz研究试验,于1986年2月正式提出,至1993年11月Bosch,,,,,CAN2.0成为国际标准(ISO11898)。
2000年CAN总线芯片年度销售超过1亿片,欧产轿车都至少装配一条CAN总线网络。
目前CAN总线的应用已从汽车、火车、轮船迅速扩展到机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械、家用电器及传感器等领域。
其被公认为是最有前途的现场总线之一。
由于采用了许多新技术及独特的设计,CAN总线与一般的通讯总线相比,它的数据通讯具有突出的可靠性、实时性和灵活性。
其特点可概括如下:●CAN是到目前为止唯一有国际标准的现场总线。
●CAN为多主方式工作,网络上任一节点均可在任一时刻主动地向网络上其他节点发送信息,而不分主从。
●在报文标识符上,CAN上的节点分成不同的优先级,可满足不同的实时需要,优先级高的数据最多可在134μs内得到传输。
一、概述CAN(Controller Area Network)即控制器局域网络,是一种高性能、高可靠性、易开发和低成本的现场总线,是德国Bosch 公司为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。
它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1M bps ,距离可达10km 。
CAN 协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码,使网络内的节点个数在理论上不受限制。
由于CAN 总线具有较强的纠错能力,支持差分收发,因而适合高干扰环境,并具有较远的传输距离。
因此,CAN 协议对于许多领域的分布式测控很有吸引力。
CAN 总线以目前技术条件较成熟的IS0/0SI 模型为基础,与其它网络相比,其信息传递的格式为报文。
报文的长度可以不同,但都是有限的。
当总线空闲时任何已连接的单元都可以开始发新的报文,报文以全网广播方式散发出去。
各接收站根据报文的内容而不是地址进行判决,不需在信息中加入地址。
目前汽车上的网络连接方式主要采用2条CAN ,一条用于驱动系统的高速CAN ,速率达到500kb/s ;另一条用于车身系统的低速CAN ,速率是100kb/s 。
驱动系统CAN 主要连接对象是发动机控制器(ECU )、ABS 控制器、安全气囊控制器、组合仪表等等,它们的基本特征相同,都是控制与汽车行驶直接相关的系统。
车身系统CAN 主要连接和控制的汽车内外部照明、灯光信号、雨刮电机等电器。
因此有必要全面了解CAN 总线接口和控制器。
[1]二、CAN 通信控制器CAN 的通信协议主要由CAN 控制器完成。
CAN 控制器主要由实现CAN 总线协议的部分和实现与微处理器接口部分的电路组成。
对于不同型号的CAN 总线通信控制器,实现CAN协议部分电路的结构和功能大多相同,而与微处理器接口部分的结构和方式存在一些差异。
目前生产CAN 器件的知名厂商有:Intel 、PHILIPS 等。
辽宁工业大学工业控制网络技术课程设计()题目:基于USB的CAN总线适配器设计院(系):电气工程学院专业班级:学号:学生姓名:指导教师:起止时间:20XX.12.18-20XX.12.27课程设计()任务及评语院(系):电气工程学院教研室:自动化注:成绩:平时20% 质量60% 答辩20% 以百分制计算摘要CAN总线是一种应用极为普及的现场总线。
CAN总线作为智能设备的联系纽带,把挂在总线上作为网络节点的智能设备连接为网络系统,并进一步构成自动化系统,实现基本控制的综合自动化系统。
随着现场总线技术和计算机外设接口技术的发展,现场总线与计算机快速有效的连接又有了更多的方案,USB作为一种新型的接口技术,以其简单易用、速度快等特点而备受青睐。
本文简要提出了USB 接口与CAN总线连接方案,论述了系统的硬件构成,固件开发和驱动程序等内容。
关键词:现场总线 USB CAN总线目录第1章绪论CAN总线最初是德国Bosch公司在1986 年为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种支持分布式实时控制系统的串行数据通讯总线。
CAN总线与其它通信网的显著不同之处在于:(1)报文传送中不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符过滤报文,该收的收下,不收的弃用。
其好处是可线上网下网、即插即用和多站接收。
(2)特别强化了对数据安全性的关注,满足控制系统及其它较高数据要求的系统需求。
另外CAN总线采用短帧结构,借助接收滤波的多地址帧传送,受干扰概率低,每帧信息都有CRC校验及其它检错措施。
响应远程数据请求,配置灵活,具有全系统的数据相容性。
节点数主要取决于总线驱动电路,目前最多可达110个节点。
CAN总线符合ISO11898标准,通信速率高,最大传输速率可达1Mbit/S,最大传输距离为10km,传输介质可为双绞线。
基于CAN总线以上的特点,把它应用于系统分布比较分散且需要在同一总线上挂接多个节点的场合是非常适合的。
CAN总线具有高性能、高可靠性、高性价比、连接方便、实时性好及其独特的设计等突出优点应用于许多工业部门,目前已成为比较流行的一种现场总线,广泛应用于控制系统中的各检测和执行机构之间的数据通信。
而实际应用中PC 机与CAN总线的人机交互设计尤为重要,它直接影响系统的运行和结果,其连接方法也成为系统设计的重点,通常采取3种连接方式:RS-232串行口通信、PCI 卡、USB口通信,由于串行通信端口在系统控制领域中一直扮演着极为重要的角色,以其开发简单,资源丰富,成本低,无需驱动程序等诸多优点,不仅没有被淘汰,反而在规格上更先进,故应用广泛。
结合设计中AT89S51单片机有串行通信口且接口简单的特点,选用RS-232作为CAN总线与PC机之间的连接方式。
将就这一基于CAN控制器SJA1000与AT89S51的具有通用性的工业测控系统设计的软硬件设计方案作详细介绍。
第2章课程设计的方案2.1概述本次设计主要是综合应用所学知识,设计CAN总线适配器接口设计,并在实践的基本技能方面进行一次系统的训练。
能够较全面地巩固和应用“现场总线”课程中所学的基本理论和基本方法。
系统以单片机AT89S51和SJA1000控制器为核心,USB的CAN总线适配器设计,实现计算机串口与CAN总线协议的转换。
设计硬件包括总线控制器、总线收发器及ATMEL系列单片机及USB芯片等。
软件采用汇编语言或C语言,并调试与分析。
本设计系统主要部件结构图如图2.12.2系统组成总体结构图2.1 系统总体框图第3章硬件设计3.1单片机最小系统设计AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash 存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
图3.1单片机最小系统3.2 CAN总线在本系统中,CAN控制器采用Philips公司生产的SJA1000,它作为一个发送、接受缓冲器,实现主控制器和总线之间的数据传输;CAN收发器采用TJA1050芯片,它是CAN控制器和物理总线的接口,主要可以提供对总线的差动发送能力和对CAN 控制器的差动接受能力。
在CAN总线结构中,总线的两端还要配置两个120Ω的电阻,其作用是总线匹配阻抗,可以增加总线传输的稳定性和抗干扰能力,减少数据传输中的出错率。
为了增强CAN总线节点的抗干扰能力,SJA1000的TXO和RX0可通过高速光耦6N137与TJA1050相连,这样就很好的实现了总线上各节点的电气隔离。
光耦部分电源与CAN_V必须用小功率电源隔离模块进行隔离,这样就提高了节点的稳定性和安全性。
图3.2为SJA1000引脚图。
....图3.2 SJA1000引脚图3.3 USB接口PDIUSBD12 是一款带有并行总线和局部DMA传输能力的高速USB 接口器件,它支持USB1.1协议的所有传输方式,在本设计中用到了控制传输,中断传输和批量传输。
控制传输处理主机到USB设备的控制信息,固定使用端点0。
中断传输用来传送数据量很小,但需要及时处理,以达到实时效果的数据,使用端点1。
批量传输用来实现CAN节点与主机之间大数据快传送,使用主端点(端点2),一次最大可发送64字节。
PDIUSBD12 的固件设计成完全的中断驱动,当MCU 处理前台任务时USB 的传输可在后台进行。
这就确保了最佳的传输速率和更好的软件结构,同时简化了编程和调试。
后台ISR 中断服务程序和前台主程序循环之间的数据交换通过事件标志和数据缓冲区来实现,当PDIUSBD12 从USB 收到一个数据包那么就对MCU 产生一个中断请求,MCU立即响应中断,在ISR中固件将数据包从PDIUSBD12 内部缓冲区移到数据缓冲区,并在随后清零PDIUSBD12 的内部缓冲区,以使能接收新的数据包。
MCU 可以继续它当前的前台任务,返回到主循环检查循环缓冲区内是否有新的数据。
图3.3为PDIUSBD13固件编程结构图。
图3.3 PDIUSBD13固件编程结构图这部分程序结构可包括:1)请求处理程序对USB的标准设备请求进行处理和对用户添加的厂商请求进行处理;USB设备接入主机后要进入复杂的设备列举过程,并安装正确的驱动程序。
2)硬件提取层对单片机的I/O口、数据总线等硬件接口进行操作,该层包含最底层的函数,这些函数在不同的MCU 平台上需要进行改变,void outportb(unsigned char port,unsigned char val);void inportb(unsigned char port);对PDIUSBD12 所有的I/O 访问都可由它们实现;3)PDIUSBD12 命令接口对PDIUSBD12器件进行操作的模块子程序集,以简化器件的编程;4)中断服务程序当PDIUSBD12向单片机发出中断请求时,读取PDIUSBD12的中断传输来的数据,并设定事件标志和Setup包数据缓冲区,传输给主循环。
5)主循环发送USB请求,处理USB总线事件和用户功能处理等。
MCU 一旦上电就需要初始化其所有端口存储区,中断服务程序。
在主循环程序中MCU 对事件进行轮询,如有CAN总线发来的数据,则送往PDIUSBD12进行发送,如有USB总线数据,则启动CAN发送程序,它们在接口的接收工作分别由各自的中断程序完成。
要注意的是,我们在用了PDIUSBD12的端口最大一次可发送64字节,SJA1000一次最多能发8字节, 如果端口1传输的长度大于8 字节,MCU 在传输阶段就必须根据数据大小,分数次完成CAN数据的发送工作。
PDIUSBD12初始化程序:void D12_init(){D12_SetAddressEnable(0,1);D12_SetEndpointEnable(1);Disconnect();Delay(2);Connect();D12_ReadInterruptRegister();}3.4 收发器PCA82C250PCA82C250是CAN协议控制器和物理总线间的接口,它主要是为汽车中高速通讯(高达1Mbps)应用而设计。
此器件对总线提供差动发送能力,对CAN控制器提供差动接收能力,与ISO11898标准完全兼容。
PCA82C250芯片由接收器、驱动器、基准电压产生电路、工作模式选择电路及保护电路等组成。
PCA82C250内部的限流电路可以防止发送输出级对电池电压的正端和负端短路。
虽然在这种故障条件出现时,功耗将增加,但这种特性可以阻止发送器输出级的破坏。
在节点温度大约超过160℃时,两个发送器输出端的极限电流将减少。
由于发送器是功耗的主要部分,因此芯片温度会迅速降低。
PCA82C50芯片的其他部分将继续工作。
当总线短路时,热保护十分重要。
图3.4为PCA82C250引脚图。
图3.4为PCA82C250引脚图3.5系统总体框图图3.5为系统总体框图,主要说明单片机与SJA1000和PDIUSBD13的引脚连接。
图3.5 系统总体框图第4章软件设计4.1CAN总线的初始化程序CAN总线的三层结构模型为:物理层、数据链路层和应用层。
其中物理层和数据链路层的功能由SJA1000完成,系统的开发主要在应用层软件的设计上,它主要由三个子程序:初始化子程序、发送数据和接收数据程序。
同时,还包括一些数据溢出中断以及帧出错的处理。
SJA1000在上电硬件复位之后,必须对其进行软件初始化之后才可以进行数据通讯,初始化过程主要包括对其复位模式下配置时钟分频寄存器CDR、总线定时寄存器BTR0和BTR1、验收代码寄存器ACR、验收屏蔽寄存器AMR及输出控制寄存器OCR等,实现对总线的速率、验收屏蔽码、输出引脚驱动方式、总线模式及时钟分频进行定义。
图4.1为CAN总线初始化流程图。
图4.1 CAN总线初始化流程图4.2 SJA1000发送和接收数据的流程SJA1000发送和接收数据的流程,基本过程为主控制器将数据保存到SJA1000发送缓冲器,然后对命令寄存器的发送请求TR标志位进行置位开始发送;接收过程为SJA1000将从总线上接收到的数据存入接收缓冲器,通过其中断标志位通知主控制器来处理接收到的信息,接收完毕之后清空缓冲器,等待下次接收。
图4.2为发送程序流程图,图4.3为接受程序流程图。
图4.2 CAN总线发送程序流程图图4.3 CAN总线接收程序流程图第5章课程设计总结这次课程设计根据课题要求,复习了所学的工业控制网络课程内容,设计重点是理论与实践相结合,使我得到了一次用专业知识、专业技能分析和解决问题的锻炼。