The IoT (Internet of Things) creates an ambivalence within me. Part of me hates computers and being connected, the other is currently working on a boiler controller that even adaptively predicts and senses when the next wood load is needed and alerts the wife. Yup pray for her. I really use FPGAs and CPLDs around the farm and I am slowly realizing that I am getting closer to the IoT in the Miller realm.
In my last blog that really brought out raw emotion is some folk where I almost killed off the CPU, by the FPGA, some of the point was missed such as agnostic serial interfaces, not being locked down to PCIe and such. Of course if the board is laid out you are locked to those paths, but if we think a bit ahead we very often can design around obsolesce and buy another 5-10 years using an FPGA, for real.
The IoT is revealing a very important need in technology besides the need of a like a billion wafer starts, the other need is programmable hardware, and IO. Once again a pure microcontroller is not going to cut it. IoT will be driven by FPGA like devices simply because they are the devices that can interface to outside world very easily. Second to that they are the only solution that is going to provide the lowest power, lowest latency and best determinism. (Excluding ASICs here).
What is the IoT going to interface with? Temperature, Pressure, Position, Acceleration, ADCs, DACs, Current, Voltage etc… But you say you could use Arduino, RaPI, etc… Yes you can but choosing those platforms has locked you into standards and usually one thread (only have one engine to share) and not much parallel processing. What is going to differentiate your solution vs. your competition? Let’s face it the IoT is going to go way beyond a thermostat that senses people in a room, and creates a temperature profile for the week. That is easy.
The FPGA and Zynq are going to allow agnostic sensor interface AND plenty of parallelism. Sure you could start round robin, read temps, read pressures, read O2 sensors, eventually you are going to blow out your timing budget. In the FPGA all this work can be done at the same time. Overkill? Remember the idea of multitasking when the PC came out? I remember people saying who needs to do more than one thing on a PC? Ha! RIP in Commodore 64. I’m on a RIP kick lately. A personal note here, the commodore 64 by far was the best computer ever made. Even better than Apple, yeah even Apple.
Best bet for these applications? Zynq. The Red Pitaya board is a great example of this and even has a web server which is a perfect application for the ARM. And that is what we want right? Data at our finger tips. So that has become the framework for my very complex boiler controller that will hopefully save me from cutting an extra 5 cords of wood.
Every time I leave for a trip I have gotten a call from the wife about the boiler, this will simplify things right? :p
A neat way to get started…read here