【TPMS】 - 发射端2

2023-05-16

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校验字段

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【TPMS】 - 发射端2 的相关文章

  • JavaScript框架汇总

    本文转载于https www cnblogs com China Dream p 15770038 html 移动应用类框架 Vue js 官网地址 http cn vuejs org 官方简介 Vue js 是一套用于构建用户界面的渐进式
  • 计算机保研面试题-数据结构

    快速排序算法 xff0c 归并排序算法的复杂度 xff08 简单介绍各种排序 xff09 算法的特点 xff08 1 xff09 插入排序 xff1a a 直接插入排序 xff1a 比如将X插入有序序列L当中 xff0c 首先找到X在序列L
  • 计算机保研面试题——操作系统

    目录 1 操作系统的特点 xff1f 功能 xff1f 2 中断和系统调用的区别 3 进程 线程的概念以及区别 xff1f 进程间的通信方式 xff1f 4 进程有哪几种状态 xff0c 状态之间的转换 进程调度策略 xff1f 5 读写者
  • 计算机保研面试题——计算机网络

    目录 计算机网络体系结构 OSI xff0c TCP IP xff0c 五层协议的体系结构 xff0c 以及各层协议 IP地址的分类 32位地址 各种协议 xff1f TCP三次握手和四次挥手的全过程 六 TCP和UDP的区别 xff1f
  • 论文学习:Austere Flash Caching with Deduplication and Compression

    论文题目 xff1a Austere Flash Caching with Deduplication and Compression 来源 xff1a USENIX ATC 2020 链接 xff1a Austere Flash Cach
  • ubuntu 查看占用文件空间大小

    1 查看分区情况 fdisk l 2 查看系统的磁盘空间占用情况 df h df TH 3 查看某个目录的使用空间大小 du sh 需要先进入该目录 或者后面加上路径 du sh 路径 4 查看该目录下 每个文件夹占用的空间大小 查看某目录
  • 操作系统地址生成

    逻辑地址生成 从符号逻辑地址 gt 内存中具体的逻辑地址 不需要操作系统的帮助 xff0c 而是通过编译器 load等等完成 对于程序代码 cfile开始 xff0c 最开始的逻辑地址是对应的函数位置 变量名称 xff0c 通过编译成为 s
  • 主流数据库以及适用场景思维导图

  • 超声波测距模块(HC-SR04模块)特点及使用介绍

    超声波测距模块 xff08 HC SR04模块 xff09 特点及使用介绍 前言一 超声波测距模块 xff08 HC SR04模块 xff09 外观二 原理图三 相关参数讲解1 参数2 测量范围3 计算公式4 优点5 产品特性 xff08
  • ESP8266AT指令测试无返回值的问题

    ESP8266AT指令测试无返回值 xff1a 如图 xff0c 在使用esp8266测试at指令的时候无返回值 xff0c 然而我在检查硬件的时候没有任何错误 xff0c usb转ttl模块也是没有问题的 解决方法 xff1a 这时候只要
  • 重要:智能指针的使用(C++ 11 以上)

    智能指针的声明与初始化 xff1a 第一种 xff1a std shared ptr 指针 初始化方式1 xff08 推荐 xff09 std shared ptr lt int gt sp3 sp3 61 std make shared
  • 自顶向下和自底向上的实现方法

    1将一个大问题分解为小的易处理的子问题 xff0c 每个子问题可以使用一个方法来实现 xff0c 这种方法使得问题更加易于编写重用调试 xff0c 修改和维护 2当一个大问题分解为许多子问题 xff0c 各个子问题可以分配给不同的编程人员
  • c# --- 接口

    接口从某种程度上来说也是一个类 xff0c 但是接口中只包含方法的声明而没有方法的实现z 创建接口的关键字 xff1a interface 接口 xff0c 人机交互界面 创建接口的语法 xff1a 接口的访问权限 interface 接口
  • MAML++:HOW TO TRAIN YOUR MAML论文精读

    论文地址 https arxiv org abs 1810 09502 Abstract MAML是目前通过元学习进行少样本学习的最佳方法之一 MAML简单 xff0c 优雅和非常强大 xff0c 然而 xff0c 它有各种各样的问题 xf
  • webpack中的loader

    什么是loader loader是webpack中一个非常核心的概念 webpack用来做什么呢 xff1f 在我们之前的实例中 xff0c 我们主要是用webpack来处理我们写的js代码 xff0c 并且webpack会自动处理js之间
  • strtok()函数

    strtok 将字符串拆分成tokens xff0c tokens是被分隔符中的任何字符分隔的连续字符序列 char strtok char str const char sep sep参数是个字符串 xff0c 定义了用作分隔符的字符集合
  • MySQL夺命连环15问,你能坚持到第几问?

    文章目录 前言一 关系型和非关系型的区别 xff0c 以及使用场景二 Mysql索引优缺点三 给字段加索引最好怎么加 xff1f 四 什么情况下会导致索引失效 xff1f 五 为什么使用模糊匹配会使索引失效六 回表查询和索引覆盖是什么七 联
  • educoder数字逻辑实训:比较器设计(Logisim)

    第1关 xff1a 1位比较器设计 任务描述 本关任务 xff1a 在Logisim中完成1位比较器电路的绘制并完成测试 第2关 xff1a 2位比较器设计 任务描述 本关任务 xff1a 在Logisim中完成2位比较器电路的绘制并完成测
  • 1、树莓派的VNC文件传输

    目录 第一步 xff1a 在树莓派端打开VNC服务器 第二步 xff1a 输入指令运行vncserver 第三步 xff1a 在电脑端安装VNC查看器 第一步 xff1a 在树莓派端打开VNC服务器 第二步 xff1a 输入指令运行vncs
  • Hadoop 3.x(HDFS)----【HDFS 的读写流程】

    Hadoop 3 x xff08 HDFS xff09 HDFS 的读写流程 1 HDFS写数据流程1 剖析文件写入2 网络拓扑 结点距离计算3 机架感知 xff08 副本存储节点选择 xff09 1 机架感知说明2 Hadoop3 1 3

