广告

原创 [博客大赛]四层板搞定--AT91SAM9X35

2013-4-25 09:48 9977 0 18 分类: MCU/ 嵌入式
 
1月15号从零开始设计原理图,到今天4月15号,刚好3个月,终于用4层板设计完成了AT91SAM9X35核心板+底板的全部工作,自己焊板花了三四天时间,调试板子花了两天时间,当看着串口打印出LIUNX的启动信息时,一切辛苦都是值得的。后面我会写一些此次设计过程中遇到的一些问题,以及解决的方法,希望对有需要的朋友有些提示,避免一些弯路。

先上几张板子的图片,马上会对板子的稳定性进行测试。。。。。

 5.jpg

 1.jpg

2.jpg

3.jpg

4.jpg

 

3.jpg

2.jpg

1.jpg

 

 总的来说,此次做板还是蛮顺利的。

1 画板上用的DC9插座是别人做好的库,而它用的是异形焊盘,当时发出去做板的时候还特意提醒了厂家这里是否需要提供走刀文件,结果板子回来这里还是没给我开孔,导致底板有点瑕疵。

2 RJ45带隔离变压器的插座,居然接口定义每个厂家不一样。焊上去DM9161短路发烫。结果从别人的开发板上拆了一个现成的焊上去,幸好没把芯片给烧了,系统跑起来,网络一切正常!

3 此次开板,PCB板厂估计是工艺达不够,把我的做板标准一降再降,最无语的是把我做成镀金的,BGA部分比较难焊。幸好之前有过焊接S3C2440A的经验,目前系统能正常跑起来,说明CPU和DDR 这两块BGA焊接没问题。

4 100PIN 1.27的插座真的蛮麻烦的,尤其是拆卸,差点导致我重新再焊一块底板的。

    第一次焊上去时,不知为什么,有一排插座的USB  串口等管脚不通,最终锁定到插座这里。

    这里告诉大家一个我自己摸索的重新焊接排插的方法,当排插焊下来后,要重新焊上去,大部分焊盘已经塞满了锡,此时最好用热风*+锡*去除,一次能吸通好几个焊盘,而且不容易把焊盘弄脱落,至少我用电烙铁去时,一不小心就会废一个焊盘。

 

1 对MMC和 SD卡 测试OK

sd 1:0:0:1: [sdc] Write Protect is off
sd 1:0:0:1: [sdc] Assuming drive cache: write through
 sdb:
sd 1:0:0:1: [sdc] Assuming drive cache: write through
sdc: detected capacity change from 0 to 522190848
sd 1:0:0:0: [sdb] Assuming drive cache: write through
sd 1:0:0:0: [sdb] Attached SCSI removable disk
 sdc:
sd 1:0:0:1: [sdc] Assuming drive cache: write through
sd 1:0:0:1: [sdc] Attached SCSI removable disk

2 对3个USB端口测试OK

root@at91sam9x5ek:/media# usb 1-2: USB disconnect, device number 5
usb 1-2: new high speed USB device number 6 using atmel-ehci
scsi4 : usb-storage 1-2:1.0
scsi 4:0:0:0: Direct-Access     Udisk    Udisk 2.0        2.60 PQ: 0 ANSI: 2
scsi 4:0:0:1: Direct-Access     Udisk    Udisk 2.0        2.61 PQ: 0 ANSI: 2
sd 4:0:0:0: [sda] 16384 512-byte logical blocks: (8.38 MB/8.00 MiB)
sd 4:0:0:0: [sda] Write Protect is off

 

3 对声卡进行测试时,直接用  cat test.wav > /dev/audio 发现声音很小,噪音却非常大,开始怀疑是自己电路设计问题,折腾半天没找出问题。

干脆将以前移植过的MAPLAY 放上去播放MP3试试,结果一次成功,音质非常好!!

root@at91sam9x5ek:/media# ./sda/madplay  ./sdb/love.mp3
MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.
          Title: 偏爱
         Artist: 张芸京
          Album: 破天荒

 

 4 至此仅剩液晶屏和触摸屏没调试了。明天开始把LCD的板子画好发出去做,应该不会有什么大问题。

 

