ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:159.24KB ,
资源ID:7981612      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7981612.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于CAN总线的数据通讯接口的设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于CAN总线的数据通讯接口的设计.docx

1、基于CAN总线的数据通讯接口的设计 基于CAN总线的数据通讯接口的设计展恩颖(自动化部特钢维护车间技术组)摘 要:现场总线是自动化领域的计算机网络,是当今自动化领域技术发展的热点之一。它以总线为纽带,将现场设备连接起来成为一个能够相互交换信息的控制网络,是一种双向串行多节点数字通信的系统。CAN总线也是现场总线的一种,它最初被应用于汽车的控制系统中。由于其卓越的性能,CAN总线的应用范围已不再局限于汽车工业,被广泛应用到自动控制、楼宇自动化、医学设备等各个领域。关键词:CAN总线;dspic30f5011;M9020-FNU20;CTM1050;ABSTRACT:Field bus is a

2、kind of computer network in automatization field and it has been one of the hotspots of automatization fields technique development. Field bus connects the field equipments with a bus and makes a network through which information can be exchanged mutually. So field bus is a system which can transmit

3、 digital signals in two directions among many nodes. CAN is also one kind of field bus. Originally, its applied in the control systems of car industry But its application is not limited in automobile industry for its excellent performance now. Its also applied in Automatic control. Building automati

4、zation, Mechanical treatment equipments and so on.KEY WORDS: CAN bus; dspic30f5011; M9020-FNU20; CTM1050;0 引言现场总线(Field bus)是指开放式、国际标准化、数字化、相互交换操作作者简介:展恩颖(1988),男,山东省莱芜市,2010年毕业于青岛科技大学测控技术与仪器专业,现为自动化部特钢维护车间技术员。的双向传送、连接智能仪表和控制系统的通信网络。CAN总线全称为Controller Area Network,即控制器局域网,CAN总线是国际上应用最广泛的现场总线之一。现场总线是

5、20世纪90年代迅速发展起来的工业控制系统技术,是信息化带动工业化和工业化推动信息化的实用技术之一。近年来才在中国获得初步发展。当计算机网络技术,特别是互联网技术得到广泛应用后,人们对企业生产过程的控制提出了更高的要求,企业与外界信息沟通的范围不断扩大,这就需要把大量的现场信息送到外面,又需要远程对现场进行诊断、维护和服务,实现从现场控制到监控、管理、决策等各层次的信息交换和集成。现场总线顺应了这种要求的发展,具有便于系统功能扩充,结构改型方便,系统结构简洁,可靠性高,全数字化信号精度比传统的模拟信号高,高度分散控制使风险得到彻底分散,维护性好,可预防性诊断和维护,具有高度的系统集成主动权,提

6、供更丰富的现场信息等优点。被认为是工业控制发展的必然趋势,将逐步取代传统的控制方法。1 CAN总线技术规范1.1 CAN总线的分层结构CAN遵从ISO/OSI标准模型,按照这个标准的模型,CAN结构划分为两层:数据链路层(包括逻辑链路控制子层LLC和媒体访问控制子层MAC)和物理层。在CAN技术规范2.0版本中,数据链路层的LLC和MAC子层服务及功能被描述为“对象层”和“传输层”。CAN的分层结构如下图1-1。数据链路层逻辑链路控制子层LLC接收滤波超载通知恢复管理介质访问控制子层MAC数据封装/拆装帧编码(填充/消除填充)介质访问管理错误检测错误标定应答串行化/解串行化物理层物理信令PLS

7、位编码/解码位定时同步驱动器/接收器特征图1-1 CAN分层结构图Fig 1-1 CAN hierarchical structure diagramLLC子层的主要功能是:为数据传送和远程数据请求提供服务,确认由LLC子层接收的报文已被接收,并为恢复管理和通知超载提供信息。MAC子层的功能主要是传送规则,亦即控制帧的结构、执行仲裁、错误检测、出错标定和故障界定。物理层的功能是有关全部电气特性在不同节点问的实际传送。CAN技术规范2.0B定义了数据链路中的MAC子层和LLC子层的一部分,并描述与CAN有关的外层。物理层定义了信号怎样进行发送,因而,涉及位定时、位编码元和同步的描述。在这部分技术

