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 学习学习~ 挺强的啊 确实很值得回味,做东西讲究的就是相同的功能用最少的元器件,最低的功耗完成。真的很佩服 好东西 太强悍了,这么精致的东西。
低成本、低故障的好东西! mark 好东西!
页:
[1]