DIGITAL CIRCUITS II
Last Update: September 1999 Spanish Version
OBJECTIVES
At the end, the student will :
  • Understand the fundamental concepts regarding the digital computer, the microprocessor and the microcontrollers, and their related technologies.
  • Apply appropriate criteria to select and utilize the digital and programmable logic devices in the creation of a solution to an engineering problem.
  • Be familiar with the team-oriented solution of real problems using the microcontroller as the kernel of the system.
  • Have worked as part of a team in the development of an embedded system and will have understood the need for organizational management.
  • THE DIGITAL COMPUTER (5H)

    Von Neumann architecture. The Microcomputer, the microprocessor and the microcontroller. Basic architecture and organization, buses, the rol of the architectonic units. Main advantages of using digital programmable logic devices instead of standard logic ones.

    INTRODUCTION OF PROGRAMMABLE LOGIC DEVICES (3H)

    Microprocessors and microcontrollers, PLDs and derivatives (PALs, PLAs, CPLDs, FPGAs); manufacturing technologies, RISC vs. CISC. Other required components: : memory, DACs & ADCs, peripheral management units, among others. Comparison between the microprocessor and the microcontroller , selection criteria.
    Families of microcontrollers in the market.

    THE MCS-51 FAMILY (5H)

    - Kernel, Derivatives and scope of each one.
    - Operation of the 8051: All of its internal units, interaction with the environment, (data & code) memory setup.
    - Processing of instructions: Instructions set, sintaxis and semantics. Several examples of assembly code programs.

    DEVELOPMENT ENVIRONMENT FOR THE 8051 (2H)

    Crossed development strategies and life cycle. Operation of the development tools, emphasis on the Simulator. Differences of commercial tools.

    DEVELOPMENT OF SIMPLE EMBEDDED PROJECTS (6H)

    - Life cycle: User's manual, SA/RT, FSMs. Translation of these concepts to a real project. Simulation for testing and debugging, modeling of real circumstances.
    - Interfaces: input/output elements, multiplexing; handling of different supply voltages, of analog signals and of power devices.
    - Other things to keep in mind.

    AVANCED ARCHITECTURES (6H)

    - Microprocessors families: Intel 80x86, Motorola 68000, SPARC, Alpha.
    - Advanced memory management schemes: banks and paging, cache (primary and secondary), bandwidth.
    - Advanced processing schemes: Pipeline, RISC, CISC, coprocessors,multiprocessing systems.

    CARD-BASED DIGITAL SYSTEMS: THE PC (4H)

    - Comparison against component-based development.
    - BIOS and DOS services. Hardware vs software interrupts.
    - Use of DEBUG and mixed-language programming for PC's low-level programming.

    METHODOLOGY
    This course is theoretical-practical. The distribution of time is roughly 60% lectures and 40% labs.
    In order to evaluate the profficiency on basic technical english, some non-translated material is left during the semester. These papers talk about fundamental concepts on computer organization and microcontroller's applications; it's low in complexity, short and subject to examination.
    The labs practices are guided exercises, which incrementally show the way this technology and the development tools should be used.
    At the end of the semester the students must present short papers and public presentations of a few advanced technologies (see the Advanced Architectures section on the CONTENTS).
    The final project is a real hardware-software system, completely implemented (mounted), developed around the 8051 microcontroller. The instructor will help during its construction (acting as a client during the first months and as a permanent technical consultant the final month).
    PRACTICES
    3 to 5 people per group.

    DISCRETE MOUNTING (8H)
    Basic system based on discrete, standard digital components. Should require memory (volatil/non-volatil), simple control and data buses.

    Objectives:A) Demonstrate the low flexibility and expandability of wired standard designs. B) Hands-on experience on mounting basic digital circuits. C) Use memory and other complex devices.

    Session 1: (2H)
    Introduction to this lab's methodology. Use of memory and converters, EPROM programming, strategy for mounting: device testing, module testing, module integration, system testing. Hints on Power handling of digital devices. Definition of requirements for each project (each group MUST have a different one).

    Sessions 2 to 4: Mounting of project at lab.

    USE OF THE 8051 (10H)

    Each 2-hour session is made up of a set of guided, documented practices that illustrate the most important aspects. They're complemented through assignments that are evaluated the following week. The discrete project should be re-implemented by every group in order to observe the advantages and disadvantages of the paradigm shift from wired,standard logic to programmable logic.

    Session 1: Creation of solutions : development cycle. General introduction to all of the tools and demonstration through simple examples. Use of an 8051's simulator. Exercises: arithmetic functions, addressing modes.

    Session 2: Use of the flow-control instructions (decision making instructions). Differentiation between the code memory, data (register's banks, bit-addressable region, stack, internal and external RAM, SFRs). How to access the internal and external ROM, the internal and external RAM, and the registers. Simulation: selecting a CPU, memory dump areas, SFRs areas. Assignment: design and use of a Look-up table.

    Session 3: Use of microcontroller's I/O ports. Imput programming, input simulation, interpretation of outputs. Special I/O bits, inputs to timer/counter, inputs to interrupts. Use of the C/T: enabling, programming, external input, measuring time. Use of external interrupts: enabling, level and transition programming (differences on their processing), interrupt's service routines (ISRs). Assignment: complete interrupt vector table for a simple problem.

    Sessions 4 and 5: Advanced examples: how to interpret the simultation of complete programs, multi-level servicing of interrupts, interface to real elements: filtering, signal conditioning, power considerations, digital and analog references and grounds.

    FINAL PROJECT: BASED ON  THE 8051 (12H)

    Every group develops a simple, real-solution- to-a-real-problem system. Each group MUST present it's proposal after the 1st exam, and refine the requirements before the 2nd exam.