Interfacing a camera module (Was: Weird hardware mod ???)
Rask Ingemann Lambertsen
rask at sygehus.dk
Sun Apr 19 15:50:02 CEST 2009
On Wed, Jan 21, 2009 at 02:44:50AM -0800, scholbert wrote:
> after having a deeper look into the schematics of freerunner, i realized
> that most of the pins of the Glamo camera interface are physically
> accessible at the resistor networks RP1801..1804.
> This led me to a wicked idea:
> Solder some thin wires to the dedicated signals and use this interface for a
> camera module.
It really is a shame that no Glamo docs are available, because it would
be the best solution since
- there's a readily available parallel bus with associated clock signals,
- there'd (in principle) rarely be a need to transfer the camera data across
the slow bus out of the Glamo because the destination would be either
the frame buffer for display or the SD card interface for capture.
There are enough unused GPIO pins on the S3C2442B for an 8-bit parallel
bus, but the ones that are connected to a test point or are otherwice
accessible are scattered all over the place, so you can't just set up a DMA
channel to pull the data from a GPIO port register. You'd need to use the
CPU to read the GPIO ports and combine the bits millions of times per
second. I don't know if that is feasible.
FWIW, the GPIO pins that are either unused or could be reassigned are
these (not including the many that end underneath the 2442b and are thus
impossible to get to):
GPB8 - R7609 EXTINT0 (NXDREQ1)
GPC13 H-TP1533 R1548 pcb_revision1
GPD3 H-TP1536 R1549 pcb_revision0
GPD14 - R1762 HDQ
GPE13 H-TP4715 - SPI_CLK0
GPE12 H-TP4716 - SPI_MOSI0
GPE11 H-TP4717 - SPI_MISO0
GPF3 H-TP4705 - EINT3
GPG0 - R1547 G2_INT (NC)
GPG2 H-TP4718 - SS0
GPJ5 - R1813 3D_RST
GPJ8 - R1546 KEEPACT (NC)
GPJ9 - R1545 SHUTDOWN (NC)
We do however have a completely unused SPI interface going to the debug
board connector and nearby test points H-TP4715 - H-TP4718. The SC32442B
manual doesn't say how fast the SPI interface can go as a slave device, but
even if the 25 MHz maximum specified for master mode is also the maximum for
slave mode, it would be a substantial improvement over USB 1.1. This could
be useful because:
a) There are cameras which output image data over a serial bus.
b) There are chips to convert a camera parallel bus to a serial bus.
Both use differential signalling on the serial output, though. Also, the
device  is not bit transparent, for example, so 10-bit Bayer and JPEG
formats are not supported. A plain old shift register and a x8 PLL oscilator
for the serial clock would do the trick.
The cameras tend to use 1.8 V, 2.5 V or 2.8 V, so some level shifting on
at least the I2C bus (debug connector or test points H-TP4703 and H-TP4704)
The GTA01 also has the I2C interface and unused SPI interface available
at the debug connector. Is anybody with a GTA01 reading this? Comments?
Rask Ingemann Lambertsen
Danish law requires addresses in e-mail to be logged and stored for a year
More information about the hardware