1
$\begingroup$

A standard IoT device might include a sensor, analog to digital convertor, and processing unit. All of those components could be integrated into one system on a chip. What are the alternatives to creating such a system? I may think of an analog circuit approximating the DSP process implemented by the chip, FPGA, etc. Moreover, what is the difference between these alternatives, and how to peak the best implementation?

$\endgroup$
5
  • $\begingroup$ what do you mean with "Alternatives"? You always need a sensor (to convert the physical phenomenon to something you can deal with), you always need a analog-to-digital converter if you want to do DSP (hence the big D in DSP), and you always need something to do the processing. $\endgroup$ Jul 14, 2022 at 14:31
  • $\begingroup$ If you don't want to do digital signal processing: sure, and you already know, that a lot of functionality that you can implement in DSP also exists in the analog domain. There's a thousand ways to build an analog filter! But there's very few ways that you can build an analog linear-phase filter, so if you need that, it's harder, just to name an example. We can't tell you the wholeness of ~300 years of signal processing, you need to be a lot more specific at what you want to do, what properties you care about (and which not!). $\endgroup$ Jul 14, 2022 at 14:32
  • 1
    $\begingroup$ It is considered bad style on Stackexchange to post a question on two groups, especially two groups that have a lot of overlap, like this group and the electronics group. electronics.stackexchange.com/questions/627358/dsp-alternatives $\endgroup$
    – TimWescott
    Jul 14, 2022 at 15:23
  • $\begingroup$ @TimWescott, I will consider it next time. Not every question in any of the forums has responses... $\endgroup$ Jul 14, 2022 at 18:43
  • $\begingroup$ @GideonGenadiKogan that typically says more about the questions that the SE sites. $\endgroup$
    – tobalt
    Jul 14, 2022 at 19:03

1 Answer 1

5
$\begingroup$

That's a very broad question and hence difficult to answer.

The best choice of hardware is typically determined by a complicated trade off determined by the specific application and/or product requirements. This involves

  1. Computational requirements
  2. Memory requirements
  3. Special functional blocks (vector processors, FFT, Media processor, noise cancellation, FPU, GPU, radios, etc)
  4. Peripherals and connectivity
  5. Power consumption and power supply requirements
  6. Parts cost
  7. Development cost
  8. production volume
  9. HW and SW Development time and complexity
  10. Availability of SW stacks, OS, modules, algorithms, etc.
  11. Quality of tools and support
  12. Supply chain availability and stability
  13. Any many more...

The "I" in "IoT" stands for Internet, so I assume you are asking about connected devices. This mostly rules out analog solutions, since they typically don't support Internet connectivity (unless it's special architecture with a connected Hub and a proprietary analog interface to local nodes).

The typical digital choices are

  1. General Purpose CPU : These come in a large variety costing anywhere from sub one-dollar to 100s of dollars. They are very flexible and can be used for a lot of different types of application. Development cost and time is "moderate" and parts cost can be scaled to match the requirements
  2. Dedicated DSP: These are chips optimized for DSP algorithms with a instruction set that's much more efficient than of a normal CPU. However, they are typically paired with another chip to handle the connectivity.
  3. FPGA : FPGAs are often a good choice for high computational requirements and clock speeds that are difficult for regulars CPUs or DSP chips. Development cost can be high depending on the complexity. A popular architecture is to pair a CPU with an FPGA where the FPGA handles fast algorithms and the CPU the rest.
  4. ASIC: Asics are extremely expensive to develop but have very low parts cost, since they are optimized for a specific application with no extra overhead. An Asic only makes sense if your production volume is VERY high and reliable.
  5. SoC: SoC is catch all phrase for a hybrid between these classes of processors. They are based on the requirement of typical high volume application and designed to minimize development time & cost at an acceptable parts cost level They also offer high integration which would be difficult to achieve with discrete parts. For example a noise cancelling earbud needs a Bluetooth radio, a general purpose CPU, a conventional audio processor and a high-speed/low latency ANC unit. You could build these out of individual chips but they wouldn't fit in the ear.
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.