新闻中心

EEPW首页 > 测试测量 > 设计应用 > 利用RS-485实现多路温度测量

利用RS-485实现多路温度测量

作者:郭庆亮 中国电子科技集团公司第四十一研究所时间:2010-03-09来源:电子产品世界收藏

本文引用地址:http://www.eepw.com.cn/article/106708.htm

  本系统对串行通讯的应用电路中,在A和B端预留了上拉电阻、和AB之间的匹配电阻,但实际使用过程中,由于通讯距离很短(10m以内),所以匹配电阻并没有焊上,而是在MAX485和微处理器的TXD和RXD接口处增加了两个10KΩ的上拉电阻。用示波器测量其通讯信号波形时,发现R2、R3两个上拉电阻接上后,通讯数据的波形得到了明显的改善,通讯成功率大大提高。

  通讯需要严格遵循通讯协议,否则通讯是不会建立起来的。尤其是在主采用不同的处理器时,软件处理一定的仔细查看其说明文件,不能一视同仁。在本电路的实验过程中,就发现一个波特率设置的问题。波特率的设置公式如下:

  BAUD= Fosc/16(UBRR+1)

  其中BAUD为通讯速率,Fosc为系统时钟频率,UBRR为波特率寄存器UBRRH、UBRRL中的值(0~4095)。

  波特率的设置公式中用到了微处理器的系统时钟频率Fosc,我们的主虽然都使用了外部4M晶振,但内部将4M频率三分频,而仍然使用4M主频,软件编写过程中,将主从机的波特率寄存器初始化值置为一样的,这样就造成了主从机的波特率相差2倍,通讯当然是不能成功的。

  为了保证通讯成功,开始时所有从机复位,即处于监听状态,等待的呼叫。当向网上发出某一从机的地址时,所有从机接收到该地址并与自己的地址相比较。如果相符,说明主机在呼叫自己,应发回应答信号,表示准备好开始接收后面的命令和数据;否则不予理睬,继续监听呼叫地址。主机收到从机的应答后,则开始一次通信。通信完毕,从机继续处于监听状态,等待呼叫。由于发送和接收共用同一总线。在任意时刻只允许一台单机处于发送状态。因此要求应答的单机必须在侦听到总线上呼叫信号已经发送完毕,并且没有其它单机发出应答信号的情况下,才能应答。接受状态和发送状态的转换是通过方向口高低电平的变化来完成的。

  温度采集和显示

  从机模块完成的主要功能是8路温度模拟信号的采集和向主机正确的发送这8个采样温度,本系统中采用温度传感器为AD590。AD590是一个电流型集成温度传感器,其输出电流正比于绝对温度,当温度为273开氏度时,其输出电流为273微安。温度每变化1K(也可以理解为1℃),输出电流变化1微安。将电流信号经运算放大器后输出0~5V(参考电压为5V)的电压信号,经过ATMEG16L的10位A/D转换后变为数字信号存放在从机的缓存区。当主机发出与该从机相应的地址信号后,从机应应答并将采样后的数据经总线送给主机并显示在液晶屏幕上。



评论


相关推荐

技术专区

关闭