SparkFun Forums 

Where electronics enthusiasts find answers.

Have a good idea for a new product for SFE or Olimex? Let us know!
By enakf
#100084
Hi, I'm using the TCM8230MD and have some problems with the colours in my images. I seem to have a lot of purple like Kreature had earlier... just wondering if anyone knows the cause of this? So far I've only grabbed QQVGA(full) images due to RAM.
My colourbar test looks perfect, except that the bars are vertical. From this forum it seems the 8240 bars are horizontal, is that right?
By Dmitri
#100103
enakf wrote:Hi, I'm using the TCM8230MD and have some problems with the colours in my images. I seem to have a lot of purple like Kreature had earlier... just wondering if anyone knows the cause of this? So far I've only grabbed QQVGA(full) images due to RAM.
Do you grab YUV? If so, U and V might be swapped in your case.
By enakf
#100142
thanks for reply Dmitri. I left out some information. I only tested RGB and I am only using it as 16-bit pixels in a bmp file. Do you think it could be related to how i use the pixel data? I might try one of the earlier suggestion to mirror the LSbs and create 24-bit data.
More information; i use 1.5V and 2.8V supplies from LDOs.
By manohar_rvce
#104251
I am planning to explore using this camera for capturing still images.... the resolution doesnt matter to me, but the max processor speed i can get is 16Mhz. I perused through this thread and the datasheet.
I have some questions, if we want to capture just images, we shoudlnt worry abt fps. My idea is to use some kind of memory like the EEPROM, and mebbe counter which will indicate the address of the memory. Initialize the camera and I shouldnt worry about the EXTCLK(mebbe clock it at 6MHz) and disable the camera after taking the pic and copy over the entire pixel data (128*96*2 bytes) if we are using the 128*96 resolution). The pixel data should remain in what I visualise the camera memory till the copy operation is finished. And moreover, I wouldnt be needing 6-7 instructions for copying each byte since I have a dedicated counter and memory(EEPROM) for it. I agree the counter clock will still be at 16Mhz since that is the max clock freq of my system, but since I just want to capture a image, it should be fine.

Do let me know if I am thinking along the right line.

Manohar
By yakuzaa
#107995
Hi all! Can anybody post a piece of C code how to initt cam, and grab a frame from TCM8240MD ? (i.e. for STM32)

I have an IAR project for STM32 that outputs an image from old TCM8219 to SPI LCD (very slow)... But new camera is different from old interface. Thanks!
By eoin
#108958
Hi everyone,

I am having big trouble configuring the TCM8230 camera, My external clock in is at 11MHZ and 2.8V IOVDD AND PVDD are also 2.8v , DVDD is 1.5V, the reset pin is pulled high.

When I try to write to the I2C registers, the part acknowledges when I send it 0x78, now whats very strange is that usually for the next byte u can address whatever config register you want, but for some strange reason I only receive an ACK when I send the part Ox1F for the second byte, the part will then ack anything for the 3rd byte but again no ack for another byte.

Has anyone come across behaviour like this before? I have been working on this for a week to try to see some clock pulses on DCLK. Also another thing to note is that my camera uses about 7mA from the 2.8V supply.

Any ideas?
By Dmitri
#109977
320x240 Y4:1:1 @ 25 fps, 3.5g with TF and w/o battery
top.jpg
bottom.jpg
Still wondering why SFE did not like this little thingie...
You do not have the required permissions to view the files attached to this post.
By Dmitri
#110221
I could provide some videos done with this little thingie above, if some one wants to see them.

As I explaned long time before, I write the raw YUV stream directly to the SD card. The only modification is the reduction from YUV4:2:2 to YUV4:1:1. Thus, one line becomes 512 byte long (the size of a block to write) instead of 640.

A simple PC program dumps the data to the HD as a row of BMPs converting from YUV to RGB. These BMPs are put together by VirtualDub.

After having accepted 30 frames seamlessly, the SD card takes a longer break which results in dropping about 10 lines. So, each 30th frame has a white stripe. I can decide if I drop this frame or not.
By aeo087
#110266
I would like to encode the YUV output from this camera to MPEG4, what hardware could do this in real time? FPGA? are there any free cores available that could do this?
By noend
#110725
Dmitri wrote:I could provide some videos done with this little thingie above, if some one wants to see them.

As I explaned long time before, I write the raw YUV stream directly to the SD card. The only modification is the reduction from YUV4:2:2 to YUV4:1:1. Thus, one line becomes 512 byte long (the size of a block to write) instead of 640.

A simple PC program dumps the data to the HD as a row of BMPs converting from YUV to RGB. These BMPs are put together by VirtualDub.

After having accepted 30 frames seamlessly, the SD card takes a longer break which results in dropping about 10 lines. So, each 30th frame has a white stripe. I can decide if I drop this frame or not.
I've made a very similar project. It's based on a PIC24HJ128GP204 running @ 40MIPS (FNOSC_FRCPLL), I have also implemented multiblock write+SPI16+DMA (One shot, Ping-Pong mode Disabled) into ChaN's FatFs library and I'm using PMP (Master mode 2,No additional wait cycles,PMRD/PMWR port enabled) which reads the data coming out of a AL422B. It's recording YUV422 in raw. The TCM8230 extclk is feed with PIC's PWM output proving 20MHz. At this point I was only able to achieve ~16fps @ 160x120 (currently with a class 10 shdc 8gb sd card). The main issue I found is a bottleneck while writing to the SD card, SPI is configured to work @ 10MHz which is the theoretically the maximum clock speed allowed as per Microchip datasheet. I'm using a 3 input NAND (Max tpd of 3.8ns at 3.3V) in which inputs are connected to cam's VD and HD and the another one left is used to control frame capture. The NAND output is connected to FIFO's write enable.
At this point my aim is to get rid of the FIFO so I'm wondering how did you manage to achieve frame rates higher than 16fps? with resolutions higher than qqvga.
  • 1
  • 22
  • 23
  • 24
  • 25
  • 26
  • 31