电子论文基于单片机的CAN通信模块设计.docx

上传人:b****8 文档编号:29548363 上传时间:2023-07-24 格式:DOCX 页数:41 大小:414.20KB
下载 相关 举报
电子论文基于单片机的CAN通信模块设计.docx_第1页
第1页 / 共41页
电子论文基于单片机的CAN通信模块设计.docx_第2页
第2页 / 共41页
电子论文基于单片机的CAN通信模块设计.docx_第3页
第3页 / 共41页
电子论文基于单片机的CAN通信模块设计.docx_第4页
第4页 / 共41页
电子论文基于单片机的CAN通信模块设计.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

电子论文基于单片机的CAN通信模块设计.docx

《电子论文基于单片机的CAN通信模块设计.docx》由会员分享,可在线阅读,更多相关《电子论文基于单片机的CAN通信模块设计.docx(41页珍藏版)》请在冰豆网上搜索。

电子论文基于单片机的CAN通信模块设计.docx

电子论文基于单片机的CAN通信模块设计

 

本科毕业设计(论文)

 

题目基于单片机的CAN通信模块设计

学生姓名

专业班级电子信息科学与技术08-1班

学号

院(系)计算机与通信工程学院

指导教师(职称)

完成时间2012年5月31日

 

郑州轻工业学院

毕业设计(论文)任务书

题目基于单片机的CAN通信模块设计

专业电子信息科学与技术学号姓名

主要内容、基本要求、主要参考资料等:

主要内容:

1.通过对CAN通信技术的学习,理解和掌握CAN通信的原理;

2.运用单片机结合CAN芯片完成系统的软、硬件设计;

3.实现单片机与CAN通信模块的设计。

基本要求:

4.掌握CAN总线的技术规范以及它的应用;

5.分析CAN通信技术,理解CAN通信工作原理;

6.实现各部分的功能设计,接口设计,完成模块设计。

主要参考资料:

[1]饶运涛,邹继军,郑勇芳著现场总线CAN原理与应用技术.北京航空航天大学.2003

[2]邬宽明编著现场总线技术应用选编.北京航空航天大学出版社.

[3]雷霖编著现场总线控制网络技术.北京电子工业出版社.2004.

[4]夏德海编著现场总线技术.中国电力出版社.2004.

完成期限:

2012年5月31日

指导教师签名:

专业负责人签名:

2012年1月5日

 

基于单片机的CAN通信模块设计

摘要

随着科技的发展、人们生活水平的提高,电子产品变得跟人们形影不离。

它极大的方便了人们的生活,同时也让可靠性也变得尤为重要。

CAN[1]最初出现在汽车工业中,最初动机是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线,由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。

本文首先简单介绍了单片机的基本特性,CAN在现代控制领域中的应用和它的发展状况及前景,CAN总线的主要性能及特点,以及CAN总线在实际工业应用中的总体结构;主要研究了CAN总线接口电路设计,给出了CAN总线的硬件设计方法和通信协议的具体用法,所设计的总线接口电路由微处理器、CAN控制器、CAN总线收发器组成,并且详细介绍了CAN控制器、CAN收发器的功能以及CAN总线接口的硬件电路和软件设计,最后总结了设计时的注意事项,为后续CAN总线接口电路的应用打下了基础。

关键词  CAN总线;控制器;收发器;电路设计

DESIGNOFMCUANDCANCOMMONICATIONMODULE

ABSTRACT

Withthedevelopmentofscienceandtechnologyandtheincreaseofpeople'slivingstandard,electronicproductsandpeoplewerelikepeasandcarrots.Itgreatlyconvenientonpeople'slife,alsoletsreliabilityalsobecomeespeciallyimportant.CANfirstappearedintheautomobileindustry,theinitialmotivationistosolvethecommunicationbetweenlargemodernautomobileelectroniccontroldevice,reducetheincreasingsignalline,becauseofitsgoodperformanceanduniquedesign,theCANbustakesmoreandmorepeople'sattention.

ThispaperbrieflyintroducesthebasiccharacteristicsofMCU,CANinthemoderncontrolfieldapplicationanditsdevelopmentstatusandprospects,wodescriptthemainCANbusperformanceandfeatures,andCANbususedinindustrialstructure;CANbusonthemaininterfacecircuitdesign,giventheCANbusprotocolconverters,thehardwaredesignmethodsandthemethodofthecommunicationprotocols.Designedbythebusinterfacecircuitsandthemicroprocessor,CANbustransceivercomponents,anddetailsoftheCANcontroller,CANtransceiveroftheCANbusinterfaceandfeaturesofthehardwareaswellassoftwareundertheconditionsoftheconditionsofthehardwaredesign,finallythepapersummarizesthedesignconsiderationsforfollow-upCANlaidthefoundationforapplication.

