53
I/O Laboratory Development Final Report Team Number: Dec01-04 Date Revised Version Submitted: 12/19/2001 Client Names: Faculty Advisors: Project Advisor: Dr. Somani Dr. Somani Aaron Striegel

1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

  • Upload
    trantu

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

I/O Laboratory Development

Final Report

Team Number: Dec01-04

Date Revised Version Submitted: 12/19/2001

Client Names: Faculty Advisors: Project Advisor: Dr. Somani Dr. Somani Aaron Striegel Dr. Tyagi Dr. Govindarasu Dr. Govindarasu Dr. Rover

Team Members: Jon Froehlich Brad Hottinger Derek Miller Dan Murr

Page 2: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

ii

Page 3: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

Table of Contents

Page #List of Figures…………………………………………………………………………... ii.List of Tables…………………………………………………………………………… iii.1.0 Executive Summary….……………………………………………………………... 1

1.01 Introduction……………………………………………………………….. 1-21.02 Why the PB-0555?………………………………………………………… 21.03 Summary…………………………………………………………………... 2-3

1.1 Acknowledgements…………………………………………………………………. 31.2 Definition of Terms…………………………………………………………………. 3-42.0 Introduction…………………………………………………………………………. 5

2.1 General Background………………………………………………………... 5-62.2 Technical Problem………………………………………………………….. 62.3 Operating Environment……………………………………………………... 62.4 Intended user(s) and use(s)…………………………………………………. 62.5 Assumptions and Limitations………………………………………………. 7

3.0 Design Requirements……………………………………………………………….. 73.1 Design Objectives…………………………………………………………... 7-83.2 Functional Requirements…………………………………………………… 8-103.3 Design Constraints………………………………………………………….. 10-113.4 Measurable Milestones……………………………………………………... 11

4.0 End-Product Description…………………………………………………………… 115.0 Approaches and Design…………………………………………………………….. 12

5.1 Technical Approaches……………………………………………………… 125.2 Technical Design…………………………………………………………… 13-175.3 Testing Description………………………………………………………… 18-205.4 Risks and Risk Management……………………………………………….. 21-22

5.5 Recommendation for Continued Work…………………………………… 236.0 Financial Budget……………………………………………………………………. 237.0 Personnel Effort Budget.…………………………………………………………… 24-258.0 Project Schedule……………………………………………………………………. 26-279.0 Evaluation of Project Success………………………………………………………. 2810.0 Commercialization………………………………………………………………… 2911.0 Recommendations for Additional Work…………………………………………... 3012.0 Lessons Learned…………………………………………………………………… 3013.0 Project Team Information…………………………………………………………. 31-3214.0 Summary…………………………………………………………………………... 3315.0 References…………………………………………………………………………. 34-35

i

Page 4: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

List of Figures

Page #Figure 1.1 Photo of F1-Board 1Figure 1.2 Photo of new PowerPC microcontroller board 2Figure 2.1 The 68HC11/F1-board combination currently used in CprE211…………… 5Figure 3.1 A screenshot of the CodeWarrior IDE for the PowerPC……………………. 8Figure 3.2 A picture of the 2x20 alphanumeric LCD currently used in CprE211…….... 8Figure 3.3 Two seven-segment displays………………………………………………... 9Figure 3.4 Two 10 LED bargraphs (one red and one green)…………………………… 9Figure 3.5 The 5x8 keypad currently used by the 68HC11 F1-board…………………... 10Figure 5.1 High-level design diagram incorporating the Motorola MPC555 kit…. …… 13Figure 5.2 Overall design layout of the breakout board………………………………… 14Figure 5.3 Picture of the PB-0555 board……………………………………………….. 16Figure 5.4 Picture of the I/O break-out board and PB-0555 connected………………… 16Figure 5.5 Electrical schematic layout of the breakout board…………………………... 17Figure 5.6 Hardware Testing Form……………………………………………………... 18Figure 5.7 Software Testing Form……………………………………………………… 19Figure 5.8 Laboratory Testing Form……………………………………………………. 20

ii

Page 5: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

List of Tables

Page #Table 1: Comparison if F1 board and PowerPC board…………………………………. 3Table 2: External I/O Device Addresses………………………………………………... 15Table 3: Base and Option Register Setup………………………………………………. 15Table 4: Financial Budget…………………………...………………………………….. 23Table 5: Original Personnel Effort Budget …………..………………………………… 24Table 6: Updated Personnel Effort Budget …………..………………………………… 24Table 7: Final Personnel Effort Budget………………………………………………… 25Table 8: Project Schedule (Gantt Chart)……………………………………………….. 27Table 9: Costs for Commercialization…...……………………………….…………….. 29

iii

Page 6: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

1.0 Executive Summary

1.01 Introduction

Iowa State’s Electrical and Computer Engineering department has consistently been ranked as one of the top 15 programs in the nation. This success can be attributed to a committed effort by the administration and faculty members to strive for academic and teaching excellence. As part of this endeavor, the department has realized the importance of high-end lab equipment and has attempted to purchase technology that parallels that used in industry. Dr. Somani, an ISU EcpE Nicholas Professor, was faced with updating the lab equipment in the sophomore level computer engineering course: Introduction to Microcontroller’s (CprE211). This served as the impetus for our project.

The first objective was to complete a feasibility study investigating the available options for replacing the existing hardware (referred to as the F1-Board) in the CprE211 laboratories. The scope of this investigation was limited to finding a solution that would incorporate and improve upon the existing CprE211 hardware functionality as well as provide increased usability, reliability, and expandability. The F1-Board utilized an 8-bit Motorola microcontroller called the MC68HC11, which administrated the operation of the following input and output devices:

1. 2x20 alpha-numeric liquid crystal display (LCD)

2. One analog input (via a 8-bit analog to digital converter)

3. One digital output4. 5x8 keypad (A-Z, 0-9, period, space, clear,

enter)5. 8-bit DIP Switch (digital input)6. C compiler and development environment for

Microsoft® Windows

Figure 1.1 (right)Photo of F1-Board (old CprE211 laboratory hardware)

1

Page 7: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

The results of the feasibility study determined that a 32-bit microcontroller/PCB kit from Metrowerks, called the PB-0555 module, fulfilled most of the hardware and software requirements. The PB-0555 integrates the MPC555 PowerPC chip with I/O pin headers, an oscillator circuit, a power supply, and a RS232 COM port. A printed circuit board (referred to as a breakout board) was designed to tightly interface the MPC555 PowerPC chip through the PB-0555 input/output pins to the auxiliary hardware (LEDs, DipSwitches, LCD, etc).

1.02 Why the PB-0555?

