目录
- TCAN114x-Q1部分组网增强型CAN FD收发器
- 1、功能
- 2、应用程序
- 3、描述
- 4、设备比较表
- 5、引脚配置与功能
- 8、规格
- 8.1绝对最大评级
- 9、参数测量信息
- 10、详细描述
- 10.1概述
- 10.2功能框图
- 10.3特性描述
- 10.3.1 VSUP引脚
- 10.3.2 VIO引脚
- 10.3.3 VCC引脚
- 10.3.4接地
- 10.3.5 INH/LIMP引脚
- 10.3.6 WAKE引脚
- 10.3.8 RXD引脚
- 10.3.9 SDO/nINT中断引脚
- 10.3.10 nCS引脚
- 10.4设备功能模式
- 10.4.1正常模式
- 10.4.2待机模式
- 10.4.3只听模式
- 10.4.4.1休眠模式下BWRR (Bus Wake via RXD Request)
- 10.4.4.2通过Wake输入终端的本地唤醒(LWU)
- 10.4.5选择性唤醒
- 10.4.5.2帧检测(TCAN1145-Q1和TCAN1146-Q1)
- 10.4.5.5 WUF DLC验证(TCAN1145-Q1和TCAN1146-Q1)
- 10.4.5.6 WUF数据验证(TCAN1145-Q1和TCAN1146-Q1)
- 10.4.5.7帧错误计数器(TCAN1145-Q1和TCAN1146-Q1)
- 10.4.6故障保护
- 10.4.6.2故障安全模式
- 10.4.7.2浮动终端
- 10.4.7.3 TXD支配超时
- 10.4.7.4 CAN总线短路电流限制
- 10.4.7.6.2 UVIO
- 10.4.7.7.4问答看门狗
- 10.4.7.7.4.1 WD问答基本信息问答(Q&A)
- 10.4.7.7.5问答WD举例
- 10.4.7.7.5.1期望行为配置举例
- 10.4.7.7.5.2问答序列举例
- 10.4.9 SPI通信
- 10.4.9.3 SPI串行数据输入(SDI):
- 10.4.9.4 SPI串行数据输出(SDO):
- 10.5编程
- 10.6寄存器映射
TCAN114x-Q1部分组网增强型CAN FD收发器
1、功能
•AEC-Q100(1级):汽车应用合格
•符合ISO 11898-2:2016的要求
•TCAN1145-Q1和TCAN1146-Q1提供支持选择性唤醒/部分网络,同时发送/接收无错误的经典CAN或CAN FD数据。
•CAN FD通信速率高达5mbps
•功能安全质量管理(TCAN1144-
Q1和TCAN1146-Q1)
-可用于功能安全系统设计的文件
功能安全(TCAN1145-Q1)
-可用于功能安全系统设计的文件
•TCAN114x-Q1支持1.8 V至5 V的标称处理器IO电压
•操作范围广:
-±58v母线故障保护
-±12v共模
•TCAN1144-Q1和TCAN1146-Q1支持:
看门狗:超时,窗口和问答
—高级总线故障诊断和报告
-可编程INH/LIMP引脚
•14针SOIC, VSON和SOT23封装
- VSON封装具有改进的自动光学检测(AOI)能力
2、应用程序
•车身电子和照明
•汽车信息娱乐和集群
•混合动力、电动和动力系统
•工业运输
3、描述
TCAN114x-Q1是一个增强型高速CAN FD收发器系列,支持高达5 Mbps的数据速率。这些设备使用串行外设接口(SPI)进行配置,以获得全部功能。TCAN114x-Q1通过在VIO引脚上施加适当的电压,支持1.8 V至5 V的标称处理器IO电压,从而允许使用低功耗处理器。
TCAN1145-Q1和TCAN1146-Q1收发器支持选择性唤醒(能够基于WUF识别唤醒)。该特性使系统能够实现部分联网,并在活动状态下减少节点数量,而其余节点处于低功耗休眠模式下运行。收发器和选择性尾流功能符合ISO 11898-2:2016标准的规格。
TCAN1144-Q1和TCAN1146-Q1是全功能器件,支持看门狗和高级总线诊断。为了便于调试,可以使用先进的总线故障诊断和通信功能来确定特定的总线故障。
TCAN114x-Q1是一系列增强型高速CAN FD收发器,具有寄存器兼容性,使系统设计人员能够灵活地实现所需的功能,而无需修改硬件和最小的软件更改。TCAN1144-Q1和TCAN1146-Q1抑制(INH)引脚可用于使能节点电源,也可在发生看门狗错误时配置为跛行主引脚。
4、设备比较表
5、引脚配置与功能
8、规格
8.1绝对最大评级
超过绝对最大额定值的压力可能会对设备造成永久性损坏。这些仅是压力额定值,并不意味着设备在这些或超出推荐工作条件的任何其他条件下的功能操作。长时间暴露在绝对最大额定条件下可能会影响设备的可靠性。
9、参数测量信息
注意
A:正常和收听模式或所有其他模式,而不是在沉默
•TCAN1145-Q1和TCAN1146-Q1支持选择性唤醒
B:所有模式,除了正常和聆听模式,在t_Silence
10、详细描述
10.1概述
TCAN114x-Q1是一款CAN FD收发器,支持高达5 Mbps的数据速率,符合高速CAN物理层标准:ISO 11898-2:2016。TCAN1145-Q1和TCAN1146-Q1支持在专用can帧上选择性唤醒。设备也可以通过can总线实现远程唤醒
ISO 11898-2:2016唤醒模式(WUP)。TCAN114x-Q1支持1.8 V, 3.3 V和5 V处理器使用
VIO销。处理器接口通过SPI、RXD和TXD端子实现。
设备有一个Serial
外围接口(SPI),连接到本地微处理器进行配置。SPI支持时钟频率高达4 MHz。当芯片选择引脚高时,串行数据输出(SDO)引脚可配置为中断输出引脚,为系统设计提供了灵活性。
TCAN114x-Q1提供CAN FD收发功能:对总线的差分发送能力和总线的差分接收能力。该设备包括许多保护功能,提供设备和
CAN网络的鲁棒性。
CAN总线在工作时有两种逻辑状态:隐性和显性。如图9-1和图9-2所示。
隐性总线状态是当总线通过总线上每个节点的接收器的高电阻内部输入电阻跨终端电阻偏置到约2.5 V的公共模式时。隐性相当于逻辑高电压,通常是总线上几乎0 V的差分电压。隐性状态也是闲置状态。
主导总线状态是指总线由一个或多个司机以不同的方式驱动。电流被诱导流过终端电阻并在母线上产生差分电压。优势相当于逻辑低,是总线上的差分电压大于CAN优势的最小阈值。显性状态覆盖隐性状态。
在仲裁过程中,多个CAN节点可以同时发送一个主导位。在这种情况下,母线的差分电压大于单个驱动器的差分电压。
收发器具有第三总线状态,其中总线终端通过接收器的高电阻内部电阻弱偏置到地。如图9-1和图9-2所示。
TCAN114x-Q1提供了10.3节中提供的许多增强功能。增强的功能,如先进的总线故障检测,故障安全,看门狗和提供处理器中断在其特定的小节中描述
10.2功能框图
10.3特性描述
10.3.1 VSUP引脚
这个引脚连接到电池电源。它为支持数字核心和低功耗CAN接收器的内部稳压器提供电源。
10.3.2 VIO引脚
VIO引脚提供数字IO电压以匹配微处理器IO电压,从而避免了电平移位器的要求。VIO支持SPI引脚。TCAN114x-Q1系列支持1.8 V、
3.3 V和5v输入/输出,提供最广泛的控制器支持。
10.3.3 VCC引脚
VCC引脚为内部CAN收发器提供5v。
10.3.4接地
GND引脚用于接地。
10.3.5 INH/LIMP引脚
INH引脚是一个高压输出引脚,提供来自VSUP的电压,减去二极管降,以启用外部高压稳压器。这些稳压器通常用于支持微处理器和VIO引脚。除睡眠模式外,INH功能在所有模式下都开启。在睡眠模式下,INH引脚关闭,进入高Z状态。这允许在休眠模式下将节点置于最低功耗状态。如果不需要此功能,可以通过使用SPI接口设置寄存器8’h1A[6] = 1b来禁用它。如果不需要此功能,TCAN1144-Q1和TCAN1146-Q1可以通过设置寄存器8’h1A[5] = 1b将该引脚配置为LIMP主引脚。当配置为跛脚引脚时,它连接到外部电路以跛行主模式。如果Watchdog超时,设备默认开启LIMP home功能。要关闭跛行,三个连续的(默认)正确的看门狗输入触发必须发生。可以使用LIMP_SEL_RESET将正确的看门狗输入触发器的数量更改为一个,寄存器8’h1A[3:2] = 01b。如果使能了故障安全模式,如果使能了故障安全模式,任何导致设备进入该模式的事件都会导致LIMP引脚导通。写入1b到8’h1A[1], LIMP_RESET,可用于关闭LIMP引脚。
注:此端子应被视为“高压逻辑”端子,而不是功率输出;因此,它应该用于驱动系统电源管理设备的EN端子,而不是用作电源管理电源本身的开关。该端子没有反向电池保护,因此不应连接到系统模块的外部。
10.3.6 WAKE引脚
WAKE引脚用于本地唤醒(LWU)。这个函数将在第10.4.4.2节中进一步解释。引脚默认为双向边缘触发,这意味着它在wake引脚转换的上升沿或下降沿上识别本地唤醒(LWU)。这个默认值可以通过SPI命令更改,该命令将其配置为仅上升沿,仅下降沿,特定宽度和定时的脉冲或过滤的上升沿或下降沿。这是通过使用寄存器8’h11[7:0]完成的。引脚需要一个22nf的电容在两个电阻之间接地。10.3.7 TXD引脚TXD引脚是处理器对CAN总线的输入。
10.3.8 RXD引脚
RXD引脚是从CAN总线到处理器的输出。当一个唤醒事件发生时,这个引脚在默认情况下被拉低。唤醒动作可以通过设置寄存器8’h12[2] = 1b, RXD_WK_CONFIG来改变为脉冲。上电后,RXD引脚被拉低,设备已进入待机模式。RXD引脚具有内部60 kΩ上拉到VIO,当VSUP≤UVSUP, POR或设备处于睡眠模式时,该引脚处于活动状态。
10.3.9 SDO/nINT中断引脚
nINT与SPI串行数据输出(SDO)功能共用引脚,默认为仅为SDO。如果引脚用作nINT,寄存器8’h29[0]应该设置为1b, SDO_CONFIG。当配置为支持nINT时,当nCS引脚高时,引脚作为中断输出,默认情况下为全局中断拉低,8’h50[7:0]。当nCS低时,设备使用SPI端口,该引脚是TCAN114x-Q1的串行数据输出。使用nINT特性时,高层系统和时序图示例如图10-6和图10-7所示。
•为了使用nINT功能,建议使用SPI总线的点对点架构,但不是必需的。•在多点系统中使用nINT功能时,建议在与SPI总线上的另一个设备通信之前,第一步是禁用此功能,然后在通信停止后重新启用。这避免了中断损坏SDO行。•nINT是寄存器8’h50 ~ 8’h54中未被屏蔽的所有故障的逻辑或
10.3.10 nCS引脚
nCS引脚是SPI芯片的选择引脚。当拉低并且时钟存在时,设备可以被写入或读取。10.3.11 SCLK SCLK引脚是TCAN114x-Q1的SPI时钟。时钟速率最大值为4mhz。10.3.12 SDI当nCS低时,这个引脚是SPI串行数据输入引脚,用于编程设备或请求数据。10.3.13 CANH和CANL总线引脚这些是CAN高和CAN低差分总线引脚。这些引脚连接到CAN收发器和低压WUP CAN接收器。这些功能在整个文档中都有解释。CAN总线偏置见11.1.2.2节。
10.4设备功能模式
TCAN114x-Q1具有正常、待机、收听、睡眠、故障安全等多种工作模式和两种保护模式。前四种模式的选择是由SPI寄存器,8h10[2:0]。故障安全模式,如果启用,将进入由于各种故障条件。保护模式是一种修改后的待机模式,用于在故障安全模式被禁用时对设备或总线进行保护。当接收到WUP或LWU事件时,TCAN114x-Q1自动从休眠模式切换到待机模式。当TCAN1145-Q1和TCAN1146-Q1使能选择性唤醒功能时,设备在收到WUP报文后寻找唤醒帧(WUF)。如果没有收到WUF,设备将切换回休眠模式。各种模式以及在每种模式下设备的哪些部分处于活动状态,请参见表10-1。TCAN114x-Q1状态图,如图10-8、图10-9和图10-10所示,显示了CAN总线在每种工作模式下的偏置。
注:故障安全模式有几个状态为“故障确定”的块。下面给出一个解释。•如果故障条件是UVCC或TSD, nINT和SPI可以激活。如果故障条件是UVIO,这些块将关闭。•INH(默认)在故障安全模式下打开,因此处理器有电源并可以读取发生的故障。当使用故障安全计数器后,程序数唤醒和回到故障安全周期INH可以被编程为关闭,然后打开。•低功耗CAN (WUP)接收器已从VSUP断电。UVSUP事件将导致此接收器关闭。•一旦故障安全计数器限制已达到,如果寄存器8’h17 [6:4] = 100b, FS_CNTR_ACT,设备将进入睡眠模式,不响应唤醒请求。需要硬复位(电源循环)才能使设备恢复正常运行。•在故障安全模式下,SWE定时器启动,唤醒事件被忽略,直到故障被清除。一旦故障被清除,WAKE引脚是活跃的。—如果SWE定时器超时,设备将进入休眠模式。即使故障被清除,如果没有发生唤醒事件,或者设备没有像改变模式那样的SPI通信,也可能发生这种情况。
注:对于状态图,默认情况下SPI在休眠模式下关闭。如果VIO存在,SPI将在睡眠模式下工作,但数据速率降低,这将包括如图10-11所示的选择性唤醒子状态。
10.4.1正常模式
设备的正常工作模式。CAN驱动和接收器完全可操作,CAN通信是双向的。驱动程序将来自CAN FD控制器的TXD信号的数字输入转换为CANH和CANL的差分输出。接收器将来自CANH和CANL的差分信号转换为RXD信号上的数字输出到CAN FD控制器。通过SPI接口开启或关闭正常模式。当故障安全模式和SWE定时器被启用时,SPI命令进入正常模式将关闭SWE定时器。建议清除进程中的中断。在正常模式下,有两种情况会导致SWE定时器启动。•CANSLNT_SWE_DIS = 0,设置CANSLNT中断后启动SWE定时器。需要清除CANSLNT中断以停止计时器。•CANSLNT_SWE_DIS = 1(默认),当没有总线活动存在超过tSILENCE时启动SWE计时器。总线活动将清除静默定时器复位SWE定时器。当SWE定时器超时时,设备将进入休眠模式。
10.4.2待机模式
在待机模式下,总线发送方不发送数据,正常模式的接收方也不接受数据。有几个块在这种模式下是活跃的。低功耗CAN接收器主动监控总线的唤醒模式(WUP)。WAKE管脚监视器处于活动状态。SPI接口是活动的,因此微处理器可以在内存中读取和写入寄存器以获取状态和配置。INH引脚处于活动状态,以便在使用此功能时向VIO控制器提供启用。在总线WUP事件、WUF事件或wake引脚的本地唤醒时,设备自动从休眠模式切换到待机模式。如果VIO存在,设备可以从SPI模式更改命令中唤醒。上电后,TCAN114x-Q1从休眠模式进入待机模式。这将启动SWE定时器tINACTIVE,它要求处理器重置中断标志或将设备配置为正常或侦听模式。此功能确保在处理器无法正常启动时节点将处于最低功耗模式。当设备进入睡眠模式并接收唤醒事件(WUP、WUF或LWU)时,也会发生这种自动模式变化。要禁用睡眠事件寄存器8’h1C[7] (SWE_DIS)必须设置为1。这不会在上电或上电复位时禁用该功能。以下是TCAN1145-Q1和TCAN1146-Q1的选择性唤醒如何在睡眠和待机模式之间相互作用的描述。•开机时,设备处于待机状态。清除所有唤醒标志(PWRON, WUP/LWU),配置选择性唤醒寄存器,然后设置选择性唤醒配置(SWCFG = 1)和选择性唤醒使能(SW_EN = 1)。•当SWCFG = 1,设备被置于睡眠模式时,低功耗WUP接收器处于活动状态,等待WUP。•一旦收到WUP, WUF接收器就处于活动状态。•设备接收到唤醒帧,并判断节点是否被请求唤醒。—如果WUF匹配有效,则唤醒节点进入备用模式。—如果WUF不是有效匹配项,则设备进入休眠模式。•唤醒中断发生在任何类型- WUF (CANINT), FRAME_OVF或LWU(如果启用),设备进入待机模式。
注意:在待机模式下,当PWRON、LWU、CANINT和FRAME_OVF中断被清除时,RXD引脚将被释放回高位。
10.4.3只听模式
在这种模式下,CAN的发送端被禁用,只有接收端被启用。CAN总线上的数据可以在RXD引脚上看到,但TXD上的任何数据都无法到达CAN总线。除看门狗关闭外,所有其他功能与正常模式相同。当故障安全模式和SWE定时器被启用时,在正常模式下提供的相同行为在仅监听模式下存在。10.4.4休眠模式休眠模式与待机模式类似,只是SPI接口和INH通常是关闭的。当低功耗CAN接收器关闭VSUP电源时,实现者可以关闭VIO。如果VIO在睡眠模式下存在,则可以进行SPI访问,但速率会降低。如果在将nCS拉低和开始读或写之间至少使用10 μs延迟,则可以利用最大SPI速率。如果VIO关闭,则SPI接口关闭,退出睡眠模式的唯一方法是通过唤醒事件或电源周期。提供睡眠模式状态标志,以确定设备是通过正常操作进入睡眠模式,还是由于故障导致模式改变。寄存器8’h52[7]提供状态。如果故障导致设备进入休眠模式,则该标志置为1。
注意:休眠模式与待机模式的区别•休眠模式通过关闭VREG使能引脚的INH,从而关闭节点的电源,从而降低整个节点的功耗。•待机模式从正常模式降低TCAN114x-Q1的功耗,但比睡眠模式具有更高的功耗,因为INH被启用,打开节点处理器VREG。SPI接口激活
10.4.4.1休眠模式下BWRR (Bus Wake via RXD Request)
TCAN114x-Q1支持低功耗休眠和待机模式,采用CAN总线唤醒机制,称为BWRR (Bus Wake via RXD Request)。一旦接收到这种模式,TCAN114x-Q1自动从睡眠模式切换到待机模式,并插入一个中断到nINT引脚上,如果启用,以指示主机微处理器总线是活动的,处理器应该唤醒并服务于TCAN114x-Q1。低功耗接收器和总线监视器在睡眠模式下启用,允许通过CAN总线进行RXD唤醒请求。唤醒请求被输出到RXD(低驱动),如图10-12所示。外部CAN FD控制器监视RXD的转换(高到低),并根据RXD唤醒请求将设备重新激活到正常模式。在此模式下,CAN总线端子被弱拉到GND,在BWRR之前,如果tSILENCE超时,如图9-2所示。该设备使用ISO 11898- 2:20 16中的唤醒模式(WUP)来将总线流量限定为唤醒主机微处理器的请求。总线尾流请求通过与RXD终端(BWRR)上占主导地位的“滤波”总线对应的下降沿和低沿向集成CAN FD控制器发出信号。唤醒模式(WUP)由以下部分组成:•过滤后的主导总线至少为tWK_FILTER,其次是过滤后的隐性总线时间至少为tWK_FILTER,其次是过滤后的主导总线时间至少为tWK_FILTER。一旦检测到WUP,设备开始在RXD引脚上发出唤醒请求(BWRR)。该引脚的行为由寄存器h’12[2]决定。如果h’12[2] = 0,一旦WUP模式满足显性、隐性、显性滤波时间,RXD引脚被拉低。第一个被过滤的显性启动WUP,总线监视器现在正在等待被过滤的隐性;其他总线流量不会重置总线监视器。一旦接收到经过过滤的隐性消息,总线监视器就会等待经过过滤的显性消息,并且其他总线流量不会重置总线监视器。在接收到第二个过滤的主导信号后,总线监视器立即识别WUP并转换到BWRR输出。对于被认为是“过滤”的显性或隐性总线,该总线必须处于该状态超过tWK_FILTER时间。由于tWK_FILTER的可变性,以下场景是适用的。•总线状态时间小于tWK_FILTER(MIN)永远不会作为WUP的一部分被检测到,因此不会生成BWRR。•在tWK_FILTER(MIN)和tWK_FILTER(MAX)之间的总线状态时间可以作为WUP的一部分被检测到,并且可以生成BWRR。•总线状态次数超过tWK_FILTER(MAX)总是作为WUP的一部分检测;因此,总会生成一个BWRR。WUP定时图如图10-12所示。WUP和BWRR使用的模式和tWK_FILTER时间可以防止噪声和总线卡主导故障导致错误唤醒请求,同时允许任何CAN或CAN FD消息启动BWRR。如果设备切换到正常模式或VCC发生欠压事件,则BWRR丢失。WUP模式必须在tWK_TIMEOUT时间内发生;否则,设备处于等待下一个隐性的状态,然后是一个有效的WUP模式。如果h’12[2] = 1, RXD引脚在tTOGGLE = 10µs内从低到高到低切换,直到设备进入正常或收听模式。BWRR在上电后处于待机模式,一旦退出睡眠模式或某些故障安全模式条件。如果SPI写入使设备进入待机模式,则RXD引脚高,直到发生唤醒事件。然后,RXD引脚的行为就像从睡眠模式唤醒时一样。
10.4.4.2通过Wake输入终端的本地唤醒(LWU)
Wake终端是一个接地偏置输入终端,可以通过电压转换支持用于本地唤醒(LWU)请求的高压尾流输入。终端在低到高或高到低转换上触发LWU事件,因为它具有双向输入阈值。该端子可与VSUP或接地开关一起使用。如果终端不使用,应将其拉到地,以避免不必要的寄生唤醒事件。
WAKE终端默认为双向输入,但可以配置上升沿和下降沿转换,如图10-14和图10-15所示,使用WAKE_CONFIG寄存器11h[7:6]。一旦设备进入休眠模式,在确定WAKE输入的状态转换之前,WAKE终端电压电平需要处于tWAKE的低状态或高状态。
还有另外两种尾流方法可以与wake引脚一起使用,脉冲尾流和滤波尾流。对于脉冲尾流输入,在wake引脚上的脉冲必须在指定的时间内被认为是有效的。对于脉冲和过滤后的尾流配置,小于tWAKE_INVALID的脉冲宽度将被过滤掉。对于脉冲配置,脉冲必须在tWK_WIDTH_MIN和tWK_WIDTH_MAX之间,如图10-16所示。这张图提供了三个脉冲的例子,以及设备是否会唤醒。tWK_WIDTH_MIN由寄存器11h[3:2]设置的tWK_WIDTH_INVALID的值决定。有两个区域可以检测到脉冲,也可以不检测到脉冲。通过使用寄存器1Bh[1], WAKE_WIDTH_MAX_DIS,可以将脉冲模式配置为滤波后的尾流输入。将1写入该位将禁用tWK_WIDTH_MAX,并且WAKE输入将基于寄存器11h[3:2]的配置,该配置选择tWK_WIDTH_INVALID和tWK_WIDTH_MIN值。小于tWK_WIDTH_INVALID的WAKE输入将被过滤掉,如果大于tWK_WIDTH_MIN,则INH将打开,设备将进入待机模式。两者之间的区域可能无法识别,也可能无法识别,如图10-17所示。寄存器12h[7]确定被识别的脉冲或滤波器边缘的方向。WAKE引脚的状态可以从寄存器11h[5:4]确定。当WAKE引脚发生变化时,器件将其注册为上升沿或下降沿。这将被锁存,直到一个00被写入位。LWU电路在睡眠模式、待机模式和进入睡眠的过渡状态下都是活动的。如果发生有效的LWU事件,设备将切换到待机模式。LWU电路在正常模式下不活动。WAKE上恒定的高电平有一个内部上拉到VSUP, WAKE上恒定的低电平有一个内部下拉到GND。在电源上,这可能看起来像一个LWU事件,可以标记为这样。
注意当为WAKE引脚选择上升沿或下降沿时,在边缘之前的状态需要一段tWAKE时间。•如果上升边选择和设备睡觉后高,一个低至少tWAKE之前必须存在上升边后事件•如果一个下降沿和设备选择睡觉后低,高至少tWAKE必须出现在下降沿后事件•这个要求没有必要双向优势(默认)•图10 - 14和图10 - 15提供上升沿或者下降沿的例子后输入。tWAKE基于从有效WUP到INH打开所需的时间。一旦VIO, RXD将被拉低。UVIO和VCC >进入UVCC和备用模式。
10.4.5选择性唤醒
TCAN1145-Q1和TCAN1146-Q1根据ISO 11898-2:2016支持选择性唤醒。10.4.5.1选择性唤醒模式(TCAN1145-Q1和TCAN1146-Q1)该模式为设备的中等级别省电模式。WUF接收器被打开,并在内部连接到帧检测逻辑,该逻辑正在寻找帧中概述的唤醒帧(WUF)
数据表的检测部分。在这种状态下,CAN总线数据不放在RXD引脚上。该设备通过来自系统电池的VSUP电源供电。选择性唤醒模式下有效的唤醒源有:•唤醒帧(WUF)•唤醒引脚本地唤醒(LWU)。WAKE引脚上的事件必须与寄存器8’h11[7:6]中WAKE引脚的编程要求相匹配•帧溢出(FRAME_OVF)•SPI命令到另一个状态如果发生WUF和/或LWU事件,则唤醒请求设置相应的唤醒事件标志(WUF和/或LWU)标志。在这一点上,中断是提供给MCU使用nINT引脚,如果启用和拉下RXD引脚。要进入选择性尾流模式,必须满足以下条件:•选择性尾流配置,SWCFG,标志设置-所有选择性尾流寄存器必须写入,然后读取,以确保它们被正确编程,以进行适当的帧检测和选择性尾流配置。配置完成后,SWCFG位应该设置为1。•设置选择性唤醒错误(SW_EN) = 1,寄存器8’h10[7] = 1
注意:
如果故障条件或FRAME_OVF迫使设备进入休眠模式、禁用故障安全模式或禁用故障安全模式,则禁用SW_EN,关闭选择性唤醒功能。
10.4.5.2帧检测(TCAN1145-Q1和TCAN1146-Q1)
帧检测逻辑是允许从CAN总线处理串行数据或CAN帧的逻辑。该设备具有选择性尾流控制寄存器,以设置设备查找使用CAN ID(11位或29位)或CAN ID加上数据帧(包括数据屏蔽)的编程匹配。如果从总线接收到的检测到的CAN帧与帧检测逻辑中配置的要求相匹配,则称为唤醒帧(WUF)。在启用或使用帧检测之前,验证或匹配WUF所需的数据需要在设备寄存器中正确配置。一旦设备被正确配置为允许帧检测或选择性唤醒功能,必须设置SWCFG(选择性唤醒配置)来加载设备的WUF参数。如果检测到有效的WUF,它将通过CANINT标志显示,包括选择性唤醒。当帧检测启用并且总线从有效的WUP偏置到2.5 V时,当逻辑解码设备在总线上接收的CAN帧时,可能会发生其他几个动作。这些包括错误检测和计数以及通过CAN_SYNC和CAN_SYNC_FD标志接收CAN帧的指示。如果在帧检测模式下发生帧溢出(FRAME_OVF),则禁用该功能,清除SW_EN位。当启用帧检测时,从接收器偏置不开启的模式转换到最多4个CAN帧(500kbps或更慢的数据速率)和最多8个CAN帧(大于500kbps)可能被设备忽略,直到帧检测稳定为止。正确配置设备使用帧检测和选择性唤醒的过程是:•写入所有控制寄存器用于帧检测(选择性唤醒),选择性唤醒配置1-4(寄存器8’h44到8’h47), ID和ID掩码(寄存器8’h30和8’h40)。•建议读取所有选择性唤醒寄存器,允许软件确认设备已写入并正确配置。•设置选择性唤醒配置(SWCFG)位为1,寄存器8’4F[7] = 1b。•设置选择性唤醒使能= 1,寄存器8’h10[7] = 1b。
如果从帧溢出标志发生SWERR中断,则需要清除帧溢出中断,然后必须将SWCFG位重新设置为1。10.4.5.3唤醒帧(WUF)验证(TCAN1145-Q1和TCAN1146-Q1)当满足以下条件时,接收到的帧作为唤醒帧(WUF)有效:•未禁用DLC (data Length Code)匹配时,接收到的帧为经典CAN数据帧。当DLC匹配被禁用时,该帧也可以是远程帧。•接收到的经典CAN帧的ID(在ISO 11898-1:2015, 8.4.2.2中定义)与相关位的配置ID完全匹配。•接收到的经典CAN数据帧的DLC(在ISO 11898-1:2015, 8.4.2.4中定义)与配置的DLC完全匹配。参见第10.4.5.6节中描述的机制。可选地,可以通过实现中的配置禁用此DLC匹配条件。•当DLC大于0并且启用DLC匹配时,接收帧的数据字段(如ISO 11898-1:2015, 8.4.2.5中定义的)至少有一个位设置在与配置的数据掩码中的设置位对应的位位置上。参见第10.4.5.5节中描述的机制。•已接收到正确的循环冗余校验(CRC),包括隐性CRC分隔符,并且在确认(ACK)槽之前没有检测到错误(根据ISO 11898-1:2015, 10.11)。10.4.5.4 WUF ID验证(TCAN1145-Q1和TCAN1146-Q1)接收帧的ID与所有所需位的配置ID匹配。相关的位位置由8’h30到8’h33的配置ID和8’h34到8’h38的编程ID掩码决定。支持CBFF (Classic Base Frame Format) 11位Base ID和CEFF (Classic Extended Frame Format) 29位Extended ID和ID mask。除了“不关心”之外,所有被屏蔽的ID位必须与WUF验证所配置的ID位完全匹配。如果将掩码ID位配置为“不在意”,则ID中同时接受“1”和“0”。在ID掩码寄存器中,1表示“不关心”。图10-18为一个有效的WUF ID和对应的ID掩码寄存器示例
10.4.5.5 WUF DLC验证(TCAN1145-Q1和TCAN1146-Q1)
如果设置了数据掩码位,则接收帧的DLC(数据长度码)必须与配置的DLC完全匹配。DLC配置在8’h38[4:1]。数据掩码位设置为8’h38[0]。
10.4.5.6 WUF数据验证(TCAN1145-Q1和TCAN1146-Q1)
当通过数据掩码位启用数据掩码时,接收到的帧数据必须与配置的数据匹配,并且接收到的帧数据字段中至少有一个逻辑高(1)位与配置的数据中数据字段的逻辑高(1)位匹配。相关的位位置由8’h39到8’h40中配置的Data决定,并由8’h38[0]中的Data mask enable使能。匹配和不匹配的示例如图10-19所示
选择性唤醒数据验证确保在总线上发送的最后一个字节将被解释为数据掩码字节0。这意味着对于8字节的数据,发送的第一个字节被解释为数据掩码字节7。对于DLC为3,总线上发送的最后一个字节将被解释为数据掩码字节0,发送的第一个字节将被解释为数据掩码字节2。下面是一些用于发送和接收各种字节的字节的示例
10.4.5.7帧错误计数器(TCAN1145-Q1和TCAN1146-Q1)
在激活选择性唤醒功能和tSILENCE超时后,CAN帧错误计数器被置零。这个错误计数器决定设备检测到的CAN帧错误。错误计数器位于8分45秒,名为FRAME_CNTx。初始计数器值为0,每检测到一个接收到的帧错误(码位、CRC或CRC分隔符形式错误),计数器值加1。如果计数器不为零,则每正确接收到一个CAN帧,计数器就递减1。如果设备在灵活数据速率帧的CAN上设置为被动,则检测到的任何帧作为CAN FD帧对帧错误计数器没有影响(没有增加或减少)。如果收到一个有效的经典CAN帧并且计数器不为零,则计数器将减1。CRC分隔符和间隔字段结束之间的主导位不会增加帧错误计数器。在每次增加或减少错误计数器时,解码器单元等待nBits_idle隐性位,然后将主导位视为帧的开始(SOF)。接收到经典CAN帧和错误场景时,强制开始帧检测的位置如图10-21所示。
帧错误计数器阈值的默认值为31,因此在第32个错误时,设置帧溢出标志(FRAME_OVF)。最多四个(或八个,当比特率>在偏差反应时间(tBias)过去之后开始的连续经典CAN数据和远程帧可能会被忽略,错误计数器不会增加失败,或者被判断为错误(即使没有错误,错误计数器也会增加)。接收到带有非标称保留位(SRR, 0)的CEFF帧不会导致错误计数器增加。帧错误计数器与帧错误计数器阈值FRAME_CNT_THRESHOLD进行比较。如果计数器溢出阈值,则设置帧错误溢出标志FRAME_OVF。帧错误计数器阈值的默认值为31,因此在第32个错误时设置溢出标志。但是,如果应用程序需要不同的帧错误计数溢出阈值,则可以将所需值编程到FRAME_CNT_THRESHOLD寄存器中。通过关闭帧检测、设置CANSLNT标志、设置寄存器8’h46 = 1来重置计数器。错误检测说明如下:•Stuff bit error:当连续第6位接收到相同状态(级别)的比特时,会检测到Stuff bit error。CAN消息编码应该在数据流的这个位上有一个东西位。•CRC错误:CRC序列由发送节点的CRC计算结果组成。该设备使用与发送节点相同的多项式计算CRC。如果计算结果与CRC序列中接收到的结果不相同,则检测到CRC错误。•CRC分隔符错误:当在定义为逻辑高(隐性)的CRC分隔符位位置接收到错误状态(逻辑低/主导)的位时,检测到CRC分隔符错误。10.4.5.8 CAN FD帧容忍度(TCAN1145-Q1和TCAN1146-Q1)在接收到FD格式指示器(FDF)后,后面是一个优势位,解码单元等待nBits_idle隐性位,然后再考虑一个优势位作为soft,如图10-21所示。表10-3定义了nBits_idle。
有两个位滤波器选项可用于支持仲裁和数据相位比特率的不同组合。寄存器8’h47[4]是选择pBitfilter选项的地方。•Bitfilter 1:支持数据相位比特率≤仲裁速率的4倍或2mbps,以较低者为准•Bitfilter 2:支持数据相位比特率≤仲裁速率的10倍或5mbps,以较低者为准。主导信号≤仲裁比特时间的最小pBitfilter,如表10-4所示,不认为有效,不重启隐性比特计数器。主导信号≥仲裁位持续时间pBitfilter的最大值重启隐性位计数器。
10.4.6故障保护
TCAN114x-Q1具有故障保护特性,可在节点系统出现问题时降低节点功耗。这可以分为两种操作模式,睡眠和故障安全。10.4.6.1通过Sleep Wake Error(睡眠唤醒错误)定时器是一个定时器,用于确定特定的外部和内部功能是否工作。图10-22概述了SWE定时器何时开启,故障安全模式何时启动或关闭。在上电、POR或UVSUP事件发生时,SWE定时器启动,tINACTIVE,处理器必须在SWE定时器到期之前配置tcan114x - q1,清除PWRON标志或将设备配置为正常或侦听模式。上电时不能禁用此功能。如果设备没有清除PWRON标志或被置于正常或监听模式,则进入睡眠模式。对于其他导致设备进入故障安全模式的场景,可以通过设置SWE_DIS禁用SWE定时器;[7] = 1 and FS_DIS at[0] = 1。设备唤醒为CAN总线WUP或本地唤醒,从而进入待机模式。一旦进入待机模式,tSILENCE和tINACTIVE计时器就会启动。如果tINACTIVE超时,设备将重新进入休眠模式。当设备接收到CANINT、LWU或FRAME_OVF使设备离开睡眠模式并进入待机模式时,处理器必须在tINACTIVE过期之前清除标志并将设备置于正常模式。如果没有,设备进入休眠模式。当设备处于待机、正常或收听模式,且tINACTIVE的tSILENCE (SWE_DIS=1)或CANSLNT (SWE_DIS=0)持续存在时,设备进入休眠模式。可能产生这种情况的事件示例是处理器不再工作并且无法行使SPI总线,进入睡眠命令并且处理器无法接收它或无法响应。
10.4.6.2故障安全模式
故障安全模式是一种低功耗的运行模式,不同的故障会导致设备进入该模式。一旦进入此模式,SWE计时器将启动。这为清除故障和接收唤醒事件提供了一个时间窗口。如果故障未清除或未在tINACTIVE之前发生唤醒事件,则设备将进入睡眠模式以降低功耗。必须在识别到唤醒事件之前清除故障,设备才能进入正确的工作模式。该模式是默认开启的,可以通过设置寄存器8’h17[0] = 1来禁用。故障安全模式计数器是可用的,在一系列事件之后,设备执行可编程的动作,包括进入睡眠和WUP或LWU事件不唤醒设备。需要上电复位。计数器默认是关闭的,可以在8点17分启用[7]。到期日是8点17分[6:4]。设定动作前的事件数为8分18秒[7:4],最多可达15个事件。8’h18[3:0]是可以读取和清除的上/下故障安全事件计数器。如果进入故障安全模式,则发出全局中断,8’h53[5],进入故障安全模式的原因由寄存器8’h17[3:1]提供。•故障安全计数器计数每个事件。术语“一行”是指在计数器未被清除的情况下发生的每个事件,而不是指在指定时间内发生的事件。•每次设备进入故障安全模式后,应清除故障安全计数器,以避免不必要的动作。10.4.7保护特性TCAN114x-Q1具有多种保护特性,具体介绍如下。10.4.7.1驱动与接收功能TXD和RXD引脚是处理器与CAN物理层收发器之间的输入输出。这些设备的数字逻辑输入和输出电平是TTL电平,以便与协议控制器兼容
具有1.8 V, 3.3 V或5 V逻辑或I/O。每种模式下CAN驱动和CAN接收的状态如表10-5和表10-6所示。
10.4.7.2浮动终端
关键终端有内部上拉,当终端浮动时,将设备置于已知状态。终端偏置条件详见表10-7。
注意:
内部偏置不应仅仅依赖于终止,特别是在嘈杂的环境中,而应被视为故障安全保护。当该器件与使用漏极开路输出的mcu一起使用时,需要特别注意。
10.4.7.3 TXD支配超时
TCAN114x-Q1支持支配状态超时。这是一个基于TXD路径的内部函数。TXD DTO电路防止本地节点在硬件或软件故障时阻塞网络通信,其中TXD保持主导(LOW)的时间超过超时时间tTXD_DTO。TXD DTO电路由TXD上的下降沿触发。如果在TXD端没有看到上升沿,从而清除电路的超时常数tTXD_DTO,则CAN驱动被禁用。这释放了总线,以便在网络上的其他节点之间进行通信。当在TXD终端上看到隐性信号(HIGH)时,CAN驱动程序被重新激活;因此,清除了主导超时。在TXD DTO故障期间,接收器保持活动,RXD终端反映CAN总线上的活动,总线终端偏向于隐性电平。可以通过使用寄存器8’h10[6] = 1b, DTO_DIS禁用此功能。
注:
TXD DTO电路允许的最小主导TXD时间限制了设备的最小可能传输数据速率。CAN协议在最坏的情况下允许最多11个连续的主导位(在TXD上),其中5个连续的主导位紧随其后的是一个错误帧。
10.4.7.4 CAN总线短路电流限制
当CAN总线短路时,这些设备具有几种保护功能,可以限制短路电流。这些包括CAN驱动器电流限制(显性和隐性)。该装置具有TXD主导超时,防止系统故障时主导状态短路电流过高。在CAN通信过程中,总线在显性和隐性状态之间切换;因此,可以将短路电流视为每个母线状态期间的电流或视为直流平均电流。对于终端电阻和共模扼流圈额定值中的系统电流和功率考虑,应使用平均短路电流。占主导地位的比例受到TXD占主导地位超时和CAN协议的限制,CAN协议具有强制状态改变和隐性比特,如比特填充、控制域和帧间空间。这确保了总线上有最小的隐性时间,即使数据字段包含高比例的主导位。注意总线的短路电流取决于隐性位与显性位的比值以及它们各自的短路电流。平均短路电流可由式1计算。IOS(AVG) = %Transmit x [(%REC_Bits x IOS(SS)_REC) + (%DOM_Bits x IOS(SS)_DOM)] + %Receive x IOS(SS)_REC其中•IOS(AVG)为平均短路电流。•“%Transmit”是节点发送CAN报文的百分比。•“%Receive”表示节点接收CAN报文的百分比。•%REC_Bits是在传输的CAN消息中隐性位的百分比。•%DOM_Bits是在传输的CAN消息中占主导位的百分比。•IOS(SS)_REC为隐性稳态短路电流,IOS(SS)_DOM为显性稳态短路电流。在确定终端电阻的额定值、其他网络部件的额定值以及产生VSUP的电源的额定值时,应考虑网络的短路电流和可能出现的故障情况。10.4.7.5热关机TCAN114x-Q1有两个热事件触发点。第一个是热关闭警告。一旦温度超过这个限制,就会发出中断。第二个是实际的热关闭(TSD)事件。这是一个设备保存事件。如果器件的结温超过热关断阈值,器件将关闭CAN收发器和CAN收发器电路,从而阻断信号到总线的传输路径。设置一个热关闭中断标志,并插入一个中断,以便通知微处理器。如果发生此事件,其他中断标志可能被设置为总线故障,例如CAN总线短接到Vbat。当这种情况发生时,数字核心和SPI接口仍然是活动的。在约300 ms的时间后,设备检查结的温度。热关机定时器,tTSD,在TSD故障事件发生时启动,在TSD定时器过期后,当TSD故障不存在时退出休眠模式。在热关闭保护模式下,SPI写入将设备更改为正常或待机模式被忽略,而写入更改为睡眠模式被接受。
如果发生TSD事件,并且启用了故障安全模式,则在进入故障安全模式时,会发生相同的过程,而不是关闭热关闭保护。注意:如果在设备经历VIO欠电压事件时发生热关闭事件,如果故障安全模式被禁用,则设备进入睡眠模式。10.4.7.6欠压/过压锁定(UVLO)和未供电器件TCAN114x-Q1中监控的欠压事件有三种,分别是VSUP、VIO和VCC。三个电源端子是TCAN114x-Q1的输入源,并且具有欠压检测电路,如果发生欠压故障,则将设备置于保护状态,UVSUP, UVCC和UVIO。这保护总线在电压不足的事件在这些终端。如果VSUP在电压下,设备将失去保持内部稳压器活动所需的电源。这导致设备进入微处理器和TCAN114x-Q1之间的通信被禁用的状态。TCAN114x-Q1不能从总线接收信息;因此,不从总线传递任何信号,包括通过BWRR信号到微处理器的任何总线尾流。如表10-9所示。对于低电压事件,有一个滤波器时间,tUVFLTR,甚至必须持续比tUVSLP定时器启动的时间更长。一旦tUVSLP定时器过期,低压状态仍然存在,设备进入休眠模式或故障安全模式(如果使能)。10.4.7.6.1 UVSUP、UVCC当UVSUP降至跳闸点时,设备处于待机状态。UVSUP事件导致INH引脚关闭。当VSUP大于UVSUP且INH开启时,SWE定时器将启动。如果VSUP下降更多,TCAN114x-Q1关闭一切,因为POR水平已经达到,当VSUP返回时,设备上来,好像它是初始电源。所有寄存器都被清除,设备必须重新配置。如果电压不足事件发生在VCC引脚上,设备启动tUVSLP定时器来确定这是否是一个真实的事件。如果在定时器超时后,设备将根据设备设置进入故障安全或休眠模式。如图10-23所示。TCAN114x-Q1还在VCC输入端提供过电压保护。一旦检测到,设备根据设备设置进入故障安全或睡眠模式。VSUP与VCC的对应关系如表10-8所示。
10.4.7.6.2 UVIO
在电压检测下,如果VIO低于UVIO,则若干功能将被禁用。收发器关闭并脱离总线,直到VIO恢复。当UVIO触发时,tUV定时器启动。如果定时器超时且UVIO仍然存在,则设备进入睡眠模式。如图10-8、图10-9所示。进入休眠模式后,需要唤醒事件将TCAN114x-Q1置于待机模式并启用INH引脚。由于寄存器在睡眠模式下被清除,UVIO中断标志丢失。如果UVIO事件仍然存在,则循环重复。如果在热关闭事件期间发生UVIO事件,设备将自动进入睡眠模式。UVIO原理如图10-24所示。
该设备被设计为“理想无源”或“无负载”的CAN总线,如果设备是无电的。当设备不通电时,总线终端(CANH, CANL)具有极低的漏电流,因此它们不负载总线。如果网络的某些节点断电,而网络的其余部分仍在运行,则这一点至关重要。当设备断电时,逻辑终端也具有极低的漏电流,因此它们不会负载其他可能保持供电的电路。UVLO电路在爬坡和下降时监测电源导轨的上升沿和下降沿。10.4.7.6.2.1故障行为当发生UVIO、UVCC或TSD故障时,TCAN114x-Q1会自动执行以下操作,使数字磁芯处于已知状态
注意一旦欠压状态和中断标志被清除,并且VSUP电源已经返回到有效电平,设备通常需要tMODE_x转换到正常操作。在此转换时间过期之前,主机处理器不应尝试发送或接收消息。如果VSUP发生欠压事件,则设备进入保护模式,禁用唤醒接收器并将RXD输出置于高阻抗状态。10.4.7.7看门狗(TCAN1144-Q1和TCAN1146-Q1) TCAN114x-Q1集成了看门狗功能。TCAN114x-Q1提供了一个基于窗口的看门狗,以及一个可选择的超时和问答(Q&A)看门狗使用SPI编程。该功能默认为关闭状态。当启用时,在正常和待机(启用时)操作模式下,看门狗定时器直到第一个输入触发事件才启动。看门狗定时器在睡眠模式下关闭。INH引脚可以编程为跛行功能,当连接到外部电路时提供跛行home功能。否则,nINT将反映看门狗故障和任何特定的编程动作。当处于睡眠模式时,软针关闭。当错误计数器达到看门狗触发事件级别时,软脚打开,连接VSUP到软脚部分中描述的引脚。10.4.7.7.1看门狗错误计数器TCAN114x-Q1有看门狗错误计数器。这个计数器是一个向上向下的计数器,对于每个错过的窗口或不正确的输入看门狗触发事件递增。对于每个正确的输入触发器,计数器递减但不降至零以下。此计数器的默认触发器设置为触发看门狗错误事件。这个计数器可以更改为第5次或第9次错误。错误计数器可以在寄存器8’h13[3:2]读取。10.4.7.7.2看门狗SPI控制编程看门狗通过寄存器8’h13 ~ 8’h15进行配置和控制。这些寄存器如表10-10所示。TCAN114x-Q1看门狗可以设置为超时,窗口或问答(Q&A)看门狗通过设置8’h13[7:6]的选择方法。超时和窗口看门狗定时器基于寄存器8’h13 [5:4] WD预分频器和8’h14 [7:5] WD定时器,单位为ms,可实现的时间见表10-10。如果使用较小的时间窗口,建议使用看门狗的超时版本。这是针对4毫秒到64毫秒之间的时间。
注意:当看门狗运行时,如果定时参数被改变,WD将停止,直到在新参数被编程后的第一个输入触发事件之后,WD才会根据新的定时参数运行。10.4.7.7.3看门狗定时TCAN114x-Q1提供三种设置看门狗的方法。如果更频繁,<64毫秒,输入触发事件是需要的,建议我们使用超时定时器,因为这是时间事件内的事件,而不是特定于打开的窗口。在使用窗口看门狗时,重要的是要了解关闭和打开的窗口方面。TCAN114x-Q1设置了50%/50%的打开和关闭窗口,并基于±10%精度范围的内部振荡器。为了确定何时提供输入触发器,需要考虑到这种差异。使用60毫秒的标称总窗口提供了一个关闭和打开的窗口,每个窗口为30毫秒。考虑到±10%的内部振荡器意味着总窗口可以是54 ms, tWINDOW, MIN或66 ms, tWINDOW MAX。关闭和打开的窗口分别是27毫秒(TWDOUT MIN)和33毫秒(TWDOUT MIN)。从54毫秒的总窗口和33毫秒的关闭窗口中,总打开窗口是21毫秒。触发事件需要发生在43.5 ms±10.5 ms的安全触发区域。对其他窗口值使用相同的方法。以上信息如图10-25所示。一旦写入WD触发器,当前窗口将被终止,并启动一个新的已关闭窗口。
10.4.7.7.4问答看门狗
TCAN114x具有看门狗定时器,既支持窗口看门狗,也支持问答看门狗。章节10.4.7.7.5解释了WD初始化事件。
10.4.7.7.4.1 WD问答基本信息问答(Q&A)
看门狗是一种看门狗,而不是简单地通过SPI写入或引脚切换重置看门狗,MCU从TCAN114x读取“问题”,根据问题进行数学运算,然后将计算出的答案写回TCAN114x。正确的答案是一个四字节的响应。每个字节必须按顺序和正确的时间写入,才能得到正确的答案。有两扇看门的窗户;即WD响应窗口#1和WD响应窗口#2(图10-26 WD QA窗口为例)。每个窗口的大小将是总看门狗时间的50%,这是从WD_TIMER和WD_PRE寄存器位中选择的。每个看门狗问答都是一个完整的看门狗周期。一般的过程是单片机读取问题,当问题被读取时,定时器启动。CPU必须对问题执行一个数学函数,得到四个字节的答案。四个应答字节中的三个必须在第一个窗口内以正确的顺序写入应答寄存器。最后一个答案必须在WD响应窗口#2内的第一个响应窗口之后写入答案寄存器。如果所有四个答案字节都正确且顺序正确,则认为该回答是正确的,并生成一个新问题,重新开始循环。一旦第四个答案写入WD响应窗口#2,该窗口将被终止,并启动新的WD响应窗口#1。如果有任何错误或遗漏,回答被认为是坏的,看门狗问题将不会改变。此外,错误计数器将增加。一旦这个错误计数器达到阈值(在WD_ERR_CNT寄存器字段中定义),将执行看门狗失败动作。动作的例子有中断或重置切换等。
A. MCU不需要请求WD问题。MCU可以从响应窗口1内的任何位置的正确答案WD_ANSWER_RESP_x字节开始。新的WD问题总是在前一个WD问答序列运行期间,在WD_ANSWER_RESP_0最终答案之后的一个系统时钟周期内生成。B. MCU可以在WD_ANSWER_RESPx响应之间调度其他SPI命令(甚至是请求WD问题的命令),只要在响应窗口1内提供WD_ANSWER_RESP_[3:1]字节,在响应窗口2内提供WD_ANSWER_RESP_0,就不会对WD功能产生任何影响。图选手。WD问答多答模式的问答顺序10.4.7.7.4.2问答寄存器和设置设置看门狗寄存器有几个寄存器,如表10-11所示。
WD_CONFIG_1和WD_CONFIG_2寄存器主要用于设置看门狗窗口时间长度。参考表10-10查看窗口大小的选项,以及WD_TIMER值和WD_PRE值所需的值。请注意,两个响应窗口中的每一个都是所选值的一半。由于每个看门狗QA事件需要使用几个字节的SPI,因此建议在使用QA看门狗功能时使用大于64 ms的窗口。当看门狗错误计数器达到错误计数器阈值时,还可以执行不同的操作。10.4.7.7.4.3 WD问答值生成4位WD问题WD_QA_QUESTION[3:0]由4位马尔可夫链过程生成。马尔可夫链是一个具有马尔可夫性质的随机过程,即状态的变化是概率性的,未来的状态只取决于当前的状态。对于每种WD问答模式,有效且完整的WD回答顺序如下:•对于WD问答多答:在响应窗口1期间收到三个正确的SPI WD答案。2. 在响应窗口2期间收到一个正确的SPI WD答案。3.除了前面列出的时间外,四个回答的顺序必须正确。WD问题值锁存在WD_QA_QUESTION寄存器的WD_QUESTION[3:0]位中,可以随时读出。马尔可夫链过程在b1111到b0000的转换过程中由4位问题计数器进行计时。这包括正确答案的条件(正确的答案值和正确的定时响应)。生成4位问题WD_QUESTION[3:0]的逻辑组合如图10-27所示。
表10-12包含了每个问题的答案,只要问题多项式和答案生成配置都是默认值。
10.4.7.7.5问答WD举例
对于本例,我们将使用表10-14所示的配置设置来遍历单个序列。
10.4.7.7.5.1期望行为配置举例
表10-15寄存器写入将为上面指定的示例行为配置部件。大多数设置都是开机默认设置。
10.4.7.7.5.2问答序列举例
正常序列总结如下:阅读问题2。计算四个答案字节。在第一个响应窗口4内发送其中三个。等待并发送第二个响应窗口的最后一个字节,第一个循环序列的示例见表10-16。
此时,您可以读取WD_QA_QUESTION (0x2F)寄存器,以查看错误计数器是否增加,或者是否设置了QA error。10.4.8总线故障检测与通信(TCAN1144-Q1和TCAN1146-Q1) TCAN1144-Q1和TCAN1146-Q1提供高级总线故障检测功能。TCAN1146-Q1用于说明目的。该设备可以确定某些故障条件并设置状态/中断标志,以便MCU可以了解故障是什么。如果在4期间出现故障,将进行检测并记录
显性到隐性转换,每个显性比特≥2µs。与任何终端电阻位于两端的总线体系结构一样,不是每个故障都可以指定到最低级别,这意味着确切的位置。故障检测电路正在监测CANH和CANL引脚(电流),以确定是否有短路到电池,短路到地,互相短路或打开。从系统的角度来看,设备的位置可以影响可以检测到的故障。节点的位置及其对故障定位的影响如图10-29所示。基于三节点配置的各种总线故障如图10-30 ~图10-34所示。表10-17显示了可以检测到的内容和设备。故障1检测到“½终止”,故障2检测到“未终止”。总线故障检测是系统级的情况。如果故障发生在ECU,则总线的一般通信受到损害。为了完全覆盖节点,需要对每个节点进行系统级诊断步骤,并能够将其通信回中心点。
10.4.9 SPI通信
SPI (Serial Peripheral Interface)采用标准配置。物理上的数字接口引脚是nCS(芯片选择不),SDI(串行数据输入),SDO(串行数据输出)和SCLK(串行时钟)。每个SPI事务是一个16,24或32位,包含一个地址和读/写命令位,后跟一到三个数据字节。支持两个和三个数据字节是利用突发读写完成的,其中地址自动为数据增加,每比特的时钟周期数相同。在事务的SDO引脚上移出的数据总是从全局状态寄存器(字节)开始。SDI上的SPI数据输入数据在时钟(SCLK)的低到高沿上采样。SDO上的SPI输出数据在时钟(SCLK)的高沿到低沿上更改。在休眠模式下对设备进行编程时,必须注意理解输出是什么。一个例子是,设备被编程为关闭故障安全模式,其中一个故障条件使设备处于睡眠模式,如UVCC。在休眠模式下,启用故障安全模式。设备处于休眠模式,不能切换到故障安全模式。10.4.9.1芯片选择不(nCS):该输入引脚用于为SPI事务选择设备。该引脚为低电平,因此当nCS为高电平时,该设备的串行数据输出(SDO)引脚具有高阻抗,允许设计SPI总线。当nCS低时,SDO驱动程序被激活,通信可以开始。nCS引脚为SPI事务保持低位。该设备的一个特殊功能允许SDO引脚立即显示nCS下降沿上的全局故障标志。10.4.9.2 SPI时钟输入(SCLK):该输入引脚用于为SPI输入时钟,以同步输入和输出串行数据位流。SPI数据输入在SCLK的上升沿上采样,SPI数据输出在SCLK的下降沿上改变。如图10-35所示。
10.4.9.3 SPI串行数据输入(SDI):
SDI引脚用于让设备知道哪个地址正在被读取或写入。在写入过程中,时钟周期的数量决定了多少数据字节将被加载到顺序地址中,最多三个字节。一次写操作的最小时钟周期为16,支持初始地址和写命令后加1字节的数据,如图10-36所示。TCAN114x-Q1支持突发读写。图10-37给出了一个32位写操作的示例,其中包括起始的7位地址、写位和3个数据字节。这一切都需要32个时钟周期。一旦通过nCS上的低电平使能SPI, SDI对SPI时钟(SCLK)的每个上升沿上的输入数据进行采样。数据被转移到一个适当大小的移位寄存器中,在正确的时钟周期数之后,移位寄存器被填满,SPI事务完成。对于一个写命令代码,新数据只有在时钟周期的确切数量被SCLK移进并且nCS有一个上升沿来取消选择设备之后才被写入寻址寄存器。对于突发写入,如果SCLK有31个时钟周期(比完整的3字节写入少1个时钟周期),则在执行前两个字节写入时不会发生第三个字节写入。如果在一个SPI事务(nCS低)中没有移入正确的时钟周期数和数据,则设置SPIERR标志。
示例说明如何从一个SPI写命令中写入三个字节的数据
10.4.9.4 SPI串行数据输出(SDO):
该引脚是高阻抗的,直到通过nCS使能SPI输出。一旦SPI通过nCS上的低电平启用,SDO立即被驱动为高电平或低电平,显示全局中断寄存器8’h50,位7。全局中断寄存器INT_GLOBAL是第一个被移出的字节。SDO引脚将数据从设备输出到处理器。对于写命令,这是将在SDO引脚上提供的唯一数据。对于读取命令,将在SDO线上提供来自连续地址的一到三个字节的数据。图10-38和图10-39显示了使用32位突发读取的单个地址读取和三个顺序地址读取的示例。32位突发读取显示了全局中断寄存器,后面跟着三个请求的数据字节。
如何从一个SPI读取命令中读取三个字节的数据。
注:如果写操作后读操作发生的时间超过2µs,则全局故障标志状态可能无法反映写操作引起的状态变化。
10.5编程
TCAN114x-Q1使用7位寻址,读/写位后跟一到三个字节的数据。
10.6寄存器映射
TCAN114x-Q1具有7位寻址的全面寄存器集。表10-19列出了设备寄存器的内存映射寄存器。所有未在表10-19中列出的寄存器偏移地址都应视为保留位置,寄存器内容不应被修改。