后面几天,准备每个晚上将板子一直循环播放MP3,通过以太网打样任务信息等来测试内存,以太网,USB, 等功能,先这样做些最基础的稳定性测试。。。。。。。。。。。。。。。。。

 

///////////////////2013.04.16 

从测试到现在,不知为何偶尔开机都会有死机问题,问题表现在UBOOT加载到内存后,就死掉。刚开始以为是自己板子不稳定导致的,但想想连续跑几个小时都没出现过问题,如果是布线问题导致系统不稳定,那么运行过程中也会发生死机现象才对,于是判定是DDR存在问题。用热风*把芯片重新加热了一下,每次开机一切正常,不会出现卡机现象了!

 

//////////////////////////2013.04.17

连续跑机两天两夜,未发现系统异常,继续跑机测试。。。。。

今天把液晶屏转接板发出去做板了,估计也得下周一才能焊好。

这两天打算用BUILDROOT 构建根文件系统,因为之前没用过,所以估计会遇到些麻烦。。。。。。

 ////////////////////////////////2013.04.19

 昨天折腾了一天,自己用buildroot 编译好了内核,根文件系统后,烧入板子,结果老是在加载内核解压时,提示内核校验错误。用以前的内核也一样的结果。

  为此怀疑NANDFLASH有问题?但从TFTP传到内存中运行的内核也一样的错误。

  慢慢怀疑是否是DDR2这颗芯片布线不稳定导致的?用内存测试工具没发现任何异常,加载内核到不同的内存地址,进行比较也未发现不同。而且前面几天连续测试系统也未发现内存不稳定。下班回家,准备换片NANDFLASH,因为加载内核时,老是提示位校验出错。但想想应该不是这里的问题,所有问题都汇集到了CPU?CPU能跑U-BOOT应该不会有问题,那会不会是CPU有的管脚出现松动?管他三七二十一,拿着热风*对CPU加焊,第一次加热后连BOOT也运行不起来。第二次又加热(大不了坏了我重新焊一块板子)。结果这次加热后,所有今天遇到的问题都解决了。系统运行正常。

(自己手工焊接的BGA,可靠性还是有所欠缺的。在后续的调试中会给你带来不少麻烦)

内核跑起来后,加载UBI出错,发现是找不到NANDFLASH,比较编译的内核和以前的内核打印的信息发现

AT91: CM rev B and higher
AT91: EK rev B and higher

而现在打印的却是

AT91: CM rev A

AT91: EK rev  A

为此又是寻根究源,修改内核源码

#define cm_is_revA() (0)//(cm_rev() == 0)
#define cm_is_revB() (1)//(cm_rev() == ('B' - 'A'))

#define ek_is_revA() (0)//(ek_rev() == 0)
#define ek_is_revB() (1)//(ek_rev() == ('B' - 'A'))

成功发现

NAND device: Manufacturer ID: 0xec, Chip ID: 0xdc (Samsung NAND 512MiB 3,3V 8-bi
t)

 

但UBI却提示出错

Creating 2 MTD partitions on "atmel_nand":
0x000000000000-0x000000800000 : "bootstrap/uboot/kernel"
0x000000800000-0x000010000000 : "rootfs"
UBI: attaching mtd1 to ubi0
UBI: physical eraseblock size:   131072 bytes (128 KiB)
UBI: logical eraseblock size:    126976 bytes
UBI: smallest flash I/O unit:    2048
UBI: VID header offset:          2048 (aligned 2048)
UBI: data offset:                4096
UBI error: process_eb: bad image sequence number

在网上折腾了半天,有提到可能是根文件擦除时,未完全擦除,于是马上重新烧写rootfs.ubi

经过刷刷的一对信息,终于进入了根文件系统,系统跑起来了!!

Starting portmap: done
Initializing random number generator... done.
ALSA: Restoring mixer settings...
Starting network...
Starting dropbear sshd: generating rsa key... generating dsa key...
OK

Welcome to Buildroot
AT91SAM9 login: root
# cd /
# ls
bin      etc      lib      mnt      proc     sbin     tmp      var
dev      home     linuxrc  opt      root     sys      usr

来上一首 MUISC 庆祝下。。。

# mount -t auto /dev/sdb /mnt