KEYWORDS  CANbus,Controller,Transceiver,Circuitdesign

1绪论

1.1引言

在1980年的早些时候,Bosch公司的工程师就开始论证当时的串行总线用于客车系统的可行性。

因为没有一种现成的网络方案能够完全满足汽车工程师们的要求,于是,在1983年初,UweKiencke开始研究一种新的串行总线。

新总线的主要方向是增加新功能、减少电气连接线,使其能够用于产品,而非用于驱动技术。

来自Mercedes-Benz的工程师较早制定了总线的状态说明,而Intel也准备作为半导体生产的主要厂商。

当时聘请的顾问之一是来自于德的Applied大学教授WolfhardLawrenz博士,他给出了新网络方案的名字“ControllerAreaNetwork”,简称CAN。

最初动机是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。

1993年CAN成为国际标准ISO11898(高速应用)和ISO11519(低速应用)。

由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。

随着应用领域的增多,CAN的规范从CAN1.2规范(标准格式)发展为兼容CAN1.2规范的CAN2.0规范(CAN2.0A为标准格式,CAN2.0B为扩展格式),目前应用的CAN器件大多符合CAN2.0规范。

现场总线是一种应用于生产现场,在现场设备之间、现场设备与控制装置之间实行双向、串行、多节点数字通信的技术。

它是一项以智能传感、控制、计算机、数据通信为主要内容的综合技术,是当今自动化领域发展的热点之一,被誉为自动化领域的局域网。

目前国际上存在几十种现场总线标准,比较流行的主要有FF(基金会现场总线)、CAN(控制器局域网)、LonWorks、Profibus[2]等。

1.2单片机与CAN总线

单片机作为嵌入式设备的心脏,在从消费电子到工业应用等广泛的领域中得到应用。

从单片机的历史来看,随着嵌入式设备对单片机功能和性能的要求提高,其经历了从4位机到8位机的发展过程。

目前嵌入式产品的不断发展,8bit单片机的处理能力面对越来越多的挑战,而32bit单片机在嵌入式领域得到越来越多的应用,CAN最初是用于汽车行业的监测、控制,用来解决汽车内部的复杂硬件信号接线的低成本通信总线,现今CAN总线已经被公认为一种可靠的网络总线在汽车上得以应用。

CAN总线共享信息和资源,总线的数据通信提高了系统可靠性、实时性、灵活性、可维护性,更好地匹配和协调各个控制系统。

随着汽车电子技术的发展具有高度灵活性、简单的扩展性、优良的抗干扰性和处理错误能力的CAN总线,越来越受到人们的重视,它在汽车领域上得到了广泛的应用。

单片机与CAN总线的开发与设计也越来越受到人们的重视。

1.3CAN系统的发展前景

CAN总线以其高性能,高可靠性及独特的设计,在现代分布式测量与控制技术领域中的应用已愈来愈广泛。

最近一段时期,国内开发、应用CAN系统的人员正在逐渐增多,对CAN协议的研究也在不断加深,在很多领域,如研制电动汽车和混合动力汽车的863重大课题,已经将CAN作为标准的车内通信协议确定下来。

同时由于CAN总线自身的特点,其应用范围目前已不再局限于汽车行业,而是转向铁路、交通、自动控制、航空航天、航海、机械工业、机器人、医疗器械及安防等领域发展。

CAN总线的发展已经颇具规模,它不仅在汽车领域的应用占据一定优势,在其他工业领域内也占有一席之地。

这要归根于通信技术的不断进步,对通讯本身的要求不断提高,对性价比的关注也逐步提升,这种形势下CAN总线的优势在于其优越的抗干扰能力和性价比。

从2000年开始,一个由数家公司组成的ISO任务组织定义了一种时间触发CAN报文传输的协议。

传统的CAN是基于事件触发的,信息传输时间的不确定性和优先级反转是它固有的缺点。

为了满足汽车控制对实时性和传输消息密度不断增长的需要,改善CAN总线的实时性能非常必要。

在CAN应用蓬勃发展的时候,我们也应当清醒地看到,尽管CAN协议在欧美已经发展了20多年,应用层协议[3]的发展也有10多年时间,但目前国内大多数的应用系统仍然基于CAN2.0B规范开发,还不能在应用层的水平上进一步深入,这不能不说是很遗憾的事情。

另外,国内研究、开发CAN协议,尤其是CAN高层协议的组织和人员还太少,这对CAN在中国的推广是十分不利的。

尽管CAN总线有一定局限,甚至还有漏洞,但对CAN总线的改进还在继续,相信在未来的发展中,CAN总线通过不断的更新和改进,能够取得更大的进步。

1.4论文的结构介绍

本文的主要工作是完成和实现单片机与CAN通信的模块设计,大体的组织结构是:

第一章主要介绍了CAN的概况以及它的应用于发展。

第二章主要对51系列的单片机和CAN总线进行了简单的介绍。

第三章主要是单片机与CAN通信模块的具体软、硬件的设计。

第四章讲了设计模块时应该注意的事项。

第五章是对整篇论文的一个分析和总结。

2AT89C51和CAN总线简介

2.1AT89C51简介

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器[4]的低电压存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory),而且是高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除100万次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的器件MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

2.1.1AT89C51的主要特性

●与MCS-51兼容

●4K字节可编程闪烁存储器

●寿命:

1000万次写/擦循环

●数据保留时间:

10年

●全静态工作:

0Hz-24MHz

●三级程序存储器锁定

●128×8位内部RAM

●32条可编程I/O线

●两个16位定时器/计数器

●5个中断源

●可编程串行通道

●低功耗的闲置和掉电模式

●片内振荡器和时钟电路

图21AT89C51引脚

2.1.2管脚的说明

●VCC:

供电电压。

●GND:

接地。

●P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流。

当P0口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

●P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

●P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,并且作为输入。

因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

●P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如表格2-1所示:

表格2-1P3引脚的扩展功能

管脚

P3.0

P3.1

P3.2

P3.3

P3.4

P3.5

P3.6

P3.7

备选功能

RXD(串行输入口)

TXD(串行输出口)

/INT0(外部中断0)

/INT1(外部中断1)

T0(定时器0外部输入)

T1(定时器1外部输入)

/WR(外部数据存储器写选通)

/RD(外部数据存储器读选通)

●RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

●ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR的8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

●/PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取址期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

●/EA/VPP:

当/EA保持低电平时,则在此期间使用外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此期间使用内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

●XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

●XTAL2:

来自反向振荡器的输出。

2.1.3振荡器特性、芯片擦除以及串口通讯

振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

由于输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度,一般情况下AT89C51经常使用的晶振频率的大小为12MHZ和11.0592MHZ,这些都是为了特定的使用而选择的,这些特定的作用包括定时器的使用以及串口波特率的使用,使用这些特定的晶振,可以使设计的精确性和方便性得到提高,提高设计效率。

芯片擦除:

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。

在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89c51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

串口通信:

单片机的结构和特殊寄存器,这是你编写软件的关键。

至于串口通信需要用到哪些特殊功能寄存器呢,它们是SCON,TCON,TMOD等,通过对这些寄存器的设置就可以进行串口的通信。

2.2CAN总线简介

CAN[Control(Controller)AreaNetwork]是控制(器)局域网的简称。

CAN是一种有效支持分布式控制或实时控制的串行通信网络,最初由德国Bosch公司20世纪80年代用于汽车内部测试和控制仪器之间的数据通信。

目前CAN总线规范已被国际标准化组织ISO制订为国际标准ISO11898[5],并得到了Motorola、Intel、Philips等大半导体器件生产厂家的支持,迅速推出各种集成有CAN协议的产品。

目前CAN总线主要用于汽车自动化领域,如发动机自动点火、注油、复杂的加速刹车控制(ASC)、抗锁定刹车系统(ABS)和抗滑系统等。

BENZ、BMW等著名汽车上已经采用CAN来满足上述功能。

在工业过程控制领域,CAN也得到了广泛的应用。

2.2.1CAN协议

CAN总线采用分层结构,规范规定了任意两个节点之间的兼容性。

包括电气特件数据解释协议。

CAN协议可分为:

目标层、传送层、物理层。

其中目标层和传送层包括了ISO/OSI定义的数据链路[6]的所有功能。

目标层的功能包括:

确认要发送的信息;为应用层提供接口。

传送层功能包括:

数据帧组织、总线仲裁、检错、错误报告、错误处理。

CAN总线以报文为单位进行信息交换,报文中含有标示符(ID),它既描述了数据的含义又表明了报文的优先权。

CAN总线上的各个节点都可主动发送数据。

当同时有两个或两个以上的节点发送报文时,CAN控制器采用ID进行仲裁。

ID控制节点对总线的访问。

发送具有最高优先权报文的节点获得总线的使用权,其他节点自动停止发送,总线空闲后,这些节点将自动重发报文。

