Go Down

Topic: Errors in Due board/schematic files (Read 5594 times) previous topic - next topic

michaeluna

Hi all. I'm wondering if anyone else has tried to build their own Due from the files posted, and found errors?

For reference, these are the files currently linked from the Due product page: http://arduino.cc/en/uploads/Main/arduino-Due-Reference-design.zip

So far, the design errors I've found are:

- The Y4 crystal should be 16mhz, not 12mhz as is shown in the schematic and board file.

- The USB jack for the Native port has a footprint that doesn't match that of the Programming port. If you plan to use the same part for both USB ports, it won't fit. I recommend copying the part from the Programming port over to the Native and redoing the connections. The jack I used is this one: http://www.digikey.com/product-detail/en/10118194-0001LF/609-4618-2-ND/2785389

One other thing to watch out for, and this isn't an error in the design but will trip you up, is that you have to flash the 16u2's firmware before it will work as intended. There's a great thread on how to do that here: http://forum.arduino.cc/index.php?topic=147639.0

I ask because I'm certain there are more errors, and I'm currently in the weeds trying to suss them out. I've gotten my board to show up in Windows as an Arduino Due and it will assign a COM port, but the Arduino IDE consistently says it's unable to find a device on that COM port. Which I'm pretty sure means that the 16u2 is functioning correctly, but the SAM3x8E is not. Or the communication lines between the 16u2 and the SAM3x8E are not properly connected, but I just checked those and I'm pretty sure those are fine.

I'm now digging through all the connections required to power and clock the SAM3x8E, to make sure it's up and running on it's own. But it's slow going as I'm not a professional engineer and I've never worked on something of this complexity before.

In any case, I would very much appreciate any information from someone who's attempted this before and especially if you've discovered any additional errors in the released design files.

Much thanks!

stimmer

The two different USB sockets is not an error - the native port is a micro-AB socket and the programming port is a micro-B socket (this is clearly marked on the diagram). This is needed when using the native port as a USB host - A USB host adaptor should have a USB micro-A plug and will not fit a micro-B socket.

However, the cheap Chinese USB host adaptors that you see on Amazon and Ebay have often been (incorrectly) made with a micro-B plug. If you did duplicate the programming port socket on the native port it might still work as a host if you can get one of those adaptors with the wrong plug.
Due VGA library - http://arduino.cc/forum/index.php/topic,150517.0.html

Graynomad

Quote
The Y4 crystal should be 16mhz, not 12mhz as is shown

Correct, Y4 is labelled incorrectly.

Quote
The USB jack for the Native port has a footprint that doesn't match that of the Programming port.

Correct again, but they shouldn't be because they are different connectors.

______
Rob
Rob Gray aka the GRAYnomad www.robgray.com

michaeluna

Do either of you have a part number handy for the USB Micro-A connector? I'm having trouble locating that type of connector. This isn't correct, is it? http://www.mouser.com/ProductDetail/Hirose-Connector/ZX40-A-SLDA/?qs=sGAEpiMZZMulM8LPOQ%252bykzmHhzPuOAFGEUTwYyFb6Wg%3d

Graynomad

Rob Gray aka the GRAYnomad www.robgray.com

michaeluna

That's it, thank you!

I'm still not getting my board to boot up yet, but in the meantime I'm finding all sorts of errors I made with other parts of the circuit. I'll post here if I find any other flaws that originate with the Arduino open source files.

Graynomad

Quote
I'm finding all sorts of errors I made with other parts of the circuit.

You wouldn't be the first :)

I'm currently designing a Due-style board as well, I'm happy to look at your circuit if you like. Maybe we're both making errors :)

_____
Rob
Rob Gray aka the GRAYnomad www.robgray.com

michaeluna

Adding another mystery here:

The Due .sch and .brd files show IC10 up in between the two header rows.



A Due I ordered and received this week has IC10 in the lower left near the power jack.



Now I'm beginning to wonder how many other small inconsistencies are present in the files, and whether the files represent a viable circuit at all. I built a board using them and I've been trying to get it to work for weeks with no luck.

Aiekakiku

