3、符号与封装的标准化:创建可复用的全局符号、符号引脚命名规范、封装映射规则
好,咱们接着聊。前面两章我们把模块化设计的理念和顶层规划讲清楚了。这一章,我打算聊聊最接地气、也最容易踩坑的部分——符号与封装的标准化。
你想想看,一个项目里,几十上百个元器件,如果每个工程师都按自己的喜好画符号、起名字,那这个原理图到最后就是一团乱麻。我自己就吃过这个亏。刚入行那会儿,有个项目赶进度,我随手画了个电阻符号,引脚叫“1”和“2”。结果后来换了个同事接手,他死活找不到哪个是A,哪个是B。嗯,从那以后,我就立了个规矩:符号和封装,必须标准化。
3.1 创建可复用的全局符号
什么叫全局符号?说白了,就是你在一个中心库里画好一个元器件的符号,整个公司、所有项目都能直接调用。不用每个人都在自己的原理图里重新画一遍。
我个人习惯是把所有标准元器件(电阻、电容、电感、二极管、三极管、常用IC)都做成全局符号。放在一个叫“Global_Symbols”的库文件里。这个库文件是只读的,只有库管理员能改。其他人只能调用,不能修改。
这样做的好处很明显:
- 一致性:所有项目里,同一个型号的芯片,符号长得一模一样。
- 效率:不用重复画图,拖出来就能用。
- 易维护:发现符号画错了,改一个地方,所有项目自动更新。
关键点:全局符号的创建,一定要遵循“一符一型号”的原则。不要一个符号对应多个型号。比如,一个74HC04的符号,只能对应74HC04这一个型号。不要想着一个反相器符号,既当74HC04用,又当74HC14用。那样会乱套。
创建步骤其实不复杂:
- 在Siemens EDA(以前叫Mentor Graphics)里,打开Symbol Editor。
- 新建一个Symbol,命名要规范。比如“RES_0402_1%”表示一个0402封装、1%精度的电阻。
- 画好外形,放好引脚。引脚编号和封装要一一对应。
- 保存到全局库路径下。
我在项目中遇到过,有人把全局符号的引脚间距画得太小,结果打印出来根本看不清。所以,画符号时,引脚间距至少留100mil,别太抠门。
3.2 符号引脚命名规范
引脚命名,这是个大学问。很多新手觉得,引脚嘛,叫“1、2、3”或者“A、B、C”就行了。其实不然。好的引脚命名,能让读图的人一眼就明白这个引脚是干什么的。
我建议采用“功能+编号”的命名方式。比如:
- 电源引脚:VCC、VDD、VSS、GND
- 输入引脚:IN1、IN2、CLK、RST_N(低电平有效加_N后缀)
- 输出引脚:OUT1、OUT2、Q、Q_N
- 双向引脚:D0、D1、AD0(地址/数据复用)
这里有个避坑指南:我曾经见过一个项目,有人把芯片的电源引脚命名为“VCC_5V”,结果另一个工程师在布局时,以为这个引脚只能接5V,实际上芯片支持3.3V到5V。所以,引脚命名要体现功能,而不是具体电压值。叫“VCC”或“VDD”就够了,具体电压在原理图里标。
再比如,对于有多个相同功能的引脚,比如一个芯片有4个GND引脚,我建议命名为:
- GND_1、GND_2、GND_3、GND_4
- 或者GND_A、GND_B、GND_C、GND_D
不要全部叫“GND”,否则在PCB布局时,你根本不知道哪个引脚对应哪个焊盘。
| 引脚类型 | 推荐命名 | 不推荐命名 |
|---|---|---|
| 电源 | VCC, VDD, VSS, GND | 5V, 3.3V, POWER |
| 输入 | IN1, CLK, RST_N | INPUT1, CLOCK, RESET |
| 输出 | OUT1, Q, Q_N | OUTPUT1, DATA_OUT |
| 双向 | D0, AD0, SDA | DATA0, ADDR0 |
小技巧:对于低电平有效的引脚,统一加“_N”后缀。比如“RST_N”、“CS_N”。这样在原理图上一看就知道,这个引脚是低电平才工作的。
3.3 封装映射规则
符号画好了,引脚命名也规范了,接下来就是最关键的一步:把符号和封装对应起来。这一步要是错了,打回来的PCB板子就是一堆废铜。
封装映射,说白了就是告诉EDA工具:这个符号的1号引脚,对应封装上的哪个焊盘。
我个人的做法是:
- 符号引脚编号必须和封装焊盘编号一致。比如,一个电阻的符号,两个引脚叫“1”和“2”,那么它的0402封装,两个焊盘也必须叫“1”和“2”。
- 对于多引脚IC,一定要仔细核对Datasheet。我见过有人把QFP封装的1号引脚搞反了,结果整个芯片的引脚顺序全乱了。那板子打出来,根本没法用。
- 建立封装映射表。在Siemens EDA里,有一个叫“Part”的概念,它把符号和封装绑定在一起。我建议为每个元器件创建一个Part,并在Part里明确指定符号和封装的对应关系。
举个例子,一个74HC04的Part,它的映射关系可能是:
Symbol: 74HC04.S.1
Package: SOIC-14.P.1
Pin Mapping:
Symbol Pin 1 -> Package Pin 1
Symbol Pin 2 -> Package Pin 2
...
Symbol Pin 14 -> Package Pin 14
这里要注意,有些元器件的符号引脚编号和封装焊盘编号可能不一致。比如,一个三极管,符号上可能叫“B、C、E”,但封装上叫“1、2、3”。这时候,你必须在Part里手动建立映射关系:B->1, C->2, E->3。
警告:千万不要在符号里直接写封装焊盘编号。比如,符号引脚直接叫“PAD1”、“PAD2”。那样的话,换一个封装,整个符号都得重画。正确的做法是,符号引脚用功能命名,封装映射在Part里完成。
最后,说一个我自己的习惯。每次做完一个Part,我都会在原理图里放一个实例,然后跑一次DRC(设计规则检查)。DRC会检查符号和封装是否匹配,引脚映射是否正确。这一步,能帮你发现90%以上的低级错误。
好了,这一章的内容就这些。标准化这件事,前期花点时间,后期能省下大把的调试时间。你想想看,是不是这个理?