|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Teeshop5 于 2020-3-12 08:51 编辑 m9 \" b* O- o- y2 d% s. E) q
0 S& Y* O7 J" G6 |3 [7 v摘要:介绍 了基于AT89C52型单片机CAN总线的节点设计方法,详述了其硬件结构、软件设计和工作原理。重点对设计中的多种: O- x& c' m6 p0 j% ]8 o
现场信号数据采集部分和节点实现过程中应注意的一些问题进行比较详细的介绍。本方案提出的节点,可供交流,参考。* m# W/ y. z" H8 g6 B4 ]$ a
: D% G2 R" H7 g/ s* K! ]% S+ T关键词:CAN总线:SJA1000; PCA82C250;AT89C52单片机) s" h$ S. H0 J0 C3 A
5 p( q% `5 o! }4 x) O
1引言2 Y$ c6 f0 E& }# V" c) h' F0 p" A
人们称之为“自动化仪表与控制系统的- -次革命”的现场总# ~% E' h; I% j. U4 V' m
线技术自20世纪90年代问世以来,引起国内外业界的广泛关注和. r/ o: O- `! [
重视,现场总线的工业工程智能自动化仪表和现代总线开放自动. d3 ^! h8 O7 V% P) {0 t
化系统构成了新- -代开放自动化控制系统的体系结构7.CAN是
) m- j- C. s' [) ]全数字式现场控制设备互连总线,它能有效的支持分布式控制和
& x( j# D. C) g X$ [实时控制的串行通信网络2。0 S7 Q. ~9 T: a5 N
2 CAN总线节 点总体结构设计
% X8 @0 M- F1 G( ^' [CAN总线节点主要包括以下几部分:CAN总线协议控制器、2 I/ \ R. P6 o% p% p7 M7 y
CAN总线驱动器、控制节点任务的单片机。为了与原有设备兼容,
% p' C2 X/ W; G0 p本节点设计了RS485的通信接口,为用于现有设备改造提供了方便," u: G6 W) I! ~0 b6 Y
在本节点设计中考虑到在实际应用中现场信号的多样性,前端信号: U, i0 B7 A! t+ j3 x
采集处理部分中的模拟信号采集部分可以适应多种信号如热电阻、5 a: @+ p3 P+ q7 e$ p9 E2 j
热电偶、标准信号的输人,对热电阻、热电偶具有自动检测断线功
, t' w5 p6 W0 O& J; M# i7 @( F能,对标准信号可以利用软件控制使其自动适应4-20mA或1-5V的
0 K q/ L$ w# E7 W现场信号,不需要硬件的任何改动。, m' H) M! G6 T& m" J
数据采集部分通过线性光电隔离器对模拟信号进行隔离,通过* L$ _$ D# `4 z1 }5 A" j
光电耦合器对开关量进行隔离后,将现场信号转换为数字量后输入* a) Y& r9 f4 c! V- Y/ q
单片机,单片机经CAN总线协议控制器SJA1000送到CAN总线上,5 I* _% _/ k- R& H$ q3 B
单片机同时接收CAN总线传来的数据。系统结构框图如图1所示。* o/ j C6 c7 j1 P, Q& c
主控制器是整个节点的控制中心,通过访问CAN协议控制* p# u* j) E( ?
器来实现对CAN,总线的访问;同时,控制具体功能单元实现测量
4 ~0 g8 Z* v5 Z0 ?0 d6 w; F功能。根据节点所需实现功能的复杂程度和技术需要选择了% w( e$ c7 k( T+ Z# `
AT89C52单片机。
# Q4 F# j R2 gCAN总线协议控制器实现CAN协议的数据链路层和物理层
& V* m8 V9 C8 y3 k. h3 o功能,主控制器通过程序控制它的工作状态,进行数据的接受和发
7 [5 }6 Q; c4 i4 m- n1 F0 p5 K送,把应用层建立在它的基础之上。CAN总线协议控制器' c" ^) k: m5 E, M& V4 W- m
SJA1000作为主控制器外围存储器映射的1/0器件。0 ^5 v2 C K7 _
CAN总线驱动器提供CAN协议控制器与物理总线之间的接
7 J. g" F; @- G4 [, a口,它的性能决定了总线长度和节点数,是影响整个总线通信网络
2 R; S8 f0 ~& l2 b5 T; m性能的关键因素。% t* R( l' O k
具体功能单元实现采集现场信号和RS485通信。! D) h1 I$ F5 e2 y! ?' P/ V& _
3节点硬件设计! Z2 L' Y) @: N2 \
3.1数据采集部分
2 a, U' V( ^9 d) q" E9 l/ w(1)模拟信号采集部分如图2所示。% ^$ U1 j! y0 K/ t" m
本节点设计了8路热电偶,8路热电阻,8路标准信号输人端! u4 D8 B1 D# y/ ]# K
口,其中,热电阻输人部分采用了现在工业现场广泛应用的3线制1 ]( M& c5 h# N% T1 s* X
输入方式,能够去除导线电阻的影响。以其中1路为例说明数据采
' w1 r6 K+ O9 _2 _+ h: X: Z集过程,当采样开关KR1,KR2分别切换到各个回路时,可采样到
& V$ [# q0 `1 Y- L4 C) hVal , Vbl两个电压值,分压电阻R51和Vref为已知4热电阻
: q; u4 h3 ~0 T值的计算公式为" F3 a# p: |0 o5 t
从而可知所测的温度值。热电偶信号为直接毫伏输人,当采9 h0 y6 s: S* I( y4 p _
样开关DG508切换到KOI后,测得第-路热电偶信号经过信号放3 i6 z& {) L' r+ C: T
大调理得到热电势值。( Q' Y& r+ @; ?: D
标准信号为直接电信号,对于420mA的电流信号,控制电流
+ l& @! t: ?# S1 I3 k开关IRF540导通,在电阻RI51上产生I~5V压降,对于1~5V的电
# \- V5 \) F5 Y+ Y8 W压信号,控制电流开关IRF540关闭,电压值被电阻分压后得到测
0 g# E6 T2 H: \7 x" `量值,电子开关由程序控制,使得电压和电流信号兼容。同样当采7 T' E2 V" u. i5 @
样开关DG508切换到KB1后得到第一路标准信号值。
2 g6 m/ ]4 d' M/ ~(2)开关量信号采集部分如图3所示。
9 ~4 ~: c8 T. p5 @一,8路开关量,输人信号为直流0~ 24V.通过光电隔离器
6 t$ h3 w' q' v/ p3 y' r3 `TLP521-4进行隔离,将输人通道的外部输人端与节点其他单元完
4 l: e: j T+ `( I6 R# P% e* c3 a6 j2 p. K
附件下载:
6 h1 x) j' l8 B
2 a. B! p3 W9 g' S' |' h, k
. Y* m N, V4 z$ l2 A* i5 J) K( F2 i; I7 y/ C% j+ M) E
& u/ I) ~% M; H0 a) ]' p4 C
|
|