请教使用PXA303中遇到的两个问题

hzdysymbol 2009-07-08 04:44:18
最近在使用pxa303时发现两个比较奇怪的问题,不知道各位达人有没有碰到,有没有好的解决方法?
1、在使能GPIO唤醒后去读取MFP_MONITOR寄存器,读不到相应的唤醒源,相应的MFPR寄存器已经完全按照要求设置,如果哪位在相应的平台上有使用该寄存器,请回复本贴确认一下,谢谢!
2、在使用EXT_WAKEUP时发现唤醒后去读取相应pin的电平,有时候实际硬件上电平已经变化了,但读取PECR寄存器的值跟实际的不符,不断的轮询读取值也不发生变化,说明该寄存器没有得到更新,这问题是有概率的,偶尔会发现读出来的值跟实际的不符。
...全文
213 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
mabugang 2010-01-29
  • 打赏
  • 举报
回复
PXA303 高级CPU 啊 呵呵呵
wolfmvp 2010-01-29
  • 打赏
  • 举报
回复
很兴奋,学习ing…
laiguo 2010-01-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 gooogleman 的回复:]
说句老实话,你这个处理器我还是头一回听到。
所以只能帮顶了。我只听说PXA255/270/310
嘿嘿。
[/Quote]

PXA这个CPU只听过,没有用过
zwtchy123 2009-10-20
  • 打赏
  • 举报
回复
marking
hzdysymbol 2009-07-14
  • 打赏
  • 举报
回复
有朋友用303,310,320系列的CPU的吗?有空帮我验证一下上面的问题,多谢了
hzdysymbol 2009-07-14
  • 打赏
  • 举报
回复
顶贴
hzdysymbol 2009-07-12
  • 打赏
  • 举报
回复
谢谢LS几位的回答!
有使用PMIC的,但这看起来跟它没有什么关系吧
硬件应该没有什么问题的
GPIO2跟GPIO2_2之间的关系现在也清楚,两个不能同时用GPIO,这看起来跟我的问题也没有关系
nxstreetboy 2009-07-11
  • 打赏
  • 举报
回复
使用PMIC了吗,另外你说的问题,先确认下硬件是否有问题,像GPIOX_2这样的gpio不要用做中断
hzdysymbol 2009-07-09
  • 打赏
  • 举报
回复
第一个问题就是设置相应可以唤醒的GPIO的MFPR的4、5位为1,第6位为0,使能Edge detection,然后在系统唤醒后的第一时间去读取MFP_MONITOR寄存器,却不能获得相应的状态标志。

第二个问题是在把EXT_WAKEUP<0>用做Powerkey时,当系统唤醒后去读其状态,偶尔会发现其状态不对,对应的寄存器为PECR,比如按键释放掉后是低电平,但读取PECR后发现其IN0位是1,除非再次有按键按下,其状态才会改变,不然就一直为1。
shuiyan 2009-07-09
  • 打赏
  • 举报
回复
1.正在使用。没有出过问题。可以详细讨论具体寄存器配置。

2.303机器已经量产,在测试和生产中没有发现过你所描述的现象。能不能描述的更详细一点?
hzdysymbol 2009-07-09
  • 打赏
  • 举报
回复
这跟310是一个系列的,310,320上面都有这几个功能脚
gooogleman 2009-07-09
  • 打赏
  • 举报
回复
说句老实话,你这个处理器我还是头一回听到。
所以只能帮顶了。我只听说PXA255/270/310
嘿嘿。
hzdysymbol 2009-07-09
  • 打赏
  • 举报
回复
没有人使用这些功能吗?
用过的人进来顶一下
hzdysymbol 2009-07-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 shuiyan 的回复:]
有些IO口作为GPIO是不能做唤醒源的,必须配成特殊功能。你设的是那个IO?
唤醒后,除了MF_MONITOR寄存器,再把唤醒源对应的几个寄存器都读一下,看看是否是别的源唤醒的,比如FIRST LEVEL的那些源。


WAKEUP_0既然已经能唤醒了,那说明配置起作用了。对应的IN0读出不对这个现象没碰到过。你们能测试并确认跟抖动、延时等等无关吗?
[/Quote]
1、First Level及功能都是正确的,唤醒也正常,只是按照Spec可以在MFP_MONITOR中读到唤酲源,却读不到
设成别的功能可以唤醒这些都没有问题,我用的是GPIO可以唤醒的一类, 如gpio83
2、确认跟抖动延时没有关系,因为我用轮询的方式去读该寄存器,读出来的值跟实际硬件上量不出来的对不上,感觉上这个值并不是实时根据外围电平的变化而变化的,只有在有边沿变化的时候才会更新相应的值,不知道是不是设计上的一些缺陷啊,想想这也太弱智了,用普通的GPIO来检测是没有任何问题的。
shuiyan 2009-07-09
  • 打赏
  • 举报
回复
有些IO口作为GPIO是不能做唤醒源的,必须配成特殊功能。你设的是那个IO?
唤醒后,除了MF_MONITOR寄存器,再把唤醒源对应的几个寄存器都读一下,看看是否是别的源唤醒的,比如FIRST LEVEL的那些源。


WAKEUP_0既然已经能唤醒了,那说明配置起作用了。对应的IN0读出不对这个现象没碰到过。你们能测试并确认跟抖动、延时等等无关吗?

19,519

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