08 2022 档案

摘要:位时序 SYNC_SEG:同步段,固定为1Tq SEG1:传播段+相位缓冲段1 SEG2:相位缓存段2 推导公式 位寄存器 通过配置位时序寄存器 CAN_BTR 的 TSI[3:0]和TS2[2:0] ,设置SEG1和SEG2的长度,这样就可以确定一个CAN数据位的时间 Tseg1 = Tq*(TS 阅读全文
posted @ 2022-08-25 22:39 伯宁君 阅读(676) 评论(0) 推荐(0)
摘要:前言 CAN总线是串行、异步、半双工的通信方式。 CAN没有同步时钟,如果各个节点只用事先约定好的波特率进行通信,加上硬件部分的干扰(传输线上的延迟和节点上收发的延迟)或其他影响,会造成数据错误。 CAN使用位同步的方式来保证信号收发同步,CAN控制器通过硬同步、重同步或位填充的方法来调整时序,实现 阅读全文
posted @ 2022-08-17 23:14 伯宁君 阅读(1334) 评论(0) 推荐(0)
摘要:汽车时代 新能源三大件:VCU、BMS、MCU 汽车模块 ICU:仪表控制模块(车身模块) VCU:整车控制器,实现整车控制决策的核心电子控制单元 VCU通过采集油门踏板、挡位、刹车踏板等信号来判断驾驶意图 通过监测车辆状态(车速、温度等)信息,由VCU判断处理后,向动力系统、动力电池系统发送车辆运 阅读全文
posted @ 2022-08-16 09:05 伯宁君 阅读(567) 评论(0) 推荐(0)
摘要:数据传输 CAN总线传输的是CAN帧。CAN的通信帧分为五种:数据帧,远程帧,错误帧,过载帧和帧间隔 线与机制 在学习CAN数据传输前,先了解一下CAN总线的线与机制。 只要总线空闲,总线上的任何节点都可以发送报文,如果有两个以及两个以上的节点开始传送报文,那么会存在总线访问冲突的可能,CAN使用标 阅读全文
posted @ 2022-08-13 16:26 伯宁君 阅读(2246) 评论(1) 推荐(1)
摘要:前言 报文解析 报文组成 一般报文主要有以下几个参数(比较全的情况下) | 序号 | 通道 | 方向 | 帧格式 | 帧类型 | 数据长度 | 帧ID | 帧数据 | 时间 | | | | | | | | | | | 例 解析报文时主要用到的是帧ID和帧数据 帧ID 接收到的帧ID是十六进制的形式, 阅读全文
posted @ 2022-08-13 16:25 伯宁君 阅读(6205) 评论(8) 推荐(1)
摘要:0. 背景 CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网 阅读全文
posted @ 2022-08-13 16:24 伯宁君 阅读(694) 评论(1) 推荐(1)
摘要:#BufferCmp uint8_t BufferCmp(const uint32_t* pBuffer, uint32_t* pBuffer1, uint16_t BufferLength) { while(BufferLength--) { if(*pBuffer != *pBuffer1) { 阅读全文
posted @ 2022-08-10 16:04 伯宁君 阅读(165) 评论(0) 推荐(0)
摘要:程序内存组成:运行的程序分为代码区,数据区,BBS区,栈区,堆区 代码区:存放代码的内存区域,在程序运行前就已经确定 数据区:存放被赋予初始值的全局变量、静态变量和字符串常量 BBS区:存放初始化的全局变量和静态变量,内核将此段初始化为0 栈区:增长方向,自上而下增长,存放临时创建的局部变量,存储函 阅读全文
posted @ 2022-08-10 16:01 伯宁君 阅读(108) 评论(0) 推荐(0)
摘要:任务切换 #任务调度 #任务间通信 阅读全文
posted @ 2022-08-10 15:21 伯宁君 阅读(36) 评论(0) 推荐(0)
摘要:0. 前言 通讯速率较高,适用于ADC、LCD等设备与MCU间通信 1. SPI基础知识 物理层 SCL:时钟信号线 CS:片选信号线/从设备选择信号线,低电平有效 MOSI:主设备输出/从设备输入引脚 MISO:主设备输入/从设备输出引脚 通信过程 MOSI和MISO数据线在SCK的每个时钟周期传 阅读全文
posted @ 2022-08-09 19:14 伯宁君 阅读(553) 评论(1) 推荐(1)
摘要:定时器简介 定时器可以分为硬件定时器和软件定时器,软件定时器是基于系统时钟节拍实现的,可以创建很多个 阅读全文
posted @ 2022-08-09 18:58 伯宁君 阅读(128) 评论(0) 推荐(0)
摘要:0. 前言 队列是一种数据结构,可以保存固定大小的数据没在创建队列时,队列长度和大小就确定下来了 1. 队列 意义 原理 新数据被发送到队列尾部,从头部取出数据 新数据被发送到队列头部,从头部取出数据 xQueueSendToBack() 发送数据 xQueueReceive() 读取数据 运行过程 阅读全文
posted @ 2022-08-09 18:53 伯宁君 阅读(633) 评论(0) 推荐(0)
摘要:0. task 意义 1. task 基础知识 任务状态 FreeRTOS 中的任务状态有:运行态、就绪态、阻塞态、挂起态,但是一个任务只能处于一种状态 任务切换 //任务挂起函数 vTaskSuspend(); //将所有的任务都挂起 vTaskSuspendAll(); //任务恢复函数 vTa 阅读全文
posted @ 2022-08-09 18:46 伯宁君 阅读(324) 评论(0) 推荐(0)
摘要:FreeRTOS介绍 特性 FreeRTOS 的内核支持抢占式、合作式和时间片调度 由用户给每个任务分配一个任务优先级,任务调度器就可以根据此优先级来决定下一刻应该运行哪个任务 提供了一个用于低功耗的 Tickless 模式 系统的组件在创建时可以选择动态或静态的RAM,比如任务、消息队列、信号量、 阅读全文
posted @ 2022-08-09 18:33 伯宁君 阅读(810) 评论(0) 推荐(0)
摘要:0. 前言 1. 基础知识 物理层 SCL 时钟线 SDA 数据线 通信方式 IIC是串行、同步、半双工工的通信方式 通讯速率 IIC有不同的模式 标准模式,时钟频率为100KHz,即数据传输速率为100Kbit/s 快速模式,时钟频率为400KHz,数据传输速率为400Kbit/s 高速模式,时钟 阅读全文
posted @ 2022-08-09 17:20 伯宁君 阅读(1503) 评论(1) 推荐(1)
摘要:大学的生活真的是美好而短暂,回想起来,记忆中留下的也都是满满的快乐和感动,还有一些遗憾,非常感谢大学时期遇到的朋友,谢谢你们。 在大学的时候因为课设或者比赛等,遇到过很多的问题,因为对原理的不明白,知识的不扎实,面对这些问题往往不知道怎么解决,就会逛论坛或者看别人的文章,果然在China onlin 阅读全文
posted @ 2022-08-09 14:42 伯宁君 阅读(86) 评论(0) 推荐(0)