sja1000 CAN驱动学习、调试记录(基于PeliCan Mode)

news2024/11/18 20:59:54

一、基础知识

        网上讲sja1000 CAN总线控制器的资料很多,这里放一个引路贴:(151条消息) CAN总线控制器SJA1000_FA@TE的博客-CSDN博客_sja1000

        BasicCAN Mode:仅支持11位的ID。

        PeliCan Mode:在扩展模式下,允许使用 11 位 ID 的标准帧和 29 ID 的扩展帧(是标准帧还是扩展帧由 TX 帧信息的最高位 IDE 位确定)。

二、硬件介绍

硬件框图、寄存器地址分配

 

 

2.1 TRANSMIT BUFFER (TXB)

        传输缓冲区是CPU和比特流处理器(BSP)之间的一个接口,它能够存储一个完整的消息,以便通过CAN网络进行传输。该缓冲区有13个字节长,由CPU写入,并由BSP读出。

        传输缓冲区的长度为13个字节,并且位于CAN地址从16到28的范围内。注意,使用从96到108的CAN地址空间可以直接访问传输缓冲区RAM。此RAM区域被保留给传输缓冲区。以下三个字节可用于一般用途(CAN地址109、110和111)。

 

2.2  RECEIVE BUFFER (RXB, RXFIFO)

        接收缓冲区是接收过滤器和CPU之间的接口,用于存储从CAN总线线接收和接受的消息。RXB表现为一个在RXFIFO上的CPU可访问的13字节长度的窗口,RXFIFO总长度有64个字节。在这个FIFO的帮助下,CPU能够在接收到其他消息时处理先接收到的消息。

        PCA82C200的双接收缓冲器概念被来自PeliCAN控制器的接收FIFO所取代。这除了数据溢出概率外,对应用软件没有任何影响。现在两条以上的消息可能被接收到(最多64字节),直到发生数据溢出。

        接收缓冲区的全局布局与上一节中描述的传输缓冲区非常相似。接收缓冲区是RXFIFO的可访问部分,并且位于CAN地址16和28之间的范围内。每个消息都被细分为一个描述符和一个数据字段。

 

 2.3 INTERRUPT REGISTER (IR)

        中断寄存器的描述表明了CAN控制器会在哪些情况下触发中断。

三、关于离线复位

        总线断开之后,会产生错误警报中断。进到中断服务函数之后会恢复位总线;当错误警报产生到达一定数量后,会进入总线错误中断。此时会在中断服务函数中 终止发送。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/80924.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

