杰发科技AC7840——SENT数据解析及软件Sent发送的实现
0. 测试环境
AC7840官方Demo板;
图莫斯0503
DSlogic U2Basic
使用引脚 输出脚:PB1 时钟:PB2,其他引脚可以不初始化,不接线

1. 数据解析
以下是SENT数据的格式(1tick以3us为例):
- 最小脉冲周期为12个时钟节拍=36us
- 每个脉冲,低电平持续时间最少为4个时钟节拍=12us
- 数据脉冲最低脉冲周期为12个时钟节拍/36us(对应半字节值0)
- 数据脉冲最低脉冲周期为27个时钟节拍/81us(对应半字节值15)
- Sync 同步脉冲,固定的56Ticks
- Status/Com 状态及通讯字段,12~27Ticks,即1个Nibble(4bit)
- Data 数据段,12~162Ticks,即1~6个Nibble
- CRC 校验字段,12~27Ticks,即1个Nibble
- Pause 暂停脉冲 12-768TICKs,早期的SENT协议无此字段或者一个周定长度TCKS,SENT2010之后,部分通讨此功能可以动态条件TICKS的个数,实现整个SENT协议是同一个固定长度TICKS
逻辑分析仪测试发送数据0符合上述数据

发送数据1如下所示

发送数据2如下所示

发送数据3如下所示

发送数据15如下所示

综上所述,主要区别在数据帧的高电平长度。
以下是发送0123456的数据格式,可以看到,数据位的长度为(21+3*N)

同步脉冲:格式固定为15uS+152uS=167uS的数据

2. SPI数据结构

测试在110K波特率的情况下,SPI发送一个位的时间为1uS。

以此为基准生成Sent的数据帧
SPI生成Sent数据


可以看到上面和我们用图莫斯发出来的波形一模一样。
最后一个FF是用来拉高电平,否则第一个从高到低的数据出不来。

可以看到,其中从F0开始是数据位,到第28个数据FE是数据位,后面是每个脉冲必须的4个tick的低电平,即12us

以下是0-F的校验码

