CAN总线通信接口及程序设计毕业设计

合集下载

毕业设计方案论证

毕业设计方案论证

毕业设计方案论证1、设计课题:基于CAN总线的汽车信号与照明系统设计2、CAN总线与其他总线的区别:(1)其它总线:总线是指计算机各功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束。

随着信息技术的发展,如今存在多种总线,如FSB总线(前端总线),HT总线(高速串行总线),QPI总线(快速通道互联),DMI总线(直接媒体接口),CAN总线。

FSB总线:是将中央处理器(CPU)连接到北桥芯片的系统总线,它是CPU和外界交换数据的主要通道。

前端总线的数据传输能力对计算机整体性能影响很大,如果没有足够带宽的前端总线,即使配备再强劲的CPU,用户也不会感觉到计算机整体速度的明显提升,目前前端总线CPU 与内存、频率存在冲突。

HT总线:为K8平台专门设计的高速串行总线,现在使用的企业还是很少。

QPI总线:用来实现芯片之间的直接互联。

DMI总线:直接媒体接口。

(2)CAN总线在自动化设施的通讯中,CAN总线具备十分广泛的运用,特别是在智能化、自动化等领域具备更加广泛的应用,而且CAN总线的功能也在不断的改进当中。

当前,CAN总线的研究通常包含下面几方面:1) CAN总线应用系统。

在汽车行业,CAN总线具备十分广泛的应用,世界上许多先进的汽车生产厂商,例如劳斯莱斯、法拉利、保时捷、奔驰等多种品牌的汽车,都运用了CAN总线技术。

由于CAN总线具备十分独特的优势,不仅在汽车行业得到了广泛的使用,还在许多工业智能化、自动化领域取得了很大的进展。

按照工业生产的实际要求,许多公司都以CAN总线为基础开发了功能强大的系统,例如以CAN总线为基础的振动智能检测仪等,在实际工作中都取得了飞速的发展。

2) CAN总线芯片控制。

自从CAN总线被广泛应用于系统的设计当中,许多厂家都设计了能够兼容CAN总线的各种芯片。

例如,1987年,英特尔公司设计的82526 CAN总线芯片,在硬件上首次实现了CAN总线协议。

之后,菲利普公司也开发了PCA82C200 CAN总线芯片,使得CAN总线芯片取得了进一步发展。

基于单片机的考勤管理系统毕业设计+程序附录

基于单片机的考勤管理系统毕业设计+程序附录

基于单⽚机的考勤管理系统毕业设计+程序附录摘要“考勤管理系统”是以RFID射频卡为信息识别载体的适⽤于企业单位或学校的考勤管理系统。

本系统可使⽤⼈单位摆脱繁琐、低效的签到模式。

识别⼯作不受环境的影响,操作⽅便快捷,具有防污、防⽔、加密存储等优点。

结合⽹络通信技术和单⽚机技术,实现了企业和单位的⾃动考勤和对考勤数据的分析处理,节约了考勤时间,提⾼了考勤效率并提⾼了考勤的准确率,促进了企业单位的考勤管理信息化⽔平的发展。

硬件部分我们采⽤瑞⼠微电⽣产的EM4095构成的射频读卡电路。

该芯⽚具有成本低,⼯作稳定,精确的采样点等优点。

单⽚机采⽤51系列。

通过CAN总线⽅式与单⽚机互相通信。

读卡电路输出信号有单⽚机识别出卡号利⽤单⽚机与上位机之间进⾏232通信,实时上传数据,传送到PC机⾏处理。

PC主要实现功能进⾏检测卡号数据。

硬件部分我们采⽤瑞⼠微电⽣产的EM4095构成的射频读卡电路。

该芯⽚具有成本低,⼯作稳定,精确的采样点等优点。

单⽚机采⽤51系列的AT89C52。

软件部分分为读卡识别、CAN通信、AT89C52单⽚机与上位机通信、报警,PC⽅检测处理等。

本设计采⽤的单⽚机开发环境为:AVR开发环境为CodeVisionAVR C Compiler,AT89C52开发环境为Keil uVision2。

