NXP TPMS芯片之-低频接收2
数据时钟恢复和同步发生在传入消息的同步部分之前或期间。前导码可以是零、仅载波或调制的曼彻斯特数据。所需同步模式的类型根据同步[1:0]控制位确定允许的前导码类型。
设计数据速率为3.906 kbps,其比特时间相当于低频载波频率的约32个周期。在曼彻斯特编码的位时间中,载波应在位时间的前半部分或后半部分出现,这取决于该位是逻辑零还是逻辑一。
下面的示例提供了推荐的飞思卡尔LF数据报格式。
注
不同的汽车制造商有自己定义的协议,以上示例仅供参考。
它由以下部分组成:
•4毫秒的CW前导码
•两次数据转换,以实现干净的解调
•九个tDATA同步
•16位唤醒字节(x5E和x31)
•四个字节的数据(x13、xC6、x6C、x3A)
•消息帧的一端(数据字节边界处的曼彻斯特位非法)
使用MCU直接模式的LF数据报推荐形状
当LF在MCU直接模式下运行时,MCU应轮询LFDO位,以从模拟检测器提取位流。为了确保LFDO位就绪状态,必须在XX寄存器的前导码和第一个数据字节之间添加一个转换。该过渡段用作同步器。CH2用于跟踪前导码和同步检测以及解码测试。有关MCU直接模式的更多详细信息,请参阅FXTH87系列产品规范。
要解码的低频电报由以下部分组成:
•8毫秒前导码
•600微秒同步器
•五个字节的数据(xD5、x05、xAA、xCA、xEE)
•0用1毫秒宽度编码,1用2毫秒宽度编码
/********************************************************************
function : Init_TPM1CH0()
parameters : void
returns : void
type : low level c
description:
This function initializes TIMER1 CHANNEL 0
********************************************************************/
void Init_TPM1CH0(void)
{
TPM1SC=0x08 | 0x02;// 4F CLOCK TIMER = FBUS=8MHz/128 – set Timer ON
TPM1C0SC=0x00; //Configure in TBM , Interrupt Enable address
TPM1MODH=0xFF; // FF Fixed the OC every 1.13sec
TPM1MODL=0xFF; // FF Fixed the OC every 1.13sec
}
/********************************************************************
function :Init_LF(void)
parameters :void
returns :void
type :low level c
description: LF Setup
*********************************************************************/
void Init_LF(void)
{
LFS_LFIACK=1;
LFCTL1=0x10; // LPAGE=1
delay(20);
LFCTL1=0x00; // LPAGE=0
delay(20);
LFCTL3_TOGMOD=0;
//Digital decoder is disabled.
delay(20);
LFCTL1_LFEN=1;
}
注意:来自网络整理