A clear advantage in using the PB-0555 over other solutions is that it came ready to use with the full version of the CodeWarrior IDE, a well-known and respected visual compiler and real-time debugger also produced by Metrowerks. CodeWarrior alone would cost roughly $1,500, yet the PB-0555 can be purchased, with an educational discount, for less than $200. Developing on the F1-Board was often a tedious experience for students given that there were no true debugging features in the ICC11 compiler. At best, the students were able to use printf statements, which could print out to the LCD or Terminal screen, to help them debug their code. For this reason, a primary objective was to find an IDE that would not only help the students in their development efforts, but also to demonstrate the power of development tools used in industry.

Because of the ECpE department emphasis on creating a lab environment similar to that of industry, obtaining a professional IDE was only half the battle. It was also necessary to purchase a microcontroller that was well recognized in the commercial world. The PB-0555 uses the Motorola PowerPC chip, a microprocessor technology that is found in a plethora of industry applications including the Apple® Macintosh computers and military embedded systems.

1.03 Summary of Features

The new Computer Engineering 211 laboratory hardware offers a plethora of new features for the students. In addition, the caliber of the hardware and software development environment matches that found in industry. Below is a list highlighting some of the significant advancements in the new CprE211 hardware compared to the F1-Board.

Features Old CprE 211 Hardware New CprE 211 Hardware

Microcontroller 8-bit MC68HC11 32-bit MPC555 PowerPCMicrocontroller Clock 4 MHz 40 MHz

RAM 20KB 4 MB

Figure 1.2 (right)Photo of the completed CprE211 laboratory hardware.

Table 1:Brief comparison of the features available in the F1-Board compared to the new laboratory hardware

2

Page 8: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

Dumb Keypad 8x5 Keypad 4x4 KeypadKeypad #2 Did Not Exist 8x5 Keypad with shift keyLCD 2x20 4x20Analog In One Four Digital In One (8-bit) Two (8-bit)Digital Out One (8-bit) Two (8-bit)7-Segment Display Did Not Exist Three External 7-Segment Display Input Did Not Exist One

LED Bargraph Did Not Exist (Not Built In) Two (8-bit)Visual IDE w/Real Time Debugging Did Not Exist MetroWorks’ CodeWarrior

Serial Connection One TwoCircuitry Protection Did Not Exist Current Limiting ResistorsRobust Case Did Not Exist Aluminum enclosure with plexi-glass

1.1 Acknowledgement

Aaron Striegel, Ph. D. candidate in computer engineering at Iowa State University, acted as the primary technical advisor on this project. Aaron is currently serving as the Computer Engineering 211 instructor and is using his experience with this class to help facilitate this project. Dr. Somani, a Nicholas Professor in the Computer Engineering department at Iowa State University, provided financial assistance. In addition, Jason Boyd, electrical technician for the EE/CprE department, assisted in printed circuit board design and layout.

1.2 Definition of Terms

CodeWarrior: Software from Metrowerks that provides compiler, debugging, and project development for the PowerPC embedded computer system.

CprE: Abbreviation for computer engineering used at Iowa State University.

CprE 211: A computer engineering course offered by Iowa State University and required for all computer and electrical engineering students. This class serves as an introduction to computer engineering concepts and currently uses the Motorola M68HC11 as its introduction to microcontrollers.

CprE 483X: A computer engineering elective offered by Iowa State University that covers hardware and software integration. Specifically, this course emphasizes the use of microprocessors as system components and advanced embedded system development environments. CprE211 is a prerequisite for this class.

DIP (dual inline package) Switch: One of a set of small on-off switches mounted in computer hardware; used in place of jumpers to configure the machine for a user

EE: Abbreviation for electrical engineering.

3

Page 9: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

F1-board: This is the teaching tool used in CprE 211. The students interface with the board using a PC. The F1-board is being replaced by the end product of our project.

IDE: Integrated development environment.

I/O: Input and output.

LCD: Liquid crystal displays are segmented displays that use a voltage to vary the reflectivity of the liquid crystal in each segment.

LED: Light emitting diode.

Microcontroller: A single computer chip used to control other devices. Functionality is embedded into the chip.

Motorola MPC555: This is a 32-bit microcontroller designed for automotive designs and low power consumption. This microcontroller uses the PowerPC RISC architecture.

Motorola 68HC11: This is an 8-bit microcontroller designed for low power consumption. CprE 211 currently uses this micro with the F1-board. It is the goal of this project to phase out this microcontroller.

PCB: Printed circuit boards usually consist of 1,2, or 4 layers. They are made of silicon and have metallic traces that connect components. Solder is typically used to attach the components to the traces.

RISC: Reduced instruction set computers.

SRAM: Static random access memory, stores data while microcontroller is running.

4

Page 10: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

2.0 Introduction

The objective of the input/output laboratory development project is to modernize the current hardware used in the Iowa State University computer engineering course, CprE 211 – Introduction to Microcontrollers.

2.1 General Background

Computer Engineering 211 is taken at the sophomore level and is a required class for all Iowa State Computer and Electrical Engineering students. This course is laboratory based with the main emphasis on general topics of microcontrollers, programming in C, and programming in assembly language. The students are required to have previous coursework in C and C++ programming, which is used to assist them in the general understanding of microcontroller programming techniques and problem solving.

The CprE 211 course teaches the following topics: Logic families Documentation standards Implementation and testing of combinational and sequential systems Microprocessor registers Memory Programmable input/output devices Interrupts Single-chip controllers Design and testing of software for microcontrollers

Presently, the hardware in CprE 211 utilizes an 8-bit Motorola microcontroller called the 68HC11. The 68HC11 is integrated onto a printed circuit board (referred to as the F1-board, shown below) that administrates the operation of various input and output devices.

Figure 2.1 The 68HC11/F1-board combination currently used in CprE211

5

Page 11: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

The input and output devices integrated onto the F1-board are listed below:

1. 2x20 Alpha-numeric Liquid Crystal Display (LCD)2. One Analog Input (via a 8-bit Analog to Digital Converter)3. One Digital Output4. 5x8 Keypad (A-Z, 0-9, period, space, clear, enter)5. 8-bit DIP Switch (digital input)6. C compiler and development environment for Microsoft® Windows

The overall goal of this project is to incorporate these basic functions with a new 32-bit microcontroller and printed circuit board combination. The printed circuit board will need to be completely redesigned to support the new microcontroller and interface the hardware. On the software side, the integrated debugging environment will be upgraded from the outdated ICC11 compiler to a real-time visual IDE solution. A secondary objective of this project is to provide completely new functionality to the user by exploiting the new characteristics offered by the 32-bit microcontroller.

2.2 Technical Problem

The technical problem can be aggregated into two semi-discrete parts: the hardware solution and the software solution. The hardware solution will need to incorporate a new 32-bit microcontroller that has the same basic functionality as the M68HC11 but also includes new functions and a greater allowance for flexibility and expandability. The software solution will include writing C libraries to support the hardware. The software design development stage will begin after a few necessary hardware decisions have been made. Clearly, the final solution requires that the hardware and software work together in a relatively error-free and interdependent relationship, so steps must be taken to ensure their compatibility.

2.3 Operating Environment

The target-operating environment will be the ISU computer engineering departmental computer laboratories. Any interfaces needed to network the new microcontroller circuit board to the computer will be located in the CprE 211 / CprE 183X computer laboratory. In addition to CprE211, CprE 483X may also utilize the new 32-bit microcontroller board solution. However, this decision is beyond the scope of this project and will have no affect on the design/development process. The development environment will be compatible with the Microsoft Windows 2000 operating systems.

2.4 Intended Users and Use

The intended users for this project are CprE/EE students enrolled in the ISU computer engineering course, CprE 211. The intended use of this product will be defined by the CprE 211 professor each semester as outlined by the laboratory project guide. In general, the objective of the CprE 211 course is to teach sophomore level students about microcontrollers, interfaces and assembly programming language.

6

Page 12: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

2.5 Assumptions and Limitations

Assumptions: The microcontroller package supplier provides adequate technical support The microcontroller package supplier has long term sustainability The microcontroller package contains prevalent and easily replaceable parts The required hardware components (LCD, keypad, etc.) will need to be ordered from

a variety of hardware vendors The hardware will be 100% compatible with the software compiler The individual hardware devices work together in a congruous manner The hardware vendors/suppliers process and ship orders expeditiously

Limitations: The project team has a limited amount of board design experience A one month period is required to submit/process printed circuit board designs The minimum LCD screen size is 2x20 (2 lines by 20 characters) The keypad must have a minimum of 16 keys (0 – F).

3.0 Design Requirements

3.1 Design Objectives

As stated above in the Technical Problem section, two separate but interrelated design channels are required for this project. The initial focus relates directly to the design and development of the custom printed circuit board that will interface the auxiliary hardware with the 32-bit microcontroller. After the completion of this task, the focus will shift to writing support libraries for the hardware. The primary design objectives are highlighted below:

Interface hardware components with the 32-bit microcontrollerA printed circuit board will need to be designed to integrate the LCD, keypad, digital input/output, and analog input along with the 32-bit microcontroller. An attempt will also be made to add additional functionality not currently found on the F1-board (i.e. analog out, speaker, buzzer).

Design a PCB with comparable functionality to the F1-boardA two-to-four layer printed circuit board will need to be designed using computer aided design (CAD) tools. First, OrCAD Capture will be used to layout the necessary hardware parts, hookup the required connections, and provide a rough blueprint of the PCB. This file will then be imported into OrCAD’s Layout program to design and prototype the physical layout. Jason Boyd and Aaron Striegel will ultimately be in charge of the PCB given the group’s limited experience with hardware design.

Write hardware support and interface libraries in CSupport and interface libraries will need to be written in the C programming language to manage the communication between the hardware devices and the microcontroller. These software libraries will need to be well documented and have uncomplicated interfaces for the CprE 211 students.

7

Page 13: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

Test hardware and software compatibility A test program will be created to thoroughly test the functionality of the new PCB and microcontroller package. The test program will validate the integrity of the hardware as well as the correctness of the C hardware support and interface libraries.

3.2 Functional Requirements

Integrated Visual Compiling and DebuggingA huge downfall of the current 68HC11/F1-board combination is the lack of good compiling and debugging software. It is imperative that the CprE211 students learn how to use modern development tools that are the norm in industry. The ideal integrated development environment for the microcontroller will be completely visual and allow for real-time debugging. The real-time debugger should feature options to view register and memory contents as well as the program stack (see Figure 3.1).

Liquid Crystal DisplayMinimum requirement for the LCD is a 2x20 alphanumeric screen; however, 4x20 screens are also under consideration. In addition, some research has been done on pixel based LCD technologies. A pixel based LCD provides more flexibility than its alphanumeric counterparts by allowing direct control of pixel placement; however, the downside is the cost and development time of C support libraries.

7-Segment Display

Figure 3.2 (right)A picture of the 2x20 alphanumeric LCD currently used in CprE211. The new prototype board will use a 4x20 or a 4x40 LCD screen.

Figure 3.1 A screenshot of the CodeWarrior IDE for the PowerPC. (Metrowerks) CodeWarrior fulfills all of the project requirements for a robust and user friendly visual compiler and real-time debugger.

8

Page 14: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

Two seven-segment displays will be integrated onto the PCB. The students will use these to better understand bit masking and digital logic.

LED BargraphTwo LED bargraphs will be integrated onto the PCB. These bargraphs provide more digital output options than is currently found on the F1-boards, which offers the CprE211 students and professors greater flexibility in their labs.

Analog InputThe analog input allows the user to enter data in variable measurable physical quantities. This provides the students with a basic understanding of analog to digital conversion. The analog input on the F1-board is currently implemented using a one-turn potentiometer. The 32-bit microcontroller PCB will provide at least one analog input (most likely 2-4).

Digital InputThe F1-board currently uses an 8-bit DIP switch for the digital input. The new board will contain at least one 8-bit DIP switch which will provide the students with an understanding of bit logic.

Digital OutputMultiple 8-pin digital outputs (at least 2) will be integrated onto the PCB for general purpose use. The F1-board currently uses the digital output to interface with a series of LEDs or a 7-segment display.

32-bit microcontrollerA large portion of the outcome of this project is dependent on the selection of a new, modern 32-bit microcontroller. This microcontroller will be integrated onto a new PCB, which will replace the F1-board and the 8-bit Motorola microcontroller, the 68HC11. The new 32-bit microcontroller must contain all of the functionality of the 68HC11.

KeypadThe keypad offers the user with an intuitive means of inputting data. The F1-board currently uses a 5x8 matrix of keys (this includes the characters A-Z, period, and space, the numbers 0-9, and the functions clear and enter). The students in CprE211 program the software logic on the 68HC11 microcontroller to interpret the character or digit pressed on the keypad. At the very least, the new PCB will be utilizing a 4x4 matrix keypad, which will provide the hexadecimal digits 0-F.

Figure 3.3 Two seven-segment displays

Figure 3.4 Two 10 LED bargraphs (one red and one green)

Figure 3.5 (right)The 5x8 keypad currently used by the 68HC11 F1-board. It has been a priority for this project to investigate better keypad solutions; one that offers the flexibility of the current keypad with better durability.

9

Page 15: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

Printed Circuit Board (PCB)A new PCB will have to be designed to integrate all of the above hardware components. The PCB will most likely be two-layered to provide easy access for maintenance and support.

Optional Additions

Analog OutAlthough this functionality is not currently implemented in the F1-board, it could be a value-add for the new PCB and microcontroller. The analog out could be used to play different frequencies of sounds with a small speaker.

SpeakerThe students in CprE 211 currently work through an analog-to-digital lab. The addition of analog out functionality and a speaker would allow them to also work through a digital-to-analog lab.

3.3 Design Constraints