8、规范中,未定义物理层中的驱动器接收器特性,以便允许根据具体应用,对发送媒体和信号电平进行优化,使信号传输更加方便。MAC子层是CAN协议的核心,它描述由LLC子层接收到的报文和对LLC子层发送的认可报文。MAC子层可响应报文帧、仲裁、应答、错误检测标定。MAC子层有称为故障界定的一个管理实时监控,它具有识别永久故障或短暂扰动的自检机制。LLC子层的主要功能是报文滤波、超载通知和恢复管理。按照IEEE 8022和8023标准,物理层划分为:(1)物理信令(PLS Physical Signaling)。(2)物理媒体附属装置(PMA Physical Medium Attachment)。(3)

9、媒体相关接口(MDI Medium Dependent Interface)。数据链路层又划分为:(1)逻辑链路控制(LLC Logic Link Contr01)。(2)媒体访问控制(MAC Medium Access Contr01)。1.2 CAN的报文发送和帧在进行数据传送时,发出报文的单元称为报文的发送器,该单元在总线空闲或丢失仲裁前恒为发送器。如果一个单元不是报文发送器,并且总线不处于空闲状态,则该单元为接收器。对于报文发送器和接收器,报文实际有效时刻是不同的。对于发送器而言,如果周到帧结束末尾一直未出错,则对于发送器报文有效。如果报文受损,则允许按照优先权顺序自动重发送。为了能同

10、其他报文惊醒总线访问竞争,总线一旦空闲,重发送将立即开始。对于接收器而言,如果直到帧结束的最后一位一直未出错,则对于接收器报文有效。1.2.1 帧格式规范中有两种不同的帧格式,不同之处在于每帧的标识符的长度不同。标准帧的标识符长度为11位,而扩展帧的长度则为29位。1.2.2 帧类型CAN总线的数据传输由以下4个不同的帧类型所表示和控制:数据帧:数据帧将数据从发送器传送到接收器。远程帧:总线单元发出远程帧,请求发送具有相同标识符的数据帧。错误帧:任何节点检测到总线错误就发出错误帧。超载帧:超载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。数据帧和远程帧可以使用标准帧及扩展帧两种

11、格式,它们用一个帧空间与前面的帧分开。2 基于dspic30f5011单片机CAN总线的硬件设计dsPIC30F5011单片机是Microchip公司的高性能数字信号控制器。其CPU是高性能改进型RISC CPU,采用改进型哈佛结构,具有优化的C 编译器指令集架构和灵活的寻址方式, 66KB片上闪存程序空间、4 KB片上数据RAM、1 KB非易失性数据EEPROM。最高30MIPS的工作速度,最多41个中断源。其DSP特性能轻松实现双数据取操作、模寻址和位反转寻址模式。dsPIC30F5011外设上具备数据转换器接口(Data Converter Interface),3路SPI总线模块(支持

12、4 种帧模式),I2C模块支持多主器件主/从模式,支持7位/10位寻址,两个带FIFO缓冲区的可寻址UART 模块,两个与CAN 2.0B 标准兼容的CAN 总线模块。下行数据采集板的设计中主要用到了其中的CAN总线模块和SPI总线模块。PIC单片机在本系统中的主要功能是CAN传输(负责将数据打成CAN包然后传送到ARM主板),负责处理抄表协议,与485通讯等。因此CAN模块和SPI模的作用犹为重要。2.1 CTM1050CTM1050 是一款带隔离的高速CAN 收发器芯片,该芯片内部集成了所有必需的CAN隔离及CAN 收、发器件,这些都被集成在不到3平方厘米的芯片上。芯片的主要功能是将CAN

13、 控制器的逻辑电平转换为CAN 总线的差分电平并且具有DC 2500V 的隔离功能及ESD 保护作用。该芯片符合 ISO11898标准,因此,它可以和其他遵从ISO11898标准的CAN收发器产品互操作。2.1.1电路连接使用CTM1050芯片时,必须将CTM1050芯片假如用户的电路板中;如图2-1所示为CAN控制器与CTM1050接口芯片的连接原理图。图2-1 CTM1050接口电路Fig 2-1 CTM1050 interface circuit2.2 电路设计本设计里主要部分采用了LPC2290微控制器和dsPIC30F5011单片机,它们内部都含两个CAN控制器,基于LPC2290

