- 189
- 0
- 约1.56万字
- 约 16页
- 2021-08-02 发布于湖北
- 举报
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、 传感器没有回应;
您可能关注的文档
最近下载
- 个人简历表格填写2021简历模板.docx VIP
- 针灸推拿学习题库(附答案).docx VIP
- 毕业设计(论文)-五边形凸台零件铣削加工.doc VIP
- 2026届山东省淄博市高三上学期期末考试(摸底质量检测)历史试题(含答案).docx VIP
- 常见词组固定搭配.pdf VIP
- 2023年山东泰安中考地理试题及答案.pdf VIP
- 胎动管理专家共识最新2025.pptx
- (小学综合实践课标复习题全.doc VIP
- 0—3岁婴幼儿心理发展与教育 第四章 0-3岁婴幼儿心理发展与教育 课件PPT.pptx VIP
- 0—3岁婴幼儿心理发展与教育 第三章 0-3岁婴幼儿心理发展与教育 课件PPT.pptx VIP
原创力文档

文档评论(0)