发送2个字节
while (1){g_spiTxBuff1[0] = 0;g_spiTxBuff1[1] = 0x3;for (int i = 0; i < 18; i++){g_spiTxBuff1[i + 2] = 0xff;}g_spiTxBuff1[20] = 0;g_spiTxBuff1[21] = 0x1;g_spiTxBuff1[22] = 0xff;g_spiTxBuff1[23] = 0xff;g_spiTxBuff1[24] = 0xf0;g_spiTxBuff1[25] = 0;g_spiTxBuff1[26] = 0x1f; // 00011111后5位参与数据位高电平g_spiTxBuff1[27] = 0xff; // 参与数据位高电平g_spiTxBuff1[28] = 0xfe; // 参与数据位高电平g_spiTxBuff1[29] = 0x00;g_spiTxBuff1[30] = 0x03;g_spiTxBuff1[31] = 0xff;g_spiTxBuff1[32] = 0xff;g_spiTxBuff1[33] = 0xf8;g_spiTxBuff1[34] = 0x00;g_spiTxBuff1[35] = 0x0f;g_spiTxBuff1[36] = 0xff;SPI_DRV_MasterTransfer(SPI_INSTANCE, g_spiTxBuff1, g_spiRxBuff1, 37); /*! SPI通信 */OSIF_TimeDelay(100);}

能识别到,就是校验码还需要再优化下

相关文章:
杰发科技AC7840——SENT数据解析及软件Sent发送的实现
0. 测试环境 AC7840官方Demo板; 图莫斯0503 DSlogic U2Basic 使用引脚 输出脚:PB1 时钟:PB2,其他引脚可以不初始化,不接线 1. 数据解析 以下是SENT数据的格式(1tick以3us为例)&#…...
Java后端开发(十五)-- Ubuntu 开启activemq开机自启动功能
目录 1. 修改Wrapper.conf文件配置内容 2. 在/etc/systemd/system目录下创建activemq.service文件 3. 重启服务器,验证是否生效 4. 系统启动目标问题 操作环境: 1、Ubuntu 22.04.4 LTS (GNU/Linux 6.5.0-28-generic x86_64) 2、jdk17.0.11 3、apache-activemq-6.0.1 1. 修…...
56 网络层
本节重点 理解网络层的作用,深入理解IP协议的基本原理 对整个TCP/IP协议有系统的理解 对TCP/IP协议体系下的其他重要协议和技术有一定的了解 目录 前置认识ip协议基本概念协议头格式网段划分特殊的ip地址ip地址的数量限制私有ip和公有ip路由路由表生成算法 在复杂…...
MAC地址泛洪——华为ensp
首先搭建好网络拓扑,包含客户端、服务端、一台交换机 以及 云。 客户端client1和服务端server1各自配置好IP地址,服务端充当FTP服务器,启动ftp服务 其中要先配置cloud1相关配置,然后才可以进行连线, 第一步进行端口…...
golang 字符编码 gbk/gb2312 utf8编码相互转换,判断字符是否gbk编码函数, 字符编码转换基础原理解析, golang默认编码utf8
虽然golang里面的默认编码都是统一的unicode utf8编码, 但是我们在调用外部系统提供的api时,就可能会遇到别人的接口提供的编码非 utf8编码,而是gbk/gb2312编码, 这时候我们就必须要将别人的gbk编码转换为go语言里面的默认编码ut…...
CentOS(7.x、8)上安装EMQX
EMQX 是一个高度可扩展的分布式 MQTT 消息服务器,适用于 IoT、M2M 和移动应用程序。以下是在 CentOS 系统上安装 EMQX 的基本步骤: 在 CentOS 上安装 EMQ X 步骤 1: 添加 EMQ X YUM 源 首先,你需要添加 EMQ X 的官方 YUM 源到你的 CentOS 系…...
Mojo模型魔法:动态定制特征转换的艺术
标题:Mojo模型魔法:动态定制特征转换的艺术 在机器学习领域,模型的灵活性和可扩展性是至关重要的。Mojo模型(Model-as-a-Service)提供了一种将机器学习模型部署为服务的方式,允许开发者和数据科学家轻松地…...
多任务高斯过程数学原理和Pytorch实现示例
高斯过程其在回归任务中的应用我们都很熟悉了,但是我们一般介绍的都是针对单个任务的,也就是单个输出。本文我们将讨论扩展到多任务gp,强调它们的好处和实际实现。 本文将介绍如何通过共区域化的内在模型(ICM)和共区域化的线性模型(LMC)&…...
【PPT把当前页输出为图片】及【PPT导出图片模糊】的解决方法(sci论文图片清晰度)
【PPT把当前页输出为图片】及【PPT导出图片模糊】的解决方法 内容一:ppt把当前页输出为图片:内容二:ppt导出图片模糊的解决方法:方法:步骤1:打开注册表编辑器步骤2:修改注册表: 该文…...
TeraTerm 使用技巧
参考资料 自分がよく使うTeratermマクロによる自動ログインのやり方をまとめてみたよTera Term マクロでログインを自動化してみたTera Term のススメ 目录 简介一. 常用基础设置1.1 语言变更1.2 log设置 二. 小技巧2.1 指定host别名2.2 新开窗口2.3 设置粘贴多行命令时的行间…...
意得润色打折啦
新注册使用可以减15%,ABSJU202,直接使用哦ㅤ 此外,如果老板经费充足,预算高,完全可以试试他家的投稿套餐,科学深度编辑,从期刊选择,到投稿协助,投稿信都帮你写好…...
微软研发致胜策略 06:学无止境
这是一本老书,作者 Steve Maguire 在微软工作期间写了这本书,英文版于 1994 年发布。我们看到的标题是中译版名字,英文版的名字是《Debugging the Development Process》,这本书详细阐述了软件开发过程中的常见问题及其解决方案&a…...
学习大数据DAY21 Linux基本指令2
目录 思维导图 搜索查看查找类 find 从指定目录查找文件 head 与 tail 查看行 cat 查看内容 more 查看大内容 grep 过滤查找 history 查看已经执行过的历史命令 wc 统计文件 du 查看空间 管道符号 | 配合命令使用 上机练习 4 解压安装类 zip unzip 压缩解压 tar …...
【18】Android 线程间通信(三) - Handler
概述 接下来我们会从native层来分析一下,Handler做了什么,以及之前提到过的应用层的两个native的调用链。 nativeWake 最早接触这个方法还记得是什么时候吗?MessageQueue#enqueueMessage中,在这个方法的末尾,我们看…...
静态路由技术
一、路由的概念 路由是指指导IP报文发送的路径信息。 二、路由表的结构 1、Destination/Mask:IP报文的接收方的IP地址及其子网掩码; 2、proto:协议(Static:静态路由协议,Direct:表示直连路由) 3、pref:优先级(数值和优先级成反比) 4、cost:路由开销(从源到目的…...
SpringBoot缓存注解使用
背景 除了 RedisTemplate 外, 自Spring3.1开始,Spring自带了对缓存的支持。我们可以直接使用Spring缓存技术将某些数据放入本机的缓存中;Spring缓存技术也可以搭配其他缓存中间件(如Redis等)进行使用,将某些数据写入到缓存中间件…...
@RequestBody接收到的参数中如何限制List的长度?
在Spring MVC中,你可以使用Valid注解和自定义的验证注解来限制List的长度,防止DOS攻击。具体步骤如下: 创建自定义注解:首先,创建一个自定义注解来验证List的长度。 import javax.validation.Constraint; import jav…...
Linux C语言 54-目录操作
Linux C语言 54-目录操作 本节关键字:Linux、C语言、目录操作、遍历目录 相关C库函数:opendir、readdir、closedir 遍历目录 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <dirent.h> #include <…...
Java实战中如何使用多线程(线程池)及其为什么使用?
这个话题在入行之前就想过很多次,很多8古文或者你搜索的结果都是告诉你什么提高高并发或者是一些很高大上的话,既没有案例也没有什么公式去证明,但是面试中总是被问到,也没有实战经历,所以面试时一问到多线程的东西就无…...
kafka集群搭建-使用zookeeper
1.环境准备: 使用如下3台主机搭建zookeeper集群,由于默认的9092客户端连接端口不在本次使用的云服务器开放端口范围内,故端口改为了8093。 172.2.1.69:8093 172.2.1.70:8093 172.2.1.71:8093 2.下载地址 去官网下载,或者使用如…...
DataGuard运维避坑指南:当备库遇到ORA-01578坏块时的完整恢复流程
DataGuard运维实战:备库ORA-01578坏块诊断与FROM SERVICE精准修复 凌晨三点,当告警短信突然亮起"ORA-01578: ORACLE data block corrupted"的红色提示时,作为DBA的你很清楚这意味着什么——这不仅是简单的坏块问题,更是…...
OpenClaw技能扩展指南:为GLM-4.7-Flash添加自定义功能
OpenClaw技能扩展指南:为GLM-4.7-Flash添加自定义功能 1. 为什么需要自定义技能 去年冬天,当我第一次尝试用OpenClaw自动整理电脑上的照片时,发现现有的技能库无法满足我的特殊需求——按照拍摄地点和人物自动分类。这让我意识到࿰…...
Umi-OCR插件终极指南:如何选择最适合你的文字识别方案
Umi-OCR插件终极指南:如何选择最适合你的文字识别方案 【免费下载链接】Umi-OCR_plugins Umi-OCR 插件库 项目地址: https://gitcode.com/gh_mirrors/um/Umi-OCR_plugins 还在为文档扫描、图片文字提取效率低下而烦恼吗?Umi-OCR插件库为你提供了全…...
如何5分钟快速安装Ghidra:新手逆向工程终极指南
如何5分钟快速安装Ghidra:新手逆向工程终极指南 【免费下载链接】ghidra_installer Helper scripts to set up OpenJDK 11 and scale Ghidra for 4K on Ubuntu 18.04 / 18.10 项目地址: https://gitcode.com/gh_mirrors/gh/ghidra_installer Ghidra作为美国国…...
Web开发中前端与Node服务中的信息安全与解决办法
Web开发中前端与Node服务中的信息安全与解决办法 input限制特殊字符和长度 漏洞描述: 永远不要相信用户输入的信息,如常规的注入脚本通过input输入之后被页面执行 整改办法 方法1:对于vue项目中ElementUI的el-input 和 原生input <el-in…...
紧固件包装机有哪些类型?自动化包装设备全解析_FES 2026上海紧固件展
2026第十六届上海紧固件专业展(Fastener Expo Shanghai 2026)将于6月24日至26日在国家会展中心(上海)举行。作为紧固件行业的重要展示窗口,本届展会将重点呈现制造端与后道环节的智能化升级,其中࿰…...
OpenClaw自动化测试:Qwen3-32B批量执行LeetCode题目
OpenClaw自动化测试:Qwen3-32B批量执行LeetCode题目 1. 为什么需要自动化编程能力测试 作为一名长期关注AI编程辅助工具的技术博主,我一直在寻找能够客观评估大模型编程能力的方法。传统的单次对话测试往往带有偶然性,无法系统性地反映模型…...
【GNSS定位原理及算法杂记2】GNSS观测量:从捕获到解算,揭秘接收机内部信号处理链路
1. GNSS观测量:定位技术的三大支柱 当你打开手机地图查看自己的位置时,背后是GNSS接收机在默默工作。它通过处理来自太空卫星的信号,最终计算出你所在的位置。这个过程中最关键的就是三种观测量:伪距、载波相位和多普勒频移。这三…...
FLUX.1文生图优化技巧:SDXL风格节点参数这样调,图片效果更出彩
FLUX.1文生图优化技巧:SDXL风格节点参数这样调,图片效果更出彩 1. 快速上手:FLUX.1文生图工作流基础操作 1.1 工作流启动指南 启动FLUX.1文生图工作流只需简单三步: 在ComfyUI左侧面板找到"FLUX.1-dev-fp8-dit文生图&quo…...
Windows 10 实战:基于 FFmpeg + Nginx 构建 RTSP 转 RTMP/HLS 流媒体网关
1. 为什么需要RTSP转RTMP/HLS网关 最近接手了一个监控项目,甲方要求将内网摄像头的实时画面通过网页展示给外网用户。刚开始觉得挺简单,直到发现摄像头输出的是RTSP协议——这玩意儿在浏览器里根本没法直接播放!相信不少做过视频监控开发的同…...
