Wicked Minds Electronics

  • Content count

  • Joined

  • Last visited

  • Days Won


Community Reputation

2 Neutral

About Wicked Minds Electronics

  • Rank
    Advanced Member

Profile Information

  • Gender Not Telling
  1. Bare Bones I2C Master Writer

    click here for the Original forum thread My design only requires me to perform some I2C writes to initialize a couple of devices. After trying several different methods and being new to FPGA in general I found that this solution was even simpler than implementing PicoBlaze. Customizing To define the I2C writes performed look inside SimpleI2CCore.vhd where you will find an array called seq: constant seq: seqT:= ( -- RESET CAM (idle, x"00"), (start, x"00"), (const, TCM_DEV_ADDR & '0'), (const, TCM_REG_SLEEP), (const, TCM_SOFT_RESET), (stop, x"00"), . . . (start, x"00"), (const, VIDEO_ENCODER_ADDR & '0'), (const, VIDEO_CONTROL_5), (const, x"60"), (stop, x"00"), -- end (idle, x"00") ); Change the const values to the appropriate ones for your device(s). In the attached project there are several writes defined for two different devices, you can remove/add as many as you like just always ensure your last value is idle so that it releases the SCL and SDA lines. Also note the device address constants are 7 bits. Remember to modify the top boundary of the array here: type seqT is array(0 to 41) of i2cT; With a 24Mhz input clock, it produces a 100KHz I2C clock. The additional DCM in the attached project that provides 27MHz is only to drive the external I2C devices and can be removed or modified as needed. Live output from Papilio: Hopefully others will find this as useful as I did Source Code: SimpleI2C.zip
  2. My youngest volunteered to model for a raw image test
  3. So here it is assembled by hand using the new socket design. Just finished running tests on it and taking pictures. Works flawlessly This time around I chose female headers as connectors so that I have more mounting flexibility and can more readily use some ribbon cable to mount the camera on a servo assembly. P.S. As you can see from the close-ups, I couldn't find my tweezers for the caps and such
  4. Thank goodness the drill file was correct! I'm so happy to see the holes where they belong It looks awesome! Can't wait to see one assembled.
  5. Here are some snaphots of the wing displaying data from the camera (center) and Closed Caption text. For default register settings the color looks great Since the cs4954 provides a Frame signal I am able to interlace the image from the camera and not just doube the scan lines which keeps things at the right ratio. The garbage on the left is a display of internal color map data for debugging.
  6. Here is the schematics for it
  7. I went ahead and made a wing in my spare time and have been able to pipe the picture from the camera to the cs4954 and also used the closed caption I2C commands to overlay text! No char rom needed
  8. Today I am super excited that the MCVVQ111AFB chips to drive the displays arrived today from China! The chip handles conversion of standard NTSC/PAL video into all the signals and voltages required to drive the display and has a seperate OSD input to overlay graphics onto the source video. I can't wait to get a wing worked up and start driving the OSD input with Papilio. Maybe use the TVWing as a video source... Lots of fun ahead!
  9. Four of these beauties just arrived and I'm very anxious to get them running with Papilio. They sure are tiny! The entire assembly including the black casing is smaller than my thumbnail. They are meant to be viewed at about an inch from your eye. From what I have read so far they were heavily used in camcorder viewfinders and the military picked them up for those cool one eye nightvision huds you see them with. Google is loaded with links to the datasheet. Digikey still carries the connector which also arrived, so I will be making a board soon. If anyone has experience with driving these or can help me decode the timing in the datasheet please chime in Also, there is a driver chip that used to go with it, http://cache.freescale.com/files/timing_interconnect_access/doc/data_sheet/MCVVQ111A.pdf?pspll=1. Has some more insight on the timing.
  10. Don't forget the phase shifted outputs I currently use a single DCM to drive: CLKX2 - 64MHz picoBlaze CLK0 - 32MHz pixel counter CLKDV2 - 16MHz Servo PWM CLKFX - 24MHz camera, uart, i2c Works like a charm Don't forget when using multiple DCMs to link their Locked/Reset I/Os with Inverters for stability.
  11. Finally got another camera to put everything onto a wing and get the thing off my breadboard. So relieved the right angle connector worked out correctly!
  12. Here is a schematic for the original source code I created in ISE. I refactored out the RGB to YUV conversion and audio to clarify it more and prep it for use with my camera. Also, I modified it to run off a single DCM. 8MHz is created by using the CLKDV set to divide CLK by 4. Enabling CLKX2 on the same DCM gives us the 64MHz for the encoder logic and CLK0 provides the 32MHz for the audio. Thought you might wanna toss it on the playground as an illustration. Let me know and I can post the project with the schematic top and symbols for all the entities if anyone wants it.
  13. So I built an 8-bit version of the TV Wing this morning and after a day of sweating out some VHDL with the correct timing I was able to pipe live video from my tracking system to the TV Now I don't have to solve the bandwidth issues with trying to pipe live video over USB, I can just watch it on any TV or even transmit it to a remote monitor. If anyone is curious about why I changed the values of the DAC to 100/200ohms, I can post some details about that with the calculations I made vs the NTSC specs. Ben: Thanks for the write up and making the related info easy to find! Jack: Maybe the TV Wing could have a jumper to pipe bit 7 to the TV DAC vs the Audio Output so one could choose between full 8 bit color and mute or 7 bit color with audio. Not sure if this has value this early into playing with it but it's a thought.
  14. I added a TV Wing to my design and here is the results of tracking with a live composite video monitor. I added some screenshots at the end of the video so that you can see what the picture looks like without the brightness being skewed by the angle I filmed the demo at. The TV Wing is based on the design by BenL posted on the GadgetFactory playground with slight modifications to bring the DAC up to 8 bit resolution and using 100ohm/200ohm values for R/R2. I had to add some VHDL to convert the cameras YUV422 data stream into the separate Y, U and V channels for encoding.
  15. Ben, I ran across this document a long time ago doing video with AVRs. I noticed that it uses the same hardware but I never got around to color so didn't read it in detail. Maybe it has some good information for you if you haven't seen it already. How to generate color in software using SX chips