基于can总线数据传输系统.doc

上传人:文库蛋蛋多 文档编号:4151343 上传时间:2023-04-07 格式:DOC 页数:36 大小:2.20MB
返回 下载 相关 举报
基于can总线数据传输系统.doc_第1页
第1页 / 共36页
基于can总线数据传输系统.doc_第2页
第2页 / 共36页
基于can总线数据传输系统.doc_第3页
第3页 / 共36页
基于can总线数据传输系统.doc_第4页
第4页 / 共36页
基于can总线数据传输系统.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《基于can总线数据传输系统.doc》由会员分享,可在线阅读,更多相关《基于can总线数据传输系统.doc(36页珍藏版)》请在三一办公上搜索。

1、西南科技大学毕业设计(论文)题目名称:基于CAN总线的数据传输系统年 级:2003级 本科 专科学生学号:20035125学生姓名:杨敬国 指导教师:韩雪梅学生单位:信息工程学院 技术职称:讲师学生专业:生物医学工程 教师单位:信息工程学院西 南 科 技 大 学 教 务 处 制基于CAN总线的数据传输系统摘要: CAN(控制器局域网)属于现场总线,是一种有效支持分布式和实时控制的串行通信网络。在基于CAN总线的数据传输系统的总体设计中,采用了模块化结构设计,主要对数据采集模块和 CAN 总线通讯模块进行了软硬件的设计开发。本设计以蒸汽锅炉的温度信号作为系统采集的源信号进行设计,其中温度传感器芯

2、片MAX6675的应用,大大简化了系统硬件电路的设计。智能节点模块的设计中采用了通用的AT89S51单片机和目前流行的CAN总线外围器件如SJA1000,PCA82C250等器件。最后,对本设计的主要工作进行了总结,对系统的完善与相关理论和技术的发展进行了展望。关键词:数据传输;CAN总线;温度信号;智能控制CAN Highway-based Data Transmission SystemAbstract: CAN is a kind of field-bus and a serial communication network which supports distributed and

3、real-time control effectively. The modular structure is applied into the design of the data transmission system based on CAN-bus. The design focuses on the software and hardware of data-gathering module and CAN field-bus communication module. In the design, the source signal for the system is the te

4、mperature signals of the steam boiler. The use of the IC MAX6675 has mostly narrowed down the design of hardware. In the design of the intelligent part, the MCU AT89S51 and the popular CAN periphery IC SJA1000 and PCA82C250 are used. Finally, the summary of the work in this paper and the prospect of

5、 correlative theory and techniques are given.Key words: data transmission, CAN field-bus, temperature signal, intelligent control目 录第1章 绪 论11.1 课题背景及意义11.2 国内外数据采集技术发展及应用状况11.2.1 现场总线技术与控制系统的发展概况11.2.2 数据采集技术及数据采集系统的发展状况31.3本设计主要完成的工作4第2章 总体方案介绍52.1 CAN总线简介及工作原理52.2 系统总体设计思路52.3 各模块功能介绍72.3.1 数据采集模块

6、72.3.2 数据传输节点72.4 本章小结7第3章 数据传输系统的硬件设计83.1 微处理器的选择及其电路设计83.2 数据采集模块的设计93.2.1方案1热电偶测温93.2.2 方案2 MAX6675测温103.2.3 MAX6675工作原理103.2.4 MAX6675工作时序113.2.5 MAX6675与AT89S51的接口电路123.3 CAN 总线通讯模块设计123.3.1 CAN 器件的选用123.3.2 CAN 控制器的选用133.3.3 CAN 收发器的选用143.4 CAN 通讯模块电路设计153.5本章小结16第4章 数据传输系统的软件设计174.1总体软件功能分析与模

7、块划分174.2 CAN 总线初始化程序设计174.2.1 初始化分析174.2.2 初始化主程序184.3 CAN 总线报文发送程序设计204.3.1 报文发送分析204.3.2报文发送主程序204.4 CAN 总线报文接收程序设计224.4.1 报文接收分析224.4.2 报文接收主程序23第5章 系统调试265.1 硬件调试265.2 软件调试275.3 联合调试27总 结27参考文献28附录1:节点电路30附录2:上位指示电路31附录3:实物图32第1章 绪 论1.1 课题背景及意义信息时代的到来,对社会的各个领域都产生了深刻的变革和巨大的影响。尤其在工业自动化方面开始强调工业生产过程

