A new post after a long time!

Free time has been very hard to come by over the past few months. But, over the last month or so – I have been obsessed with an idea. Some google-ing around and quick calculations tell me that it is indeed possible to do this. After around an year and a half, I will be working with a camera again – this time, it will be interfacing a CMOS camera with a Cortex-M4 microcontroller.

The camera is Toshiba’s popular TCM82x0 series and the microcontroller is TI’s Tiva TM4C123x/9x series.

A few calculations are in order.

A 128 X 96 pixel image in RGB565 format will consume ~24kB (128*96*2 bytes) of memory and a 320 X 240 pixel image in RGB565 format will consume ~150kB (320*240*2 bytes) of memory.

The TM4C123GH6PM controller used on the Tiva launchpad has 32kB SRAM and the TM4C129XNCZAD controller used on the Tiva Connected Development kit has 256kB SRAM. Seems possible now, huh?

Yes, there will be restrictions on the frame rate that we can work with – but I am not worrying about that now.

Some information about the devices

The camera

The camera that I will be working with is the TCM8230MD. It has a maximum throughput of 640 X 480 pixel images @30 fps. That is indeed remarkable – this is how it looks.

Image - TCM8230MD

Toshiba’s TCM8230MD CMOS camera

As for the development hardware, I found a number of helpful people online who have posted reference schematics and board designs that I can use for my development. I will do exactly that at first. But, if all goes well and I am not yet bored, I wish to make a boosterpack for the Tiva launchpad. What is a boosterpack? Read all about it here!

The camera configuration is done by writing to its registers over a fast I2C bus (400kHz) – its device address is 0x3C (found in the datasheet). I will be using RGB565 output mode at 15 fps with an output resolution of 128 X 96 pixels.

The microcontroller

TI’s Tiva series is a re-branding of the Stellaris Cortex-M3 and Cortex-M4 microcontrollers best remembered for their connectivity options. The TM4C123x series is the lower series and the TM4C129x is the higher series as far as on-board memory are concerned. Following figure highlights the salient features of the Tiva controllers.

TM4C123x family - salient features

TM4C123x family – salient features

One of the best things about using TI’s microcontrollers is the launchpads. The TM4C123GXL is my favorite MCU development kit as of now!

In this space, I shall be posting updates about this project – codes, block diagrams, trials and misses and of course – results!

See you around!