I'm trying to debug my own board based on the due schematics.  So I made the mistake placing a 12MHz cristal for 16U2.
Now I'm waiting 16Mhz one.  At least, the SAM3X8E is moving from the JTAG port,  AtmelStudio, pwm_led_example.c + SAMICE.
One thing I'm wondering is 4pin "DEBUG" connector.  maybe SWD ports but doesn't work.  even it's white dot mark doesn't mean The '1'  pin.

Graynomad

#9
Jun 14, 2013, 03:48 pm Last Edit: Jun 14, 2013, 03:54 pm by Graynomad Reason: 1
@michaeluna
That was reported soon after the Due was released, no reasonable reason (IMO anyway) was offered for the downloadable files being different to the production boards.

@Aiekakiku
The schematics are wrong WRT that crystal and at least on other item (that doesn't affect anyone making a similar board).

All in all it's clear that the offered "design files" are not the exact files used to create the production board.

Quote
I built a board using them and I've been trying to get it to work for weeks with no luck.

Do you want to share your schematics? I've only designed a SAM board so far not actually built it, but I may spot something.

Re the debug connector, AFAIK you need to use JTAG to enter SWD mode anyway so I'm not sure what use it is. I may be wrong on that but that's how I interpret the data sheet.

_____
Rob
Rob Gray aka the GRAYnomad www.robgray.com

Aiekakiku

My own board based on the due schematic can be recognized by arduino 1.5.2 afetr  replacing  12MHz cristal with 16MHz.
then  I can write down Blink sketch on it.   It works, but  I feel something wrong around the reset circuit.

>but the Arduino IDE consistently says it's unable to find a device on that COM port.
Actually I got this message. then reset the board and it come to be able to write sketch. something wrong.

PS. 'DEBUG' connector worked,  JLink Debuger requirs one more pin  ' Vref ' .

Aiekakiku

#11
Jun 15, 2013, 04:07 pm Last Edit: Jun 15, 2013, 04:11 pm by Aiekakiku Reason: 1
I think I found something.   R23 10K on MASTER_RESET signal.  It's not good.   In my memmory.   NRSTB pulled up inside cpu with 15k orhm.

So 16U2 can't draw the signal down to the graund.   Acturally it saw  it dwon to half level.   After short the R23, my own board is smoosely recognized and recieve the scketch and move correctly.

But it causes another problem.  Maybe short is not good.   Do I need 1k or some resistor instead?  or  16U2(22) RESET_CMD  pin is Open Drain?

Graynomad

You might have a point there. The internal pullup is a nominal 15k and the MASTER-RESET signal is driven through a series 10k (R23 as you say), that forms a voltage divider that will be about .94V on the reset pin when asserted by the 16U2.

I can't find the valid voltage levels for the NRSTB pins but the max Vil for a standard pin is 0.3 x VDDIO, or .99V.

That's pretty close and not a great choice given that the pullup resistor can range from 10 to 20k. Of course NRSTB may have a different threshold.

Can you verify that R23 is actually 10k?

The only reason I can think of for having R23 at all is to protect the 16U2 in the case of it asserting MASTER-RESET at the same time as the reset PB was pressed. Therefore I assume that pin 22 on the 16U2 is not open drain.

I would replace the 10k with a 1k as you say, just to be on the safe side.

_____
Rob
Rob Gray aka the GRAYnomad www.robgray.com

Aiekakiku

I can't find out the acutual value of R23 on the real due board.  because  it doesn't have silk name on the board.
I looked into the Arduino-usbserial.c.  It says

void setResetPin(bool v) {
   /* Target /RESET line  */
....
   /* INACTIVE => set as INPUT (internal pullup on target /RESET keep it at 3.3v) */
...
}

Maybe, maybe it would never drive the reset Hi.  I'm not sure.


Graynomad

OK, sounds like something put in as a "maybe we'll use it one day" feature that is not used.

If that's the case this is another discrepancy between the design files and the real thing.

I'd say you don't need R23 at all.

_____
Rob
Rob Gray aka the GRAYnomad www.robgray.com

Go Up