ECP II - CLASS PROJECT

Embedded Controller Programming II

CLASS PROJECT

Description :

In ECP II the class project which will comprise approximately half of the course grade. The class project is designed to give students the opportunity to develop an embedded application in C that demonstrates some of the concepts introduced in class.  The ECP II project must be more complex than required for ECP I, and must be properly documented, as described below.  NO PROPRIETARY or restricted information can be included in your project, as it will be placed in the public domain.

Project Requirements:

The project will be evaluated based on how it implements the following requirements;

1) The project must use the SDK.  Use of the component kit is optional.  Extra kits may be available, contact the instructor if you want one.

2) The project should be developed using C. The SDCC development tools support this requirement nicely. You should demonstrate the use of in-line assembly or functions written in assembler, and for time critical code, but the bulk of the program must be written in C.

3) The project should demonstrate good modular programming techniques. Related functions/definitions should be modularized and stored in separate files.

4) The project should include the following elements as a minimum;

a. It should use at least one Timer/Counter.

b. There should be some kind of external input via the serial port, switches, keypad, etc.

c. There should be some kind of output: serial port, LEDs, LCD, etc.

d. Use of an interrupt is optional. Do NOT use interrupts if you do not have experience with interrupts, critical code segments, etc.!

5) COMMENT YOUR CODE! Uncommented code will not be accepted.  See homework solutions and sample code on web site for examples of what is expected.  Everything should be well documented. You should submit all code and support files (.c,.h, .asm, batch files, etc.) as well as a report describing what the project does and how it works. Document any hardware interfaces you provide to external devices with a sketch, schematic, etc.  I should be able to recreate your project given only what’s in your report.

6) The simplest I/O for the SDK is available on Port 1 and part of Port 3 (port bits P3.2 thru P3.5)  for your I/O. (Note that the legend on the board is for the connector plug number, so the label on the SDK board “P3” relates to connector PLUG 3, NOT port 3.)  You don’t have to build any external hardware but by doing so you can see that your design does actually work. You can easily access the I/O pins either through the SDK’s onboard header connectors or with the cable that comes with the optional component kit.

7) Presentation to the class: You can make an optional ~10 minute presentation to the class for 5-10 extra credit points on your project grade.

NOTE:  Do *NOT* use both the LCD and keypad on you project unless you have had the embedded controller hardware design course.  There are not enough general purpose I/O bits to interface both the LCD and keypad simultaneously.  This can be done with xdata memory mapped I/O, however.  The LCD can be mapped into external data memory by memory mapping it into the xdata memory in the range 0x0000 to 0x3FFF.  If you need more general purpose I/O bits, an 82C55 parallel I/O chip (with 24 bits of general purpose I/O) can also be used by mapping it into the same address range.

Grading:

The project will be graded based on your documented code, as per the requirements above. You should write a project report that describes what it does, how it operates (i.e. what modules/functions make up the project and how they are used), and a copy of all code files used in the project.  

The Project Report must consist of
 - Description (~1 paragraph)
 - Block Diagram
        (show what's connected so I could duplicate your setup)
 - Flow chart (or equivalent)
 - Listing (.c, .h, and .asm, as well as compiler generated .lst files)
 - Tests that you ran
 - Test results

Note: if you do not show tests and results, I will assume it did NOT work.  ALL source and text files should have your name in them, so I can identify them.

ALL students taking the course for credit must submit a project to receive a passing grade!

You may submit your project by e-mail or on CD-ROM.
Please submit files on CD-ROM in the native form – i.e.: UNzipped format.

You may also e-mail your project report to ecp2@hte.com in PDF, RTF, or DOC file format, zipped together with the files listed above into a single ZIP file named using your name or initials.
 
OPTIONAL PRESENTATIONS FOR ON-LINE STUDENTS:
 For those who are making a presentation (for optional 10 pts extra credit), you must submit the following in addition to the items above.
On-line students are encouraged to create a video presentation (PPT w audio, MPEG, DVD, VHS tape) and submit it for extra credit.

Provide your presentation in a file:
  - PowerPoint .ppt, Acrobat .pdf, or MSWord .doc file
  - about 5 slides (LARGE FONTS! See my slides for examples) consisting of:
        1 Title
        2 Description
        3 Block Diagram
        4 Flow chart (simple!)
        5 Tests/results

If you're doing a presentation and/or demo, you may add voice and pictures to a PowerPoint file, or submit a video recording.  If the files you're sending are large (more than a few Mbytes), mail your submission on CD, or make arrangements with me to post it via FTP - on either your server or mine.  Otherwise you can e-mail the files to ecp2@hte.com (see below)

Optional project demo: If you can demonstrate your program in operation, you are strongly encouraged to demonstrate it in action.  In addition to your presentation, you must include your uncompressed .hex file(s) on the CD along with anything else needed to facilitate the demo.

Overall Course grading:


Return to Main ECP Web Page


If you have comments or suggestions about this page, email me at ecp2@hte.com
This page last updated 6/7/2005.