Tuesday, July 8, 2008

firmware...

I'm an idiot. Really. I realized what makes things happen after the bitstream comes out of the ADC, into the FPGA, and out to ram: a GPU is running firmware that writes the pictures out to disk. It's that simple. the firmware will also be charged with a couple other tasks:

Metering
Shutter control
Indicator lights
Server function

Notice what's missing from that list? There's nothing about driving an LCD or web browsing or any of that. I decided that because there are so many wifi devices, It makes more sense to make the camera into a Personal area network device. De-centralize it, integrate it with software on client devices. Make the camera into a limited access web-server, with a big enough drive, ssh services, and it can make up for inadequacies in storage elsewhere as well.

So, I've got the broad strokes of a design pretty much completely worked out in my head. Now for details.

Monday, July 7, 2008

last post?

Not really, but the dns changeover seems to have gone smoothly, and I'm sure the people at Stanford will want their page to be top-level on the new site. What I'd like to see happen is the blog go to a subdirectory somewhere, and maybe start a wiki with information that we have so far. Then again, because of work right now, my time is very limited. I understand sort of abstractly what has to happen to get an image first on the sensor (latent image) and then off the sensor.

So, the process begins with a little jolt across the base of the sensor, which zeros everything out. Shutter opens, photoelectric effect moves around some electrons, shutter closes. The pixels are all charged with a tiny voltage which is relative to the intensity of the light that hit the active area of the pixel. The voltage is unstable, and has to be read out quickly.

So the readout process begins. There's a register clock that determines how fast this happens, sends a voltage to the right pin on the sensor and causes it to dump a line of pixels down one of the output lines (of which there can be 1, 2, 4, or more) which hook up to the ADC, usually straight through. This is for a couple of reasons: Short circuit traces make for lower noise, ADC's are available with built in amplifiers, and most importantly, simplicity. If there is more than one output in use in a camera, usually that output will get a dedicated ADC.

Then from there it gets foggy for me. The ADC spits out a bit stream that goes to some custom logic that reassembles it into something resembling a RAW file (putting the bits all into the right order, because the way they're read out can be flopped or sectioned in any number of ways). "Custom logic" can be a prefabbed chip (Texas instruments makes a bunch that are almost cameras on chip) or an FPGA. This section also has the job of writing the image to ram and possibly on to flash.

The other possibility is that the whole assembly I've just described works as a peripheral to an embedded system that does the job of getting the images written to flash, playback, networking, etc. There are some single board computers that might work, but none fit the bill absolutely in terms of size or performance or features.

Have I got this remotely right? Is this thing on? Buller?

Saturday, July 5, 2008

been thinking about this...

Thinking a lot these days. I've come up with a few more thngs that the camera needs to be and or have in order to be the kind of camera I'm thinking.

1) A screen. This wasn't in my original design, but it would be nice, and it opens up a lot of possibilities. In-the field editing, conversion from raw, and blogging of pictures, for one. Multi-touch screen and fold out keyboard, maybe, too.

2) Big internal memory (I'm talking really excessive, like a 160gb drive) plus removable storage. This is a camera to replace your computer.

3) Media center - Since it's a full computer, throw in MP3 and MPEG playback, just a port of something already out there probably.

4)User interface. This is so important it makes everything else look stupid and small. The touch screen has to be finger-usable, no stylus. Shutter lag has to be under 75ms, and should ideally be less than 50.

5)Ambidextrous- For the last few days, I've been without the use of my right thumb due to an accident working on my car. There aren't really any left handed cameras on the market. there's no reason we can't change that, especially in a one-off environment.

Also, I'm talking to some people at stanford about moving this site to their servers and letting them take over the domain. I'll still be doing my thing, but the blog will move to be a sub section of their efforts. This is a very good thing, because honestly I don't know a lot of EE stuff that I was going to have to learn, and they do. I have to talke to my hosting providers about that though. Seems the domain is locked for some reason.

I've had ideas for several versions, from the micro-mini stripped down version, to the one above that's a desktop replacement for people who only need email, internet, and GIMP. Video is a possibility, although the sensor I want to use is probably not going to support it.