【TPMS】 - 发射端1

目录

章节介绍

1.发射端整体介绍
  讲发射端的总体情况,原理图和资料分布,整个课程的安排等。
2.无线通信理论知识
  补充无线通信方面的基础知识给大家,这些东西是射频领域做项目经常涉及到的关键点,掌握了对提升自己价值非常有意义。一句话,让你看上去就像是月薪1.5万的人。
3.发射端源码总览
  总体介绍发射端的源码、工程建立、设置、所有的C文件和H文件。
4.SP370库函数的使用和封装
  详细讲解SP370的ROM Library的API定义和使用方法,并以气压测量的API为例来详细讲解,带读手册。
5.SP370其他库函数的使用和封装
  讲述ROM Library中的其他一些关键API。

一、 发射端整体介绍

1.1、原理图
(1)主体就一个SP370,SP370由一个51内核的CPU和一个多功能的传感器组成
(2)纽扣电池CR2032供电,真实产品往往把sp370和纽扣电池背靠背所以很小
(3)板载PCB天线17.25cm,环绕在PCB边缘,PCB布线要考虑很多因素
(4)4个孔是I2C接口,用来烧录程序和调试接口
(5)Y2晶振(18.08MHz)不是给MCU用的,是给内部433.92MHz载波发生器用的
(6)发射端原理图:

TPMS_SENDER

1.2、SP370介绍
(1)SP370 = 51单片机 + 4个功能的传感器(压力、温度、加速度、电池电压)
(2)软件开发工具:Keil C51
(3)传感器等专用功能编程被官方(英飞凌)封装成一个预编译的lib库文件供给我们使用,我们直接调用函数即可;使用方法:官方示例代码+应用文档ROM Library Guide。
(4)其他资料:SP370 datesheet (硬件资料)

1.3、 发射端课程安排
(1)433MHz无线通信、FSK调制、Manchester编码、调制解调、基带载波、频偏等射频概念
(2)发射端代码逐句详解,跟着代码看数据手册
(3)传感器操作预编译库的使用,及相关手册的查阅方法 – 这种能力非常重要
(4)发射端与接收端通信数据包的协议和格式定义

二、无线通信理论知识

2.1、无线通信基本原理
(1)发射端通过天线发射无线电波,无线电波在空气中传播,接收端接收无线电波。
(2)发射功率越大,被接收到的可能性越大,传播距离和可靠性会提高。缺点是功耗大电磁污染也更大,所以一般根据需要调试到一个最佳值。
(3)无线电波的频率越高传输距离越远,但穿透性越差。
(4)空气中相同(相近)频率的无线电波会互相干扰,因为接收方无法区分谁是谁
(5)为了避免无度干扰,无线电波的频率不能随便选,有国际法律规定的。所谓电子战中的干扰其实就是故意发射相应频率的电波信号让对方的通讯信道堵塞。
(6)为什么经常听到2.4G和433M的无线通信?因为这2个是不需要牌照的民用波段。2.4G用于WIFI、4G等,而433M用于很多无线遥控器(如汽车遥控钥匙、电器遥控器等)

2.2、无线通信相关概念
(1)基带:未经过调制的原始电信号的频带,就是无叠加有效信息但能再空气中传播的原始电磁波。
信号: 传播的有效信息
调制:把需要传输的有效信息放在基带上的过程叫调制
载波:携带了需要传输的有效信息的基带叫载波
(2)中心频率:SP370的中心频率是433.92MHz
(3)频偏: 频率误差,误差不能被消除,只能被减小
(4)Manchester编码:曼彻斯特编码是无线编码的一种方式,它将时钟和数据包含在数据流中
(5)FSK/ASK调制: 调制解调必须按照同一种方式

三、发射端源码总览

3.1、MDK工程介绍
(1)源码目录和工程目录文件浏览

scr源码目录:
inc(存放.h头文件)
  Reg_SP37.h (SP37相关内部寄存器的定义)
  RF.h(射频相关的)
  SP37.h(SP37数据类型和函数原型的定义)
  SP37_ROMLibrary.h(SP37预编译库函数的定义)
  uart.h(串口相关的)
lib
 SP37_ROMLibrary.LIB(SP37预编译库文件、函数的函数体)
startup
 STARTUP.A51(起始文件)
user
  main.c
  RF.c
  SP37.c
  uart.c

工程目录文件:

工程目录

(2)MDK工程介绍:单片机型号选择、工程文件目录
单片机型号:STC89C52

3.2、uart相关代码
(1)仅有的2个IO来模拟串口发送接收
(2)串口主要用来调试
(3)串口操作源码来源自官方示例代码,很多细节和定制的51内核有关
(4)串口代码在我们整个工程中没有用到,不必细看
(5)System Clock = 12MHz, 配置的波特率19200

3.3、rom_lib的使用
(1)将内部核心操作封装成函数,提供lib文件和h文件和文档给开发者使用
(2)为什么这么做?一方面简化开发屏蔽细节,另一方面保护核心技术
(3)用法:将lib文件和h文件加入工程,相应API作为extern声明函数直接使用,链接时链接器会自动去lib库中提取相应函数的函数体,编译进最终的hex文件中。
(4)看文档(SP37_Rom_Lib_Guide)是关键,相应API的参数、返回值、函数作用、用法示例代码等都在文档中。
(5)这种方式在实际产品开发中非常普遍,要学会去习惯。
(6)如果有疑问解决不了怎么办?找官方支持、找同行问、自己琢磨
(7)如果官方库有bug怎么办?找他们反馈解决、换方案商

四、SP370库函数的使用和封装

4.1、项目工程编译流程
Measure_Pressure()函数在SP37.c文件中,调用函数Meas_Pressure()在SP37_ROMLibrary.h文件中使用extern关键字声明,表示这个函数是一个外部定义函数,所以在编译的时候能读到函数原型,在链接的时候去SP37_ROMLibrary.Lib中读到函数体,编译进最终的hex文件中。

4.2、SP370相关库函数
(1)SP370测量压力函数封装:

函数执行压力传感器的测量
(2)外部定义的函数声明
函数声明
(3) 函数体
函数体

4.3、SP370库函数解读
(1)API的函数原型
Meas_Pressure: Input Parameters
SensorConfig: 传感器配置
SampleRate: 采样率
PressResult : 气压结果 – 输出型函数(没有+const关键字)

函数原型

(2)API参数解读

传入参数1:Input Parameter : SensorConfig

*(PressResult+2) 指针访问元素(*(指针+偏移量)) ,等同于Raw_Temperature

传入参数2:Input Parameter: SampleRate

传入(输出型参数)参数3:Input Parameter: Output values

输出型函数

Measure_Pressure()函数通过输出型参数(int Pressure_VAL)来返回值 ,返回值返回实际是三个参数
(
(PressResult+0) 或 *(PressResult+1) 或 *(PressResult+2))。

4.4、SP370库函数改进
(1)Measure_Pressure()函数实际可以有三个返回值,(int *Pressure_VAL)可以返回其中一个值。
(2)改进:把Measure_Pressure()函数传入的参数(int *Pressure_VAL)修改成结构体指针的形式,通过->的运算符传出运算结果。

输出型函数

五、SP370其他库函数的使用和封装

5.1、Meas_Acceleration()
5.2、Meas_Temperature()
5.3、Measure_Supply_Voltage()
5.4、Read_ID()
总述:以上四个函数的功能与Measure_Pressure()套路基本类似,看SP370的文档(SP37_Rom_Lib_Guide),描述的内容基本类似。

5.5、Scale_Pressure()
压力范围 100…450 kPa 用一个无符号字节表示,字节范围从 0…255。 需要(350 / 255)1.373 kPa/LSB 的比例系数才能满足。但是,SP37 Meas_Pressure函数返回一个有符号整数值,该值将压力表示为 1/16 kPa/LSB,因此,从 1/16 kPa/LSB 转换为 1.373 kPa/LSB 是一项通常需要完成的任务。

二个字节表示压力范围:8000H = -2048.0 kPa,7FFFH = 2047.9375 kPa,其中有很多的范围是用不着的。

函数执行将双字节转化为单字节形式传输压力值

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

六、结构体变量作为函数形参

(1)

(2)

(3)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
2021年TPMS(胎压监测系统)行业经历了一定的发展和变化。随着汽车产业的不断发展和人们对行车安全的需求增加,TPMS作为一项重要的汽车安全技术,得到了更多的关注和应用。 首先,2021年TPMS市场竞争激烈。随着技术的不断进步和成本的降低,越来越多的汽车制造商开始在汽车中使用TPMS系统。这导致了市场竞争的加剧,厂家之间为了争夺市场份额,不断推出更为先进和便捷的TPMS产品。 其次,2021年TPMS技术得到进一步的升级。TPMS系统已经从传统的间接式系统向直接式系统转变,实现了对每个轮胎实时监测。同时,一些新型的TPMS产品开始应用智能化技术,能够通过蓝牙或Wi-Fi与手机或车辆内部的信息娱乐系统相连接,提供更为便捷的使用体验。 再者,2021年国家对TPMS的标准和监管也日益完善。为了保障汽车行驶安全,一些国家和地区已经将TPMS作为法定要求,并相继出台了相关的法规和标准。这进一步推动了TPMS行业的发展和标准化。 最后,2021年TPMS行业面临着一些挑战和机遇。一方面,市场的竞争加剧使得一些小型TPMS厂家面临价格压力和市场份额的争夺。另一方面,随着电动汽车和自动驾驶技术的发展,TPMS也面临着更多的应用机遇,因为它对车辆的性能和安全至关重要。 综上所述,2021年TPMS行业在技术、市场和监管等方面都取得了一定的发展。随着汽车行业的持续发展和技术的进步,相信TPMS在未来会继续发展壮大,并为车辆安全和驾驶体验提供更好的保障。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tyx-☆、、、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值