8、自动化和工业信息管理自动化。而今,信息控制一体化己经成为自动化领域的主体,是信息社会的基础和平台。随着数字通信技术、网络技术和微处理技术的迅猛发展,把传统的由数字信号和模拟信号混合的系统变成全数字信号系统成为可能,现场总线就是在这种背景下产生的,由于它适应了工业控制系统向分散化、网络化和智能化的发展方向,所以,一经产生便成为全球工业自动化的焦点,它的出现同时导致了现场总线控制系统FCS (Field-bus Control System)的产生,带来了自动控制技术领域里的一次产业革命。针对目前工业现场普遍采用的自动控制系统如DCS(Distribute Control System)集散式控制

9、系统来说,它在控制现场需要大量的传感器、执行器、调节器等相关设备,他们相对分散且分布在较广泛的范围内,连线过多不便于安装和维护,而且远距离传输导致信号衰减,局域通讯网络采用RS485方式,使系统开放性差,组态比较繁琐,不具备在线调试功能,抗干扰能力差,给安全平稳运行带来隐患。针对这一系列弊端,本设计提出了应用可靠性强、稳定性好、抗干扰能力强、通信速率快、造价低、维护成本低的CAN总线控制系统。本课题“基于CAN总线的数据传输系统”就是针对这一问题提出的。它的提出对提高企业经济效益,促进企业的发展具有极强的现实意义。1.2 国内外数据采集技术发展及应用状况1.2.1 现场总线技术与控制系统的发展

10、概况信息技术的飞速发展,引起了现场总线技术的产生。现场总线技术发展的同时又推动了控制系统的向前发展。现场总线系统即应用在生产现场,在控制设备之间实现双向、串行、多节点通信的数字通信系统。它是在 80 年代后期发展起来的一种先进的现场工业控制技术。它综合了数字通信技术、计算机技术、自动控制技术、网络技术和智能仪表等多种技术手段,从根本上突破了传统的点对点式的模拟信号或数字模拟信号控制的局限性。构成一种全分散、全数字化、智能、双向、互连、多变量、多节点的通信与控制系统。 现场总线的基础是智能现场设备,本设计中即为智能数据传输系统,分散在各个工业现场的智能数据传输系统通过数字现场总线连为一体,并与控

11、制室中的监控设备一起共同构成现场总线控制系统。现场总线控制系统FCS通过遵循一定的国际标准,可以将不同厂商的现场总线产品集成在同一套FCS中,具有互换性和互操作性。FCS 把传统DCS 的控制功能进一步下放到现场智能数据采集器,由现场智能数据采集器完成数据采集、数据处理、控制运算和数据输出等功能。现场智能数据采集器的数据,通过现场总线传到控制室的监控设备上。控制室的监控设备用来监视各个现场设备的运行状态,保存各智能数据采集器上传的数据,同时完成一定的控制功能。因此FCS更好地体现了“信息集中,控制分散”的概念。而且FCS连线简单,将大大降低安装和连线的费用,现场装置的智能化将增强现场设备的功能

12、,减少一半甚至一半以上的I/O设备,并提供更多的信息流动。由于结构上的改变,FCS比DCS节约硬件设备,同时减少大量电缆,使施工、调试大大简化。总之,现场总线是高可靠性、低成本、组态简单、可互换、可互操作性、分散控制、运行方便、数据库一致的开放式系统。FCS是控制体系结构的一场革命,它将影响今后几十年内自动控制技术的发展。FCS将成为自动控制系统的主流。现场总线的产生导致了传统控制系统结构的变革,形成了新型的网络集成式全分布控制系统,即现场总线控制系统。这是继基地式气动仪表控制系统、电动单元组合式模拟仪表控制系统、集中式控制系统和集散式控制系统之后的新一代控制系统。 1. 基地式气动仪表控制系

