简析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软件开发,技术分享。
评论 (0)
  • 文/郭楚妤编辑/cc孙聪颖‍相较于一众措辞谨慎、毫无掌舵者个人风格的上市公司财报,利亚德的财报显得尤为另类。利亚德光电集团成立于1995年,是一家以LED显示、液晶显示产品设计、生产、销售及服务为主业的高新技术企业。自2016年年报起,无论业绩优劣,董事长李军每年都会在财报末尾附上一首七言打油诗,抒发其对公司当年业绩的感悟。从“三年翻番顺大势”“智能显示我第一”“披荆斩棘幸从容”等词句中,不难窥见李军的雄心壮志。2012年,利亚德(300296.SZ)在深交所创业板上市。成立以来,该公司在细分领
    华尔街科技眼 2025-05-07 19:25 131浏览
  • 多功能电锅长什么样子,主视图如下图所示。侧视图如下图所示。型号JZ-18A,额定功率600W,额定电压220V,产自潮州市潮安区彩塘镇精致电子配件厂,铭牌如下图所示。有两颗螺丝固定底盖,找到合适的工具,拆开底盖如下图所示。可见和大部分市场的加热锅一样的工作原理,手绘原理图,根据原理图进一步理解和分析。F1为保险,250V/10A,185℃,CPGXLD 250V10A TF185℃ RY 是一款温度保险丝,额定电压是250V,额定电流是10A,动作温度是185℃。CPGXLD是温度保险丝电器元件
    liweicheng 2025-05-05 18:36 259浏览
  • 某国产固态电解的2次和3次谐波失真相当好,值得一试。(仅供参考)现在国产固态电解的性能跟上来了,值得一试。当然不是随便搞低端的那种。电容器对音质的影响_电子基础-面包板社区  https://mbb.eet-china.com/forum/topic/150182_1_1.html (右键复制链接打开)电容器对音质的影响相当大。电容器在音频系统中的角色不可忽视,它们能够调整系统增益、提供合适的偏置、抑制电源噪声并隔离直流成分。然而,在便携式设备中,由于空间、成本的限
    bruce小肥羊 2025-05-04 18:14 232浏览
  • ‌一、高斯计的正确选择‌1、‌明确测量需求‌‌磁场类型‌:区分直流或交流磁场,选择对应仪器(如交流高斯计需支持交变磁场测量)。‌量程范围‌:根据被测磁场强度选择覆盖范围,例如地球磁场(0.3–0.5 G)或工业磁体(数百至数千高斯)。‌精度与分辨率‌:高精度场景(如科研)需选择误差低于1%的仪器,分辨率需匹配微小磁场变化检测需求。2、‌仪器类型选择‌‌手持式‌:便携性强,适合现场快速检测;‌台式‌:精度更高,适用于实验室或工业环境。‌探头类型‌:‌横向/轴向探头‌:根据磁场方向选择,轴向探头适合
    锦正茂科技 2025-05-06 11:36 381浏览
  • 2024年初,OpenAI公布的Sora AI视频生成模型,震撼了国产大模型行业。随后国产厂商集体发力视频大模型,快手发布视频生成大模型可灵,字节跳动发布豆包视频生成模型,正式打响了国内AI视频生成领域第一枪。众多企业匆忙入局,只为在这片新兴市场中抢占先机,却往往忽视了技术成熟度与应用规范的打磨。以社交平台上泛滥的 AI 伪造视频为例,全红婵家人被恶意仿冒博流量卖货,明星们也纷纷中招,刘晓庆、张馨予等均曾反馈有人在视频号上通过AI生成视频假冒她。这些伪造视频不仅严重侵犯他人权
    用户1742991715177 2025-05-05 23:08 81浏览
  • 二位半 5线数码管的驱动方法这个2位半的7段数码管只用5个管脚驱动。如果用常规的7段+共阳/阴则需要用10个管脚。如果把每个段看成独立的灯。5个管脚来点亮,任选其中一个作为COM端时,另外4条线可以单独各控制一个灯。所以实际上最多能驱动5*4 = 20个段。但是这里会有一个小问题。如果想点亮B1,可以让第3条线(P3)置高,P4 置低,其它阳极连P3的灯对应阴极P2 P1都应置高,此时会发现C1也会点亮。实际操作时,可以把COM端线P3设置为PP输出,其它线为OD输出。就可以单独控制了。实际的驱
    southcreek 2025-05-07 15:06 196浏览
  • 这款无线入耳式蓝牙耳机是长这个样子的,如下图。侧面特写,如下图。充电接口来个特写,用的是卡座卡在PCB板子上的,上下夹紧PCB的正负极,如下图。撬开耳机喇叭盖子,如下图。精致的喇叭(HY),如下图。喇叭是由电学产生声学的,具体结构如下图。电池包(AFS 451012  21 12),用黄色耐高温胶带进行包裹(安规需求),加强隔离绝缘的,如下图。451012是电池包的型号,聚合物锂电池+3.7V 35mAh,详细如下图。电路板是怎么拿出来的呢,剪断喇叭和电池包的连接线,底部抽出PCB板子
    liweicheng 2025-05-06 22:58 291浏览
  • UNISOC Miracle Gaming奇迹手游引擎亮点:• 高帧稳帧:支持《王者荣耀》等主流手游90帧高画质模式,连续丢帧率最高降低85%;• 丝滑操控:游戏冷启动速度提升50%,《和平精英》开镜开枪操作延迟降低80%;• 极速网络:专属游戏网络引擎,使《王者荣耀》平均延迟降低80%;• 智感语音:与腾讯GVoice联合,弱网环境仍能保持清晰通话;• 超高画质:游戏画质增强、超级HDR画质、游戏超分技术,优化游戏视效。全球手游市场规模日益壮大,游戏玩家对极致体验的追求愈发苛刻。紫光展锐全新U
    紫光展锐 2025-05-07 17:07 186浏览
  • Matter协议是一个由Amazon Alexa、Apple HomeKit、Google Home和Samsung SmartThings等全球科技巨头与CSA联盟共同制定的开放性标准,它就像一份“共生契约”,能让原本相互独立的家居生态在应用层上握手共存,同时它并非另起炉灶,而是以IP(互联网协议)为基础框架,将不同通信协议下的家居设备统一到同一套“语义规则”之下。作为应用层上的互通标准,Matter协议正在重新定义智能家居行业的运行逻辑,它不仅能向下屏蔽家居设备制造商的生态和系统,让设备、平
    华普微HOPERF 2025-05-08 11:40 48浏览
  • 后摄像头是长这个样子,如下图。5孔(D-,D+,5V,12V,GND),说的是连接线的个数,如下图。4LED,+12V驱动4颗LED灯珠,给摄像头补光用的,如下图。打开后盖,发现里面有透明白胶(防水)和白色硬胶(固定),用合适的工具,清理其中的胶状物。BOT层,AN3860,Panasonic Semiconductor (松下电器)制造的,Cylinder Motor Driver IC for Video Camera,如下图。TOP层,感光芯片和广角聚焦镜头组合,如下图。感光芯片,看着是玻
    liweicheng 2025-05-07 23:55 75浏览
  • 随着智能驾驶时代到来,汽车正转变为移动计算平台。车载AI技术对存储器提出新挑战:既要高性能,又需低功耗和车规级可靠性。贞光科技代理的紫光国芯车规级LPDDR4存储器,以其卓越性能成为国产芯片产业链中的关键一环,为智能汽车提供坚实的"记忆力"支持。作为官方授权代理商,贞光科技通过专业技术团队和完善供应链,让这款国产存储器更好地服务国内汽车厂商。本文将探讨车载AI算力需求现状及贞光科技如何通过紫光国芯LPDDR4产品满足市场需求。 车载AI算力需求激增的背景与挑战智能驾驶推动算力需求爆发式
    贞光科技 2025-05-07 16:54 143浏览
我要评论
0
1
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