DurabilityBecause of the nature of the CprE 211 laboratories, it is necessary that steps be taken to make the PCB and hardware as durable as possible. This may include full circuit protection (contingency grounding) for the hardware, and additional circuit protection for other possible faults. Aaron Striegel has also advised that the prototype board include current limiting resistors and octal buffers for electrical connections that are exposed to the students.

ReliabilityThe clients of this project, Dr. Tyagi, Dr. Somani, and Dr. Govindarasu, have stressed the importance of reliability. This includes finding dependable hardware suppliers that include adequate technical support for their parts in addition to purchasing high quality hardware components.

Ease of UseThe target audience for this product is the sophomore level students in the CprE 211 course. It is important that the software interface and the hardware components have a straightforward method of use because of the introductory nature of this course.

Lack of TimeThe clients of this project, Dr. Tyagi, Dr. Somani, and Dr. Govindarasu, have expressed their desire for the completion of this project by the end of June, 2001.

3.4 Measurable Milestones

10

Page 16: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

This subsection will define a set of measurable milestones by which the success of this project can be measured. Each milestone will be successful if they are completed in a timely manor and within the requirements of the project.

Acquisition or creation of a 32-bit prototype board – 30%Must fulfill needed requirements for all hardware specifications as listed in the functional requirements section.

Software Compiler for 32-bit microcontroller – 10% Provide debugging, cross compiling, and support for the 32-bit microcontroller prototype board. Compiler will support C and assembly programming.

Software C libraries – 25%Support the LCD, keypad, and digital/analog inputs and outputs. Libraries will also support memory mapped I/O.

Upgrade / modify one semester of CprE 211 lab projects – 10%All CprE 211 lab projects will now use a 32-bit microcontroller prototype board instead of 68HC11.

Documentation for the 32-bit microcontroller prototype board – 10%Provide documentation for the hardware layout, including device placement and interfaces.

Documentation for Compiler – 5%Provide documentation on how to use compiler to write program, documentation on how to setup compiler for Assembly and C, documentation on how to use compiler’s debugging capabilities with the new 32-bit microcontroller prototype board.

Documentation for C libraries – 10%Provide documentation on software support libraries.

4.0 End-Product Description

The finished product shall be a PCB/32-bit microcontroller package similar to the F1-board/68HC11 kit, which was previously used in CprE 211. The new board shall include the use of an LCD, keypad, digital input/output, analog input, support C libraries, and any additional tools to enhance the learning of CprE 211 students. This shall allow students to become familiar with a modern microcontroller architecture and functionality. In addition, this product shall further prepare them for the more advanced features and concepts in any future microcontroller related classwork.

5.0 Approaches and Design

5.1 Technical Approaches

11

Page 17: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

Two different technical approaches have been considered for the design phase of this project. The first approach dictated that the project be centered on a “commercial off the shelf (COTS) solution.” In other words, the group was to explore different microcontroller/PCB package solutions from hardware suppliers and purchase the one most suited for the CprE211 course (as dictated by the functional requirements listed in Section 3.2). The second approach was contingent on the success of the first; if an appropriate canned solution was not found, the necessary hardware components (i.e. LCD, keypad, microcontroller, resistors, capacitors, etc) would need to be purchased individually and the project team would need to design and build the prototype board themselves.

The clients of this project have made it clear that they desire the delivery of a working prototype of the product by the end of June. Because of this severe time limitation, the project team has been working under an accelerated design period. In fact, the group members already have approval of their design from their clients (one that incorporates elements from both technical approach scenarios described above). It has been concluded that a 32-bit microcontroller/PCB kit from Metrowerks, called the PB-0555 module, fulfills most of the fundamental hardware and software requirements. The necessary hardware additions will be made by the project team on a PCB called a “breakout board” and will be interfaced to the PB-0555.

The list below revises the technical approach outline presented in the Project Plan given these recent developments:

1. Investigate current “commercial off-the-shelf (COTS)” solutions for 32-bit microcontroller/prototype board kits on the web. Research vendor histories to ensure quality products and adequate customer support.

2. Obtain, evaluate, and test the PB-0555-ED board and the CodeWarrior IDE from Metrowerks.

3. Research and purchase additional hardware components needed for breakout board. 4. Begin first-stage breakout board layout designs with Jason Boyd using hardware pin-

out specifications and computer aided design software (e.g. OrCAD). 5. Send breakout board layout to PCB printing center6. Test hardware durability with auxiliary hardware devices like electronic probes.

Ensure that the prototype board has adequate circuit protection and grounding.7. Design and develop software libraries in the C programming language that were not

included with the microcontroller/prototype board solution. Aaron Striegel has been appointed by Dr. Somani to do a majority of this work.

8. Test software library compatibility with the hardware9. Develop and modify the 68HC11 CprE 211 labs to work on the new hardware

12

Page 18: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

5.2 Technical Design

The technical design as described in the Project Plan supports both technical approach scenarios, but as outlined above, those technical approaches have been merged together. This has obvious affects on the design of the microcontroller/PCB package. Originally it was proposed that the project team purchase a 32-bit microcontroller package that would fulfill all of the project’s functional hardware requirements. However, as mentioned in the Technical Approach section above the group has decided to pursue an alternative design plan, which includes purchasing the Motorola MPC555 PowerPC microcontroller kit called the PB-0555 provided by Metrowerks.

The PB-0555 integrates the MPC555 PowerPC chip with I/O pin headers, an oscillator circuit, a power supply, and a RS232 COM port. Clearly, this kit does not fulfill all of the project’s hardware requirements, so an additional printed circuit board (referred to as a breakout board) will be designed by the team to incorporate the necessary functionality. This breakout board will be tightly interfaced with the MPC555 PowerPC chip through the PB-0555 input/output pins. A clear advantage in using the PB-0555 is that it comes ready to use with the full version of the CodeWarrior IDE, a well-known and respected visual compiler and real-time debugger also produced by Metrowerks.

The design plan of this project is reflected in the high-level design diagram (below).

The breakout board is connected to the PB-0555 via the I/O pin headers. The I/O pin headers from the PB-0555 provide all 136 pins from the MPC555 to the breakout board.

CodeWarrior IDE- Compiles, links, assembles, debugs within single development environment- Visual in-line and real time debugger- Viewable register and memory contents including program stack- Background debugging mode Motorola MPC555

- RISC CPU architecture- PowerPC core- 2 time processor units (TPU)- 40 MHz clock- 32-bit addressing- 32-bit registers- Modern instruction set

Figure 5.1 High-level design diagram incorporating the Motorola MPC555 kit, the CodeWarrior IDE and the customized breakout board to be designed by this team.

13

Page 19: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

These pins include the data lines, address lines, analog input lines, TPU lines, and all other I/O control lines. The breakout board consists of the input devices, output devices, and additional SRAM memory chips. The breakout board layout is shown in Figure 5.2 below.

