Mac68k Forums

Home


Welcome, Guest
Guest Settings
Help

Mac68k Forums » Development » Hardware Hacking

Thread: Choosing ICs: uC, FPGA, PHY, peripherals, etc


Reply to this Thread Reply to this Thread Search Forum Search Forum Back to Thread List Back to Thread List

Permlink Replies: 6 - Pages: 1 - Last Post: Jan 13, 2013 11:04 PM Last Post By: Bunsen
Bunsen

Posts: 39
Registered: 10/15/12
Choosing ICs: uC, FPGA, PHY, peripherals, etc
Posted: Jan 9, 2013 2:50 AM
Click to report abuse...   Click to reply to this thread Reply
So, in the SCSI-Network Hack thread, I started posting links and articles about various possibly suitable microcontrollers for this and other projects.

I'm going to shift this discussion to a new thread here, and post in research as I find it.
Bunsen

Posts: 39
Registered: 10/15/12
Re: Choosing ICs: uC, FPGA, PHY, peripherals, etc
Posted: Jan 9, 2013 3:01 AM   in response to: Bunsen in response to: Bunsen
Click to report abuse...   Click to reply to this thread Reply
Parallax Propeller

http://en.wikipedia.org/wiki/Parallax_Propeller

Each CPU has access to 512 32-bit long words (2 KB) of instructions and data. / Access to shared memory (32 KB RAM; 32 KB ROM) is round-robin / Each cog also has two dedicated hardware counters and two special "video registers" for use in generating PAL, NTSC, VGA, servo-control, or other timing signals.

at 80 MHz, the interpreted Spin language executes approximately 80,000 instruction-tokens per second on each core / machine-language instructions take 4 clock-cycles to execute, resulting in 20 MIPS per cog

techknight said:

Ouch, 4 cycles per instruction. Slow... 20MIPS can be achieved on AVR with only a 20mhz crystal.

But i guess the advantage is the multiple cores.

For something in a similar vein, but with more grunt:

http://en.wikipedia.org/wiki/XMOS

Found a great article which explains in plain terms what the deal is with the XMOS Xcores
(btw, XMOS was started by the designer of the Inmos Transputer)

http://www.eejournal.com/archives/articles/20120321-xmos/

an interesting device / less than $5 in quantity / 96-pin dual-row BGA package about the size of a nickel.

a microprocessor with a lot of I/O. It fulfills the role of PLD or FPGA on your printed-circuit board, but you talk to it in C

an internal multithreaded microprocessor to “fake” the functions of programmable logic. / And you define those functions entirely with C code. / It’s just straight C programming—for hardware.

about 700 MHz / toggle the state of any I/O pin on any clock edge. That’s plenty fast enough for Ethernet, USB, audio input/output, PWM / you get to define what those interfaces are and what pins they’re attached to. / redefining peripherals as easily as updating a boot ROM. / XMOS provides code libraries for all the usual interfaces.

In a sense, each and every I/O interface is backed up by its own dedicated I/O processor that can massage data, filter inputs, encrypt or decrypt packets, and more. The processor is just as happy to do processing as it is handling I/O tasks, so the XS1-S is both a processor chip and a logic chip in one.

About the only special-purpose logic on the chip is the 480 Mbit/sec USB PHY and a four-channel ADC (12 bits, 1M samples/sec).

eight threads, so you’ve got eight virtual processors / think of it as eight independent CPUs, each running at one-eighth of the chip’s overall clock frequency. There is no elaborate time slicing or preemptive multitasking; the XS1-S chip simply shifts to the next thread on each clock cycle. / It’s extremely simple, very predictable, and totally deterministic.



$15, ARM Cortex-M4F core, 1 MB Flash, 192 KB RAM, lots of GPIO, USB OTG for both initial programming/debug, and mounting devices.

http://www.st.com/internet/evalboard/product/252419.jsp

Whack a USB Ethernet* on the end, bit-bang SCSI through the GPIO. Will run *nix or FreeRTOS I believe.

  • or indeed USB flash or a card reader... heck, a USB hub and go nuts.



I note also this, from Arbee in the Serial disk driver thread.
https://mac68k.info/forums/thread.jspa?threadID=121&start=45&tstart=0

I maintain the Mac drivers for MESS. We strictly emulate the actual chips in the actual machines

we emulate the actual 5380 and 5394/96 SCSI chips and simulate a generic SCSI HDD at the other end of the SCSI bus

Which could be useful for simulating these ICs on an FPGA/CLPD



Course, another approach would be to build a pair of AVRs on an FPGA as softcores (which are available at OpenCores IIRC), and use the existing code. Then rebuilding the device for other purposes is just a reconfig and recode, not a physical rebuild.



Cypress Semi PSoC - Programmable System On Chip.

http://www.cypress.com/?id=1353&source=home_products

A microcontroller core with a bunch of configurable I/O peripheral/interfacing logic around it. Kind of a halfway point between traditional micros with fixed I/O and FPGAs.

Cypress Semi EZ-OTG

http://www.cypress.com/?id=188

2x USB host at one end, 24 pin programmable IO block at the other, 16 bit RISC, ROM & RAM in between

