简析TC3xxRest/Clock/Watch模块

汽车ECU开发 2023-02-21 09:08

前言

本文包括TC3xx MCU的复位系统,时钟系统和看门狗模块三部分内容。在复位系统部分主要介绍了各种复位类型。在时钟系统部分主要介绍时钟源选择,PLL倍频配置,时钟分发等内容。在看门狗模块部分主要介绍了开门狗复位的触发路径,看门狗模块的工作原理,CPU EndInit/Safe EndInit的实现原理等内容。


1.Reset

POST这个信号对于MCU来说是双向的,也就是说在上电过程中PORSTMCU的输出引脚,在完成上电过程后,PORSTMCU的输入引脚。ESR0是受PORST控制的,PORST输出低电平的时候,ESR0也会输出低电平。


POST引脚引起的reset就叫Warm Power On ResetCold PORST复位的范围最大,基本上MCU所有的模块都会Reset

刚上电的时候,MCU的电压是从0往上升的,所以刚开始的时候MCU处于一个under voltage的状态,MCU主要监控VEXT, VDDP3, VDD三个输入电源,在刚开始的时候只要这三个电源有一个处于under voltage状态,或门(OR)就会输出点平导通MOS管,PORST就会被拉低到地。所以在电源上升的过程中这三个电源有一个处于LBD Reset Hold(电源监控阈值)以下,MOS管就会被导通,PORST就会被一直拉低到地(输出状态,输出低电平)。


电压起来后(大于监控阈值),MOS管关断,PORST变为输入状态,如果PORST外接了一个IC或者复位按钮给了一个低电平,也会对MCU产生ResetWarm Power On Reset)。


电压没起来前的Reset叫做Cold Power On Reset


System or Application Reset包含的种类比较多:

1)Software reset

2)来自于SMUreset

3)来自ESR0的复位请求

 

一些模块可以单独ResetSW Module resetDebug Reset)。


复位原因寄存器

STM0-STM5代码STM compare match造成的Reset

EVRC, EVR33,SWD代表三个低电压引起的Reset

STBYR表示Standby regulatorunder voltage detect


正常情况下Reset后这个寄存器的值应该是0x10010000,也就是PORSSTBYR会被置位。

Reset status register中的关于cold power on resetFlag需要软件清除(RSTCON2.CLRC),不然就会一直为1 。


第四种的cold reset原因是:EVR previous regulator的输出/standby supply电压小于1.13V。


Warm power on reset就是在POST变为输入状态后,外部对POST产生一个低电平引起的复位(RAM数据是可以保持的)。

 

POSRESR0的复位时序:首先在POST(Input)上产生一个下降沿的负脉冲,通过MCU内部的一些逻辑电路产生延迟后ESR0被拉低,MCU内部的一些模块和电路(Pads/Port Reset)就会被Reset,在ESR0被拉下来以后,CPUx核、PeripheralFlashClock就会发生复位,这些模块复位后ESR0就会被释放掉,从0变成1,从这个点开始,MCUFirmwareBoot rom)开始执行(Execution)。对于ESR0我们也可以配置一个ESR0delay,当ESR0delay大于Boot rom的执行时间后,Boot rom执行完准备跳转到User code前会去检测ESR0是不是被拉低,如果没有被拉低的话,就会等待ESR0被拉低后再跳转到User code


2.Clock system

时钟选择部分:外部晶振接入作为MCUsource clockSYSCLK这个Pin脚信号输入作为MCUsource clock,也可以使用fback这个100MHz的片内时钟作为source clock


倍频PLL部分:在TC3xx里面有两个PLL:

1)System_PLL主要是倍频后给MCU的内核提供时钟。

2)Peripheral_PLL主要是倍频后通过一些分频给外设提供时钟。


时钟分配(Distribution)部分:System_PLL产生倍频时钟fPLL0Peripheral_PLL产生倍频时钟fPLL1fPLL2,他们通过Clock Distribution

后通过时钟分频器可以产生各种各样的时钟频率供外设使用。


TC3xx有两种内部晶振:

1100MHzBack-up Clock

270MHzStandby Clock,精度比较低,给SCR提供时钟。

EXTCLK0EXTCLK1可以配置输出上面各种时钟用来观测。

 

一般我们选择20MHz或者25MHz的外部晶振输入,通过System_PLL倍频后产生一个300MHzfPLL0fPLL0一般直接输出300MHzCPU各个内核提供时钟。通过Peripheral_PLL产生160MHzfPLL1200MHzfPLL2,再通过分配给各种外设提供时钟。

 

fsource0fsource1fsource2就是fPLL0fPLL1fPLL2通过各种xxxDIV分屏器产生时钟给各个模块使用,一般fCPUx300MHzfGETH150MHz


