Datasheet
Thursday, 17 July 2003 MiniProject: Design Aspects Colin K McCord
EEE512J2 – Electronic Product Design Page 28 Chapter 5: System Architecture
Communication Protocol Windows Application PIC Program
¾ Concept design.
¾ Design of frame structure.
¾ Error checking, e.g. CRC.
¾ Test Program.
¾ Functional Testing.
¾ RS232 object.
¾ ECG Graphical Display.
¾ User Interface.
¾ Internet communications.
¾ Streaming ECG to disk
(data logging).
¾ Time compressed
memory.
¾ RS232 communications.
¾ Calculation of BPM for 7-
segment displays.
PCB Design Digital Circuit Analogue Circuit Packaging
¾ Top layer.
¾ Bottom layer.
¾ Ground plane.
¾ Separation of
analogue and
digital circuit to
reduce noise.
¾ 7-seqment LED
display circuit.
¾ Beeper circuit.
¾ RAM circuit
¾ DAC circuit.
¾ MAX232 circuit.
¾ Power supply.
¾ ECG amplifier.
¾ Low pass filter.
¾ Diathermy filter.
¾ Noise reduction.
¾ Size and shape
of ABC plastic
case.
¾ Colour, symbols,
position of ports
and controls.
This partitioning technique is extremely useful, as even the most complex of tasks can be split into a number
of small simple tasks. The design of something as large as a plane for example would be impossible without
the use of this partitioning method as the design is far too complex for one person to fully understand all
aspects of design, hence it is split into partitions (e.g. engine, landing gear, etc…) then sub-partitions and
partitions of the sub-partitions etc… until the partitions are small enough to be manageable tasks.
Besides the obvious (simplify design) this partitioning technique has many advantages, the main one is
system flexibility. For example the software program for the PIC can be written in one large block, this will
work, but it is not flexible as changes cannot be easily made, e.g. calculation of ECG bpm may be spread
throughout the code, hence it would be difficult to debug/change, a change to this code could effect other
parts of the program as the whole program is intertwined. It is common practice to partition software into
blocks known as functions, e.g. a function is written to calculate bpm, this function can be tested
independently of other program code, and can easily be modified in the future. Hardware partitioning has the
same benefit, e.g. the 7-segment display circuit can be changed without affecting any other part of the
circuit.
Communication Protocol PIC Software Development
PC Software Development
Concept
design
Frame
Structure
Error
Checking
TCM Comms. BPM
RS232
Communications
ECG
Graphical
Display
User
Interface
TCP/IP Internet
Communications
Data
Logging
Figure 5.2c. Software development architecture
Figure 5.2c clearly shows how the software development could be partitioned. The communication protocol
and PIC software development blocks are small enough for a software engineer to work on each block. But
clearly the PC software development block is large and a group of software engineers could work on various
aspects of this block, for example an engineer on the graphical display, another on the user interface,
another on RS232 & TCP/IP internet and another on data logging.
Figure 5.3d clearly shows how the hardware development could be partitioned. An engineer could work on
the power supply circuit while another works on the ECG amplifier and another on the low-pass / anti-