当前位置:文档之家› Altium教程焊盘和过孔特性设置

Altium教程焊盘和过孔特性设置

Pad And Via of Type

第一部分 Pad And Via of Type in PCB Design

1 Pad And Via of Type

1 Count_Connection_Lines.pas {..............................................................................} { Summary }

{ Demo How to find and list all connection lines in the PCB } { and display the connection line data on the Messages panel. } { }

{ Version 1.0 }

{ Copyright (c) 2008 by PurPer Limited } {..............................................................................}

{..............................................................................} Procedure DisplayResultsInMessagePanel(Results : TStringList);

Var

WSM : IWorkSpace;

MM : IMessagesManager;

ImageIndex : Integer;

F : Boolean;

I : Integer;

Begin

WSM := GetWorkSpace;

If WSM = Nil Then Exit;

// Obtain the Messages Panel interface

MM := WSM.DM_MessagesManager;

If MM = Nil Then Exit;

// Tick Icon for the lines in the Message panel

ImageIndex := 3;

// Clear out messages from the Message panel...

MM.ClearMessages;

MM.BeginUpdate;

F := False;

For I := 0 to Results.Count - 1 Do

Begin

MM.AddMessage({MessageClass }'Connection Line: ' + IntToStr(I + 1), {MessageText }Results.Strings[I],

{MessageSource }'',

{MessageDocument }'',

{MessageCallBackProcess }'',

{MessageCallBackParameters}'',

ImageIndex,

F);

End;

MM.EndUpdate;

// Display the Messages panel in PurPer Designer.

WSM.DM_ShowMessageView;

End; {..............................................................................}

{..............................................................................} Procedure CountAndFindConnections;

Var

Board : IPCB_Board;

Connect : IPCB_Connection;

Iterator : IPCB_BoardIterator;

ConnectionList : TStringList;

ConnectNumber : Integer;

Document : IServerDocument;

FileName : TPCBString;

Begin

ConnectNumber := 0;

// Retrieve the current board

Board := PCBServer.GetCurrentPCBBoard;

If Board = Nil Then Exit;

ConnectionList := TStringList.Create;

// retrieve the iterator

Iterator := Board.BoardIterator_Create;

Iterator.AddFilter_ObjectSet(MkSet(eConnectionObject));

Iterator.AddFilter_LayerSet(AllLayers);

Iterator.AddFilter_Method(eProcessAll);

Try

// Search and count connection lines

Connect := Iterator.FirstPCBObject;

While (Connect <> Nil) Do

Begin

Inc(ConnectNumber);

// Makes a string list of connections

ConnectionList.Add('Connection Line Owner Net: ' + https://www.doczj.com/doc/ae13432919.html, + ' ' +

'X1:' + IntToStr(CoordToMils(Connect.X1)) + ' ' +

'Y1:' + IntToStr(CoordToMils(Connect.Y1)) + ' ' +

'X2:' + IntToStr(CoordToMils(Connect.X2)) + ' ' +

'Y2:' + IntToStr(CoordToMils(Connect.Y2)));

// Fetch the next connection line object

Connect := Iterator.NextPCBObject;

End;

// Free the iterator from memory

Board.BoardIterator_Destroy(Iterator);

// List the total of connection lines found from the current PCB

