
温故知新
文章平均质量分 84
LEODWL
To Do Something More and Fun......
展开
-
温故知新(十四)——LIN
LIN(Local Interconnect Network)总线是针对汽车分布式电子系统而定义的一种低成本的串行通讯网络,用于实现汽车中的分布式电子系统控制。LIN 的目标是为现有汽车网络(例如CAN 总线)提供辅助功能,因此LIN总线是一种辅助的总线网络,适用于对网络的带宽、性能或容错功能没有过高要求的应用。LIN的适用范围包括车窗、座椅、天窗、门锁、空调、照明等舒适性相关的领域。LIN总线是基于SCI(UART)数据格式,采用单主控制器/多从设备的模式,是UART中的一种特殊情况。原创 2022-09-06 10:05:37 · 6521 阅读 · 0 评论 -
温故知新(十三)——CAN
CAN总线是由德国研发和生产汽车电子产品著称的BOSCH公司开发的,并最终成为国际标准(ISO11519),是国际上应用最广泛的现场总线之一。CAN总线是一种多主控的总线系统。传统总线系统如USB或以太网等是在总线控制器的协调下,实现从A节点到B节点大量数据的传输。CAN网络的消息是广播式的,即在同一时刻网络上所有节点侦测的数据是一致的,它是一种基于消息广播模式的串行通信总线。因为传输距离越大,信号时延也越大,为了保证消息的正确采样,总线上的信号速率相应也要下降。推荐信号速率与距离的关系如下表所示。...原创 2022-08-31 22:19:37 · 5187 阅读 · 1 评论 -
温故知新(十二)——SPI
SPI是一种嵌入式系统中应用广泛的同步串行通信、边沿采样、主从架构式总线接口。80年代由摩托罗拉开发。SPI和IIC在鲁棒性方面都比较好。IIC之所以优雅,是因为它在极简的基础架构(两线SDA/SCL)上提供了非常先进的功能,例如自动多主机冲突处理和内置地址管理。但是它相对却非常复杂,在性能上或许有所欠缺。另一方面,SPI非常易于理解和实施,并且为扩展提供了很大的灵活性。SPI的优雅之处在于简单性。SPI应该被视为构建用于IC之间通信的自定义协议栈的良好接口。............原创 2022-08-17 20:24:00 · 2256 阅读 · 0 评论 -
温故知新(十一)——IIC
由上图可以看出,两个主机的仲裁程序是如何进行的。再SCL高电平时,DATA1和DATA2都产生了START事件,但是在之后的低三个时钟周期时,DATA1的电平与SDA上的电平不一致,也就是主机1产生的 DATA1 的内部数据电平与 SDA 线上的实际电平之间存在差异,DATA1 输出将关闭。在一个多设备用 I2C 总线连一起的系统,其中一个设备(单片机)使用用 IO 口模拟I2C ,另一个设备使用硬件I2C,那么快速的硬件设备与依赖软件轮询的相对较慢的设备之间必然会存在速度差异。但是,当I2C主设备。...原创 2022-08-17 18:52:00 · 2074 阅读 · 0 评论 -
温故知新(十)——UART
一般而言,CPU与外部通信有两种通信方式:串行通信和并行通信。根据串行数据的时钟控制方式不同,串行通信可以分为:异步通信和同步通信。原创 2022-08-12 02:02:17 · 2321 阅读 · 0 评论 -
温故知新(九)——FPU的开启
DSPF28335的CPU内部包括一个单精度(32位)的IEEE754浮点运算单元(FPU),采用浮点方式进行编程,其效率要比把浮点手动转换为定点的方式高得多。原创 2022-06-01 09:13:43 · 3149 阅读 · 0 评论 -
温故知新(八)——永磁电机容错控制
在基于PMSM的高性能矢量控制伺服调速系统中,需耍实时精确地知道电机转子的旋转位置和速度信息,这些信息的获取最多的是通过安装在电机上的位置传感器,如旋变器,编码器等。然而,这些位置传感器却对环境具有**很强的敏感性,容易发生失效或者故障**,在这种情况下会导致系统崩溃或者伤及人员安全,尤其在一些特殊领域。为了保证伺服系统运行的持续性和安全性等要求,就必须考虑冗余以及其他的保护措施。因此,对于伺服调速系统中PMSM位置传感器故障容错控制研宄就应用而生。原创 2022-05-18 11:05:38 · 2623 阅读 · 0 评论 -
温故知新(七)——卡尔曼滤波器
卡尔曼(Kalman)滤波器是状态观测器的一种,与一般状态观测器一样是通过对系统输入输出信号来重新构造一个系统,并遵循线性最小方差估计(LMMSE)的准则,它是用于时变线性系统的递归滤波器。原创 2022-05-18 10:58:28 · 1311 阅读 · 0 评论 -
温故知新(六)——状态观测器
为了对系统实现状态反馈,状态观测器应运而生。状态观测器是一种通过原受控系统的输入、输出量来重新构建一个与原系统相似的动态系统。原创 2022-05-18 10:57:03 · 11618 阅读 · 0 评论 -
温故知新(五)——三参数陷波滤波器离散化推导及MATLAB实现
三参数陷波滤波器的离散化设计和MATLAB实现原创 2022-05-17 10:54:32 · 4836 阅读 · 3 评论 -
温故知新(四)——GPIO模式详解
GPIO全称是general purpose input output,即通用输入输出端口,可以用作输入也可以做输出。GPIO端口可以通过程序配置成输入或者输出。以STM32为例,大部分引脚除了当GPIO使用外,还可以复用为外设功能引脚(比如串口)。一个引脚,可以作为IO口,同时也可以作为复用功能的外设引脚。原创 2022-05-09 10:15:57 · 3137 阅读 · 0 评论 -
温故知新(三)——static 关键字详解
目录1 什么是static?1.1 static 的引入1.2 静态数据的存储2 在 C中static的作用2.1 总体而言2.2 静态变量与普通变量2.3 静态局部变量有以下特点1 什么是static?static 是 C/C++ 中很常用的修饰符,它被用来控制变量的存储方式和可见性。1.1 static 的引入我们知道在函数内部定义的变量,当程序执行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下转载 2022-05-02 17:49:38 · 149 阅读 · 0 评论 -
温故知新(二)——volatile 关键字详解
目录1 为什么用volatile?2 volatile 指针3 多线程下的volatile1 为什么用volatile?C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier。这是 BS 在 “The C++ Programming Language” 对 volatile 修饰词的说明:A volatile specifier is a hint to a compiler that an object may chan转载 2022-05-02 17:21:50 · 342 阅读 · 0 评论 -
温故知新(一)——基于 RTOS 的软件开发理论
目录前言1 RTOS的特点2 任务设计2.1 任务的特性2.2 任务划分的方法2.2.1 设备依赖性任务2.2.2 关键任务2.2.3 紧迫任务2.2.4 数据处理任务2.2.5 触发条件相同的任务2.2.6 运行周期相同的任务2.2.7 顺序操作任务2.3 任务的可调度性分析2.4 任务类型2.4.1 单次执行的任务2.4.2 周期性执行的任务2.4.3 事件触发执行的任务2.5 任务优先级3 公共函数的设计3.1 互斥调用3.2 可重入设计3.3 运行效率4 中断服务程序的设计4.1 中断优先级4.2转载 2022-04-06 19:34:09 · 1518 阅读 · 0 评论