您好!
我正在尝试为 TI TCAN 114x CFD 收发器编写 Autosar CanTrcv 驱动程序、但我不清楚在睡眠模式下可以使用哪个 SPI 时钟频率?
在数据表/参考手册(修订版 SLLSF80A–2019年10月–2020年12月修订)中、它指出睡眠模式下的最大 SPI 时钟频率为10kHz。 与 SPI 时钟频率可高达4MHz 的所有其他模式相比:
在自动扫描中、在不同的 SPI 时钟之间切换并不容易、因此、我第一次尝试以1MHz 的频率一致地操作器件。 然后、我使用4MHz SPI 时钟重复同一测试。 奇怪的是、它似乎起作用(在这两种情况下)。 您知道这种情况吗?
目前、我仅在具有裸片版本1.6的 TCAN1145 (TCAN1145EVM 评估模块)上对其进行了测试。
我使用的 SPI 设置如下(SpiB波特 率1MHz 和4Mhz):
在我的测试中、我执行以下步骤:
- 初始化 CAN 收发器(主动写入以下寄存器值)
- MODE_CNTRL=0x04
- WAKE_PIN_CONFIG=0x04
- PIN_CONFIG=0x0
- DEVICE_CONFIG_2=0x0
- SDO_CONFIG=0x0
- INT_ENABLE_1=0x60
- INT_ENABLE_3=0x80
- SWE_DIS=0x84
- FSM_CONFIG=0x01
- 读取 INT_2寄存器并清除 PWR_ON (如果设置)
- 读取 INT_1寄存器并清除
- 然后、我通过将 MODE_CNTRL 寄存器写入0x1将收发器置于睡眠模式
- 此后、每1000ms 读取寄存器0至9 (DEVICE_ID 数组索引是寄存器偏移量)。 结果始终如下图所示、在我看来是正确的
我还检查了 TCAN1145的 SDO 引脚、并将来自 TCAN1145的信号可视化、这对我来说非常完美。
1MHz:
蓝色:SCLK 红色:读取寄存器0期间的 SDO (结果0x54)
数据表中指定睡眠模式中10kHz SPI 时钟的部分是否错误,或者它在更高的 SPI 时钟频率下工作是否巧合,或者我不理解另一个原因?
期待您的回应。
此致、
Peter Wais