NXP S32K358 davinci cfg can驱动配置

news2024/11/16 22:56:12

       NXP S32K358一共有8路can,都支持Can FD和Classical Can。其中FlexCan0-2是增强型CAN,支持8byte的mailbox 96个。FlexCan3-7支持8byte的mailbox 64个。

1.增强型Can和普通Can波特率采样点设置区别

在NXP S32K358中增强CAN的波特率采样点的寄存器和普通CAN是不同,一共有五个寄存器和波特率采样点相关。

增强型can的采样点计算公式如下,在采用增强型CAN模块工具会自动配置如下两个寄存器

普通can CTRL1寄存器

普通Can FD寄存器配置

2.增强型can FD采样点配置

配置CAN0,can模块时钟为40M,仲裁帧波特率为500K,采样点为80%,数据帧波特率为2M,采样点为75%。

下面介绍两个缩写

Tseg1:Time Segment1

Tseg2:Time Segment2

采样样点计算= (Tseg1+SYNC_SEG)/(Tseg1+SYNC_SEG+Tseg2)

SYNC_SEG:固定为1

Tseg1=controller prop seg +cantroller seg1(davinci cfg配置项)=NTSEG1(芯片寄存器)+1

Tseg2=cantroller seg2(davinci cfg配置项)=NTSEG2(芯片寄存器)+1

Can时钟为40M,仲裁帧配置如下8分频,则分配到can模块的时钟为5M,仲裁帧波特率为500k,则每个bit time有10个Tq。采样点为80%,则cantroller seg2 = 2,controller prop seg +cantroller seg1 = 7

则如下图配置:

Can时钟为40M,数据帧配置如下1分频,则分配到can模块的时钟为40M,仲裁帧波特率为2000k,则每个bit time有20个Tq。采样点为75%,则cantroller seg2 = 5,controller prop seg +cantroller seg1 = 14

SYNC_SEG:固定为1

Tseg1=controller prop seg +cantroller seg1(davinci cfg配置项)=DTSEG1(芯片寄存器)+1

Tseg2=cantroller seg2(davinci cfg配置项)=DTSEG2(芯片寄存器)+1

则如下图配置:

由于数据帧和仲裁帧速率不同,需要勾选BRS选项。

生成代码关联寄存器如下:

3.Classical Can采样点配置

配置CAN3,can模块时钟为40M,波特率为500K,采样点为80%。在davinci cfg中CAN3属于普通can,因此和增强can是两个模块,区别如下图:

采样样点计算= (Tseg1+SYNC_SEG)/(Tseg1+SYNC_SEG+Tseg2)

SYNC_SEG:固定为1

Tseg1=controller prop seg +cantroller seg1(davinci cfg配置项)=EPROPSEG+

EPSEG1(芯片寄存器)+2

Tseg2=cantroller seg2(davinci cfg配置项)=EPSEG2(芯片寄存器)+1

Can时钟为40M,仲裁帧配置如下8分频,则分配到can模块的时钟为5M,仲裁帧波特率为500k,则每个bit time有10个Tq。采样点为80%,则cantroller seg2 = 2,controller prop seg +cantroller seg1 = 7

则如下图配置:

生成代码如下图:(如果只用Classical Can个人理解CBT寄存器和CTRL1寄存采样点配置是一样的)

注意如果普通can配置Can FD的话自己写寄存器有如下区别:

Tseg1=controller prop seg +cantroller seg1(davinci cfg配置项)=FPROPSEG+

FPSEG1(芯片寄存器)+1(此处在手写驱动代码采样点容易算错)

Tseg2=cantroller seg2(davinci cfg配置项)=FPSEG2(芯片寄存器)+1

4.Can的FilterMask配置

此处发现目前所配置davinci cfg的配置生成代码是采用RxFiFO filter配置,没找到mailbox+mask寄存配置的选项,如下图:

Filter code value 是想收的canID,如图想收canID:0x3c0

Filter mask value是相对于Filter code value为基准,bit=1校验该位,0忽略此配置,此配置是只接收0x3c0

Rx FIFO的结构如下,可以进行128个ID的点对点滤波

5.CanHardware配置

CanHardware配置Rx在前,Tx在后。

Rx hardwaare如下配置,

配置如下Fd Padding Value:大于8byte长度的canfd数据填充值

Handle Type: BASIC  一对多接收,可以通过底下Filter mask ref来决定收那些can id,或者不进行滤波,接收所有的canid

                         Full   一对仪接收,一个CanHardware只能接收一个canID。

如果存在多个Rx CanHardware,应该是Full Rx在前,basic Rx在后

Object type :接收的CanHardware或者发送的CanHardware

6.Can的基础配置

主要几个rx tx busoff 和唤醒功能怎么处理。如果采样轮询方式需要配置mainfunction的周期。如果采用中断方式需要在os中配置中断。

轮询方式配置调用:

中断方式的os配置,can0-2有四个中断,can3-7有三个中断,此处的isr interrupt source在数据手册中查找。

7.General配置

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

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

相关文章

新手为什么跟着大型机构交易?fpmarkets总结理由

正所谓方向不对努力白费,这也就是为什么fpmarkets建议新手在刚开始的时候,跟着大型机构进行交易。 这些大型机构包括中央银行、巨额对冲基金、投资和保险公司等等,首先fpmarkets认为这些大型机构的交易量巨大,能够影响市场的走势。…

2023年12月27日学习记录_加入噪声

目录 1、今日计划学习内容2、今日学习内容1、add noise to audio clipssignal to noise ratio(SNR)加入 additive white gaussian noise(AWGN)加入 real world noises 2、使用kaggel上的一个小demo:CNN模型运行时出现的问题调整采样率时出现bug 3、明确90dB下能否声…

