开发板的制作过程是怎么样的?
做一个简单的、自己学习用的开发板,不仅可以节约成本,还能享受其中的乐趣。今天我就将自己在制作嵌入式开发板过程中的一些经验和步骤讲给大家,希望对大家有所帮助!
一、原理图的设计
首先,你先要考虑自己打算做一个什么样的板,是为了完成某个项目,还是做个学习用的板。明确目的后,开始设计原理图。找一个芯片的原理图,在其基础上做些改动,使之更适合自己的实际应用。ARM7的芯片使用起来会稍微简单些,毕竟其原理构造和普通的51单片机有些类似,不需要太费事就可以完成。对于ARM9的,设计原理图会比较麻烦。
原理图方面我就不多罗嗦了,网上大把参照图,下载下来自己修改就可以了,确定原理图无误后,就需要开始布板了。
对于ARM7,速度比较低的那种(100M以下的),板只要布的合适就可以了,没有什么特别值得注意的地方,有些信号上可能需要串上一些小电阻,做高频电阻匹配用。
对于ARM9的板,最少需要4层板。(如果双面能把线布下,双面板也可以的)。这里也许有人会问,4层板是否够用。我觉得是完全够的。我自己设计过一个S3C2410核心板,用4层板做,在200M下也能正常工作。另外,我从网上下了个6层板的PCB,我把它改成了4层板,虽还没来得及调试,我估计工作起来也不是问题。为什么我这么说呢,因为看整个电路就可以大概知道一些,只要你布的板把电源和时钟处理的得当,其他逻辑信号线不是什么太大问题。当然了,前提是逻辑信号不能乱布。
这里需要说明一点,做4层板完全是为了自己学习用,因为做6层板的价格太高了,个人承担不起。但如果你是打算来做工业设备或实际项目,还是使用6层板吧,这样能够在硬件上起到一定的保障作用。
二、PCB加工
板布好之后,就要外发加工了。如果你是公司给你做板,那就不用开这个部分了。个人做板的可以继续看下去。
找厂家做板就有些技巧了。先说双面板的。双面板普通厂家都可以做,线距和ARM7芯片的引脚间距一样就可以了。宽一点更好。价格一般不会很贵,有200块RMB就足够做5个板来让你调试了。北京和深圳的行情好像不太一样。在深圳好象是需要收大概600块的工程费,然后是按面积算。北京则是直接按面积算,总价需要在100块上以上,不足100的按100来算。同时北京还可以自己来定做板方法,比如板上不加丝印、不镀金来降低价格。不管怎么说,只要耐心找,总能找到一家适合自己的厂家来做板。当然了,也有些厂家价格低,质量也会梢差一点,做好的板拿回来仔细检查,就不会影响到我们测试。我和另一个同学04年的时候,在北京用了150块钱做了3个板,没有丝印,没有铣边,仅仅镀了层锡。回来后自己把板处理一遍。检查出了一处短路(我们布的那个板,线条过细,线距也很小,这是到后来才知道的)。修理完后焊好的板工作很稳定。
再说多层板的。由于多层板一般多用于BGA封装的芯片,检查的时候就不容易检查,加上内层布线我们看不到,在选厂家的时候需要适当选一些可信的厂家,最好是能做飞针测试的厂家。做一个4层板的模费大概是在1000~2000, 个别厂家可能会要2000以上,但那种厂家是能保证给你的板绝对OK的,有的时候为了板的质量,也需要牺牲一点模费。一般,你付足模费钱后,厂家可以免费给你做几个样板,如果你想多要几个板,一定要提前跟厂家说,他们可能会多收一点钱,也可能不收钱。这样看你的谈判技巧了。因为他一次做一个板和一次做30个板的价格是一样的。
做板方面需要注意的是,板拿回来后需要仔细检查,发现开短路的地方需要及时修理。所在地没有加工板的地方,可以考虑网上订做。他们做完后可以邮寄给你,价格方面需要自己去谈了。
三、元件的购买
购买元件很容易。当然了,你得找到合适的货源。北京的方面,在中关村就可以找到芯片。像电阻电容这样的元件也可以零售(100个一卖)。
如果不能找到像北京、深圳这样有专门电子市场的地方,也不要放弃,可以考虑在网上找一找,有些地方是套件的,可以自己买一套来玩玩。价格不会差很远的。元件购买方面需要注意的是,不要买到翻新件。
四、元件焊接
板拿回来后,就需要开始焊元件了,TQFP封装的芯片会比较好焊,焊盘上先上锡,然后一个脚一脚的焊上去就可以了。当然也可以采用拖焊的方法,总之,只要焊的牢靠就行了。
对于BGA焊接,可能会更简单一点。因为BGA焊接是外发加工的,自己最好不要焊。焊接GBA芯片最好是找那些修手机或是修笔记本电脑的厂家焊。就算他们没有专门焊接BGA的设备,凭他们的经验,也可以把芯片焊好。焊接BGA芯片的价格差距很大,价格大多在100块左右的。不过也有便宜的,我在华强找的一家,焊个S3C2410只要20块,成功率在90%以上,我在那里焊的几个板,没有一个有问题的。如果是批量生产,还是找比较好的加工厂做吧,毕竟少修电脑的厂家只是拿来给我们自己玩玩罢了。
焊接调试过程中有个小技巧,也算是一个注意点。板最好是焊一部分调试一部分。一般焊接调试的顺序是:电源->主芯片外围器件->SRAM>FLASH->其他外设。按照这样的序调试焊接,优点在于能一步一步的排除问题点。假设,当你把主芯片,存储器都焊好,而且也调试可以工作了,再去焊你的电源,结果板上的电源部分出问题了,一个高压窜到了主芯片上,那后果不是很严重?
五、电源、主芯片的电路调试
焊好电源,把板上主芯片位置与电源相连的引脚测一遍,看看是不是需要的电压,这样做可以保证主芯片供电正常,使主芯片能够工作。
电源部分调试完成后,接下来是焊与主芯片相关的外围元件,如复位电路,时钟部分,JTAG部分,系统配置部分。这几个部分焊好后,再焊上主芯片,和主芯片一起调试。
主芯片焊好后,通过JTAG接口连接到电脑上,在电脑上用JTAG调试代理软件,就应该可以检查到板上的芯片了。如果不用代理软件,用ulink之类的东西也可以。不过个人觉得用代理软件最简单了。如果软件检查不到,则表示主芯片没有正常工作,或者JTAG部分没有工作,这个时候就需要详细检查各个部分了。一般来说,这个环节是整个调试工作中最重要的部分,主芯片如果不能工作,其他元件就不要再焊了,焊上也没有意义。这个环节容易出问题的就是复位电路工作不正常,主芯片某些引脚虚焊。主芯片的系统配置正确与否暂时不会影响到芯片是否工作,可以最后检查。
当电脑能够成功的检查到板上的芯片时,激动的心情也会随之而来。
六、SRAM、FLASH的调试
接下来,需要调试的是SRAM。
为什么是先调试SRAM而不是先调试FLASH呢?因为SRAM可以直接由ARM芯片来读写,只要信号线接的没错,系统设置没错,那SRAM一定会工作,除非你买到坏的SRAM。用JTAG接口将板和电脑连接,打开AXD的Command line和Memory watch,使用命令行来对芯片进行初始化。AXD中使用setmem命令对相关进行设置。如果不知道如何使用Command line,可以在命令行中输入help来查询。设置完寄存器后,后在Memory watch中修改对应地址单元的数据,就可以看到修改后的数据保存下来了。我用这个方法测试过LPC2214,4510,44B0,2410,都可以用这个方法来测试SRAM是否已经工作了。
当使用这种方法修改SRAM数据,需要注意的是,你所修改的地址,必须是位于SRAM地址范围内的,否则修改后不会得到正确的结果。如果发现修改后的数据不能得到你想要的数据,可能存在两个问题:1是电路板上数据线存在开短路。2是芯片的初始化设置不正确,导致存储器映射错误,修改好即可。
一般来说,SRAM如果能够顺利工作,则FLASH也可以顺利工作。焊好FLASH,使用FLASHPGM烧一个程序来实验一下。如果能顺利烧入,则表示FLASH可以正常工作。如果不能正常烧入程序,多半情况是焊接不够好,FLASH可能存在短路或者虚焊。这里需要知道一件事,FLASHPGM软件是利用SRAM来烧录FLASH的。它先将一段可以烧录FLASH的程序下载到SRAM中,运行这段小程序,然后再烧录FLASH,所以你提供给FLASHPGM的芯片初始化程序必须正确,这样才可能正常烧录FLASH,否则烧录肯定是失败的。
对于2410这种既挂NAND FLASH又挂NOR FLASH的芯片,调试起来也很容易。用FLASHPGM调试NOR FLASH,用三星提供的那个小烧录工具调试NAND FLASH。
调试到这里,说明你的板已经可以工作了。焊好串口部分电路,写上一段程序测试串口,调试串口部分。串口部分可以工作后,你的开发板就可以用了。当然,你的板上肯定还有其他东西,不要着急,一点一点的调试,总是可以调试完成的。整个板的调试过程中,越是靠前的步骤就越是难调,后面的外设相对好调一些。总的来说,只要你想办法,板是一定可以做成的,调试也可以很快完成。