New to the current microcontroller space... The last time I played in this area was the days of the 6502 and 6809 with assembler code :)
I'm considering a project where low power is a requirement, along with a large number of digital inputs and outputs; approximately 24 inputs and 36 outputs, where 33 of the outputs would be driving 3mA LEDs @ 12 VDC, I would like to program in some type of higher level language, but the actual logic will be quite simple.
There are so many options these days, I was wondering if anybody had some suggestions to point me in a good direction?
Thanks,
Allan.
Low power high digital I/O count microcontroller
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- ayates
- Posts: 15
- Joined: Mon Dec 14, 2009 7:39 pm
- adafruit_support_mike
- Posts: 67446
- Joined: Thu Feb 11, 2010 2:51 pm
Re: Low power high digital I/O count microcontroller
By definition a system with 33 x 3mA x 12V = 1.2W or a hair less. The microcontroller will probably use less tha 100mW (20mA @ 5V). We’re used to think of low power as the TPL5110 timer that uses about 100nA @ 3.3V.
From your pin descriptions, that sounds like the kind of system where we’d export much of the IO to external devices. The TLC5947 LED driver has 24 channels, for instance:
https://www.adafruit.com/product/1429
Daisy-chaining a couple of those would give you plenty of LED control and take a lot of processing load off the microcontroller.
In a similar way, we have the MCP23008 and MCP23017 GPIO expanders:
https://www.adafruit.com/product/593
https://www.adafruit.com/product/732
Those have 8 and 16 pins that you can assign (individually) as input or output. You can use up to 8 of them together for a maximum of 128 IO pins. You do have to poll the chips to get input from them, but in many cases that’s okay.
Between those and the TLC547, you’d use 5 microcontroller pins: three for SPI communication with the TLC5947, and two for I2C communication with the MCP240xx GPIO expanders.
If you want to keep everything in the microcontroller, the Grand Central has a total of 70 IO pins:
https://www.adafruit.com/product/4064
From your pin descriptions, that sounds like the kind of system where we’d export much of the IO to external devices. The TLC5947 LED driver has 24 channels, for instance:
https://www.adafruit.com/product/1429
Daisy-chaining a couple of those would give you plenty of LED control and take a lot of processing load off the microcontroller.
In a similar way, we have the MCP23008 and MCP23017 GPIO expanders:
https://www.adafruit.com/product/593
https://www.adafruit.com/product/732
Those have 8 and 16 pins that you can assign (individually) as input or output. You can use up to 8 of them together for a maximum of 128 IO pins. You do have to poll the chips to get input from them, but in many cases that’s okay.
Between those and the TLC547, you’d use 5 microcontroller pins: three for SPI communication with the TLC5947, and two for I2C communication with the MCP240xx GPIO expanders.
If you want to keep everything in the microcontroller, the Grand Central has a total of 70 IO pins:
https://www.adafruit.com/product/4064
Please be positive and constructive with your questions and comments.