step 1, figuring out where the lost serial data went, is evolving into a complete investigation of the USB bus architecture and a relook at using CDC vrs Mass Storage device class and the V-USB(AVR-USB) implementation in general. The HW implementation is unlikely to change. This is likely to take some time.
Archive for May, 2009
Good, somewhat surprising news. I programmed the AVR that is being used for the USB interface and the device attached to a PC on first attempt. So far I haven’t been able to get serial data through it, but just communicating with a PC is fantastic progress. Next steps…
1) Figure out where serial data is being lost
2) I’ll plug in the Disk ][ interface AVR and get some basic operations working
3) I'll have to finalize and implement the host/Disk ][ communications protocol.
Disk section of new proto board checks out – I’m able to read/write/format disks with same functionality as the first proto board. Inner tracks don’t seem to read quite as reliably as before, but I’ll look at this later on. Using a crystal for clock seems to be a good thing, because the format function seems to fit a track a little better on to a disk. I couldn’t tune that RC oscillator well enough to suite my liking.
Next step is the USB interface.
Quick update – holes drilled and components soldered in (except for AVR’s, which go into sockets). Power supply checks out OK. I will be able to bring up USB and Disk interface sections separately. Communications between the two AVRs is through a serial interface and I have added a header which will allow me to interface from a RS232 port on a PC directly to each AVR, during initial bring-up. First, I intend on bringing up the Disk interface to state where I left it on original proto board. Some tweaks to the SW must be made because of change in AVR versions, but this shouldn’t take very long. Once that is working, I’ll bring up the USB interface. Finally I’ll combine the two and work on host protocol, which is the last major activity planned for this project.
I have all the parts and etched the board this morning. Registration between layers isn’t as good as I’d like, but it will do for a prototype. It will take another evening to drill holes and solder in the components. Some of you may wonder why I go through the effort of making a PCB for a prototype. Well I think a PCB results in a vastly more presentable finished board and I like the esthetics of it. The result should also be a little more reliable than the results of other prototype processes. I don’t think that it is that much more trouble than say wirewrap or point to point prototyping. Finally, creating a prototype using the same artwork that a production house would use, makes going for a production run much less risky.
The board is designed to fit an a Serpac A20 enclosure, as used on my shutter tester project – http://www.willegal.net/light/tester.JPG. This is not the cheapest enclosure, but I think it is a pretty good looking off the shelf box. I’ll have to come up with some kind of cool decal to put on top of it.
PS In this image I haven’t yet removed the ink from the laser printer image that is used to form the resist.