armok 发表于 2009-3-26 15:17:31

RS232模拟I2C总线驱动DS1621测温

http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_427292.jpg
(原文件名:pctherm_assembled.jpg)



今天发现的这个实验作品非常经典,用计算机直接通过串口驱动DS1621测温,整个测温模块精简之至,没有使用任何单片机和电平转化芯片,涉及的技术还包括串口取电、I2C总线等等。


   如果采用单片机驱动DS1621的方案,工作量无异是巨大的,比方说需要完成计算机跟单片之间的电平转换、以及通讯;需要完成单片机跟DS1621之间的通讯。Alberto Ricci Bitti的这个PC实现的温度计,取消了单片机的中转环节,由计算机直接驱动DS1621,省去了单片机部分的大量设计工作,其思路非常犀利,犹如鬼斧神工、别开蹊径。


这种经典的方法只有直接看原理图说话才够爽快。

http://cache.amobbs.com/bbs_upload782111/files_13/ourdev_427293.jpg
(原文件名:pctherm_schematic.jpg)



串口取电:整个板子的能耗不高,通过串口偷取的微弱的电流,足以满足DS1621的需要。二极管D1、D2在DTR和RTS上偷取到的12V经C1滤波,由LM2936-Z5降压为5V,作为整个系统的电源。LM2936的输入电压可以低到5.2V,即使有些计算机的RS232高电平只有6V,也是足够用的。


RS232模拟I2C:电平转换是必需的,这一点是由5V稳压管实现的。模拟I2C总线使用了RS232的三根线,我做了一个简单的表格,这样看得更简单明了。

RS232引脚                        方向            I2C引脚                     解释
RTS(Request To Send)          PC > DS1621            SDL                RTS用作I2C的时钟线
DTR(Data Terminal Ready)      PC > DS1621            SDA                向DS1621发送数据时,DTR用作I2C的数据线
CTS(Clear To Send)            PC < DS1621            SDA                从DS1621接收数据时,DTR用作I2C的数据线


更详细的内容,请参考Alberto Ricci Bitti开放的硬件原理图和PC端的代码(Visual Basic)等相关设计材料

以上中文资料摘自:http://www.getproject.com.cn/post/39.html

pollycat 发表于 2009-4-5 21:50:55

学习学习~

bbi3014 发表于 2009-4-27 17:00:31

挺强的啊

tangjie 发表于 2009-5-25 00:13:35

确实很值得回味,做东西讲究的就是相同的功能用最少的元器件,最低的功耗完成。真的很佩服

chys01 发表于 2010-4-12 07:20:43

好东西

bland 发表于 2010-5-30 11:11:56

太强悍了,这么精致的东西。
低成本、低故障的好东西!

myh_hh 发表于 2013-5-23 22:33:49

mark 好东西!
页: [1]
查看完整版本: RS232模拟I2C总线驱动DS1621测温