Due to the fact that the PB-0555 has only 26K SRAM on-board, the need for external memory was apparent. Four four-megabyte SRAM chips were selected with eight I/O lines for each chip. The four SRAM chips totaling 16 MB of SRAM fill all needs for external memory according to the design requirements. With only eight I/O lines for each chip, four chips are required to provide for the 32-bit data bus. The PowerPC 555 microcontroller is capable of addressing up to 4 gigabytes of addresses thus allowing for the possibilities of expanding the memory in the future.

Figure 5.2 contains the general layout of how each device/chip is connected to the data bus. The input devices require octal latches to hold the data from the input device until the device is selected by the microcontroller. The output devices require octal latch so that the devices only receive the output when they are selected. Some devices require current limiting resistors to provide for power surge protection of the breakout board. The resistor banks used for the 7-segment displays and LED bargraphs provide a current limitation for the device. The 7-segment displays require a decoder chip that takes the 4-bit input value and displays the corresponding hexadecimal output on the display. The DIP switches require pull-down resistors to provide for logic 0 when the switch is turned off.

Figure 5.2 Overall design layout of the breakout board.

14

Page 20: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

To address each of the devices on the break-out board two chip select lines from the microcontroller are used. One chip select line is used for the memory and one for the input and output devices. The memory (SRAM) is mapped starting at the address of 0x20000000, and the input and output devices are mapped starting at the address of 0x40000000. The chip select lines are setup in software on the microcontroller, and by doing so redirects any accesses in the memory range of 0x20000000 to the SRAM array accordingly and likewise for the input and output devices located at 0x40000000. Each input and output device is memory mapped to a specific address, with each address being 4 bytes apart to ensure for word aligned memory accesses. Incorrectly aligned accesses could cause invalid data or inconsistent output.

Since there are multiple devices all using the same chip select for our input and outputs an enable for only the specific device needs to be implemented. This is implemented via a de-mux, or de-multiplexer, that has for inputs the address bus from the microcontroller and an individual output to each device’s octal latch’s enable line. Thus when the specific device’s address is on the address bus from the microcontroller the de-mux decodes which device should be enabled and enables to correct octal latch. Two de-multiplexers were required to implement all of the input and output devices to separate the input and output devices. The de-mux is enabled by the chip select line, the write enable line, and the output enable for the output devices. The I/O addresses are shown in Table 2.

Device Input or Output AddressDigital Input #1 Input 0x40000003Digital Input #2 Input 0x40000007DIP Switch #1 Input 0x4000000BDIP Switch #2 Input 0x4000000F16 key Keypad Input 0x40000013

LED Bargraph #1 Output 0x40000023LED Bargraph #2 Output 0x40000027Digital Output #1 Output 0x4000002BDigital Output #2 Output 0x4000002F

Dual 7-Segment Display Output 0x40000033

In addition to the external I/O devices that are on the I/O board there are two serial ports on the PowerPC 555 microcontroller. Serial port 1 is connected to the personal computer and serial port 2 is connected to the QTerm LCD display. C language functions were created to send and receive character and string inputs and outputs for both the PC and QTerm connections. Both the PC and QTerm functions are written so that the user needs to just send the ASCII character or the array of characters to the correct function.

To configure the microcontroller to be able to use the external devices the microcontroller requires the chip select registers to be setup before using the devices. These register values are set in the initialization file used by CodeWarrior to initialize the PowerPC and the Wiggler debugging connection. These values are shown in Table 3.

Register Value UsageBase Register 1 (0x2fc108) 0x40000023 Sets up the memory range of 0x40000000 for chip select 2

Option Register 1 (0x2fc10c) 0xFFFF81F7 Sets up the read/write settings for the output devicesBase Register 2 (0x2fc110) 0x20000003 Sets up the memory range of 0x20000000 for chip select 1

Option Register 2 (0x2fc114) 0xFF0001F7 Sets up the read/write settings for the output devices

Table 2: I/O Device Addresses

Table 3: Base and Option Register Setup

15

Page 21: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

Figure 5.3 shows a picture of the PB-0555 board unconnected to any I/O board. The PB-0555 contains the microcontroller, one serial port, the debugging connection port, and the I/O pin headers for the PowerPC 555 microcontroller.

Figure 5.4 shows a picture of the completed I/O board with all of the external devices populated and connected.

Figure 5.5 shows the electrical schematic of the break-out board. The electrical schematic contains all of the parts and displays their interconnections and interactions.

Figure 5.3 Picture of the PB-0555 board

Figure 5.4 Picture of the I/O break-out board and PB-0555 connected

16

Page 22: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

Figure 5.5 Schematic layout of the breakout board.

17

Page 23: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

Microcontroller Evolution Hardware Testing Form Group: Dec01-04

Test Name: Tester Name: Testing Date/Time: / /2001 @ : AM/PM

Part(s) Tested:(1) (2) (3)

Test Equipment Used:(1) (2) (3)

Pass/Fail Tests (Circle One):(1) Power Up Test: Pass/Fail Behavior:

(2) Data Logic Probe Test: Pass/Fail Behavior:

(3) Function/Operation Test: Pass/Fail Behavior:

General Comments:

Recommended Action:

5.3 Testing Description

This section outlines the testing scenario for the development phases of the product.

1. Hardware TestingUsing circuit probing and operation analysis with multi-meters, logic analyzers and other devices, the hardware will be thoroughly tested to ensure proper operation. In addition, each component on the breakout board will be tested with the microcontroller individually to determine if the component is working properly. Next, the components will be tested together in subsystems to ensure compatibility.In order to standardize the hardware testing process, a Hardware Testing Form has been created (see Figure 5.6). The form provides the tester with three different pass/fail tests. The first test, called the power up test, demonstrates that the hardware device is properly connected to its power sources. The second test, referred to as the data logic probe test, will validate proper input/output pin operation for each device. The last test, the function/operation test, confirms the proper operation of functions unique to the device.

2. Software Testing:Figure 5.6 Hardware Testing Form

18

Page 24: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

The software support libraries will need to be tested and debugged to certify proper operation. As in the case for hardware testing, a standardized Software Testing Form (see Figure 5.7). has been created to facilitate the testing procedure. The software form includes areas to verify that data functions/modules function properly independent of the hardware. This will consist of creating test data, where the results are known, and comparing them to the output of the program. In addition, the data logic probe test is similar to that on the Hardware Testing Form (above); however, this form will test the interactions between the hardware and software and ensure proper operation. Lastly, the integration test will confirm that the complete hardware/software system operates as expected.

Microcontroller Evolution Software Testing Form Group: Dec01-04

Test Name: Tester Name: Testing Date/Time: / /2001 @ : AM/PM

Libraries(s) Tested:(1) (2) (3)

Test Equipment Used:(1) (2) (3)

