首页资源分类PCB layout > Altium Designer10教程

Altium Designer10教程

已有 445463个资源

下载专区

上传者其他资源

    文档信息举报收藏

    标    签:AltiumDesigner10教程

    分    享:

    文档简介

    Altium Designer10教程

    文档预览

    Day1 Module 3: Schematic Editor Basics 0-1 1, Altium 历史,以及产品介绍 (20 minutes) 1.1 Altium 历史介绍 .............................................................................................. 1-1 1.2 Altium Designer 介绍...................................................................................... 1-2 1.3 公司理念 ...................................................................................................... 1-6 2, DXP 系统平台介绍 (5 minutes) 2.1 项目以及工作区介绍....................................................................................... 2-1 2.2 DXP 系统菜单............................................................................................... 2-10 3, Altium Designer 设计环境 (30minutes) 3.1 文档编辑器总览 .............................................................................................. 3-1 3.2 练习-Altium Designe 导航系统 ..................................................................... 3-4 4, Altium 免费资源,支持及帮助中心 (15 Minutes) 4.1 免费网络培训.................................................................................................. 4-1 4.2 中文论坛 ......................................................................................................... 4-2 4.3 网络培训中心及知识中心 ............................................................................... 4-8 4.4 支持中心 .................................................................................................... 4-15 5, 从 PROTEL 到 Altium Designer (30minutes) 5.1 Protel 99SE 与 Altium Designer ..................................................................... 5-1 5.2 Protel 99SE 导入向导 ......................................................................................... 5.3 练习-导入 99SE 的 DDB 文件 ........................................................................ 5-9 6, 原理图编辑基础 (30 minutes) 6.1 视图命令 ......................................................................................................... 6-1 6.2 选择 ................................................................................................................ 6-4 6.3 其他鼠标行为.................................................................................................. 6-4 6.4 练习-原理图编辑器基础 ............................................................................... 6-4 7, 原理图绘图工具以及电气连接工具 (20 minutes) 7.1 原理图绘图工具 .............................................................................................. 7-1 7.2 电气连接工具 ................................................................................................. 7-1 8, 创建第一张原理图 (1 hour) 8.1 原理图编辑器工作区设置 ............................................................................... 8-1 8.2 集成库概念介绍 .............................................................................................. 8-4 8.3 库与元件的装载及浏览 ................................................................................... 8-4 8.4 元件放置及原理图连线 ................................................................................... 8-4 8.5 智能粘贴 ......................................................................................................... 8-4 8.6 设计复用 .............................................................................................................. 9, 全局编辑 (45 Minutes) 9.1 DXP 数据编辑系统 .............................................................................................. 9.2 全局编辑实例 ...................................................................................................... 10, 完成设计项目 (45 Minutes) Module 3: Schematic Editor Basics 0-2 10.1 10.2 10.3 多层次设计介绍 ................................................................................................... 构建完整的项目 ................................................................................................... 元件标注 11, 项目编译及验证 ( 45 minutes) 11.1 设置设计编译选项 ........................................................................................ 11-1 11.2 系统消息框及错误查找 ................................................................................. 11-3 12, 集成库概念介绍 (45 minutes) 12.1 集成库模型介绍 ............................................................................................ 12-1 12.2 Libpkg, intlib, dblib, svnlib 库类型介绍 ......................................................... 12-1 Module 3: Schematic Editor Basics 0-3 1. Altium 历史,以及产品介绍 (20 minutes) 1.1 Altium 历史介绍 Altium(前身为 Protel 国际有限公司)由 Nick Martin 于 1985 年始创于塔斯马尼亚州霍巴 特,致力于开发基于 PC 的软件,为印刷电路板提供辅助的设计。最初的 DOS 环境下的 PCB 设计工具在澳大利亚得到了电子业界的广泛接受,在 1986 年中期,Altium 通过经销商将设计 软件包出口到美国和欧洲。随着 PCB 设计软件包的成功,Altium 公司开始扩大其产品范围, 包括原理图输入、PCB 自动布线和自动 PCB 器件布局软件。 80 年代晚期,Altium 公司意识到在开发利用 Microsoft Windows 作为平台的电子设计自动 化 EDA 软件方面存在商机。虽然 Windows 平台在处理性能和可靠性上取得了进步,但当时很 少有用于 Windows 平台的 EDA 软件,而当时越来越多的设计工程师使用基于 Windows 的操作 系统。于是,在 1991 年 Altium 公司发布了世界上第一个基于 Windows 的 PCB 设计系统, Advanced PCB。在后来几年里,凭借各种产品附加功能和增强功能所带来的好处,Altium 建 立了具有创新意识的 EDA 软件开发商的地位。 1997 年,Altium 公司认识到越来越需要把所有核心 EDA 软件工具集中到一个集成软件包 中,从而可以实现从设计概念直到生产的无缝集成。因此 Altium 发布了专为 Windows NT 平台 构建的 Protel98,这是首次将所有 5 种核心 EDA 工具集成于一体的产品,这 5 种核心 EDA 工 具包括原理图输入、可编程逻辑器件(PLD)设计、仿真、板卡设计和自动布线。随后在 1999 年 又发布了 Protel 99 和第二个版本 Protel 99 SE,这些版本提供了更高的设计流程自动化程度, 进一步集成了各种设计工具,并引进了“设计浏览器”平台。设计浏览器平台允许对电子设计的 各方面——设计工具、文档管理、器件库等——进行无缝集成,它是 Altium 建立涵盖所有电子 设计技术的完全集成化设计系统理念的起点。藉此,Altium 公司成功进行首次公开募股 (IPO),于 1999 年 8 月在澳大利亚股票市场上市。所筹集的资金用于在 2000 年 1 月收购适 当的公司和技术,包括收购 ACCELTechnologies 公司、Metamor 公司、Innovative CAD Software 公司和 TASKING BV 公司等。拥有了这些技术,Altium 公司终于在 2000 年进入 FPGA 设计和综合市场,并于 2001 年进入嵌入式软件开发市场。 为了更好的反映公司是在嵌入式领域、FPGA 设计领域以及 EDA 市场拥有多个品牌的新 的市场地位,Protel International 公司在 2001 年 8 月 6 日正式更名为 Altium 有限公司。新公 司的名称可以代表所有产品品牌,并为未来发展提供一个统一的平台。 Altium 公司致力于产品开发,并为工程师提供帮助他们实现目标的最佳设计工具,这是公 司成功的关键。2002 年,Altium 公司重新设计了设计浏览器(DXP)平台,并发布第一个在新 DXP 平台上使用的产品(Protel DXP)。Protel DXP 是 EDA 行业内第一个可以在单个应用程 序中完成整个板设计处理的工具。如今,公司总部位于澳大利亚悉尼的 Frenchs Forest 区,在 Module 3: Schematic Editor Basics 0-4 悉尼和欧洲进行研发。公司在澳大利亚、美国、日本、中国和欧洲设有多个销售与支持办事 处,在其他许多主要市场,包括中国、印度、英国等地拥有代理销售网络。Altium 公司的客户 包括 IBM、NASA、Motorola、Hewlett-Packard、Canon、Fujitsu、Bosch、Siemens、 Delphi、NEC、Sony、BMW、Alcatel、Daimler-Benz、Philips、CSIRO、Nokia 以及 Telstra 等公司。Altium 公司的行业合作伙伴包括 Mitsubishi、Infineon、Intel, STMicroElectronics、 Atmel、 Analog Devices 和 Philips 等。 Altium 公司目前的生产线包括:Altium Designer、P-CAD、TASKING 和一系列用于交互式 FPGA 设计的硬件产品,如 NanoBoard2。 1.2 Altium Designer 产品介绍 Altium Designer 基于一个软件集成平台,把为电子产品开发提供完整环境所需的工具全部整合 在一个应用软件中。 Altium Designer 包含所有设计任务所需的工具:原理图和 HDL 设计输入、电路仿真、信号完整 性分析、PCB 设计、基于 FPGA 的嵌入式系统设计和开发。另外可对 Altium Designer 工作环境加以 定制,以满足用户的各种不同需求。 1.2.1 Altium Designer 集成平台 当您执行菜单命令[开始]-[所有程序]-[Altium Designer]启动 Altium Designer 时,您实际在启动 DXP.EXE 文件。Altium Designer 基于 DXP 平台,支持创建设计时使用的各种编辑器。 应用界面通过自动配置来适应正在处理的文件。例如,打开原理图时,将激活相应的工具栏、 菜单和快捷键。此性能意味着您可以随意在 PCB 布线、物料清单编制、瞬态电路分析和其它操作之 间进行切换,当前菜单、工具栏和快捷键始终保持可用。 另外还可根据您的偏好对所有工具栏、菜单和快捷键进行配置。 Module 3: Schematic Editor Basics 0-5 图 1. Altium Designer 的软 件集成构架’ 1.2.2 用于 FPGA 及嵌入式智能设计的硬件平台 图 2 可重构的硬件验证平台 NanoBoard2 Module 3: Schematic Editor Basics 0-6 图 2 所示,为配合 Altium Designer 软件进行 FPGA 以及嵌入式智能设计的可重构的硬件验证 平台。该验证平台与 Altium Designer 一起组成了可进行实时设计 Live Design 的创新平台 Innovation station。在这个创新平台下,设计者可进行 FPGA 以及嵌入式软件的设计,调试以及验 证。可重构的硬件验证平台 NanoBoard2 可以通过可插拔的 FPGA 子板支持独立于各 FPGA 源厂商 的设计,设计成果可选择下载到不同的 FPGA 厂商的不同芯片中去。NanoBoard2 周围的可插拔的 外设板可以按照设计者的需要进行配置,实现可重构的硬件验证平台的功能。 1.3 公司理念 "Historically, the most advanced, state of the art design tools have been prohibitively priced, with access being limited to engineers based in the few companies that could afford them. The Altium vision – unchanged since the company’s inception – is to break down these barriers to innovation and technological advancement and provide every engineer and system designer with easy access to the best possible design tools.“——Nick Martin, Founder & Joint CEO “长久以来,大多数高端的设计工具以其昂贵的价格,限制了工程师只能在少数公司中使用。 而 Altium 公司一贯的理念就是打破传统的价格束缚,以先进的技术为广大工程师及系统设计人员提 供最适合的设计工具。” Innovation 的概念。Altium 的 Altium Designer 设计软件致力于革新的电子产品设计平台,为广 大的工程师提供统一的一体化的电子设计环境,让工程师们集中精力于推出不断创新的下一代电子 产品。 Module 3: Schematic Editor Basics 0-7 2. DXP 系统平台介绍 (5 minutes) 当你从开始菜单选择 Programs » Altium » Altium Designer 运行软件时实际是运行 DXP.EXE。Altium Designer 下的 DXP 平台可以使各位工程师完成你们的设计,应用接口自动地配 置成适合您工作的文本。例如,当你打开一张原理图文件,工具栏、菜单和快捷键都被激活。这个 功能意味着当你设计 PCB、生成 BOM 表、电路仿真等工作的时候与之相关的工具栏菜单和快捷键 都将被激活。 所有的工具栏、菜单和快捷键也可以被用户自定义为自己熟悉的排列方式。 图 3 Altium Design 的软件集成结构 ƒ一个项目 ƒ设计文件 ƒ输出文件 ƒ库文件 图 4 项目结构图 Module 3: Schematic Editor Basics 0-8 图 4 所示为一个完整的项目结构图,一个项目可以包含多个设计文件,包括原理图设计文件, PCB 设计文件等等。同时还包含有项目输出文件,以及设计中所用到的库文件。 2.1 项目以及工作区介绍 z 项目是每项电子产品设计的基础。 z 项目将设计元素链接起来,包括源原理图、PCB、网表和欲预保留在项目中的所有库或 模型。 z 项目还能存储项目级选项设置,例如错误检查设置、多层连接模式和多通道标注方案。 z 项目共有 6 种类型 – PCB 项目、FPGA 项目、内核项目、嵌入式项目、脚本项目和库封 装项目(集成库的源)。 z Altium Designer 允许您通过 Projects 面板访问与项目相关的所有文档。 z 还可在通用的 Workspace(工作空间)中链接相关项目,轻松访问与您公司目前正在开 发的某种产品相关的所有文档。 z 在将如原理图图纸之类的文档添加到项目时,项目文件中将会加入每个文档的链接。这 些文档可以存储在网络的任何位置,无需与项目文件放置于同一文件夹。若这些文档的 确存在于项目文件所在目录或子目录之外,则在 Projects 面板中,这些文档图标上会显 示小箭头标记。 2.2 DXP 系统菜单 DXP 的系统菜章提供了配置软件环境的命令,你可以用选中左上角主菜单旁边的 DXP 图标使 用这些命令,DXP 按钮在任何工作界面都可以找到。 图 5 在 DXP 菜单下配置设计环境 接下来一节将描述 DXP 系统菜单的定义。 2.2.1 定制 菜单对当前工作界面相关联的资源进行管理。 Module 3: Schematic Editor Basics 0-9 2.2.2 Preferences 参数选项 不同的全局系统参数可以在 DXP 环境下被定义,包括资料备份和自动保存,系统字体的使用, 工程面板的显示,环境查看参数包括弹出和隐藏面板,使能版本控制接口。在 Altium Designer 下, 也可以为每一工作界面设置不同的参数设计,例如原理图设计和 PCB 设计,设定 Altium Designer 环境参数,选择 DXP 菜单下的 Preferences 选项,这将会弹出图 6 的参数设置对话框。 图 6 参数设置对话框,用于配置 Altium Designer 和所有工作界面的参数 Altium Designer 支持两种文件自动备份模式: z Backup-on-save—保存一个备份,无论初始用户是否执行保存的动作(默认),这些 文件将保存在历史文件夹中。默认值是建立一个历史文件夹在当前激活的项目文件夹 下,去配置一个可选的中央文件夹,来打开参数对话框中版本控制的本地历史页。历史 文件显示在 Storage Manager 面板上的历史部分中。 z Timed backup—在所有打开的文档里,在固定的时间间隔下自动保存文件,自动保存 的设定,例如文件的数量和保存的频率,可以在 DXP 系统下的参数选项对话框中的 Backup 页中被配置。 两种备份模式都支持多重拷贝,命名使用的惯例:原始文件名.~(保存的数量).文档扩展名.Zip 备 份的文件会被自动压缩以减少文件的体积。 Module 3: Schematic Editor Basics 0 - 10 2.2.3 运行进程 从 DXP 系统下选择 Run Process 命令按钮,可在 Run Process 对话框里,允话你运行任何的 进程。 2.2.4 注册 从 DXP 系统下选择 Licensing 命令可以显示 Licensing View,在这里你可以选择或是配置许可 的类型—网络版或者单机版。 2.2.5 脚本运行和脚本运行调试器 在 Altium Designer 中包含了一个强大的脚本系统,支持类似 Windows 平台下的 VB 脚本语言 和 Java 脚本语言的内嵌 DelphiScript 语言。 内嵌的 DelphiScrip 脚本语言像一个 Pascal 语言一样。它是一个完整的设计接口组织,允许快 速创建对话框。 选择 Run Script 选项会弹出 Select Item to Run 对话框,选中脚本的名字可执行在当前文档上 的脚本。 选择 Run Script Debugger 将打开脚本调制器,你可以在这里设置断点、脚本单步执行等等。 在 Knowledge Center 面板里的 Configuring the System 文件下有更多关于 Scripting 的脚 本设置文件介绍。 2.2.6 练习—配置 Altium Designer 系统的参数选项 1. 打开 DXP 参数选项对话框,选中对话框中的不同选项,去了解什么选项可被设置,修改后 的原理图和 PCB 工作界面选项在以后的课程中将会被重新覆盖。 2. 在 Preferences 对话框中的 View 页面取消 Use animation 功能,减少 Hide delay 选项。 3. 关闭参数项页面 4. 把鼠标放在工作区的右手边上的 Libraries 标签上,将看到弹出的面板如何受到影响,然 后鼠标移开 Libraries 面板验证 hide delay。 Module 3: Schematic Editor Basics 0 - 11 3. Altium Designer 设计环境 (30minutes) Altium Designer 操作环境由两个主要部分组成: z Altium Designer 主要文档编辑区域,如图 7 右边所示。 z Workspace 面板。Altium Designer 有很多操作面板,默认设置为一些面板放置在应用程 序的左边,一些面板可以弹出的方式在右边打开,一些面板呈浮动状态,另外一些面板 则为隐藏状态。 打开 Altium Designer 时,最常见的初始任务显示在特殊视图 Home Page 中,以方便选用。 DXP System Menu Use this menu to set up system preferences and customize the environment. All other menus and toolbars automatically change to suit the document being edited. Document bar A tab appears for each open document. View Navigation Click on the arrows to go back and forth between views. Workspace panels More pop out panels are displayed by clicking on these tabs. These panels can also be moved, docked or clipped. Workspace panels These include Files and Projects panels. These panels can be moved, docked or clipped by clicking on the panel title and dragging it to a new location. Click on the tab at the bottom of the panel to display its contents. Home Page Design View Common tasks are listed to get started quickly. Panel Control Editor specific and shared panels can be displayed using these Panel buttons. Figure7. Altium Designer, DXP Home Page 已打开. 注意:要移动单个面板,请单击并按住面板名称。要移动一套面板,请单击并按住面板标题 栏,将其拖离面板名称。要避免面板重叠,请按住 CTRL 键。要将面板悬停模式更改为弹出模式, 请单击面板顶部的管脚小图标;要恢复悬停模式,请再次单击管脚图标。 3.1 文档编辑器总览 不同种类的文档在相应的文档编辑器中进行编辑,例如 PCB 文档使用 PCB Editor 编辑、原理图 文档使用 Schematic Editor 编辑、VHDL 文档使用 VHDL 编辑器编辑。图 8 为在 Schematic Editor 中 打开原理图文档进行编辑。 Module 3: Schematic Editor Basics 0 - 12 图 8. 打开准备在 Schematic Editor 视图中编辑的原理图文档. 3.1.1 文档栏中的文档标签 打开的文档在应用程序顶部都分配有一个标签。单击相关标签可显示该文档并使其处于活动状 态以便于编辑 图 9. 标签显示了打开的各种文档,注意 PCB 标签高亮显示表示当前正在编辑该文档. 文档栏的右键菜单 z 右键单击文档栏的任何文档标签。 z 从出现的浮动菜单中选择 Tile All。所有打开的文档将平铺在多项窗口区域中。 注意:区域的数量取决于打开文档的数量。 z 右键单击文档标签。 z 选择 Close。 z 将鼠标指针置于两个分割窗口的交汇处,将显示双箭头图标。单击并拖动可调整尺寸。 z 右键单击平铺窗口中的任一标签,并选择 Merge All。请注意您已将分割窗口还原为单 一视图。 注意:Altium Designer 支持多个显示器。若您的 PC 具有多个显示器,您可右键单击文档,使 用 Open in New Window 命令打开另一个 Altium Designer 应用程序,然后在第二个显示器上操作。 Module 3: Schematic Editor Basics 0 - 13 3.2 练习-Altium Designe 导航系统 3.2.1 使用 Projects 面板 1. 打开 4 Port Serial Interface.PRJPCB,文件目录为 \Altium Designer 6\Examples\Reference Designs\4 Port Serial Interface 文件夹。 2. 导航树内容。 3. 双击打开 Projects 面板中的单个文档。 4. 双击打开 Projects 面板中更多一些文件。 3.2.2 Design Window navigation 1. 右键单击文档栏上的文档标签,选择 Tile All。 2. 单击并拖动任一文档标签,将其拖放到另一文档标签的旁边。 3. 右键单击多个窗口中的任一标签,并选择 Merge All。 4. 逐项关闭打开的文档。 注意:文档栏中标签的行为都由 Preferences 对话框中 System – View 页面上的选项控制。 Module 3: Schematic Editor Basics 0 - 14 4. Altium 免费资源,支持及帮助中心 (15 Minutes) 4.1 免费网络培训 每周我们有定期的免费网络培训,针对 Altium Designer 中每一个功能有一个主题。在网络培训 时可以针对这个主题进行详细的演示以及问题解答。 4.2 中文论坛 z 通过用户名和密码安全登陆 z 用户有权使用唯一的资源进行研发。 z 用户或 Altium 的全体员工(包括研发,即使是 CEO)可发贴回复 z 全球用户每天 24 小时不停解答疑难。 z 为中文用户专门开通有中文论坛,用户可在论坛中通过下载资料,提出问题等方法寻求 技术支持。 图 10 Altium 交流论坛首页 Module 3: Schematic Editor Basics 0 - 15 4.3 网络培训中心及知识中心 4.3.1 演示中心 演示中心通过http://www.altium.com/Evaluate/DemoCenter/进入。当有新功能添加的时候我们 会对视频进行更新。 图 11 演示中心可用的短片 Module 3: Schematic Editor Basics 0 - 16 4.3.2 训中心 图 12 当前培训中心可用的材料清单 4.3.3 知识中心 Altium Designer 中有一个专门帮助用户使用软件 Knowledge Center 的面板(图 13),上半部分 显示当前帮助的主题,工具栏按钮,选择的对像,面板等等,下半部分是文件库导航区域。在这里 用户查看到关于软件的应用笔记,导航和其它相关的 PDF 文章。 如果 Autoupdate 按钮使能后,帮助文档可自加载到 Knowledge Center 面板的上半区域如果 不是使能的话,你可以按 F1 键加载帮助菜单。 Module 3: Schematic Editor Basics 0 - 17 图 13 Knowledge Center 面板用于查看文档库 键入相关字符后按下 Search 按钮,可以查找到你所需要的所有相关 PDF 文档库。注意该查的 范围是由你当前所在的库控制。打下指定的下级文件夹限制所查找主题的区域,返回库的顶端查找 整个库。图 13 显示查找 interactive routing,和 Whats new in the Altium designer 部分导航。 Altium Designer 中包含很多按 F1 键的帮助支持。实际上,每一个方面都有 F1 键的帮助支持接 口,例如: z 在菜单入口,工具栏按钮或对话框上按 F1 键,可以直接进入该命令/对话框的帮助主 题。 z 在面板上按 F1 键,可以获得该面板的帮助细节。 z 在编辑环境下按 F1 键,如果鼠标指向某一设计对象,会出现该对象的帮助信息。 Module 3: Schematic Editor Basics 0 - 18 4.4 支持中心 Altium 的网站(www.altium.com)包括很多关于软件的产品和服务的信息,同时还包括技术信 息和服务模块。经常查看网站也是一个好的练习。 z 点击 Home Page 上方的 Community 按钮,进入多样的客户资源 z 在 Support 下一页中 SUPPORTcenter 和 Learning Guides 是两个可用的部分,学习 向导,例如教程,文章和白皮书都是使用 PDF 格式的。 z Altium 的技术论坛可以在 Home Page 页面上方的 Communityj 选项里的 Forums 进 入。技术论坛都受用户和 Altium 全体员工所欢迎,就像一个可以交流建议和信息的会 议室。 z 在 home page 的左侧的 DEMOcenter 是一个用来观看软件新功能和怎样使用软件的短 小视频,无论何新出一些新特性的版本,新的视频都会被创建,给用户去认识产品的新 功能。 z 在 Community 部分里 TRAININGcenter 是另一个有用的可用资源。这些视步比 DEMOcenter 里讲解的更为深入。目前的培训材料包含项目管理,布局,布线和填充 等视。 支持中心 http://www.altium.com/supportcenter/ 是用户获得高质量的产品支持和使用到最新产 品更新包的一种方法。 z 使用用户名(Email 地址)和密码安全登陆 图 14 登陆页面 z 一旦进入,允许记录、跟踪和搜索数据库中的解决方案 z “Find Solution” 按钮用来搜索可能存在的解决方案 Module 3: Schematic Editor Basics 0 - 19 图 15 查找解决方案的搜索引擎 z 如果找到的解决方案无效,点击 Log a Case 按钮输入存在的问题和支持请求 图 16 记录事件 Module 3: Schematic Editor Basics 0 - 20 z 一旦支持请求添加好了,点击提交(Submit) 按钮保存。View Cases 按钮允许对原 始的请求进行编辑和添加附件。 图 17 下载主页 z 当您登陆以后,下载和更新信息显示在支持中心的主页上。 Module 3: Schematic Editor Basics 0 - 21 5. 从 PROTEL 到 Altium Designer(30minutes) 5.1 Protel 99SE 与 Altium Designer Altium Designer 相对于 Protel 增强了非常多的功能。其功能的增加主要体现在以下几个大的 方面: 首先在软件架构方面,Altium Designer 不是象 Protel 一样,仅仅用于设计 PCB 电路板的功 能。Altium Designer 在传统的设计 PCB 电路板的基础上新增加了 FPGA 以及嵌入式智能设计这一 功能模块。因此,现在的 Altium Designer 不但可以做硬件电路板的设计,也可以做嵌入式软件设 计。是一款统一的电子产品设计平台。 其次在 EDA 设计软件兼容性方面,Altium Designer 提供了其他 EDA 设计软件的设计文档的导 入向导。通过 import wizard 来进行其他电子设计软件的设计文档以及库文件的导入。 第三,在辅助功能模块接口方面,Altium Designer 提供了与机械设计软件 ECAD 之间的接口, 通过 3D 来进行数据的传输。在与制造部门之间,提供了 CAM 功能,使得设计部门与制造部门进行 良好沟通。在与采购部门以及装配部门,提供了 DBLIB 以及 SVNDBLIB 等功能使得采购部门与设 计部门等人员可以共享元件信息,提供与公司 PDM 系统或者 ERP 系统的集成。 第四,对于项目管理方面,Altium Designer 采用的是以项目为基础的管理方式,而不是以 DDB 的形式管理的。这样使得项目中的设计文档的复用性更强,文件损坏的风险降低。另外提供了 版本控制,装配变量,灵活的设计输出 output jobs 等功能,使得项目管理者可以轻松方便的对整个 设计的过程进行监控。 最后,在设计功能方面,Altium Designer 无论是在原理图、库、PCB、FPGA 以及嵌入式智能 设计等各方面都增加了很多新的功能。这将大大增强对处理复杂板卡设计和高速数字信号的支 持,以及嵌入式软件和其他辅助功能模块的支持。 Altium Designer 对于之前的版本 Protel99se 是向下兼容的,因此,原来 Protel99se 的用户若 要转向 Altium Designer 来进行设计,可以将 Protel99se 的设计文件以及库文件导入到 Altium Designer 中来。 5.2 Protel 99SE 导入向导 Altium Designer 包含了特定的 Protel99se 自动转换器。直接将*.DDB 文件转换成 Altium Designer 下项目管理的文件格式。 1. Altium Designer 全面兼容 99se 的各种文档。Altium Designer 中设计的文档也可以保存成 99se 格式,方便在 99se 软件中打开,编辑。 2. 在 Altium Designer 中导入 99se 文档 1.)使用菜单 “file\import wizard...”打开导入向导,进入导入界面,如图 18 所示。 Module 3: Schematic Editor Basics 0 - 22 图 18 protel 99 导入向导 2.)选择 99se DDB files,再依次添加 99se 格式文档,系统自动转换成 AD project 项目文 档。 3. 在 PCB 界面下,使用“save as…”功能,把文件保存成 version 4.0 格式,该格式文档 能在 99se 软件中打开。如图 19。 图 19 设计保存为 protel 可以打开的格式 4. AD 软件可以直接打开 99se 原理图文档。 在 AD 软件中同样可以把原理图保存成 version4.0 的格式,方便在 99se 中打开。 5.3 练习-导入 99SE 的 DDB 文件 Module 3: Schematic Editor Basics 0 - 23 6. 原理图编辑基础 (30 minutes) 当你打开一个已有的原理图或是创建一个新的时候,原理图编辑器就会打开。在 Altium Designer 环境下该编辑器可以使用工作区所有的功能。这包括多重工具栏,资源编辑,右键菜单, 快捷键和工具提示。 图 20 原理图编辑器工作区 在这一节,我们将要探索原理图编辑器上的工作基础。 请打开以下项目:4 Port Serial Interface.PrjPcb,位于\Altium Designer\Examples\Reference Designs\4 Port Serial 文件界面(如上图 20 所示),然双击项目 面板上的文件名为 ISA Bus 和 Address Decoding.SchDoc,打开原理图。 6.1 视图命令 视图命令能从 View 菜单被访问到,显示如下。 Module 3: Schematic Editor Basics 0 - 24 表 1 视图菜章摘要 执行命令时,当接解到任何设计窗口的边沿时,自动平移会被激活(光标变成十字光标并附于 其下)。当自动平移时,按信 SHIFT 键会加快 2 倍的平移速度。自动平移的速度是通过 Graphical Editing 标签的 Auto Pan Options 控制 (Tools » Schematic Preferences)。 在这里,自动平移功能也可以被关闭。 以下的快捷键对熟悉工作区的视图提供了一个非常有用的选择。当执行命令时,这些快捷键也 可以同时被使用。 表 2 视图操作的快捷键 Module 3: Schematic Editor Basics 0 - 25 6.1.1 使用鼠标滚轮平移和缩放 在设计文档中,鼠标滚轮也可以被用作平移和缩放。 z 平移 向上滚动鼠标滚轮则向上平移,向下滚动则向下平移。 按住 SHIFT 键同时向下滚动鼠标滚轮会向右平移。 按住 SHIFT 键同时向上滚动鼠标滚轮会向左平移。 z 放大 按住 CTRL 键同时向上滚动鼠标滚轮会放大。 z 缩小 按住 CTRL 键同时向下滚动鼠标滚轮会缩小。 6.1.2 使用鼠标右键平移 点鼠标右键保持不放,在设计文档里移动光标进行平移,鼠标变成手形表明你正在平移模式 下,释放右键则停止。 6.2 选择 原理图编辑器提供了一个类似其它 Windows 应用程序的选择功能,虽然不是完全一致的。 以下是该选择功能的一些要点: z 选择主要用于剪贴操作的对象提取,如:当剪切或拷贝命令执行时,这些对象将被移 动或是拷贝到剪贴板中。 z 一旦对象在剪贴板里,它们将可以粘贴在当前原理图的任意一个地方或另一个原理图 里,又或是其它支持 Windows 剪贴板的 Windows 应用程序中。 z 选择是不会累积的,当你选中另一对象时,前面被选的对象则会取消选择。 z 按住 SHIFT 键,可选择多个对象。 z 按 DELETE 键,所选对象全部删除。 选择一个对象你可以使用: 所选对象可以: 表 3 选择命令摘要 Module 3: Schematic Editor Basics 0 - 26 表 4 所选对像操作命令摘要 注意:取消所选对象,使用菜单命令 Edit » DeSelect(‘X’弹出菜单)或使用主工具栏上的 DeSelect All 按钮。 6.2.1 选择建议 z 开始进行选择前,先取消选择所有对象是一个好习惯。 z 只有完全在选择区中的对象才会被选中。 z 选择的颜色设置在 Preferences 对话框里的 Graphical Editing 标签里(Tools »Schematic Preferences)。 z 可以使 Move 菜单移动所选对象。 -不保持连通性(移动) -保持连通性(拖曳)。 z S’键弹出选择菜单 z X’键弹出取消选择菜单 6.2.2 选择存储器 在原理图和 PCB 编辑器里,可用的选择存储器 容量为八次,对象的选择状态都可以存储或召回。使 用表 3 上所描述的任何方法,选择一个你想记住的 对象,然后存储它们,以便快速的召回。 以下选择存储的选项是可以用的: z 存储到存储器(CTRL + 数字 1 to 8) z 添加到存储器(SHIFT + 数字 1 to 8) z 从存储器中召回(ALT + 数字 1 to 8) z 从存储器中召回并添加(SHIFT + ALT+ 数字 1 to 8) 图 21 选择存储器控制面板 z 类似工作区过滤器一样申请存储器(SHIFT+ CTRL + 数字 1 to 8). 你也可以使用下拉菜单 Edit » Selection 访问选择存储器功能。当然,点击 按钮可以打 开选择存储器控制面板。按住 CTRL+Q.再点击 STO 按钮保存或是点击 RCL 召回选择。在控制面 板上的过滤选项决所选对象的显示方式。 Module 3: Schematic Editor Basics 0 - 27 为了防止意外操作将当前选择存储覆盖,在参数选项中(Tools » Schematic Preferences)选择 Schematic 部分在 Graphical Editing 页中使能 Confirm Selection Memory Clear 选项,选择容量 体能够从检查 Lock 检验栏的覆盖处里被锁定。 6.3 他鼠标动作 鼠标操作显示如下,它被广泛使用在原理图编辑器上和菜单命令之中。 表 5 普通鼠标快捷方式摘要 当把鼠标放在对象上时,可以使用以下快捷方式: z 空格键——旋转 z X 键——垂直翻转 z Y 键——水平翻转 6.4 练习-原理图编辑器基础 缩放与平移 1. 打开原理图:ISA Bus and Address Decoding.SchDoc,在\Altium Designer\Examples\Reference Designs\4 Port Serial Interface folder.中找到 ISA Bus 和 Address Decoding.SchDoc 2. 尝试使用视图菜单的快捷键和工具栏来实现表 1 各种显示命令。 3. 使用鼠标平移和缩放 4. 选择 Place » Text String (PT)功能,再用表 2 的快捷键菜单,重复刚才的动作。按 ESC 建或者单击右键退出。 5. 现在试一下自动平移。选择 Place » Text String 移动光标到窗口的边缘,显示画面开始移 动,当移动时按住 SHIFT 键。注意当 Place » Text String 命令被激活时十字光标的显示。 本地标记 1. 通过选择 Edit » Jump » Set Location Marks » 2 (JK2) 设置本地标记,然后进入原理图 设定好本地标记的位置。 2. 缩小原理图到另外一部分 3. 选择 Edit » Jump » Location Marks » 2 (JM2),屏幕将以本地标记 2 为中心。 选择与鼠标动作 Module 3: Schematic Editor Basics 0 - 28 1. 选中一个器件,例如 P1,观察他被选中时的虚线框。 2. 选中另一个器件,例如一个电容,它现在是一个被选中的对象。 3. 点击原理图上没有器件的某一处,没有东西被选中。 4. 选中一条导线,注意手柄的显示。 5. 随着这条导线被选中,尝试移动端点和移动一部分(两端点之间的一段)。在你要想新端 点的导线增加一个端点,使用单击并保持不放,然后按下 INSERT 键,再把它移到一个新的位 置上。选中一个新的端点,然后按下 DELETE,删除。 6. 确认原理图上的所有对象都不被选中,使用 Edit » DeSelect » All (X, A)或者工具栏上的 。 7. 使用单击和拖曳选择功能,选中电路的一个部分。使用菜单命令 Using the Edit »Copy, 将内容拷贝到剪贴板。 8. 打开一个新的原理图,粘贴剪贴板上的内容。取消选择粘贴的对象。 9. 将该新原理图关闭(不用保存)。 10. 使用菜单命令 Edit » Move 尝试移动原始原理图上的所有对象,然后取消选择。 11. 当按下 CTRL 键时,选中 U10 器件。现在你可以向四边拖曳,它仍然保持导线连通。 12. 单击 C12 并保持不放,然后开始移动它。当移动它时按下 ALT 键,注意,现在的移支只能 是水平或是垂直方向,只要靠近鼠标靠近的对象就会被选中——尝试移动对象到想要的方位 查看效果。 13. 双击其中一个电容。器件属性对话框会显示,你可以编辑器件的任何属性。 14. 不保存任何改变,关闭原理图。 Module 3: Schematic Editor Basics 0 - 29 7. 原理图绘图工具以及电气连接工具(20 minutes) 7.1 原理图绘图工具 7.1.1 概要 z 在 Utilities 工具列中可使用绘图工具的对象,如要开启或关闭 Utilities 工具列可在 View » Toolbars » Utilities z 绘图工具按钮在 Place » Drawing Tools 除了 Paste Array 之外(Edit » Paste Array)绘 图工具列的功能可以透过选单内 Place » Drawing Tools menu, 除了 Paste Array (Edit » Paste Array)之外. z 当在摆放对象时按下 tab 键可以编辑对象属性。左键双击也可编辑所放置对象的属性 z 当对象被选中时名称会显示出来 z 当在这指令操作中,在还没有放弃当前指令时你可以选择其它指令,只要你会用快捷键.这 是一个强大的功能, 称为重入编辑, 将可以大大的增加生产力. 图 22 绘图工具 7.1.2 绘制原理图绘图对象 文件 Objiects.SchDoc 中的所有图形对象都可以在 Altium Designer\Examples\Training\Practice Documents folder.文件夹下面找到 Module 3: Schematic Editor Basics 0 - 30 这些摆放对象的描述如下: 图 23. 原理图绘图对象 1. Lines 画线: 1. 选择画线工具按钮 或 Place » Drawing Tools » Line. 2. 点击左键开始执行画线 3. 在画的过程中点击左键增加拐点,可利用 backspace 键删除最后一个拐点 4. 点击右键可结束此条线 5. 再点一下右键可结束此指令 2. Polygons 画多边形: 1. 选择放置多边型工具按钮 或执行 Place » Drawing Tools » Polygon. 2. 点击左键放置多边形的各端点 3. 点击右键结束多边形. 4. 再次点右键结束指令. 5. 将 Draw Solid 选项取消后多边形不会填充. Module 3: Schematic Editor Basics 0 - 31 3. Arcs 画圆型: 1. 选择 Place » Drawing Tools » Arc 选单指令. 2. 点击左键确定圆心位置. 3. 点击左键确定圆半径. 4. 点击确定圆弧开始点及第二次点击确定圆弧结束点. 5. 点击右键结束指令. 4. Elliptical arcs 画椭圆形弧线: 1. 选择放置椭圆形弧线工具按钮 或者执行 Place » Drawing Tools » Elliptical Arc. 2. 点击左键确定弧线中心位置. 3. 点击左键确定 X-半径. 4. 点击左键确定 Y-半径. 5. 点击左键确定弧线起始点,再点击左键确定弧线结束点. 6. 点击右键结束指令. 5. Bezier curves 最适合画贝赛尔曲线的是这条曲线利用鼠标来确定曲线各点的位置. 画贝赛尔曲线: 1. 选择放置贝赛尔曲线工具按钮 或执行 Place » Drawing Tools » Bezier. 2. 点击左键确定第一曲线控制点. 3. 点击左键确定第二控制点. 4. 点击左键确定第三和第四控制点. 5. 继续点击左键确定更多的控制点. 6. 点击右键结束指令. 7. 重新修改曲线形状,点击曲线的一个端点移动、增加(按 INSERT 键)或删除新控制点. 6. Annotation (Text) 放置单行文字: 1. 选择放置文本工具按钮 或执行 Place »Text String. 2. 按下 Tab 设定文字字体.你可以从文字下拉选项中增加特殊字符串, 如日期和文档信息.。 这个主题包含的一些详细内容在原理图培训章节中 3. 点击左键放置文字. 4. 右键结束指令. 字符串可以通过选择并再一次点击高亮后进行编辑。 Module 3: Schematic Editor Basics 0 - 32 7. Text frames 文本框用来放置文字段落在原理页面上。 放置文本框: 1. 选择放置文本框工具按钮 或执行 Place » Text Frame. 2. 按下 Tab 键设定 Text Frame.相关属性 3. 点击左键确定左上角位置,再点击左键决定右下角位置. 4. 右键停止摆放文本框. 下面的指令可用在编辑文本框的时候使用: Action Keystroke 插入 tab CTRL+TAB 剪下 SHIFT+DELETE or CTRL+X 复制 CTRL+INS or CTRL+C 贴上 SHIFT+INS or CTRL+V 表 6. 文本框指令摘要 剪切,复制和粘贴指令都可一应用在 Windows 剪贴板中, 剪贴板也可以从其它应用软件中载入 文字信息。 8. Rectangles 放置矩形方块: 1. 选择放置矩形方块工具按钮 2. 点击左键确定左上角. 3. 点击左键确定右下角. 4. 右键结束指令. 或执行 Place » Drawing Tools » Rectangle. 9. Rounded rectangles 圆角矩形方块是一个带有圆弧角的矩形。 圆角矩形方块对话栏中可设定圆弧的 X-半径和 Y-半 径. 放置圆角矩形方块: 1. 选择放置圆角矩形方块工具按钮 Rectangle. 或执行 Place » Drawing Tools » Rounded 2. 按下 Tab 设定圆角矩形方块 相关属性. 3. 点击左键确定左上角再次点击左键确定右下角. 4. 右键结束指令. 10. Ellipses 使用这指令来画圆较适合。放置椭圆: 1. 选择放置椭圆工具按钮 或执行 Place » Drawing Tools » Ellipse. Module 3: Schematic Editor Basics 0 - 33 2. 点击左键摆放椭圆中心点. 3. 点击左键确定 X 半径大小. 4. 点击左键确定 Y 半径大小. 5. 右键结束指令. 11. Pie charts 放置椭圆分格图表: 1. 选择放置椭圆分格图表工具按钮 or Place » Drawing Tools » Pie Chart. 2. 点击左键确定分格图表中心点. 3. 点击左键确定分格图表半径. 4. 点击左键确定第一个边再点击左键确定第二个边. 5. 右键结束指令. 12. Graphic images 以下格式的图形可以添加到原理图中: • .bmp, .rle, .dib • .jpg, .tif (uncompressed) • .wmf, .pcx, .dcx, .tga. 包含图形的文件可以嵌入或链接到原理图中,当原理图文件的位置移动后图形文件的链接也需 随着原理图文件转移。 放置图片: 1. 选择放置图片工具按钮 or Place » Drawing Tools » Graphic. 2. 点击左键确定图的左上角,再点击左键确定图的右下角. 3. 找出图文件的路径并按下 OK. 4. 左键连点两下打开对话框崁入图片. 13. Notes 批注可以在原理图页面上用来放置文字段落,而且文字段落可随时折叠或展开. 放置批注: 1. 选择执行 Place » Notes » Note 或按 PEO 快捷键. 2. 按下 Tab 编辑 NOTES 相关设定属性完成后按下 OK. 3. 点击左键确定左上角位置在点击左键确定右下角位置. 4. 右键结束指令. 当正在放置文本框时可利用下面的快捷键: Action 插入 tab 剪下 Keystroke CTRL+TAB SHIFT+DELETE or CTRL+X Module 3: Schematic Editor Basics 0 - 34 复制 CTRL+INS or CTRL+C 贴上 SHIFT+INS or CTRL+V 表 7. 文本框指令摘要 剪切,复制和贴贴指令都可以应用在 Windows 剪贴板中. 剪贴板板也可以从其它应用软件中载入 文字信息。 5. 通过点击左上角的小三角形可以让批注折叠和展开。 7.1.3 Exercise –Schematic graphical objects 1. 打开 Altium Designer6\Examples\Training\ Practice Documents 文件夹下的 Objects.SchDoc 文件,并在文件中的空白处放置每个绘图对象 2. 选择每个对象并观察操作方法. 3. 注意移动效果. 4. 在多线对象中输入一个新的顶点, 并移除它. 5. 在对象上双击显示并且更改其属性. 6. 关掉这张图纸并且不要存档. 7.2 电气连接工具 7.2.1 General 原理图设计对象定义捕获的实际电路.电气对象包含零件跟连接要素,例如导线.总线.连接端口. 原理图中这些对象用来产生网络表,网表在不同的设计工具中能够传递电路和连接信息。 z 使用配线工具按钮来放置电器对象. 图 24.原理图电气对象 z 所有配线工具按钮的功能可以从 Place 菜单下访问. z 文字在电气对象中可以加顶线, 典型的是在所需要定义的字符后面加入‘\’ 表示有效低信 号,例如 R\ESET 会显示 ‘R’ 有上顶线的状态。 要让整个词语上显示单一的上顶线,必 须激活 Schematic – Graphical Editing 设置下的 Single ‘\’ Negation 选项。 下列章节将会解释每一个电气对象. 7.2.2 电器对象概要 电器对象的例子如图 25 所示。 Module 3: Schematic Editor Basics 0 - 35 图 25 原理图电气连接工具 14. 电气连接线 Wires • 选择放置电气连接线工具按钮 或执行 Place » Wire. • 电气连接线 主要用来连接两个电气点之间的关系. 请注意要使用 Place » Wire 指令且不要错误使用 Line 指令. • 按下空格键来改变摆放的角度. 下面有 6 种摆放模式可设定: - 90 度 开始 - 90 度 结束 - 45 度 开始 - 45 度 结束 - 任意角度 - 自动连线. • 退格键可以删除上一段所放置的导线. • 导线结束点必须在电器对象的连接点上.例如导线的结束点必须落在接脚的连接点上. • 导线有自动节点的功能,假如导线在开始或结束在其它导线落跨过接脚的连接点上会自动产 生节点 • 要增加多个拐点必须按住鼠标左键并且按下 INSERT 键. • 移除节点请选到拐点后点击右键选择 Edit Wire Vertex NO. 或到导线属性对话框切换到 vertices 页面点选 Remove 可移除节点. 15. z Buses 总线可以图形化地表现一组连接在原理图页面上的相关信号的关系,例如数据线。它们 用来集中属于同一页面上的总线信号并把这些信号连接到页面的输入输出端口。在这中 情况下,它们必须含有这种格式的网络标号: D[0..7]。 Module 3: Schematic Editor Basics 0 - 36 z 选择放置总线工具按钮 或执行 Place » Bus. 摆放总线用跟 wire 方法相同, 按下空格 键可改变摆放模式,按退格键可删除最后一个拐点。 z 总线只表示连接端口和页面接入端点之间的连接 z 总线摆放模式的快捷键指令和导线相同. 图 26 总线以及总线分支 16. Bus Entries 总线分支用来连接总线和导线. 放置总线分支: z 保证连接线可以画在适当的工作格点上. z 选择放置总线分支工具按钮 或执行 Place » Bus Entry. z 按下空格键改变总线分支的角度. z 按下左键确定总线分支的位置. z 右键结束指令. 总线分支是可以自由选择的. 许多使用者比较喜欢使用 45 度的导线. 17. Signal Harness Signal Harnesses 允许逻辑群组有多种信号,包含导线,总线以及其它的 signal harnesses.这个群 组可以作为单一实体使用到整个项目中。 有 4 个关键元素给 Signal Harness 系统: z Signal Harness z Harness Connector z Harness Entry z Harness Definition File Module 3: Schematic Editor Basics 0 - 37 图 27. 一个 Signal Harness 可以携带导线,总线和其它的 signal harnesses 混合体. Note: 移动鼠标到 harness 上方可以实时显示相关网络,总线和 sub-harnesses. 18. Harness Connector Harness 连接器可以将不同的信号集合在一起。 Harness 连接器包含捆绑到 Signal Harness 中的 每个网络、总线和 Sub-harness 的 harness entry 。 图 28. Harness Connector 聚合信号到 Signal Harness 内.它通过 Harness 类型来定义,例如这个 范例类型是 I2S Note: 开始用智能贴图指令去将网络转换为 Harness Connectors. 19. Harness Entry 要将网络,总线,Sub-harness 包含在一个 Signal Harness 内, 需要连接到 Harness Connector 内 的 Harness Entry. Module 3: Schematic Editor Basics 0 - 38 图 29. Harness Entries 提供连接点供网络连接.在上图,Harness Entries 包含 WCLK, BCLK, DOUT, DIN 和 MCLK 20. Harness Definition 针对设计内的每一个 Signal Harness, 会有一个 Harness 定义文档,每一个 Harness 定义组合 由 Harness 类型(如下图的 I2S),和相关的 Harness Entries (例如下图: BCLK, DIN, DOUT, MCLK, WCLK)组成. Harness 定义档案 (*.Harness) 可以通过 Altium Designer 自动建立与管理. Harness 定义文档 可以在项目面板下 Settings\Harness Definition Files sub-folder 找到. 图 30. The Harness 定义文档是个文本文件并放在项目的 Settings 下. 他包含所有关于 Signal Harnesses 的定义与关连信息. 它们有一个易于辨识的扩展名 *.Harness Note: 你可以在没有 Harness connector 情况下建立 Signal Harness. 但是你需要手动建立与管 理 Harness 定义文件. Module 3: Schematic Editor Basics 0 - 39 21. Net Labels z 网络标号让网络易于识别,并为没有通过电气导线连接的相同网络管脚提供一种简单的 连接方法。 z 在同张图纸中有相同网络称号的导线之间是互相连接的,在某些情况下,同一个项目中 所有相同的网络标号的电气导线要连接在一起. 层次项目设计将在原理图培训章节作详 细描述. z 所有网络标号在网络上必须相同. z 网表生成器会将所有的网络称号转换成大写字母. z 结合网络标号到导线上,只要放置时基准点(左下角)在导线上即可. z 当放置网络标号时电器格点处于激活状态 z 假如最后一个字符在网络称号中是数字的话,在摆放下一个网络标号时它将会自动增加. 放置网络标号: 1. 在工作格点上摆放网络标号. 2. 选择放置网络标号工具按钮 或执行 Place » Net Label. 3. 按下 Tab 设定网络标号的字体. 图 31. 网络标号对话框 4. 点击下拉选单可显示已经存在在图纸上的网络名称,或输入新的网络名称再点击 OK. 5. 按下空格键可选转网络标号. 6. 点击左键确定网络标号位置. 7. 右键结束指令. Module 3: Schematic Editor Basics 0 - 40 Note : 再放置网络称号的时候可将鼠标移动到已经存在的文字上按下 Insert 快捷键便可复制文 字到网络称号内. 22. Power Ports z 项目中具有相同网络特新的所有的电源连接端口都会被连接起来 z 要连接到电源连接端请确定导线已连接到电源连接端口的连接脚. z 电源连接端口的型态只能改变外型.它不会影响连接特性. z 电源连接端口将连接到相同网络名称的隐藏管脚,和使用的网络标识范围无关 z 配线工具工具按钮中的电源连接端口工具按钮只可以放置单个电源连接端口,要改变这 特性并放上多种连接端口可以编辑此按键增加一个参数 Repeat=True. 放置电源连接端口: 1. 选择工具工具按钮中 GND 或 VCC Power Port,或执行 Place » Power Port. 2. 按下 TAB 设定 power port 不同于 GND 或 VCC 的网络名称 图 32. 电源连接端口对话框 3. 按下左键确定 power port 的位置. 右键结束摆放 power ports. 23. Ports z 连接端口提供一个信号的联接方法,从一张图指向另一张图纸. z 点击网络名称的向下按键可列出在图纸上所有的网络名称. z 连接端口的 I/O 类型可以利用 ERC 来检查连接错误. z 连接端口的型态只改变外观. 放置连接端口: 1. 选择放置端口工具按钮 或执行 Place » Port. 2. 按下 Tab 设定 port 相关属性. Module 3: Schematic Editor Basics 0 - 41 图 33. 连接端口属性对话框 3. 按下空格键旋转或按下 X 或 Y 键做翻转. 4. 左键确定 port 一端的位置 拖移鼠标设定 Port 的长度在按下左键完成 Port. 5. 右键停止放置 ports. Note : 连接端口的方向将会自动定义,主要基于连接的网络特性.请将 Preference 中 General 下的 Port Direction 选项使能。. 24. z Parts 当选择 Place » Part (PP) 或点击放置器件工具按钮 , 会显示摆放零件对话框. 你可 以在零件库参照名字段中输入零件名称或点击 Browse 按键(…) 来增加必要的零件库。 图 34. 放置元器件对话框 Module 3: Schematic Editor Basics 0 - 42 z 零件也可以利用在线路图零件库中 Place 按键来放置 z 当摆放零件时是依据工作格点,也可以利用 G 来变更工作格点的设定,如可以把格点 设为 1,5,10。 25. Sheet Symbols • 使用页面符号可以把原来的设计分割成多个图纸页面. • 每一个页面符号代表项目中其它的一张原理图. • 页面符号的名称是所代表图纸的描述名称. • 页面符号的文件名称必须和它代表原理图文件相同.一个项目中所有的图纸应该在同一个路 径下。. • 当改变页面符号的大小要确定它的边是否落在工作格点上,以确保导线可以连接到页面符 号上。. 摆放页面符号: 1. 选择页面符号图标工具按钮 或执行 Place » Sheet Symbol (PS). 2. 按下 Tab 设定叶面符号的名称以及文件名. 3. 点击左键确定左上角的位置 4. 点击左键确定右下角的位置. 5. 右键结束指令. Note : 页面符号连同输入输出端口可以通过指令来创建,指令为 Design » Create Sheet Symbol From Sheet or HDL. Synchronize Sheet Entries and Ports, 指令 (可在设计菜单或是 右键选择菜单找到此指令) 可以同步页面符号输入输出端口与底层图纸的连接端口。 26. Sheet Entries • 页面输入输出端口使用在页面符号中,如果你需要使用层次电路设计可以以使用此对象连 接底层电路连接端口. • 每一个页面输入输出端口需要与底层连接端口匹配. • 当建立网络表或是电气规则检查时利用 Sheet Symbols / Port Connections 来定义网络名 称. 放置页面符号输入输出端口: 1. 选择放置页面输入输符号工具按钮 或执行 Place » Add Sheet Entry (PA). 2. 在页面符号上点击左键确定 Sheet Entry 的位置. 3. 按下 Tab 设定 sheet entry 相关属性 4. 在名称上点击下拉选项可显示在图纸上已有的网络名称. 5. sheet entry 的位置可以是页面符号任何一条边上 6. 右键结束指令. Note: 在 DXP » Preferences » Schematic » Graphical Editing 对话框中包含一个选项 Place Sheet Entries Automatically. 其默认值是关闭的。 这是一个有用的功能,它可以在页面符号之间 相互连接时自动放上 sheet entries。 . Module 3: Schematic Editor Basics 0 - 43 27. Off Sheet Connectors Off Sheet 连接器使用在网络跨接多个图纸对象,而且这些图纸都是通过同一个页面符号的输 入输出端口连接起来的.成功连接的特殊网络跨过两张或以上的图纸,每张图纸上的 Off Sheet 连必须指定相同的网络名称. Off Sheet 连接器主要是从 ORCAD 导入到 Altium 的。 1. 选择 Place » Off Sheet Connector (PC). 2. 按下 Tab 设定 Off Sheet 连接器属性. 3. 点击左键放置 Off Sheet,右键结束指令. Note :Off Sheet 连接器的主要功能是针对 Orcad 原理图转换的. 如果你用 Altium Designer 设计 原理图也需要将原理图转换为 Orcad 格式, 那你就可以使用 Off Sheet 连接器。 28. Junctions • 这软件会自动产生节点在有效的连接点上,包括‘T’型 连接状况及导线跨过引脚端点。十字 交叉不会自动添加连接点。 • 十字交叉可以通过添加手动交叉点强制连接,手动节点可以从选择 Place » Manual Junction (PJ),当十字基准线上出现一个连接标记(红点)时,点击左键摆放节点。 • 自动节点显示设定是在属性设置 (Tools » Schematic Preferences) 的 Compiler 栏下。. 29. Parameter Sets 一些对象不支持直接定义参数,如导线,总线。增加参数到这些对象需要放置一个参数设定对 象。 PCB 设计规则也可以使用参数设定对象增加到导线(网络)或总线,这些规则定义通过同步 操作传递到 PCB 里。 1. 选择 Place » Directives » Parameter Set.光标上出现一个 directive symbol . 2. 按下 TAB 在参数对话框 设定参数.按下 Add 按钮在参数属性对话框增加参数. Module 3: Schematic Editor Basics 0 - 44 图 35.这个参数设定对象是一个包含 PCB 规则定义 的参数添加器. 图 36. 参数对话框 3. 确定指示符号位置,指示端要碰触到导线或总线.,点击左键放置。 4. 右键结束指令. Note: PCB 布线规则也是一个参数设置对象.,放置 PCB 布线规则作为独立菜单选项保留在一 些早期的版本中。 30. Compile Mask • 它的放置方式与批注相似,可以折叠或展开。这个功能并不只提供给你要将某区域不做 ERC 检查显示而已,只要的是它可以将原理图工作领域中的仿真源掩盖起来。 • 放置 compile mask: 1. 选择选单 Place » Directives » Compile Mask. 2. 按下 Tab 设定 compile mask. 3. 点击左键确定左上角位置. 4. 点击左键确定右下角位置. 5. 右键结束指令. Module 3: Schematic Editor Basics 0 - 45 31. No ERC Marker • 摆放一个 No ERC 符号在电路节点上将对摆放的点禁止警告和错误报告. 这个标记不会打印 出来。 • 选择 Place No ERC 工具图标按钮 或是 Place » Directives » No ERC. 点击摆放 No ERC 在零件管脚上或是已存在的 ERC 标记上,按鼠标右键结束此指令。 7.2.3 练习 –原理图电气对象 1. 开启 Electrical Objects.SchDoc 文件,此文件在此路径 Altium Designer Summer 08\Examples\Training\ Practice Documents 下,然后练习摆放任意的电 气对象到原理图上. 2. 选择到这些对象并试着移动它们. 3. 双击某些对象并显示或修改对象属性. 4. 关闭此档案并且不要存盘. Module 3: Schematic Editor Basics 0 - 46 8. 创建第一张原理图 (1hour) 原理图课程介绍了包括怎么从最初的设置到元器件的放置,连线,设计检查和打印来创建单张 原理图和多张层次式原理图。我们将进一步研究原理图编辑器的功能,进行一系列的练习来展示怎 样将一个设计画成原理图,并为 PCB 设计做准备。 图 37 描绘了在 Altium Designer 中建立一个原理图时需要依照的工作流程 设计概念& 技 术要求 建立 PCB 工程 添加电路图 & 电路 图符号来创建设计 从库里找到和放置 元器件 电路设计 设计批注 编译和修改设计 添加元件参数 添加 PCB 设计要求 转移设计到 PCB 布局 从 PCB 返回标 注 图 37 Altium Designer 原理图设计流程 Module 3: Schematic Editor Basics 0 - 47 8.1 原理图编辑器工作区设置 本节介绍如何通过设置文档选项和参数选项来设置和浏览原理图编辑界面。页面选项,如栅格 和模板,以及可通过这些对话框设置参数选项和默认值。打开原理图编辑器,在 Altium Designer 中 简单的创建一个新的原理图文档(File » New » Schematic)或者打开一个现有的原理图文件 (.SchDoc 文件)。 8.1.1 文档选项 文档选项对话框允许您: 设置参数关联到单独的原理图文件。 此对话框的设置是与被设置的原理图文件一起保存。 双击版边或者使用菜单命令 Design » Options 来调出文档选项对话框。 以下各节介绍文档选项对话框的选项卡。 32. 页面选项卡 图 38 显示的是文档选项对话框的页面选项卡。下面将解释选项的每一部分。 模板部分 图 38 文档选项对话框的页面选项卡 如果有,则显示关联的模板的文件名。 在设计菜单中使用模板选项应用、 更新或删除关联的模 板。 在参数选项对话框的 System – New Document Defaults 页面设置系统默认模板。 Module 3: Schematic Editor Basics 0 - 48 选项部分 方向 将工作表方向设置为横向或纵向。 标题栏 在选中后,标准标题栏附加到工作表。 标题栏的格式设置使用此选项旁边的下拉列表。 注意这 通常只是在没有使用模板的时候使用。 显示参照区域 在选中后,工作表有了一个在边上的参考栅格。 一个新的选项还添加了可以按 ASME Y14.1 标 准分区。 显示边框 选中后可以看到页面的边框。 显示模板图形 选中后,在已定义模板中的任意物件都将显示. 这通常用以显示一个非标准标题栏,在这种情况 下您会取消选中标题栏选项。 边框颜色 允许您在选择颜色对话框中设置边框颜色。 页面颜色 允许您设置页面背景颜色。 标准类型区域 允许您从标准尺寸中选择标准类型的页面尺寸,如 A4,A3 自定义类型区域 允许您自定义页面的尺寸和边框。如果标准类型部分没有您所需的页面尺寸可使用此选项。 改变系统字体 此按钮允许您更改用于显示端口号,引脚名称,端口文字,电源端口文字和页面边框字体。 栅格部分 栅格选项允许您设置对齐栅格和可见栅格的大小和开关。 捕捉开 网格捕捉强制鼠标点击到最靠近的网格位置。栅格捕捉可以在文档选项对话框中设置,打开或 者关闭。您也可以在任何时候按 G 快捷键在三个预定义网格中循环. 可见 可见栅格打开时将显示栅格。它与捕捉栅格并无关系。栅格捕捉也可以在视图菜单中打开或者 关闭(快捷键 VV)。 Module 3: Schematic Editor Basics 0 - 49 电气栅格部分 在文档选项对话框中可以打开关闭电气栅格和设置电气栅格的范围,也可以在视图菜单中打开 或者关闭(快捷键 VE)。 当电气栅格打开,你在执行一个支持电气栅格的命令时,鼠标会跳到对象的关键点而忽略栅格 捕捉。 比如,如果你在运行 Place » Wire 命令,移动鼠标到一个引脚的电气栅格内,鼠标会跳转到那 个引脚上。 33. 参数选项卡 参数选项卡用于方便的编辑页面层面的文本。 每个参数自动链接到在页面上除了前面的等号与 参数一样名字的字符串。 例如,参数 Address1 自动链接到文本字符串 = Address1。 在等号是原理图编辑器自动用一个 名为 Address1 参数的值替代文本字符串在页面的指令。 可以将任意数值的参数添加到一个原理图 模板或一个原理图页面。 使用这些特殊的字符串允许定义诸如字体,尺寸和颜色,而当一个原理图 应用于该模板,实际的文本字符串的值就被指定了, 在打印时会自动替换,它也可以通过在首选项对话框中的图形编辑选项卡页面中打开转换特殊 字符串选项(Tools » Schematic Preferences)。 图 39 文档选项对话框的参数选项卡 默认的特殊字符串在下表中列出,如果设计需要的话您可以自己创建合适的参数。 Special String Description Special String Description =Address1 一行地址 =Engineer 工程师名字 =Address2 一行地址 =ImagePath 图片路径 Module 3: Schematic Editor Basics 0 - 50 Special String =Address3 =Address4 =ApprovedBy =Author =Checked By =CompanyName =CurrentDate =CurrentTime =Date =DocumentFullPath AndName =DocumentName =DocumentNumber =DrawnBy Description 一行地址 Special String =Modified Date 一行地址 验证者 作者 审核人 公司名称 系统日期(数值自动输入) 系统时间 (数值自动输入) 日期 (不是自动更新的) 档案名称和档案的完整路径 (数值自动输入) 档案名称不包括路径(数值 自动输入) 文档数 绘制者 =Organization =Revision =Rule =SheetNumber =SheetTotal =Time =Title =Engineer =ImagePath =Modified Date Description 最后修改时间 (数值自动输 入) 组织名称 版本号 规则描述 原理图页面数 工程中原理图页面统计数 时间 (非自动更新) 页面标题 工程师名字 图片路径 最后修改时间 (数值自动输 入) 表格 8 建立一个新原理图时的默认参数列表 图 40 显示特殊字符串怎样输入到标题栏中。放置的特殊字符串将显示参数选项卡中参数的值。 特殊字符串的属性(如字体颜色)决定显示文字的样子。 通过选择 Place » Text String 时放置特殊字符串,然后按 Tab 键,显示注释对话框。在名称 字段中点击下拉箭头将列出每一个特殊的字符串。 点击所需要的字符串并将其放置。 当示意图打印 或绘制时,或者在参数选项对话框中的图形编辑选项卡页面中打开转换特殊字符串选项 (Tools » Schematic Preferences),特别字符串显示其内容。 图 40 当转换特殊字符串打开或者关闭特殊字符串在标题栏的显示 34. 单位选项卡 单位选项卡允许您定义用于原理图编辑器中的各个单位。栅格将使用这些单位的倍数如,DXP 默认单位是每个单位等于 10 mils ,当打印实际尺寸或 1:1 时,捕捉网格值为 5 (或 5 单位) 会相 当于 50 mils ,10 个单位 = 100 mils 等。 Module 3: Schematic Editor Basics 0 - 51 图 41 文档选项对话框的单位选项卡 英制单位系统部分 使用英制单位 选中此选项原理图就使用英制单位。 您可以指定使用 (DXP defaults - 10 mil, mils, inches and auto imperial units)下拉列表中的哪个英制单位。 使用的英制单位 此选项用于从提供的英制单位之一选择 ;mils,inch,DXP 默认单位 (10 mils) 和自动英制单 位。 如果选择自动英制单位,当值大于 500mils 系统将从 mils 切换到 inch. 公制单位系统部分 使用公制单位 选中此选项来原理图就使用公制单位。您可以指定使用 (millimeters, centimeters, meters, and Auto-Metric units)下拉列表中的哪个公制单位。 使用的公制单位 此选项用于从提供的公制单位之一选择 ; 毫米,厘米,米和自动公制单位。 如果选择自动公制 单位,当值大于 100 厘米系统将从厘米切换到米. 35. 使用模板 Altium Designer 提供标准模板(*,SchDot)在路径\Altium Designer\Templates\文件 夹,您也可以创建自己的模板保存在任何地方。 Module 3: Schematic Editor Basics 0 - 52 选择 Design » Template » Set Template File Name.这个选项将删除现有的模板而使用您选 择的模板。 选择 Design » Template » Update,当一个模板被修改了而你需要更新它的时候你可以使用这 个命令。 选择 Design » Template » Remove Current Template.这个选项将移除模板但是保留以前的 文档尺寸。 每个命令都将会提示您此更改是否应用于当前的工作页面,所有打开或所有项目。 8.1.2 参数选项 参数选项对话框的原理图部分允许您设置原理图编辑器工作区的参数。 使用菜单命令 Tools » Schematic Preferences 显示此对话框。 此对话框中的设置保存在 Altium Designer 环境中,因此 当您更改当前的原理图文件时,参数保持相同。附录中有这些选项全部说明。 8.2 集成库概念介绍 在 Altium Designer 中,元件库能作为独立的文档存在,如原理图库包含原理图符号、PCB 库包 含 PCB 封装模型以及一些其他的库文件包含各自的 PCD3D 模型,仿真模型和信号完整性分析模型 等等。 另外,AltiumDesigner 支持集成库的创建及使用。集成库(.IntLib 文件)包含了原理图库文件 (.SchLib),PCB 库文件(.PcbLib),SPICE 模型库文件(.ckt 和.mdl 文件),信号完整性模型模型文件 以及 PCB3D 模型文件。如图 42 所示。 图 42 将元件的各个模型添加到原理图符号中 Module 3: Schematic Editor Basics 0 - 53 创建好的集成库会在库面板中如图 43 所示的方式来显示。其中包括集成库的名称,库中元件, 元件的原理图符号图,联接的各种模型以及各种模型的显示。 图 43 集成库面板示意图 Altium Designer 提供的大部分库都是集成库,储存在 \Program Files\Altium Designer \Library 文 件夹中。集成库也能转换回原先的分立库,只需在 Altium Designer 中打开就可做到。 8.3 库与元件的装载及浏览 这部分主要介绍的是 Altium Designer 库和如何在库里面找元件 8.3.1 查找以及加载库 Altium Designer 提供的元件都存在一组集成库里面。在集成库中的元件不仅有原理图元件符 号,还集成了其他文件所需的相应的模型文件,如封装、电路仿真模型、信号完整性分析模型、3D 模型等。大多数集成库都是符合厂商规定的。 集成库是通过分离的原理图库、PCB 封装库等编译生成的。在集成库中的元件不能够被修改, 如要修改元件可以在分离的库中编辑然后再进行编译产生更新过的集成库即可。 还有一部分特殊性质的集成库,如特殊函数仿真元件。 元件也可以通过原理图库直接放置,当然也可以通过 99SE 格式的原理图库来放置。 可用的元件库列在器件库面板上,这些放在面板上的库包括: z 项目工程中的库。如果库在项目工程中,库是被自动罗列出来的。 z 加载的库。加载的库文件可以使元件在设计环境中被使用;选择的库可以使用在不同的 工程中。 Module 3: Schematic Editor Basics 0 - 54 z 库文件可以在指定的工程路径中查找。这个选项在查找仿真模型特别有用。查找路径在 项目选项对话框中定义。 36. 加载一个库使其元件可用 1. 加载库,在 Libraries 面板上点击 Libraries 按钮或者选择菜单 Design » Add/Remove Library,这样可使用的库就 显示在对话框中了。 2. 在加载库对话框中点击 Install 按钮 3. 在对话框中选择所需的库后,这样它将 显示在对话框的 Installed Libraries 列表 中。 4. 选择好后就可以点击关闭对话框了。 图 44.可用库对话框,使用安装按钮来安装或者删除库 注意: 提供的集成库位于: \Program Files\Altium Designer\Library\ 文件夹. 8.3.2 查找元器件 当你不知道元件位于哪个库中,可以在库面板上点击 Search 按钮,或者菜单 Tools » Find Component,将弹出元器件库查找对话框。 图 45.库查找对话框 Module 3: Schematic Editor Basics 0 - 55 8.3.3 浏览库 器件库面板给出的元件都是可以用来放置 使用的。 z 选择菜单 View » Workspace Panels » Libraries, 或者在工作区 底部点击 Libraries 按钮来显示 Libraries 面板。 z Libraries 按钮显示可用器件库对话 框。此对话框显示当前可放置在该 项目的所有元件。选择安装选项, 然后单击安装按钮将库添加到库列 表中。 z 选定库所包含的元件在中筛选字段 下面的框中列出,筛选器允许您控 制哪些元件名称列出,例如 RES * 将显示只开头 RES 的元件名称。 z 您也可以在元件列表中直接输入, 当您输入时类型提前功能将自动跳 通过列表。按 Esc 可提前停止执行 类型提前操作。 图 46 从原理图编辑面板中浏览元器件库 z 单击元件的名称将:在面板的正中间显示元件符号,下面的列表显示关联的模型,而且 在列表下面还显示被选中的封装模型 z 放置按钮放当前选定的元件。双击该元件也能达到此目的。 z 搜索按钮是一个强有力的搜索工具,允许您搜索库中的器件。单击此按钮弹出库搜索对 话框。 z 如果一个元件有几个部分,sub-parts 将显示在符号库的迷你浏览器中。 z 您可以控制元件或模型列表中显示哪些列,右击选择要显示的选择列。 8.3.4 练习–库和元件 37. 当所需库已知时查找和加载库 培训设计是一个微控制器驱动温度感应器。安装所提供的库并查看它是否包括 PIC 微控制器 库,完成下列步骤: z 打开原理图文档来激活原理图编辑器。 z 在库面板上点击库按钮来显示可用器件库对话框。 Module 3: Schematic Editor Basics 0 - 56 z 选择加载选项,然后点击安装按钮定位到目录\Program Files\Altium Designer\Library\。此目录包含的子目录附带支持 Altium Designer 的原理图编辑 器的集成库。 z 滚动库目录,打开文件名为“Microchip”的文件,选择并加载 Microchip Microcontroller 8-Bit PIC16 2.IntLib z 点击“CLOSE“关闭可用库对话框 z 在顶端的库面板列表里选择“Microchip”库,库内容将在筛选字段部分下面框中显 示,确认库包括一个 PIC16C72-04 / SO。 38. 当库未知的情况下查找器件 经常有这样一种情况,你想加载一个器件,但不知道那个库中有,或者你可能想查看库中有哪 些类似可用器件。查找器件我们可以使用“Search”按钮或者菜单 Tools» Find Component 来查 找。 1. 点击“Search”按钮,然后库查找对话框弹出。 2. 在库路径上设定范围,设置路径 C:\Program Files\Altium Designer\Library (包含子目录选项在内) 3. 在培训提供的设计中电源使用 LM317MSTT3 调整器。若要在提供的库中搜索一个适当的 器件,在搜索字段对话框中键入字符串 LM317 并单击搜索按钮。 4. 注意当前搜索的库列在库面板中,它取决于 PC 机的速度,需要花几分钟来搜索八万个元 件。 5. 搜索结果在集成库 ON Semi Power Mgt Voltage Regulator.IntLib 中包含器 件,确认器件 LM317MSTT3 在列表中 6. 加载此库并使元件可用,你可以在结果列表中右键单击并选择 Add or Remove Libraries (这只是打开可用的库对话框),或者在列表中双击元件名来放置(如果是错误的工作表, 则可以轻松地删除它),你确认后对话框将出现,让你有机会安装库。 39. 在打开的元件库中查找元件 1. 在库面板中选择集成库 Miscellaneous Devices.IntLib,此库是安装该软件时,默 认安装的两个 PCB 库之一。它包括多种离散器件,如:电阻、电容、二极管等等。 2. 在筛选字段里键入 cap,注意只有电容类型的器件罗列出来 3. 尝试筛选字段中输入 diode,现在列出的只是器件开头字符串为 diode 的二极管的器件。 4. 现在尝试键入“*diode”,这次列出来的就是字符串中含有“*diode”的器件。 40. 当库未知的情况下查找封装 1. 封装查找与器件符号查找是同样的;唯一区别是你需要在按 Search 按钮前在库查找面板 中设置查找类型。 Module 3: Schematic Editor Basics 0 - 57 2. 设置查找路径为 C:\Program Files\Altium Designer \Library\Pcb\IPC-SM-782. 3. 键入字符串“0805”,然后点击查找。查找结果包含一些库,其中一个是 IPC-SM-782 Section 8.1 Chip Resistor.PcbLib 库。 4. 在查询结果中双击 2012[0805]的封装,会出现一个对话框,让您知道库当前未安装,点 击“YES”来安装 IPC-SM-782 Section 8.1 Chip Resistor.PcbLib 库。 图 47.查找器件封装 41. 设置库搜索顺序 当你键入一个器件名,例如在放置器件对话框中,或者在封装模型对话框中键入一个封装名, 则将以一个默认的顺序查找可用的库。这个查找顺序就是罗列在可用库对话框中的顺序。配置查找 顺序: 1. 在库面板上点击库按钮来显示可用库对话框。 2. 点击安装选项,然后在安装列表中点击选择 IPC-SM-782 Section 8.1 Chip Resistor.PcbLib 库来突出显示它,再然后点击“Move Up”按钮来它到列表顶端。 3. 关闭可用库对话框。 您现在拥有完成培训设计所需的所有器件和封装 注意:请在联机文档中查阅器件,模型和库概念的文章,获得进一步关于定义,库搜索顺序和 器件模型链接的信息。 8.4 元件放置及原理图连线 本节主要是讲如何放置元件然后用导线把它们连接在一起。这项练习需要你创建一个完整的 原理图表。 Module 3: Schematic Editor Basics 0 - 58 8.4.1 放置元件 放置一个元器件,双击库面板里的元件名称。 放置元件前要编辑其属性,按“TAB”键,元件属性对话框就会出现。通过按 TAB(下)或 SHIFT+TAB(上)来切换对话框中不同字段。 新的文本将覆盖被选中的内容。 如果你在放置元件前设置好元件的标号,那么随后所放置的元件标号就会自动递增。 如果知道元件的名字也可以通过“Place » Part”命令放置元件。当选中这个命令时,提示你输 入元件名称,一旦输入元件名称,,就会在打开的库里寻找,如果找器件一旦找到,它就会附在光 标上。 42. 自动递增元件标号 当放置一个元件,如果你放置前设置好元件的最初标号,其标号就会递增直到放置好最后一个 元件。这只发生在放置元件时按下“TAB”键,并设置最初的标号。一旦你停止放置这种类型的元 件,下次放置元件时标号不再被记忆。 通常标注元件标号很容易的,你可以让他们空缺器件标号直到设计完成,允许在原理图中控制 元件的合理分配和标注。 8.4.2 引脚连线 导线被用来创建点之间的电气连接。 注意用“Place » Wire”而不是错误地放置“lines”。 按“SHIFT+SPACEBAR”键改变导线放置模式,按“SPACEBAR”键切换导线角度。 按“BACKSPACE”键删除最后所放置的点。 导线必须连接到具有电气对象上的连接点上,例如,导线连接时必须接触管脚的末端。 总线是代表一组相关信号的关系,比如数据总线是连接到一张图表上,用总线连接相关信号到 端口和原理图入口。 总线必须用总线名字或总线参考系统的要素正如图 48 所示,必须包含单独的网络标号和总线网 络标号。 图 48:用参考系统定义的总线 Module 3: Schematic Editor Basics 0 - 59 总线范围[0..7],或[7..0]。 在原理图中移动元件并保持元件上导线的连接(尤指拖动),当点击时按住 “CTRL” 键保持 并移动鼠标(一旦开始拖动,就释放“CTRL”键)。当拖动时按“SPACEBAR”或者 “SHIFT+SPACEBAR”键切换导线的模式。按快捷键“M”拖动一个选择。 8.4.3 练习——绘制原理图 图 49:微型控制器原理图实例 1. 如果没有打开,在基本编辑环境下重新打开项目,\Program Files\Altium Designer\Examples\Training\Temperature Sensor\Temperature Sensor.PrjPcb. 2. 2.在“Projects”面板下点击右键选择“Add New to Project » Schematic”为项目添加新的 原理图文件。 3. 在“Projects”面板下右键点击新的原理图文件,然后从弹出的菜单里选择“Save As”。在 “\Program Files\Altium Designer\Examples\Training\ Temperature Sensor“文 件夹下把原理图保存为“MCU.SchDoc”。 4. 在“\Program Files\Altium Designer\Templates “的文件夹下选择” A4 “大小的 模板,通过菜单“Design » Template » Set Template File Name “设置。 5. 在放置任何对象之前确保电气栅格使能,并设置电气栅格范围是 4,确保捕捉栅格使能并设置 大小是 10(双击原理图边框打开文档选项对话框)。 6. 绘制原理图如图 49。当放置元件时,按“TAB “键定义元件标号和注释(元件的值)。 Component Library Reference Microcontroller Resistors Capacitor PIC16C72-04/SO Res1 Cap 7. 按“SPACEBAR “键旋转元件,按” Y “键垂直翻转,按” X “键水平旋转。 8. 设置端口 I/O 类型与其显示相匹配,设置电源和地端口的网络属性。 9. 设置总线名字和端口名字“RB[0..7]”,目的是连接网络从 RB0 到 RB7 到总线上。 Module 3: Schematic Editor Basics 0 - 60 10. 10.为了在总线上建立网络,首先在右面创建端口,复制端口然后运行“Edit » Smart Paste”。从左面选择“Ports”,在右面选择“net labels and wires”。在对话框的下面部分选 择信号名字“expand buses”,你也可以设置合适的线长。注意间距以及导线是以目前的栅格设 置 10,以便导线和网络标号连接到元件的管脚。 图 50:智能粘贴对话框把总线信号粘贴为网络标号和导线 11. 在放置电阻和电容时可以用器件切断导线特性快速的切入到线里,而不需要在其周围连线。 12. 当放置一些端口和电源端口时按住“ctrl”键然后拖动延伸对象上的线。这样在连线阶段将节 省大量的时间。 13. 在文档选项对话框的参数标签里输入必要的文档信息,比如输入标题”PIC 微控制器”。 这次不必设置原理图表数这个特性,系统在整个项目中会自动的设置。 8.4.4 练习—完成原理图 在这一阶段的练习,你的“Temperature Sensor project “项目如图 51 所示 Module 3: Schematic Editor Basics 0 - 61 图 51:MCU 原理图完成后的项目结构图 然而,“Sensor.SchDoc”没有完成,到现在仅仅完成温度器件的放置。完成原理图绘制: 14. 如果你还没有完成,新建一个名为“Sensor.SchDoc”原理图文档。 15. 添加端口、电源端口并用导线完成连接,如图 52 图 52:连接好的传感器原理图 16. 保存并关闭“Sensor.SchDoc”。 完成“sensor”原理图设计的最后一步是添加顶层原理图。 8.5 智能粘贴 原理图编辑中的智能粘贴特性允许你复制选择对象并在粘贴时一次性可以转换为其他对象。例 如,你可以复制一个网络标号,用智能粘贴可以粘贴成端口,或者你选择原理图输入端口口,可以 粘贴为“端口+导线+网络标号”。 Module 3: Schematic Editor Basics 0 - 62 z 以平常的方式创建一个选定的对象,比如网络标号,然后复制到剪切板上(Ctrl+C)。 z 从菜单中选择“Edit » Smart Paste”或快捷键(Ctrl+Shift+V),将弹出智能粘贴对话 框,如图 53 所示 图 53:智能粘贴对话框 8.5.1 选择粘贴的对象 本节在对话框里会显示一个按类型分类的所有对象的列表。复选框里允许你选择想粘贴的对 象。在粘贴前必须选择”Paste Action “,这确定所选择对象以什么方式放置在你的原理图中。 8.5.2 选择粘贴行为 在粘贴前要选择”Paste Action “。这确定把所选择的对象在原理图中转换成什么样的对象。粘贴 “本身”叫做一次标准的粘贴操作。其他选项在粘贴时允许把源对象转换成其他不同的对象,或集 合对象。 可能的转换包括: z 端口,原理图页面输入端口或网络标号可以同等的转化成端口,原理图页面输入端口, 网络标号,或者一个文本框/注释或一个端口和网络标号(带连线)。 z 标签,文本框或注释可以转化成标签,文本框或注释。 z Windows 的剪切文本可以转化成网络标签,端口,原理图页面输入端口,标签,文本 框,注释,或端口和网络标号(带连线)。 z Windows 剪切板里的图形可以转化成图像。 Module 3: Schematic Editor Basics 0 - 63 8.5.3 阵列粘贴 启用此选项把你选择的对象复制成一个二维阵列。你将创建拷贝的行数和列数。点击 OK,将 会在文档上提示你选择插入阵列的起始位置。只需光标移动到想要的位置然后点击即可。 列 在阵列粘贴中具体设置复制元件阵列的列数。“Spacing”编辑框用于设置阵列元件中的每列相 邻元件的间距。若设置为正数,则元件由左下到上排列,若设置为负数,则元件由上到下排列。 行 “Rows”栏用来设置复制元件阵列的行数,“Spacing”编辑框用于设置阵列元件中每行相邻 元件的间距,即行间距。若设置为正数,则元件由左向右排列,若设置为负数,则元件由右向左排 列。 文字增加栏 “Text Increment“栏用于设置阵列中元件编号递增的参数。你可以从下面几项中选择: • 方向 “Direction”下拉列表确定元件编号递增的方向。 “None “项表示元件编号不递增。 “Horizontal First”表示元件编号递增的方向是先水平方向从左向右递增,再竖直方向由下往 上递增。“Secondary”编辑框用于在复制引脚时,设置引脚序号的递增量。 “Vertical First”表示先竖直方向由下往上递增,再水平方向从左向右递增。“Primary”编辑 框用于设置每次递增时,元件主编号的递增数量,“Secondary”编辑框用于在复制引脚时,设置 引脚序号的递增量。 • 主要的 “Primary”编辑框用于设置每次递增时,元件主编号的递增数量。 • 次要的 “Secondary“编辑框用于在复制引脚时,设置引脚序号的递增量。这两个编辑框既可以设置 为正数(递增),也可以设置为负数(递减)。 8.6 设计复用 8.6.1 片断设计面板 片断设计面板提供了一种方法存储部分的设计以供日后复用。该面板将存储分为原理图,PCB 布局以及源代码。 z 在底端的最右边点击 System » Snippets 将会打开片断设计面板。 Module 3: Schematic Editor Basics 0 - 64 图 54:片断设计面板 z 片断的内容分成不同文件夹。这些都是通常的 Windows 文件夹,它们的位置从 “Snippets Folders” 按钮下配置。可以定义多个文件夹;使用网络共享资源在整个团 队设计中将分享摘录库。 z 要创建一个片断,在原理图,PCB 或源代码中选择对象,然后点击右键选择“Snippets » Create Snippet from selection “。 z 在面板顶部点击“Place button “,可以放置选择的片断。 z 如果你在创建片断前重新选择元件标号,你就可能避免在放置片断时元件重复标号。 8.6.2 剪切板面板 图 55:剪切板面板 Module 3: Schematic Editor Basics 0 - 65 剪切板面板提供了一个可以召回以前的复制行为。该面板存储复制的部分包括原理图,PCB 布 局和源代码。 z 从面板控制的右下角点击“System » Clipboard “打开” Clipboard”面板。 z 剪切板增加了能够读取 Windows 剪切板的优势,允许从其他粘贴过来的数据转化到 Altium Designer 里。要启用此项,在参数设置对话框中的“Systems – General”下关 闭“Monitor clipboard content within this application only”选项。 z 剪切板面板数据仅适用于当前的编辑,和片断设计面板不同可以把数据存储在硬盘上。 Module 3: Schematic Editor Basics 0 - 66 9. 全局编辑 (45 Minutes) 9.1 DXP 数据编辑系统 作为一个设计者面临的最大挑战是管理在设计中所创建的大量的设计数据,为此,Altium Designer 提供了图 56 所示对象过滤/高亮显示系统。 Design data Filtering Engine Highlighting Engine (Mask, Select, Zoom) Display data Query Engine Filter panel FSO dialog Navigator panel 图 56 过滤/高亮系统图表 一个强大的数据编辑系统允许你用多种方法来管理,查找,编辑你的设计数据。 为了灵活实用的编辑数据的方法,提供了三种可交替的数据查看方式访问和编辑设计设计对 象: • • • 传统的图标查看 Inspector 面板 (按 F11 打开或关闭) List 面板 (按 Shift+F12 打开或关闭) Inspector 显示当前被选中的工程的属性,底部显示在列表中实际被选中的总数。注意 Inspector 能同时编辑不同类型的工程。 List 面板提供了一个类似的电子数据表格,列出在原理或 PCB 工作区中的对象列表,在 List 中单个或多个单元都可以被编辑。 强大的对象过滤功能用来控制当前在三个视图中编辑的大量数据,数据可通过 PCB 编辑面板中 查找相似对话框进行过滤,或者通过在 Filter 面板中写入查询来实现。 Filter 面板常被用来设置一个查询来过滤整体的数据设置,减少在图形显示并在列表面板中仅 显示满足查询的对象。在图表中将灰色显示那些已经被过滤的对象(并不能被再编辑)。 数据编辑系统最强的特征是能够同时编辑多个对象。访问数据编辑系统最基本的方法是: z 选择需要编辑的对象 Module 3: Schematic Editor Basics 0 - 67 z 检查对象 z 编辑对象属性 9.1.1 使用查找相似对象对话框查找和选择对象 当元器件和网络等分类对象进行操作时这个面板非常实用。你对一个基本对象要素操作时,一 个高效的方法就是使用 Find Similar Objects 对 话框。 z 在 Find Similar Objects 对话框中, 右键点击一个对象,然后从弹出菜 单中选择 Find Similar。 z 对话框出现后,列出该对象的属 性。. 几乎每一个属性都有一个下拉 框,设置你想要的匹配标准。 z 单击 Apply 对话框不关闭,开始查 找匹配对象。单击 OK 关闭对话框 开始查找。 z 选择所有匹配标准的对象。图 57 显 示通过 Find Similar Objects 对话框 来设置选择和查找所有 PCB 元器件 标注字符串。 z 通过 Inspector 复选框自动启动 Inspetor,在 Inspector 上可以编辑 查找和选择到的对象的任何属性。 图 57. 使用查找相似对象高亮所有器件注释 9.1.2 检查和编辑被选择对象 Inspector 面板常用来检查和编辑当前被选择的对象, 对所有被选择对象做整体编辑。 z 按 F11 打开关闭 Inspector 面板 z Inspector 能用来检查一个或多个对象 z 被选择对象的设置有多种方法,包括手动,写 一个查询,或者使用查找相似对象对话框。 z 不同的对象只有当它们共有的属性可被编辑时 才能被选择和编辑。 z 在 Inspector 里改变属性后,按 ENTER 完成 z 在 Inspector 中可以使用字符串的替代功能。. 图 58. Inspector 显示所选位号和注释 字符串的属性 Module 3: Schematic Editor Basics 0 - 68 9.2 全局编辑实例(练习 – 编辑对象 ) 这个例子演示通过不同方法来调整元件走线的宽度,弧和元件文本框的高度 9.2.1 元器件注释字符串明显度的改变 1. 在 4 Port UART and Line Drivers.SchDoc 中找到元件 S1 2. 在元件符号上点击右键然后在弹出菜单中选择 Find Similar 3. 出现 Find Similar 对话框,显示被选择对象的属性。注意 Parameter name 属性下有一个 批注值。 通过设置 Same 来查找相同的属性。 4. 勾选 Run Inspector 复选框,清除 Create Expression 复选框,然后点击 OK。 5. Inspector 出现 24 个被选对象,点击 Hide 属性,然后按 ENTER 完成改变。所有元器件注 释字符串将在原理图中被隐藏。 9.2.2 练习 –List 面板 我们将用 List 面板在原理图库编辑器中创建一个原理图符号。 1. 打开工程例 4 port serial interface,然后打开该工程中包含的原理图库 2. 点击右下角的控制面板 SCH » SCH Library 打开库面板 3. 打开 Tools » New Component 给元器件取个名字 EP2C5 4. 设置当前栅格为 10,你将在屏幕左下方看到当前栅格,在工作时可使用快捷键 G 来快速改 变栅格 5. 在 Windows 中从 C:\Program Files\Altium Designer \Examples\Training\Practice Documents\ directory 目录下打开 TestBook.xls Excel 文件 6. 在表格的右边你可以查看到一组以 Object Kind 开始,以 Designator 结束的列表,这组 列表是通过在 Altera Cyclone II 数据手册中复制并粘贴过来的部分资料来创建的,并通过 Excels 表格增强了其函数调用功能,你需要使用 ctrl-c 复制这这组列表包括名字到剪贴板 7. 一旦被复制,返回 Altium Designer ,在右下角的控制面板中点击 SCH » SCHLIB List 打 开库列表面板 8. 如果是 View 模式,设置 List 面板到 Edit 模式,确定 current component 已设置 9. 在 List 面板中点击右键,然后选择 Smart Grid Insert. Module 3: Schematic Editor Basics 0 - 69 图 59.随粘贴出现的智能网格插入对话框 10. 图 59 对话框显示你现在能从电子表格中设置到 Altium Designer 的列表。在这个过程中, 如果没有复制列的名称,可以手动来完成,在上面部分选择一列并在下面部分选择匹配的 列,,然后按 Paste Column to Attribute 按钮来链接。 如果正确复制了列表名称,通过点 击 Automatically Determine Paste 按钮完成自动粘贴 11. 当所有的栏对应正确,你可以点击 OK,然后原理图符号的管脚将被立即创建 注意: 如果你发现所有的管脚彼此堆积到一起,请确定你的栅格设置是否为 10 Module 3: Schematic Editor Basics 0 - 70 10.完成设计项目 (45 minutes) 10.1 多层次设计介绍 10.1.1 结构化多层次设计 几乎最小的设计也需要多张图纸来完成。实质上有两种途径来构造一个多表设计,要么单层次 的,要么分层次的。单层次的设计就是从一张原理图到另一张原理图网络间的连接是直接的,也可 能是连接到其它许多张原理图。 虽然单层次的设计对于小数量的原理图和网络标号是适用的,也许 6 张原理图,但是对于大的 设计就不适用了。因为一个网络可以转到其他原理图的任何位置,为了指导阅读者找到在另一个原 理图上的网络,一个较大的单层次设计就需要导航指示。单层次设计的优点在于通常情况下只有较 少的原理图和绘制较少的连线。 层次设计在结构中表现为页与页的关系。它通过符号来完成,称为图纸符号,在层次设计中代 表底层图纸。图纸符号代表下层的图纸,并用图纸入口代表与下层图纸端口的连接。层次设计的优 势是为读者显示设计的结构,其连通性是完全可预测的和容易查看的。因为它总是从子图到母图上 的图纸符号。 下图显示的是温度传感器项目的顶层原理图。在设计中每个图纸符号代表一个子原理图。 图 60.温度传感器的顶层原理图 Module 3: Schematic Editor Basics 0 - 71 10.1.2 多层次设计的连接 多图纸设计的电气连接性是通过原理图中提供的网络标示连接的。 43. 网络标识 在同一网络的点对点之间由网络标识建立逻辑连接。它可以在一张原理图中,或在多张原理图 中。物理连接存在一个对象直接由导线连接到另一个对象。逻辑连接时,创建两个相同类型的网络 标识(如,两个网络标号),并有相同的网络属性。注意,逻辑连接不是创建两个不同的网络标 识,例如一个端口和一个网络标号。唯一的例外是当一个端口连接到相同名称的图纸入口,在图纸 符号里它代表图纸上的端口(更多稍后介绍)。 网络标识包括: 网络标号—使用网络标号唯一标识一个网络。这个网络连接到同一原理图中具有相同名称的网 络,也可以连接到不同原理图中具有相同名称的网络,依据设计模式定义连接方式(参考网络标识 范围)。网络标号隶属于单独的导线,元件器件管脚和总线。 端口—依据连接方式,一个端口可以横向连接具有相同名字的其它端口,或纵向的连接到具有 相同名字的图纸入口。 图纸入口—当连接是纵向的,你可以用图纸入口连接到下层原理图中有相同名字的端口。添加 一个图纸入口执行“Place » Add Sheet Entry”命令。 power port sheet entries net label VCC RESET RESET ENABLE ENABLE - port 图 61. 网络标识 电源端口—整个设计中所有相同名称的电源端口是相互连接的。 隐藏管脚—隐藏管脚类似电源端口,在整个设计中,连接所有具有相同名称的网络。 44. 网络标识范围 当你为设计建立一个连接方式时,你必须定义你如何识别彼此之间网络标识的连接—这称为网 络标识范围。网络标示的范围在“Project Options”对话框里的“Options”标签里有具体说明。在 设计的开始时应设置网络标示的范围。 在多层次设计中基本上有两种方式连接原理图:要么横向,直接从一个原理图到另一个原理 图,或其他原理图等等;要么是纵向,由图纸符号从一个子图连接到母图上。在横向连接中,连接 是从端口到端口(网络标号到网络标号也可以)。在纵向连接中,连接是从图纸入口到端口。网络 标识范围明确说明你如何连接想要连接的网络标识。 单层的—整个设计中端口连接所有的原理图。选择这一项,网络标号对每张原理图来说是本地 的,他们不会跨原理图连接。在所有的原理图中具有相同名字的所有端口将会连接。此选项可以用 于单层的多图纸设计。由于它很难在原理图中查看网络,所以它不适用于大型的设计。 Module 3: Schematic Editor Basics 0 - 72 全局的—在整个设计中通过端口和网络标号连接所有的原理图。选择此项,在原理图中所有相 同网络标号的网络将连接在一起。此外,在所有原理图中具有相同名字的所有端口将连接。如果一 个网络连接一个具有一个网络标号的端口,那么它的网络的名称将是其网络标号的名字。此选项也 可以用在单层的多图纸设计,然而它很难查看从一个原理图到另外一个原理图,因为在原理图上查 看网络名称总是不太容易。 层次的(图纸入口/端口连接)—在端口和匹配的图纸入口之间纵向连接。此选项使得底层原理 图仅仅通过图纸符号的接口匹配到子图的端口上。它在原理图中使用端口把网络或总线连接到顶层 相应的图纸符号入口。无匹配图纸符号接口的端口在原理图中不会连接,即使在另一张原理图中具 有相同名字的端口。每张原理图中的网络标号都是本地的,它们不会跨原理图连接。此选项可用于 创建任何深度或层次的设计,并允许在整个原理图设计中查看网络。 在自动模式下,自动选择使用三个网络标识的哪一个是基于以下标准:如果在顶层有图纸入 口,那么采用分层;如果没有图纸入口,但是有端口,那么采用单层的;如果即没有图纸入口也没 有端口,那采用全局的。 注意:两个特殊的网络标示对象总是认为是全局的:电源端口和隐藏管脚。 概要 如果你使用带有图纸入口的图纸符号,网络标识范围将设置图纸入口/端口连接的范围。如果选 择此模式,顶层原理图必须有连线。 如果你不使用,通过端口或网络标号可以建立起连接,因此你会使用其他两个网络标识范围中 的一个。 网络标号不会连接到相同名字的端口上。 10.2 构建完整的项目 10.2.1 创顶层图纸 手动创建一个顶层图纸,放置图纸符号,设置每一个图纸符号的名称属性均指向正确的子图, 并且根据子图相应端口把图纸接入添加到图纸符号上。 我们也有创建多图纸的快捷命令方式 Create Sheet from Symbol 命令是自上而下的设计。一旦顶层图确定好,这个命令就可以为图 纸符号创建子图和放置端口。 Create Symbol from Sheet 命令是自下而上的设计,基于选定的子图创建一个包含图纸接入点 的图纸符号。这我们现在使用的模式。 10.2.2 练习 — 创建一个温度传感器顶层图纸工程 参考图 60 完成这个练习 Module 3: Schematic Editor Basics 0 - 73 1. 创建顶层图,在温度传感器工程中添加新的原理图文件,设置图纸规格为 A4 并保存在 Program Files\Altium Designer 6Altium Designer\Training\Temperature Sensor\Temperature Sensor.SchDoc. 2. 我们不用手动方式为底层图纸放置和编辑图纸符号,而选用 Design » Create Sheet Symbol from Sheet or HDL 命令。从菜单中选择这项。 3. 在 Choose Document to Place 对话框中,选择 Sensor.SchDoc. 4. 图纸符号将以浮动光标形式出现,像图 60 所示,在图的合理位置放置图纸符号 5. 注意到两个图图纸接入点在方框图左侧,这是因为依据它们的 I/O 类型放置的,输入及双 向点在左边,输出点在右边。拖动左边的两个点到右边。 6. 关于图纸接入的另外一个重点就是,除非你在 Preferences(参数设置)中的 Schematic tab 对话框中把 auto sheet entry direction (自动图纸入口指向)选项激活,否则他们的 i/o 类型 就是他们模式(他们的指向)的独立标志。当在左侧的时候 SCL sheet entry 是指向内部的, 当他在右侧的时候,并且 sheet entry direction 选项没有被选中的情况下,它是指向外部的。 打开 Preferences(参数设置)对话框确定这个选项是激活的。 7. 重复上述步骤分别为 MCU, LCD and Power sub-sheets 创建图纸符号 8. 放置连接器 J1,他是一个 Header 3X2A,你可以在 Miscellaneous Connectors.IntLib(默认状态下安装的两个集成库之一)中找到 9. 按图 60 给层次图放线 10. 保存顶层图.这就完成了设计进程中的捕获阶段。为了确保这个设计的层次是正确的我们现 在来编译一下这个设计。目前我们将简单的编译一下,在 Projects 面板上展示一下这个设计 的正确结构。 11. 编译这个工程,选择 Projects » Compile PCB Project Temperature Sensor.PrjPcb。确保 你所运行的编译是正确的,因为在工程菜单中有两个编译文件。一个编译的焦点是现行的原 理图文件,另外一个编译的是整个工程。我们需要的是编译整个工程。 Module 3: Schematic Editor Basics 0 - 74 图 62.一旦编译完成,工程的层次表将展现出来。 12. 保存工程(在 project 面板上右击这个工程) 设计现在已经完成了,但是在被转到 PCB 板上之前还有几个工作要做,包括 --在层次表上为每一个图表指定一个图纸编号 --分配位号 --检查设计错误 10.2.3 分配图纸编号和图纸总数 图纸编号通过设定文件参数实现,链接放置在原理图上的特殊字符串,图纸自 动编号通过 Tools » Number Sheets 命令实现 z 图纸编号对话框可以用来实现: -为图纸编号(参数 SheetNumber) -为文件编号(参数 DocumentNumber) -统计图纸总数(参数 SheetTotal) z 点击需要被编辑的列进入对这些列的编辑状态 z 可以通过各种方式为图纸和文件编号,选中 SheetNumber,然后再点击 Auto Sheet Number 按钮 z 每一个单元都可以手动编辑,选择目标单元,右击选择编辑(或者用空 格键)。选择 Move Up and Move down(向上和向下)按钮,或者按照 display order(显示的顺序)编号 Module 3: Schematic Editor Basics 0 - 75 图 63 通过图纸编号功能来查看或更新图纸编号 注意:原理图在工程面板上是按照你所添加的先后顺序显示的。你可以按照你的要求来改变这 个顺序。只需要简单的点击,然后拖放到一个新的位置即可 10.3 元件标注 原理图编辑工具包含一个对器件基于位置的重新标注工具,通过这个工具可以给期间从新分配 位号。 10.3.1 通过标注来分配元件标号 标注选项包括: z 更新更改列表—此按钮将重新分配当前未分配的所有位号 (它们的位号应该以一个?结 尾) z 重置所有—使用重置所有按钮重置所有位号为?结尾,您还可以限定只重置重复的位 号。 z 处理顺序 — 有四个方向选项可用。在顶部左侧的对话框选择最佳的一个,它使用页面 网格来定义水平/ 垂直递增。 z 匹配选项—启用这个参数选项用来封装多部分元件。 通常,这基于元件注释。 如果有 特殊器件,必须一起封装,提供一个通用的参数,然后在元件参数列表中启用此参数 (例如 filter-stage1)。注意右下的对话框底部的 Annotation Summary 提供了匹配行 为的信息。 z 原理图页面标注—对话框的此部分提供每一个页面的标注控制,能从进程中排除某些页 面,还可以为每个页面的的标号设置起始编号。 Module 3: Schematic Editor Basics 0 - 76 z 反向标注—单击此加载一个 Was/Is 文件。它仅仅是在不用 Altium Designer 设计板子 的情况下用到。如果您是在使用 Altium Designer 设计,您可以直接从 PCB 反向标注原 理图,只需要使用菜单命令 Design » Update z 每当更新或重置命令执行时会出现一个信息对话框。 此对话框详细统计与上一个状态 (自上次更新或重置)有多少改变,信息对话框还列出了从原始状态更改的详细统计 (自打开注释对话框起)。 z 一旦满意标注分配,单击 Accept Changes 按钮产生一个 ECO。 在 ECO 对话框中您 可以更新原理图。 注意:若要防止元器件在标注过程更改其标号,启用元器件属性对话框中标号旁边的锁定复选 框。 10.3.2 多部分元器件的标号 多部分元器件的后缀可以是希腊字母或数字,取决于在参数设定对话框中的希腊字母和数字后 缀选项。 这是一个环境设置,将适用于所有打开的原理图页面。 您可以使用 Edit » Increment Part Number 命令更改在一个元器件内的零部件,选择此命令, 然后单击要更改的器件部分。 注意:若要防止多部分元器件在标注过程更换其标号,启用元器件属性对话框中零部件旁边的 锁定复选框。 10.3.3 练习 – 标注设计 1. 在主菜单选择 Tools » Annotate 2. 在标注对话框中,点击 Reset All 按钮,然后点击出现的信息对话框的 OK 按钮。请注意 对话框中的建议标号列现在显示所有位号符上有一个? 的作为其批注索引。 3. 点击 Update Changes List 按钮来给每一个元器件分配一个唯一的位号,元器件根据顶部 设置对话框选择的方向位置顺序标注。 出现的信息对话框统计有多少表示已从其原始状态更 改。如果不是所有的元器件都获得了新的标号请不要奇怪,可能是因为他们在页面上的位置 导致它们被标注成同样的标示。 4. 重复重置和分配、 更改方向选项的过程,用您喜欢的方向选项完成。 5. 提交更改并更新元器件,点击 Accept Changes 按钮生成 ECO。在 ECO 对话框点击 Execute Changes,然后关闭 ECO 和标注对话框。 6. 请注意,曾接受过更改的的每个文档在其窗口顶部的文档选项卡上的名称旁边有一个 *, 保存项目中的所有文件。 10.3.4 多部分元器件的标号 多部分元器件的后缀可以是希腊字母或数字,取决于在参数设定对话框中的希腊字母和数字后 缀选项。 这是一个环境设置,将适用于所有打开的原理图页面。 Module 3: Schematic Editor Basics 0 - 77 您可以使用 Edit » Increment Part Number 命令更改在一个元器件内的零部件,选择此命令, 然后单击要更改的零部件。 注意:若要防止多部分元器件在标注过程更换其标号,启用元器件属性对话框中零部件旁边的 锁定复选框。 10.3.5 练习 – 标注设计 1. 在主菜单选择 Tools » Annotate 2. 在标注对话框中,点击 Reset All 按钮,然后点击出现的信息对话框的 OK。请注意对话框 中的建议标号列现在显示所有指示符,有一个? 的作为其批注索引。 3. 点击 Update Changes List 按钮来给每一个元器件分配一个唯一的标示,元器件根据顶部 设置对话框选择的方向标注位置顺序。 出现的信息对话框统计有多少表示已从其原始状态更 改。如果不是所有的元器件都获得了新的标号请不要奇怪,他可能是因为他们在页面上的位 置导致它们被标注成同样的标示。 4. 每次重复重置和分配、 更改方向选项的过程,用您喜欢一个方向选项完成。 5. 提交更改并更新元器件,点击 Accept Changes 按钮生成 ECO。在 ECO 对话框重点击 Execute Changes,然后关闭 ECO 和标注对话框。 6. 请注意,曾接受过更改的的每个文档在其窗口顶部的文档选项卡上的名称旁边有一个 *, 保存项目中的所有文件。 Module 3: Schematic Editor Basics 0 - 78 11. 项目编译及验证 (45 minutes) 这一节将讲述如何验证一个设计,这是切换到 PCB 布线前 一个必不可少的步骤。在 Altium Designer 下,检测设计是否完 成,通过编译设计实现,它可以检查出逻辑性、电气性和画图的 错误。 进行设计的编译,选择 Project » Compile PCB Design。 一旦设计进行了编译,它可以在 Navigator 面板上找到。 编译的结果会显示在 Messages 的面板上;在这,你可以双击 信息跳到相应的错误或警告上。Messages 面板只会在有错误 的时候自动打开,如果该面板没有显示出来,可以单击工作区的 System 按钮打开该面板。 注意,默认的错误检查选项是在连接矩阵中设定,因此检查 相应设置和调整它们,以合适你的项目和设计的要求。 11.1 设置设计编译选项 当你编译设计的时候,DXP 会建立一个项目可连接的模 式,你可以把它想像成是一个内部的网络表。内部网络的存在允 许你去查找或查看项目的组织结构。 11.1.1 编译选项 z 在项目能被编译之前,必须先配置项目选项。它通 图 66. 使用导航器来查看设计连 通性 过项目选项对话框中的选项标签完成(Project » Project Options)。 z Net Identifier Scope 必须适合设计的结构。这点已在 10.1.2 .2 的多图纸设计中的网络 标识范围一节中描述过。 z 当设计被编译时,它可以在 Navigator 面板上查找到。选择 Navigator 面板顶部的 Flattened Hierarchy 功能,当你选中一个元件或网络时,该元件或网络将会显示在工 作区上。 z 使用“+”展开元件或网络时,可以访问元件的所有引脚或是所有引脚/网络的标识符。 z 点击 Interactive Navigation 按钮右边的 按钮,可以配置工作区如何显示的相关选 项。 z Zoom: 跳到电路图层和放大所选对象。 z Select: 选中所选的对象。 z Mask: 除所选对象外其它全部对像祛色。控制遮盖祛色度使用屏幕右下方的 Mask Level 按钮。清除祛色使用快捷键:Shift+C 。 Module 3: Schematic Editor Basics 0 - 79 z Connective Graph: 显示红色(网络对象)或绿色(元件)图线的连接关系。 z 在面板中的导航按钮充许你进行全局的查找,点击它得到一个十字光标,然后选中一个 工作区的电气对象,例如一个条连线,网络标号,端口等,会高亮显示所有电气连接对 象。 z 该 上/下 层次按钮也可以用于设计的查找。 11.1.2 错误报告选项 图 67 错误报告的设置 错误报告选项包括 Error Reporting 标签和 Connection Matrix 标签。 错误报告选项是一个大的阵列,其相关的一边拥有默认设置。一般来说,最好编译设计,如果 你的设计上出现的警告信息不是关键问题的话,可以更改报告的等级。 Module 3: Schematic Editor Basics 0 - 80 11.1.3 连接矩阵 图 68 ERC 规则矩阵表 z 项目选项对话框中的 Connection Matrix 表如图 68 所示。该矩阵提供了一个从元件引 脚和网络标识之间建立规则连通性的机制。它定义了所报告警告或是错误的逻辑和电气 条件。 z 例如:一个输入引脚连接到另一个输入引脚通常将不会被认为是错误的,但是连接到输 出引脚则肯定不是错误的。这些都反应在表格里。 z 当点击矩阵上相应的小方块时,规则可以改变。多次的点击可以在选项范围内循环选 择。 11.2 系统消息框及错误查找 z 当编译项目时,任何产生警告和错误的信息都会显示在 Messages 面板上。注意, Messages 面板只会在有错误的情况下自动打开。 z 双击其中一个警告/错误,可以打开 Compile Errors 面板,然后双击该面板上所显示的 一个对象,可以跳到相应的原理图上。 z Messages 面板上单击右键可以清除信息。单击列的标题。双击其中一个信息,可以打 开 Compile Errors 面板,在此面板上双击可以交叉探测原理图上的对象的。 z 一旦错误的条件被修正后,之后的编译会除去相应的警告/错误信息。 z 仔细审查每一个警告/错误和解决它们是很重要的,可以改变错误检查报告的模式,或 是给它加上 NO ERC 标记。在切换到设计的 PCB 布线前,这些经常都需要做。 11.2.1 练习——配置项目选项 1. 选择 Project » Project Options 打开项目选项的对话框,选中 Options 标栏。 Module 3: Schematic Editor Basics 0 - 81 2. 对于这个项目,Net Identifier Scope 一项保留默认。仅开启 Allow Ports to Name Nets 中的 Netlist Options 一项。 11.2.2 练习 — 设计校验 1. 使用编译功能检查你的设计,检查所有的错误或警告。 2. 解决所有错误。注意,‘Nets with no driving source’ 报告任何一条不包含至少一个管脚有 电气类型为:输入、输出、开极、高阻、发射极或电源的网络。 3. 如果你有一些余留的警告,那不会影响你的设计,你可以直接忽略它们或是考虑在 Options for Project 对话框里的 Error Reporting 标签上,把警告类型转成 No Report。 一些技巧 z 检查每一个带有错误的对像。 z 开启 Graph 选项,检查网络的连通性。一旦在 Navigator 面板上选中一条网线,在 设计上就会高亮显示出来。你也可以使用 ALT+左键单击其中一个网线,让其高亮 显示在当前电路图纸上。 z 输入引脚的错误通常是由于输入源有问题。如果输入看起来是正常的,追踪信号的 来源(输出引脚/端口)。 注意:打开下底层原理图时,按住 CTRL 键双击图纸上的页面符号。 Module 3: Schematic Editor Basics 0 - 82 12. 集成库概念介绍 (45 minutes) 12.1 集成库模型介绍 Altium Designer 引入了集成库的概念,也就是它将原理图符号、PCB 封装、仿真模型、信号完 整性分析、3D 模型都集成在了一起。如图 42 所示,需要将每一个元件的 PCB 封装、仿真模型、信 号完整性分析、3D 模型都添加到原理图符号上,进行关联,然后编译,使之生成集成库。这样,用 户采用集成库中的元件做好原理图设计之后,就不需要再为每一个元件添加各自的模型了,大大的 减少了设计者的重复劳动,提高了设计效率。 12.2 dblib, svnlib 库类型介绍 在以往的产品设计中我们经常被如下问题困扰: z 元器件的采购周期太长,造成研发延期; z 元器件采购错误,造成研发延期; z 研发出来的产品成本超过预算; z 大量长期不用的元器件占据我们库存管理的资源; z …… 诸多问题的最终根源是,由于传统的 EDA 工具没有提供与数据库的接口能力,所以不能提供设 计人员与采购人员之间良好沟通的桥梁。另外,由于传统的 EDA 工具都是单点解决方案,所以各个 设计人员之间不能够做到设计库的共享,不仅浪费了工程师的宝贵时间,而且还为整个公司库的管 理和统一带来极大的不便。 基于最新网络技术和计算机技术开发的新的统一的电子产品开发平台——Altium Designer,不 仅能够实现统一管理设计元件库,而且它能够连接公司的数据库,在设计中实时查看数据库中各种 元器件的采购信息和库存信息,搭起了设计人员与采购人员之间双向沟通的桥梁。 z 创造发明了集成库,把原理图符号、PCB 封装、信号仿真模型、信号完整性分析模型 和 3D 模型等元器件相关的各种模型信息关联起来,方便设计库的统一管理; z 通过 DBLink 文件方式,为每个集成库元件添加了与数据库的接口链接,可以实现远程 调用数据库信息; z 完整数据库驱动的器件信息系统——DBLIB,它即实现了 Altium Designer 与数据库的 链接,也方便统一管理设计元件库,它更方便把 Altium Designer 的电子设计平台集成 到 PDM/ERP 系统中; z SVNDBLIB 在 DBLIB 的基础上,把元器件各种模型信息,如原理图符号、PCB 封装、 信号仿真模型、信号完整性分析模型和 3D 模型等,添加进 PDM/ERP 系统的版本控制 流程,更加保障了设计元件库的安全性和统一管理; Module 3: Schematic Editor Basics 0 - 83 12.2.1 DBLIB 完整数据库驱动的器件信息系统——DBLIB,它的系统模型如下图所示。我们需要为原有的数 据库中添加列表,这些列表代表着元器件的各种模型信息,从而组成了新的中心数据库。 工程师在使用 DBLIB 放置一个器件时,Altium Designer 软件通过数据库接口链接到中心数据 库并读取与这个元器件相关的所有列表。它读取到元器件的各种模型信息,然后到模型信息指定的 文件中找到模型信息,并加载到设计中。同时,它把这个元器件相关的其他信息,如采购信息和库 存信息等加载到这个元器件的属性中。 Altium Designer 软件,就是通过这样的方式从远方数据库获取采购和库存等信息。由于通过数 据库形式固定了元器件各种模型之间的对应关系,所以做到了设计元件库的统一管理。如果我们的 数据库是来源于公司的 PDM/ERP 系统,那么 DBLIB 也可以实现 Altium Designer 电子开发平台与 PDM/ERP 系统在器件库方便的集成。 图 69 DBLIB 系统模型 采用 Dblib 的实例步骤如下: 1.建立数据库格式的库文件 采用 Altium Designer 的 DatabaseLib Editor ,如图 70 所示,建立并管理一个数据库格式的库 文件。建立一个新的数据库格式的库文件,可以在菜单上选择 File » New » Library » Database Library 命令。 Module 3: Schematic Editor Basics 0 - 84 图70 Altium Designer的DatabaseLib Editor 例子请参考 VishayCapacitor.DBLib,可在\Program Files\Altium Designer \Examples\Cis\Example DBLib 文件夹中找到。 2. 连接到外部的数据库 Altium Designer 可以连接任何提供 OLE DB 支持的数据库。一些数据库可能不提供 OLE DB 支 持,但是目前使用的所有的数据库管理系统都可以通过开放式数据连接接口(ODBC)来访问。 建立与外部的数据库的连接,可以使用 Altium Designer 的 DatabaseLib Editor 窗口中 Source of Connection ,如图 71 中提供的方式。 图 71 建立与外部数据库的连接 z 快速连接到 Access 或 Excel 形式的数据库 如果外部数据库是通过 Microsoft Access 或者 Excel 建立的,你可以选择 Select Database Type 建立连接。在下拉菜单下选择数据库类型,然后点击 Browse 选择目标数据库文件。 z 建立一个连接线程 如果外部数据库不是通过 Microsoft Access 或者 Excel 建立的,你可以选择 Use Connection String 选项来建立连接线程。点击右边的 Build 按键 ,Data Link Properties 对话框会弹出来, 如图 76。 Module 3: Schematic Editor Basics 0 - 85 Altium Designer 缺省的 OLE DB Provider 是 Microsoft Jet 4.0 ,你可以点击 Provider 菜 单来选择你需要的 OLE DB Provider 或者 ODBC。在 Connection 菜单下,你可以选择或者输入外部 数据库的文件名(包含路径)。如果外部数据库需要登陆访问,你可以在这里输入登陆信息。其他 高级的设置请选择 Advanced 菜单。在 All 菜单下,是所有连接选项定义的汇总。你可以在这里更改 它们的设置。 所有设置完成后,你可以点击 Connection 菜单下的 Test Connection 按钮。如果设置正确, 则会有连接成功的对话框弹出。 图 72 Data Link Properties 对话框 z 指定一个数据连接文件 如果你要连接的数据源是由 Microsoft 公司的数据连接文件(*.udl)来描述的,你可以选择 Use Data Link File 选项来指定数据连接关系。点击右边的 Browse 来指定你需要的数据连接文 件。 3.建立连接 如果你正确的定义了外部数据库的连接关系,Connect 按钮上的字会变成黑体。点击这个按 钮,如果正确连接按钮上的字会变成灰色的 Connected,同时外部数据库的表格和关联信息会出现 在这个 DBLib 文件中。如果连接有问题,怎会有提示跳出。检查数据库设置后,在重新连接。 4. 数据库列表 图 73 连接不正确 Module 3: Schematic Editor Basics 0 - 86 当正确连接到外部数据库,窗口的左边会出现数据库中所有的专栏列表名称(如图 74 所示)。 当这个数据库格式的库文件被在 Libraries 面板中选为可用的库文件时,这些列表都将以独立的库 文件实体出现。 右侧的 Enable 选项如果选中,则该列表会以独立的库文件实体出现;如果未选中,则不会以独 立的库文件实体出现。 图 74 数据库专栏列表 当我们选择列表中的一个条目,它的图标会由 变成 。同时数据库的详细信息会出现在 Table Browses 中。如图 75 所示。这个列表是不可更改的。 图 75 Table Browses 列表 Module 3: Schematic Editor Basics 0 - 87 5.数据库中的域和设计参数的对应 我们点击 Field Mappings 图 76 将出现。第一列 Database Field Name 列出了数据库中所包含 的所有域的名称。第二列 Design Parameter 列出了设计中与器件相关的参数。Update Values 设置数据库那边更新,设计图纸尚更新与否;Add To Design 设置这个参数是否加到设计中; Visible On Add 设置这个参数是否显示; Remove From Design 设置这个参数是否从设计中删 除。 图 76 设置器件参数映射和更新选项 DBlib 创建好之后,在设计中可以使用数据库格式的库文件。 使用之前先加载数据库格式的库文件。数据库格式的库文件同样是在 Library 面板上加载的。和 其他库文件不同的是加载数据库格式的库文件在库文件列表中会出现很多的文件列表。我们点击打 开一个库文件,和其他集成库文件的操作结果一样,库中的所有元件出现在列表中。所选择元件的 图形符号、PCB 封装等信息出现在窗口的下边。如图 77 所示。 点击放置,就可以把所选择的器件放置在我们的设计文件中。用法同集成库文件的用法完全相 同。不同的是我们双击放置在设计图纸中的元件,包含元件属性信息的窗口会弹出来。我们会发现 在窗口中多了一项叫做“Library Link – Database Component”的选项。见图 78 红颜色方框中。 Module 3: Schematic Editor Basics 0 - 88 图 77 数据库格式的库文件元件列表 图 78 数据库格式的库文件元件属性 如果您在设计库列表中加载了 DBLIB,那么 Altium Designer 在每次开启的时候都会自动同步 数据库。对于已经放置在设计中的元器件,在原理图编辑环境下执行 Tools >>Update Parameter From Database 命令就可以完成所有元器件数据库参数的更新。 另外,Altium Designer 软件的 BOM 表可以包含采购和库存等信息,同时 Excel 格式的 BOM 表可以实现定制化输出,为 BOM 表回送公司的 PDM/ERP 系统提供了便利。具体操作如图 79 所 示。在窗口的底部,选择“Include Parameter Form Database”,则在窗口的左下侧会出现一个信 息窗口。在信息窗口下选择相应的数据库信息,则这个信息就会出现在元件属性列表中。 Module 3: Schematic Editor Basics 0 - 89 图 79 包含数据库信息的 BOM 表 12.2.2 SVNDBLIB SVNDBLIB 是一种新型的 DBLIB,它与 DBLIB 的区别是它把期间的模型文件纳入版本控制管 理,更加严格地控制了设计元件库的来源。 完整数据库驱动的器件信息系统——DBLIB,它在实现时元器件模型信息指定的元器件模型文 件可以存放在任何地方。虽然严格的数据库管理能够保障元器件模型信息的正确,但是由于模型文 件没有被很好地保护,会带来很大的设计风险。同时这样的方案无法避免工程师使用 DBLIB 以外的 设计元件库。 SVNDBLIB 把元器件的模型文件纳入版本控制管理,有效地保障了设计元件库的安全性,大大 降低了设计风险。这个方案还可以方便把器件管理纳入到 PDM 系统中。不仅完整地保护了设计元 件库,同时也有效去除了设计工程师使用外部设计元件库的可能。 为了实现 SVNDBLIB,把所有元器件的模型文件纳入版本控制管理,首先,我们需要把现有的 器件库分裂,每个元器件的每个模型生成一个单独的库文件。这样版本控制就可以有效地追溯每个 元器件的每个模型的任意修改。目前 PTC 的 Windchill 系统对每个元器件每个模型都是以单独文件 的方式进行管理。这种库管理方式更容易实现与 Windchill 系统集成。Altium Designer 软件自带的 库分裂器可以很方便的生成每个器件一个文件的形式。 另外,为了更好地实现与 PDM 系统的集成和有效管理设计元件库,我们需要进行相关的二次 开发,提供库管理员接口界面和使用工程师接口界面。库管理员接口界面,主要是帮助库管理员管 理每个元器件的每个模型;使用工程师接口界面,帮助工程师查找元器件、并从 PDM 系统中检出 该元器件模型,放置在设计中。 Altium 公司提供软件 SDK 开发包,可以有效地支持二次开发工作。 Module 3: Schematic Editor Basics 0 - 90 Day2 I3 PROGRAM TRAINING Table of Contents 第二天(Day 2): 1, 库编辑器 (40 minutes) 1.1 原理图库编辑器及创建元件符号 .......................................................................... 1.2 PCB 库编辑器及创建元件封装 ............................................................................ 1.3 元件参数介绍以及链接相关文档 .......................................................................... 1.4 参数管理器以及编辑参数信息 ............................................................................. 2, 添加模型信息到元件 (20 minutes) 2.1 添加模型及模型管理器 ....................................................................................... 2.2 创建集成库 .......................................................................................................... 3, 完成原理图设计并更新器件 (45minutes) 3.1 更新器件信息到原理图 ........................................................................................ 3.2 更新器件封装........................................................................................................ 4, PCB 编辑基础 (30 Minutes) 4.1 视图命令 .............................................................................................................. 4.2 选择 ..................................................................................................................... 4.3 其他鼠标行为 ....................................................................................................... 4.4 跳转菜单 .............................................................................................................. 4.5 总结以及其他板级洞察功能 ................................................................................. 5, 创建 PCB 设计文件 (30minutes) 5.1 定义 PCB 外形(由 3D step 文件).................................................................... 5.2 设置 PCB 板层结构 ............................................................................................. 6, 将设计更新到 PCB 以及设计同步 (45 minutes) 6.1 设计更新到 PCB .................................................................................................. 6.2 设计同步 .............................................................................................................. 7, PCB 设计对象 (20 minutes) 7.1 PCB 基本设计对象 .............................................................................................. 7.2 多边形区域以及尺寸标注....................................................................................... 8, PCB 查询,全局编辑以及设计复用 (15 minutes) 8.1 PCB 查询,全局编辑........................................................................................... 8.2 设计复用 .............................................................................................................. 8.3 练习-全局编辑 ................................................................................................... 9, 设计规则 9.1 9.2 9.3 10, PCB 布局 10.1 10.2 (30 Minutes) 设计规则浏览及添加设计规则 ............................................................................. 设计规则查询系统及使用 ..................................................................................... 设计规则优先级 ................................................................................................... (45 Minutes) 查找及移动器件 ................................................................................................. . 交互式布局命令 11, PCB 布线 11.1 11.2 (60 minutes) 交互式布线........................................................................................................... 自动布线介绍 ....................................................................................................... Software, documentation and related materials: Copyright © 2008 Altium Limited. All rights reserved. You are permitted to print this document provided that (1) the use of such is for personal use only and will not be copied or posted on any network computer or broadcast in any media, and (2) no modifications of the document is made. Unauthorized duplication, in whole or part, of this document by any means, mechanical or electronic, including translation into another language, except for brief excerpts in published reviews, is prohibited without the express written permission of Altium Limited. Unauthorized duplication of this work may also be prohibited by local statute. Violators may be subject to both criminal and civil penalties, including fines and/or imprisonment. Altium, Altium Designer, Board Insight, Design Explorer, DXP, LiveDesign, NanoBoard, NanoTalk, P-CAD, SimCode, Situs, TASKING, and Topological Autorouting and their respective logos are trademarks or registered trademarks of Altium Limited or its subsidiaries. All other registered or unregistered trademarks referenced herein are the property of their respective owners and no trademark rights to the same are claimed. Module Seq = 3 1. 库编辑器 (40 minutes) 创建库器件部分介绍了各种库类型和在 Altium Designer 中创建和管理库文件的方式。 本部分将详细描述原理图和 PCB 库编辑器的使用方法,另配有操作练习,学习如何在原理 图库中创建单部件和多部件封装、创建 PCB 封装、安装模型和使用不同库文件。 我们还将介 绍集成库 ― 一种安全、轻便、经过汇编的库文件。 本部分还将讨论如何添加器件参数,并配有从供应商管脚列表中导入管脚信息的操作练 习。 图 1 在 Altium Designer 中创建器件库的操作流程图 图 1 Altium Designer 器件创建流程. Module 3: Schematic Editor Basics 0-1 1.1 原理图库编辑器及创建元件符号 本部分讲述如何使用原理图库编辑器和如何创建新器件。 原理图库编辑器用于: z 创建和修改原理图器件符号 z 在模型中安装器件 z 添加参数到器件 z 管理器件库 原理图器件库编辑器的操作方式和原理图编辑器类似,并共享相同的图对象类型(但不共 享电气对象)。 此外,原理图器件库编辑器另有对象 ― 管脚,它用在电线和器件的连接处。 图 2 原理图库编辑器工作区 执行 File » Open 菜单命令可打开 Schematic Libraries (*.SchLib) 进行编辑。 导航到所需 器件库所在文件夹并找到该库,如:C:\Program Files\Altium Designer 6\Examples\Training\Temperature Sensor\Libraries\Temperature Sensor.SchLib,然后单击 Open。  集成器件库(*.IntLib)属于编译二进制文件,不能编辑。如果试图打开一个集成库,该 库将进行反编译操作,也就是说,所有源库都会解压缩,并创建新的库包。软件提供的所有器 件库都是集成库。 Schematic Libraries (*.SchLib) 执行 File » Open 菜单命令可打开 Schematic Libraries (*.SchLib) 进行编辑。 导航到所需器件库所在文件夹并找到该库,如:C:\Program Module 3: Schematic Editor Basics 0-2 Files\Altium Designer 6\Examples\Training\Temperature Sensor\Libraries\Temperature Sensor.SchLib,然后单击 Open。 原理图器件库编辑器有右键菜单、Utilities 工具栏和 Mode 工具栏(如图 3 所示) Utilities 工具栏包括一系列标准绘图工具和全套 IEEE 符号。 图 3 库编辑工具栏和右键命令选项 1.1.1 原理图库编辑器术语 z 对象 ― 能放置在原理图器件库编辑器工作区内的任何单独项目,例如管脚、直 线、弧线、多边形和 IEEE 符号等。 注: 符号的 IEEE 范围在放置过程中都可以调整大小。 在放置符号时,按住 + 和 – 键可扩 大和缩小它们。 z 部件 ― 图表对象的集合,用来表示多部件器件中的一个部件(如 7404 里的反相 器),或是通用或独立封装器件中的一个封装器件(如电阻器或 80486 微处理 机)。 z Zero 部件 ― 这是多部件器件中才有的专用不可视部件。 在将器件放置到原理图上 时,添加到 Part Zero 中的管脚会自动添加到器件的每个部件上。 要将管脚添加到 Part Zero,请将其放置在任何部件上,对它进行编辑,并将 Pin Properties 对话框中 的 Part Number 属性设为 Zero。 z 器件 ― 可以是单个部件(如电阻器),也可以是封装在一起的部件集合(如 74HCT32)。 z 别名 ― 指当库器件有多个名称共享相同器件描述和图形图像时的命名方法。 例 如,74LS04 和 74ACT04 可以是 7404 的别名。共享图形信息可以使库变得更为紧 凑。 z 隐藏管脚 ― 指器件上存在但不需要显示的管脚。 这种情况通常适用于电源管脚。 执行此操作后,电源管脚可自动连接到 Pin Properties 对话框中指定的网络。 该网 络不需要出在在原理图上;网络创建后,它将名称为 Connect To net 的所有隐藏管 脚都连接起来。 在原理图图纸上可见(也就是不隐藏)的管脚不会自动与其连接。 Module 3: Schematic Editor Basics 0-3 在 Component Properties 对话框中选择 Show All Pins 选项,可以将隐藏管脚显示在 原理图图纸上。 z 方式 ― 一个器件可以有高达 255 种不同的显示方式。 它适用于 IEEE 器件表示和 运算放大器的备用管脚排列等。 使用 Tools » Mode 子菜单或 Mode 工具栏中的选 项可为器件添加新的显示方式。 器件的显示方式可在原理图图纸中改换。 1.1.1.1 原理图器件库编辑器面板 原理图器件库编辑器(Schematic Library Editor)面板提供了大量的原理图器件处理功 能。 具体功能如下。 面板每个区域下的按钮应 用于该区域中的选定项目。 您可以通过 View » Workspace Panels » SCH » SCH Library 或 Altium Designer 界面右下角的 SCH » SCH Library 找到该面板。 z 器件区 该区列出了活动库中的所有器件。 双击器件打开 Library Component Properties 对话框。 使用右键菜单中的按钮和选项管理库。 z 部件区 Part 按钮用于单步通过多部件器件中的各 个部件。 z 别名区 该区能为共享同一图形和描述的器件添加 备用名称。 z 管脚区 该区列出了当前器件的所有管脚。 可通过双击方式对单个管脚进行编辑。 选择 View » Show Hidden Pins 显示所有定 义为隐藏的管脚。 此操作不会更改管脚的实际 隐藏/非隐藏状态,它只将在库编辑器中显示隐 藏管脚。 图 4 原理图库面板 在使用增量名/符号名放置多个管脚时,先 从菜单中选择 Place » Pin,然后按 TAB 键定义 起始值。 在默认情况下,管脚编号和名称都呈递增情况。 Module 3: Schematic Editor Basics 0-4 递增行为可以通过 Preferences 对话框中的(shematic / gerneral) Auto-Increment during Placement 选项控制(初始值为管脚编号)。 要使值递减,可输入负号。 要使值按字母顺序递 增,则输入字母值。 如值为单个字母后加多个数字,则按首字母递增排序。 如果有多个字母, 则按最后一个字母递增或递减。 当前器件的所有管脚也可在 List 面板中查看或编辑。要过滤器件以仅显示管脚,请在图形 区中单击右键,然后从浮动的右键菜单中选择 Filter » Examples » Pins。 如果 List 面板当前不 可见,可按 Shift+F12 使之显示。 注意:您可以在 List 面板中编辑多个管脚属性,还可以在电 子数据表之间进行复制和粘贴。 1.1.2 器件属性 Component Properties 对话框用来为器件符号添加模型和参数信息。 在 Sch Library panel 中双击器件名字可显示属性对话框。 图 5 器件属性对话框 可以为器件定义的常见信息包括: z 默认符号名 ― 定义器件符号名使用的前缀字符串。 z 注释 ―― 器件的描述。 对于具有固定定义的器件,如 74HC32,应输入该标准描 述字符串。 对于那些数值可以更改的分立器件,如电阻器,应输入数值。 注意, 本字段支持间接取值,因此可以显示此器件的任意参数值。 输入等号和参数名(不 Module 3: Schematic Editor Basics 0-5 能有空格)可启用间接取值功能。 如果此字段保留为空白,则器件库引用信息将在 放置器件时输入在注释中;在将该器件放置到原理图后,您可以对注释进行定义。 图 6 使用 List 面板查看或编辑器件管脚 z 描述 ― 用于搜索和在 BOM 中使用的描述。 z 类型 ― 备用器件类型,供特殊情况下使用。 图形器件在 BOM 中不会同步化或包 括在 BOM 中。 机械类型只有在它们同时存在于原理图和 PCB 中时才会同步,并 且可以存在于 BOM 中。 网连(Net Tie)器件用于短接 PCB 上的两个或两个以上 的网络。 z 参数 ― 库编辑器或原理图中可以添加任何数量的参数。 参数可以链接到公司数据 库;为此只需将数据库链接文档添加到项目即可实现。 z 模型 ― 可添加各种器件模型,包括封装、仿真和信号完整性分析模型等。 z 锁定管脚 ―― 如启用此选项,器件放置在原理图上后,将无法对管脚进行编辑, 而只能对整个器件进行操作。 如要编辑管脚,则需禁用此选项,然后单击 Edit Pins 按钮。 2.31.1.3 练习 ― 创建新的器件符号 1. 现在我们要创建一个器件 ―― 串行温度传感器。 如果原理图器件库尚未打开,请打 开:\Program Files\Altium Designer 6\Training\Temperature Sensor\ Libraries\Temperature Sensor.SchLib 2. 在创建器件前,首先将此库导入温度传感器项目。 如果该项目尚未打开,请重新打开打 开在 Environment and Editor Basics 培训阶段创建的项目: \Program Files\Altium Designer 6\Examples\Training\Temperature Sensor\Temperature Sensor.PrjPcb 3. 要将库添加到项目中,单击 Projects 面板中的 Temperature Sensor.SchLib 并按住不放, 将它拖动到项目文档名称上。Temperature Sensor.PrjPcb. 会从 Free Documents 中消失,而出现 在项目框架的 Libraries 文件夹图标下。 4. 在项目名称上单击右键,选择 Save Project。 5. 要创建新的器件,选择 Tools » New Component。 Module 3: Schematic Editor Basics 0-6 6. 在 New Component Name 对话框中输入 TCN75。 7. 出现空白图纸时,按 PAGE UP 键放大,直到看到网格。 器件体的左上端通常位于坐标原 点 0,0(以两条深色网格线表示)。 8. 检查 Snap Grid 和 Visible Grid 是否设置为 10(Tools » Document Options)。 图 7 微芯片 TCN75 串行温度传感器 9. 为图 7 所示的器件创建图形表示。器件体为长方形,放置在图纸正中原点处。 原点为两 条暗色网格线构成的十字准线交点,可放大/缩小显示十字线和网格线。 放置长方形时从原点 开始,器件体为 80 单位宽 x 70 单位高,您可以使用 Status bar 上显示的坐标来引导。 10. 为部件放置管脚。 要注意管脚方向,高电位端须远离器件体。 放置管脚时,光标应位于 管脚的高电位端。 按 SPACEBAR 键旋转管脚或按 X 或 Y 进行翻转。 11. 在放置管脚前,按 TAB 键编辑管脚属性。Pin Properties 对话框将会打开。 记住: 检查管脚数是否正确以及管脚长度设置是否恰当(如 20)。 根据下表设置电气类型: 管脚数 1 2 管脚名称 SDA SCL 电气类型 IO Input 注意: 放置管脚 5、6 和 7 时使用自动递增/ 递减功能。 3 INT/CMP Output 4 GND Power 5 A2 Input 6 A1 Input 7 A0 Input 8 VDD Power 12. 完成器件绘图后,设置: - 符号名为 U? Module 3: Schematic Editor Basics 0-7 - 注释为 TCN75 - 描述为 Serial temperature sensor 此时,此器件仅仅是一个符号,它没有模型或参数 ― 它应至少需要有一个封装。 你可以 在下一阶段为此器件创建一个封装,然后回到原理图器件库编辑器把它链接到符号。 1.2 PCB 库编辑器及创建元件封装 PCB Library Editor 用于创建和修改 PCB 器件封装,管理 PCB 器件库。PCB Library Editor 还提供 Component Wizard,它将引导您创建通用的 PCB 器件类型。 1.2.1 PCB Library 工作空间 图 8. PCB Library Editor 工作空间 视图命令、图元对象、层、选择与焦点、网格和常用的编辑功能都与 PCB Editor 相同。 Preferences 对话框与 Board Options 对话框的设置也应用于 PCB Library Editor。 1.2.2 PCB Library Editor panel Module 3: Schematic Editor Basics 0-8 PCB Library Editor 的 PCB Library 面板提供操 作 PCB 器件的各种功能,包括: 面板的 Components 区列出了活动库中的所有器 件。 在 Components 区中单击右键将显示菜单选项, 您可以新建器件、编辑器件属性、复制或粘贴选定器 件,或更新开放 PCB 的器件封装。 请注意右键菜单的 copy/paste 命令可用于选中的 多个封装,并支持: z 在库内部执行复制和粘贴操作; z 从 PCB 复制粘贴到库; z 在 PCB 库之间执行复制粘贴操作。 Components Primitives 区列出了属于当前选中 器件的图元。单击列表中的图元,在设计窗口中加亮 显示。 选中图元的加亮显示方式取决于面板顶部的选 项: z 启用 Mask 后,只有点中的图元正常 显示,其他图元将灰色显示。单击工 作空间右下角的 按钮将删除过 滤器并恢复显示。 z 启用 Select 后,您单击的图元将被选 中,然后您便可以对它们进行编辑。 在 Component Primitives 区右键单击可控制其中 列出的图元类型。 图 9. PCB Library 面板 1.2.3 使用 Component Wizard 创建器件 PCB Library Editor 带有 Component Wizard。通过此向导,用户可以选择不同的封装类 型,填写相应的信息,然后将生成器件封装。 要启动 Component Wizard,右键单击 PCB Library Editor 面板的 Components 区,选择 Component Wizard,或者选择 Tools » New Component。 Module 3: Schematic Editor Basics 0-9 1.2.4 使用 IPC 封装向导创建器件 IPC Footprint Wizard 用于创建 IPC 器件封装。IPC Footprint Wizard 不参考封装尺寸,而是 根据 IPC 发布的算法直接使用器件本身的尺寸信息。 当 PCB Library 是活动文档时,通过 Tools » IPC Footprint Wizard 菜单,可打开新的 IPC Footprint Wizard 来创建 IPC 器件封装。 根据 IPC 标准,它还支持 3 种封装变量以满足板卡密度要求。该向导支持 BGA、BQFP、 CFP、CHIP、CQFP、DPAK、LCC、MELF、MOLDED、PLCC、PQFP、QFN、QFN-2ROW、 SOIC、SOJ、SOP、SOT143/343、SOT223、SOT23、SOT89 和 WIRE WOUND 封装。 -图 10. IPC Footprint Wizard 中支持的其中一个新封装就是 DPAK(Transistor Outline). IPC Footprint Wizard 的功能还包括: z 整体封装尺寸、管脚信息、空间、阻焊层和公差在输入后都能立即看到。 z 还可输入机械尺寸如 Courtyard、Assembly 和 Component Body 信息。 z 向导可以重新进入,以便进行浏览和调整。每个阶段都有封装预览。 z 在任何阶段都可以按下 Finish 按钮,生成当前预览封装。 1.2.5 使用 IPC Footprints 批处理生成器创建器件 当 PCB 库是活动文档时,通过 Tools » IPC Footprint Batch Generator 菜单,IPC Footprint Batch Generator 可以快速生成多个封装,并通过包含封装信息的输入文件生成多密 度单器件。 Module 3: Schematic Editor Basics 0 - 10 图 11. IPC Footprint Batch Generator 选项可选择在当前开放的 .PcbLib 中创建所有器件,或 根据输入文件或封装名称生成单个.PcbLib 文件。 IPC Footprints Generator 的支持包括: z 可在对话框中打开安装目录 \Templates 文件夹下提供的封装类型空白模板文件。另 外还提供封装类型模板的帮助信息。 z 封装输入文件只需包含单个封装类型的一个或多个封装信息,文件格式可以是 Excel 或以逗号分隔(CSV)。 1.2.6 手动创建器件 在 PCB Library Editor 里使用 PCB Editor 中相同的图元对象来创建器件。除了 PCB 器件 外,转角标记、机械定义等等也可保存为器件。 手动创建器件封装的常见顺序是: z 在 PCB Library Editor 中打开想要的库。 Module 3: Schematic Editor Basics 0 - 11 z 选择 Tools » New Component 菜单命令。您会看到一个空的器件封装工作空间,称 为 PCBComponent_1。双击 Components 列表中的名称对该器件重新命名,选择 Component Properties 在 Component Properties 对话框中输入新名称。器件名称的 字符数最多不超过 255 个。 z 使用线轨或其他图元对象把器件轮廓放在 Silkscreen 层。 z 根据器件要求放置焊盘。在放置第一个焊盘前,按下 TAB 键定义所有的焊盘属性。 请确保指示器的属性设置正确。一般来说,放置的第一个焊盘是管脚 1, 因此将第 一个焊盘的指示器设置为“1”,指示器会自动增加。 注:0,0 坐标点是放置过程中器件的“保持”点。确保将其设定到合适的位置。可以选择 Edit » Set Reference 改变该位置。 1.2.7 复制器件 通常需要将器件从一个库复制到另一个库或在同一个库内进行复制。对于单个器件,您可 以使用 Edit » Copy Component 命令。该命令拷贝当前器件,并准备粘贴到某个 PCB 库中。 您也可以使用 PCB Library 面板的右键菜单命令拷贝/粘贴多个器件。按住 Ctrl 并单击选择 列表中需要的器件封装,然后右键单击选择 Copy,再次右键单击,选择 Paste X Components (X 是您选择的器件封装数)。 1.2.8 Library Editor 中的特殊字串 Library Editor 中有两种活动的特殊字串。您可以用来控制指示符(.Designator)和注释 (.Comment)的位置。 相对于将要放置指示符或注释的器件的位置,将这些字串放在 PCB Library Editor 的工作空 间中。 使用过程中,您可以隐藏在 PCB 文件中放置器件时添加的缺省指示符和注释。 1.2.9 练习– 创建器件封装 在本练习中,我们将创建新器件封装 SOIC8,以使用您刚刚创建的 Temperature Sensor 器 件 TCN75。 首先需要封装库。在培训中,我们将在项目库中创建封装。如果没打开,请打开封装库: \Program Files\Altium Designer 6\Training\Temperature Sensor\ Libraries\Temperature Sensor.PcbLib。 1. 创建封装以前,我们将把该封装库添加到 Temperature Sensor 项目。如果没有打开,重新 打开我们在 Environment and Editor Basics 培训中的项目 \Program Files\Altium Designer 6\Examples\Training\Temperature Sensor\Temperature Sensor.PrjPcb。 Module 3: Schematic Editor Basics 0 - 12 2. 要将库添加到项目中,单击 Projects 面板中的 Temperature Sensor.PcbLib ,然后将其拖 动到项目名称 Temperature Sensor.PrjPcb。项目将在 Free Documents 中消失,而会在对象结构 中的 Libraries 文件夹图标中显示。 3. 右键单击项目名称,选择 Save Project。 4. 使用封装向导创建 SOIC8 封装,选择 Tools » IPC Footprint Wizard 运行 Wizard。 5. 在模式类型列表中,选择 Small Outline Packages(SOP),如图 12 所示。 -Figure12. 在 IPC Footprint Wizard 中选择封装类型 6. 参考图 13 的尺寸信息。请注意向导完成时将创建 8 个圆角焊盘。 -图 13.SOP 封装尺寸. Module 3: Schematic Editor Basics 0 - 13 7. 逐步通过 Thermal Pad dimensions、Heel spacing、Solder fillets、Component Tolerances 和 IPC Tolerance。 8. 在 SOP Footprint Dimensions 页,将焊盘形状改为 Rectangular. 9. 在 SOP Silkscreen Dimensions 页面将 silkscreen 线宽改为 0.1mm. 10. 进入 Courtyard, assembly and component board information 页面。 11. 在封装 Description 页面,将名字改为 SOIC8,描述保持不变。 12. 在 Footprint Destination 页面,把现有 PcbLib 文件设置为 \Program Files\Altium Designer 6\Training\Temperature Sensor\ Libraries\Temperature Sensor.PcbLib 13. 单击完成,结束向导并创建如图 14 所示的新器件。 图 14.完成 temperature sensor.pcblib.中的封装创建 14. 保存库和项目。 1.2.10 浏览封装库 • 单击面板顶部的 按钮并选中 Footprints 复 选框,以此启用封装显示模式。 Module 3: Schematic Editor Basics 0 - 14 • 在下拉列表中选择库名称,该库中的所有封装都将显示。库可以是集成库,也可以是封装 库。 • 活动项目中的封装库、当前安装的封装库或搜索路径上的封装库都可以在面板中找到。 • 单击面板顶部的 Libraries 按钮安装封装库。 • 库的搜索路径在 Options for Project 对话框 的 Search Path 标签中规定。 • 要搜索某个封装,首先启用 Footprints 模式,然后单击 Search 按钮。 图 15. Libraries 面板 • 单击列表中的封装名称,以在 MiniViewer 中显示该封装。 • 单击 Place 按钮或双击封装名称将选定封装放在工作空间中。 1.2.11 用不规则焊盘形状创建封装 有时候您需要创建带有不规则形状的封装。您可以使用库编辑器中的任意设计对象完成, 但有一个重要因素需要考虑。 软件会自动根据焊盘对象创建阻焊层和助焊层,如果您使用焊盘对象构建不规则形状,那 么将生成正确的、匹配的不规则屏蔽形状。如果您通过其他对象如线(轨)、填充、区段或者 弧线生成不规则形状,那么您还需要定义阻焊层或助焊层,方法是将经过适当扩展或压缩的对 象放在阻焊层和助焊层上。 图 17 和图 18 是不同设计师创建的各种 SOT-89 封装版本。图 17 使用 2 个焊盘在中心创建 大型不规则形状焊盘,图 18 使用焊盘和线(轨)。图 需要手动定义阻焊层和助焊层。 图 17. 使用焊盘创建不规则形状 Module 3: Schematic Editor Basics 0 - 15 图 18. 使用线轨创建不规则形状 1.3 元件参数介绍以及链接相关文档 1.3.1 器件参数 您创建的每个器件都可以有任意个器件参数,在库或者原理图上可以对参数进行添加/编 辑。参数可用于您所需的任何目的,包括: z 器件细节信息,如额定电压、器件版本等等; z 公司器件信息,如股票代码或价格; z 设计参考信息,如特定的装配要求; z 与参考信息的链接,如站点和 PDF。 Module 3: Schematic Editor Basics 0 - 16 图 19 添加参数,充分描述器件。 任何器件参数都可以放进 Bill of Materials,或者您通过 Report 生成对话框生成的客户报 告。 图 20 生成报告,包括您需要的任何器件数据。 1.3.2 练习 – 添加器件参数 要添加的有用器件参数是从原理图器件到数据表的链接。串行温度传感器器件有一个 PDF 数据表单,现在我们添加一个参数,可以直接从原理图打开数据表单。 1. 在 Windows File Explorer,确认有 PDF 数据表单。访问: C:\Program Files\Altium Designer 6\Examples\Training\Temperature Sensor 2. 在 Windows File Explorer,拷贝此地址位置(您可能需要先通过 View » Toolbars 菜单启 用 Address Bar)。 Module 3: Schematic Editor Basics 0 - 17 3. 回到 Altium Designer,然后在库编辑器中 TCN75 器件符号打开的情况下,在 SCH Library 面板双击其名称打开 Library Component Properties 对话框。 4. 在对话框的 Parameters 区域,单击 Add 按钮添加新参数,打开 Parameter Properties 对 话框。 5. 在 Name 域,输入 HelpURL。 6. 单击并将光标放在对话框的 Value 域,然后将从 Windows File Explorer 的 Address Bar 拷贝的地址粘贴到 Windows 剪切板,即:C:\Program Files\Altium Designer 6\Examples\Training\Temperature Sensor 7. 在字串最后输入反斜线符号(‘\),然后输入 PDF 名称,即: TCN75 - 21490b.pdf,如图 21 所示。 图 21. 添加 HelpURL 参数,将数据表链接到器件 8. 由于原理图上无需显示该字串,因此在 Parameter Properties 对话框中不要选中 Visible 复选框。 9. 单击 OK 关闭对话框,然后单击 OK 关闭 Library Component Properties 对话框。 10. 保存库。 现在可以在原理图表单上使用新的器件符号,检查封装和参数。 1.4 参数管理器以及编辑参数信息 1.4.1 添加和修改器件参数 参数可以添加到原理图库编辑器或原理图编辑器中的单个器件。在库级别添加参数可确保 器件信息的一致性,加快器件放置过程,这样器件就不需要单独添加。 Altium Designer 也提供强大的 Parameter Manager ,可以把参数全局地添加到库、原理图 或系列原理图。 打开 Parameter Manager: Module 3: Schematic Editor Basics 0 - 18 在 Schematic 或者 Schematic Library 编辑器,从菜单选择 Tools » Parameter Manager 启动 Parameter Editor Options 对话框。 启用需要的 Include Parameters Owned By 复选框,如果您正在编辑器件,那么一般只有 Parts 选项,然后单击 OK。 Parameter Table Editor 将会打开。栏目的标题与参数名相对应,每栏的内容与参数值相对 应。图 22 显示的就是 Parameter Table Editor。 图 22. Parameter Table Editor 右键单击 Parameter Table Editor 可显示选项,如 Add Columns、Add Parameter Values、 Copy、Paste 等等。也可以从标准文本和多数数据表单应用程序如 Microsoft Excel 粘贴数据。 所有参数更改都由 Engineering Change Order(ECO)流程控制,该流程可控制 ECO 的执 行,可以有选择地引入和删除操作,在执行前生成所有更改的报告。 1.4.2 练习– 在 Parameter Manager 中编辑参数 1.a) 从 Temperature Sensor.schlib 原理图库选择 Tools » Parameter Manager ,在初始对 话框中,确保只有顶部 Include Parameters Matched By 字段中的 Parts 选项被选 中,其他选项保持为缺省设置。 2. 在 Parameter Table Editor 中,右键单击选择 Add Column。 3. 在 Name 域,输入 Lead Time,勾选 Add to all objects 选项。让 Value 域保持空白,然 后单击 OK。新的栏目将创建出来,对话框的右边沿显示 Lead Time 标题。 4. 右键单击 DMC-50448N 器件的 Lead Time 栏内容,选择 Edit。该域将变为带有光标的 下拉框,输入 14 days 。 5. 右键单击 PWR2.5 器件的 Lead Time 栏内容,选择 Edit。现在可以从下拉框中选择以 前输入的文本。 Module 3: Schematic Editor Basics 0 - 19 6. 对于器件 PWR2.5 右键单击以前的 Lead Time 域,并选择 Copy,然后右键单击器件 TCN75 的域 Lead Time 并选择 Paste。 7. 用 Ctrl+Click、Shift+Click、或者拖动选择内容域来选择 Lead Time (不包括该栏的标 题)栏的整个内容。右键单击,然后选择 Edit,3 个单元格中只有一个显示为可编辑。输 入文本“3-5 Days”并敲击键盘上的 Enter 键。 8. 单击 Accept Changes(Create ECO)打开 Engineering Change Order 对话框。这是将要 应用到库的修改列表。请注意可以禁用单个修改。 9. 单击 ECO 对话框中的 Execute Changes 按钮,在设计中应用修改。Report Changes 按 钮可生成修改顺序列表,如果您需要记录对设计文件的修改,可以使用该顺序列表。 10. 保存库。 Module 3: Schematic Editor Basics 0 - 20 2. 添加模型信息到元件 (20 minutes) 2.1 添加模型及模型管理器 2.1.1 添加模型 有许多方法添加器件类型,包括: z 通过 Library Component Properties 对话框 z 通过主工作空间底部的类型区域 – 如果不可见,单击工作空间右下侧的向下小箭 头。 z 通过 Model Manager。Model Manager 可以同时为多个器件添加多个模型,这对跨 库查看指定模型十分理想。 图 23.在编辑窗口底部或者在 Model Manager 中添加并管理器件类型 2.1.2 练习–使用 Model Manager 添加封装 使用 Model Manager 添加封装: Module 3: Schematic Editor Basics 0 - 21 1. 如果还未打开,请打开 Temperature Sensor 项目(\Program Files\Altium Designer 6\Examples\Training\Temperature Sensor\Temperature Sensor.PrjPcb)。 2. 在 Projects 面板,浏览并打开原理图库: Temperature Sensor.SchLib。 3. 在 Schematic Library Editor 中选择 Tools » Model Manager 打开 Model Manager。显示 当前库中所有器件的列表以及任意模型,包括 Footprint、Simulation、Signal Integrity 和 PCB 3D 的模型。 4. 在 Model Manager 对话框,单击您创建的 TCN75 器件,使之成为活动的部分。 5. 单击 Add Footprint 启动 PCB Model 对话框,如图 24 所示。 图 24. 为器件添加封装类型 6. 如果您知道封装名称并且确信它就在当前可用封装库中,那么您可以直接在 Name 域 中直接输入名称,如果找到就会有图像显示,如果没有显示,您可以单击 Browse 打开 Browse Libraries 对话框,如图 39 所示。 注: 有许多不同方法可以从符号找到封装,这由 PCB Model 对话框中的 PCB Library 区 决定。Any 指在任何当前可用库中找到封装, Library Name 指必须来自特定的库,Library Path 指必须来自特定位置的特定库,如果您已经把该库编译进集成库,那么将自动设置 Use from integrated。 Module 3: Schematic Editor Basics 0 - 22 图 25. 使用 Browse Libraries 对话框直观地选择正确封装。 注: 对话框顶部的 Libraries 下拉菜单可从可用的封装库中选择您当前浏览的库, Find 按 钮可用来搜索,这将在 Schematic Capture 培训模块中演示。 7. 一旦查找到了新的 SOIC8 封装,选中它后,它会出现在 PCB Model 对话框中。单击 OK 关闭该对话框。 注: 如果封装编号方式与符号上的管脚编号方式不同,那么您需要定义从管脚到焊盘的映 射,单击 PCB Models 对话框中的 Pin Map 按钮完成。 8. 单击 Close 关闭 Model Manager,现在您已把 SOIC8 封装分配到了 TCN75 器件。 9. 保存库。 2.2 创建集成库 我们生成了原理图库和 PCB 苦,而且所有的模型链接到原理图器件库。 现在,我们可以 连接所有的库来生成一个集成库。 如果您有已创建的现有原理图 /PCB 库,那么这将十分简单。所以我们要做的是进入 File » New » Project » Integrated Library,创建 Integrated Library。 在这里,我们可以简单的拖放 schematic/PCB/PCB3D l 库到这个新生成的集成库中去。 Module 3: Schematic Editor Basics 0 - 23 图 26. 拖动的原理图/PCB/PCB3D 库现在处于集成库中。 现在创建扩展名为.INTLIB 的集成库,在 Projects Panel 右键单击 integrated library package 并选择 Compile Integrated Library。在此处 Altium Designer 把附加到原理图符号的所有模块链 接到一起,包括 Signal Integrity 和 Circuit Simulation,后者没有与本例一起放入一个库文件中。 该库文件可以包括 几百甚至几千个不同文件。 这样做有几个好处, z 集成库大小通常是原有文档的 1/8 到 1/10 。 z 随着项目变得越来越大,集成库完成诸如库更新、PCB 更新等任务的速度将越来越 快。换句话说,它的容量将大大增加。 z 集成库可以放到网络驱动器上在整个公司内使用。该文件也可以放在用户权限有限 制的驱动器上,这样只有特定用户,如库管理员,才能编辑它。 z 与非集成库相比,集成库更容易从库中添加和删除。  和其他事情一样,这样做也有缺点:编辑集成库时,需要将库解压缩到单个文件中。如 果管理不正确,这个流程将十分混乱。 编辑集成库时,需要如上所述将库解压缩到单个文件中。您只需打开 .INTLIB 文件,它就 会询问您是否需要解压缩,如图 27 所示。 Module 3: Schematic Editor Basics 0 - 24 图 27 尝试打开集成库时弹出的对话框。 单击 Extract Sources 您将看到如图 28 所示内容。 图 28 解压缩集成库 miscellanous devices 结果 请注意,只显示 schlib 和 pcblib 文档,当您浏览库接压缩到的目录时,将会看到有许多电 路仿真模型如 ckt 和 mdl 。如果有 PCB3D 模型,那么也会显示在该目录中,但不会出现在 Projects Panel 中。 对集成库中的文档进行编辑后,您只需右键单击 Projects Panel 中的 LIBPKG 项目,然后 和创建时一样选择编辑操作。如果集成库没有在使用,那么这将修改已创建的集成库。 您也可以设置集成库的创建目录,进入 Project » Project Options » Options Tab 并设置相 应的输出路径。 Module 3: Schematic Editor Basics 0 - 25 3. 完成原理图设计并更新器件 (45minutes) 随着可以在 Altium Designer 当中可以编辑器件的便利性,如果修改不理想,这也带来了 一些风险。 这个功能会检查图中的器件相对于库做出的修改 ,并且会产生一个报告 3.1 更新器件信息到原理图 原理图部件的比较通过原理图编辑器中的更新工具进行。 对照器件原先所属的库进行检查,如果没有相关库或者器件应对照其他库进行比较,则需 要更新器件的库属性。 图 29. 从原理图库到原理图的更新 z 从 Tools » Update From Libraries 打开 Update 对话框。 z 不要选择 Fully replace symbols on sheet with those from library 设置。 z 在如何处理参数差别方面, Advanced 按钮可以提供更大的灵活性。 z 单击 Finish z 如果 Engineering change order 对话框显示系统检测到差异,单击 Report Changes 按 钮生成打印报告。 z 可能最好不要执行 ECO 更改。 Module 3: Schematic Editor Basics 0 - 26 图 30. Engineering change order 对话框列出找到的所有可执行差异 一些 ECO 更新是有效的,而且也是我们所期望的。一般,通用的器件保存在库中,在放置 时进行定制。例如,可能库中有一个单个电容器件,一旦放置则值参数将被编辑。从库对话框 的第二个 Update 屏幕中排除这些器件检查可能比较值得。所以 ECO 生成具有不同参数或注释 属性的器件列表,是否检查可能不十分关键。 关键差异如: z Model Values(封装或管脚映射差异) z Part Symbol(管脚属性差异) 每个不同器件都有其唯一的原理图库部件,例如,在电容器库中每个可能的电容器值都有 单独的符号,更新检查到的任何差异都很重要。 注:要比较从一个库放置与从其他库中放置的器件,使用 Parameter Manager (在 Tools 菜 单中)。编辑系统参数调用库时必须十分小心,因为可能需要其他编辑操作才能恢复。 3.2 更新器件封装 PCB 封装的比较通过 PCB 编辑器的更新工具完成。 检查封装图元与 PCB 库的差异,比较特定的原理图对应部件或者器件的库属性。如同原理 图部件检查一样,PCB 封装库也要能得到才可以。 z Tools » Update from PCB Libraries z 设定期望单位和公差。此处的 imperial 和 0.001 mil 缺省设置能够满足多数情况,然 而如果您处理的是以前发布的设计,那么需要调整公差值,以避免显示不重要的差 异。 z 选择要比较的层。在某些情况下只有信号层的差异比较重要。 z Create Report 按钮可以生成 HTML 报告。 z 不希望在检查差异之前就处理 ECO 。 Module 3: Schematic Editor Basics 0 - 27 图 31. 从 PCB libraries 到 PCB 的更新。这将显示所有物理差异,生成需要更改的 ECO。 注:在更新时,如阻焊层扩展和助焊层扩展发生变化,请注意,PCB 本身的设计规则可替 换库中的设置。因此,即使您从库进行更新,PCB 设计规则也将修改通过该流程所做的更新。 实际上直接从 PCB 编辑器(通过打开器件图元)编辑封装的作法十分少见。导致差别的最 常见原因就是封装来自错误的库,或者来自库级别过期的封装变化。在任何情况下都要仔细考 虑这些差别,更新后需要通过 Batch DRC 确认这些更新不会危及 PCB 版图的完整性。 Module 3: Schematic Editor Basics 0 - 28 4. PCB 基础编辑 (30 Minutes) 当您开启或建立 PCB 文件时,PCB 编辑器即会开启,它分享所有 Altium Designer 环境中提 供的工作区功能。 PCB 编辑器的用途是与电路图编辑器一致的,在以下部份介绍其它额外的功能: Figure 31 PCB 编辑器工作区 一个 PCB 电路板是由好几组图层所组合而成,包括镀铜的电气层、机械层、屏蔽层、丝印 层(文字层)。连结每一个图层位于 PCB 编辑器设计窗口的底层边缘处的标签,它们允许你去切 换现在的图层与正在被使用的图层(高亮显示的卷标)给予可视化的指示。如果有更多的图层卷 标能够被显示在同一时间,可以使用滚动条的方式卷动标签,图层的颜色将会被显示在图层卷 标的右侧并且连点两下会开启电路板图层与颜色对话框。 4.1 View 指令 View 指令可在 View 菜单中或主要工具列中被选取,以下表格列出主要的 View 指令: Menu Command Toolbar Shortcut 快速键 Description 描述 Fit Document VD 适当显示在目前文件窗口中所有的对象 Module 3: Schematic Editor Basics 0 - 29 Fit Board VF 适当显示在目前 Board 窗口中所有的对象 Area VA 适当显示经由所框选方形区域内的所有对象 Around Point VP 适当显示经由所框选方形区域内的所有对象 View Selected Objects VE 适当显示在目前文件窗口中被选取起来的对象 View Filtered Objects VE 在目前文件窗口中适当显示所过滤的对象 Zoom In VI 在光标所在位置放大 Zoom Out VO 在光标所在位置缩小 Zoom Last VZ 在最后的 view 指令前回复显示它的状态 Refresh VR 刷新 (重画) 屏幕 Table 1. View 指令一览 接下来的快速键对于文件窗口的操作是非常有用的,这些快速键能够随时使用,甚至是正 在执行命令中。 Keystroke Function 功能 End 刷新(重画)屏幕 Alt + End 刷新(重画)目前的图层 Page Down 缩小视图(维持目前光标位置) Page Up 放大视图(维持目前光标位置) Ctrl + Page Down 观看文件 Ctrl + Page Up 在目前光标位置处做大幅度的放大 Home 自动边移 (目前光标所在位置移动到屏幕画面中央) Arrow Keys 在箭头所指方向用一个快速格点移动光标 Shift + Arrow Key 在箭头所指方向用 10 个快速格点移动光标 Table 2. PCB 观看操作的快速键 z Autopanning 当执行功能命令时执行自动边移改变,即当光标出现十字交叉的型态。在这个状态下,只 要碰触到窗口文件文件的任何一处边缘,将会执行自动编移的功能。 自动编移的速度是可以被控制的,藉由在参数设定中自动编移的选项(Tools » Preferences)。 自动编移也可以在这边进行关闭的设定。 z Right mouse panning 你也可以使用鼠标右键来浏览你的 PCB 文件。 1. 请将光标放置在 PCB Editor 工作区域中。 Module 3: Schematic Editor Basics 0 - 30 2. 按压鼠标右键使得光标显示为一只小手的样式。 3. 移动光标可搬移图纸到想要观看的位置。 Note: 一旦游标释放离开,你将需要重复此过程步骤。 z Displaying connection lines 在 View » Connections 功能菜单中,设定允许显示或者是隐藏单条 Net、零件的 Net 或者是 版子上的所有 Net 的鼠线。 4.2 选择(Selection) 使用选择的功能,对对象图标进行编辑。下面是关于使用选择使用的一些要点: z 当点击鼠标左键时可将对象选取。 z 将被选取的对象按压鼠标左键可以允许移动它。 z 通常在单击的情况下是赋予移动处理的能力。 z 可连续放置对象。 z 只要在工作区域中没有对象的地方进行点击,即可除选对象。 Note: PCB 零件不能被编辑,除非解开零件的锁定。零件包装通常只在 PCB 零件库中进行 编辑。 PCB 编辑对应在 Windows 其它应用程序中的选择,功能虽然不尽相同,但提供相似的选择 功能。 下面是一些关于在 PCB 编辑器里进行选择操作的要点: z 选取的物体可以剪下或者复制到剪贴板中,并且能在当前的 PCB 文件或者是在另一 个 PCB 文件上选择贴上。 z 有许多 PCB 编辑指令针对被选取的对象。例如:Tools » Interactive Placement 指令。 z PCB 编辑中使用可支持 PCB 数据,一块特别专有的剪贴板。当执行复制的操作功 能,图件也同时被放置进 Windows 的剪贴板中,可以在另一个 Windows 的应用程序 中进行粘贴。 选取对象,你可以使用下列方式: Method 方法 Function 功能 Click and drag box around 选取在框选范围内的对象 Shift + Click 选取不同的对象 (针对被选取的对象使用可以进行除选) Edit » Select menu (S) 选择 Inside Area(区域内)、Outside Area(区域外)、Touching Rectangle(框选方形区域内)、Touching Line(碰触到的线段)、 All(全部)、Board(板框内)、Net(网络)、Connected Copper(单层 有连接的铜箔)、Physical Connection(图件的联接)、Component Connections(单层零件关联的连接)、Component Net(零件关联的 Net)、Room Connections(Room 关联的连接)、All on Layer(该层 面全部)、Free Objects(Free 对象)、All Locked(所有锁住的对 象)、Off Gird Pads(零件 Pad 不在格点上)、Toggle Selection Module 3: Schematic Editor Basics 0 - 31 Select Inside Area 选取范围区域内 在主要工具列上的 按钮 Table 3 选取指令一览表 Function 功能 Cut 剪下 Copy 复制 Paste 贴上 Delete 删除 Move 移动 Rotate 旋转 Flip 翻面 Align 对齐 Jump to 跳耀至 View 视图 Convert 转换 Menu command 指令菜单 Edit » Cut Edit » Copy Edit » Paste Edit » Clear Edit » Move » Move Selection Edit » Move » Rotate Selection Edit » Move » Flip Selection Tools » Interactive Placement » Align Edit » Jump » Selection View » Selection Objects Tools » Convert Shortcut keys 快速键 Ctrl + X Ctrl + C Ctrl + V Ctrl + Delete Click-and-hold Spacebar X or Y A (Align Submenu) J (Jump Submenu) V (View Submenu) T (Tools Submenu) Table 4 选择的对象指令一览表 除选对象,执行功能菜单 Edit 项目中的 DeSelect 指令一览,或者是在主工具列中的 DeSelect All 图示。 4.3 其它鼠标动作 Mouse 操作列表,普遍的在 PCB Editor 中被使用。 在功能菜单中的 preference。 Mouse Operation 鼠标操作 Function 功能 Double-click 双击 改变对象 Click 单击 输入 Right-click 右键 跳出 Table 5 一般鼠标快键一览 4.4 Jump 菜单 Jump 功能菜单提供光标位置的相关指令。 Jump 子菜单指令描述如下: Menu Command 菜单指令 Shortcut 快速键 Absolute Origin JA Current Origin JO New Location JL Component JC Description 描述 光标跳至绝对坐标位置上 Ctrl + Home 键也能如此) 光标跳至相对坐标位置上 Ctrl + End 键也能如此) 光标跳至指定的坐标位置上 光标跳至指定的零件位置上 (执行 (执行 Module 3: Schematic Editor Basics 0 - 32 Net Pad String Error Marker Selection JN 光标跳至指定的 Net 位置上 JP 光标跳至指定的 Pad Number 位置上 JS 光标跳至指定的字符串上 JE 跳耀至 DRC 错误位置上 JT 跳耀至选取起来的零件并且作缩放动作 Table 6. Jump 指令功能一览 假如执行 Jump 指令没有跳至正确的坐标位置,缩放显示配合改正。 4.5 总结以及其他板级洞察功能 4.5.1 PCB 编辑其他新功能 总之,PCB 编辑部分提供了非常多的新功能,以上介绍只是一些基本功能。另外,在 PCB 编辑时还提供了一些方便设计者编辑及查看的新功能。比如: TM 提供 Board Insight 功能 具备了 Board Insight™ 功能后,就可以用简单、易用的格式显示 PCB 设计中的更多信 息。当在设计导航模式下,高级显示功能将在光标处动态显示出对象的最新信息。Board Insig ht 功能使得在复杂、密集、多层设计中浏览对象容易很多。 翻转并编辑板卡 AD 支持翻转板卡设计功能,真正实现了对 PCB 板的双面布局布线;利用翻转板卡设计功 能,用户在对 PCB 板的双面布局时不再有任何差异,这就简化了对高密 PCB 版图设计工作。 支持 True Type 字体 AD 提供了对在 PCB 上使用符号字符和 Unicode 字符集的支持,如希腊文、中文和日文语 言字符集;还实现了将字体嵌入到 PCB 文件中的功能,从而满足在不同计算机间的设计可移植 性。 Module 3: Schematic Editor Basics 0 - 33 4.5.2 PCB 基础练习 1. 开启 PCB 范例文件 4 Port Serial Interface.PcbDoc,文件位于 C:\Program Files\Altium Designer6\Examples\Reference Designs\4 Port Serial Interface 资料夹中。 2. 要熟悉的这个部分,透过在表格 9-13 中所列举的 PCB 显示和选择的指令列表。 3. 试着使用工具列上的指令和快捷键。 4. 开启 Board Options 设定对话盒,将 Visible Grid 2 关闭,设定 Visible Grid 1 为 50 mil 并且将 Snap Grid 设为 25 mil。(Design » Board Options) 5. 放置 Place 菜单指令中的 Fill 项目。退出这指令后使得 Fill 选择状态。在 Fill 对象上 透过单击以进行移动。单击的动作,可选择 Fill 对象内的距点执行旋转,并在旋转动作后 将 Fill 对象进行除选。 6. 在 PCB 文件,执行功能 View » Fit Document。 7. 选取零件为浮动状态。基础环境和编辑培训单元 1-49。 8. 当零件为浮动状态时,按压 Space 键,可以使零件进行旋转(Shift + Space 键可以使零 件作顺时针的旋转),而按键 L 则可以将零件翻转至背面。 9. (当零件在背面时,你可能需要开启该层面,才能够看到图件的显示。) 10. 点击零件并且开始移动它,当移动同时按下 Alt 键,强制零件只能依照按下按键同 时的位置进行水平或垂直的移动。朝着被要求移动的方向进行观察。如果你想要移动一个 组成部分并且保持它的调整,这个特色特别有用。 11. 选择一区域的零件(利用鼠标框选出一方型区域将那些零件选取起来). 12. 执行 Edit » Copy 指令功能,复制一区域内的群组零件,并显示在 Clipboard 中。 13. 别忘记给予参考点位置。 14. 选择 Edit » Paste 指令功能。Clipboard 中所复制的内容将跳至游标上。当移动该群组 零件时可以使它旋转,再利用点击,将该群组零件放置在要放置的位置上。 15. 关闭文件并且不储存改变。 Module 3: Schematic Editor Basics 0 - 34 5. 创建 PCB 设计文件 (30minutes) Board Options 对话框 Board Options 对话框允许你设置 PCB 文档的相关参数。选择 Design » Board Options 菜单命令,打开对话框。对话框中的设置将会在 PCB 文件中保存。 图 32. Board Options 对话框 z 测量单位 Measurement Unit 设置系统的坐标为公制或英制 Snap X 设置捕捉网格鼠标水平方向的移动间距 Snap Y 设置捕捉网格鼠标垂直方向的移动间距 Component X 设置元件网格鼠标水平方向的移动间距 Component Y 设置元件网格鼠标垂直方向的移动间距 z 电气栅格(Electrical Grid) 如果 electrical grid 选项被选中,电气栅格在你放置一个电气对象时工作,它将忽略捕获栅 格而同时捕获电气对象。 z 可视栅格(Visible Grid) 设置可见网格的尺寸大小和类型 z 图纸位置 Sheet Position 可以通过设置此对话框中的 Size 和 Location 来定义图纸的大小,也可以同机械层中的 内容相关联,如果关联到机械层,当机械层的内容改变时,可以使用 Design » Board Shape » Auto-position Sheet 命令来重新计算大小。 关联到机械层有两个比较典型的应用:制版输出时在制图细节方面的应用;不选中 Display Sheet 选项,可以同时隐藏图纸和机械层。 z 标识显示 Designator Display Module 3: Schematic Editor Basics 0 - 35 编译时,designator display 既可以显示 logical designator 也可以显示 physical designator,通常情况下,这两者是一样的,但在多通道设计中,physical designator 还包括 channel identifier 的信息 电路板层和颜色 这个对话框用来设定 PCB 中每一层的显示状态和颜色(快捷键 L) 图 33 电路板层和颜色对话框 z Signal Layers and Internal Planes 信号层和内部电源/接地层 这些层可以在板层管理器中添加或移除,在这个对话框中可以改变它们的显示状态和颜 色。 Note: Press the accelerator key in brackets () next to the layer name to toggle that layers show property while in this dialog z Mechanical Layers 机械层 总共有 16 个机械层,不选中 Only Show Enabled 可以显示全部的机械层或是添加新的机 械层。按 F2 可以对机械层重命名。 z Layer Pairs 层对 Module 3: Schematic Editor Basics 0 - 36 层对是机械层中关联了处理特殊的器件信息。例如,如果你有一个器件的封装需要胶合信 息,在库编辑时,先在机械层定义好,然后把这个机械层与另外一层成对,当这个封装翻转到 电路板的底层时,第一个机械层的信息就自动转到成对的机械层中。 z Color Sets 颜色设置 Default Color Set 按钮用来将颜色恢复成浅黄色背景的默认设置。如果 Transparent Layers(Display 面板)选项选中,Default Color Set 将不可用。Classic Color Set 按键可 以将颜色设置成经典色:黑色背景。 z Keep-Out Layer 禁止布线层 禁止布线层是一个特殊的层,布线层上放置的对象是信号层上放置对象的边界。禁止布线 层通常用来定义诸如电路板的布线和放置器件的边界。或是电路板上必须保持自由器件和布线 的区域。 PCB 坐标系统 PCB 编辑界面中有个坐标系统,位于工作区的左下角,用来初始定位。这个点的坐标为 (0,0),就意味着是绝对原点。工作区的大小为 100*100 英寸。参考点的坐标可以在 Edit » Origin » Set 菜单下任何时间重新定义。这种设置为相对原点。坐标通过与相对原点参考读 出。Edit » Origin » Reset 菜单命令可以设置从相对坐标返回到绝对坐标。 初始的标识显示相对原点的位置,这可以在 Display Origin Marker 中显示,坐标单位可 以是英制或公制。在 View » Toggle Units 菜单命令下或快捷键 Q,可以使坐标单位在公制和 英制间切换。 栅格 z 捕捉栅格 跳转栅格保证元件精确的移动和放置。跳转栅格使鼠标点击时从一个栅格跳转到设定的最 近栅格点。跳转栅格有 X 和 Y 值,可以在电路板选项对话框中设定,按 G 或 CTRL+G 快捷键 改变栅格。 z 器件栅格 器件栅格类似于跳转栅格,不过器件栅格只在放置或移动器件时才能激活。器件栅格有 X 和 Y 值,可以在电路板选项对话框中设定。 z 可视栅格。 可视栅格在打开时可以以线或者点的形式显示。他们是独立的跳转栅格。在 PCB 编辑界面 中有两个可视栅格,你可以在电路板选项对话框中设置,并单独显示。 z Electrical Grid 电气栅格 Module 3: Schematic Editor Basics 0 - 37 电气栅格可以被看做为吸引力的范围。在交互式编辑中光标将跳转到任何电气对象上,当 光标处在电气栅格设置的范围内。 当电气栅格超过跳转栅格,电气中心点在光标下时,光标 处将显示一个八边形,当你看到八边形时,说明光标精确定位 到它要跳转的器件上。 电气删格的设置,开关可以在电路板选项对话框中设定。 你也可以快捷键 SHIFT+E 调整电气栅格的开关,或者在诸如交 互式布线时通过按住 CTRL 键临时关闭电气删格。 图 34.交叉显示电气删格 5.1 定义 PCB 板外形(由 3D step 文件) 5.1.1 创建新的 PCB 有三种方法创建一新的 PCB: z 执行菜单命令:File » New » PCB,这样可以创建一张 6in×4in 的 PCB 文件。 z 单击 Files 面板 New from Template 栏的 PCB Templates,会出现 Choose Existing Document 对话框,有很多模板供选择,模板的名字反映了图纸的大小, 每一个模板文件都有一个默认的版型,通常是 6in×4in。 z 使用向导 Board Wizard,位于 Files 面板的最下面,系统已经为用户提供了一些标 准电路板的标准配置文件,也可以产生简单的 PCB 板外形。 -图 35. 通过 New from Template 创建的 PCB 文件 Module 3: Schematic Editor Basics 0 - 38 5.1.2 定义电路板的外形和边界 PCB 板建立后,下一步就是要定义边界,包括电路板的外形、放置元件的边界和布线的边 界。 z 电路板的外形可以通过执行子菜单 Board Shape 中的命令手工定义,也可以通过 选择相应的对象由软件自动定义,例如:可以导入 CAD 文件,根据导入的文件定 义。 z 布线和放置元件的边界由 Keep out layer 层上的闭合的、连续的线来确定(在 5.2.2 中介绍),任何放置在 keep out layer 层上的对象对信号层的对象都起到约束 作用。 Figure36.例子 4 Port Serial Interface 的电路板的外形和边界 5.1.3 练习—创建电路板的外形和放置元件、布线边界 给例子创建新的边界: 1. 显示 Files 面板(View » Workspace Panels » Files),单击 New from template 部 分的 PCB Templates。 Module 3: Schematic Editor Basics 0 - 39 2. 在弹出的 Choose Existing Document 对话框中选择 A4.pcbdoc,打开新的 PCb 文 件,如图所示,黑色的区域代表了电路板的外形,现在我们根据 DXF mechanical file 的数 据重新定义其外形。 3. 执行 File » Import 命令打开 Import File 对话框 4. 文件类型选择 AutoCAD (*.DXF, *.DWG) 5. 浏览路径\Examples\Training\Temperature Sensor\Outline.DXF 打开文 件。 图 37. 导入外形文件 6. 当出现 Import from AutoCAD 对话框时,进行如下设置: 7. Scale 选择 inch(导入的外形大约是 2021mil x 2755mil) 8. Layer Mapping:PCB Layer 选 mechanical layer 4 9. Insertion Point:填入合适的值,例如:X=1000, Y=1000,这些值要求不是很严 格,导入文件后将去掉其他选项默认即可。 10. 点 OK 按钮,在 Mechanical layer 4 上会出现由四条路径围城的一个矩形。 11. 现在我们重新定义电路板的形状,从而和导入的外形匹配。选中四条路径。 Module 3: Schematic Editor Basics 0 - 40 12. 执行命令 Design » Board Shape » Define from selected objects.黑色的电路板形 状将根据导入的外形重新定义。 13. 移动 PCB 板到 sheet 的中央位置,拖动选中 PCB 板外框和机械层的线条,按“M” 键显示移动 Move 的子菜单,然后选择 Move Selection。点击你选择的部件任何一个的位 置,去定义 PCB 板移动放置的合适位置,接着移动板子的外框和机械层的线条的位置接近 sheet 的中心位置,点击放置。 Note:为了确定移动的部分保留在选择的工作区,当移动,复制或是黏贴时一般最好选择 一个有意义的点。一般横向和纵向交会的左下方的点比较合适。如果你想对一个对象设定参考 点,确定当前对象在有用层,这样就可把对象移动到有意义的点上。 14. 将新的板形移至图纸的中心,画一矩形选中板形和机械层上的路径,按 M 键,出现 Move 子菜单,选择 Move Selection,拖动它们到图纸中心,单击放置。 15. 在 Board Options 对话框中将 Visible grid 2 改为 100 mils。 16. 定义放置元件、布线的边界。首先取消所有的选定。选中 Mechanical layer 4 上所有 的路径,最简单的方法是使用 select on current layer 命令:将 Mechanical layer 设为当前 层,按 S 键,然后再按 Y 即可选择。 17. 执行 Edit » Copy 命令 18. 将 Keep out layer 设为当前层。如果 Keep out layer 没有显示出来,按 L 键打开 Board Layers and Colors 对话框进行设置。 19. 将复制的部分粘贴到当前层(Keep out layer):执行菜单命令 Edit » Paste Special, 在 Paste Special 对话框中选中 Paste on Current Layer 选项,点击 OK 返回工作区,将 复制的部分粘贴到 Keep out layer。 20. 保存 PCB 文件。路径:\Altium Designer 6\Examples\Training\Temperature Sensor\Temperature Sensor.PcbDoc. 21. 查看 Projects 面板,如果此 PCB 文件不是 Temperature Sensor 工程的一部分,将 其拖到 Temperature Sensor 工程名下。 22. 右键单击工程名称,点 Save Project 保存。 5.1.4 Exercise – Creating a board shape by 3D step file 1. 新建一个 PCB 文件。 2. 点击菜单 Place,选择 3D Body。 3. 在 3D Body 类型 选择 界面中, 可以选择通用 STEP 模型,如图 38 所示。 Module 3: Schematic Editor Basics 0 - 41 图 38 选择导入 STEP 模型 4. 选择 Embeded STEP Model,然后导入 DT02 目录下的一个 bottom_jtag.STEP,进行 3D 显示。 5. 选择 Design/Board Shape/Define from 3D body, 用鼠标在 3D body 上选择 一个平面 ,则自动生成一个板形型。如图 39 所示。 Module 3: Schematic Editor Basics 0 - 42 图 39 由 STEP 模型来生成 PCB 板形 5.2 设置 PCB 板层结构 5.2.1 使能层 在绘制 PCB,放置对象时,首先要考虑放置在那一层上。在 PCB 工作区的底部,可以看 到当前工作在哪一层,对象是放置在当前层上的。 z 可以通过 Layer Stack Manager 对话框添加层 (Design » Layer Stack Manager). 图 40. 在 Layer Stack Manager 对话框中定义相关的层 Module 3: Schematic Editor Basics 0 - 43 z 在 Board Layers and Colors 对话框可以显示和定义非电气层(Design » Board Layers & Colors). z 当前层可以通过以下方式设置: z 在工作区底部直接点击层的名称,即可将该层设置为当前层。 z 按*键可以在所有信号层之间循环切换。 z 按+ 、–键可以在布线的前后信号层之间循环切换。 5.2.2 定义层 PCB 工作层的定义如下: z Signal Layers 信号层 可以用来布线的信号层有 32 层。信号层主要用来放置元器件和铜膜导线,用导线将各元 器件的引脚进行电气连接,是为电气信号提供通路的层面。信号层命名如下: 顶层 顶层信号层 中间层 中间信号层 底层 底层信号层 信号层的名字用户可以自定义 z Internal Planes 内部电源/接地层 内部电源/接地层也称为内电层,主要用来铺设电源和地(命名为内电层 1–16),由大块 的铜膜所构成。每一个内部电源层都可以设置一个网络名称,布线时系统会把该层与具有相同 网络名称的图元,如焊盘、过孔等,以顶拉线的形式连接起来。同一个内部电源层可以分成几 个区域,用来安排不同的电源和接地。 z Silkscreen layers 丝印层 包括顶层丝印层和底层丝印层,用于放置一些元器件的外形轮廓和文字信息(元器件描述 的相关信息如设计者、注释等) z Mechanical layers 机械层 主要用来布置与 PCB 有关的各种说明性标注,如电路板的外形尺寸、焊盘和过孔类型,以 及其他一些制作装配所需要的重要信息等。共有 16 个机械层。机械层的名称可以自定义。根 据实际情况,机械层可以成对使用。 z Solder Mask 阻焊层 Module 3: Schematic Editor Basics 0 - 44 包括顶层阻焊层和底层阻焊层。阻焊层除留出焊点和过孔的位置外,其余部分用阻焊膜将 铜膜导线覆盖住。可以设置规则 Design Rules 控制阻焊膜的大小。 z Paste Masks 助焊层 包括顶层助焊层和底层助焊层。助焊层是在需要焊接的地方图一层助焊剂以增强焊盘的着 锡能力。可以通过 Design Rules 进行相应的设置。 z Drill Drawing 钻孔视图层 提供钻孔位置信息。 z Drill Guide 钻孔引导层 提供钻孔图。钻孔引导层主要是为了与老的电路板制作工艺兼容而保留的钻孔信息。 z Keep Out layer 禁止布线层 用来定义元器件和导线放置的区域范围,它定义了电路板的电气边界,在自动布线的情况 下,元器件和导线必须放置在禁止布线层划定的范围内。 z Multi-layer 多层 代表所有的信号层,在多层上面放置的元器件会自动放置到所有的信号层上。 z System section 下面的选项没有实体的对象,它们通过 Board Layers & Colors dialog 对话框中的 System Colors 部分开启或关闭。 DRC Errors :这个选项控制是否显示自动布线检查错误信息。 Connections:是否显示飞线 Pad and Via Holes:是否显示焊点通孔和导孔通孔。 Visible Grids:是否显示两组格点。 5.2.3 定义电气图层堆栈 各个工作层的序号和顺序在 Layer Stack Manager 进行定义 Module 3: Schematic Editor Basics 0 - 45 图 41 图层堆栈管理器对话框 Layer Stack Manager 使你可以形象的看到你的 PCB 的层叠,也就是铜,基底,绝缘材料 之间的关系。层叠的显示图片通过点击右键,选择 Copy to Clipboard,被复制到 Windows 剪 贴板中,然后粘贴到工程中。 1. 添加层 z 添加信号层和中间层 点击右边的按扭可以添加信号层和中间层,新层添加到选中层的下面(选中的层是最底层 的情况除外),也可以单击右键添加新层。通常的,PCB 板由偶数层构成,可以说任何信号层 和中间层混合而成。在层的名称处右键单击可以重命名、设置厚度、为中间层定义网络名。 z 添加绝缘层 PCB 增加新的层,绝缘层就会相应的自动添加。绝缘层可以是 Core 或者是 Prepreg,取 决于 Stack Up style 中的设置。 2. 对工作层的一些操作: z 属性设置 双击层的名称,可以修改层的属性,包括名称和物理属性 z 删除层 单击层的名称,点 Delete 按钮,或单击右键,从弹出的菜单中选择 Delete 命令。 z 修改层的顺序 单击层的名字,然后点右侧的 Move Up 或 Move Down 按钮,或者单击右键,从弹出的 菜单中选择 Move Up 或 Move Down。 z 编辑层叠方式  层叠方式定义 PCB 基板中的顺序, 在 PCB 上完成铜和绝缘材料层的建立。 通过选择顶层和底层绝缘体的复选框来设置线路板,点击这些来完成材料,厚度和介电常 数的设置 3. 设置钻孔属性 Module 3: Schematic Editor Basics 0 - 46 可以对钻孔的起始层和终止层等参数进行设置。默认情况下,钻孔从顶层贯穿到底层。如 果 PCB 中有盲孔或过孔,就需要对它们进行设置。在 Layer Stack Manager 中,点击 Drill Pairs 即可弹出对话框。 图 42 如果有盲孔和过孔,定义钻孔属性 5.2.4 定义机械层 在 Board Layers and Colors 对话框中可以添加机械层,在使用机械层之前,检查其是否处 于可用状态。 z 不选中 Only show enabled mechanical layers,则所有的机械层都会列出来。在 要添加的新层的 Enable 列打勾,选中 Only show enabled mechanical layers, 可以看到新层已经变为可用状态。 z 更改机械层的名称:点击要更改的名称,按 F2 即可修改。 图 43. 在 Board Layers & Colors 对话框中设置机械层 z Show 选项决定对应机械层显不显示。 z 选中 Display In Single Layer Mode,当调用 Single Layer Mode 时(SHIFT+S),将 显示对应的层。 Module 3: Schematic Editor Basics 0 - 47 z 选中 Linked to Sheet,将使对应的机械层与图纸相关联。如果不选中 Board Options 对话框中的 Display Sheet 选项,相对应的机械层将不显示;如果不选中 Board Shape 子菜单中的 Auto-position sheet 选项,此选项还可以用来决定图纸 的大小。 5.2.5 内部电源层 PCB Editor 最多支持 16 个电源层。 1. 定义内部电源层 z 在 Layer Stack Manager 中,可以添加、命名电源层并对其分配网络。设置完网络 后,布线时系统会把该层与具有相同网络名称的图元,以预拉线的形式连接起来。 z 在 Layer Stack Manager 对话框中或工作区域双击层,可以为其分配网络。PCB Editor 会自动的将网络中的器件的管脚连接起来,将不相关的管脚隔离。 z 层的连接方式在 Power Plane Connect Style 设计规则中定义。在 Power Plane Clearance 中可以设定安全距离将层中不相关的网络隔离开来。 z 在 Edit Layer 对话框中可以定义 PCB 边缘的非覆铜区域,在 Layer Stack Manager 中双击层,即可出现此对话框。 2. 内电层分割 z 内电层可以分成几个区域,由不同的网络共享。 z 通过放置对象(通常是线)可以将内电层划分为几个独立的区域(执行命令 Place » Line)。当在内电层放置完线时,系统会自动分析、确定各个划分的区域。 z 放置线的过程中按 TAB 键可以改变线的宽度,线的宽度决定了两个划分的区域间 的安全距离。 z 双击划分的区域可以为其分配网络,同时 PCB 面板的显示模式改为 Split Plane Editor。 z 在已经划分的区域里,同样可以进行分割。 Module 3: Schematic Editor Basics 0 - 48 图 44.内电层分割 3. 重新定义分割的区域 通过移动和修改组成这些分割区域边界的对象即可实现重新定义。 4. 删除分割的区域 删除组成边界的对象即可实现。 5.2.6 练习—创建工作层 1. 在 layer Stack Manager 中创建层。选中层的名称,右键单击,设置相关属性:名 称、铜的厚度。使用相应的按键实现层的添加、删除、上移、下移。 2. 打开 Board Layers and Colors 对话框,选择要显示的层:Top and Bottom layers, Keep-Out Layer, Drill Drawing, Multi Layer and Top Overlay。 3. 显示和使用 Mechanical layers 1, 4 and 16。不选中 Only Show enabled mechanical layers,显示所有的机械层。然后再选中此选项,显示要用到的机械层。使 Mechanical 16 同图纸相关联,这样模板的工程明细表就会在这层上显示出来。 Module 3: Schematic Editor Basics 0 - 49 6. 将设计更新到 PCB 以及设计同步(45 minutes) 由于不再是通过一个中间网络表文件把设计文件从原理图更新到 PCB 中,Altium designer 在未来将具有强大的设计同步同能。 6.1 设计同步 6.1.1 设计同步的工作方式 图 45 设计同步 同步器的核心特点:: • Difference engine — 比较原理图工程与 PCB。差异比较引擎可以比较出几乎所有类 型文件之间的器件与连接关系的信息。其可以比较原理图工程到 PCB,PCB 到 PCB,网络表 到 PCB,网络表到网络表,等等。差异信息由差异比较引擎找出并显示在差异对话框中。 • Difference dialog – 列出文件比较过程中的差异信息。然后你就可以定义哪些文件是 需要同步更新的。允许你在一个单一的更新过程中实现双向的同步过程。右键单击对话框中的 方向选项。 Module 3: Schematic Editor Basics 0 - 50 • Engineering Change Order dialog – 一旦差异的更新被确定下来,则会生成一个工 程更新顺序列表。 同时生成对应的报告。 有以下两种方法来执行更新: • 执行菜单 Design » Update 从原理图更新所有的变化到 PCB 中(或从 PCB 到原理 图)。如果选择此选项,你还必须指出使用的方向,所以直接进入 ECO 对话框。 • 执行菜单 Project » Show Differences 如果你需要选择控制的方向。如果你想比较其 他任何文件类型,那你就要使用这个选项,例如比较网络表和 PCB (也可以称为加载网络表 到 PCB)。 6.1.2 解决同步过程中的错误 大多数同步设计中出现的问题一般分为两类: 1. 缺少器件封装.。由以下情况导致: z 原理图中的器件缺少封装信息。 z 忘记添加需要的 PCB 库到当前的有效库列表中 z 原理图中的封装没有匹配的 PCB 库元件 2. 封装引脚编号和原理图引脚编号没有匹配。Altium Designer 支持用户自定义引脚到 焊盘的映射,映射默认要求是相同的编号/字母。在 PCB 模型对话框中定义引脚到焊盘的 映射关系(编辑原理图器件模型,选择对话框区域中的模型封装,点击 Edit)。 要解决问题,执行一次 Show Differences,然后在差异对话框中点击 Explore Differences 按钮。 这时将弹出差异面板,以及显示出问题的信息。这个面板显示出原理图与 PCB 中的问题对象。单击显示出其中的一个对象。 注意: 如果有大量的网络连接关系更新,则可以很容易清除 PCB 编辑器中的网络,然后同 步过程将重新加载所有的数据。最后需要重新应用网络信息到所有布线,此过程的实现请执行 命令 Update Free Primitives from Component Pads (Design » Netlist)。 Module 3: Schematic Editor Basics 0 - 51 6.2 设计更新到 PCB 图 46 处理同步问题 如果你使用 Altium Designer 的 PCB 编辑器来做板级设计,则从原理图中更新设计信息到 PCB 中的最好方法是使用设计同步器。使用同步器,就不需要在原理图中创建网络表并导入到 PCB 中。执行 Design » Update PCB 将启动同步过程。 当你有一个 PCB 文件并执行此命令,将弹出 Engineering Change Order 对话框。对话框 中显示出 PCB 必须与原理图匹配的变化信息。 你同样可以使用 Project » Show Differences 命令来更新设计。使用设计同步器,可以更 全面的控制更新过程。 6.2.1 使用网络表更新设计 在大多数情况下,同步器已经取代网络表的加载。在一些情况下,原理图是在其他 EDA 软 件环境下绘制的,那这个时候网络表就可以用于 PCB 的设计中。 使用差异比较引擎,网络表中的元件与连接关系信息可以被比较更新到 PCB 中。 使用网络表直接同步的功能并不强大,因为直接同步原理图与 PCB 元件的过程是由一个独 特识别码(UID)来产生的。通过使用独特识别码,器件编号不需要同步链接,并可以双向更 新。 6.2.1.1 加载网络表 加载网络表: • 执行菜单命令 Project » Show Differences。显示出 Choose Documents to Compare 对话框。 • 选中使能 Advanced 复选框。 Module 3: Schematic Editor Basics 0 - 52 图 47. 在 Choose Documents to Compare dialog 对话框中选择高级模式 • 在窗口的一边选中需要的网络表,另一边选中 PCB。网络表文件必须在 Altium Designer 打开或者被包含在工程中。 • 当单击 OK,确认对话框中将显示出无法使用独特识别码实现匹配。单击 Yes 继续使用 器件编号来匹配。 • 差异窗口将弹出,过程和直接同步是一样的。 6.2.2 练习– 更新设计 在这个练习中,你将从原理图中更新设计数据到新建的 PCB 中。这意味着,所有需要的封 装必须在现有的器件库中。请考虑以下因素: • 封装在工程的 PCB 库中,并且是自动可用的 • 对于从集成库中放置的器件,如 PIC 微处理器,默认的状态是从集成库中查找封装 的。因此器件库在设计更新的过程中必须是可用的。 更新设计: 1. 在库面板中,单击按钮打开 Available Libraries 对话框。该对话框列出当前所有可用 的器件库。 2. 确定 Temperature Sensor.PcbLib 这个 PCB 库已经在 Projects 标签中列出。 3. 在 Installed 标签中,确定以下的库文件已经被添加: z Microchip Microcontroller 8-Bit PIC16 2.IntLib z ON Semi Power Mgt Voltage Regulator.IntLib. Module 3: Schematic Editor Basics 0 - 53 z Chip Resistor - 2 Contacts.PcbLib (对于 0805 封装,器件库路径为\Library\PCB sub- folder) 4. 两个默认的器件库也必须被添加,Miscellaneous Devices.IntLib 和 Miscellaneous Connectors.IntLib。如果这两个库未添加,则可以在以下文件路径中找到\Altium Designer 6Altium Designer\Library。 5. 在 PCB 编辑器下选择菜单 Design » Import Changes from Temperature Sensor.PrjPCB。弹出 ECO 对话框,对话框中显示出 PCB 必须与原理图匹配的变化信 息。请注意这时候并不需要打开原理图,因为这个过程是自动处理的。 6. 向下滚动变化信息列表,信息中包含了添加 20 个器件、22 个网络、5 个器件类、1 个网络类,以及 3 个设计规则。按下 Validate Changes 检查变化的信息是有效的。 7. 按下 Execute Changes 更新设计数据。关闭 ECO 对话框。 8. 器件将被放置到新建的 PCB 板框的右边。 9. 保存设计。 注意: 确保如下项目和原理图文档存在。如果不存在,你可以复制以下的工程和原理图文 档到 Temperature Sensor 文件夹中,然后完成这个练习: - Temperature Sensor.PRJPCB - Temperature Sensor.SchDoc - MCU.SchDoc - Sensor.SchDoc Module 3: Schematic Editor Basics 0 - 54 7. PCB 设计对象 (20 minutes) 在 PCB 设计时可以用到很多种不同的对象, 大多数 PCB 对象是以铜箔或隔离区的形式出 现的. 这种应用对象不仅包括电气对象, 如导线和焊盘, 还包括非电气对象, 如文本和尺寸标注. 因此, 设计时注意设计对象的线条宽度和对象所在的层是非常重要的. 大多数 PCB 设计对象都可在 PCB 编辑器里编辑, 并被定义为 PCB 图元。 一个元件由多个 不同种类的图元对象组成, 这些对象只能在 PCB 库编辑器中编辑. 以下的课程将会进一步介绍 放置元件, 敷铜, 电源层分割和 Rooms 设置的具体操作方法. 例如: 来看一个 PCB 设计对象的例子,如下图所示。 图 48. PCB 的图元对象 放置对象的命令可以通过 Place 菜单或者点击 Wiring 和 Utilities 工具条的按钮实现。 要在放置时设置对象的属性可以按 TAB 键, 随即会显示该对象的属性编辑对话框. 当对象被放置以后, 可以通过双击对象弹出属性编辑对话框. 或者单击选中对象, 在 Inspector 面板里编辑其属性。(F11 可以打开 Inspector 面板) 要设置对象的默认属性可以在 Tools〉〉Preferences 的 Defaults 标签里设置。 对象被放置的板层是由 PCB 的当前层所决定。 Module 3: Schematic Editor Basics 0 - 55 7.1 PCB 基本设计对象 7.1.1 导线 Interactive Routing 命令用来绘制导线,同时会在导线上标注网络名。选择工具栏的 按 钮或菜单命令 Place » Interactive Routing (PT)可以开始画导线。点击已确定导线的起始端, 然后就可以开始布线,同时可选择不同的布线模式。 在布线的同时按 TAB 键会弹出交互式布线对话框,你可以设置诸如线宽,尺寸和相关的规 则等参数。 可以通过键盘的*快捷键切换布线层,同时会自动添加一个过孔。 z 导线放置模式 开始交互式布线后, 当放置完第一段导线后 按 SHIFT +SPACEBAR 可以改变布线模式。每 种模式定义一种布线弯折形状。 有 5 种不同的弯折模式: 任意角度 45 度 45 度弧. 90 度直角 90 度弧。水平和垂直。 注意:在拐角风格的规则设置中可定义 圆弧的形状。如果规则中设置了尺寸调节规 则,就能在布线的同时通过按“,”键减小 拐角弧度,按“。”增大拐角弧度。 图 49. 导线放置模式 z 开始和完成模式 导线放置模式另外还分为起始模式和终止模式,如图 49 所示。当你选择了导线放置模式 后,按空格可以在起始模式和终止模式之间切换。 如果从一个已布好的网络上开始布线,新的布线回被附上同样的网络名。交互式布线将应 用那个网络的规则进行检测。 CTRL+Click 某个已步完的网络可以加亮这个网络,SHIFT+CTRL+CLICK 可以同时加亮显示 多个网络。 1. 编辑导线 当选中导线后会出现 3 段可调区,一个是导线的两端,另一个是中间,下面将介绍如何调整该 导线的方法。 1. 调整导线端点 z 把鼠标移至导线的一端, Module 3: Schematic Editor Basics 0 - 56 z 按住鼠标左键不放 z 移动鼠标到达新的位置 2. 在线段中插入顶点 z 鼠标放在导线中间 z 按住鼠标左键不放。 z 移动鼠标,顶点将跟随鼠标一起移动。 3. 拖动线段 z 点击线段的任何一端 z 拖动至一个新的位置 7.1.2 线条 放置线条的命令可以在 PCB 上放置不同于导线的线条,比如:在非电气层绘制板的外形或 禁止布线层的外形。 绘制线条的操作与交互式布线非常类似,然而,这种线条不具备网络电气 特性。绘制在非电气层的线条不受设计规则的约束。 画线的时候点击 TAB 会弹出线条属性对话框。你也可以通过双击线条来打开该对话框。 选择工具栏 或 Place » Line 菜单命令可以画线条。 7.1.3 焊盘 使用菜单命令 Place » Pad 或 Place Pad 工具栏的 按钮可以放置焊盘. 焊盘通常作为元器件的一个部分, 但有时也可以作为独立的个体, 比如测试点或定位孔。 Module 3: Schematic Editor Basics 0 - 57 图 50.焊盘属性对话框 在放置焊盘的时候按 TAB 键或是双击已放置好的焊盘后会弹出焊盘属性对话框, 在对话框 里可以设置焊盘的属性。. 如果焊盘在中间层或是底层有不同的尺寸, 必须在尺寸和形状框中设置顶层到底层的焊盘 尺寸. 点击 Full Stack 和 Edit Full Pad Layer Definition 可以定义更多更复杂的焊盘形状. 可以给焊盘分配网络, 定义焊盘的电气特性(终端, 路径或发射端)或设置焊盘孔是否度锡. NC 钻孔软件也可以独立设置焊盘孔是否要度锡. 焊盘可以设置为顶层或底层的测试点。 Module 3: Schematic Editor Basics 0 - 58 7.1.4 过孔 使用菜单命令 Place » Via 或 Place Via 工具栏的 按钮可以放置过孔. 如果是自动布线 则会自动放置过孔. 在放置过孔的时候按 TAB 键或是双击已放置好的过孔后会弹出过孔属性对话框, 在对话框 里可以设置过孔的属性. 包括过孔直径, 孔径, 网络名和起始终止层。  图 51. 过孔属性对话框 在多层布线中, 如果在中间层布线, 设定了起始和终止层后会自动在换层处添加盲孔或盲埋 孔. 在通孔处会用 2 种颜色和标识明确指示该盲孔或盲埋孔的连通层.. 过孔也能设置为顶层或底层的测试点. 如果一个手动布线的网络要连接到内部电源平面, 可以按”/”键将过孔放置到适当的电源层. 这一功能适用于处任意角度布线模式之外的所有布线模式。 1. 阻焊层扩展(Solder Mask Expansions) 选择 Specify expansions value 选项, 在填入适当值可设定阻焊层的膨胀数值, 该数值不 受设计规则的约束. 2. 隆起(Tenting) 选择隆起对话框会取消在过孔周围的助焊层隆起同时忽略规则的设置。 7.1.5 字符串 字符串是一组文本, 可以通过 Place » String 或 Place String 工具栏的来放置 图标放 置。 在放置字符串的时候按 TAB 键或是双击已放置好的字符串后会弹出字符串属性对话框,实 际显示的字符在 Text 框中输入。 Module 3: Schematic Editor Basics 0 - 59 7.1.6图 52.字符串属性对话框 7.1.6 特殊字符串 为了辅助生产制造文档,Altium Designer 提供了特殊字符串输入。 这些字符串包含字 符,如:.Arc_Count 和.Component _Count, 这些字符串可以在 PCB 打印时显示对象的数 值。另一些特殊字符串则与层名,文件名和打印选项相关。.Comment 和.Designator 通常用在 创建元件封装的时候。 .Legend 字符串当放到钻孔导向层(Drill Guide layer)时,会显示钻孔 符号图标。 大多数像 Layer_Name, .Pcb_File_Name 和 .Pcb_File_Name_No_Path 这些符号只有在打 印时被转换成对应数值。如果要在编辑时看到已转换过来的数值需选择 Tools » Preferences 菜单下的 Convert Special Strings 复选框。如:字符串 如果放在 PCB 顶层则会在 屏幕上显示 。 使用 Place » String 菜单命令,在弹出的字符属性编辑框内的 Text 下拉列表框里显示了系 统可用的特殊字符串变量。(如图 53)。选择希望定义的字符串,放置即可。 Module 3: Schematic Editor Basics 0 - 60 图 53. 特殊字符串 7.1.7 圆弧 下表列出了画圆弧的方式: 菜单命令 弧(固定圆弧一端) 弧(固定中心) 弧(任意角度) 整圆 放置工具栏 表 7. 圆弧绘制命令 z 所有命令都是用来画圆弧的 z 圆弧能放置在任意层上. z 在绘制圆弧时按 TAB 键或双击圆弧后会弹出属性设置对话框, 在该对话框里可以设 置圆弧属性. 图 54.圆弧属性对话框 Module 3: Schematic Editor Basics 0 - 61 7.2 多边形区域以及尺寸标注 7.2.1 填充 填充物是一块实心的矩形, 可以放置在任何层上. 可以通过 Place » Fill 或 Place Fill 工具 栏的 放置填充。 放置填充的方法是先点击定义填充的一角, 然后移动鼠标设置对角。 在绘制填充时按 TAB 键或双击填充后会弹出属性设置对话框, 在该对话框里可以设置填充属性。 选中填充后在其周围会出现调整手柄,可以通过选中手柄同时拖动的方式来调整填充的大 小。转动小圆圈可以调整填充的角度旋转角度。 图 55. 填充对话框 7.2.2 实心区 铜箔区是一个多边形的实心对象。 虽然他是铜箔块, 但可以放置在任意的层上, 包括机 械层, 掩模层, 或丝印层。 可以通过菜单命令 Place » Solid Region 或 Place Solid Region 工具栏的 按键来放置 实心区。 要放置实心区需要定义多边形的每个顶点, 当绘制完后点击鼠标右键退出顶点设置模式。 在绘制实心区时按 TAB 键或双击实心区后会弹出属性设置对话框, 在该对话框里可以设置实 心区属性。 实心区可以用来创建实心敷铜, 但不能创建网格型敷铜。 Module 3: Schematic Editor Basics 0 - 62 图 56. 多边形填充设置对话框 在 Solid region 的页面设置上,可以看到一个选项 Polygon cutout,这个功能可以放置板 形剪切块。如果勾上该选项,可以在相应区域显示板形剪切。板形剪切同样支持生产加工 。另 外板形剪切的行径轨迹可以输出到 Gerbe 和 ODB++,也支持 3D 显示并能输出到 3D 打印和智 能 PDF。如图 57 所示,就是板形剪切块 Cutout 的实例。 图 57 板形剪切块 7.2.3 尺寸和坐标 尺寸和坐标可以放置到 PCB 的工作层上。 所有显示的测量值和光标位置都与当前原点有 关. PCB 的绝对原点(0, 0)在工作区的最左下方。 你能通过菜单命令 Edit » Origin » Set 在 PCB 工作区的任意点设置当前原点。 选择 Edit » Origin » Reset.菜单命令可以复位绝对零点。 Module 3: Schematic Editor Basics 0 - 63 z 放置尺寸标注 尺寸标注能被放置在当前工作层上, 选择 Utilities(View » Toolbars » Utilities)工具条放 置 Dimension 标注图标或 Place » Dimension(PD)子菜单命令。 用鼠标点击来确定标注的起 点和终点。 在标注时注意状态栏的变化。按 TAB 键设置标注的属性, 如: 字体的高度和宽 度。 右键点击鼠标或 ESC 键可以完成标注。 调整标注的起点和终点时, 标注的尺寸会自动更新。 z 放置坐标 坐标 X,Y 所指示的信息是所标注位置和当前原点的 相对距离。 X 值表示与原点的水平距离, Y 值表示与原 点的垂直距离。点击 Place Coordinate 工具栏的 或 Place » Coordinate(PO)菜单命令即可放置。 右键或 ESC 可以退出放置坐标。坐标的数值会随着放置位置的 移动而变化。 z 封闭对象 导线,填充和圆弧等可以用于在特定的电气层上定义一个区域,这个区域做为布线时的壁 垒。即不可在 keepout 外进行布线。被定义了 keepouts 的对象在输出操作时将被忽略,如出 图和打印。 菜单命令 Place » Keepout 或快捷键(PK)能定义封闭边界,已经放置好的导线,填充和圆 弧能通过设置 对象属性对话框里的 keepout 选项定义为特定层的封闭边界。 z 粘贴命令 PCB 编辑器里有另一个粘贴命令—Edit » Paste Special。这个命令可以一次粘贴多个已拷 贝的对象。 在使用该命令先选择 Edit » Copy (EC) 或 Edit » Cut 将选择的对象拷贝到剪贴板,.然后点 击选择粘贴参考点,该参考点就是今后复制对象时的鼠标定位点。 在 Paste Special 对话框中可以选择 paste objects on the current layer 选项将粘贴对象复 制到当前层。选择 Keep Net Name 选项保持原先对象的网络名。如果不选中,被粘贴对象的 网络名为‘No net’。 图 58. 特殊粘贴对话框 Module 3: Schematic Editor Basics 0 - 64 如果是拷贝元件,Duplicate Designator 选项将变成可选,如果不选中,所粘贴的元件将 按顺序递增,如果选中,复制的元件序号将相同。 选择 Add to Component Class 选项决定了所粘贴的对象是否属于同一元件类。 7.2.4 1. 2. 3. 4. 5. PCB 设计规则对象的练习 打开 Objects.PcbDoc. 放置一些焊盘然后用导线连接起来, 尽量使用多种布线模式. 选择每个对象并观察他们的可调手柄. 双击对象在弹出单属性编辑框里重新定义新的值, 观察对象的变化. 关闭 PCB, 不要保存. Module 3: Schematic Editor Basics 0 - 65 8. PCB 查询,全局编辑以及设计复用 (15 minutes) 8.1 PCB 查询,全局编辑  作为一个设计人员,面临的最大的挑战之一是,管理在设计过程中产生的大量的数据。为 了完善这些,Autium Designer 提供了一个强大的数据编辑系统。该系统可以采用多种途径来 管理,查询和编辑设计数据。 软件提供了灵活的方法编辑数据,三个方式可以用来访问和修改设计对象: z 传统的图形视图 z Inspector 面板(按 F11 来切换) z List 面板(按 F12 来切换) Inspector 显示的是目前选定的对象属性,选定对象的总数在其底部。要注意的是, Inspector 可以同时编辑不同类型的对象。 List 面板给出了在原理图和 PCB 工作组中的电子数据表样,或对象的列表。在此面板中 可以编辑单个或多个单元。 强大的过滤引擎管理着当前编辑的数据总量。获得 过滤数据可以用 Find Similar Objects 对话框,PCB 编 辑器面板,或在过滤器面板中输入查询语句。 Filter 过滤面板是用来键入查询,过滤整个数据 集,并且 List 面板只显示那些满足查询条件的对象。那 些没有显示高亮的对象已经过滤掉(而不再可编辑) 。 一个强大的数据编辑系统可以同时进行对多个对象 的编辑。 利用数据编辑系统的基本方法是: z Select:选择所需编辑的物体 z Inspect:查看对象属性 z Edit : 编辑对象的属性 8.1.1 查找并选择对象 2. 用 PCB 面板 PCB 面板可以浏览 PCB 上的对象。 • 面板上方的选项控制如何高亮被选择的对象。 - Mask:这个选项将会把我们感兴趣的对象之 -图 59.用 PCB 面板选择器件 Module 3: Schematic Editor Basics 0 - 66 外的,其他所有的对象暗淡下去。此时他们依然是可见的,但是不能被编辑。用软 件底部右边的 来控制高亮对象与其他对象的对比度。 - Select: 选择目标对象。选择的对象采用不同的白场色调技术进行高亮。 - Zoom: 缩放以显示高亮对象。 - Clear existing:自动清除先前存在的高亮对象. • 使用 CTRL +点击相结合,可高亮多个对象。 • 右键点击面板,来控制按哪些类别显示。这是一种非常快捷的排列对象类型方法。 • 点击 Clear 按钮 清除所有的高亮和选择动作。 • 高亮结果显示在三个视图中—图形,列表 List 和 Inspector 面板中。 -图 60 用 PCB 面板高亮显示两个网络 3. 使用 Find Similar Objects 对话框 当工作中遇到具有相同属性的一组对 象,例如元件和网络,用这个面板是一个很 好的方法。在工作中批量修改对象的属性, 利用 Find Similar Objects 对话框能很有效。 z 启用 Find Similar Objects 对话 框: 右键点击一个关心的对象, 然后从弹出菜单中选择 Find Similar Objects…。 z 右图所示对话框将出现列出了被 选对象的属性。几乎每个属性都 有一个下拉菜单。如果你想用其 图 61 用 Find Similar Objects 对话框高亮所有 元件注释 Module 3: Schematic Editor Basics 0 - 67 中之一作为匹配标准,那么在这里可以进行设置。 z 点击 Apply 将会运行查找匹配的对象,击 OK 将会关闭该对话框,并运行搜索. z 这个将选择所有跟查找标准相匹配的对象。图 61 用 Find Similar Objects 对话框高亮 所有元件注释 z 61 显示了 Find Similar Objects 对话框配置查找并选择所有 PCB 元件标识的字符 串. z 激活 Run Inspector 复选框可以自动启动 Inspector, 在 Inspector 可以编辑选中的 元件的属性。 4.2. 使用 Filter 面板 同样可以通过一些描述对象的查询语句直接访问这个强大的数据过滤引擎。 z 按 F12 启动 Filter 面板,在这个面板中写入查询语句。 z 一条查询语句就是一个指令,在输入的时候要用语法关键字。例如,在 PCB editor List 面板中输入查询语句 IsComment or IsDesignator 将会缩小显示的内容 的范围。在 PCB 中只显示元件标识和元件注释。 z 点击 Helper 按钮,就会显示出一个完整的查询语句关键字列表。在 Query Helper 对话框中当鼠标放在一个关键字上,按 F1 键就会显示该关键字的描述。 z 参考文档, An Insiders Guide to the Query Language article.pdf 是一份针对逐条 查询语言信息的权威指南。 • -图 62. 用 Filter 面板查询设计数据并访问特殊对象 5.3. 使用 List 面板 List 面板同样可被用为查找并编辑对象属性。当你想检查/比较属性或只编辑某些对象时,可以 使用 List 面板。 • 按 Shift+F12 来开启或关闭 List 面板. • 在列表中单独的一个对象也可以被编辑,按空格键或右键点击选择 Edit. • 多个对象也可以被同时编辑。先选中,按空格键,填入新值,按回车确定。 • 数据可以从电子数据表格中粘贴过来,也可以把数据粘贴到电子表格中去. • 同一类的元件,还可以把它们的组成部分显示出来。 Module 3: Schematic Editor Basics 0 - 68 • 可以从 List 列表右键点击弹出菜单中选择 Remove Non-Selected 保留选择的器件。 图 63. 用列表查找编辑所有属性和注释 8.1.2 查找编辑所选元件 Inspector 面板用于检查并编辑当前选中元件 的属性。当你编辑所有选中的元件时可以用 Inspector。 • 按 F11 启动或关闭 Inspector 面板. • Inspector 可以被用于检查一个或多个对 象. • 所选元件可以采用多种方法设置。包括 写查询语句,手动输入或用 Find Similar Object…对话框。 • 不同的对象通过可用的相同的属性被选 中并编辑。 • 在 Inspector 中修改参数值后按回车应用 到设计中去。 • 在 Inspector 中可以替换字符串。 -图 64. Inspector 显示所选器件的属性 8.2 设计复用 8.2.1 粘贴板(Clipboard panel) 粘贴板提供了一种存储设计为后续重新使用的 方式。该面板可以存储原理图、PCB 板、和代码数 据。粘贴板和片段面板相比唯一的不足是保存的数 据不像后者可以始终保存。 粘贴板另外一个优势在于可以从 windows 粘贴 板中读取数据,使得数据可以从其他程序转移到 Altium Designer 内。这个功能开启是在 Module 3: Schematic Editor Basics -图 65.剪切板 0 - 69 DXP » Preferences » Systems » General. 打开 Monitor clipboard content within this application only 选项。 8.2.2 片段面板 片段面板提供一种方法,能够将设计的一部分被其 他的设计所利用。.这个面板存储原理图,PCB 和程序 代码的片段。 z 点击 View » Workspace » System » Snippets 来打开片段面板。 z 内容分成几个文件夹存放。它们就是普通 的 Windows 文件夹,可以点击“Snippets Folders…”来设置路径。 可以设定多级文 件目录,使用网络共享文件夹可以方便的 把片段和整个设计团队分享。 z 选中 PCB、原理图或者源代码的某些部 分,然后从右键单击,从弹出菜单选择 Snippets » Create Snippet from 图 66 片段面板 selection,给摘录的片段填写好名字和注释,指定好存储路径,最后保存。 z 点击选中片段面板里的片段,然后再点 击 Place 按钮,将片段放置到设计文件 中。 z 在建立片段前最好是复位器件的设计标 号,防止在以后使用时,设计中碰到同 样标号的器件,引起错误。 8.2.3 收藏夹 像网络浏览器一样,Altium Designer 提供收藏 夹功能,保存收藏的文件以备以后使用,以预览方 式保存在收藏夹里。 收藏夹很方便的把和项目相关的资源关联在一 起。项目收藏的文件存放在和项目相同的路径,名 字是 ViewOf 的文件夹内。 • 点击打 View » Workspace panels » System » Favorites 开收藏夹。 • 内容分成几个文件夹存放。右键弹出菜单可 以新建文件夹。 Module 3: Schematic Editor Basics 图 67.收藏夹面板 0 - 70 • 右键单击弹出菜单可以选择 Add Current Document View 将当前打开的文件添加到收藏 夹。 • 双击某个收藏文件查看源文件。 • 收藏文件预览显示图片的大小可以在 Preferences》System》View 中设定。 8.3 练习 - 全局编辑 这个练习演示了不同的方法来改变器件布线和圆弧的宽度,还有器件文字的高度。 8.3.1 1. 2. 3. 改变器件注释的可见性 在 4 Port Serial Interface PCB 文件中找到 S1。 在器件 S1 的注释上单击右键,弹出菜单上选择 Find Similar Objects…。 T 在 Find Similar objects 对话框中设定匹配条件。按照图设置匹配条件。 4. 选中 Run Inspector 复选框,去掉 Create Expression 复选框 点击 OK 。 5. 在 Inspector 内将 Hide 属性设置成 False,回车确定。 Module 3: Schematic Editor Basics 0 - 71 所有板上器件的注释都可见了。 8.3.2 1. 2. 改变设计标号和器件注释的高度 在 PCB Filter 输入语句 “IsDesignator or IsComment”,点击 Apply。 在 PCB Inspector 内选中“Text Height”, 输入 40mil 后按回车确认变更。 8.3.3 编辑中间层的布线和圆弧的宽度 1. 打开 NBP8 Xilinx Virtex-II Pro BGA456 Rev1.01 示例项目, 从 C:\Program Files\Altium Designer 6Altium Designer\Examples\Reference Designs\Daughter Boards\NBP8 Xilinx Virtex-II Pro BGA456 Rev1.01\ 目录下,然后打 开 PCB. 2. 打开 PCB 面板选择 Nets 。 3. 点击 All Nets,在下面列出了所有的网络。在所有网络列表上右键,弹出菜单选 择 Select All 。 4. 在 Primitives 标签单击右键,弹出菜单上选择 Show Tracks and Show Arcs 。 5. 点击 Layer 标签,按照各个层来排列。选中所有在 4 midlayers 的布线和圆弧。 6. 打开 PCB List 面板。 设置成如下: . 8.7. 点击 Clear 按钮 (SHIFT+C) 在软件的右下方移除掩盖和选中的对象.。 注意:大量的查询语句都可以在 Filter 菜单边按 Y 弹出的例子 Examples 中找到。 Module 3: Schematic Editor Basics 0 - 72 9. 设计规则 (Design rules) (30 Minutes) 9.1 设计规则浏览及添加设计规则 在 Altium Designer 中, 设计规则通常用来定义用户的设计需求。 这些规则涵盖了设计的 方方面面, 从布线宽度, 对象的隔离间距,内电层的连接风格, 过孔风格等等。 设计规则不 仅能在 PCB 设计的过程中实时检测, 而且也能够在需要的时候进行统一的批量检测并生成错 误报告。 Altium Designer 的设计规则不是 PCB 对象的属性, 而是独立的对象。 每条规则需针对具 体的 PCB 对象。 设计规则可按优先级区分其应用范围。 例如: 有的约束可以针对整块 PCB 板, 有的则针 对某个网络集, 还有的则可约束另一个网络集。 合理的使用规则的优先级和作用范围, 就能 对 PCB 设计中的每个对象定义所需要的约束。 这一部分将介绍如何定义设计规则和怎样做规则检查。 9.1.1 设计规则的概念 为了高效的应用设计规则, 设计人员必须理解规则的类型, 对象集, 查询语言和优先级 等概念。 z 规则类型 有 2 中规则类型-一元型和二元型。 一元型规则:这种规则只约束一个对象或一个对象集中的每个对象。如线宽约束。 二元型规则:这类规则约束的是一个对象集的每个对象和另外一个对象集的每个对象之间 的电气关系。 因此,二元型规则有 2 个部分需要设置。 例如: 如果需要约束一组铜箔中的每 一块铜箔和另一组铜箔中的每块铜箔之间的间距就需要使用 2 组查询语句分别定义。 z 对象集 它用来描述规则所约束的对象。 对象集的范围由规则查询语言决定。 Figure68. The scope of the rule defines the objects it targets. This rule targets the 3V3 net. 图 68. 规则中定义了约束的目标对象,它是”3V3”这个网络 Module 3: Schematic Editor Basics 0 - 73 9.1.2 添加设计规则 设计规则在选择 Design » Rules 这个菜单命令后所弹出的 PCB Rules and Constraints Editor 对话框中定义。 图 69 PCB 约束和编辑对话框 设置设计规则步骤如下: 1. 点击+展开该规则的子目录树。 2. 同样, 在展开的目录树中点击+展开目录树, 此时显示了 4 个线宽的约束规则。 3. 点击一个需要设置的规则, 随即在右侧显示该规则的属性。 4. 右键点击一个规则大类可以添加该类的一个新规则。 z 你可以通过 PCB 面板来检索规则所定义的对象.。方法是将 PCB 面板的显示模 式设置为 Rules,然后选择列表的任意一个规则即可。 z 同时, 可以右击工作区的对象, 在弹出菜单中选择 Applicable Rules 即可导出 应用于该对象的规则。 9.2 设计规则查询系 统及使用 9.2.1 规则的查询语言 查询语言是对规则应用对象 的描述。设计规则的约束对象可 以用直接输入查询语言, 或是在 Module 3: Schematic Editor Basics 图 70. 使用查询语言构造规则查询 0 - 74 语言编辑区左侧的控制区选择,抑或是查询语言构造器的方式来定义。 9.2.2 查询语言错误 如果你键入了一个错误的查询语句,当你试图关闭规则设置框时会弹出一个出错对话框。 及时修正这样的错误非常重要,否则做在线实时检测会非常慢。同时设置错误的规则会在左侧 的对话框里以树型方式显示,他们的名称是红色的。 9.2.3 Query 用于改变铺铜之后过孔的连接方式 使铺好铜的 PCB 板中的过孔联接不呈十字交叉状,而是直接联接,可以采用规则 rules 里 的 Query 做如下操作: 1,1.点击菜单 Design,在下拉菜单点击 Rules,找到 Plane->Polygon connect style,右键点击选择 New rule。出现如图 71 所示。 图 71 多边形连接类型 2,2.在新设置的 New rule 项设置过孔联接方式。“name”栏随便取个名字,在 “where the first object matches”栏选“advanced(query)”,在“full query”栏 键入“IsVia”,如图 72 所示。(该键入的信息的语法可以点击“Query Helper”来参 考,如图 73 所示)。意思是设置过孔的联接方式。 Module 3: Schematic Editor Basics 0 - 75 图 72 设置相应的 PCB 规则 图 73Query 语言定义 3,3.在“Connect style”栏的下拉选项中选择“direct connect”。 Module 3: Schematic Editor Basics 0 - 76 4. 设置规则后,确定保存,然后推出,执行 Repour all polygons 重新铺铜。重新铺 铜后的效果如下图 74 所示。过孔为直接连接,其他 SMD 封装为热焊盘连接。 图 74 做好规则设置后的铺铜效果 9.3 设计规则优先级 图 75 在规则设置后确认规则的优先级 选中其中的一个规则,然后点击 Increase Priority 或 Decrease Priority 按钮即可实现选中 对象的优先级别排列。排在最前面的优先级别最高。 Module 3: Schematic Editor Basics 0 - 77 10. PCB 布局 (45 Minutes) 10.1 查找及移动器件 10.1.1 查找元件并放置 z 如果能确定元件在板上放置的位置,那么点击该元件 并拖动到相应的位置. z 否则,选择 Edit » Move » Component (M C)并点空 白区域,就会出现 Choose Component 对话框.. z 在出现的元件列表中,选中将要放置的元件. z 你也可以选择你喜欢的方式—把光标移动到元件上选 择元件。 z 找到元件封装的另外一个技巧是使用原理图作为参考. 在原理图中选中元件,然后选择菜单 Tools » Select PCB Components 。 z 你也可以在 Navigator 面板中选中元件同时按住 ALT 键,通过探针的方式从原理图指向 PCB.(注意,该 项目必须通过编译)。 图 76 选择元件对话框 10.1.2 移动元件 z 点击并拖动来移动一个元件。当移动元件的时候,该元件上的所有飞线将随着一起 移动。同时其他飞线将消失。 z 当你移动元件的时候,飞线将会动态优化使具有同一网络名的飞线路径最短。 z 同时,当你移动元件的时候,点击 N 键,将不会显示相关飞线。 z 当移动元件时,点击 L 键,可以选择把元件放置在顶层还是底层。 1. 元件组合 组合功能是把元件做成一组,这样这个元件组在移动的时候,里面的元件可以一起移动, 也就是象一个单独的元件一样。 • 可以定义多重组合。 • 创建一个元件组合。选择好要组合的元件,然后在工具栏中选择元件放置工具中的 Create Union from selected components 图标。 • 从组合中移除元件,或撤销这个组合,选择工具栏中的元件放置工具下的 Break Component from Union 图标,然后出现一个对话框,显示了在这个组合中的所有元 件的列表。在这里,选择元件从组合中移除。选择所有的元件移除这个组合。 Module 3: Schematic Editor Basics 0 - 78 2. 元件放置栅格 当放置或移动元件时,捕获元件放置栅格,这种栅格有 X 和 Y 的坐标值,在 Board Option 对话框中设置。 10.2 交互式布局命令 在 PCB 设计中有很多半自动工具可以让你编辑 PCB 设 计的布局。通过 Edit » Align 菜单,或 Tools » Component Placement 菜单,或工具栏中的 Alignment 工具来进行访问。下面章节描述了他们的使用方法。 10.2.1 Alignment 命令 Alignment 命令(Edit » Align)作用于选中对象。 10.2.2 Spacing 命令 图 77 用 Align alignment 工具排列所选元 用 Alignment 工具中的间距命令可以使被选中的元件水 件. 平或垂直间距等距,增加或减小间距。.增加或减小所选元件 的水平(或垂直)间距意味着元器件参考点之间的水平(或垂直)距离增加或减少了所规定的 量,这个量在元器件 X(或 Y)位置网格中定义。 10.2.3 Arrange 命令 自动移动元件的命令如下: 排列命令 Room 内排列 矩形框内排列 板外排列 Behavior room 内的元件按照规则排列 在定义好的矩形区域内排列元件 板外区域的元件重新排列 10.2.4 移动到栅格 所有没有被锁定的元件移动到与其最近的器件放置栅格点。 10.2.410.2.5练习—放置元件 在这个练习中,用下面的图做参考,确定温度传感器的位置。 Module 3: Schematic Editor Basics 0 - 79 图 78. 温度传感器电路板元件的一种放置方式 1. 这块板的元件不一定要按照上面所示的样子来放置,这只是一种解决方案。 2. 当你在按空格键旋转元件时,你将会注意到元件的标识依然定位在元件左上角的位置 上。这是元件属性对话框中的 Designator 栏内的 Autopostion 选项来控制。 手动确定 一个标识的位置,可以单击并拖动它到想要的位置。如果需要的话还可以按空格键旋转 该标识。 如果临时需要选中工作组内所有的标识,在 PCB List 面板中最上面的查询过 滤器中输入查询语句 IsDesignator。当完成操作后按快捷键 Shift+C 来清除本次筛选。 3. 每个元件同样也可以拥有一个注释。你可以在属性对话框中控制显示注释.。为所有元 件的注释设置隐藏,在 Filter 面板中输入查询语句 IsComment (确认 Select 复选框被激 活并按下 Apply 按钮), 然后按 F11 键来打开 Inspector 面板。 Inspector 面板可以被用 于编辑所有选中的注释字符, 确认隐藏状态复选框并按回车键确定。 4. 一份设计文件被放在备份文件夹内。你可以用它作为参考.。 5. 在进行布线设计之前保存该设计。 Module 3: Schematic Editor Basics 0 - 80 11. PCB 布线(PCB routing)(60 minutes) 11.1 交互式布线(Interactive routing) 布线是在网络的节点与节点之间定义连接路径的过程。 Altium Designer 包括强而有力的交互式布线功能,可以有效的帮助你进行电路板布线。有 两种交互式布线指令,两者都可通过 Place 菜单访问。 z 交互式布线(Interactive Routing )–放置线段来进行选择的连接之间的布线。 预知功 能允许你预知当前线段的最佳路径。该模式同样支持回路自动移除,允许你重走已完成 的路线,新的路线会取代原有的路线。 z 差分对布线(Differential pair Routing )–该命令用于对差分对进行布线。 z 这个功能会自动完成布线,当你按住 Ctrl 键后再点选鼠标左键即可。 当您选择一个布线指令并且开始布线时,可以按键盘上的 tilda (~)键,弹出与当前布线操作 相关的快捷建列表。 11.1.1 管理飞线 Managing connectivity 一旦元器件被放置到 PCB 文件中,依照你的原理图连接情况,飞线会显示哪个焊盘属于哪 个网络。 z 当你布线(在布线层用导线连接两个焊盘) ,两点间的飞线将不再显示。 另外,如果任何 飞线之间有更短的路径出现,那么将会显示更短的飞线。 z 在一个网络里的飞线的排列或者模式叫做拓扑。在一块电路板内的全部网络的默认拓 扑是最短的,这个是通过应用的布线拓扑设计规则来决定的。因为它是最短的, 当你 移元器件的时候,它的周围的飞线可能从一个焊盘跳转到另一个焊盘,以保证飞线尽 可能最短的长度。 z 你可以改变飞线的颜色,在 PCB 面板中的 NET NAME 上双击鼠标左键就会开启 NET 编辑对话框。 11.1.2 交互式布线的线宽 Interactive Routing track width 当你选择一种交互式布线指令并且开始布线, 你开始 的布线宽度是在参数对话框中的 PCB Editor – Interactive Routing 里设定的,配合设计规则里的线宽约束进行布线。 当参数设定允许你在布线时改变宽度时, 它总会通过 应用的规则进行约束,如果你要改变的线宽的值超出了规则 定义的范围,它会自动固定于规则的最大值或最小值。 线宽/过孔尺寸模式 z User Choice –当这模式被启动,布线的宽度会 图 79.通过这些设置决定交互式布线操作 Module 3: Schematic Editor Basics 0 - 81 从我的最爱宽度的列表中选出来,按 Shift+W 会显示我的最爱列表。使用参数对话 框中的 Favorite Interactive Routing Widths 按钮来配置列表。 z Rule Minimum –当规则最小值这个模式被使用时会套用设计规则的最小值 z Rule Preferred –当规则最好值这个模式被使用时会套用设计规则的最好值 z Rule Maximum –当规则最大值这个模式被使用时会套用设计规则的最大值 提示: 在布线时按 3(对布线宽度来说) 或按 4(对过孔尺寸来说)快捷键时,你能切换上述四 种状态。 11.1.3 Editing during Routing 布线时的编辑 除了按 Shift+W 改变布线宽度之外,也可以编辑布线的其它设定。按 TAB 键,将会打开交 互式布线编辑对话框(如图 80) ,你可以编辑许多跟交互式布线有关的设定,包括编辑布线的宽度 和过孔的尺寸。 图 80 交互式布线对话框 Module 3: Schematic Editor Basics 0 - 82 11.1.4 在交互式布线期间处理冲突 当你在电路板上进行交互式布线时。 你可以控制 Altium Designer 如何处理潜在的布线冲 突情况。遇到冲突的解决模式的选项在参数对话框中的 PCB 编辑器 PCB Editor – Interactive Routing 页面来进行设置。如图 81 所示。 图 81. 定义交互式布线遇到冲突时的处理模式 化解冲突模式包括︰ z None –用这种冲突模式表示都不允许,你能在所有的物体上方布线,但有冲突会高 亮警示。 z Push Conflicting Objects –推挤障碍的模式。如果你使用这种交互式布线模式,会用 现有的布线推出空间给新的路线 。 z Walkaround Conflicting Object –环绕障碍模式。当使用这种环绕障碍的模式进行交互 式布线时,新的布线将环绕现有的障碍,或者有可能的话会跳过障碍,会出现预览 的新路线到目标。 z Hug And Push Conflicting Object–环绕并推挤障碍的模式。这个模式是环绕功能和 推挤功能的结合。它将跟随你的鼠标并且环绕障碍,另外,当布线妨碍现有固定的 对象时,同时也会执行推挤功能。固定的对象一般的是焊盘,也有一些锁定的对 象,如导线和过孔。 提示: 当你布线时,按 Shift+R 快捷键可以切换不同的模式,可以在状态列看到你现在的 模式 11.1.5 另外的交互式布线选项 Altium Designer 布线的能力已经被发展到使布线的过程很有效率。还有另一些选项也可提 高效率,这些可以在参数对话框中的 PCB Editor – Interactive Routing 页面(图 82)进行设定。 这些包括︰ z Restrict to 90/45 –当你在交互式布线期间按 Shift+Spacebar 键时,共有 5 种布线的角度模式 循环切换。 使用这个选项可以限制成两种角 度,你只能在 90 度或者 45 度角度之间选择。 z Auto Complete –如果你使能这个选项,在布线 时 按住 Ctrl 键,再在飞线上点击鼠标左键将 会自动完成该网络的布线。 图 82.另一些交互式布线选项 Module 3: Schematic Editor Basics 0 - 83 z Automatically Terminate Routing –当这个选项被勾选,你完成布线到目标焊盘时,会 自动释放,进而可以点选其它焊盘继续布线而不用点鼠标右键释放。 z Automatically Remove Loops –当这个选项被勾选,产生回路的布线会被自动删除。 z Hug existing traces(Workaroud mode) –使能这个选项时,布线试图跟随鼠标并找到 环绕障碍的路径,另外它包含环绕现有布线路径的功能。 提示: 自动移除闭合回路是可以依照 NET 被关掉的,在 PCB 面板中点两下你的 net 即可 访问其网络属性来改变设置。 11.1.6 预知性布线 Look-ahead routing PCB 编辑器的交互式布线模式合并预知性布线功能来进行布线。这个功能允许你迅速并且 准确在对下一线段进行布线。在你使用预知性布线功能来导线你的布线时, 当有障碍物时,你 将注意到布线端点不总是保持附在光标上,它黏着在你接近的一个现有障碍(当解决冲突模式选 择在遇到障碍时停止的选项) 。这个功能阻止你违反任何安全间距的约束。 11.1.7 工作在电气栅格 Working with the Electrical Grid 没胆你放置一个电气对象时,如布线时放置一段线段,电气栅格便被激活。会有一八边形 图案在那些光标上表示这电气格点功能正在使用中,会自动将鼠标吸附到对象中心点。这个功 能对不在栅格上的焊盘布线很有效。当您在交互式布线的时候按 CTRL 键即可关闭并禁止电气 格点的功能。 11.1.8 修改布线-自动移除闭合回路或者拖线 Changing the routing automatically remove loops, or drag tracks Altium Designer 有 2 种方法改变已经完成的布线︰使用 交互式布线命令,和拖曳布线。 z Loop removal 这个功能是自动除去多余的布线让 你重新布线。使用删除回路功能你能轻易的重新 布线,而不管原来的线是如何走的,都会自动删 除 。包括多层或是有过孔的复杂路线也会被除 去。 z Dragging tracks 你也能部分拖动布线并且保持在 45 度角。 首先点选要选择的线段是在特殊光标 指示的选取状态之下,然后再点击并且拖动。如 图 83 所示。或者,另一个方式不是在特殊光标 指示的选取状态之下,按住 CTRL 键拖曳线段也 可以。 z Dragging Arcs 拖曳弧角,你也能拖曳弧角部分 图 83. 注意到特殊光标指示了 并且保持他们之间的距离。 只要点选 ARC 并拖 在拖动选择的线段是保留转角 Module 3: Schematic Editor Basics 0 - 84 曳就会调整弧角大小,到你想要的位置,如图 84 所示。 或者,使用 Ctrl+click 并拖 动的快捷键可以不需要预先选中。 Module 3: Schematic Editor Basics 0 - 85 图 84.注意到特别的光标,当拖弧角时,出现 ARC 移动 11.1.9 练习--交互式布线 Exercise – Interactive Routing 在这个练习过程中,将对 LCD 模块以及 PIC(U1)微处理器之间的连接进行布线。 1. 执行 Place » Interactive Routing,针对在右边的 LCD1 开始布线,依照预拉线布线 LCD1 PAD 到另一个 U1 的 PAD 的线段 2. 试着走一条电源网络 3. 试着使用聪明的交互式布线命令连接一些布线。 你应该是是各种各样不同的选项或点 或按,去使用它们 4. 如果你布线走的很顺利,去走电路板上其余的网络 Module 3: Schematic Editor Basics 0 - 86 Figure85. The placed board, ready to route.放置好零件的电路板,准备布线。 Tips for routing 布线的小提示 • 它能帮助你把重要的网络预拉线改变颜色。要做这个就要在 PCB 面板内双击网络名称 • 你也可以快速控制预拉线是否显示,只要使用 N 键即可 • 使用 L 键会跳出层面及颜色设定,可以调整颜色以及层面是否显示 • *号键可以切换到下一个布线层 • 按 CTRL+G 快捷键显示并且编辑现在所使用的格点。 5 mils 较适合现在的工作 • 以一个 2 层电路板来说有一层为水平面布线,另一层为垂直面布线是比较好的 • 按空格键可以切换在 45 度角的时候布线起止模式 • 按 shift+spacebar 键可以切换转角模式 • 按 CTRL+CLICK。当你点击到网络时会高亮可以调整 Mask Level 指令调整淡化效果 • 在布线时按 shift+r 快捷模式键切换违反冲突模式 11.1.10 Pin and part Swapping 管脚和分部交换 Pin/part swapping 被启用/不启用指那些已经摆放在 PCB 上的零件 你可以选任何零件在 PCB Inspector 面板里(选一个零件然后点选 F11 就会跳出对话框 (FigureFigure86) 。 pin/part swapping 被使能后,使用 Tools » Pin/Part Swapping 命令子菜单来执行 PIN 跟 Part 的交换 过程基本上对管脚和分部交换是一样的,在选择命令之后,一切在 PCB 工作区内被屏蔽(消失) , 除了 swappable 的那些管脚之外。 状态线将提示您下一个动作,要选择一个子网络(为一个管脚交换) 或者附属分部(为一个分部 交换) . Module 3: Schematic Editor Basics 0 - 87 在点击一个管脚之后,你将被提示选择目标网络或者所包含的分部交换用。 Figure87,Figure88 和 Figure89 为一个排阻(四组电阻), 一管脚交换电阻器其它管脚的目标,适合一部分分部交换 其它 3 组电阻。 Figure86.使管脚和部分交换成为可能的选择 Figure87. 可交换管脚被高亮 Module 3: Schematic Editor Basics 0 - 88 Figure88. 在一个管脚交换时,点击第一个管脚之后,可能的目标管脚被高亮 Figure89. 在一个部分交换时,在点击部分内一个管脚,可能目标部分被高亮 11.1.11 Differential Pair Interactive Routing 差分对交互式布线 差分信号正迅速地成为被更优先使用的方法,用在需要网络快速传递的电子产品内。 要达到在 PCB 上交互式差分对的布线,Altium Designer 有很好的支持差分信号在线路图上进, 而在 PCB 上的差分对布线是同时布线。 差分对布线要从 Place » Differential Pair Routing 菜单。 你将被导引在选择一对信号,点击两者中任何一个开始布线。 Module 3: Schematic Editor Basics 0 - 89 Figure90. 被安排的差分对,注意到在对里的两个连接同时布线。 提示: 更多关于的 Altium Designer 的差分对布线功能的讯息,参考应用注释,交互式和差分 对布线 11.1.12 Multi trace routing 多重布线 有使用多重布线的两种方式。 第一个方法是使用聪明的修线功能。 这允许群组布线一起被选择然后一起延长。 你能使用连续的修线继续增加新线段 Module 3: Schematic Editor Basics 0 - 90 Figure91.聪明的修线工具能用来延长在上面看见的布线。 聪明的修线工具是一件基本的工具因为它只着手在现有的 BUS 布线。 BUS 布线可以被使用多 重布线工具更容易操作这命令在 Place » Multiple Traces,使用这命令,你能从一个未布线零件开 始并且有效地从被选择的零件 PAD 中拖出布线,多重布线会自动聚集,如 Figure92 中所示。 完全作为移动各种各样的多重布线群组选择的地方移动光标。 Figure92.多重布线自动聚集 完全作为移动各种各样的多重布线群组选择的地方移动光标。 当与多重布线命令合作时,记住以下讯息︰ • 按住 Ctrl 键,不是一个接一个零件 PAD 点,可以用框选的 按住 Ctrl 只把选择限制在 PAD 物体,而不是选择本身的零件,这也作用在与这条选择被线 碰到(Select Touching Line)或是被矩形碰到(Select Touching Rectangle)的指令来选对象时。 Module 3: Schematic Editor Basics 0 - 91 • 按 TAB 键打开 BUS 布线对话,你可以设定 BUS 间距 Figure93.设定 BUS 布线间距 • 或者,使用,(逗号)跟。(句号) 快捷模式增减总线之间的间距。 • 按 \ (反斜线) 改变末端调整(第 1 部分已经被放置) . • 按 ~ (Tilda) 会出现快速键列表 11.1.13 Interactive Length Tuning 交互式长度调整 在高速布线数字系统内等长布线是维持数据正确性的一个标准技术,而且是差分对布线不可或 缺的角色 交互式长度调整允许改变弧度根据可用空间,插入允许调整及优化,和控制网络长度的动态的 方法,并且会依照规则避开障碍物。从 Tools » Interactive Length Tuning 启动,依照基本的设计 规则调整你的信号线,或者输入数值到对话框。 Module 3: Schematic Editor Basics 0 - 92 Figure94. 按 TAB 键(或者为快捷模式键按 Shift+F1) 你布线将停止,你能依照你的需要做改变值,等长布线 对话框。 一旦启动,点击信号在线并且沿着网络移动鼠标增加振幅部分。 这交互式长度振幅光标指南 你在这振幅过程 黄的光标指示可能的最小和最大长度。 绿色表明目标长度,当根据决定时适用匹配长度和最 大长度如 Figure94 中所示设计规则或者背景。这滑动指针显示怎样关闭你朝如 Figure95 中所示 取得适合的。 Figure95. 动态使用计量器展示当前长度和有效的长度范围 交互式长度调整的功能特色包括︰ 目标长度可以被直接指定或者根据规则在你的设计过程中,一条网络线,或者手动设定 有 3 种调整状态:使用线斜接,圆弧的斜接,圆弧走线。 当使用线斜接 和圆弧的斜接 风格被使用时,要确切地定义振幅跟横距的目标长度来实现选择 的瞄准长度。 Module 3: Schematic Editor Basics 0 - 93 交互式布线的工具与其它 Altium Designer 的界面一致性保证了用户直觉和快捷键使用熟悉的键 盘快捷模式 11.1.14 Finding and Setting Test Points 找寻和设定测试点 执行 Tools » Find and Set Test Points 找寻在设计中 PAD 和 Via,按照测试点规则来执行操作。 那 测试点属性遵循适合这些 PAD 和 Vias 中的设计规则。 每个设定状态设计规则根据你的电路板 要求而定。 Figure96.设计规则用来确定这类型 PAD/Via 用于测试点 和要将他们放于上的那些网络在线 在启动命令之后,电路版被设计规则的 PAD 和 VIA 扫描。 对话出现讯息,存在可能多少适合放测试点( 即 多少 PAD 和 VIA 已经被找寻那符合规则标准) 并且在进行之前进行确认 ,下一个动作,第 2 对话框报告测试点的详细数目。 提示: 当布线时,autorouter 不再自动安置测试点。 这是现在必须手动设置,然后通过设计规 则执行。 提示: Altium Designer 现在有能力在线路图内将测试点处理和状态指令放于网络上或者总线 上。 这些指令然后能同步到放置的 PCB 和测试点上。首先放从用在线路图的编辑里指令的 PCB。选择 Place » Directive » PCB Layout. 一旦摆放到网络在线或者是总线上,然后编辑那些指令在以前使用 Tab ,或者使用选中适合规 则放置时进行双击。 然后你能象往常一样增加规则。 在那之后你能增加一种测试点模式,为 增加测试点用法,但是这次选择测试点模式 。 一旦全部网络和总线已经准备好要求的测试点使用方法及模式, 我们然后需要同步 PCB 的这 些变化。 执行 Design » update PCB 和全部指令将被导入到 PCB,设计规则已经为你产生。 Module 3: Schematic Editor Basics 0 - 94 一旦在 PCB 里你能从菜单工具运行 Tools » Find and Set Testpoints, 找寻并且确定 Testpoints。 这个功能在一张规定的网上为 testpoint 确定追最优点。 如果它不能找到一个 合适点,没有 testpoint 将被放置 Clearing Testpoints 清除 Testpoints 这命令 Tools » Clear all Test Points 清理现有设计的全部测试点。 在启动命令之后,一次确认对话提示你清理全部测试点。 在从设计清理全部测试点之后,第 2 次对话空将显示所清理测试点的数量。 11.1.15 Teardrops 这命令用来增加泪滴对所选择的 PAD 和/或 VIA。 补泪滴是在电路板增提防钻孔脱落的一种共同技术 启动这个命令后,泪滴的选项对话框如 Figure97 中所示 ,允许你从全部 PAD 和/或 VIA 增加/删 除泪滴/。 Figure97. 补泪滴对话框 选择 Selected Objects Only 选项选择哪些 PAD/ VIA 要补泪滴。 补泪滴有 ARC 跟 LINE 两种模式 使用强制补泪滴选项补泪滴会导致 DRC 检查失效。 依照所选的建立报表,一份报告(DesignName.REP) 将被建立。 这报告将被存在与 PCB 输出文件相同的文件夹路径里并且会自动开启。 那些报告显示 PAD 和/或 VIA 被使用,多少泪滴生成, 多少泪滴失败的标识位置讯息。 提示: 零件内的 PAD 和 free pad 都将被补泪滴。 报表将会被加到项目面板是一个 f ree document,会存到 Text Files 文件文件夹路径底下。 提示:当多边形补泪滴是弧角式泪滴时,部分靠近滴泪的当多边会脱落。这是多边形的算法 引起的一个问题。 Module 3: Schematic Editor Basics 0 - 95 那些算法首分别先产生那些 PAD/VIA 和那些泪滴弧角外型,然后整理这些弧角形成一个连续 的轮廓,有时会失败在于这些弧角轮廓彼此交错,因此会互相抵消,所以泪滴旁的多边形就 脱落。解决方式就是使用线段式的补泪滴方式 11.2(Automatic routing introduction)自动布线介绍 Situs 这套自动布线是用 topological 的方式自动布线,也就是利用 topological 去找电路版上计 算布线路径 自动布线支持所有的电气特性并且依照设计规则布线,除了圆角的设计规则之外。 在这套软 件中还可以走差分对自动布线。 11.2.1 Autorouting tips 自动布线提示 • 这 PCB 电路板必须在 Keep Out layer 划一个封闭区域 • 设计规则必须被正确地为要能定义布线的路线,才能正确布线,才会导致设计规则被破坏 的路线不能连接。 • Situs 布线对话框里,使用设定报告来检查规则是否正确。 • 布线层的方向必须设定。有预设的方向,但是这些是没有考虑所有层面的,因此建议手动 因为这是必须要检查的。布线层面跟布线方向是一定要先设定的。在 Edit Layer Directions 中设置布线方向。 • 你能保护已经走好的线或是扇出或是全部的布线,只要你勾选 Lock all Pre-routes 选项, 在 Situs Routing Strategies 对话框(Auto Route » Setup),也可以在扇出以及连接少数部 分的线时使用 • 对象的网络名称没被锁定就表示再自动走现实可以被移动或搬动 • 在信号层禁制区内放置对象会封锁所有层面禁止进入 • 布线层禁制区对象产生区块在布线层,布线会避开。 • 布线并不会在非电气层布线 • 在很小的角度连线时布线器很敏感,要注意对齐器件。 Module 3: Schematic Editor Basics 0 - 96 11.2.2 Running the Autorouter 执行自动布线 Autorouter 需要最小设定。去执行那些布线的对策,选择 Auto Route » All 显示 Situs 布线对 话框。简单的点到对策设定就可以使用了 Figure98. 自動佈線對策對話框 Module 3: Schematic Editor Basics 0 - 97 11.2.3 Creating a Custom Routing Strategy 建立一个自订布线对策 你不能修改预设对策,因此建立一个自订布线对策,从菜单选择 Auto Route » Setup。建立 一个自订对策最简单的方法是复制一个已经存在的,例如,预设两层板的策略。 就像我们定义布线规则,确定各种布线过孔,你可以确定布线策略,选择对角线或直角线。 如果你在 Situs Strategy Editor 编辑器内的选择 orthogonal,你需要增加 Recorner 传给这个对 策。你可以容易的设定布线策略内容,你可以控制过孔数量以及布线限制角度以及转角设定, 你可以把策略选项拉到右边编辑这个新的策略。 Figure99.自订制布线对策使用更便宜的过孔和直角的布线 11.2.4 Exercise – Autorouting 练习自动布线 1. 点选 Autoroute 菜单里面的 ALL。选择预设 2 层板对策,如果你想保持你已走的线,勾选 击 Lock All Pre-routes 选项,并且点开始自动布线 4.2. 检查布线的结果。 为了更容易检查每个层面,按 shift+S 快捷键去切换成单层显示模式, 然后按 *号键切换顶层跟底层。如要高亮特别网络时,可以按住 CTRL 键并且点到该网 络。,点没对象的地方就会自动取消高亮了。持续这个操作。如果你的电路板在单层模 式, 你在布线网络检查筐中能使显示全部对象,来现示所有层的布线 5.3. 现在重走这个版子使用你自订的对策,如 Figure99 中所示 6.4. 首先,你需要清除所有的线段,你可以使用 Tools » Un-route 里面的选项来除线 7.5. 复制这个预设 2 层板对策, 拖曳 More Vias slider 到最左边,勾选 Orthogonal 选项,并 且增加 Recorner 而且要在列表中 Straighten 的上面。 6. 用你自订的对策执行自动布线 7. 当你对于布线结果很满意,那就存盘吧。 Module 3: Schematic Editor Basics 0 - 98 11.2.5 BGA Escape routing BGA 扇出布线 BGA 扇出布线的引擎主要是把线走到外围边界使你未来布线更容易 Figure100.注意到扇出布线功能拉出每一个连结作为在BGA的边缘外边的一条可达到的路线的PAD。 Figure100 显示的是 1mm 的 PAD 扇出布线。使用内部 PAD 先扇出然后使用传统狗骨头模式 (布线末端放置一个 via) 进入到另一层, 然后从过孔扇出到边缘。 在 BGA 上点右键选 Component Actions » Fanout Component 菜单,就会依照设计规则做 扇出的动作。一个报告会自动产生和打开,显示没有扇处的管脚信息。 报表会检查哪一些 PAD 没有扇出,在错误讯息对话框里面点选,就会跳到 PCB 相对应位置 Module 3: Schematic Editor Basics 0 - 99 Day3 Module 3: Schematic Editor Basics 0-1 I3 PROGRAM TRAINING Table of Contents 第三天(Day 3) 1, 铺铜及内电层 minutes) 1.1 1.2 (20 铺铜管理器 ................................................................................................... 内电层分割 ................................................................................................... 2, PCB3D 功能 2.1 2.2 2.3 (30 minutes) 3D 显示......................................................................................................... 3D 模型介绍.................................................................................................. 与 MCAD 交互 .............................................................................................. 3, 设计规则检查及报告信息 (30minutes) 3.1 设计规则检查设置......................................................................................... 3.2 设计规则检查报告及错误信息查找................................................................ 4, 设计输出 output jobs (40 Minutes) 4.1 制造输出 ....................................................................................................... 4.2 装配以及 PDF 输出 ....................................................................................... 4.3 BOM 表输出 ................................................................................................. 5, 高级项目功能 5.1 5.2 5.3 (60minutes) 原理图多通道设计 ......................................................................................... PCB 中 room 格式复制 ................................................................................ 板级标注及装配变量 ..................................................................................... 6, FPGA 及嵌入式设计实例 Spinning Video (60 minutes) 6.1 Openbus 设计实例....................................................................................... 6.2 设计构建流程介绍......................................................................................... 6.3 嵌入式 DSF .................................................................................................. 7, FPGA 设计捕获以及实现 (45 minutes) 7.1 利用原理图方式创建 PWM 项目 .................................................................. 7.2 绑定设计到器件 .......................................................................................... 7.3 构建并在 NanoBoard 上运行设计 .................................................................. 8, FPGA 设计实时调试 (45 minutes) 8.1 与 Nanoboard 交互 ...................................................................................... 8.2 FPGA 虚拟仪器 ............................................................................................ 8.3 使用 FPGA 虚拟仪器来调试设计 .................................................................. 8.4 使用 JTAG 进行 FPGA 管脚监控.................................................................. 9, 重新绑定设计到另外的 FPGA 器件 (30 Minutes) Module 3: Schematic Editor Basics 0-2 9.1 设计独立于 FPGA 原厂商 ............................................................................. 9.2 配置管理器 ................................................................................................... 9.3 绑定到另外的 FPGA 器件 ............................................................................. 10, FPGA 到 PCB 设计 (45 Minutes) 10.1 FPGA 到 PCB 设计....................................................................................... 10.2 管脚交换 ....................................................................................................... 10.3 FPGA,PCB 及原理图双向同步................................................................... 结束语:产品介绍以及培训介绍 30 minutes Module 3: Schematic Editor Basics 0-3 1. 铺铜及内电层 (20 minutes) 1.1 铺铜及铺铜管理器 铺铜就是在信号层上的一个区域的铜皮,通常连接到一个网络,覆盖到已存在的对象上, 像走线和焊盘。 铺铜可以是任何形状的封闭区。 铺铜和其余铜皮对象之间需要维持的一定的间距(在规则中设定)。 铺铜也可是实心的或是网格的。 实心铺铜是对一个区域对象创建的。这种类型铺铜的优势是:在 PCB 和 CAM 文件中 (Gerber 和 ODB++)存储的数据较少。另外,区域对象有尖锐的角时,这种铺铜也可以很更 好的填充空间其他的对象。 网格铺铜是对走线和弧设置的。这种铺铜的优势是:CAM 处理软件不需要知道铺铜形状的 定义。 铺铜可以放置在其它层。但是,铺铜只可以针对放置在信号层的对象进行。 1.1.1 放置铺铜 放置铺铜的操作是:点击菜单 Place—〉Polygon Plane 菜单命令或者点击工具栏中的 图标。接着显示 Polygon Plane 对话框,在对话框里可以设置铺铜的参数。参数设置好后,点 击 OK,在工作区内绘制铺铜区。注意这里总共有两种不同的铺铜类型: z Solid polygon(实心铺铜)—这种铺铜振对大面积、多边形对象。这种铺铜要求 制版商在 Gerber 或 ODB++文件中支持多边形对象。使用这种方式铺铜形成的制 造文件较小。 z Hatched polygon(网格铺铜)—这种铺铜主要针对走线线段和弧形区域。 Module 3: Schematic Editor Basics 0-4 图 1. Polygon Pour 对话框 铺铜的参数如下: 1. Net Options(网络选项) z Connect to Net(连接到网络) – 选择连接到铺铜区的网络. z Pour Over options(铺铜范围选项) – 已有的铺铜区, 或者在铺铜区中存在已 有的铺铜区和走线。 这些已有的铺铜区和走线因为和网络相连,会被新的铺铜 区覆盖。 z Remove Dead Copper(移除死铜) – 移除任何没有连接到电路板网络的铺 铜。 2. Properties(属性) z Name(名称) –名称是用来定义这块铺铜的,编辑定义这块铺铜。名称属性可以 用 InNamedPolygon 查询高亮和范围规则解释,当作一个铺铜的类的组成等等。 z Layer(层) – 选择铺铜放置的信号层. z Min Primitive Length(最小初始长度) –铺铜时如果线段或园弧小于这个设定, 将不放置铺铜。 z Lock Primitives(锁定原始数据)—如果不锁定,孤立的对象(如:走线或弧) 组成的可以被删除。 z Locked(锁定)— 如果此选项被选中,工作区的铺铜被固定,将无法移动和操作 图形。如果你尝试手动移动铺铜,警告信息"Object is locked, continue?"(目标锁 定,继续?)将弹出,当不锁定的时候可以移动铺铜。移动后锁定属性仍然有效。 如果这个选项没有选择,铺铜可以随便移动。 Module 3: Schematic Editor Basics 0-5 z Ignore On-Line Violations(忽略实时检测)--如果您需要 PCB 设计铺铜时用 Design Rule Checker 时检测,启用此选项。这样计算的比较频繁。关闭此选项, 忽略实时检测铺铜,以加快软件运行速度。尤其是在自动化电气规则中检查复杂的 铺铜。 3. Plane Settings(铺铜设置(网格铺铜)) z Track Width(线宽)--线宽决定铺铜。如果线宽和栅格的尺寸一样,铺铜 就以实心铺铜结束。如果栅格比线宽宽,铺铜就以网格铺铜结束。 z Grid Size(网格大小)—在走线之间放置构成铺铜区 z Surround Pads With(焊盘外围形状) 9 Octagons(八角形)—放置走线在焊盘周围构成八角形的形状 9 Arc(弧形)—放置弧形在焊盘周围 z Hatch Mode(网格模式) 9 90-Degree Hatch (90 度网格)—网格铺铜以水平和垂直线段构成 9 45-Degree Hatch (45 度网格)—网格铺铜以 45 度和 135 度线段构成 9 Vertical Hatch(垂直网格)—铺铜全部由垂直线段组成 9 Horizontal Hatch(水平网格)—铺铜全部由水平线段组成 4. Plane Settings(铺铜设置(实心铺铜)) z Remove Islands(移除孤立的铜)—移除任何比指定的区域小的铺铜 z Arc Approximation(圆弧的近似值)—使用短的线段包围已有的曲面形 状(如焊盘)进行实心铺铜。此设置定义可允许的最大的偏差值。 z Remove Necks(去掉狭窄部分)—铺铜时狭窄部分小于设置宽度的铺铜 移除 1.1.2 设置网格铺铜的拐角模式(仅对网格铺铜) 当你放置网格铺铜时,像下面所示的那样,按空格键选择放置的线段的角度,90 度弧,45 度和 90 度线 1.1.3 编辑铺铜 如果铺铜已经放置,需要更改任何参数,可以在铺铜处双击,或者选择 Edit » Change, 接着在铺铜上点击。显示的 Polygon Pour 对话框,可以更改任何参数,然后点击 OK。接着提 示你重构铺铜。 Module 3: Schematic Editor Basics 0-6 Moving a polygon(移动铺铜) 移动铺铜区像对待其他对象一样。点击,按住左键和移动去另一个位置。当你松开鼠标, 提示你重构铺铜区。 Deleting a polygon(删除铺铜) 删除铺铜区,选择 Edit » Delete 命令,然后点击铺铜区进行删除。 Pouring a polygon with a larger clearance(用大的间距铺铜) 通常你希望铺铜比标准走线间距有更大的间距。要做到这一点,增加了新的,更高的优先 级的间距设计规则,同一个查询对象设置为 InPolygon ,规则间距设置为需要的更大值。 Reshaping a polygon pour(改变铺铜的形状) 选定的铺铜区可以通过点击最高点或是中间点更改形状,接着拖动它们到要求的新的位 置。 也可以通过移动插入最高点改变铺铜区的 形状。右击,选择 Polygon Actions » Move Vertices。点击拖动一个处理顶点到新的顶 点。 插入一个顶点,点击线段中间交叉的小的 中间点,按住不动,拖拽到要求的新的要求的 顶点。右击并确认重建铺铜新的形状。 图 2 移动铺铜顶点 - 1.1.4 多边形填充挖空) 运行 Place » Polygon Pour Cutout,这个命令允许用户对一个铺铜多边形进行挖空。在 选择这个命令后,鼠标的形状改为十字交叉形。点击确认每一边的顶点,右击确认离开多边形 的绘制。 注意: 这个命令只可以用于实心铺铜. 1.1.5 切断铺铜区 执行 Place » Slice Polygon Pour,这个命令是用来切断一个单一的多边形平面成两个或 是更多的单独的铺铜区。运行这个命令后,文本将出现变化,铺铜的多边形区域变亮,其余对 象变暗。光标变成十字,提示你选取一个切断的起点,只要移动光标到所需要的点,点击或是 按 ENTER 键. 现在处于切断铺铜模式(基本上是线段放置模式,所以所有的线段放置快捷键应该使 用)。只要移动光标,然后按一下或按 ENTER 键确定一系列的定义切断铺铜区形状的顶点。 Module 3: Schematic Editor Basics 0-7 当你定义完切断区的形状后,右击或是按 ESC 键。确认对话框会出现,在原始的铺铜区会出现 多个新的。点击 Yes,出现进一步对话框,提示确认重构这些铺铜区。 注意: 这个命令只能用于实心铺铜。 1.1.6 隐藏铺铜 如果一个设计有大量的铺铜,尤其是一些很大的,复杂的设计,这样重新铺铜的速度会很 慢。为了缓解这个问题,你可以暂时改变所有的铺铜区的状态的空,只显示外围的框。另外, 还有一个更好的方法缓解在设计过程中重新铺铜速度比较慢的问题,那就是隐藏所有的铺铜-这 就是隐藏铺铜。 如何恢复原先隐藏的铺铜,简单的选择 Tools » Polygon Pours » Restore n Shelved Polygon(s)命令(这里的 n 是你当前隐藏的铺铜的个数)。 如何在当前的设计中隐藏所有铺铜区,简单的选择 Tools » Polygon Pours » Shelve n Polygon(s)命令(这里的 n 是在设计中有的铺铜)。 1.1.7 转变网格铺铜在实心铺铜) 运行 Tools » Polygon Pours » Convert Polygons to Solid 命令,转换在 PCB 文档中 选择的网格铺铜到实心铺铜。接着提示在图 3 所示的铺铜转换对话框,可以通过撤销这个命令 撤销转换。 注意: 此命令是建议的方式转换,从网格铺铜到实心铺铜。对话框有选项允许原来的网格 扩大一倍,使输出大小匹配。 - 图 3. 转换网格铺铜到实心铺铜对话框. Module 3: Schematic Editor Basics 0-8 1.1.8 铺铜管理器 点击 Tools » Polygon Pours » Polygon Manager,出现铺铜管理器对话框,管理 PCB 上的铺铜。 Polygon Pour Manager 对话框提供了针对 PCB 文档所有的铺铜。这个管理器可以改动 这些部分。 z 对铺铜命名和重命名 z 对所有的铺铜区设置铺铜次序 z 完成重新铺铜或是对选择的铺铜区进行隐藏 z 添加/铺铜区连接的模式和清除设计规则 z 对选择的铺铜添加铺铜类 • - 图 4. 铺铜管理器 Pour Order(铺铜次序) 铺铜次序在对话框的左下面,允许你可以重新安排铺铜的顺序通过上移,下移和自动生成 按钮。当有一个铺铜完全在另外一个铺铜里面时,铺铜的次序很重要,一般说你排序从最小的 铺铜到最大铺铜。自动生成按钮一般从小的铺铜区域到大的铺铜区域,一层一层的铺铜。 Module 3: Schematic Editor Basics 0-9 Polygon Specific Rules(铺铜详细的规则) 在铺铜管理器对话框中,View/Edit 这部分允许:命名已有的铺铜,这样可以使用铺铜范 围规则或者将所有的铺铜区包括在一个类里,挑选出一个铺铜区从 6 列中,或者隐藏,锁定, 重新铺铜,或者忽略铺铜的时 DRC 检测。 1.1.9 练习—铺铜 在这个练习中,你可以放置一个铺铜覆盖 PCB 顶层上的温度传感器。 - 图 5. 在 PCB 上的温度传感器上放置实心铺铜. 放置一个实心铺铜覆盖 PCB 的全部,通过 Pour Over All Same Net Objects 选项,选择 连接网络 GND。 执行最终的设计规则检测(DRC),确定您的电路板没有任何问题。参考第 7 部分,在进 行规则检测后重新储存。 1.2 内电层分割 (更多细节在盲埋孔, PCB 的填充挖空) 内电层分割是在内电层上封闭区域,划分成不同的电气属性孤立的区域。每个区域通过放 置边界线来包括在那个网络上的所有的引脚。接着不同的区域被重新分配给不同的网络,从而 在一个内部电源层可以分为两个或是更多的内部电源层。 电源层可以被划分为任意多数量的独立的区域。划分的过程就像是切割或分割板层到你确 定的分离的距离。 Module 3: Schematic Editor Basics 0 - 10 电源层是由负片构成的,所以这些特殊的边界线没有铜皮,从而在板层上分开了这个网络 和相邻的网络。通常情况下,有最多数量的焊盘的网络首先分配给内电层,接着其它区域被定 义给其他的网络,你想在这一层上连接的过孔。任何焊盘不能在内电层分割的区域上显示连接 线,表明它们连接到信号层。 分割的电源层完全支持设计规则检查。然而,在信号完整性分析中,它们不作为一个完整 的铜皮。在 CAM Editor 提取网表,不支持 Altium Designer 模式电源层分割,因为无法定义描 述每个区域的分割线。 图 6 内电层平面分割 1.2.1 在设计中使用内电层分割 支持在分割区继续分割(分割或是区域的嵌套),你不需要隐藏一个外部的分割在一个内 部的分割周围。如果你想对一个分割的层进一步进行分割,你可以在电源层继续添加对象,包 括在已有的分割电源层内创建新的电气隔离区域。 1.2.2 定义分割区域时显示的提示 当你在电源层定义一个分割区,有时很难看到所有的分割区包围的焊盘。为了使连接到分 割区网络的焊盘可见,在开始前有这些技术建议。 z 重新计算和绘制内电层可以通过选择 Tools » Split Planes » Rebuild Planes on Current Layer / Rebuild Split Planes on All Layers. z 使用 3D 模式(快捷键:3),可以看到电路板的物理结构,包括空间范围和热焊 盘连接。为了使电路板在 3D 中更容易的通过,量取板子的厚度,在层和层之间增 加垂直距离。这种控制在 View Configurations(Design » Board Layers & Colors) 对话框中的 Physical Materials 里发现(用 3D 可视化的配置)。 z 只显示最小数量的层,如:丝印层,多层,使用的机械层和内电层。在 View Configurations dialog 对话框里不使能其他层。 Module 3: Schematic Editor Basics 0 - 11 z 隐藏所有的连接线(View » Connections » Hide All)。在必要时,它再显示孤 立的网络,你想进行内电层分割是有用的通过(View » Connections » Show Net)。 z 在分割的电路板上对每个网络设置不同的颜色属性,通过选择 Nets 在 PCB 板上, 双击一个网络名称显示 Edit Net 对话框。 z 为了显示所有与网络相连的焊盘,在 PCB 板点击内层的网络隐藏其余所有的焊 盘。 z 分配有最多数目的焊盘的网络到内电层,接着在 PCB List 上使用 queries 语句像 InNet(‘A’) or InNet(‘B’)显示网络,如,有热焊盘和没有热焊盘的网络通过 内电层分割区分不同的焊盘。 z 在 PCB Filter 中使用 query 语句 OnPlane 显示在中间层的对象和原来的数据。 1.2.3 定义内电层分割 在 Altium Designer 中,在整个电源层你可以可以放置任意配置的线路,弧线,走线和填充 区来定义内电层分割。一旦隔离这些孤立的层,一个新的内电层分割就创建了。一个新的分割 内电层包含一个网络。 最简单的方法定义内电层分割是利用 Place » Line 命令,在内电层上画一个分界线。这个 线的作用就是把分割的内电层的铜皮分开。线宽就是分离的宽度。右击退出布线模式,这个新 的分割的内电层就已经创建了。如果要改变分割的内电层的的间距,按 TAB 键显示 Line Constraints 对话框,改变 Line Width。 创建内电层分割利用 Place » Line 命令 图7 使用放置line命令来创建内电层分割 把一个内电层分为两个,可以直接从内电层的一边画到另外一边。只要连接成闭合回路, 它们可以形成一个单独的区域。因此创建铺铜对象类型。确保线已连接,当线已连接时,十字 标会变大。 您可以创建一个封闭形状的线,弧和填充区定义一个特殊形状的内电层分割。您也可以使 用现有的线,弧或在内层的走线组成部分边界。只要连接成一个闭合的区域,一个分割的内电 层就形成了。 Module 3: Schematic Editor Basics 0 - 12 1.2.4 给分割的内电层分配一个网络 为了检查每一个分割区是否有正确的定义,只要在分割区点击一下,如果是一个封闭的区 域,那么这个区域就会高亮显示。 如果这个区域高亮,双击检查或是设置网络。在 Split Plane 对话框中的下拉菜单中为内电 层选择需要的网络。 图8 为内电层平面分配网络 1.2.5 分割内电层设计规则检测 可以对 DRC 中下面规则的批量检测中对以下检查和输出报告: z 内电层破裂 z 死铜区域 z 不足的热焊盘连接 图9 内电层规则检查 这些选项可以在 Design Ruler Checker(Tools » Design Rule Check)对话框的 Split Plane DRC Report 选择下使用。选择需要检查的选项,并且对 Batch DRC 输出报告。 一旦输出报告已经创建,任何违规的部分都显示出来。您可以点击违规部分,这样相应错 误的部分会在 PCB 编辑中显示出来。 断裂的内电层 当内电层的网络已经连接但是电气上没有与其他的相连。比如当一个连接器跨越了分割平 面,但是没有与它相连,这样就会出现错误。周围的间隙加入的阵脚完全切断通过的平面铜, 有效地打破成为两部分。 Module 3: Schematic Editor Basics 0 - 13 图 10 破裂的内电层显示 DRC 错误(浅绿色) 死铜 死铜是指部分铜皮没有连接到网络,这样与原先的那一层面也没有电气连接。例如这可能 发生的是一个连接器(没有连接到那一层面)非常接近引脚的周边,这个引脚的周围非铜区成 为铜平面与该平面的其它地方的隔绝区。 图 11 死铜区域显示 DRC 错误(浅绿色) 不足的热焊盘连接 热焊盘是减少热传导到板层的铜皮,连接板层的。热焊盘可以变得不足,当表面铜皮的贯 穿连接到板层变为无效区。 这个规则还检查表面的热焊盘(不仅是贯穿)避免超出热焊盘边界的无效区。 Module 3: Schematic Editor Basics 0 - 14 图 12 不足的热焊盘连接显示 DRC 检测错误(亮绿色) Module 3: Schematic Editor Basics 0 - 15 2. PCB3D 功能 (30 minutes) 2.1 3D 显示 如果 PCB Layout 工程师能够在设计过程中使用设计工具直观地看到自己设计板子的实际 情况,将能够有效的帮助他们的工作。尤其现在 PCB 板的设计越来越复杂,密度越来越高,如 果能够洞察多层板内部则可以帮助工程师避免很多不易察觉的错误。Altium Designer 应用 Windows 的 Microsoft DirectX 9.0c 技术,提供给了 PCB 板子的实时三维视图显示和 PCB 编 辑面板—3D 显示面板洞察板子内部结构。 2.1.1 设计时的 3D 显示状态 打开 PCB 编辑器,然后按下快捷键“3”就可以进入 3D 显示状态。 三维视图的相关操作如下: z 按下鼠标滚轮并保持然后前后拖动鼠标,3D 显示的板子就会快速放大或缩小; z 按下鼠标右键并保持然后按下 Ctrl 键并前后拖动鼠标,3D 显示的板子也会快速 放大或缩小; z 按下快捷键“0”, 3D 显示的板子被水平与显示屏放置; z 快捷键组合“V+B”,则 3D 显示的板子沿着鼠标所在点处的纵轴翻转; z 按下 Shift 键并保持然后按下鼠标右键,上下左右移动鼠标,则 3D 显示的板子 会根据鼠标的移动沿着相应的方向旋转; z 按下快捷键“2”,则从 3D 显示状态恢复到 2D 显示状态。 2.1.2 3D 显示设置 使用上述的操作命令,我们就可以非常方便的在 3D 显示状态实时查看正在设计板子的每 一个细节。如,焊盘、过孔、丝印、阻焊、涂镀和安装孔等等。使用板层和颜色设置对话框 (通过菜单 Design>>Board Layers and Colors 或者快捷键‘L’来访问此对话框),我们可以 根据板子的实际情况设置相应的板层颜色,存储或者调用已经存储的板层颜色设置。这样,3D 显示的效果会更加逼真。 Module 3: Schematic Editor Basics 0 - 16 图 13 板层和颜色设置对话框 2.2 3D 模型介绍 如果需要把板子紧密的放在特殊形状的壳体中,通常要把板子的文件转换到 M-CAD 系统 的格式。 由于在 Altium Designer 6 中引入了 3D 可视化功能,使得在 PCB 编辑器中可以在 3D 的模 式下显示板子也可以以 STEP 格式文件导出板子的 3D 文件。 您也可以在 PCB 元件库的封装中导入 STEP 模型,从而产生了一个完整的从 E-CAD 到 M-CAD 的 3D 解决方案。 元件形状的建模可以使用 Altium Designer 的 3D 体对象或通过导入 STEP 格式的元件模型 来实现,这两种模式都可以输出到板子的 STEP 文件。 定义带封装的 STEP 模型的过程包括对齐工具。 图14. 完成的板子可以在一个高清晰度的三维视图中显示,并可以输出 Module 3: Schematic Editor Basics 0 - 17 注意: 三维可视化需要一个支持 DirectX 9(或更高)和 Shader Model 3 (或更高)的显 卡。 2.2.1 使用 Altium Designer 的 3D 体对象 3D 体对象可用于为器件建立模型,在没有现成 STEP 模型可用又不需要为元件提供精确形 状时就可以采用这种方式达到您想要的结果。 复杂的元器件形状可以通过在机械层上放置多个体对象来建立,在 PCB 编辑器中使用 Place » 3D Body 命令就可以实现。 器件的外形可以通过手动或使用 3D Body Manager 来放置, 3D Body Manager(库编辑 器下的 Tools 菜单),是一种在创建以后通过手动或放置 3D 实体来修改和补充的初始形状的 理想方式。 使用快捷键 2 和 3 来切换在元件库编辑器中进行二维和三维模式之间的显示。 在 pcblib 列表面板中浏览封装的 3D 体对象是十分理想的,在这里还可以修改他们高度和 颜色的设置。无论封装显示在 2D 或 3D 下都可以完成,如果是在 3D 模式下,可以立即检查这 些高度和颜色的参数变化。 图 25. 通过在 PCB 元件库编辑器中放置多个 3D 体对象来创建元器件形状 2.2.2 导入 STEP 模型 STEP 是一个流行的数据交换格式,支持所有主流的 M - CAD 软件。有不同版本的 STEP 格式其中包括 203 和 214。要注意的是 203 格式不支持颜色信息,这种格式的模型在 Altium Designer 中的显示浅灰色。 使用 Place » 3D Body from STEP Model 命令,可以将 STEP 格式的元件模型导入到 Altium Designer 中的一个 3D 体对象。 使用快捷键 2 和 3 来切换元件库编辑器 2D 和 3D 模式之间的显示。 Module 3: Schematic Editor Basics 0 - 18 你经常会发现创建的 STEP 模型和 Altium Designer 的封装方向不同,Altium Designer 提 供了许多的调整方向和对齐的工具来解决这些问题。 虽然他们可能有不同的方向,STEP 模型往往和 PCB 的封装有相同的源点。在模型的源点 中添加捕捉点可以帮助他们进行对齐,最简单的添加捕捉点的方式是在 3D 体对话框(在已导 入 STEP 模型的体对象上面双击),并单击添加按钮。 图 16. STEP 模型导入到封装里面,注意它与封装的方向的不同 2.2.3 对 STEP 模型进行旋转定位 图 17. 使用 Inspector 面板来测试不同的旋转角度值 Module 3: Schematic Editor Basics 0 - 19 Inspector 面板是在 3D 视图模式下试验封装旋转角度值的好方法。 使用 M,M 快捷键来移动 STEP 模型,单击该模型的源点作为控制点 。 当 STEP 模型正在移动时使用 J,R 快捷键跳转到封装的参考点,按下回车键来放置它 STEP 模型在移动的过程中也可以使用数字小键盘来旋转。按 2 和 8,为 X 轴旋转,4 和 6 为 Y 轴旋转,空格和 Shift +空格键为 Z 轴旋转。模型移动的快捷方式详见于快捷方式面板(当 模型正在移动)。 任何数目的捕捉点都可以被添加到模型,以方便对封装进行移动和对齐。使用交互式的命 令,在 Tools » 3D STEP Body Placement 子菜单来实现(只有在封装是 3D 视图模式的时候 才可以)。 Add Snap Point from Vertices 命令有两种模式:用它在所选择的顶点来添加一个管理单 元点,或按空格键切换到您所点击的中间 2 个顶点之间的中点模式,这种模式是理想的:加入 管理单元点到元器件引脚的中心。详情请留意状态栏。 注意: 和元件制造商的网站一样,, 3D 模型可以在 http://www.3dcontentcentral.com/ 上面 下载,尝试多种不同的搜寻字符串以得到最好的结果。 2.2.4 练习 – 导入 STEP 模型 在这个练习中我们将为电源接头导入一个从 3DContentCentral 网站下载的 STEP 模型。 1. 打开 Temperature Sensor.PcbLib 这个 PCB 封装库,并选取 PWR2.5 封装。 2. 切换到 Mechanical 1 层。 3. 从菜单中选择 Place » 3D Body from STEP Model,并在 Choose Model 对话框 浏览到安装路径下的\Examples\Training\Temperature Sensor\Libraries\3D Models,选择 power_jack.step 模型。 4. 一个有光标提示的对话框框就会弹出来,把它放置在一个离封装较近的合适位置。 5. 选择模型对话框将重新弹出,将它关闭。 6. 按下快捷键 3,使封装在 3D 中显示。 注意: 三维可视化需要支持 DirectX 9 和 Shader Model 3 的显卡。 7. 按 L 打开 View Configuration 对话框。在对话框中使能 Show Simple 3D Bodies 和 Show STEP Model 选项,用 Save As View Configuration 选项来保存这些设 置做为您自己的视图配置。这将可在下拉列表中的电路板工作区的上方显示。 8. 如之前的图表中所显示的,导入的模型的方向与封装不同。在我们重新做调整前, 我们将在模型源点中添加一个捕捉点。为此,请双击最上面的模型界面来打开 3D 实体的对话框。单击 Add 按钮来添加一个捕捉点,并点击 OK 按钮以关闭该对话 框。 9. 按下 F11 打开 Inspector 面板来重新调整模型。如果该面板是空白的,在上面的模 型界面中点击一下来选中它(Inspector 面板就会加载它的属性)。 Module 3: Schematic Editor Basics 0 - 20 10. 在模型旋转区域用不同的值做试验 -请记住,是围绕着你正在编辑的轴心旋转。 11. 一旦模型的方向正确,就可以在封装的顶端对它进行重新定位。通过按 M,M 运行 Move Object 命令来完成,光标将变为蓝色。 12. 我们要通过原点上的捕捉点选择在前面由标线表示的模型。您通过单击来选中这个 捕捉点的时候要注意,您可以在默认的顶点,或通过任何用户定义的捕捉点选择任 何一个模型。由于在每个边缘的中间有一个默认的顶点,您可能会发现,当您按下 的时候,您控制了模型的顶点是旁边的捕捉点。放大显示(Ctrl+roll)以确认通过 捕捉点控制这个模型。 13. 在你正通过捕捉点移动模型的时候,松开鼠标,按下 J,R 键跳转到封装的参考 点,并按下 Enter 键来定位模型。如果你要翻转封装和模型(Shift+RMB),您会 看到该元件的管脚被定位在封装的焊盘上。 14. 在一个已经打开的 PCB 文件中更新封装,在 PCB 库面板中右键单击封装的名称, 并选择 Update PCB With PWR2.5。 2.3 与 3D 机械 CAD 交互 Altium Designer 为机械 CAD 设计工具提供了强大的接口支持,包括在 PCB 编辑器中的三 维可视化,以及 2D 和 3D 文件的导出。已完成的 PCB 文件可以输出为3D STEP格式的 文件或一个2D类型的文件可以以IDF的格式输出。 您也可以导入3D STEP对象,如元件和外壳,到 PCB 的原理图和 PCB 的编辑器, 也可以导入 2D IDF 和 DXF 的数据。 2.3.1 在 3D 中察看板子 在 3D 中观看板子,按快捷键 3。 注意: 在 3D 中观看板子,需要一个支持 DirectX 9 或更高 Shader Model 3 或更高的显卡。 如果您不确定您的图形卡是否符合要求,在参数选择对话框中点击 PCB Editor – Display 页中 的 按钮。 默认情况下,板子将显示为空白,或是没有对板子进行加载。按快捷键 L 来显示 View Configurations 对话框,在这里您可以设定颜色方案,也可以使能 3D 实体的显示。请注意,这 里只能显示封装包括 3D 体对象、或导入 STEP 格式模型的元件。 按快捷键 2 来变回传统的 2D 显示模式。 Module 3: Schematic Editor Basics 0 - 21 图 18. Altium’s Spiritlevel 的 3D 视图 要通过旋转 3D 视图来观看板子,按住 Shift 键以显示球形旋转的光标,然后单击并按住鼠 标右键并把板子四周拖动到一个新的位置。 Altium Designer 也支持空间导航,3D 的导航设备是专门为 3D CAD 来设置的。访问 www.3dconnexion.com来获得更多信息。 2.3.2 把板子的 3D 文件导出到 MCAD 软件 把你的板子以 3D 格式导出到 MCAD 软件的最佳方法是通过 Altium Designer 以 STEP 文 件输出。 虽然 STEP(Standard for the Exchange of Product model data – ISO10303)是一个标准 的数据交换格式,但并非所有的 CAD 软件包都生成同样的 STEP 格式的文件,因此您可能需 要试验选择输出方式来看看怎样可以得到最好的结果。 要输出一个 STEP 格式的文件,从菜单选择 File » Save As,并从保存类型列表中选择 Export STEP。STEP Export Options 对话框将会出现,这样您可以设定输出内容以及如何输 出元件。如果可能的话最好删除孔信息,因为包含孔信息会增加文件容量。 注意: 为了从导入的 STEP 模型或 Altium Designer 的 3D 实体得到关于建立 3D 元件的 定义信息以便在您的板子上使用,指定这个单元 链接到模型,参数,库的打包和更新。 图 19. STEP 格式的导出设定对话框 Module 3: Schematic Editor Basics 0 - 22 图 20. STEP 文件导入到产品设计 2.3.3 对板上外部的机械对象的检查 对于紧凑、复杂的新产品的普遍要求是在交付加工制板或对壳体进行测量之前就能够测试 板子与外壳的相符合程度。 Altium Designer 支持将任何 3D 模型直接导入 PCB 编辑器,如壳体或安装支架。为此, 需要先切换到 3D 视图模式,然后从菜单选择 Place » 3D Model 。 使用数字键盘上的空格和箭头键,来调整模型的位置,或使用 PCB Inspector 面板来测试 不同的旋转设置。 当您单击并按住移动模型到一个位置,你可使它的顶点在模型中。您也可以加入自己的捕 捉点,无论是通过 3D body 对话框(双击导入的模型来打开它),或通过 Tools » 3D Body Placement » Add Snap Points From Vertices 命令。 把 PCB 面板设置到 3D Models 模式,选择模型,并使用 Highlighted Models 下拉改变 透明度。 图 21. 板子只在 3D 视图模式下显示,接下来是半包围在壳体底面。 Module 3: Schematic Editor Basics 0 - 23 图 22.注意连接器件是如何装入的(在 DRC 检查禁止之后) 2.3.4 IDF 文件的导入和导出 Altium Designer 的支持导入与导出 V2.0 和 V3.0 版本 IDF 的文件。 导出 IDF 的时候会产生扩展名为 BRD 和 PRO 的两个文件。BRD 类型的是板子的文件, 而 PRO 类型的是元件库信息。 导出的 BRD 文件包含板子的轮廓和元件的位置信 息。 PRO 文件显示了元件名称和一些基本元件形状等的详 细资料信息。如果使用了组成的元件这方面的资料会更实 用。理想的解决办法是在您的 mcad 包中的中有一个元件 的 3D 表达,从库信息中放置。 输出当前的板子,请选择 File » Save As,并设置保 存类型选项来输出 SDRC-IDF Brd 文件。 注意: 不同 CAD 软件使用 Altium Designer 的不同的 文件扩展名,例如 Pro Engineer 用: *.emp - IDF library information(也称为外形文件) *.emn - IDF board files(也称为中性文件) 图 23. 导出 IDF 的对话框 Module 3: Schematic Editor Basics 0 - 24 图 24.从 Pro Engineer 库中为 LCD 屏导入 带有 3D 器件的 IDF 文件,其余就可以通过 Altium Designer 的元件体去创建了。 Module 3: Schematic Editor Basics 0 - 25 3. 设计规则检查及报告信息 (30minutes) 3.1 设计规则检查设置 3.1.1 如何检查设计规则 设计规则可以在菜单的 DRC 选项中启动,既可以作为工作时的在线检验,也可以作为 一个报告输出。当一个板子布线完成后,这个报告通常作为最终的验证检查。参照 03.2.1 在 Batch DRC 里获得设计规则检查报告的更多信息。 在线 DRC 如果启动了在线 DRC 检验选项,你设计中所有违反 DRC 规则的都会被标记,当手动布 线,立即高亮显示、间距、宽度和并行段冲突,这是非常有用的。 在 preferences 对话框(Tools»Preferences)的 General 页的 Online DRC 复选框下选中 如图 22 所示,在 Design Rule Checker 对话框中的在线和批量 DRC 中可以为每一个设 计规则做检测。通过选取 Tools » Design Rule Check 的菜单命令这个对话框将被显示出来, 使能每个你想在工作时就自动被检测的规则。 当显示检测面板使能时,DRC 错误的颜色显示设置可以在 Board Layers and Colors 对 话框中进行。 图 25. DRC 在设计规则检测对话框中的报告选项. Module 3: Schematic Editor Basics 0 - 26 3.1.2 规则应用 布线规则 规则类 间距约束 布线角度 布线层 布线优先级 布线拓扑类型 过孔类型 SMD Neckdown 约束 SMD 到拐角约束 SMD 到层平面约束 线宽约束 手动布 自动布线 线 Y Y 在线 DRC Y Y Y Y Y Y Y Y Y Y Y Y Y 表 1. 走线规则 批量 DRC 其他 Y 放置敷铜 DSN 布线输出 Y Y Y Y 制造规则 规则类 锐角约束 孔尺寸约束 层对 最小环孔 助焊膜 多边形连接类型 电源层间距 电源层连接类型 阻焊膜 测试点类型 测试点使用 自动布 线 Y Y Y Y 在线 DRC Y Y Y Y 批量 DRC Y Y Y Y Y Y Y Y 表 2. 制造规则 生成输出文 其他 件 手动布线 Y 放置多边形 Y 内电层 Y 内电层 Y Y 查找测试点 Y 查找测试点 High Speed rules 高速布线规则 Module 3: Schematic Editor Basics 0 - 27 规则类 链环长度 长度约束 网络长度匹配 最大过孔数量 并行段 SMD 下的过孔 自动布 线 在线 DRC 批量 DRC Y Y Y Y Y Y Y Y Y Y Y Y 表 3.高速布线规则 生成输出文 其他 件 网络等长命令 布局规则 规则类 元器件间距约束 元器件位置 可以忽略的网络 允许层 Room 外型定义 自动布 线 在线 DRC Y 批量 DRC Y Y Y 表 4. 布局规则 生成输出文 其他 件 群组自动放置器 群组自动放置器 群组自动放置器 群组自动放置器 在 Room 中放置 信号完整性规则 所有的信号完整性规则仅仅适用于信号完整性分析和批量设计规则检查 其他设计规则 规则类 短路约束 未连接管脚约束 未布线网络约束 自动布线 在线 DRC 批量 DRC Y Y Y Y Y 表 5. 其他设计规则 生成输出文件 其他 3.1.3 练习-创建设计规则 练习符合下列要求的设计规则 1. 创建一个网络类,命名为 Power,要包含如下网络:3V3, 5V 和 GND. 如下操作: -选择 Design » Classes -在树型菜单的左边右击 Net Classes 并且选择 Add Class Module 3: Schematic Editor Basics 0 - 28 -点击这个新创建的网络入口,添加到这个列表,按 F2 键可以重命名此类 -添加类成员之后关闭对话框 2. 确定基本(所有规则)间距约束设计规则值为 8mils 3. 添加第二个间距约束保持敷铜与其他有铜对象之间的间距至少为 15mils - 添加第二个间距约束规则 -对于第一个对象匹配查询,在这个查询里填入 Inpolygon -把第二个对象匹配查询设为 All -设置最小间距为 15Mils - 把规则命名为 Clearance_Polygon 4. 确定基本的宽度约束为 8mils(所有三个设置) 5. 在原理图的这三个电源网络包括参数设置要求这些网络匹配的宽度,确定宽度约束已 经对应了所有的设置为 15mils 宽度的网络。 6. 编辑过孔类型规则,设置过孔直径 35,过孔尺寸 22(所有三个设置) 7. 为网络的电源类增加一个新的过孔类型,过孔直径为 40,一个孔的尺寸为 25 8. 保存这块板 3.1.4 设计规则检查 • 设计规则检查(DRC)功能是为了检查你的设计是不是符合设计规则 • 有在线和批量 DRC 两种方式。查看 0 在线 DRC 可以得到更多的关于在线 DRC 的信息 • 当所有的 DRC 冲突都被解决时一个设计仅仅满足于制造 • 在 PCB 面板设置显示规则后,DRC 错误可以被分段显示出来 3.2 设计规则检查报告及错误信息查找 3.2.1 设计规则检查报告 设计规则检查报告经常出现在批量 DRC 校验中。执行设计规则检查基于选项选择和标示 被发现的冲突。选择 Tools » Design Rule Check 菜单命令运行 DRC。设计规则检查对话框 见图 26 Module 3: Schematic Editor Basics 0 - 29 图 26.设计规则检查的报告选项 要进行设计规则检查的规则可在对话框中的规则检查段选中,点击运行设计规则检查按钮 来开始在一个 PCB 上运行设计规则检查。如果创建报告文件选项已经被开启,DRC 的报告可 以生成和显示在文本编辑中。 3.2.2 找出设计规则冲突位置 下面这些特性提供定位和说明 DRC 冲突: z 在 PCB 编辑面板中的错误部分。当面板设置显示规则,在面板列表中选择规则 类的部分,点击错误显示一次(其他的元器件都会被掩膜覆盖)。双击可以打 开 Violations Details 对话框 z 信息面板。这个面板列出了所有在设计中检查出的违反规则之处,窗机大多数 的信息类型可以跳转到这个错误(但是不会有类似使用面板才有的掩膜效果) z 设计规则检查报告。如果 Create Report File 选项在设计规则对话框中打开, 这个报告就可以生成 z 右击错误菜单进入。右击错误,选中错误可以显示关于这个元器件的错误的信 息,选择一个错误进入打开 Violation Details 这个对话框 3.2.3 练习-运行设计规则检查 在这个练习中,你可以在一个 PCB 设计中运行一个设计规则检查 Module 3: Schematic Editor Basics 0 - 30 1. 运行设计规则检查,重新观察这个 pcb 面板中的错误。至少有如下 3 个错误,J1 上的焊盘,电源连接器,孔的尺寸超出了规则所约束的最大尺寸的限制 2. 改变规则来适应连接器和重新检查板子的要求 3. 未布线网络设计规则被用于检测没有完成布线的网络,如果你的板子还没布线完 成,你应该关闭这个检测规则,在设计规则检查对话框中进行设置 4. 保存这个板子 注:在解决设计规则错误的时候要保证所有的层都已经激活。你也应当知道设计规则检查 的最大值是 500 个错误(预设值)。 Module 3: Schematic Editor Basics 0 - 31 4. 设计输出 (40 分钟) 所有生成输出文件设置(打印,GERBER 文件,钻孔文件,ODB++文件,CAM 文件,报 告还有网表等等): z 配置和保存作为工程的一部分。如果你从 PCB 编辑中的 File,Design,和 Report 菜单中选择打印,生成 GERBER 文件和其他的输出文件,这些输出配置被存储 在这个工程文件中。 z 你既可以增加工程的输出文件也可以储存这个输出设置。这样的好处在于可以 支持创建多重输出种类。单个命令就可以输出多个输出文件,也可以从一个工 程文件中拷贝到另一个工程文件之中。任何的输出文件的组合结构都可以被包 括在工程输出文件的任何数量的输出文件之中。注意在 PCB 编辑菜单中,所有 的输出文件都可以进行独立的设置 创建新的输出作业文件 输出作业文件可定义所有设计输出配置 – 装配、制造、报告、网络列表等等 - 所有都包含 在一个方便且可移动的文件中。每个输出设置都使用特定的数据源,包括整个项目(所有原理 图表单),单个原理图或者 PCB。 z 选择 File » New » Output Job File 创建新的输出作业配置文件。在 Projects 面板中 创建新的输出作业配置文件(Job1.OutJob)并添加到项目的 Job Files 子文件夹。在 设计窗口中它作为活动文档打开,缺省情况下包含所有可能的输出设置。 图 27. 含有三个输出设置的输出作业文件.. Module 3: Schematic Editor Basics 0 - 32 z 可以删除选定的设置(CTRL+A 进行全选),任何时候只需单击 Add New Output 即 可添加新输出。 z 双击一个输出,在 Properties 对话框对其进行配置,或者右键单击获取选项列表。 Data Source 和 Variants 栏也有可供选择的下拉列表 — 单击并选定项目,然后再次 单击以显示向下箭头,并从列表中进行选择。 „ 设置打印作业选项 • 从输出作业文件选择打印输出,如 Composite Drawing。在 PCB Printout Properties 对话 框中双击,对打印输出选项进行配置。 图 28. Printout Properties 对话框 • 单击 Preferences 按钮设置打印输出的颜色和层次。 图 29. PCB Print Preferences 对话框 Module 3: Schematic Editor Basics 0 - 33 • 右键单击输出作业文件的打印选项,配置要执行打印操作的打印机(Printer Setup)。 在运行输出生成器时,打印输出会直接发送到该打印机。 • 右键单击 Print Preview 查看打印输出。从预览窗口您可以右键单击并选择 Copy 以将 当前的 Printout 预览复制到 Windows 剪切板。您也可以右键单击并选择 Export Metafile 将图像保存为 Enhanced Windows Metafile (.emf)。 图 30. 显示所有层的 Print Preview 窗口 • 配置打印输出时,您可以将其作为批处理作业(如果启用了 Batch)与其他设置(F9) 一起运行,运行当前输出生成器(SHIFT+F9)或选出的输出生成器 (CTRL+SHIFT+F9)。右键菜单中也存在这些输出选项。打印输出发送到打印机。 4.1 制造输出 您也可以从输出作业文件设置并创建制造输出文件,如: • 物料清单 • Gerber 和 ODB++ 文件 • 数控钻孔文件 • 装配图文件 • 测试点报告 Module 3: Schematic Editor Basics 0 - 34 数据输出到相应文档中,文档位于 PCB 文件所在的同一文件夹中,或者位于每个输出型 号的独立文件夹,这由 Options for Project 对话框的 Options 标签决定。 4.1.1 Gerber 作业输出文件中的此选项可生成 Gerber 格式的 Photoplotter 输出。双击 Gerber Files 输出 可显示 Gerber Setup 对话框。关于推荐设置,请询问 PCB 制造商。 图 31. Gerber Setup 对话框 4.1.2 NC Drill 该选项可生成工业标准格式的 NC 钻孔输出。双击 NC Drill Files 可显示 NC Drill Setup 对 话框。关于推荐设置,请询问 PCB 制造商。 Module 3: Schematic Editor Basics 0 - 35 图 32. NC Drill Setup 对话框 4.1.3 ODB++ 输出 该选项生成 ODB++ 输出,可装 载进任意兼容 ODB++ CAM 的工具 中。双击 ODB++ Files 显示 Select Layers to Plot 对话框。 4.1.4 Pick and Place 该选项生成的组件数据可用来对 装配图进行编程。双击 Generates Pick & Place Files 可显示 Pick and Place Setup 对话框。 4.1.5 Testpoint report 该选项生成测试点的位置和尺寸 信息,用于制造测试固件和测试器编 程。 双击 Testpoints Reports 显示 Testpoint Report Setup 对话框。 图 33. ODB++设置对话框 Module 3: Schematic Editor Basics 0 - 36 4.2 装配以及 PDF 输出 4.2.1 生成装配变量输出 使用 Variant 字段决定生成输出时,特定的设计变量是否用作源,或者是否使用完整的基 础设计。在后者的情况下,条目应当设置为缺省值 [No Variations]。 图 34. 指定装配变量作为文档生成 NC Drill Setup 对话框的源 生成如下文档类型时,装配变量可用作源: • 装配图 • 装配图文件 • 原理图打印 • 物料清单 • 组件交叉引用报告 • 报告项目层级 • 报告单管脚网格 • 简单的物料清单 值得注意的是,虽然这些文档类型可直接生成 – 使用各自文档编辑器(通过 File 和 Reports 菜单)中的命令 - 但这些命令与完整的基础设计有关,与设计的变量无关。这是由于文 档生成涉及 Report Manager 对话框(Bill of Materials、Component Cross Reference 等等),您可 以选择在对话框中哪个变量可以直接使用(见直接的报告生成)。 4.2.2 打印变量 原理图打印 正如上面章节所述,输出作业文件可用于生成原理图打印,来源可以是装配变量。实际上 这意味着源原理图上出现的全部设计都可以打印,并且可以决定不适合的组件如何绘制。 为了访问和指定用于生成打印的源装配变量,必须将相应的 Schematic Prints 输出生成器的 Data Source 字段设置为 [Project Physical Documents]。使用项目的物理结构意味着原理图可以 从逻辑表单扩展到物理表单 – 在多通道设计中为每个通道获取独立的打印输出。 Module 3: Schematic Editor Basics 0 - 37 图 35. 设定数据源,使用物理结构,以便使用变量 一旦将输出生成器配置为使用所需的装配变量作为源,您就需要指定非安装组件如何在打 印表单上“图形地”进行处理。该选项位于 Variant Options 对话框的 Schematic Drawing Options 区域,通过 Assembly Variant Management 对话框的 Menu » Variant Drawing Style 进 入。 图 36. 访问变量绘制风格选项. 4.2.3 使用变量名标记打印 除了基础设计以外,大量装配变量也都可以生成原理图打印。为了确定什么打印属于什么 变量,可以在源原理图文档中放置一个特殊字串。 添加特殊字串 = VariantName 到原理图文档。输出生成时,使用变量名解释字串,而该变 量目前分配到与 Schematic Prints 输出生成器(在 OutputJob Editor)相关的 Variant 字段。 Module 3: Schematic Editor Basics 0 - 38 图 37. 使用特殊字串在打印的原理图文档上显示变量名 4.2.4 PCB 装配图 您也可以控制在生成的 PCB 装配图上图形化地处理非安装组件的方式。该选项位于 Variant Options 对话框的 PCB Drawing Options 区域,如图 38 所示。 图 38. 在变量选项对话框指定 PCB 制图选项 缺省情况下,未为特定装配变量安装的组件不会在打印输出中绘制。 要在打印中添加这些组件,请先确认启用了 Display Not Fitted Components in Draft Mode 选项。 使用对话框中的 PCB 绘图选项覆盖更加‘明显的’图形或文本以便更好地区分那些组件。 4.2.5 直接的报告生成 使用 Altium Designer 的 Report Manager 配置的基于报告的文档 – 如物料清单或组件交叉引 用报告 – 一般定义为 Output Job Configuration 文件的一部分。和所有装配和基于报告的文档一 样,您可以直接从原理图和/或 PCB Editor 生成它们。虽然生成的多数文档只使用基础设计,使 用这些特定的文档后,您可以选择为报告使用哪些装配变量。 从各自的 Report Manager 对话框指定 Change Variant 子菜单中用作源的变量。该菜单可提 供对话框的右键菜单或者单击 Menu 按钮访问。 Module 3: Schematic Editor Basics 0 - 39 图 39. 访问并更改变量子菜单 对话框名称将改变以反映出选择的装配变量。主网格中的数据将更新为: • 定义为不适合选定删除参数的组件 • 从源变量进行参数更新,它们随基础设计的变动而变动。 4.2.6 SmartPDF 该命令可以把当前查看的文档或设计项目的选定文件作为 PDF 文档输出。在生成 PDF 文 档前,可以配置 PCB 文件的输出设置(如管脚书签、网络标签和端口、通过彩色、灰色或单色 等等把逻辑表单扩展到物理表单)。此时,该流程需要从 File » SmartPDF 菜单运行。 图 40. The SmartPDF 向导 Module 3: Schematic Editor Basics 0 - 40 4.2.7 练习 – 添加 OutJob 文件到项目中 1. 打开 Temperature Sensor 项目,选择 File » New » Output Job File。 2. 保存文档,将其命名为 Temperature Sensor.OutJob。 3. 选择所有输出设置(CTRLL+A),按下 Delete 删除它们。 4. 添加装配图、Gerber、数控钻孔文件和物料清单。 5. 单击 Gerber 输出设置进行选择,然后右键单击配置输出。确证选中了层、格式设 置正确、孔径等……对数控钻孔输出做同样操作。 6. 选择 Tools » Output Job Options。 7. 在 Output Job Options 对话框,启用 Gerber 和数控钻孔输出复选框并关闭对话框。 8. 使用 ctrl 键选择 Gerber 和数控钻孔,右键单击并从菜单中选择 Run Selected。 将生成文件,创建出新的 CAMtastic 文档,并装入 gerber 和数控钻孔文档。现在可以进行 检查、面板化等操作。 4.3 BOM 表输出 物料清单报告可以通过 Reports » Bill Of Material 生成。该选项可生成物料清单报告(部 件列表)。在 Job Output 文件中,双击 Bill of Materials 报告选项将显示 Bill of Materials for Project 对话框。输出格式选项是 Text、CSV(Comma Separated Variables)和 Spreadsheet,也 可以使用基于 Excel 的 XLT 模板。 您可以通过重新安排栏目的形式配置 BOM,或将其导出到 Excel 并使用 Excel 模板对报告 进行格式化。 图 41. 物料清单设置对话框 Module 3: Schematic Editor Basics 0 - 41 4.3.1 使用 Report Manager 对话框 运行 Bill of Materials 或 Component Cross Reference Report 时,Report Manager 对话框显示 可帮助你对报告进行格式化。您可以显示、隐藏和移动栏目,然后在导出报告前在栏目内对数 据进行排序和过滤。 4.3.2 把数据库链接到物料清单 过去物料清单(BOM)的源信息来自设计中放置组件的参数信息。但它也会带来许多只用 于 BOM 的原理图信息。如果您从 Database Library 放置组件,那么 BOM Generator 可以提取其 他记录信息,这些信息在放置时没有作为设计参数添加。 使用 Report Manager 配置物料清单报告时,只需启用 Include Parameters from Database 选项。该选项只有在设计中一个或者多个组件链接到外部数据库时才可用。在参数列表中, 图标用来区分参数,这些参数是链接的外部数据库中一个或更多的组件参数。 图 42. 包括仅存在于外部数据库的附加组件信息 4.3.3 将 PCB 信息直接添加到 BOM 在需要对多个 BOM 定制和使用报告生成功能时,物料清单(BOM)源信息可基于 PCB 属 性信息。一个例子就是装配图文件的生成,每个放置机都想以不同的栏目顺序和不同的文件格 式获取数据(如 X、Y 位置)。 使用 Report Manager 对话框配置物料清单报告时,只需启用 Include Parameters From PCB 选项。项目文件中有 PCB 文档时该选项才可用。在参数列表中,该图标用于区分项目中 一个或更多放置组件的 PCB 参数。 请注意,当您的项目有多个 PCB 并启用 Include Parameters From PCB 选项时,BOM Report Options 对话框会自动弹出,提示您选择要包括在 BOM 报告中的 PCB。 Module 3: Schematic Editor Basics 0 - 42 图 43. PCB 上的附加组件信息. 4.3.4 导出报告 使用 Report Manager 对话框的 Export 按钮可导出数据区的网格内容并生成报告。 1. 从下拉列表选择 File Format。使用 Report Manager 对话框的 Export 选项导出数据时支 持下列格式: • CSV(逗号分隔)(*.csv) • Microsoft Excel Worksheet (*.xls) • Tab Delimited Text (*.txt) • Web Page (*.htm; *.html) • XML Spreadsheet (*.xml) 2. 如果您希望相关的软件应用程序如 Microsoft Excel 在导出并保存文件后仍然打开,那么 请确认在 Report Manager 对话框中启用了 Open Exported 选项。 3. 如果要把生成的报告添加到项目中,只需启用 Report Manager 对话框中的 Add to Project 选项。 4. 单击 Report Manager 对话框中的 Export 按钮,以适当的格式生成并保存该报告。 4.3.5 使用 Excel 模板 如果要把数据直接导入 Excel 模板,您可以选择现有 Excel 模板或者使用提供的 Excel 模 板。 1. 如果选择了 Microsoft Excel Worksheet(*.xls)文件格式,那么 Report Manager 对话框 中 Excel Options 区域中的 Template 字段变为可用状态。直接在该字段中输入所需的 Excel 模板 文件(*.XLT),或者单击... 按钮直接浏览。该字段的下拉列表有一系列安装的缺省模板。 Module 3: Schematic Editor Basics 0 - 43 从 \Program Files\Altium Designer 6\Templates 文件夹选择 BOM Default Template.XLT。使 用 Relative Path to Template File 选项指定文件的相对或者绝对路径。有关模板创建的更多信 息,请参考 Microsoft Excel 文档。 图 44. 物料清单的文件格式和模板数据集. 2. 如果在 Report Manager 对话框中选择了 Open Exported 选项,那么文件导出后将在 Excel 中打开。 3. 单击 Export 按钮,指定报告的文件名和位置并单击 Save。报告以 Excel 打开,采用指定 的 Excel 模板的格式。 4. 单击 Project Information 标签以显示报告的细节信息。 图 45 . 使用 BOM Default Template.XLT 模板以 Excel 生成的报告 Module 3: Schematic Editor Basics 0 - 44 5. 高级项目功能 (60minutes) 5.1 多通道设计及板级标注 很多设计包含有重复的电路。比如一块板子可能要复制相同的部分 32 次,或者可能包含 4 个相同的区域,每个区域又包含 8 个子通道。设计者会比较困难地把这些设计整合在一张原理 图上,然后完整的连接到 PCB 设计中去。刚开始可能只是简单的复制粘贴的操作,随着以后不 断的修改和添加,工作很快会变得十分繁重。Altium Designer 提供了一种真正的多通道设计功 能,意味着只需要关注有重复设计中的单张图纸,修改只需要一次操作,通过再编译项目来实 现改变的传递。Altium Designer 不仅支持多通道设计,还允许进行嵌套设计。 5.1.1 多通道设计的概念 注意图 46 中显示的 16 个键盘示意图。 图 46 典型的键盘电路,只有两种不同的元件组成 这个设计可以用 Altium Designer 的原理图编辑器在 几分钟内画完。但是如果需 要为按键设置不同的图形符 号怎么办?你想给每一个按 键加一个参数怎么办?或者 你想把这个按键设计列阵从 4 乘 4 扩展到 10 乘 20 怎么 办? 即便使用了群组编辑工具,这样操作也是非常单调的,而且容易出错。试想一下,如果只 需要用两个器件来表示整个电路,一个电阻和一个开关,每一个都有它自己的子图纸。在一张 图纸符号中定义好重复的表达式,它会指示 Altium Designer 的编译器从单张图纸产生出多个副 本,如图所示的图纸符号。一个电阻子图纸可以调用 4 次开关图纸组成一排,然后顶层图可以 调用 4 次电阻子图,画成 4 排。多通道在内嵌多通道,从而组成了矩阵连接。 现在设计者的任务变得简单了,任何在这个设计中的开关或是电阻的属性修改只需操作 一次,代替了原先一次又一次的修改。任何连接的扩展实现只需要修改一下图纸符号里的重复 表达式即可。 多通道功能设计速度的提高让我们开始了解了 Atlium Designer 怎样建立这些工程的关 联。 Module 3: Schematic Editor Basics 0 - 45 5.1.2 多通道连接 不同于其它多图纸设计工程,当关系到你的网络定义范围时你没有其它选择。你必须使用 层次分级方式(图纸接口<->端口)Hierarchical(sheet entry <-> port)。在工程选项对话框里把 它设为自动(Automatic)也是可行的,但这是假定你理解为传输信号到一个复用的图纸的唯一 方法是在母图的图纸接口(sheet entries)连到匹配的子图端口上。不像端口和网络标签那 样,限制的原因是图纸接口,用来操作由复用表达式产生的通道实例。 图 47 每排所有的开关共有一个网络,连接到电阻 多通道设计中提供了两种图纸连接类型:一个是网络名在所有通道中是共用的,另一个是 每一个通道的网络名都是唯一的。在上面的按键实例中将演示这两种类型。每一行的重复开关 有一个管脚直接连接到电阻。 这是一个通用网络,这意味着在每一个通道里的相同结点被告关 联到父图上的单一结点上,并且将关联到其它的结点上。可以在图 44 里直观的看到. 在 Altium Designer 的多通道设计中这是最简单的分配方法。它直观的把通道图纸上的端口 名与上面图纸连接口的名字匹配起来。 但是,开关上的其它节点不是在开关这一级图纸所共用的,从每一个开关里都有唯一的一 个网络,它是连接到每一组对应的开关上的。为了实现这个一排中每个开关唯一的连接关系, 一个复用表达式被设置在了图纸连接口中。图 48 展示了这两种连接类别。 图 48 在图纸符号上的复用声明表明了图纸被多次使用,在这里是 4 次。 请注意两个图纸连接口的差别。第一个(Res)匹配对应端口的名称,第二个(Col)使用 了复用的命令来连接对应得端口名称。这个语法意为在总线 Col[1..4]上有 4 个网络,每个总线 连接到 4 个开关图纸。 Module 3: Schematic Editor Basics 0 - 46 这就允许从 4 个复用的图纸先从一根标好的线,然后从一个标好的总线来引出 4 个独立的 网络,如图 49。在那一点,信号可以任意的连到需要的独立节点上,或是通过端口连到更深一 个层次的设计。 49 设计中的顶层图纸 一旦你安装 Altium Designer 的连接结构构建了自己的多通道工程,就可以把关注的重点从 命名方式转到通道与它们的器件上了。 5.1.3 通道标号 通道是虚拟存在的图纸,所以当 Altium Designer 执行到 PCB 同步操作时将会给每个通道 输出一个 Room,就像它对其它图纸所操作的一样。然而,在做这些事之前,编译器必须为所 有通道和它们的组成器件生成唯一的名字。定义的方法是在菜单 Project》Project Options,在 这个对话框里的 Multi-Channel 选项框。如果你正在使用嵌套多通道设计的话,那里的互动图 表将会显示你的选择对器件和 room 标示的影响情况。 基本上,有两种方式去选择。首先是 Room 和器件使用单调或层次化命名规则。(这里的 层次化对应于通道层次化,所以只影响你的设计是否有嵌套通道设计)。第二种是使用数字或 字母的索引命名方式。(有个选项是可以允许它们一起命名,但这只适用于嵌套设计中) 你所指定器件标号的名称格式可能包括你定义好的通道或 Room 的信息,但这不是必需 的。通常,对于器件和通道的标号格式会包含前缀和后缀。7 个保留的关键字中的两个自动完 成操作:$Component and $RoomName. Module 3: Schematic Editor Basics 0 - 47 $Component 是结合了$ComponentPrefix 和$ComponentIndex。比如标号为 U3A 的器件 是由前缀(U)和索引(3A)组成。同样的, $RoomName 也是结合了通道的前缀和后缀,但 是准确的格式还使取决于你的设计和所选 Room 命名方式来的。如果你的设计没有嵌套多通 道,层次部分的类型就没有关系了。只有数字和字母的类型方式会影响$RoomName 表述你的 通道标记。但如果有嵌套多通道在你的设计中,而且你使用分等级的 room 命名方式,$Room 就不是简单的被$ChannelPrefix 和$ChannelAlpha 或$ChannelAlpha 所替换。这是因为在设计 中它建立一个对于在重复声明里的通道名的特殊的,多级的前缀。 如果在我们的这个键盘工程里,Room 命名方式我们选择了数字命名,用逗号来分开,我 们已经为标号格式写下了$RoomName。图 50 是编译好之后的 16 个示例按键将被标注。 图 50.拷贝并粘贴在一起的 16 个按键,显示它们的标识 如果我们使用字母命名方式,标号将变成 RowA,PBA;RowA,PBB 等等。如果我们使 用混合命名方式,则会是 RowA,PB1;RowA,PB2 等。但如果选择了单调选择方式,Row 通道参考将被忽略,标号将简单的从 PB1 标到 PB16,或是 PBA 到 PBP(数字或是字母)。 当然,实际当中并不是经常忽略器件的任何参考的,只是这个例子因为每个通道只有一个器件 所以才可以接受的。 5.1.4 在 PCB 上显示标号 多通道设计中如果标号字符很长的话,PCB 里很难布置它们的位置。在命名选项里用逻辑 器件标号代替原始标号可以缩短名字的长度。如 C30_CIN1 将显示 C30。当然需要一些其他的 标记方法来标示不同的通道。比如附着在器件上的每个通道附近画上描述盒。 可以在电路板选项(Design » Board Options )里选择逻辑或物理标示。如果你选择在 多通道设试中对于元器件显示逻辑标号,在 PCB 或其他输出文件如打印输出和 Gerber 文件将 会这样显示。而唯一的物理标号总是用在产生器件清单时。 5.2 PCB 中 room 格式复制 多通道设计功能好处很多,不仅仅在原理图设计上。PCB 设计上体现的优势在各通道器件 分配在各自的 Room 上。在多通道设计的布线中,新的强大的基于 Room 的工具将被特别的介 绍。 Module 3: Schematic Editor Basics 0 - 48 在 Altium Designer 中拓扑自动布线功能有针对单个 Room 的操作,以此可以布通在 Room 里所有的连接。相反的,取消连接工具也有 Room 的选项。每个通道对应的器件都被分 配在相同的通道上,意味着它们通过选择和全局编辑可以一起被指定。更加令人印象深刻的是 它可以复制一个 room 的格式到另一个 room 上。这就使你只需要在一个 room 上改变器件的位 置,然后把变化复制到其他 room 上去。如果源和目标 room 是同一个通道类(意为它们被同一 个原理图生成的),那么更新可以立刻延展到所有类成员。你复制的内容可以是 room 的尺寸 和形状,或是封装的管理甚至布线。 增加的控制让你决定在如此一个 room 里现在布线有多远 将被切断。 图 51. 复制 room 格式的过程。 以上显示了从 CIN1 到 CIN2 复制 room 格式。在 CIN2 中 52 个元件的放置信息全参照于 CIN1。这在 PCB 多通道设计中节省了时间。 Module 3: Schematic Editor Basics 0 - 49 多通道设计中更多的工具被加到了 PCB 编辑器中。比如,在菜单 Design » Rooms 中使 用 Move 移动命令,按下 L 键,room 就被移动到电路板的另一面去了。你可以发现包括器件 位置和布线,整个 room 在移动之后都完好无损。 多通道设计对于电路板设计者的好处和对于原理图设计者是一样的,你不需要花费时间做 同样的事情两次,或是 32 次。 要学习更多关于多通道和嵌套多通道设计的话,可以在\Altium Designer\Examples\Reference Designs\ 文件夹中学习一下里面的示例。 包括有: • LedMatrixDisplay • Multi-Channel Mixer • Peak Detector • PortSwitcher 5.3 板级标注及装配变量 5.3.1 板级标注 标号的排列顺序既可以在原理图操作也可以在 PCB 里进行。 z 要在 PCB 里重新标注器件,选中 Tools » Re-Annotate 。将出现重新标注对话 框如图所示。选择需要的方式然后点击 OK。 z 由于 PCB 中元件与原理图中通过唯一的检验符对应起来的,所以多次重新标注 是安全的。 z 一旦标注符合了你的需要,使用同步命令来是原理图中的标示改过来。实现的 方法是选择 Design » Update Schematic。 图 52. 重新标注对话框 注意: 在这个元器件的约束矩形的左下角在重新标注时被习惯于用来决定元器件的位置。 重新标注指令在 100mil 宽的范围内扫描元器件,根据选好的选项在 X 和 Y 方向上递变 Module 3: Schematic Editor Basics 0 - 50 1. 练习-器件放置 在这个练习中,你将摆放一个温度传感元件。用下图作参考。 图 53.温度传感器电路板的元件摆放的一种可能方案 1. 板子不需要照图上那么精确摆放,这只是一种解决方案。 2. 当你按空格键旋转元件时,会发现标号始终定位在元件的左上方。这是可以在元件属 性对话框中的标号自动定位(Autopostion)选项来控制的。手动定为标号的话,点 击拖拽它就可以了,根据需要按空格键旋转。想要除了标号以外屏蔽其他的对象,则 在 PCB 过滤器中输入表达式 IsDesignator 。在结束时要清除这次过滤则按 Shift+C 。 3. 每个元件会有一个描述字符,你可以在元件属性对话框里设置它的是否可见。想要把 它们全部隐藏,在过滤板上输入表达式 IsComment (确认在应用按键下面的 select check box 被使能),然后按 F11 打开检阅板。检阅板现在可以用来编辑所有所选的 描述字符,勾上隐藏复选框并按回车键。 4. 在 Backup 文件夹里放置了一个板子的副本,你可以作参考用。 5. 完成之后保存设计,但还不要为它布线。 5.3.2 装配变量(Assembly Variants) 一个公司基于同一块电路设计而卖一些不同的产品是很正常的事。比如一个高级产品的电 路板是完整的,而标准产品的某些元件是不配备的,会缺少一些功能。通过装配变量 Altium Module 3: Schematic Editor Basics 0 - 51 Designer 可以支持这种需求。装配变量真正的用处在于不需要产生或维护 PCB 项目的每个精 确变量。你可以在板上简单的控制器件数目。 z 支持两种设置装配变量的方法;元件在哪里要配备的,或是哪个变量元件有不同的 值。 z 无论装配变量有多少,只有一个 PCB 设计。因为无论是原始设计还是装配变量的, PCB 的制造都是相同的——只有一种制造文件生成。 z 变量发生于装配中,所以 Altium Designer 为每一个装配变量产生装配相关的文件,比 如装配图,器件摆放文件,器件清单等等。 z Altium Designer 有一些选项为原理图和 PCB 变量打印而设置。 z 通过选择 Project » Assembly Variants 来配置装配变量。装配变量管理对话框将被 打开(如图)。 图 54 装配变量管理对话框用来添加或移除变量,并配置它们。用右键菜单和菜单 (Menu)按钮来配置变量。 Module 3: Schematic Editor Basics 0 - 52 2. 定义一个装配变量 Defining an Assembly Variant 图 55 变量管理器显示了 2 个变量。在底下对话框里看到,所选器件里,一个变量是用 Spartan2 300E 配备的, 而另一个是用 Spartan2 100E 配备的 。 z 使用添加变量按钮来加入一个新的变量,或通过右键菜单执行。给变量加一个有意义 的名字,以便在输出文件里作为参考。 z 一个设计中任意装配变量可以添加和定义。变量信息被存放在项目文件中。 z 基本原始的设计一定包括了所有用到的元件,这是用于 PCB 布线的。原始设计不需要 用于产生装配输出,因为通过装配变量那里可以完全实现。像图 55 配置,产生 2 个变量 (Commercial build 和 Educational build),原来设计不被用于装配输出产生。 3. 变量元件设置 为一个装配变量改变一个元件及它附加的参数不总是一件容易的事。可能是很简单的变 化,要求一个电容赋有不同的值或诸如此类。也可能是复杂的变化,不得不记住并键入一个 16 位数字的生产部件号。为了快捷有效的改动器件,装配变量管理器包含了一个从库文件改进值 (Update Values from Library)的功能,是一个从所选器件的器件库中更新参数值的过程。 注意:这里重点指出,这个操作不是替换你所选择的元件,而是从器件库元件匹配和复制 元件属性和参数到设计元件。一个完整的元件替换过程必定包括改变元件图形符号,这必定会 影响到设计布线。这样就不是装配变量的作用了,是设计变量了。为了执行这种变化,你必须 创建一个完整的新的项目副本。 z 当一个新的变量被加入,它是默认所有元件被配备的。用配备选择框来控制元件的 配备状态,或选择多个元件用右键功能来全局控制。 z 使用底部的对话框来为所选元件配置可选值。 Module 3: Schematic Editor Basics 0 - 53 z 也可以在顶部对话框点右键选择 Update Values from Library 命令来从库里直接选一 个元件。所有被更新的参数数据将完成(当在 两个元件里有相匹配的参数)。 z 在一个大的设计中配置和管理变量是吃力 的,因为有大量的元件列在对话框里。为了简 化操作,在右键菜单里使用只显示变量元件 (Only Showed Varied Components)将会 只显示那些被改变的元件了。 z 变量元件设置也可以在原理图中选中,一 旦选中右键点击 Part Actions » Assembly 图 3 在原理图上选择需要变动的元件,右 键点击装载到变量管理对话框中。 Variants 将打开只有这些元件被加载的对话框。 注意:变量元件设置并不是原理图中物理的改变原始的元件。这个过程既不能创建参数 也不能移除参数。 z 在对话框下面的菜单(Menu)按键上选择详细报告(Detailed Report),将产生 一个 HTML 格式的详细元件变量报告。 图 56 一个详细列出变量元件不同值的综合报告被生成 Module 3: Schematic Editor Basics 0 - 54 4. 变量输出生成 图 57 一个 OutJob 列表,显示了两种装配相关的输出文件,一个是原始文件,一个是变量 名为“standard version”的文件。 z 在装配变量对话框里选择菜单(Menu)里的 变量图形样式(Variant Drawing Style)来配置 原理图和 PCB 的打印。通过选择来决定怎样打印 出被改变过属性的元件样式。 z 在 Output Job 文件里对于每个变量都能生成 完整的装配相关的输出文件,然后在变量 (Variant)卷标中选择需要的变量名称。生成和 配置 Output Job 文件是很灵活的,你可以每个变 量生成一个 Output Job 文件,也可以在一个 Output Job 文件里包括所有的变量。 z 智能 PDF 生成器也支持变量操作,只要在生 成向导中选中要求的变量即可。 5. 在装配变量中设计更新产生的影响 如果原始设计中的元件有任何变化——比如说元件从器件库或外部数据库更新——定义过 的装配变量将不会被改动。因原始设计更新而影响到装配变量的效果描述如下: z 元件包含状态不会改变。以前定义的未配备(Not Fitted)在更新之后仍然也是 未配备状态。 z 在装配变量中元件参数被定义为未改变(Not Varied)的将会从更新中得到新的 值。换句话说,如果参数值没有做特别的改变,它在原设计值的更新将会跟随到装配变 量里对应的值。 z 在装配变量里元件参数做了特别的改动后将保持原状。更新前对某一参数特定的值 将在更新后继续保留。 Module 3: Schematic Editor Basics 0 - 55 6. FPGA 及嵌入式设计实例 (60 minutes) 6.1 Openbus 设计实例 FPGA 面世已经超过 20 多年,但对大多数工程师来说它还是个新鲜事物。没有接触过 FPGA 的工程师,要来掌握这种技术总是感觉有点困难,但是不管你现在对 FPGA 有多少了 解,通过这份指导将会了解到整个 FPGA 的设计流程。在做的过程中,你将体会到 Altium Designer 带来的全新的特性,可以帮助你简化设计,提升生产力。这些特性包括: z OpenBus 系统开发环境 z 自动配置的 FPGA 项目 z 处理器软件架构 DSF z 你还会看到如何在设计中使用 NanoBoard 和它的一些高级的外部设备。比如: z 复合视频采集板卡 Composite video capture z 带触摸的液晶显示屏 Touchscreen TFT display 6.1.1 创建你的设计实例 本指导基于视频捕捉和显示的应用实例。 图 58.视频捕捉的总览 6.1.2 建立 FPGA 项目 在开始 Altium Designer 的设计工作前你需要一个项目工程。项目工程帮助你更好的管理设 计文档和各种输出文档。对于 FPGA 设计你需要建立 FPGA 项目工程。 Module 3: Schematic Editor Basics 0 - 56 创建新的 FPGA 项目工程: 1. 从菜单选择 File » New » Project » FPGA Project,或者从 Files 面板里点击 Blank Project (FPGA) 。 2. 项目面板会显示着新建的默认名字为 FPGA_Project1 的 FPGA 项目。 选择 File » Save Project ,把项目名称保存为 SpinningVideo.PrjFpg。 注意:使用下划线(“_”)来代替文件命名中的空格(“Space”),因为一些 FPGA 的构建工具不支持带空格(“Space”)的文件名。 添加源文件到 FPGA 项目 FPGA 项目支持三种文件类型:原理图输入、HDL 语言(Verilog 或者 VHDL) and OpenBus 文件。在同一个项目里,可以通过原理图符号来混合使用这三类文件。在 FPGA 项 目里必须有一张最顶层的原理图。FPGA-to-PCB 之间的综合和同步必须通过最顶层的原理图来 实现。 建立一个原理图文件并添加到项目工程: 1. 选择 File » New » Schematic, 或者从 Files 面板里点击 Schematic Sheet。名为 Sheet1.SchDoc 的空白文档就会打开在设计窗口。 2. 通过 File » Save As 重新命名为 SpinningVideo_FPGA.SchDoc ,并且保存在项目 同一个路径下。 过一会我们就会回到这张原理图,接下来该为项目 增加 OpenBus 文件。 建立一个 OpenBus 文件并添加到项目工程: 1. 选择 File » New » Other » OpenBus System Document, 或者从 Files 面板里点 击 OpenBus System Document 。名为 System1.OpenBus 的空白文档就会打开在 设计窗口。 图 51.FPGA 项目工程面板和新建的文档 2. 通过 File » Save As 重新命名为 SpinningVideo_OB.OpenBus,并且保存在项目同一个路径下。 6.1.3 使用 OpenBus 定义一个 FPGA 系统 OpenBus 是进行 FPGA 系统级设计的新方式。OpenBus 拥有传统原理图输入方式不可比的便捷,同时也不会因为方便 而减弱了功能。你只需关注在上层关键元件间的互联关系, OpenBus 都会自动配置底层的细节。你可以在 OpenBus 色 盘里找到所要的所有元件。单击右下角的 OpenBus 控制栏, 在弹出的菜单选择“OpenBus Palette” 就可以打开 图 52.打开 OpenBus 色盘 Module 3: Schematic Editor Basics 0 - 57 OpenBus 色盘。 6. 放置 OpenBus 元件 OpenBus palette 包含了所有能在 OpenBus 文件中使用的元件。它们按照连接器、处理 器、内存和外设加以分类。每个分类可以通过 和 按钮来展开或者收起。 在这个设计实例中,我们将用到下面的元件: Group Item Icon Connectors Arbiter Connectors Interconnect Processors TSK3000A Memories Peripherals SRAM Controller Port IO Peripherals Peripherals Peripherals Video Capture Controller VGA 32-Bit TFT Controller I2CM Controller 图 53.设计中用到的 Openbus 元件 放置一个 OpenBus 元件到 OpenBus 文档: 1. 在 OpenBus 色盘里单击你想要放置的 OpenBus 元件。 2. 选中的元件就会随着鼠标移动。这时候可以用空格键(Space)来旋转,X 或 Y 键 可以按 X 轴或 Y 轴各自做镜像翻转。 Module 3: Schematic Editor Basics 0 - 58 3. 鼠标移到合适的位置,单击放下 OpenBus 元件。光标依然在放置模式下,如果需 要的话,可以继续放置多个相同的元件。 4. 按 ESC 或者单击鼠标右键退出放置元件状态。 5. 继续放置图 59 中余下的器件,按照图 60 的样子摆放。 编辑放好的 OpenBus 元件的名字: 1. 单击要改名的 OpenBus 元件关联的名字。这选择了文本。 2. 双击或者按 F2 键进入编辑文本模式。 3. 改成需要的名字。 4. 回车或者单击窗口其他部分退出编辑,保存对元件名字的更改。 7. 连接 OpenBus 元件 为了控制 OpenBus 文件中各个元件间的数据流向,你得在它们之间放置连接线路。这些 连接表示主端口 和从端口 间的互联。连接线路上箭头表明主端口和从端口间的控制方 向。 在主端口和从端口间放置连接连线: 1. 选择 Tools»Link OpenBus Ports 或者在 OpenBus 工具 条上点击 Link OpenBus Devices 图标。 2. 点击主端口 作为起点。 3. 点击想被控制的从端口 做为终点。 4. 重复步骤 2、3,完成余下的连线。按 ESC 或者单击右键退出连线模式。 移除主端口和从端口间放置的连接连线: 1. 选择 Tools»Remove OpenBus Ports 或者在 OpenBus 工具条上 点击 Remove OpenBus Devices 图标。 2. 在你想要移除的连接上旋转鼠标直到它改变颜色,点击左键,然 后执行连接移除。 3. 重复步骤 2,删除想要删除的连线。按 ESC 或者单击右键退出删线模式。 8. 互连器(Interconnect)和仲裁器(Arbiter)元件 Interconnect 连接连线只能完成单个主设备和单个从设备间的互连, OpenBus 提 供互连器(Interconnect)和仲裁器(Arbiter)来实现多个器件间的互 连。 OpenBus 互连器有一个从端口和多个主端口。这就允许一个连接到 互连器从端口的主设备控制多个连接到互连器主端口的从设备。 Arbiter OpenBus 仲裁器是对互连器的补充。它能够实现多个主设备对单个从设备的 1 0 控制,比如多个控制器访问同一块内存。仲裁器控制着主设备间的并发数据访问。 可以配置仲裁器的选项来设置他的仲裁机制。 Module 3: Schematic Editor Basics 0 - 59 给仲裁器和互连器增加端口: 1. 选择 Tools » Add OpenBus Port 或在 OpenBus 工具条上点击 Add OpenBus Port 图标。 2. 旋转鼠标到要增加端口的元件上,红线将会出现在你要加 的端口上。 3. 点击去添加新的端口。 4. 重复第 2 和第 3 步去加你想加的端口,单击鼠标右键或者 按 ESC 退出放置端口。 移除仲裁器和互连器增加的端口: 1. 选择 Tools » Remove OpenBus Port 或在 OpenBus 工 具条上点击 Remove OpenBus Port 图标。 2. 旋转鼠标到要移除端口的元件上直到红叉出现。点击左 键完成端口移除。 3. 重复第 2 移除你想移除的端口,单击鼠标右键或者按 ESC 退出放置端口。 调整互连器和仲裁器端口的位置: 1. 择 Tools » Reorder OpenBus Port 或在 OpenBus 工具条 上点击 Reorder OpenBus Port 图标。 2. 旋转鼠标到要调整端口的元件上直到红圈出现。点击左键开 始移动。 3. 在元器件上移动鼠标到其它端口上。一个红线将显示在端口将要移动的位置,左键 点击鼠标执行移动。 4. 重复第 2 和第 3 步去移除你想移除的端口,单击鼠标右键或者按 ESC 退出调整端 口模式。 9. 完成 OpenBus 系统 1. 根据上面提到的知识完成图 54 所示的 OpenBus 系统。 2. 保存文件。 Module 3: Schematic Editor Basics 0 - 60 图 54.完成的 OpenBus 设计 6.1.4 配置 OpenBus 元件 大部分 OpenBus 元件都可以直接转化成原理图方式设计 FPGA 所使用的库文件中对应的 图形符号。在原理图方式下我们对部分元件需要配置,同样在 OpenBus 中也要对有些元件进 行配置。在这个设计实例中我们用到的几个器件需要配置。 10. 配置外设元件 对于这个实例配置输入输出端口元件: 1. 右键点击 WB_PRTIO_1 元件,在弹出菜单 中选择 Configure WB_PORTIO_1 (Port IO) … 。 2. 在 Configure OpenBus Port I/O 对话框里 设置: z 端口类型定义为输出。 图 55.配置 IO 端口外设 z 端口数量设置 1 个。 z 端口宽度设置为 8 位。 3. 点击 OK 保存所作的变更。 Module 3: Schematic Editor Basics 0 - 61 11. 配置内存控制器 配置视频缓存内存控制器: 1. 右键点击 CaptureMem 元件,在弹出菜单里选择 Configure CaptureMem (SRAM Controller) … 。 2. 在 Configure (Memory Controller) 对话框里设置: a. 内存类型为异步静态存储器(Asynchronous SRAM)。 b. 内存大小为 1 兆位(1 MB (256K x 32-bit) )。 c. 内存宽带为 32 位(1 x 32-bit Wide Device)。 3. 点击 OK 保存所作的变更。 配置视频显示内存元器件: 1. 右键点击 DisplayMem 元件,在弹出菜单里选择 Configure DisplayMem (SRAM Controller) … 。. 2. 在 Configure (Memory Controller) 对话框里设置: a. 内存类型为异步静态存储器(Asynchronous SRAM)。 b. 内存大小为 1 兆位(1 MB (256K x 32-bit) )。 c. 内存宽带为 2 路 16 位( 2 x 16-bit Wide Devices)。 3. 点击 OK 保存所作的变更。 12. 配置内存仲裁器 配置捕捉缓存内存仲裁器元件: 1. 右键单击 CaptureMem_Arbiter 元件,在弹 出菜单中选择 Configure CaptureMem_Arbiter (Arbiter) …。 2. 在 Configure OpenBus Arbiter 对话框里 设置: 图 56.配置仲裁器元件 z 设置为优先级仲裁方式。 z 设置视频输入数据(S1)为无延时的主设备。拥有高优先级的端口符号的字母会用 红色显示。 Module 3: Schematic Editor Basics 0 - 62 3. 点击 OK 保存所作的变更。 配置显示缓存内存仲裁器: 1. 右键单击 DisplayMem_Arbiter 元件,在弹 出菜单中选择 Configure DisplayMem_Arbiter (Arbiter) …。 2. 在 Configure OpenBus Arbiter 对话框里 设置: z 设置为优先级仲裁方式。 图 57.配置仲裁器元件 z 设置视频显示数据(S1)为无延时的主设备。拥有高优先级的端口符号的字母会用 红色显示(S1)。 3. 点击 OK 保存所作的变更。 13. 配置处理器 配置 TSK3000 处理器元件: 1. 右键单击 TSK3000 元件,在弹出菜单中选择 Configure TSK3000A_1 (TSK3000) … 2. 在 Configure (32-bit Processors) 对话框里设置: z 在右上角的下拉列表中选中处理器型号为 TSK3000。 z 设置 Internal Processor Memory 为 8 K Bytes (2K x 32-Bit Words) 。 z 设置硬件乘除法器(Hardware MDU)。 z 片上调试系统选项设置为:Include JTAG-Based On-Chip Debug System 和 Disable Breakpoints on Hard Reset。 3. 点击 OK 保存所作的变更。 4. 这时会产生下面的抱错,(暂时不管,后面加入) Module 3: Schematic Editor Basics 0 - 63 6.1.5 管理内存映射 . 用总线来管理你的设计的最大好处就是 OpenBus 可以自动管理系统的内存映射。.最终 所有的外围设备和存储设备占据 32 位内存空间,其中涵盖 4Gbytes(的系统空间)。为了使 管理这个内存空间更方便,OpenBus 智能化的为每个外设和内存控制器自动分配内存控制空 间。.在大多数情况下,这些内存配置将足够的,但在某些少数的情况下,您可能希望手动编辑 内存分配。您同样可以用 OpenBus 做到这一点。 14. 使用互连组件配置内存 在正常环境下,互联器件将探测每一个连接的设备和设置对存储器的要求,并自动更新内 存映射。你可以从 Configure OpenBus Interconnect 对话框中看到(和编辑)的内存映射的 互连组件配置,右键点击元件配置即可。 图 61. 查看(编辑)互连内存映射 . 互连配置信息自动传递内存映射到处理器上。 15. 在处理器内部配置内存 在 openbus 文件内部,不仅可以通过互相 连接的器件管理内存, 你还可以通过处理器内 存管理和外设配置框对内存进行中央管理。这些 只需要在处理器上单击右键。通过 Configure Processor Memory 对话框,可以让外设和内 存管理器能在处理器内存中定位。 你可以通过 图 58.配置处理器内存空间 手动方式,用对话框底端的网格来控制内存映射图,当然通常情况下不需要这么做。 另外一 Module 3: Schematic Editor Basics 0 - 64 个更简单的选项是使用编译时自动导入 。这些可以保证所有的 Openbus 内存能在设计中合成 一体并和编译同步。 在工程编译的时候,通过检测 Hardware.h(C 语言头文件) 选项会生成一个 Hardware.h 文 件。.这个头文件会自动的添加到任何与项目链接的嵌入式工程,并且可以提供宏用来定义内存 中每一个外设和内存器件。通过确认 2 个选项被检测,你在 Openbus 中做的任何变动都将更 新到嵌入式工程中。 图 62. 在设计中,演示如何配置内存让信息进行传递 让工程自动将设置导入到 OPENBUS 文件中: 1. 键单击 TSK3000,并选择 Configure Processor Memory 2. 在 Configure Processor Memory 对话框中,选择 Hardware.h 选项。 3. 同样选择 Automatically import when compiling 4. 点击 Configure Peripherals 改变视图, 如果询问你是否在转换到外设配置界面保存 配置,点击 YES 5. 点击 Automatically import when compiling 对话框来导入外设的内存映射图 6. 点击 OK 并退出 Module 3: Schematic Editor Basics 0 - 65 6.1.6 为原理图链接 OpenBus 文件 正如本指南在开头所提到的,一个 FPGA 工程的顶层文件需要一张原理图。现在我们已经 创建了一个 OpenBus 文件,需要将该文件与先前创建的顶层原理图链接起来。 在链接文件之前,我们需要花一点时间来阐述 OpenBus 文件中的底层信号如何在顶层原理图 中体现。 所有总线链接的信号通常都在 OpenBus 文件中隐藏,但是其中有一些需要被暴露的信号 并没有立即显示在 OpenBus 文件中。你可以通过 OpenBus Signal Manager 来查看这些信号的列 表。 16. 使用 OpenBus 信号管理器 OpenBus Signal Manager 可以通过 Tools 菜单找到,他可以让你管理所有在 OpenBus 文件中显示的信号。 图 63 中显示的对话框。 Clocks 和 Resets 表格在大多数情况下初始设置就合适,不需要花时间配置。如果你计划 使用外设作为中断源,需要在 Interrupts 表格中进行设置。在该对话框中,你可以为主处理器 可用到的中断通道分配中断。在这个设计中,中断不是必须的,所以我们使用初始化设置(不 连接)。 尽管这个对话框提供了非常好的参考,但是在 External connection summary 列出的信 号,不能直接进行编辑。所有对话框中列出的信号会在父原理图中显示。这些信号通过器件进 行分组,以便控制和更好的辨识及定位不同信号的来源。举个例子,当你为一个 OpenBus 文 件连接了母原理图,一些来自特定图纸器件的信号不会立即显示出来。他们在这个对话框中, 让你来找到答案。 图 63. 使用 Open Bus 信号管理器标示 OpenBus 信号源 Module 3: Schematic Editor Basics 0 - 66 17. 通过 OpenBus 文件创建图纸符号 要为 OpenBus 文件连接母原理图,需要创建原 理图符号来放置在母原理图上。 1. 打开 SpinningVideo_FPGA.SchDoc 2. 选择 Design >> Create sheet symbol from sheet or HDL… 3. 当 Choose Document to Place 对话框 出现,选择.SpinningVideo_OB.OpenBus,并 点击 OK. 4. 一个大的原理图符号会出现在光标上。 定位到你需要防止的原理图上,并点击确认放 置位置。 U_SpinningVideo_OB SpinningVideo_OB.OpenBus RST_I CLK_I VideoCapture_pclk VideoCapture_vblk VideoCapture_vid_data[7..0] CaptureMem_SRAM_D[31..0] Display Mem_SRAM0_D[15..0] Display Mem_SRAM1_D[15..0] I2CM_W_1_SCLKI I2CM_W_1_SDATAI WB_PRTIO_1_PAO[7..0] VideoDisplay _TFT_CL[3..1] VideoDisplay _TFT_DISP_ON VideoDisplay _TFT_M VideoDisplay _TFT_POL VideoDisplay _TFT_STH VideoDisplay _TFT_STV VideoDisplay _TFT_RED[4..0] VideoDisplay _TFT_GREEN[5..0] VideoDisplay _TFT_BLUE[4..0] CaptureMem_SRAM_A[17..0] CaptureMem_SRAM_CE CaptureMem_SRAM_WE CaptureMem_SRAM_OE CaptureMem_SRAM_B3_E CaptureMem_SRAM_B2_E CaptureMem_SRAM_B1_E CaptureMem_SRAM_B0_E Display Mem_SRAM0_A[17..0] Display Mem_SRAM0_CE Display Mem_SRAM0_WE Display Mem_SRAM0_OE Display Mem_SRAM0_UB Display Mem_SRAM0_LB Display Mem_SRAM1_A[17..0] Display Mem_SRAM1_CE Display Mem_SRAM1_WE Display Mem_SRAM1_OE Display Mem_SRAM1_UB Display Mem_SRAM1_LB I2CM_W_1_SDATAO I2CM_W_1_SCLK_EN I2CM_W_1_SDATA_EN I2CM_W_1_SCLKO 图 64. 通过 OpenBus 文件创建原理图符号 在新放置的原理图符号上,左边是输入端口,右边是输出端口。 你现在需要通过一些步骤 将这些图纸端口拆开,以便可以更方便的和外设以及 NanoBoard 链接。 18. 顶层原理图布线 为原理图入口连接端口外设和完成顶层原理图的布线,你需要放置一些器件。你会使用到 下面这些 Altium Designer 里的库文件。 1. 库:FPGA NB2DSK01 Port-Plugin.IntLib: a. CLOCK_BOARD b. LED c. NEXUS_JTAG_CONNECTOR d. SHARED_MEM_DAUGHTER e. SRAM_DAUGHTER0 f. SRAM_DAUGHTER1 g. TEST_BUTTON h. TFT_LCD 2. 库:FPGA Peripheral Board 01 Port-Plugin.IntLib: a. VIDEO_INPUT b. VIDEO_INPUT_CTRL 3. 库: FPGA Generic.IntLib: a. INV b. IOBUF (x2) c. J4S_4B d. NEXUS_JTAG_PORT 4. 一个完整的 SpinningVideo_FPGA.SchDoc 电路图显示在下面的图中。利用该图来作 为放置器件的参考,并将这些器件精确的连接起来。 Module 3: Schematic Editor Basics 0 - 67 5. 在你完成原理图的布线之后,选择 Tools » Annotate Schematics Quietly… ,来为每 一个器件设置一个特定的标号。 6. 通过选择 Project » Compile FPGA Project SpinningVideo.PrjFpg. 编译工程,并 修复任意编译或者布线错误,最后保存你的设计。 CLK_BRD TEST_BUTTON nRST_I LEDS[7..0] U1 (U1) INV RST_I U_SpinningVideo_OB SpinningVideo_OB.OpenBus CLK_I RST_I WB_PRTIO_1_PAO[7..0] TVP5150AM1 VIDIN_DATA[7..0] VIDIN_PCLK VIDIN_INTERQ_GPLC VIDIN_RESETB VIDIN_AVID VIDIN_HSYNC VIDIN_VSYNC VIDIN_FID_CLCO nRST_I VideoCapture_vid_data[7..0] VideoCapture_pclk VideoCapture_vblk TVP5150AM1 U3 (U3) I2CM_W_1_SDATA_EN I2CM_W_1_SDATAO I2CM_W_1_SDATAI SDA SCL UIO4B(UU4F) I2CM_W_1_SCLKI I2CM_W_1_SCLKO IOBUF I2CM_W_1_SCLK_EN DAU_TFT_IRQ DAU_TFT_RED[4..0] DAU_TFT_GREEN[5..0] DAU_TFT_BLUE[4..0] DAU_TFT_CL[3..1] DAU_TFT_DISP_ON DAU_TFT_M DAU_TFT_POL DAU_TFT_STH DAU_TFT_STV DAU_TFT_MUX DAU_TFT_BLIGHT VideoDisplay_TFT_RED[4..0] VideoDisplay_TFT_GREEN[5..0] VideoDisplay_TFT_BLUE[4..0] VideoDisplay_TFT_CL[3..1] VideoDisplay_TFT_DISP_ON VideoDisplay_TFT_M VideoDisplay_TFT_POL VideoDisplay_TFT_STH VideoDisplay_TFT_STV VCC CaptureMem_SRAM_D[31..0] CaptureMem_SRAM_A[17..0] CaptureMem_SRAM_WE CaptureMem_SRAM_OE CaptureMem_SRAM_B0_E CaptureMem_SRAM_B1_E CaptureMem_SRAM_B2_E CaptureMem_SRAM_B3_E CaptureMem_SRAM_CE DisplayMem_SRAM0_D[15..0] DisplayMem_SRAM0_A[17..0] DisplayMem_SRAM0_CE DisplayMem_SRAM0_WE DisplayMem_SRAM0_OE DisplayMem_SRAM0_UB DisplayMem_SRAM0_LB DisplayMem_SRAM1_D[15..0] DisplayMem_SRAM1_A[17..0] DisplayMem_SRAM1_CE DisplayMem_SRAM1_WE DisplayMem_SRAM1_OE DisplayMem_SRAM1_UB DisplayMem_SRAM1_LB [17..0] [19..2] SH_MEM_A[24..1] I0 O[3..0] I1 I2 I3 U2 (U2) J4S_4B VCC VCC VCC VCC GND SH_MEM_A1 VCC VCC GND SH_MEM_A[24..20] VCC BUS_D[31..0] BUS_A[24..1] BUS_NWE BUS_NOE BUS_NBE[3..0] BUS_SDRAM_CKE BUS_SDRAM_NRAS BUS_SDRAM_NCAS BUS_SDRAM_NCS BUS_FLASH_NBUSY BUS_FLASH_NRESET BUS_FLASH_NCS BUS_RAM_NCS BUS_SDRAM_CLK SRAM0_D[15..0] SRAM0_A[17..0] SRAM0_E SRAM0_W SRAM0_OE SRAM0_UB SRAM0_LB SRAM1_D[15..0] SRAM1_A[17..0] SRAM1_E SRAM1_W SRAM1_OE SRAM1_UB SRAM1_LB JTAG_NEXUS_TDI JTAG_NEXUS_TDO JTAG_NEXUS_TCK JTAG_NEXUS_TMS VCC SAMSUNG K6R4016V1D-TC10 SAMSUNG K6R4016V1D-TC10 MT48LC16 M16A2 BG-7E SAMSUNG K6R4016V1D-TC10 SPANSION S2 9 GL2 5 6 N 11FFIV1 TDI JTAG TDO JTAG TCK JTAG JTAG TMS ..JTAG JTAG TRST 图 65. 完成设计的顶层原理图约束 到目前为止,我们已经完成了大半的 FPGA 设计,但是还有一个另外步骤在我们将设计运 行在 NanoBoard 平台上之前需要处理。为 FPGA 设计建立约束文件,是为了给特定的 FPGA 管脚进行定义。这个步骤很重要,能保证你的 FPGA 设计能与 NanoBoard 板载资源链接,并 且可以和 FPGA 的子板配置好。 在定义约束文件的时候,有不要在顶层原理图配置,但是这是不推荐的做法。 原因在于这 样就将设计约束在某一个特定的器件上,并限制你以后移植到不同的 FGPA 上的可能性。一个 比较好的方式是将约束文件保存在原理图不同的位置。 Altium Designer 实现的方式是使用预 创建和用户定义的方式为 FPGA 工程添加约束文件。 6.1.7 在 NanoBoard 平台上自动配置工程 图 66. 自动创建配置文件 Altium Designe 包括了一个自动生成配置约束文件的功能,方便在 NanoBoard 平台上运行 设计项目。 通过使用一些 NanoBoard 固件设备,Altium Designer 可以探测 NanoBoard 平台 Module 3: Schematic Editor Basics 0 - 68 和子板以及外设板都正确无误的链接。一个预定义的约束文件会被导入,并根据你使用的特定 硬件进行设置。 图 67. 通过自动配置功能示例 在 NanoBoard 平台上自动配置你的 FPGA 设计: 1. 确认你的 NanoBoard 平台和电脑链接好,并 且电源开启。 2. 选择 View » Devices View ,或者点击 工具 条上的 Devices View 图标 3. 在 Devices View 界面下,确认 Live 被选 中。 你应该可以屏幕的上方看到一张 NanoBoard 平台的图片。 4. 在 NanoBoard 平台的图片上点击右键,选择 Configure FPGA Project » SpinningVideo.PrjFpg. 图 68 自动配置过程中自动添加到项目的约束文件 5. Altium Designer 会立刻探测 NanoBoard 平台,并创建新的配置文件。点击 OK 确认 新的配置文件。 一个新的 Settings 文件夹已经添加到工程文件下。.在这个文件夹内,你可以看到一个约 束文件夹,内部是所有新添加的约束文件。 大部分的文件有一个 的快捷图标。Altium Designer 使用这种标号来表示那些没有存储在 主工程夹下的文件。这些是 Altium Designer 生成的预定义约束文件。约束文件是针对特定的外 设和子板起作用。这些自动创建的约束文件被存储在工程下。.他们定义了外设板在 NanoBoard 平台上的物理信息。自动配置功能处理了顶端原理图和目标 FPGA 器件管脚的端口 映射。当然,一些其他非常重要的约束文件(比如时钟频率)是无法自动创建。为了利用这些 信息,最好的方法是创建另外一些约束文件留作给这些信息配置使用。 创建一个新的约束文件,并添加早配置文件中: 1. 右键点击 SpinningVideo.PrjFpg project,选择 Add New to Project » Constraint File. Module 3: Schematic Editor Basics 0 - 69 2. 选择 File » Save As …,来保存该文件,给它起一个有意义的名称: MyConstraints.Constraint ,并点击 OK。 3. 右键点击 SpinningVideo.PrjFpg projec,选择 Configuration Manager 4. 找到 Constraint Files 里面的 MyConstraints.Constraint,点击 Configurations 下的 添加,将该约束文件添加到已经存在的配置中。 5. 点击 OK ,退出 Configuration Manager ,并保存你的更改。 图 69 添加你自己设置的约束文件 为 CLK_BRD 信号添加时钟约束文件: 1. 打开 MyConstraints.Constraint 2. 选择 Design » Add/Modify Constraint … » Port … . 3. 在 Add/Modify Port Constraint 对话框中 z 设置 Target 为 CLK_BRD z 设置 Constraint Kind t 为 FPGA_CLOCK_FREQUENCY z 设置 Constraint Value 为 50MHz 4. 点击 OK ,关闭 Add/Modify Port Constraint 对话框 5. 可以看到一个新的约束记录已经添加到 MyConstraints.Constraint 下,保存你的工 作。 Record=Constraint | TargetKind=Port | TargetId=CLK_BRD | FPGA_CLOCK_FREQUENCY=50MHz 图 70 时钟频率约束 6.2 设计构建流程介绍 在一个 FPGA 设计下载到目标板之前,必须通过一系列的构建过程。这条设计构建过程类 似于编译过程,目的是创建一个完备的设计项目。在本节中,我们将会讨论创建 FPGA 设计在 下载到目标板前所涉及的构建过程。 Module 3: Schematic Editor Basics 0 - 70 6.2.1 控制构建过程 把原理图和数字电路的 VHDL 描述转换成能下载到 FPGA 的 bit 文件是一个相当复杂的过 程。 幸运的是,Altium Designer 的导航功能让这个过程变得简单和易操作。作为一家独立于 FPGA 厂商的开发工具,Altium Designer 也提供了同厂商定制的工具接口。目前的 Altium Designer 提供了一下工具的接口:Actel Designer (Actel), Quartus II (Altera) 和 ISE (Xilinx)。 这些都通过 Devices View (View » Devices)无缝的链接。. Devices View 界面提供的是在实 现 FPGA 设计过程中获取状态的中心地位。 图 71 一个待编程的 FPGA器件的设计界面 Devices View 界面可以通过点击 Devices View 图标,或者选择主菜单下的 View » Devices View 在连接模式下,Altium Designer 可以智能的探测当前 NanoBoard 板载子板的信息。.以上 面为例,软件检测出来安装的是 Spartan2E 子板。通过该信息,Altium Designer 会搜索当前工 程的配置列表中是否有相匹配的约束文件。如果发现多个配置文件,在器件下面的下拉菜单中 会列出所有有效的配置文件。 如果没有发现任何配置文件,会显示如下信息: 图 72. 这个信息显示当前工程没有配置正确的 FPGA 器件. 当一个有效的配置文件被找到,最简单的构建和下载设计到 NanoBoard 板上的方式是左键 点击 Program FPGA 按键,这步将调用合适的构建流程 。在上面的例子中,没有使用先前的构 建流程,所有的过程必须运行。在另外一种情况下,当一个工程被修改后,只需要运行构架流 程中的子步骤。 Module 3: Schematic Editor Basics 0 - 71 6.2.2 理解构架流程 图 73 整个设计的构架流程 构架一个 FPGA 工程流程需要一系列的步骤。在图 73 中,显示的是构架流程上的 4 个导 航步骤,各个步骤的功能会在下面做简短的解释。 6.2.3 指示灯区域 每一个构架流程上的指示灯通过不同的颜色显示不同的信息。 LED状态 每种颜色表明当前步骤在设计流程中的状态情况 灰色 - Not Available –该步骤无法运行. 红色 - Missing – 该步骤无法继续运行 黄色 - Out of Date 源文件被修改,该步骤必须重新运行一次 为了获取新数据 文件 蓝色 - Running – 该步骤正在运行中 橙色 - Cancelled –该步骤被用户干预终止 粉色 - Failed – 在运行该步骤发生错误 绿色 - Up to Date – 该步骤已经运行并生成相应文件 6.2.4 Build stages 构建阶段 现在我们来说明在构建过程中的不同阶段 Module 3: Schematic Editor Basics 0 - 72 19. 编译 图 74 编译阶段的工作流程 这一阶段的流程是用来进行编译的源文件中的有关 FPGA 的工程。在任何情况下,如果设 计中包含任何微处理器内核,相关的嵌入式工程也汇编生成 hex 文件。这一阶段可以在 Devices 的视图界面下配置为实时或非实时的模式。从关联的工程菜单中同样进行编译过程。 通过运行这个阶段可以校验获取信息的来源是免于时钟信号,设计和译码错误。 注:源 FPGA (嵌入式)工程必须编译-无论从 Projects 面板或通过执行编译阶段的 Devices 界面-为了在 Devices 界面下软设备区域确认器件开启 Nexus 功能。 20. 综合 图 75 综合阶段的工作流程 这一阶段的流程是用来综合编译 FPGA 的工程,以及任何其他需要产生和综合为特定设备 架构的器件。在流程的建立阶段中,厂商布局和布线工具使用产生的综合文件。运行这一阶段 将决定设计综合与否。 这个阶段无论在 live 模式还是非 live 模式,都可以在 Devices 界面下进行配置。实际的步 骤中包括了提供顶层 EDIF 网络表和综合模式文件,以供流程中的下一阶段使用,可以总结如 下: 在 FPGA 设计中所应用的任何设计/设备特定模块的内核,会自动生成并综合(例如,一个 RAM 模块连接到一个应用于外部程序存储空间的 OCD-版本微控制器)。这些综合模式将包含 嵌入式的工程中的编译信息(HEX 文件)。 z 主要 FPGA 设计然后被综合。每张设计中的原理图会生成中间的 VHDL 文件,同 样使用这些文件和任何额外的 VHDL 源文件可以创建顶层 EDIF 网表。 z 对于选择特定的物理设备,与设计中的器件相关的综合的模块文件将被查询并被复 制到相关的输出文件夹中。系统和用户预综合模式都可以支持。 z 系统预综合模式的顶层文件夹是\Program Files\Altium Designer\Library\Edif 文件夹,它被从厂商和设备类别进行细分。 z 在 FPGA – Synthesis 页面的 Preferences 对话框中,在 Tools 菜单下,可以定义 用户预综合模块的顶层文件夹。 Module 3: Schematic Editor Basics 0 - 73 下面的列表总结出一些(顶层到底层)当查找与设计中的器件相关的综合模型使用到的命 令 FPGA 工程文件夹: User models top folder\Vendor folder\Family folder User models top folder\Vendor folder User models top folder System models top folder (Edif)\Vendor Folder\Family folder System models top folder (Edif)\Vendor folder System models top folder (Edif). 21. 构建 图 76 构建阶段的流程为 xilinx(左)和 Altera (右)器件。 这一阶段的工作流程是用来执行厂商布局和布线工具。 这一阶段可以在 Devices 界面中配置实时模式或者非实时模式。运行的工具在这个阶段可 以验证设计中是否有存在恰当的物理器件。如果你想从相关的约束文件中获得引脚分配端口, 可能希望运行供应商提供的开发工具。 运行的最终结果是生成 FPGA 程序文件,用于对设计中的 FPGA 器件进行编程。如下是构 建过程中必要的 5 个主要步骤: z Translate Design-使用顶层 EDIF 网表和综合模型文件,在综合阶段的流程中, 建立一个文件,以原始通用数据库( NGD )格式。 z Map Design to FPGA –映射设计到 FPGA。 z Place and Route -以底层描述的设计(从映射阶段)和解决如何布局 FPGA 内部 必须的逻辑单元。一但被计划,必要的内部连接将被布置。 z Timing Analysis –执行设计的时序分析,与任何定义好的时序约束文件相匹配。 如果没有任何特定的约束文件,将使用默认值。 z Make Bit File –生成把设计下载到物理器件上所需的 BIT 文件。 当目标是 Xilinx 的器件,有一个额外步骤—创建 PROM 文件。这步工作是让你可以为开发 板上的 Xilinx 配置器件创建一个配置文件。 在构建阶段完成时,对话框显示的是统计结果(图 77)。这个对话提供了当前使用的目 标器件在资源方面的简要信息。这些信息可以被复制和打印。对话可从关闭的,如果您愿意, 因为上面的信息在 Output 面板中是可以获取。 Module 3: Schematic Editor Basics 0 - 74 22. 编程 图 77 对于被选择器件的资源使用概述。 图 78 设计流程中给FPGA进行编程阶段 图79. 成功编译好的FPGA器件 图80 下载成功后运行的虚拟仪器 这一阶段的流程是用来给 NanoBoard 上或其他的开发板上的 FPGA 器件下载设计程序。 这一阶段只有设定在 Live 模式提供设备时才起作用。这个阶段只有在前 3 个阶段的设计完全通 过和 FPGA 变成文件建立后才可运行作为编程文件下载到设备上通过的 JTAG 连接,在状态栏 会显示当前进度。一旦成功下载,器件下面的文字将从'Reset' 变为'已编程' (图 79 )以及所 有开启 NEXUS 的设备在软的调试链路中将显示'运行中' (图 80 )。 Module 3: Schematic Editor Basics 0 - 75 6.2.5 构建 FPGA 设计 当 FPGA 设计的约束文件配置好后,就可以开始构建它的内部布局。构建 FPGA 是编译和 综合整个 FPGA 设计使之成为二进制的下载程序文件。Altium Designer 标准化你松建一个 FPGA 设计以便它能独立于厂商的方法。你将重新调用一个厂商工作的一个复制为一个你你发 现的列在指南的” What you’ll need”节的特殊器件。Altium Designer 需要这些厂商工具,为了 放置和布线这个调计,但是这些后端工具的交互将是很透明的显示给用户。 构建一个 FPGA 设计: 1. 确保您的 NanoBoard 平台连接到您的 PC 上并通电。 2. 选择 View » Devices View 或点击工具栏中的 Devices View 图标 。 3. 确保 LIVE 复选框被选中。您应该会看到一张 NanoBoard 平台的图片以及在中间的区 域一个 Spartan3 FPGA 的图标。 4. 在 Spartan3 图标下的下拉列表中,确保 SpinningVideo / NBD2DSK01_07_DB30_04 工程/配置被选中。 5. 从左向右找到 NanoBoard 平台图标下的编译,综合,构建,编程 FPGA 按钮略。由于 是第一次建立您的设计,颜色指标的每个按钮会出现红色。按一下编程 FPGA 开始整个构建 的进程。 6. 随着构建进程的前进,有色指标从每个阶段将变成黄色,这是处理中的意思,最后显 示绿色表示顺利完成。构建过程中的设计可能需要几分钟时间才能完成。您可以观察进展情 况,可从该系统面板右下角部分 Altium Designer 的工作组建立信息和输出面板。 图 81 运行 FPGA 构建流程 7. 如果有任何错误发生,您需要改正后才可以进行。尝试找出错误的来源并更正,以继 续本指导教程。 Module 3: Schematic Editor Basics 0 - 76 8. 当设计构建好,并成功下载后,一个统计对话框将显示出来。单击确定关闭此对话 框。 当 FPGA 设计被下载到 NanoBoard 平台后,你应该注意到 TSK3000 处 理器的状态已经从 Missing 变为运行。我们现在可以开始在该处理器上进行 嵌入式代码设计。 6.3 嵌入式设计和 DSF 6.3.1 DSF 介绍 . Altium Designer 的嵌入式工程中增加了一种新的设备软件框架( DFS)。DSF 被用在简 单的设计嵌入式应用的开发中。 DSF 简述: z 底层外设接口( LLPI )层,与 FPGA 外设和驱动程序代码紧密集成。 z 处理器抽象层( PAL )的大大简化了您的嵌入式应用和所有 Altium Designer 支持 的目标处理器的接口,包括嵌入式和离散 32 位。 z 当 DSF 大多数嵌入式应用处理器的物理层使用时,你可以直接连接处理器中断系 统。 在最新的 Altium Designer 版本中所有嵌入式的示例工程都使用到 DSF 系统。 图 82. 同原先的与硬件连接方式相比,DSF 让处理器变得更加接口丰富化 Module 3: Schematic Editor Basics 0 - 77 6.3.2 开发嵌入式代码 Altium Designer 使用嵌入式工程系统来包括目标器件的所有设计代码。 创建一个新嵌入式工程: 1. 选择菜单下的 File » New » Project » Embedded Project,或在文件面板点击选择空 白工程(嵌入式)。 2. 工程面板会显示一个默认名称为 Embedded_Project1.PrjEmb 的嵌入式工程。选择文件 »保存工程或右键工程面板下单击该工程名称,选择保存工程。将文件重命名为 VideoSpin.PrjEmb 。如果您想要让您的嵌入式工程和您的 FPGA 工程分离开来,您可以将嵌 入式工程保存在 FGPA 工程文件夹下的一个子文件夹内。 23. 为嵌入式工程添加源代码 当一个新的嵌入式工程创建后,将生成一个空的文件系统。然后,您需要为工程中添加或 建立相关的源文件。Altium Designer 的可以编译您工程中的 C 源文件,头文件或汇编文件。 要创建一个新的 C 文件,并添加到工程: 1. 选择 File » New » C Source Document, 或者右键点击工程面板下嵌入式工 程,选择 Add New to Project » C File。一个名字为 Source1.C 的文本文件将添加到 嵌入式工程下。 2. 重新命名新创建的文件,通过选择 File » Save As.。浏览到同一文件夹中您的 嵌入式工程,并输入名称 Main.C ,并点击保存。 24. 为目标处理器连接嵌入式工程 嵌入式工程可以独立开发,但很快你需要将其在运行目标处理器上运行。Altium Designer 让您为嵌入式工程的 FPGA 工程连接一个嵌入式处理器。 为目标处理器链接嵌入式工程: 1. 确定在工程面板下的嵌入式工程和 FPGA 的工程中都包含目标处理器。 2. 选择工程面板下的结构编辑器模式。 3. 左键单击并拖动嵌入式工程到 FPGA 工程的上方。任何有效的处理器将高亮显 示并蓝色显示。将工程下载到 TSK3000A_1 处理器中。 4. 转换到工程面板下的 File View 模式。观察刚才工程文件的结构,可以看到 VideoSpin.PrjEmb 成为 SpinningVideo.PrjFpg 的一个子工程。 在您连接好工程文件后,你也可以看到,嵌入式工程增加了一个新的 C 头文件,名字为: hardware.h 。这个文件是由 FPGA 工程汇编时,添加到嵌入式工程中。 25. 编写 C 源代码 现在,我们的嵌入式工程已链接到硬件平台上,我们准备开始为它写一些 C 代码。在我们 开始之前还有一些其它的小事情需要做。 Module 3: Schematic Editor Basics 0 - 78 为嵌入式工程添加一些简单的代码: 1. 打开 hardware.h 文件,可以看到与器件 IO 端口地址的定义接口。 #define Base_WB_PRTIO_1 #define Size_WB_PRTIO_1 0xFF000000 0x00000001 2. 打开 hardware.c 文件,并输入下面的源代码: #include "hardware.h" #define LEDS (*(unsigned char*)Base_WB_PRTIO_1) void main(void) { LEDS = 0x55; } 3. 编译和下载源代码到 TSK3000 处理器,运行在 NanoBoard 平台 上。当在该程序完全下载后,您应该看到在 NanoBoard 上的 LED 点 亮了其值为 55h。 26. 开发完整的应用程序 在本教程的开篇,我们指出,我们将建立一个完整的应用程序,它能够阅读图像从复合视 频信号源并将其显示的 TFT 屏幕的桌面 NanoBoard 上。到目前为止,我们已经打下的所有应 用基础,剩下的就是最后的源代码。在我们进行代码开发之前,还有几个小的步骤需要处理, 需要为视频捕捉系统定义内存片段和显示程序的内存片段。 要创建嵌入式工程创建内存片段: 1. 在嵌入式工程的主编辑器下,选择 Project » Project Options 选项或右击 VideoSpin.PrjEmb 工程的工程,并选择 Project Options。 2. 选择 Configure Memory 标签,观察 CaptureMem 和 DisplayMem 存在数据接口。 3. 选择 Sections/Reserved Areas 标签下 Options for Embedded Project VideoSpin.PrjEmb 对话框。 4. 点击 Add Section。 5. 在 Section 对话框中: z 设置 Name 为 .bss.capture z 设置 Location 为 mem:CaptureMem 6. 点击 OK 关闭 Section 对话框,并观察新的存储段已经被添加。 7. 再次点击 Add Section 按键。 8. 在 Section 对话框中 z 设置 Name 为 .bss.capture z 设置 Location 为 mem:CaptureMem 9. 单击 OK 关闭 Section 对话框, 确定新的内存片段添加成功。 Module 3: Schematic Editor Basics 0 - 79 10. 单击 OK 关闭 Options for Embedded Project VideoSpin.PrjEmb 对话框。 11. 在不同的存储段标签下,当为一个视频抓捕和视频显示缓存创建一个组合我们现在 能使用这个标签。我们现在能使用这个标签作为一个限定。打开 Main.C 文件并添加以下代码 行: // Display memory #pragma section .bss=.display volatile pixel_t display[TFT_XRES * TFT_YRES]; #pragma endsection // Capture memory #pragma section .bss=.capture volatile pixel_t capture[VIDEO_BUFFER_SIZE]; #pragma endsection 27. 同外设连接 尽管我们提供了一些高级的外围设备, Altium Designer 同样包括软件程序接口,使这些 外设使用起来简单得多。通过使用 Device Software Framework (DSF) ,你可以跳过不得不处 理底层的接口转而使用更高级别的控制程序。DSF 系统仍然在开发和一些文件档下生成。但 是,所有的源代码可以在 Altium Designer 的安装文件夹 System\Tasking\dsf 下。 图 81 包含 完整的列表 Main.C 文件。 #define DSF_IMPLEMENT #include bt656_context_t capture_settings; vga_context_t display_settings; // Resolution of raw video input, for PAL-B/G #define PALWIDTH 720 #define PALHEIGHT 580 // 625 #define VIDEOWIDTH 450 #define VIDEOHEIGHT 450 #define VIDEO_BUFFER_SIZE (VIDEOWIDTH * VIDEOHEIGHT * sizeof( pixel_t) ) // Video: defines for centering #define VIDEO_X0 (VIDEOWIDTH / 2) #define VIDEO_XMIN (VIDEO_X0 - VIDEOWIDTH) #define VIDEO_XMAX (VIDEOWIDTH - VIDEO_X0) #define VIDEO_Y0 (VIDEOHEIGHT / 2) #define VIDEO_YMIN (VIDEO_Y0 - VIDEOHEIGHT) #define VIDEO_YMAX (VIDEOHEIGHT - VIDEO_Y0) // TFT type typedef uint16_t pixel_t; // Resolution of TFT #define TFT_XRES 240 #define TFT_YRES 320 // TFT: defines for centering #define TFT_X0 (TFT_XRES / 2) Module 3: Schematic Editor Basics 0 - 80 #define TFT_XMIN #define TFT_XMAX (TFT_X0 - TFT_XRES) (TFT_XRES - TFT_X0) #define TFT_Y0 #define TFT_YMIN #define TFT_YMAX (TFT_YRES / 2) (TFT_Y0 - TFT_YRES) (TFT_YRES - TFT_Y0) bt656_context_t capture_settings; vga_context_t display_settings; // Display memory #pragma section .bss=.display volatile pixel_t display[TFT_XRES * TFT_YRES]; #pragma endsection // Capture memory #pragma section .bss=.capture volatile pixel_t capture[VIDEO_BUFFER_SIZE]; #pragma endsection #define PI 3.141592654 #define LEDS (*(unsigned char*)Base_WB_PRTIO_1) void main(void) { uint32_t line; uint32_t pixel; pixel_t* inpixel; pixel_t* outpixel; uint8_t count = 0; //Main Processor clock rate __clocks_per_sec = 50000000; // Assuming we run at 50 MHz //Initialize TFT display vga16_init(& display_settings, Base_VideoDisplay, (uintptr_t) display, CLOCKS_PER_SEC, VGA16_TFT); /* I2C */ i2c_init(Base_I2CM_W_1); // Initialize video capture bt656_init(& capture_settings, Base_VideoCapture, Base_I2CM_W_1, (void *) capture, VIDEO_BUFFER_SIZE, BT656_RGB16, BT656_COMP1); bt656_set_linesize(& capture_settings, VIDEOWIDTH); bt656_set_scale(& capture_settings, 1, 1); bt656_set_framerate(& capture_settings, 1); bt656_set_crop(& capture_settings, (PALWIDTH - VIDEOWIDTH) / 2, (PALHEIGHT - VIDEOHEIGHT) / 2, (PALWIDTH - VIDEOWIDTH) / 2, (PALHEIGHT - VIDEOHEIGHT) / 2); bt656_set_buffer(& capture_settings, (uint32_t *) capture, VIDEO_BUFFER_SIZE); bt656_set_mode(& capture_settings, BT656_RUN); while (1) { outpixel = display; Module 3: Schematic Editor Basics 0 - 81 for (line = 0; line < TFT_YRES; line++) { for (pixel = 0; pixel < TFT_XRES; pixel++) { *outpixel = capture[(pixel + (VIDEOWIDTH-TFT_XRES)/2) + ((line + (VIDEOHEIGHT-TFT_YRES)/2) * VIDEOWIDTH)]; outpixel++; } } LEDS = count++; } } 图 83. 完整的视频捕捉和显示源代码 贯穿整个指南,我们使用 SpinningVideo 和 VideoSpin2 个工程。原因在于我们想向您展示 的是 Altium Designer 究竟可以做什么。如果你热衷于通过快速缩放,旋转的视频图像开发工 程,可以参考 Altium Designer 的安装文件夹下的例子 \ NB2DSK1 Examples\ CHC Image Rotation。当你在那里,您可能会注意到这个例子中使用新的 C-to-Hardware 功能。 Module 3: Schematic Editor Basics 0 - 82 7. FPGA 设计捕获以及实现 (45 minutes) 7.1 利用原理图方式创建 PWM 项目 7.1.1 FPGA 工程 FPGA project 在进行 FPGA 设计之前要新建一个 FPGA 工程。FPGA 工程的输出文件是一个 bit 配置文 件,该文件可用于编程 FPGA。最简单的方式就是执行命令 File » New » Project 新建一个工 程。 图 84 建立一个 FPGA 工程 7.1.2 FPGA 原理图连接 在 FPGA 设计中,原理图文档将在编译的过程中被转换成 VHDL 或 Verilog 语言。整个编译过 程对于用户来说是完全透明的,不要求用户了解这两种硬件描述语言(HDLs)的任何特殊细节。这个 转换到 HDLs 的过程对原理图文档是有要求的,无论如何必须保证转化过程的顺利完成及生成的 HDL 源文件的有效性。 在本章节中,针对 FPGA 设计,我们将讨论一些已经添加到原理图环境中的扩展。 Module 3: Schematic Editor Basics 0 - 83 28. 在原理图中添加 HDL 文件 图 85 链接原理图图表符到下一级文档 VHDL 或 Verilog 子文档的关联方式同原理图子图的关联方式相同,都是通过指定代表它的 原理图表符的子文档文件名。该连接关系是从原理图图表符到 VHDL 文件或 Verilog 模块的实 体声明。如要关联实体名称与 HDL 源文件名不同的实体, 可在原理图图表符中包括 VHDL 实体 或 Verilog 模型参数,该原理图图表符的值应与源文件中所采用的实体/模型名称相同。 29. 使用总线和总线连接器 在数字电路中通常有大量 的关联网络。在管理这些网络 连接的时候,总线发挥着重要 U8 IB[3..0] PORTA[7..0] O[7..0] IA[3..0] J4B2_8B GND KEY[3..0] 的作用,其作用就是增强当前 设计的可读性。 总线可以被重新排序、重 命名、分离、组合。而在管理 总线的时候则有另一个器件叫 做总线连接器。可以从 FPGA Generic.IntLib 这个集成 PORTB[7..0] O[7..0] U9 I0 I1 I2 I3 I4 I5 I6 I7 J8S_8B LCD_BUSY VALIDKEY GND 图 86. 使用总线连接器的例子 库里来放置总线连接器 (总线连接器以开头字母 J 来命名)。 图中显示的是使用总线连接器的例 子。在软件的案例设计中还有很多关于总线连接器的使用案例。 注意:除了 JB 型的总线连接器以外,所有的总线连接器引脚都是有输入输出方向的,使 用时要注意正确的连接方向。在 Schematic Preferences 设置窗口里设置 Pin Direction 为有 效,就可以在原理图上显示出输入输出引脚的方向。 Module 3: Schematic Editor Basics 0 - 84 在 FPGA 设计中使用总线连接器会破坏其他原理图中已确定的连通性,然而使用总线连接 器的好处也变来越来越明显。以任何方式从总线连接器上提取的网络都不相关,如具有相同名 称不同数字下标的网络(Data[0], Data[1], Data[2], … 等)。上述总线连接器例子中表示的是如何 使用信号总线把液晶显示器与键盘信号线连接在一起,甚至可以把其他的总线一起连接到一个 更大宽度的信号总线中。 30. 使用 JB 型总线连接器匹配不同宽度的总线 JB 型总线连接器可以匹配连接不同宽度的总线。通过两个器件的参数,从 IndexA 总线映 射到 IndexB 总线。当使用 JB 型连接器时这些下标必须被确定。 图 87. 连接不同宽度的总线,并控制网络间的映射 读取网络的方向可以通过 JB 型总线连接器,将标为总线并连接到总线中的网络逐个匹配 到总线连接器上的第一个下标,第二个下标,乃至第二个总线网络名称中所定义的所有网络。 Left Bus ↔ IndexA ↔ IndexB ↔ Right Bus 匹配网络的规则如以下每个↔指向所示: 图 88. 使用 JB 型总线连接器实现 Sub-set 映射的例子 如果这两个总线宽度减小,则由相同的总线下标(bus index)来匹配(其一的宽度必须位 于另一宽度的范围之内)。图 86 的匹配关系是: ADDR9 ↔ IndexA9 ↔ IndexB9 ↔ ROMADDR9, thru to ADDR0 ↔ IndexA0 ↔ IndexB0 ↔ ROMADDR0 (在上图的例子中 ROMADDR10 至 ROMADDR13 是未连接的) 7.1.3 FPGA 原理图预综合的 IP 元件 在软件的器件库中包含有大量预综合的 FPGA 器件,其中包括处理器、外设元件、通用的 逻辑功能器件等。放置、连接这些原理图元件,编写 VHDL 代码,保存硬件设计。FPGA 预综 合原理图元件类似于预做好的 PCB 元件,除了代替图表符链接到 PCB 封装,还连接到一个预 综合的 EDIF 模型。 以及用于实现设计的元件,已有的 FPGA 器件库包括虚拟仪器元件、安装在 NanoBoard 上的元件,并且能在 FPGA 上通过 PIN 存取。 Module 3: Schematic Editor Basics 0 - 85 在元件库列表中选中器件并按下 F1 键即可得到当前预综合的 FPGA 器件的帮助文件。 处理器内核 在以下库文件路径中可以找到需要的软核处理 器\Program Files\Altium Designer\Library\Fpga\FPGA Processors.IntLib。 当时公布的手册声明支 持以下的处理器和相应的嵌入式软件工具: TSK165 – 兼容 Microchip 165x 族指令系统单 片机 TSK51/52 – 兼容 8051 内核指令系统单片机 TSK80 – 兼容 Z80 指令系统单片机 PPC405A – 可用于 Virtex FPGAs 的嵌入式 Power PC 内核 TSK3000 – 32-bit RISC 处理器 开发工具同样支持以下嵌入式处理器: Actel CoreMP7 软处理器核, 适用于 Actel 的器 件并且要求得到授权许可 Altera Nios II 软处理器核, 适用于 Altera 的器 件并且要求得到授权许可 Xilinx MicroBlaze 软处理器核, 适用于 Xilinx 的器件并且要求得到授权许可 Xilinx Virtex-2 处理器,基于 PowerPC 405 内 核 AMCC PowerPC 405 个别处理器族 ARM7, ARM9, ARM9E & ARM10E 族, 支持 Sharp BlueStreak 个别处理器族 LPC2100, LPC2200, LPC2300 & LPC2800 ARM7-基于 NXP 个别处理器 图 89. 器件库面板 Desktop NanoBoard port plugins 桌面型 NanoBoard FPGA 开发板上的硬件资源可以使用以下库文件路径下的集成库 \Program Files\Altium Designer\Library\Fpga\FPGA NanoBoard PortPlugin.IntLib library. Module 3: Schematic Editor Basics 0 - 86 外围设备元件 目前 NanoBoard 开发板上的硬件资源集成了很多的外设模块,这些现成的模块可以用在 FPGA 设计中以减少外部端口连接的设计 外围设备元件的库路径为 \Program Files\Altium Designer\Library\Fpga\FPGA Peripherals.IntLib 通用元件 通用元件的库路径为\Program Files\Altium Designer\Library\Fpga\FPGA Generic.IntLib. 库中包含了设计中要用到的各 种接口逻辑器件。库中包含各种 pin-wide 版本、 bus-wide 版本的器件,从而简化了复杂的总线布线 工作。同时包含了广泛的逻辑功能器件,通用元件 库里也包括上拉和下拉器件,以及用来管理合并、 分割、重命名总线的总线连接器。 对于通用元件库里的元件命名习惯和可用元件 的完整清单可以参考文档: CR0118 FPGA Generic Library Guide.pdf. 当查找元件库时可以使用通配符号(如"?","*") 来过滤搜索。 图 90 通用元件 7.1.4 例子 – 创建 PWM 在这个练习中我们将创建第一个 FPGA 设计。为了完成这个任务你需要使用以下器件库中 的元件: Module 3: Schematic Editor Basics 0 - 87 Component CLK_BRD TEST_BUTTON ON 12345678 LEDS[7..0] SW[7..0] U1 CB8CEB Q[7..0] CE CEO C TC CLR Library FPGA NanoBoard PortPlugin.IntLib FPGA NanoBoard PortPlugin.IntLib FPGA NanoBoard PortPlugin.IntLib FPGA NanoBoard PortPlugin.IntLib FPGA Generic.IntLib Name in Library CLOCK_BOARD TEST_BUTTON DIPSWITCH LED CB8CEB U2 FPGA Generic.IntLib INV INV U3 A[7..0] GT B[7..0] LT COMPM8B FPGA Generic.IntLib COMPM8B I0 U4 I1 I2 I3 I4 I5 I6 I7 O[7..0] J8S_8B FPGA Generic.IntLib J8S_8B 图 91. FPGA 通用 IP 器件库 1. 打开一个新的 FPGA 工程,保存为 MyPWM.PrjFpg 2. 在工程中新建一张原理图,并保存为 MyPWM.SchDoc 3. 放置元件并连线,创建脉冲宽度调节器 4. 使用 FPGA Generic.IntLib 和 FPGA NanoBoard Port Plugin.IntLib 两个元件库 中的元件, 按图 89 放置和连接原理图中的元件。 Module 3: Schematic Editor Basics 0 - 88 CLK_BRD TEST_BUTTON ON 12345678 SW[7..0] U1 CB8CEB VCC Q[7..0] CE CEO C TC CLR U2 INV U3 A[7..0] GT B[7..0] LT COMPM8B I0 U4 I1 I2 I3 I4 I5 I6 I7 O[7..0] J8S_8B LEDS[7..0] GND 图 92 保存项目–我们将继续此原理图 7.2 绑定设计到器件 我们刚刚创建的包含所有连接关系的原理图必须出现在 FPGA 器件内部,但我们还需要更 详细的信息把 FPGA 原理图上的端口映射到实际 FPGA 器件的物理引脚上。这个过程我们称之 为绑定设计到器件。 7.2.1 约束文件 所谓约束文件就是一个包含 HDL 源文件或原理图文档中的引脚分配信息和电气特性信息的 特殊文件,而不是存储芯片或执行具体的数据。FPGA 设计中的这种逻辑定义在物理实现上能 够快速、容易地重新配置单一的设计到多种芯片和 PCB 布局中。 下面我们看到的是一个以概念意义表示的 FPGA 器件内部设置图。红线部分表示的是端口 到引脚的映射关系,这些关系由约束文件来配置。 图 93. 概念上呈现 FPGA 原理图布线到物理芯片引脚上的端口连接关系。 Module 3: Schematic Editor Basics 0 - 89 7.2.2 配置 Configurations 配置是用来为目标设计特定输出的一组单个或多个约束文件。一个从原型到产品的移植设 计往往涉及到多次 PCB 制版,甚至不同的 FPGA 器件。在这种情况下,从每个设计迭代的过 程中一个单独的配置将用来汇集约束文件信息。工程项目存储管理每个新的配置和其相关的约 束文件,在任何时候都可以重复调用这些文件。 由于配置可以包含多个约束文件,所以它有时有助于分离跨越多个约束文件的约束信息。 通常是根据它们所包含的信息类来分离约束文件。 芯片和电路板约束信息 Device and board constraint information: 在顶层 FPGA 设计中,FPGA 器件的型号必须确定,并且定义的端口必须映射到特定的引 脚数目上。 芯片资源约束信息 Device resource constraint information: 在一些设计中,使用器件供应商提供的拥有特定资源的 FPGA 器件对设计是有利的。如硬 件乘法单元、时钟乘法器、内存资源。 工程或设计约束信息 Project or design constraint information: 包括相关的逻辑设计要求,以及约束其计时。例如,指定某一特定的逻辑端口必须分配给 全局时钟网络,而且必须能够运行在一定的速度上。 NanoBoard 约束文件 NanoBoard constraint files 用于 NanoBoard 子板、外围设备模块板的约束文件可以在以下文件路径中找到 \Program Files\Altium Designer\Library\Fpga . 为保护这些系统文件不被无 意修改,最好把这个目录属性设置为“只读”。 7.2.3 FPGA 工程自动配置 在 Altium designer 采用自动配置选项,生成用于桌面型 NanoBoard 的设计配置几乎已经 完全自动化。 执行菜单 View»Devices View 或者单击工具栏上的 图 标即能查看设备连接状态。鼠标右 键单击桌面级 NanoBoard 图片并 选择 Configure FPGA Project»。 图 图 94 自动配置 FPGA Module 3: Schematic Editor Basics 0 - 90 这时会对 FPGA 工程进行自动配置,包括桌面型 Nanoboard 的硬件资源所必需的约束文 件,同时会弹出当前 FPGA 工程的配置管理窗口。 图 95. 配置管理器中显示的自动配置 7.2.4 练习 – 配置 MyPWM 1. 执行菜单 View»Devices View 或者单击屏幕上方工具栏上的 态窗口。 图标切换到设备连接状 2. 鼠标右键单击窗口上的桌面型 Nanoboard 图片并选择 Configure FPGA Project»MyPWM.PrjFpg ,如图 94 所示。 因为我们的调试目标是桌面型 NanoBoard ,所以我们将直接使用以下文件路径下现有的 约束文件:Altium Designer\Library\FPGA directory。当我们按照这样使用自动配置, Altium Designer 将检索我们插在桌面型 NanoBoard 上的子板和各种外设板的信息,并添加所要的约 束文件。 3. 当执行 FPGA 工程配置命令后,会弹出 Configuration Manager For MyPWM.PRJFPG 对话窗口并显示出所有被自动列入新配置的约束文件清单。 图 96. 通过 Configure Fpga Project 命令配置管理已添加到约束文件 单击 OK 关闭对话窗口,这时会在主窗口中显示出硬 JTAG 链路。你会发现有个新的 Settings 文件夹已经被添加到工程中。在此文件夹里你会找到一个新增约束文件的 Constraint Files 文件夹,一些文件用快捷方式图标 表示。 Module 3: Schematic Editor Basics 0 - 91 图 97. FPGA 设计自动配置后的构建流程 4. 自动配置流程处理顶层原理图中已定义的端口和目标 FPGA 器件引脚的映射关系。然 而,还有一些不能自动处理的额外限制(如时钟频率)对设计来说也是非常重要的。为了捕捉 这一信息,最好的方法是创建一个约束文件,保留这一信息并将其添加到配置中。鼠标右键单 击 FPGA 工程,选择 Add New to Project»Constraint File 添加一个空的约束文件。 5. 保存新配置文件并命名为 MyConstraint.constraint。 6. 选择菜单 Design>>Add/Modify Constraint… >> Port … . 7. 在 the Add/Modify Port Constraint 对话框里设置 Target 为 CLK_BRD 8. 设置 Constraint Kind 为 FPGA_CLOCK_FREQUENCY 9. 设置 Constraint Value 为 50MHz. 10.单击 OK 关闭 Add/Modify Port Constraint 对话框。 11.可以看到一条新的约束记录被添加到 MyConstraints.Constraint 文件中 12.保存设计。 13.返回到配置管理器并添加 MyConstraint.Constraint 到现有的配置中。 14.保存工程。 7.3 构建并在 NanoBoard 上运行设计 刚刚我们对 NanoBoard 的设计进行了配置,下一步就是在 NanoBoard 构建和运行设计。 在 FPGA 设计下载到目标硬件之前,必须先经历多级的构建过程。这个过程类似于软件创 建一个独立程序的编译过程。在本节中我们将讨论建立一个 FPGA 设计到可以随时下载到目标 芯片的各个必要过程。 7.3.1 控制构建过程 把原理图或者数字电路的 VHDL 描述转换为可以下载到 FPGA 器件的 bit 文件是一个相当 复杂的过程。幸运的是,Altium Designer 一直竭尽全力地确保这一过程尽可能的容易。作为一 个独立的 FPGA 开发工具供应商,Altium Designer 为 FPGA 供应商的后端工具提供了一个透 明的接口。目前 Altium Designer 支持与 Actel Designer (Actel), Quartus II (Altera), ispLEVER Module 3: Schematic Editor Basics 0 - 92 (Lattice), ISE (Xilinx)进行 FPGA 的处理。在器件视图的中间位置提供了将设计从最初捕获状态 到最终下载到 FPGA 芯片上所需的各个过程的控制。 图 98.仍然在处理的 FPGA 设计的器件视图 当运行在 Live 模式,Altium Designer 会智能检测出插在桌面型 NanoBoard 上的子板芯 片。 在上面的实例中,它已经检测到已安装的 Spartan3 子板。通过这一信息,Altium Designer 会搜索当前的配置列表并查看此配置是否符合当前器件。如果有发现多个配置文件, 则下拉列表下方的器件图标将被填入有效的配置列表。如果没有发现配置文件,则列表将显示 如下的信息: 图 99.信息中显示出当前工程未给现有的 FPGA 进行有效的目标配置 假设已有一个有效的配置,则构建、下载一个设计到 NanoBoard 的最简单的方法是鼠标左 键单击 Program FPGA 按钮。这个过程会调用运行中需要的构建程序。在上面的例子中,构 建之前未执行的过程必须被运行。在其他情况下,如果项目有被修改,可能只需要执行构建过 程中的一个子过程。 7.3.2 理解构建过程 图 100.构建处理流程导航 构建一个 FPGA 工程需要处理通过若干阶段。整个构建过程是通过完成图 100 的四个步 骤。每一个阶段的功能将很快解释。 Module 3: Schematic Editor Basics 0 - 93 7.3.3 练习– 在 NanoBoard 上运行 MyPWM 在本练习中,我们将使用之前开发的 PWM 设计并且在 NanoBoard 运行起来。 1. 确保 NanoBoard 正确地连接到电脑、XC3S1500-4FG676C 子板安装好,以及接通电 源开关。 2. 打开 Devices View 窗口,并确保 Live 复选框处于选中状态。 3. 在 FPGA 构建流程中点击编程 FPGA 按钮上的“标签”区域。设计将花费一定的时间 开始构建。 4. 如果过程中有任何的构建错误发生,将进行诊断和纠正错误,并尝试再次构建过程。 5. 一旦下载成功,通过打开或关闭拨码开关验证设计的操作,你应该注意到此时 LED 的 亮度已经随之改变。 Module 3: Schematic Editor Basics 0 - 94 8. FPGA 设计实时调试 (45 minutes) 8.1 与 Nanoboard 交互 在 Altium Designer 中,NanoBoard 是非常重要的高速嵌入式设备。它具有一系列的外围 设备,并具有强大的扩展功能,从而适应多类嵌入式设计。在这一章中我们将讲解一个工程师 如何去有效的使用 Nanoboard 的功能。 8.1.1 NanoBoard 通信 NanoBoard 有 3 个主要的通信通道。完全掌握全部的通道并不是必须的,开发者在自定义 设计中,使用 Altium Designer 的调试功能过程中,通信通道能大大吸引开发者的注意力。 在使用 NanoBoard 过程中,开发者对设备全局的掌握非常重要。在 NanoBoard 使用中, Devices View 使开发者对整个通信流程有了清晰明了的掌握。 图 101.具有多种突出的通信通道功能的 Devices View Module 3: Schematic Editor Basics 0 - 95 NanoTalk 链 NanoTalk 是 Altium 公司独立开发的通信协议,实现了多个开发板之间的通信。在 NanoBoard 开发板的左、右边缘处各有 10 管脚的通信接口,开发者能够很轻松的通过通信通道进行通 信。 JTAG 硬件链 JTAG 硬链接是能够将多个物理设备连接起来的一系列的通信通道。通过将上位机的 TDO 管 脚与下位机的 TDI 管脚相连,就可以把 JTAG 设备连接起来。JTAG 硬件链在 Devices View 的中间位置。一般来说,FPGA 处于这个位置,假如还有其他连在 JTAG 链上的设备比如可配 置设备,那么这个设备同样也是可见的。 JTAG 硬件链可以通过 User Board A 和 User Board B 的连接器从 NanoBoard 延伸出来。当 使用任何一个连接器的时候,JTAG 链必须是完好的,也就是说 TDI/TDO 链必须与 NanoBoard 相连。 JTAG 软链 JTAG 软链是一个分立的 JTAG 通道,它实现了 FPGA 设计中所集成的嵌入式设备的通信。这 个链接之所以被成为软链是因为它没有与物理设备连在一起,而是与 FPGA 设备中的软件或 者可下载的工具连接到一起。 8.1.2 NanoBoard 控制器 NanoBoard 控制面板可以通过双击 Devices View 中的 NanoBoard 图标打开。 图 102. NanoBoard 控制器工具面板. P182 CLK_BRD 窗口中显示的时钟频率将提供给 NanoBoard 的 CLK_BRD 管脚。在 自定义设计中,访问这个时钟跟从 FPGA NanoBoard Port- Plugin.IntLib 库中放置 CLOCK_BOARD 元件一样简单。 通过点击 Other Frequency 按钮,可以选择一个非标准的时钟频率。NanoBoard 时钟系 统使用了一系列可编程的时钟源(ICS307-02),它能够生成从 6HZ 到 200MHZ 的时钟频率。 通过 Clock Control Options 按钮可以对 IC 时钟控制寄存器进行高级访问。 Module 3: Schematic Editor Basics 0 - 96 8.2 FPGA 虚拟仪器 到目前为止,我们创建了 PWM FPGA 设计并在 NanoBoard 开发板上进行了实现。这个设 计提供了一个 LED 的输出,这样我们可以马上验证这个电路是否符合我们的设计的要求。 但是我们如何验证其他的设计呢?在这章中,我们将介绍一系列的嵌入式工具,这些工具 能够集成到 FPGA 设计中,从而使片上调试更为便利。 8.2.1 片上调试 众多嵌入式工程师对 FPGA 设计的调试比较关心;但是一个工程师如何看到 FPGA 的内部 电路并且找出其中的错误呢?或许工程师们并不知道 FPGA 设备的通用性功能中包括了常用的 检测和测试工具,而这个功能将会使调试工作变的比以前更加轻松。 Altium Designer 系统中包含了众多的虚拟仪器,这些虚拟仪器不仅使硬件工具具有了软件 可见性,并且能够使开发者很快的找到一些容易忽略的错误。这些虚拟仪器能够在 FPGA Instruments.IntLib 集成库中找到。这些虚拟仪器的接口跟其他元件一样可以在电路图中 进行放置和连线的操作。 在系统设计完成之后,在 Devices View 中能够实现与每一个设备的实时交互调试。 图 103. Devices View 中的嵌入式设备. 通过双击 Devices View 中相关的设备图标可以对单独的嵌入式设备进行访问。 Module 3: Schematic Editor Basics 0 - 97 31. CLKGEN 图 104. 频率发生器, 用来产生特定的频率 频率发生器输出占空比 50%以及特定频率的方波。点击 相应的按钮可以选择预设的频率,通过点击 Other Frequency 按钮,可以输入自定义的频率。假如频率产生器 没有输出的时候,则显示器就会显示“error”的字样。看到 U7 TIMEBASE FREQ Frequency Generator CLKGEN 相应的提示之后,应该点击“Run”按钮打开频率发生器,产生一个输出频率。 32. 频率计数器 图 105. 频率计数器, 在设计中用来检测频率 频率计数器是一个具有双重输入的计数器,它能够用 3 种模式显示被 测信号的特征;这 3 种模式分别为:频率模式,周期模式,脉冲模式。 33. 数字 I/O 模块 U6 FREQA FREQB TIMEBASE Frequency Counter FRQCNT2 图 106.数字 I/O 模块, 用来监测和控制设计中的节点电平 数字 I/O 模块是一款用于监测和使能电路信号的通用工 具,可以支持 8 位或 16 位信号的输入/输出,从一通道到四 通道。 每一个输入位表示为一个 LED,并且 8 位或 16 位的组 表示为一个 HEX 值。输出可以通过点击在输出显示上的相应的位来各自独独立的被设置或清 零。或者在 HEX 域里输入一个新的 HEX 值能修改成整个字节或字。 假如已经输入了一个 16 进制的数字,必须点 按钮来进行输出。单击 Synchronize 按 钮实现输入输出的同步。 Module 3: Schematic Editor Basics 0 - 98 34. 可配置的数字 IO 模块 图 107. 可配置的数字 I/O 模块, 用来监测和控制设计中的 节点电平 可配置的数字 I/O 模块是一个多功能的工具,它能够用来 监测和激励电路中的节点。 Configurable Digital IO InLEDs[7..0] SpareOutB[7..0] SpareOutC[7..0] SpareOutD[7..0] Rot[7..0] Zoom[7..0] Flags[7..0] 跟数字 I/O 模块不同,使用者不再仅限于 8 位或者 16 位 的信号,而是可以指配许多位数的信号。这里需要不同位数的输入和输出信号。 每一个输入信号能够通过不同的方式显示出来,显示的方式有发光二极管方式,数字方 式,LED 字符方式或者进度条方式,同时数值的大小以 16 进制显示出来。输出方式也是多种 多样的,包括了发光二极管方式,数字方式,LED 字符方式和游标方式。每一种输出方式都有 一个预值并且包含一个 16 进制的显示。并且输出根据已选择的方式可以通过多种方法进行独 立的设置或清除。必须点击 在的输入值传送到输出。 按钮来输入一个 16 进制的值。单击 Synchronize 按钮可以将现 35. LAX_x Module 3: Schematic Editor Basics 0 - 99 图 108. 逻辑分析仪, 在可配置的 LAX 显示的下面有两个变量. 在左边的 LAX 元件已经配置 为能够接受 3 中不同设置的 64 位信号,在右边的仪器具有 1 个 16 位的信号.通过配置对话 框,可以对捕捉宽度、存储大小和信号进行设置. 逻辑分析仪在设计中可用来捕捉多个节点的多种状态。使用逻辑分析仪在设计中可以监测 多个网络并用数字方式或者波形方式显示结果。 逻辑分析仪是一个配置元件。通过配置可以同时捕捉 8,16,31 或者 64 位信号。捕捉状 态的多少是根据捕捉内存的大小定义的;内存的大小从 1K 到 4K 不同(使用 FPGA 内部内存 器资源)。逻辑分析仪通过配置也可以使用外扩的内存。这个需要与 FPGA 内存或者 OFFSHIP 内存(例如:NanoBoard 内存)进行连接。 放置好可以配置的逻辑分析仪后,右键点击仪器符号并在浮动菜单中选择 Configure 来打 开配置对话框,从而可以对捕捉宽度,内存大小和信号进行设置。 可配置的逻辑分析仪包括了一个内部多路复用器,允许使用者在运行的时候、显示捕捉数 据的时候把一个信号转换为另外一个。同样在观察一个信号结果的时候也可以激发另外一个信 号。 注意:在 FPGA 仪器的集成库中包括了众多的逻辑分析仪元件。逻辑分析仪是可配置的样 式,其他的是传统的模式。 Module 3: Schematic Editor Basics 0 - 100 8.2.2 Waveform display features 图 109.逻辑分析仪捕捉的数字波形 图 110. 逻辑分析仪捕捉的模拟信号波形 捕捉结果会在仪表面板中显示。这里有两种波形显示模式。第一种是数字信号模式,在这 种模式下每一个捕捉字节都以独立的波形显示出来。注意仪器的捕捉时钟必须在逻辑分析仪选 项设置中相对于时间轴进行准确的设置。点击 Show Digital Waves 显示数字信号波形。 第二种波形显示方式是模拟信号模式,在这种模式下逻辑分析仪在每次捕捉过程中,输入 信号的数值范围都作为一个电压显示出来。电压的范围从 0V 到允许的最大计数电压,测量的 默认值为 3.3V。点击 Show Analog Waves 按钮可以显示模拟信号波形。 36. 放大和缩小 通过使用 Page Up 或者 Page Down 按钮,可以对数字信号和模拟信号波形进行放大和缩 小。 37. 连续显示模式 通过逻辑分析仪捕捉的波形可以孤立的显示,也可以持续的更新显示。通过操作逻辑分析 仪工具栏可以打开/关闭持续更新显示。 图 111.打开持续更新显示 8.3 使用 FPGA 虚拟仪器来调试设计 一个协同嵌入式仪器的 PWM 电路已经设计完成,下面将结合图示来说明 FPGA 仪器的功 能,并给大家介绍如何在硬件设备上进行操作。 Module 3: Schematic Editor Basics 0 - 101 CLK_BRD CLK_BRD CLK_BRD U7 TIMEBASE FREQ Frequency Generator CLKGEN VCC U1 CB8CEB Q[7..0] CLK_TICK CE CEO C TC CLR U2 TEST_BUTTON INV U8 AIN[7..0] AOUT[7..0] 1 Ch x 8 Bit Digital IO IOB_1X8 U3 A[7..0] GT B[7..0] LT COMPM8B JTAG_NEXUS_TDI JTAG_NEXUS_TDO JTAG_NEXUS_TCK JTAG_NEXUS_TMS VCC TDI JTAG TDO JTAG JTAG TCK JTAG TMS ..JTAG JTAG TRST U5 CLK_BRD CLK_TICK IA[7..0] O[15..0] CLK CLK_CAP CHANNELS[15..0] IB[7..0] U6 TRIGGER J8B2_16B Logic Analyser LAX_1K16 STATUS I0 U4 I1 I2 I3 I4 I5 I6 I7 O[7..0] J8S_8B LEDS[7..0] GND CLK_TICK CLK_BRD U9 FREQA FREQB TIMEBASE Frequency Counter FRQCNT2 图 112. 带有嵌入式仪器的 PWM 电路 1. 打开设计完成的工程并下载到 NanoBoard。 2. 在讲师讲解嵌入式虚拟仪器的过程中,熟悉每个嵌入式虚拟仪器特性。 3. 在 Devices View 中双击 NanoBoard 图标为 NanoBoard 开发板打开相应的仪器面板,并 设定时钟频率为 50MHz。 图 113. NanoBoard 控制器. 4. 打开频率发生器的仪器面板。确认窗口中显示的频率是否为 50MHz,如果不是,则点击 Set Time Base 按钮打开设置对话框对频率进行更改。另外还需要确认频率的占空比为 50%。 图 114. 计数器参数对话框 Module 3: Schematic Editor Basics 0 - 102 如下图所示,频率发生器应该像下面所示的被设置到 1MHz。 图 115. 频率发生器面板 5. 打开频率计数器的仪器面板。在频率计数器模块中选择 Counter Options 按钮,确认 Counter Time Base 也为 50MHz(与 NanoBoard 的时钟频率一样),按下图设置完成之 后,点击 OK。 图 116. 计数器选项对话框 在频率计数器模块中,根据需要使用 Mode 按钮来更改波形的显示模式。根据图 117 的显 示来进行相应的设置。 图 117. 频率计数器面板 6. 打开数字输入输入缓冲器的仪器面板。 图 118. 数字输入输出缓冲器仪器面板 Module 3: Schematic Editor Basics 0 - 103 7. 更改输入输出缓冲器模块的输出,然后观察发光二极管的变化。 8. 将频率发生器的输出频率更改为一个比较低的数值,比如说 1KHz。观察对发光二极管所 产生的影响。更改输入输出缓冲器的输出,然后进一步观察发光二极管的变化。 9. 将频率发生器的输出频率调整为原来的 1MHz。 10. 打开逻辑分析仪的仪器控制面板。 图 119 逻辑分析仪仪器控制面板 11. 在逻辑分析仪上选择 Show Panel 按钮。根据图 120 进行设置。 图 120 逻辑分析仪触发参数. 12. 选中逻辑分析仪的 Options 按钮。设置捕捉时钟频率为 1MHz,与频率发生器模块的频 率一样。根据图 121 进行其他控制参数的设置。 13. 选中 Arm 并在波形发生器中观察波形的显示情况。在逻辑分析仪的菜单中选择持续捕捉 并调整输入输出缓冲器的输出。观察 PWM 电路中频率脉冲间隔的变化。 Module 3: Schematic Editor Basics 0 - 104 图 121. 逻辑分析仪选型设置. 图 122 输入输出缓冲器设置为 7 位的逻辑分析仪波形. 图 123 输入输出缓冲器设置为 6 位与 7 为的逻辑分析仪波形 Module 3: Schematic Editor Basics 0 - 105 8.4 使用 JTAG 进行 FPGA 管脚监控 8.4.1 FPGA I/O view 在 JTAG 硬件链中双击设备图标可以打开对应的仪器面板。点击 JTAG Viewer Panel 即可 弹出 JTAG 查看面板。 图 124. 硬件设备仪器面板. 图 125. FPGA 输入/输出仪器面板和 JTAG 查看面板. 在这个界面里,开发者能够通过设备的管脚实时的查看到信号的流向. 在检查信号是否能 够正确的输入或者输出设备的时候,这个功能是非常有用的。 在 Live Update 的检验栏中选中这个标记,则可以实现实时的更新显示。相反 的,将 Live Update 检验栏的标记去掉并选中 update 图标之后,仪器将会锁定显示信 号的信息。选中 Hide Unassigned I/O Pins 选项,则可以去除显示中的混乱部分。 Module 3: Schematic Editor Basics 0 - 106 通过 BSDL Information 的下拉菜单,可以访问 Altium Designer 未知的设备。 在这种情 况下,你需要具备某个设备生产商所提供的 BSDL 文件。 对于在 JTAG 硬件链上的所有设备(包括使用者开发板上与 JTAG 硬件链所连接的设 备),FPGA 的输入/输出仪器面板都是可用的。 实时交叉探针 指示探针可以被放置到 FPGA 的任何一个 I/O 网络,这样在硬件设备仪器面板中可以对此探针处 的信号进行实时显示。通过 Place » Directives » Probe 操作可以在一个 I/O 网络上放置探针。 图 126. 实时交叉探针的使用. 8.4.2 练习– 在 NanoBoard 查看 PWM 电路 1. 将前面练习中的电路重新下载到 NanoBoard,然后运行。 2. 打开 JTAG 查看面板。 3. 选中 Hide Unassigned I/O Pins 选项,并实时的更新检验栏。 4. 在打开 NanoBoard 的双列直插开关之后,观察仪器的开关状态和发光二极管的亮灭。 5. 通过 Place » Directives » Probe 操作,在与 DIP 开关相连的总线上放置一个探针。当 NanoBoard 上的 DIP 开关发生变化的时候,观察探针值的变化。 Module 3: Schematic Editor Basics 0 - 107 9. 重新绑定设计到另外的 FPGA 器件 (30 Minutes) 9.1 设计独立于 FPGA 原厂商 使用约束文件和配置是使用 Altium Designer 开发 FPGA 设计的重要组成部分。它可以通 过允许设计定义独立于特定 FPGA 器件厂商的方式来实现设计可移植性。 在每个 FPGA 设计的顶层都将是一个顶层电路图。传统设计中,此层应该包含指示哪些信 号通过|连接到 FPGA 的哪些管脚。尽管可以在顶层电路图上精确指定每个端口使用的哪些 FPGA 管脚,但这会限制设计的移植性,并使它更难于定位多个 FPGA 器件。Altium Designer 允许你将目标特定的设计信息从顶层原理图移走,并移入外部约束文件。来实现设计与其他的 器件重新绑定的功能。 在系统中的设计有高度的可移植性,允许最大的程度的对不同的器件及板卡环境进行重 构。 许多工程师和设计者都已经拥有第三代 FPGA 开发板或是客户自己订制的开发板。Altium Designer 对这样的开发板提供接口连接支持。 9.1.1 连接开发板 有两种基本方式可以连接第三代开发板在计算机上运行软件: 直接连接—使用并口线连接开发板和 PC 机运行软件。 图 127 获取信息的软硬设备链的并行端口电缆 直接连接—使用 JTAG 适配器连接第三方板卡 1. 通过并口的插座 A,使用提供的并口线,连接 JTAG 适配器到计算机 2. 连接 the flying lead cable 到 10pin 的 JTAG interface header socket (B)。 Note: B 插口是使用提供的 10pin-10pin 的带状线连接第三方的 PCB 板卡上 10pin 的 JTAG 插头。 Module 3: Schematic Editor Basics 0 - 108 3. 通过查阅第三方 PCB 板的印刷品或技术文档,连接 GND,HARD_TDI,HARD_TDO,HARD_TCK 和 HARD_TMS 这五个 JTAG 管脚到目标板 上。 4. 连接其余四根飞线标号为 SOFT_TDI,SOFT_TDO,SOFT_TCK 和 SOFT_TMS 到 FPGA 目标板上空的 I/O 口。导线标号为 CONNECT 可以悬空继续保持不连接。 间接方式—利用 NanoBoard 上一个板级连接口连接第三方的开发板在计算机上运行软件。 Module 3: Schematic Editor Basics 0 - 109 图128 通过NanoBoard板间接连接 如果连接并口线到开发板边缘指定的 JTAG 头上,那么简单的两种方式连接 4 个 JTAG 信 号到相关管脚的开发板上,这样连接软硬 JTAG 链很难。连接 JTAG 硬链信号到开发板上 JTAG 接口相应的 pin 上。连接 JTAG 软链信号到相应的 I/O 端口,共有四个器件的 I/O 管脚可 以使用。 决定以哪种方式连接,尤其是想从并行端口连接 JTAG 软链,必须注意 JTAG 信号传送到 物理的器件的电平处于器件的安全水平。例如,如果该物理器件供电电压是 2.5V,而从并口直 接发送 JTAG 信号电压为 5V 就太高了。在这种情况下,需要一步将电压降到 FPGA 器件运行 水平的电压转移或转变。 9.2 配置管理器 约束文件是指定 FPGA 设置定位到给定器件的文本文件。配置是简单的一个或多个约束文 件的集合。通常,单独的配置将用于每个目标器件,并包含至少一个约束文件。如果要定位多 个器件,可以对在多个配置中共享的单独约束文件使用常用约束。以这个简单的 PWM 设计作 为示例,若要将其移植到几个不同的器件(来自几个不同的供应商),需要创建三个单独的配 置,以包含其中目标特定的约束文件和常规约束文件。而多个配置可以用配置管理器来进行管 理。 9.2.1 配置管理器 不是像存储设备和执行数据那样放置在源文档中,这部分信息存储在单独的文档中。这些 对目标设备和 PCB 设计约束文件,对相同的设计可以很方便容易的重构。 配置给 Altium Designer 项目提供了一种参数化的管理方式。对于专门的 FPGA 项目,配 置允许原理图/VHDL 设计而不需要指定工具设置或是目标设备设置。如在原理图或是 VHDL 源 文件中项目端口和器件引脚的配置。 多种配置条件通过 Configuration Manager 转化为单一的配置。可以通过右键点击 FPGA 项目面板,在弹出的菜单中选择 Configuration Manager。 图 129 配置管理器显示多个配置和约束文件. 图 129 显示的是一个项目的 Configuration Manager 对话框,包括多种配置和约束文 件。在对话框的左侧列出的是约束文件,包括一个配置(在右侧上端的四列),已经勾选。尽 Module 3: Schematic Editor Basics 0 - 110 管这里一个约束文件只包括一个配置,但是并不是说一个约束文件只能有一个配置,或是说一 个配置不能被多个约束文件所使用。 9.2.2 创建新的配置 1. 定义一个配置,首先在项目面板上右击项目名称,从出现的菜单中选择 Configuration Manager。 Configuration Manager 对话框在左侧列出了项目中所有约束文件,在右上包括所有配 置名称。约束文件通过使能框勾选添加配置。图 124 是配置管理器对话框,其中有 3 个约束文 件在左侧列出,2 个默认的约束条件和一个自己创建的特定的 FPGA 项目约束文件。3 个配置 名称已经被定义,其中两个是 NanoBoard 板上的约束文件,另一个是针对自己设计的 FPGA 项目板。 图 130 配置管理器显示共有三个配置,每个约束文件有一个配置. 2. 在对话框的下部,在 configurations 旁边,左键单击 Add 按键,添加一个新的配置。 3. 启用合适的复选框分配约束文件到对应配置信息上。 现在就可以进行综合和布局布线设计了。 9.3 绑定到另外的 FPGA 器件 9.3.1 重新绑定到物理器件 添加一个新的约束文件到你的设计中。在项目面板上右击 FPGA 项目的名称 (*.PrjFpg),从出现的菜单栏中选择 Add New to Project » Constraint File。 如何指定目标器件到目标板上,从约束器主菜单选择 Design » Add/Modify Constraint>>Part。选择器件对话框会出现,如图 131。 Module 3: Schematic Editor Basics 0 - 111 图 131 开发板上指定的目标 FPGA 器件. 软件支持的器件有管脚值,像对话框中选择的器件一样。软件不支持的器件以连字符'-'表 示。 使用对话框选择确定需要的器件,点击 OK。在约束文件中有相关目标器件选择的自动添 加。添加的内容如下面所示: ;................................................................... .. Record=Constraint | TargetKind=Part | TargetId=XC2S300E-6PQ208C ;................................................................... .. 9.3.2 分配 JTAG 软器件链到物理器件上 如果你想使用 JTAG 软链在你的开发板上。例如:在你的设计中既有处理器或是又有虚拟 仪器,这样就必须启动软链。通过在顶层的原理图中放置一个 JTAG Port(NEXUS_JTAG_CONNECTOR)和相应的 Soft Nexus-Chain Connector (NEXUS_JTAG_PORT) 来实现。 图 132 在设计中利用软设备链. 这些器件可以在 FPGA NB2DSK01 Port-Plugin (FPGA NB2DSK01 PortPlugin.IntLib)和 FPGA Generic (FPGA Generic.IntLib)集成库中找到。这两个库可以 通过目录\Library\Fpga 安装包中找到安装。 Module 3: Schematic Editor Basics 0 - 112 这些信号必须与 FPGA 芯片的管脚相对应—相应的四个管脚从器件的通用 I/O 管脚引出通 过物理连接从计算机并口连接 JTAG 软链。像下一节所写的那样,在约束文件中完成了这种匹 配。 9.3.3 分配设计网络到 FPGA 器件的物理管脚 任何你想连接的目标器件的管脚必须在在 FPGA 设计项目中顶层原理图上连接端口。接着 编译设计,对顶层原理图进行检查。所有连接到端口的网络都已经假定连接到 FPGA 管脚上。 在原理图中已经定义了所有的端口对应的物理管脚,在约束文件中已经有了体现。在约束 文件中,这些管脚的分配可以通过手动定义,也可以通过定义布局布线工具和导入分配结果。 在约束文件中快速添加端口分配,在约束编辑主菜单中选择 Design » Import Port Constraints from Project。在 FPGA 项目的顶层原理图中,每个端口都被添加了记录。管脚 在这一阶段没有被分配。 手动分配一个端口到 FPGA 管脚,通过添加必须的 FPGA_PINNUM 约束端口的记录。例 如,手动定义 JTAG 软链信号到器件的 202-205 管脚,约束文件应该像图 133 所示的那样。 Figure 133. Assignment of JTAG Soft Device chain connections 对于一个时钟信号,你可能会喜欢指定布局布线工具,这样端口将分配给时钟信号,然后 让布局布线工具从现有的目标器件的时钟管脚选择。例如,为了限制软的 JTAG 时钟信号 (JTAG_NEXUS_TCK)的 FPGA 时钟资源,你会使用下列项目中的约束文件: Record=Constraint|TargetKind=Port|TargetId=JTAG_NEXUS_TCK|FPGA_CLOCK= TRUE 考虑到这一步的进一步约束,可以定义分配到这个信号的频率,如: Record=Constraint|TargetKind=Port|TargetId=JTAG_NEXUS_TCK|FPGA_CL OCK_FREQUENCY=1 Mhz 当布局布线引脚分配完成时,可以从 Constraint Editor's Design 菜单,使用 Import Pin File 命令导入约束文件。 Module 3: Schematic Editor Basics 0 - 113 10. FPGA 到 PCB 设计 (45 Minutes) 以某种方式联系在一起的几个工程可以用“超级工 程”—Design Workspace(工作空间) 组合在一起。工作空间提供 了把单一设计的一个或多个工程组合在一起的简洁方法,以便这 些工程可以被一起打开。 Altium Designer 全面支持分层级的设计方法。因此,一些 工程可以把其他工程包含进来。图 134 为 Altium Designer 安 装时自带的例子 Spirit Level 的结构视图。从这个视图中我们 可以观察到它所包含的各种文件的层级结构。最顶层的工程是 一个 PCB 工程,名字叫 SL1 Xilinx Spartan-IIE PQ208 Rev1.01, 扩展名是 PRJPCB。在这个 PCB 工程中包含了一个 FPPGA 工 程的实例 FPGA_51_Spirit_Level.PrjFpg。在 FPGA 上运行的是 一个嵌入式软件核心 8051 处理器,其上运行的程序和软件包 含在另外一个叫做 SpiritLevel.PrjEmb 的工程中。 The hierarchy of projects is given below. 该工程的结构如图 135 所示。 图 134. 一个工程结构的例子 图 135. 一个设计包含多个工程的例子 一个 PCB 工程可以包含一个或多个 FPGA 工程,而从来不是其他情况。如果你仔细考虑一 下就会明白:直觉告诉我们 PCB 工程可以包含 FPGA 工程,但是 FPGA 工程不能包含 PCB 工 程。类似地,一个 FPGA 可以包含一个或多个 FPGA 内核或者微处理器软核。而连接的嵌入式 工程则定义了在每个软核上执行的软件。 10.1 FPGA 到 PCB 设计 在所有产品设计周期的某个阶段,都会遇到这样的时间点:我们必须把实验原型付诸生产 实践。如果一个设计已经在 Desktop NanoBoard 成功运行,那么整个从基于 FPGA 的工程到基 于 PCB 的工程的移植就仅仅是简单的 FPGA to PCB Project Wizard 使用的问题了。这种方法自 Module 3: Schematic Editor Basics 0 - 114 动连接两个工程并最大限度的进行二者功能的同步。工程同步是非常重要的,它保证了设计的 改变在 PCB 文件和 FPGA 工程之间以一种可控的方式进行。 10.1.1 使用 FPGA to PCB 工程向导 在主设计窗口中打开 FPGA 工程中的一张原理图文件,从菜单中选择 Tools » FPGA To PCB Project Wizard,这个向导就会显现,如下图所示: 图 136 FPGA 工程到 PCB 工程向导 10.1.2 练习—运行 FPGA to PCB 工程向导 在这个练习中,我们将做一个面向 Spartan2E 器件的设计,而且将用 FPGA to PCB 工程 向导来运行它。 z 从文件夹\Module3\Exercise 1\ 中打开设计 SpiritLevel.PRJFPG z 打开配置管理器,确认 NB1_6_XC2S300E-6PQ208.Constraint 包含在配置中。点 击 OK 关闭配置管理器; z 打开 FPGA 电路原理图文件—SL_FPGA_Complete.SchDoc z 选择 Tools » FPGA to PCB Project Wizard z 在 Select the FPGA Configuration 步骤中,勾选 Use Existing Configuration 选项,并指定 NB_Xilinx_Spartan2 configuration,确认 Assign Unconstrained Ports 没有选择。 Module 3: Schematic Editor Basics 0 - 115 图 137 在 FPGA 到 PCB 工程向导中使用一个已经存在的配置 z 在 Configure the PCB Project 步骤中,指定 PCB Project File Name 为 SpiritLevel_2E.PrjPCB. 图 138. 指定 PCB 工程名称 z 在 Configure the Main Sheet 步骤中,指定 Main Sheet File Name 为 Auto_2E.SchDoc,并选择图中所示的其他选项。点击 Next 继续操作。 Module 3: Schematic Editor Basics 0 - 116 图 139. 主要的图纸选项. z 在 Configure the Sheet Symbol Sheet 步骤中,选中 Create Sheet Symbol 复选 框,并指定 Sheet Symbol File Name 为 SL_Top.SchDoc.点击 Finish 完成向导。 图 140. 原理图符号选项. z 使用 File»Save As 来保存自动生成的两个新原理图文件 z 同样使用 File»Save Project As 来保存新生成的 PCB 工程到当前目录 z 现在,基本的原理图文件已经被创建,可以根据特定工程的需要来进行修改。但 是,这时我们可能还不能直观得看到 FPGA 工程链接到 PCB 工程。右击 PCB 工程面 板,对它进行编译。编译器会自动改变工程的结构。 Module 3: Schematic Editor Basics 0 - 117 图 141. 编译之后的工程面板 z 观察新生成的工程结构 z 保存你的工作文件 10.2 管脚交换 10.2.1 PCB 文件中的管脚交换 很多人可能想知道为什么单独的 Auto 和 Auto schematic 文件在 FPGA to PCB Project Wizard 的过程中被创建。Auto 文件创建了实际的 FPGA 原理图标志并把相应的管脚链接到端 口上。Manual 文件包含了一个原理图符号,该原理图符号包含了在 Auto 文件中定义的所有端 口的信息。链接 Auto 文件和 Manual 文件的端口是一个逻辑意义上的端口而不是物理意义上的 端口。这种抽象使得在 Auto schematic 文件上执行管脚交换不会影响到 Manual 文件的连接关 系。 FPGA 器件的端口到物理管脚的分配在约束文件中定义。你可以手工定义管脚的分配,也 可以让放置走线工具来分配,然后将这些分配导入到约束文件中。但是,一旦 FPGA 放置在 PCB 上之后,通常需要改变管脚分配来优化 PCB 的走线,之后这些改变被导回到 FPGA 工程 中,这样可以保持两个工程的同步。 Module 3: Schematic Editor Basics 0 - 118 38. 设置—管脚交换方法 有两种方法在原理图级实现管脚交换。这些都在 project options 对话框的 option 标签里设 置。在这两种方法中,电路原理图中实际电路连接关系不会被改变,改变的只是它的连通性。 图 142. 设置管脚和部件交换方法 Adding / Removing Net-Labels 选项可以移动被交换管脚上的网络标号来反映在管脚交换 过程中所做出的改变。这样,电路图符号就可以不用更改。 Changing Schematic Pins 选项允许 Altium Designer 根据 PCB 层级上管脚交换的情况来 移动电路图符号上管脚。 如果同时选择两个选项,Altium Designer 默认将交换网络标签。如果该网络上没有网络标 签,那么将交换电路图符号上管脚。 39. 设置—组交换 在进行管脚交换之前,首先比较重要的是设置交换组的 ID,因为不是所有的管脚都可以彼 此交换。理论上所有 FPGA 的 I/O 管脚都可以进行交换,来获得更好的走线布局,但也要根据 外部条件来确定。首先,一些管脚有附加的特殊功能(举几个例子:时钟管脚、配置管脚、 VREF 管脚),一般按照它们的特殊功能使用;其次,这里设置的限制条件会使管脚交换过程遵 循先前设定的组别和 I/O 标准。因此,只允许特定组别(或者其他有兼容 I/O 标准的组别)的管脚 进行交换是十分必要的。 组交换可以在电路原理图或者 PCB 级别定义,如下所述。 40. 在电路原理图中设置管脚交换组 如果要在电路原理图中设置管脚交换组,可以使用 Tools » Configure Pin Swapping 命 令。弹出的对话框列出了设计中所有的元器件。 Module 3: Schematic Editor Basics 0 - 119 图 143. 为不同的元件设定管脚交换组 单击 Configure Component 按钮来选择你想定义交换组的元件,或者在列表中双击元件进 入 Configure Pin Swapping For …对话框。 Module 3: Schematic Editor Basics 0 - 120 41. 在 PCB 中设置交换组 z 右击你想设置管脚交换的元件,选择 Component Actions >> Configure Pin / Part Swapping … . z 选择 Tools >> Pin / Part Swapping >> Configure 命令,进入 Configure Swapping Information In Components 对话框(见上面图)。选择你想定义交换组的器件,点击 configure Component 按钮进入 Configure Pin Swapping For …对话框。 图 144.在管脚交换管理器中指定交换组 ID 所有具有同样交换组 ID 的管脚可以自由交换。 将器件上每一个 I/O 管脚分配到适当的交换组中。可以手工在 Swap Group ID 区域直接进 入组标签,或者采用右键菜单来根据不同管脚的属性来分配交换组。 42. 设置—使能元件的管脚/部件交换 定义好交换组之后,在进行实际的管脚交换之前还需要进行一个步骤。Altium Designer 只 会将有特定标记允许进行管脚交换的器件进行管脚交换。对于一个给定的元件,在 PCB 模式下 选中它来查看它的元器件属性,然后在 swapping options 选项中选择 Enable Pin Swaps。对 每一个需要管脚交换的元件都进行此项操作。 Module 3: Schematic Editor Basics 0 - 121 图 145 .使能元件的管脚交换 10.2.2 交换 定义了交换组 ID 之后,就可以进行实际的管脚交换了。在活动的 PCB 文件中,选择 Tools 菜单下的 Pin/ Part Swapping 命令,然后选择一种方法进行管脚交换。 Automatic Net/Pin Optimizer 可以用在文件中所有的的元件上,不仅仅限于 FPGA 器件。 管脚交换器尝试去寻找最有利于布线的管脚分配,同时遵循先前设定的管脚交换组 ID 设置。这 个过程分为两步:第一步是快速单程优化,尽量减少交叉和连接长度;第二步是迭代优化过 程,进行多路径优化。这一步是可选的,因为随着器件的个数和复杂性增加,优化的时间也急 剧增加。 Module 3: Schematic Editor Basics 0 - 122 图 146. 自动管脚交换之前的飞线 从上面和下面这两个 PCB 的截图可以看出:自动管脚交换工具可以很大程度地优化布线。 所以,FPGA 器件上所有的 I/O 端口都被分配了相同的交换组 ID。 图 147. 自动管脚交换之后被解开的飞线 Interactive Pin/Net Swapping 工具允许对管脚交换进行微调,可以进行许多次单独的管脚 交换。同样,这也遵循先前设定的管脚交换组 ID。 我们可以进行一系列的交换操作。比如,开始进行自动管脚交换,接下来用交互式工具对 不合适的网络/管脚进行微调。 如果设计中有些 FPGA 器件是相互链接的(例如 U1_X1,U1_X2),由于设计是多通道的, 这些器件就需要一起优化。当我们采用交互式管脚交换工具时,管教交换是不能在链接的器件 Module 3: Schematic Editor Basics 0 - 123 上进行的,这时会弹出一个警告对话框。例如:如果 U1_X2 和 U1_X1 是链接的,那么两个器 件必须一起优化,但是手工管脚交换只能在 U1_X1 上进行。 一个管脚交换操作要完成两件事情。首先它从新的管脚拷贝重要的属性—这可能是管脚的 电气类型以及其他属性;其次它在该管脚上添加、重命名或者移除适当的网络标签。需要注意 的是第二步仅仅发生在 FPGA 器件原理图是采用 FPGA To PCB Project Wizard 或者其他类似 操作自动生成的情况下。 10.3 FPGA,PCB 及原理图双向同步 在更新 PCB 之后,进行的改变需要继承到工程中的其他文件中。如果要更新 PCB 原理 图,使用 Design >> Update …命令。更新完成后,你可以使用 FPGA Workspace Map 来将新 的改变应用到 FPGA 工程中。你会发现原来的电路图—FPGA 工程链接已经过期。 图 148. 管脚交换之后 PCB/FPGA 工程链接的重新同步 单击这个链接会弹出 Synchronize 对话框,其中受到影响的(被交换的)管脚会红色高亮显 示,如下图所示。 Module 3: Schematic Editor Basics 0 - 124 图 149. 管理 PCB 和 FPGA 工程之间的同步 单击 Update To FPGA 按钮把更改加载到 FPGA 工程中,或者更明确地说,加载到特定的 FPGA 约束文件中去。这种更新会有许多参数改变,并产生 ECO 报表(该报表列出一系列要更 改的参数,在 Engineering Change Order 对话框中产生)。 图 150 确认 ECO 尽管已经完成了从 PCB 工程到 FPGA 工程的设计改变,但是 FPGA Workspace Map 对话 框仍然没有显示设计完全同步。这时因为 PCB 工程中的 FPGA 信号被重命名成不同的网络名 称。 并且,PCB 设计中包含了 FPGA 层级没有描述的连接。这并不是说在功能上两个设计不能 工作,而是说在当前执行过程中,两个设计还有些与功能无关的差别。 Module 3: Schematic Editor Basics 0 - 125 图 151. 全部实现同步的 PCB/FPGA 工程 注意:在 PCB 上执行完管脚交换之后,对电路进行的改变被反映到 FPGA 工程中,从而 两个工程重新完成同步。这时,必须重新执行 vendor place & route tools(在 Devices 视图中的 Build 阶段中)。这是因为管脚交换的信息只是在约束文件中更新,现在需要把它应用到物理上 的实际 FPGA 器件中。重新运行 place & route tools 可以确保新的管脚交换信息下载到 FPGA 的程序中。 10.3.1 FPGA 工程中的管脚交换 当一个设计与 FPGA 器件不再适合时,就需要进行管脚交换。也许这个设计和 FPGA 是吻 合的,但是可以使用 vendor tools 来分配各种管脚的编号。 约束文件可以根据需要进行编辑,解除管脚数量的限制。 这个过程完成之后,同时我们的设计与 FPGA 器件再次成功吻合之后,我们就需要导入新 的 vendor report file。 打开并激活相应的约束文件之后,从 Design 菜单选择 Import Pin File 命令。新创建的 vendor report file 会出现在相应的子菜单中。导入这个文件可以根据需要更新约束文件。 对约束文件作出的改变需要反映到 PCB 工程中去。这个过程与上面部分介绍的过程是相反 的,所有的改变同样显示在 FPGA Workspace Map 对话框中。 进入 FPGA Workspace Map 对话框,可以看到原理图-FPGA 工程链接已经过期。 单击这个链接会弹出 Synchronize 对话框,其中受到影响的(被交换的)管脚会红色高亮显 示,如下图所示: Module 3: Schematic Editor Basics 0 - 126 图 152. 管理 PCB 和 FPGA 工程之间的同步 单击 Update To FPGA 按钮把更新加载到 FPGA 工程中,这会在电路原理图中执行一系列 的管脚交换操作(采用 ECO 的方式)。 执行这些改变会使 PCB-原理图链接过期(如果这一步中有 PCB 器件存在的话)。单击相应 的链接会以改变新交换管脚的网络的形式更新 PCB 文件(同样采用 ECO 的方式,见下图)。如 果这些管脚包含走线,那么还要对 PCB 文档进行进一步的改变。 图 153 .确认 ECO 10.3.2 PCB 和 FPGA 工程中的管脚交换 如果 PCB 和 FPGA 中的管脚改变没有进行同步,那么可以进入 FPGA Workspace Map 对 话框,其中显示了原理图-FPGA 工程中的失效链接(红色高亮显示)。 Module 3: Schematic Editor Basics 0 - 127 单击这些链接会弹出 Synchronize 对话框,其中不同的管脚会红色高亮显示。同时把这些 改变按照它们各自的方向(PCB 到 FPGA 和 FPGA 到 PCB)进行更新是不行的。如果要把这些 更改按照要求进行更新,并重新达到同步,所进行操作的顺序如下: 首先,选择最初的传递更改的方向,点击 Update To PCB 或者 Update To FPGA 按钮。 在 Engineering Change Order 对话框中,所有的更改都会被应用到选定的方向。使能我们 需要应用更改的一个方向,然后执行更改。 当 Synchronize 对话框再次出现时,点击最初没有按下的 Update 按钮来把更改应用到另 一个方向上。 执行后来出现的 Engineering Change Order 对话框中的改变,之后 Synchronize 对话框会 再次弹出,Matched Signals 列表中显示没有差异(全部显示绿色)。在 FPGA Workspace Map 对话框中,链接会重新回到完全同步状态(绿色)。 10.3.3 练习—管脚交换 z 这个练习接着前一个练习继续操作。 z 打开 SL Rev1.01 NoRoutes.PcbDoc. z 在 project options 对话框里的 options 标签里选择 Adding / Removing Net Labels 选项,不选择 Changing Schematic Pins 选项。单击 OK 按钮关闭 project options 对话 框。 z 选择 Tools » Pin/Part Swapping » Configure…命令 z 选择 FPGA 器件,使用 Configure Component 命令 z 确保对话框底部左侧下拉表单中的 Show I/O Pins Only 选项被选中。 z 为下列每个信号创建唯一的交换组 ID: z I\N\I\T\ z DIN z 所有的 IO 管脚可以放置到一个叫做‘general_IO’的交换组里。 图 154. 为所有的 IO 管脚指定交换组 ID Module 3: Schematic Editor Basics 0 - 128 z 选择 OK z 将 FPGA 器件放大,显示于 PCB 的中心 z 双击 FPGA 器件,当出现 Component U1 对话框,将 Rotation 改成 180 度,选择 OK z 使用自动管脚交换工具来重新分配管脚 z 等待系统完成管脚交换 z 回到 Design 菜单,选择 Update Schematics 把管脚交换造成的改变更新到 PCB 原 理图中 z 打开 FPGA Workspace Map,解决到任何遇到的不同步信号的问题。在这一步 时,PCB 是主文档,所以当要做出任何更改时,要选择 Update to FPGA 选项。 z 保存你所做的工作。 结束语:产品介绍以及培训介绍 30 minute Module 3: Schematic Editor Basics 0 - 129

    Top_arrow
    回到顶部
    EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。