CAN总线系统智能节点设计
基于STM32F107微处理器的CAN总线的智能节点的设计
STM3 2 F1 0 7 Mi c r op r o c e s s o r Ba s e d I n t e l l i g e n t No d e o f CAN Bu s De s i gn
功 能 。工业现场 的C A N总 线 系 统 可 由
如 图l 所示 。
参见 图1 ,主控 节点 由运行于 上位 机 的 由L a b Vi e w编 写的监控 软件 来 实 现 ,它主要 实现 现场节 点的监控 及数 据 的显示 、分析 和存储 。数据 转换器
采 用 RS - 2 3 2 转C AN, 它 主要 实 现 串 口
中北大 学
金 兆楠
J i n Zha on an
摘 要 :现场 总线 是 自动 化领域 的 热点之 一 。本 文提 出一种 基 于单 片机 S T M3 2 F1 0 7 ¥ E I CAN - 5  ̄ 1 动 器SN6 5 HVD2 3 0 组 成f l g CAN 总 线智能 节点 的设计 方案 。根据 系统功 能要求 ,给 出基于 C AN总线
Ab s t r a c t : An i n t e l l i g e n t n o d e f o r C AN b u s b a s e d o n S CM C8 0 5 1 F 0 6 0 a n d CAN b u s
dr i v e f or SN65HV D230 i s p r es en t e d. Th e h ar d w ar e an d s of t war e de si gn ar e gi v en I t i nd i c a t e s t h at t h e sy s t em i s c ha r ac t er i z e d b y l f ex i b l e c on i f gu r a t i on , si mp l e s t r uc t ur e, hi gh r el i ab i l i t y an d g oo d e xp an si bi l i t y
CAN总线节点软件的设计与实现的开题报告
CAN总线节点软件的设计与实现的开题报告一、选题背景CAN总线作为一种现代通信技术已经得到很广泛的应用,尤其在汽车电子、机械自动化等领域中。
CAN总线节点软件设计是CAN总线应用的基础,其主要任务是实现CAN网络中节点的数据收发以及处理,控制节点的状态机状态转换,实现数据信号的解析和封装等关键功能。
本次选题的背景是本人目前所在的公司正在开展CAN总线应用方面的业务拓展,并需开发针对不同应用场景的CAN总线节点软件。
因此,设计与实现一款通用可靠的CAN总线节点软件具有重要的现实意义和实践价值。
二、研究目的和意义CAN总线节点软件是CAN网络应用中的关键部分,研究其设计与实现具有下列目的和意义:1. 提升CAN总线应用的可靠性和稳定性CAN总线应用涉及到的设备种类繁多,节点布局分散,通常需要长时间持续运行,因此,CAN节点软件需具有高可靠性和稳定性,避免因软件问题导致系统中断或出错,从而造成严重的后果。
2. 提高CAN总线应用的通用性和灵活性CAN总线应用与行业领域相关度高,节点的属性和应用场景多种多样,因此开发一款具有通用适用性的CAN总线软件非常重要,可减少时间成本和开发难度,并提高软件的灵活性与可定制性。
3. 探究CAN总线节点软件的设计与实现方法CAN总线节点软件运行稳定可靠的关键在于其设计与实现,探究其中的技术路线和方法,能够充分挖掘CAN总线应用的潜力,为后来的CAN应用开发提供借鉴和优化,同时拓展和深化本人在CAN总线技术方面的理论和技术水平。
三、拟解决的问题CAN总线节点软件在实施过程中,通常会遇到以下问题:1. CAN数据的收发过程中容易发生数据丢失或者数据冲突的情况,造成数据传输失效或者底层硬件工作异常。
2. 状态机设计困难,难以实现各个节点之间状态的转换,而状态的转换对于整个系统的稳定性起着至关重要的作用。
3. CAN数据帧的解析封装过程比较复杂,因为CAN数据帧包含了多个不同的字段,而这些字段的解析需要考虑到底层硬件的特性和约束。
手把手教你设计CAN总线系列讲座(2)
手把手教你设计CAN总线系列讲座(2)—CAN总线智能节点的设计在远程测控系统中,都要通过传感器或其他测量装置获取环境或相关的输入参数,传送到处理器,经过一定的算法,做出相应的控制决策,启动执行机构对系统进行控制,基于CAN总线的测控系统将单个测控设备变成网络节点,将控制系统中所需的基本控制、运行参数修改、报警、显示和监控等功能分散到各个远程节点中。
因此总线上的节点应该具有总线通信功能和测控功能,这必然离不开微处理器。
我们把具有这类功能的节点叫智能节点。
1 CAN网络节点结构和SJA1000的应用结构图一般把每个CAN模块分成不同的功能块。
这里以分布式恒温控制节点构成的CAN图1 CAN总线控制网络结构图控制网络为例(如图1所示),分析一下基于CAN总线的分布式网络节点的结构。
CAN节点由微处理器、CAN控制器SJA1000、光耦6N137模块和CAN驱动器82C50构成。
CAN控制器SJA1000执行在CAN规范里规定的完整的CAN协议,用于报文的缓冲和验收过滤,负责与微控制器进行状态、控制和命令等信息交换;在SJA1000下层是CAN收发器PCA82C50,它为CAN控制器和总线接口,它控制从CAN控制器到总线物理层或相反的逻辑电平信号,提供对总线的差动发送和对CAN控制器的差动接收功能。
光耦6N137起隔离作用。
图2 SJA1000的结构图所有这些CAN模块都由微处理器控制,它负责执行应用的功能,负责控制执行器(比如加热设备)、读传感器(比如温度)和处理人机接口。
如图2是SJA1000的应用结构图。
在CAN规范里,CAN核心模块控制CAN帧的发送和接收。
接口管理逻辑负责连接外部微处理器,该控制器可以是单片机、DSP或其他器件。
经过SJA1000复用的地址/数据总线访问寄存器和控制读写选通信号。
SJA1000的发送缓冲器能够存储一个完整的报文(扩展的或标准的)。
当微处理器初始化发送接口管理逻辑,CAN核心模块就会从发送缓冲器读CAN报文。
基于SJA1000的CAN智能测控节点设计
机器人 控制器设计 ,经实验验 证 ,具有结构简单 ,扩展性强 , 实时性好 ,可靠性高等优点 。
【 参考文献 】
【 1 】 王 慧锋 , 何衍 庆 . 现 场总 线控 制 系统原 理及 应 用【 M】 . 北 京: 化 学工 业 出版社 , 2 0 0 6
[ 2 】 李正军. 现 场 总 线及 其 应 用 技 术 [ M】 . 北京: 机 械 工 业 出版
版 社. 2 0 1 1 : 5 9 4 -6 1 0
4应 用效 果 评价
( 上接 5 8 页 )收子 程序 流 程 图如 图4 所示 。
五 、结语
本文设计了以S J A 1 0 0 0 作为通信控制器的智能测控节点 ,讨
论了系统 的硬件 电路和软件程序设计 。该系统已应用于 多关节
L H 2 9 — 2 — 2 井由1 4 6 1 m 钻进 至2 3 8 7 m,裸 眼段长9 2 6 m,短 起下过程顺利。表现 出H E M钻井液体系具有良好 的低温流变性 及性能 比较稳定 ,隔水管等大井眼 中的携砂没有问题。 L H 2 9 — 2 — 2 井在整 口井钻进过程 中,整 口井井底钻井液循环 当量比重 ( E C D) 都相对稳定 ,和实际钻井液比重呈现0 . 0 2 g / c i i 1 a 至0 . 0 3 g / c m 增量 ,这个数据和D r l l b e n c h 软件算出来的值也相吻 合 ,表明钻进期间井眼相对比较清洁。
基于单片机的智能传感器CAN总线接口硬件设计
基于单片机的智能传感器CAN总线接口硬件设计随着智能化技术的不断发展,人们越来越关注智能系统的搭建,传感器技术的应用也越来越广泛,单片机技术更是在这个背景下广受关注。
在实现智能传感器的联网和信息处理方面,CAN总线作为一种主要网络协议,已经被广泛应用。
在这种情况下,智能传感器必须具有相应的CAN总线接口设计。
本文将介绍基于单片机的智能传感器CAN总线接口硬件设计。
1、 CAN总线介绍CAN(Controller Area Network)总线是一种串行通信协议,主要用于多个控制节点之间的实时数据传输。
CAN总线的通讯速度高,误码率低,具有自适应性等特点。
CAN总线的应用包括工业控制系统、汽车电子控制系统等。
2、硬件设计原理基于单片机的智能传感器CAN总线接口硬件设计需要根据自己的实际需求进行选择。
以STM32单片机为例,STM32单片机的CAN总线接口包括CAN1和CAN2,这两个接口在硬件电路上都有Rx和Tx引脚和节点电阻。
3、硬件设计流程(1)选择STM32单片机在选取单片机的时候,需要根据实际应用场景来选择。
STM32单片机有许多系列,每个系列又有不同的型号,不同型号的单片机内置了不同的外设,需要根据实际需求进行选择。
同时,要根据芯片性价比、性能、功耗等因素进行考虑。
(2)CAN总线选择在硬件设计中,需要选择CAN总线芯片,这个芯片需要支持CAN2.0A和CAN2.0B协议,并且需要支持高速通讯。
同时,要注意芯片的封装和额定工作温度等特性。
(3) CAN总线硬件连接在硬件连接中,需要将CAN总线芯片的Rx和Tx引脚和单片机的CAN1或CAN2接口相连,同时还需添加适当的电流限制电阻和终端电阻。
(4) CAN总线软件调试最后,需要对硬件电路进行软件调试,包括使用标准的CAN总线协议进行通信、CAN总线的数据传输、接收和发送数据、调试CAN中断等。
4、总结基于单片机的智能传感器CAN总线接口硬件设计需要根据实际需求进行选择,在硬件设计中需要选择合适的单片机、CAN总线芯片,并进行正确的硬件连接。
基于CAN总线的智能控制器的设计
*
收稿 日期 :0 1 3月 1 21 年 6日, 修回 日期 :0 1 4 2 2 1 年 月 1日 作者简介 : 吴鹏 , , 男 硕士研究生 , 研究方 向 : 控制网络研究 。汪秉文 , , 男 教授 , 博士生导师 , 研究方 向: 计算机技术 、 自 动控制 、 人工智能 。
制 器 的设计 , 采 用 S M3F O 单 片 机 为 核 心实 它 T 2 17
现C AN总线 网络与 以太 网 的异 构互 联 , 理论 上 以
可 靠性 很高 而 且性 价 比又 比较 高 等 诸 多优 点 。正
是 因为 上述 的诸 多优 点它被 广 泛应 用 到 汽车行 业 、
太网技术将多个 C N 总线子 网结合在一起 , A 有效
头, 被视 为未 来总 线发 展 的方 向 。但 由于工 业 以太 网在现 场控 制方 面 的不 完 善 与其 他 成熟 现 场 总线 标 准相 结合 成 为 了现 今 控 制 总 线领 域 发展 的一 大
热 点 , 因此必将 带动 整个社 会 的发展 。本 课 题就 也
线标 准 之一 。C ANቤተ መጻሕፍቲ ባይዱ总线是 一种 有 效支 持 分 布式 控 制 或实 时控制 的 串行通 信 网络 , 有 网络各 节点 数 具
据通 信 实时性 强 、 发 周期短 、 主方 式 工作 、 用 开 多 采 性 、 信 速 率 范 围 为 5 b s1k 通 k p / 0 m~ 1 p / 0 Mb s 4 m、
非破坏性仲裁技术 、 帧结构 、 短 强抗 干扰和低耦合 是 在这 种背 景 下 提 出 了一 种 基 于 AR 的智 能 控 M
控制 器 局 域 网 C AN ( o tolr Ara Ne— C n rl e t e wok 是 至今 被 批 准 为 国际 标 准 的少 数 的 现 场 总 r)
基于CAN总线分布式控制系统智能节点的设计
维普资讯
设 计 天 地 /" /
一
, ,
\
、
基 于 CAN 总 线 分 布 式 控 制 系 统
智 能 节 点 的 设 计
Th e i n f rI t li e tN o e o CS Ba e N eD sg o n e lg n d fD s d CA Bus
强 有 力的 技 术 支持 。C N C nrl r ra e ok属 于 能 是 高 电平 或 悬浮 状 态 ,C N A ( o t l e t r) oe A N w A L端 只能 是 低 电平 或 悬 浮 现 场 总线 的 范 畴 ,它是 种 有效 支 持 分布 式 控 制或 实 时 状 态 。这 就 保证 不 会 出现 象 在 R 一8 网络 中 ,当系统 有 S4 5
维普资讯
\
\
勉
信号 的 传输 , 而总 线 两端 接 有终 因 端 电 阻R1 R2以 消 除 反射 信号 , 、 , 其 阻 值约 等 于传 输 电缆 的 特性 阻 抗 。
■ ■ 玎r ● l r 册
/
软 件 设 计
C AN总 线节 点要 有效 , 实时 地 完 成 通 信 任 务 ,软 件 的 设 计 是 关 键 ,也是难 点 。它主 要 包括 节 点初
而 代 之 以对 通 信数 据 进 行 编码 ,这 可使 不 同 的节 点 同时 及 其接 口芯 片来 实 现 , 而 大大 降 低 系统 开 发难 度 , 短 从 缩
接 收 到相 同 的数 据 , 衅 特 点使 得 c N总 线 构 成 的 网络 了开发 周 期 , 些是 只 仅 仅有 电气协 议 的 R ・8 所 无法 这 A 这 s4 5 各 节点之 间的 数 据通 信 实 时性 强 ,并 且容 易构 成 冗余 结 比拟 的 。 另外 ,与其 它 现场 总 线 比较 而 言 , A 总 线是 C N 构 ,提 高 系 统 的可 靠性 和 系 统的 灵 活性 。而 利 用 R 一8 具 有 通 信速 率 高 , 易 实现 , S4 5 容 且性 价 比高等 诸 多特 点 的 一
CAN总线智能节点设计
出可靠 性 、 时性 和灵 活 性 的 串行数 据通 信 协议 , 的 出 实 它
Ab ta t n v e o h o sr c :I i w ft e c mmu ia i n r q e tf r p e e tu d r t r t r e e e to y tm , y e d sg fs r n c t e u s o r s n n e wa e a g td t c in s s e a t p e i n o ma t o n d a e n M CU p 3 n AN o to l r MCP2 5 S r vd d o eb s d o ms 4 0 a d C cnrl e 5 p o i e 。Th c mm u i t n e we n a n d n 1 i e o n c i b t e o e a d a o mir c mp tr t r u h t e i t l g n c o o u e h o g h n el e t CAN o n c i n c r n e h i c n e t a d u d r t e CAN2 0 t c n c l sa d r S r aie o . e h ia tn a d i e l d,t e z h h r wa e p a f r d sg n h o a d r lto m e in a d t e c mm u ia in o t r e l a i n a e c m p ee .Te tr s l n ia e t a AN n c t s s fwa e r ai t r o lt d o z o s e u t id c t h t C s n t r o ewo k c mmu ia i n i c u a e a d r l b e n a c iv d t e d sg i nc t a c r t n e i l ,a d h sa h e e h e i n am. o S a Ke wo d :CAN y rs BUS ma tn d ;u d r t r t r e e e t n s s e ;MS 3 ;s r o e n e wa e a g t t ci y t m d o P4 O;M CP 5 5 2 1
CAN智能节点设计
C N 点 主 要 有 三 部 分 组 成 ,微 控 制 器 、C 协 议 控 制 器 A节 N A
和C 总线 收发器 。硬件 电路 的设计主要是C N N A A 协议控制器 与 微 控制器 之 间的接 口电路 ,以及C 总线收 发器 与物理 总线 N A 之 问 的电路设计 。C 协议控 制器是 接 口电路 的核 心 ,它 主 N A 要完成C 总线的通信协议 ,而C N N A A 总线 收发器 的功 能是增大 通信 距离 ,保护 系统 不受干扰 。以下对 用到 的主要芯 片进 行
M P 5 5 是 一 款 具 有 标 准 串 行 外 设 接 口 ( e r a C2 1 Sa il P r p e a I tr a e P )的C N e i h r l n e f c ,S I A 协议控制 器 ,完全 支持
简单介绍。
1 0 。 ( )C 采用 的是 短帧 结构 ,每一 帧的有 效字节 1个 5 A N
数 为8 ,具有 C C 验 和其 它检 测 措施 ,数 据 出错 几 率 个 R校 小 。C N 点在错误 严重 的情况 下 ,具有 自动关 闭功能 , A节
2 1M P 5 5 . C 2 1 简介
po tb l ya d S n ra i t n O o . i Ke r sDitiu e n r l y t m ; ywo d : srb td Co to se CAN usI el e ;o tbl y S B ; ntlg ntP ra it i i
l 引言 CN (o t o l r A e ew r ) 线 ,又 称控 制 器 A C n r l e r a N t o k 总 局 域 网,是B sh 司在现代 汽车 技术 中领先推 出的一种 oc公 多主 机局部 网。由于其卓越 的性 能 ,极高 的可靠 性,独特 灵 活 的设计 和 低廉 的价 格 ,现 己广 泛应 用于 工业 现 场控 制 、智能大 厦、小区安防 、交通 工具、 医疗 仪器 、环境监 控 等众 多领域 。C 已被 公认为 几种最 有前途 的现场 总线 N A 之 一 。C N 线规 范 已被 I O A总 S 国际 标准 组 织制 订 为 国际标 准 ,C 协议 也是建 立在 国际标 准组织 的开放 系统互 连参 N A
基于ARM微控制器CAN智能节点的设计
安全等级的分布实时控制,从高速的网络到低价位 的多路接线都可 以使用它。 【 l 】
单片机与 CAN 总线连接的传 统方式 是将 CP 与总线控制 器 U 和 收发器 相连 后再接入总线 网络 ,这样使 C U外 围电路复杂 化, P
ARM7 DMI U, r r . CP 带有 2 6 S 5 k字节嵌入 的高速 Fah存储器。由 ls 于L PC29 2 2的 14脚封装 、极低的功耗 、多个 3 4 2位定时器 、8路 1 A C 2路 C N 、 P O位 D A WM 通道 以及多达 9 个外部 中断使它 特别适合于汽车 、工业控制应用以及医疗 系统和容错维护总线。 由 于 内置了宽范 围的串行通信接 口。也非常适用于通信网关 、协议转 换器及其它各种类型的应用。 1 2 1
s se y t m a d n r a e el b ly a t e a e i e i w i n ar a e n ic e s r i it, t h s m t a i m , t l c n t l i
i t l n a i . hs p p r it u e h n d ’ h d r sg nel i t qu ly T i a e n r ge t od c s t e o e s ar wa e de i n a d s fwa e d sg , e en o s f r e i n l d s t e mo t a a n ot r e i nt r it ot h wa e d sgn ic u e h s s l b
整 个系统受外 部影响较大且增加了成本。因而,很多单片机厂商纷 纷将 C N控制器集成在单片机芯片上。本文以 L C 2 2 A P 2 9 为例讨论 CAN 节点的设计。对于其它含有 CAN 控制器的芯片的应用也可借
基于ARM的CAN总线智能节点在织机中的设计与应用
[=
一 眦 E ∞ 州 队
IC C V
lE V
VC C V E V 0 GD N
灵 活性 。已形 成 国际标 准 ,是最 有 前途 的现 场 总线
一
其 中现 场智 能节 点主要 由 CA 驱 动器 和嵌 入式微 N 控 制器 构成 ,完成对 织机 的各 种运 行状 态 的控制和
参数调整等功能。网络结构如图 l 所示。
【1 l
O
智 能
_ 书
l 系统总体结构
Oc. 0 6 t20
基 于 A M 的 A R C N总线智 能节点
在织机 中的设计 与应用
刘 雪靖 ,冯 丽
( 宁工学 院 信 息科学 与工 程学 院 ,辽宁 锦 州 1 10 ) 辽 2 0 1
摘
要:介绍了一种基于 A M 的 C N 总线控制 网络技 术在织机 中的应用 ,提 出织机生J J的嵌入式微 R A 妊线 :
2 A C N总线智能节点设计
C N 节 点硬 件 电路 如 图 2所 示 ,由 A M 微 控 A R
制器 L C 2 4 A 总线驱动器 8C 5 、高速光 P 2 9 、C N 2 20 耦6 3 N17和电源隔离模块 B 55 0 0S等组成。
5 v
U 1
R1 匕= 3 ̄ 9 L源自 P d sr e . ed sg c e f ee e d dmir c n olr nlo p o u t iewa r p s d Th e ci d Th e ins h meo mb d e co o t l m r d c n spo o e . e b h t r ei o l ds u so n te i pe n fitlg n o eb sd o N u s srse s e il , n e ic sin i m lme to nel e tn d ae n CA b swa t s d e p cal a d t h i e y h
基于CAN总线的6自由度机械臂远程控制系统智能节点设计
基于CAN总线的6自由度机械臂远程控制系统智能节点设计陆军;陈戈军
【期刊名称】《应用科技》
【年(卷),期】2008(035)011
【摘要】采用了TI公司TMS320LF2407数字信号处理芯片和PHILIPS公司PCA82C250 CAN协议接口芯片设计基于CAN总线技术的6自由度机械臂远程控制系统智能节点,硬件上使用了CPLD技术,提高了系统的集成化程度、可靠性和扩展性,增强了DSP访问外设的能力.软件上采用模块化的程序设计方法,提高了系统的实时性和软件效率.该智能节点已经顺利通过调试并成功用于蒸汽发生器一次侧检修机械臂实时远程控制系统中.
【总页数】5页(P58-62)
【作者】陆军;陈戈军
【作者单位】哈尔滨工程大学,自动化学院,黑龙江,哈尔滨,150001;哈尔滨工程大学,自动化学院,黑龙江,哈尔滨,150001
【正文语种】中文
【中图分类】TP271.5
【相关文献】
1.基于CAN总线技术智能节点的设计探讨 [J], 彭承荣
2.基于CAN总线的集散控制系统智能节点设计 [J], 王学智;龚东军
3.基于CAN总线的7自由度机械臂通信网络研究 [J], 王彦璋
4.6自由度机械臂远程控制系统研究 [J], 刘明磊; 李捍东; 庞爱平; 刘晓燕; 陈进军
5.基于无线智能节点的远程控制系统设计与实现 [J], 李明;刘若愚;姜春兰;寇家勋因版权原因,仅展示原文概要,查看原文内容请购买。
基于CAN总线的煤矿排水系统智能节点设计
部件 的智能节点硬件设计, 简化 了电路 并提 高了系统运行的稳 定性和可靠性; 介绍 了在  ̄ / SI嵌入 CO— I 式操 作 系统下 的智 能节 点软件 设计 , 实现 了排 水 系统 的“ 峰 就谷 ” 无 人值 守。 实践证 明该 智 能节 点 避 和 实时性好 、 能降耗 , 着广 泛的应 用前 景 。 节 有 关 键 词 :P 2 9 C N总线 ; C O . ; 能节 点 L C 2 4; A t / SI 智 L I 中图 分类号 :P 7 文献标 识 码 : 文 章编 号 :00—82 (02 0 0 8 0 T 23 A 10 89 2 1 )8— 0 0— 3
・
8 0・
《 测控技 术)02年第 3 卷第 8 21 1 期
基于 C N总线的煤矿排水 系统智能节点设 计 A
姜艳华 ,张连 勇
( 辽宁工程技术大学 机械工程学院 , 宁 阜新 辽 130 ) 2 00
摘要 : 对 国 内煤矿排 水 系统 自动化 程度 低 、 针 工人 劳动 强度 大等 问题 , 出了一种基 于 C N 总线 的煤矿 提 A 排 水 系统智 能节 点的设 计方 案。给 出 了以 A M L C 24处理 器和 C M1 5 T 隔 离 C N收发 器 为核 心 R P 2 9 T 00 A
煤 矿井 下排 水 系统对 保证煤 矿 正常生产 起 着非 常
作具 有极 为重要 的现 实意 义 。
重要的作用, 其正常运行 与否直接关 系到整个煤矿的 安全。 目 , 前 国内煤矿的排水 系统多采用传统的继 电 器控制方式 , 水泵 的控制均 由人工完成 , 不仅控制线路 复杂 , 自动 化程度 低 , 且 工 人 劳动 强 度 大 , 在一 定 而 存 的安全 隐 患 , 不适 应数 字化 矿井 发展 的需要 。为此 , 设 计 了一 种 基 于 C N 总 线 的煤 矿 排 水 系 统 智 能 节 点 。 A 该 智能 节 点利用 基 于实 时操 作 系统  ̄ / SI的 A M CO— I R 微处理器 L C 24实时、 P29 准确 、 可靠地检测排水 系统 的各种现场数据信号 , 采取 “ 避峰就谷” 的原则确定开 启水泵的台数 , 同时通过 C N总线与监 控主站通信 , A 既达到了节省用 电的 目的, 又实现 了水泵房 的无人化 值守 , 对煤 矿 的安全 生产 、 节能增 效 和数字 化建设 等工
DSP与CAN总线通信系统设计
摘要本文给出了一种以DSP为微控制器的CAN 总线通信系统,以AT89C52作为智能节点,利用SJA1000 CAN总线控制器与82C250 CAN总线收发器,进行协议转换,使DSP与CAN总线通信,从而控制CAN总线上的智能节点AT89C52。
AT89C52负责温湿度检测与继电器输出等工作。
本次设计包含五个章节,第一章介绍了CAN总线的特点与发展;第二章为总体方案设计,通过对控制要求的分析进行方案设计;第三章为硬件设计,包括DSP 的选型,单片机最小系统设计,与元器件介绍;第四章为软件设计,包括软件设计流程图和程序;第五章是课程设计总结。
关键词:DSP;CAN总线;智能节点;SJA1000;I目录第1章绪论 (1)1.1 CAN总线概述 (1)1.2 CAN总线典型特征 (1)1.3 CAN总线的发展 (1)第2章系统的总体设计 (3)第3章系统硬件设计 (5)3.1 DSP选择 (5)3.2单片机最小系统的设计 (5)3.3 CAN总线控制器SJA1000 (6)3.4 收发器PCA82C250 (7)3.5 6N137介绍 (8)3.6 总体接线图 (9)第4章系统软件设计 (10)第5章课程设计总结 (13)参考文献 (13)附录 (13)第1章绪论1.1 CAN总线概述CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO118?8)。
是国际上应用最广泛的现场总线之一。
在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。
近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境1.2 CAN总线典型特征CAN总线有如下基本特点:◎废除传统的站地址编码,代之以对通信数据块进行编码,可以多主方式工作;◎采用非破坏性仲裁技术,当两个节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响继续传输数据,有效避免了总线冲突;◎采用短帧结构,每一帧的有效字节数为8个,数据传输时间短,受干扰的概率低,重新发送的时间短;◎每帧数据都有CRC 校验及其他检错措施,保证了数据传输的高可靠性,适于在高干扰环境下使用;◎节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其他操作不受影响;◎可以点对点,一对多及广播集中方式传送和接受数据。
C8051F040的车用CAN总线智能节点设计
C8051F040的车用CAN总线智能节点设计电气与电子系统是车辆的重要组成部分,其工作状态直接影响车辆的性能。
按照传统设计思想设计车辆电气系统时,往往采取堆积各种子系统的途径来提高系统的性能,因此车辆内部各子系统之间单纯面向任务而不考虑与全局的关系。
随着子系统及装置数量不断增加,传统设计方法遇到了一系列问题:线路增多、布线复杂、电磁干扰增加、系统可靠性下降、检查维修困难等。
为了解决上述问题,现代车辆采用了综合电子系统。
总线是综合电子系统的基础,通过总线节点,综合电子系统可采集、使用、分配和共享车内所有电子系统的各种信息,达到弱化矛盾、增强整体功能的目的。
CAN 总线由于具有性价比高、可靠性高、实时性好、灵活性强等特点,得到广泛应用。
本文针对CAN 总线,提出了一种基于C8051F040 的通用总线智能节点的设计方法。
1 总体设计本文采用C8051F040 单片机作为智能节点的主控芯片来设计CAN 总线通用智能节点。
智能节点通过现场信号调整、高速数据采集获取该节点下设备的参数,并通过总线收发器将数据发送到CAN 总线,同时根据参数及总线上的其他信息和命令对设备进行控制。
通过CAN 总线智能节点,可将车辆电气系统各子系统及设备紧密联系在一起,构成一个实时控制网络,如图1 所示。
考虑到智能节点的通用性,经过对车辆各子系统和设备参数进行分析,确定了智能节点主要指标。
①信号输入:8 路模拟信号输入,16 路数字信号输入,2 路脉冲量输入;②控制信号输出:2 路模拟控制信号输出,8 路数字信号输出;③CAN 总线接口:1 个CAN 总线接口(支持CAN2.0A 和CAN2.0B)。
2 硬件设计CAN 总线节点有两种设计方法,一种采用通用微控制器结合独立CAN 控制器加上收发器,另一种采用集成CAN 控制器的微控制。
应用于污水处理厂的CAN总线智能节点设计
本 文 提 出 了不 同 于 P C 控 制 方 式 的 污水 厂 自控 系 统体 系 。 L 本控 制 系 统 基 于 C AN现 场 总 线 , 以现 场 单 台设 备 为 中心 设 置 现 场 总 线 智 能节 点 , 智 能 节 点 通 过 现 场 总 线 与 工控 计 算 机 联 结 。 各
缆 沟 的工 程 量 也 大 量减 少 , 这将 节 省 材 料 及安 装 维 护 费 用 。 1 污水 处 理 工 艺
污 水 处 理 主要 通 过 生 物 处 理 来 完 成 。 以采 用 氧 化 沟 工 艺 的 流程 为 例 , 处 理 阶段 主要 功 能 及 构 筑物 为 : 各 () 1 预处 理 阶 段 ( 栅 间 、 水 泵 站 和沉 砂 池 ) 格 进
系统 中工 控 计 算 机 主要 负 责 系 统数 据 的接 收与 管 理 、控 制 算 法 的实 现 与 现 场设 备 的控 制 。 控 计 算 机 内通 过 C N 适 配 卡 工 A 与外 部 C AN总 线 联 结 。 智 能节 点 负 责 设 备 状 态 的监 测 , 采集 对
与 之相 适 应 。
本 系统 由监 控计 算 机 、工 控 计 算 机 、 A 总 线 适 配 卡 及 现 C N 场智能节点等构成 , 统结构如图 1 示。 系 所
设 备 的 所 有开 关 量 及模 拟量 的传 输 都 通 过 总 线 传 输 ,减 少 了 常
项目七 汽车CAN总线系统智能节点的设计【 汽车单片机应用技术】
(2)高速、实时、容错的网络控制技术 线控概念(x-by-wire)是一种新的汽车工程概念,目前己有使用线控 系统的概念车出现。2002年1月初在底特律举行的北美国际车展上, 展出的跑车Autonomy就首次在汽车中使用了x-by-wire技术。x-by-wire 技术在未来将是十分重要的技术,该技术极大改善了汽车的可操纵性
败。这种现象称为冲突。为了避免冲突,每次只能由一个站点发送信号
,因此,必须有一种仲裁机制来决定每次由哪个站点使用信道,这是属 于数据链路层的任务。总线网中通常采用分布式的控制策略,如CSMA/ CD协议就是常用的规范。
总线拓扑的优点是,所需电缆长度短,布线容易。总线仅仅是一个传
输信道,没有任何处理功能,从硬件的角度看,它属于无源器件,工作 的可靠性较高,增加和减少站点都很方便。缺点是系统范围受到限制(由 于数据速率和传输距离的相互制约关系)。一个站点的故障可能影响整个 网络,故障的检测需要在各站点上进行。
环型拓扑的优点是,所需介质长度较短;它的链路都是单方向性的,因而 可以用光纤作为传输介质。环型拓扑的缺点是,一个站点的故障会引起全网的 故障。
汽车网络大多采用总线型拓扑结构E的汽车网络分类
位传输速率
应用场合
A
低速,<l0Kbps
应用于只需传输少量数据的场合,如控制行李箱 开启和关闭
(3)多媒体、高带宽的网络
未来汽车网络同时将是一个多媒体、高带宽的网络。它能使车主生活更轻松, 并在某种程度上将办公室移入车内。若从长远来看,汽车甚至可以成为一个网站 ,人们可以下载软件以提高汽车的性能。目前,此类技术尚处研发阶段,与蜂窝 移动电话技术相结合,如全球定位系统(GPS)和导航系统等少数技术己在高档汽车 得到应用。作为最早的汽车电子产品的汽车收音机,现在不止是一种娱乐工具, 还可以适配导航系统等的接口。
基于can总线的智能家居控制系统的设计和研究
基于can总线的智能家居控制系统的设计和研究作者:李钊来源:《名城绘》2019年第06期摘要:本文设计了一种基于can總线的智能家居控制系统,文章对智能家居控制系统的功能需求进行了分析,以及对家居控制系统的典型硬件电路进行了设计,并简述了系统的软件设计.该系统可以实现家居系统的智能化控制,具有良好的应用前景。
关键词:智能家居;can;总线;智能控制随着行业的发展,智能控制的功能多元化,控制的对象不断扩展,控制的联动场景要求更高,为此带来各研发厂商针对不同目标群体,所生产的智能家居产品的配套操作系统、通信协议等技术标准参差不齐,给系统的集成带来了很大的困难。
1智能家居控制系统功能分析综合考虑用户的功能需求、家居系统使用时的成本因素等方面,本文所设计系统选取了几个具有典型的节点,对应本文所设计的智能家居控制系统的功能,具体内容如图1所示。
框图中,家庭安防功能主要包括对各类红外、烟雾等传感器等采集数据,就家居生活中的异常情况进行报警;数据采集主要采集家居环境中的温度、湿度、光照度等参数;灯光控制主要针对家居环境中的灯光进行调节;家电红外遥控学习功能是指通过红外遥控器对家电进行远程控制;短信报警及查询功能是指用户可以通过手机接收报警信息并查询到家庭内部状态信息。
2控制系统硬件设计2.1主控制器及外围电路设计本设计采用美国Microchip公司的dsPIC30F6014a数字信号处理器为主控制器,该处理器功能较强,同时具有CAN通信接口和RS232接口、USB接口等,对智能家居这种用户经常需要进行升级和功能改造的应用场景非常适用。
使用时,主控器器芯片EXTAL和XTAL7两端连接晶振(7.37MHZ),这个频率值经芯片内部锁相环处理后可提高为若干不同倍数值,提高后的频率值最高可达120MHZ,将提高后的频率值做为主控制数字信号处理器工作的内部总线时钟使用。
其中,电源电路中的电源模块选择LM317电压调整芯片,电路如图2所示,电路外接9V 电源接入到LM317芯片上,通过开关J21再经去耦电容输出稳定的5V或3.3V电压给整个电路的数字部分进行供电。
can总线节点设计[整理版]
一、摘要本实验介绍一种基于CAN总线控制器SJA1000的总线节点模块,包括SJA1000的部分重要寄存器的功能介绍,以及软件编程的实现。
,,,,,,,,,,,,,,,特点:1.可实现任意单片模块的互相通信,由于SJA1000兼容5V和3.3V的逻辑电平,且供电电压也为3.3V~5.6V,因而可以使基于逻辑供电5V和3.3V的系统能够很容易的挂在CAN总线网络上,解决模块之间的电平不兼容问题。
2.总线控制器宇驱动器之间利用6N137高速光耦隔离技术,使得网络上的各个模块与总线本身完全隔离,保证了总线的安全性,也保证了各模块之间的独立性。
当总线网络中含有大负载驱动时这点表现的尤为重要。
3.由于采用SJA1050作为总线驱动器,实现数据在总线网络里高速传输,最高速度可达到1Mbps。
二、CAN总线简介1,,,,,.CAN总线的特点,,,,,CAN(Controller,,,,,Area,,,,,Network局域控制网),,,,,总线由Bosch、Benz研究试验,于1986年2月正式提出,至1993年11月Bosch,,,,,CAN2.0成为国际标准(ISO11898)。
2000年CAN总线芯片年度销售超过1亿片,欧产轿车都至少装配一条CAN总线网络。
目前CAN总线的应用已从汽车、火车、轮船迅速扩展到机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械、家用电器及传感器等领域。
其被公认为是最有前途的现场总线之一。
由于采用了许多新技术及独特的设计,CAN总线与一般的通讯总线相比,它的数据通讯具有突出的可靠性、实时性和灵活性。
其特点可概括如下:●CAN是到目前为止唯一有国际标准的现场总线。
●CAN为多主方式工作,网络上任一节点均可在任一时刻主动地向网络上其他节点发送信息,而不分主从。
●在报文标识符上,CAN上的节点分成不同的优先级,可满足不同的实时需要,优先级高的数据最多可在134μs内得到传输。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CAN总线系统智能节点设计作者:邹继军饶运涛信息工程系华东地质学院摘要:CAN总线上的节点是网络上的信息接收和发送站;智能节点能通过编程设置工作方式、ID地址、波特率等参数。
它主要由单片机和可编程的CAN通信控制器组成。
本文介绍这类节点的硬件设计和软件设计;其中软件设计包括SJA1000的初始化、发送和接收等应用中的最基本的模块子程序。
关键词:总线节点CAN 控制器引言:CAN (Controller Area Network)总线,又称控制器局域网,是Bosch公司在现代汽车技术中领先推出的一种多主机局部网,由于其卓越的性能、极高的可靠性、独特灵活的设计和低廉的价格,现已广泛应用于工业现场控制、智能大厦、小区安防、交通工具、医疗仪器、环境监控等众多领域。
CAN已被公认为几种最有前途的现场总线之一。
CAN总线规范已被ISO国际标准组织制订为国际标准,CAN 协议也是建立在国际标准组织的开放系统互连参考模型基础上的,主要工作在数据链路层和物理层。
用户可在其基础上开发适合系统实际需要的应用层通信协议,但由于CAN总线极高的可靠性,从而使应用层通信协议得以大大简化。
CAN总线与其他几种现场总线比较而言,是最容易实现、价格最为低廉的一种,但其性能并不比其他现场总线差。
这也是目前CAN总线在众多领域被广泛采用的原因。
节点是网络上信息的接收和发送站,所谓智能节点是由微处理器和可编程的CAN控制芯片组成,它们有两者合二为一的,如芯片P8XC592,也有如本文介绍的,独立的通信控制芯片与单片机接口,后者的优点是比较灵活。
当然,也有不要微处理器的节点。
下面以CAN通信控制器SJA1000为例,对CAN总线系统智能节点硬件和软件设计作一个全面的介绍。
CAN 通信控制器SJA1000 功能简介CAN的通信协议主要由CAN控制器完成。
CAN控制器主要由实现CAN总线协议的部分和实现与微处理器接口部分的电路组成。
对于不同型号的CAN总线通信控制器,实现CAN协议部分电路的结构和功能大多相同,而与微处理器接口部分的结构和方式存在一些差异。
这里主要以SJA1000为代表对CAN控制器的功能作一个简单介绍。
SJA1000是一种独立CAN控制器,它是PHILIPS公司的PCA82C200 CAN控制器的替代产品。
SJA1000具有BasicCAN和PeliCAN两种工作方式,PeliCAN工作方式支持具有很多新特性的CAN 2.0B协议。
SJA1000在软件和引脚上都是与它的前一款PCA82C200独立CAN控制器兼容的(SJA1000引脚功能如表1所示),在此基础上增加了很多新的功能。
为了实现软件兼容,SJA1000采用了两种工作方式:BasicCAN方式(PCA82C200兼容方式)、PeliCAN方式(扩展特性方式)。
工作方式通过时钟分频寄存器中的CAN方式位来选择。
上电复位默认工作方式是BasicCAN方式。
BasicCAN和PeliCAN方式的区别如下:在PeliCAN方式下,SJA1000有一个重新设计的含很多新功能的寄存器组。
SJA1000包含PCA82C200中的所有位,同时增加了一些新的功能位。
PeliCAN方式支持CAN2.0B协议规定的所有功能(29位的标识符)。
SJA1000 的主要新功能如下:标准结构和扩展结构报文的接收和发送●64字节的接收FIFO●标准和扩展帧格式都具有单/双接收滤波器含接收屏蔽和接收码寄存器●可进行读/写访问的错误计数器●可编程的错误报警限制●最近一次的错误代码寄存器●每一个CAN总线错误都可以产生错误中断●具有丢失仲裁定位功能的丢失仲裁中断●单发方式当发生错误或丢失仲裁时不重发●只听方式监听CAN总线无应答无错误标志●支持热插拔无干扰软件驱动位速率检测●硬件禁止CLKOUT输出表1:SJA1000引脚功能。
CAN 总线系统智能节点硬件电路设计本文中所设计的CAN 总线系统智能节点,采用89C51作为节点的微处理器,在CAN总线通信接口中,采用PHILIPS公司的SJA1000和82C250芯片。
SJA1000是独立CAN通信控制器,82C250为高性能CAN总线收发器。
如图1 所示为CAN总线系统智能节点硬件电路原理图。
从图中1可以看出,电路主要由四部分所构成:微控制器89C51、独立CAN通信控制器SJA1000 、CAN 总线收发器82C250和高速光电耦合器6N137。
微处理器89C51负责SJA1000的初始化,通过控制SJA1000实现数据的接收和发送等通信任务。
SJA1000 的AD0~ AD7 连接到89C51的P0口连接到89C51的P2.0 ,P2.0为0的CPU片外存贮器地址可选中SJA1000 CPU通过这些地址可对SJA1000执行相应的读写操作SJA1000的、、ALE 分别与89C51的对应引脚相连,接89C51的,89C51也可通过中断方式访问SJA1000。
为了增强CAN总线节点的抗干扰能力SJA1000的TX0和RXO并不是直接与82C250的TXD和RXD 相连,而是通过高速光耦6N137后与82C250相连,这样就很好的实现了总线上各CAN节点间的电气隔离。
不过,应该特别说明的一点是光耦部分电路所采用的两个电源VCC和VDD必须完全隔离,否则采用光耦也就失去了意义。
电源的完全隔离可采用小功率电源隔离模块或带多5V隔离输出的开关电源模块实现。
这些部分虽然增加了节点的复杂,但是却提高了节点的稳定性和安全性。
82C250与CAN总线的接口部分也采用了一定的安全和抗干扰措施。
82C250的CANH和CANL引脚各自通过一个5Ω的电阻与CAN总线相连,电阻可起到一定的限流作用,保护82C250免受过流的冲击。
CANH和CANL与地之间并联了两个30P的小电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射的能力。
另外在两根CAN总线接入端与地之间分别反接了一个保护二极管,当CAN总线有较高的负电压时,通过二极管的短路可起到一定的过压保护作用82C250的Rs脚上接有一个斜率电阻,电阻大小可根据总线通讯速度适当调整,一般在16k ~140k 之间。
图1 :CAN 总线系统智能节点硬件电路原理图。
CAN 总线系统智能节点软件设计CAN总线节点的软件设计主要包括三大部分:CAN节点初始化、报文发送和报文接收。
熟悉这三部分程序的设计,就能编写出利用CAN总线进行通信的一般应用程序。
当然要将CAN总线应用于通信任务比较复杂的系统中,还需详细了解有关CAN总线错误处理、总线脱离处理、接收滤波处理、波特率参数设置和自动检测,以及CAN 总线通信距离和节点数的计算等方面的内容。
下面仅就前面提到的三部分程序的设计作一个描述,以供大家在实际应用中参考。
1 初始化子程序SJA1000的初始化只有在复位模式下才可以进行,初始化主要包括工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器(AMR)和接收代码寄存器(ACR)的设、波特率参数设置和中断允许寄存器IER的设置等。
在完成SJA1000 的初始化设置以后,SJA1000就可以回到工作状态进行正常的通信任务下面提供了SJA1000初始化的51汇编源程序,程序中寄存器符号表示的是SJA1000 相应寄存器占用的片外存贮器地址,这些符号可在程序的头部用伪指令EQU进行定义,后文对这一点不再作特别说明。
CANINI:MOV DPTR ,#MOD ;方式寄存器MOV A,#09H ;进入复位模式对SJA1000 进行初始化.MOVX @DPTR ,AMOV DPTR ,#CDR ;时钟分频寄存器MOV A ,#88H ;选择PeliCAN 模式关闭时钟输出CLKOUT MOVX @DPTR,AMOV DPTR ,#IER ;中断允许寄存器MOV A ,#0DH ;开放发送中断超载中断和错误警告中断MOVX @DPTR,AMOV DPTR ,#AMR ;接收屏蔽寄存器MOV R6 ,#4MOV R0,#DAMR ;接收屏蔽寄存器内容在片内RAM 中的首址AMR:MOV A,@R0MOVX @DPTR,A ;接收屏蔽寄存器赋初值INC DPTRDJNZ R6,AMRMOV DPTR ,#ACR ;接收代码寄存器MOV R6 ,#4MOV R0 ,#DACR ;接收代码寄存器内容在片内RAM 中的首址ACR :MOV A ,@R0MOVX @DPTR,A ;接收代码寄存器赋初值INC DPTRDJNZ R6,ACRMOV DPTR ,#BTR0 ;总线定时寄存器0MOV A,#03HMOVX @DPTR,AMOV DPTR #BTR1 ;总线定时寄存器1MOV A #0FFH ;16MHz晶振情况下设置波特率为80kbps.MOVX @DPTR AMOV DPTR #OCR ;输出控制寄存器MOV A #0AAHMOVX @DPTR AMOV DPTR #RBSA ;接收缓存器起始地址寄存器MOV A #0 ;设置接收缓存器FIFO 起始地址为0MOVX @DPTR AMOV DPTR #TXERR ;发送错误计数寄存器.MOV A #0 ;清除发送错误计数寄存器MOVX @DPTR AMOV DPTR #ECC ;错误代码捕捉寄存器MOVX A @DPTR ;清除错误代码捕捉寄存器MOV DPTR #MODE ;方式寄存器MOV A ,#08H ;;设置单滤波接收方式并返回工作状态MOVX @DPTR ,ARET2 发送子程序发送子程序负责节点报文的发送。
发送时用户只需将待发送的数据按特定格式组合成一帧报文,送入SJA1000发送缓存区中,然后启动SJA1000发送即可。
当然在往SJA1000发送缓存区送报文之前,必须先作一些判断(如下文程序所示)。
发送程序分发送远程帧和数据帧两种,远程帧无数据场。
下面以发送数据帧为例对发送子程序作一个说明。
TDATA:MOV DPTR #SR ;状态寄存器MOVX A @DPTR ;从SJA1000读入状态寄存器值JB ACC.4 TDATA ;判断是否正在接收正在接收则等待TS0 :MOVX A @DPTRJNB ACC.3 TS0 ;判断上次发送是否完成未完成则等待发送完成TS1 :MOVX A @DPTRJNB ACC.2 TS1 ;判断发送缓冲区是否锁定锁定则等待TS2 :MOV DPTR #CANTXB ;SJA1000发送缓存区首址MOV A #88H ;发送数据长度为8个字节的扩展帧格式报文MOVX @DPTR AINC DPTRMOV A #ID0 ;4个字节的标识符ID0-ID3 依据实际情况赋值MOVX @DPTR AINC DPTRMOV A #ID1MOVX @DPTR AINC DPTRMOV A #ID2MOVX @DPTR AINC DPTRMOV A,#ID3MOVX @DPTR AMOV R0 #TRDATA ;CPU发送数据区首址数据内容由用户定义MTBF :MOV A @R0INC DPTRMOVX @DPTR AINC R0CJNE R0 #TRDATA+8 MTBF ;向发送缓冲区写8个字节MOV DPTR #CMR ;命令寄存器地址MOV A #01HMOVX @DPTR A ;启动SJA1000发送RET3 查询方式接收子程序接收子程序负责节点报文的接收以及其他情况处理。