ConnectionList.Add(#13 + 'Total Connection Lines: ' + IntToStr(ConnectNumber));

// Get the filename of the current PCB and change its file extension to TXT

FileName := ChangeFileExt(Board.FileName,'.txt');

// Save list of connection lines to a file

ConnectionList.SaveToFile(Filename);

// Display the results in the Message panel.

DisplayResultsInMessagePanel(ConnectionList);

Finally

ConnectionList.Free;

End;

End; {..............................................................................}

{..............................................................................}

2 CreatA Via.pas {..............................................................................} { Summary Create a new Via object on a PCB document. }

{ Copyright (c) 2005 by PurPer Limited } {..............................................................................}

{..............................................................................} Procedure ViaCreation;

Var

Board : IPCB_Board;

BR : TCoordRect;

Sheet : IPCB_Sheet;

Via : IPCB_Via;

PadCache : TPadCache;

Begin

// Grab the board interface representing the current PCB document in DXP.

Board := PCBServer.GetCurrentPCBBoard;

// If the board interface doesnt exist (no PCB document) then exit.

If Board = Nil Then Exit;

// Initialize the systems in the PCB Editor.

PCBServer.PreProcess;

Sheet := Board.PCBSheet;

// Create a Via object with the PCBObjectFactory method

// and then with the new attributes.

// Note we convert values in Mils to internal coordinates

// using the MilsToCoord function. All PCB objects locations and sizes

// have internal coordinate units where 1 mil = 10000 internal units

Via := PCBServer.PCBObjectFactory(eViaObject, eNoDimension, eCreate_Default);

// obtain the bottom left coordinates of the board outline

BR := Board.BoardOutline.BoundingRectangle;

Via.x := BR.Left + MilsToCoord(500);

Via.y := BR.Bottom + MilsToCoord(500);

// Via.x := Sheet.SheetX + MilsToCoord(500);

// Via.y := Sheet.SheetY + MilsToCoord(500);

Via.Size := MilsToCoord(50);

Via.HoleSize := MilsToCoord(20);

// Assign Via to the Top layer and bottom layer.

Via.LowLayer := eTopLayer;

Via.HighLayer := eBottomLayer;

// Set up Cache info for Via

// which consists mainly solder mask, paste mask and power plane values from design rules Padcache := Via.GetState_Cache;

Padcache.ReliefAirGap := MilsToCoord(11);

Padcache.PowerPlaneReliefExpansion := MilsToCoord(11);

Padcache.PowerPlaneClearance := MilsToCoord(11);

Padcache.ReliefConductorWidth := MilsToCoord(11);

Padcache.SolderMaskExpansion := MilsToCoord(11);

Padcache.SolderMaskExpansionValid := eCacheManual;

Padcache.PasteMaskExpansion := MilsToCoord(11);

Padcache.PasteMaskExpansionValid := eCacheManual;

// Assign the new pad cache to the via

Via.SetState_Cache := Padcache;

// Put the new Via object on the board

Board.AddPCBObject(Via);

// Update the Undo System in DXP that a new VIa object has been added to the board

PCBServer.SendMessageToRobots(Board .I_ObjectAddress, c_Broadcast, PCBM_BoardRegisteration, Via.I_ObjectAddress);

// Finalize the systems in the PCB Editor.

PCBServer.PostProcess;

// Refresh PCB screen

Client.SendMessage('PCB:Zoom', 'Action=Redraw' , 255, Client.CurrentView);

End; {..............................................................................}

{..............................................................................}

3 CreatComponentOnPCB.pas {..............................................................................}

{ }

{ Summary Demo how to create a new component on the PCB }

{ }

{ 1/ Run CreateAComponentOnPCB procedure first to create a new component }

{ 2/ Then run CreateANewCompHeight procedure to set a new height for this comp.}

{ 3/ Then run the FetchComponentMidPoints procedure to fetch mid points. }

{ 4/ Run the RotateAComponent procedure to rotate and flip this new comp. }

{ }

{ Copyright (c) 2007 by PurPer Limited } {..............................................................................}

{..............................................................................}

Var

Board : IPCB_Board;

WorkSpace : IWorkSpace;

{..............................................................................}

{..............................................................................}

Function PlaceAPCBTrack(AX1, AY1, AX2, AY2 : TCoord; AWidth : TCoord; ALayer : TLayer) : IPCB_Track; Var

T : IPCB_Track;

Begin

PCBServer.PreProcess;

T := PCBServer.PCBObjectFactory(eTrackObject,eNoDimension,eCreate_Default);

T.X1 := MilsToCoord(AX1);

T.Y1 := MilsToCoord(AY1);

T.X2 := MilsToCoord(AX2);

T.Y2 := MilsToCoord(AY2);

https://www.doczj.com/doc/ae13432919.html,yer := ALayer;

T.Width := MilsToCoord(AWidth);

PCBServer.PostProcess;

Result := T;

End; {..............................................................................}

{..............................................................................}

Function PlaceAPCBPad(AX,AY : TCoord; ATopXSize, ATopYSize : TCoord; AHoleSize : TCoord; ALayer : TLayer; AName : String) : IPCB_Pad; Var

P : IPCB_Pad;

PadCache : TPadCache;

Begin

Result := Nil;

Try

PCBServer.PreProcess;

P := PcbServer.PCBObjectFactory(ePadObject,eNoDimension,eCreate_Default);

If P = Nil Then Exit;

P.X := MilsToCoord(AX);

P.Y := MilsToCoord(AY);

P.TopXSize := MilsToCoord(ATopXSize);

P.TopYSize := MilsToCoord(ATopYSize);

P.HoleSize := MilsToCoord(AHoleSize);

https://www.doczj.com/doc/ae13432919.html,yer := ALayer;

https://www.doczj.com/doc/ae13432919.html, := AName;

(* Setup a pad cache *)

Padcache := P.GetState_Cache;

Padcache.ReliefAirGap := MilsToCoord(11);

Padcache.PowerPlaneReliefExpansion := MilsToCoord(11);

Padcache.PowerPlaneClearance := MilsToCoord(11);

Padcache.ReliefConductorWidth := MilsToCoord(11);

Padcache.SolderMaskExpansion := MilsToCoord(11);

Padcache.SolderMaskExpansionValid := eCacheManual;

Padcache.PasteMaskExpansion := MilsToCoord(11);

Padcache.PasteMaskExpansionValid := eCacheManual;

(* Assign the new pad cache to the pad*)

P.SetState_Cache(Padcache);

Finally

PCBServer.PostProcess;

End;

Result := P;

End; {..............................................................................}

{..............................................................................}

Procedure Place4Tracks(NewComp : IPCB_Component);

Var

NewTrack : IPCB_Track;

Begin

// Create a first track

NewTrack := PlaceAPCBTrack(50,50,250,50,10,eTopOverlay);

NewComp.AddPCBObject(NewTrack);

PCBServer.SendMessageToRobots(NewComp.I_ObjectAddress,c_Broadcast,PCBM_BoardRegisteration,NewTrack.I_ObjectAddress);

// Create a second track

NewTrack := PlaceAPCBTrack(250,50,250,-150,10,eTopOverlay);

NewComp.AddPCBObject(NewTrack);

PCBServer.SendMessageToRobots(NewComp.I_ObjectAddress,c_Broadcast,PCBM_BoardRegisteration,NewTrack.I_ObjectAddress);

// Create a third track

NewTrack := PlaceAPCBTrack(250,-150,50,-150,10,eTopOverlay);

NewComp.AddPCBObject(NewTrack);

PCBServer.SendMessageToRobots(NewComp.I_ObjectAddress,c_Broadcast,PCBM_BoardRegisteration,NewTrack.I_ObjectAddress);

// Create a second track

NewTrack := PlaceAPCBTrack(50,-150,50,50,10,eTopOverlay);

NewComp.AddPCBObject(NewTrack);

PCBServer.SendMessageToRobots(NewComp.I_ObjectAddress,c_Broadcast,PCBM_BoardRegisteration,NewTrack.I_ObjectAddress); End; {..............................................................................}

{..............................................................................}

Procedure Place4Pads(NewComp : IPCB_Component);

Var

NewPad : IPCB_Pad;

Begin

// Create a first pad

NewPad := PlaceAPCBPad(0,0,62,62,28,eMultiLayer,'1');

NewComp.AddPCBObject(NewPad);

PCBServer.SendMessageToRobots(NewComp.I_ObjectAddress,c_Broadcast,PCBM_BoardRegisteration,NewPad.I_ObjectAddress);

// Create a second pad

NewPad := PlaceAPCBPad(0,-100,62,62,28,eMultiLayer,'2');

NewComp.AddPCBObject(NewPad);

PCBServer.SendMessageToRobots(NewComp.I_ObjectAddress,c_Broadcast,PCBM_BoardRegisteration,NewPad.I_ObjectAddress);

// Create a third pad

NewPad := PlaceAPCBPad(300,0,62,62,28,eMultiLayer,'3');

NewComp.AddPCBObject(NewPad);

PCBServer.SendMessageToRobots(NewComp.I_ObjectAddress,c_Broadcast,PCBM_BoardRegisteration,NewPad.I_ObjectAddress);

// Create a fourth pad

NewPad := PlaceAPCBPad(300,-100,62,62,28,eMultiLayer,'4');

NewComp.AddPCBObject(NewPad);

PCBServer.SendMessageToRobots(NewComp.I_ObjectAddress,c_Broadcast,PCBM_BoardRegisteration,NewPad.I_ObjectAddress); End; {..............................................................................}

{..............................................................................}

Procedure PlaceAPCBComponent(AX,AY : TCoord);

Var

Comp : IPCB_Component;

Begin

PCBServer.PreProcess;

Comp := PCBServer.PCBObjectFactory(eComponentObject, eNoDimension, eCreate_Default);

If Comp = Nil Then Exit;

Place4Tracks(Comp);

Place4Pads (Comp);

// Set the reference point of the Component

Comp.X := MilsToCoord(AX);

Comp.Y := MilsToCoord(AY);

https://www.doczj.com/doc/ae13432919.html,yer := eTopLayer;

// Make the designator text visible;

https://www.doczj.com/doc/ae13432919.html,On := True;

https://www.doczj.com/doc/ae13432919.html,.Text := 'Custom';

https://www.doczj.com/doc/ae13432919.html,.XLocation := MilsToCoord(AX) - MilsToCoord(220);

https://www.doczj.com/doc/ae13432919.html,.YLocation := MilsToCoord(AY) - MilsToCoord(220);

// Make the comment text visible;

https://www.doczj.com/doc/ae13432919.html,mentOn := True;

https://www.doczj.com/doc/ae13432919.html,ment.Text := 'Comment';

https://www.doczj.com/doc/ae13432919.html,ment.XLocation := MilsToCoord(AX) - MilsToCoord(220);

https://www.doczj.com/doc/ae13432919.html,ment.YLocation := MilsToCoord(AY) - MilsToCoord(300);

PCBServer.SendMessageToRobots(Board.I_ObjectAddress,c_Broadcast,PCBM_BoardRegisteration,Comp.I_ObjectAddress);

Board.AddPCBObject(Comp);

PCBServer.PostProcess;

End; {..............................................................................}

{..............................................................................}

Procedure CreateAComponentOnPCB;

Var

OffSetX : Integer;

OffSetY : Integer;

NewPad : IPCB_Pad;

NewTrack : IPCB_Track;

BR : TCoordRect;

Begin

Client.StartServer('PCB');

// Create a new pcb document

WorkSpace := GetWorkSpace;

If WorkSpace = Nil Then Exit;

Workspace.DM_CreateNewDocument('PCB');

// Check if PCB document exists

If PCBServer = Nil Then Exit;

Board := PCBServer.GetCurrentPCBBoard;

If Board = Nil then exit;

// obtain the offsets so we can place objects inside the PCB board outline.

BR := Board.BoardOutline.BoundingRectangle;

OffsetX := Trunc(CoordToMils(BR.Left));

OffsetY := Trunc(CoordToMils(BR.Bottom)); //TReal to Integer

PlaceAPCBComponent(OffsetX + 3000, OffsetY + 1000);

Board.ViewManager_FullUpdate;

// Refresh PCB screen

https://www.doczj.com/doc/ae13432919.html,unchCommand('PCB:Zoom', 'Action=Redraw' , 255, Client.CurrentView); End;{..............................................................................}

{..............................................................................}

Procedure RotateAComponent;

Var

Board : IPCB_Board;

Iterator : IPCB_BoardIterator;

Component : IPCB_Component;

Layer : TLayer;

Begin

Board := PCBServer.GetCurrentPCBBoard;

If Board = Nil Then Exit;

// Initialize the PCB editor.

PCBServer.PreProcess;

//Grab the first component from the PCB only.

Iterator := Board.BoardIterator_Create;

Iterator.AddFilter_ObjectSet(MkSet(eComponentObject));

Iterator.AddFilter_LayerSet(AllLayers);

Iterator.AddFilter_Method(eProcessAll);

Component := Iterator.FirstPCBObject;

// If no components found, exit.

If Component = Nil Then

Begin

Board.BoardIterator_Destroy(Iterator);

Exit;

End;

// Notify the PCB that the pcb object is going to be modified

PCBServer.SendMessageToRobots(Component.I_ObjectAddress, c_Broadcast, PCBM_BeginModify , c_NoEventData);

// Set the reference point of the component.

// Note that IPCB_Component is inherited from IPCB_Group

// and thus the X,Y properties are inherited.

Component.X := Component.X + MilsToCoord(100);

Component.Y := Component.Y + MilsToCoord(100);

// Rotate a component 45 degrees.

Component.Rotation := 45;

// If Component is on Top layer, its placed on bottom layer and vice versa.

Layer := https://www.doczj.com/doc/ae13432919.html,yer;

If (Layer = eTopLayer) Then

Begin

https://www.doczj.com/doc/ae13432919.html,yer := eBottomLayer;

End

Else If (Layer = eBottomLayer) Then

https://www.doczj.com/doc/ae13432919.html,yer := eTopLayer;

// Notify the PCB editor that the pcb object has been modified

PCBServer.SendMessageToRobots(Component.I_ObjectAddress, c_Broadcast, PCBM_EndModify , c_NoEventData);

Board.BoardIterator_Destroy(Iterator);

// Reset the PCB

PCBServer.PostProcess;

Client.SendMessage('PCB:Zoom', 'Action=Redraw' , 255, Client.CurrentView);

End; {..............................................................................}

{..............................................................................}

Var

MinX, MinY, MaxX, MaxY : Integer; {..............................................................................}

{..............................................................................}

Procedure ProcessObjectsOfAComponent(Const P : IPCB_Primitive);

Var

R : TCoordRect;

Begin

// check for comment / name objects

If P.ObjectId <> eTextObject Then

Begin

R := P.BoundingRectangle;

If R.left < MinX Then MinX := R.left;

If R.bottom < MinY Then MinY := R.bottom;

If R.right > MaxX Then MaxX := R.right;

If R.top > MaxY Then MaxY := R.top;

End;

End; {..............................................................................}

{..............................................................................} Procedure FetchComponentMidPoints;

Var

MidX, MidY : Double;

Component : IPCB_Component;

Iterator : IPCB_BoardIterator;

Board : IPCB_Board;

S : TPCBString;

GroupIterator : IPCB_GroupIterator;

GroupHandle : IPCB_Primitive;

Begin

Board := PCBServer.GetCurrentPCBBoard;

If Board = Nil Then Exit;

BeginHourGlass;

// setting extreme constants...

MinX := 2147483647;

MinY := 2147483647;

MaxX := -2147483647;

MaxY := -2147483647;

// set up filter for component objects only

Iterator := Board.BoardIterator_Create;

Iterator.AddFilter_ObjectSet(MkSet(eComponentObject));

Iterator.AddFilter_LayerSet(AllLayers);

Iterator.AddFilter_Method(eProcessAll);

// Looks for the first component and then calculates the Mid X and MidY

// of this component taking all the prims of this component into account. Component := Iterator.FirstPCBObject;

If Component <> Nil Then

Begin

GroupIterator := Component.GroupIterator_Create;

GroupIterator.AddFilter_ObjectSet(AllObjects);

GroupHandle := GroupIterator.FirstPCBObject;

While GroupHandle <> Nil Do

Begin

ProcessObjectsOfAComponent(GroupHandle);

GroupHandle := GroupIterator.NextPCBObject;

End;

Component.GroupIterator_Destroy(GroupIterator);

End;

Board.BoardIterator_Destroy(Iterator);

MidX := (MinX + MaxX)/2;

MidY := (MinY + MaxY)/2;

EndHourGlass;

S := https://www.doczj.com/doc/ae13432919.html,.Text;

ShowInfo('Component''s ' + S + ' midpoint X and Y are : '+ #13 +

'MidX = ' + FloatToStr(MidX) + ', MidY = ' + FloatToStr(MidY));

End; {..............................................................................}

{..............................................................................}

Procedure CreateANewCompHeight;

Var

Component : IPCB_Component;

Iterator : IPCB_BoardIterator;

Board : IPCB_Board;

Begin

Board := PCBServer.GetCurrentPCBBoard;

If Board = Nil Then Exit;

Iterator := Board.BoardIterator_Create;

Iterator.AddFilter_ObjectSet(MkSet(eComponentObject));

Iterator.AddFilter_LayerSet(AllLayers);

Iterator.AddFilter_Method(eProcessAll);

// very first component on PCB document fetched.

// best have a PCB with only one component.

Component := Iterator.FirstPCBObject;

If Component <> Nil Then

Begin

ShowInfo('Component Designator ' + Component.SourceDesignator + #13 +

'Component''s Original Height = ' + IntToStr(Component.Height));

(* Notify PCB of a modify- the height of a component is going to be changed *)

Try

PCBServer.PreProcess;

PCBServer.SendMessageToRobots(Component.I_ObjectAddress, c_Broadcast, PCBM_BeginModify, c_noEventData);

Erwin工具使用指南

Erwin工具使用指南(版本号:V )

文档修订状况

目录 第一章基本概念 (4) 数据模型(Modal) (4) 视图 (4) 逻辑视图(Logical) (4) 物理视图(Physical) (4) 第二章操作指南 (6) 新建模型 (6) 视图切换 (7) 新建主题区域 (7) 切换主题区域 (9) 编辑主题区域 (10) 选择现有数据实体到指定的主题区域。 (10) 在主题区域新建数据实体 (11) 在主题区域删除数据实体 (12) 数据实体导航 (13)

第一章基本概念 1.1数据模型(Modal) 数据模型是数据实体(Entity)和数据实体间的关系(Relationship)总和。可以简单的理解认为数据实体就是对应数据库表,实体间的关系就是表之间的关系。 1.2视图 Erwin对数据模型提供两种视——逻辑视图、物理视图。 1.2.1逻辑视图(Logical) 是以业务需求的概念对数据模型进行描述。通俗的说,在逻辑视图中我们可以用中文或描述性的语言来描述数据实体(表)和数据实体的属性(字段)。下面就是一个对车辆信信息实体的逻辑视图。 1.2.2物理视图(Physical) 物理视图与逻辑视图一一对应,物理视图是针对一种具体的数据库进行逻辑视图的物理映射。通俗的说,在物理视图中我们必须为每一个在逻辑视图中出现的数据实体(表)指定一个可被具体数据库接纳的表名称,譬如我们使用MySQL作为我们的数据库实现,我们就必须为具体的实体指定一个数据库表名(英文单词或词组),同样的对实体属性(字段)的命名也需进行转换,数据类型也需要具体为数据库支持的数据类型。下面就是对应车辆信息实体针对MySQL数据的物理视图。

Allegro元件封装(焊盘)制作方法总结

Allegro元件封装(焊盘)制作方法总结 ARM+Linux底层驱动 2009-02-27 21:00 阅读77 评论0 字号:大中小 https://www.doczj.com/doc/ae13432919.html,/html/PCBjishu/2008/0805/3289.html 在Allegro系统中,建立一个零件(Symbol)之前,必须先建立零件的管脚(Pin)。元件封装大体上分两种,表贴和直插。针对不同的封装,需要制 作不同的Padstack。 Allegro中Padstack主要包括以下部分。 1、PAD即元件的物理焊盘 pad有三种: 1. Regular Pad,规则焊盘(正片中)。可以是:Circle 圆型、S quare 方型、Oblong 拉长圆型、Rectangle 矩型、Octagon 八 边型、Shape形状(可以是任意形状)。 2. Thermal relief 热风焊盘(正负片中都可能存在)。可以是: Null(没有)、Circle 圆型、Square 方型、Oblong 拉长圆型、 Rectangle 矩型、Octagon 八边型、flash形状(可以是任意形 状)。 3. Anti pad 抗电边距(负片中使用),用于防止管脚与其他的网 络相连。可以是:Null(没有)、Circle 圆型、Square 方型、 Oblong 拉长圆型、Rectangle 矩型、Octagon 八边型、Shape形 状(可以是任意形状)。 2、SOLDERMASK:阻焊层,使铜箔裸露而可以镀涂。 3、PASTEMASK:胶贴或钢网。 4、FILMMASK:预留层,用于添加用户需要添加的相应信息,根据需要使用。 表贴元件的封装焊盘,需要设置的层面及尺寸: Regular Pad: 具体尺寸根据实际封装的大小进行相应调整后得到。推荐使用《IPC-SM-78 2A Surface Mount Design and Land Pattern Standard》中推荐的尺寸进行尺寸设计。同时推荐使用IPC-7351A LP Viewer。该软件包括目前常用的大多数S

PCB焊盘与孔径设计一般规范(仅参考)

PCB 焊盘与孔设计工艺规范 1. 目的 规范产品的PCB焊盘设计工艺,规定PCB焊盘设计工艺的相关参数,使得PCB 的设计满足可生 产性、可测试性、安规、EMC、EMI 等的技术规范要求,在产品设计过程中构建产品的工艺、 技术、质量、成本优势。 2. 适用范围 本规范适用于空调类电子产品的PCB 工艺设计,运用于但不限于PCB 的设计、PCB 批产工 艺审查、单板工艺审查等活动。 本规范之前的相关标准、规范的内容如与本规范的规定相抵触的,以本规范为准 3.引用/参考标准或资料 TS—S0902010001 <<信息技术设备PCB 安规设计规范>> TS—SOE0199001 <<电子设备的强迫风冷热设计规范>> TS—SOE0199002 <<电子设备的自然冷却热设计规范>> IEC60194 <<印制板设计、制造与组装术语与定义>> (Printed Circuit Board design manufacture and assembly-terms and definitions) IPC—A—600F <<印制板的验收条件>> (Acceptably of printed board) IEC60950 4.规范内容 4.1焊盘的定义 通孔焊盘的外层形状通常为圆形、方形或椭圆形。具体尺寸定义详述如下,名词定义如图所示。 1)孔径尺寸: 若实物管脚为圆形:孔径尺寸(直径)=实际管脚直径+0.20∽0.30mm(8.0∽12.0MIL)左右; 若实物管脚为方形或矩形:孔径尺寸(直径)=实际管脚对角线的尺寸+0.10∽0.20mm(4.0∽8.0MIL)左右。 2)焊盘尺寸: 常规焊盘尺寸=孔径尺寸(直径)+0.50mm(20.0 MIL)左右。 4.2 焊盘相关规范 4.2.1所有焊盘单边最小不小于0.25mm,整个焊盘直径最大不大于元件孔径的3倍。 一般情况下,通孔元件采用圆型焊盘,焊盘直径大小为插孔孔径的1.8倍以上;单面板焊盘直径不小于

