Pages: 1 [2] 3   Go Down
Author Topic: GATOR : New Board  (Read 3515 times)
0 Members and 1 Guest are viewing this topic.
London
Offline Offline
Tesla Member
***
Karma: 10
Posts: 6250
Have fun!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I don't think there's anything preventing other Arduino  boards from running at 20 MHz. It should just be a matter of popping off the 16 MHz crystal and replacing it with a 20 MHz one.

The core hardware libraries are pretty well parameterized based upon the definition of F_CPU (CPU frequency) in the compilation process.
Although code may be parameterized based upon the definition of F_CPU, there will be things that break, particularly code that uses the hardware timers. For example, MegaServo calculates the number of timer ticks per microsecond as follows;
#define TICKS_PER_uS     (clockCyclesPerMicrosecond() / smiley-cool  // number of timer ticks per microsecond with prescale of 8

On a 16MHz board there will be two ticks per microsecond, 8MHz has one tick per microsecond. The problem is a 20MHz board will also use two ticks because you can't have fractional ticks and the calculation rounds down. This means that if you run the current MegaServo code on a 20MHz board the pulses will be 20% shorter then they should.

This issue is fixable by adding in a fudge factor to the functions that convert to and from microseconds, but that has not been necessary so far and its not in the current code. BTW, the Arduino team is planning to use the MegaServo code in an upcoming release

The existing official arduino servo code does its calculation differently so that may be ok (but should be tested to make sure) but that code does not run on the Mega

Other code that uses hardware timers may also not run as expected, although things like a 20% error in PWM frequency may not matter in most applications.

There has been some discussion in the Arduino developers thread about optimizing the millis calculation using code that assumes the CPU frequency is evenly divisible by 8, but not sure if that will be released or not.

Anyway, don't assume that everything will work the same even if the code is parameterized with the clock frequency.
« Last Edit: July 17, 2009, 09:15:04 am by mem » Logged

0
Offline Offline
Faraday Member
**
Karma: 16
Posts: 2857
ruggedcircuits.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

That's good info...thanks.

The nice thing about this Arduino community is that it doesn't seem like progress is held back by the chains of compatibility. "If it's broke, fix it" is a much nicer way to travel.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 18
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Impressive board!

Erm...this may be a stupid question, but does the Gator access its 2nd UART the same way the MEGA accesses one of its?  In other words, is that 2nd UART supported when using the arduino software?
Logged

0
Offline Offline
Faraday Member
**
Karma: 16
Posts: 2857
ruggedcircuits.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes, it uses a Serial1 object in addition to the Serial object to access the second hardware serial port, just like the Mega uses Serial1, Serial2, etc.

That support is not in the 0016 release of the Gator Arduino tools but will be in 0017. It just requires a small patch to the HardwareSerial.cpp/.h files in the hardware/cores/arduino directory. If you're really impatient you can download the patched files from http://www.ruggedcircuits.com/Arduino/serialpatch.zip.
Logged

0
Offline Offline
Sr. Member
****
Karma: 0
Posts: 309
Progress is made by lazy people-H Ford/R Heinlein
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

What is the "idle current draw" on the Gator?
The 168/328 has about 20 ma. and I believe the Gator has just
a little more due to the 4 MIPS speed increase (20 MHZ) and 28 I/O.
 smiley smiley smiley
« Last Edit: July 21, 2009, 07:40:04 pm by ArduinoAndy » Logged

"Never trust an Internet bully who insults and makes fun of your level of intelligence."

0
Offline Offline
Faraday Member
**
Karma: 16
Posts: 2857
ruggedcircuits.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

It's about 30mA externally powered. I don't know what it is on USB power (kinda tough to measure).
Logged

New York
Offline Offline
Edison Member
*
Karma: 1
Posts: 1023
E != m*c^2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

is that with all pins not set? as in all digitals untouched in the program or with all of them set to low (or whatever the most efficient setup was, i can't find that topic ATM)?
Logged

0
Offline Offline
Faraday Member
**
Karma: 16
Posts: 2857
ruggedcircuits.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

It is with all pins configured as inputs with pullups. But I don't think the I/O pin configuration makes much difference to current consumption.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 1
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Is there a plan to ship overseas yet?  If so, when, please?  I will want one initially in Belize.
Logged

0
Offline Offline
Faraday Member
**
Karma: 16
Posts: 2857
ruggedcircuits.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

There is no plan yet to ship outside of the US and Canada, although that is definitely a longer-term goal.
Logged

0
Offline Offline
Sr. Member
****
Karma: 0
Posts: 309
Progress is made by lazy people-H Ford/R Heinlein
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Recommended Rugged Circuits Gator Pullups/Pulldowns?

On circuits A & B without current limit resistor R1 and the I/O pin set as "output" (by accident or on purpose)  A High for A and LOW for B and activating SW1 on you could lose your I/O pin and maybe the chip. Installing R1 current limits the I/O.

The Gator's I/O pins have a 510 ohm current resistor and 5.1 V zener for ESD, overvoltage protection and current protection built in their printed circuit board.

Since the Gator's protection is built in, in circuits C & D will my pullup and pulldown circuts be OK on the Gator? Note: The internal weak pullups are not used.  

 8-) 8-) 8-)
Re-edited 17:38 8/23/09

« Last Edit: July 23, 2009, 04:39:25 pm by ArduinoAndy » Logged

"Never trust an Internet bully who insults and makes fun of your level of intelligence."

Dallas, Texas
Offline Offline
God Member
*****
Karma: 0
Posts: 861
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So, the Gator's digital out drive is limited to around 5 mA when sourcing current to a TTL level load and somewhat less when sinking current?

Is there direct access to the i/o pins via some sort of convenient header as well? It's not clear to me from your website that the pads brought to the board topside are unprotected.
« Last Edit: July 23, 2009, 12:12:37 pm by EmilyJane » Logged

0
Offline Offline
Faraday Member
**
Karma: 16
Posts: 2857
ruggedcircuits.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@ArduinoAndy, yes your pull-up/pull-down arrangements are correct.

@EmilyJane, the current is indeed limited, as documented here.

There is no direct access to I/O pins. The pads brought out topside are on the "protected" side of the circuitry.
Logged

Dallas, Texas
Offline Offline
God Member
*****
Karma: 0
Posts: 861
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for that clarification.

Quote
@ArduinoAndy, yes your pull-up/pull-down arrangements are correct.

I'm dumb, I can't figure out how that zener pulls the input down. Can you explain it?
Logged

0
Offline Offline
Faraday Member
**
Karma: 16
Posts: 2857
ruggedcircuits.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

The zener does have a small amount of reverse leakage current, enough to bleed off any accumulated charge.
Logged

Pages: 1 [2] 3   Go Up
Jump to: