I figured out why Dexter wasn't working for me when I tried to demo it for Bard.
The AVR microcontrollers have these internal configuration settings called "fuse bits" that indicate, among other things, what the clock source will be. The AVR can support different clock sources, including its internal oscillator, an external crystal, and an external clock (not sure what the difference between the last two are). I had my AVR setup to use the STK600's external clock. And when I tried to use the STK600 to show off Dexter, it wasn't working properly (Dragon's Lair would boot but the beeps were coming in slow and I wasn't getting anything on the serial port). This may have had something to do with how I was trying to power it but I haven't looked into it.
But what I tried to do was move the AVR chip over to the Dexter PCB because "I know this works and is wired correctly." But I forgot to change the fuse bits to use an external crystal so when I powered the AVR up, I had no clock and so the vsync LED was not blinking. I completely forgot about this at the time.
I should've verified that everything was working the night before and just made it work with the STK600 since that environment allows me to debug with the AVR dragon. In the rev 2 of the dexter board, I will add JTAG pins so I can plug the dragon directly into the dexter board.
No comments:
Post a Comment