0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于SJA1000的完整CAN节点设计

电子设计 来源:eeweb 作者: 恩智浦 2021-06-18 17:16 次阅读

SJA1000 是一种独立的 CAN 控制器产品,具有用于汽车和一般工业应用的高级功能。它旨在取代 PCA82C200,因为它是硬件和软件兼容的。由于具有一组增强的功能,该设备非常适合许多应用,尤其是在系统优化、诊断和维护很重要的情况下。本报告旨在指导用户设计基于 SJA1000 的完整 CAN 节点。该报告提供了用于编程的典型应用电路图和流程图。

独立的 CAN 控制器 SJA1000 有两种不同的操作模式:(1)BasicCAN 模式(PCA82C200 兼容);(2) PeliCAN 模式。

上电时,BasicCAN 模式是默认操作模式。因此,无需任何更改即可使用为 PCA82C200 开发的现有硬件和软件。除了 PCA82C200 已知的功能外,该模式还实现了一些额外功能,使设备更具吸引力。但是,它们不影响与 PCA82C200 的兼容性。

PeliCAN 模式是一种新的操作模式,能够根据 CAN 规范 2.0B 处理所有帧类型。此外,它还提供了一些增强功能,使 SJA1000 适用于广泛的应用。

CAN节点架构

一般每个CAN模块可以分为不同的功能块。与 CAN 总线线路的连接通常使用针对应用优化的 CAN 收发器构建。收发器控制来自 CAN 控制器的逻辑电平信号到总线上的物理电平,反之亦然。

下一层是 CAN 控制器,它实现了 CAN 规范中定义的完整 CAN 协议。通常它还包括消息缓冲和接受过滤。

所有这些 CAN 功能都由执行应用程序功能的模块控制器控制。例如,它控制执行器、读取传感器和处理人机界面 (MMI)。

如图 1 所示,SJA1000 独立 CAN 控制器始终位于微控制器和收发器之间,在大多数情况下收发器是集成电路

poYBAGDMZFKAaAgpAACfXFQo4ZM441.png

图 1 CAN 模块设置

框图

图 2 显示了 SJA1000 的框图。

poYBAGDMZF2ARWpDAACOEezR5xU055.png

图 2 SJA1000 框图

CAN 核心块根据 CAN 规范控制 CAN 帧的发送和接收。

接口管理逻辑块执行到外部主机控制器的链接,该控制器可以是微控制器或任何其他设备。通过 SJA1000 多路复用地址/数据总线的每个寄存器访问和读/写选通的控制都在该单元中处理。除了 PCA82C200 已知的 BasicCAN 功能外,还添加了新的 PeliCAN 功能。因此,主要在此块中实现了额外的寄存器和逻辑。

SJA1000 的发送缓冲器能够存储一个完整的消息(扩展或标准)。每当主机控制器启动传输时,接口管理逻辑都会强制 CAN 核心模块从传输缓冲区读取 CAN 消息。

当接收到消息时,CAN 核心模块将串行位流转换为接受过滤器的并行数据。通过这个可编程过滤器,SJA1000 决定主机控制器实际接收到哪些消息。

接受过滤器接受的所有接收消息都存储在接收 FIFO 中。根据操作模式和数据长度,最多可以存储 32 条消息。这使得用户在为系统指定中断服务和中断优先级时更加灵活,因为数据溢出情况的概率大大降低。

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 集成电路
    +关注

    关注

    5396

    文章

    11643

    浏览量

    363704
  • 控制器
    +关注

    关注

    112

    文章

    16487

    浏览量

    179794
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2775

    浏览量

    464565
  • 过滤器
    +关注

    关注

    1

    文章

    433

    浏览量

    19770
  • CAN 控制器
    +关注

    关注

    0

    文章

    2

    浏览量

    5400