Note:fMCANH是给CAN模块的寄存器和RAM操作提供时钟的,fMCAN是给CAN波特率产生提供时钟的。

fSRI通过分频产生fCPUxCPU提供时钟,三个CPU的时钟可以不同,CPU时钟的改变不会影响其他外设时钟。但是注意系统时钟频率的改变会使得系统电流发生改变,影响系统的稳定性。

 

外接晶振有两种模式可以选择:

1)External Input Mode,这种模式下只需要用到输入的XTAL1就行了(XTAL2不需要),也就是在这种模式下需要接一个有源晶振。

2)External Crystal Mode,这种模式下XTAl1XTAL2都会用到,外部接的无源晶振。

 

 

外部晶振频率范围是16MHz到40MHz。

在TC3xx里面还有有load capacitor(负载电容),也就是晶振的负载电容可以不用外部接,可以通过配置寄存器使用内部负载电容。

 

 

Oscillator Watchdog

 

System_PLL里面有一块电路叫Oscillator Watchdog,这块电路主要用来检测输入的晶振在一定的范围里面。它的检测方法是通过内部的100MHzfBAK通过1/40分频产生一个2.5MHzReference Clock,以这个Reference Clockfosc经过1/(OSCVAL+1)分频后的时钟进行Monitor,如果对比后在一个Tolerance range范围外的话,就会置位OSCCON.PLLHV或者OSCCON.PLLLV两个寄存器位域。

 

一般都是使用外部20MHz的输入晶振以及分频/倍频参数来参数CPU和外设时钟。

 

PLL配置流程:

1)使能使用外部晶振

2)Clock Control Unit的Input Clock选择fBAK,Clock Control Unit已经属于Clock Distribution了,没有选择fPLL而是选择fBAK作为它的输入时钟,所以这个时候CPU和Peripheral都是基于fBACK的。

3)选择fosc作为PLL的输入时钟。

4)设置一个初始的PLL配置参数,比如我们先把System_PLL倍频到100MHzPeripheral_PLL可以直接倍频到最终频率,比如Peripheral_PLL1320MHzPeripheral_PLL2200MHz

5)设置分频寄存器。

6)Clock Control Unit的Input Clock选择从fBAK切换到PLL。

7)System_PLL也就是fPLL0慢慢从100MHz倍频到300MHz,是的系统的电流平稳上升。

 

 

CPU时钟慢慢倍频上去,让电流的变化平滑上升。

3.Watchdog

TC3xx芯片的WatchdogSCU模块里面,Watchdog分为两种,一种是CPU Watchdog,一种是Safety Watchdog,每一个CPU都有自己的CPU Watchdog

 

每个Watchdog有三个RegisterWDTxCon0WDTxCon1WDTxSR

 

Watchdog一般情况下如果Watchdog time溢出了就会产生一个watch dog reset,在TC3xxWatchdogTimeout并不会直接触发Reset,而是经过配置SMU后会触发SMU里面的一个Recovery Timer启动,Recovery TimerTimeout时间可以配置,单Recovery Timerout后就会产生一个Alarm,如果这个Alarm配置为Reset信号的话,就会触发Reset

 

 

EndInit的保护有三种:

1)CE”保护,只有把每一个CPUENDINIT设为0后,这个CPUcritical registers保护才被解除(可写)。

2)E”保护,任意一个CPUENDINIT设为0后,所有CPUsystem critical registers保护就解除了。

3)SE”保护,Safety WatchdogENDINIT设为0后,Safety EndInit的保护就解除了。

ENDINIT设置为0的操作,需要一套较为复杂的操作序列。

ENDINIT置为0需要一段时间,只有等到ENDINIT真的为0后才能执行往下的操作,不然可能会产生异常。

 

EICON0SEICON0是两个GlobalENDINIT保护寄存器,如果不想改变Watchdog CPUx或者Safety WatchdogENDINIT值,但是又想解除保护,就可以使用GlobalEICON0SEICON0(前提是EndInit的保护等级是“E”或者“SE”)。

 

对于保护等级为“E”或者“SE”的寄存器,在操作它之前需要先解除EndInit保护。

 

fsys类似fspb,类似于外设总线频率。

 

 

复位以后CPUWatchdog默认是处在Time-Out Mode下的,WDTTime-Out Mode下就会从0xFFFC开始往上计数,如果计数到0xFFFF就会溢出,如果在计数到0xFFFF之前对WDT_CON0进行了password access后对WDT_CON0进行了Modify access,重新对WDT进了reload valueREL_1值(写寄存器前ENDINIT值改为1了,也就是先要介绍ENDINIT保护),这样WDTTime-Out模式切换到了Normal Mode,这个时候WDT开始从REL_1值晚上计数。

Note: 后面会介绍password accessModify access

 

在上图中的3)的地方对WDT_CON0进行了password accessWDT就会切换到Time-Out ModeWDT又从0xFFFC开始计数,如果在4)这个点,又对WDT_CON0做了password access就会切换WDTNormal Mode,同时对WDT_CON0做了一次Modify access后,WDTREL_2开始计数。

 

计数到0xFFFFWDT就溢出了,触发SMUTimeoutAlarm,这个Alarm会触发SMU里面的一个Recovery time进行计数,Recovery timetimeout后就会产生一个SMUreset

 

 

Password access的条件是LCK0ENDINIT1WDTxCON0.PW[7:2]写入当前WDTxCON0.PW[7:2]值的反转值,WDTxCON0.PW[15:8]写入当前WDTxCON0.PW[15:8]值,这样Password access就解锁了。

 

如果Password成功以后,就相当于这个寄存器被解锁了,然后就可以在PW中填入新的PasswordRELENDINIT也可以写入新的值,当完成Modify access后,这个寄存器就又被lock住了,如果要改它就需要再来一次password access

 

WDT_CON0进行了一次Password Access之后WDT的状态会切换为Time-Out mode,也就是说接下来操作这个寄存器的时间必须要比较短,就是要在Watchdog Timeout之前完成操作。

 

 

 

 

Set EndInitModify Access动作会设置WDT_CON0.INIT1WDTReload timer会重新Reload一次,也就是和Watchdog的喂狗操作是一样的。



推荐阅读

简析英飞凌TC3XX MCAL CAN模块

特斯拉最新HW4.0中央计算模块解析

聊聊自动驾驶应用层软件开发

一文搞懂CAN收发器TJA1145

车载抬头显示系统(HUD)历史及发展

车身控制器功能规范

小鹏P7的热管理系统详解

大众ID4.X内部ECU技术细节整理

比亚迪海豹整车技术整理

揭秘理想的整车电子电气架构

国内主机整车EEA架构汇总

谈谈Bootloader自更新

谈谈对两家AUTOSAR工具看法

汽车E/E架构的网络安全分析

电子电气架构设计需要考虑哪些方面?

谈谈对汽车OTA的理解


分享不易,恳请点个【👍】和【在看】