13、统 由于 50 年代以前生产规模小,检测控制仪表尚处于发展的初级阶段,所以采用的是安装在生产设备现场、只具备简单测控功能的基地式气动仪表,其信号仅在本仪表内起作用,各测控点只能成为封闭状态。2. 电动单元组合式模拟仪表控制系统 随着生产规模的扩大,操作人员需要综合掌握多点的运行参数和信息进而实行操作控制,于是出现气动、电动系列的单元组合式仪表和集中控制室。生产现场各处的参数通过统一的模拟信号送往集中控制室,操作人员可以在控制室纵观生产流程各处的状况,可以把各单元仪表的信号按需要组合成复杂的控制系统。3. 集中式数字控制系统 模拟信号的传递需要一对一的物理连接;信号变化缓慢,提高计算速度与精度的

14、开销和难度都较大,信号传输的抗干扰能力也较差。于是出现用数字信号取代模拟信号的直接数字控制。由于当时数字计算机技术尚不发达、价格昂贵,所以需要用一台计算机取代控制室的几乎所有仪表盘,即集中式数字控制系统。4. 集散式控制系统 随着计算机可靠性提高、价格大幅度下降,出现了数字调节器、可编程控制器以及由多个计算机递阶构成的集中、分散相结合的集散式控制系统。这就是今天正在被许多企业采用的 DCS 系统。DCS 系统中测量变送仪表一般为模拟仪表。因而它是一种模拟数字混合系统。这种系统在功能、性能上较模拟仪表、集中式数字控制系统有很大的进步,可在此基础上实现装置级、车间级的优化控制。但是在 DCS 系统

15、形成过程中,由于受计算机系统早期存在的系统封闭这一缺陷的影响,各厂家的产品自成系统、不同厂家的设备不能互连在一起,难以实现互换与互操作,组成更大范围信息共享的网络系统存在很多困难。5. 现场总线控制系统 新型的现场总线控制系统突破了 DCS 系统中通信由专用网络的封闭系统实现的缺陷,把基于封闭、专用的解决方案变成基于公开化、标准化的解决方案。1.2.2 数据采集技术及数据采集系统的发展状况数据采集属于信息科学的一个重要分支,它是以传感器技术、信号检测和处理技术、电子技术、计算机科学等技术为基础而形成的一门综合应用技术学科。人类从诞生开始就离不开信息活动,但是信息真正成为科学研究对象并发展成为一

16、门科学,确是始自于 20 世纪 40 年代中期。发展至今数据采集技术已经成为一种专门的技术,在工业领域得到了广泛的应用。数据采集是工业控制的基础部分,无论是集中式数字控制系统、集散式控制系统、还是现场总线控制系统,都必须首先将多个地点的诸如温度、湿度、光照、压力、机械振动和流量等模拟量转换成数字量,才能利用智能仪表的数字计算功能进行相关处理,因此数据采集的性能在很大程度上决定了控制系统的性能。20世纪70年代中后期,随着微型机的发展,诞生了采集器、仪表和计算机融为一体的数据采集系统。20世纪80年代随着计算机的普及应用,数据采集系统得到了极大的发展,开始出现了通用的数据采集与自动测试系统。20

17、世纪80年代后期,数据采集系统发生了极大的变化,工业计算机、单片机和大规模集成电路的组合,用软件管理使系统的成本降低、体积减小、功能成倍增加、数据处理能力大大加强。20世纪90年代至今,在国际上,技术先进国家的数据采集技术已经在军事、航空、电子设备、宇航技术及工业等领域被广泛应用。随着现场总线技术和网络技术的发展,数据采集系统向分布式系统结构和智能化方向发展,可靠性不断提高,可以更好地实现生产环节的在线实时数据采集与监控。1.3本设计主要完成的工作本设计主要完成了以下几方面的工作:1. 对国内外数据采集技术及数据传输系统的发展状况进行了阐述和分析;2. 对工业控制系统的特点及其现场总线的应用进

