S3C2410开发心得——硬件篇_第1页
S3C2410开发心得——硬件篇_第2页
S3C2410开发心得——硬件篇_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、S3C2410开发心得硬件篇调了很久了,说说体会吧。好久不写这种心得了。大概从2003年11月开始,准备动手做S3C2410的板子,因为三星网站上的资料给的很全,还有mizilinux给三星的那个开发板写了几乎所有的驱动程序。感觉,做一个2410的系统来玩玩,仅仅就是时间和钱的问题。本来不是很着急,但是,看着无数的人都在做2410,自己还在ARM7上转,心里不免有点痒痒。于是,为经过老板同意自作主张,创造条件,开始做板。动手之前,看了很多人的板子,也打听了很多人。似乎2410和SDRAM之间的走线很成问题,不少人都遇到了麻烦。100MHz的信号线,当时的感觉就是速度不是很高。我在44B0和SD

2、RAM连接,只要稍微注意一点,做了很多板子都没出过问题。这次应该也没事。略去板图的设计不说,因为有很多文章和资料都说得很详细了。结果,板子做回来(6层板),速度真的上不去。200M的时候,用Multi-ICE对SDRAM写数,反复写,有的时候,其他地址的数据就会跟着变。只有降低频率。我焊了两块板。一块只能稳定在135MHz,另一块,只有90MHz。ft!,这就是我恶梦的开始。开始找原因吧。和三星给的原理图对比,我使用了74LVC16245分离SDRAM和外设的总线信号,和74LVC162245差别不大。这个似乎不是问题。总线上的传输电阻,我从0欧开始10欧、22欧、33欧、47欧、68欧,一个

3、个的试-我的测试方法是用Multi-ICE配置起来2410的SDRAM空间,把一个3.8MB的.rar文件下载到SDRAM中,再读取回来,然后,检查这个rar文件的正确性。不停的改变2410的频率,不断的换电阻。就这样,我折腾了1天,结论,换电阻作用不大,能稳定工作的频率几乎没有丝毫提高。这个似乎也不是问题。看看板子的布线,2410和SDRAM之间走线都是尽量的短,而且,连线都不长。唯一的问题就是,三星的设计参考上说,要"连线等长",那段话,当时我设计的时候就不怎么理解。是要求,与两片SDRAM连接的所有的连线等长;还是分别等长(只保证每个SDRAM到2410的连线等长)?

4、要等到什么程度?问了一些人,说法不一。而且,我用protel99SE画图,他对网络等长支持的不好,虽然可以在rules中设置等长,但是,布线的时候不能测量网络连线的长度,实在是郁闷。还有就是,一些SDRAM的控制信号线是串了电阻的,这个就没办法设置rules来等长了。结果,我就几乎没有考虑等长的问题。看来这就是隐患啊。接下来的日子,除了用我那个残疾的班子调试软件,我就再考虑我的设计方法的问题。我想放弃protel,用Cadence来设计并做板级的仿真。找软件、教程等等资料,然后,开始试着学学。这是才觉得Cadence这种工具确实不太容易上手,无奈之下,想走一个捷径-用protel设计原理图和P

5、CB,然后,导入的Allegro里面,加在器件模型进行仿真。利用空闲时间,摸索了半个月,试着安装了几乎所有能找到的PCB设计软件,最后,找到了个一个转换方法:先用orCAD的layout导入protel的PCB,转换成orCAD的.max;再从Cadence的主页上下一个软件,把.max文件转换成Allegro的.brd。但是,可能是我用的Cadence版本太高吧(15.1),那个2410的BGA封装导入不到allegro里面。这样做仿真还是很麻烦。最后,因为时间紧,全面的PCB仿真的事情只能作罢。春节的时候,回家开始设计第二块2410的板子了。吸取上面的经验教训,我把精力都放在网络等长上了。

6、还是用protel99SE,为了便于网络等长,我把SDRAM和2410连线的上传输电阻都去掉了-因为上面实际测试过,发现影响不大,谁能告诉我,这个电阻到底有多大的影响?还是等长的问题,问了好多人,到底需要等长到什么程度?说法不一样。我还下了一个仿真软件来计算不同种类的走线在板上传输的延时。也看了几个人走的板子,发现就是不注意等长的问题也不大。设置飞线出来的板子也可以跑。怎么我就这么差:( 后来有人给了我一个估算的方法。100MHz的时钟,按照1GHz的高次谐波来计算,信号之间谐波的相位相差不能超出过1/4,也就是网络长度之差不能超过1/4波长。按照信号传输速度是光速来算(用仿真软件计

7、算的结果绝对不是这个速度,具体我的也不是很懂,反正比这个慢很多,我就按照最快的算吧),结论是长度之差不能超过-这个结果似乎差得有点太少了。如果这种观点是错误的,请大家指出。然后就按照上面的结论去布线,等长SDRAM所有的网络。Protel99SE是不太好用,但是,其他的软件都来不及(也没有耐心)学,只能这么硬着头皮去画。有的时候都担心,一味的追求等长,最后走出来的线电感性太强就麻烦了。板子画到快要结束的时候,最后,以防万一,再核对一下管脚。这个时候突然注意到,我把2410的两个VDDalive管脚的电压接错了,应该接在1.8V上,我连到了3.3V上。原来的板子的设计就错了。这对我来说打击太大了

8、。因为把这个错误改过来以后,就算是第二次板子没有问题,我也就搞不清楚到底是走线的问题还是这个电源管脚的问题。再看看原来的板子,因为是电源的信号,BGA的封装,想飞线改一下电源几乎是不可能的了。没有办法做对比了,只能就这么把板子送出去。前几天拿到了第二块板子,实际测试,202MHz工作没有问题。可是心里还是不明不白的,到底是布线的问题还是电源的问题?sigh!一个弱智错误,还得我白折腾了一个月。几乎没学到什么东西.下面说一下我的板子的设计放面的特点吧。新板的设计采用的是核心模块主板的结构。核心模块采用6层板设计,4层主要走线(在电源层稍微走了几根线),模块包括了:2410(时钟、晶振等)、两片3

9、2MB SDRAM、一片Nand flash,可以焊16MB、32MB、64MB、128MB等Nand flash。核心模块和主板之间使用了笔记本DDR内存用的SO-DIMM插座(200Pin)连接,这样我可以把272脚的2410,所有的有用的管脚都引出来了-前面听说华恒的2410的小板用的是144Pin的座,只引出来了16位的数据总线,有的时候用起来不爽。我把网卡的芯片从原来的CS8900A换成了AX88796-一个据说(手册上说是,实际用起来还是有一点差别,具体的在软件篇中描述)NE2000兼容的芯片,10/100M的,3.3V供电,好多种工作模式,我使用的是x86模式。和CS8900A相比,AX88796可以直接连接到2410的总线上,不需要任何的逻辑转换。电路简单多了。而且,价钱贵不了多少,还是10/100M的。驱动程序可以直接用NE2000的,几乎不用改变。唯一值得一提的就是AX88796的一个PLL电源管脚(78脚),这个比较关键,按照手册上说这个官脚必须要和其他的电源隔离。我第一次设计的时候使用的是磁珠。随便加了一个磁珠,也没仔细想。结果,在后面调试的时候就出现了问题。Ping一个32bye的数据包,10次只有2、3次可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论