This is the basic block diagram for our circuit. The job of an electrical engineer is to determine how to make each of the blocks and each of the data buses work correctly without interfering with any of the other parts of the circuit. In the chapters that follow, we will look at each circuit element in greater detail. Each block is converted to a schematic.
The power for our circuit is delivered by batteries -- either four AAA size batteries or a LiPo battery pack (your choice). The batteries feed a low-dropout (LDO) linear regulator that provides 5V to power the addressable RGB LEDs as well as a 3.3V LDO that powers the rest of the circuit. A logic-level translator will convert the Mega's 3.3V logic outputs to 5.0V logic inputs.
Serial Data Bus
Four serial data buses are present in our circuit and are used to transfer information.
- A Serial-Peripheral Interface (SPI) bus that communicates with the TFT module
- Universal Asynchronous Receive & Transmit (UART) that is used to program the microcontroller
- I2C that communicates with our sensors and Real-Time Clock (RTC) module
- A Universal Serial Bus that is used to communicate with an external computer for programming and debugging.
- Several pins will be used to command the Addressable RGB LEDs, read the status of push-buttons, and activate a piezo-buzzer.
Each of our blocks will be independently designed and connected to the main microcontroller. There are several common ways to do this (such as with global nets and connector ports), but the one that might make the most sense is a hierarchical block overview that closely follows the artistic block diagram shown above. Most designers don't do this with a first circuit since it takes additional time and hides portions of the circuit off-page, but it works well with the EDAs used in this course. With this design technique, each circuit block shown above is designed independently on a hierarchical page and then connected to the top-level via hierarchical connectors. In a hierarchical layout, only the connections between the blocks are shown on the top level (inputs, outputs, switch lines, etc...). Oftentimes you'll see power connections included as well. We left those off of this connection to reduce the clutter and hopefully increase the clarity of the digital connections.