18、行了总结;对本设计选用的 CAN 总线进行了简单的分析;3. 对数据传输系统的软硬件进行了详细设计;4. 对系统进行调试;第2章 总体方案分析2.1 CAN总线简介及工作原理控制器局域网CAN(Control Area Network)最初是由德国BOSCH公司为解决汽车监控系统中的诸多复杂技术和难题而设计的数字信号通信协议。它属于总线式串行通信网络。由于它采用了许多新技术和独特的设计思想,与同类产品相比,CAN总线在数据通信方面具有可靠、实时和灵活的优点。其应用范围遍及从高速网络到低成本的多线路网络等控制领域。当 CAN 总线上的一个仪表发送数据时,它以报文形式广播给网络中所有仪表。对每个仪

19、表来说,其报文开头的 N 个位称为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个仪表发送具有相同标识符的报文。当几个仪表同时竞争总线读取时,这种配置十分重要。当一个仪表要向其它仪表发送数据时,该仪表的 CPU 将要发送的数据和自己的标识传送给本仪表的 CAN 芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN 芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它仪表处于接收状态。每个处于接收状态的仪表对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。由于 CAN 总线是一种面向内容的编址方案,

20、因此很容易建立高水准的控制系统并灵活地进行配置,可以很容易地在 CAN 总线中加进一些新仪表而无需在硬件或软件上进行修改。当所提供的新仪表是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制都有自己独立的传感器。2.2 系统总体设计思路根据CAN总线的工作原理,CAN总线数据传输系统的设计应该主要由锅炉温度信号的数据采集模块和数据传输模块组成。其中数据传输通过CAN总线来实现。按照应用的实例,智能节点应该由微控制器,CAN总线控制器和CAN总线收发器三部分组成。其中CAN总线收发器负责建立CAN总线控制

21、器和物理总线之间的连接,控制逻辑电平信号从CAN总线控制器到达物理总线的物理层,从而完成数据的传输任务。所以确定本设计总的系统结构图如图2-1所示:120120RRCAN总线(双绞线)微 处 理 器CAN 控制器高速光耦隔离微 处 理 器上 位显 示CAN控 制 器CAN 控 制 器高速光耦隔离高速光耦隔离CAN 收 发 器CAN收 发 器CAN收 发 器信 号 输 入信 号 输 入图2-1 系统总体结构图本数据传输系统由三个独立的模块组成,两个是独立的CAN智能数据采集节点,一个是上位显示模块。这三者通过CAN总线来进行它们之间的数据通信。由于CAN总线具有多主通信的特性,所以这两个智能节点

22、之间没有主次之分,在特定条件(软件控制)下两路数据都有权优先通信。系统结构的合理与否,对系统的可靠性、性能价格比等有直接影响。主要是软件、硬件功能的合理分配。原则上要尽可能“以软代硬”,只要软件能做到的就不要用硬件。其次要考虑系统的结构布局及接口特性。整个系统可以分为硬件和软件两大部分:1硬件部分微处理器和CAN控制器是数据采集与传输的核心。微处理器完成数据的采集和处理,CAN控制器通过CAN总线实现与上位显示部分的通信。结构图如图2-1。2软件部分软件部分主要是CAN总线通信程序的设计。为了保证在特定的工作环境下,系统能稳定、可靠地完成工作。所以在系统设计中加入了高速的光电耦合隔离模块,以起

23、到抗干扰的作用。2.3 各模块功能介绍2.3.1 数据采集模块数据采集模块的主要功能是实现数据的采集和处理。其中它包括一个信号输入部分和信号处理部分。信号输入部分功能是提供系统所传输的信号源。信号的处理由微控制器来实现,而微控制器一般是采用单片机。所以,数据采集模块应该是一个信号发生与调理电路与单片机的接口电路。2.3.2 数据传输节点数据传输节点主要完成前端所采集数据的传输功能。单片机通过程序控制将数据传输给CAN总线控制器。然后,CAN总线控制器再把数据进行一定的处理后发送给CAN总线收发器。为了保证数据传输的可靠性和真实性,在CAN控制器和CAN收发器之间加入了高速的光电耦合器件来完成抗

24、干扰的功能。在传输节点的基础上加入LED的指示电路,就构成了基本的上位指示模块。2.4 本章小结本章对CAN总线的原理进行了分析,对系统的总体设计思路进行了阐述并对各个模块的具体作用进行了简单的介绍,确定了系统设计的总体方案。第3章 数据传输系统的硬件设计系统的硬件电路主要由数据采集节点电路和上位显示电路两个模块组成。节点电路主要是数据输入电路和数据通信电路组成。输入电路由温度传感器芯片MAX6675搭建而成;数据通信电路由微处理器,CAN控制器和CAN收发器等组成。上位显示电路主要是在数据通信电路的基础上,运用LED来指示数据传输的状态,是一种低级的显示模式。3.1 微处理器的选择及其电路设

