admin 管理员组文章数量: 1184232
2024年1月25日发(作者:氮的化合价是几价)
SDI-12 串行总线实现
图1:总线时序
唤醒信号:12MS高电平(Least)+8.33MS低电平;
主机指令发送;
从机应答发送。
对于时序偏差的容忍度是±0.4MS,唯一的例外是Stop Bit和下一个Start Bit之间的时间间隔的最大值为1.66MS不允许偏差。
主机将数据线设置为高至少12MS将被认为是一个Break;
从机在数据线设置为高6.5MS以内不会认为是Break,而设置为高12MS以上必定认为是Break;
从机在接收地址之前,必须要等待8.33MS的前导低电平;
在接收到Break信号100MS以内,传感器必须被唤醒,并做好监测Start Bit的准备;
主机在发送完命令的最后一个Bit以后,必须在Stop Bit结束后7.5MS内让出总线的控制权;(容忍度:+0.4MS)
在接收到Break和Command以后,被地址定位的从机将数据总线设置为低8.33MS(容忍度:—0.4MS),应答的第一个Byte的Start Bit应在Command的最后一个Stop Bit发送后15MS发送(容忍度:+0.4MS);
从机在发送完最后一个应答Byte以后,应该在7.5MS以内释放总线的控制权(容忍度:+0.4MS);
在应答和指令的两个Bytes的Stop Bit和Start Bit之间的时间间隔不能超过1.66MS,没
有容忍,这使得对M命令的应答被限制在380MS以内;
传感器必须在接受到一个无效地址或者在接受到最后一个Mark Bit的100MS后进入睡眠模式(容忍度:+0.4MS);
如果上一个指令是不同的地址,或者最后一个Market Bit已经发送了87MS,在发送命令前应加上Break。
Break的规则
在需要从休眠状态唤醒一个传感器时,主机将发送一个Break Bit。传感器在接受到最后一个Mark Bit的100MS后或者接收到一个无效地址后将再次进入休眠状态。因此,如果上一个指令是不同的地址,或者最后一个Market Bit已经发送了87MS,在发送命令前应加上Break。
如果接收到的服务通知将在87MS以内执行D0指令,主机不一定要发送Break。然而如果延迟的时间超过了87MS,则必须发送一个Break来唤醒设备。
重试
主机必须支持重试,传感器在接收到Break以后有100MS的时间来唤醒设备,且在被唤醒前不会接收任何指令。传感器在检测到数据总线空闲100MS以后将再次进入休眠模式。
重试:在发送命令后没有接到回应的情况下,主机将等到命令的最后一个Bit发送16.67MS以后87MS以前重新发送命令(不需要Break)。在重试两次以上以后仍未接收到正确的回应新号,如果最后一次重试是在Break的100MS以后(保证设备拥有完整的100MS的唤醒时间),将重新发送包括Break在内的所有命令(两次以上)。
重试的条件如下:
1、 传感器没有回应;
2、 在接收到回应的Start Bit后,出现了8.33MS的Mark;
3、 不正确的回应。
错误回应包括:不正确的格式;奇偶校验错误;帧错误或者是总线竞争。在发送重试以前必须等待回应结束。任何以上三条件之一存在的话,将触发重试。
SDI-12 通信协议
SDI-12的主机和传感器之间通过ASCII字符进行数据交换。主机将数据线置高12MS以发送一个Break来唤醒传感器。主机发送一个命令。传感器回复一个相应的应答。每个命令都将发送给一个明确的传感器。每个命令的第一个字符是主机将要通信的那个传感器的唯一地址。其他的传感器将跳过这个命令并再次进入休眠状态。主机开始从一个传感器采集数据后,如果没有接收到正确的回应将不会同其他传感器进行通信。
一个标准的传输流程为:
1、 主机通过一个Break来唤醒SDI-12总线上的所有设备;
2、 主机广播一个带有唯一地址的命令,指示一个传感器进行测量;
3、 地址指向的传感器将在15MS以内回应测量设备将数据准备好所需的时间和将要回应的数据的字节数;
4、 如果测量数据立刻就可以准备好,主机将发送一个命令来得到测量数据。如果数据不能立刻准备好,主机将等待传感器发送一个表示数据已经准备就绪的请求。这时主机再发送命令来得到数据;
5、 传感器回应一个或多个测量数据。
数据率和帧格式
SDI-12总线的数据率是1200,下表显示了SDI-12的帧格式:
Start Bit: 奇偶校验:偶校验 End Bit:
UART设置:硬件流关闭,数据位8,校验无,停止位1,起始位1.
BAUD_M=131,BAUD_E=5 波特率:1200.
正当的字符
在SDI-12总线上传输的数据必须是可以显示的ASCII字符。有效字符为32~126,ASCII码表如下所示:
代码
0
1
2
3
4
5
6
7
8
9
10
11
字符
**
**
**
代码
32
33
34
35
36
37
38
39
40
41
42
43
字符
[空格]
!
"
#
$
%
&
'
(
)
*
+
代码
64
65
66
67
68
69
70
71
72
73
74
75
字符
@
A
B
C
D
E
F
G
H
I
J
K
代码
96
97
98
99
100
101
102
103
104
105
106
107
字符
`
a
b
c
d
e
f
g
h
i
j
k
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
**
版权声明:本文标题:sdi-12实现 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1706170606a502809.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
更多相关文章
省电又便捷,学习使用shutdown_linux在Linux中自动关闭系统
接触过linux系统的都知道shutdown命令用于安全的关闭重启计算机,用决定命令shutdown不仅可以实现定时关机,还可以由用户自己决定关机时的参数:以下简单了解一下同样的功能在linux下使用shutdown命令和在Win
MHDD教程大揭秘:轻松搞定硬盘坏道问题
输入Y,回车,开始擦除,并显示擦除了多少兆字节,速度是很快的,还没等看清呢就擦完了。 还有一个命令AERASE:高级擦除,也叫完全擦除,跟ERASE的用法一样。快速擦除如果修不了坏道就用高级擦除。 下面我们再说硬盘的剪
MHDD硬盘的救星:轻松使用命令进行深度检测和优化
ID:硬盘检测,包括硬盘容量、磁头数、扇区数、SN序列号、Firmware固件版本号、LBA数值、支持的DMA级别、是否支持HPA、是否支持AAM、SMART开关状态、安全模式级别及开关状态……等)。INIT:硬盘初始化,包括D
MHDD拯救硬盘秘籍:用智慧攻克硬盘坏道
输入Y,回车,开始擦除,并显示擦除了多少兆字节,速度是很快的,还没等看清呢就擦完了。 还有一个命令AERASE:高级擦除,也叫完全擦除,跟ERASE的用法一样。快速擦除如果修不了坏道就用高级擦除。 下面我们再说硬盘的剪
SSD基础知识大汇总:理解硬盘读写原理,掌握FTL、TRIM与写入放大效应
前言 大家好,我是jiantaoyab,本篇文章我们来看看SSD硬盘和FTL、磨损均衡,SSD 硬盘,适合读多写少的应用,使用寿命受限于可以擦除的次数。 SSD 的读写原理 SSD 没有像机械硬盘那样的寻道过程
SSD硬盘操作秘籍:深入了解SSD内部的读写逻辑、认识FTL并掌握TRIM优化技巧
前言 大家好,我是jiantaoyab,本篇文章我们来看看SSD硬盘和FTL、磨损均衡,SSD 硬盘,适合读多写少的应用,使用寿命受限于可以擦除的次数。 SSD 的读写原理 SSD 没有像机械硬盘那样的寻道过程
破解Win7系统chkdsk锁死难题:高效删除历史记录
今天遇到了一个问题 解决完才想起来忘记截图了 就类似于这个 但我的右下角还有一个确定按钮 U盘里一个文件夹删不掉,并且打开为空白文件 文件或目录 探索者F4资料盘(A盘)4,程序源码3,扩展例程3, EMWI
搞定Word2000:让你的指数永不消失的小窍门
“文本框”是Word应用中一个强有力的工具。可以用此功能输入幂指数。 1、单击“工具”菜单中的“自定义”项,选中“命令”标签,在“类别”栏中,选择“格式”,在“命令”栏中,选择“上标”,然后按住鼠标左键,把它拉到屏幕中的任意一
升职加薪不是梦:解锁132个计算机专业英语词汇,打造技术流
filefaɪl n. 档案,公文箱,锉刀,[计算机] 文件 vt. 列队行进,归档,申请 command kə'm
从菜鸟到高手:快速上手技巧,轻松获取你的网卡“丢包率”数据。
平时上网延时丢包影响不大, 但对网络对战玩家那就完全不能接受了,下面小编教大家怎么测试网络延时时间,以及查看网络丢包情况,供大家参考。 同时按下键盘中的Win + R 组合快捷,如下图所示,注意小编的电脑是win10 PRO版
从ping到iPerf3:全面诊断网络延迟的必学技巧
要测试网络延迟情况,可以使用一些常见的工具和方法。以下是几种常用的网络延迟测试方法:ping 命令:ping 是一个简单而常用的网络工具,可用于测试主机之间的 往返延迟
Linux磁盘空间告急?立即行动,轻松清理!
前言:此文发表于2018年10月27号,由原博客迁移而来。 扎心!有人偷走了我的磁盘空间?! 2天前,接到系统报警,用来存储数据库数据的磁盘空间剩余不足10%,于是经过一番删表操作,成功释放了 40G 的空间,关上电脑
XMP数据处理指南:探索Adobe Flash中心的SWF文件基本架构
012-XMP数据处理 学习目标 通过本章学习,你将掌握:XMP标准理解 XMP元数据架构和结构 XMP命名空间和属性定义 XMP与其他元数据
Flash玩家必备:揭秘启动命令,让你成为真正的专家!
在 Linux 平台中,查看一个进程是由哪个命令启动的,可以通过多个命令工具来获取详细信息。以下是一些常用的工具和步骤,帮助你了解每个进程的启动命令及其详细信息。 1. 使用 ps命令ps
SayRecy数据恢复,轻松解救你的电脑数据危机!
在我们日常清理电脑时,有时会意外删除一些有用的文件,比如重要文件、照片等。这时就需要使用数据恢复软件尝试恢复数据。 EasyRecovery是一款强大有效实现数据恢复的软件,软件占用空间小,就算你是XP系统也能轻松驾驭。界面简
Adobe Flash Player让你的.NRG文件编程之旅变得简单
NRG 文件是光盘映像文件的一种,通常用于存储光盘的完整副本,包括数据、文件系统和光盘的结构。在本文中,我将向您介绍如何打开和编程处理 NRG 文件。 要处理 NRG 文件,您可以使用开源的工具或库来读取和提取其中的数据。下面
机械硬盘损坏,数据还能起死回生吗?揭秘数据恢复秘籍
电脑硬盘坏了数据可以恢复吗?对于这种问题,还需要具体问题具体分析的,一般是可以恢复。 硬盘损坏可以分为物理损坏和逻辑损坏两种情况: 1.逻辑损坏 这通常是由于软件问题,如文件系统错误、病毒攻击、误删除、格式化等
SWF硬盘测评汇总:帮你选到最合适的硬盘
硬盘天梯排行榜数据集成指南 引言 硬盘天梯排行榜数据为开发者和企业提供了硬盘性能的权威参考,涵盖SSD、HDD等各类存储设备的读写速度、耐用性、性价比等关键指标。通过API集成这些数据,用户可以快速获取最新的硬盘排名信
深入Windows Phone 8.1应用设置:LocalSettings与ApplicationDataContainer的实战应用
最近正好有机会看到林政老师的Windows Phone 8,1的书,正好我平时都是基于用户控件之类的写写使用收获,虽然 编程中基本上都用过应用数据之类的知识,但是一直没整理过,知识越来越多,东西也越来越杂,有时候过
基于Matlab的MDF文件导入与处理研究_matlabmdf格式数据处理
摘要 本文围绕MDF文件格式展开全面研究,系统阐述了MDF文件的基本结构与数据块概念,深入探讨了在Matlab环境下导入和处理这些文件的理论与实践方法。首先,介绍了MDF文件在现代工业和汽车电子领域的应用背景及重要意义。接着,
发表评论