Pass/Fail Tests (Circle One):(1) Data/Module Verification Test: Pass/Fail Behavior:

(2) Data Logic Probe Test: Pass/Fail Behavior:

(3) Integration Test: Pass/Fail Behavior:

General Comments:

Recommended Action:

Figure 5.7 Software Testing Form

19

Page 25: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

3. Laboratory Modification and Testing:The laboratory projects will be tested by porting the current solutions/write-ups to the new microcontroller, and the new input and output devices. Each input and output device used in the laboratory project will be tested individually and behavior recorded. In addition each function used by the laboratory project will be tested individual and its behavior recorded.

In order to standardize the laboratory testing process, a Laboratory Testing Form has been created (see Figure 5.8). The form provides the tester with three different pass/fail tests. The first test, called the function test, which demonstrates that the function is properly working. The second test, referred to as the input/output devices test, will validate proper input/output operation for each device. The last test, the function/operation test, confirms the proper operation of functions for each.

Microcontroller Evolution Laboratory Testing Form Group: Dec01-04

Lab #: Tester Name: Testing Date/Time: / /2001 @ : AM/PM

Function(s) Tested:(1) (2) (3) (4)

Input/Output Devices Used:(1) (2) (3) (4)

Pass/Fail Tests (Circle One):(1) Input Device Logic Test : Pass/Fail Behavior:

(2) Output Device Logic Test: Pass/Fail Behavior:

(3) Function/Operation Test(s): (1) Pass/Fail Behavior: (2) Pass/Fail Behavior: (3) Pass/Fail Behavior: (4) Pass/Fail Behavior:

General Comments:

Recommended Action:

Figure 5.8 Laboratory Testing Form

20

Page 26: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

5.4 Risks and Risk Management

This section identifies the type of risks that may be encountered throughout the project. Note: an asterisk next to the risk header signifies that this issue has already been encountered and addressed.

1. Robustness of breakout boardThese boards must be sustainable for multiple years of heavy laboratory use. Because of the usage model associated with the microcontroller and the prototype board, it is of utmost importance that the hardware be well grounded. This will be tested thoroughly with electronic probes.

This risk has been partially encountered during the first semester of usage of the microcontroller board. Quite a few of the microcontroller board’s potentiometer knobs, which are used as analog inputs to the system, have been broken or removed by students. This risk will be managed by tightening the potentiometer knobs or possibly removing them until needed by the students.

One other risk that has been encountered in this area is the incorrect resistance value of the current limiting resistors. The current limiting resistors that are currently being used are limiting the current too much, thus not allowing the board to be able to provide enough current to external circuits. This risk will be managed by removing the current limiting resistors that are currently being used and replacing them with a smaller resistor.

2. Reliability of hardware supplier(s)The hardware supplier(s) must provide quality parts on time.

This risk was not encountered during the project as all suppliers shipped parts within a reasonable time.

3. Future support from hardware supplierThe hardware supplier must be a proven company that will support their hardware for the lifetime of the product. This is extremely important in the academic setting because the hardware will be under continuous stress from a large degree of students every semester. Given these conditions, some hardware will most likely need to be replaced.

This risk was not encountered during the project, but could possible become a future risk. To manage this possible future risk extra hardware parts were ordered to replace any broken or damaged parts. Thus the parts can be replaced without having to rely on ordering from a hardware supplier, and then after the microcontroller system is functioning again a replace part may be ordered to replace the stock part that was used.

4. Lack of time*This design may require more time than allotted. If this were to happen, Dr. Somani has expressed that he is prepared to allocate graduate student time on this project. This would most likely include a full summer of work.

As mentioned in the Technical Approach section, our clients have requested that a prototype of the product be completed by the end of the summer of 2001. To help the project team meet this deadline, Jason Boyd has agreed to do the breakout board design

21

Page 27: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

layout and Dr. Somani has appointed Aaron Striegel to write the C support libraries and complete much of the software testing during the summer of 2001.

This risk was completely managed by the client through the work of Jason Boyd and Aaron Striegel. All work was completed on time during the summer and the board was tested and approved for use in the classroom for the fall semester.

5. Availability of hardware parts*The hardware parts may be bought from multiple suppliers, which could cause logistical issues. Steps will be taken to use reliable well-known hardware suppliers (e.g. Mouser, Digikey), which will most likely minimize ordering/shipping issues.

The project team invariably had a difficult time tracking down a suitable 36+ key keypad. Contact was made with Pete Dunster, the original 68HC11/F1-board kit supplier regarding their keypad and connections to other keypad companies. This issue has not yet been completely resolved; however, there are three different options: use the original 5x8 keypad from the F1-board, use a 16 key keypad, or use a full keyboard terminal and LCD display system from QTerm.

This risk was encountered throughout the project. Jason Boyd managed this risk by modifying some part selections to make sure that all parts would be available from one supplier. Jason also acquired the QTerm terminal which combined the LCD and keypad into one system. All parts were ordered from a trusted departmental supplier who has proven part availability.

6. Limited PCB hardware design experience*The group does not have any academic knowledge of PCB design or hardware layouts for the scope of this project. Although this risk could serve as a critical delimiter, the group has already sought the help of faculty members like Jason Boyd (ISU electronic technician who has experience with PCB design).

This risk was encountered during the project and was managed through the assistance of Jason Boyd. Team members developed system designs and worked with Jason to complete the PCB design and hardware schematics.

7. General PCB issuesThe production of the PCB requires at least a one-month lead-time. The potential for a major PCB design error will be decreased with rigorous CAD testing and prototyping.

This risk was not encountered as the PCB passed all testing requirements with the second printing. No major PCB design errors were encountered during the project. In addition no major logic design errors, that could cause a potential re-work of the PCB, were encountered.

Failure to meet a majority of the above risks may cause the focus of the project to change drastically. Strong communication channels and weekly meetings with project advisors will reduce the likelihood of failure.

22

Page 28: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

5.5 Recommendation for Continued Work

At present, the project team has successfully completed the necessary intermediate tasks to present a working prototype to the project clients by the end of the summer of 2001. A key factor in the design process so far has been the discovery of the Metrowerks PB-0555 PowerPC and CodeWarrior solution. The approval and purchase of this hardware by the project’s clients has allowed the team to progress towards completing the breakout board layout at the time of this writing. Although this team is under stringent design and development timelines, successful execution of the design plan so far has been made possible by the assistance from Aaron Striegel and Jason Boyd. Continued success is expected if the project team continues to work together with the ISU EE/CprE department to meet the goals of this project.

6.0 Financial Budget

Table 4 outlines the budget to build the 32-bit microcontroller board. This shall include the 32-bit microcontroller, LCD, Keypad, cost of PCB, and cost of the case which shall enclose the board. Also estimated in the total cost is the cost of the poster, which includes poster board and adhesive. The CodeWarrior software is also included with the educational discount.

Table 4 Financial Budget for Custom Solution