关键词:考勤管理系统;射频技术;单⽚机;CAN通信;232通信;SPI 通信。

Abstract"Attendance Management System" is based on RFID radio frequency identification card information carrier for business or school attendance management system. The system can use one unit to get rid of cumbersome, inefficient attendance patterns. Identification work from the environment, easy to operate, with a stain resistant, waterproof, encrypted storage and so on. Combined with network communication technology and single-chip technology, the enterprises and units of automatic attendance and attendance data analysis and processing, saving time and attendance time, improve efficiency and increase attendance attendance accuracy, promote the enterprise information management units attendance level of development.We use the hardware part of the Swiss micro-electric production constituted EM4095 RF reader circuitry. The chip has a low cost, stable, accurate sampling points, and so on. Microcontroller with 51 series. Way with the microcontroller through the CAN bus communicate with each other. Reader circuit output signals using microcontroller microcontroller identifies the card number between 232 and PC communication, real-time upload data transfer to a PC for processing. The main achievement of functional testing PC card data.We use the hardware part of the Swiss micro-electric production constituted EM4095 RF reader circuitry. The chip has a low cost, stable, accurate sampling points, and so on. SCM Series 51 AT89C52.Software part is divided into reader identification, CAN communication, AT89C52 microcontroller and PC communication, alarm, PC side detection processing.This design uses a microcontroller development environment: A VR development environment for CodeVisionA VR C Compiler, AT89C52 development environment for the Keil uVision2.Keywords:Attendance Management System; RF Technology; SCM; CAN Communication; 232; SPI Communication.⽬录摘要 (1)Abstract (2)第⼀章绪论 (1)第⼆章硬件部分设计 (3)2.1 EM4095射频芯⽚部分 (3)2.1.1 射频芯⽚选型依据 (3)2.1.2 EM4095射频芯⽚简介 (4)2.1.3 EM4095结构原理 (5)2.1.4 磁卡与EM4095之间ISO14443协议 (7)2.1.5 EM4095与单⽚机连接原理图 (14)2.2 AVR单⽚机部分 (16)2.2.1 单⽚机选型依据 (13)2.2.2 ATMEL单⽚机简介 (14)2.2.3 AT89C52原理图部分 (14)2.3 DS1302实时时钟部分 (16)2.3.1 DS1302芯⽚简介 (17)2.3.2 SPI简介 (17)2.3.3 DS1302与AVR单⽚机连接原理图 (18)2.4 CAN总线部分 (19)2.4.1 CAN总线简介 (19)2.4.2 硬件部分的选型 (19)2.4.3 原理图及其解析 (19)2.5.1 MAX232简介 (21)2.5.2 MAX232与51单⽚机连接原理图 (22)2.6 显⽰部分 (22)2.6.1 显⽰原理说明 (22)2.7 AT89C52部分 (23)2.7.1 AT89C52单⽚机硬件结构 (23)2.7.2 AT89C52单⽚机CPU电路图 (24)第三章软件部分 (26)3.1 AVR单⽚机环境介绍 (26)3.2 AT89C52 单⽚机开发环境介绍 (26)3.3 AVR单⽚机读卡部分 (26)3.3.1 程序实现简介 (26)3.3.2 SPI通信简介 (26)3.3.3 实现功能 (26)3.3.4 EM4095读卡程序流程图 (27)3.3.5 参考程序 (27)3.4 AVR发送数据部分 (27)3.4.1程序实现简介 (28)3.4.2 实现功能 (28)3.4.3 程序流程图(见下⼀页) (28)3.4.4 程序代码 (29)3.5 AVR控制DS1302部分程序 (34)3.5.1 程序实现简介 (34)3.5.2 功能描述 (34)3.5.3 程序流程图(见下⼀页) (34)3.5.4 程序代码 (35)3.6 AT89C52接收CAN数据部分程序 (40)3.6.1 程序实现简介 (40)3.6.2 功能描述 (40)3.6.3 程序代码 (40)3.7 AT89C52与PC机之间通信部分程序 (40)3.7.1 程序实现简介 (40)3.7.2 功能描述 (40)3.7.3 程序代码 (41)参考⽂献 (45)致谢 (47)第⼀章绪论背景考勤管理系统的研究背景随着信息化建设的不断发展,磁卡得到普遍的推⼴,⼤部分采⽤RFID射频技术,通过射频信号⾃动识别⽬标对象获取数据,识别⼯作不受环境的影响,操作⽅便快捷,具有防污、防⽔、加密存储等优点,较传统的接触式IC卡,具有明显的优势,被⼴泛应⽤在⾝份识别、消费等各项服务上,为企业或单位的管理以及⼈们的⽣活提供极⼤的便利。

