打印

数字式温度传感器,SPI接口,线长1.5M时,读取转换出错?

[复制链接]
3461|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
7120223|  楼主 | 2011-2-21 21:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 7120223 于 2011-2-21 21:11 编辑

应用一款数字式温度传感器,当线长1.5M时候,有时候单片机可以读出正确温度值有时候却是一个假值,或者是某一个固定的值。好像温度传感器死掉一样。线短时候没有发现这种情况,改变了脉冲的快慢,没有效果。在不改变线长的情况下如何操能使其正常工作呢?

相关帖子

沙发
HWM| | 2011-2-21 21:34 | 只看该作者
SPI接口通常用在板内IC间或板间短距离(同一机箱内)通讯。由于电压为5V(或更低)而非差分形式,所以传输距离不宜过长(特别是环境干扰大的情形)。

使用特权

评论回复
板凳
mmax| | 2011-2-21 23:07 | 只看该作者
补救建议:在scl/sda的终端(scl终端在温度芯片、sda终端在CPU)各加一个5k左右下拉电阻,增加回路的电流,增强抗干扰能力。

终端靠近IC适当加个几十pf的电容。

使用特权

评论回复
地板
chunyang| | 2011-2-22 00:54 | 只看该作者
首先尽量选择较粗的导线,现场干扰明显的话则应使用屏蔽线,如果MCU的IO是弱上拉型,则应加外置上拉电阻增强驱动,同时传感器应用电容去耦。

使用特权

评论回复
5
7120223|  楼主 | 2011-2-22 08:17 | 只看该作者
恩我会吧大家的建议试试。
本来单片机就是CS,CLK是推挽输出的,DQ是高阻输入的。屏蔽线我试过,没效果。
增加一级驱动:比如靠传感器一端加一个非门,可行么?

使用特权

评论回复
6
gx_huang| | 2011-2-22 08:44 | 只看该作者
以上各种实验的尝试是必要的。
但是测试更加重要,建议用示波器测试传感器和CPU端的信号波形。

使用特权

评论回复
7
7120223|  楼主 | 2011-2-22 10:06 | 只看该作者
MCU端与传感器端波形都测量了,还不错。
现在在传感器端,焊接了一个104电容,效果有所改善,但过段时间后,又恢复原来的问题了。

使用特权

评论回复
8
XZL| | 2011-2-22 10:46 | 只看该作者
需要反复试验的。当初做DS18B20的时候出现过。需要修改延时参数

使用特权

评论回复
9
kalay| | 2011-2-22 17:11 | 只看该作者
请在传感器端电源加大电容和去耦电容,可能会有所改善,原来应用DS18B20线长50M都没有问题,只不过此接口是1线总线

使用特权

评论回复
10
cobraking| | 2011-2-22 17:32 | 只看该作者
可以用示波器单次触发抓波形,看读数据出错时的波形对不对。

使用特权

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

本版积分规则

105

主题

389

帖子

0

粉丝