第二章Cadence的原理图设计

更新时间:2024-01-19 04:41:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第二章 Cadence的原理图设计

2.1 Design Entry CIS软件概述

Cadence软件系统有两套电路原理图的设计工具,一套是Design Entry HDL,另一套就是我们马上要开始学习的Design Entry CIS。其中Design Entry HDL是Cadence公司原本的原理图设计软件,可以用于芯片电路和板级电路的设计,其长处在于可以把芯片的电路原理图和板级电路原理图结合在一起,进行综合设计;而Design Entry CIS主要用于常规的板级电路设计,Design Entry CIS原本是OrCAD公司的产品,OrCAD公司后来被Cadence公司收购,于是Design Entry CIS也就成了Cadence公司的另一套电路原理图设计软件。

Design Entry CIS原理图设计软件的特点是直观、易学、易用,在业界有很高的知名度,利用Design Entry CIS原理图设计软件可以进行简单的(只有单张图纸构成的)电路原理图设计,也可以进行(由多张图纸拼接而成的)平坦式电路原理图设计,还可以进行(多张图纸按一定层次关系构成的)层次式电路原理图设计。

在本章中,我们首先学习简单的电路原理图设计,然后再学习较为复杂的平坦式和层次式电路原理图设计。

我们将围绕一块非常简单的STC系列单片机下载电路板,学习简单电路原理图的设计,同时在此过程中,还将学习到USB转UART串行口、STC系列单片机下载电路等方面的知识。

接着,我们将围绕一块ARM-7核心实验板,进行平坦式和层次式电路原理图的设计,而该核心板是配套于ARM-7实验箱。在此过程中我们还将学习到嵌入式技术等方面的知识。 2.2

初识Design Entry CIS

一. 启动Design Entry CIS

我们在电脑上点击“开始→所有程序→Cadence SPB 16.2→Design Entry CIS”,如下图所示:

图2-1 启动Design Entry CIS

这时将弹出如下对话框:

图2-2 选择工作内容

在这里我们选择“OrCAD Capture CIS”一项,点击“OK”按钮后,就实际启动了Design Entry CIS,出现如下界面:

图2-3 OrCAD Capture CIS软件界面

与大多数软件一样,OrCAD Capture CIS软件也是以项目方式管理我们的设计文件的。在OrCAD Capture CIS软件中,一个项目可以包含若干个设计,每个设计对应一个PCB板,所以一个项目通常对应一个由多块电路板构成的产品;而每个设计可以由若干张原理图构成。

对于我们要完成的“STC系列单片机下载器”而言,它是非常简单的产品,该产品只包含一块电路板,所以该项目中只有一个设计;又因为该电路板上的电路也非常简单,使用一张图纸就可以清楚地描述了,所以该设计只有一张原理图。

我们将首先要新建一个项目:在窗体上点击“File→New→Project”出现如下对话框:

图2-4 新建项目

在“Name”中输入项目名称,“Location”中输入项目文件的存放位置(最好给每一个项目建立一个文件夹,把项目中的所有文件都放入该文件夹),在“Create a New Project Using”栏目中,选择“Schematic”(因为我们要进行电路原理图的设计)。

完成上述工作后,点击“OK”,则建立了一个工程,并默认创建了一个的原理图,我们可以在这个原理图上进行我们的电路设计。这时,窗体出现如下状态:

图2-5 OrCAD Capture CIS原理图设计界面

在图2-5的左侧是项目窗体,点击“.\\Interfaxe_lv.dsn”(这是我们的设计名称)后,在SCHEMATIC1文件夹下已经建立了一个名为“PAGE1”的原理图文

件。如下图所示:

图2-6 OrCAD Capture CIS的项目窗口

如果希望改变默认的原理图文件名称,可以用鼠标的右键点击项目窗体中的“PAGE1”栏目,在弹出的菜单中选择“Rename”一项,然后输入希望的名称。 二. 进行Design Entry CIS的基本设置*

初次学习Cadence时,这部分内容可以跳过,直接学习后面的内容,等到掌握了绘制原理图的基本技能后,再回过头来学习如何进行Design Entry CIS的设置。 在启动了OrCAD Capture CIS原理图设计软件后,通常要进行一些基本的设置工作。这些设置主要是原理图图纸大小的设置、栅格点的设置、图纸上各种元素颜色的设置、标题栏的设置等等。

我们首先点击“Options→Preferences?”菜单项,这时弹出如下对话框:

图2-7参数选择对话框的颜色设置选项页

如图2-7所示,Preferences对话框由多个选项页构成,其中“Colors/Print”是设置图纸上的颜色和打印的颜色;“Grid Display”是设置栅格点;“Miscellaneous”是混杂选项。 1. 颜色设置

首先我们进行颜色的设置,在此仅就几个常用的栏目讲解一下,而不进行逐一讲述。

Alias:网络名的颜色;Background:图纸底色;Bus:总线颜色;DRC Marker:DRC校验标志颜色;Grid:栅格的颜色;Hierarchical Block:层次块的颜色;Junction:连接点的颜色;Part Body:元件的颜色;Pin:引脚的颜色;Power:电源符号的颜色;Wire:导线的颜色。

如果我们要改变某一种图纸元素的颜色,可以点击对应的颜色框,这时会弹出如下的颜色对话框:

图2-8 颜色对话框

在颜色对话框中可以选择对应的颜色,从而改变原来图纸上相应元素的颜色设置。

如果我们希望使用默认的颜色设置,可以点击“Use Defaults”按键,就可以把所有颜色设置该回到最初始状态。 2. 栅格设置

下面我们选择“Grid Display”选项页,进行栅格点的设置,如下图所示:

图2-9参数选择对话框的设置栅格选项页

如图所示,该选项页又分成两部分:左半部用于原理图的栅格设置,右半部用于制作原理图元件的设置。

“Visible”选项用于选择是否显示栅格。

“Grid Style”选项用于选择点状栅格或线状栅格。

“Grid spacing”选项用于选择栅格点的密度(该数值表示两个最近的引脚之间的栅格数)。

“Pointer snap to grid”:选项用于选择对齐到栅格。 3. 杂项设置

选择“Miscellaneous”选项页,在这个选项页中可以设置有关原理图、制作原理图元件的多种选项,如下图所示:

图2-10参数选择对话框的杂项选项页

“Schematic Page Editor”选项框用于原理图的设置;“Part and Symbol Editor”选项框用于原理图元件的制作的设置等等选项框。

在原理图和原理图元件制作的选项中,都有“Fill Style”和“Line Style and”选项,它们分别用于图形填充块和线型的设置;“Junction Dot”用于连接点的设置;“Session Log”选项框的“Font”用于项目管理器和记录器字体的设置;“Text Rendering”选项栏用于设置是否以加框的方式显示TrueType字体,以及是否填充;“Auto Recovery”选项框用于设置是否进行自动保存,以及自动保存的时间间隔;“Auto Reference”选项框用于设置是否进行元件的自动编号,以及拷贝时是否把元件编号一并拷贝过去;“Intertool Communication”选项用于设置是否与其它Cadence软件进行交互操作(我们常常要与PCB软件进行交互操作,该选项应该选中);“Wire Drag”选项栏用于设置是否因接线改变而移动。

在Preferences对话框中,还有“Text Editor”、“Pan and zoom”、“Select”和“Board Simulation”选项页,一般可以按照默认的设置,在此就不介绍了。 4. 图纸幅面设置

在OrCAD Capture CIS的菜单栏中,点击“Options→Schematic Page Properties?”菜单项,将弹出如下对话框:

图2-11 原理图属性对话框的图纸幅面尺寸选项页

如图2-11所示,在图纸幅面尺寸选项页中,可以设置图纸幅面尺寸所用的长度计量单位,如果选用毫米为单位,则图纸的选项是A2、A3、A4等系列图纸;如果选用英寸为单位,则图纸的选项是A、B、C等系列图纸。我们在原理图中通常是采用毫米为单位,这样便于和打印机相匹配。同时我们还可以选择“Custom”选项,自己设定图纸的大小。

我们还可以进行图纸区块的设置,所谓区块类似某些城市地图,把城市划分成多个矩形区块,并给每个区块,按照一定的次序进行命名,如:C3、D5等。

选择“Grid Reference”选项卡,如下图所示:

图2-12 原理图属性对话框的区块设置选项页

如图2-12所示,在区块设置选项页中,可以进行水平方向和垂直方向的设置。“Count”是某一个方向上区块的数目。区块可以选择“Alphabetic”,按照字母进行排列,也可以选择“Numeric”,按照数字进行排列(通常在水平和垂直两个方向上,一个选择按字母排列、另一个选择按数字排列)。区块还可以按照升序或降序进行排列。“Width”栏目用于设置区块显示部分的宽度,如果该值为0,则等于不显示区块了。在该选项页中,“Title Block Vissible”选项用于设置是否显示标题栏;“Border Visible”用于设置是否显示边框;“Grid Reference Visible”用于设置是否显示区块。

