report-gaurav banti protel
TRANSCRIPT
-
7/28/2019 Report-Gaurav Banti PROTEL
1/94
A COURSE ON COMPUTER AIDED PCB DESIGN USING
PROTEL
1
-
7/28/2019 Report-Gaurav Banti PROTEL
2/94
INTRODUCTION
Protel 99 is designed as a "client - server application, i.e. the main application program of
Protel 99 , called Client99.exe, provides the basic infrastructure and user interface for Protel 99
, while specific services, such as editing a schematic or PCB are provided by a series of plug-in
"servers".
When you click on the Protel 99 icon in the Windows Start menu, Client99.exe is the
application that is started. You do not then need to launch a schematic editor, PCB editor, etc.
as separated programs - all your Protel EDA tools are available from within the Protel 99
desktop.
The use of a "client server" architecture for Protel 99 means that you can easily expand the
capabilities of the software. As well as the servers supplied with Protel 99 , various add-on
servers are available from both Protel and numerous third-party vendors. To use Protel 99 it isnot necessary to understand how the client server architecture works, however a basic
knowledge of servers will help you get the most from Protel 99.
Creating a new DDB Using the Design Explorer
To create a new Design Database select File New Design from the menus. The New
Design Database dialog will pop up. Complete the following steps:
1. Select the Storage Type
2. Enter the Database name
3. Set the location as required
If you would like to password-protect the Design Database now, click on the Password tab and
enter the password. This password is assigned to the default user name Admin.You can
password-protect a Design Database at any time, by going to the Members folder and entering
a password for the Admin member. To unprotect a Database remove the password from the
Admin member. Note that you can only password-protect a design database whose storage type
is MS Access database.
Once the new design database is created an icon for it will appear in the navigation tree of the
Design Explorer, and its corresponding design window will open in the work area.
2
-
7/28/2019 Report-Gaurav Banti PROTEL
3/94
Working with SCH. Documents
A schematic is a diagrammatic representation of an electronic circuit, and schematic capture is
the process of capturing a design as a schematic in a computer-aided design environment. A
computer-based schematic is more than a simple drawing of the circuit. It also contains
information about the connectivity of the circuit and the parts that make up the circuit.
In Protel, the basic workspace for capturing a schematic is called a schematic sheet. Electrical,
drawing and directive objects are placed on a schematic sheet to design the circuit and produce
working schematic drawings. A complete circuit design can use just a single sheet, or it can
comprise a number of electrically linked sheets. Protel allows you to create complex
hierarchical and modular designs by linking any number of sheets to form a complete project.
______________________________Schematic design topics
Schematic electrical design objects
Schematic drawing objects
Schematic design directives
Setting schematic workspace preferences
Setting schematic document options
Using schematic sheet templates
Managing schematic components
Editing schematic component libraries
Repositioning design objects on a schematic
Wiring up a schematic
Workspace editing techniques
Creating projects with multiple schematic sheets
Schematic design verification - the ERC
Printing and plotting a schematic
Generating schematic reports
Preparing a schematic for PCB layout
Interfacing from a schematic to third-party tools
Default schematic shortcut keys
3
-
7/28/2019 Report-Gaurav Banti PROTEL
4/94
Open Printed Circuit Board File
To begin the PCB design phase of a project, create a new PCB document in your design
database (see the Adding a new document or folder to a design topic in the Links section
below).
Before bringing design information from the schematic, you should first create the mechanical
and electrical board outline for your board, and configure the layer stack. The mechanical
outline defines the physical shape and size of the board, and also includes items such as
dimension detail, photo tool targets and other company and fabrication specific information.
This information is usually placed on the four Mechanical layers.
Tile electrical board outline defines the routing and component placement limits of the board.
This is done by defining an outline of the board on the Keep Out layer. The Keep Out layer is a
special layer that allows you to define "legitimate" placement and routing areas in the PCB
workspace. Generally you would define an area which is the same as the physical board
outline. All signal-layer objects and routing would then be confined within this area. You could
also define areas on the Keep Out layer within the board outline to act as "no go" areas for
placement and routing.
The layer stack defines what signal and plane layers are available. Part of the layer stack
definition process is to define the drill-pairs.
Protel 99 includes a powerful Board Wizard that guides you through the complete process off
creating a new PCB document and board definition. The Wizard includes a number of
predefined board templates, and allows you to create your own templates.
PCB Definition Topics
Defining the PCB layer stack
Defining the drill pairs
Creating the mechanical definition of a PCB
4
-
7/28/2019 Report-Gaurav Banti PROTEL
5/94
Defining the PCB placement & routing outline
Using the Board Wizard to create a new PCB
Loading a schematic design into a PCB document
Open Schematic File
A schematic is a diagrammatic representation of an electronic circuit, and schematic capture is
the process of capturing a design as a schematic in a computer-aided design environment. A
computer-based schematic is more than a simple drawing of the circuit. It also contains
information about the connectivity of the circuit and the parts that make up the circuit.
In Protel, the basic workspace for capturing a schematic is called a schematic sheet. Electrical,
drawing and directive objects are placed on a schematic sheet to design the circuit and produce
working schematic drawings. A complete circuit design can use just a single sheet, or it can
comprise an number of electrically linked sheets. Protel allows you to create complex
hierarchical and modular designs by linking any number of sheets to form a complete project.
Creating a new schematic Symbols
To create a new schematic component; from a schematic library document select Tools New
Component from the menus. A new component will be created in the library and you will be
presented with an empty component sheet. Rename the component by selecting Tools
Rename Component from the menus.
Initially the schematic component sheet is shown fully zoomed out. The origin for the sheet is
marked by the intersection of the crossed guide lines. Before drawing your component, you
should zoom in [shortcut Page Up] until the grid becomes visible. You should also draw your
component based around the component sheet origin. Select Edit Jump Origin [shortcut JO]
to center the origin in the workspace.
To define your new component, complete the following steps:
1. Define the component body using the various drawing objects available from the Place
menu, or from the SchLib Drawing Tools toolbar. These tools provide the same drawing object
available in schematic sheets.
5
-
7/28/2019 Report-Gaurav Banti PROTEL
6/94
2. Place the component pins by selecting Place Pins from the menu [shortcut P P]. When you
enter Pin placement mode, the pin will appear floating on the cursor. Note that you hold" the
pin by its non-electrical end, which goes against the component body. Press SPACEBAR torotate the pin while it is floating on the cursor. Press the TAB key during placement to edit the
pin's properties before placing it.
3. If you are creating a multipart component, select Tools New Part to add another part to the
component and repeat the above steps to create the symbols for all parts in the component.
4. Set the component's properties by selecting Tools Description from the menus. This opens
the Component Text Fields dialog in which you set the component's default designator and
PCB footprint, a description of the component, and set up the various part fields and library
fields that are displayed when the component properties are edited from a schematic sheet.
5. Save the component sheet to save the component in the library.
Note: The IEEE symbols can be resized during placement. Press the + and - keys to enlarge
and shrink the symbols as you place them.
Aligning schematic design objects
There are a number of alignment options available for lining up design objects on a schematic.
The alignment options work on all selected objects. To align selected objects on both axes,from the schematic select Edit Align Align to open the Align Objects dialog [shortcut A A].
Select the desired vertical and horizontal alignment from the option buttons and click OK to
have all selected objects moved to the chosen horizontal alignments. Enable the Move
Primitives to Grid option to constrain alignment to the nearest grid point.
The following single-axis alignments are available from the Edit Align submenu [shortcut A]
or via shortcut keys:
Align Left CTRL+L
Align Right CTRL+R
Center Horizontal CTRL+H
Distribute Horizontally CTRL+SHIFT+H
Align Top CTRL+T
Align Bottom CTRL+B
6
-
7/28/2019 Report-Gaurav Banti PROTEL
7/94
Center Vertical CTRL+V
Distribute Vertically CTRL+SHIFT+V
Note: The alignment options affect ALL selected objects. Before using any alignment
command, ensure that only the objects that you wish to align are selected. If necessary, use theshortcut X A to deselect all objects before selecting the objects you want to align.
Note: Connectivity is not preserved during alignment.
Customizing menus, toolbars & shortcut tables
Within the Protel environment menus, toolbars and keyboard shortcut tables are referred to as
resources.
Whenever you open or activate a document in the Design Explorer, Protel automatically
initiates the appropriate editor for that document type and displays the appropriate menus and
toolbars, as well as activating the appropriate shortcut keys. You can configure the resources
assigned to each document editor available in the system. Each document editor can have one
menu and keyboard shortcut table active at a time, and assigned any number of toolbars. The
following topics detail the resource customization process.
Power port (Schematic electrical design object)
7
-
7/28/2019 Report-Gaurav Banti PROTEL
8/94
Description: A power port is a special schematic object that lets you easily define a power or
ground net. Seven graphical styles of power port are available, and can be set by editing the
objects properties
Please Note: The graphical symbol selected for a power port does not determine which net it is
assigned to. You must explicitly set the net name in the object's properties dialog. To place:
Once in power port placement mode, a power port symbol will appear "floating" on the cursor.
Use the SPACEBAR key to rotate this to the desired orientation. Press TAB to change the
properties of the port. Position the object and left-click or press ENTER to place the bus entry.
Continue placing further power ports, or right-click or press ESC to exit placement mode.
Graphical editing: When a power port is in focus, the following editing handles are available
Click anywhere within the dashed box to "pick up" the power port and reposition it.
Creating a new PCB component
To create a new component, you must first open the library that will hold the component (see
Opening a PCB library for editing in the Links section below)
Once the desired PCB library file is open and active, select the Tools New Component menu
item. The Component Wizard will automatically start to guide you through the process of
building a new PCB component.
If you do not want to use the Component Wizard, press Cancel to manually create a
component. You will be presented with an empty component footprint workspace. Select Tools
Rename Component to give your new component a name (255 characters maximum).
Creating a component footprint uses the same tools and design objects that are used to design a
PCB. Place tracks and arcs in the footprint sheet to create the body of the component, then
place pads to form the component pin connections. As with PCB design, design objects can be
placed on any layer. When you subsequently place the footprint on a PCB document, all
objects that make up the footprint will be assigned to their defined layers.
8
-
7/28/2019 Report-Gaurav Banti PROTEL
9/94
____________________________________________
Links
Opening a PCB library for editing
Editing footprints in PCB libraries
9
-
7/28/2019 Report-Gaurav Banti PROTEL
10/94
You can browse for schematic components in the schematic panel, using the Mini Viewer that
appears at the bottom of the panel when the Browse mode is set to Libraries. You can also
browse schematic component libraries in the Browse Components dialog (Design Browse
Library).
Placing design objects in documents
The method for placing objects is similar for both schematic and PCB documents. The basic
placement steps are outlined below. For help on placing specific objects, use the See also... link
at the bottom of the page
1.Select the object that you want to place - You can do this by selecting an object from the
Place menu or by clicking on one of buttons from the various placement toolbars. For
components and footprints, you can also click the Place button in the Panel when browsing
libraries.
2. When an object is selected for placement, the cursor will change to a crosshair,
indicating that you are in editing mode, and, if relevant, the object will appear
"floating" on the cursor.
3. Press the TAB key to edit the properties of the object before placing it. This will open the
property dialog for the particular object, allowing you to change various options. Once you
have finished setting the properties, close the dialog to return to placement mode.
4. Position the cursor and left-click or press ENTER to place the object. For complex objects
such as wires, tracks, polygons, etc. you must continue the position and click procedure to
place all vertices of the object. Note: If auto panning is active, you can move around the
document by simply moving the cursor past the edge of the editing window in the direction
that you wish to go.
5. After placing an object you will remain in placement mode (indicated by the crosshair
cursor), allowing you to place another object of the same type immediately.
10
-
7/28/2019 Report-Gaurav Banti PROTEL
11/94
6. To end placement mode, right-click or press the ESC key (in some cases, such as placing a
polygon, you may need to do this twice; once to finish placing the object and once to exit
placement mode). When you exit placement mode, the cursor will return its default shape.
11
-
7/28/2019 Report-Gaurav Banti PROTEL
12/94
Connecting schematic objects using net identifiers
In connectivity terms, a net defines electrically connected points in a circuit. By placing a wire
between two nodes in a schematic, you effectively assign the two points to the same net. In a
schematic, Protel internally assigns a unique name to each net in the circuit, but you can
manually define net names to create connectivity between nodes on the schematic.
To manually assign a net name (or net identifier) to a point in your schematic, place a Net
Label on that point. The net name is the name given to the Net Label.
If you assign the same net name two or more points on a schematic, these
points are effectively connected electrically. You do not need to manually
connect them using a wire.
The diagram (left) shows two electrically equivalent circuits. The top
shows two resistors connected in parallel using wires to make the connections. The
bottom shows two resistors connected in parallel using net labels to define
the connections
A typical use of connections using net identifiers is connecting to power nets. When you place
a power port on a schematic it defines a net which has a net name equivalent to the power
object's name (VCC, GND, etc.). You can then place net labels on any schematic circuit nodes
which have the same net name as the power port to automatically connect these nodes. You do
not need to physically wire the nodes to the power port.
12
-
7/28/2019 Report-Gaurav Banti PROTEL
13/94
1 2 3 4
A
B
C
D
4321
D
C
B
ATitle
Number RevisionSize
A4
Date: 2-May-2009 Sheet of File: G:\PreviousBackup of VIKAS P.DDB DrawnBy:
2
1
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 21
22
23
24
25
26
27
28
29
32
31
30
g33
f34
e35
d36
c37
b38
40
a39
U1IC 89C2052
12345678
P1PORT1
+
C110UF/16V
SW1TACKSW
R1
10K
VCC
C222PF
C3
22PF
X1CRYSTAL
1234
5678910111213141516
LCD
L1
VCC
1
2 3 4 5 6 7 8 9
RP1RP8
VCC
C4CAP
12345678
P2
PORT2
CIRCUIT DIAGRAM FOR MC
VIKAS SHARMA
Sheet 1
Part Type Designator Footprint Description
10K R1 RES1OP2WS RESISTOR
22PF C3 CAP5P2WS CAPACITOR
10UF16V C1 EC5P6W ELE.CAPACITOR
RP8 RP1 RP8 COM.RESISTOR
CRYSTAL X1 CRYSTAL CRYSTAL
22PF C2 CAP5P2WS CAPACITOR CAP C4 CAP5P2WS CAPACITOR
PORT1 P1 8CONN2.5P CONNECTOR
PORT2 P2 8CONN2.5P CONNECTOR
IC 89C2052 U1 DIP40 IC
LCD L1 16CONN2.5P LCD
SW SW1 TACKSW SWITCH
13
-
7/28/2019 Report-Gaurav Banti PROTEL
14/94
Schematic sheet with simple hierarchy
This model is referred to as simple hierarchy. It supports multi-level or block design, where the
design hierarchy can be represented by a tree- like structure. A sheet symbol represents a childsheet, which descends from the parent All the inter-sheet connections are vertical; the sheet
entries in each sheet symbol are connected to similarly named ports on the respective sub-
sheets. The sheet symbol-to-sheet symbol wiring is included on the parent sheet.
This model is a true hierarchy because the inter-sheet connections follow the hierarchy of the
sheets themselves, and the design can be as many levels deep as you like.
To use this model for multi-sheet schematic designs, set the Net Identifier Scope to Sheet
Symbols / Port Connections when performing an ERC, running a simulation, creating a net list,
compiling a schematic-based PLD, or synchronizing between schematic and PCB documents.
14
-
7/28/2019 Report-Gaurav Banti PROTEL
15/94
Generating schematic reports
A range of reports on the currently active schematic sheet can be generated. Reports are
generated by selecting the appropriate item on the Reports menu.
The following options are available:-
Selected Pins:- Lists all pins connecting to the selected net(s). Choose
Select >> Net, then click on a net.
Bill of Materials:- When you select Reports >> Bill of Materials the schematic BOM Wizard
will start, which guides you through the process of creating a bill of materials from your
schematic.
Cross Reference:- When you select Reports >> Cross Reference, an ASCII text report is
generated giving a listing of part designators, type and the sheet location for each part. The
report is named filename. XRF and is stored in the same folder as the schematic sheet.Project hierarchy:- When you select Reports >> Project Hierarchy, an ASCII text report is
generated giving a listing of project files for the active design. The report is named filename.
REP and is stored in the same folder as the schematic sheet.
Netlist Compare:- When you select Reports >> Netlist Compare, an ASCII text report is
generated that lists the differences between two netlists. Use this report to document changes
made to a project from one revision to another. This feature works with Protel, Protel 2 and
Tango format netlists. Among other details, the report lists matched nets, partially matched
nets, extra nets in the first or second netlist, and total nets in each netlist. The report is named
filename. REP and is stored in the same folder as the schematic sheet.
Add Port References (Flat):- Select this to include a string next to each port, detailing the
sheet name and grid reference of all other ports of the same name in the project. The location
of each port reference is determined by the location of the port on the sheet and the position of
the connecting wire. Port references are a calculated attribute of the port; they can not be edited
and are not stored with the design.
Add Port References (Hierarchical):- Select this to include a string next to each port,
detailing the sheet name and grid reference of the sheet entry that this port connects to.
Remove Port References:- Select to remove all Port references in the project.
15
-
7/28/2019 Report-Gaurav Banti PROTEL
16/94
Preparing a schematic for making a PCB layout
In Protel 99 , creating a PCB layout from a schematic is a fully automated process handled by
Protel's design synchronizer. The synchronizer allows you to initially transfer the design to a
PCB, maintaining full connectivity, and subsequently update design changes from the
schematic to the PCB and vice versa.
Before you can use Protel's synchronization features, you must create a PCB document based
on your schematic design. To do this, create a new PCB document in the design database, draw
the board outline and then run the design synchronizer to transfer the schematic information to
the PCB. For information on creating a new PCB document, see the topic
Adding a new document or folder to a design in the Links section below. For information on
creating the board outline, see the topic creating a PCB outline in the Links section below. For
information on using the design synchronizer, see the topic Synchronizing schematic & PCB
documents in the Links section below.
Note: It is advisable to perform an ERC on your schematic and fix and errors before starting
the PCB layout process.
The following topics detail the steps necessary to prepare a schematic for transfer to a PCB
layout:
Reassigning part designators in a schematic design
Checking schematic parts for missing PCB footprints
Including PCB layout information in a schematic
Component Footprint (PCB design object)
Toolbar: Placement Tools-
Menu: Place Component [P C]
Valid layers:- Top or Bottom signal layers
Can be connected to a net?: No (Component pads, however, can be assigned to net)
16
-
7/28/2019 Report-Gaurav Banti PROTEL
17/94
Description: A component footprint is the representation of a physical device on a PCB. A
footprint may contain pads for connecting to the pins of a device, a physical outline of the
package, device mounting features, etc.To place: When you enter component placement mode the Place Component dialog will open.
In this dialog, type the name or browse for a component footprint from a loaded PCB library.
Set the appropriate designator and any comment text, then click OK to close the dialog. You
will return to the PCB document and an outline of the component will be "floating" on the
cursor. Position the component and left-click or press ENTER to place it. The Place
Component dialog will re-open, allowing you place another component. Press Cancel to exit
component placement mode.
Graphical editing:- A component footprint cannot be focused and graphically edited directly.
To edit the graphical attributes of a component you must open it the relevant PCB library.
Notes: Generally when you start a new PCB you will load information from a schematic. This
process is known as synchronization. When the PCB is synchronized with the schematic
project, the necessary PCB footprints are placed on the board ready for positioning, and the
connectivity of the schematic is preserved on the PCB. Component footprints can be converted
to a set of primitive objects by selecting Tools Convert Explode Component to Free
Primitives from the menus. Once a component is exploded it can no longer be manipulated as a
group object.
Using PCB design rules
You design your PCB by placing components, tracks, vias and other design objects. These
objects must be placed in the workspace with regard to each other. Components must not
overlap, nets must not short, power nets must be kept clear of signal nets, etc.
To allow you to remain focused on the task of designing the board, Protel 99 SE can monitor
these design requirements for you. You instruct the PCB editor of your requirements by setting
up a series of design rules. These design rules are monitored as you layout the PCB. As soon as
an object is placed in violation of a design rule it is highlighted. Also, during the board
verification process you can run the integrated Design Rule Checker, which will generate a
report of any design rule violations in you PCB.
17
-
7/28/2019 Report-Gaurav Banti PROTEL
18/94
Protel allows a wide range of design rules to be defined for a PCB. These include clearances,
object geometry, parallelism, impedance control, routing priority and topology, placementrules, and signal integrity rules. Each rule has a Rule Scope that defines how it is applied. The
scope
allows you to apply a rule to objects, nets, net classes, components, component classes, layers,
regions, through to the whole board.
Design rules are set up and configured in the Design Rules dialog box (from the PCB
document select Design Rules).
Design rule topics
Creating and editing PCB design rules
Setting the scope of a PCB design rule
Situations where PCB design rules are applied
Checking which rules apply to an object
PCB design rule definitions
PCB design rule examples
Importing and exporting design rules
PCB connectivity
When you load a schematic design into a PCB document, the pin-to-pin connections in each
net are displayed as a series of thin connection lines. The line that connects each pin in the net
to another pin in the net is called a from-To, going FROM one pin in the net TO another pin.
The From-Tos are collectively referred to as the Ratsnest.
The pattern or arrangement of the From-Tos in a net is called the net topology. If a net has not
been assigned a user-defined topology then From-Tos are arranged to give the shortest possible
connection distances for the entire net, based on the current arrangement of the components.
18
-
7/28/2019 Report-Gaurav Banti PROTEL
19/94
if the net has a user-defined topology applied the connection line is added to maintain the
topology, and is shown as a dotted line (called a Broken Net Marker), indicating that the net
should be routed between these two points to maintain the topology.
A specific topology can applied to a net by either defining a Topology Rule, or by definingfixed From-Tos in the Form-To editor.
____________________________________
PCB connectivity topics
Specifying PCB topology in the From-Tos editor
Display/hide connection lines in a PCB document
Changing the properties of a net in a PCB
Managing the netlist
_____________________________________
Links
Loading a schematic design into a PCB document
Using PCB design rules
Working in PCB documents
Working in PCB documentsA printed circuit board (PCB), sometimes referred to as printed wiring board (PWB), is the
foundation of circuit construction. Components are soldered onto the PCB, and the PCB
provides the electrical connection pathways between components to form the physical circuit.
Connections are made using copper tracks etched onto the various layers of the PCB. A PCB
document is displayed as a set of superimposed layers, with each layer corresponding to an
individual "phototool" used to fabricate the board.
In general, a PCB is derived from a schematic representation of the circuit. When a schematic
is loaded into a PCB document, schematic part symbols are translated to corresponding board
component footprints and the connectivity of the schematic is preserved and displayed as
connection lines in the PCB document.
19
-
7/28/2019 Report-Gaurav Banti PROTEL
20/94
20
-
7/28/2019 Report-Gaurav Banti PROTEL
21/94
SINGAL SIDE PCB LAYOUT
21
-
7/28/2019 Report-Gaurav Banti PROTEL
22/94
DOUBLE SIDED PCB LAYOUT
File extensions used to identify each Gerber file
When you generate the Gerber output a series of files are created, each one corresponding to
one of the layers enabled in the Gerber setup. These files are then loaded into a Gerber photo
plotter, which produces the necessary photo tools for PCB manufacture. Each Gerber file is
given the name of the PCB document, with a unique extension that identifies that layer and plot
type. For example, the Top layer Gerber file for a PCB called MyDesign will be saved as
MyDeisgn.GTL, to indicate "Gerber Top Layer". Because each design normally generates
numerous Gerber files, these extensions help identify each file.
We recommend that you follow this convention which conforms to general industry practice.
T4e following table shows the extensions that are used:
Top Overlay .GTO
Bottom Overlay .GBO
Top Layer .GTL
Bottom Layer .GBL
Mid Layer 1, etc. .GI, .G2, etc
22
-
7/28/2019 Report-Gaurav Banti PROTEL
23/94
Power Plane 1, etc. .GP1, GP2, etc
Mechanical Layer 1, etc. .GM1, .GM2, etc
Top Solder Mask .GTSBottom Solder Mask .GBS
Top Paste Mask .GTP
Bottom Paste Mask .GBP
Drill Drawing .GDD
Drill Drawing; Top to Mid 1, Mid2 to Mid 3, etc.
Drill Guide .GDG
Drill Guide; Top to Mid 1, Mid 2 to Mid 3, etc
Pad Master, Top .GPT
.GD1, GD2, GD3, etc.
.GG1, GG2, GG3, etc.
Pad Master, Bottom .GPB
Keep out Layer .GKO
Gerber Panels .PO 1, .P02, etc.
23
-
7/28/2019 Report-Gaurav Banti PROTEL
24/94
24
-
7/28/2019 Report-Gaurav Banti PROTEL
25/94
Links:-
Setting up the Gerber file options
Working in PCB documents
Generating the manufacturing files
Gerber file output setup
Printing and plotting a schematic
Protel 99 includes support for a wide variety of hard copy options for schematic sheets.
Virtually any device that is supported by Windows can be used to print or plot your schematic
drawings.
Schematic printing and pen-plotting are handled similarly to other Windows applications.
Windows manages the printing (or plotting) process and provides a range of raster and
PostScript printer drivers and vector plotter drivers. These range from 9 pin dot matrix printers
and multi-pen plotters, to high-resolution raster image setters.
25
-
7/28/2019 Report-Gaurav Banti PROTEL
26/94
To setup to print or plot from the active schematic or schematic library, select the File Setup
Printer menu item (shortcut: F, R). This will open the Schematic Printer Setup dialog, allowing
you to choose a printer and set up the output options.
To start the print process, click the Print button in the Schematic Printer Setup dialog, or from aschematic select File Print from the menus.
Tiling a schematic for printing:- When the size of the sheet or library document to be printed
exceeds the print area available on the target device, it will automatically be cut and printed
across two or more sheets, or tiles. The sheets are tiled such that the correct margin is
maintained at the outer edge of each sheet. You can preview the result of tiling by opening the
Schematic Printer Setup dialog box and pressing the Refresh button. A preview of the output
will be shown in dialog.
It is often possible to reduce the number of sheets required to tile a print, by changing the
printer page orientation and adjusting margins. Experiment while in Preview mode to obtain
the best match before printing.
Schematic PostScript printing issues:- Some PostScript printers will "time out" and discard the
current data when they don't receive the end of page marker within a specified time. This can
cause problems where you seem to be missing pages from your plots. If you experience this
problem using a PostScript printer or any other printing device, open the Windows Control
Panel, select the printer icon, select the printer and click the Configure button. Change the
Transmission Retry to 500 seconds, or some other large number. This will allow the printer
sufficient time to catch up before the Print Manager gives up.
If you find your printout is incomplete, say all the components are there but not all the wires,
there may be insufficient memory in the printer. Laser printers must capture the entire image in
memory before printing it, so if does not all fit in memory, then the image in memory is printed
as is.
Introduction to CircuitCAM
This manual is an introduction into the operation of CircuitCAM V3.1 and V3.2 for Windows
TM. You can use CircuitCAM to import, check and edit circuit board production data in
various CAM formats, and then output them again into a CAM format (LMD/HP-GL).
26
-
7/28/2019 Report-Gaurav Banti PROTEL
27/94
CircuitCAM is particularly useful in calculating the isolation channels between the conductor
tracks in circuit board prototype production using LPKF circuit board plotters.
Another major usage of CircuitCAM is for the production of high quality Stencils, needed forthe soldering process of fine pitch SMD PCBs. For this purpose CircuitCAM is extended to
prepare the data for a Stencil-LASER from a pad-layout.
CircuitCAM is available in five different variant, optimized for different purposes:
CircuitCAM DEMO to test its functionality without being able to store the resulting
data.
CircuitCAM LITE is the low cost solution. It includes most of the functionality of the
PCB variant, but has an optimized user interface for infrequent usage and is limited for
2 insulation tools.
CircuitCAM PCB is the standard variant with full insulate functionality.
CircuitCAM PRO includes the PCB variant plus additional shape manipulations and
Export functionality.
CircuitCAM STENCIL includes the PCB variant together with the ability to prepare
data for the STENCIL Laser.
27
-
7/28/2019 Report-Gaurav Banti PROTEL
28/94
28
-
7/28/2019 Report-Gaurav Banti PROTEL
29/94
Programming In C Language
The C programming language (often, just "C") is a general-purpose, procedural, imperative
computer programming language developed in the early 1970s by Dennis Ritchie for use on the
Unix operating system. It has since spread to many other operating systems, and is now one of themost widely used programming languages. C has also had a great influence on most other popular
languages, especially C++ which was originally designed as an enhancement to C. It is
distinguished for the efficiency of the code it produces, and is the most commonly used
programming language for writing system software, though it is also widely used for writing
applications. Though not originally designed as a language for teaching, and despite its somewhat
unforgiving character, C is commonly used in computer science education, in part because the
language is so pervasive. Note that C# is a very different programming language.
C also has the following specific properties:
Low-level access to computer memory via machine addresses and pointers
Function pointers allow for a rudimentary form of closures and runtime polymorphism
A standardized C preprocessor for macro definition, source code file inclusion,
conditional compilation, etc.
A simple, small core language, with functionality such as mathematical functions andfile handling provided by library routines
C (and partially B) was the language that orginally discarded well established operators
such as and, or and = (for equality test).
As a systems implementation language, C lacks features found in other
languages:
No non-scalar operations such as copying of arrays or strings (old versions of C did not
even copy structs automatically).
No automatic garbage collection
No bounds checking of arrays (expensive in languages with only scalar operations)
29
-
7/28/2019 Report-Gaurav Banti PROTEL
30/94
No semi-dynamic (i.e. stacked, runtime-sized) arrays until the C99 standard (despite
not requiring garbage collection).
No syntax for ranges, such as the A..B notation used in both newer and older languages
(does not fit scalar-only semantics well).
No nested functions, though the GCC compiler provides this feature as an extension
No closures or functions as parameters, only machine-level function pointers
No generators or coroutines; intra-thread control flow consists of nested function calls,
barring the (somewhat arcane) use of the longjmp or setcontext library functions
No exception handling; standard library functions signify error conditions with the
global errno variable
Very rudimentary support for modular programming; a cumbersome compilation model
dependent on operating system-specific tools.
No compile-time polymorphism in the form of function or operator overloading; only
rudimentary support for generic programming
No support for object-oriented programming, although C++ was originally
implemented as a preprocessor that translated C++ into C; there are libraries offering
object systems for C, and many object-oriented languages are themselves written in C
No native support for multithreading and networking, though these facilities are
provided by popular libraries
Although the list of built-in features C lacks is long, this has contributed significantly to its
acceptance, as new C compilers can be developed quickly for new platforms. The relatively
low-level nature of the language affords the programmer close control over what the program
is doing, while allowing solutions that can be specially tailored and aggressively optimized for
a particular platform. This allows the code to run efficiently on very limited hardware, such as
mass-produced consumer embedded systems, which today are as capable as the first machines
used to implement C. Often, only hand-tuned assembly language code runs faster, although
advances in compiler technology have narrowed this gap.
30
-
7/28/2019 Report-Gaurav Banti PROTEL
31/94
1.1 Variables
In C, a variable must be declared before it can be used. Variables can be declared at the start of
any block of code, but most are found at the start of each function. Most local variables are
created when the function is called, and are destroyed on return from that function
C provides a wide range of types. The most common are
All of the integer types plus the char are called the integral types. float and double are called
the real types.
1.2 Constants
A C constant is usually just the written version of a number. For example 1, 0, 5.73, 12.5e9.
We can specify our constants in octal or hexadecimal, or force them to be treated as long
integers.
Octal constants are written with a leading zero - 015.
Hexadecimal constants are written with a leading 0x - 0x1ae.
Long constants are written with a trailing L - 890L.
Character constants are usually just the character enclosed in single quotes; 'a', 'b', 'c'. Some
characters can't be represented in this way, so we use a 2 character sequence.
31
-
7/28/2019 Report-Gaurav Banti PROTEL
32/94
1.3 Arrays
An array is a collection of variables of the same type. Individual array elements are identified
by an integer index. In C the index begins at zero and is always written inside square brackets.
We have already met single dimensioned arrays which are declared like this int results[20];
Arrays can have more dimensions, in which case they might be declared as
int results_2d[20][5];
int results_3d[20][5][3];
Each index has its own set of square brackets.
Where an array is declared in the main function it will usually have details of dimensions
included. It is possible to use another type called a pointer in place of an array. This means that
dimensions are not fixed immediately, but space can be allocated as required. This is an
advanced technique which is only required in certain specialized programs. When passed as an
argument to a function, the receiving function need not know the size of the array. So for
example if we have a function which sorts a list (represented by an array) then the function will
be able to sort lists of different sizes. The drawback is that the function is unable to determine
what size the list is, so this information will have to be passed as an additional argument
32
-
7/28/2019 Report-Gaurav Banti PROTEL
33/94
To insert an element in an array:
33
STARTRT
INPUTa [11],pos,value
Is
k > pos
k = 11
k = k-1
NO
a [k] = a[k-1]
PRINT a [j]
a [pos] =value
j = 0
j = j+1
Isj
-
7/28/2019 Report-Gaurav Banti PROTEL
34/94
To delete an element from an array:
34
STARTRT
INPUTa [11], pos, value
k = posIs
k < 11k = k+1
NO
a [k] = a[k+1]
PRINT a [j]
j = 0
j = j+1
Isj
-
7/28/2019 Report-Gaurav Banti PROTEL
35/94
Program to Print sum of any two numbers:-
#include
#include
Void main( )
{
int a,b,c;
clrscr( )
printf(enter a=);
scanf(%d,&a);
printf(enter b=);
scanf(%d,&b);
c=a+b;
printf(sum=%d,c);
getch( );
}
35
-
7/28/2019 Report-Gaurav Banti PROTEL
36/94
Program to add Digits of a four digit number:-
#include
#include
void main()
{
int a, b, c, d, e;
clrscr();
printf("enter any 4-digit number =\n");
scanf("%d",&a);
b=a%10;
a=a/10;
c=a%10;a=a/10;
d=a%10;
a=a/10;
e=a+b+c+d;
printf(sum of 4-digit no.=%d,e);
getch();
}
36
-
7/28/2019 Report-Gaurav Banti PROTEL
37/94
37
-
7/28/2019 Report-Gaurav Banti PROTEL
38/94
Operational Amplifier
IntroductionOp-amp is a direct coupled high gain amplifier usually consist of one or more differential
amplifier & usually followed by level translator & output stage, which do the operation of
adding subtraction and multiplication.
It consists following four parts:
Input Stage: it is the dual input, balanced out put differential amplifier. This stage generally
provides over all gain and gives high input impedance.
Intermediate Stage: The intermediate stage is dual input, unbalanced output.
Level Shifter: It is used after the intermediate stage to shift the dc level at the out put of the
intermediate stage downward to zero with respect to ground.
Out put Stage: It is usually a push pull complementary amplifier out put stage. the out put
stage increases the out voltage swing and raises the current supplying the capability of the op-
amp. This stage also provides low out put resistance.
Block Diagram of Op-Amp
38
-
7/28/2019 Report-Gaurav Banti PROTEL
39/94
Some important terms
Input offset voltage: -Input offset voltage is the voltage that is applied between the two input
terminals of an op-amp to null the output.
Input Offset Current: - The algebraic difference between the current into the inverting and
non-inverting terminals is referred to as input off set current.
Iio=|IB1-IB2 |
39
-
7/28/2019 Report-Gaurav Banti PROTEL
40/94
Input bias current: - Input bias current is the average of the current that flow into the
inverting and non-inverting input terminals of the op-amp.
Differential Input Resistance: - It is the equivalent resistance that can be measured at eitherinverting or non-inverting input terminal with other terminal connected to ground.
Input Capacitance: - It is the equivalent capacitance that can be measured at either inverting
or non-inverting input terminal with other terminal connected to ground.
Input Voltage Range: - it is the range of common mode voltages over which the offset
specifications apply. It is mainly used for test purposes.
Common Mode Rejection Ratio: - CMRR is the ratio of the differential voltage gain (Ad) to
the common mode voltage gain (Acm).
CMRR=Ad/Acm
Acm=Vocm/Vcm
The ideal op-amp would exhibit the following electrical characteristics: -
Op-amp operates in two following configurations:
Open loop
Closed loop
40
-
7/28/2019 Report-Gaurav Banti PROTEL
41/94
Difference between Open Loop and Closed Loop
Open Loop
1. It has very high voltage gain.2. But it has the disadvantage of that its output voltage and the stability is changed with
change in temperature and supply voltage.
3. It amplifies the small input signal of low frequency.
4. It has low bandwidth 0f about 5 kHz.
Closed Loop
1. It has low voltage gain.
2. Its output voltage and stability doesn't effected by the change in temperature and supplyvoltage.
3. It is frequency independent, thus its stability doesn't change with change in frequency.
4. It has high band width, thus it amplifies large input signal.
Open-loop OP-AMP configurations
There are three open loop op-amp configurations:
1. Differential Amplifier: the op-amp amplifies the difference between two input signals, this
configuration is called differential amplifier.
2. Inverting Amplifier: When one input signal is applied to the inverting terminal and other
terminal grounded. Then the output voltage is out of phase with respect to the input by
180degree or is of opposite polarity.
3. Noninverting Amplifier: When one input signal is applied to the non inverting terminal and
other input grounded .then the output voltage is in same phase with respect to the input.
Closed Loop OP-AMP Configuration
Closed loop have two feedbacks:
Positive Feedback: The signal fed back is of the same polarity or in phase with input
signal. In positive feedback signal aids the input signal thus it is called regenerative feedback.
Thus it is used in oscillator circuit.
41
-
7/28/2019 Report-Gaurav Banti PROTEL
42/94
Negative Feedback: the signal fed back is of opposite polarity or in out of phase with input
signal. An amplifier with negative feed back has self correcting capability against any change
in output voltage caused by environmental conditions .negative feedback is also calleddegenerative feedback. When used it degenerates the output voltage and in turn reduces the
voltage gain.
INTEGRATOR
A circuit in which the output voltage waveform is the integral of the input wave form is
called integrator.
With the application of square wave it generates the triangular wave.
With the application of sine wave it generates the cosine wave.
Circuit Diagram of Integrator
Wave form of Integrator Output
42
-
7/28/2019 Report-Gaurav Banti PROTEL
43/94
DIFFERENTIATOR
A circuit in which the output wave form is the differentiation of input wave form is
called differentiator.
With the application of square wave it generates spikes.
With the application of sine wave it also produce cosine wave.
Circuit diagram of Differentiator
43
-
7/28/2019 Report-Gaurav Banti PROTEL
44/94
Wave form of Differentiator
First Order Low Pass FilterA low pass filter passes the low frequencies signal and block high frequencies signal. It
shows constant gain from 0 to a high cut off frequencies. At high cut of frequencies the
gain is down by 3 db.
44
-
7/28/2019 Report-Gaurav Banti PROTEL
45/94
Second Order Low Pass Filter
Its gain is down by 6 db at high cut of frequencies.
First Order High Pass Filter
A high pass filter passes the high frequencies signals and blocks the low frequencies
signal. It blocks the low frequencies signal from 0 to low cutoff frequencies. For the first
order high pass signal the gain increases by 20 db/decade in the stop band.
Second Order High Pass Filter
Its gain increases 40db/decade in stop band.
All Pass Filter
All pass filters passes all frequencies components of the input signal without attenuation,
while providing predictable phase shifts for the different frequencies of the input signal.
Oscillators
An oscillator is a circuit that generates a repetitive wave form of fixed amplitude and
frequency without any external input signal.
The two requirements for oscillations:
1. The magnitude of the loop gain AB must be at least 1
2. The total phase shift of open loop gain AB must be equal to 0 degree or 360 degree.
Types of oscillator
Square wave generator
When the op-amp is forced to operate in saturation square wave are generated.
This mean the output of op-amp is forced to swing repetitively between positive +Vsat
(=+Vcc) and negative Vsat.
Square wave generator is also called a free-running or multivibrator.
The output off set voltage (Volt) will initiate the oscillation.
45
-
7/28/2019 Report-Gaurav Banti PROTEL
46/94
Circuit diagram of square wave generator
Triangular wave generator
The triangular wave generator can be formed by connecting an integrator to a square
wave generator.
The frequency of triangular wave generator is same as that of square wave
Circuit diagram of triangular wave generator
46
-
7/28/2019 Report-Gaurav Banti PROTEL
47/94
Schmitt Trigger
An inverting comparator with positive feedback.
This circuit converts an irregular-shaped wave form to square wave pulse
The input voltage triggers the out put every time it exceeds certain voltage levels called the
upper threshold voltage and lower threshold voltage.
Thus if the thresholds are made larger than the input noise voltage will eliminate the falls
output transition.
Also the positive feed back because of its regenerative action, will make output voltage
switch faster between +Vsat and Vsat.
Circuit diagram of Schmitt trigger
Voltage limiters
To keep the out put voltage swing within specific limits op-amp are used with externally wired
component such as zeners or diodes the resultant circuits ,in which the output are limited to
predetermined values , are called limiters.
Voltage limiter
47
-
7/28/2019 Report-Gaurav Banti PROTEL
48/94
Waveform of voltage limiter
Clippers
A circuit that removes positive and negative part of the input signal, can be formed by the
using an op-amp with a rectifier diode is called positive or negative clipper. In these circuit the
op-amp is basically Used as a voltage follower with a diode in the feedback circuit.
The clipping level is determined by the reference voltage level Vref which should be less then
the input voltage range of the op-amp.
Positive clipper
48
-
7/28/2019 Report-Gaurav Banti PROTEL
49/94
49
-
7/28/2019 Report-Gaurav Banti PROTEL
50/94
Waveform of positive clipper
Clampers
In clamper circuits a predetermined dc level is added to the output voltage.
In other words the output is clamped to a desired dc level.
If the clamped dc level is positive the clamper is a positive clamper.
If the clamped dc level is negative, the clamper is called a negative clamper
Positive clamper
50
-
7/28/2019 Report-Gaurav Banti PROTEL
51/94
Waveform
Peak detector
Peak detector that measures the positive peak values of the square wave input.
During the positive half cycle of Vin the output of the op-amp drives D1 on, chargingcapacitor C to the positive peak value Vp of the input voltage Vin. Thus, when D1 is
forward biased, the op-amp operates as a voltage follower.
On the other hand, during the negative half cycle of Vin, diode D1 is reverse biased and
voltage across C is retained. The only discharge path for C is through Rl since the input
bias current Ib is negligible.
51
-
7/28/2019 Report-Gaurav Banti PROTEL
52/94
Peak detector
Waveform
Simple and hold circuit
Sample an input signal and holds on to its at last sampled value until the input is sampled
again.
Sample-and-hold circuit is formed by using op-amp with an E-MOSFET.
E-MOSFET works as a switch .And controlled by the sample-and-hold control voltage.
Capacitor C serves as a storage element.
52
-
7/28/2019 Report-Gaurav Banti PROTEL
53/94
Sample and hold circuit
Waveform
Peaking amplifier
The peaking amplifier provides high gain at resonant frequency. In peaking amplifier a tuned
circuit is connected in parallel with feedback resistor. At resonant frequency the impedance of
tuned circuit is very high thus it provides high gain.
53
-
7/28/2019 Report-Gaurav Banti PROTEL
54/94
POWER SUPPLY FOR DIGITAL CIRCUITS
Summary of circuit features
Brief description of operation: Gives out well regulated +9V output, output current
capability of 100 mA.
Circuit protection: Built-in overheating protection shuts down output when regulator
IC gets too hot.
Circuit complexity: Simple and easy to build.
Circuit performance: Stable +9V output voltage, reliable operation.
Availability of components: Easy to get, uses only common basic components.
Design testing: Based on datasheet example circuit, I have used this circuit
successfully as part of other electronics projects.
Applications: Part of electronics devices, small laboratory power supply.
Power supply voltage: Unregulated DC 8-18V power supply.
Power supply current: Needed output current 1A.
Components cost: Few rupees for the electronic components plus the cost of input
transformer.
54
-
7/28/2019 Report-Gaurav Banti PROTEL
55/94
DESCRIPTION OF POWER SUPPLY
This circuit is a small +12 volts power supply, which is useful when experimenting with digital
electronics. Small inexpensive wall transformers with variable output voltage are available
from any electronics shop. Those transformers are easily available, but usually their voltage
regulation is very poor, which makes them not very usable for digital circuit experimenter
unless a better regulation can be a
chieved in some way. The following circuit is the answer to the problem.
This circuit can give +12V output at about 1A current. The circuit has overload and terminal
protection.
IN 4007
1 3 +12V
2
4700 uf 1000 uf
Circuit diagram of power supply
The above circuit utilizes the voltage regulator IC 7812 for the constant power supply. The
capacitors must have enough high voltage rating to safely handle the input voltage feed to
circuit. The circuit is very easy to build for example into a piece of Vero board.
55
7812
-
7/28/2019 Report-Gaurav Banti PROTEL
56/94
1 2 3
Pin diagram of 7812 regulator IC
PIN 1 : Unregulated voltage input
PIN 2 : Ground
PIN 3 : Regulated voltage output
Component list
1. 7812 regulator IC.
2. 4700 uf electrolytic capacitor, at least 25V voltage rating.
3. 1000 uf electrolytic capacitor, at least 25V voltage rating.
56
-
7/28/2019 Report-Gaurav Banti PROTEL
57/94
7 SEGMENT DISPLAYS
The 7 segment display is used as a numerical indicator on many types of test equipment. It is
an assembly of light emitting diodes which can be powered individually. They most commonly
emit red light. They are arranged and labeled as shown in the diagram. Powering all the
segments will display the number 8.Powering a, b, c, d, and g will display the number 3.
Numbers 0 to 9 can be displayed. The d.p represents a decimal point. The one shown is a
common anode display since all anodes are joined together and go to the positive supply. The
cathodes are connected individually to zero volts. Resistors must be placed in series with each
diode to limit the current through each diode to a safe value. Early wrist watches used this type
of display but they used so much current that the display was normally switched off. To see the
time you had to push a button. Common cathode displays where all the cathodes are joined are
also available. Liquid crystal displays do a similar job and consume much less power.
Alphanumeric displays are available which can show letters as well as numbers.
57
-
7/28/2019 Report-Gaurav Banti PROTEL
58/94
The seven-segment LED display has four individual digits, each with a decimal point. Each of
the seven segments (and the decimal point) in a given digit contains an individual LED. When
a suitable voltage is applied to a given segment LED, current flows through and illuminates
that segment LED. By choosing which segments to illuminate, any of the nine digits can be
shown. For example, as shown in the figure below, a 2 can be displayed by illuminating
segments a, b, d, e, and g.
Seven segment displays come in two varieties - common anode (CA) and common cathode
(CC). In a CA display, the anodes for the seven segments and the decimal point are joined intoa single circuit node. To illuminate a segment in a CA display, the voltage on a cathode must
be at a suitably lower voltage (about .7V) than the anode. In a CC display, the cathodes are
joined together, and the segments are illuminated by bringing the anode voltage higher than the
cathode node (again, by about .7V). The Dig lab board uses CA displays.
The seven LEDs in each digit are labeled a-g. Since the Dig lab board uses CA displays, the
anodes for each of the four digits are connected in a common node, so that four separate anode
circuit nodes exist (one per digit). Similar cathode leads from each digit have also been tied
together to form seven common circuit nodes, so that one node exists for each segment type.
These four anode and seven cathode circuit nodes are available at the J2 connector pins labeled
A1-A4 and CA-CG. With this scheme, any segment of any digit can be driven individually.
For example, to illuminate segments b and c in the second digit, the b and c cathode nodes
would be brought to a suitable low voltage (by connecting the corresponding circuit node
58
-
7/28/2019 Report-Gaurav Banti PROTEL
59/94
available at the J2 connector to ground), and anode 2 would be brought to a suitable high
voltage (by connecting the corresponding circuit node available at the J2 connector to Vdd).
The Dig lab board uses two 2-digit displays to create a single 4-digit display. These displays
use the reference designators DSP1 and DSP2, and they appear as relatively large rectangular
boxes on the silk screen. Since they contain LEDs, they must be loaded into the board with the
correct orientation or they will not function - the displays must be loaded with the decimal
points nearest the slide switches.
59
-
7/28/2019 Report-Gaurav Banti PROTEL
60/94
60
-
7/28/2019 Report-Gaurav Banti PROTEL
61/94
DIGITAL TO ANALOG CONVERTER
D/A Converters with binary weighted resistors: - it uses an op-amp & binary weighted
resistors. These are connected to either ends. The no of binary input is four the converter is 4bit converter because there are 16 combinations; an analog o/p should have 16 corresponding
values.
D/A converter with R & 2R resistors: - the binary inputs are simulated by switches b0 through
b3,& the o/p is proportional to the binary I/P. Binary I/P are either be high or low assume most
significant bit switch b3 is connected to 5v & other switch are connected to ground.
Rth= [{(2R||2R+R)||2R}||2R]+R
A/D CONVERTER
SUCCESSIVE-APPROXIMATION METHOD:- The heart of the circuit is an 8bit successive
approximation resistor (SAR) whose o/p is applied to an 8 bit D/A converter. The analog o/p of
the D/A converter is then compared to an analog input-output signal by the comparator .The
o/p of the comparator is a serial data input to the SAR.
61
-
7/28/2019 Report-Gaurav Banti PROTEL
62/94
MIROCONTOLLER 89C2051
8-bit Microcontroller with 2K Bytes Flash
Compatible with MCS-51 Products
2K Bytes of Reprogrammable Flash Memory
Endurance: 1,000 Write/Erase Cycles
2.7V to 6V Operating Range
Fully Static Operation: 0 Hz to 24 MHz
Two-level Program Memory Lock
128 x 8-bit Internal RAM
15 Programmable I/O Lines
Two 16-bit Timer/Counters Six Interrupt Sources
Programmable Serial UART Channel
Direct LED Drive Outputs
On-chip Analog Comparator
Low-power Idle and Power-down Modes
62
-
7/28/2019 Report-Gaurav Banti PROTEL
63/94
Pin Configuration
Pin Description
VCC Supply voltage.
GND Ground.
Port 1
Port 1 is an 8-bit bi-directional I/O port. Port pins P1.2 to P1.7 provide internal pull up.
P1.0 and P1.1 require external pull-ups. P1.0 and P1.1 also serve as the positive input (AIN0)
and the negative input (AIN1), respectively, of the on-chip precision analog comparator. The
Port 1 output buffers can sink 20mA and can drive LED displays directly. When 1s are written
to Port 1 pins, they can be used as inputs. When pins P1.2 to P1.7 are used as inputs and are
externally pulled low, they will source current (IIL) because of the internal pull-ups. Port 1 also
receives code data during Flash programming and verification.
63
-
7/28/2019 Report-Gaurav Banti PROTEL
64/94
Port 3
Port 3 pins P3.0 to P3.5, P3.7 are seven bi-directional I/Opins with internal pull-ups.
P3.6 is hard-wired as an input to the output of the on-chip comparator and is not accessible
as a general purpose I/O pin.RST
Reset input. All I/O pins are reset to 1s as soon as RST goes high. Holding the RST pin high
for two machine cycles while the oscillator is running resets the device.
Idle Mode
In idle mode, the CPU puts itself to sleep while all the onchip peripherals remain active. The
mode is invoked by software. The content of the on-chip RAM and all the special functions
registers remain unchanged during this mode. The idle mode can be terminated by any enabled
interrupt or by a hardware reset.
Power-down Mode
In the power down mode the oscillator is stopped, and the instruction that invokes power down
is the last instruction executed. The on-chip RAM and Special Function Registers retain their
values until the power down mode is terminated. The only exit from power down is a hardware
reset. Reset redefines the SFRs but does not change the on-chip RAM. The reset should not be
activated before VCC is restored to its normal operating level and must be held active long
enough to allow the oscillator to restart and stabilize.
Programming Algorithm:
To program the AT89C2051:-
1. Power-up sequence:
Apply power between VCC and GND pins
Set RST and XTAL1 to GND
2. Set pin RST to HSet pin P3.2 to H
3. Apply the appropriate combination of H or L logic levels to pins P3.3, P3.4, P3.5, 3.7 to
select one of the programming operations shown in the PEROM Programming Modes table.
64
-
7/28/2019 Report-Gaurav Banti PROTEL
65/94
To Program Verify the Array:-
1. Apply data for Code byte at location 000H to P1.0 toP1.7.
2. Raise RST to 12V to enable programming.
3. Pulse P3.2 once to program a byte in the PEROM array or the lock bits. The byte-write cycleis self-timed and typically takes 1.2 ms.
4. To verify the programmed data, lower RST from 12V to logic H level and set pins P3.3 to
P3.7 to the appropriate levels. Output data can be read at the port P1 pins.
5. To program a byte at the next address location, pulse XTAL1 pin once to advance the
internal address counter. Apply new data to the port P1 pins.
6. Repeat steps 5 through 8, changing data and advancing the address counter for the entire 2K
bytes array or until the end of the object file is reached.
7. Power-off sequence:
Set XTAL1 to L
Set RST to L
Turn VCC power off
AT89S8252 Features:-
1. Compatible with MCS-51 Products
2. 8K Bytes of In-System Reprogrammable Downloadable Flash Memory
-SPI Serial Interface for Program Downloading
-Endurance: 1,000 Write/Erase Cycles
3. 2K Bytes EEPROM
4. 4V to 6V Operating Range
5. Fully Static Operation: 0 Hz to 24 MHz
6. Three-level Program Memory Lock7. 256 x 8-bit Internal RAM
8. 32 Programmable I/O Lines
9. Three 16-bit Timer/Counters
10.Nine Interrupt Sources
11. Programmable UART Serial Channel
65
-
7/28/2019 Report-Gaurav Banti PROTEL
66/94
12. SPI Serial Interface
13. Low-power Idle and Power-down Modes
14. Interrupt Recovery From Power-down
15. Programmable Watchdog Timer
16. Dual Data Pointer
17. Power-off Flag
66
-
7/28/2019 Report-Gaurav Banti PROTEL
67/94
PIN DIAGRAM OF AT89C52
67
-
7/28/2019 Report-Gaurav Banti PROTEL
68/94
PIN DESCRIPTION OF AT89S8252
1. VCC Supply voltage.
2. GND Ground.
3. Port 0:- Port 0 is an 8-bit open drain bi-directional I/O port. As an output port, each pin
can sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as
high impedance inputs.
4. Port 1:- Port 1 is an 8-bit bi-directional I/O port with internal pullups. The Port 1
output buffers can sink/source four TTL inputs. When 1s are written to Port 1 pins, they
are pulled high by the internal pullups and can be used as inputs. As inputs, Port 1 pinsthat are externally being pulled low will source current (IIL) because of the internal pull
ups.
5. Port 2:- Port 2 is an 8-bit bi-directional I/O port with internal pullups. The Port 2
output buffers can sink/source four TTL inputs.
6. When 1s are written to Port 2 pins, they are pulled high by the internal pullups and can
be used as inputs. As inputs, Port 2 pins that are externally being pulled low will source
current (IIL) because of the internal pullups.
7. Port 3:- Port 3 is an 8 bit bi-directional I/O port with internal pullups. The Port 3
output buffers can sink/source four TTL inputs. When 1s are written to Port 3 pins, they
are pulled high by the internal pullups and can be used as inputs.
8. RST:- Reset input. A high on this pin for two machine cycles while the oscillator is
running resets the device.
9. XTAL1:- Input to the inverting oscillator amplifier and input to the internal clock
operating circuit.
10. XTAL2:- Output from the inverting oscillator amplifier.
11. Timer 0 and 1:- Timer 0 and Timer 1 in the AT89S8252 operate the same way as
Timer 0 and Timer 1 in the AT89C51, AT89C52 and AT89C55. For further
information, see the October 1995 Microcontroller Data Book, page 2-45, section titled,
Timer/Counters.
68
-
7/28/2019 Report-Gaurav Banti PROTEL
69/94
12. Timer 2:- Timer 2 is a 16 bit Timer/Counter that can operate as either a timer or an
event counter. The type of operation is selected by bit C/T2 in the SFR T2CON (shown
in Table 2). Timer 2 has three operating modes: capture, auto-reload (up or down
counting), and baud rate generator. The modes are selected by bits in T2CON; Timer 2consists of two 8-bit registers, TH2 and TL2. In the Timer function, the TL2 register is
incremented every machine cycle. Since a machine cycle consists of 12 oscillator
periods, the count rate is 1/12 of the oscillator frequency.
Liquid Crystal Display(LCD)
INTRODUCTION
The ORIOLE DISPLAY MODULE is a dot matrix liquid crystal display that displays
alphanumeric, kana (Japanese) characters and symbols. The built in controller & driver LSIs
provide convenient connectivity between a dot matrix LCD and most 4-8 bit micros or
microcs.All the functions required for dot matrix crystal display drive are internallyprovided .Internal refresh is provided by the ODM. The CMOS technology makes the device
ideal for application in hand held, portable and other battery powered instruments with low
consumption.
FEATURES
Easy interface with a 4 bit or 8 bit MPU.
Built in dot matrix LCD controller with font 5*7 or 5*10dots.
Display data RAM for 80 characters (80*8bits)
Character generator ROM, which provides 160 characters with font 5*7 dots and 32
characters with font 5*10 dots.
Both display data and character generator RAMs can be read from the MPU.
69
-
7/28/2019 Report-Gaurav Banti PROTEL
70/94
Internal automatic reset circuit at power ON.
Build in oscillator circuit .(no external ckt is required)
Wide range of instruction functions, clear display, cursor home, display on/off, cursor
on/off, cursor shift, display shift.
70
-
7/28/2019 Report-Gaurav Banti PROTEL
71/94
LCD INITIALIZATION
-
7/28/2019 Report-Gaurav Banti PROTEL
72/94
ABBREVATED INFORMATION
I/D = 1 : Increment
= 0 : Decrement
S = 0 : Accompanies display shift
S/C = 1 : Display shift
= 0 : Cursor move
R/L = 1 : Shift to right
= 0 : Shift to left
DL = 1 : 8-bits
= 0 : 4-bits
N = 1 : 2-lines
= 0 : 1-line
F = 1 : 5*10 Dots
= 0 : 5*8 Dots
BF = 1 : Internally operating
= 0 : Can accept instruction.
DDRAM : Display data RAM
CGRAM : Character generator RAM
ACG : CG RAM addressADD : DD RAM address corresponds to cursor address
AC : Address counter used for DD and CG RAM address.
OPERATIONAL OVERVIEW : -
Busy Flag: When the busy flag is HIGH level, it indicates that the internal operation mode
and the next instruction will not be accepted. When R/W is 1 and RS is 0,the busy flag is
o/p from DB7 . The next instruction must be written after the busy flag goes low.
Address Counter (AC): The AC generates the address for the DDRAM, the CGRAM and
for the cursor display. When an instruction code for DD or CGRAM address is written to the
-
7/28/2019 Report-Gaurav Banti PROTEL
73/94
controller, after deciding whether it is DDRAM or CGRAM, the address information is
transferred to AC.
After writing into (or reading from) DD or GRAM display data , AC is automatically
incremented (or decremented) .The data of the AC is output to DB0 ~DB6 when RS is 0
and R/W is 1.
Character Generator ROM (CGROM): The character generator ROM generates 5*7 dot
or 5*10 dot character patterns from 8-bit character codes.
When the 8-bit character code of a CGROM is written to the DDRAM, the character pattern
of the CGROM corresponding to the code is displayed on the LCD display position
corresponding to the DDRAM.
Character Generator RAM (CGRAM): The character generator RAM (CGRAM) is the
RAM with which the user can generate character patterns by program. The CGRAM has the
capacity to store 8 kinds of 5*7 or 4 kinds of 5*10 dots. Programming of these character
patterns is explained in CGRAM programming.
Display Data RAM (DDRAM): The display data RAM (DDRAM) stores display data
represented in 8-bit (Hex-decimal) character codes its capacity is 80*8 bits or 80 characters.
The DDRAM that is not used for display can be used as general data RAM. LCD will select
the character pattern either from CGROM or CGROM.
Underline / Blinking Cursor: Cursor is under the control of the MPU programe.The display
of the cursor on t5he LCD is made at a position corresponding to the DDRAM address set to
the address counter (AC).
-
7/28/2019 Report-Gaurav Banti PROTEL
74/94
PROGRAM FOR TRAFFIC LIGHT CONTROL:-
#include
#include
Void delay( );
Void main( );
{
While(1)
{
P3=0X24;
P1=0X21;
Delay(10)
P3=0X24;
P1=0X22;
Delay(2)
P3=0X24;
P1=0X0C;
Delay(10)
P3=0X24;
P1=0X14;
Delay(2)
P3=0X21;
P1=0X24;
Delay(10)
P3=0X22;
P1=0X24;
Delay(2)
-
7/28/2019 Report-Gaurav Banti PROTEL
75/94
P3=0X0C;
P1=0X24;
Delay(10)
P3=0X14;
P1=0X24;
Delay(2)
}
}
Void delay( )
{
Unsigned int a,I,j;
For(i=0;i
-
7/28/2019 Report-Gaurav Banti PROTEL
76/94
VLSI (Verilog HDL)
-
7/28/2019 Report-Gaurav Banti PROTEL
77/94
VLSI
(Very Large Scale Integration)
INTRODUCTION:-
The Process of integration hundreds or thousands of components on a single chip.
Advantages :-
o Small in size
o Low cost
o Low power
o High reliability
o More functionality
Disadvantages:-
Long design & fabrication time, higher risk to protect.
-
7/28/2019 Report-Gaurav Banti PROTEL
78/94
A simple VLSI design circuit:-
System spefication
Architectural design
Functional design
Logic design
Circuit design
Physical design
Fabrication
Packaging & Testing
1. System spefication:-
it is high level representation of the system.
Factors considerd include
o Performance
o
Functionalityo Physical dimension
o Design technique
o Fabrication technology
2. Architecture design:-
-
7/28/2019 Report-Gaurav Banti PROTEL
79/94
Basic architectural of the system are also specified such as-
o Floating, such as point
o RISC versus CISC processor
o Number of ALUs
o Number & structure of pipeline
o Size of cache
Etc
3. Behavior of Function design:-
Used to specify behavior of
o Input
o Output
o Timing of each unit
4. Logic design:-
o Boolean expression
o Control flow
o Word width
o Register allocation
5. Circuit design:-
Circuit simulation is used to verify the correction & timing of components.
6. Physical design:-
Exact details depends upon design rule
7. Fabrication:-
Process includes lithography, polishing, diffusion, etc to produce a chip
8. Packaging & Testing:-
Finally the wapor is fabricated & derived into individual chip in a fabrication facility
chips used in PCB are in a package in dual.
Design Rule / Technology / Methodology:-
1.Top down
-
7/28/2019 Report-Gaurav Banti PROTEL
80/94
2.Bottom up
In top down method circuit is made from top level to bottom level. And in Bottom up method
circuit is made from down to top level.
A combination of top-down & bottom up is used in todays digital design. As designs become
very complex, it is important to follow these structured approaches to manage the design
process.
-
7/28/2019 Report-Gaurav Banti PROTEL
81/94
Verilog HDL
Introduction:-
Verilog, is a hardware description language (HDL) used to model electronic systems. It is
most commonly used in the design and verification ofdigital circuits at the register-transfer
level ofabstraction. It is also used in the verification ofanalog circuits and mixed-signal
circuits.
Hardware description languages such as Verilog differ from software programming
languages because they include ways of describing the propagation of time and signal
dependencies (sensitivity). There are two assignment operators, a blocking assignment (=),
and a non-blocking (
-
7/28/2019 Report-Gaurav Banti PROTEL
82/94
net/variable declarations (wire, reg, integer, etc.), concurrent and sequential statement blocks,
and instances of other modules (sub-hierarchies). Sequential statements are placed inside a
begin/end block and executed in sequential order within the block. However, the blocks
themselves are executed concurrently, making Verilog a dataflow language.
Verilog's concept of 'wire' consists of both signal values (4-state: "1, 0, floating, undefined")
and strengths (strong, weak, etc.). This system allows abstract modeling of shared signal
lines, where multiple sources drive a common net. When a wire has multiple drivers, the
wire's (readable) value is resolved by a function of the source drivers and their strengths.
A subset of statements in the Verilog language are synthesizable. Verilog modules that
conform to a synthesizable coding style, known as RTL (register-transfer level), can be
physically realized by synthesis software. Synthesis software algorithmically transforms the
(abstract) Verilog source into a netlist, a logically equivalent description consisting only of
elementary logic primitives (AND, OR, NOT, flip-flops, etc.) that are available in a
specific FPGA or VLSI technology.
Importance Of HDL:-
HDL have many advantages compare to Traditional Schematic based design.
Designer can write their RTL description without choosing a specific fabrication
technology.
Logic synthesis tool can automatically convert the design to any fabrication
technology.
Since designer work at RTL level, they can optimized and modify the RTL
description until it meets the desire functionality.
Designing with HDL is analogus to compute programming.
DATA TYPE:-NET:- it represent connection between hardware elements, just as real circuits.
Nets have values continuously reven on them by the outputs of device that they are
connected to.
Nets are declare primerly with the keywords wire.
-
7/28/2019 Report-Gaurav Banti PROTEL
83/94
Nets are 1-bit values by default unless they are declare explicitly as vector(default value of
net=z)
Registers:-
It represents data storage elements.
It written value until another value is placed on to them.
In verilog the term register nearly means say that can hold a value.
Verilog registers donot need a clock as hardware register clock.
Hierarchical Modeling Concepts:-
A digital simulation is made up of various components. Understand top-down and bottom-up design methodologies for digital design.
Explain differences between modules and module instances in Verilog.
Describe four levels of abstraction-behavioral, data flow, gate level, and switch level-
to represent the same module.
Describe components required for the simulation of a digital design. Define a
stimulus block and a design block. Explain two methods of applying stimulus.
Design Methodologies:-
There are two basic types of digital design methodologies: a top-down design methodology
and a bottom-up design methodology.
In a top-down design methodology, we define the top-level block and identify the sub-blocks
necessary to build the top-level block. We further subdivide the sub-blocks until we come to
leaf cells, which are the cells that cannot further be divided.
In a bottom-up design methodology, we first identify the building blocks that are available to
us. We build bigger cells, using these building blocks. These cells are then used for higher-
level blocks until we build the top-level block in the design.
Now days, a combination of top-down and bottom-up flows is used. Design architects define
the specifications of the top-level block. Logic designers decide how the design should be
structured by breaking up the functionality into blocks and sub-blocks. At the same time,
-
7/28/2019 Report-Gaurav Banti PROTEL
84/94
circuit designers are designing optimized circuits for leaf-level cells. They build higher-level
cells by using these leaf cells.
The flow meets at an intermediate point where the switch-level circuit designers have created
a library of leaf cells by using switches, and the logic level designers have designed from
top-down until all modules are defined in terms of leaf cells. To illustrate these hierarchical
modeling concepts, let us consider the design of a negative edge-triggered.
Modules:-
Verilog provides the concept of a module. A module is the basic building block in Verilog. A
module can be an element or a collection of lower-level design blocks. Typically, elements
are grouped into modules to provide common functionality that is used at many places in the
design. A module provides the necessary functionality to the higher-level block through its
port interface (inputs and outputs), but hides the internal implementation. This allows the
designer to modify module internals
without affecting the rest of the design.
module () ;
-
7/28/2019 Report-Gaurav Banti PROTEL
85/94
& Bitwise AND
| Bitwise OR
^ Bitwise XOR
~^ or ~ Bitwise XNOR
Logical
! NOT
&& AND
|| OR
Reduction
& Reduction AND
~& Reduction NAND
| Reduction OR
~| Reduction NOR
^ Reduction XOR
~^ or ~ Reduction XNOR
Arithmetic + Addition
- Subtraction
-
7/28/2019 Report-Gaurav Banti PROTEL
86/94
- 2's complement
* Multiplication
/ Division
** Exponentiation (*Verilog-2001)
Relational
> Greater than
< Less than
>= Greater than or equal to
> Logical right shift
-
7/28/2019 Report-Gaurav Banti PROTEL
87/94
>> Arithmetic right shift
-
7/28/2019 Report-Gaurav Banti PROTEL
88/94
PROJECTTRAFFIC SIGNAL CONTROLLER USING A FINITE STATE
MACHINE
We are going to design a traffic signal controller using finite state machine approach.
Specification:-
1. The traffic signal for the main highway gets highest priority because cars are
continuously present on the main highway. Thus, the main highway signal remains
green by default.
2. If cars from the country road arrive at the Traffic signal. The traffic signal for the
country road must turn green only long enough to let cars on the country road go.
3. As soon as there are no cars on the country road, the country road traffic signal turns
yellow & then red and the traffic signal on the main highway turns green again.
4. There is a sensor to detect the country road. The sensor sends a signal X as input to
the controller X=1 if there are cars on the country road otherwise X=0.
-
7/28/2019 Report-Gaurav Banti PROTEL
89/94
5. There are delays on transitions from s1 to s2, from s2 to s3 & from s4 to s0. The
delay must be countable.
FINITE STATE MACHINE (FSM):-
State SignalHgwy Cntry
S0 G(green) R(red)S1 Y(yellow) R(red)S2 R(red) R(red)
S3 R(red) G(green)S4 R(red) Y(yellow)
VERILOG:-define TRUE 1b1
define FALSE 1b1
-
7/28/2019 Report-Gaurav Banti PROTEL
90/94
//delay
define Y2RDELAY 3 //yellow to red delay
define R2GDELAY 2 //red to green delay
module Sig_Control(hwy,cntry,X,clock,clear); // I/o ports
output[1:0] hwy,cntry; //2_Bit output for 3 states of signal green,yellow,red
reg[1:0] hwy,cntry; // declared output signals are registers
input X; //if TRUE, indicates that there is car onthe countryroad, otherwise FALSE
input clock,clear;
parameter RED=2d0,
Yellow=2d1,
G