【TPMS】

编程入门 行业动态 更新时间:2024-10-06 06:48:14

【<a href=https://www.elefans.com/category/jswz/34/1759145.html style=TPMS】"/>

【TPMS】

TPMS项目-发射端SP370

  • 目录
    • 章节介绍
  • 一、SP370数据手册浏览
  • 二、源码学习
  • 三、SP370的RF的部分详解
  • 四、RF数据包的发送和数据包格式解析1

目录

章节介绍

1.SP370数据手册浏览
 浏览SP370的数据手册,看一下大概信息和细节中后面会用到的几个关键部分
2.源码学习
  开始分析源码,先分析整个流程,然后再逐步深入细节来看。
3.SP370的RF部分详解
  本节讲解源码中RF相关的部分,这也是SP370最核心的部分,涉及到FSK调制、Manchester编码、基带、调制、载波等内容(电容、内部的PLL、载波)。
4.RF数据包的发送和数据包格式解析1
  本节讲解发射端最终发出的RF telegram数据包的格式和定义,这些都是由ROM Library中的Send_RF_Telegram函数中PDT定义的。
5.RF数据包的发送和数据包格式解析2
  本节讲解发射端最终发出的RF telegram数据包的格式和定义,这些都是由ROM Library中的Send_RF_Telegram函数中PDT定义的。

一、SP370数据手册浏览

1.1、基本信息
(1)SP370是一款用于气压测量的传感器,专为TPMS应用而设计。
(2)压力、加速度、温度和电池电压的测量在软件控制下进行,数据可以格式化并准备由微控制器进行RF传输。
(3额外的片上ROM存储器可用于保存ROM(Lib)库功能(由英飞凌开发)
(4)电源电压范围:1.9 V 至 3.6 V ,工作温度范围 -40 至 +125 °C
(5) 6 kByte FLASH memory (for application code)
  16 kByte ROM (for ROM library functions)

1.2、时钟系统

system clock

1.3、RF:RF 315/434 MHz FSK/ASK Transmitter

1.4、LF:LF 接收器用于向 SP37 发送无线数据传输。用于对轮胎进行标定

1.5、唤醒 、 CRC校验(硬件)

1.6、伪随机数发生器 :避免发射器在同一时间向接收器发射数据

1.7、GPIO和I2C

1.8、DateSheet数据手册观看方法:
 先泛泛地看,掌握大概情况;再笼统地看,掌握整体情况;再根据自己的需要,详细地细节地看。

二、源码学习

2.1、主程序
(1)main()

(2) WUF (Wakeup_Event_Registers)

(3)SP37_InitRandom()

(4)Send_RF_Init()

RFTX :

sfr RFTX(特殊功能寄存器)

三、SP370的RF的部分详解

3.1、RF
(1) FSK传输 :通过频率的稀疏、密集表示0或者1。
(2) 振荡的波形右RC振荡器产生,振荡的频率(密集或稀疏)由RC振荡器中的电容C来调整的。振荡器相关的一个是晶振,一个是电容。(我们使用的是内置电容,电容C的值由XTAL1和XTAL0设置)
(3)电容有内置容和外置电容。
(4)外部的晶振18.08MHz是为实现433.92MHz的一个基准频率,低FSK频率或高FSK频率是通过某种方式微调电容来实现的。
(5)具体看数据手册3.8和3.9节

3.2、数据手册 - RF部分
(1) FSK传输

(2)FSK - 内部电容

(3) RF发射器框图

 外部晶振18.08MHz通过内部PLL锁相环电路倍频(24倍)变成433.92MHz,传输信号通过曼彻斯特编码器编出带有时序的1和0,经过RFTX开关,自带同步信号的1和0+基带通过FSK调制变成载波,送到天线上,通过天线无线发射出去。

3.3、 RF相关的API
(1) StartXtalOsc()
(2) StopXtalOsc()
(3) VCO_Tuning()
(4) Send_RF_Telegram()

四、RF数据包的发送和数据包格式解析1

4.1、 Send_RF_Telegram()描述
(1)SP37 传输 RF 报文可分为两个不同的部分:RF 外设初始化和 RF 数据传输(由PDT封装)
(2)在Send_RF_Telegram()中,必须弄一个事先集成的 table-driven approach(表)
(3)数据传输部分依靠模式描述符表(PDT)来定义RF报文的格式和内容
(4)为了简易地能通过RF发送数据包,事先定义好了发送数据包的格式,叫PDT;我们只需要定义一个表格(数组),然后按照事先定义好的格式填充数组,然后把数组传个Send_RF_Telegram()函数就可以发送。发送的硬件部分不用管,软件只需要按照PDT的格式,制造一个符合它的格式的一个报文(表格)就行了。
(6)此函数只需要两个参数即可完全指定 RF 报文:所需的波特率和 PDT 的起始 RAM 地址(数组名)
(7)具体看SP37_Rom_Lib_Guide.pdf   Send_RF_Telegram()部分
(5)调用Send_RF_Telegram(),事先初始化:


4.2、 Pattern Descriptor Table (PDT)格式
(1)PDT格式

(2)Start of Table indicator

位bit名称描述
4-0delayOSC定义RF_Transmission例程中使用的 StartXtalOsc() 的延迟。延迟计算为 (30 + 延迟OSC) x 42,67 μs。此延迟用作晶体振荡器启动的延迟
7V每次传输数据帧的末端测量电池电压(可以省电)

(3)End of Table pattern descriptor

(4)Pattern Descriptor entries

  此示例的 PDT 由三个模式描述符组成,按传输顺序显示在表中。除了定义数据及其传输方式的模式描述符外,还支持“延迟”类型的模式描述符。模式描述符由 RAM 中的字节数据组成,可以是两种类型之一;传输类型或延迟类型。下面将详细讨论这些模式描述符类型中的每一种。

(5) Delay Pattern descriptor

(6)Transmit Type Pattern Descriptor

4.3、Send_RF()

字节: 4+ 1+ 2+ 2+ 2+ 2+ 1 = 14
发送格式:UniqueId+Tyre_Position+Pressure+Temperature+Acceleration+Voltage+CRC = 14

SYNC: 同步码

CRC校验字段

注:本资料大部分由朱老师物联网大讲堂课程笔记整理而来

更多推荐

【TPMS】

本文发布于:2024-02-13 14:19:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1758867.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:TPMS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!