On 7/31/2017 2:52 PM, Ethan Dicks via cctalk wrote:
On Mon, Jul 31, 2017 at 1:52 PM, Fritz Mueller via cctalk
<cctalk@classiccmp.org> wrote:
On Jul 31, 2017, at 8:19 AM, Jay Jaeger <cu...@charter.net> wrote:
I have Ethernet shield for my Arduino Uno, and I use that and a simple
(in my case, perl,  program to talk to the final destination device.  I
have two cables, one for each direction, from the DR11-C (not using DMA)
to the Arduino.
Jay, does your Arduino support TTL-level signaling, or did you have to use some 
level-shifting chips?
"Arduino" covers a lot of hardware, but in the case of the Uno and
Mega (and many other models), the GPIO pins are CMOS-level (5V Vcc,
but CMOS thresholds, not TTL).  Not a massive fanout, but a few mA per
pin - at least one TTL load.  You can't drive 8 LEDs from one port,
but you can sink 1-2 LEDs on the same port (the specifics are well
covered in the Atmel datasheets for each processor).

I'm more familiar with FPGA platforms than Arduino, but this might give me a 
good excuse to finally play around with Arduino a bit!
I know there are people here who are not fond of them for various
reasons (some non-technical), but I do a lot of quick-and-dirty things
with them.  They are frequently overkill, but with clones at $6 (and
licensed ones under $30), they do a lot.  Where you can run into
complications is trying to use all the Arduino library function calls
to, say, read and write I/O pins at megahertz speeds (the MCU is
routinely clocke at 16MHz or 20MHz, and mostly
one-instruction-per-cycle).  digitalWrite() and digitalRead() end up
executing hundreds, if not thousand of machine cycles.  You can, of
course, write in AVR assembler, but mostly, just banging on the
relevant DDR and Data registers in C works plenty fast enough, much,
much faster than the Arduino library calls.

TL;DR - the chips are fine.  The libraries are heavy.  Someone coming
from another architecture can get up to speed pretty quickly to read
and write bits and bytes from GPIO pins.

-ethan

Totally agree with the above comments. As an example, my RX02 drive emulator (runs on an Arduino Mega2560 with a custom interface shield) code is available here: https://github.com/AK6DN/rx02_emulator as an example. Uses the SDcard library, and does very high speed bit banging on GPIO ports thru optimized C routines to act as an RX02 drive connected to RX11/RX211/RXV11/RXV21/RX8E-28 interfaces in a PDP system.

Reply via email to