基于CAN总线煤矿井下分站通信的设计

基于CAN总线煤矿井下分站通信的设计
5 负责 s lo J o 0的初始化 ,实现 数据 的接 收和发送 A 等 ,J 10 SA 00和单片机 的连接 方式见 图 2 。系统的信 号传 输采用 中断方 式, 为增强抗 干扰能力 , A o 0 T 0和 R 0 s lo 的 X J X 通过高速 光耦 6 17 N 3 连 接到 8 C 5 的 T D和 R D引脚。为确保通 信正确 , 2 20 X X 在硬件 的设计和调
路可起 到一定 的过压保护作用 , 此外通过 8C5 的 R 脚上的斜率 电阻 2 20 s
大小可 以适 当调整总线 通信速度 ,此 电阻 的取值范围一般在 1 4 6 n 10 k
[ ] 邢春 晓, 9 张志强 , 李骅竞.M X L数据管理 : X L和支持 X L的数 纯 M M 据库 系统 [ . : M] 北京 清华大学出版社 ,06 6 — 1 20 :8 9 . ( 责任编辑 : 张 红)
片。
1 系统 结构
煤 矿井 下各类 型监控 系统大多采用 层次式结构 , 中井下 分站是 其
P A 2 2 0 P A8 C 5 C 8 C 5 : C 2 2 0是标 准 的 C N总线 收发器 ,是协 议控制 A
核心 , 到承上启下 的作用 , 起 实时地 采集各 类型传 感器 的信 息 , 后将 然
方案, 出了该 通信 结点的硬件结构和软件设计 。 给
关 键 词 : A 总线 ; 下分 站 ; 信 C N 井 通
中图分类号 :D 6 T 7
文献标识码 : A
单片机 : 井下分站传输电路设 计主要是 C N控制器 、 A 单片机 、 驱动器 及其相互 之间的连接电路设计 , 考虑到成本 和性 能等 因素 , 本系统采用的
20 年 第 l 卷 07 7

车辆工程毕业设计50汽车CAN总线技术研究毕业设计

车辆工程毕业设计50汽车CAN总线技术研究毕业设计

理工大学毕业设计说明书(论文)作者: 学号:学院(系):机械工程学院专业: 机械设计制造及其自动化题目: 汽车CAN总线技术研究目次1绪论 (4)1.1 汽车CAN总线技术的研究意义 (4)1.2 汽车CAN总线技术的发展现状 (4)1.3 本课题的主要研究内容和方法 (6)2 CAN总线系统总体方案设计 (8)2.1 系统方框图 (8)2.2 CAN总线主要参数的选择 (9)2.3 CAN总线应用层的定义 (12)2.4 程序设计方法选择 (12)3 基于单片机的CAN节点的CAN接口设计 (13)3.1 接口硬件设计 (14)3.1.1接口元器件选择 (15)3.1.2 接口电路图设计 (15)3.2 接口软件设计 (15)3.2.1 初始化子程序的设计 (15)3.2.2 发送子程序的设计 (16)3.2.3 接收子程序的设计 (16)4 基于单片机的CAN节点的功能部分设计 (18)4.1功能部分硬件设计 (18)4.1.1元器件的选择 (18)4.1.2电路图的设计 (18)4.2功能部分软件设计 (19)4.2.1 PWM调速软件设计 (19)4.2.2计数测速软件设计 (19)5 基于PC机的CAN节点的设计 (21)5.1 LPT-CAN接口卡 (21)5.2 接口函数库 (21)5.3应用软件的MFC设计 (21)6 系统构建与性能检测 (23)6.1 系统构建和调试 (23)6.2 系统性能检测 (24)7 汽车车身CAN解决的方案 (26)8 摩托车CAN总线解决方案 (28)9 CAN总线本科教学建议 (30)结论 (31)致谢 (32)参考文献 (34)附录A 节点电路图 (36)附录B 部分源码 (37)附录C 系统调试 (41)1 绪论1.1汽车CAN总线技术研究的意义随着汽车电子技术的不断发展,汽车上的电子装置越来越多。

