基于LabVIEW和物联网的分布式家庭智能监控系统错误检测详解
需积分: 49 199 浏览量
更新于2024-08-08
收藏 9.25MB PDF 举报
本文档详细介绍了基于LabVIEW和物联网的分布式家庭智能监控系统中,使用Microchip PIC18F66K80系列单片机实现的CAN(Controller Area Network)总线通信技术。CAN是一种工业标准串行通信协议,特别适用于实时性和可靠性要求高的环境,如家庭自动化系统。
章节27.13重点讨论了波特率控制寄存器(BRGCON1、BRGCON2和BRGCON3)的配置,这些寄存器在配置模式下用来调整CAN位定时和同步特性。BRP位用于设置波特率预分频比,SJW位则控制同步跳转宽度,而PRSEG、SEG1PH和SAM位分别控制传播时间、相位缓冲段长度和采样次数,确保信号质量和错误检测的准确性。
错误检测是CAN协议的核心部分,主要包括以下几种类型:
1. CRC错误:通过循环冗余校验(CRC)来验证数据的完整性。发送端计算位序列的CRC值,并将其附加到帧中。接收端同样计算并对比接收到的CRC值,发现不匹配即认为有CRC错误,导致错误帧发送。
2. 应答错误:发送者检查报文应答字段中隐性位是否被正确响应,无响应则判断为应答错误,触发错误帧重传。
3. 格式错误:检测到帧内四个时间段(包括EOF、间隔、应答符和CRC符)的显性位,即发生格式错误,报文重新发送。
4. 位错误:在发送和接收过程中,如果发送显性位却检测到隐性位,或反之,视为位错误。在某些特定情况下,如仲裁和应答时隙的隐性位被检测到显性位,除非已发生正常仲裁,否则不会报告位错误。
5. 填充位错误:如果在SOF和CRC定界符之间发现连续六个同极性位,这违反了位填充规则,触发填充位错误,报文重新发送。
6. 错误状态和错误计数器:设备有两个错误计数器(RXERRCNT和TXERRCNT),记录接收和发送错误。根据错误计数值,设备会进入不同的错误状态:错误主动、错误被动或总线关闭,分别对应不同的通信限制。
在整个监控系统中,这些错误检测机制确保了通信的可靠性和数据的完整性。然而,用户必须注意Microchip提供的警告和免责声明,确保产品的正确使用和应用符合技术规范,避免潜在风险。此外,文档中还提及了一些Microchip的注册商标和知识产权信息,强调了版权保护和合法使用的重要性。
2021-08-10 上传
2019-09-05 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
jiyulishang
- 粉丝: 25
- 资源: 3813
最新资源
- Raspberry Pi OpenCL驱动程序安装与QEMU仿真指南
- Apache RocketMQ Go客户端:全面支持与消息处理功能
- WStage平台:无线传感器网络阶段数据交互技术
- 基于Java SpringBoot和微信小程序的ssm智能仓储系统开发
- CorrectMe项目:自动更正与建议API的开发与应用
- IdeaBiz请求处理程序JAVA:自动化API调用与令牌管理
- 墨西哥面包店研讨会:介绍关键业绩指标(KPI)与评估标准
- 2014年Android音乐播放器源码学习分享
- CleverRecyclerView扩展库:滑动效果与特性增强
- 利用Python和SURF特征识别斑点猫图像
- Wurpr开源PHP MySQL包装器:安全易用且高效
- Scratch少儿编程:Kanon妹系闹钟音效素材包
- 食品分享社交应用的开发教程与功能介绍
- Cookies by lfj.io: 浏览数据智能管理与同步工具
- 掌握SSH框架与SpringMVC Hibernate集成教程
- C语言实现FFT算法及互相关性能优化指南