Electronics > Projects, Designs, and Technical Stuff
Acute Logic & Lead CCTV PE-1005S HD Camera Module
<< < (7/13) > >>
OzOnE:
After about three days of messing around trying to get some HDMI output working, I finally realised what the problem was...

You can guess from the photos what I forgot to do. lol
I'd done almost the exact same thing on a previous project with HDMI, so I should have been paying more attention.

The thing is, the ADV7513 wasn't outputting anything at all on its TMDS pins, even with all of the display detection and HPD/PD stuff bypassed via I2C, so I was thinking it was a supply ripple or soldering problem.

So it seems that if the chip doesn't detect a display, it disables the output drivers regardless of the I2C settings.

I managed to confirm that the ADV regs were being written correctly by hooking up an ESP32 module, so I knew the ADV chip was alive.
I also replaced the ADV chip earlier, just in case it got zapped during the unfortunate regulator pinout incident.

The last screenshot is just where I'm using the sync and DE signal from the test pattern generator (set to 720p), then feeding the Luma from the cam to the HDMI chip.
It's quite an uninspiring image right now, but I can see the brightness changing etc. when I wave my hand in front of the cam.

Next thing to try is to route the syncs from the cam directly to the HDMI chip, just to see if it will work at all with a pixel clock of 66 MHz.
I'll likely need to generate the DE signal, too.
OzOnE:
First image, albeit B&W, using a very crude line buffer. ;)

Using 30% of the logic on the FPGA already, and 50% of the on-chip RAM, but that's with SignalTap enabled.
OzOnE:
OK, starting to get somewhere with the I2C stuff for the cam.

The protocol itself has a few quirks, as it has an "ALT" bit, which needs to be toggled on alternate I2C packets.

It's definitely a task better suited to begin coded in C rather than trying to implement it in Verilog, so I have the ESP32 hooked up to the cam I2C bus atm.

(as it happens, the I2C address of the ADV7513 and the camera are both 0x72 by default. Good job I put them on separate busses. lol)

The command packet is fixed at a length of 44 bytes, which makes things easier.
I'll write a C function to store all of the command bytes before sending, which will also toggle the ALT bit, and calculate the checksum.

I *think* I may have changed the output res to 720p 30 Hz now, and the cam seems to store the setting in NVRAM.

I routed the Y,Cb,Cr output to R/G/B for a quick test, and kind of see some colour now.


Not sure what to do with the rest of the PCBs yet.
I guess I should just send off for some more, to fix the issue with the TPD chip and the voltage regs.
OzOnE:
I have the basic packet sending functions done now, but still no reaction from the cam as yet.

Apparently every packet should be 44 bytes, but the various commands have a different number of parameter bytes, so I imagine the rest should just be padded with zeroes.

I tried sending a shorter number of bytes for the zoom command, and although it seemed to send OK and receive an ACK, the camera still didn't respond.

(on every alternate command, I get a NACK error anyway, as I haven't fixed the ALT bit thing yet.)

There are a LOT of commands to figure out, and maybe the zoom needs to be unlocked before it will work?

My Rigol DS1102E also doesn't have I2C decoding, which makes debugging tricky.
SignalTap isn't always ideal for decoding this kind of thing, unless you write some logic to help with it.

I think the camera probably is accepting the command packet now, but I need to find a command that makes it react in some way, perhaps a reset command.
dexters_lab:
awesome work Ash!

I don't think you need start thinking about any board revisions until we hear from the others that have these cameras about any future changes/features

My gut says the i2C could be handled as RS232 -> I2C, meaning any config/UI could be written easily on a PC.
Navigation
Message Index
Next page
Previous page
There was an error while thanking
Thanking...

Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod