uPP与I2c的问题 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8546|回复: 9
打印 上一主题 下一主题

[已解决] uPP与I2c的问题

[复制链接]

5

主题

24

帖子

95

积分

注册会员

Rank: 2

积分
95
跳转到指定楼层
楼主
发表于 2017-4-24 17:41:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wwfdzh2012 于 2017-4-29 15:31 编辑
& C: l# _; m$ I! I& \2 d9 a
' d# P* s* O. n: q, R% ?3 y! T2 X在使用过程中出现只要uPP在工作,i2c的通信就会出现不稳定现象,通信不可靠,请问uPP跟I2c的硬件资源是否有共用的地方?& R3 ~. U- `6 y1 O9 \" S4 j1 Q
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

5

主题

24

帖子

95

积分

注册会员

Rank: 2

积分
95
沙发
 楼主| 发表于 2017-4-25 09:23:24 | 只看该作者
没人吗?????
回复

使用道具 举报

32

主题

97

帖子

2049

积分

金牌会员

Rank: 6Rank: 6

积分
2049
板凳
发表于 2017-4-25 11:32:32 | 只看该作者
是不是时钟有冲突
回复 支持 反对

使用道具 举报

5

主题

24

帖子

95

积分

注册会员

Rank: 2

积分
95
地板
 楼主| 发表于 2017-4-25 11:34:46 | 只看该作者
IRONMAN 发表于 2017-4-25 11:323 ~5 u& r+ g* @) {* ]/ ?) C' X
是不是时钟有冲突
" I2 f  A( x; P+ T# g
请问怎么排除?
回复 支持 反对

使用道具 举报

5

主题

24

帖子

95

积分

注册会员

Rank: 2

积分
95
5#
 楼主| 发表于 2017-4-25 11:38:11 | 只看该作者
IRONMAN 发表于 2017-4-25 11:322 Q# X- V5 L9 Q8 |/ O- o* l0 t  n# G
是不是时钟有冲突
& ?* W# f5 m" S. i$ ]3 p
I2C和Upp的时钟会冲突吗,不明白您说的意思?
回复 支持 反对

使用道具 举报

32

主题

97

帖子

2049

积分

金牌会员

Rank: 6Rank: 6

积分
2049
6#
发表于 2017-4-25 12:14:40 | 只看该作者
wwfdzh2012 发表于 2017-4-25 11:38
  O8 S4 w3 p( U) ^8 o; F& x* j% dI2C和Upp的时钟会冲突吗,不明白您说的意思?

  }1 m" q/ |5 E! v; z( V你看他们的时钟有没有关联,可能是两个一起用的时候没有注意时钟频率一致
回复 支持 反对

使用道具 举报

5

主题

24

帖子

95

积分

注册会员

Rank: 2

积分
95
7#
 楼主| 发表于 2017-4-25 13:35:23 | 只看该作者
IRONMAN 发表于 2017-4-25 12:14
8 j# p: X! S* Z* l你看他们的时钟有没有关联,可能是两个一起用的时候没有注意时钟频率一致 ...
2 [1 `: Z" N! e/ z: y
我看了datasheet,两者的时钟并没有关联呀,麻烦您再帮忙排错一下
' H* n' H  g6 i' ^! u& b

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
8#
发表于 2017-4-25 14:37:05 | 只看该作者
裸机情况下建议I2C使用查询方式,中断的话可能会跟upp冲突的。
回复 支持 反对

使用道具 举报

5

主题

24

帖子

95

积分

注册会员

Rank: 2

积分
95
9#
 楼主| 发表于 2017-4-25 14:43:43 | 只看该作者
human 发表于 2017-4-25 14:37  A: J, T' }9 k$ E) D% L
裸机情况下建议I2C使用查询方式,中断的话可能会跟upp冲突的。
6 p! t) }! W1 @) m0 O: {
uPP与i2c都是用轮询的
回复 支持 反对

使用道具 举报

5

主题

24

帖子

95

积分

注册会员

Rank: 2

积分
95
10#
 楼主| 发表于 2017-4-29 15:31:07 | 只看该作者
问题解决了,确实是复位uPP会影响到I2C的通信,导致I2C的通信产生很大延迟(约1ms),不重新配置Upp而是重新配置DMA就可以解决,不知道是怎么影响的,影响I2C的语句:
- [: F" n, E. v# ]+ y' i$ O! h, g- s
//reset uPP) Q' N# r" l- r& v& {- E
SETBIT(UPP->UPPCR, UPP_UPPCR_SWRST);
0 F1 ]- P- {* n2 v0 y: A# _  N! ]6 f( m9 g- {: l5 P1 |2 ?9 ]0 y5 W1 K
for(i = 0; i < 200; i++){}; //wait 200 clock cycles for reset.& @( x( @; d/ m7 t3 o0 K. ^
CLRBIT(UPP->UPPCR, UPP_UPPCR_SWRST);
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-4-28 18:25 , Processed in 0.042661 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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