toalan wrote:I do not think PSOC is suitable for general EMS, you would probably do better with something like AVR and ARM just because of the processing power, large user community, and cheap dev tools.
Sorry to hear you don't think it's a good idea. I know Cypress has specifically targeted the automotive industry with the LIN bus. I also see a couple automotive app notes from Cypress as well. I still feel it's got it's place in automotive applications. I also know the software is free for asm and $150 for C. The PSoC can bootstrap, so it's basically free to get the compiled code into the PSoC. The ICE is about $400. Doesn't sound to expensive to me.
I'm not sure what the need for large processor power is. I know the HC11 (at a womping 1MIP) was dominant for many years for most of these task in commercial products. I can perhaps see the need for MIP's if you choose to ban-pass filter, and such, in software rather then hardware. However, the PSoC allows you to do it in hardware, so I don't see much of a need for heavy processing. The PSoC also allows for an on-board scope feature, allowing you to see the signal at different points. That is much harder to do with software. You would have to port the data stream somewhere usable with out effecting the processing code, then run some other software on it, to see what it's doing at the specific times of interest. Sounds like a lot of work, that a scope could tell you in seconds. Or even better, the on-board scope could tell you.
There are many times that software FIR's ect have image rejection issues, there are often holes and poles that can easily throw off results and cause software induced noise. With hardware these are much more reproducible, and much less prone to issues from higher frequencies. I think good use of hardware makes the design much more robust, and much more reliable. We get to see similar with Software Defined Radio's. The software equivalents are sensitive to about -90db, where the hardware versions are easily sensitive to -120 often as much as -150 db. Doing stuff in software is cool, but not necessarily the best answer. However, if you have a hammer, I guess the problem might start to look like a nail.
toalan wrote:Also the current crop of PSOCs do not have built in EEPROM, it uses flash to emulate EEPROM.
Don't you only write to the tables when you program it, excluding the EGO that is. Even then the EGO could store the data in RAM, then save it when it shuts down. Preventing excessive write operations, prolonging the memory life. I don't see a huge need for fast write operations to permanent memory with EMS.
toalan wrote:The ADCs on PSOC are slow because they do not have sample and hold circuitry, but they can be tailored to reject noise at specific frequencies.
A/D speed is an interesting one. I think they are fast enough for EMS needs. I seem to recall that you can get them up to about 1MHz bandwidth, but typically an 8 bit is around 20 to 150 KHz. An engine cranking at 12 KHz could get by with as little as 24 KHz bandwidth. However PSoC's are significantly faster then this minimum need. Also don't forget, this speed is only required on the VR circuit, which already has a reference design. Most other signals like knock, temp, map, ect are below 10KHz, and the PSoC is at least a decade faster then that.
A 1MHz 8 bit A/D requires much more horse power to deal with the data. Probably a min of at least 8MIP's but more likely it would need at least 20MIPs. That's just to do a simple ban-pass filter. I just don't see what looking at larger bandwidth signals gets you, and therefore I don't see the need for more bandwidth and processor power. I think that overkill in the A/D department is going to cause extra work in the software department.
I think the PSoC is powerful enough to do it all, but I don't think it should. The PSoC could have 8 PWM's for fuel, a pile of IO for spark, and at least 4 A/D inputs for O2. But why limit the design to the capabilities of a PSoC, AVR, Blackfin,ect, when a modular design would easily allow for 48 cyls. I think a modular design would allow for other to make their own contribution with out the need of investing massive resources. It would also allow for much less costly re-spins when you say oops on a single module.
Sounds like a couple thumbs up, couple thumbs down, and a bunch that are in the middle. Any how enough with the shed color, has anyone started laying out a draft board design, or a draft layout? Doesn't matter if it's PSoC, AVR, PIC, or 8051, if no one starts something tangible. Unfortunately I'm not able to make this commitment right now, so I can't start drafting up a general layout. So who is able and willing? I'd probably be best off trying to help them in their efforts. Offering advice that matches their skills.