
1. 从零开始理解原理图元件库编辑的核心价值如果你刚开始接触Protel 99 SE画完几个简单的原理图后大概率会遇到一个坎软件自带的库找不到你想要的芯片。可能是某个新型号的单片机也可能是一个特殊功能的模拟器件。这时候你面临两个选择一是满世界去搜别人做好的库文件运气好能找到但封装、管脚定义未必符合你的习惯甚至可能有错误二是自己动手丰衣足食。显然后者才是工程师安身立命的根本。原理图元件库编辑就是让你从“使用者”转变为“创造者”的第一步。它不仅仅是画个符号那么简单而是将芯片数据手册上的电气特性、物理封装转化为EDA软件能够识别和处理的标准化信息。这个过程直接决定了后续PCB布局、网络表生成乃至生产制造的正确性。今天我们就抛开那些枯燥的菜单说明以一个老电工的实际操作视角带你彻底吃透Protel 99 SE的元件库编辑器让你能随心所欲地创建任何你需要的元件。2. 元件库编辑器的启动与核心界面解析2.1 启动编辑器不止一种路径很多教程只告诉你从文件菜单新建一个库但这在实际工作中效率很低。更常见的场景是你正在绘制一个原理图突然发现库里的某个元件管脚排列不符合你的阅读习惯或者需要微调。这时最快捷的方式是直接在原理图界面双击该元件在属性对话框中点击右下角的“Edit”按钮。Protel 99 SE会自动跳转到元件库编辑器并定位到这个元件所在的库文件。这种方式是“即用即改”非常高效。另一种标准流程是从设计管理器Design Explorer的根目录开始。执行File - New在弹出的对话框中选择原理图库文档图标.Lib创建一个新的库文件。我个人的习惯是为每一个项目单独建立一个元件库命名为ProjectName_Library.Lib这样便于管理也避免了不同项目间元件的混淆。双击新建的.Lib文件就会进入元件库编辑器的主界面。这个界面分为三个主要部分左侧的元件库管理器Components Manager、中间广阔的绘图工作区以及右侧的绘图工具栏Placement Tools。工作区中央的十字准线交点就是坐标原点0,0这是你绘制元件图形的基准点务必将元件主体绘制在原点附近这关系到后续原理图中放置元件时鼠标抓取点的位置是否顺手。2.2 深度剖析元件库管理器你的元件控制中心左侧的元件库管理器是编辑器的灵魂它绝不仅仅是一个元件列表。我们来拆解它的每一个区域并解释其背后的设计逻辑和实战用法。Component区元件列表区这里以列表形式显示当前库中的所有元件。单击选中一个元件它就会显示在中间的工作区。这里的核心操作是“过滤”。当你的库里有上百个元件时在上方的筛选框输入元件名的一部分可以快速定位。这是维护大型私有库的必备技能。Group区组区这是Protel 99 SE一个非常精妙但容易被忽略的功能。它管理的是“同组元件”。什么是同组我举个例子芯片74LS00、74HC00、74ACT00它们都是四路2输入与非门功能、管脚排列、封装比如都是DIP14完全一样唯一的区别是工艺和速度LS是低功耗肖特基HC是高速CMOS等。在原理图里它们符号长得一模一样。如果为每一个都画一遍符号那是重复劳动。这时你就可以把它们设为同组元件。首先画好一个74LS00然后在Group区点击“Add”按钮输入“74HC00”一个新的同组元件就创建了。在原理图里当你放置74HC00时调用的实际上是同一个图形符号只是名称不同。这极大地简化了库的管理。Update Schematics按钮更是神器当你在库中修改了某个元件的图形或属性后点击它所有已打开的原理图中使用了该元件的实例都会自动更新无需手动替换。这在做设计迭代时能节省大量时间。Description按钮描述信息这是定义元件“身份”的关键对话框。点击后弹出“Component Text Fields”对话框。Default Designator默认标识符一定要设比如集成电路用“U?”电阻用“R?”电容用“C?”。这样在原理图中放置时它会自动带上“U1”、“R2”这样的前缀软件也能据此进行自动标注。Footprint封装栏是重中之重可以添加多个封装用逗号隔开如“DIP14, SOIC14”。这样在后续导入PCB时可以在封装管理器里灵活选择。Description描述栏建议认真填写比如“Quad 2-Input NAND Gate”时间久了你自己一看就知道这是什么。Pins区管脚列表区这里以表格形式列出当前选中元件的所有管脚。勾选“Sort by Name”会按管脚名排序但在数字电路中我们更关心管脚号所以通常不勾选。Hidden Pins显示隐藏管脚这个复选框务必注意像集成电路的电源VCC和地GND管脚我们通常设置为隐藏以保持原理图符号的简洁。但在库编辑时需要勾选此项才能看到并编辑这些隐藏管脚确保它们被正确连接。Mode区显示模式区这里展示了元件的三种图形模式Normal常规、De-Morgan德摩根和IEEE美国电气电子工程师学会标准。对于74系列逻辑门这三种模式差异明显Normal就是我们最熟悉的方框加管脚De-Morgan模式会用与或非的符号来等效表示与非门在强调逻辑关系时使用IEEE模式则使用更抽象的矩形框加内部功能标识。对于大多数模拟器件、单片机等通常只有Normal模式是有意义的。这个功能在实际中用得不多但了解其存在有助于阅读一些国外老工程师画的复杂逻辑图。3. 绘制元件的工具箱菜单与工具栏的实战配合3.1 Tools菜单元件级别的宏观操作Tools菜单下的命令管理的是整个“元件”实体而不是具体的线条和管脚。理解这一点很重要。New Component新建元件点击后库管理器里会多出一个名为“COMPONENT_1”的新元件。这是你创作的开始。Remove Component删除元件删除当前选中的元件。操作前务必确认因为删除后不可撤销Protel 99 SE没有全局的CtrlZ。Rename Component重命名元件我强烈建议在开始绘制图形前就先执行这个操作把默认名改成有意义的名称如“STM32F103C8T6”。这能避免后续的混淆。Copy Component复制元件这个功能用于在同一库内快速创建相似元件。比如你画好了STM32F103C8T6它的兄弟型号STM32F103CBT6只是Flash容量不同管脚完全兼容。这时复制一份再改名、改描述是最快的方法。Move Component移动元件到其他库用于整理你的库文件。你可以把一些通用的电阻电容移动到“Basic.Lib”把单片机类移动到“MCU.Lib”。New Part / Remove Part增加/删除部件这是绘制“多部件元件”的关键。像74LS00一个芯片里有4个独立的与非门在原理图里可以分开摆放。在库里它们就属于同一个元件的4个“Part”部件。先画好Part A然后点击New Part工作区会清空让你绘制Part B如此反复。Remove Part则用于删除某个部件。Remove Duplicates删除重复元件当库文件经过多次复制粘贴操作后可能会产生名称完全相同的重复元件。这个命令可以一键清理保持库的整洁。3.2 绘图工具栏你的画笔与尺规绘图工具栏可通过View - Toolbars - Drawing Toolbar打开提供了所有绘制元件外形所需的工具。它们与原理图编辑器中的绘图工具类似但这里绘制的图形没有电气属性纯粹是为了视觉表示。直线/曲线工具用于绘制不规则元件的外形比如变压器、继电器线圈、光耦的发光二极管部分等。画直线时按住Shift键可以强制绘制水平、垂直或45度线。矩形/圆角矩形/椭圆工具用于绘制规则元件的外形是使用频率最高的工具。集成电路、连接器等都适合用矩形表示。多边形工具可以绘制任意形状常用于绘制三角形用于表示放大器、特殊符号等。放置文字工具用于在元件图形内部添加注释比如“ADC”、“PLL”但请注意这里放置的文字在原理图中不会显示仅用于库编辑时的备注。元件的名称Name和标识Designator是通过其他属性设置的。放置管脚工具这是整个绘图过程中唯一具有电气特性的对象是重中之重。管脚定义了元件与外界网络的连接点。它的放置和使用我们将在下一章详细展开。实操心得绘制元件外形时不必追求和实物一模一样原则是“清晰、易读、符合行业习惯”。一个矩形代表一个芯片大家都能看懂。把时间花在确保每一个管脚的位置、名称、编号、电气类型绝对正确上这才是关键。4. 手把手实战创建你的第一个定制元件现在我们抛开理论用一个完整的例子把上述所有知识串联起来。我们将创建一个经典的8位微控制器ATmega328P的DIP-28封装原理图符号。这是一个非常典型且实用的例子。4.1 前期准备与库文件建立新建库文件打开Protel 99 SE在数据库文件.ddb中执行File - New选择原理图库文档图标创建一个新库。我将其命名为My_MCU_Lib.Lib。重命名初始元件库打开后左侧管理器里默认有一个COMPONENT_1。点击Tools - Rename Component将其重命名为ATmega328P。设置工作环境点击Options - Document Options。在Grids区域将Snap捕获栅格和Visible可视栅格都设置为10。Snap10意味着光标移动和对象放置的最小步进是10mil0.254mm这能保证管脚对齐图形整洁。Visible10让网格清晰可见便于绘图时定位。将Style设置为Dot Grid点状网格我个人觉得比线状网格更清爽。4.2 绘制元件主体与放置核心管脚ATmega328P有28个管脚我们用一个矩形来代表其主体。绘制矩形主体点击绘图工具栏的矩形工具。将光标移动到坐标原点0,0附近单击左键确定矩形左上角向右下方拖动鼠标观察右下角的状态栏坐标大致到150 -200的位置单击单位是mil。这样就画出了一个宽150mil高200mil的矩形大小适中。放置管脚——核心步骤详解点击绘图工具栏的放置管脚工具或按快捷键P, P此时光标会带有一个悬浮的管脚一端是黑点一端是十字。记住一个黄金法则有十字光标的那一端才是将来在原理图中连接导线的一端即具有电气特性的一端带黑点的一端是用来靠近元件图形主体的。放置时一定要让黑点端朝向矩形十字端朝外。编辑第一个管脚属性在放置前按Tab键或在放置后双击管脚打开管脚属性对话框。这是元件库编辑中最复杂的对话框我们逐一拆解Name: 输入“PC6 (RESET)”。管脚名可以包含字母、数字和符号为了清晰我加上了复位功能注释。Number: 输入“1”。这是管脚号必须与芯片数据手册和物理封装严格对应。Orientation: 选择“180 Degrees”。因为我们要把管脚放在矩形左侧管脚名朝外需要旋转180度。Electrical Type: 选择“Input”。复位管脚是输入型。这个属性非常重要它用于电气规则检查ERC。例如一个Output类型的管脚直接连接到另一个Output类型ERC就会报错。Dot Symbol: 不勾选。低电平有效复位我们通常不在库符号里加这个小圆圈而是在原理图中通过网络标号如/RESET或注释来表示以保持库的通用性。Pin Length: 默认为“30”。这个长度适中可以保持原理图美观。你可以统一设置为30个别需要加长的再单独调整。 设置好后将管脚移动到矩形左侧黑点端贴近矩形边框单击放置。批量放置并设置管脚接下来放置管脚2PD0/RXD。由于管脚2也在左侧且属性类似数字I/O我们可以利用复制功能。选中刚放置的管脚1按CtrlC复制再按CtrlV粘贴移动新管脚到管脚1下方对齐栅格。然后双击新管脚只需修改Name为“PD0 (RXD)”Number为“2”Electrical Type改为“I/O”即可。用这种方法可以快速放置左侧的一列管脚1-14号。放置右侧管脚15-28号时需要将Orientation改为“0 Degrees”让管脚名朝右。4.3 处理电源管脚与元件信息描述大多数微控制器的电源VCC和地GND管脚是隐藏的以简化原理图符号。放置并隐藏电源管脚在矩形顶部中间位置附近放置一个管脚。打开属性对话框Name: 输入“VCC”。Number: 根据数据手册ATmega328P的VCC是管脚7。这里是个易错点不要因为它是隐藏管脚就乱编号必须严格对应物理管脚号7。Orientation: “90 Degrees”朝下。Electrical Type: “Power”。关键一步勾选Hidden复选框。这样这个管脚在原理图中将不可见但电气连接依然存在。同样方法在矩形底部放置管脚8GNDElectrical Type选“Power”并勾选Hidden。设置元件描述信息点击左侧元件库管理器的Description...按钮。Default Designator: 输入“U?”。这样在原理图中放置时它会被自动标记为U1, U2...Footprint: 输入“DIP-28”。这是该芯片最常用的直插封装。你也可以添加贴片封装作为备选如“DIP-28, TQFP-32”但要注意管脚数必须对应。对于贴片封装你需要另外创建或获取对应的PCB封装库.Lib。Description: 输入“Atmel 8-Bit AVR Microcontroller with 32K Bytes Flash”。清晰的描述有助于未来检索。保存按CtrlS保存库文件。至此一个完整的、可直接用于原理图设计的ATmega328P元件就创建好了。注意事项管脚Electrical Type的设置是ERC的基础。对于MCU的I/O口务必设置为“I/O”类型。对于纯粹的输入管脚如复位、外部中断设“Input”对于时钟输出等设“Output”。电源和地一定设“Power”。如果类型设置错误可能会导致ERC报告大量无意义的警告或错误。5. 高阶技巧复杂元件与效率提升实战掌握了基本元件的创建后我们会遇到更复杂的情况也需要追求更高的绘制效率。5.1 绘制多部件元件以74LS00为例74LS00是一个内含四个2输入与非门的芯片。在原理图中我们可能将这四个门用在电路的不同地方。在库中我们将其创建为一个元件的四个部件Part。创建元件并绘制Part A新建元件“74LS00”。在原点附近用直线和圆弧工具绘制一个与非门的标准符号半圆形加输出小圆圈。放置三个管脚两个输入管脚号1,2一个输出管脚号3。将电源VCC 管脚14和地GND 管脚7作为隐藏管脚放置好并设置其Electrical Type为“Power”。添加新部件点击Tools - New Part。工作区会变空白但左侧管理器显示仍为74LS00只是进入了Part B的编辑状态。此时千万不要重新画一遍。复制与修改切换到Part A按CtrlA全选所有图形和管脚包括隐藏管脚按CtrlC复制。再切换回Part B按CtrlV粘贴到原点附近。现在你有了一个和Part A一模一样的门电路。接下来只需修改这三个可见管脚的管脚号将两个输入改为4、5输出改为6。电源和地是共用的保持不动。完成所有部件重复步骤2和3创建Part C输入管脚9,10输出管脚8和Part D输入管脚12,13输出管脚11。设置元件信息在任意一个部件编辑状态下打开Description设置Default Designator为“U?”Footprint为“DIP14”。这样在原理图里放置74LS00时你可以连续放置四个不同的门但它们属于同一个元件U1共享电源和地网络。5.2 利用现有库进行快速改造很多时候我们不需要从零开始。例如你需要一个PLCC44封装的8255芯片但库里只有DIP40封装的。查找并复制在元件库管理器中找到包含DIP40版8255的库如Protel DOS Schematic Intel.Lib打开它并找到8255元件。CtrlA全选其所有图形和管脚CtrlC复制。粘贴到新元件回到你自己的库新建一个元件如“8255_PLCC44”。在原点处CtrlV粘贴。修改与调整PLCC44封装有44个管脚其中4个是空脚NC。你需要根据PLCC44的管脚排列图逐一核对并修改每一个现有管脚的管脚号。这是最需要耐心和仔细的一步务必对照数据手册。在矩形边框的四个角附近用放置管脚工具添加四个新的管脚Name设为“NC”Number分别为1, 12, 23, 34假设这是PLCC44的空脚号Electrical Type设为“Passive”无源并勾选Hidden因为它们内部不连接。调整矩形框大小以适应更多的管脚。更新信息最后别忘了在Description中更新Footprint为“PLCC44”。这种方法“站在巨人的肩膀上”效率极高特别适合封装转换或引脚兼容的不同型号芯片。5.3 报表生成与库管理当你的自定义库越来越庞大时维护和文档化就变得重要。元件报表在编辑某个元件时执行Report - Component。Protel会生成一个.cmp文本文件详细列出该元件的所有信息包含哪些部件、每个部件的所有管脚号、名称、电气类型等。在将库文件交给同事或备份时生成这个报表是一个好习惯便于快速查验。库报表执行Report - Library会生成当前整个库文件的报表列出库中所有元件的名称和描述。这是你的元件清单。避坑技巧养成“一元件一核对”的习惯。每画完一个元件尤其是管脚众多的MCU、FPGA务必用元件报表功能打印出来或仔细浏览与官方数据手册逐项比对管脚号和名称。我曾经因为将一对I2C管脚SDA/SCL的顺序画反导致整个板子通信失败损失了时间和金钱。核对是库设计中最廉价的保险。6. 常见问题排查与设计经验实录即使按照步骤操作新手也常会遇到一些令人困惑的问题。这里记录几个典型场景和解决方案。问题1在原理图中放置自定义元件时管脚连接不上导线排查几乎可以肯定是放置管脚时方向错了。回忆一下“黑点端朝内十字端朝外”的法则。回到库中检查管脚的电气连接点十字端是否露在元件图形外部。你可以用导线工具在原理图里靠近管脚如果出现一个大的红色米字光标说明捕捉到了电气点可以连接如果只是一个小的十字光标则说明没捕捉到需要回库修改管脚方向。问题2ERC检查时报告电源管脚未连接Unconnected Power Pin错误排查首先确认在原理图中是否已经用电源符号VCC GND连接到了该元件的电源网络。如果确认连接了问题可能出在库元件本身。检查隐藏的电源管脚的Electrical Type是否设置为“Power”。如果误设为“Passive”或“Input”ERC会认为它是一个需要驱动信号的普通管脚从而报未连接错误。问题3复制现有元件修改后新元件在原理图中无法更新场景你复制了库里的“Res2”普通电阻创建了一个“Res2_1W”1瓦电阻只修改了描述。但在原理图中原来放置的“Res2”想替换成“Res2_1W”发现替换不了或替换后没变化。解决Protel 99 SE在原理图中是通过元件的唯一标识通常是名称和库源来关联的。直接复制创建的新元件对于软件而言是一个完全独立的新元件。正确做法是在原理图中双击要修改的电阻在属性对话框的Lib Ref一栏直接将“Res2”手动修改为“Res2_1W”只要这个名称在你的当前库中存在元件图形和属性就会更新。更规范的做法是使用元件库管理器的Update Schematics功能但这要求你是在原有元件基础上直接修改并保存而不是新建了一个。问题4绘制不规则图形如变压器、光耦时图形线条不美观难以对齐技巧活用栅格和坐标。在绘制关键点如线条转折点、圆心时可以暂时将Snap Grid捕获栅格设置得更小比如5mil甚至1mil进行精确定位。画完后再改回10mil。对于对称图形可以先画一半然后使用复制、粘贴和镜像Edit - Mirror功能来完成另一半。问题5如何管理日益庞大的自定义元件库经验不要把所有元件都塞进一个.Lib文件。建议按类别分库管理例如My_MCU.Lib存放各种单片机、DSP。My_Analog.Lib存放运放、比较器、电源管理芯片。My_Discrete.Lib存放电阻、电容、电感、二极管、三极管等分立元件。My_Connector.Lib存放各种接插件。 在原理图设计中通过Add/Remove Library功能加载需要的库。这样结构清晰加载速度快也便于团队共享和版本管理。最后定期备份你的整个设计数据库.ddb文件这是你所有劳动成果的结晶。