Subcircuits, Platforms, and Products
/In the prior couple of posts, you can see the work going into creation of Subcircuits. Why do they matter?
Subcircuits are a way for many designers to easily reuse all this hard work, to build something (a Product) much faster than starting from scratch. The Subcircuit implements a useful function, using a number of Components and electrical connections between the components. Taking it further, it can also contain a pre-placed, pre-routed printed-circuit board area. Ideally, this circuit has been built and tested. This set of design content can represent multiple hours of work that can effectively be copied into a user's design with a degree of confidence that it will work.
Typically, you are designing for a target system, or Platform. The platform will have well-defined interfaces, a geometry, and a host of other requirements. The Metamorposys Tool has Project Ara as a primary target Platform, but with the right Platform Models, can target other systems. This blog will show a use case for a Platform familiar to many Makers, the Arduino Shield.
So, what does the Arduino Shield Platform look like? Physically, it looks like this, where headers are located along the border, and each pin has a defined function. You can buy lots of shields with pre-build circuits/functions, or breadboard shields where you can hand-wire your own.
Hand-wiring, or designing from scratch and then designing a PCB takes time. Instead, we will use a Model of the platform, and add Models of subcircuit functions to it to produce our system. A platform model looks like this:
A model of a subcircuit looks like this (an Accelerometer):
Putting them together, looks like this in the model (From Will Knight)
Using a TestBench for Schematics/PCB, we can get this design in EagleCAD, with the push of a button, ready to be sent to manufacturing, (this one could be built by our friends at MacroFab) http://macrofab.net/ :
Pretty easy, right? But too easy! And there is lots of empty space there. As Nature Abhors a Vacuum, I decided to fill it. Since we are still building up sub-circuits, I just replicated the 3 basic types: Accelerometer, Compass, and Gyro. My model is this:
And with another push of the testbench execution button, I can now build this:
Also ready to be built by a hardware fab. Not too bad.
I left out a few details:
- I did not show the constraints -- telling the tools where to place each of the subcircuits -- I chose to use a grid layout, as you can see.
- I might want to add a ground plane, or refine power/ground nets for wider traces. Ground planes should be part of the platform board.
- I should add some bypass capacitors and test points. These can be part of the platform.
We'll address these in an future blog, along with some other examples of platforms, including:
- Our Bluetooth Low Energy baseboard platform, using a PSOC 4 BLE chip, which includes Bluetooth LE, an Arm Cortex 0, and programmable analog/digital hardware to implement a wide variety of functions,
- Project Ara Spiral [2/3] platforms, a rapid way to build for Google's new modular phone.
- A WiFi baseboard, for general IoT
Also, feel free to request other platforms and sub-circuits. User demand is important to help us focus on what content is important.
Also, we do not want our Interns getting bored. Idle hands.....