pcb焊盘设计规范标准

注:以下设计标准参照了IPC-SM-782A标准和一些日本著名设计制造厂家的设计以及在制造经验中积累的一些较好的设计方案。以供大家参考和使用(焊盘设计总体思想:CHIP件当中尺寸标准的,按照尺寸规格给出一个焊盘设计标准;尺寸不标准的,按照其物料编号给出一个焊盘设计标准。IC、连接器元件按照物料编号或规格归类给出一个设计标准。),以减少设计问题给实际生产带来的诸多困扰。 1、焊盘规尺寸: 规格(或物料编号) 物料具体参数(mm) 焊盘设计(mm) 印锡钢网设计印胶钢网设计备注01005 / / / / 0201 (0603) a=0.10±0.05 b=0.30±0.05,c=0.60±0.05 / 适用与普通电阻、 电容、电感 0402 (1005) a=0.20±0.10 b=0.50±0.10,c=1.00±0.10 以焊盘中心为中心, 开孔圆形D=0.55mm 开口宽度0.2mm(钢网 厚度T建议厚度为 0.15mm)适用与普通电阻、 电容、电感 0603 (1608) a=0.30±0.20, b=0.80±0.15,c=1.60±0.15 适用与普通电阻、电容、电感 0805 (2012) a=0.40±0.20 适用与普通电阻、电容、电感