ItemOriginal

Estimated CostRevised

Estimated CostActual

Final CostPoster $50.00 $51.87 $51.87Power PC MPC555 w/CodeWarrior Software

$5000.00 $250.00* $275.00*

Printed Circuit Board $350.00 $225.00 $71.84Integrated Circuit Parts and Keypad $200.00 $71.91 $219.35

Qterm (LCD) $400.00 $184.39 $199.52Case w/Labor Costs $50.00 $100.00 $90.00Total Estimated Cost $6,050.00 $883.17 $907.58*Educational Discount Available = 25% or less of retail price

23

Page 29: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

7.0 Personnel Effort Budget

Table 5 is an original estimation of the personnel effort, Table 6 is a revised estimation of the effort, and Table 7 is the final time effort put into developing the 32-bit microcontroller board throughout the two semesters. The effort has been broken up into five different sections. These sections include Research and Design, Hardware Development, Software Development (Coding), Test and Evaluation, and time taken for meetings with the group and with advisors. Aaron Striegel, Project Advisor, shall be working on the project over the summer months. His duties shall include the software development and thus the time hours for coding have been reduced to zero as shown in Tables 6 and 7.

Table 5 Original Personnel Effort Budget

Team Members Research & Design Hardware Coding Test &

Evaluation MeetingsOriginal Estimated Effort(in hours)

Jon Froehlich 25 75 50 40 90 280Brad Hottinger 25 75 50 40 90 280Derek Miller 30 75 50 40 90 285Dan Murr 25 75 50 40 90 280

Total Estimated Effort 185 300 200 160 360 1205

Table 6 Revised Personnel Effort Budget

Team Members Research & Design Hardware Coding* Test &

Evaluation Meetings

Revised Estimated Effort(in hours)

Jon Froehlich 35 70 0 50 90 245Brad Hottinger 25 60 0 45 90 220Derek Miller 45 75 0 55 100 275Dan Murr 25 65 0 45 85 220

Total Estimated Effort 130 270 0 195 365 960

*To be done by Aaron Striegel – Project Advisor

Table 7 Final Personnel Effort Budget

24

Page 30: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

Team Members Research& Design Hardware Coding* Test &

Evaluation MeetingsActual

Final Effort(in hours)

Jon Froehlich 35 70 0 20 90 215Brad Hottinger 30 60 0 10 90 190Derek Miller 45 75 0 40 90 250Dan Murr 25 60 0 10 90 185

Total Estimated Effort 130 270 0 80 360 840

*Completed by Aaron Striegel – Project Advisor

25

Page 31: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

8.0 Project Schedule

Table 8 contains the project’s schedule as shown via a Gantt chart. The chart shows the previous estimations for the schedule and the currently updated schedule. The project schedule is split into eight main sections: Review Project Requirements, Develop Project Plan, Evaluate custom solution for 32-bit board, Develop Project Poster, Develop Project Design Report, Implement Project Design, Develop Final Report, and Develop Oral Presentation. Each section contains individual goals, milestones, and deadlines. For each task shown on the Gantt chart there are two lines. One line is for the original estimated schedule (shown in navy blue shown in dark gray), and the second line is the actual current schedule as adjusted (shown in dark gray). As the schedule has changed the remaining tasks are thus re-adjusted and re-scheduled accordingly to the updated schedule.

The schedule shown below in Table 8 represents an updated schedule that reflects all design and implementation completed during the summer by Aaron Striegel and Jason Boyd. Due to this additional assistance the project group members began working on different aspects of the project that were not originally planned. These additional items include technical documentation, emulation of serial I/O devices, investigation into future integration of PowerPC with other devices, creating an overview for future laboratory exercises, “how-to” guides for CodeWarrior and the PowerPC assembly language, and general documentation for future instructors and users of the microcontroller.

26

Page 32: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

Table 8: Gantt chart of Project Schedule

27

Page 33: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

9.0 Evaluation of Project Success

Generally the project was very successful, all of the milestones were met, and the group dynamic was always positive. The seven major milestones for this project were: acquisition or creation of a 32-bit prototype board, find a software compiler for 32-bit microcontroller used, develop software C libraries, upgrade / modify one semester of CprE 211 lab projects, document the 32-bit microcontroller prototype board, document the compiler, and finally document the C libraries.

The decision was made to develop our own board for use in the CprE 211 labs. The individual parts were ordered and the PCB layout was completed before the end of the Spring 2001 semester. The dec0104 team also found a great IDE to go along with the PowerPC 555 microcontroller that was used. Motorola’s education department developed it; as a result the CodeWarrior package is perfectly suited for the CprE 211 lab. The IDE has a low learning curve and wonderful debugging tools. The line-by-line debugging feature of the IDE is great for the students and is an incredible improvement over the compiler used with the HC11 board.

C libraries were developed after the hardware was tested. The libraries provide a simple way for students to interface with the microcontroller and it’s peripherals. These libraries were completed before the start of the Fall 2001 semester. Testing of the libraries was done by completing previous semester labs on the new Motorola board. Some of the labs were modified to provide additional testing, thus completed the next milestone: upgrade / modify one CprE 211 lab project.

All of the documentation for the project has almost been completed. The document for the hardware is complete. It includes schematics, costs, and justification for design decisions. The library documentation is also complete.

28

Page 34: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

10.0 Commercialization

Although the PowerBox 500 is strictly an educational-based product, there are strong market opportunities in the academic sector. There are roughly 600 accredited Electrical and Computer Engineering departments in the United States (and outlying areas) that have courses in digital systems design and/or embedded systems. A conservative estimate would be that 3% of these Universities, or 18 schools, are still using outdated microprocessor systems (like the 8-bit MHC6811). If the average school were interested in purchasing 20 systems, we would need a production facility capable of producing 360 PowerBoxes.

One PowerBox 500 costs approximately $910. For commercialization, production could be refined and parts could be bulk purchased. In addition, the $90 aluminum encasement with Plexiglas could be replaced with a $20 solution. Overall, the final cost to produce each board could be reduced by 25%, to $680 (excluding labor). Clearly, to make a profit, the PowerBox 500 would have to retail for around $900. In addition, special custom packages could be sold for $1,100. We could also offer special premium services that would include long-term contracts for support and maintenance. In addition, premium service could offer teaching packages that include textbooks, lab materials, example tests, and online help.

Item Amount (per system)Cost of PB-500 $680Retail of PB-500 $900Custom PB-500 $1100One year premium services $2000Two year premium services $3800Four year premium services $6500

Selling 360 PowerBoxes at $900 would generate $324,000. Let’s assume that 2 of the 18 schools also chose to purchase the one-year premium service package at $2000. This would result in $4,000 additional income. The overall income generated by the commercialization of this product could be in the range of $330,000. However, production costs and labor would reduce the overall profit to less than $80,000.