5. 打印设置

进行打印设置可以点击“File→Print?”菜单项,这时会弹出如下对话框:

图2-13 打印对话框 如图2-13所示,在打印对话框中,“Scale”选项框是指示打印比例的,“Scale to paper size”选项将把电路图打印在一张图纸上;“Scale to page size”选项可能会把电路图打印在多张图纸上;“Scaling”选项用于设置打印比例。

“Print offsets”选项框用于设置打印纸的偏移量。 “Print quality”选项用于设置每英寸打印的点数;“Copies”选项用于设置打印的份数;“Print to file”选项用于把电路图打印到文件中;“Print all colors in black”选项用于强制用黑白方式打印。 6. 设置设计模板

设置设计模板是在打开新图纸时,按照预定的设置产生新的图纸,点击“Options→Design Template?”菜单项,出现如下对话框:

图2-14 Design Template对话框的字体选项页

如图2-11所示,首先我们可以在“Fonts”选项页中,进行图纸上各种元素的字体设置。

如果我们在Design Template对话框中选择“Title Block”选项页,可以进行标题栏的设置,如下图所示:

图2-15 Design Template对话框的标题栏选项页

如图2-15所示,在标题栏选项页中,“Title”选项用于设置标题栏上的图纸名称;“Organization Name”用于设置标题栏上的公司名称;“Organization”用于设置公司地址;“Document Number”用于设置标题栏上的文件编号;“Revision”用于设置标题栏上的文件版本号;“Symbol”选项框中的两个栏目分别用于设置标题栏文件的存储位置和文件名。

如果我们在Design Template对话框中,选择“Hierarchy”选项页,可以进行层次原理图的设置,如下图所示:

图2-16 Design Template对话框的层次图选项页

如图2-16所示,层次图选项页由两个选项框构成,分别设置层次图中电路方块和元件的属性。“Primitive”选项表示为基本元件;“Nonprimitive”表示为非基本元件。非基本元件是指内部还含有下层电路图的元件;基本元件是指简单元件。

在Design Template对话框中还包括“Page Size”、“Grid Reference”两个选项页,它们分别以模板形式设置图纸幅面尺寸和区块,这与前面讲解的基本相同,这里就不多赘述了。

在Design Template对话框中还包括“SDT compatibility”选项页用于与早期的版本相兼容的设置,在此就不介绍了。

2.3 STC单片机下载器电路分析

前面说过,我们的第一个设计将围绕一个STC系列单片机下载器电路展开,为了让同学们不仅掌握Cadence软件的使用,而且在此过程中学会电路设计的基本技能,所以我们把该电路进行一番分析。 一. 串行下载电路分析

STC系列单片机都是采用串行方式进行下载编程的,而不是像其它单片机那样,使用编程器进行程序的烧录。在宏晶科技公司所给的STC单片机的技术资料中,给出了如下的单片机下载电路图:

图2-17 STC系列单片机下载电路示意图

如图2-17所示,STC单片机下载电路是通过单片机的Rxd(P3.0)和Txd(P3.1)两个引脚实现下载功能的。在下载时,单片机应该处于工作状态,所以单片机的时钟电路和复位电路应该能够正常工作。实际上,STC单片机每次上电复位时,都要检测Rxd引脚上是否有进行下载的数据流,如果有下载的数据流,就进行下载工作;如果没检测到下载数据流,就运行单片机中原有的程序。

在上述电路中,单片机与PC机的连接是通过MAX232(或与之兼容的)芯片进行连接的,该芯片完成RS-232电平信号与TTL电平信号的转换。因为PC机串行接口上的信号是RS-232电平信号,而单片机上的信号都是TTL信号。

上述电路有两点不足:

一是利用PC机的串行口进行下载,目前多数笔记本电脑都没有串行口了,即使是台式电脑,该电路还另外需要直流电源,使用起来有些不便。

二是STC系列单片机的电源电压有5V和3.3V两种,而该电路不能灵活适应,给应用带来局限性。 二. USB转串口电路分析

由于目前USB接口是每台PC机(不管是台式机、还是笔记本)必有的标准配置,而且PC机的USB接口还可以为下载电路提供电源。所以我们考虑将USB接口的信号经过转换,形成UART口信号,连接到单片机的Rxd(P3.0)和Txd(P3.1)两个引脚上。这样就解决了笔记本电脑没有串行口的问题,也解决了下载电路的电源问题。