b=1.25±0.15,c=2.00±0.20 1206 (3216) a=0.50±0.20 b=1.60±0.15,c=3.20±0.20 适用与普通电阻、电容、电感 1210 (3225) a=0.50±0.20 b=2.50±0.20,c=3.20±0.20 适用与普通电阻、电容、电感 1812 (4532) a=0.50±0.20 b=3.20±0.20,c=4.50±0.20 适用与普通电阻、电容、电感 2010 (5025) a=0.60±0.20 b=2.50±0.20,c=5.00±0.20 适用与普通电阻、电容、电感 2512 (6432)适用与普通电阻、电容、电感 页脚

焊盘设计

第三节. 贴装元器件的焊盘设计?标准尺寸元器件的焊盘图形可以直接从CAD软 件的元件库中调用,也可自行设计。 ?在实际设计时,有时库中焊盘尺寸不全、元件尺寸与标准有差异或不同的工艺,还必须根据具体产品的组装密度、不同的工艺、不同的设备以及特殊元器件的要求进行设计。 一. 矩形片式元器件焊盘设计 二. 半导体分立器件焊盘设计 三. 翼形小外形IC和电阻网络(SOP) 四. 翼形四边扁平封装器件(QFP) 五.J形引脚小外形集成电路(SOJ)和塑封有引 脚芯片载体(PLCC)的焊盘设计 六. BGA焊盘设计 七.通孔插装元器件(THC)焊盘设计

