没有合适的资源?快使用搜索试试~ 我知道了~
基于CAN总线的单片机监控系统..docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 163 浏览量
2022-11-10
06:19:37
上传
评论
收藏 500KB DOCX 举报
温馨提示
试读
28页
...
资源推荐
资源详情
资源评论
基于 CAN 总线的单片机监控系统
1
目录
一.项目描述...................................................................................................................................3
二.项目原理图...............................................................................................................................3
三.项目中使用的器件介绍...........................................................................................................5
四 CAN 总线监控系统软件设计 .................................................................................................14
4.1
4.2
4.3
4.4
主控制程序.........................................................................................................................15
SJA1000 初始化 ...............................................................................................................20
发送程序设计.....................................................................................................................23
接受程序设计.....................................................................................................................26
2
一.项目描述
现场总线是自动化领域的计算机网络,是当今自动化领域技术发展的热点
之一。它以总线为纽带,将现场设备连接起来成为一个能够相互交换信息的控制
网络,是一种双向串行多节点数字通信系统。CAN 总线是现场总线的一种,它
最初被应用于汽车的控制系统中。由于其卓越的性能,CAN 总线的应用范围已
不再局限于汽车工业,被广泛应用到自动控制、楼宇自动化、医学设备等各个领
域。
本项目设计的 CAN 总线监控系统主要由统通信电路构成。单片机对 CAN
总线控制芯片 SJA1000 进行正确初始化后,将要发送的数据通过 82C250 输出
至 CAN 总线。接收过程中,通过选择将要索取信息的节点及其相关信息的选项,
数据流按照上述发送过程通过总线到达被索取节点,再由该节点分析数据包,从
而进行相应的控制。所有数据都由 SJA1000 打包,再按 CAN2.0B 的 PeliCAN
模式发送和接收。
二.项目原理图
本项目的电路主要由通信控制器 SJA1000、微处理器 C8051F310、独立
CAN 总线发报器 P82C250、高速光电耦合器 6N137 组成。接口电路如图 3-3
所示。
3
图 3-3 CAN 总线通信原理图
微处理器 AT89C51 负责 SJA1000 的初始化,通过控制 SJA1000 实现数据
的接收和发送等通信任务,设计中,SJA1000 的地址/数据总线 AD0~AD7 分别
连接到 C8051F310 的 P2 口,CS 连接到 C8051F310 的 P3.3,SJA1000 的 RD、
WR、ALE 分别与 C8051F310 的 P3.2,P3.1,P3.4 引脚相连,INT 接 C8051F310
的 P1.6 引脚,RST 接 C8051F310 的 P1.7 引脚。
在设计硬件电路时,要注意到以下几点:
(1) 为了 CAN 总线节点的抗干扰能力,SAJ1000 的 TX0 和 RX0 并不是
直接与 82C250 的 TXD 和 RXD 相连,而是通过高速光电耦合器 6N137
后 PAC82C250 相连,这样就很好地实现了总线上各 CAN 节点之间的
电气隔离,不过需特别说明的一点是光耦部分电路所采用的两个电源
VCC 和 VDD 必须完全隔离,否则采用光耦也就失去了意义。
(2) PCA82C250 与 CAN 总线的接口部分也要采取了一定的安全和抗干
扰措施,PAC82C250 的 CANH 和 CANL 引脚各自通过 1 个 5 欧的电
阻与 CAN 总线相连,电阻可起到一定的限流作用,保护 PAC82C250
免受过流的冲击,CANH 和 CANL 与地之间并联了 2 个 30pF 的小电容,
4
可以起到滤除总线上的高频干扰和一定的防电磁辐射的作用,另外在两
根 CAN 总线接入端与地之间分别反接了一个保护二极管,当 CAN 总线
有较高的负电压时,通过二极管的短路可起到一定的过压保护作用
(3) 总线两端应接有两个 120 的电阻,对于匹配总线阻抗起着相当重要
的作用,忽略掉它们,会使数据通信的抗干扰及可靠性大大降低,甚至
无法通信。
三.项目中使用的器件介绍
3.1 CAN 接口芯片介绍
利用 CAN 总线实现总线上各节点之间的数据通信。由于 CAN 总线采用多
主方式工作,实际中最多可连接 110 个节点,将 3 个独立 CAN 总线节点的
CANH,CANL 分别连接到 CAN 总线上,这样就构成利用 CAN 总线进行通信的
网络。下面介绍 CAN 总线节点的设计。
CAN节点的硬件电路的设计主要是CAN总线通信控制器与微处理器之间的
接口电路以及 CAN 总线收发器与物理总线之间的接口电路设计。CAN 通信控制
器是接口电路的核心,它主要完成 CAN 总线的通信协议,而 CAN 总线收发器
的功能则是增大通信距离,保护系统不受干扰。本文设计了 CAN 总线接口电路,
在设计中使用的是 Silicon Labs 公司的 C8051F310 作为 MCU 及 PHILIPS 的
SJA1000 总线通信控制器,在与物理总线的连接处则采用了 PCA82C250 收发
器和高速光电耦合器 6N137。
3.1.1 C8051F310 简介
本电路采用应用广泛的 Silicon Labs 公司生产的低功耗、高性能 8 位单片机
C8051F310 作微控制器,他的主要特性有:
1. 高速、流水线结构的 8051 兼容的 CIP-51 内核(可达 25MIPS)
2. 全速、非侵入式的在线系统调试接口(片内)
3. 带模拟多路器、真正 10 位 200ksps 的 25 通道单端/差分 ADC
4. 高精度可编程的 25MHz 内部振荡器
5. 16KB 可在线系统编程的 FLASH 存储器
5
剩余27页未读,继续阅读
资源评论
xxpr_ybgg
- 粉丝: 6535
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- las格式点云数据使用详解(附VS编译好的LAStools工具)
- KRPano插件一键解密大师1.4.0 (解压密码1234)
- 《C++沉思录》是一本由 Scoot Meyers 所著的经典 C++ 编程书籍 该书深入探讨了 C++ 的一些高级概念和技术
- 海信刷机数据 LED42K310X3D(0000)BOM1-C006软件数据与LED42K310NX3D(0000)BOM1通用
- 送货单打印软件单机版直接单机运行不需要网络
- pycdc工具,Python3.9及以上可用的反编译工具(exe转py)
- 计算机网络基础练习题.pdf
- SDIO接口远距离无线图传WIFI6模块TT-S6D2TR-105HP
- 海信智能电视刷机数据 LED42K280J3D(1000) 生产用软件数据 务必确认机编一致 强制刷机 整机USB升级程序
- 步进电机控制实验-原理图-软件代码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功