406的工作环境
时间:2011年11月20号-2011年12月22号
任务:SDR Board原理图绘制,PCB板图绘制,PCB调试
PCB:四层板,160mm*100mm
主要芯片:Xilinx Spartan3 500EPQ208 4C,TI TMS320C5509A PGE144,AD9288,AD8138,
TPS75003,TPS73HD301
开发环境:Protel DXP2004,Xilinx ISE10.1,TI CCS3.3
整件事完成基本上时间跨度是1个月,但真的没有花费这么多的时间,期间好像我还在娱乐好多天...基本上算下来,SCH原理图的绘制一周时间,PCB一周时间,调试也是一周的时间,3周的时间完全能搞定一块板子了,只要时间抓紧,至于器件选型与购买也都是包含在内。
主角就是这个——SDR Board
FPGA+DSP结构的板子自己私下里研究过好多了,也画过一块板练手,但也没有拿去制作,只是稍微走了下过程,曾带着师弟完整的做过一块FPGA开发板,配合师兄调试过一块板子,项目里面调过2块板子,基本就是这样,这次做板也算是我第一次完完整整把所有过程都走完一次的了。而且,以前都是做的两层板,这也是第一次做多层板,犯了一些初学者会犯的错误。
按照时间顺序来:
1.绘制原理图时,如果说画原理图大家都在参照一些大厂出品的开发板的话,那么一定要选大厂,并且是出过的产品在市场上一直很火没有任何负面评价的,因为这样的原理图才能保证完全没有错误,我画FPGA时图省事参照了一个不知从哪搞来的核心板原理图,结果板子出来后调试时果然出了问题:只有用正规厂家出的开发板原理图才会保证没有问题,后续调试起来也会省事;
2.原理图绘制完了后,我拿着清单去电子大楼买器件,芯片也都好说,但是一些电容电阻电感器件不一定有自己需要的封装,人家卖什么才能买到什么,买完之后要做的就是回去修改封装,千万不要把封装画的正好,必须要大,大了才好焊,要不就会像我一样焊个钽电容难过的要死,芯片也是,在拿去制板之前,把板图打出来,芯片一个个拿着对,看着小的或者正好的就给他把焊盘再弄大些;
3.开始绘制PCB图了,一开始确定是四层的,也就是最常见的“SIG+GND+POW+SIG”结构,先走信号线,再走电源线。信号线走完了,好,开始分割内电层,打过孔,引电源。 注意了,是过孔! 作为个初学者,我一开始打的还全都是盲孔,眼看着盲孔老是绿的还感觉很奇怪,为啥全是绿色的,后来发现设置里面都不允许盲孔才报绿。其实最关键的不是这个,最关键的是四层板或者六层板打过孔就可以了,过孔经过内电层照样会被腐蚀连接,而且盲孔埋孔的造价也都太高了。还有分割内电层的问题,我向曾经做过的同学问了下,有两个问题要注意,一是分割的电源层或者是地层尽量不要被另外分割的层给包围住,二是打过孔连接电源层或者地层时孔尽量离边界有段不小距离,虽然近了最后进行DRC检查时软件会报错,但有些它不报错的最后板子做出来发现过孔跟内电层没有连上,我调试时就碰到这个问题,折腾了很久费了好大劲才找到原因,必须注意;
4.可能是第一次分割内电层的原因,自我感觉分割的不是很好,以后像有经验的学习;
5.板子很快做出来了,找了家还算不错的制板工厂,价格还可以,开工费600,光绘费100多,打孔费100多,一平方厘米一毛钱,最后算下来2块板1000块钱吧,拿到板子的时候小激动了下,感觉不错,还挺好看;
接下来就开始具体描述调试过程中出现的问题了,由于我以前调过3块板子,知道调试很费事,会花费很多精力和时间去找问题在哪,所以一开始就做好的心里准备,等到后来想想其实我这还算比较顺利;
6.板子拿到手里,先把电源焊上调电源,电源正常了才能进行下一步(以后也要像其他同学一样,给每部分电路设个小开关,这样就可以一开始就把所有的焊上,省的一块块调完再焊有些误事,不过一块块调的好处是前面都正常,如果不正常只关心后面就可以了)。给FPGA供电的是TPS75003,这个片子以前用过好几次,电路肯定都没有问题,但是由于是QFN封装的,所以焊起来不好焊。片子由三个部分构成,分别出来2.5V,3.3V,1.2V,其中2.5V不需要任何电感三极管,只需要电阻分压就能出来,因此一般将2.5V作为3.3V和1.2V的使能端。经常犯的错误就是3.3V和1.2V电路部分中三极管的1,2,3管脚次序问题,这个问题师弟以前制板的时候弄错了,结果烧了两个片子。然后我这次就比较小心,保证三极管顺序肯定是对的。但是2.5V电路部分都焊上后发现想要的电压根本没有出来,出来的是4V,然后就想这个很不应该啊,是在很无奈,又换了片电源芯片还是一个结果,最后一狠心把所有的电容电阻什么的全都焊上了,结果2.5V,3.3V还真出来了,但是1.2V一点都出来,老是5V,怀疑是芯片坏了或者是没焊好,又赶紧让电子大楼再进了2片,拿着板子让专业焊的焊上去,来回折腾了2天,最后还是一样,我开始信不过电子大楼那人了...又联系到西安这边专门焊完板子出口的一个经理,拿着新片子去找他,那经理也年轻,不到30岁,说这个好焊,结果焊完还是一样1.2V出不来,老是出现5V,一共做了两块板,他都焊上了,而且出现的一样的问题,问我电路有没有问题,我说这个绝对没问题,然后就开始找电容电阻电感三极管的问题,全都换成新的也还是不行,最后时间很晚了,把经理整无奈了说你回去自己找找看到底是不是器件的问题。我在这里要特别感谢一下那个经理,人真好,我要给他钱的时候,他说你是学生我才不要你的钱,我这边焊板子出口一年能挣100多万呢...真牛逼,再次表示感谢。接着说电路问题,回来第二天我重新对了下电路,发现跟典型应用一模一样,跟以前做好的板子也都一样,但结果就是不行,便开始想,片子是新的,焊肯定焊好了,电容电阻也都对,会不会原因出在板子上,然后对照着pcb图,一个过孔一个过孔的测,嘿,还真发现有个过孔本来应该跟1.2V电压连着,结果什么都没连上,再测另外一块板子,结果一样,一下兴奋起来,会不会原因就在这里,拿了根飞线,从背面把过孔跟板子上1.2V的电压连上,上电,测量,嘿,1.2V出来了!好吧,终于找到原因了,真好!然后再回头看我板图上打得过孔跟边界线有点近,可能就因为这个原因,导致电源层没有腐蚀上,以后千万得注意了;(然后我就小总结了下电路板调试时出现问题找原因的方法,可见上篇《调试电路板出现问题时找错误步骤》)。有个问题忘了说了,一般电源芯片下面都有个比较大的散热焊盘,有的datasheet接地了,有的没有接,甚至一开始我找不到错误原因在哪的时候怀疑也是因为大焊盘没有接地,但后来证明不接也可以,本来就是起散热作用的,但为了保险起见,还是按照datasheet里面的做吧,该接的接,没接的不接;
7.TPS73HD301的电路更简单,只是电阻分压就行了,但有可能存在电阻不标准造成电压值不理想,这个时候可以更换临近的阻值,如果更换后电压还是不行的话,外接直流电源的电压降下来试试吧,我的本来都应该是外接5V,最后调试的时候降到4.75V左右才能令TPS75003和TPS73HD301出来电压相对正常;
8.电源保证好了,为了避免出现调试电源芯片时的问题,我在焊接前拿万用表一个个测了板子上其他的过孔,发现全都正常,便焊上了FPGA和DSP,上电,在ISE里扫描JTAG链,哎,报出来个错误,基本上跟这个错误一样 http://forum.eet-cn.com/FORUM_POST_10002_1200044551_0.HTM ,但我的是能识别配置芯片,不能识别FPGA,FPGA是unknown,几乎可以确定是信号完整性的问题了。好吧,遵照上面我提出的那个顺序,再次找到Xilinx有关配置的datasheet,一点点对照,发现有个地方不一样,我的JTAG下载口按照某不知名核心板原理图画的,在连接到配置芯片和FPGA芯片之前串接了四个200欧的电阻,而datasheet里面却没有这么干,好吧,这是个不一样的地方,先标记下来,接下来再找连线,元件,甚至挨个测DIN,CCLK,INIT等都是一致,基本就锁定时这原因了,于是四个电阻全部换掉,换成0欧的,上电,扫描,OK,成功找到!真兴奋,然后点亮我的流水灯,写流水灯测试程序的时候就发现悲剧了,连线基本没检查,10个发光二级管里面有2个接的是IP引脚,我草,其他都检查就这地方没检查,真该死,该死,至今仍然是10个流水灯有两个永远不会亮起来...还有我的时钟输入,我草,连到了一个IO口,都没有连到GCLK上,我不知道当时我干啥去了。。。只能再次飞线,连起来,我的那些引脚分配的都太不合理了,而且没检查,哎,丢人了,必须注意;
9.FPGA调正常了,接下来就是DSP,DSP的测试程序写好了,就是FPGA给时钟,复位置1,但程序烧进去再进入CCS3.3,Debug->Connect,就报错,error,说是发现不了,oh,no,接着找原因吧,首先看电压正不正常,好,都正常,DSP有没有时钟信号,哎,没有,这怎么回事,好把,看测试程序,发现有个小错误。。。改正过来,示波器搭到DSPCLK引脚上,有时钟,再Debug->Connect,成功连接!
10.AD调试还没调,接下来补全。
总结:感觉自己这块板子布局还可以,挺漂亮的,但就是分割内电层还不够好,导致整块板子的干扰比较大,以后必须得做做相关工作,认真研究下信号完整性,怎么减小噪声。
用户603678 2012-4-7 15:51