So I though we could talk about programmable mixed signal IO.
In other words, ecu pins that can do ADC, DAC, PWM, ICU, digital input or output based on how you decide to program them.
A lot of after market ECU have that on a few pins.
Here's an IC that does just that: https://www.maximintegrated.com/en/products/analog/data-converters/analog-to-digital-converters/MAX11300.html
It's pricey though. ($5 for 12 pins, $15 for 20)
How Motec manages their various IOs: (AEM is pretty similar)
http://www.motec.com/filedownload.php/M1%20ECU%20Hardware.pdf?docid=4487
List of devices we would connect to such a pin (by pin I mean a connection to the harness):
- STM32 ADC (with protected input buffer)
- STM32 DAC? (Need output buffer, shares pin with ADC)
- H-bridge, or low/high side protected switch
- Timer for PWM in/out?
That would result in using 2 pins on the STM32, one for input, one for output.
ADC pin can be switched to regular gpio when used a digital input.
DAC shares the same pin as ADC but needs an output buffer that we can disable when in input mode.
This would give some flexibility as we are going to support more and more engines.
Any thought?
Programmable mixed signal IO
- AndreyB
- Site Admin
- Posts: 14345
- Joined: Wed Aug 28, 2013 1:28 am
- Location: Jersey City
- Github Username: rusefillc
- Slack: Andrey B
Re: Programmable mixed signal IO
I am totally lost. What is the usecase exactly and what does MAX11300 bring to the table exactly?
How is it different from using a 208 pin chip and GPIO?
How is it different from using a 208 pin chip and GPIO?
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Re: Programmable mixed signal IO
A less components to solder, more DACs, 5v ADC, etc.
It's mostly there for reference.
It's mostly there for reference.
Re: Programmable mixed signal IO
Mixed signal IO is commonly used for reducing the number of wires required. For example, analog only devices often do not have diagnostics capabilities. So if you want diagnostic features you typically run power and some digital lines. However your diagnostics probably only has to happen once in a while, so your copper wires are probably a waste of materials. If every so often you could switch them to digital signal, then pump some diagnostics information across the wire, then switch it back to it's normally scheduled program, you could save some $ on those copper wires. This is a common desire for things that have multiple intermittent functions. I could also see it as handy for ION sense. Basically most of the time it's an ADC, but occasionally it needs to fire the spark plug.
Another place I see it as potentially handy is if you have several different sensors potentially connected to the same wire. Think digital temperature sensors vs analog temperature sensor. By using a mixed signal chip, you could bark at it with digital coms, once ever couple of seconds. Then if you get a reply you know that you have a digital sensor attached and you start to talk to it digitally. Then if you do not get a reply, you know it's an analog sensor and you treat extract data from it with an ADC.
Another place it might be useful is for security. Basically your analog sensor, or really any circuit could have digital chips installed. Then if you bark at it and do not get the proper reply, your software knows you have counterfeit hardware, or some security scheme like that. Good luck trying to track down some digital signals on your analog lines. that wold be a bugger to reverse engineer.
Any how, those are some possibilities Iv'e seen. I don't know if there are specific sensors that might do that, or if you would have to use customer sensors.
Another place I see it as potentially handy is if you have several different sensors potentially connected to the same wire. Think digital temperature sensors vs analog temperature sensor. By using a mixed signal chip, you could bark at it with digital coms, once ever couple of seconds. Then if you get a reply you know that you have a digital sensor attached and you start to talk to it digitally. Then if you do not get a reply, you know it's an analog sensor and you treat extract data from it with an ADC.
Another place it might be useful is for security. Basically your analog sensor, or really any circuit could have digital chips installed. Then if you bark at it and do not get the proper reply, your software knows you have counterfeit hardware, or some security scheme like that. Good luck trying to track down some digital signals on your analog lines. that wold be a bugger to reverse engineer.
Any how, those are some possibilities Iv'e seen. I don't know if there are specific sensors that might do that, or if you would have to use customer sensors.
Welcome to the friendlier side of internet crazy
Re: Programmable mixed signal IO
Most (all?) of the larger Powertrain processors have configurable pins on the microcontroller which allows functions to be moved around but how do you add signal conditioning and protection? the requirements for input and output and for analogue and digital are different.
Re: Programmable mixed signal IO
Yes, so does the STM32.
I was talking about what's between the MCU pin and the connector pin.
I am wondering about that myself, that's why I want to discuss it.
I was talking about what's between the MCU pin and the connector pin.
I am wondering about that myself, that's why I want to discuss it.
Re: Programmable mixed signal IO
Oh, also software validation is important for OEM's. I understand that each firmware undergoes an expensive stress testing and validation. If you can get past that validation while allowing multiple functions of the PCB, you can save a bunch of validation expense.
Welcome to the friendlier side of internet crazy