一矩形片式元器件焊盘设计 ?Chip元件焊盘设计应掌握以下关键要素: ? a 对称性——两端焊盘必须对称,才能保证熔融焊锡表面张力平衡。 ? b 焊盘间距——确保元件端头或引脚与焊盘恰当的搭接尺寸。 ? c 焊盘剩余尺寸——搭接后的剩余尺寸必须保证焊点能够形成弯月面。 ? d 焊盘宽度——应与元件端头或引脚的宽度基本一致。 (b) 1206、0805、0603、0402、0201焊盘设计?英制公制A(mil)B(mil) G(mil)?1825 4564 250 70 120?1812 4532 120 70 120?1210 3225 100 70 80?1206 (3216)60 70 70?0805 (2012)50 60 30?0603 (1608)25 30 25 ?0402 (1005)20 25 20?0201 (0603)12 15 10

(c)钽电容焊盘设计 ?代码英制公制A(mil)B(mil) G(mil)? A 1206 3216 50 60 40? B 1411 3528 90 60 50? C 2312 6032 90 90 120? D 2817 7243 100 100 160 二、半导体分立器件焊盘设计 1.分类 MELF:LL系列和0805-2309 片式:J 和L型引脚 SOT系列:SOT23、SOT89、SOT143等 TOX系列:TO252

ERwin使用说明(中英文)

Getting Started with ER win (Erwin 入门) by Dr. Peter Wolcott Department of Information Systems and Quantitative Analysis College of Information Science and Technology University of Nebraska at Omaha(由内布拉斯加州的奥马哈大学信息科学与技术学院门的信息系统和定量分析博士彼得著) Introduction (介绍) ER win is a popular data modeling tool used by a number of major companies in Omaha and throughout the world. (Erwin是受奥马哈和世界各地的一些主要的公司欢迎的数据模型工具) The product is currently owned, developed, and marketed by Computer Associates, a leading software developer.(该产品是由具有领导地位的CA软件开发公司拥有、开发和销售) The product supports a variety of aspects of database design, including data modeling, forward engineering (the creation of a database schema and physical database on the basis of a data model), and reverse engineering (the creation of a data model on the basis of an existing database) for a wide variety of relational DBMS, including Microsoft Access, Oracle, DB2, Sybase, and others.该软件为多种多样的关系型数据库管理系统,包括 Microsoft Access,甲骨文,Sybase,DB2,和其他人提供支持数据库设计的各个方面,包括数据建模、正向工程(在现有的数据模型的基础上创建数据模式和物理数据库)和逆向工程(在现在的数据库基础上创建数据模型) This brief tutorial steps you through the process of creating a data model using ER win.(你可以通过这个简单教程中的步骤运用Erwin来创建数据模 型) It will not explain all aspects of ERwin, but will show you the minimum necessary to create and use data models for this class. (这个课程不可能全面地讲解Erwin,但它向你展示了必要的最基本的创建和使用数据模型的知识) It consists of three major segments, which correspond to the project-related assignments in your class: (这个课程由三个主要部分组成,它与有关项目任务相符) 1.Creation of a basic data model (Conceptual data model) 创建一个 基本的数据模型(概念数据模型) 2.Creation of a database schema 建立数据库模式 3.Creation of the database创建数据库

PCB布局方法技巧:布线、焊盘及敷铜的设计

PCB布局方法技巧:布线、焊盘及敷铜的设计 2018-03-09 PCB布线焊盘敷铜设计 随着电子技术的进步, PCB (印制电路板)的复杂程度、适用范围有了飞速的发展。从事高频PCB的设计者必须具有相应的基础理论知识,同时还应具有丰富的高频PCB的制作经验。也就是说,无论是原理图的绘制,还是PCB 的设计,都应当从其所在的高频工作环境去考虑,才能够设计出较为理想的PCB。本文主要从高频PCB 的手动布局、布线两个方面,基于ProtelSE对在高频PCB 设计中的一些问题进行研究。 1 布局的设计 Protel 虽然具有自动布局的功能,但并不能完全满足高频电路的工作需要,往往要凭借设计者的经验,根据具体情况,先采用手工布局的方法优化调整部分元器件的位置,再结合自动布局完成PCB的整体设计。布局的合理与否直接影响到产品的寿命、稳定性、EMC (电磁兼容)等,必须从电路板的整体布局、布线的可通性和PCB的可制造性、机械结构、散热、EMI(电磁干扰) 、可靠性、信号的完整性等方面综合考虑。 一般先放置与机械尺寸有关的固定位置的元器件,再放置特殊的和较大的元器件,最后放置小元器件。同时,要兼顾布线方面的要求,高频元器件的放置要尽量紧凑,信号线的布线才能尽可能短,从而降低信号线的交叉干扰等。 1.1 与机械尺寸有关的定位插件的放置 电源插座、开关、PCB之间的接口、指示灯等都是与机械尺寸有关的定位插件。通常,电源与PCB之间的接口放到PCB的边缘处,并与PCB 边缘要有3 mm~5 mm的间距;指示发光二极管应根据需要准确地放置;开关和一些微调元器件,如可调电感、可调电阻等应放置在靠近PCB 边缘的位置,以便于调整和连接;需要经常更换的元器件必须放置在器件比较少的位置,以易于更换。 1.2 特殊元器件的放置 大功率管、变压器、整流管等发热器件,在高频状态下工作时产生的热量较多,所以在布局时应充分考虑通风和散热,将这类元器件放置在PCB上空气容易流通的地方。大功率整流管和调整管等应装有散热器,并要远离变压器。电解电容器之类怕热的元件也应远离发热器件,否则电解液会被烤干,造成其电阻增大,性能变差,影响电路的稳定性。 易发生故障的元器件,如调整管、电解电容器、继电器等,在放置时还要考虑到维修方便。对经常需要测量的测试点,在布置元器件时应注意保证测试棒能够方便地接触。 由于电源设备内部会产生50 Hz泄漏磁场,当它与低频放大器的某些部分交连时,会对低频放大器产生干扰。因此,必须将它们隔离开或者进行屏蔽处理。放大器各级最好能按原理图排成直线形式,如此排法的优点是各级的接地电流就在本级闭合流动,不影响其他电路的工作。输入级与输出级应当尽可能地远离,减小它们之间的寄生耦合干扰。

ERwin简单教程

Erwin教程 erwin是一个数据库关系实体模型(ER Model)设计工具,与Power Designer(Sybase公司开发)成为最常用的两种数据库设计工具。目前该工具被CA收购,成为CA数据库解决方案中的一个关键部分。与微软的Vision相比,erwin只能设计er model,而且设计界面选项较多,相对来说并不那么友好,增加了使用的难度。但如果你是一个出色的数据库应用开发者,那你一定会发现erwin的好处。因为在设计模型层次和复杂度提高以后,visio难以应付众多的数据对象设计和对象之间的关系设计。而且erwin提供了数据库正向工程、逆向工程和文档正向工程功能,可以把设计直接实施到数据库后者把数据库中的对象信息读到erwin设计中,也可以生成设计文档,格式还可以自动定义。在本教程中,将告诉大家我是怎样简单的使用erwin来进行数据库设计的。这里强调了简单二字,就是说有很多只有20%机会用到的80%的功能本教程是不会介绍的。本文用到的erwin版本是4.0。 教程一:Table & Subject Areas Table是数据库中最基本的物理元素,保持了应用的持久数据。在普通的信息系统数据库结构设计中,有90%的工作是在设计table。而table的字段定义和表间的关系,也反映了整个系统的数据流图和大致的业务流程。 Subject Areas是erwin提供逻辑元素,在实际数据库中并不存在。它的含义是把物理元素和逻辑元素按照实际意义划分成各个主题,在主题域中添加对元素的引用,起到一个按图索骥和目录的作用。有一个缺省的主题域Main Subject Area,所有的元素都会在该主题域中存在。在我本人的设计方法中,我会新建诸如“参数表”,“分户表”,“控制表”,“临时表”,“明细表”,“日志表”和“总帐”等主题域。 下面跟着我的说明,一步一步来设计table: 装好erwin4.0后,打开程序。提示你是创建一个新模型还是打一个已有的,选择创建新模型。在Model Type中选择Physical(物理模型),下面的Target Database默认值就是Oracle8.x,使用默认值,点击OK,创建了一个空白的模型。