# madplay ask.mp3
MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.
          Title: 答应不爱你
         Artist: 郑中基
          Album: 仙三电视原声带
          Track: 5
        Comment: 插曲
7798 frames decoded (0:03:23.7), +1.2 dB peak amplitude, 2214 clipped samples

 

////////////////2013.04.22

LCD液晶屏成功点亮,目前正在移植Openembedded环境下的Angstrom,遇到不少问题,继续努力中。。。。。。。。。。。

 

未命名.jpg

 

未命名2.jpg

 

//////////////////2013.04.25

花了几天时间,终于自己编译的Angstrom成功运行起来,当中出现了不少编译问题,有时即便是别人已经移植好的包给你,但要把它转化为适合自己的开发环境中,要解决的问题也是不少的!!!

 

 

 
.---O---.
|       |                  .-.           o o
|   |   |-----.-----.-----.| |   .----..-----.-----.
|       |     | __  |  ---'| '--.|  .-'|     |     |
|   |   |  |  |     |---  ||  --'|  |  |  '  | | | |
'---'---'--'--'--.  |-----''----''--'  '-----'-'-'-'
                -'  |
                '---'
 
The Angstrom Distribution at91sam9x5ek ttyS0
 
Angstrom v2013.04 at91sam9x5ek ttyS0
 
at91sam9x5ek login: root
root@at91sam9x5ek:~#

 

 

 

 

 

广告

文章评论 18条评论)

登录后参与讨论

billzhu_345737527 2015-10-25 22:00

That's a knowing answer to a diflciuft question

qlxu1985_129735809 2015-1-6 17:51

收徒弟不?像跟你学习

chw134137_390453774 2014-8-15 10:10

哥们厉害啊!可否分享下底板的原理图和bom表啊?小弟也在学习做9X35。

jthykj 2013-6-19 01:11

向你学习向你致敬

billzhu_345737527 2013-6-19 01:06

真厉害!我什么时候能达到这种水平呀

bitao1983_395643617 2013-6-9 17:03

很好很不错!!!

xiongzeliang718_745461089 2013-6-9 09:03

一个人做的?不错,厉害。

飞言走笔 2013-4-19 11:58

singlechip 2013-4-19 10:41

嗯,兄弟这个方法也不错,我拆座子的办法是 热风* 直接加热,用镊子从一边开始慢慢拉,100PIN的座子分分钟,就拆下来了,而且不损坏焊盘。 建议大家以后多分享下焊接方面的自己的技巧,呵呵!

singlechip 2013-4-19 10:38

去年刚学的 allegro
相关推荐阅读
singlechip 2013-07-03 14:54
[博客大赛]四层板搞定--AT91SAM9X35 第二版
    花了一个月时间,又重新设计了一款AT91SAM9X35的板子。针对第一版做了以下改进。   1 200PIN1.27MM的双排插针换成了更可靠的BTB-80 插针   ...
singlechip 2013-04-09 18:06
准备花3个月时间用四层板画--AT91SAM9X35
  最近终于腾出手来,比较看好AT91SAM9X35这颗芯片,打算好好弄弄。先从画板开始吧?虽然手上有芯片商提供的开发板,但总觉得不能自己画出一块板出来,技术永远不会属于自己。所以准...
singlechip 2013-02-01 15:01
PCB设计资料汇总
http://pan.baidu.com/share/link?shareid=202013&uk=3826038294#dir/path=%2FPCB%E8%AE%BE%E8%AE%A1...
singlechip 2012-12-12 16:00
[ti博客大赛]基于MSP430装备监控型冲击震动记录仪
概述 装备监控型冲击振动记录仪(以下简称记录仪)用于长时间监视装备在储存过程中受到的冲击振动,对超过阈值的冲击事件进行记录和报警。记录的事件包括对事件的发生强度和发生时间进行实时的记录。当需要...
singlechip 2012-12-12 16:00
[ti博客大赛]当年纯手工打造的---基于MSP430姿态调整仪
当年纯手工打造的---基于MSP430姿态调整仪。。。。采用三轴加速度传感器。。。 感兴趣的朋友可以到我博客探讨。。。。 http://bbs.ednchina.com/BLOG_ARTI...
我要评论
18
0
广告
关闭 热点推荐上一条 /3 下一条