进行USB信号到UART信号转换的芯片有很多种,我们选用南京沁恒公司开发的CH341T芯片,我们可以登录南京沁恒公司的网站(http://winchiphead.com),下载CH341芯片的资料。从设计PCB板的角度,我们关心的是该芯片的管脚编号、管脚的类型以及芯片的封装形式,它的引脚图如下:

图2-18 CH341芯片引脚图

如图2-18所示,CH341芯片是一个20引脚的芯片,下面我们解释一下各个引脚的功能: 引脚引脚类名称 说明 号 型 VCC 13、20 电源 5V电源引脚 GND 11、12 电源 地线 在3.3V 电源电压时连接VCC 输入外部电源,V3 6 电源 在5V 电源电压时外接容量为0.01uF 退耦电容。 XI 9 输入 晶体振荡的输入端,需要外接晶体及振荡电容 晶体振荡的反相输出端,需要外接晶体及振荡XO 10 输出 电容 UD+ 7 双向 直接连到USB 总线的D+数据线 UD- 8 双向 直接连到USB 总线的D-数据线 ACT# 1 输出 USB 设备配置完成状态输出,低电平有效 开漏输芯片功能配置输出,内置上拉电阻,可以接串SCL 16 出 行EEPROM 配置芯片的SCL引脚 开漏输芯片功能配置输入,内置上拉电阻,可以接串SDA 15 出及输行EEPROM 配置芯片的SDA引脚 入 TXD 3 输出 串行数据输出 RXD 4 输入 串行数据输入,内置上拉电阻 TEN# 19 输入 串口发送使能,低电平有效,内置上拉电阻 RDY# 17 输出 串口接收就绪,低电平有效 TNOW 18 输出 串口发送正在进行的状态指示,高电平有效 三态输ROV# 2 串口接收缓冲区溢出,低电平有效 出 INT# 5 输入 自定义中断请求,上升沿有效,内置上拉电阻 三态输SLP# 14 睡眠状态输出信号,低电平有效 出 表2-1 CH341T引脚功能 利用CH341T芯片,可以把USB信号转换成UART信号或I2C信号,CH341T 的

具体功能由复位后的SCL引脚和SDA引脚配置芯片的功能:如果SDA悬空、SCL也悬空,则完成USB 转异步串口,仿真计算机串口的功能。CH341T芯片的XI和XO应分别接晶振的两端;UD+和UD-分别接USB接口的D+和D-引脚;ACT#通常接发光管,来指示CH341T芯片已完成配置工作;TXD引脚接单片机的RXD引脚;RXD引脚接单片机的TXD引脚;TEN#接低电平。其它功能引脚一般可以悬空。其典型电路如下:

图2-19 利用CH341T芯片进行USB转UART口电路图

三. 电源电路分析

前面说过,利用USB接口可以为下载电路提供电源,不过USB接口只提供5V电源电压,可是USB单片机既有5V电源的,也有3.3V电源的。所以在我们的下载电路中,设计了一个用来降压的稳压集成块1117芯片,由它的输出产生3.3V的电源电压。提供给单片机的电源信号,或为5V或为3.3V,由一个三脚跳线进行切换。

另外,在给单片机开始下载之前,CH341T就必须供电,而此时还不能给单片机供电。这时PC机通过CH341T不断给单片机发送下载数据流,然后给单片机进行上电复位(即给单片机加电),所以我们的下载电路还需要一个按键开关,按下开关后,才能让电源信号传递给单片机。

电源电路如下图所示:

图2-20 STC单片机下载电路中的电源电路

如图2-20所示,在下载电路的电源电路中,1117芯片用于产生3.3V电源电压。通过三脚跳线选择5V或3.3V供给单片机,在我们的电路中,其实只需要一个单刀单掷的按键开关,可是常见的按键开关都是双刀双掷的,所以我们也选用双刀双掷的按键开关,只不过把不用的引脚悬空而已。另外为了保护PC机的USB接口,我们把USB接口输入的5V电源信号与下载电路上的5V电源信号通过2Ω电阻进行隔离,避免因下载电路发生短路而烧毁PC机的USB接口。

我们考虑在下载电路板上安排一个40脚的锁紧插座,用于给DIP-40封装的单片机芯片进行下载编程,于是还需使单片机工作的复位电路和晶振电路。另外

为了给其它STC系列单片机进行在线下载编程,我们还在电路板上安置一个3脚插座,引出TXD、RXD和地线,即输出CH341T产生的UART口信号。 2.4

原理图设计的基本操作

从这一节我们开始STC系列单片机下载电路板的原理图设计,在这个电路板上主要的元器件包括:STC单片机(锁紧插座)、CH341T芯片、1117芯片、按键开关、跳线装置、USB接口、UART接口以及其它辅助元器件。

在这里要对单片机进行说明:我们在制作下载电路板时,在该板上并不放置单片机,实际放置的是一个40脚锁紧插座。当我们使用该电路板给DIP-40封装形式的STC单片机进行下载编程时,就把它放入缩进插座,并与辅助电路一起构成单片机系统,从而可以进行下载。由于40脚锁紧插座的管脚与DIP-40封装形式STC单片机的管脚一一对应,而单片机的各个管脚都有对应的名称,从而便于在原理图上的连接与分辨,于是在我们的电路图中,就用单片机元件替代锁紧插座元件。

一. 元件库的加载

下面我们首先放置STC单片机芯片及其附属电路(包括晶振电路和复位电路)。

OrCAD Capture CIS软件向我们提供了许多原理图元件,所以一些常见的元件如:电阻、电容、单片机、石英晶体等,它们被放在一些元件库文件中,我们可以加载这些元件库,然后再把相应的元件放到原理图上。

第一步我们要加载单片机元件所在的元件库文件,点击“Place→Part”,这是“Place Part”窗体会显现出来,如下图所示:

图2-21 Place Part窗口

图2-21的左半部是Place Part窗口刚刚显示的状态,我们看到在“Libraries”的栏目中只有“Design Cache”一项,而这项中并没有任何元件。

因为我们是初次接触OrCAD Capture CIS软件还不很清楚各种元器件位于什么元件库中,所以就从查找元件开始。先查找单片机元件,我们知道STC单片机是51系列单片机的后代,其DIP-40封装的单片机芯片与早期的8051芯片是引脚兼容的,所以我们就应该点击“Search for Part”按键,这时Place Part窗口变成图2-21的右半部的样子。在“Search for”栏目中键入“8051”,再按下回车键,就会开始查找工作,在找到该元件所在的库文件后,选中该库文件,再点击“ADD”按键,就可以加载8051芯片所在的“MICROCONTROLLER”库文件了。

我们知道,单片机必须有时钟振荡信号才能工作,因此还单片机还必须与石英晶体、电容相连;另外单片机芯片还需要复位电路才能工作,需要电阻、电容元件,因此我们还需要把这些元件所在的库文件加载进来。这次我们不进行查找了,而直接加入库文件:点击“Libraries”栏目上的库文件浏览图标,弹出如下对话框:

图2-22 库文件加载对话框

电阻、电容、石英晶体等元器件都位于“Discrete”库文件中,点击该项,将“Discrete”元件库文件加载进来。 二. 元件的放置

下面要在原理图上放置元件,放置8051芯片、石英晶体各一个,石英晶体旁边放置两个电容(准备构成单片机的晶振电路),在图纸的另外一处放置一个电阻和电容(准备构成单片机的上电复位电路)。其中电容选择CAP UP元件、石英晶体选择CRYSTAL元件、电阻选择R2元件。

放置时,首先在“Part List”列表中选择元件,点击Place Part窗口上的图标(或键入回车键)后,在鼠标上就会沾上一个元件,我们把鼠标移到原理图中相应的位置,按下鼠标左键,就把元件放在了原理图上;如果放弃放置,按下“Esc”键即可。

在原理图中,图纸的放大、缩小可以用工具栏上对应的图标来进行,也可以用按键来进行:按下“i”键,图纸放大;按下“o”键图纸缩小。

要删除在原理图中的元件,可以首先点击该元件,选中它,然后按下“delete”键进行删除;要移动某个元件,可以用鼠标直接拖动;要去除元件的拖动状态,用鼠标在原理图的空白处,点击一下就行了;要选中多个元件,可以在按着“ctrl”键时,用鼠标点击多个元件,这样就可以选中多个元件,也可以用鼠标拖出一个矩形,则矩形体内的元件就都被选中了,在这之后,可以对选中的多个元件进行移动、复制等工作。

要旋转某个元件时,可以先选中它,然后按下“r”键,这时所选中的元件,就会逆时针旋转90°;有时还希望吧元件进行左右(或上下)镜像对调,这时可以先选择某个元件,然后用鼠标右键点击该元件,在弹出的菜单项中选择“Mirror Horizontally”(或“Mirror Vertically”)项,就可以完成元件的镜像对调。

上述元件放置好以后,我们把电容和石英晶体的标称值进行修改。原本电容、石英晶体上的标称值与其元件的名称是一致的,电容都是“CAP UP”,石英晶体是“CRYSTAL”,电阻是R2。我们把石英晶体的标称值改成石英晶体的振荡频率值(单片机电路的石英晶体频率值为11.0592MHz);石英晶体边上的两个电容值改成“47pF”;另一个电容值改为“1uF”,电阻值改成“10k”。 另外把单片机的

标称值改成“STC89C5x”。

修改的方法是:用鼠标双击元件的标称值,则弹出如下对话框:

图2-23 修改标称值

在“Value”中栏目进行修改,点击“OK”键后,就可以改变标称值。 三. 元件间的简单连线

接着我们要进行连线了,首先我们要完成单片机的晶振电路。 连接时,首先选择

图标,再用鼠标点击要连接的一个引脚,接着移动鼠标,

在要连接的另一个引脚处点击鼠标就可以实现连线了。在上述过程中,如果希望连线按照自己设定的路线进行弯折,可以在要转弯处用鼠标点击一下,在把鼠标移动到目的地即可。

电源和地线的放置,可以直接点击或图标,点击后,出现如下的对话框:

图2-24 放置电源对话框

我们选择“CAPSYM”元件库中的“VCC_BAR”元件作为电源,并把电源的名称改成VCC;把“GND”元件作为地线。

图2-25 单片机的石英晶体振荡电路

接着我们再完成单片机的上电复位电路,这次我们采用网络标号的形式进行。

在单片机的RST引脚上连接一条连线,并在连线上放置网络标号。放置的方法是先点击

图标,然后点击要放置网络标号的连线,这时出现如下对话框:

图2-26 放置网络标号对话框

在“Alias”栏目中输入网络的名称,并点击“OK”按键即可。在我们的图纸中,把该连线命名为“RST”,如下图的左图所示。

图2-27用网络标号连接元件之间的管脚

在图2-27的右图中,电阻和电容构成上电复位电路,它们的中间连接点也命名为“RST”,就相当于把单片机的RST引脚与上电复位电路相连。

到此为止,我们学习了原理图设计的最基本操作,当然我们需要的电路图还没有完成,为了完成该电路图,我们必须开始学习原理图元件的制作。 四. 绘制总线

绘制总线并不复杂,它其实也是采用网络标号的方式进行各元件引脚之间的电气连接。首先用鼠标选择图标,在原理图上拖动鼠标绘出总线,然后再在总线上放置若干个“总线入口”标志,即先点击图标,再按下“r”键调整总线入口的方向,然后用鼠标点击总线上的相应位置,就可以放置总线入口了。 接着就应该用连线连接总线入口和元件的引脚了,还要给每个连线填上一个网络标号,比如“P2_16”等,另外要给总线本身添加上网络标号,特别要注意总线的网络标号名称的命名方法,比如总线所连接导线分别是“P2_16”~“P2_31”,那么该总线应该命名为“P2_[31:16]”、“P2_[31-16]”、或“P2_[31..16]”。下图是总线连接的示意图:

图2-28 总线连接示意图

请注意图2-28并不是STC单片机下载电路的组成部分,因为该电路并未采用总线方式进行连接。 2.5

原理图元件的制作

在我们的电路中,有几个元件在现有的元件库中是找不到的,这几个芯片是CH341T、1117、3脚跳线等。所以我们要进行元件的制作,我们以CH341T和3脚跳线为例进行讲解。 一. 创建原理图元件

下面我们创建一个原理图元件库文件,点击“File→New→Library”,就创建了一个原理图元件库文件。我们在项目窗口上就会看到在“Library”一栏中,创建了一个元件库文件。

用鼠标右键点击在项目窗口中的元件库文件,在弹出的对话框中选择“New Part”一项,就会产生如下对话框:

图2-29 新建元件对话框

在“Name”一栏中输入元件的名称,我们输入“CH341T”。“Part Reference Prefix”一栏是元件编号的前缀,集成电路通常以字母“U”为前缀。在“PCB Footprint”一栏中输入元件默认的封装形式,我们输入“SSOP-20”。其它栏目保持默认状态,点击“OK”按键。

这时会一个元件窗口,并在项目窗口中出现相应的一个标志,我们就应该在元件窗口中创建我们的元件。

由于默认的元件尺寸很小,无法放下多个引脚,所以首先应该拖动元件的边框(这个边框并不会在原理图中显示出来,而所有的引脚都在此框之外),使之

足够大。然后开始放置元件的引脚。 二. 放置元件的引脚

放置元件的引脚,首先点击图标,这时将弹出如下的对话框:

图2-30 放置引脚对话框

在“Name”一栏中输入引脚的名称;在“Number”一栏中输入引脚的编号;“Shape”一栏是引脚的显示形状,通常会保持默认的“Line”(即引脚显示为一条线),有时希望引脚上显示“触发标志”或“负信号标志”,那么可以从下拉的列表框中选取;在“Type”一栏中选择引脚的电气类型,包括:输入、输出、双向、开漏输出、开集电极输出、被动、电源等几种类型,我们应该根据表2-1对引脚的描述,选择相应的类型。下图是在元件上放置了一个引脚后的状态:

图2-31 在元件上放置引脚

在输入电源引脚时,我们可能希望该引脚在原理图上自动隐藏,这时就不要选中“Pin Visible”选项。

点击“OK”按键后,就可以把该引脚放到元件上了。这时鼠标在元件附近移动时,就会有引脚出现在元件上,用鼠标点击后,引脚就放到了元件上。放置了一个引脚后,再次放置引脚时,其引脚的编号会自动加1,如果引脚的名称也是以数字结尾,则引脚的名称也会自动加1。

我们也可以连续地把所有引脚都放在元件上,然后再逐个修改其属性:双击元件的引脚,将弹出图2-30所示的对话框,进行相应的修改。

元件的引脚放置完毕后,要给它画上边框,这个边框是在原理图中实际显示的边框。用鼠标点击图标,然后在元件上拖出这个矩形,这样边框就画好了。存盘后就完成了整个元件的创建任务。CH341T元件如下图所示:

图2-32 CH341T芯片的原理图元件

我们还要制作1117芯片的原理图元件,它是一个三端稳压集成块芯片。虽然OrCAD Capture CIS提供了几种三端稳压集成块芯片的原理图元件,不过它们把芯片的输出端引脚都设置为“Output”类型。这样把它放入原理图与其它芯片的电源端相连后,在进行DRC校验时,负责校验的模块认为发生了“电源端与输出端相连”的差错(当然实际上是没有设计错误的)。所以我们不使用系统提供的三端稳压集成块芯片,而是自己进行绘制,并把三个引脚的属性都设置为“Power”;如下图所示:

图2-33 三端稳压集成块1117的原理图元件

三. 绘制其它形式的元件

对于制作原理图元件而言,制作集成电路元件是比较简单的,一般只需要一个矩形框,外加一些引脚就可以了;而制作其它元件,如:运放、发光管等,其难度稍微大一些。

下面我们创建三脚跳线,在我们的电路中,它相当于一个单刀双掷的开关,为了形象起见,这个三脚跳线可以绘制成如下的样子:

图2-34 三脚跳线的原理图元件

放置元件的引脚和绘制矩形外边框的工作,在前面我们已经介绍过,这里主要介绍绘制小圆圈和小矩形框的过程。

通常情况下,元件上的各个线条、图形等对象都必须放置在格点上,而在我们要绘制的小圆圈、小矩形框并不一定刚好位于格点上,所以我们要先修改相应的选项:点击“Options→Preferences”菜单,在出现的对话框中选择“Grid Display”页,如下图所示:

图2-35 有关栅格点的选项页

我们要去掉“Pointer snap to grid”的选中标记,这样所绘制的图形就可以脱离格点的了,还应该记得在图形绘制完成后、放置引脚之前,重新选中该选项。

要绘制小圆圈,应该先用鼠标点击图标,然后用鼠标在元件上拖出一个圆形或椭圆形。

绘制在矩形外框之内的小矩形框,是比较容易的,在此就不介绍了。 记住:放置引脚之前要回到图2-35的对话框,重新选中“Pointer snap to grid”标记。

跳线、开关等接插件的引脚都应设置为“Passive”类型。 2.6

完成STC单片机下载板的原理图设计

一. 完成图纸的绘制

我们学习了STC单片机下载板各部分的原理,并初步掌握了原理图绘制、原理图元件制作的基本方法后,就可以把整个电路的原理图的原理图绘制出来。同学们应尽可能独立地进行电路设计,在设计完成之后,再与下面的电路图进行核对:

图2-36 STC系列单片机下载板电路原理图

在图2-36所示的电路中,J2是USB接口,它的1脚上提供5V电源,4脚是地线,2脚、3脚分别是USB数据线D+和D-;J3是给其它STC单片机进行在线下载的接口;C9和C10分别是CH341芯片和单片机的去耦电容。另外,不用的芯片管脚应该打上悬空的标记,即点击图标,然后再点击那些不用的管脚。 二. 原理图的编辑

原理图画完之后,经常需要进行浏览、查找、修改、替换等工作,下面将对此予以介绍。 1. 浏览与查找

原理图画好之后,我们重新观看它,固然是一种“浏览”。不过在此要介绍的浏览是把一个元件、一个个连线列成表格式的浏览。

我们在项目窗口选中项目文件(.dsn文件),然后点击“Edit→Browse→Part”菜单,就可以出现如下窗口:

图2-37 浏览元件

如图1-37所示,它把本项目中的各个元件都列出来了,我们可以清楚地看到元件的编号、标称值、型号、等信息。当我们双击表格上的某个元件时,就可以切换到原理图,并且定位到这个元件上。

当然我们还可以浏览各个连线、接口连线等。 2. 替换与更新

如果希望在原理图上把某种元件替换成另一种元件。比如在前面设计中,我们的单片机是8051引脚的单片机,而我们希望把它替换为AT89C52引脚的单片机。

可以在项目窗口选择项目文件下的“Design Cache”文件夹,这里面包含所有在此项目中的各种元件,找到我们要替换的元件,用鼠标右键点击后,在弹出的菜单中,选择“Replace Cache”菜单项,则弹出如下对话框:

图2-38 替换元件对话框

在“New Part Name”栏目中选择新的元件名称(我们把它选择为AT89C52),点击“OK”按键后,原理图上的单片机元件就改变了,替换元件后,原来的连线关系仍然保持不变,只是需要处理空引脚就可以了。

有时我们还要修改已经放在原理图上的元件,比如原来的单片机上的电源引脚和地线引脚都是隐藏的,而且还是“零长度”的,为了便于接线,我们要临时修改元件的设计。

在原理图上,首先选中要修改的元件,再用鼠标右键点击它,在其弹出的菜单上选择“Edit Part”,则可以打开该元件的编辑状态。修改之后,在关闭时该窗口时,会弹出如下对话框:

图2-39 元件更新的选择对话框

如图2-39所示,在该对话框中,可以选择把修改的结果去更新当前选中的元件、把修改的结果去更新所以同型号元件、或修改作废。 三. 添加封装属性

我们绘制原理图的目的之一就是生成网络表,而生成网络表之前必须给每个元件都加上相应的封装属性。

在前面我们的绘制的电路图中,多数元件的封装属性是空的,比如我们用鼠标双击一个石英晶体元件,就会弹出该元件的属性对话框,如下图所示:

图2-40 元件的属性对话框

从图2-40上可以看到,对话框的“PCB Footprint”一栏是空的,我们可以直接进行添加,我们把它添加为“XTAL1”。对于少量元件进行封装属性的添加,可以采用这种在属性对话框中直接修改“PCB Footprint”栏目的方式进行,修改完后,要点击“Apply”按键,实现给元件添加封装属性。

如果要用上述方法,给数量众多的元件添加封装,就太累了。这时,我们可以打开整个工程中所有元件的属性窗口,在该窗口中给多个元件的添加封装属性。

我们在项目窗口中,用鼠标的右键点击项目文件,在弹出的菜单中选择“Edit Object Properties”菜单项,这时会弹出如下对话框:

图2-41 多个元件的属性对话框

在图2-41中可以看到,诸如按键一类元件,其封装属性都是空的,我们可以用鼠标在这些位置上进行拖动,把它们都选中,然后用鼠标右键点击选中的位置,在弹出的菜单上选择“Edit..”菜单项,输入所需要的封装形式,这样就可以一次性给多个元件添加上封装属性。

在我们的电路板上,两个石英晶体的封装都是XATA1;单片机插座的封装是L-DIP-40; CH341的封装是SSOP-20;稳压集成块的封装是TO-223;电阻的封装都是RES-0805;10uF、47uF电容C1、C4的封装是CAP-1210;其它电容的都是CAP-0805;发光二极管的封装是LED-0805;J1、J3的封装是MOLEX_4030-3A;J2插座的封装是USB-BS;按键的封装是DPDT-6。

我们按照上述封装,给每个元件进行设置,然后进行保存。 四. 更新元件编号

在设计过程中,某些元件可能被删除,又有一些元件被添加,所以元件的编号可能有些混乱,所以通常要进行重新编号。

我们在项目窗口中,选择工程文件,然后点击“Tools→Annotate?”菜单,这时弹出如下对话框:

图2-42 元件编号对话框

为了更新元件编号,通常要把现有的元件编号统统删除,我们在图2-42的对话框的“Action”栏目中,选择“Reset part reference to “?””选项,点击“确定”按键后,就可以把所有的元件编号都删除。

接着我们再次打开图2-42的对话框,在“Action”栏目中,选择“Unconditional reference update”选项,点击“确定”按键后,就可以重新进行元件的编号。 五. 进行DRC检验

接下来我们应该进行DRC检验(即Design Rules Check),检查在我们的设计中,有哪些错误,对可能出现的问题,也会提出警告。虽然这一步不是必需的,但是如果设计上有种种逻辑错误,就直接生成了网络表,制作了PCB板,到头来在金钱和时间方面都会有很大的损失。因此我们应该在每次生成网络表之前,首先进行DRC检验,解决出现的错误,认真分析出现的警告,在确保设计完全正确之后,再进入下一步。

下面我们就进行DRC检查,在项目窗口中,选择工程文件,然后点击“Tools→Design Rules Check?”菜单,这时弹出如下对话框:

图2-43 DRC检验对话框

如果要进行DRC检验,在“Action”栏目中应该选择“Check design rules”选项,如果要去掉图纸上的DRC检验标记,应该选择“Delete existing DRC marker”。在“Report”栏目上,通常按照图2-43,选择要进行的项目。点击“确定”按钮后,就开始了DRC检验,在我们原理图设计图纸上,将出现如下警告信息:

图2-44图纸上出现的DRC检验警告标记

双击该警示标记,会弹出对话框,指示警示的原因,如下图所示:

图2-45 DRC检验的警告信息

我们分析一下出现警告的原因:

这是因为CH341的TXD引脚是一个输出引脚,而我们把它连接到了单片机的RXD引脚上了,而单片机的RXD引脚是一个双向引脚。这提醒我们:在工作期间应该保证单片机的TXD引脚处于输入的状态,而不能处于输出的状态,当然我们的设计是没有问题的。

由于目前在原理图图纸上有DRC检验的警告标志,需要把它去掉,所以要重新打开DRC检验对话框,在“Action”栏目中选择“Delete existing DRC marker”

选项,执行后,原理图图纸上的DRC检验警告标志,就全去掉了。 六. 生成网络表

这下我们要实际生成网络表了,在项目窗口中,选择工程文件,然后点击“Tools→Create Netlist?”菜单,这时会弹出如下对话框:

图2-46 网络表创建对话框

我们在图2-46显示的对话框中选择“PCB Editor”页面,按照默认的选项,点击“确定”按键就可以生成网路表。 七. 创建元件清单

要创建元件清单,在项目窗口中,选择工程文件,然后点击“Report→CIS Bill of Materials→Standard?”菜单,这时会弹出如下对话框:

图2-47 生成元件清单对话框

在图2-47的对话框中,有两个列表框:在左边的列表框中列出可以作为元件清单的栏目项;右边的列表框中是目前选中作为元件清单的栏目项,应根据自己的需要调整该列表框中的栏目项,最后点击“OK”,从而生成元件清单。下图就是我们前面所完成项目的元件清单:

图2-48 元件清单

2.7

原理图设计进阶

从前面的学习中,我们已经初步掌握了最基本的电路原理图设计方法,下面我们要围绕着稍微复杂一点的电路——ARM-7核心板,来进一步学习原理图设计的内容。

一. ARM-7核心板的电路分析 1. 核心板电路的基本功能

在周立功的Magic ARM2200-S实验箱上,实验箱的主体部分是用户板,由一些直接用于实验的单元电路构成的,比如数码管、按键、蜂鸣器等;而实验箱的核心部分却在另一块小的电路板上,这就是我们现在要开发的ARM-7核心板,它是主要由ARM-7芯片、存储器芯片、接插件和一些辅助电路构成。

ARM-7芯片也像其他单片机一样,内部包含一些存储器,不过只是芯片内部存储器还不够的,还需要在芯片的外围扩充一些。所以我们的核心板主要就是ARM-7芯片和存储器芯片构成的。

ARM-7芯片所用的型号是LPC2200FET144,存储器NOR FLASH芯片的型号为SST39VF160,存储器PSRAM芯片的型号为MT45W4MW16,存储器NAND FLASH芯片的型号为K9F2808U0C。 2. ARM芯片

ARM-7芯片LPC2200FET144的P2口(P2.0~P2.31),同时也是与存储器连接时的数据口(D0~D31);P3口的低24位(P3.0~P3.23),同时也是与存储器连接时的地址线(A0~A23);P3.27还作为“写”存储器的控制信号(WE、低电平有效);P1.1还作为“读”存储器的控制信号(OE、低电平有效);P3.31~P3.28还作为指示32位数据线上哪些字节有效的BLS0~BLS3(低电平有效)信号线;LPC2200FET144芯片把外部存储器划分成4个区块Bank0~Bank3,在访问某一个区块的存储单元时,有对应的CSn(低电平有效)引脚输出低电平,而P1.0还作为CS0,P3.26~P3.24还作为CS1~CS3。为了进行调试和下载,LPC2200FET144芯片安排以下几个引脚连接JTAG接口:RTCK(P1.26)、TDO(P1.27)、TDI(P1.28)、TCK(P1.29)、TMS(P1.30)、TRST(P3.1)。 3. NOR FLASH和RAM芯片

NOR FLASH芯片SST39VF160内部有1M个存储单元,每个单元有16位(共2M字节),所以它有16条数据线和20条地址线,该芯片上还有片选信号(CE#)、读控制信号(OE#)、写控制信号(WE#)。显然应该把它的地址线、数据线与ARM-7芯片的地址线、数据线相连,把读、写控制信号线与ARM-7芯片发出的读、写控制线相连。我们把它的片选信号线接到PLD芯片(ATF16LV8C)相连,通过PLD芯片的译码,控制SST39VF160的读写。

PSRAM芯片MT45W4MW16内部有4M个存储单元,每个单元也是16位(共8M字节),所以它有16条数据线和22条地址线,该芯片上也有片选信号(CE#)、读控制信号(OE#)、写控制信号(WE#)。这些线的连接方法与SST39VF160芯片对应引脚的连接方法完全一致。对MT45W4MW16的读写操作还可以按字节操作,或高8位或低8位,所以要把它的LB、UB引脚接到LPC2200FET144的BLS0(P3.31)、BLS1(P3.30)上。

4. NAND FLASH芯片

NAND FLASH芯片K9F2808U0C内部有16M字节,共有16M个单元,每个单元8位。它的数据线要连接到ARM-7芯片的D0~D7上,而此时数据线上不仅要传送数据,还要传送地址和命令。由于这类芯片时序的特殊性,不仅它的片选信号是接到PLD芯片(ATF16LV8C)上的,其读、写控制信号也由PLD芯片产生;K9F2808U0C芯片的CLE(命令锁存允许)和ALE(地址锁存允许)分别连到ARM-7芯片的A20、A19上,从而可以利用地址区分对K9F2808U0C芯片的命令、地址、数据操作。由于我们不使用写保护信号,所以把K9F2808U0C的WP引脚(低电平有效)通过一个电阻接电源;它的R/B引脚表明芯片的状态(低电平表示未完成操作),要把该引脚接PLD芯片的输入端,从而产生相应的读、写控制信号。 5. 总线驱动电路

由于ARM-7芯片的驱动能力有限,所以它发出的地址信号、数据信号和控制信号必须经过74LV245芯片扩展其驱动能力,才能送往用户板。

74LV245芯片是一个8位双向驱动器,由该芯片的DIR引脚控制数据传输方向,OE(低电平有效)引脚控制是否允许数据传递。对于地址信号线而言,由于它总是由ARM-7芯片发出的,所以应该把连接这些地址线的74LV245芯片上的OE(低电平有效)接地、DIR引脚控制为信号由ARM-7芯片向用户板传送。

对于数据信号而言,当进行读操作时,信号传输的方向是由用户板向ARM-7芯片传输,其它时候数据的方向相反,所以就可以把连接数据线的74LV245芯片DIR引脚接在ARM-7芯片的OE(P1.1)引脚上。我们约定在用户板上各种电路资源对应的ARM存储器空间都在Bank2、Bank3地址块内,所以把连接数据线的74LV245芯片的OE引脚接74LV08芯片(4个两输入或门)的一个输出端,而这个或门的两个输入端分别接ARM-7芯片的CS2(低电平有效)、CS3(低电平有效)引脚。

需要通过74LV245芯片增强驱动能力的控制信号包括:读控制信号、写控制信号、D0~D7有效信号(BLS0)、D8~D15有效信号(BLS1)。 6. 辅助电路

向ARM-7芯片提供复位信号的是由电源监控芯片CAT1025完成的,当把它的MR(低电平有效)引脚连接到一个按键(这个按键在实验箱的用户板)上,则按下按键后,它的RESET引脚上就会输出复位信号。该信号再经过74LV08增加驱动能力输出后,接到LPC2200FET144芯片的RESET引脚上。

ATF16LV8C芯片负责译码作业,输出的信号有F_nCS0、IO_nCS1、IO_nCS2、IO_nCS3、IO_nCS4、F_nWE、F_nOE、F_nCE。其中F_nCE是K9F2808U0C芯片的片选信号,F_nOE、F_nWE分别是K9F2808U0C的读、写控制信号。F_nCS0是SST39VF160芯片的片选信号。IO_nCS1~ IO_nCS4是用户板上IO端口的片选信号,它由由ARM-7芯片的CS3信号和A23、A22信号译码产生。ATF16LV8C芯片的输入信号几乎都来自ARM-7芯片,有:A22、A23、CS0、OE、WE、CS3,只有一个输入信号来自K9F2808U0C芯片的R/B。

实验箱的用户板向核心板提供3.3V的数字电源和模拟电源两路电源信号,而LPC2200FET144芯片的电源引脚包括3.3V的数字电源引脚、3.3V的模拟电源引脚、1.8V的数字电源引脚、1.8V的模拟电源引脚、数字地引脚、模拟地引脚。所以还需要两个稳压集成块,它们分别把3.3V的数字电源和模拟电源转换成1.8V的数字电源和模拟电源。

ARM-7芯片所需要的时钟信号是一个简单的晶振电路提供的,它与单片机所接的电路类似,在此就不多说了。 7. 总线接口

ARM-7核心板依靠总线接口与用户板相连,在总线接口上传送P0口信号、P1口的若干位(P1.16~P1.25)、P2口的若干位(P2.16~P2.31)、24位地址信号(E_A0~ E_A23)、16位数据信号(E_D0~E_D15)、各个控制信号、JATG接口的各个信号、电源线、地线、复位信号等。下表是总线接口的引脚功能的说明: 引脚 标号 功能 说明 1 nRST_IN 复位信号输入 通过按键接地 3 nRST_OUT 复位信号输出 低电平有效 7、9、11、13、TMS、TCK、TDI、TDO、JTAG仿真调试接RTCK需要接一个15、17 RTCK、nTRST 口信号 4.7k的下拉电阻 19、21 P3_28、P3_29 P3口信号 P3.28、P3.29 27、29??43、P1_16~P1_25 P1口信号 P1.16~P1.25 45 47、49??75、P2_16~P2_31 P2口信号 P2.16~P2.31 77 83、85??111、E_D0~E_D15 数据总线信号 113 115 E_nRD 总线读控制信号 117 E_nWR 总线写控制信号 16位总线 (经过驱动) 字节选择信号低8119 E_nBLS0 位 字节选择信号高8121 E_nBLS1 位 125 IO_nCS1 外设片选信号1 由ARM-7芯片的127 IO_nCS2 外设片选信号2 CS3信号和A23、129 IO_nCS3 外设片选信号3 A22信号译码产生 131 IO_nCS4 外设片选信号4 18、20??66、P0_0~P0_25 P0口信号 P0.0~P0.25 68 70 TD1 CAN1发送器输出 保留 72、74、76、78 P0_27~P0_30 P0口信号 P0.27~P0.30 84、86??128、24位总线 E_A0~E_A23 地址总线信号 130 (经过驱动) 132 nCS2 CS2信号 2、4、6、135、137 5、8、10、12、14、16、23、25、79、80、81、82、123、133、134、136、138、139、140 141、143 142、144 VDD3.3 数字电源 GND 数字地 AVDD3.3 模拟电源 AGND 模拟地 表2-2 ARM-7核心板总线接口 二. 复合元器件的制作

像LPC2200FET144这样的元件,由于其管脚非常多,如果把这些管脚放在一起制作原理图元件,这显然有比较大的难度;另外,如果这样的元件放入图纸后,也不便于绘图、分析、查找等操作。所以对于这种元件,我们最好把它分割成几个小块,在每个小块上放置若干个引脚,这样就能较好地解决前述问题。在原理图上,我们甚至可以把一个芯片的不同部分分放在不同的图纸上。下面我们将通过制作LPC2200FET144芯片的原理图元件,来学习复杂元器件的制作。

由于LPC2200FET144芯片有4个端口(P0口~P3口),所以4个端口可以作为4个小块,其余的引脚可以作为第5个小块。

我们按照第5节所讲授的方法,打开创建原理图元件的对话框,

图2-49 创建复杂元件

图2-49所示的是创建原理图元件对话框,该对话框我们并不陌生。在“Parts per Pkg”文本框中,默认为1,我们这次要在此栏中填入5,表示我们把要创建的元件分割成5个小块。

在“Pack Type”选项栏中,有两个选项:“Homogeneous”表示每一个小块的样子都完全相同,只是管脚编号有所区别;“Heterogeneous”表示每个小块的样子不尽相同。对于74LS00(4个两输入的与非门)一类芯片,由于每个组成部分的逻辑功能完全相同,所以应该选择“Homogeneous”一项;而在我们的元件中,各个组成部分的逻辑功能并不相同,所以我们应该选择“Heterogeneous”一项。

在“Part Numbering”选项栏中,有两个选项:“Alphabetic”表示按字母顺序进行每个小块的编号;“Numeric” 表示按数字顺序进行每个小块的编号。

通常我们选择“Alphabetic”,这样在图纸上每个小块的编号就显示为“U?A”、“U?B”等。

点击“OK”按钮后,就可以开始编辑复合元器件了,首先编辑的是“U?A”,所采用的方法与以前编辑原理图元件的方法完全相同。完成“U?A”的编辑工作后,按下“ctrl-N”键,就可以转入到下一个“U?B”元件小块进行编辑,以此类推,就可以完成所有元件组成部分的编辑。(在此过程中,如果需要编辑或浏览上一个元件小块,应按下“ctrl-B”键。)

下图是LPC2200FET144芯片其中一个小块的原理图元件。该芯片的引脚分布,请查阅LPC2200FET144的技术文档,本讲义就不介绍了。

图2-50 LPC2200FET144芯片的P0口

三. 平坦式电路原理图设计

所谓平坦式电路原理图,就相当于把一张大的原理图切割成若干份,而每张图纸就是切割后的小图,同时各个图纸之间是通过“页面连接器”相互连接的。

放置页面连接器时,首先点击

图标后会弹出如下的对话框:

图2-50 页面连接器对话框

比如在A图纸的电路与B图纸的电路之间,有两条连线进行连接,则需要在

A图纸和B图纸上分别放置两个“页面连接器”,而且两个图纸上的页面连接器的名称应该完全一致,这样才能表示它们之间的连接关系,下图就是页面连接器的例子:

图2-51 页面连接器

下面是采用平坦式电路设计的方式,将ARM-7核心板电路分成3张图纸,所形成的电路图,请读者参考。(希望读者能够先按照自己思路进行设计,然后再参考下图,进行验证)

图2-52 ARM-7核心板的总线接口和GPIO端口

图2-53 ARM-7核心板的RAM电路和NOR FLASH电路

图2-54 ARM-7核心板的其它电路

四. 层次式电路原理图设计

现代电路设计往往采用“由顶而下”的设计方法(其实不仅仅是电路设计,程序设计、结构设计等,也常常采用“由顶而下”的方法),层次式原理图就适应了这种设计思想。

在层次式电路原理图中,分成主图和子图(子图中可能还包含下一级的子图)。在主图中,反映各个子图之间的连接关系;子图反映内部具体的电路。在主图中,用一个子图块表示子图中的电路,这个子图块上反映了子图电路与外界的接线关系。在主图中利用子图块还可以创建子图,当然创建出的子图上只有对外的接口,并没有内部的电路,还需要进一步设计相应的电路。另外也可以先画出一个子图电路,然后在利用它生成一个子图块。

我们的设计最好采用先设计主图,并由主图中的子图块生成子图,再绘制子图电路。这样的设计方法是典型的“由顶而下”的设计方法。

下面我们就开始学习如何绘制子图块,如何利用子图块生成子图。 画子图块时,要点击图标,这时会弹出如下对话框:

图2-55 绘制子图的对话框

在图2-55的对话框中,我们首先应该在“Implementation Type”一栏中选择“Schematic View”,然后在“Reference”和“Implementation name”栏目中填入相应的名称。假设我们要绘制的子图负责完成总线驱动电路,于是上述两个栏目中就可以填入“Bus_Drive”和“总线驱动电路”,然后点击“OK”按键,并在主图上,用鼠标拖出一个矩形块,这就是我们需要的子图块。由于在子图块上需要放置子图电路与外界的接口,所以子图块的大小要根据这些接口的数目而定。

在主图上画出了子图块之后,还要给它填上接口,添加接口的方法是,首先点击子图块,使其处于被选中的状态,然后点击图标,这时会弹出如下对话框:

图2-56 放置子图块的接口对话框

在图2-56的对话框中,输入接口的名称、选择接口的类型。如果是总线型接口应在“Width”栏目中选择“Bus”、如果是单条连线接口应选择“Scalar”,然后点击“OK”按键。这时对话框关闭,用户就可以在子图块上点击放置接口。一般把输入接口放置在子图块的左边、输出块放置在子图块的右边。下图就是“总线驱动电路”的子图块:

图2-57 “总线驱动电路”子图块

在主图上,应该合理地划分子图,还要把各个子图之间的连线关系清楚地反映出来。下图就是ARM-7核心板的主图:

图2-58 采用层次式原理图绘制的ARM-7核心板主图

完成绘制核心板的任务之后,就应该创建各个子图了,我们点击要创建子图的子图块,从而选中它,然后用鼠标的右键再点击它,在弹出的菜单中选择“Descend hierarchy”,这时会弹出如下的对话框:

图2-59 创建子图对话框

在图2-59中,输入图纸的名称,并点击“OK”按键后,就可以把子图创建出来了。在创建出来的子图上,虽然还没有具体的电路,但是子图与外界的接口已经存在了,下图就是刚刚创建的ARM-7核心板的总线驱动电路子图:

图2-60 由子图块生成的子图

上图就是由子图块生成的子图,在这之后,我们应该绘制该子图所对应的具体电路,在此过程中,接口的位置也可以根据需要进行移动。下图是绘制好的总线驱动电路图:

图2-61 总线驱动电路子图

如图2-61所示,对应的接口位置都根据绘图的需要进行了移动。在绘制了所有子图的电路之后,按照以前的步骤,还需要进行DRC校验、元件重新编号、元件封装的设置、生成网络表等工作。

第三章 Cadence的PCB板设计

在Cadence软件系统中,进行PCB板设计(包括元件封装和PCB板设计),主要是通过Allegro Package软件来实现的。 3.1

焊盘设计

进行过PCB板设计的人,都知道PCB板主要是由众多元器件和连线构成的,而每个元器件都有着自己封装形式。在元器件的封装中,又占有着最重要的地位。所以我们的讲授从焊盘的设计开始。

在这一节中,我们首先通过对一个可用于0603封装的表层焊盘,初步学习简单的焊盘设计;然后学习一个普通的通孔焊盘掌握焊盘的一般设计方法,最后再通过一个异型焊盘的设计,学习焊盘高级的设计。 一. 设计表层焊盘 1. 进入焊盘设计界面

我们在电脑上点击“开始→所有程序→Cadence SPB 16.2→PCB Editor Utilities→Pad Designer”菜单项,则会出现如下界面:

图3-1 进入“Pad Designer”设计环境

接着我们点击“File→New”菜单项,新建一个焊盘文件,我们把该焊盘文件命名为:“Smd37rec39”(其中“Smd”表示顶层焊盘,“rec”表示焊盘为矩形,“37”和“39”表示焊盘的宽度和高度)。

2. 设置“Parameter”选项页

回到“Pad Designer”界面,我们注意到它有两页,我们在“Parameter”页的“Units”的下拉列表框中选择“Mils”,表示以“mil”为单位,该页其它选项可以依照默认值。 3. 设置“Layers”选项页

然后进入“Layers”页,如下图所示:

图3-2 “Pad Designer”的“Layers”选项页

由于我们要设计的焊盘是贴片式焊盘,它只需要在印制板的表层进行设计,所以要选中“Single layer mode”选项。

在该选项页中,主要进行有关焊盘的各个层的设置,各层在选项页的上部显示,如:“BEGIN LAYER”、“DEFAULT INTERNAL”等。对应的设置参数在该选项页的下部,分成“Regular Pad”、“Thermal Relief”、“Anti Pad”三栏进行输入。

我们首先选中“BEGIN LAYER”层,它表示印制板的表层,我们先设置“Regular Pad” (表示焊盘本身的尺寸)栏中的各项:在“Geometry”项中选择“Rectangle”,表示该焊盘为矩形;然后分别在“Width”和“Height”项中输入“37”和“39”由此设定焊盘的宽度和高度。我们再看看“Thermal Relief”栏目,它表示热风焊盘的尺寸(所谓热风焊盘是指在本焊盘与大面积覆铜为同一网络时,本焊盘与覆铜部分半隔离区域的大小),显然它的尺寸比大于焊盘本身大20mil,在这里我们分别设置为53和55。我们再看看“Anti Pad”栏目,它表示反焊盘的尺寸(所谓反焊盘是指在本焊盘与大面积覆铜不是同一网络时,本焊盘与覆铜部分隔离区域的大小),在这里我们也分别设置为53和55。

然后再选中“PASTEMASK_TOP”层,通常它比“BEGIN LAYER”层尺寸略大,所以也是在“Geometry”项中也选择“Rectangle”,在“Width”和“Height”项中输入“41”和“43”。“PASTEMASK_TOP”层是指在实际在PCB板上焊接元件时,为焊盘涂上锡膏的钢模板的尺寸。

我们再选中“SOLDERMASK_TOP”层,也只需要设置“Regular Pad”栏中的各项:它一般比焊盘本身稍大,在“Geometry”项中选择“Rectangle”;然后分别在“Width”和“Height”项中也输入“43”和“45”由此设定了宽度和高度。“SOLDERMASK_TOP”层是指不涂布阻焊层的大小(也称阻焊盘)。

设置完成后,可以在“Views”栏中看到焊盘的视图,其中“XSection”表示X方向的切面视图,“Top”表示顶视图。

完成上述设置后就可以存盘了。 二. 设计通孔焊盘

在Cadence中,通孔型焊盘的设计比贴片式要复杂一些。下面我们设计一个用于DIP封装的通孔型焊盘。 1. 通孔型焊盘的结构

要在PCB板上制作一个通孔型焊盘,首先要在双面铜箔板上进行钻孔,由于铜箔板内层是不导电的,所以这时顶层和底层是不导通的。然后通过电镀的方法,在孔的内壁上镀上金属,从而使上下导通。当然像贴片式焊盘一样,在通孔焊盘的顶层和底层也需要设置“PASTEMASK”和“SOLDERMASK”。如果这个通孔型焊盘还用于多层PCB板,由于多层PCB板的内层往往使用负片(即见到线条的地方没有铜箔、没有线条的地方有铜箔),这时它与内层电路的连接是采用“Flash”形式,所以在中间层又需要“Flash”焊盘。下图表示了一个典型的通孔型焊盘的结构刨面:

图3-3 通孔型焊盘的结构

2. 焊盘参数的确定

为了确定通孔焊盘上各个尺寸,我们应该查找技术文档,下图就是一个采用DIP封装的集成电路的封装尺寸图:

图3-4 DIP封装的集成电路的封装尺寸图

从图3-3知道采用DIP封装的集成电路的引脚,其最大宽度为0.022英寸,即22mil。

我们通常可以用以下公式确定通孔型焊盘的各个尺寸: DRILL_SIZE >= PHYSICAL_PIN_SIZE + 10MIL

Regular Pad >= DRILL_SIZE + 16MIL (DRILL_SIZE<50)(0.4mm 1.27) Regular Pad >= DRILL_SIZE + 30MIL (DRILL_SIZE>=50)(0.76mm 1.27) Regular Pad >= DRILL_SIZE + 40MIL (钻孔为矩形或椭圆形时)(1mm) Anti Pad = DRILL_SIZE + 30MIL 0.76mm SOLDERMASK = Regular_Pad + 6MIL 0.15mm PASTEMASK = Regular Pad

(Flash焊盘和热风焊盘的尺寸后面专门介绍)

根据上述公式,可以给出我们所需要的焊盘的各个尺寸:

引脚尺寸=22mil 钻头直径=(引脚尺寸+10mil)=32mil 正规焊盘直径>=(钻头直径+16mil)(钻头直径<50)=55mil 反焊盘直径=(钻头直径+30mil)=62mil 钢模板直径=正规焊盘直径=55mil 无阻焊剂直径=(正规焊盘直径+6mil)=61mil 3. “Flash”焊盘的制作

通过对通孔型焊盘结构的学习,我们知道通孔型焊盘可能与位于PCB板内电层的电源层或地线层相连,一般内电层是以负片形式出现的。在通常情况下,这些电源层、地线层都采用大面积覆铜的形式,如果焊盘的四周都与大面积的覆铜

相连,则会给元件的拆卸带来很大的困难。制作Flash焊盘的目的,是在焊盘与大面积覆铜的(且负片形式的)内电层相连,我们设计的Flash焊盘,只在一定方向上与覆铜连接,而不是在360°方向上与覆铜都有连接,这样就便于元件的拆卸了。

下图是一个Flash焊盘的例子:

图3-5 Flash焊盘

在图3-5上,我们看到4个小块。由于Flash焊盘是用于负片的,所以在PCB板上,这4个小块(对应的铜箔)是被去除的,而其余黑色部分是保留铜箔的。我们还应注意到,4个小块是两个同心圆切割而成的,所以我们就把这两个同心圆的直径称为Flash焊盘的内径(Inner Diameter)和外径(Outer Diameter),而两个小块之间的宽度称为连线宽度(Wed Open)。另外,连线的方向与水平方向成45°角。

我们通常这样命名Flash焊盘:TRaXbXc-d

其中a是内径,b是外径,c是连线宽度,d是连线与水平方向的夹角。 而相应尺寸的计算公式如下:

a. Inner Diameter: Drill Size + 16mil

b. Outer Diameter: Drill Size + 30mil

c. Spoke : 12 (当Drill Size = 10mil以下)

15 (当Drill Size = 11~40mil) 20 (当Drill Size = 41~70mil) 30 (当Drill Size = 71~170mil) 40 (当Drill Size = 171mil以上) d.Angle:45

所以我们的Flash焊盘命名为:TR48X62X15-45

设计“Flash”焊盘要启动“Allegro”软件,我们在电脑上点击“开始→所有程序→Cadence SPB 16.2→PCB Editor”菜单项,则会出现如下界面:

图3-6 Allegro Package软件的项目

在图3-6中,选择“Allegro PCB Design GXL”,点击“OK”按键后,就启动了“Allegro Package”软件,界面如下图所示:

图3-7 “Allegro Package”软件界面

我们点击“File→New?”菜单项,弹出以下对话框:

图3-8 创建Flash图形文件

如图3-8所示,在Drawing Type栏目中,要选择“Flash symbol”项。 接着我们要设置图纸的大小,点击“Setup→Design Parameters?”,弹出如下“设计属性编辑”对话框:

图3-9 设计属性编辑对话框

在图3-9所示的对话框中,共有5个选项页,我们主要在“Design”选项页中设置,在该页的“Size”栏目中,“User Units”项设置为“Mils”,“Accuracy”项(表示小数点后的位数)设置为“1”;在“Extents”栏目中,设置“Left X”和“Lower Y”均为-100(它们表示图纸上,左下角的坐标),在“Width”和“Height”中,都输入“200”(它们是图纸的宽度、高度);在“Drawing Type”栏目中选择“Flash”。

进行了上述选择之后,点击“OK”按键,回到主界面。 点击“Add→Flash”菜单项,弹出如下对话框:

图3-10 添加Flash对话框

在图3-10所示的对话框中,“Inner diameter”表示内径;“Outer diameter”表示外径;“Spoke width”是“辐条宽度”,即:焊盘与大面积覆铜的连接线宽度;“Number of spokes”表示辐条的数目;“spokes angle”是辐条的角度。

我们将内径、外径的尺寸分别设为48、62mil,辐条宽度设为15,其它保持

默认值。其Flash图形如下图所示:

图3-11 Flash焊盘

Flash焊盘绘制完毕后,应该进行存盘,在存盘时还会自动产生其数据文件。 4. 通孔型焊盘的设置

在完成了上述准备工作,我们再次启动焊盘编辑器,新建焊盘,并把该焊盘命名为:pad55cir32d。一般通孔型焊盘用“pad”标示;55和32分别表示正规焊盘和钻孔的直径;cir表示为圆形焊盘;d表示考虑了多层板的中间层的连接。在焊盘编辑器的“Parameters”页上,我们按照下图进行设置:

图 3-12 通孔型焊盘的“Parameters”页设置

如图3-12所示,在“Parameters”页中,对于贴片式焊盘而言,只需要设

置“Units”和“Decimal places”两项。而对于通孔型焊盘,还要进行更多设置:

“Hole type”设置孔的形式,可以是圆的、椭圆的或长方形的,我们选择“Circle Drill”。

“Plating”设置孔是否镀有金属层,我们的孔当然要镀金属层,所以选择“Plated”。

“Drill diameter”是钻头的直径,按照前面的计算,我们把它设为“32”。 “Figure”是钻孔符号的形状,我们设为圆形。 “Characters”是钻孔符号图形内的文字。

“Width”和“Height”是钻孔符号图形的高度和宽度。

在“Layers”页中,我们首先设置“BEGIN LAYER”层:“Regular Pad”栏的“Geometry”项中选择“Circle”;“Width”或“Height”栏中输入“55”。“Thermal Relief”栏的“Geometry”中输入“Flash”;并在“Flash”栏中选择我们前面完成的“TR48X62X15-45”图形。“Anti Pad”栏也设置为直径为62的圆形。

我们设置完“BEGIN LAYER”层后,可以把它复制到“END LAYER”层和“DEFAULT LAYER”层。方法是首先用鼠标的右键点击该层前方的“

”块,在弹出的菜

单中选择“Copy”;然后再用鼠标右键点击目的层前方的小块,并在弹出的菜单中选择“Paste”,这样就可以完成各层之间的拷贝工作。

上述设置完成之后,我们再设置顶层和底层的“SOLDERMASK” 和“PASTEMASK”,如下图所示:

图3-13通孔型焊盘的“Layers”页设置

完成通孔焊盘的设置后,可以保存并关闭“Pad Designer”软件。 三. 设计异型焊盘

在PCB板设计中,往往会遇到一些特殊形状的焊盘,比如在三端稳压集成块1117上,其中间的引脚就与散热片形成一个特殊形状的焊盘,下面我们就学习

这个焊盘的制作。 1. 查看1117的技术文档

稳压集成块1117有好几种封装形式,在这里我们只考虑SOT-223封装,它的形式如下:

图3-14 SOT-223封装的稳压集成块

下图是SOT-223封装的尺寸图:

图3-15 SOT-223封装的尺寸图

从图3-15上可以看出,我们可以把SOT-223的中间引脚和上方的散热片合成为一个引脚,这个引脚形成“T”字形,其上方可以是3.25×2.15mm的矩形,并拖着一个0.95×5.8mm的“尾巴”。其余两个引脚的焊盘可以是0.95×2.15mm的标准矩形焊盘。 2. 绘制异型焊盘图形

下面我们就开始制作这个“T”字形的异型焊盘,首先要绘制一个“T”字型的图形,我们还是要使用Allegro软件来绘制该图形。打开Allegro软件后,新

建一个设计文件,其类型为:“Shape symbol”,文件命名为“T001”。

新建该图形文件后,也需要设置所用的单位、精度和图纸的大小,我们图纸采用mm为单位精度为3位小数,并把图形的大小设置为10mm见方,且中心点为原点。其具体设置方法这与前面讲授的内容一致,就不赘述了。

下面我们用绘制多边形的方法,绘制我们所需要的图形:

首先点击“Shape→Polygon”菜单项,然后在窗体下部的命令栏中,输入其左上角的坐标,其输入为:“x -1.65 3.975”。(请注意x与坐标值之间有空格,另外两个坐标值之间也有空格。)

输入第一个点的坐标后,接着我们画出图形上方的直线:在命令栏中输入:“ix 3.25”,于是从(-1.65,3.975)到(1.65,3.975)之间就画出了一条直线。(ix 3.25表示x方向的坐标增量为3.25)

我们再画上方矩形右边的直线,在命令栏中输入:“iy 2.15”,于是从(1.65,3.975)到(1.65,1.825)之间就画出了一条直线。(iy 2.15表示y方向的坐标增量为2.15)

我们再画上方矩形右下边的直线,在命令栏中输入:“x 0.475”,于是从(1.65,1.825)到(0.475, 1.825)之间就又画出了一条直线。(“x 0.475”表示x坐标移动到0.475处,y坐标不改变)

以下依此类推,画出整个图形,最后,用鼠标的右键在图纸上点击,在弹出的菜单中选择“Done”。如果在此过程中,若某个步骤出现误操作,可以用鼠标的右键在图纸上点击,在弹出的菜单中选择“Oops”,就可以撤销前一个操作;如果选择“Cancel”,就可以撤销整个绘制工作。

绘制后的图形如下所示:

图3-16 异型焊盘的图形

除了这个图形之外,为了在制作焊盘时设置阻焊盘和钢模板,我们还要再绘制一个图形,它比前述图形略大,我们把它命名为:“T002”,其制作过程就不再详述了,请读者自行完成。 3. 创建异型焊盘

打开焊盘编辑器软件,新建一个焊盘文件,并命名为“SOT223m”,所用的单位是“毫米”,精度为小数点后3位。

在编辑器软件的“Layers”页上,请按照下图方式进行设置:

本文来源:https://www.bwwdw.com/article/uwxo.html

Top