收藏 人收藏

    评论

    相关推荐

    TLC2543接收数据时采集的数据就大范围摆动,怎么解决?

    就大范围摆动,经查初步确定是SJA1000的接收中断导致的,但无法解决,希望专家给予帮助,谢谢。 sbit EOC=P1^0; sbit CLK=P1^1; sbit INPUT=P1^2; sbit
    发表于 02-13 06:38

    CAN通信节点多时,如何减少寄生电容和保障节点数量?

    导读在汽车电子与工业控制等领域,CAN通信至关重要。本文围绕CAN通信,阐述节点增多时如何减少寄生电容的策略,同时从发送、接收节点等方面,讲解保障
    的头像 发表于 01-03 11:41 2050次阅读
    <b class='flag-5'>CAN</b>通信<b class='flag-5'>节点</b>多时,如何减少寄生电容和保障<b class='flag-5'>节点</b>数量?

    CAN协议的软件过滤和硬件过滤

    CAN过滤是控制器局域网络中用于控制哪些消息可以被节点接收的一种机制。在CAN网络中,由于是CAN总线通信,所有节点都会接收到网络上的所有消
    的头像 发表于 12-26 19:33 272次阅读
    <b class='flag-5'>CAN</b>协议的软件过滤和硬件过滤

    RS485和CAN总线的比较分析

    ,支持多点数据通信。 采用单节点控制多个从节点的通信方式,即主从通信模式。在这种模式下,只有一个节点(通常称为主节点)可以发送数据,而其他节点
    的头像 发表于 11-28 15:35 894次阅读

    CAN总线十万个为什么 | 为什么CAN总线分支不能过长?

    导读探讨了CAN总线中分支问题及其对信号完整性的影响,并提出了相应的解决方案。今天我们将深入探讨CAN总线中的一个关键问题——分支问题。在开始之前,让我们先来观察一下一个CAN总线的波
    的头像 发表于 11-28 15:14 370次阅读
    <b class='flag-5'>CAN</b>总线十万个为什么 | 为什么<b class='flag-5'>CAN</b>总线分支不能过长?

    深圳鸿合智远 DSB211SJA/DSB221SJA:表面贴装TCXO

    深圳鸿合智远|DSB211SJA/DSB221SJA:表面贴装TCXO
    的头像 发表于 11-05 11:41 280次阅读
    深圳鸿合智远 DSB211<b class='flag-5'>SJA</b>/DSB221<b class='flag-5'>SJA</b>:表面贴装TCXO

    CAN总线错误状态的种类

    CAN总线错误状态的种类主要包括以下几种,每种状态都反映了CAN总线网络中节点或总线的不同错误情况,以及相应的通信能力和限制。
    的头像 发表于 09-03 14:17 2063次阅读

    CAN总线知识】为什么CAN节点ID不能相同?

    CAN-bus网络中原则上不允许两个及以上节点具有相同的ID段,但如果两个及以上节点ID相同会怎样呢?资深强迫症患者想一探究竟!实验前,我们首先要对CAN报文的结构组成、仲裁原理有清晰
    的头像 发表于 08-30 12:48 1284次阅读
    【<b class='flag-5'>CAN</b>总线知识】为什么<b class='flag-5'>CAN</b><b class='flag-5'>节点</b>ID不能相同?

    CAN总线节点数计算与外围电路参考设计

    成本。其中CAN总线在汽车总线中应用最为广泛,采用合适的网络拓扑以及提升EMC性能对CAN收发器在环境复杂的汽车应用中有着重要意义。纳芯微推出了多款可以实现不同系统应用的CAN收发器。本篇应用笔记主要对网络中的
    的头像 发表于 07-31 14:04 2165次阅读
    <b class='flag-5'>CAN</b>总线<b class='flag-5'>节点</b>数计算与外围电路参考设计

    can信息帧数据链路层组成部分及功能

    、智能家居等领域。 1.2 CAN协议的特点 CAN协议具有以下特点: 多主控制:CAN协议支持多个节点同时进行通信,提高了系统的实时性和可靠性。 广播通信:
    的头像 发表于 07-24 15:12 601次阅读

    CAN总线几种正常的“异常”波形

    CAN波形一定都是标标准准的方波吗?其实并非如此,今天就把CAN总线上的幅值“异常”归归类。CAN-bus信号产生原理众所周知,一个标准CAN节点
    的头像 发表于 06-26 08:25 3362次阅读
    <b class='flag-5'>CAN</b>总线几种正常的“异常”波形

    can总线隔离模块的作用

    CAN总线隔离模块是一种用于保护CAN总线通信系统的电子设备,它通过在CAN总线和CAN节点之间增加一层隔离层,来防止电气干扰、电压冲击和故
    的头像 发表于 06-16 10:32 1810次阅读

    CAN-bus应用笔记:节点

    CAN-bus电路设计中,理论上收发器支持节点数最多可做到110个,但实际应用中往往达不到这个数量。今天我们就来谈谈如何通过合理的CAN-bus总线设计,保证CAN网络中的通讯的可靠
    的头像 发表于 05-12 08:24 650次阅读
    <b class='flag-5'>CAN</b>-bus应用笔记:<b class='flag-5'>节点</b>篇

    请问PSOC 5LP CAN总线如何接收所有节点的数据?

    总线上一般有100多个节点, PSOC 5LP 上的CAN如何设定才能接收总线上所有节点的数据?
    发表于 02-22 06:38

    请问一下CAN总线最大能够带多少节点呢?

    一般来说,大部分CAN总线连接的节点数量在10个到100个之间。
    的头像 发表于 02-19 14:27 4205次阅读