Page 251 - Embedded Microprocessor Systems Real World Design
P. 251
CPU 2 writes 03 to its flag, indicating that it is taking the resource.
CPU 1 having lower priority, writes 02 to its flag and waits.
Of course, when a CPU is done with the resource, it must always reset its flag
to 0 so the other CPUs know the resource is free.
Engineering Specifications
As I mentioned briefly in Chapter 1, although not a requirement for most designs,
the engineering specifications is a document I have found useful for large, usually
multiprocessor designs. This document can cover the entire system, including
mechanical design, or just the electrical and software part of the design. The
engineering specifications should include the following:
A brief description of the product.
A description of how the design will be accomplished. This includes what parts
of the design will be new and what will be reused from old designs.
Functional breakdown of the software and hardware. This includes what
boards will be used, which functions they will perform, and what processor
family will be used.
Interface definition. Interfaces to the outside world should be defined in
the requirements document so they need to be only summarized in the
engineering specifications. The interfaces between processors, both electrical
and software, should be described in detail,
Board requirements for each board.
Software requirements for each processor, where appropriate.
The goal of the engineering specifications is that, from it, any engineer should
be able to implement the design. While this level of description rarely is achieved
in practice, it is a good target to aim at. The table of contents for a generic engi-
neering specification might look something like this:
Scope
Design approach
Existing components that can be reused
New designs required
Electrical system block diagrams
Subcontract work
Electrical architecture
Functional breakdown-board level
Interboard/interprocessor communication interfaces
232 Embedded Micropocessm Systems