Erwin工具使用指南

Erwin工具使用指南(版本号:V 1.0)

文档修订状况

目录 第一章基本概念 (4) 1.1 数据模型(Modal) (4) 1.2 视图 (4) 1.2.1 逻辑视图(Logical) (4) 1.2.2 物理视图(Physical) (4) 第二章操作指南 (6) 2.1 新建模型 (6) 2.2 视图切换 (7) 2.3 新建主题区域 (7) 2.4 切换主题区域 (9) 2.5 编辑主题区域 (10) 2.5.1 选择现有数据实体到指定的主题区域。 (10) 2.5.2 在主题区域新建数据实体 (11) 2.5.3 在主题区域删除数据实体 (12) 2.6 数据实体导航 (13)

第一章基本概念 1.1 数据模型(Modal) 数据模型是数据实体(Entity)和数据实体间的关系(Relationship)总和。可以简单的理解认为数据实体就是对应数据库表,实体间的关系就是表之间的关系。 1.2 视图 Erwin对数据模型提供两种视——逻辑视图、物理视图。 1.2.1 逻辑视图(Logical) 是以业务需求的概念对数据模型进行描述。通俗的说,在逻辑视图中我们可以用中文或描述性的语言来描述数据实体(表)和数据实体的属性(字段)。下面就是一个对车辆信信息实体的逻辑视图。 1.2.2 物理视图(Physical) 物理视图与逻辑视图一一对应,物理视图是针对一种具体的数据库进行逻辑视图的物理映射。通俗的说,在物理视图中我们必须为每一个在逻辑视图中出现的数据实体(表)指定一个可被具体数据库接纳的表名称,譬如我们使用MySQL作为我们的数据库实现,我们就必须为具体的实体指定一个数据库表名(英文单词或词组),同样的对实体属性(字段)的命名也需进行转换,数据类型也需要具体为数据库支持的数据类型。下面就是对应车辆信息实体针对MySQL数据的物理视图。

ERWin简明教程

ERWIN操作手册 操作手册 文档修订 版本日期更改人描述(注明修改的条款或页)V1.0 王朝操作手册 2003年9月8日 山东浪潮齐鲁软件产业股份有限公司 电子政务产品事业部

目录 1.通过Erwin 建立er1文件...........................................................................................................2 2用ERWin 的方法将ERWin 中的表导入到数据库中.................................................................6 3用ERWin 的方法将数据库表结构导入到ERWin 中 (18) Erwin 数据库设计工具 介绍 数据库设计错误将会导致在很长一段时间内不断听到各种抱怨,因此,选择 一个适合的数据库开发工具对数据环境进行规范将非常重要 . Erwin 在物理数据库的生成和反向生成、双向同步和比较功能方面居领先地位 ,可以进行逆向工程、能够自动生成文档、支持与数据库同步、支持 团队式 开发,所支持的数据库多达20多种。 Erwin 数据库设计工具可以用于设 计生成客户机/ 服务器、Web 、Intranet 和数据仓库等应用程序数据库。 1.1.通过通过Erwin 建立er1文件文件 在开始\程序菜单中打开Erwin,在Erwin 主窗口中单击create model 图标弹出如下窗口:

在new model type选项中选择physical项,在database中选择oracle类型,version中选择9.x版本,如下图: 点击ok按钮. 1.1建表

pcb焊盘与孔设计工艺规范

P C B焊盘与孔设计工艺规范 (总13页) -CAL-FENGHAI.-(YICAI)-Company One1 -CAL-本页仅作为文档封面,使用请直接删除

P C B焊盘与孔设计工艺规范1. 目的 规范产品的PCB焊盘设计工艺,规定PCB焊盘设计工艺的相关参数,使得PCB 的 设计满足可生产性、可测试性、安规、EMC、EMI 等的技术规范要求,在产品设 计过程中构建产品的工艺、技术、质量、成本优势。 2. 适用范围 本规范适用于空调类电子产品的PCB 工艺设计,运用于但不限于PCB 的设计、PCB 批产工艺审查、单板工艺审查等活动。 本规范之前的相关标准、规范的内容如与本规范的规定相抵触的,以本规范为准 3.引用/参考标准或资料 TS—SOE0199001 <<电子设备的强迫风冷热设计规范>> TS—SOE0199002 <<电子设备的自然冷却热设计规范>> IEC60194 <<印制板设计、制造与组装术语与定义>> (Printed Circuit Board design manufacture and assembly-terms and definitions) IPC—A—600F <<印制板的验收条件>> (Acceptably of printed board) IEC60950 4.规范内容 4.1焊盘的定义 通孔焊盘的外层形状通常为圆形、方形或椭圆形。具体尺寸定义详述如下,名词定义如图所示。 1)孔径尺寸:若实物管脚为圆形:孔径尺寸(直径)=实际管脚直径+0.20∽0.30mm(8.0∽ 12.0MIL)左右;若实物管脚为方形或矩形:孔径尺寸(直径)=实际管脚对角线的尺寸 +0.10∽0.20mm(4.0∽8.0MIL)左右。 2)焊盘尺寸:常规焊盘尺寸=孔径尺寸(直径)+0.50mm(20.0 MIL)左右。 4.2 焊盘相关规范 4.2.1所有焊盘单边最小不小于0.25mm,整个焊盘直径最大不大于元件孔径的3倍。 一般情况下,通孔元件采用圆型焊盘,焊盘直径大小为插孔孔径的1.8倍以上;单面板焊盘直径不小于2mm;双面板焊盘尺寸与通孔直径最佳比为2.5,对于能用于自动插件机的元件,其双面板的焊盘为其标准孔径+0.5---+0.6mm 4.2.2 应尽量保证两个焊盘边缘的距离大于0.4mm,与过波峰方向垂直的一排焊盘应保证两个焊盘边缘的 距离大于0.5mm(此时这排焊盘可类似看成线组或者插座,两者之间距离太近容易桥连) 在布线较密的情况下,推荐采用椭圆形与长圆形连接盘。单面板焊盘的直径或最小宽度为1.6mm或保证单面板单边焊环0.3,双面板0.2;焊盘过大容易引起无必要的连焊。在布线高度密集的情况下,推荐采用圆形与长圆形焊盘。焊盘的直径一般为1.4mm,甚至更小。

PCB板焊盘及通孔的设计规范

