I/O Laboratory Development
Project Plan
Team Number: Dec01-04
Date Submitted: 02/16/2001
Client Names:Faculty Advisors: Project Advisor:
Dr. Somani Dr. Somani Aaron Striegel
Dr. Tyagi Dr. Govindarasu
Dr. Govindarasu
Team Members:
Jon Froehlich
Brad Hottinger
Derek Miller
Dan Murr
Table of Contents
Page #List of Figures…………………………………………………………………………... / I
List of Tables…………………………………………………………………………… / II
1.0 Abstract……………………………………………………………………………... / 1
1.1 Acknowledgements…………………………………………………………. / 1
1.2 Definition of Terms…………………………………………………………. / 1-2
2.0 Introduction………………………………………………………………………… / 3
2.1 General Background………………………………………………………... / 3
2.2 Technical Problem………………………………………………………….. / 4
2.3 Operating Environment……………………………………………………... / 4
2.4 Intended user(s) and use(s)…………………………………………………. / 4
2.5 Assumptions and Limitations………………………………………………. / 4-5
3.0 Design Requirements……………………………………………………………….. / 6
3.1 Design Objectives…………………………………………………………... / 6
3.2 Functional Requirements…………………………………………………… / 6-7
3.3 Design Constraints………………………………………………………….. / 8
3.4 Measurable Milestones……………………………………………………... / 8-9
4.0 End-Product Description…………………………………………………………… / 9
5.0 Approaches and Design…………………………………………………………….. / 10
5.1 Technical Approaches……………………………………………………… / 9-10
5.2 Technical Design…………………………………………………………… / 10-11
5.3 Testing Description………………………………………………………… / 11-12
5.4 Risks and Risk Management……………………………………………….. / 12-13
6.0 Financial Budget……………………………………………………………………. / 14-15
7.0 Personnel Effort Budget.…………………………………………………………… / 16
8.0 Project Schedule……………………………………………………………………. / 17
9.0 Project Team Information…………………………………………………………... / 18-19
10.0 Summary…………………………………………………………………………... / 20
11.0 References…………………………………………………………………………. / 20-21
Appendices……………………………………………………………………………… / 22-28
I.
List of Figures
Page #Figure 1: F1-board……………………………………………………………………… / 26
Figure 2: LCD Screen…….……...……………………………………………………... / 26
Figure 3: New Micros 68332 Evaluation Board………………………………………... / 26
Figure 4: Vesta Technology’s 68332 Evaluation Board………………………………... / 27
II.
List of Tables
Page #Table 1: New Micros Solution Financial Budget…………………………...………….. / 18
Table 2: Vesta Technology Solution Financial Budget………………………………… / 19
Table 3: In-house Solution Financial Budget…………………………………………... / 19
Table 4: Initial Personnel Effort Budget……………………………………………….. / 20
III.
1.0 Abstract
Microcontrollers are one of the most prevalent electronic devices in today’s society. They can be found in anything from automobiles, to microwaves, to space shuttles. 8-bit microcontrollers, like the Motorola 68HC11, are becoming outdated and the use of more powerful microcontrollers, such as the MC68332, is becoming more feasible in the academic setting as the technology becomes more economical. For this reason, Iowa State University Department of electrical and computer engineering feels it would be more beneficial for the students to gain experience using a new, more powerful microcontroller. To accomplish this, the functionality of the F1-board will be incorporated into the functionality of a new 32-bit microcontroller prototype board to be used in computer engineering 211. This will help students acquire necessary experience in the embedded software field and allow them to achieve a more defined education in the field of electrical and computer engineering.
1.1 Acknowledgement
Aaron Striegel, Ph. D. candidate in computer engineering at Iowa State University, will act 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, is providing financial assistance. In addition, Jason Boyd, the electrical Technician for the EE/CprE department, will assist in printed circuit board design and layout.
1.
1.2 Definition of Terms
- Business card computer (BCC)
This computer uses the MC68332 microcontroller. It contains both read-only and random-access memory chips. The BCC provides room for expansion via EVS connectors. This will be the board used with the custom in-house solution.
CprE
Abbreviation for computer engineering used at Iowa State University.
- 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.
- EEPROM
Electrically erasable programmable ROM, permanent storage of data parameters that can be re-written.
- 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 replace by the end-product of our project.
- 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.
- LSB
Least significant bit – this is interpreted differently depending on the microcontroller.
- Microcontroller
A single computer chip used to control other devices. Functionality is embedded into the chip.
- Motorola 68332
This microcontroller is currently being used in CprE 483 along with the BCC. It is a 32-bit high-performance microcontroller. It is the goal of this project to integrate the 332 into the CprE 211 curriculum.
3.
- Motorola Evaluation Board (EVB)
The EVB adds functionality to the BCC. It controls the I/O and logic analyzer ports as well as providing extra space for a custom PCB. That extra space is where the custom in-house board will be implemented.
- Motorola HC11
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.
- MSB
Most significant bit – this is interpreted differently depending on the 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.
- RAM
Random access memory, stores data while microcontroller is running.
- ROM
Read only memory, stores bootup data information.
- VSTBY
Voltage standby pin for reserve power supply.
3.
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 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 and subsystems
- 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) that administrates the operation of various input and output devices, which are listed below:
- 2x20 alpha-numeric liquid crystal display (LCD)
- One analog input (via a 8-bit analog to digital converter)
- One digital output
- 5x8 keypad (A-Z, 0-9, period, space, clear, enter)
- 8-bit DIP switch (digital input)
- C compiler and development environment for Microsoft® Windows
The overall goal of this project is to incorporate these basic functions with a contemporary 32-bit microcontroller. A new custom designed printed circuit board will need to be designed to support the new microcontroller and interface the hardware. A secondary objective will be to provide completely new functionality to the user by exploiting the new characteristics and modernized interface offered by the new microcontroller.
3.
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 have to incorporate a new microcontroller that preserves the 68HC11 functionality, but also allows for further flexibility and expandability. The software solution will include writing C libraries to support the hardware. 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 insure 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 laboratory. In addition, CprE 483X may utilize the 32-bit microcontroller board. Specifically, the development environment will be compatible with either the Microsoft Windows 2000 or UNIX operating systems.
2.4 Intended Users and Use
The intended users for this project will be 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.
2.5 Assumptions and Limitations
Scenario Alpha
A canned (all-in-one) hardware solution will be found that meets all or some of the project requirements. Given this scenario:
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 hardware will be 100% compatible with the software compiler
- The individual hardware devices work together in a congruous manner
- The hardware vendors/suppliers process/ship orders expeditiously
Limitations:
- The microcontroller package may have self-imposed limitations by vendor
- The microcontroller package may have limited expandability capabilities
3.
Scenario Beta
An acceptable canned hardware solution is not found, so a custom in-house solution must be developed. Given this scenario:
Assumptions:
- 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
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
- There are certain inherent risks and limitations imposed by using more than one source for hardware components. Obviously there will be an increase in logistical operations to keep track of parts ordered, parts shipped, and finances.
3.
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 microcontroller
A 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-board
A two-to-four layer printed circuit board will have to be prototyped using CAD tools and eventually wire wrapping methodology. Ultimately, the PCB design layout will be given to Jason Boyd for processing and printing.
- Write hardware support and interface libraries in C
Support 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.
- Test hardware and software compatibility with current CprE 211 labs
It is absolutely necessary that the new PCB and microcontroller run the old CprE 211 labs without error. Any disparities between the F1-board and the new microcontroller board will need to be found and fixed.
3.2 Functional Requirements
- Liquid Crystal Display
Minimum 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.
- Digital Input
The F1-board currently uses an 8-bit DIP switch for the digital input. The new board will contain a redesigned 8-bit DIP switch with more ergonomic features.
3.
- Digital Output
An 8 pin multi-functional digital output will be integrated onto the PCB. The F1-board currently uses the digital output to interface with a series of LEDs and a 7-segment display.
- Analog Input
The 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.
- Keypad
The 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 2x8 matrix keypad, which will provide the hexadecimal digits 0-F.
- 32-bit microcontroller
A 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.
- 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 easier access for maintenance and support.
Optional Additions
- Analog Out
Although 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.
- Speaker
The 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.3 Design Constraints
- Durability
Because 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 might include full circuit protection (contingency grounding) for the hardware, and additional circuit protection for other possible faults.
- Reliability
Our clients, 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 Use
The 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.
- Time (Scenario Beta)
If a canned solution is not found that includes a microcontroller/PCB package, the PCB will have to be designed and developed in-house. The latter will require much more development time and will put time constraints on the testing process.
3.4 Measurable Milestones
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 provide needed requirements for all hardware specifications.
- 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.
3.
- 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 will be a PCB/32-bit microcontroller package similar to the F1-board/68HC11 kit currently used in CprE 211. The new board will 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 will allow students to become familiar with a modern microcontroller architecture and functionality. In addition, this will further prepare them for the more advanced microcontroller features and concepts that are used in CprE 483X.
5.0 Approaches and Design
As outlined in the Assumptions and Limitations section, this project has two concurrent plans of attack. The first solution, scenario alpha, relates to purchasing a canned (pre-built) solution that contains the 32-bit microcontroller, the required hardware components, the printed circuit board, and the C support libraries. The second solution, scenario beta, requires the project team to develop a custom designed printed circuit board with the required hardware components (LCD, keypad, digital input/output, etc.) interfaced with the 32-bit microcontroller.
5.1 Technical Approaches
At this stage in the design process, the project team has elected to work on both scenario alpha and scenario beta concurrently. If, during the development phase, it becomes apparent that one scenario has a clear advantage over its counterpart, the other scenario will be eliminated so that the development focus can be centralized.