I'm starting with making a sort of smaller DUE clone that I want to start to program with the Arduino IDE, and slowly transition to Atmel Studio at a later date. I've managed to protoboard essentially a DUE version of the ATSAM3X4C from the Arduino schematics. See picture:
Using just the built in ROM SAM-BA, I can use a real DUE to communicate with it, get the version, read and write to memory, and even send a file using the Xmodem protocol over the PA8 and PA9 serial port. This tells me that the majority of the chip is working correctly. I'm working to get a RS-232 to TTL board to program the chip directly with the SAM-BA utility over serial, but that's one step removed from my goal.
The problem arises, as with most other newbies in the forum, when I connect the USB connection to my PC. In my case, the PC (Windows 7) recognizes the device, but malfunctions (code 43). I cannot load any drivers, and the hardware ID shows as USB\UNKNOWN which tells me the PC saw the connection but never communicated. I am new to USB as well, but I've been looking at the traces. Below are two pictures. The first a long time scale of the traces as recorded (0.02 second increments). The second is a higher samplerate overlaid trace of the first. My current DIY scope (DPScope) does not let me do much else in terms of data recording, but I believe it gets the point across.
From the data above, it seems that the positive connection pings for data, while the negative seems to not work as intended (from the little I've read I believe that it should be a differential signal where positive/negative flip to transmit data, but I could be wrong). I am using 39 ohm resistors on the D+- lines as described in the datasheet and on the Arduino schematic.
Things I know are working right from reading the datasheet or debuging:
- The XTAL crystal is recognized properly. Removing it or changing the capacitor values makes it so the USB never enables, as described in the datasheet.
- All the voltage inputs are at the correct values. I've correctly installed all decoupling capacitors and EMI filter equivalents.
- The processor is not fried or misconfigured as evidenced by the ability to communicate with the boot loader over serial.
I'm out of ideas on what else to try, so I'm hoping someone might provide some positive direction.
Thanks in advance.