At A Glance Main Projects Tutorials Resume

Contact


Email: palen1c at gmail.com




AT90USB162 Using Atmel Factory DFU Bootloader

Sat, 19 Sep 2009 22:00:02 EST

Hand made version of the RC Interceptor
In order to use the factory loaded USB DFU bootloader for the Atmel AT90USB162 you MUST run the chip at 8Mhz from an external clock source. In my hand made version of the RC Interceptor I made the mistake of trying to use an external 16Mhz clock. This wont work. If you look at the datasheet for the AT90USB162, you can clearly see that the fuse bits are set for an external clock running at 8Mhz. Using the boards I had made by BatchBCB, using an external 8Mhz clock, I have been able to boot the chip using the HWB pin with RESET in order to get the Atmel DFU bootloader to run. This will allow you to use the Atmel FLIP programmer to program the chip via usb without changing any fuse bits. This is critical if you want to load code without making an interface on your board for SIP programming.

16Mhz Waveform from the teensy pjrc board


My major problem with this version of the RC Interceptor is that it wont run consistently. When I had this PCB design fabricated by BatchPCB, I did not know anything about electrical interference from other components on the circuit board. This board layout will run sometimes and others it wont run at all. It exhibits very intermittent operation.



After observing this behavior for a while I decided it was time to use an oscilloscope to look at the external clock. My hypothesis was that sometimes the chip was succeeding in starting the oscillation of the 8Mhz crystal and others it would get stuck in startup. Thanks to my employer, Boston Productions, I was able to check out the clock using our old Tektronix TV oscilloscope. I got lucky because in the images, today for some reason the RC Interceptor is reliably oscillating. Most days it just wont do anything. I am thinking this may have to do with ambient temperature.

8Mhz Waveform from the RC Interceptor circuit board


I bought a teensy board from PJRC a while ago so that I could program the firmware on their chip while I was developing the hardware for the RC Interceptor. The teensy has come in very handy because I can compare its perfectly working 16Mhz waveforms to my barely working 8Mhz waveforms. If you take a look at the teensy waveforms, youll notice that they are perfectly smooth on their peaks and valleys, or rails(In electronics, the maximum and minimum voltage is called a rail).
Another scrapped version of the RC Interceptor

If you look at the RC Interceptors 8Mhz waveforms youll notice that the peaks and valleys are a bit jagged. I think poor circuit board layout is causing this. In order to fix this problem I have ordered a text book which will be arriving in the next few weeks. Unfortunately it looks like Im going to have to wait for another PCB version to demonstrate this technology.


Charles Palen has been involved in the technology sector for several years. His formal education focused on Enterprise Database Administration. He currently works as the principal software architect and manager at Transcending Digital where he can be hired for your next contract project. Charles is a full stack developer who has been on the front lines of small business and enterprise for over 10 years. Charles current expertise covers the areas of .NET, Java, PHP, Node.js, Javascript, HTML, and CSS. Charles created Technogumbo in 2008 as a way to share lessons learned while making original products.

Comments

No one has posted any comments yet, be the first

Comments are currently disabled.