Hello,
I am working on a Ben Eater-inspired VGA project, except his project uses a 10MHz crystal to fake a 800x600 resolution signal, but I'm using a 25.175MHz crystal to create a proper 640x480 resolution signal.
In testing, I used an Arduino to generate a slow clock pulse so I could confirm that my horizontal and vertical signals were being properly generated at the time steps dictated by the VGA standard. I rigged LEDs up to my counters and verified that the HSYNC/HBLANK/VSYNC/VBLANK signals changed state at the correct time steps.
When I disconnected the Arduino and connected my crystal - a MX045HS - it didn't seem to work correctly. The LEDs didn't change state at all. By the conclusion of my troubleshooting efforts, I simply daisy-chained two 74LS161 (digital counter) chips and connected them to the crystal, but with LEDs connected to the outputs of the counter, I verified that it wasn't changing state - some LEDs stayed on, some stayed off. I connected an LED to the output of the crystal and confirmed that it lit with half brightness, consistent with the LED flashing off and on at very high speeds.
So right now, I just have the MHX045HS crystal, two 74LS161 counters (with the carry-out of one connected to the "increment" pin of the other), and an indicator LED - the rest of my VGA circuit is not connected. As far as I can tell, the counter is not changing state. I don't have access to an oscilloscope. The "increment" pin of the low-order 74LS161 is connected to 5V, and the crystal is connected to CLK.
If anyone has an insights, or further troubleshooting suggestions, they would be greatly appreciated. Thank you in advance!
John
I am working on a Ben Eater-inspired VGA project, except his project uses a 10MHz crystal to fake a 800x600 resolution signal, but I'm using a 25.175MHz crystal to create a proper 640x480 resolution signal.
In testing, I used an Arduino to generate a slow clock pulse so I could confirm that my horizontal and vertical signals were being properly generated at the time steps dictated by the VGA standard. I rigged LEDs up to my counters and verified that the HSYNC/HBLANK/VSYNC/VBLANK signals changed state at the correct time steps.
When I disconnected the Arduino and connected my crystal - a MX045HS - it didn't seem to work correctly. The LEDs didn't change state at all. By the conclusion of my troubleshooting efforts, I simply daisy-chained two 74LS161 (digital counter) chips and connected them to the crystal, but with LEDs connected to the outputs of the counter, I verified that it wasn't changing state - some LEDs stayed on, some stayed off. I connected an LED to the output of the crystal and confirmed that it lit with half brightness, consistent with the LED flashing off and on at very high speeds.
So right now, I just have the MHX045HS crystal, two 74LS161 counters (with the carry-out of one connected to the "increment" pin of the other), and an indicator LED - the rest of my VGA circuit is not connected. As far as I can tell, the counter is not changing state. I don't have access to an oscilloscope. The "increment" pin of the low-order 74LS161 is connected to 5V, and the crystal is connected to CLK.
If anyone has an insights, or further troubleshooting suggestions, they would be greatly appreciated. Thank you in advance!
John
Last edited by a moderator: