当前位置:
文档之家› MPXY8020A轮胎压力传感器的SPI接口技术(1)
MPXY8020A轮胎压力传感器的SPI接口技术(1)
图 2 MPXY8020A 与 MCU 的接口
图 3 SPI 接口的时序逻辑
Send nextbit: ROLX
; 左循环, 并查看进位标志位
BCC Zero
; 有进位, 发送/ 10 , 否则发送/ 00
BSET SDATe Clock ; 跳转到 Toggle Clock
中图分类号: TH812
文献标识码: B
文章编号: 1006- 2394( 2004) 04- 0019- 02
SPI Technology of MPXY8020A Tire Pressure Sensor
ZHOU Bin, LI Wen- yin, LAN Shu- mei
( Computer Institute of Science and Technology, Jilin University, Changchun 130026, China)
LDX DATABUFF
; DATABUFF 内是待发数据
收稿日期: 2004- 02 作者简介: 周斌( 1960) ) , 男, 副教授, 主要 从事基于网络的计算机应用技术的研究。
) 20 )
仪表技术
2004 年第 4 期
寄存器作为一个变量由 MCU 实时修改, 如果猜测值太 小, 结果寄存器的最低位置/ 10, 如果猜测值太大, 则结 果寄存器的最低位置/ 00, 用新的猜测值继续逼近, 直 到得到最终结果。
( 1) 逐次逼近法的程序设计 MPXY8020A 传感器利用外部的 MCU 作为逐次逼 近程序的控制器, MCU 将猜测值通过 SPI 接口串行地 发送到传感器的数/ 模转换寄存器 DAR, 参考图 4 所 示。器件内数/ 模转换器将此猜测值变为模拟值, 并与 待测的压力值比较, 得到 OUT 值。通过 OUT 值可知预 测的偏差, 经过 64 个时钟周期完成一次完整的转换。 例如: 第一次猜 测值为 128, 如果检测 OUT 脚 为高电 平, 则说明压力值大于 128, MCU 通过 SPI 再送入 192, 检测 OUT 脚的状态, 如果这次 OUT 脚是低电平, 说明 压力在 128 和 192 之间, 重复这样的过程, 直到逼近近 似值。整个过程类似对分搜索, 首先, 取全量程值的一 半作为第一个猜测值, 并送入数/ 模转换寄存器, 然后 监测传感器 OUT 引脚的输出状态, 若 OUT 引脚的输出 为/ 低0, 说 明猜测值太大或者和取样 值接近, 若 OUT 引脚的输出保持/ 高0, 则说明推测值太小。转换结果
; 加大猜测值
BCC Conv Wait ;
Conv Ready:
PULA
RT S
其中: T2 是 8BIT 临时变量, SAR 是结果变量
( 2) 报警值检查法的程序设计
在初始化时, 通过 MCU 的 SPI 接口将压力和温度
的报警值装入 MPXY8020A 器件内的 DAR 寄存器, 通
过监测 OUT 引脚的状态判断传感器的压力和温度是
MPXY8020A 的采样电容。初始化这种方式以后, 考虑 开关电路的稳定, 至少应在 500Ls 以后才能执行读数 据程序。
( 3) 温度测量方式( S1= 1, S0= 0) 在温度测 量方式 下, 器件内 的多路 开关连 接到 MPXY8020A 的采样电容。读数方式与压 力测量方式 基本相同。 ( 4) 读数据方式( S1= 1, S0= 1) 由于器件没有直接数据输出功能, 必须借助外接 的 MCU 完成测量数据输出的任务。在读数据方式下, MCU 初始 化 MPXY8020A 为测量压力、温度工作方式 之后, 利用 SPI 串行接口, 通过逐次逼近程序, 将预测 值串 行 送 入 MPXY8020A 的 内 部 DAC, 同 时 检 测 MPXY8020A 的 OUT 引脚状态, 得到逼近的 8bit 的压力 / 温度值。
MPXY8020A 传感器和 MCU 的接口电路如图 2 所
示。其中的串行通信 SPI 是靠 CLK 和 DATA 引脚实现
的。SPI 是 Motorola 公司的标准串行协议, 能与设备进
行全双工、同步通信。图 3 是 SPI 的时序, 在 CLK 的上
升沿读取 DATA 的 一位数据, 连续 8bit 为一个 周期。
Zero:
BCLR SDATA, PORTA ; 发送 DATA= / 00
Toggle Clock: BSET DCLK, PORTA ; 形成 CLK 时钟
BCLR DCLK, PORTA ;
DBNZ BITCOUNT, Send nextbit ; 判断是否发送完毕
PULX
RT S
3 压力和温度数据的读取
获取 MPXY8020A 传感器压力和温度数据的方法 有逐次逼近法和报警值检查法。逐次逼近法能够获得 8 位精确的转换结果, 但需要较长的转换时间和消耗 较多的电能。报警值检查法就是预先设置一个压力和 温度的报警值, 然后监测 OUT 引脚的电平来确定压力 和温度值是否超过报警值, 这是一种低功耗模式, 在不 需要知道准确的压力/ 温度值时, 可采用这种工作方式。
轮胎压力的检测正成为汽车安全检测的一项重要 指标, 对轮胎的压力变化进行随时监测将成为汽车必 备的主要系统 功能之一。MPXY8020A 是 汽车轮胎压 力检测系统的一种理想传感器。
1 MPXY8020A 的特征
MPXY8020A 内部集成 了压力和 温度传 感器、SPI 串行数据接口、DAC 数/ 模转换器、模拟值比 较电路、 待机唤醒电路等。它 具有检测 0kPa~ 637kPa 压力和 - 40 e ~ 125 e 温度的能力。该器件有 8 个引脚, 如图 1 所示。其中 DATA、CLK 引脚用于外接 MCU 的串行 数据输入, 即 SPI 接口; OUT 引脚具有双重功能, 当处 于测量方式时, OUT 端是比较器输出, 用于检测逐次逼 近的结果; RST 为复位引脚; VDD、VSS 是正负电源; S1、 S0 引脚用于控制其操作模式, 通过 S1、S0 的组合可以 有以下 4 种工作方式:
Abstract: The SPI interface technology of MPXY8020A and application in the tire pressure monitoring system are given in this paper .
Key words: sensor; SPI; tire pressure monitoring; single chip interface
否高于或低于报警值, 程序的流程图如图 5 所示。
图 5 报警值检查法的程序流程图
参考文献:
[ 1] Motorola. T ire Pressure Monitoring Sensor Temperature Compensated and Calibrated Fully Integrated, Digital Output[ EB/ O] , http: / / ewww.motorola. com/ brdata/ PDFDB/ docs/ MPXY8020A. May, 2003.
如果 MCU 不具备 SPI 接口, 可以通过使用 I/ O 口和软
件编程仿真 SPI 协议。
以下是通过 68HC08 系列单片机软件仿真 SPI 的
一段程序:
Send Byte: PSHX
BCLR DCLK, PORTA ; 初始化 CLK 为低电平
MOV # $ 08, BITCOUNT ; 初始化发送的位数
( 许雪军编发)
BSR Send Byte ; 猜测值送入 MPXY8020A
Read DOUT LEVEL: LDA PORTA
; 读 OUT 状态
AND # %00001000 ; 比较猜测值
BEQ Too High ; 猜测值大, 跳转
LDA SAR
; 猜测值小
ORA T2
STA SAR
Too High:
ROR T2
图 4 MPXY8020A 的 内部 DAC、DAR 逻辑图
逐次逼近法的读数程序:
SerSAR:
PUSHA
Int DAC:
CLR SAR
; SAR 保存转换结果
MOV # $ 80, T2 ; 初始化 DAC 为半量程值
Conv Wait :
LDA T2
ORA SAR
STA DATABUFF ; 取猜测值
2004 年第 4 期
仪表技术
) 19 )
MPXY8020A 轮胎压力传感器的 SPI 接口技术
周 斌, 李文印, 兰淑梅 ( 吉林大学 计算机科学与技术学院, 吉林 长春 130026)
摘要: 介绍 MPXY8020A 压力/ 温度传感器的 SPI 接口技术及其在汽车轮胎检测系统中的应用。
关键词: 传感器; 串行外围 接口; 轮胎压力检测; 单片机接口
2 MPXY8020A 与 MCU 的接口
图 1 MPXY8020A 芯片引脚分布
( 1) 待机工作方式( S1= 0, S0= 0) 在待机工作方式下, MPXY8020A 内部处于最低的 功耗状态, 只为低频振荡器、SPI、DAR、唤醒脉冲和复 位脉冲分配器电路供电。 ( 2) 压力测量方式( S1= 0, S0= 1) 在压力测量方式下, 器件内的多路开关连接到