25、计在智能数据采集电路中,微处理器是核心,因此,在硬件设计时首先要考虑的是微处理器的选择,然后再确定与之配套的外围设备电路。单片机的出现,引起了仪器仪表结构的根本性变革。以单片机为主体取代传统仪器仪表的常规电子线路,可以容易地将计算机技术与测量控制技术结合在一起,组成新一代的“智能仪器”。在测量控制仪表中采用单片机技术使之成为智能仪器后,能解决许多传统仪表不能或不易解决的难题,同时还能简化仪表电路,提高仪表可靠性,降低仪表成本以及加快新产品的开发速度。本设计中,数据采集电路采用单片机作为微处理器。微处理器原则上只要能够满足实时控制调节需要的处理器都可以使用,但考虑到硬件设计的兼容性和成本,可采用

26、 51 系列单片机或兼容的 51 单片机。从工厂实际生产的角度来说,最好使用内嵌 CAN 控制器的单片机,可以减少使用成本和占用设备空间的开销。但从设计的角度来说,这样设计的系统灵活性欠佳,协议无法有效的扩展和改进。所以本设计最终选择使用美国 ATMEL 公司的 AT89S51单片机。 AT89S51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32个IO 口线,看门狗(WDT),两个数据指针,两个16 位定时计数器,一个5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模

27、式。空闲方式停止CPU的工作,但允许RAM,定时计数器,串行通信口及中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。3.2 数据采集模块的设计数据采集模块以温度信号的采集来进行设计。其中蒸汽锅炉温度信号的采集可以由热电偶或温度传感器芯片MAX6675所搭建的电路来实现的。为了更好的完成信号的采集,本设计是在详细了解了蒸汽锅炉的温度范围(1501000摄氏度)以及温度芯片的技术特点以后提出的。以下介绍了采用MAX6675的依据和它的技术特点以及它与微处理器的接口电路。图3-1 AT89S51接线电路3.2.1方案1热电偶测温热电偶虽然是常

28、用的测量温度的方式,但将热电偶应用在基于单片机的嵌入式系统领域时,存在着以下几方面的问题。非线性:热电偶输出热电势与温度之间的关系为非线性关系,因此在应用时必须进行线性化处理。冷补偿:热电偶输出的热电势为冷端保持为0时与测量端的电势差值,而在实际应用中冷端的温度是随着环境温度而变化的,故需进行冷端补偿。数字化输出:与嵌入式系统接口必然要采用数字化输出及数字化接口,而作为模拟小信号测温元件的热电偶显然法直接满足这个要求。因此,若将热电偶应用于嵌入式系统时,须进行复杂的信号放大、A/D转换、查表线性线、温度补偿及数字化输出接口等软硬件设计。如果能将上述的功能集成到一个集成电路芯片中,即采用单芯片来

29、完成信号放大、冷端补偿、线性化及数字化输出功能,则将大大简化热电偶在嵌入式领域的应用设计。3.2.2 方案2 MAX6675测温 MAX6675是一个集成了热电偶放大器、冷端补偿、A/D转换器及SPI串口的热电偶放大器与数字转换器。恰好能解决热电偶应用在基于单片机的嵌入式系统中存在的需要复杂的信号放大、A/D转换、查表线性线、温度补偿及数字化输出接口等软硬件设计的问题。而且它的测温范围(01024摄氏度)所以,本设计最终选择了MAX6675作为温度信号采集的芯片。这样既弥补了热电偶测温的缺陷,又简化了电路的设计,从而降低了设计的难度。3.2.3 MAX6675工作原理根据热电偶测温原理, 热电

30、偶的输出热电势不仅与测量端的温度有关,而且与冷端的温度有关,在以往的应用中,有很多种冷端补偿方法,如冷端冰点法或电桥补偿法等,但调试都比较麻烦。另外,由于热电偶的非线性, 以往是采用微处理器表格法或线性电路等方法来减小热电偶本身非线性带来的测量误差, 但这些都增加了程序编制及调试电路的难度。而MAX6675 对其内部元器件的参数进行了激光修正, 从而对热电偶的非线性进行了内部修正。同时, MAX6675 内部集成的冷端补偿电路、非线性校正电路、断线检测电路都给K型热电偶的使用带来了极大的方便。该器件采用8引脚SO贴片封装。引脚功能如表3-1表3-1 MAX6675引脚功能引 脚名 称功 能1G

31、ND接地端2T-K型热电偶负极3T+K型热电偶正极4VCC正电源端5SCK串行时钟输入6CS片选端,CS为低时、启动串行接口7SO串行信息输出8N.C.空引脚 3.2.4 MAX6675工作时序当MAX6675 的CS 引脚从高电平变为低电平时, MAX6675 将停止任何信号的转换并在时钟SCK 的作用下向外输出已转化的数据。相反,当CS 从低电平变回高电平时, MAX6675 将进行新的转换。在 CS 引脚从高电平变为低电平时, 第一个字节D15 将出现在引脚SO。一个完整的数据读的过程需要16 个时钟周期,数据的读取通常在SCK的下降沿进行。 MAX6675 的输出数据为16 位,其中D

32、15 始终无用, D14D3 对应于热电偶模拟输入电压的数字转换量, D2 用于检测热电偶是否断线(D2 为1 表明热电偶断开) , D1 为MAX6675 的标识符, D0 为三态。需要指出的是:在以往的热电偶电路设计中,往往需要专门的断线检测电路, 而MAX6675 已将断线检测电路集成于片内,从而简化了电路设计。3.2.5 MAX6675与AT89S51的接口电路图3-2 MAX6675与AT89S51接口电路为了正确使用MAX6675 芯片,设计时还必须注意:利用输出数据中的D2 进行断偶检测时, 热电偶的输入负极T- 必须接地, 且应尽可能地靠近 MAX6675 的引脚地(即PIN1

33、);由于冷端温度是由MAX6675 本身检测的, 因此,为了提高测量的精确度,电路板的地线尽可能地大;由于热电偶信号为微弱信号,因此要尽可能地采取措施防止噪声干扰,所以在电源与地线之间要接一个小电容。本设计用一个0.1uF的电容。3.3 CAN 总线通讯模块设计3.3.1 CAN 器件的选用由第 2 章对 CAN 总线技术的研究和分析可知,开发应用 CAN 总线技术的关键是 CAN 总线协议的实现。由于 CAN 总线的突出优点,目前国外许多 IC器件生产厂商竞相推出各种 CAN 总线器件产品。这些总线控制器主要由实现CAN 总线协议和微控制器接口电路二部分组成。对于不同型号的 CAN 总线控制

34、器,实现 CAN 协议部分电路的结构和功能大都相同,只是与微控制器接口部分的结构及方式存在一些差异。CAN 通讯模块主要由微处理器,CAN 控制器和 CAN 收发器三部分组成。3.3.2 CAN 控制器的选用 目前在CAN总线节点设计上被广泛采用的CAN控制器芯片为Philips的SJA1000和Intel的82527两种CAN控制器芯片。1.Intel 82527 CAN控制器 它支持CAN2.0,包括标准的和扩展的数据和远程帧;可程控全局屏蔽,包括标准和扩展信息标识符;具有15个报文缓冲区,每个数据长度为8字节,包括14个TX/RX缓冲区,一个带可程控屏蔽的RX缓冲区;可变CPU接口,包括

