登录
|
注册会员
开启辅助访问
设为首页
收藏本站
扫一扫关注官方微信
论坛
BBS
M币充值
M currency prepaid phone
M币获取
附件中心
搜索
search
全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
MCU资讯论坛
»
论坛
›
单片机论坛
›
单片机应用于方案
›
基于CAN总线的温度测量节点设计
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版
基于CAN总线的温度测量节点设计
[复制链接]
3506
1
ad***
管理员
发表在
嵌入式/ARM
2013-3-21 00:24:06
|
查看全部
|
阅读模式
本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要
登录
才可以下载或查看,没有帐号?
注册会员
x
摘要:介绍了CAN总线技术及特点,提出了一种基于CAN总线的温度测量节点的设计,该系统采用
单片机
技术和CAN总线技术实现,给出了温度测量节点的硬件、软件的设计。经实际应用,使用CAN总线的温度测量节点在信号传输的实时性、可靠性、传输距离和测量精度有着显着的提高。
关键词:CAN总线;节点;CAN通信
0 引言
CAN是Controller Area Network的缩写,即控制器局部网,通常称为CAN bus(CAN总线),是一种支持分布式控制的串行通信协议。CAN最初出现在汽车工业中,是20世纪80年代德国Boech公司为汽车的监控、控制系统而设计的,主要是解决汽车中的电子控制装置之间的通信,减少不断增加的信号线。CAN总线的直接通信距离最远可以达到10 km,此时通信速率为5 kbps以下;而通信速率最高可达1 Mbps,此时通信距离长为40 m。同时CAN总线的通信媒介采用双绞线或光纤,选择灵活,其结构较简单,总线接口芯片支持8位、16位的CPU。
由于CAN总线采用短帧结构,在标准格式中,短帧的字节数为8个,因此传输时间短,受干扰的概率低,重新发数据帧的时间短,并且每帧信息都有CBC校验及其他检错措施,这样可以保证极低的数据出错率。CAN总线上的节点在错误严重时,可以自动关闭总线的功能,使总线上的其它操作不受到影响。由于CAN总线的数据通信具有卓越的特性及极高的可靠性,因而非常适合工业过程监控设备互连,也是最有前途的现场总线之一。由于CAN总线的特点,使得其广泛地应用于电力、航空航天、治金、交通工具、机器人、医疗设备、环境监控和家用电器等众多领域。本文提出基于CAN总线的温度测量节点的设计。
1 系统总体结构设计
根据系统的设计要求,其总体设计结构如图1所示。整个系统由主站节点、分布式温度测量节点两部分组成。由于基于CAN总线的温度测量节点是一种分布式、实时的通信系统,可采用主从方式通信,其特点就是系统中任一节点设一为主站节点,其余均为从站节点,主站节点通过CAN总线与各个从站节点进行通信。我们只需设一个主站节点作为主监控器,以点对点方式进行通信,其余的从站均为各个温度测量节点。各个节点都通过CAN总线实现信号数据的连接,各个温度测量节点具有较强的独立性,具有工作可靠性、性能稳定、测量精确、安装调试方便、造价低廉等特点。
2 温度测量节点的硬件电路设计
CAN总线温度测量节点主要任务是温度采集与CAN通信,其硬件结构框图如图2所示。硬件电路由微处理器STC89C52、总线控制器SJA10 00、总线驱动器PCA82CS0和传感器DS18B20四个部份组成。微处理器负责对SJA1000和DS18B20进行初始化,通过总线控制器SJA1000实现数据的接收和发送等通信任务。
2.1 温度传感器DS18B20
DS18B20是美国DALLAS公司推出的第一片支持“一线总线”接口的温度传感器,该传感器只需一个端口引脚进行通信,就可以实现多点分布的应用,具有低功耗、高性能、抗干扰强等优点。其传感器的特性为:
(1)温度测量范围宽,能测到-55℃~125℃的温度,在-10℃~+85℃时精度为正负0.5℃。
(2)提供9-12位的测量分辩率,对应的温度精度分别为0.5℃、0.25℃、0.125℃和0.0625℃,实现了高精度的测量。
(3)接口方式独特,仅需一条信号线就可以实现与微处理器的双向通信。
(4)测量出的温度能直接转化成串行数字信号供CPU处理,同时还传送CRC校验码,具有很强的抗干扰纠错能力。
温度传感器的电路设计由单片机的引脚P3.5与传感器DS18B20的DQ脚相连,实现微处理器与传感器的双向数据的通信。同时DQ单总线外接一4.7 k的上拉电阻。温度传感器的电路图如图3所示。
2.2 CAN通信电路的设计
CAN通信电路是整个系统实现通信的关键部分,系统中各个节点和节点控制器是通过CAN通信电路接入CAN总线网络上的,实现信号数据的传输。CAN通信电路采用STC89C52处理器、PHILIPS公司的总线控制器SJA1000、NXP公司的总线收发器82C250和高速光电耦合器6N137等器件组成。在CAN通信电路中微处理器负责对SJA1000进行初始化,各信号通过CAN总线控制器实现信号数据的接收和发送等通信任务。同时为了增加CAN总线节点的抗干扰能力,更好地实现了总线上各CAN节点间的电气隔离,SJA1000的TX和RX引脚通过连接光耦6N137后再与总线收发器PCA82C250相连,总线收发器82C250的TXD和RXD分别接光耦6N137的输出OUT和输入IN端,再通过具有差动发送和接收功能的总线终端CAN_H和CAN_L连接入总线电缆中,完成通信的传输。
3 温度测量节点的软件设计
温度测量节点的软件设计包括CAN总线初始化、发送子程序及中断接收程序软件设计和温度传感器DS18B20的程序设计。其节点流程图如图4所示。
3.1 CAN初始化程序
CAN初始化即初始化CAN节点。要保证通信正确可靠则必须先对控制器SJA1000进行初始化参数设置。初始化设置是通过微处理器对SJA1 000的寄存器进行初始化,这些初始化包括控制寄存器的配置、命令寄存器的配置、状态寄存器的配置、中断管理寄存器的设置、总线定时寄存器的配置、输出控制寄存器的设置以及时钟分频寄存器的设置等。
系统上电后,对CAN初始化只有在复位模式下才可以开始,初始化设置完成后,CAN控制器就可以回到工作状态,即进入工作模式,执行正常的通信任务。CAN控制器初始化流程图如图5所示。
3.2 CAN通信电路程序
CAN总线节点要完成通信任务则还必须包括发送子程序及中断接收程序。发送子程序负责各节点报文的发送任务。发送时只需将待发送的数据信息按特定的格式组合成一帧报文,送入CAN控制器SJA1000的发送缓冲器中,启动SJA1000发送即可完成发送报文任务。在向SJA1000发送缓冲器发送报文之前,可先做一些判断,判断其是否正在接收数据、先前发送是否成功以及发送缓冲器是否锁定等等,以确保数据发送的可靠性。
中断接收程序主要是负责节点报文的接收以及其它中断情况的处理。当进入中断后要进行是否有数据的判断,以防干扰误中断。
3.3 温度传感器的程序设计
温度测量节点电路上电后也要进行初始化设置,初始化完成后,温度测量节点中的温度传感器对采集到的数据信息实时处理、现场数据实时显示,并判断采集的信息是否超过正常值,如出现异常,则报警提示并通过CAN通信电路进行通信。
4 结束语
本设计应用性很强,在实际应用中表明,其温度测量的精度和稳定性都得到很好的提高,准确地反应了工作状况和实际状况,达到了预期目标。
举报
回复
1 个评论
哎呀***
新手上路
发表于 2015-5-4 20:49:23
|
显示全部楼层
看看 ,支持楼主
举报
回复
支持
反对
返回列表
*
滑块验证:
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册会员
本版积分规则
发表回复
回帖后跳转到最后一页
回复
转播
评分
分享
打开支付宝扫一扫,最高立得1212元红包
搜索
本版
帖子
用户
热搜:
传感器
51串口程序
电子管放大器
夾式電表
夾式電流
Mentor论坛
打印机
版块推荐
百宝箱
My 布拉格
无边框Z9
Z9Max
Z9mini
nubia动态
问题 & 建议
资源分享
爱拍
同城会
牛仔生活
查看论坛所有版块>>
每日签到
论坛任务
摄影技巧
跳蚤市场
互助问答
论坛导读
申请内测
红包中心
每日摇一摇
活动中心
网站地图
官方旗舰店
图文热点
工控仪表液晶驱动VK0192 LQFP44/点阵LCD液
产品品牌:永嘉微电/VINKA 产品型号:VK0192 封装形式:LQFP44 概述 VK0192是一
不用电池收音机中锗三极管的替代
图中的检波二极管已找到贴片器件,图中的锗三极管能否使用贴片替换?
小封装液晶驱动VK1088B QFN32L点阵LCD液晶
产品品牌:永嘉微电/VINKA 产品型号:VK1088B 封装形式:QFN32L 概述 VK1088B是
LCD液晶驱动/点阵段码屏驱动芯片VK1072D SS
产品品牌:永嘉微电/VINKA 产品型号:VK1072D 封装形式:SSOP28 概述 VK1072D
VK1072C SOP28/3线串行接口LCD液晶显示驱动
产品品牌:永嘉微电/VINKA 产品型号:VK1072C 封装形式:SOP28 概述 VK1072C是
更多
精华推荐
51单片机的智能反汇编工具
工控仪表液晶驱动VK0192 LQFP44/点阵LCD液
不用电池收音机中锗三极管的替代
小封装液晶驱动VK1088B QFN32L点阵LCD液晶
LCD液晶驱动/点阵段码屏驱动芯片VK1072D SS
VK1072C SOP28/3线串行接口LCD液晶显示驱动
AP8100 外围简单的 BOOST 升压恒压控制驱动
AP510X 单路低压差线性恒流芯片 LED手电筒
更多
社区学堂
工控仪表液晶驱动VK0192 LQFP44/点阵LC
不用电池收音机中锗三极管的替代
工控仪表液晶驱动VK0192 LQFP44/点阵LCD液
产品品牌:永嘉微电/VINKA 产品型号:VK0192 封装形式:LQFP44 概述 VK0192是一
不用电池收音机中锗三极管的替代
图中的检波二极管已找到贴片器件,图中的锗三极管能否使用贴片替换?
小封装液晶驱动VK1088B QFN32L点阵LCD液晶
产品品牌:永嘉微电/VINKA 产品型号:VK1088B 封装形式:QFN32L 概述 VK1088B是
更多
客服中心
QQ:187196467
服务时间:周一至周日 8:30-20:30
在线客服
客服微博
产品咨询
售后中心
关注我们
关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
QQ:187196467
周一到周日 8:30-22:00 (全年无休)
7 x 24小时在线客服
手机版
Powered by
MCUZX!
X3.4 © 2008-2015
MCU资讯论坛
版权所有
京ICP备18035221号-2
客服QQ: 187196467
技术支持:
MCU资讯论坛
|
网站地图
快速回复
返回顶部
返回列表