+ All Categories
Home > Documents > Chapter 6 _ Introduction to an Embedded System and ITs Design _ Microcontrollers & Embedded Systems

Chapter 6 _ Introduction to an Embedded System and ITs Design _ Microcontrollers & Embedded Systems

Date post: 14-Apr-2018
Category:
Upload: amish-verma
View: 244 times
Download: 0 times
Share this document with a friend

of 16

Transcript
  • 7/30/2019 Chapter 6 _ Introduction to an Embedded System and ITs Design _ Microcontrollers & Embedded Systems

    1/16

    1/17/12 Chapter 6 : Introduction to an Embedded System and ITs Design | Microcontrollers & Embedded Syst

    1/16ptuece.loremate.com/microcontroller/node/8

    Microcontrollers & Embedded Systems

    Recommend 3.4k

    Press Ctrl & '+' To enlarge text and pics!

    CHAPTERS

    Home

    Topics

    Chapter 1 : Introduction

    Chapter 2 : 8051 Assembly

    Language Programming

    Chapter 3 : Jump, Loop and

    Call Instructions : I/O Port

    Programming

    Chapter 4 : Serial

    Communication

    Chapter 5 : Real World

    Interfacing

    Chapter 6 : Introduction to an

    Embedded System and ITs

    Design

    Home

    Chapter 6 : Introduction to an Embedded System and ITs Design

    Q. 1. What is an embedded system?

    Ans. It is an electronic device that incorporates micro processors within its

    implementation. The main task of an embedded system is to perform one and only one

    task. Hence, software is stored in ROM chip.

    Q. 2. What are the applications of an embedded system?

    Ans. Embedded systems are found in wide range of application areas. Initially they

    were used for expensive industrial control applications. Today embedded systems havebecome so inexpensive that they are used in almost every electronic product in our

    life.

    Applications

    1. Aerospace e.g. Navigation systems, space exploration.

    2. Automotive e.g. GPS mapping, air bag controls, fuel injection control.

    3. Children Toys e.g. Video games, Robots

    4. Communications e.g. satellite, hubs, switches.

    5. Computer Peripherals e.g. printers, keyboards, modems, scanners etc.

    6. Home e.g. VCRs cameras, sewing machines, intercom.

    7 Industrial e g robots, Elevator Control

    8. Medical e.g. patient monitors, heart pacers.

    Q. 3. In embedded system, the system performance depend upon which

    parameters?

    Ans. This parameter specifies the execution time of an embedded system. It is a

    measure of the time required for the embedded system to execute the desired task.

    The system performance is dependant on the clock frequency on the instructions per

    second. The two main measures of system performance are: -

    1. Latency time: This is time required for the complete execution of a task.

    2. Through put: A number of task can be simultaneously carried out per unit time eg.

    a digital camera.

    Q. 4. Determine whether 8051 can be used to execute single program

    instruction (single stepped) using external circuitry (no software) only?

    Ans. 8051 has no on-chip ROM. In 8051 it is possible to execute a single instruction by

    using PSEN (Program Store Enable) signal. PSEN is output signal and must be

    connected to OE pin of ROM containing the program code. It is important to emphasize

    the role of EA and PSEN when connecting 8031/51 to external ROM. When EA pin is

    connected to GND, the 8031/51 fetches opcode from external ROM by using PSEN.

    Q. 5. What are the two conditions under which program of codes are latched

    from

    external rather than internal memory?

    Ans. We connect the EA pin to indicate the program code is stored in microcontrollers

    on-chip ROM.

    Loremate.com on

    Facebook

    Like 3,483

    http://www.facebook.com/lorematecomhttp://www.addtoany.com/share_save#url=http%3A%2F%2Fptuece.loremate.com%2Fmicrocontroller%2Fnode%2F8&title=Chapter%206%20%3A%20Introduction%20to%20an%20Embedded%20System%20and%20ITs%20Design&description=http://www.facebook.com/lorematecomhttp://www.addtoany.com/share_save#url=http%3A%2F%2Fptuece.loremate.com%2Fmicrocontroller%2Fnode%2F8&title=Chapter%206%20%3A%20Introduction%20to%20an%20Embedded%20System%20and%20ITs%20Design&description=http://ptuece.loremate.com/microcontroller/http://ptuece.loremate.com/microcontroller/node/8http://ptuece.loremate.com/microcontroller/node/7http://ptuece.loremate.com/microcontroller/node/6http://ptuece.loremate.com/microcontroller/node/5http://ptuece.loremate.com/microcontroller/node/4http://ptuece.loremate.com/microcontroller/node/3http://ptuece.loremate.com/microcontroller/node/2http://loremate.com/http://ptuece.loremate.com/microcontroller/
  • 7/30/2019 Chapter 6 _ Introduction to an Embedded System and ITs Design _ Microcontrollers & Embedded Systems

    2/16

    1/17/12 Chapter 6 : Introduction to an Embedded System and ITs Design | Microcontrollers & Embedded Syst

    2/16ptuece.loremate.com/microcontroller/node/8

    To indicate the program code is stored in external ROM, this pin must be connected to

    GROUND.

    2. If our program exceed from 4K then stil EA pin is connected to GROUND.

    Q. 6. Mention and briefly describe the powerful features, the serial port of

    8051.

    Ans. Serial communication is used for transferring data between two systems located

    at distances of 100s of feet to millions of miles apart.

    In this a single data line is used, the byte of data must be converted to serial bits using

    a parallel-in-serial out shift register, then it can be transmitted over a single data line.

    Serial data communication uses two methods, asynchronous and synchronous.

    Q. 7. What are the features of ARM instruction set?

    Ans. It includes a number of features designed to allow the CPU to better pipeline

    them for execution. ARM design use of a 4-bit condition code on the front of every

    instruction, meaning that every instruction can be made a conditional. It also the

    ability to fold shifts and rotates into data processing (arithmetic, logical, register-

    register move) instructions, eg. the C statement a + = (J

  • 7/30/2019 Chapter 6 _ Introduction to an Embedded System and ITs Design _ Microcontrollers & Embedded Systems

    3/16

    1/17/12 Chapter 6 : Introduction to an Embedded System and ITs Design | Microcontrollers & Embedded Syst

    3/16ptuece.loremate.com/microcontroller/node/8

    Ans. The instruction command codes that can be sent to LCD to clear the display or

    force the cursor to home position or blink the cursor. RB = 0 to check the busy flag bit

    to see if LCD is ready to receive information. The busy flag is D7 and can be read with

    when R/W =1 and RS 0 when D7 1, LCD is busy taking care of internal operations and

    will not accept any new information. When D7= 0, LCD is ready to receive new

    information.

    Q. 13. List design technology of an Embedded System.

    Ans. It involves in the way which we implement the concept of designed system

    functionality.

    In order to improve the embedded system design, one must know the entire design

    process.

    One process is top down process, which is carried out since past decade.

    In this process the designer defines the system with help of several abstraction levels.

    At system level, the designer describes the system functionality in some language like

    English but preferable an executable language like C called system specification.

    The designer defines these specifications by distributing portions of it among several

    general or single purpose processors, yielding behavioral specification for each

    processor.

    The designer then converts these specifications to register transfer specifications byconverting the behavior on general purpose processors to assembly code.

    Then designer refines the RT level specification of single purpose processor to logical

    specifications.

    Finally the designer refines the remaining specifications into an implementation, that

    consist of machine code for General Purpose Processor and a gate level net list for

    Single Purpose Processors.

    Q. 14. Explain the design parameters of Embedded System (ES).

    Ans.The various parameters of ES are :

    1. Power :The amount of power consumed by system. By knowing the amount of

    power required by a system we may determine the lifetime of a battery, cooling

    requirements for an Integrated circuit etc.

    2, Non recurring Engg. cost (NRE cost) : It is one time momentary costs that is

    required at the time of designing the system. A number of units can be designed. Once

    a system is designed, additional design cost is not required for other units.

    3. Reliability: The system should be able to work properly even if anything happens

    to the system. The system software must cope up with all kinds of situations without

    human intervention. The amount by which system software can cope with the

    situations without any interventions decides the reliability of embedded system.

    4. Response time: It is time required for embedded system to react to certain

    situations or events quickly. The response time must be as small as possible.5. Flexibility: It is the amount by which the designer can change the functionality of

    ES without bearing a heavy NRE cost. Generally the software of ES is more flexible.

    6. Maintainability: It is the ability by which the designer can change the ES after

    system has been released.

  • 7/30/2019 Chapter 6 _ Introduction to an Embedded System and ITs Design _ Microcontrollers & Embedded Systems

    4/16

    1/17/12 Chapter 6 : Introduction to an Embedded System and ITs Design | Microcontrollers & Embedded Syst

    4/16ptuece.loremate.com/microcontroller/node/8

    7. Safety: This parameter indicates the probability by which system is safe to user i.e.

    it indicates the probability that system will not be harmful to the user.

    8. Correctness : This parameter is of importance because it gives the user a

    confidence that he has been successful in implementing the ES functionality correctly

    while the entire process is being designed systems functionality can be tested by test

    circuitry.

    9. Memory size: An ES must be designed such that the design meets with all system

    requirements and acquires a finite amount of memory space. The memory space is

    normally restricted.10. Unit cost: It includes the cost that is required for producing each unit of ES. It is

    found out excluding NRE cost.

    11. Time to prototype: It specifies the time i.e. required for an ES to construct a

    working version of system. The working version of system may be bigger or expensive

    than final system that is to be implemented.

    12. Performance: It specifies the execution time of ES. For good system performance

    it is recommended that execution time should be as small as possible.

    13. Time to Market: It specifies the time required to develop the ES, so that ES can

    be released and sold to the customers. Time is dependent on design time,

    manufacturing time and testing time.

    14. Test ability: It is ability of ES to prepare a setup to test the embedded system

    software.

    Q. 15. Write a short note on software/hardware co design.

    Ans.Hardware of processor : An embedded system designer may create a single

    processor by designing a custom digital circuit or designer can purchase a pre-designed

    single purpose processor. This portion is called as hardware of processor.

    Software : An ES designer uses a general purpose processor, by programming the

    processors memory to carry out required functionality. This portion of implementation

    is called as software.The hardwire/software co design emphasizes on unified view of hardware and software

    and develops synthesis tools and simillators that allow the co-development of systems

    using both hardware and software. It is extensively used in research community to

    high research. The research focuses on the requirements of simultaneous consideration

    of both hardware & software during synthesis.

    Q. 16. Explain ARM processor.

    Ans. It is originally the Acorn RISC Machine which is a 32-bit RISC processor that is

    widely used in a number of applications. ARM variants are in widespread use in

    embedded and low-power applications due to their power saving design features. A

    conexant ARM processor used mainly in routers.

    The ARM 2 processor has 32-bit data bus, 26-bit address space and sixteen 32-bit

    registers. One of these registers served as program counter with its top 4 bits and

    lowest 2-bits holding the processor status flags. The ARM2 was possibly the simplest

    useful 32-bit micro processor in the world, with only 30,000 transistors. A successor

    ARM3 was produced with 4kB cache which further improved performance.

    In late 1980s Apple Computer started working with Acorn on newer versions of ARM

    core. The work was so important that Acorn spun off the design team in 1990 into a

    new company called Advanced RISC Machines. For this reason ARM lengthened to

    advanced RISC machine. The core has remained largely the same size throughout

    these changes. ARM2 had 30,000 transistors, while ARM 6 grew to only 35,000. The

    idea is that the end user combines ARM core with a number of optional parts to

    produce a complete CPU, one that can be built on old fabs and still deliver lost of

    performance at low cost The ARM chip has become one of most used CPU designs in

    the world, found in everthing from hard drives, to mobile phones, to routers, to

    calculators, to childrens toys

  • 7/30/2019 Chapter 6 _ Introduction to an Embedded System and ITs Design _ Microcontrollers & Embedded Systems

    5/16

    1/17/12 Chapter 6 : Introduction to an Embedded System and ITs Design | Microcontrollers & Embedded Syst

    5/16ptuece.loremate.com/microcontroller/node/8

    Q. 17. Write a short note on present trends in Embedded system?

    Ans. The far most important trend in ES is trend related to ICS. It is also called Moors

    Law.

    Moore also predicted some decade ago that such exponential growth slows dowrt. T is

    mainly caused due to the improvements in IC manufacturing in smaller parts. T

    minimum part size for CMOS IC in 2002 was approx. 130 nanometers.

    Above - diagram shows the chip capacity in millions of transistor per chip per year from

    10 to 2010 plofted on logarithmic scale. The trend of increasing chip capacity has

    allowed low cost high performance embedded systems.

    Q. 18. Describe the functions of pins of typical LCD

    Ans.

    Pin Description for LCD

    Pin Symbol I/O description

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    Vss

    Vcc

    Vee

    RS

    R/W

    E

    DB0

    DB1

    DB2

    DB3

    DB4

    DB5

    DB6

    DB7

    -

    -

    -

    I

    I

    I/O

    I/O

    I/O

    I/O

    I/O

    I/O

    I/O

    I/O

    I/O

    Ground

    + 5V power

    supply

    Power supply to

    control contrast

    RS 0 to select

    command

    register

    RS =1 to select

    data register.

    R/W = 0 for

    white , R/W =

    1 for read

    Enable

    The 8 bit data

    bus

    The 8 bit data

    bus

    The 8 bit data

    bus

    The 8 bit data

    bus

    The 8 bit data

    bus

    The 8 bit data

    bus

    The 8 bit data

    bus

    The 8 bit data

    bus

  • 7/30/2019 Chapter 6 _ Introduction to an Embedded System and ITs Design _ Microcontrollers & Embedded Systems

    6/16

    1/17/12 Chapter 6 : Introduction to an Embedded System and ITs Design | Microcontrollers & Embedded Syst

    6/16ptuece.loremate.com/microcontroller/node/8

    Vx, and VEE: V and

    for controlling LCD contrast.

    V provide + 5v and ground respectively, VEE is used

    RS, register select : There are two very important registers inside the LCD. The RS pin

    is used for their selection. If RS = 0 the instruction command code register is selected,

    allowing the uses to send a command such as clear display cursor at home etc. If RS =

    I the data register is selected, allowing the user to send data to be displayed on LCD.

    R/W, read/write: R/W I/P allows the user to write information to the LCD or read

    information from it. R/W = 1 when reading, R/W = 0 when writing.E, enable The enable pm is used by LCD to latch information presented to its data pins.

    When data is supplied to data pins, a high to low pulse must be applied to this pin in

    order for LCD to latch in the data present at data pins. This pulse must be a minimum

    of 450ns wide.

    DOD7 : The 8-bit data pins, D0-D7, are used to send information to the LCD or read

    the contents of LCDs internal registers.

    Q. 19. Draw pin positions for various LCD from optrex.

    Ans.

    Q. 20. How to send commands to LCD without checking the busy flag?Ans. The better way to monitor the busy flag before issuing a command or data to

    LCD.

    This is shown:

    Check busy flag before

    This is shown:

    check busy flag before sending data, command to LCD

    P1 = data pin

    P2.0 connected to RS pin

    P2.1 connected to R/W pin

    P2.2 connected to E pinORG

    MOV A, # 38 H ; mit-LCD 2 lines, 5 x 7 matrix

    ACALL COMMAND ; issue command

    M0V A, # OEH ; LCD on, cursor on

    ACALL COMMAND ; issue command

    MOV A, # OIH ; clear LCD command

    ACALL COMMAND ; issue command

    MOV A, # 86 H ; cursor: line 1, pos.6

    ACALL COMMAND _DISPLAY:

    ACALL COMMAND command subroutine

    MOV A, # N display letter NMOVA,#O .; display letter 0

    ACALL DATA_DISPLAY

    HERE : SJMP HERE stay HERE

    COMMAND : ACALL READY

  • 7/30/2019 Chapter 6 _ Introduction to an Embedded System and ITs Design _ Microcontrollers & Embedded Systems

    7/16

    1/17/12 Chapter 6 : Introduction to an Embedded System and ITs Design | Microcontrollers & Embedded Syst

    7/16ptuece.loremate.com/microcontroller/node/8

    MOV P1, A is LCD ready?

    CLR P2.0 issue command code RS = 0

    CLR P2.1 for command R/w 0 to write to LCD E = 1

    SET B P2.2 for H-to-L

    CLR P2.2 pulse E =0, latch in

    RET

    DATA_DISPLAY:

    ACALL READY

    MOV P1, A Is LCD ready?SET B P2.0 issue data

    CLR P2.1 RS = I for data

    SET B P2.2 R/w = 0 to write to LCD

    CLR P2.2 E = 1 for H-to-L pulse E 0 latch in

    RET

    READY:

    SET B P1.7 make P1.7 input

    CLR P2.0 port RS = 0 access command reg

    SET B P2.1 R/w = 1 read command reg.

    read command reg & check busy flag

    BACK : CLR P2.2 E = 1 for H-to-L PulseSET B P2.2 E = 0 H-to-L pulse

    JB P1.7, BAC1 stay until busy flag = 0

    RET

    END

    The Busy flag is D7 of command register. To read the command register we make R/w

    1, RS = 0, and a H-to-L pulse for E pin will provide us the command register.. After

    reading the command register, if D7 bit is high, LCD is busy & no information should be

    issued to it. Only when D7-0, data or command is send to LCD. In this method no time

    delays are used.

    Q. 21. Draw LCD Timer Diagram.Ans.

    tpWH = Enable pulse width 450 ns (minimum)

    tDsw = Data Set up time = 195ns (mm.)

    tH = Data hold time = IOns (mm.)

    tAS = Set up time prior to E (going high) for both RS & R/W = 140 ns

    (min.)

    tAH = Hold time after E has come down for both RS & R/W = 10ns

    (min.)

    Q. 22. Show address locations of LCD and how they are accessed?

    Ans. In LCD, one can put data at any location. Address locations are:

    PS R/W DB7 DB6 DB5 DB4 DB3 DB2 DBI DBO

    0 0 I A A A A A A A

    where AAAAAAA = 0000000 to 0100111 for line I and AAAAAAA 1000000 to 1100111 for

    line 2.

  • 7/30/2019 Chapter 6 _ Introduction to an Embedded System and ITs Design _ Microcontrollers & Embedded Systems

    8/16

    1/17/12 Chapter 6 : Introduction to an Embedded System and ITs Design | Microcontrollers & Embedded Syst

    8/16ptuece.loremate.com/microcontroller/node/8

    LCA Addressing:

    DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

    Line 1

    (min)

    Line 1

    (max)

    Line 2

    (min)

    Line 2

    (max)

    1

    1

    1

    1

    0

    0

    1

    1

    0

    1

    0

    1

    0

    0

    0

    0

    0

    0

    0

    0

    0

    1

    0

    1

    0

    1

    0

    1

    0

    1

    0

    1

    The upper range can go as high as 0100111 for 40 characters wide LCD while for 20-

    character side LCD it goes up to 010011 (19 decimal). Upper range 0100111 = 39

    decimal which corresponds to location 0 to 39 for LCD of 40x2 size

    Q. 23. Show the interfacing to ADC.

    Ans ADC is analog to digital converters Digital computers use binary (discrete) values,

    but in physical world everything is analog (continuous) Temperature, pressure,humidity, and velocity are a few examples of physical quantities

    A physical quantity is converted to electrical signals using a device called transducer

    Transducers are also referred to as sensors

    Although there are sensors for temperature, velocity, pressure, light & many other

    natural quantities they produce an output that is voltage or current.

    ADC 804 chip IC is analog to digital converter in the family of ADC 800 series from

    national semiconductor .

    It works with + 5volts and has a resolution of 8-bits. In ADC 804, conversion time

    varies depending on the clocking signals applied to CLKR and CLKIN pins, but it cannot

    be faster than 110 gus.

    Conversion time is defined as the time it takes ADC to convert the analog I/P to digitalnumber.

    ADC 804 pin Description:

    CS Chip select is an active low I/P used to activate ADC 804 chip To access ADC 804,

    this pin must be low.

    RD (Read) This is an I/P signal and in active low ADC converts the analog I/P to its

    binary equivalent and holds it in an internal register RD is used to get the converted

    data out of ADC 804 chip When CS = 0, if a high to low pulse is applied to RD pin, 8-bit

    digital 0/P shows up at D0-D7 data pins The RD pin is also referred to as output enable

    WR This is an active low input used to inform the ADC 804 to start the conversion

    process If CS = 0 when WR makes a low to high transition, ADC 804 starts converting

    the analog I/P value of V to an 8-bit digital number The amount of time it takes toconvert varies depending on CLK IN and CLK R values CLK IN an input pin connected to

    an external clock source when an external clock is used for timing To use the internal

    clock generator (also called self-clocking) of ADC 804, the CLK IN & CLK R pins are

    connected to a capacitor and resistor as shown in Diagram In that case the clock

    frequency is determined by the equation.

    R = 10 K ohms, C 150 pF Substitute in above eq we getf= 606 KHz In that case

    conversion time is 110 ,us

    CS 0 and send a high to low pulse to RD pin to get data out of ADC 8041C chip. The

    timing for this process is shown.

  • 7/30/2019 Chapter 6 _ Introduction to an Embedded System and ITs Design _ Microcontrollers & Embedded Systems

    9/16

    1/17/12 Chapter 6 : Introduction to an Embedded System and ITs Design | Microcontrollers & Embedded Syst

    9/16ptuece.loremate.com/microcontroller/node/8

    Q. 24. How the interfacing of DAC to 8051 is possible?

    Ans.

    The digital to analog converter (DAC) is a device widely used to convert digital pulses

    to analog signals. IC DACs use R/2R method.

    The first criterion for judging DAC is its resolution, which is a function of number of

    binary inputs. The common ones are 8, 10 and 12 bits.

    The number of data bits inputs decides the resolution of DAC since the number of

    analog output levels is 2, n is number of data bits inputs.

    In MC 1408 (DAC 808) the digital I/Ps are converted to current (out) and& by

    connecting a register to out pin, we convert the result to voltage.

    The total current provided by I pin is a function of binary numbers at DO-D7 I/Ps of

    DAC 808 and the out reference current (ref)

    Iout = I ref ( D7 D6 D5 D4 D3 D2 D1 D0 )

    2 4 8 16 32 64 128 256

    where DO is LSB, D7 is MSB for

    I/Ps and ref is the I/P current that must be applied to pin 14. Diagram shows the

    generation of current reference (ref 2mA) by using 5-V power supply and 1K., 1.5KQ

    standard resistors. Assuming ref = 2mA, if all the I/Ps to DAC are high, the maximum

    output current is 1.99 mA. Connect the output pin out .to a resister and convert this

    current to voltage & monitor the output on the scope. In real life it can cause in

    accuracy since input resistance of load where it is connected will also affect the output

    voltage. For this reason, ref current 0/P is isolated by connecting it to an opamp.

    To generate a sine wave, the values for sine function vary from -1.0 to +1.0 for 0 to

    360 degree angles. To find the value sent to DAC for various angles, simply multiply

    the

    V0 voltage by 25.60 because there are 256 steps and full scale V0 is 10 volts:

    256 steps = 25.6 steps/volt.

    10 V

    Q. 25. Explain the interfacing a stepper Motor.

    Ans.

  • 7/30/2019 Chapter 6 _ Introduction to an Embedded System and ITs Design _ Microcontrollers & Embedded Systems

    10/16

    1/17/12 Chapter 6 : Introduction to an Embedded System and ITs Design | Microcontrollers & Embedded Syst

    10/16ptuece.loremate.com/microcontroller/node/8

    A stepper motor is widely used device that translates electrical pulses into mechanical

    movement. It is used for position control.

    Every stepper motor has a permanent magnet rotor surrounded by stator. The most

    common stepper motors have 4 stator windings that are paired with center tapped

    common as shown in diagram.

    This stepper motor is called 4- phase stepper motor. The center tap allows a change of

    current direction in each of two coils when a winding is grounded, thereby resulting in

    polarity change of stator.

    While a conventional motor shaft runs freely, the stepper motor moves in a fixedrepeatable increment which allows one to move it to a precise position.

    This repeatable fixed movement is a possible as a result of basic magnetic theory

    where poles of the same polarity repel and opposite poles attract.

    The direction of rotation is dictated by the stator poles. The stator poles are

    determined by current sent through the wire coils.

    As the direction of current is changed, polarity also changed causing the reverse

    motion of the rotor. As the sequence of power is applied to each stator winding, the

    rotor will rotate.

    4-step sequence:

    Fig.. Stator Winding Configuration

    TJLN 2003 connection for Stepper MotorPin8 GNDPin9+5V

    Use a separate power supply for the motor

    How much movement is associated with single step depends on the internal

    construction of the motor, in particular the number of teeth on stator and the rotor.

  • 7/30/2019 Chapter 6 _ Introduction to an Embedded System and ITs Design _ Microcontrollers & Embedded Systems

    11/16

    1/17/12 Chapter 6 : Introduction to an Embedded System and ITs Design | Microcontrollers & Embedded Syst

    11/16ptuece.loremate.com/microcontroller/node/8

    The step angle is minimum degree of rotation associated with a single step. Various

    motors have different step angles called steps per resolution. The relation between

    RPM, steps per revolution and steps per second is intuitive and is:

    In 4-step sequence, after completing every four steps, rotor moves only one tooth

    pitch. Therefore, in stepper motor with 200 steps per revolution, its rotor has 50 teeth,

    since 4 x 50 = 200 steps are needed to complete one revolution. Means the smaller the

    step angle the more teeth the rotor passes. To allow for finer resolutions, all stepper

    motors allow called 8-step switching sequence or half stepping.

    Half step 8-step sequence:

    Clockwise Step # Winding A Winding B Winding C Winding D

    1

    2

    3

    4

    5

    6

    7

    8

    1

    1

    1

    0

    0

    0

    0

    0

    0

    0

    1

    1

    1

    0

    0

    0

    0

    0

    0

    0

    1

    1

    1

    0

    1

    0

    0

    0

    0

    0

    1

    1

    The motor speed measured in steps/second is a function of switching rate.

    Fig. Using Transistors for Stepper Motor Drive

    Q. 26. Discuss the interfacing to the keyboard.

    Ans.

    At the lowest level keyboards are organized in a matrix of rows and scolumns.

    The CPU accesses both rows and columns through ports. Therefore with two 8-bitports, an 8 x 8 matrix of keys can be connected to microprocessor.

    When a key is pressed a row and a column make a contact; otherwise there is no

    connection between rows and columns.

    In IBMPC keyboards, a single microcontroller takes care of hardware and software

    interfacing of keyboard. In such systems, it is software interfacing of keyboard.

    In such systems, it is function of programs stored in EPROM of microcontroller to scan

    the keys continuously, identify which one has been activated, and present it to the

    motherboard.

  • 7/30/2019 Chapter 6 _ Introduction to an Embedded System and ITs Design _ Microcontrollers & Embedded Systems

    12/16

    1/17/12 Chapter 6 : Introduction to an Embedded System and ITs Design | Microcontrollers & Embedded Syst

    12/16ptuece.loremate.com/microcontroller/node/8

    Fig. Matrix keyboard Connection to Ports

    Diagram shows 4 x 4 matrix connected to two Ports.

    The rows are connected to an output port and the columns are connected to an Input

    port. If no key has been pressed, reading the I/P port will yield ls for all columns since

    they are all connected to high (Vcc).

    If all rows are grounded and key is pressed one of the columns will have 0 since the

    key pressed provides the path to ground.

    It is function of microcontroller to scan the keyboard continuously to detect and identify

    the key pressed.

    To detect a pressed key, the microcontroller grounds all rows by providing 0 to the

    output latch, then it reads the columns. If the data read from the columns is D3DO =liii, no key has been pressed, and the process continues until a key press is detected.

    If one of column bits has zero, this means key press has occurred.

    After key press is detected, the microcontroller will go through the process of

    identifying key starting with the top row, the micro controller grounds it by providing a

    low to row DO only, then it reads the columns.

    If the data read is all is, no key in that row is activated and the process is moved to

    next row. It grounds the next row, reads the columns, and checks for any zero.

    This process continues until the row is identified. After identification of row in which key

    has been pressed, the next task is to find out which column the pressed key belongs to.

    sThis should be easy since the microcontroller knows at any time which row and

    column are being accessed.

    Q. 27. Draw and Describe the 8051 connection to Stepper Motor and code a

    program to rotate it continuously.

    Ans. 8051 connection to Stepper Motor:

    Us an ohm meter to measure the resistance of the leads. This should identify which

    COM leads are connected to which winding leads.

    ULN 2003 connection for Stepper Motor

    Pin 8 = GND

    .Pin9=+5V

    Use a Separate Power supply for Motor

    2. The common wires are connected to +ve side of motors power supply. In many

    motors, + 5V is sufficient.3. ULN 2003 driver is used to energize the stator.

    If transistor have been used as drivers

    MOV A, # 66H load step sequence

    BACK: MOV P1, A issue sequence to motor

  • 7/30/2019 Chapter 6 _ Introduction to an Embedded System and ITs Design _ Microcontrollers & Embedded Systems

    13/16

    1/17/12 Chapter 6 : Introduction to an Embedded System and ITs Design | Microcontrollers & Embedded Syst

    13/16ptuece.loremate.com/microcontroller/node/8

    RRA rotate right clockwise

    ACALL DELAY ;wait

    DJMP BACK keep going

    DELAY

    MOV R2, # 100

    HI : MOV R3, # 255

    H2 : DJNZ R3, H2

    DJNZ R2, HI

    RETChange the value of DELAY to set the speed of rotation.

    Q. 28. Write a program to sends the ASCII code for pressed key to P0.1?

    Ans.

    M0V P2, # OFFH make P2 an I/P port

    Ki :MOVP1,#0 ; ground all rows at once

    MOV A, P2 read all col. (ensure all keys open)

    ANL A, 00001111B masked unused

    CJNE A, # 00001111B, KI bits check till all keys

    K2: ACALL DELAY released call 20 m sec delayMOV A, P2 see if any key is pressed

    ANL A, # 00001111B mask unused bits.

    CJNEA, # 00001111 B, over key pressed a wait closure

    SJMP K 2 check till key pressed

    OVER: ACALL DELAY wait 20 m sec de bounce

    MOV A, P2 mask unused bits

    ANL A, # 00001111 B key pressed,

    CJNEA;# 00001111B, Over I find row if.

    SJMP K2 none keep polling ground row 0

    OVERI : MOVP1,# 1111111 B read all columns

    MOV A, P2 mask unused bits key row 0ANL A, # 00001111 B , find the col. ground row.

    CJNE A, # 00001111 B, Row_0 read all columns

    MOV P1, # 11111101 B mask unused bits key row

    MOV A, P2 , find the col. ground row 2

    ANL A, # 00001111 B read all columns

    CJNE A, # 00001111 B, Row_i mask unused bits key rows 2

    MOV P1, # liiilOiiB , find the col.

    MOV A, P2 ground row 3 read all columns.

    ANL A, # 00001111B mask unused bits

    CJNE A, # 00001I11B, Row_2 key row 3

    MOOVPI,# 11110111 B , find the col. if none,MOV A, P2 false 1/ P

    ANLA, # 0000II11B , repeat set DPTR

    CJNE A, # 00001111B, Row_3 start of Row 0 find col

    LJMP K2

    Row_0: MOV DPTR, # K CODE 0 time check key closure

    SJMP FIND

    Row_i : MOV DPTR, # K CODE 1

    . key belongs to set DPTR = start of Row I

    Sjmp find find col.key belongs to

    Row 2 mov dptr # kcode 2 set dptr = start of row 2

    Sjmp find find col. Belongs toFind : rrc a set dptr = start of row 3

    Jnc match see if any cy bit low

    Inc dptr point to next col. adress

    Sjmp find keep searching

  • 7/30/2019 Chapter 6 _ Introduction to an Embedded System and ITs Design _ Microcontrollers & Embedded Systems

    14/16

    1/17/12 Chapter 6 : Introduction to an Embedded System and ITs Design | Microcontrollers & Embedded Syst

    14/16ptuece.loremate.com/microcontroller/node/8

    Match : clr a

    Mov ca,@a + dptr set A = 0 (match is found)

    Mov p0,a get ASCII code from table

    Ljmp k1 display pressed key

    ;ascii look up table for each row

    Org 300 h

    K code 0 : db 0,1,2,3 Row 0

    K code 0 : db 4,5,6,7 row 1

    K code 0 : db 8,9,a,b Row 2K code 0 : db c,d,e,f Row 3ss

    Q. 29. Explain difference between ROMP PROM, EPROM, EE PROM.

    Ans.ROM: Read Only Memory (ROM) is a type of memory that does not lose it

    contents when the power is turned off. So it is also called nonvolatile memory.

    Different types of ROM such as PROM, EPROM, EEPROM, flash EPROM and mask ROM.

    PROM (Programmable ROM) : It is user programmable memory. For every bit of

    PROM, there exit a fuse. PROM is programmed by blowing the fuses if the information

    burned into PROM is wrong, that PROM must be discarded since its internal fuses are

    blown permanently. So ROM also called OPT (one-time-programmable) or burning

    ROM.

    EPROM (Erasable Programmable ROM) : In EPROM, one can program the memory

    chip and erase it thousands of times. This is especially necessary during development

    of prototype of a micro processor-based project. A widely used EPROM called UV-

    EPROM, where UV stands for ultra violet. The only problem with UV-EPROM is that

    erasing its contents can take up to 20 minutes.

    EEPROM (electrically erasable PROM) : It has several advantages over EPROM, its

    method of erasure is electrical and Therefore instant, as opposed to 20 minute erasure

    time required for UV-EPROM. In EEPROM one can select which byte to be erased, in.

    contrast to UV-EPROM, in which the entire contents of ROM are erased. The mainadvantage of EEPROM is one can program and erase its contents while it is still in the

    system board. It does not require physical removal of memory chip from its socket.

    Q. 30. Explain RAM and its types.

    Ans.

    RAM memory is called volatile memory. Sometimes RAM is also referred to as RAWM

    (read and write memory).

    Three types of RAM are static RAM (SRAM), NV- RAM and Dynamic RAM (DRAM)

    SRAM Storage cells in static RAM are made of flip-flops and Therefore do not require

    refreshing in order to keep their data.

    The problem with the use of flip-flops for storage cells is that each cell requires at least

    6 transistors to build, and cell holds only 1 bit of data

    In recent years, the cells have been made of 4 transistors which still is too many.

    The use of 4-transistor cell plus the use of CMOS technology has given birth to a high

    capacity SRAM, but its capacity is far below DRAM.

    NV RAM (Non volatile RAM) SRAM is volatile; there is new type of non volatile RAM

    called NV- RAM. It allows the CPU to read and write to it, but when power is turned off

    the contents are not last NV-RAM combines the best of RAM & ROM

    Every NV-RAM chip internally is made of following components

    1. It uses extremely power efficient (very, very low power consumption) SRAM cells

    built out of CMOS

    2. It uses an internal lithium battery as a backup energy source.

    3. It uses an intelligent control circuitry.

    DRAM The first Dynamic RAM (DRAM) has density of 1024 bits and it used a capacitor

    to store each bit. The use of a capacitor as a means to store data cuts down the

  • 7/30/2019 Chapter 6 _ Introduction to an Embedded System and ITs Design _ Microcontrollers & Embedded Systems

    15/16

    1/17/12 Chapter 6 : Introduction to an Embedded System and ITs Design | Microcontrollers & Embedded Syst

    15/16ptuece.loremate.com/microcontroller/node/8

    number of transistors needed to build the cell, however it requires constant refreshing

    due to leakage This is in contrast to SRAM, whose individual cells are made of flip flops.

    The major advantage of DRAM is, it has high density, cheaper cost per bit & lower

    power consumption per bit The disadvantage is that it must be refreshed periodically,

    due to fact that capacitor cell loses its charge, further more, while it is being refreshed,

    the data cannot be accessed Now a days DRAM has a capacity of 1 mega bit.

    Q. 31. Draw 8051 connection to external 1 Data RAM and Explain

    Ans. 8051 family also has 64K bytes of data memory space. 8051 has 128 K bytes of

    address space where 64K bytes set aside for program code and other 64K bytes are set

    aside for data. Program space is accessed using the program counter to locate and

    fetch instructions, but data memory space is accessed using DPTR register and an

    instruction called MOVX, where X stands for external to connect 8051 to external

    SRAM, both RD (P3.7) and WR (P3.6) pin is used.

    In writing data to external data RAM, use the instruction MOV X @ DPTR, A, where

    the contents of register A are writer to external RAM whose address is pointed to DPTR

    register.

    Q. 32. Explain the interfacing of 8051 with external ROM.

    EA Pin : Connect the EA pin to V to indicate that program code is stored in

    microcontroller on chip ROM, To indicate that the program code is stored in external

    ROM, this pin must be connected to ground.

    P0 and P2 role in providing address : Since the PC (Program counter) of 8051 is

    16- bit, it is capable of accessing up to 64 K bytes of program code. In 8051 port 0 and

    port 2 provide 10-bit addresses to access external memory of these two ports, P0

    provides the lower 8-bit addresses. A0-A7 and P2 provides the upper 8-bit address. A8-

    A15 P0 is also used to provide 8-bit data bus. D0-D7 P0.0 P0.7 are used for bothaddress and data paths. This is called data/address multiplexing in chip design. ALE pin

    is an output pin. ALE is address latch enable. When ALE = 0, 8051 uses P0 for data path

    and when ALE = 1 it is used for address path.

  • 7/30/2019 Chapter 6 _ Introduction to an Embedded System and ITs Design _ Microcontrollers & Embedded Systems

    16/16

    1/17/12 Chapter 6 : Introduction to an Embedded System and ITs Design | Microcontrollers & Embedded Syst

    In above diagram ALE = 0 & P0 is used as data bus sending data out or bringing data

    in. Whenever 8031/51 wants to use P0 as an address bus, it puts addresses A0-A7 on

    P0 pins & activates ALE = I indicate P0 has addresses.

    PSEN (Program store enable signal) : It is an 0/P signal for 8031/51 and must be

    connected to OE pin of ROM containing program code. When EA pin is connected to

    GND, the 8051 fetches op code from external ROM by using PSEN.

    Fig. Address Data Multiplexing

    Fig. 8031151 connection to external program ROM

    In system where external ROM contains program code, burning program into ROM

    leaves microcontroller chip untouched.


Recommended