找出DataFrame中指定数据类型的列:select_dtypes()函数

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 找出DataFrame中指定数据类型的列 select_dtypes()函数 选择题 下列说法错误的是? import pandas as pd myDF pd.DataFrame({A:[1,2],B:[1.0,2.0],C:[a,b]}) print("【显示】myDF&qu…

leecode#同构字符串#反转链表

题目描述: 给定两个字符串 s 和 t ,判断它们是否是同构的。 如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。 每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一…

ReentrantLock详解

JUC中的锁API 在juc中有一个Lock接口他的作用和synchronized相似都是为了保证线程安全性提供的解决方案 Lock中定义了一系列释放锁和抢占锁相关的API lock() 抢占锁资源 如果当前线程没有抢占到锁 则阻塞 tryLock() 尝试抢占锁资源 如果抢占成功则返回true 否则返回false unlo…

简单的深度活体智能记忆模型

🍿*★,*:.☆欢迎您/$:*.★* 🍿 正文

基于Antd Input组件自定义Input的成功状态

前言 Ant Design的Input组件的有一个状态的Api 需求 公司自研UI组件,在Antd的基础上进行开发。其中Input组件除了警告与错误状态外,还增加了成功的状态。如下图⬇️ 开发实现 方案一:覆盖CSS样式 一开始准备通过判断状态来增加类名&am…

软件工程习题

软件工程第一章 软件与软件工程作业第二章 可行性研究作业第三章 需求分析作业第四章 总体设计作业第五章 详细设计作业第六章 软件编码测验第七章 软件测试作业选择判断简答题第一章 软件与软件工程作业 一、单选题(共7题,58.1分) 1、软件是…

刷题13-左右两边子数组的和相等

题目012-左右两边子数组的和相等 思路:用到了三个循环,从头到尾遍历数组,比较左右两边数组的和是否相等,当然这种思路时间复杂度也比较高 核心代码: class Solution {public int pivotIndex(int[] nums) {int sum1,…

6.2 、MyBatis 高级映射(resultMap 标签多表联查 , 一对多,多对一关系)

文章目录一、实现多表联查(association 标签)1、实现多对一关系结果集映射二、实现多表联查(collection 标签)一、实现多表联查(association 标签) association 标签: 实现一对一,多…

因果推断1--基本方法介绍(个人笔记)

目录 一、因果推断介绍 1.1 什么是因果推断 1.2为什么研究因果推断 1.3因果推断阶梯 1.4因果推断问题分类 二、因果推断理论框架 2.1 定义(这些定义后面会经常用到) 2.2 Assumptions(三大基本假设) 三、因果效应估计 3.1 因果效应…

JavaEE【Spring】:SpringBoot 配置文件

文章目录一、配置文件的作用二、配置文件的格式1、注意2、说明三、properties 配置文件说明1、基本语法2、读取配置文件① 注意3、优缺点四、yml 配置文件说明1、基本语法2、yml 使用进阶① yml 配置不同数据类型及 nullⅠ. yml 配置读取Ⅱ. 练习a. 值为 null 的配置b. 根本不存…

利用云服务器发布项目

前言 平时开发我会写一些小demo,我自己觉得有用的会集中起来形成一个项目,本来想利用gitee的gitee page直接部署出来,但后面了解了下,它只支持官网之类的静态页面,无法与后台数据交互,想要完整的服务还是得…

数据分析业务场景 | 用户画像

一.概况 定义 是根据用户的一系列行为和意识过程建立起来的多维度标签;是根据用户人口学特征,网络浏览内容,网络社交活动和消费行为等信息而抽象出的一个标签化的用户模型;首要任务:根据业务需求整理和数据情况分析建…

Springboot redirect重定向使用RedirecAtrributes传递数据

参考资料 【转载】关于重定向RedirectAttributes的用法RedirectAttributes 的使用 目录前期准备一. RedirecAtrributes重定向传参三. 重定向目标页面接收参数前期准备 ⏹配置文件 server:servlet:context-path: /jmw⏹访问url http://localhost:8080/jmw/test16/init?name…

NX二次开发(C#)-UI Styler-选择对象TaggedObject转换为Body、Face等对象

文章目录 1、前言2、选择对象的过滤器2、选择对象类型为TaggedObject3、TaggedObject转换为Face类型1、前言 前面的博客中已经写过了UI Styler中选择对象(selection)的一些内容,但是依然有读者不知道运用,本文将在前文的基础上更加深入的介绍选择对象的应用(建议与https:/…

DevExpress Universal添加对.NET 7的支持

DevExpress Universal添加对.NET 7的支持 DevExpress已经发布了整个产品系列的主要更新。 CodeRush Ultimate 22.2-为许多重构添加了核心性能优化和增强。 DevExpress.NET MAUI 22.2-添加了对Material Design 3指南的支持,以及对数据网格的自定义过滤、排序和分组。…

PCB封装

目录 1.PCB元器件库分类及命名 1.2PCB封装图形要求 2.封装制作 手工制作封装的操作步骤 1.PCB元器件库分类及命名 元器件采用大写字母表示,PCB元器件库分类及命名如表。 2.PCB封装图形要求 (1)外形:指元器件的最大外形尺寸。封…

【微电网优化】基于粒子群实现微网经济调度,环境友好调度附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

Java 中的不同参数类型

是不是还傻傻分不清参数配置到底怎么写,写在哪个位置,那么这篇文章就让你学会。 目录 1、Program arguments 2、VM options 3、Environment variables 最佳实践 打开 IDEA 的 Run Configuration,可以看到以下参数配置 VM optionsProgram…

springboot+vue美食网站idea maven

目 录 摘 要 I 1 绪论 1 1.1研究背景 1 1. 2研究现状 1 1. 3研究内容 2 2 系统关键技术 3 2.1 springboot框架 3 2.2 JAVA技术 3 2.3 MYSQL数据库 4 2.4 B/S结构 4 3 系统分析 5 3.1 可行性分析 5 3.1.1 技术可行性 5 3.1. 2经济可行…

12.11哈希表

目录 一.哈希表 1.概念 2 冲突-概念 3 冲突-避免 4 冲突-避免-哈希函数设计 直接定制法--(常用) 2. 除留余数法--(常用) 3. 平方取中法--(了解) 4. 折叠法--(了解) 5. 随机数法--(了解) 6. 数学分析法--(了解) 5 冲突-避免-负载因子调节(重点掌握&#…