??? 03/31/08 22:06 Read: times |
#152798 - Fingerprint scanniung Responding to: ???'s previous message |
I think Erik's observation is 100% right-on. Like I said, I think this is a matter of efficiency. Someone probably made it work with nasty code that, on a PC, still ran fast. Then they compiled it on an embedded device and they concluded "You need 100 MIPS." Sure, because the code is inefficient.
Jan Waclawek said:
Then, this sounds like a typical example where speed can be traded in for memory (and maybe a bit of additional logic). Maybe. I'm not sure. I can't fathom what kind of crazy logic they're implementing so one can't be sure that having extra memory would actually speed things up. 8k of RAM is today worth nil, and 200-300 scanlines worth is still rather cheap (if it does not need to be desperately integrated on a chip, i.e. if it does not need to be supercheap or superslim). I can't remember the specs exactly, but I remember something like the image of the fingerprint was the equivalent of 1 megabyte. I think they wanted to avoid telling their potential embedded users (that might have dozens or, if lucky, maybe hundreds of kilobytes in their project) that they needed a megabyte for the fingerprint scanning alone. Whether telling them they need 100 MIPS is all that much better, I don't know. :) I also see no point for realtime processing - is it likely that a crowd of people would need to be scanned finger-after-finger with no pause in between? Real-time processing was necessary precisely because they wrote it for an 8k buffer. If you're processing a one megabyte image and you only get to see 8k at a time, you have to process that 8k buffer before it gets overwritten with something else. I don't say it's not worth to go for whatever processing power is available, and I don't say I know all the variables that go into that balancing act an engineer and manager has to do so often; I just want to say it doesn't sound as something completely out of scope of a '51. I agree. As has been observed, efficiency is often a lost art these days. People that grew up coding for PCs with "unlimited" memory don't care about speed or memory efficiency so when something doesn't immediately run on a low-end 8051, they throw memory, MIPS, and money at it. Hence you have crazy requirements for 100 MIPS ARM chips. And I would add that when I saw that operating with a 100 MIPS ARM it was still slow. They required a 100 MIPS ARM in much the same way that Bill Gates requires 512MB RAM for Vista. Yeah, it kinda works, but not really. In this case I wasn't particularly interested in writing new fingerprint scanning libraries and the project seemed pretty severely mismanaged even if I were to deal with the ARM, so I declined to participate in it. Regards, Craig Steiner |