Specifications

100
4. Software Design
4.1 Software Design Summary
The software design as described should define the characteristics of both the
hand held unit system and the control box unit system. These design specs
should be reasonable, attainable, and perform on an optimal level. Since the
hand held unit will be more of a passive device, but it will require more of well
defined design. There are certain factors that will play a crucial role in designing
a system that can perform at an optimal level. Some of the factors are the
following:
Robustness This design should be able to withstand many different complex
challenges and be able to correct them accordingly. Ways to complete this task it
design a platform that will be able to error correct. This correct shouldn’t take as
minimal time as possible. Creating states and data logging will allow modification
to be more efficient.
Optimization Time Response time should a main aspect to the design. The
user will be taking in sample data, getting the data and processing it should use
the minimal amount of CPU time. The data being transferred should be able to
be packaged in a way that will optimize transfer rate. When the user BAC is over
a legal limit then control box unit should be able to immediately respond with the
alert system without any delays. Delaying any type of data or information can
slow down the system. The user should be able to take a breath sample and get
a response on the LCD display in less than 10,000 milliseconds. This data should
be able to process this data in a reasonable amount of time and send the data to
the control unit wirelessly. If there are any errors in this process it should take in
account and correct them accordingly within a rational amount of time.
Simplicity The code should be simple. The importance of this practice is to
ensure that “The code does what it needs”. The software should not be
overdesigned to the point that the additional lines code take up CPU time. In
regards to simplicity, if an algorithm is used to calculate a value, it should be a
straightforward. Redundancy can cause dirty code and use up memory.
Now that certain guidelines have been defined, the design process will be split up
into the system. The hand held unit and the control box unit. The hand held unit
will require data acquisition from the hand held unit. The IDE workspace that is
used by the MSP430 is Code Composer Studio. All the code implementation will
be compiled through this environment. Before actually creating the software,
there are certain specs that are set on the project so that the compiler will
produce more efficient code. The MSP430 offers six different unique project
configurations that can increase compiler efficiency. The different project
configurations are the following, process configuration, normal or position-