打印
[STM32F3]

读取18b20的romid数据返回异常

[复制链接]
1413|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
最近调试18b20读取romid的程序,自己设计的驱动电路,目的 读取多个单总线上挂载的romid,目前遇到以下不明所以的问题。


18b20读取romid先复位,发送搜索romid指令  0xf0


按照两读一写的方式进行读取,18b20的家族码首先是0x28,现在的情况是读取第一个字节,也就是家族码的时候,数据就是异常的,正常读取家族码,所有romid应该是相同的才对,也就是两读必须是01或者10,但是我这边读取却是经常00,实际看波形的时候也瞧不出有什么异常,0和1的波形区分还是很明显的,不知道是何种原因导致的,下面是波形图,有没有知道这种波形出现的原因是啥的大佬指教一下?

使用特权

评论回复
沙发
banxiafeixia|  楼主 | 2020-6-13 14:41 | 只看该作者
粉色是原始波形,黄色是经过总线缓冲器的波形

FCGL4PMYX{~{7~CMU`DHE`Y.png (770.7 KB )

FCGL4PMYX{~{7~CMU`DHE`Y.png

使用特权

评论回复
板凳
banxiafeixia|  楼主 | 2020-6-13 15:08 | 只看该作者
单总线通信上拉电阻我用的300R。实践证明,上拉电阻过小的话,数据是会异常的,但是我这边一根线带几百点,上拉电阻大了的话,动力不够,不知道应该如何取舍。

使用特权

评论回复
地板
walton1226| | 2020-6-15 11:45 | 只看该作者
复位之后加几十us的延时。
bit与bit之间加几十us的延时。
再加一个IO口分担一半。

使用特权

评论回复
5
wowu| | 2020-7-8 16:11 | 只看该作者
是二总线通讯方式吗

使用特权

评论回复
6
xiaoqizi| | 2020-7-8 16:11 | 只看该作者
难道是纯硬件问题?

使用特权

评论回复
7
木木guainv| | 2020-7-8 16:12 | 只看该作者
请问romid是什么

使用特权

评论回复
8
磨砂| | 2020-7-8 16:14 | 只看该作者
楼主找到问题了吗

使用特权

评论回复
9
晓伍| | 2020-7-8 16:14 | 只看该作者
帮楼主顶一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

93

帖子

2

粉丝