Ds18b20数字温度传感器
模拟温度传感器 热敏电阻输出的电压随着温度变化将变化的电压值转化成数字信号 这就是模拟传感器比较复杂这个数据只是正比于温度还要计算温度实际是多少数字温度传感器 将模拟温度传感器变成了一个芯片将温度自动的转换成了芯片内部的温度只需要把转换之后的温度传递出来单片机一个IO口可以读很多个温度传感器常用的温度传感器家居自动化DQ 测温度一个引脚怎么传输数据采用了1-wire总线进行通讯异步的串行的通讯协议1-wirte通讯协议scratch抓sensor 传感器输入输出引 DQ 上拉电阻开漏模式能够主动拉低电平不能拉高只能高阻态scratchpad 暂存器高温预警低温预警其他配置信息温度报警通过引脚输出一个特定的信号18B20是一个低功耗芯片如果不发送测温命令他不会主动测收到命令之后会测温将温度放入暂存器单片机拿到这个温度单片机主导测温命令获取温度命令1-wire: wire:金属丝半双工串行通信协议主要用于各种低成本传感器和存储设备进行数据交换和I2C协议类似也采用主从架构主设备每个从设备都有一个唯一的64位的地址用于设备设别和通讯这个64位的地址自己不能设置都是固定的都是制造商在生产的时候烧录进去的是不可更改的每次通信时主设备都要先发送一个复位脉冲复位 从低功耗状态 恢复到 正常通信状态然后回复一个存在脉冲主设备可以根据这个存在脉冲获知设备的健康状态DQ引脚线的电平释放DQ总线释放DQ确认数据发送完毕温度00011001总线上不可能一次出现8位所以协议必须规定某一小段时间内的电平代表一位数据这就是时隙slotread 0 slot 表示 如果芯片内部这一位是0他会怎么操作总线read 1 slot: 表示如果这一位是 1他会怎么操作总线这一位数据恰好是0总线长这样采样 在规定的时间查看总线当前是高电平还是低电平最开始 1-2us主机拉低总线开始读时隙然后主机释放总线后面的电平就全部由 ds18b20决定如果ds18b20 要发0他会立刻继续拉低所以2us后的那个低电平就是已经是 ds18b20的 时隙slot而不是等到15us之后才是15us只是建议你读取的时间10~15us附近最稳定前半段 基本可靠ds18b20 samples : 这个时间段查看总线来判断你写的是0还是1ds18b20通讯流程初始化主设备发送复位脉冲从设备回复存在脉冲发送ROM命令64位的ROM从机地址唯一标识为了确定是哪个从机搜索ROM命令 识别和列出所有连接在总线上的18b20设备读取ROM命令 只有在单设备连接的时候主机才可以直接用这个命令读取该设备的ROM代码匹配ROM命令 该命令后会跟随一个特定的64为ROM代码选择总线上特定的设备进行通讯发哪个地址就是和谁进行通讯跳过ROM命令 在单设备环境中可以跳过ROM步骤直接通讯发送功能命令测温命令读取温度命令 等均属于功能命令温度转换 温度的模拟信号转成数字信号读取暂存寄存器 读取暂存器中存储的值 。。。。这个命令会返回暂存器中的全部数据共九个字节每次执行完了一个功能命令的时候会自动恢复到低功耗状态每次发命令都要初始化。。发复位脉冲重新激活指定ROM然后再发送命令暂存器中的全部数据共九个字节温度值保存在前两个字节只需要接收前两个字节即可ls byte 低字节ms byte 高字节它不仅要存整数部分还要存小数部分还要存正负号一个字节不够精度 0.0625最终的温度是 0.0625整数倍18b20的精度可选temperature sensor 温度传感器alarm high trigger 报警高触发 》 存储介质是 EEPROMalarm low trigger 报警低触发configuration register 配置计算器设置精度设置分辨率默认0.06258bit crc generator 校验码把ram之前的数据进行校验判断通讯是否正确CRC cyclic redundancy check 循环冗余校验 广泛用于数据传输领域的错误检测技术reserved 保留位单总线 1-wire bus 通用数据总线一根通讯线 DQ 》 Data Input/Output异步半双工ds18b20 很广泛单总线不广泛copy scratchpad : 将Ram暂存器 写入到 EEPROM中如果想掉电不丢失写入之后copyrecall E2 将EEPROM中数据读入到RAM中read power supply 获取供电模式后面会跟着读取一位的时序power supply sense
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2614621.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!