PCB设计工艺规范 1.概述与范围 本规范规定了印制板设计应遵循的基本工艺规范,适合于公司的印制电路板设计。 2.性能等级(Class) 在有关的IPC标准中建立了三个通用的产品等级(class),以反映PCB在复杂程度、功能性能和测试/检验方面的要求。设计要求决定等级。在设计时应根据产品等级要求进行设计和选择材料。 第一等级通用电子产品包括消费产品、某些计算机和计算机外围设备、以及适合于那些可靠性要求不高,外观不重要的电子产品。 第二等级专用服务电子产品包括那些要求高性能和长寿命的通信设备、复杂的商业机器、仪器和军用设备,并且对这些设备希望不间断服务,但允许偶尔的故障。 第三等级高可靠性电子产品包括那些关键的商业与军事产品设备。设备要求高可靠性,因故障停机是不允许的。 2.1组装形式 PCB的工艺设计首先应该确定的就是组装形式,即SMD与THC在PCB正反两面上的布局,不同的组装形式对应不同的工艺流程。设计者设计印制板应考虑是否能最大限度的减少流程问题,这样不但可以降低生产成本,而且能提高产品质量。因此,必须慎重考虑。针对公司实际情况,应该优选表1所列形式之一。 表1 PCB组装形式 组装形式示意图PCB设计特征 I、单面全SMD 单面装有SMD II、双面全SMD 双面装有SMD III、单面混装 单面既有SMD又有THC IV、A面混装 B面仅贴简 单SMD 一面混装,另一面仅装简单SMD V、A面插件 B面仅贴简单SMD 一面装THC,另一面仅装简单SMD

3. PCB材料 3.1 PCB基材:PCB基材的选用主要根据其性能要求选用,推荐选用FR-4环 氧树脂玻璃纤维基板。选择时应考虑材料的玻璃转化温度、热膨胀系数(CTE)、热传导性、介电常数、表面电阻率、吸湿性等因素。 3.2 印制板厚度范围为0.5mm~6.4mm,常用 0.5mm,0.8mm,1mm,1.6mm,2.4mm,3.2mm几种。 3.3 铜箔厚度:厚度种类有18u,35u,50u,70u。通常用18u、35u。 3.4 最大面积:X*Y=460mm×350mm 最小面积:X*Y=50mm×50mm 3.5 在印刷板的上下两表面印刷上所需要的标志图案和文字代号等,例如元件标号和标称值、元件外廓形状和厂家标志、生产日期等等。丝印字符要有 1.5~ 2.0mm的高度。字符不得被元件挡住或侵入了焊盘区域。丝印字符笔划的宽度一般设置为10Mil。 3.6 常用印制板设计数据:普通电路板:板厚为1.6mm,对四层板,内层板厚用0.71mm,内层铜箔厚度为35u。对六层板,内层厚度用0.36mm,内层铜箔厚度用35u。外层铜箔厚度选用18u,特殊的板子可用35u,70u(如电源板)。后板:板厚用3.2mm,铜箔厚度用18u或35u. 对于四层板,内层板厚用2.4mm,内层铜箔用35u。 3.7 PCB允许变形弯曲量应小于0.5%,即在长为100mm的PCB范围内最大变形量不超过0.5mm。 3.8设计中钻孔孔径种类不要用的太多。应适当选用几种规格孔径。 4.布线密度设计 4.1在组装密度许可的情况下,尽量选用低密度布线设计,以提高可制造性。推荐采用以下三种密度布线: 4.11一级密度布线,适用于组装密度低的印制板。特征: 组装通孔和测试焊盘设立在2.54mm的网络上,最小布线宽度和线间隔为0.25mm。 ,通孔之间可有两条布线。 4.12二级密度布线,适用于表面贴装器件多的印制板。特征: 组装通孔和测试焊盘设立在1.27mm的网络上。最小布线宽度和线间隔为0.2mm。

Allegro166焊盘设计详细说明

Allegro16.6 焊盘设计详细说明 1 焊盘(Padstack)设计标准 1.1 电路板的分层结构 电路板的分层结构如下图所示。分为顶层锡膏层(Top solder paste layer)、顶层阻焊层(Top solder mask layer)、顶层(Top copper layer)、内层(Inner copper layer)、底层(Bottom copper layer)、底层阻焊层(Top solder masklayer)、底层 锡膏层(Bottom solder paste layer)。这几层是和制作焊盘有关的,除此之外还有丝印层,他在电路板的最外层,主要是印制元件的标识等。 图 1.1 PCB 板的分层结构及焊盘 顶层锡膏层(Top solder paste)、底层锡膏层(Bottom solder paste)也叫辅助

焊层,是针对表面贴(SMD)元件的,该层用来制作钢膜(片)﹐而钢膜上的孔就对应着电路板上的 SMD 器件的焊点。在表面贴装(SMD)器件焊接时﹐先将钢膜盖在电路板上(与实际焊盘对应)﹐然后将锡膏涂上﹐用刮片将多余的锡膏刮去﹐移除钢膜﹐这样 SMD 器件的焊盘就加上了锡膏﹐之后将 SMD 器件贴附到锡膏上面去(手工或贴片机)﹐最后通过回流焊机完成SMD 器件的焊接。通常钢膜上孔径的大小会比电路板上实际的焊盘小一些。 顶层阻焊层(Top solder mask layer)、底层阻焊层(Top solder masklayer)就是 PCB 板上焊盘(表面贴焊盘、插件焊盘、过孔)外一层涂了绿油的地方,它是为了防止在 PCB 过锡炉(波峰焊)的时候,不该上锡的地方上锡,所以称为阻焊层(绿油层)。Solder 层把 PA D露出来,这就是我们在只显示 Solder 层时看到的小圆圈或小方圈,一般比焊盘大0.1mm 就够了,不能太大,通常比焊盘最大不超过 0.15mm。 顶层(Top copper layer)、底层(Bottom copper layer)这个就是实际焊接元器件和物理布线的板层。 内层(Inner copper layer)是实际的电源布线层和信号线布线层。 BEGINLAYER 层,也就是顶层(Top Layer)。 ENDLAYER 层,也就是底层(Top Layer)。 DEFAULTINTERNAL 层,也就是内层。 正片、负片其实是由生产工艺中的底片成像方式所得的名词,就像电影的胶片是正片,胶片上是什么投到屏幕上就是什么,所见即得;而我们相片的底片是负片,你会发现黑头发在底片上看上去却显示白发(等于没头发),所见却不为得。在PCB 文件中,负片也一样是所见不为所得。在 PCB 设计中,没有布线的地方就要覆铜,像电源层和地层等布线很少的板层就会大量覆铜。覆铜量大非常影响运行速度,比如修改板子观看时的放缩小大等会感到很卡。如果使用正片覆铜,覆铜量就会很大,而反过来用副片覆铜量就会很少。所以负片覆铜的方式我们一般主要用在电源层和地层等需要大量覆铜的板层。 1.2 焊盘的分类 焊盘按其作用分为正规焊盘(Regular Pad)、隔热焊盘(Thermal Relief)、隔离焊盘(Anti Pad)这三类。

allegro焊盘制作方法

Allegro中焊盘的制作方法 在Allegro系统中,建立一个零件(Symbol)之前,必须先建立零件的管脚(Pin)。元件封装大体上分两种,表贴和直插。针对不同的封装,需要制作不同的Padstack。 图1 通孔焊盘(图中的Thermal Relief使用Flash) 1)Regular Pad,规则焊盘。 1 Circle 圆型 2 Square 方型 3 Oblong 拉长圆型 4 Rectangle 矩型 5 Octagon 八边型 6 Shape形状(可以是任意形状)。 2)Thermal relief,热风焊盘。 1 Null(没有) 2 Circle 圆型 3 Square 方型 4 Oblong 拉长圆型 5 Rectangle 矩型

