NXP PKE RSSI 编码规范

一、编写目的

客户想要生成在特定位置场强已知的 LF signal,以此为基准进行钥匙 RSSI 校准,所以想要知道基带信号编码规范,生成相应的基带信号,再结合信号发生器以及赫姆霍兹线圈生成场强可控制的低频信号。


二、基带信号构成

WPI PKE RSSI 中 LF 所需要发送的信号包含了 “Preamble + Code Violation + Wake Up ID + RSSI CMD + Constant Carrier” 5 部分,也就是所谓的预示信号帧开始的前导码,在 Payload 开始之前保证数据正确的同步码,之后就是建立点对点通讯所需要使用的钥匙唤醒码(唤醒码即是存放在钥匙 ULP EEPROM 中的 32-bit 的 IDE),之后由于需要获取钥匙在相对基站测试得到的 RSSI 数据,还需要发送相应的 RSSI CMD,在这些发送完毕之后发送适当持续时间(6ms 可满足要求,时间较低可能导致测得 RSSI 出错)的常载波即可。这其中 Data rate: 3.9 kbps,即一位所占时间 TBIT = 256us。具体情况如下图所示:



以 NJJ29C0 为例,其在发送 PKE RSSI 帧格式时,先后顺序如下:



以上顺序和我们提及的顺序一致,不过由于像 NJJ29C0 或是新一代的 NJJ29C2 都是将实际数据转换成相应编码的功能内置于芯片当中,因此用户只需要将具体数据作为传参输入相应的 API 即可。但是由于需要结合信号发生器以及赫姆霍兹线圈去做钥匙 RSSI 的标定,所以可能使用单片机的 GPIO 结合定时器生成相应的基带信号更适用。这就意味着必须要在程序中包含对应的编码转换逻辑。

首先我们需要了解一下在 NXP 的 PKE 信号规范中,相关的编码有 2 种:一种是大家比较熟知的曼切斯特编码——该编码方式是在一个码元内采用上升沿或者是下降沿表征 '1' 或是 '0';而另一种就是非归零码,但是该非归零码较为特殊,采用的是半位宽非归零码,这也就意味着其传输速率相较于其他数据而言翻了一倍。在上面提到的数据构成中,只有 Code Violation 采用的是半位宽非归零码,而其余的(不包含常载波,因为常载波只需要保证在一段时间不改变即可)均采用曼切斯特编码。



接下来将介绍,这几个组成部分的具体编码情况:

① Preamble

  • 编码方式:曼切斯特编码(规定高电平跳转至低电平为 '0')
  • 编码长度:8 bit
  • 用时:8 TBIT
  • 编码内容:“00000000”



② Code Violation

  • 编码方式:半位宽非归零码(双倍传输速度:7.8kbps)
  • 编码长度:18 bit
  • 用时:9 TBIT
  • 编码内容:0xE2, 0xCC, 0x80(注意 0x80 中的低 6 位是没有编码的,因为编码长度只有 18 位)



③ Wake Up ID(长度较长,就不以图片展示)

  • 编码方式:曼切斯特编码(规定高电平跳转至低电平为 '0')
  • 编码长度:32bit
  • 用时:32 TBIT
  • 编码内容:根据需要唤醒的钥匙 ID 来设定,e.g. 0xA6, 0x6F, 0x35, 0xE1

④ RSSI CMD

  • 编码方式:曼切斯特编码(规定高电平跳转至低电平为 '0')
  • 编码长度:24bit
  • 用时:24 TBIT
  • 编码内容:0x02(CMD), 0x50(CTRL), 0x9D(CRC)


⑤ Constant Carrier

  • 持续时间:10ms
  • 内容:a const.  '1'

    实际生成的基带信号,可以使用示波器进行观测:


    以上基带信号通过与 125kHz 正弦波调制,将其加载至低频频段,然后按照特定功率发送,即可实现 LF PKE RSSI 数据帧的发送。

    三、参考资料
    [1] UM-SCA-1501_PKE Command Set v1_0.pdf

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论