你好!我们有一块ARM电路板的时钟电路工作不正常。Arm芯片是:AM1808。
情况是这样的:电路板上电,嵌入式linux系统可以正常启动。通过Qt应用程序读取系统时间,系统时间也可以正常计数。但是当电路板掉电后再上电启动时,发现以前的系统时间丢了,系统时间重新开始计时系统时间没法保存。
电路板:我觉得我们的电路是没有问题的,我们有好几个板子,都没问题,唯独这个有问题。
检测情况:时间电路1.2V电源工作正常,32.768晶振也起振了。测量连接晶振的两个管脚之间的电阻,正接:19 MΩ左右;反接:39MΩ左右。
正常电路板的测量情况:测量连接晶振的两个管脚之间的电阻,正接和反接电阻都是无穷大。
问题:我是不是可以断定这个电路板的ARM芯片的对应的这两个管脚给焊坏了,还是其它原因。(注:我们电路板上的芯片都是找外面厂子代理机器焊的。)
xueqiang lai:
你好!我也正在开发一个基于1808的产品,看了你的一些贴子,你用这个芯片也一年多了,不知道你之前有没有调试过1808的uboot,如果有的话希望跟你请教下,我邮箱: lxq1109@163.com, 谢谢!
zhenhua zhang:
回复 xueqiang lai:
你怎么知道我使用AM18081年多了啊?
Uboot我们用的是现成的,虽然想改,但一直没时间
xueqiang lai:
回复 zhenhua zhang:
刚好看到你的贴是关于1808的,就看了下你以前发的贴,我用的是官方下的uboot,官方的就是SPI1 flash方式启,我的板也是spi1方式启动,不知道还有哪些地方要改,ubl我没试,我用的是AISgen工具把uboot生成的u-boot.bin 生成AIS格式的,但还是无法启动。所以想问下你在官方的基础上做了哪些改变,UBL, 还有DDR的参数配制等是否作了改变?
zhenhua zhang:
回复 xueqiang lai:
我们买的是代理商的ARM开发板。他们是在OMAP-L138开发板的基础上改过来的。Uboot,内核,文件系统都是一样的。当然烧写方式也和OMAP-L138也一样,比TI提供的Am808的烧写方式要方便
xueqiang lai:
回复 zhenhua zhang:
哦,难怪,我们是自己画的板,听代理商说他们的不是spi flash启动方式就没买开发板。现在要自己调uboot , 好像主要是DDR跟flash跟他们的不一样,主要就调这一块,现在又没啥设计工具,只能编译好烧进flash里试,纠结。有没啥建议?
zhenhua zhang:
Ti,到底有没有人知道啊?
Tony Tang:
Zhenhua,
如果说系统起来后,时间正常,那说明RTC的时钟输入是正常的,也就是说RTC的两个时钟管脚没有坏。
我建议:
#1. 换个电池试试(我猜在上电后是由电源供电,而不是电池供电了)。
#2. 这个板用了多久了,是一开始就有问题,还是后来有问题?
#3. 请确认一下RTCCTRL寄存的HOURMODE的设置。可以把寄存器值打出来看一下。
#4. 断开后重启时间恢复成多少?每次都一样?还是不一样?
#5. 管脚之间的电阻没有测过,暂不做评论。
Tony Tang:
回复 xueqiang lai:
xueqiang lai
刚好看到你的贴是关于1808的,就看了下你以前发的贴,我用的是官方下的uboot,官方的就是SPI1 flash方式启,我的板也是spi1方式启动,不知道还有哪些地方要改,ubl我没试,我用的是AISgen工具把uboot生成的u-boot.bin 生成AIS格式的,但还是无法启动。所以想问下你在官方的基础上做了哪些改变,UBL, 还有DDR的参数配制等是否作了改变?
xueqiang lai:
回复 Tony Tang:
之前已经成功了,这里问要等的时间太长了,很多还没回复就已经自己解决了,我直接用Uboot转AIS一直没有成功,后面只好改用UBL方式,现在已经成功了
zhenhua zhang:
回复 Tony Tang:
你好!
#1.我断电量了一下RTC的供电电源管脚,1.2V输出是没问题的
#2.新做的电路板,在入库检测时发现的。
#3.这个我不知道怎么弄。我只能给你一些关于RTC输出的boot信息。
[ 1.300000] omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0 [ 1.310000] omap_rtc: RTC power up reset detected
#4.假如第一次上电显示的时间是 2011-01-01 00:00:00;以后不管每次断电后重启,都这个时间。
我有几个疑惑,想向你请教一下:
1、是不是管脚间的电阻阻值不是无穷大,造成了晶振不起振啊?因为最近我们新做的一批电路板都出现这个问题,这次用万用表量管脚间电阻,阻值更低,最大只有1.7MΩ。这次我们用示波器量了一下管脚间的波形,没有测量到任何波形。不过,我量电路板上的其它晶振的波形,也没有办法测量出来。
2、我在超级终端输入命令:cat /proc/driver/rtc,查看超级终端输出的时间。发现每次输入这条命令时,输出的时间都不变,输出的时间正好是电路板每次断电重启的时间。
root@arago:~# cat /proc/driver/rtcrtc_time : 00:00:00rtc_date : 2000-01-01alrm_time : 00:02:01alrm_date : 2084-**-03alarm_IRQ : noalrm_pending : no24hr : yesroot@arago:~# cat /proc/driver/rtcrtc_time : 00:00:00rtc_date : 2000-01-01alrm_time : 00:02:01alrm_date : 2084-**-03alarm_IRQ : noalrm_pending : no24hr : yesroot@arago:~# cat /proc/driver/rtcrtc_time : 00:00:00rtc_date : 2000-01-01alrm_time : 00:02:01alrm_date : 2084-**-03alarm_IRQ : noalrm_pending : no24hr : yesroot@arago:~# cat /proc/driver/rtcrtc_time : 00:00:00rtc_date : 2000-01-01alrm_time : 00:02:01alrm_date : 2084-**-03alarm_IRQ : noalrm_pending : no24hr : yes
3、若是外接晶振不起振,ARM芯片是不是就会采用内部晶振工作了。