示波器和I2C时序波形图的关系分析.doc

示波器和I2C时序波形图的关系分析.doc

ID:28112235

大小:169.50 KB

页数:3页

时间:2018-12-08

示波器和I2C时序波形图的关系分析.doc_第1页
示波器和I2C时序波形图的关系分析.doc_第2页
示波器和I2C时序波形图的关系分析.doc_第3页
资源描述:

《示波器和I2C时序波形图的关系分析.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、示波器和I2C时序波形图的关系分析I2C简介  I2C总线只需要两条线,一条SDA数据线,一条SCL时钟线;根据这两条线的高低电平、上升沿、下降沿就可以实现主机与I2C设备的通讯I2C与示波器  对于I2C总线的数据,我们要用到示波器,这样我们才能抓取到信号,而且必须同时采集SDA和SCL的数据;该如何抓取呢?我这边的方式是将示波器调成边下降沿触发模式(因为开始信号是SDA下降沿),并且设置成单次模式(这样抓取完一次就会stop,便于我们数据分析)I2C时序波形图  12C要求要有一个主设备,负责发起清求和控制时钟:其它为从设备,通过设备I

2、D地址来识别并响应主设备请求。主从设备要轮流控制SDA。一开始我没搞明白这一~点,直接加了写12C数据代码,然后用尔波器在SDA和SCL脚测量,却只能找到些凌乱的波形,没有预期的效果。后来把从设备按上,两边写好代码,互相有了响应,这才在示波器1:看到波形。实例  这里我找了一个主设备往从设备写数据的例子,代码如下:  charbuf[128];  intlen;  strcpy(buf,“。.huz_hello_i2c/n”);  len=strlen(buf);  //deviceid:0x3c  write_i2c(0x3c,buf,l

3、en);  接收端的代码比较简单,就不贴了  将示波器的X和Y分别接到SDA和SCL,得到波形并分析如图:    从图中可知时序如下:  由主机发起,在SCL为高电平时,SDA由高到低切变,形成开始信号;  接着是7位地址和一位读写标志,这里7位地址为0111100,即0x3c,正是我们代码中设置的地址ID;最后一位为0表示写操作;  接着在下一个时钟,主机以高电平状态释放SDA,这时从机响应,将SDA拉低了;  接着是两个8位数据00101110与响应,即0x2E,正是“。”号的ASCII码,符合预期输出;  还有其它数据和最后的停止位,

4、图中被截掉了。  从图中可知,纵向一格是200mV,则SDA和SCL的电平大概就是350mV;由于信号笔上设置了信号x10,因此实际电平应该大概是3.5V(理论上应该是3.3V)。横向一格是25us,10个时钟周期大概用了4格,即4x25us=100us,平均每个时钟周期是10us,可算出传输频率为1/10us=100,000/s,即100kbps。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。