6 Octagon 八边型 7 flash形状(可以是任意形状)。 3)Anti pad,隔离PAD。起一个绝缘的作用,使焊盘和该层铜之间形成一个电气隔离,同时在电路板中证明一下焊盘所占的电气空间。 1 Null(没有) 2 Circle 圆型 3 Square 方型 4 Oblong 拉长圆型 5 Rectangle 矩型 6 Octagon 八边型 7 Shape形状(可以是任意形状)。 要注意的是 (1)负片时,Allegro使用Thermal Relief和Anti-Pad;(VCC和GND层) (2)正片时,Allegro使用Regular Pad。(信号层) 负片的Thermal Relief 负片的Anti-Pad 正片的Regular Pad 4)SOLDERMASK:阻焊层,使铜箔裸露而可以镀涂。 5)PASTEMASK:胶贴或钢网。 6)FILMMASK:预留层,用于添加用户需要添加的相应信息,根据需要使用。 通孔焊盘的设计: (1)打开“Allegro SPB.15.5”—>“PCB Editor Unilities”—>“Pad Designer”

Erwin的使用手册

ERwin的使用手册 1. ERwin简介 ERwin是一个数据库关系实体模型(ER Model)设计工具,与Power Designer(Sybase公司开发)成为最常用的两种数据库设计工具。目前该工具被CA收购,成为CA数据库解决方案中的一个关键部分。与微软的Vision相比,ERwin只能设计er model,而且设计界面选项较多,相对来说并不那么友好,增加了使用的难度。但如果你是一个出色的数据库应用开发者,那你一定会发现ERwin的好处。因为在设计模型层次和复杂度提高以后,visio难以应付众多的数据对象设计和对象之间的关系设计。而且ERwin提供了数据库正向工程、逆向工程和文档正向工程功能,可以把设计直接实施到数据库后者把数据库中的对象信息读到ERwin设计中,也可以生成设计文档,格式还可以自动定义。在本教程中,将告诉大家我是怎样简单的使用ERwin来进行数据库设计的。这里强调了简单二字,就是说有很多只有20%机会用到的80%的功能本教程是不会介绍的。本文用到的ERwin版本是4.0。 2.ERwin使用 2.1正向工程 ⑴新建文件,如图1所示: 图1 Logical:只创建逻辑模型 Physical:只创建物理模型 Logical/ Physical:二者均可创建

⑵假设创建逻辑模型,可选择Logical,如图2所示: 工 绘图区 图2 常用的有以下几种: :用于移动; :用于创建实体。 :用于“Complete sub-category” :用于连接。“Identifying relationship”,即为标值关系。注意:先点的为被引用的表,后点的为引用的表。 :用于多对多连接。“Many-to-many relationship”注意:先点的为被引用的表,后点的为引用的表。 :用于连接。“Non- identifying relationship”,即为非标值关系。注意:先点的为被引用的表,后点的为引用的表。

pcb焊盘设计规范(完整资料).doc

【最新整理,下载后即可编辑】 注:以下设计标准参照了IPC-SM-782A标准和一些日本著名设计制造厂家的设计以及在制造经验中积累的一些较好的设计方案。以供大家参考和使用(焊盘设计总体思想:CHIP件当中尺寸标准的,按照尺寸规格给出一个焊盘设计标准;尺寸不标准的,按照其物料编号给出一个焊盘设计标准。IC、连接器元件按照物料编号或规格归类给出一个设计标准。),以减少设计问题给实际生产带来的诸多困扰。 1、焊盘规范尺寸: 规格(或物料编 号) 物料具体参数(mm) 焊盘设计(mm) 印锡钢网设计印胶钢网设 计 备注 01005 / / / / 0201 (0603) a=0.10±0.05 b=0.30± 0.05,c=0.60±0.05 / 适用与普通 电阻、电容、 电感 0402 (1005) a=0.20±0.10 b=0.50± 0.10,c=1.00±0.10 以焊盘中心为 中心,开孔圆 形D=0.55mm 开口宽度 0.2mm(钢网 厚度T建议厚 度为0.15mm) 适用与普通 电阻、电容、 电感 【最新整理,下载后即可编辑】

0603 (1608)a=0.30±0.20, b=0.80± 0.15,c=1.60±0.15 适用与普通电阻、电容、电感 0805 (2012)a=0.40±0.20 b=1.25± 0.15,c=2.00±0.20 适用与普通电阻、电容、电感 1206 (3216) a=0.50±0.20 b=1.60± 0.15,c=3.20±0.20 适用与普通 电阻、电容、 电感 1210 (3225) a=0.50±0.20 b=2.50± 0.20,c=3.20±0.20 适用与普通 电阻、电容、 电感 【最新整理,下载后即可编辑】

Allegro 中封装焊盘命名规则设计方法

Allegro 中封装焊盘命名规则及设计方法 本文档主要目的是: 1.对目前所制作使用的焊盘库进行规范、整理,以便焊盘 一.对编辑焊盘的界面进行介绍 1. Allegro SPB 15.5\Pcb Edit Utilities\Pad Designer进入,如下图(1)所示 图(1) Type栏:定义设计焊盘的类型 ·Through----表示设计插针焊盘 ·Blind/Buried----表示设计盲/埋孔 ·Single----表示设计贴片式焊盘 Internal layers栏:控制单一的没与任何其它网络连接的焊盘在出内层Gerber时的输出方式·Fixed---锁定焊盘,在输出内层Gerber时不能设置单一焊盘的输出方式,会按照本来面貌输出 ·Optional----允许在输出内层Gerber时通过设置Artwork Control Form中Film Control栏的Suppress Unconnected pads来控制单一焊盘的输出方式

Untis栏:单位及精度选择 ·Untis----有五种单位选择,Mils(千分之一寸)、Inch(英寸)、Millmeter(毫米)、Centimeter (厘米)、Micron(微米) ·Decimal places---测量单位精度设定 Multiple drill栏:当焊盘中有多个孔时需设置此项 Drill hole栏:插针式焊盘的钻孔孔径及是否电镀的设置 ·Plating type----插针式焊盘是否电镀。点下拉菜单,plated(电镀)、Non-Plated(非电镀)、Optional(默认值) ·Size----插针式焊盘的钻孔孔径 ·Offset X:为0 ·Offset Y:为0 Drill symbol栏:设置钻孔符号及符号大小,不同孔径的孔所用的Drill symbol要不同·Figuer----设置钻孔符号,点下拉菜单,有十四种符号供选择 ·Circle圆形 ·Square正方形 ·Hexagon X六角形(横) ·Hexagon Y六角形(直) ·Octagon八角形 ·Cross 十字形 ·Diamond 鑽石形 ·Triangle 三角形 ·Oblong X 椭圆形(横) ·Oblong Y 椭圆形(直) ·Rectangle 长方形 ·Character---设置钻孔标示字符串 ·Width---设置符号的宽度 ·Height---设置符号的高度 2.打下焊盘编辑器,所图(2)所示: ·Thermal relief:热涨缩间隙,常用于相同NetList的填充铜薄与PAD的间隙 ·Anti Pad:抗电边距,常用于不同NetList的填充铜薄与PAD的间隙。 ·SolderMask:阻焊层,使铜箔裸露而可以镀涂。通常比焊盘大5mil ·PasteMask:胶贴或刚网层。设计大小与焊盘相同 ·Flash:Pad面的一种,只在负片层(除非不想使用自动布线)里显示。对于异形盘(如图2.1与2.2所示)可以先用AutoCAD先做外形,再DXF导入Allegro,在Allegro中使用Compose Shape功能填充,然后删除cline边界线,再把Shape移到正确的位置,更改文件类型为flash,存盘即可。 图(2.1)图(2.2)

相关主题
文本预览
相关文档 最新文档