较高档的汽车中,电子系统的成本已经超过总成本的20%,并且增长很快。

基于CAN总线的汽车仪表设计-任务书

基于CAN总线的汽车仪表设计-任务书
[2](法)胡思德(Daniel ROUCHB) .汽车车载网络(VAN /CAN /LIN)技术详解[M].北京:机械工业出版社, 2006.
[3]吴浩珪.汽车电子控制技术和车内局域网[M].北京:电子工业出版社, 2003.
[4]江思敏. PCB和电磁兼容设计[M].北京:机械工业出版社,2006.
[17] SAE J1939 Recommended practice for a serial control andcommunication vehicle network [S]. Society of AutomotiveEngineers,2000.
六、备注
指导教师签字:
年 月 日
教研室主任签字:
年 月 日
设计的实物模型,设计说明书,程序。
四、设计(论文)进度安排
(1)熟悉任务书,了解相关信息,准备资料,填写开题报告:第1~2周(3月1日~3月13日)
(2)掌握CAN总线与汽车仪表的绘制,并提出相应问题:第3~7周(3月14日~4月18日)
(3)对系统的软、硬件进行设计,并利用C语言进行软件编程:第8~11周(4月19日~5月16日)
(二)选题的目的、意义
目的:在CAN总线技术的基础上,研究和设计了一款CAN总线汽车仪表。该仪表通过编程实现数据接收、处理以及显示。该设计利用CAN总线将仪表纳入整个车身网络,通过对CAN总线数据读取、处理和显示,实时反映车辆工况。
意义:将CAN总线技术应用于汽车数字式组合仪表的开发,使仪表所需的发动机转速、车速、水温等主要信号均通过其它车载电控系统的CAN协议接口直接读取,避免现有汽车数字式仪表每个信号均采用传感器到仪表点对点的信号获取与传输方式带来汽车线束多、质量大、故障率高的不足,减少了传感器和汽车线束的数量,降低了仪表成本,提高了系统工作可靠性。

基于stm32的毕业设计与功能模块

基于stm32的毕业设计与功能模块

基于STM32的毕业设计与功能模块1. 简介毕业设计是大学生最后的学业总结和展示,具有很高的实践性和综合性。

基于STM32的毕业设计越来越受到学生们的青睐,因为STM32作为一款功能强大的微控制器,具有丰富的外设和灵活的应用,可以满足各种设计需求。

本文将通过深入探讨基于STM32的毕业设计与功能模块,来帮助大家更好地理解这一主题。

2. STM32微控制器简介STM32是由意法半导体(STMicroelectronics)推出的32位RISC微控制器系列产品,具有低功耗、高性能、丰富的外设以及灵活的应用特点。

在毕业设计中,选择STM32作为核心控制器,可以为设计提供强支持,满足各种功能模块的要求。

3. 功能模块的选择在基于STM32的毕业设计中,功能模块的选择至关重要。

通常情况下,需要根据具体的设计需求来选择相应的功能模块,例如:电源模块、通信模块、传感器模块等。

在这里,我们可以结合具体的毕业设计案例来进行分析和讨论。

4. 电源模块设计电源模块是毕业设计中不可或缺的部分,它为整个系统提供稳定的电源供应。

在基于STM32的毕业设计中,选择合适的电源模块对于整个系统的稳定性和可靠性至关重要。

可以选择线性稳压电源模块或者开关电源模块,根据具体的设计需求来进行选择和设计。

