CE323/CE860 Advanced Embedded Systems Design Assignment
The assignment is worth 30% of the total mark for this module. This assignment is to design a home alarm system based on the mbed NXP LPC1768 development board.
The assignment is based on the ARM mbed NXP LPC1768 microcontroller. Some of the details about the mbed will be provided in the lecture slides, but full details can be found from the website (Website link). The extension board was developed by the lab technician. The board details can be found from the module website. In the following, a brief description on online compiler, UART link to PC, and the extension board is provided first. Some exercises related to the assignment are then provided to practice. These exercises are helpful for you to better solve the two assignments.
1. The ARM mbed and Online compiler
Each student will be assigned with an mbed and its extension board. The mbed uses an online compiler tool (arm KEIL studio ) to edit and compile the source code. You have to create an mbed user account in order to access to the mbed website and resource (use this link to sign up). You must search and select “mbed LPC1768” from the search section.
After log in your account, you can select the compiler menu to go to the workspace. Once going to the workspace, you are able to create new project (from File menu), and edit and compile the source code. The generated bin file can be moved into the mbed folder to execute. The mbed starts to run the latest the bin file once you reset it. The details of using the online compiler can be found here (link).
2. Serial Communication with a PC
The mbed can communicate with a host PC through a "USB Virtual Serial Port" over the same USB cable that is used for programming. A serial port driver is required in the host PC, and the HyperTerminal in host PC is used to send and receive information between the mbed and the host PC. You need to open the HyperTerminal in host PC and configure it with baud rate: 9600, data: 8 bits, parity: none, stop: 1 bit, and flow control: none.
You need to program the mbed to communicate with the Hyper Terminal. It can send the PC keyboard input to the mbed and receive information sent from the mbed. The example is provided in the lab session below.
Fig. 1 Physical extension board
3. Home Alarm System
The home alarm system specification is given below. The sensors mentioned below will be replaced with the switches in the virtual extension board and the alarm is replaced with a LED in your design. Based on the specification, you need to develop a formal specification using a graphical representation (preferably Unified Modeling Language (UML)). The UML specification should include structure diagrams (class diagrams and/or object diagrams), and behaviour diagrams (state machine diagram, sequence diagram). The formal specification should be written in a report. Then you must write a C/C++ program to implement the design of the home alarm system. You also need to make a demonstration in the lab.
4. The report:
The report should be in PDF and must include a cover page with the module name, student name and ID. The source code should be included in the report. The maximum length of the report is of 5 pages for CE323 Students and 10 pages for CE860 students (without appendix).
An important note for CE860 Students:
The program and functionality are similar. However, higher level of technical explanations is expected from CE860 students. Therefore, the length of the report is considered to be 10 pages.
The report should include:
▪ Requirement form
▪ UML graphical representation of the system
- class diagrams
- state machine diagrams
- sequence diagrams
When necessary, you should provide explanation. Please note that this is the open end and student- oriented part of the project! the diagrams will not be taught in the class, and you need to self-study through internet to learn them.
1. Source code
The parts of code you are developing in the labs can be used in your program. You must complete the program and deliver required functionalities. Full source code should be provided in the report as an appendix.
5. Submission:
The report should be submitted through the online coursework submission system (FASER). You should submit a single pdf file called “CE323 Assignment 2 (your name)” for CE323 students and “CE860 Assignment 2 (your name)” for CE860 students and.
Assessment criteria:
- Following the rules mentioned in this document for the submission and preparation of the assignment 10%
- Class diagram 10%
- State machine diagram 10%
- Sequence diagram 10%
- Correctness of program 30%
- Quality and Clarity of program 30%