基于SJA1000的CAN总线通信模块设计
基于Atmega128和SJA1000的CAN总线通信应用设计

0 引 言
随着单片机在工业控制领域的应用越来越广 泛, 在很多场合都需要用单片机对现场的信息进行 采集与处理, 并与主机进行通信, 但往往会遇到长远 距离和大数据量传输不足的问题, 通过 C A N总线可 以解决此问题。本文用 A t m e g a 1 2 8实现主从节点相 互通信的简单电路, 但此单片机不能独立地满足要
第4 1卷第 1期 5 2 2 0 1 4年 2月 2 5日
数 字 通 信 D i g i t a l C o m m u n i c a t i o n
V o l 4 1 ,N o . 1 F e b . 2 5 2 0 1 4
D O I : 1 0 . 3 9 6 9 / j . i s s n . 1 0 0 1 3 8 2 4 . 2 0 1 4 . 0 1 . 0 1 4
本文 芯 片 工 作 在 P e l i C A N 模 式 下, 将芯片的 M O D E引脚置 1 , 即让 S J A 1 0 0 0的外部控制总线采3 Βιβλιοθήκη n t e l 模式 [ 。 用I
1 . 2 S J A 1 0 0 0芯片初始化 设置芯片工作在 P e l i C A N模式下, 初始化流程 图如图 1所示。
2 ] 能力和检错、 纠错能力 [ 。
图1 S J A 1 0 0 0初始化流程图
2 设计思路
2 . 1 硬件设计思路 在现实生活中, 例如医疗行业等, 涉及到多个控 制系统与服务器进行信息交换, 有时候需要大量远 距离的数据通信。传统的通信方式比如串口通信 I I C满足不了应用需求, 而主流的单片机芯片自身没 有集成 C A N总线的控制器和对应的收发器。针对以 上情况, 我们采用 S J A 1 0 0 0的控制器和 M C P 2 5 5 1收 发器来扩展 A t m e g a 1 2 8的 C A N总线接口, 实现节点 之间的通信。 A t m e g a 1 2 8的 P A口连接 S J A 1 0 0 0的 连接思路: A D口( 地址 / 数据总线) , P G 2口接 S J A 1 0 0 0的 A L E / A S 口( 输入信号模式) , P G 1口接 S J A 1 0 0 0的 / R D / E 口, P G 0口接 S J A 1 0 0 0的 / WR口, P D 0口接 S J A 1 0 0 0 [ 2 ] 的/ I N T口 。
基于SJA1000的CAN总线智能控制系统设计

基于SJA1000的CAN总线智能控制系统设计SJA1000-Based CAN-Bus Intelligent Control System Design武汉理工大学系统仿真与控制中心 陆前锋 刘 波 陈明昭Lu Q ianfeng,Liu Bo,Chen Mingzhao 摘要:本文介绍了一种新型的现场总线控制器SJ A1000的基本原理结构及功能特点,重点叙述了基于CAN控制器SJA1000的智能控制系统硬件电路及软件设计,给出了初始化程序和部分通信程序。
关键词:CAN总线 SJ A1000 智能控制 系统设计Abstract:This pap er intro duces the element elementary configuratio n and functional character is tics of SJA1000,a hard circu it and soft co nfiguration of the intelligent controller system based on CAN co ntroller SJA1000is presented in the paper.A t last,the initialization an d co mmu nication pro-gram are given.Kewords:CAN bus SJA1000 Intelligent co ntr oll er System design中图分类号:TP571 文献标识码:A 文章编号:1003-7241(2003)01-0061-041 引言CAN总线是德国Bosch公司从80年代初为解放汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。
通信速率可以1Mbps,通信距离可达10KM。
CAN 总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
sja1000_can控制器basiccan模块概要

AT
中止发送
无动作
1当前信息被发送
CMR.0 TR
发送请求
--
注并要求SJA1000向CAN总线发送该
帧时
将产生一个发送中断
中止传送位是在CPU要求当前传送暂停时使用的
传送一条紧急信息
要查看原始信息是否被成功发送不过
释放
可以通过设置释放接收缓冲器位为1来释放RXFIFO中当前信息的内存空间
BTR0.4 BRP.4波特率预设值4 × ×
总线定时0
BTR0.3 BRP.3波特率预设值3 × ×
BTR0.2 BRP.2波特率预设值2 × ×
BTR0.1 BRP.1波特率预设值1 × ×
BTR0.0 BRP.0波特率预设值0 × ×
BTR1.7 SAM采样× ×
BTR1.6 TSEG2.2时间段2.2 × ×
将清除状态寄存器中的接收缓冲器状态位
如果数据溢出位被置位
在释放接收缓冲器命令的
同时是可以发出清除数据溢出命令的
SJA1000进入睡眠模式
只要破坏这三种条件的其中一种
在复位模式中
2.3.3.3状态寄存器
状态寄存器对微控制器来说是只读存储器
CAN地址2
位
符号
名称
值功能
1
总线关闭
SJA1000加入总线活动
至少出现一个错误计数器满或超过
CPU报警限制
两个错误计数器都在报警限制以下SJA1000在传送信息
SJA1000正在接收信息
最近一次发送请求被成功处理
文档编号
CPU可以向发送缓冲器写信息
CPU不能访问发送缓冲器
1
溢出
SR.1
DOS
SJA1000 独立的CAN控制器应用指南-外文资料翻译

外文资料翻译译文SJA1000 独立的CAN控制器应用指南1 介绍SJA1000是一个独立的CAN控制器,它在汽车和普通的工业应用上有先进的特征。
由于它和PCA82C200 在硬件和软件都兼容,因此它将会替代PCA82C200。
SJA1000有一系列先进的功能适合于多种应用,特别在系统优化、诊断和维护方面非常重要。
本文是要指导用户设计基于SJA1000 的完整的CAN节点。
同时本文还提供典型的应用电路图和编程的流程图。
2 概述SJA1000 独立的CAN控制器有2个不同的操作模式:BasicCAN模式(和PCA82C200)兼容PeliCAN模式BasicCAN模式是上电后默认的操作模式。
因此,用PCA82C200开发的已有硬件和软件可以直接在SJA1000上使用,而不用作任何修改。
PeliCAN模式是新的操作模式,它能够处理所有CAN2.0B 规范的帧类型。
而且它还提供一些增强功能使SJA1000能应用于更宽的领域。
2.1 CAN 节点结构通常,每个CAN 模块能够被分成不同的功能块。
SJA1000使用[3] [4] [5]最优化的CAN收发器连接到CAN 。
收发器控制从CAN控制器到总线物理层或相反的逻辑电平信号。
上面一层是一个CAN 控制器,它执行在CAN规范[8]里规定的完整的CAN协议。
它通常用于报文缓冲和验收滤波,而所有这些CAN功能,都由一个模块控制器控制它负责执行应用的功能。
例如,控制执行器、读传感器和处理人机接口(MMI)。
如图1所示,SJA1000独立的CAN控制器通常位于微型控制器和收发器之间,大多数情况下这个控制器是一个集成电路。
图1 CAN模块装置2.2 结构图下图是SJA1000 的结构图图2 SJA1000的结构图根据CAN规范,CAN核心模块控制CAN帧的发送和接收。
接口管理逻辑负责连接外部主控制器,该控制器可以是微型控制器或任何其他器件。
经过SJA1000复用的地址/数据总线访问寄存器和控制读/写选通信号都在这里处理。
基于SJA1000的CAN总线接口设计

基于SJA1000的CAN总线接口设计一、SJA1000简介SJA1000是一种独立的CAN控制器,用于移动目标和一般工业环境中的控制器局域网络(CAN)。
它是Philips公司早期CAN控制器PCA82C200(BasICCAN)的替代品,而且增加了一种新的工作模式(PeliCAN),这种模式支持具有很多新功能的CAN2.0B协议。
SJA1000与微处理器的接口主要由8根数据和地址分时复用线完成:AD0~AD7、ALE/AS、、/E、、、MODE和,其中MODE为接口方式选择信号,可设置成Intel方式或Motorola方式。
区别在于:Intel模式下,处理器对SJA1000写时,用、作为读、写数据信号,ALE下降沿锁存地址(此时地址信号要保证基本的建立保持时间),仅在读、写数据时为低;Motorola模式下,读、写信号用区分,用/E选通数据(下降沿锁存),AS和CS类似于Intel的ALE和。
二、CAN控制器与DSP的接口设计方法SJA1000的数据和地址信号为分时复用,而DSP为数据、地址信号分离的结构,而且DSP不提供ALE信号,设计的关键就是DSP要把SJA1000的地址当成数据写入并同时产生ALE信号。
分析读写信号所要求的最短有效时间,由于读低电平到数据有效的时间最长为50ns,所以要保证读信号有效时间至少50ns,ADSP21062在用2个软等待时,其低电平时间为62.5ns(25ns/2+2乘以25ns),可以满足要求。
三、DSP的接口信号和时序与早期的处理器不同,DSP芯片的片外引脚都采用地址线和数据线分离的设计方法,不再使用地址数据分时复用线,也没有ALE信号,这样就给CAN控制器与DSP的接口带来一定困难,且不同的DSP外部引脚和时序也略。
基于SJA1000的CAN节点设计v1.0

基于SJA1000的CAN节点设计文件信息类别内容关键词SJA1000,CTM系列隔离CAN收发器基于SJA1000的CAN节点设计摘要修订历史版本日期原因Rev X1 2006-12-13 内部制定初稿Rev 1.0 2006-12-15 第一次发布目录1. 基于SJA1000的CAN节点设计 (3)1.1 硬件设计电路 (3)1.1.1收发器隔离电路设计 (3)1.1.2 CAN总线接口设计 (4)1.2 软件设计 (5)程序清单1.1 定义片选地址 (5)程序清单1.2 初始化SJA1000 (5)程序清单1.3 发送报文 (6)2. 应用实例 (7)3. 声明 (1)1.基于SJA1000的CAN节点设计1.1 硬件设计电路CAN总线是一种最有前途的现场总线,因其优异性能而在工业控制、汽车电子、安防等方面得到广泛应用。
设计CAN-bus通讯接口是很重要的一个环节,设备的正确运行与其密切相关。
如图 1.1给出了一个实际的CAN-bus通讯单元电路图,电路结构为:MCU(P89C52)+CAN控制器(SJA1000)+隔离CAN收发器(CTM Module)。
图 1.1 CAN-bus通讯单元原理图如图 1.1所示,整个系统电源采用+5V电源输入,上电复位芯片(CAT810L)可保证上电时正确的启动系统。
微处理器采用PHILIPS的P89C52单片机,该系列单片机是80C51微控制器的派生器件,采用先进的CMOS工艺制造,指令系统与80C51完全相同。
CAN控制器采用PHILIPS的SJA1000,SJA1000是一款独立的控制器,用于汽车和一般工业环境中的控制器局域网络。
它是PHILIPS半导体PCA82C200 CAN控制器(BasicCAN)的替代产品。
而且,它增加了一种新的工作模式(PeliCAN),这种模式支持具有很多新特性的CAN 2.0B 协议,是目前市面上用的最广的一款CAN控制器。
基于SJA1000的高可靠CAN总线通讯智能单元设计

基于SJA1000的高可靠CAN总线通讯智能单元设计【摘要】CAN(Controller Area Network)总线是一种现场总线,由于其具有可靠性高、抗干扰能力强和实时性强的特点,而被广泛应用于工业控制领域。
本文介绍了一种基于SJA1000的高可靠CAN总线智能单元的设计方案。
该总线智能单元可以独立或者配合AT96总线和主控制器协同工作,易于系统扩展、优化和改进,利用微处理器完成数据发送/接受和错误诊断处理,降低主控制器的信息处理负担。
测试表明,该高可靠CAN总线智能单元的设计是可行的。
【关键词】高可靠;CAN总线;智能单元ABSTRACT:CAN bus is a field bus which is widely used in industrial control field because of its advantages in high reliability,strong anti-jamming and high real-time characteristic. This paper introduces a design of high-reliability intelligent CAN communication unit base on SJA1000. The intelligent CAN unit may work independently or with the supervisor computer by AT96 bus. It is easy for system’s expansion,optimization and amelioration. The unit completes the data transferring/receiving and the error diagnosing by the microprocessor,thus decreases the load factor of the supervisor computer. Experimental results show that the design of intelligent and high-reliability CAN communication unit is effective.KEY WORDS:high-reliability;CAN bus;intelligent unit0.引言随着核动力装置仪控系统数字化水平的不断提高,仪控系统设备内部、设备之间以及设备与现场仪表之间信息交换都将采用网络通讯技术,因此网络的安全性、可靠性都对核动力仪控系统正常完成其设计功能具有非常重要的意义。
CAN总线数据通信系统的设计

封面作者:PanHongliang仅供个人学习CAN总线数据通信系统的设计摘要现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。
它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。
CAN(ControllerArea Network)属于现场总线的范畴,是一种多主方式的串行通讯总线,数据通信实时性强。
与其它现场总线比较而言,CAN总线具有通信速率高、容易实现、可靠性高、性价比高等诸多特点。
本系统要在单片机中实现CAN总线的接口,通过CAN总线,实现两个模块之间的数据通讯。
系统主要由四部分所构成:PC机、微控制器80C51、独立CAN通信控制器SJA1000和CAN总线收发器PCA82C250。
微处理器80C51负责SJA1000的初始化,通过控制SJA1000实现数据的发送和接收等通信任务。
CAN总线节点的软件设计主要包括三大部分:CAN节点初始化、报文发送和报文接收。
本系统通过扩展CAN总线控制器SJA1000,在单片机系统中实现了CAN总线的接口,并且编写了SJA1000的驱动程序,通过读写其的内部寄存器,完成工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器(AMR)和接收代码寄存器(ACR)的设置、波特率参数设置和中断允许寄存器(IER)的设置等基本操作;利用各基本操作,完成了对SJA1000的初始化,并且实现了数据发送和接收。
目录第1章原理与方案31.1设计目的与要求31.2CAN总线介绍31.3设计方案31.3.1 硬件设计方案41.3.2 软件设计方案5第2章硬件连接与说明52.1硬件连接52.1.1 模块使用说明52.1.2 实验箱连线62.2CAN总线控制器SJA100062.3CAN控制器接口PCA82C2506第3章软件流程图及说明错误!未定义书签。
3.1软件流程图73.1.1 主程序流程图73.1.2 初始化子程序流程图73.1.3 发送数据子程序流程图错误!未定义书签。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 A 总线控制器S A 0 0 n C N J 1 0  ̄ 总线收发
器 8 c 5 m 22 0
C N总线的两层协议固化在 它的相关芯片中, A 主要是总线控
收稿 日期 :2 7 4 0 —0 —3 0 0
BsC ai AN 模式是上 电后默认的操作模式 , c 在本设计 中我们
完成在C AN总线上 的信 息通信 , 总线传输来的信息通信模块负责 接收然后传输给单片机系统 , 单片机系统 的指令则要通过此信息 模块检验封装传送 到 C AN总线上 。
制器 , J 00独立的 C sAl0 AN 控制器有 2个不同的操作模 式。
, aiC B s AN 模式 c }eC P U AN 模式
使用此模式。
2 2 S A1 0 工 作 原理 . J 0 O
C AN总线控制器主要包含 : 口管理逻辑I 、 接 ML 发送缓冲器 T 、接收缓冲器 T B R I O、验收滤波器 AC XB X XFF F、错误管理
维普资讯
com put r a e a s e en ed. e r l o pr s t
Ke o d :CAN u ; J 1 0 C ll n c t n yW r s b s S A 0 0; Ormu i a i o
1 引言
C AN ( o t lr C nr l Ara N t r )p oe e e wok  ̄控制器局域 网络 , 最初 是由德国B sh oc 公司为汽车的检测、 控制系统而设计的, 与—般的 通信总线相比, AN C 总线的数据通信具有突出的可靠胜、 实时 胜和 灵活 胜。 由于其 良好的 胜能及独特的设计, A C N总线越来越受到人
们的重视 。由于 C N总线本身的特点 , A 其应用范围 目前 已不再局
制器和总线收发器 。
2 1 S AI 0 的硬 件结 构 图 [ . J O 0 4 J
限于汽车行业, 而向自动控制、航空航天、航海、过程工业 、 机械 工业、纺织机械 、农用机械 、机器人、数控机床 、医疗器械及传 图 1 J O0 8 AI0 的结构 C 总线控制器具有完成 C AN AN通信协议所要求的物理层和
维普资讯
自 化 术与 20 年 6 第l 期 动 技 应用 07 第2 卷 2
现场 总 线 与 网络
Fi d Bu n el s a d Net wor s k
基 于 S 0 CAN总 线通 信模 块 设计 A1 0的 J 0
张 伟 , 建振 霍
( 临沂师范学 院信息学院信 息 工程系 山东 临沂 260 ) 705
摘
要: 本文初步阐述 了基于 S A10 J 0 0的 C AN总线通信模块的实现 , 采用 I IIP ) II s的 P 8 C 5 作为通信模块的总线收发器 , I CA 2 2 0 网络
控 制器 则 采 刚 P tIP Il] S的 S A10 . 采用 TAME A 9 5 单 片机 , J 00 I的 T8 C 2 祭丁 这 些 片实 现 C AN通 信 的基 本 功 HJ 主 要 包括 … uN _ 、 E P AN 接 F板 的 实现 和 下 位机 即单 片机 C P C 1 AN通 信 模 块 的 连按 及 实 现 。 系统 达 到 成 CA 通 信 所需 要 的 指标 , N 可基 本 满足 CAN 通 信 的 各项 要求 。
Ab t a t s r c :Th sp p rp e e t o i a e r s n sa c mmu i a i n mo u e f rCAN— u e e PHI PS S A 1 0 su e ; h e wo k c n r l r n c t d l o o b s wh r LI J 0 0 i s d - t e n t r o to l I S e wi n e f c t i t r a e PCA8 C2 0 Th e i n a d i l m e t t ft e EPP CAN i t ra e a d t e l k wih t e sn l — h p h 2 5 . e d sg n mp e n a i o h on — n e f c n h i t h i g e c i n
关 键词 : AN 总 线 ; J 0 0 通 信 C S A10 ; 中 图分类 : P 3 . T 3 12 文 献 标识 百 B 马: 文 学编 号:0 3 2 1 (0 7 1 0 2 0 10 7 4 2 0 ) 2 0 6 4
S A1 0 . a e J 0 B s d CAN. sCo 0 Bu mmu ia in Mo ue nc t d l o
数据链路层的几乎所有功能。本设计采用 P i p 的 S A1 0 , hl s i J 0 0 S A10 的结构如图2 所示。 J 0 0是一个独立的C J 00 -1 S A10 AN 控
感器等领域发展。A C N已经形成 国际标准 , 并已被公认为几种最有
前途的现场总线之一。
本设计是基于 S A10 的 C J 00 AN总线通信模块的设计 , 以 可