5. 通信模块设计通信模块在现代的毕业设计中占据着重要地位,它可以实现系统与外部设备的数据交互和信息传输。

在基于STM32的毕业设计中,可以选择串口通信模块、CAN总线通信模块或者无线通信模块,根据具体的应用场景和通信距离来进行选择和设计。

6. 传感器模块设计传感器模块在毕业设计中也扮演着重要的角色,它可以实现对各种环境参数的检测和监控。

在基于STM32的毕业设计中,可以选择温湿度传感器模块、光照传感器模块或者姿态传感器模块,根据具体的检测参数和精度要求来进行选择和设计。

7. 毕业设计案例分析以某智能家居控制系统为例,该系统基于STM32微控制器,包括电源模块、通信模块和传感器模块。

[完整版]基于CAN总线的温度检测系统毕业论文

[完整版]基于CAN总线的温度检测系统毕业论文

[完整版]基于CAN总线的温度检测系统毕业论文毕业设计(论文)材料之二(1)毕业设计(论文)专业:题目:基于CAN总线的温度检测系统作者姓名:导师及职称:导师所在单位:2021年 6 月 16 日- 1 -本科毕业设计(论文)任务书2021 届专业学生姓名:Ⅰ 毕业设计(论文)题目中文:基于CAN总线的温度检测系统英文:The Temperature Monitor System Based on CAN BusⅡ 原始资料[1] 李华,MCS-51系列单片机实用接口技术[M],北京航空航天大学出版社,1998[2] 胡汉才,单片机原理及接口技术[M],北京:清华大学出版社,1996 [3 ] 王树勋,王朝玉,张新发MCS-51单片微型计算机原理与开发[M] 北京:机械工业出版社,1989[4 ] 张凤登现场总线技术与应用[M],北京:科学出版社 2021[5 ] 饶云涛,邹继军,郑勇芸现场总线CAN原理与应用技术[M],北京:北京航空航天大学出版社,2021.6[6 ] 程希明,CAN现场总线数据采集系统设计方案[J] 自动化仪表,2021:21-25Ⅲ 毕业设计(论文)任务内容1、课题研究的意义由于CAN总线具有多主方式工作、非破坏总线仲裁、直接通讯距离远、通信介质灵活、性价比高等特点,其应用范围目前已不再局限于汽车行业,而扩展到了机械工业、纺织机械、农业机械、机器人、数控机床、家用电器等领域发展。

CAN已经形成了国际标准,并已被公认为集中最有前途的现场总线之一。

对于CAN总线的开发具有重要的现实意义。

2、本课题研究的主要内容:此次毕业设计研究的内容是基于CAN总线的温度检测系统利用AT89S51单片机、SJA1000CAN控制器设计开发基于智能节点的CAN网络,实时监测各个节点状态并发送状态信息。

3、提交的成果:(1)毕业设计(论文)正文;(2)原理图及主程序;(3)一篇引用的外文文献及其译文;(4)10篇主要参考文献的题录及摘要。

基于DSPACE的CAN总线通讯程序开发-任务书

基于DSPACE的CAN总线通讯程序开发-任务书
五、主要参考资料
六、备注
指导教师签字:
年月日
教研室主任签字:
年月日
用于控制器开发流程的直观的软件产品:dSPACE产品拥有统一的接口界面。不管是开发、编程还是测试电控单元,都是在同一个综合环境下进行。这样可以加快并简化开发流程。
二、设计(论文)内容、技术要求(研究方法)
(一)主要内容
1、熟悉matlab/dspace软件。
2、研究车用CAN总线。
3、设计硬件部分即SAPACE的接口连接。
(3)编制程序及中期检查:第7~8周(4月12日~4月25日)
(4)编程序:第9~10周(4月26日~5月9日)
(5)整理文档并提交图纸和设计说明书初稿:第11~12周(5月10日~5月23日)
(6)毕业论文总结、评阅、审核及修改不足:第15~16周(5月24日~6月6日)
(7)为毕业论文答辩做准备及答辩:第17周(6月7日~6月13日)
毕业设计(论文)任务书
学生姓名
系部
汽车与交通工程学院
专业、班级
指导教师姓名
职称
实验师
从事
专业
车辆工程
是否外聘
□是 否
题目名称
基于DSPACE的CAN总线通讯程序开发
一、设计(论文)目的、意义
CAN总线是德国BOSCH公司80年代为解决现代汽车中众多的控制与测试仪器之间的数据交换而-开发的一种串行数据通信协议,其总线规范已被ISO国际标准组织制定为国际标准。现代汽车越来越多的采用电子控制装置,如发动机的喷油控制、ABS等。由于这些控制装置需检测及交换大量数据,采用连接信号线的方法不但烦琐而且昂贵,采用CAN总线上述问题可以得到很好的解决。世界上一些著名的汽车厂商都已开始采用CAN总线束实现汽车内部控制系统与各检测和执行机构间的数据通讯。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