14、的工业级微控制器M9020-FNU20提供LPC2290 标准化驱动,并固化协议栈,调用API 函数即可实现嵌入式设备CAN 总线通信功能。完整的CAN 总线设备由CAN 控制器、总线收发器以及相应的隔离电路组成。本系统中LPC2290微控制器和dsPIC30F5011单片机之间的CAN通讯就相对简单只需加入隔离电路-CAN隔离收发器和其它相关器件就可实现。CAN总线的接口电路如下图2-2所示。M9020-FNU20中已固化协议栈,通讯时调用API函数即可实现嵌入式设备的CAN 总线通信功能。CAN隔离收发器采用广州致远电子开发的CTM1050(带TVS 保护的高速隔离 CAN 收发器,DC2

15、500V 电气隔离)。隔离收发模块集电源隔离、电气隔离、CAN 收发器、CAN 总线保护于一体,模块TXD、RXD 引脚兼容+3.3V、+5V 电平连接,直接将CAN 控制器收发引脚与CTM 模块的收发引脚连接即可构成完整的CAN 设备。隔离电路能确保CAN 总线在遭受严重干扰时控制器仍正常工作。图2-2 CAN总线接口电路图Fig 2-2 CAN bus interface circuit3 基于M9020-FNU20微控制器CAN总线的硬件设计M9020-FNU20 基于LPC2290 工业级微控制器,支持10M 以太网通信、CAN 总线通信,具有CF 卡接口、USB 接口、板载大容量NA

16、ND Flash 电子盘、A/D 转换、RTC 等功能。产品提供保护型总线设计,使模块在EMC 性能及稳定性方面均有良好的表现。产品提供LPC2290 标准化驱动库,并固化协议栈,调用API 函数即可实现嵌入式设备的TCP/IP 网络通信、CAN 总线通信功能和USB、CF 卡、海量电子盘等存储功能,特别适合电力自动化、煤矿产量监控、机电控制等行业。用户程序可在线升级,不但使产品更快投入市场,而且升级简单可靠,明显增强产品的市场竞争力。3.1 M9020-FNU20结构M9020-FNU20 嵌入式工控板主要由LPC2290(ARM7TDMI)微控制器、程序存储器、数据存储器、工业级以太网控制

17、器CS8900A、USB 主机控制器和大容量NAND Flash 存储器组成。总线通过缓冲保护电路与底板接口以保证微控制器总线运行不受外界干扰。产品标配可校准的实时时钟和带256Bytes E-PROM 的复位监控电路。3.2 电路设计完整的CAN 总线设备由CAN 控制器、总线收发器以及相应的隔离电路组成。M9020-FNU20 工控板使用如图 3-1 所示CAN 接口电路(图中只有1 路),图中CTM1050为隔离CAN 收发器模块,能确保CAN 总线在遭受严重干扰时控制器仍正常工作。图3-1接口电路Fig 3-1 Interface circuit致远CTM 系列CAN 隔离收发模块集电

18、源隔离、电气隔离、CAN 收发器、CAN 总线保护于一体,模块TXD、RXD 引脚兼容+3.3V、+5V 电平连接,毋需外接其他元器件,直接将CAN 控制器收发引脚与CTM 模块的收发引脚连接即可构成完整的CAN 设备。4 CAN总线数据通讯接口的软件设计4.1 初始化设置CAN总线操作需要初始化,以创建CAN控制器所需要的软硬件资源,并进行引脚配置等。CAN初始化函数原型为:void *CAN_Create(INT8U CAN_Ch, INT16U RxBufSize, INT32U BaudRate, void *pfun)4.2 接收程序CAN 总线模块有3 个接收缓冲器。但是,其中总是

19、有一个缓冲器用于监视总线是否有进入的报文。这个缓冲器叫做报文合成缓冲器(Message Assembly Buffer,MAB)。因此只有2 个接收缓冲器可见(RXB0 和RXB1),基本上可以即时接收来自协议引擎的完整报文。当一个接收缓冲器在接收报文或保持上次接收到的报文时, CPU仍可以使用另一个接收缓冲器工作。MAB保存来自总线的解填充比特流,以允许并行访问整个数据帧或远程帧,以进行接收匹配测试并将帧并行传输到接收缓冲器。MAB将组合所有接收到的报文。这些报文只有在符合接收过滤器标准时才被传送到RXBn 缓冲器。当接收到报文时, RXnIF 标志(CiINTF 或CiINRF)将置位。此

