General Guidelines for Hardware Design
Architecture
Architecture is a big topic. The purpose here is not to cover the entire topic. Want to point it out that it pays to begin with interface and connector choices.
Power
- Begin with a power tree that include voltage/current requirements.
- Keep power sequence in mind for both turn-on and turn-off.
- most of the digital ICs don't like to be back biased meaning voltage on any of its pins goes beyond VCC. This can happen during power-on when VCC is low.
- Reverse plug-in protection can be a user friendly feature if the power comes from external.
Reset
- Similar to power, please consider which IC needs to come up first by releasing reset in a specific sequence.
- It is also necessary to hold the reset until VCC stabilizes if the IC does not have built-in power-on reset feature (most modern ICs have POR).
Clock
- Clock tree is a common design document (just like power tree) to document how the clock is generated and distributed.
Debug Features
- Have clear mind how to program and debug the circuit. JTAG is standard but can be complicated and requires expensive debugger.
- DEBUG UART can be much simpler for small MCUs.
- It is also common to have two wire proprietary debug interfaces. Consider referencing to EVK how programming/debug is implemented. It is also a cheap way to use EVK debug feature to program/debug your own design without having to purchase a separate debugger.
- It is very helpful to have LEDs to show visual sign of life. E.g. to indicate power is up, or to indicate a GPIO can wiggle.
- The general bring-up procedure is to check Power, Reset & Clock.
Power Measurement Features
- MCU power consumption is very much dependent on the program that is running. Characterizing power consumption is a career by itself.
- It can be very handy to have instruments built-in to measure power rail voltage/current.
ESD Protection
- Don't forget to have ESD protection elements for external accessible interfaces.
EMI Consideration
- Good layout
- Filtering
- Shielding