Recently I was asked to design a two-channel signal converter, from bipolar input voltage to bipolar output current;I immediately assumed that this was a pure analog design, but something bothered me.One clear requirement is that each channel has a two-color LED that varies in brightness according to the input signal and indicates whether the signal is positive or negative with a red or green light.
There are two problems;First, the LED drive will need to boost pressure, so there is no dead zone close to zero.Second, I can foresee a situation where the signal is negative and the LED (and possibly the output) is positive and vice versa.The mechanical equivalent of this condition is called recoil.Instead of using variable voltage to drive the LED, I thought I would use a PWM driver like Linear's LTC6992, but I would still have an offset and not be able to solve the recoil problem.
In addition, I will need two PWM drivers (one for each channel), which may also require additional circuits to turn leds from red to green.The logical thing to do then is to find the appropriate low order microcontroller (MCU).
I started with the Microchip product, but I found that the 16C series, which had a small memory, was suitable, meaning using assembly language.I have used in the development of other case 16 c series, less meet instruction set (the series MCU RISC architecture components) and storage section (segmentation) memory problems;Because of this bias, I looked for NXP components and Freescale's ARM cortex-m0 chip.
I began to hesitate because of too many choices.However, in one case, I used Freescale's CodeWarrior development environment, but found that we had to pay extra to get the support services we needed, which made me biased.
Anyway, I can tell you right now that I'm a massive supporter of Cypreess's PSoC.I used PSoC 1 to do a lot of small design cases, and I used PSoC 5 to do a large design;I've heard a lot of talk about PSoC 4, the core of ARM cortex-m0, but I was surprised to see the price of PSoC 4.
Fortunately, my design proposal has some flexibility on the price, and it is understood that the configuration flexibility of PSoC can reduce the use of some external components;Of course, we already have emulators and some experience, so I decided to take a closer look at this component and the PSoC 4 Pioneer Kit (compatible with the Arduino shell).This development tool adopts the versatile PSoC 4200 series components, which has become the starting point of my design.