机电工程学院毕业设计说明书设计题目: CAN总线通信接口及程序设计2012 年 5 月21 日目次1 CAN总线介绍1.1 CAN总线的发展背景随着汽车产业的发展,需要一种更利于信息数据传输交换的通信协议。

汽车中的各种电子控制系统需要较高的技术支持,而随着汽车的发展,汽车是否安全、是否便利、成本是否低、是否舒适都已成为人们首要考虑的事情。

但是传统的汽车控制技术已不足以满足人们越来越高的要求,也已不适以汽车的发展方向。

20世纪80年代,德国Bosch公司着手研究用于汽车产业的新的通信协议及控制方法,并首先提出了CAN总线控制系统。

这一崭新的网络协议使得汽车产业得到了飞速的发展。

CAN总线最明显的特点是最大程度地减少了汽车控制系统中的线束的数量及长度,另外还大大提高了系统控制的可靠性和稳定性。

在没有CAN总线协议之前,一辆汽车中用于各种控制通信的线束的总长度达3公里之长,严重影响了汽车的通信速度和通信精度。

并且还使汽车的整体结构繁冗复杂,可靠性低,成本高,难以维护。

因此CAN总线的出现无疑具有重大的意义和作用。

作为一种新的网络通信协议,CAN总线不仅减少了汽车中线束的长度,还提高了汽车的整体性能,极大的促进了汽车产业的发展。

CAN总线刚被提出的时候,仅仅应用于汽车产业上,但CAN总线通信协议的性能和可靠性经过多年的检验,已被应用于越来越多的产业,比如航空、船舶、机床等产业设备方面。

仅仅二十多年的发展,CAN总线便已成为自动化领域技术的潮流。

CAN总线是串行通信网络。

传统运用的是基于R线构建分布式控制系统,这种传统的控制系统是基于通信节点的地址编码的,因此其结构复杂,直接导致系统的通信效率不高,并且控制的可靠性能低。

CAN总线通过每个网络节点进行数据通信,每个节点可以互相收发数据,CAN总线协议对通信数据编码,不对节点地址编码,使各个节点可以同时接收到相同的数据,大大增强了数据通信的实时控制及传输性能。

另一方面CAN总线使用起来非常方便。

CAN总线的结构十分简单,仅有2根线(CANH和CANL)和外部设备相连,但CAN总线的内部却有非常复杂和智能的通信模块,可以方便快捷准确无误的进行数据的自由通信。

1.2 CAN总线的通信层介绍CAN总线是串行通信协议,可以实现各个节点在数据传输时的自由通信及互不影响,因此CAN总线应具有标准的通信协议,这样可以使CAN总线更加方便的应用于控制系统中。

为了实现这样的设计理念,根据ISO/OSI参考模型,CAN总线包含ISO/OSI参考模型中的数据链路层(Data Link Layer)和物理层(Physical Layer)。

(1)数据链路层数据链路层连接硬件和软件的结合层,主要作用是通过各种数据协议而实现数据的传输。

CAN总线中的数据链路层又可以分为两个子层:逻辑链路控制子层(LLC)和介质方向控制子层(MAC)。

逻辑链路控制子层是数据链路层的核心层,它为远程数据的传输提供服务,控制数据的逻辑传输。

