找回密码
 注册
关于网站域名变更的通知
查看: 970|回复: 7
打印 上一主题 下一主题

I2C通讯实时监测

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2015-2-3 16:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
老大要我做一个I2C实时监测的工具,具体要求如下:1.通过UART将信息实时在PC上显示
0 ~3 S2 D! L# S4 u3 w; Y& }2 X6 b, W; d' l. p; P- t5 R# M$ `( Q/ t9 l$ o
2.通讯频率显示;) y. Y6 ]1 s- j7 V$ P7 i5 z: e
3.起始、停止信号显示;
9 t6 |7 Y- R( `5 Z9 I* m
9 ~5 ^) B6 F; j- a7 J4.有无ACK显示;
% m. b' _9 f$ v4 J8 P* u& t1 s2 n5.器件地址显示;
; _& u, Y! r, F0 u4 N6 Y6.通讯数据显示;4 u+ |6 I# }! L/ C/ f* A
我是一个做硬件的,单片机基本都忘了,现在我卡在了频率测试这了,I2C通讯频率100K到400K,用一般的单片机能检测出来吗?我用定时器测了一下,我定时10uS,发现有几uS的误差,单片机晶振是22M的,是我程序的问题,还是其他什么问题,请大神指点!7 E4 t3 ~, c6 y

该用户从未签到

2#
发表于 2015-2-3 17:21 | 只看该作者
1 400K=2.5us,如果是1T的话,22.1184M也凑合。. U) {4 I( f( B2 v2 @' ?
2 clk接中断脚,用以触发1 i. a; @; p3 d$ w, @
3 data接任意IO,DATA和CLK都设置为IO高阻状态, P8 V! d! G+ b0 {, j: D! t* U
4 中断后,启动定时器和再次中断关闭定时器需要花时间,这里需要软件补偿/ ~1 `) G$ j8 B8 w
5 先把频率测准了再说,其他的都是浮云。
, N* ]9 `6 ?( D3 I# V/ L& T

点评

今天测了一下I/O反应速度,不知道这样测是否准确,就是将IO打高再打低,最快380KHz,IO读写速度应该差不多吧。 用的单片机是单周期指令,22M的晶振就算是2T,400K也应该能应付,“400K=2.5us,如果是1T的话,22.118  详情 回复 发表于 2015-2-4 21:53

该用户从未签到

3#
 楼主| 发表于 2015-2-4 21:53 | 只看该作者
fallen 发表于 2015-2-3 17:212 h8 N, J0 a! \2 q+ |. u% X/ F
1 400K=2.5us,如果是1T的话,22.1184M也凑合。. _+ a  s6 H9 l3 S
2 clk接中断脚,用以触发
7 Z3 U5 b3 T3 J- p3 data接任意IO,DATA和CLK都设 ...
: A6 N( M" g3 M; d
今天测了一下I/O反应速度,不知道这样测是否准确,就是将IO打高再打低,最快380KHz,IO读写速度应该差不多吧。
1 v5 \5 ], d5 t用的单片机是单周期指令,22M的晶振就算是2T,400K也应该能应付,“400K=2.5us,如果是1T的话,22.1184M也凑合”不知是如何理解的,还请指点?- d; }; f6 v2 l; Y

点评

不是这样测试。 1T是指1个时钟1个指令,以前老的51是12个时钟,这样你的处理速度就会比较快。 我之前让你CLK接在中断上,因为判断你个下降沿或者上升沿,至少需要两个时钟周期:1个时钟周期读高,下个时钟周期读低  详情 回复 发表于 2015-2-4 22:40

该用户从未签到

4#
发表于 2015-2-4 22:40 | 只看该作者
卐天道卍 发表于 2015-2-4 21:53( O$ _3 E; x% Q+ h8 T# Z
今天测了一下I/O反应速度,不知道这样测是否准确,就是将IO打高再打低,最快380KHz,IO读写速度应该差不 ...
+ p( L2 M/ r) d" H/ |& d
不是这样测试。
- V8 R6 a5 [) t7 K* A5 I- r1T是指1个时钟1个指令,以前老的51是12个时钟,这样你的处理速度就会比较快。; z9 G" A1 G0 C0 f* S
我之前让你CLK接在中断上,因为判断你个下降沿或者上升沿,至少需要两个时钟周期:1个时钟周期读高,下个时钟周期读低,就判断为下降沿。理论上测量频率只要大于2倍的被测时钟即可,但是为了处理需要,需要远大于。
/ U" [, K* B/ O; k& t1 |" G* H* e# Q9 U; n  g! k* w' ?/ a

该用户从未签到

5#
发表于 2015-2-6 14:56 | 只看该作者
楼主,在不?我对你的项目比较感兴趣,也请你每天更新一点嘛,好让我也学习学习。下面我在网上找到个你需要的东东,你参考一下
% b, E$ `, Y( U8 h1 ?http://www.51hei.com/mcu/2046.html

点评

sorry,到现在才看到你的回复,这I2C检测的东西没做了,弄坏了两块开发板,老大就让我停了,我就写了两句话,就是把一个IO打高然后再打低,开发板就再也烧录不了了,也不能擦除。还有我们总监的想法一天一个,经不起  详情 回复 发表于 2015-8-13 16:20

该用户从未签到

6#
发表于 2015-2-6 15:15 | 只看该作者
串口打印监测感觉更方便 ,做成产品就算了 ……

该用户从未签到

7#
 楼主| 发表于 2015-8-13 16:20 | 只看该作者
fallen 发表于 2015-2-6 14:563 A* Z+ b. t0 `6 C
楼主,在不?我对你的项目比较感兴趣,也请你每天更新一点嘛,好让我也学习学习。下面我在网上找到个你需要 ...
6 n  ]/ ]8 u: v
sorry,到现在才看到你的回复,这I2C检测的东西没做了,弄坏了两块开发板,老大就让我停了,我就写了两句话,就是把一个IO打高然后再打低,开发板就再也烧录不了了,也不能擦除。还有我们总监的想法一天一个,经不起他折腾,就没弄了.* y! h& ~3 u, {& F
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-4 15:02 , Processed in 0.140625 second(s), 29 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表