1.背景:在调试过程中发现,S32K3xx当进行8次软件复位(functionalreset)后MCU会死在复位里面,无法正常工作。驱动库为:SW32K3_RTD_4.4_2.0.0注意,下述分析比较硬核,要认真的慢慢看才能看明白,笔者自己过了一段时间看第二遍都有点蒙哈哈哈哈2.分析:2.1EB配置EB中关于reset的复位如下:上图配置项解释:McuResetType配置当我们调用Mcu_PerformReset();接口时是执行FunctionalReset还是DestructiveResetMcuFunctionalResetEscalationThreshold(0->15)配置Fun
复位电路设计MCU的复位电路的设计需要根据不同MCU的特性来设计电路形式和选择电路参数,有些MCU(如51单片机)为高电平复位,有些MCU(STM32系列)为低电平复位,对复位时间的要求也不尽相同。如下以STM32系列MCU为例探讨其外部复位电路设计。stm32复位过程stm32具有三种类型复位:系统复位,电源复位,备份区域复位。每种类型的复位都可有多个事件触发。当NRST引脚上的施加低电平(外部复位,造成系统复位的事件之一)时,就会产生系统复位,除了CSR寄存器中的复位标志和备份区域外,系统复位将所有的寄存器复位至它们的初始状态。1当复位引脚NRST上的电压VNRSTV_{NRST}VNRS
S32K144平台MCALMCU驱动在EB中的相关配置解析以及实战。多图预警!!!!!!!!!MCUGeneral配置参数①McuDevelopmentErrorDetect:Mcu模块开发错误检测使能。②McuGetRamStateAPI:获取RAM状态API使能。③McuInitClockAPI:初始化时钟API使能。④McuNoPLL:锁相环禁用。⑤McuEnterLow-PowerMode:进入低功耗模式使能。⑥McuPerformResetAPI:执行复位API使能等。MCURestReasonConf导致MCU复位的原因有很多,如果硬件允许,Mcu模块可以获取复位的原因。McuRe
单片机如何控制外设单片机不是直接控制外设的,而是通过配置片上外设寄存器来控制其输出和检测高低电平,进而控制外围器件。单片机如何配置寄存器的? 下图是单片机驱动点亮发光二极管内核从flash里面加载读取指令。内核根据指令到SRAM里面对应的地址读取数据,这些数据就是即将赋值给GPIO片上外设寄存器里的数据。内核通过总线对GPIO寄存器赋值。如果寄存器某一位为零,那么对应的IO口对应的一些开关电路就会输出低电平。LED另一端接高电平时,LED就会点亮。单片机是如何找到寄存器的?每个寄存器都有对应的地址,单片机通过地址访问寄存器,ARM寻址范围4GB(2的32次方=4Gbyte),分为多个块,片上外
目录0.前言1.芯片2.CPU3.MPU4.MCU 5.总结0.前言 更新的是有点慢,从这周开始吧,应该会快一点。推荐一首歌《你到底有没有爱过我》——蓝波,额,怎么说呢,大家,音乐是没有对错的。 曾经出过一次笑话,就是我在拿到一个产品的时候,我用Keil烧录时不知道选哪个设备,我不知道这个使用的是哪个板子?所以我就问师父,说:这是用的哪个芯片?师父一脸困惑的问我,什么哪个芯片? 以前也是,对这些CPU,MPU和MCU这些概念很模糊,我觉得都是芯片。但是仔细看了一下之后发现还是有点不同的。可能会和大家理解的不同,不同观念有不同的看法,欢迎讨论。1.芯片 百度百科:集成电路
最近搞EtherCAT。EtherCAT协议栈目前无非就是几种选择,要么花钱买商用的,要么IGH或者SOEM。IGH算是实现得比较全,不过只能在Linux操作系统上运行。Linux大家都知道,并非实时操作系统,于是就有了一些实时补丁,比较典型的Xenomi,就是独立于Linux的一个内核。移植Xenomai,倒也是一个思路。不过毕竟在Linux的底子上,想要进一步提升总线周期的稳定性,恐怕要从Linux内核层入手进行深度改造了。好消息是暂时并不需要把功能做得比较全,这样简单一些得SOEM在MCU上裸跑也是个不错(偷懒)的选择。网上关于SOEM移植的文章很多,参照官方例程依葫芦画
最近搞EtherCAT。EtherCAT协议栈目前无非就是几种选择,要么花钱买商用的,要么IGH或者SOEM。IGH算是实现得比较全,不过只能在Linux操作系统上运行。Linux大家都知道,并非实时操作系统,于是就有了一些实时补丁,比较典型的Xenomi,就是独立于Linux的一个内核。移植Xenomai,倒也是一个思路。不过毕竟在Linux的底子上,想要进一步提升总线周期的稳定性,恐怕要从Linux内核层入手进行深度改造了。好消息是暂时并不需要把功能做得比较全,这样简单一些得SOEM在MCU上裸跑也是个不错(偷懒)的选择。网上关于SOEM移植的文章很多,参照官方例程依葫芦画
前言:该作品是2022年四川省电子设计竞赛一等奖作品,其能稳定完成全部四个问题,但存在停车距离的精度问题。该文章将会介绍该作品的整体设计思路,关键控制算法等技术相关问题,也会给出工程的下载链接。同时本人参加过2021年电赛、十七届智能车竞赛、2022年电赛,文末会给出一些我个人的经验。当然各位小伙伴也可以直接私信我(哔站同名),我有时间一定会回复。目录一、整体思路设计1.1主、从车设计框架1.2整个作品设计思路二、各功能块具体实现2.1模块间通信2.2小车的程序结构2.3速度闭环操作2.4openMV场地元素识别2.5巡线实现三、任务实现思路四、个人经验一、整体思路设计1.1主、从车设计框架
前言:该作品是2022年四川省电子设计竞赛一等奖作品,其能稳定完成全部四个问题,但存在停车距离的精度问题。该文章将会介绍该作品的整体设计思路,关键控制算法等技术相关问题,也会给出工程的下载链接。同时本人参加过2021年电赛、十七届智能车竞赛、2022年电赛,文末会给出一些我个人的经验。当然各位小伙伴也可以直接私信我(哔站同名),我有时间一定会回复。目录一、整体思路设计1.1主、从车设计框架1.2整个作品设计思路二、各功能块具体实现2.1模块间通信2.2小车的程序结构2.3速度闭环操作2.4openMV场地元素识别2.5巡线实现三、任务实现思路四、个人经验一、整体思路设计1.1主、从车设计框架
SH367309BMS锂电池保护板方案该电池管理系统由SH367309和MCU实现,其主要功能包括:充电管理、放电管理、容量计、安全保护、数据备份、ISP、静置功耗和低功耗模式等烧写工具WriteTools配置EEPROM(1)WriteTools工具烧写SH367309的EEPROM,支持“在线烧写”(配合上位机软件)和“脱机烧写”(不需要上位机软件参与)两种方式,具体说明文档见上位机文件夹中的“SH367309_Help.pdf”;(2)打开上位机软件时,需要采用“以管理员身份运行”方式;(3)关于上位机中的电压、电流保护阈值及延时配置,请以实际电芯要求为准,同时温度保护配置之前,请选择好