In terms of marketing this product, a web page could be setup at www.powerbox500.com to provide a cheap resource for advertising and support. Technical trade magazines could also be considered as a source for cheap and informational advertising. Papers on this project may also be submitted to various publications such as the Institute for Electrical and Electronic Engineers (IEEE) Transactions on Education

Table 9: Costs of Commercialization

29

Page 35: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

11.0 Recommendations for Additional Work

Addition work being considered for the PowerBox 500 includes network support, remote login, and additional hardware features such as USB, speakers, and wireless networking. Future senior design teams could easily implement all of these features.

Networking features, along with remote login are currently being investigated through independent studies within the electrical and computer engineering department. The TINI board made by Dallas Semiconductor will provide these features for the PowerBox 500 through its serial port.

As demands for different hardware elements arise, different components will need to be added to the board. Additional hardware will only be added in order to better facilitate the learning environment at ISU. A wireless network might have to be implemented on the PowerBox 500 if Coover changes to a wireless network.

12.0 Lessons Learned

The project team learned many things in a variety of categories over the last 11 months. The many challenges and expectations that the team encountered were all met head on. The lessons Brad, Dan, Derek, and Jon learned will be valuable for the rest of their engineering careers.

There were many things that went well for the team, and not many things went poorly. First, the group dynamic was always positive. Each member was supportive of the others, understanding the many different time conflicts that occur throughout a semester. The group leader did a very good job of never overstepping his bounds and he never tried to control the team; he just guided them throughout the project. One thing that didn’t go well was the changing of advisors at the semester mark.

The team also learned many technical aspects of the design process. First, they learned how to research parts. This was done keeping the projects goal of using a 32-bit microcontroller in the design. The team started with a broad search, looking for canned solutions as well as the looking at the feasibility of designing their own board. Most of the team members had never done a hardware layout outside of a class. This process was learned through trial and error, but ultimately resulted in a working product. The team had to learn how to test the hardware components as well as testing the software.

Time was the controlling factor for this project. The team had to constantly be aware of approaching deadlines, as well as deadlines that were weeks away. Having a group leader was vital for the task management needed. Work delegation was also important, group members needed to separate tasks because of the size of the project. The team never would have finished on time if every team member knew everything that was going on with the project.

30

Page 36: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

13.0 Project Team Information

Faculty Advisors

Dr. Arun Somani – Nicholas Professor3108 Coover HallDepartment of Electrical and Computer EngineeringIowa State UniversityAmes, IA 5001Phone: (515) 294-0442Fax: (515) 294-8432E-mail: [email protected]

Dr. Manimaran Govindarasu – Assistant Professor3219 Coover Hall Department of Electrical and Computer EngineeringIowa State UniversityAmes, IA 50011Phone: (515) 294-9175Fax: (515) 294-8432E-mail: [email protected]

Dr. Diane Rover – ProfessorCoover HallDepartment of Electrical and Computer EngineeringIowa State UniversityAmes, IA 50011Phone: (515) 294-7454E-mail: [email protected]

Project Advisor

Aaron Striegel – Graduate Assistant (past Cpr E 211 instructor)3101 Coover HallDepartment of Electrical and Computer EngineeringIowa State UniversityAmes, IA 50011E-mail: [email protected]

Clients

Dr. Akhilesh Tyagi – Associate Professor3107 Coover Hall Department of Electrical and Computer EngineeringIowa State UniversityAmes, IA 50011

Phone: (515) 294-4396Fax: (515) 294-8432E-mail: [email protected]

31

Page 37: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

Dr. Arun Somani – see advisors list above.

Dr. Manimaran Govindarasu – see advisor list above.

Dr. Diane Rover – see advisor list above.

Team Members

Jon Froehlich - CprE 224 Hayward Avenue #203Ames, IA 50014Phone: (515) 292-5065E-mail: [email protected]

Brad Hottinger - CprE3139 Story StreetAmes, IA 50014Phone: (515) 292-7752E-mail: [email protected]

Derek Miller - CprE3426 Hawthorn Ct.Ames, IA 50010Phone: (515) 572-8081E-mail: [email protected]

Dan Murr - CprE4524 Steinbeck Street #5Ames, IA 50014Phone: (515) 268-9092E-mail: [email protected]

32

Page 38: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

14.0 Summary

The objective of this project is to replace the 8-bit microcontroller and prototype board currently used in CprE 211 with a more modern 32-bit microcontroller. This will be advantageous for the students because they will be using contemporary technology that parallels the computer industry, in addition to providing them with a solid microcontroller foundation for future coursework. The Iowa State University Department of Electrical and Computer Engineering will also benefit from this project by consolidating the embedded systems focus into a more fluid curriculum.

33

Page 39: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

15.0 References

Personal communication with Dr. Akhilesh Tyagi – Associate Professor3107 Coover Hall Department of Electrical and Computer EngineeringIowa State UniversityAmes, IA 50011Phone: (515) 294-4396Fax: (515) 294-8432E-mail: [email protected]

Personal communication with Dr. Arun Somani – Nicholas Professor3108 Coover HallDepartment of Electrical and Computer EngineeringIowa State UniversityAmes, IA 50011Phone: (515) 294-0442Fax: (515) 294-8432E-mail: [email protected]

Personal communication with Dr. Manimaran Govindarasu – Assistant Professor3219 Coover Hall Department of Electrical and Computer EngineeringIowa State UniversityAmes, IA 50011Phone: (515) 294-9175Fax: (515) 294-8432E-mail: [email protected]

Personal communication with Dr. Diane Rover – ProfessorCoover HallDepartment of Electrical and Computer EngineeringIowa State UniversityAmes, IA 50011Phone: (515) 294-7454E-mail: [email protected]

34

Page 40: 1seniord.ece.iastate.edu/projects/archive/dec0104/Final Report/Dec01...  · Web viewThis file will then be imported into OrCAD’s Layout program to design and prototype ... with

Technical Advisor:

Personal communication with Jason Boyd - Electrical Technician1101 Coover HallDepartment of Electrical and Computer Engineering Iowa State UniversityAmes, Iowa 50014Phone: (515) 294-1256E-mail: [email protected]

Personal communication with Aaron Striegel - Graduate Assistant (past Cpr E 211 instructor)3101 Coover HallDepartment of Electrical and Computer Engineering Iowa State UniversityAmes, Iowa 50014E-mail: [email protected]

Vendor Contacts:

Motorola Microcontrollers3501 Ed Bluestein Boulevard Austin, TX 78721 Phone: (512) 933-6000Fax: (512) 933-7302Web Page: http://e-www.motorola.com/index.html

MetrowerksMotorola and Metrowerks Academic Program9801 Metric Blvd.Austin, TX 78758Phone: (800) 377-5416Web Page: http://www.metrowerks.com

F1 Controller BoardPete DunsterEmail: [email protected] Page: http://pm.cse.rmit.edu.au/~f1/

35