20、位只有在报文被接收时才被模块置位。该位在CPU处理完缓冲器中的报文后将由CPU清零。该位提供的正向锁定功能确保CPU 已经完成了报文缓冲器的处理。如果RXnIE 位(CiINTE或CiINTE)置位,当接收到报文时将会产生一个中断。有2 个与接收缓冲器相关的可编程的接收过滤屏蔽器,两个缓冲器各有一个。当接收到报文时,FILHIT位(接收缓冲器0的CiRX0CON和接收缓冲器1的CiRX1CON)会表明报文的接收标准。除了表明使能接收的接收过滤屏蔽器个数外,还有一个指出所接收的报文是远程传输请求的状态位。图4-1 接收流程图Fig 4-1 receive flowchart4.3 发送程序CAN

21、 模块有三个发送缓冲器。每个缓冲器可容纳14 字节的数据。其中的8 个字节用于存放发送的报文(最大8 个字节)。另外5 个字节用来存放标准或扩展报文标识符和其他报文仲裁信息。最后一个字节是与每个报文相关的控制字节。该字节中的信息决定在何种情况下报文将被发送以及表示报文发送的状态。TXnIF 位(CiINTF、CiINTF或CiINTF)将被置位,并且TXREQ位(CiTXnCON)清零,表明报文缓冲器完成了发送。随后CPU 把将要发送的报文内容装入报文缓冲器。至少,必须装载标准标识符寄存器CiTXnSID。如果报文中有数据字节,还应装载TXBnDm寄存器。如果报文使用扩展标识符,CiTXnEI

22、D 寄存器和EID位(CiTXnDLC)会被加载并置位TXIDE位(CiTXnSID)。在发送报文前,用户必须初始化TXnIE位(CiINTE、CiINTE 或CiINTE)以便在发送报文后使能或禁止中。必须置位TXREQ位(CiTXnCON)来开始发送报文。CAN 总线模块解决了由TXREQ位与SOF 时间设置造成的所有时序冲突,确保当优先级改变时,能在发送SOF 之前正确解决时序冲突。当TXREQ 置位时, TXABT(CiTXnCON)、TXLARB (CiTXnCON)和TXERR(CiTXnCON)标志位将由模块清零。置位TXREQ 位并没有真正开始发送报文,它标志一个报文缓冲器正在

23、排队以等待发送。当模块检测到总线上有可用的SOF时,发送开始。模块然后开始发送设定为具有最高优先级的报文。如果发送第一次尝试就成功完成,TXREQ位将清零,如果TXnIE位(CiINTE、CiINTE和CiINTE)已经置位,还会产生一个中断。如果报文发送失败,其他的某些状态标志位将被置位, TXREQ 位将保持置位,表示该报文仍然等待发送。如果报文尝试发送但遇到出错情况, TXERR 位(CiTXnCON)将被置位。在这种情况下,出错情况也可能会引起中断。如果报文尝试发送但仲裁失败, TXLARB 位(CiTXnCON)将被置位。在这种情况下,没有中断可以表明仲裁失败。图4-2 发送流程图F

24、ig 4-2 send flow5 结语CAN自诞生以来,以其独特的设计思想、优良的性能和极高的可靠性越来越受到工业界的青睐。随着企业对CAN总线技术要求的不断提高,CAN总线技术将不断完善,各种更先进的通讯技术方案将被提出,在现有技术条件下从可靠性、经济性、可扩展性等方面尽量做出了最优化设计,希望以后有时间我继续研究探讨。参考文献1 饶运涛,邹继军,郑勇芸现场总线CAN原理与应用技术M北京航空航天大学出版社2006:20-36.2 梁海浪DSPIC数字信号控制器C程序开发及应用M北京航天航空大学出版社,2006.3 朱涛以太网与CAN总线通讯接口技术D武汉理工大学,2006.4 智鹏,蒋兆,

25、远杨进基于CAN总线的分布式设备数据采集与监控系统的研究与应用J.中国仪器仪表2005.5 史久根CAN数据传送实时性研究及其应用J信息与控制,2005,13(3):l8-22.6 Leonardo da Vinci, Haggerty Road, PlymouthTest Procedure for CAN Bus Susceptibility Evaluation Based on the Use of Radio Frequency DetectorsJ .2009.7 D. Bishop,D. Dale, H. Hui, J. Lam, and R.KeitelDistributed Power Supply Control Using CAN-BusJ2008.08 .8 MARCO DScheduling the CAN bus with earliest deadlineJIndustial electric-OS,2007,1(3):18-21.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1