hadoop hive spark flink 安装

下载地址 Index of /dist ubuntu安装hadoop集群 准备 IP地址主机名称192.168.1.21node1192.168.1.22node2192.168.1.23node3 上传 hadoop-3.3.5.tar.gz、jdk-8u391-linux-x64.tar.gz JDK环境 node1、node2、node3三个节点 解压 tar -zxvf jdk-8u391-linux-x64.tar.gz…

Git系统有哪些优势

在现在的这个软件开发领域,版本控制是一项非常重要的工作。Git作为比较流行的分布式版本控制系统,他有着独特的优势成为了很多开发者们的首选。那Git系统都有哪些优势呢,下面我以自己的理解简单的介绍一下。 分布式版本控制的优势 Git用的是…

003、一起来玩猜数游戏吧!

1. 上篇补充 在项目 hello_world 中,有一些文件。这里提一下每个文件的用途,了解一下即可,暂时不用深究,后面用到会详细讨论。 1. src :这个文件夹里主要用于存放源代码文件。Rust 项目的源代码文件通常以 .rs 为后缀&…

给typora更换字体

给typora更换字体 1.字体推荐(程序员) JetBrains MonoFira CodeCascadia Code 如果你不知道用哪个,把所有字体都装上。 2.安装字体 以 JetBrainsMono-1.0.3 为例,打开 ttf 文件夹,选择字体,右键 安装 3.设置typora的字体 文…

three.js 模型 居中

物体不居中 模型的几何中心位置不对, 设置偏离物体实际几何中心,当设置position(0,0,0)时就会出现偏离。 解决方案 此处有两种解决方案 建模师处理模型,将模型的几何中心移动到(0, 0&#…

【Linux】进程查看|fork函数|进程状态

🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁 🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁&am…

Java日期工具类时间校验

Java日期工具类时间校验 嘚吧嘚正则表达式版本一版本二版本三 SimpleDateFormat工具类 嘚吧嘚 时间校验这个问题,我在网上找了很多资料,有用正则表达式的、有用格式工具类的。🤨 其实都能实现时间校验,既然两种方式都能实现&…

Vue3-25-路由-路由的基本使用

对路由的理解 路由 : 就是前端对页面路径的拦截,根据不同的路径渲染不同的组件, 从而实现单页应用中的页面局部刷新的功能。安装路由依赖 根据使用的不同的包管理工具采用不同的命令, 常见的三种包管理工具和对应的命令如下&…

Hex文件介绍及制作

Hex文件介绍 一、文件格式介绍数据格式Hex文件例子常见类型字段 二、CRC校验计算eg.地址文件CRC计算:020000040127D2:0200000400FFFB eg.数据文件计算 三、生成hex文件用Excel生成 一、文件格式介绍 Hex文件是一种十六进制文件格式,可由notpad打开或者HexView app打…

【Hive_05】企业调优1(资源配置、explain、join优化)

1、 计算资源配置1.1 Yarn资源配置1.2 MapReduce资源配置 2、 Explain查看执行计划(重点)2.1 Explain执行计划概述2.2 基本语法2.3 案例实操 3、分组聚合优化3.1 优化说明(1)map-side 聚合相关的参数 3.2 优化案例 4、join优化4.1…

vivado 快速到慢速时钟之间的多循环

快速到慢速时钟之间的多循环 在下面的场景中,启动时钟CLK1是快速时钟,捕获时钟CLK2是慢时钟。如下图所示。 在下一示例中,启动时钟CLK1是快速时钟。捕获时钟CLK2较慢时钟假设CLK1是CLK2的频率的三(3)倍。如下图所示。…

docker小白第七天

docker小白第七天 tomcat安装 docker hub上面查找tomcat镜像 点进tomcat,可以看到下载镜像的命令。但是因为文件太大,并且是国外下载镜像很慢,所以我们从前期配置好的阿里云镜像仓库下载。 docker search tomcat docker pull tomcatdocker…

后端主流框架-SpringMvc-day2

Java中的文件下载 2 文件下载 文件下载:就是将服务器(表现在浏览器中)中的资源下载(复制)到本地磁盘; 2.1 前台代码 前台使用超链接,超链接转到后台控制器,在控制器通过流的方式…

Intel FPGA 技术开放日

概要 时间:2023.11.14 全天 ( 9:00 - 16: 20) 地点:北京望京. 凯悦酒店 主题内容:分享交流了Intel FPGA 产品技术优势和落地实践方案。 会议的议程 开场致词: FPGA业务,是几年前intel收购而…

虚拟环境和Pycharm中均有transforms仍报ModuleNotFoundError:No module named ‘transformers‘

问题:运行新模型,配置了新环境,下载了包后,仍然报ModuleNotFoundError:No module named transformers 错误。 查看Pycharm解释器: 没问题!!!? 命令行查看虚…

Flink Job 执行流程

Flink On Yarn 模式 ​ 基于Yarn层面的架构类似 Spark on Yarn模式,都是由Client提交App到RM上面去运行,然后 RM分配第一个container去运行AM,然后由AM去负责资源的监督和管理。需要说明的是,Flink的Yarn模式更加类似Spark on Ya…

Hive安装笔记——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务2:离线数据处理

将下发的ds_db01.sql数据库文件放置mysql中 12、编写Scala代码,使用Spark将MySQL的ds_db01库中表user_info的全量数据抽取到Hive的ods库中表user_info。字段名称、类型不变,同时添加静态分区,分区字段为etl_date,类型为String&am…

【电商项目实战】基于SpringBoot完成首页搭建

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《电商项目实战》。🎯🎯 &am…