PCB电路板PCB元件封装的编辑与制作及IO口的扩展Word文档下载推荐.docx
《PCB电路板PCB元件封装的编辑与制作及IO口的扩展Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《PCB电路板PCB元件封装的编辑与制作及IO口的扩展Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
直接把元件贴在电路板表面,靠粘贴固定,所以焊盘不需要钻孔,特别适合大批量、全自动、机械化的生产加工,因此成本较低。
表面贴装式元件各引脚间的间距很小,故元件体积也小。
图10-8为表面贴装式元件的封装图,其中焊盘的Layer属性必须设置为单一板层,如TopLayer(顶层)或BottomLayer(底层)。
2、元件封装的编号:
一般用元件类型+焊盘距离(焊盘数)+元件外形尺寸来表示,所以可根据元件封装编号来判别元件封装的规格。
如:
AXIAL0.4表示此元件封装为轴状,两焊盘间距为400mil;
RB.2/.4表示极性电容类元件封装,引脚间距为200mil,外形直径为400mil。
3、元件封装图的结构:
包含元件外形、焊盘、元件属性3部分。
如图10-5继电器的封装由矩形外形、8个焊盘及相关属性信息构成。
(1)元件外形:
元件的实际几何图形,不具备电气性质,它起到标注符号或图案的作用。
(2)焊盘:
元件主要的电气部分,相当于电路图里的引脚。
(3)元件属性:
设置元件的位置、层面、序号和类型值等信息。
封装更注重元件的引脚尺寸,对于任何元器件都需要按照实际的元件尺寸画封装图,同时对于针脚式元件还要使焊盘的尺寸足够大,以便元器件的引脚能够插入焊盘。
所以在设计元件封装图前,需要了解元件外形、引脚形状及尺寸、引脚间距等信息。
元件使用手册中一般给出元件安装参数,若没有器件封装尺寸数据,在画元件封装图时,可使用游标卡尺、螺旋测微器等高精度测量工具对元件外形、引脚间距、安装螺丝孔径等进行精确测量,然后在PCB封装库编辑器中绘制元件封装图。
另外还需要注意公英制单位之间的转换。
任务实施过程
1、启动PCB元件封装库编辑器:
方法类似原理图元件库编辑器的启动。
首先在当前设计数据库环境下,执行菜单命令File/New…,进入“NewDocument”对话框,选择PCB元件库编辑器图标,如图10-9所示。
双击该图标或单击OK按钮后,系统在当前设计数据库中建立一个新元件封装库文件,修改文件名为“自建PCB元件.lib”。
然后双击该文件图标,进入PCB封装库编辑器工作界面,如图10-10所示。
2、设置PCB封装库编辑器环境
(1)编辑区调整。
最初进入PCB封装库的编辑区内有一个十字坐标轴,其中心坐标为原点(0,0)。
单击鼠标右键,出现图10-11菜单,选择LibraryOptions…命令,Layers标签中打开第一可视栅格,关闭第二可视栅格,如图10-12所示;
Options标签中将定位栅格均设置为5mil,电气栅格取4mil,如图10-13所示。
提示:
PCBLibplacementTools工具栏的各项含义类似PCB工作环境中相应工具栏。
图10-9“NewDocument”对话框
图10-10PCB封装库编辑器界面
图10-11封装库编辑器环境设置菜单
图10-12可视栅格设置
(2)工作参数及图纸参数设置。
执行菜单命令Tools/Preferences…,进入图10-14所示参数设置对话框,可以对工作层、焊盘、过孔等的显示颜色、光标形状等信息设置。
(3)打开封装库管理器。
点击View/DesignManager,选择BrowsePCBLib标签,可切换到封装库管理器,如图10-15所示。
其中ponents(元件列表)窗口内容与原理图元件库编辑器相同,不再重复。
UpdatePCB按钮功能是更新PCB图中有关该元件的信息,即在元件封装库编辑器中所做的修改可相应反应到电路板中。
图10-13定位栅格设置
图10-14封装库参数设置对话框图10-15封装库管理器
3、用向导法制作七段数码管封装图(参数要求见图10-4)
(1)启动封装向导:
在上述自建PCB元件.lib的封装库编辑器工作界面中,单击BrowsePCBLib标签中的Add按钮,或执行菜单命令Tools/Newponent,进入图10-16的元件封装向导界面。
(2)选择元件封装外形及尺寸单位:
单击图10-16中“Next”按钮进入图10-17,选择“Dualin-linePackage(DIP)”——双排直插式封装形式,并选择英制单位“Imperial(mil)”。
表10-1列出了12种元件封装形式的中文名称。
表10-1通过向导创建的封装类型
Dualin-linePackage(DIP)
双列直插式封装
BallGridArray(BGA)
格点阵列式封装
StaggeredBallGridArray
错列BAG封装
Diodes
二极管型封装
Capacitors
电容型封装
QuadPacks(QUAD)
四方扁平塑料封装
PinGridArray(PGA)
引脚网络阵列封装
Resistors
电阻型封装
StaggeredPinGridArrays
错列PGA封装
SmallOutlinePackage
小型表贴式封装
LeadlessChipCarrier(LCC)
无引线芯片载体型封装
EdgeConnectors
边缘连接型封装
(3)确定元件引脚焊盘尺寸:
单击“Next”进入图10-18,缺省引脚焊盘外径尺寸为100mil×
50mil,引脚焊盘孔径为25mil。
根据要求修改尺寸,直接将鼠标移到原尺寸数据50mil上,单击鼠标左键输入60mil。
图10-16元件封装向导界面
注意:
焊盘外径尺寸应大于焊盘孔径,引脚焊盘外径与焊盘孔径之间关系如表10-2所示。
表10-2最小焊盘直径与引线孔直径的关系单位:
mm
引线孔直径
最小焊盘直径
0.4
0.5
0.6
0.8
0.9
1.0
1.3
1.6
2.0
高精度
1.2
1.4
1.7
2.2
2.5
普通精度
1.5
1.8
3.0
低精度
3.5
4.0
图10-17选择元件封装外形及尺寸单位
(4)设置引脚水平间距和垂直间距(指焊盘中心距):
单击“Next”进入图10-19,经实际测量得知该数码管引脚水平间距为800mil,垂直间距为150mil。
在图10-19中加以修改。
(5)设置元件外轮廓线宽度:
单击“Next”进入图10-20,设置元件外轮廓线宽度与设置元件引脚焊盘尺寸方法相同,一般采用默认值10mil。
图10-18设置引脚焊盘尺寸
(6)输入元件引脚数目:
单击“Next”进入图10-21,七段数码管应有10个引脚。
(7)输入元件封装名称:
单击“Next”进入图10-22,在文本框中输入元件名“七段数码管”。
图10-19设置焊盘间距
(8)最后确定:
单击“Next”进入图10-23,当确认元件外形、焊盘外径、孔径、间距等尺寸无误后,单击“Finish”按钮,完成向导过程,显示出七段数码管的初步封装,如图10-24所示。
图10-20设置元件外轮廓线宽
(9)旋转:
图10-24中元件引脚排列方向与实际七段数码管不同,需要整体旋转。
选定整个七段数码管,鼠标左键一直按住七段数码管5脚不放,点击空格键即可旋转。
撤销选定状态后,如图10-25所示。
(10)修改引脚焊盘属性:
依次对10个焊盘引脚鼠标左键双击,进入到每个焊盘属性对话框中,如图10-26所示。
根据七段数码管引脚名称及排列规则,逐一修改焊盘属性。
(11)设置参考点:
执行菜单命令Edit/SetReference/Location,将参考点放在“dp”引脚焊盘上,作为本元件的参考点,即该引脚焊盘坐标为(0,0)。
图10-21输入元件引脚数目
图10-22输入元件封装名称
图10-23封装向导结束
图10-24七段数码管初步封装图图10-25七段数码管旋转
图10-26修改焊盘属性
(12)修改外轮廓线:
将工作层面切换到TopOverlay(顶层丝印层),删除现有外轮廓线。
然后将图10-13中定位栅格SnapX改为1mil,SnapY改为5mil。
最后利用菜单命令Place/Track,或单击PCBLibPlacementTools工具栏中的按钮,按照任务目标中的尺寸要求绘制出数码管的外轮廓线,如图10-27所示,全部完成之后如图10-28所示。
根据尺寸要求,数码管的外轮廓四点坐标分别为(-662,875)、(63,875)、(-662,-75)、(63,-75),依据此坐标值绘制外轮廓线。
图10-27绘制外轮廓线图10-28七段数码管封装图
(13)保存:
单击主工具栏内的按钮,将生成的七段数码管元件封装图保存到自建PCB元件.lib库文件中。
至此,用向导法完成了在自建PCB元件.lib库中制作并增加七段数码管封装图的任务。
数码管元件图中管脚编号为1—8,分别对应a—dp,9对应VCC;
而数码管封装图中管脚编号依次是e、d、3、c、dp、b、a、8、f、g,两个图的管脚号不一致,势必在调入网络表时出错,所以修改其封装图管脚号如图10-29所示。
图10-29修改七段数码管封装图管脚号
4、手工制作继电器封装图(参数要求见图10-5)
(1)新建元件封装:
在自建PCB元件.lib的封装库编辑器工作界面中,单击BrowsePCBLib标签中的Add按钮,或执行菜单命令Tools/Newponent,进入图10-16的元件封装向导界面,对话框中单击按钮,退出元件封装创建向导。
(2)设置工作环境:
执行菜单命令Tools/LibraryOptions…进入图10-13,将定位栅格SnapX改为10mil,SnapY改为10mil。
如图10-30所示。
为了使用户在绘制元件封装的过程中放置线段、弧线等更精确,应该将定位栅格设置的小一些,而电气栅格中数值要小于定位栅格。
(3)放置引脚焊盘:
执行菜单命令Place/Pad,或单击PCBLibPlacementTools工具栏中的按钮,将十字光标定位于(0,0)放置第一个焊盘。
然后根据图10-5中焊盘之间的水平间距和垂直间距放置其它7个焊盘,如图10-31所示。
图10-30重新设置定位栅格
可以利用栅格来确定焊盘间的相对位置,也可利用Pad属性对话框中焊盘的坐标值来确定各焊盘间的相对位置。
图10-31放置引脚焊盘图10-32焊盘属性设置
(4)修改引脚焊盘属性:
依次双击各个引脚焊盘(或选中焊盘后按Tab键),调出其相应的引脚焊盘属性对话框,根据任务要求修改各项值,如图10-32是修改第一个引脚焊盘的对话框,其中焊盘外径尺寸80×
80mil,焊盘孔径30mil。
其它焊盘属性依照图10-5逐一修改。
若需要对所有焊盘的相同属性进行修改,可以采用整体修改方式。
如将图10-31上所有外径为80×
80mil的圆形焊盘,修改其焊盘孔径为40mil,则单击图10-32对话框中的“Global”按钮,对话框展开,出现整体编辑区,如图10-33所示,“HoleSize”改为40mil,在“AttributesMatchBy”区域中的“X-Size”、“Y-Size”、“Shape”三栏都设为“Same”,将“Designator”栏设为“Different”;
其他各栏都设为“Any”,则表示将电路板图中所有X轴和Y轴尺寸为80mil、形状为圆形、序号不是1的焊盘作为整体编辑的对象;
在“ChangeScope”区域中,选择“AllPrimitivesincurrentponent”;
在“Copyattributes”区域,选择“HoleSize”栏,表示将所有被整体编辑的焊盘钻孔直径改为40mils。
图10.33焊盘属性整体修改
(5)设置参考点:
执行菜单命令Edit/SetReference/Location,将参考点放在“1”引脚焊盘上,作为本元件的参考点,即该引脚焊盘坐标为(0,0)。
(6)绘制封装外形轮廓线:
将工作层面切换到TopOverlay(顶层丝印层),执行菜单命令Place/Track,或单击PCBLibPlacementTools工具栏中的按钮,按照任务目标中的尺寸要求绘制出继电器的外轮廓线,完成后如图10.34所示。
图10.34绘制继电器外轮廓线
(7)修改元件封装名称:
执行菜单命令Tools/Renameponent…,或单击BrowsePCBLib标签中的Rename按钮,出现如图10-35对话框,修改元件封装名为继电器。
图10.35修改封装名
(8)保存:
单击主工具栏内的按钮,将生成的继电器元件封装图保存到自建PCB元件.lib库文件中。
至此,用手工法完成了在自建PCB元件.lib库中制作并增加继电器封装图的任务。
此时自建PCB元件.lib库中已新建了两个元件封装图。
5、修改PCBFootprints.lib封装库中已有的二极管封装图(如图10.6所示)
方法同上,改名为二极管。
(2)打开软件自带封装库。
执行菜单Files/Open…命令,在路径C:
\ProgramFiles\DesignExplorer99SE\Library\Pcb\GenericFootprints\Advpcb.DDB中打开PCBFootprints.lib元件库,找到需要修改的二极管封装DIODE0.4,将其选定、复制、粘贴到“自建PCB元件.lib”库文件的“二极管”封装图纸中,如图10.36。
(3)修改引脚焊盘编号:
依次双击两个引脚焊盘(或选中焊盘后按Tab键),调出其相应的引脚焊盘属性对话框,分别将原来的编号1改为A,如图10.37所示,将原来的编号2改为K,使其封装焊盘号与原理图中元件引脚号保持一致。
(4)保存:
单击主工具栏内的按钮,将生成的二极管元件封装图保存到自建PCB元件.lib库文件中,注意保存路径,本例在D:
\画图练习\放大整形电路.ddb。
图10.36复制已有封装
图10.37图10.38
至此,在自建PCB元件.lib库中制作并增加了三个元件封装图,如图10.38所示。
6、调用自建封装库
(1)回到PCB编辑状态,执行菜单命令Design/Add/RemoveLibrary…,将自己创建的封装库“自建PCB元件.lib”添加到当前PCB设计环境中,如图10.39所示。
(2)和其它封装库一样,使用自建PCB元件.lib库中封装,如图10.40所示。
7、创建项目元件封装库
项目元件封装库是根据本项目电路图上的元件而产生的元件封装库,实际就是把整个项目中所用到的元件整理并存入一个元件封装库文件中。
以高灵敏度无线话筒.pcb为例:
(1)执行菜单命令File/Open…,打开高灵敏度无线话筒.pcb文件,进入其PCB设计环境。
(2)执行菜单命令Design/MakeLibrary后,自动切换到元件封装库编辑器,并生成相应的项目元件封装库“高灵敏度无线话筒.lib”文件,如图10-41所示。
图10-39添加“自建PCB元件.lib”图10-40使用“自建PCB元件.lib”库元件
图10.41创建高灵敏度无线话筒.lib
实训练习:
在自己的文件夹中创建元件封装库,名为“自建封装.lib”,然后绘制以下各元件封装,并将其存放于上述自建封装库中。
[实训题1]从已有的封装库中拷贝一个DIP8的封装,然后将它修改为DIP4的封装。
(1)在Protel99SE环境,使用File/NewDesign建立设计数据库,然后再使用File/New菜单,在跳出的窗口中选择PCBLibraryDocument图标。
(2)拷贝操作:
打开GeneralIC封装库,并使DIP-8封装处于编辑状态,执行菜单命令Edit/Copyponent。
(3)粘贴操作:
使用菜单命令Edit/Pasteponent,就可以看到封装DIP-8就被调入该窗口,执行菜单命令Tools/Renameponent,把元件封装名改为DIP-4。
(34)修改操作:
用Edit/Delete菜单删除4个焊盘,然后重新为焊盘编号,顺序与原DIP-8的顺序一致,在顶层丝网层重画轮廓线,注意焊盘尺寸使用原焊盘尺寸,最后存盘。
[实训题2]试画一个PGA44的封装,要求:
如图10.42,图中的数字为焊盘号码,画图时注意封装焊盘号和实际器件的关系。
(1)首先用元件封装制作向导建立8×
8的PGA封装,然后再删去不需要的焊盘,最后编辑焊盘号、书写文字和画边框。
(2)注意焊盘使用向导中的缺省焊盘尺寸。
图10.42PGA44封装图图10.43发光二极管封装图
[实训题3]试画出所示的发光二极管封装图,要求如图10.43,焊盘外径为60mil,内径为30mil,焊盘号如图所示。
[实训题4]试画出所示的按钮封装图,要求如图10.44,焊盘尺寸为外径120mil,内径为60mil,焊盘号如图所示。
图10.44按钮封装图图10.45开关封装图
[实训题5]试画出所示的开关封装图,要求如图10-45,焊盘尺寸为外径200mil,内径为150mil,焊盘号如图所示。
任务2外部I/O口的扩展
通过本任务的学习,掌握利用8255A可编程芯片扩展外部I/O口的方法;
掌握利用8255A的A口、B口、C口完成数据的输入与输出;
进一步掌握指针变量的使用;
了解TTL芯片扩展I/O口的方法。
任务描述
把8255A的C口外接的8个开关量的状态读入到内部RAM50H单元,然后分别通过8255A的A口、B口输出,并分别在其外接的8个发光二极管上显示。
硬件电路如图10.46所示。
图10.468255扩展I/O口电路
源程序
#defineucharunsignedchar
#defineA82550x7ffc
#defineB82550x7ffd
#defineC82550x7ffe
#defineK82550x7fff
voiddelay()
{uchari,j;
for(i=0;
i<
40;
i++)
for(j=0;
j<
250;
j++)
;
}
voidmain()
{
ucharxdata*p;
uchardata*pn=(uchardata*)0x50;
while
(1)
p=(unsignedint*)(K8255);
*p=0x89;
p=(unsignedint*)(C8255);
*pn=*p;
p--;
*p=*pn;
delay();
任务实施
1.利用PROTEL软件绘制如图9.69硬件电路图,生成元件清单、网络报表、制作PCB板(根据设计情况尽量小)。
2.利用proteus仿真软件绘制电路原理图
3.C51程序的编译
按照情景一KeilC51编译软件的操作步骤对源程序进行编译和调试。
4.执行程序观察效果
将编译成功后的.HEX文件加载到CPU执行程序并设置开关的状态观察效果。
1.并行I/O口的简单扩展
简单I/O口扩展是通过系统外总线进行的。
简单I/O口扩展芯片可选用带输入、输出锁存端的三态门组合门电路,如74LS373、74LS377、74LS273、74LS245及8282等。
图10.47为由74LS373及8282构成的8位并行输入输出I/O口,其中74LS373用作输出口,8282用作输入口,若不用的地址线取为“1”,则口地址为:
BFFFH(输出口)、7FFFH(输入口)。
数据的输入与输出通过下述指令进行:
输出数据:
unsignedcharxata*p;
unsignedchari;
p=(unaignedchardata*)0xbfff;
//指向输出口
*p=0x30;
//输出数据
输入数据:
p=(unaignedchardata*)0x7fff;
//指向输入口
i=*p;
//输入数据
图10.47简单I/O口扩展
2.采用8255扩展I/O口
简单I/O口扩展有使用普通的TTL门电路作为扩展器件的简单I/O口扩展,该方式线路简单,但由于TFL门电路不可编程,因此用这种方法扩展的I/O口功能单一,使用不太方便。
使用通用可编程I/O扩展芯片如8255、8155等芯片进行扩展,由于它是I/O口扩展专用芯片,与单片机进行连接比较方便,而且芯片的可编程性质使I/O扩展口应用灵活,这种方法在实际应用中用得较多。
通过串行口扩展并行I/O口也是一种常用的I/O口扩展方法,该方法的最大优点是不占用数据存储器地址空间,但速度较慢,适用于数据空间使用较多且对I/O口速度要求不高的应用场所。
除通过串行口扩展I/O口外,用另两种方法扩展I/O口,其I/O口地址与数据存储器地址统一编址。
8255是一种可编程的并行I/O接口芯片,与8155相比没有内部定时器/计数器及静态RAM,但同样具有三个端口,端口的结构与功能略强于8155。
1)8255的内部结构和引脚功能。
8255的内部由端口、端口控制电路、数据总线缓冲器、读/写控制逻辑电路组成。
8255的内部结构(见图10.48)和引脚功能(见图10.49)
图10.488255内部结构
图10.498255A引脚图
(1)外设接口部分
该部分有3个8位并行I/O端口,即A口、B口、C口。
可由编程决定这3个端口的功能。