随机推荐

  • 【C++】程序运行时间计算的方式

    1 利用C 43 43 标准库 std chrono xff0c 如下计算一个主体程序的运行时间 xff0c 算出来的时间差值单位为毫秒 lt float std milli gt 表示用毫秒表示 auto t start 61 std c
  • FPGA之蜂鸣器播放音乐《花海》

    文章目录 前言一 蜂鸣器1 蜂鸣器简介 xff1a 2 有源蜂鸣器 xff1a 3 无源蜂鸣器 xff1a 二 简谱常识1 音符时值 xff1a 2 简谱名 xff1a 3 简谱名频率 xff1a 三 程序设计1 调用ROM IP核储存每个
  • Verilog语法基础HDL Bits训练 01

    文章目录 前言一 Basics simple wire1 RTL代码2 仿真波形图 二 Basics four wires1 RTL代码2 仿真波形图 三 Basics Not gate1 RTL代码2 仿真波形图 四 Basics And
  • c++文件写入数据

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • 基于HC-08蓝牙模块的蓝牙通讯

    RXD接TXD xff0c TXD接RXD 通过手机的蓝牙助手可以完成亮灭LED1和LED2的操作 当发送A时 xff0c LED1亮 发送B时 xff0c LED1灭 当发送C时 xff0c LED2亮 xff0c 当发送D时 xff0c
  • 计算机网络笔记

    文章目录 计算机网络课程笔记第一章 概述1 计算机网络的定义2 网络分类3 网络分层及协议3 1 网络分层的原因3 2 协议 xff1a 对等通信双方的通信规则3 3 网络服务类型 xff1a 面向连接和面向非连接3 4 服务原语 xff1
  • 关于OSPF区域划分

    区域划分的好处 背景 随着网络规模不断扩大 xff0c 结构也日趋复杂 xff0c 路由器完成路由计算所消耗的内存 CPU资源也越来越多网络发生故障的可能性也随之增加 xff0c 如果区域内某处发生故障 xff0c 整个区域内的路由器都要重
  • 多目标多角度的快速模板匹配算法(基于NCC,效果无限接近Halcon中........)

    多目标多角度的快速模板匹配算法 xff08 基于NCC xff0c 效果无限接近Halcon中 工程应用一 多目标多角度的快速模板匹配算法 xff08 基于NCC xff0c 效果无限接近Halcon中 Imageshop 博客园 主要是我
  • 蓝桥杯嵌入式第十三届模拟题做题笔记

    这届的蓝桥杯电子类延期了 xff0c 最近就很无聊 xff0c 想做点东西但是又什么啥也不会 xff0c five一个 在小破站寻求各路大佬的帮助 不求大家的赞了 xff0c 只希望大家能够分享知识 xff0c 帮助一下迷茫的人 首先第一眼
  • Code::Blocks

    Code Blocks出现A debugging check in this application has failed xff1f 虽然不懂 xff0c 但好像有一个灰常easy的解决方法 xff1a Settings gt Edito
  • Logidim中异或的符号表示

    logisim中的表达式以 代表异或
  • 本人开发环境基本配置一览 ~/.bashrc

    系统 xff1a ubuntu18 04 xff0c bashrc环境文件 1 配置CUDA路径 xff1b cudnn用deb包安装的 xff0c 会直接被装到系统相应路径 xff0c 不需要手动添加路径引用 2 ROS CUDA exp
  • QT笔记(一)

    学习目标 xff1a 总结学习的QT 学习内容 xff1a 1 QT的一些固定格式 2 控件和事件 3 信号和槽 记录内容 xff1a 1 QT的固定格式 1 引用头文件 自己创建的头文件用 34 34 括起 xff0c eg 96 inc
  • 17 C++11常用语法

    文章目录 一 C 43 43 11简介二 列表初始化2 1 容器如何支持花括号初始化 三 变量类型的推导3 1 编译时类型推导 xff1a auto3 2 decltype类型推导3 3 运行时类型推导 typeid 四 final ove
  • Git小乌龟(TortoiseGit)使用详情

    项目可能大概也许maybe要用到Git小乌龟 xff0c 正好水篇文章 下载及安装 首先没有下载Git的先下载 xff0c 官网下载地址 xff0c 安装时直接一直next就行 然后是小乌龟的下载 xff0c 官网下载地址 xff0c 不知
  • 一张图阐述UML状态图的画法【软件工程】

    文章目录 I 介绍状态图II 一图搞定状态图画法 I 介绍状态图 状态图展示了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移 它有两大特征 xff1a 1 所有的变化都是针对某一个特定的对象 xff0c 这个对象会触发
  • 虚拟机中Ubuntu与主机共享文件夹

    虚拟机中Ubuntu与主机共享文件夹 xff0c 以及 mnt目录为空 xff0c 没有共享文件夹时的解决方案 1 启用共享文件夹 首先将虚拟机关机 xff0c 在虚拟机设置中 xff0c 选择选项面板 xff0c 选择共享文件夹 xff0
  • 【ROS】中级操作学习整理-TF坐标变换

    系列文章目录 ROS 中级操作学习整理 gazebo机器人仿真 ROS 中级操作学习整理 TF坐标变换 ROS 中级操作学习整理 传感器建模 ROS 中级操作学习整理 激光SLAM 文章目录 目录 目录 系列文章目录 文章目录 前言 一 R
  • STM32 芯片锁死无法烧录问题解决

    芯片锁死原因 xff1a 1 烧进去的工程对应器件与目标器件不一致 xff1b 2 烧进去的工程HSE VALUE与目标板上晶振频率不一致 xff1b 3 将烧录引脚烧录 本人在使用F411时犯下了 比较愚蠢的错误 xff0c 因为PB3引
  • 【TPMS】 - 发射端2

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