35、多路8位总线(Intel或Motorola方式)、多路16位总线、8位非多路总线(同步/异步)以及串行接口;位速率可程控,并有可程控的时钟输出;可变中断结构;可对输出驱动器和输入比较器结构进行设置; 两个8位双向I/O口。 2.Phillips SJA1000 CAN控制器标准结构和扩展结构报文的接收和发送;64字节的接收FIFO;标准和扩展帧格式都具有单/双接收滤波器含接收屏蔽和接收码寄存器;可进行读/写访问的错误计数器;可编程的错误报警限制;最近一次的错误代码寄存器;每一个CAN总线错误都可以产生错误中断具有丢失仲裁定位功能的丢失仲裁中断;单发方式 当发生错误或丢失仲裁时不重发;只听方式(

36、监听CAN总线,无应答,无错误标志);支持热插拔(无干扰软件驱动位速率检测)。选用独立式CAN总线控制器允许设计时充分的灵活性。而SJA1000是独立的CAN 控制器,它主要用于移动目标和一般工业环境中的区域网络控制,是 Philips 半导体公司 PCA82C200 CAN控制器(BasicCAN)的替代产品,而且它增加了一种新的操作模式PeliCAN,这种模式支持具有很多新特性的 CAN2.0B 协议。它具有与 PCA28C200 独立 CAN 控制器兼容的引脚和电气参数;有扩展的 64 字节接收缓冲器;支持CAN2.0A 和 CAN2.0B 协议;支持 11 位和 29 位标识码;温度适

37、应范围大(40125)。这些特点完全满足设计要求,因此本设计中 CAN 控制器选用 SJA1000。表 3-2 SJA1000 重要引脚功能符 号引 脚功 能AD0 AD72,1,28 23地址/数据复用总线ALE3ALE 信号(INTEL方式)或AS信号(Motorola 方式)/CS4片选输入,低电平允许访问SJA1000/RD5微控制器的读信号(Intel 方式)或E 信号(Motorola方式)/WR6微控制器的写信号(Intel 方式)或读写信号(Motorola)方式XTAL19振荡放大器输入外部振荡放大器信号经此引脚输入XTAL210振荡放大器输出使用外部振荡信号时此引脚必须开路

38、MODE11方式选择输入端1=Intel 方式0=Motorola 方式TX013由输出驱动器0 至物理总线的输出端TX114由输出驱动器1 至物理总线的输出端/INT16中断输出端用于向微控制器提供中断信号/RST17复位输入端用于重新启动CAN 接口低电平有效RX0,RX119,20由物理总线至SJA1000输入比较器的输入端显性电平将唤醒处于睡眠方式的SJA1000 当RX0高于RX1时读出为隐性电平否则为显性电平了解器件重要引脚的功能有助于理解硬件电路的搭建和软件编写的思路,所以这里表3-2介绍了CAN控制器SJA1000的主要引脚信息。3.3.3 CAN 收发器的选用目前较为先进的C

39、AN总线收发器是德州仪器公司 (TI) 日前推出的一款5V 控制器局域网 (CAN) 收发器,它不但性能得到改进而且还可提供12kV HBM ESD 保护功能,同时可靠性增强了6倍。这款收发器可灵活应用于诸如具有 CAN 控制器的 TMS320F24XX、TMS320LF24XX 及 TMS320LF28XX 系列5V 或 3.3V DSP。另外,SN65HVD251 不仅可用于 DSP,也可与独立的 CAN 控制器及具有 CAN 控制器的微控制器共同使用。该器件专门针对采用符合 ISO 11898 标准的 CAN 高速串行通信物理层等应用,能以高达 1 Mbps 的速度提供到总线的差动传输功

40、能,以及到 CAN 控制器的差动接收。但它的价格昂贵,而且它很多突出的特性在本系统中并不会得到充分的应用,所以本设计并没有选用这款CAN总线收发器。PCA82C250是Phillips公司生产的一款CAN总线收发器。它的价格便宜,性能优良。它是连接 CAN 总线控制器和物理总线的接口,可以为总线提供差动的发送功能,为 CAN 控制器提供差动的接收功能,一个限流电路可防止发送输出级对电池电压的正端和负端短路。虽然在这种故障条件出现时,功耗将增加,但这种特性可以阻止发送器输出级的破坏。由于CAN总线控制器选用了Phillips的器件,所以在同样满足设计要求的情况下,本设计选用了PCA82C250作