(2)物理层物理层是OSI参考模型中的最底层,主要作用是规定节点电气方面的特征。

为了实现数据的自由收发,在同一网络中的物理层应该是处处一样的。

1.3 CAN总线报文帧格式CAN总线上的数据信息都是以报文的形式发送的。

报文的格式并不唯一,而是有几种不同的格式,但是报文的长度却受到电气及内部控制的限制。

CAN 总线的报文传输也就是帧的传输,帧是CAN总线传送数据单位。

帧也有不同的格式,主要区别在于标识符长度不同。

在CAN2.0A协议下帧具有11位标识符,叫作标准帧;而在最新的CAN2.0B协议下具有29位标识符的帧叫作扩展帧。

为了实现数据的传输和控制,CAN总线报文传输具有4种不同类型的帧结构:数据帧、远程帧、错误帧、过载帧。

其中数据帧的结构图如图1-1所示。

详细的CAN 总线报文帧结构可以参阅参考资料[6].1.4 CAN 总线的优势CAN 总线已经成为现在控制领域最流行的控制方案,只所以从CAN 总线诞生以来仅仅二十年间便已成为公认的最好的工业生产控制方案,是因为CAN 总线相比其他控制总线在通信能力和速度方面具有明显的优势。

虽然现在还有很多基于R 线组建的工业控制系统,但它不具备CAN 总线的诸多优点。

相比于其他的控制系统,CAN 的优势在于:(1)CAN 总线是多主工作方式,CAN 总线舍弃了传统控制系统中站地址编码方法,而是对通信的数据进行编码,也就是说,CAN 总线的节点是根据传输数据信息确定是否接收数据。

这样可以简化控制系统。

从面增强了CAN 总线网络的数据通信能力,也提高了系统的可靠性。

(2)CAN 总线的多个节点同时向总线上发送数据时,不会致使总线出现短路现象。

因为CAN 总线是通过CAN 收发器芯片的两个输出端CANH 和CANL 和物理总线连在一起的,但CANH 端只能是高电平或者悬空状态,CANL 只能是低电平或者悬空状态。

这样就使CAN 节点同时向总线发送数据时,不会短路。

另外,CAN 总线还有节点出现严重错误时自动关闭节点功能,以免其他节点受到影响。

数据帧 帧起始仲裁域控制域数据域CRC 域应答域帧结尾帧间空间 帧间空间图1-1 数据帧的结构2 CAN总线通信芯片简述2.1 CAN总线控制器SJA1000简介CAN总线只有OSI参考模式中的数据链路层和物理层,但要实现这两层的功能,必须制定相应的协议和控制规则。

通过CAN总线控制器可以实现对CAN 总线的控制及数据通信。

CAN总线控制器是一块可编程的芯片,它与微处理器相接。

通过对CAN总线控制器的编程,实现数据的通信。

现在有许多类型的CAN控制器芯片,但工业上的控制系统最常用的还是SJA1000 CAN控制器,下面简要介绍SJA1000 CAN控制器。

SJA1000是Philips半导体公司研发的一种新型的CAN控制器,也是该公司PCA82C200 CAN控制器的替代产品。

SJA1000中还加入了一种新的操作模式,PeliCAN模式,相比于此前的BasicCAN模式,这种模式支持最新的CAN2.0B 协议。

为了使SJA1000兼容于PCA82C200芯片,SJA1000和PCA82C200相兼容,即SJA1000 CAN控制器既有BasicCAN模式也有PeliCAN模式。

SJA1000的基本特性有:扩展的64字节接收缓冲器、同时支持CAN2.0A和CAN2.0B协议、同时支持11位和29位标识码、通信速率可以达到1Mbps。

另外,PeliCAN模式下还有一些新的功能,如扩展到8个字节的验收滤波器、自检测等功能。

对于SJA1000工作在BasicCAN模式还是工作在PeliCAN模式,即工作方式的选择是由时钟分频寄存器(CDR)中的CAN模式位控制的。

通电默认的工作方式是BAsicCAN模式。