2.2.1.1CAN支持四类信息帧类型

(1)数据帧CAN协议有两种数据帧类型标准2.0A和标准2.0B。

两者本质的不同在于ID[7]的长度不同。

在2.0A类型中,ID的长度为ll位;在2.0B类型中ID为29位。

一个信息帧中包括7个主要的域。

●帧起始域——标志数据帧的开始,由一个显性位组成。

●仲裁域——内容由标示符和远程传输请求位(RTR)组成,RTR用以表明此信息帧是数据帧还是不包含任何数据的远地请求帧。

当2.0A的数据帧和2.0B的数据帧必须在同一条总线上传输时,首先判断其优先权,如果ID相同,则非扩展数据帧的优先权高于扩展数据帧。

●控制域——r0、r1是保留位,作为扩展位,DLC表示一帧中数据字节的数目。

●数据域——包含0~8字节的数据。

●校验域——检验位错用的循环冗余校验域,共15位。

●应答域——包括应答位和应答分隔符。

正确接收到有效报文的接收站在应答期间将总线值为显性电平。

●帧结束——由七位隐性电平组成。

(2)远程帧接受数据的节点可通过发远程帧请求源节点发送数据。

它由6个域组成:

帧起始、仲裁域、控制域、校验域、应答域、帧结束。

(3)错误指示帧由错误标志和错误分界两个域组成。

接收节点发现总线上的报文有误时,将自动发出“活动错误标志”其他节点检测到活动错误标志后发送“错误认可标志”。

(4)超载帧由超载标志和超载分隔符组成。

超载帧只能在一个帧结束后开始。

当接收方接收下一帧之前,需要过多的时间处理当前的数据,或在帧问空隙域检测到显性电平时,则导致发送超载帧。

(5)帧间空隙位于数据帧和远地帧与前面的信息帧之间,由帧间空隙和总线空闲状态组成。

帧间空隙是必要的,在此期间,CAN不进行新的帧发送,为的是CAN控制器在下次信息传递前有时间进行内部处理操作。

当总线空闲时CAN控制器方可发送数据。

2.2.2电气参数及信号表示

总线上的数据采用不归零编码方式[8](NRZ),可具有两种互补的逻辑值之一:

显性及隐性。

CAN总线中各节点使用相同的位速率。

它的每位时间由同步段、传播段、相位缓冲段1及相位缓冲段2组成。

发送器在同步段前改变输出的位数值,接收器在两个相位缓冲段间采样输入位值,而两个相位缓冲段长度可自由调节,以保证采样的可靠性。

另外,CAN总线采用时钟同步技术来保证通讯的同步,提高通信的效率。

2.2.3CAN的主要特点

80年代末,在汽车工业中,由于众多的控制设备与测试仪器之间需要进行大量数据交换,传统的总线无法满足需求,德国BOSCH公司提出了CAN总线,这种新的串行数据通讯协议。

CAN总线即控制器局域网总线,通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验[9]、优先级判别等项工作。

它具有如下特点:

1.CAN是到目前为止为数不多的有国际标准的现场总线,总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数据通讯。

2.CAN总线没有采取传统的站地址编码,不对节点进行地址规定,而是把通信数据块进行编码。

这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成。

这种按数据块编码的方式,使用报文的标识符来指定报文的优先级以及报文的内容,高优先级的节点享有传送报文的优先权。

还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。

采用短帧结构,每一帧的有效字节数为8个,数据传输时间短,受干扰的概率低,重新发送的时间短,从而保证了通信的实时性。

3.CAN总线采用了多主竞争式总线结构,通信介质可以是双绞线、同轴电缆或光导纤维,可以多个主站运行并且分散仲裁。

CAN总线上任意节点可以点对点,一对多及广播集中方式传送和接受数据,而且可以任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。

CAN通讯距离最大是10公里(设速率为5Kbps),最大通信速率为1Mbit/s(设通信距离为40米)。

4.CAN采用非破坏性的总线仲裁技术,即载波侦听多路访问/冲突检测(CSMA/CD)的总线仲裁方式,当多个节点同时发送数据时,优先级低的节点会主动停止发送,高优先级的节点可继续传输,节省总线仲裁时间。

避免多个节点同时开始发送消息而造成总线冲突,保证优先级高的报文能够优先发送。

5.CAN总线协议采用了完善的错误检测与错误处理机制,包括了CRC校验、错误报文自动重发、错误状态判断、临时错误自动恢复等措施,从而很好的保证了数据通信的可靠性。

节点在错误严重的情况下,具

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

当前位置:首页 > 经管营销 > 经济市场

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

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