EEPW ARM DIY手记之硬件功夫(一)——硬件设计前期准备
受EEPW论坛总版主Jack-Wang之托,负责本次2012 EEPW ARM DIY活动的策划和设计工作,包括DIY硬件开发板设计以及软件测试代码编写与调试。通过前段时间的努力,至今总算完成了本次DIY活动的硬件平台开发板设计,这里与大家分享我在这个过程遇到的一些问题及其解决,以及至今最近一年做硬件设计的经验总结,内容包括硬件设计前期准备(datasheet阅读、元器件封装设计以及原理图设计)、PCB布局布线经验浅谈与问题总结、硬件焊接功夫与硬件测试心得等三个主题,将在本篇及接下来的两篇博客中陆续与大家分享,敬请关注本人博客空间《EEPW ARM DIY手记》。系列博文。
闲话少说,这里先谈一下硬件设计前期准备。
俗话说:“凡事预则立,不预则废”;“工欲善其事,必先利其器”,此两句谚语说的正是前期准备工作在我们完成一项工作中所起的主要作用。只有前期的准备工作做好了,做足了,我们才能在后继的工作中有一个明确的方向和目标,才能尽可能的避免走弯路。从这一点来看,花精力和功夫在前期准备工作上,无疑是必要和重要的,对于电子设计中的硬件设计更是如此。
接下来,我谈一下电子设计之硬件设计前期准备的具体工作(以AD10作为设计软件并按照先后顺序进行)。
1、确定硬件(PCB)设计的整体思路
所谓确定设计的整体思路,即首先明确板子的功能用途,为此需要进行需求分析,从而确定板子的主控芯片、所需的模块、传感器选型。在此过程中主要是要查阅相关的文献资料,借鉴已有的方案,在此基础上增加或者减少一些功能,从而满足我们的实际需要。这里,半导体厂家的官方网站所提供的Demo Board或者评估板具有相当的参考价值,值得大家去关注。
这个时候,主要考虑的因素有性能与价格、每个功能的需求与分析,元器件的采购,技术和资料的积累等:①优先选择性价比高的方案,降低硬件设计成本;②确定每个功能实现是否需要实时,能否通过软件弥补硬件的缺陷(典型的如去噪处理中硬件滤波器与软件滤波器的权衡);③所选元器件必须容易采买,即通用、常用的芯片,切记选择过时(已停产)了的芯片或者在市场上不易购得的芯片器件,以保证后期工作的正常顺利进行;④优先选择自己熟悉的芯片或器件,对于自己不熟悉的方案尽量选择技术成熟,资料丰富的芯片或元器件,这样不但能够保证方案的成功实施,而且能够加快设计进程。
在进行了需求分析并确定了方案的主控芯片之后,通过画系统硬件框图的方式进一步确定硬件(PCB)设计的整体思路是大有裨益的,直观明了。在绘制方案的系统硬件框图时,以主控芯片(一般为嵌入式系统的MCU、DSP或者FPGA)为核心,尽量详细的画出各个系统功能的实现细节,比如采用主控芯片的GPIO、定时器、PWM、SPI、I2C还是USART实现与外围芯片或者模块的交互接口,充分考虑和利用主控芯片的片上外设功能,减少外围器件芯片,降低成本的同时还能够提高系统的抗干扰能力、减小系统硬件尺寸、提高系统集成度,对于一个方案的最终成败至关重要。
此外,在确定整体设计思路的时候,至上而下,有顶层到底层,模块化的设计方法也是常用是有效的手段(具体的方法流程参见相关书籍、文献,此处不展开)。
2、搜集下载并仔细阅读所有方案设计所设计的芯片及模块资料
对于一个电子系统,无论大小,复杂简单,总是有大小不同、功能各异的电子芯片(IC)或者模块电路构成,所谓积小成大。要想对整个设计了如指掌,那么了解各个IC及模块电路的功能、原理及实现是必不可少的,因此,这也是进行系统硬件设计必须做的准备工作之一。
也正因为如此,对于一个做系统硬件设计工作的电子工程师来说,学会并熟练掌握搜集、下载和阅读IC芯片datasheet以及功能模块路用户使用手册(user manual)是必备的功夫。以下分别谈一下:
① 搜集下载datasheet和user manual的途径和方法
获取途径:
搜索引擎,google和百度(推荐,方便快捷);
半导体厂家的官网(推荐、一手资料,可行度高);
知名IT论坛(如EEPW、21IC,eetop等)以及专业IC代理门户网站(如维库电子、alldatasheet,ic37等);
搜索方法:
直接在搜索栏输入:芯片名+pdf,如MAX3232.Pdf;
按照产品分类目录寻找,缩小搜索范围,实现快速搜索;
② 快速阅读datasheet和user manual的方法
在获得datasheet和user manual之后,必须对其进行卓有成效的快速阅读,以获得IC或者功能模块电路的主要信息,指导我们进行下一步方案的系统硬件原理图和PCB设计工作。
为了对IC有一个整体的了解,我们需要通过阅读datasheet获得如下主要信息:
芯片主要功能、工作方式、工作电压电流
依次对应为datasheet开始部分的整个功能简介及系统架构框图、特征 (feature)、参数表(图)
电路原理图符号
位于datasheet的第二部分或者倒数第二部分内容,主要用于后面在硬件设计软件AD10中建议IC或者模块的原理图库。
PCB封装尺寸
一般位于datasheet的最后部分,以mil和mm为单位给出IC或者模块的长宽高(D、E、H)、管脚长度(L),宽度(E1)以及管脚间距(e)等参数,其中最为主要的是管脚间距e。
3、建立原理图库和PCB封装库
在进行了以上工作之后,我们就可以打开硬件设计软件AD10开始建硬件设计工程的原理图库(*.SCHLIB)和PCB封装库(*.PcbLib)了。
这两个库的正确建立是至关重要的,其中前者原理图库保证了元器件和功能模块在电路原理图上的正确电气连接、后者PCB封装库则是PCB板实物正常焊接和实际可靠电气连接的保障。
关于AD10的具体使用,请参考相关书籍或培训教程,这里不做详细介绍。
在AD10软件自带的Miscellaneous Devices.IntLib和Miscellaneous Connectors.IntLib两个集成库中已经包含了常用的电子元器件(如电容、电阻、电感、继电器、二极管、三极管等)以及常用的连接元件(如排针、串口DB9,并口,音视频接口等)的原理图及相应的PCB封装。但是,实际工作中,我们还是经常遇到一些元器件,在AD10 提供的集成库中无法找到,这时,我们就需要根据以上步骤2获得的信息建立元器件或者功能模块电路相应的原理图库和PCB封装库。
这里谈几点个人的经验。
在建原理图库时,首先,一定要按照datasheet的说明,保证管脚序号与管脚功能的对应,这样才能保证后续设计的电路原理电气连接的正确性;其次,为了保证在进行原理图设计时的整洁和美观以及易读性,可以将相关功能的管脚放在一起(比如地址总线AB和地址总线)、将IC电源引脚与功能管脚分开;再者,必要时表明管脚的IO方向,可以避免接线错误;最后在原理图库中每个元器件的原理图符号建好之后,最好在comment一栏见哟啊备注该元器件的主要功能以及封装信息等,便于后期的管理和查找。
在建PCB封装库时,简单的PCB封装利用工具栏的绘图工具即可完成,对于复杂的,管脚多的元器件,管脚间距不容易排列,要充分利用AD10集成的IPC Compliant Footprint Wizard和Component Wizard工具,以保证所建PCB封装的正确性。对于PCB封装,最为关键的参数即为元器件的管脚间距,必须按照datasheet上的数据来设计,否则“差之毫厘,失之千里”,后果要么是管脚错位,要么就是管脚短路,都是不可接受的,也正因为如此,我每次建好一个元器件的PCB封装后都要仔细检查管脚间距是否与datasheet所给参数一致(注:使用Ctrl+M的组合键即可点击鼠标测量PCB中人员两点之间的距离,按键Q可以快速实现公尺mm和英尺mil单位之间的切换)。
至此,简要总结和概述了电子设计中硬件设计的前期准备工作,以及其中我认为需要注意的细节问题,所谈的内容都是我个人的在亲自实践中获得的感受和经验总结,希望能够对大家有所帮助,同时,由于个人经历和能力有限,不当之处还请不吝赐教,不足之处也请大家补充。总之,学无止境,希望大家能够一起学习探讨,共同进步!
胡恩伟
写于重庆大学A区一舍
2012年3月9日星期五
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。