历史上的今天

今天是:2024年10月16日(星期三)

正在发生

2019年10月16日 | 通过示波器测试SPC协议解码

发布者:灵感狂舞 来源: eefocus关键字:示波器  测试SPC协议  解码 手机看文章 扫描二维码
随时随地手机看文章

在很多的场合,我们往往需要测量较高精度的角度和位置,例如汽车的油门,节气门位置以及转向扭矩感应等。由此,用于传输磁感应强度的SPC应运而生,下面我们来了解一下此协议的内容。


SPC概述

SPC(Short PWM Code)协议,是基于SENT(Single Edge Nibble Tranmission)协议的增强版,通过两个相邻周期的下降沿之间的脉冲实现数据传输,相对于模拟输出和PWM输出,具有很好的EMC特性,具有较高的传输速度,较强的可靠性和抗干扰能力。此协议广泛应用于精确的转动角度测量和位置检测,汽车应用包括踏板、油门或变速杆位置检测,悬架控制或电动助力转向系统直接扭矩检测等。


SPC协议以单线半双工传输的方式进行数据传输,最多可以同时控制4个传感器。与SENT不同,SPC新增了触发字段,可表示三种模式:同步模式,ID选择与范围选择。SPC各个字段的值根据两个下降沿之间的时间来表示一个四位的值,根据下降沿时间除以一个固定的值所得的结果减去12就是所代表的值,这个固定的值成为单位时间(UT)。

SPC帧格式介绍

图1 SPC帧格式

触发字段(master Trigger Pulse):由主机发送,根据模式的不同,长度也不同。

同步字段(Sync frame):由从机发送,表示从机开始采集数据。


状态字段(status Nibble):表示从机当前的状态,当触发字段的模式为ID选择或范围选择时,还表示从机的ID或当前范围值。


数据字段(DataNibble):表示从机采集到的数据,根据从机的设置,数据字段的数量可以是3到6个不等。其数据可包含霍尔值与温度值。


校验字段(CRC Nibble):提供校验值,用于校验此帧是否正确。

实例应用-解码实例

模拟SPC通信协议,对数据进行解码,如下图2所示:

图2 SPC解码配置参数

如上图所示,为SPC解码所需配置参数,其中时间片宽度是指主机设置的单位时间。根据帧的数据字段的性质,设定数据字段的个数,如下图所示:

图3 数据字段个数含义

如上图,当数据字段的数量为3或者4时,表示数据仅有霍尔值。数量为5或6时,传感器除了测量霍尔值还会测量并传输温度值。

图4 SPC解码

图5 SPC解码

如上图所示,此帧代表触发字段为范围选择,且选择的范围为100mT,状态字段表示传感器当前状态为Normal且当前的磁通范围为200mT。

关键字:示波器  测试SPC协议  解码 引用地址:通过示波器测试SPC协议解码

上一篇:“示波记录仪”电源研发的利器!
下一篇:使用示波器请遵循安全用电规则

推荐阅读

之所以要讲这个滴答定时器,是因为它很特殊,stm32的定时器有内部也有外部的,而滴答定时器是在cortex内核里面的,明白滴答定时器,就可以根据这个思路去对stm32有更深的了解,可以说起到一个举一反三的作用吧。 滴答定时器在stm32手册中可以说是一笔带过,只是讲解了寄存器怎么用,很多童鞋可能对这个滴答定时器还是一头雾水,这第一篇先参考corte...
#include<reg52.h> //头文件#include<intrins.h>//头文件#define uint unsigned int //宏定义#define uchar unsigned char//宏定义#define datlcd P0sbit lcdrs = P2^0; //液晶读 sbit lcdrw = P2^1; //液晶写sbit lcden = P2^2;//液晶选择#define SOFT_SPI ...
本文根据对控制任务及控制对象的分析,介绍了利用国产信捷XDM系列运动控制型PLC对4个伺服电动缸进行控制的方法,该方法简单易行,编程容易,可靠性高。1、控制任务试验诊断平台的控制系统设计要求如下:(1)根据现场装调人员指示,操作人员发出伺服电动缸动作指令,4个伺服电动缸在总行程范围内单独动作,在行程极限位置可靠停止;(2)控制箱应具备每个...
摩尔定律在先进半导体工艺上虽然还在延续,从7nm、5nm正步入3nm,但从多个性能指标的角度可以看到,天花板正趋向于平缓,单芯片的良率会随着die面积的增长更快的降低,在更先进的工艺上,研发成本和时间增加巨大。面对这些产业的挑战,目前全球只有Intel、samsung和TSMC还正在致力研发及生产7nm及以下的工艺。来自芯耀辉联席CEO余成斌教授作为深耕IP领域数...

史海拾趣

问答坊 | AI 解惑

谁有L6203的中文资料和经典电路?我急需

谁有L6203的中文资料和经典电路?我急需!有的话发我zhengdonghua1987@163.com 先谢谢了! …

查看全部问答∨

请教集成运放的参数??

大家好,我查了一个AD8001,其中有些参数很不明白:880MHZ,-3db Bandwidth (G=1) 440MHZ,-3db Bandwidth (G=2) 怎么G才等于1呢??这个应用 ...…

查看全部问答∨

电动车跷跷板

本帖最后由 paulhyde 于 2014-9-15 09:25 编辑 电动车跷跷板  …

查看全部问答∨

v_malloc() and k_malloc()的区别是什么?

v_malloc() and k_malloc()的区别是什么?…

查看全部问答∨

有哪位高手调试过IA4421无线芯片?

我现在正在调试IA4421芯片,现在发送是没问题的,但是接收方面连同步字节也收不到, 因为本人水平有限,请高手指点! 发送的板子读状态字都对,但接收方读状态字不对,也看不到IRQ的下降波形,谢谢了,很急…

查看全部问答∨

仿真图请看这个网

仿真图请高手看看这个网:http://photo.163.com/photos/xigongshixi/137108207/3844693980/…

查看全部问答∨

三星有官方2440 wince 6.0的bsp吗?

三星有官方2440 wince 6.0的bsp吗? 或者哪位有?能否贡献一下?…

查看全部问答∨

在pc机上发短信的问题

问题是,, pc机与Nokia建立连接后,发送At+CSCA命令,能正常获取SIM卡的 SMSC,当发送短信时,命令和消息组成的字符串正确,但是一发送时,返回的字符串与原的字符串相同,但是就是不能发送出去…

查看全部问答∨

问个ADS中有关RO段的问题

1.是不是在ADS中设置了RO段的起始位置,比如0x30000000,生成的.bin文件就得放入该地址空间才能运行,还是不论在什么内存空间,只要找到程序的入口地址就能运行了 2.2410的bootloader中,RO段设置为0x30100000,烧入flash中,复位后程序从0x0开始 ...…

查看全部问答∨
小广播
最新测试测量文章

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved