APP下载

基于CAN 总线在压力传感器中的设计

2013-10-19

科技视界 2013年14期
关键词:收发器寄存器中断

王 洋

(营口世纪电子仪器有限公司 研究所,辽宁 营口 115003)

0 引言

压力传感器是工业现场最为常用的一种传感器,例如汽车中多路压力测量,目前,市场上大多数的压力传感器以模拟量输出为主,几乎全部采用数字化处理,用户需要先将模拟量转换成数字量。随着自动化程度越来越高,传感器往往与控制器越来越远,特别是模拟信号的传输过程中也会引入干扰和损失。

因此,本文将介绍一种基于CAN 总线压力传感器的设计,采用AduC812 为控制核心,进行CAN 接口设计。

1 硬件设计

基于CAN 总线的高精度数压力传感器的原理框图如图1 所示。该压力传感系统器主要包括压力信号A/D 转换部分、主控单元部分、CAN 总线传输部分。

主控芯片采用AduC812 单片机,引出的地址数据总线与CAN 控制器SJA1000 相连,经过光电隔离,将地址/数据发送到CAN 收发器PCA82C250,通过CAN 收发器PCA82C250 使数据在CAN 总线上传输。电源转换电路将电源和地隔离,起保护和抗干扰的作用。

AduC812 的P0 口作为地址数据总线,与SJA1000 相连。通过P0口访问SJA1000 内部寄存器,并进行寄存器的读写操,经过光电隔离,电源转换电路将电源和地隔离,起保护和抗干扰的作用将地址/数据发送到CAN 收发器PCA82C250,通过CAN 收发器PCA82C250 使数据在CAN 总线上传输,AduC812 和SJA1000 的复位信号是通过复位按钮S3 产生的。

AD 转换电路:

单片机自带有8 路模拟通道ADC 转换为12 位精度。选择AD0为模拟通道将A/D 转换数据通过CAN 总线上传到上位机。

2 程序设计

软件设计的指导思想是系统上电后首先对ADuc812 和SJA1000进行初始化,以确定工作主频、波特率、输出特性等,然后通过模数转换采样值,并把该值通过SJA1000 传送到CAN 总线上由上位PC 机进行显示控制,而对CAN 总线上来的信息则采用中断方式,系统每接收到一帧信息,便产生一次中断以触发微处理器进入中断,在中断服务程序中读取该帧信息并传送到现场。为防止出现死机和干扰,程序中还采用看门狗技术进行定时监控。以下CAN 总线的初始化设计,假设SJA1000 的首址是0x7f00。

初始化程序

对CAN 控制器进行初始化,实际上就是对ACR、AMR、BTR0、BTR1、OCR 这些寄存器进行访问。只有当控制寄存器CR 中的复位请求位为高时,访问才被允许,否则既写不进去,也读不出正确的内容。对CR 进行第一次写操作,要设定将要开放的中断类型,并置位复位请求,允许初始化开始。

3 实际的应用情况

本文设计的基于CAN 总线压力传感器系统具有精度高、可靠性高、智能化、成本低等特点并具有在线标定校准和CAN 通讯功能,可用于不同的工业场合。

[1]邬宽明.CAN 总线原理和应用系统设计[M].北京:北京航空航天大学出版社,2000 .

猜你喜欢

收发器寄存器中断
清管球收发器设计细节分析及应用
Lite寄存器模型的设计与实现
跟踪导练(二)(5)
千里移防,卫勤保障不中断
分簇结构向量寄存器分配策略研究*
Virtex5 FPGA GTP_DUAL硬核两个收发器独立使用的实现
AT89C51与中断有关的寄存器功能表解
FPGA内嵌PowerPC的中断响应分析
富士通半导体推出收发器家族全新LTE优化多频单芯片MB86L13A
高速数模转换器AD9779/AD9788的应用