On Mon, Jul 31, 2017 at 1:52 PM, Fritz Mueller via cctalk <[email protected]> wrote: >> On Jul 31, 2017, at 8:19 AM, Jay Jaeger <[email protected]> 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