汽车ECU开发 专注于汽车电子ECU软件开发,技术分享。
评论
  • 在2024年的科技征程中,具身智能的发展已成为全球关注的焦点。从实验室到现实应用,这一领域正以前所未有的速度推进,改写着人类与机器的互动边界。这一年,我们见证了具身智能技术的突破与变革,它不仅落地各行各业,带来新的机遇,更在深刻影响着我们的生活方式和思维方式。随着相关技术的飞速发展,具身智能不再仅仅是一个技术概念,更像是一把神奇的钥匙。身后的众多行业,无论愿意与否,都像是被卷入一场伟大变革浪潮中的船只,注定要被这股汹涌的力量重塑航向。01为什么是具身智能?为什么在中国?最近,中国具身智能行业的进
    艾迈斯欧司朗 2025-02-28 15:45 243浏览
  • RGB灯光无法同步?细致的动态光效设定反而成为产品客诉来源!随着科技的进步和消费者需求变化,电脑接口设备单一功能性已无法满足市场需求,因此在产品上增加「动态光效」的形式便应运而生,藉此吸引消费者目光。这种RGB灯光效果,不仅能增强电脑周边产品的视觉吸引力,还能为用户提供个性化的体验,展现独特自我风格。如今,笔记本电脑、键盘、鼠标、鼠标垫、耳机、显示器等多种电脑接口设备多数已配备动态光效。这些设备的灯光效果会随着音乐节奏、游戏情节或使用者的设置而变化。想象一个画面,当一名游戏玩家,按下电源开关,整
    百佳泰测试实验室 2025-02-27 14:15 140浏览
  •           近日受某专业机构邀请,参加了官方举办的《广东省科技创新条例》宣讲会。在与会之前,作为一名技术工作者一直认为技术的法例都是保密和侵权方面的,而潜意识中感觉法律有束缚创新工作的进行可能。通过一个上午学习新法,对广东省的科技创新有了新的认识。广东是改革的前沿阵地,是科技创新的沃土,企业是创新的主要个体。《广东省科技创新条例》是广东省为促进科技创新、推动高质量发展而制定的地方性法规,主要内容包括: 总则:明确立法目
    广州铁金刚 2025-02-28 10:14 111浏览
  • 振动样品磁强计是一种用于测量材料磁性的精密仪器,广泛应用于科研、工业检测等领域。然而,其测量准确度会受到多种因素的影响,下面我们将逐一分析这些因素。一、温度因素温度是影响振动样品磁强计测量准确度的重要因素之一。随着温度的变化,材料的磁性也会发生变化,从而影响测量结果的准确性。因此,在进行磁性测量时,应确保恒温环境,以减少温度波动对测量结果的影响。二、样品制备样品的制备过程同样会影响振动样品磁强计的测量准确度。样品的形状、尺寸和表面处理等因素都会对测量结果产生影响。为了确保测量准确度,应严格按照规
    锦正茂科技 2025-02-28 14:05 155浏览
  • 美国加州CEC能效跟DOE能效有什么区别?CEC/DOE是什么关系?美国加州CEC能效跟DOE能效有什么区别?CEC/DOE是什么关系?‌美国加州CEC能效认证与美国DOE能效认证在多个方面存在显著差异‌。认证范围和适用地区‌CEC能效认证‌:仅适用于在加利福尼亚州销售的电器产品。CEC认证的范围包括制冷设备、房间空调、中央空调、便携式空调、加热器、热水器、游泳池加热器、卫浴配件、光源、应急灯具、交通信号模块、灯具、洗碗机、洗衣机、干衣机、烹饪器具、电机和压缩机、变压器、外置电源、消费类电子设备
    张工nx808593 2025-02-27 18:04 128浏览
  •         近日,广电计量在聚焦离子束(FIB)领域编写的专业著作《聚焦离子束:失效分析》正式出版,填补了国内聚焦离子束领域实践性专业书籍的空白,为该领域的技术发展与知识传播提供了重要助力。         随着芯片技术不断发展,芯片的集成度越来越高,结构也日益复杂。这使得传统的失效分析方法面临巨大挑战。FIB技术的出现,为芯片失效分析带来了新的解决方案。它能够在纳米尺度上对芯片进行精确加工和分析。当芯
    广电计量 2025-02-28 09:15 141浏览
  • 1,微软下载免费Visual Studio Code2,安装C/C++插件,如果无法直接点击下载, 可以选择手动install from VSIX:ms-vscode.cpptools-1.23.6@win32-x64.vsix3,安装C/C++编译器MniGW (MinGW在 Windows 环境下提供类似于 Unix/Linux 环境下的开发工具,使开发者能够轻松地在 Windows 上编写和编译 C、C++ 等程序.)4,C/C++插件扩展设置中添加Include Path 5,
    黎查 2025-02-28 14:39 151浏览
  • 一、VSM的基本原理震动样品磁强计(Vibrating Sample Magnetometer,简称VSM)是一种灵敏且高效的磁性测量仪器。其基本工作原理是利用震动样品在探测线圈中引起的变化磁场来产生感应电压,这个感应电压与样品的磁矩成正比。因此,通过测量这个感应电压,我们就能够精确地确定样品的磁矩。在VSM中,被测量的样品通常被固定在一个震动头上,并以一定的频率和振幅震动。这种震动在探测线圈中引起了变化的磁通量,从而产生了一个交流电信号。这个信号的幅度和样品的磁矩有着直接的关系。因此,通过仔细
    锦正茂科技 2025-02-28 13:30 108浏览
  • 更多生命体征指标风靡的背后都只有一个原因:更多人将健康排在人生第一顺位!“AGEs,也就是晚期糖基化终末产物,英文名Advanced Glycation End-products,是存在于我们体内的一种代谢产物” 艾迈斯欧司朗亚太区健康监测高级市场经理王亚琴说道,“相信业内的朋友都会有关注,最近该指标的热度很高,它可以用来评估人的生活方式是否健康。”据悉,AGEs是可穿戴健康监测领域的一个“萌新”指标,近来备受关注。如果站在学术角度来理解它,那么AGEs是在非酶促条件下,蛋白质、氨基酸
    艾迈斯欧司朗 2025-02-27 14:50 426浏览
  • 在物联网领域中,无线射频技术作为设备间通信的核心手段,已深度渗透工业自动化、智慧城市及智能家居等多元场景。然而,随着物联网设备接入规模的不断扩大,如何降低运维成本,提升通信数据的传输速度和响应时间,实现更广泛、更稳定的覆盖已成为当前亟待解决的系统性难题。SoC无线收发模块-RFM25A12在此背景下,华普微创新推出了一款高性能、远距离与高性价比的Sub-GHz无线SoC收发模块RFM25A12,旨在提升射频性能以满足行业中日益增长与复杂的设备互联需求。值得一提的是,RFM25A12还支持Wi-S
    华普微HOPERF 2025-02-28 09:06 166浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