41、为CAN总线收发器。它的引脚和封装图如表3-3:表 3-3 PCA82C250重要引脚功能 封装符 号管 脚功 能TXD1发送数据输入RXD2接收数据输出CANL3低电平CAN 电压输入/输出CANH4高电平CAN 电压输入/输出Rs5斜率电阻输入3.4 CAN 通讯模块电路设计本设计中CAN通讯模块由AT89S51、独立CAN控制器SJA1000、CAN总线收发器PCA82C250和高速光电耦合器6N137四部分所构成。AT89S51负责SJA1000的初始化,通过控制SJA1000实现数据的接收和发送等通信任务。SJA1000的AD0AD7连接到AT89S51的P0口,CS连接到AT89S

42、51的P2.0,P2.0为0的CPU片外存储器地址可选中SJA1000。CPU通过这些地址可对SJA1000执行相应的读写操作。SJA1000的RD、WR、ALE分别与AT89S51的对应引脚相连接,INT接AT89S51的INT0,AT89S51也可通过中断方式访问SJA1000。具体的电路原理图如图3-3所示:图3-3 CAN通信模块电路为了增强CAN总线智能数据采集器的抗干扰能力,SJA1000的TX0、RX0并不是直接与PCA82C250的TXD和RXD相连,而是通过高速光耦6N137后,与PCA82C250相连。这样就很好的实现了总线上各CAN智能数据采集节点间的电气隔离。不过应该特

43、别说明的一点是,光耦部分电路所采用的两个电源VCC和VDD必须完全隔离,否则采用光耦也就失去了意义。电源的完全隔离可采用小功率电源隔离模块或带5V隔离输出的开关电源模块实现。PCA82C250与CAN总线的接口部分也采用了一定的安全和抗干扰措施。PCA82C250的CANH和CANL引脚各自通过一个匹配的电阻与CAN总线相连,电阻可起到一定的限流作用,保护PCA82C250免受过流的冲击。CANH和CANL与地之间并联了两个小电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射的能力。当引脚 TXD 由于硬件或软件程序的错误而持久地为低电平时,“TXD 控制超时”定时器电路可以防止总线进入这种

44、持久的支配状态(阻塞所有网络通信)。这个定时器是由引脚 TXD 的负跳沿触发。如果引脚 TXD 的低电平持续时间超过内部定时器的值,发送器会被禁能,使总线进入隐性状态。 定时器由引脚 TXD 的正跳沿复位。3.5本章小结本章对智能数据采集的硬件电路进行了详细设计。首先选择了符合数据传输系统的单片机 AT89S51,并对其具体电路进行了详细设计;然后对数据采集模块进行了详细设计;最后重点对 CAN 总线通讯模块进行了详细设计。因为上位显示模块是在通信模块的基础上进行设计,所以设计中未做详细的介绍如想详细了解请参考附录2的电路内容。第4章 数据传输系统的软件设计4.1总体软件功能分析与模块划分数据

45、传输系统软件的主要功能如下:A.系统初始化B.CAN总线报文发送C.CAN总线报文接收4.2 CAN 总线初始化程序设计4.2.1 初始化分析CAN 总线通讯模块的初始化主要是对 CAN 控制器的初始化。独立的CAN 控制器SJA1000 必须在上电或硬件复位后设置CAN 通讯。在由主控制器操作期间它可能会发送一个软件复位请求,SJA1000 会被重新配置再次初始化CAN 控制器的初始化要点是:1. 工作模式为 PeliCAN 模式,帧格式采用扩展帧2. 通信波特率为 50kbps3. 采用双滤波验收,即 4 字节的接收代码寄存器 ACR0ACR3 分为前后两组,前组为接收节点(目标节点)的

46、ID,后组为发送节点的 ID,这样报文由谁发送、发送给谁都直接明了4. 在初始化有关寄存器前,必须使 SJA1000 由工作模式进入复位模式,否则无法完成初始化操作。4.2.2 初始化主程序按照上述初始化要点,绘制 CAN 控制器的初始化程序流程图如图4-1所示,根据流程图用汇编语言实现如下:CAN_INIT:MOV DPTR, #MODE ;指向模式寄存器MOV A,#09H ;进复位模式,对 SJA1000 进行初始化MOVX DPTR,AMOV DPTR,#CDR ;指向时钟分频器寄存器MOV A,#88H ;PeliCAN 模式,关闭时钟输出(CLKOUT)MOVX DPTR,AMOV DPTR,#IER ;指向

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号