基于SJA1000的CAN通信
基于SJA1000的CAN总线智能节点设计

1 引言 现 总 i e d 恤 连 能 场 备和自 化系 场 线(Fl 5)是 接智 化现 设 动 统的 化, 传 多 点 通信 线 与 往 常用 数字 双向 输, 节 的 总 以 较 的 Rs一 2,一5 等串 总 标 相比 现 总线 有 扰 23 RS 48 行 线 准 , 场 具 抗干 能 力 、 高、信 率高 及 支 强精度 通 速 以 能 持双向 点 优 C 多节 等 点。 AN (c n。 Ae。 N ot ! J et、浅 线 场 线 的 种,称为 )总 是现 总 技术 一 又 控 局 总 , 是德 O 、 制器 域网 线 它 国B h公司 解 现代 车中 为 决 汽 众 多的 制 钡 器 间的 据 换而 发 一 行 据通 控 与1 试仪 之 数 交 开 的 种串 数
摘 要: 太文 介绍了 利用89c52 、川。。CTM 刃 实 c人 总线智能节点的设计, 括电路设计和软件设计_ 在电 1 5 。、 I。 现 N 包 路 设计中 使用C M 巧 l 1 。买现带隔离的CA ( 人收发电 简 了 路 化 电路设计, 降低了 硬件电路成本关 键 词 :CAN 总线 ;S AI朋0 CMT O50 J ; I 文献标识 码 A 中图分 类号 :T 39 P 1
12 Q 的匹配电阻 0
cA 线 有以 特 (1少 输介 可 是 线、轴 N总 具 下 点: 传 质 以 双绞 同 电 或 缆 成 低 连接 便 (2)信 传 离 大可 缆 光 本 廉、 方 号 输距 最 达 0 1 km(速 为SK ),输 最 达IM 。 距 率 h/, 传 速率 大可 dp (传输 离为 4O 。(3)采用 主 式T 作,线 意 点可 任 刻 m、 多 方 总 上任 节 在 意时 主动 向 络 其他声 送 息 分 次, 点之 可 地 网 上 点发 信 而不 主 各 间 以自 通 (4)节 过 文 实 点 点、点 点 山 信。 点通 报 滤波 现 对 一 对多 及 李 播 韶方 (5)采 非 坏除急 仲 技术,多 节 局广 代 式。 用 破 线 裁 当 个 点同 向 线 送报 发 突 优 级 节 主 退出 时 总 发 文 生冲 时, 先 低的 点 动 发 送.优 级高 节 继 输 文。 先 的 点 续传 报 (6)具有 靠 错 理 可 的 误处
基于SJA1000的CAN总线双机通讯技术的研究

信息遭到破 坏后 可 自 动重发 、 节点在错误严重 的情况下 0自动
S A1 0 . miga ec aatrsiso o MC o J 0 0 Ai n tt h rceit ft U cmmu iain.t ein d i o h c w nc t i d s e t c mmu iain h d recrutb sd o o o g s nc t a wa i i ae nc n— o r c
0 弓 言 l
动配置 ; 支持热插拔 ; 工作温度范 围为 一 O~+15C。 4 2 ̄
2 C N 总线 通 讯 软 硬 件 设 计 A 2 1 C N 总 线 通 讯 电 路 设 计 . A
C N是一种多主方式的串行通 讯总线 , A 基本设计规 范要求 有高的位速 率 , 的抗 电磁 干扰性 , 高 而且 能够检 测出产 生 的任 何错误 。C N总线最高数据传输速率可达 1Mbts 通信距 A i ( /
lichuanyichenshunerhuanghongbinliuminliuweiping基于sja1000的can总线系统节点仿真平台的实现广东自动化与信息工程2005264文章设计了一个控制器局域网can总线系统节点的仿真平台通过选用兼容扩展性及检错纠错能力强的sja1000芯片作为can控制器核心利用普通pc机仿真传感器执行器和人机接口实现的仿真平台具有灵活通用简单可靠性价比高及良好的开放性和扩展性等特点为can总线系统在汽车及其它多种不同领域的自动控制系统中推广应用提供了方便的研究开发条件
t U c mmu iain s se a q ie e trr l b l y a d sa i t . wo MC o n c t y t m c u r sb t ei i t n tb l y o e a i i
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控制器。
基于SJA1000IP核的CAN总线通信系统

Ke r y wo ds:CA N bus;SOPC ;I c r P o e;FPGA
引 言
CAN( o tol e t r ) 控 制 器 局 域 网 的 C n r l rAra Newo k 是 e
1 C N总 线控 制器 的 工作 原 理 A
S A1 0 J 0 0芯 片 是 P ip hl s公 司 的 一 款 独 立 C i AN 总 线
新特性 的 C AN . B协 议 。 出于 兼 容 性 的考 虑 , 两 种 工 20 这
种 串行 数 据 通 信 协 议 , 要 用 于 解 决 当 时 由 于 汽 车 功 能 主
越 来 越 多 而 导 致 汽 车 内 部 信 号 连 接 线 增 多 的 问题 。 随 后
C AN 总 线 迅 速 发 展 , 于 1 9 并 9 3年 被 列 入 I O 国 际 标 准 , S 形 成 了 1 1 8 8标 准 。 至今 , AN 总线 已 经 被 公 认 为 几 r igp icpeo ewo kn rn il f CAN u o tolri a ay e . kn J 0 0 a d l ein o AN u o tolri p o b sc nr l s n lzd Ta ig S A1 0 smo e ,ad sg fC e b sc n r l s r — e
基于SJA1000的CAN总线通信模块设计

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总线越来越受到人
基于SJA1000实现温度检测信息的CAN总线传输

t e mo e e . h r m t r
冲 区 ,调 用发 送子 程序 ,等待 接收 中断 并读 取 接收缓 冲 区数据 ,如 果是 主节 点回复 的确 认 帧 则 该 节 点 , 单 片 机 进 入 低 功 耗 模 式 , 直
线 和物理总线之 间的 接 口,该 器件 对C N A 物 理 总 线 提 供 差 动 发送 能力 并对 C N A 控 调度室 车库 1 车库 2 车库 n 图2 整 体 工 作框 图 制 器 提 供 差 动 接 收 能 力 ,可 实现 将C N A : , 卜 节 点 与 C N 理 总 线 A物 _ I ・ 电气 隔 离 的 功 能 。 P A 2 2 0 应 用 最 C8C5是 广 泛 的C N 发 器 。 A收 P A8 C 0的 特 点 C 2 5 2 LL I. 甲 I H 翟 是 :① 高速度 ,波特 l 广 。。 。。 -_ 。—— 。 ] 言 率 可达 l b S M p ;② 支 持低 电流待机模式 , 图 3 单 个 模 块 电路 原 理 图 未 供 电 的 节 点 不 会 干 扰 总 线 ;③ 内部 斜 率 控 到由主节点再发来命令报文唤醒。 制 电路 以降低射 频干 扰 :④差 动接收 器具有 程 序 流 程 图如 下 : 宽共模 范围 ,有很 强的抗 电磁干扰 ( M )能 EI
值。
本模 块 的功能 是采集温 度信 息 ,并通过 基 于 S A 0 0 A 总 线 网络 将 信 息 传 输 至 其 J 1 0 的C N 它节 点 。当各个 从节 点的温度数 据异 常时 , 主 节 点 会 实 时 准 确 地 显 示 出该 信 息 ,进 而 进 行 管 理 或 报 警 。本 模 块 还 可 以进 行 传 感 器 扩 展和C N A 网络 扩展 ,根据实 际需要 只要在单片 机 端 口接 入 其 它 传 感 器 就 可 以用 来 采 集 相 应 的 参 数 , 同 时 如 将 终 端 节 点 的S A 0 0 信 程 J 10通 序改 配置为C N 关转发 程序 即可扩大C N A网 A 网 络容 量 。C N A 总线 是 非常 有前 途 的工业 级现 场总线 ,本 模块 可以广 泛应用 于工业 数据采 集、车库安防等领域。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于SJA1000的CAN通信
作者:郭丹丹杨瀛陆
来源:《中国新技术新产品》2015年第08期
摘要:本文介绍了CAN总线的概念,给出了SJA1000控制器的基本功能,原理框图,描述了软件设计的流程,分为初始化、发送和接收流程,给出了上位机测试软件界面,总结SJA1000是很好的CAN通讯控制器。
关键词:CAN;SJA1000控制器;硬件设计框图
中图分类号:TN915 文献标识码:A
1 CAN总线概述
CAN总线(Controller Area Network)是众多现场通信总线的一种,它属于串行数据通讯总线。
CAN网络最大通讯距离为10km(5kbps),通讯速率可配置最高可达1Mbps(40m)。
2 SJA1000独立控制器简介
CAN总线器件有两种:一种是独立CAN控制器;另外一种是片上微控制器的总线控制器。
SJA1000CAN控制器属于独立的CAN控制器,因为它支持CAN2.0B规约,软件和硬件都兼容之前的同类型芯片PCA82C200,技术相对比较成熟,并能应用在汽车和工业环境下,因此应用的范围比较广泛。
SJA1000的主要特性为:
(1)硬件的外特性与CAN总线控制器PCA82C200兼容;(2)软件操作和使用与
PCA82C200兼容;(3)增加了扩展接收缓冲器;(4)在通信上支持CAN2.0B协议;(5)同时支持11位和29位标识符;(6)通讯速率1Mbits/s;(7)对于增强CAN模式的支持;(8)时钟频率可以支持到24MHz;(9)对于微处理器接口支持多种;(10)CAN输出配置可编程;芯片的工作温度范围-40℃~+125℃。
3 硬件设计框图
板卡集成了1片PCI9054总线接口芯片,它负责PCI总线接口的转换;1片Cyclone III系列的FPGA(EP3C25F324),它负责输出控制信号和初始化CAN控制器;4片CAN控制器(SJA1000),它负责并行数据总线到CAN总线协议的转换;4片CAN总线接口控制器(PCA82C250),它负责TTL的CAN总线信号到符合ISO 11898标准的CAN总线信号的转换;2片高速数字隔离器(ADuM1410),它实现CAN总线控制器的数字信号与CAN总线接口控制器的数字信号的隔离。
另外,板卡还集成了电平转换芯片(TXS0108EPWR)、隔离电源模块、EEPROM(93LC56)配置芯片、Flash存储器(EPCS16)、状态指示灯和JTAG/AS 下载座等。
4 软件设计
软件设计思想:
CAN通信分为两种模式:基本模式和扩展模式,扩展模式较为复杂,本文以基本模式为范例讲述CAN的通信流程。
软件从整体上分为:初始化,发送和接收三个部分。
注意一些寄存器只在PeliCAN 模式有效控制寄存器就仅在BasicCAN 模式里有效而且一些寄存器是只读的或只写的还有一些只能在复位模式中访问。
4.1 初始化。
SJA1000的初始化只有在复位模式下才可以进行。
芯片的初始化包括工作方式的设定、芯片的接收屏蔽寄存器(AMR)设置和芯片的接收代码寄存器(ACR)的设置、芯片的总线时序寄存器的设置、芯片的输出模式寄存器和芯片的中断寄存器的设置等。
初始化设置完成,需要设定SJA1000芯片进入工作模式,然后就可以进行正常的通讯。
芯片的初始化步骤如下:(1)关闭中断,进入复位模式;(2)配置接收屏蔽寄存器(AMR)和配置接收代码寄存器(ACR);(3)配置波特率;(4)输出寄存器的配置(建议选择开开漏输出);(5)配置basican模式,关闭CLKOUT输出;(6)打开数据溢出中断、错误中断、发送中断和接收中断(中断寄存器);(7)进入工作模式。
4.2 发送数据。
发送数据的流程相对简单主要是配置设备的ID,发送数据长度,然后把需要发送数据放到buffer即可,(表1为发送区列表)发送数据流程如下:(1)首先判断上次发送数据是否完成;(2)判断发送缓冲区是否锁定;(3)如果数据发送完成并且发送缓冲区没有锁定;(4)启动发送。
4.3 接收数据
(1)判断中断寄存器是否有接收中断;(2)如果有接收中断则判断状态寄存器是否有数据;(3)状态寄存器中有数据那么判断报文是否有效;(4)如果有效,那么从接收buffer中获取接收数据的长度和数据属于远程帧还是数据帧,然后开始接收数据;(5)接收数据完成清buffer,以便下次接收数据。
结语
本文以使用SJA1000作为CAN通信的控制芯片进行数据发送和接收,在基本模式下满足了通信的需要并且满足了对于CAN通信参数的设置,在效率测试中可以实现1ms周期接收数据64小时不丢包。
通过搭建的测试界面,不但大大地方便了通信的调试,而且验证了逻辑功能以及驱动和动态库的可靠性。
参考文献
[1]郭发东.P89V51RD2与SJA1000实现CAN节点实例[J].山东科学,2006.。