原创 从1-Wire到IIC

2008-3-17 13:12 9226 12 18 分类: MCU/ 嵌入式

从1-Wire到IIC




      DS18B20用的是1-Wire通信协议,外表上看就像三极管一样,但是别小看这家伙了,一个要7元,三极管才几毛,技术含量不一样。18B20的三个管脚,一个接正,一个接负,另一个当然就是用于通信了,故谓之1-Wire,写程序的时候都是MCU利用单线先发信号,然后18B20响应,再然后开始传数据,大体就是这样,一个字节8bit的数据要送8次,因为一条线一次只能送一次嘛,这算是很典型的串行通信了,一条线全搞定,确实很省资源,但是话说回来,硬件成本的降低必将导致程序复杂度的上升。这一位一位传输,是收还是发,什么时候收什么时候发,理清思路了还是蛮容易的。      


       再说这IIC,前阵子跟着教程学了AT24C02的操作,很典型的IIC通信,就是实现读写的基本操作,那时候只是听完,自己动手写了一遍,似懂非懂,反正照葫芦画瓢。今天收到MAXIM寄来的DS1337(实时时钟,上次操作的是DS12887,并口传输的),兴致一起就想写程序,也是一个IIC总线的,硬件挺简单,一正一负,再接三条到I/O口(SCL/SDA/INTA),还有两个脚要接晶振。苦就苦在申请样片的时候没注意哪种型号集成晶振,结果申请了个不带的,手头又没有32.768KHZ的无奈掉。但是想闲着也是闲着,先写了程序再说,这算是我第一次把15页的英文资料从头到尾看了一遍,算是看懂了,因为之前对IIC有所了解,半猜着也能把意思都弄明白,这一遍算是理论上吧IIC吃透了吧。挺不容易的,程序也是从头到尾自己写下来的,感觉应该大体就是那样,但还有待于硬件焊上验证一下。      IIC——一个时钟SCL脚,一个数据SDA,至于INTA是用于芯片内的闹钟时间到了发中断信号用的。也就是说,IIC是用两条线来传输数据,比起1-Wire省点事。写/读的时候也是要一个bit一个bit的那么来。MCU控制SDA先来一个下降沿,说明准备工作了,然后SCL要拉低,每当SCL 低时SDA换下一位数据,SCL 高时,锁存数据,8位完了接收方发个低电平表示应答,然后再传,直至要结束传输,SCA在SCL高时来个上升沿完事。所谓IIC,传输时MCU先送的8bit一个字节前7位是地址,最后一位0/1表示MCU是读还是写数据,第二个字节传输需要读写的数据地址,第三个字节才是数据。基本的流程就是这个样子,理顺了还是不难

PARTNER CONTENT

文章评论6条评论)

登录后参与讨论

用户1757526 2015-7-22 10:32

群主,我想问一下读写AT24C02有什么办法可以验证吗?就是你读写的数据对不对

用户316179 2011-4-4 19:46

今天一下午都在啃http://opencores.org上载来的IIC源程序,稀里糊涂。 看到特权大哥这段话,思路终于理顺了,呵呵 万分感谢

用户276169 2010-6-17 09:52

看来IIC到处可以见

ilove314_323192455 2010-2-24 21:58

我想我只有苦笑了

ash_riple_768180695 2010-2-24 17:40

"所以代码书写的风格上也是可以考虑更多的向不够智能一方兼容的" 这个策略很好,也是无奈之举。同感、同情。

ilove314_323192455 2010-2-23 21:37

是的,项目很简单。只是采集数字量和模拟量并显示,处理部分交给上位机

朱玉龙 2010-2-23 20:23

特权同学专攻硬件逻辑部分鸟,里面没有策略和算法么? 直接数字信号和模拟信号采集后传送出去就结束了么?

ilove314_323192455 2009-3-5 17:58

对不起,没有用过

用户89529 2009-3-5 11:04

前辈,问你一个问题,用过单总线器件ds2762么 小弟我现在能对ds18b20能读写,就是读不出那款的序列号,请前辈赐教

用户1364249 2008-3-18 10:57

麻烦博主改一下格式,有些字根本看不清楚,文章应该还不错。
相关推荐阅读
特权ilove314 2016-06-30 21:16
例说FPGA连载6:FPGA开发所需的技能
例说FPGA连载6:FPGA开发所需的技能 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   前面的文字已经做了很多铺垫,相信读...
特权ilove314 2016-06-28 21:09
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
特权ilove314 2016-06-28 21:05
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
特权ilove314 2016-06-26 22:11
例说FPGA连载4:FPGA语言与厂商介绍
例说FPGA连载4:FPGA语言与厂商介绍 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   Verilog与VHDL 说到FP...
特权ilove314 2016-06-23 21:26
例说FPGA连载3:FPGA与其它主流芯片的比较
例说FPGA连载3:FPGA与其它主流芯片的比较 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   FPGA、ASIC和ASSP...
特权ilove314 2016-06-21 20:32
例说FPGA连载2:FPGA是什么
例说FPGA连载2:FPGA是什么 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   2015年伊始,Intel欲出资百亿美金收...
EE直播间
更多
我要评论
6
12
关闭 站长推荐上一条 /3 下一条