SciTech-EECS-电路设计- PCB设计-AD软件的“原理图绘制” 与 导出到“PCB编辑器”
原理图的绘制及检查
- 在绘制原理图前, 必须确认所有 Components(元器件) 的Symbol(原理图符号封装)和 PCB Package(PCB封装)都已可用。
- 如果AD软件或第三方没提供设计所需 Components 的完整封装,
则设计者在绘制原理图前, 要定制没有提供的Components 的完整封装. - 如果 Altium、第三方 或者设计者已提供设计所需元器件的“完整模型”,
将这些Components(元器件)的Model(模型)添加到AD软件的“库管理器”。
- 如果AD软件或第三方没提供设计所需 Components 的完整封装,
绘制原理图
绘制原理图的过程, 不仅要考虑电子系统本身的原理,还要考虑后续PCB绘制。
以下给出在绘制原理图过程需要考虑的因素:
- 一些 Components(元器件) 的 Parts 和 Pins 是需要设计者根据需求进行分配的. 例如 功能强大的 MCU/FPGA/DSP/CPU,包含许多的 Parts(部分) 和 Pins(引脚). 所以在分配 Parts 与 Pins 的过程, 一定要考虑到PCB布线是否方便,这种分配过程尽量一次成功.
- 可能需要多次修改原理图连线, 这其实是在考量设计人员系统规划设计的能力.
这种“系统及规划设计”的能力,可通过用心多学多练才能稳步提高。 - 要对每张“Sheet(设计图纸)”进行清晰的标注. 首先可以避免失误,其次最终的原理图交给其他设计者对设计参考或检查时, 都收到清晰、明确、一致、统一、易于识别与交流的设计结果。
原理图的设计规划
可以将大型电子系统的设计原理图,分成“数个Sheet(图纸, 小系统)” , 一一绘制Sheet.
整体的Sheet(图纸)划分原则是, 每一张Sheet(图纸)“对其系统的描述”:
- 不能太复杂, 如果太复杂, 容易使设计出现问题。
- 不能过简单, 不然增加绘制图纸的数量, 多张图纸之间的网络连接会变得非常复杂,
并且对检查图纸的人员,会增加理解和检查错误的难度. - 所以在绘制原理图时,需要系统规划设计.
- 原理图的绘制尽量一次交付。
添加与绘制Sheets(设计图纸)
首先需要根据设计要求确定,设计所需要的总的Sheet(设计图纸)数量,
在每添加一张Sheet(设计图纸)前,设计的都要明白其需要绘制"整个电子系统"的"哪个部分",
在绘制原理图的过程, 不需要一次就添加完所有的Sheet(图纸,也可以根据设计需要增减图纸.
以上就可以规划好,将“大型电子系统的设计原理图”分成“数个Sheet(图纸)”实现。
以下是添加Sheet(设计图纸)的步骤:
- 新增图纸:
AD软件主界面菜单, 选择“File -> New -> Schematic”,
自动生成名称为 “Sheet1.SchDoc”的Sheet(图纸),
可以参考“优秀设计者”或“著名厂商”的,电路设计图纸的“右下角”给出的参数,
选择和设计合适的图纸参数。 - Sheet(图纸)上“Place(放置)” Component(元器件)的 Symbol(原理图符号):
在 Sheet 上 place(放置) Component(元器件)的 Symbol(原理图符号),
按照以下步骤,完成“大型电路系统”所有Sheets(图纸)的设计。- “新增或打开”规划好的所有Sheet(图纸),
- 然后拉入其 Parts(已设计好) 并放置好,
- 导入需要的Symbol(原理图符号), 然后放入Sheet(图纸)的合适位置。
- 放置电路设计的“network name(网络名称)”或 连接好已有的“network(网络)**
- 完事保存Sheet(图纸)。
以“先前新增的Sheet1”为例:
- 打开名称为 Sheet1 的“原理图文件”
- 在 AD软件的“库管理器”上找到名称为 SpititLevel_2E.SchLib 的原理封装库。
选择该库,找到名称为“XC2S300E-6PQ208C”的“元器件原理图封装”. - 将在“库管理器”已安装好的 PART A、PART B、… 分别拉入 Sheet1(图纸)的合适位置.
- 如需导入Symbol(原理图符号), 可选择" Design -> Create Sheet Symbol From Sheet "生成,
然后放入Sheet(图纸)的合适位置。 - 放置电路设计的“network name(网络名称)”或 连接好已有的“network(网络)。
- 保存设计的Sheet1(图纸).
连接Symbols(原理图符号)
- 必须预先严格设计指标和要求,将Symbols(原理图符号)都连接好。
- 在以上 “添加与绘制Sheets(设计图纸)”,
通过 Network Identifier(网络标号) 和 “连线”,
实现“原理图内”元器件 和“跨页”原理图元器件 之间的连接。 - 连接Symbols(原理图符号)的步骤主要包括:
- 打开名称为 Sheet1 的“原理图文件”.
- 通过Network Identifier(网络标号) 和 “连线” 完成连线。
- 在对应的“连线”上给出“Network Identifier(网络标号)”。
用来表示“原理图”的每个电路“network网络”的Connections(连接关系)。 - 保存已设计好的 Sheet1 “原理图文件”。
通过以上“添加与绘制Sheets(设计图纸)”和 连接Symbols(原理图符号) 两步
可使“整个电路系统”都设计好,并且连接好电路 Networks(网络 ).
检查原理图设计
将“原理图设计”导入“PCB布局”工具前,需要对原理图设计进行检查,
-
查验Project 的 Sheets(图纸) 及其 Components 和 Networks:
在AD软件主界面" 右下方" 单击Panels按键, 出现快捷菜单, 选择"Navigator",
在AD软件主界面"左侧"出现"Navigator"窗口.
在"Documents for PCB_Project1.PrjPCB" 窗口下, 当选择一张Sheet(图纸)时,
在"Instance"窗口, 就会列出该Sheet(图纸)的所有Components(元器件),
选择并展开某一个"Component",可看到与其连接的所有network(网络)。 -
“原理图编译器”的选项:
在对“原理图设计”编译前,必须配置好Project的选项,
配置"原理图编译器"选项 的步骤主要包括:- AD软件主界面菜单, 选择"Project ->Project Options", 打开"项目选项"对话框.
- 在"对话框"上选择Options标签, "Net Identifier Scope"栏的列表框选择
Global(Netlabels and ports global), 单击OK按钮.
同理可按需配置其他Project Options("Error Reporting", "Connection Matrix", ...)
-
AD软件对"原理图设计"进行"Compiling" 可检查错误(逻辑、绘图 和 电气)。
-
AD软件的主界面菜单, 选择“Project -> Validate PCB Project”,
或连续按两次“C键”可以执行对“原理图设计”的检查。 -
对“PCB项目工程”进行编译后,
- 如果设计存在问题, 则自动弹出"Messages"对话框,
在这个窗口"双击"某个Error或Warning, 就可直接跳到该Error或Warning。 - 如果没有出现"Messages"对话框, 可在AD软件主界面的"右下方"单击"System"标签,
出现"快捷菜单", 选择"Messages",就可以弹出"Messages"对话框.
- 如果设计存在问题, 则自动弹出"Messages"对话框,
-
编译"原理图设计"时,系统建立"原理图设计"的一个"Connections Model(连接模型)",
这个"连接模型",可看作是一个"Internal NetList(内部网表),
通过这个Internal NetList(内部网表)可浏览"本原理图设计"设计的"连接结构".
导出设计好的“原理图”至“PCB编辑器”
用 Synchronizer(同步器) 或 NetList(网表) 将"原理图设计"导入"PCB编辑器".
设置"导入PCB编辑器"的Project Options(项目选项)
AD软件提供大量设置, 用于控制在 "原理图设计" 和 "PCB布局" 之间的数据传输.
设置 "导入PCB编辑器" 的Project Options(项目选项),主要步骤包括:
- AD软件主界面菜单, 选择"Project ->Project Options", 打开"项目选项"对话框.
- 在"对话框"上部的"标签栏"选择"Comparator", 默认设置, 是打开所有选项.
对一些设计, 不想为"每一个原理图"创建"Place Rooms", 就可修改对应设置.
用 Synchronizer(同步器) 将 原理图设计 导入 PCB编辑器
使用AD软件的 "PCB编辑器" 进行"PCB的布局和布线",
则在 "原理图" 和 "PCB编辑器" 之间 "双向传递设计信息" 的最好方法,是
使用 Synchronizer(同步器, 不必在原理图内创建NetList并将其加载到PCB设计).
通过使用Synchronizer将 原理图设计 导入 PCB编辑器 的主要步骤有:
- 进入原理图编辑器界面,
AD软件主界面菜单, 选择"File->New->PCB",生成一个名称为:
PCB1.PcbDoc的"PCB设计文件", 将其保存为名称为fpga system.PcbDoc。 - AD软件主界面菜单, 选择
"Design->Update PCB Document fpga system.PcbDoc" 将启动同步过程. - 将出现"Engineering Change Order(工程修改顺序)" 对话框,
该界面给出了"不同的Object(对象)" 和 "将对其执行的操作",
单击对话框下方的"Execute Changes(执行变化)按钮. 过一小段时间,
软件执行完将"原理图设计"导入"PCB编辑器"的处理流程。
点击以上对话框的"Close按钮"。
此时可以看到“原理图设计”导入“新增的空白PCB编辑器”已成功.
用 NetList(网表) 实现不同的设计之间的数据交换
仅作为理解AD软件的原理:
Altium不推荐使用NetList(网表)方式将原理图设计导入PCB编辑器.
NetList(网表)方式(有Spice标准), 是EDA软件用于交换不同信息的重要方法和手段.
NetList(网表)有Spice标准保障, 是ASCII编码的文本文件,
它包含了"原理图"定义的 "元器件" 及其 "连接信息",
用NetList(网表)可以将 "元器件"及其"连接信息" 导入其他EDA设计工具。
并且NetList(网表)还包含了来自"供应商"的"PCB设计封装",
因此,就可以使用NetList(网表)将"原理图"导入AD软件的"PCB编辑器"。
但是,由于NetList(网表)不包含"唯一"的"元器件ID",
所以使用NetList(网表)是一个深层次的“设计数据”传输方法。
大多数情况应使用Synchronizer, 而不是使用NetList(网表)加载"原理图设计".
但是,加载由"其他EDA厂商"的"原理图编辑器"完成的"原理图设计",
则必要使用NetList(网表),通过使用 "difference引擎" ,
将NetList(网表)内的Components(元器件)及其"连接信息" 与 PCB进行比较.
以下是生成“原理图设计”的“NetList(网表)” , 并加载“NetList(网表)”的步骤:
- 任意打开一个原理图界面。
- AD软件主界面菜单, 选择 "Design->NetList for Project->Protel" *
- AD软件主界面菜单, 选择 "Project->Show Difference"
- 将出现 "Choose Documents To Compare"(选择比较文档)界面,
在此界面的:- 左下角选取 "Advanced Mode"(高级模式) 选项。
- "左侧" 文件列表 选择 "SL_FPGA_Auto_2E.NET" 网表文件,
- "右侧" 文件列表 选择 "fpga_system.PcbDoc",
- 点击"OK"按钮,将出现“匹配失败”对话框,
表示“使用唯一的标识符”匹配失败。 - 单击 "匹配失败" 对话框的 "Automatically Create Component Links"按钮,
可用于匹配其余的Components(元器件).