验收滤波器(Acceptance Filter)是SJA1000中的核心寄存器,利用它,可以接收到预定中的数据。

验收滤波器又分为验收代码寄存器(ACR)和验收屏蔽寄存器(AMR)。

SJA1000中有4个ACR(ACR0、ACR1、ACR2、ACR3)和4个AMR(AMR0、AMR1、AMR2、AMR3)。

标识符也由原来的11位扩展到29位,而滤波方式也有两种,单滤波模式和双滤波模式(由模式寄存器中的AFM位决定)。

需要接收的报文的标识符存于验收代码寄存器中,相应的屏蔽位存放在验收屏蔽寄存器中。

只有在发送的报文的标识符与节点的标识符和AMR的相应位一致的情况下,节点才会接收报文。

下面主要介绍双滤波模式下扩展帧格式的验收滤波器的设置。

双滤波模式,顾名思义,就是有两个滤波器,滤波器1由ACR0、ACR1和AMR0、AMR1组成;滤波器2由ACR2、ACR3和AMR2、AMR3组成。

接收报文时报文中的标识符信息要与两个滤波器中的值比较,但并不是两个滤波器都必须通过才接收报文,而是只要有一个滤波器通过验收就可以接收报文了。

2.3 PCA82C250 CAN收发器介绍CAN总线收发器是CAN控制器与物理总线之间的接口器件,它对总线提供差动发送和接收数据功能。

CAN总线收发器也决定着系统的安全性、可靠性和兼容性的优劣。

PCA82C250具有许多优越的性能。

在本次设计中PCA82C250仅仅用到了短路保护功能。

PCA82C250通过对引脚Rs的不同接法可以得到3种不同的工作模式:高速模式、斜率控制模式和待机模式。

高速模式时VRs<0.3Vcc,VRs与地之间接1个0-1.8KΩ的电阻可以使PCA82C250工作在高速模式;斜率控制模式时与地之间接1个16.5KΩ-140KΩ的电阻;待机模式时Rs保持高电平,VRs要大于0.75Vcc。

3 CAN总线的通信设计及方案3.1 CAN总线通信的技术要求及目标本次设计主要是利用51单片机和CAN芯片SJA1000实现点对点的相互通信。

SJA1000是CAN控制器,主要用于一般的区域网络控制。

51单片机与SJA1000相连,SJA1000内的数据存储地址相当于51单片机的片外存储器,利用51单片机的片外寻址,对SJA1000内的各个寄存器进行读写,进而控制SJA1000实现CAN总线的点对点的通信。

另外,还需要接入CAN收发器82C250来实现CAN总线的发送和接收功能。

本次设计的目标是将51单片机、CAN控制器SJA1000和CAN收发器82C250连在一起,编写程序,实现点对点通信的收发。

3.2 CAN总线通信接口方案CAN总线的硬件电路的节口非常简单,只需要微处理器和CAN控制器及CAN收发器便可构成。

CAN总线通信接口通常情况下有2种实现方式:一种是由微处理器、独立的CAN控制器和CAN收发器组成的硬件电路;另一种是集成CAN控制器的单片机和CAN收发器构成的硬件电路。

CAN总线在经过二十多年的发展,已经产生了许多类型的CAN总线协议的芯片,其中有独立的CAN 控制器芯片,也有集成CAN控制器的微处理器芯片。

独立的CAN控制器有Philips公司的PCA82C200、SJA1000,Intel公司的82526、82527等。

集成CAN 控制器的微处理器也有很多,比如Philips公司的P8XC592/598等。

常用的CAN 收发器有Philips公司的PCA82C250等。

方案1:由51单片机、SJA1000 CAN控制器和PCA82C250 CAN收发器组成的CAN通信节点采用AT89C51、SJA1000 CAN控制器和PCA82C250 CAN收发器设计CAN 通信节点。

这种方案的设计思路很简单,控制过程也比较方便。

通过AT89C51单片机编程控制SJA1000的初始化及收发数据。

SJA1000负责CAN总线上的数据的处理,PCA82C250收发器负责传递数据。

相关文档
最新文档