BGA only

See also http://www.cypress.com/?id=2412 and http://www.cypress.com/?id=187



http://en.wikipedia.org/wiki/Blackfin

The Blackfin uses a byte-addressable, flat memory map. Internal L1 memory, internal L2 memory, external memory and all memory-mapped control registers reside in this 32-bit address space

Blackfin processors support a variety of external memories including SDRAM, DDR-SDRAM, NOR FLASH, NAND FLASH and SRAM. Some Blackfin also include mass-storage interfaces such as ATAPI, and SD/SDIO. They can support hundreds of megabytes of memory in the external memory space.

a DMA engine that can operate between any of its peripherals and main (or external) memory. typically have a dedicated DMA channel for each peripheral, which enables very high throughput

selected connectivity peripherals.

  • USB 2.0 OTG (On-The-Go)
  • ATAPI
  • PPI (Parallel Peripheral Interface) : A parallel input/output port that / can run up to 75 MHz and can be configured from 8 to 16-bits wide. Half-duplex, 0 - 66 MHz, 8 to 24 pins wide. http://en.wikipedia.org/wiki/Parallel_Peripheral_Interface
  • SPORT : A synchronous, high speed serial port that can support TDM, I2S and a number of other configurable framing modes for connection to ADCs, DACs, other processors, FPGAs, etc.
  • CAN, UART, SPI, I˛C


Bunsen

Posts: 39
Registered: 10/15/12
Re: Choosing ICs: uC, FPGA, PHY, peripherals, etc
Posted: Jan 9, 2013 3:13 AM   in response to: Bunsen in response to: Bunsen
Click to report abuse...   Click to reply to this thread Reply
Problems:

Speed

For SCSI, you would want at least 5MB/s reliable data throughput, and preferably 20MB/s (10Mb/s x 16 bits) so it can also be used with the fast Nubus cards.

If you want to interface with PDS or the CPU socket, you would want up to 40MHz (fastest '030 and '040 sockets).

Pin count

SCSI, PDS and CPU socket all require a lot of pins. For a SCSI-IDE/CF adapter, you either need another bunch of pins, or USB host.

Cost of development tools

  • Hardware: dev kits, ISPs, etc
  • Software: free/cheap toolchains

Learning curve

Details to follow.

Message was edited by: Bunsen
Bunsen

Posts: 39
Registered: 10/15/12
Re: Choosing ICs: uC, FPGA, PHY, peripherals, etc
Posted: Jan 9, 2013 8:35 AM   in response to: Bunsen in response to: Bunsen
Click to report abuse...   Click to reply to this thread Reply
Development boards etc


$25 FPGA board. Very minimalist, pretty much just power regulation and pinout adaption. Altera Cyclone II EP2C5T144. Requires $9 programming cable from same seller.
http://cgi.ebay.com/itm/271021067627

Seller http://myworld.ebay.com/tenovo2010/

FreeSOC - a breakout & programmer board for the Cypress Semi PSoC 5

60 GPIOs all completely user configurable, 8 high current outs
Graphical configuration tool
ARM Cortex M3 core

http://hackaday.com/2012/10/07/freesoc-for-when-you-need-68-io-pins/
http://www.kickstarter.com/projects/18182218/freesoc-and-freesoc-mini

Bunsen

Posts: 39
Registered: 10/15/12
Re: Choosing ICs: uC, FPGA, PHY, peripherals, etc
Posted: Jan 9, 2013 7:52 PM   in response to: Bunsen in response to: Bunsen
Click to report abuse...   Click to reply to this thread Reply
Unsorted Links and things to follow up

http://hackaday.com/2012/11/15/in-depth-comparison-at-stm32-f3-and-f4-discovery-boards/

http://hackaday.com/2012/11/07/developing-with-ebay-sourced-arm-lcd-dev-boards/

Fez Cobra
Stellaris Launchpad
MSP430
mbed
LeafLabs Maple
Raspberry Pi
BeagleBone
Carambola
Bunsen

Posts: 39
Registered: 10/15/12
Re: Choosing ICs: uC, FPGA, PHY, peripherals, etc
Posted: Jan 9, 2013 8:09 PM   in response to: Bunsen in response to: Bunsen
Click to report abuse...   Click to reply to this thread Reply
Tools and Toolchains


Upverter: Collaborative schematic design, PCB design and fab.
http://upverter.com/

Circuits.io: In-browser schematic layout and board artwork
http://circuits.io
Bunsen

Posts: 39
Registered: 10/15/12
Re: Choosing ICs: uC, FPGA, PHY, peripherals, etc
Posted: Jan 13, 2013 10:35 PM   in response to: Bunsen in response to: Bunsen
Click to report abuse...   Click to reply to this thread Reply
BTW, in case it was unclear, I welcome anyone's thoughts and suggestions here.

At this stage I'm leaning towards the Cypress PSoC series, especially now that cheap dev board (FreeSoC) is avaliable.

Blackfins, from my research, seem not to have a particularly hobbyist friendly entry point, and aren't all that cheap per-IC either.

Point your RSS reader here for a feed of the latest messages in all forums