« mail2page.py for vmobl.com [updated 2005-04-21] | Newest entries in projects | Setting the NET_WM_ICON for Tkinter application windows » I got this interesting little DAC working earlier tonight, with only a minimum of trouble. The code worked right the first time, but I got the hardware wrong ---I let the "power down/" pin on the DAC float, which meant I got a mostly random square wave superimposed on the sine wave. Here's a crummy photo of my scope displaying a sine wave. The sine wave is generated from a 512-entry, 9-bit table in the AVR. ![]() The specialized soic-to-dip adapter for this chip The DAC itself is fairly speedy---the serial protocol can be clocked at 20MHz and requires 16 bits to change an axis. Settling time is <10nS. That means the top update rate for 4 axes would be over 250kHz. However, on the microcontroller I used the data is clocked out with a loop in written in C at more than 10 AVR cycles per bit---oh, and the first crystal I found was a 3.2768MHz one. When I switch to a 16MHz ATMEGA8 with SPI, I'll be able to clock the data at 8MHz, hopefully fast enough to make a nice display. I have a few ideas for a project with this little chip and an XY display. First, a vector game (asteroids or lunar lander). Second, a character-cell display of whatever resolution turns out to be possible. Third, a weather forecast with vector symbols for "partly cloudy", etc. ![]() Lissajous-type design ![]() Cube drawn with Bresenham line algorithm |
| [æ] |