Go Down

Topic: Arduino Board with Parallax Multi-Processor Chip (Read 10072 times) previous topic - next topic

randomvibe

Apr 21, 2014, 06:45 am Last Edit: Apr 21, 2014, 06:56 am by randomvibe Reason: 1
Arduino is more than a business, it's a worldwide movement dedicated to education, electronics, programming, making... for everyone.  In doing so, Arduino has proven that it's not married to a single chip manufacturer.  Mainly ATMEL but now Atheros and TI.  Why not design a board for Parallax semiconductors, specifically the upcoming Propeller 2, a multi-processor chip (16 cores) with onboard 13-bit ADC, up to 64!  The specs are impressive and subject to change - chip due later this year hopefully.

Propeller-2 Specs:
* 32-bit Multi-Processor (16 Core) Module
* HD 1080p Video
* Programmable in GCC
* 200 Mhz Clock Speed
* 512 KB RAM
* TBD KB RAM for Program Storage
* 64 I/O Pins
* Up to 64 ADC (13-bit Resolution)
* USART, PWM, I2C, SPI done in Software enabling numerous peripherals beyond traditional hardware approach.

This is an excellent opportunity to educate Maker's in multi-processor devices and the manufacturing process behind microcontrollers!  Arguably, Parallax started this Maker movement.  Arguably without Parallax, there would not have been Arduino.  And without Arduino, Parallax would not have implement C programming.  I think an Arduino board with a Propeller-2 chip would make an excellent product.  Frankly, I'd prefer this over the Arduino Tre.

Propeller-2 Thread:
http://forums.parallax.com/showthread.php/155132-The-New-16-Cog-512KB-64-analog-I-O-Propeller-Chip

Grumpy_Mike

The main thing that makes the Arduino a possibility is the compiler.
Put it simply there is not a free open source compiler for a Propeller chip. Especially one which can compile C code. While C code is not ideally suited for a Propeller it could be made to work.
Only if Parallax or someone else puts in the effort to do this can you begin to think of such a product.
With the Arduino Tre Ti are willing to put a lot of effort into the software. They are big enough to do this where as I suspect that Parallax are not. Same goes for the Intel Galileo.

Remember, important as the hobby market is to you, it is an insignificant flea bite to semiconductor manufacturers.

randomvibe


Apparently, due to market demand, Parallax has put together a C compiler for the Propeller based on GCC:

http://learn.parallax.com/propeller-c

Full disclosure... I am not a Parallax employee and do not care for their proprietary languages.  I am a maker using Arduino Due boards exclusively.   That said, the Propeller 2 with the C compiler will outshine the Due.  The Prop-2 specs cannot be ignored:

* 32-bit Multi-Processor (16 Core) Module
* HD 1080p Video
* Programmable in GCC
* 200 Mhz Clock Speed
* 512 KB RAM
* TBD KB RAM for Program Storage
* 64 I/O Pins
* Up to 64 ADC (13-bit Resolution)
* USART, PWM, I2C, SPI done in Software enabling numerous peripherals beyond traditional hardware approach


Grumpy_Mike

Quote
he Prop-2 specs cannot be ignored:

Yes it can, just watch me.

randomvibe

Yes it can, just watch me.


Just for the sake of argument, if this multi-processor chip was made by ATMEL, would an Arduino board for it be worthwhile?

westfw

I dunno.  I realized a long time ago that it is NOT useful to try to port "Arduino" to every "worthy" processor that exists.  Nor is it particularly useful to design Arduino-compatible boards with each conceivable hardware improvement.  For one things, these dilute the focus of the arduino user community.  (for instance, I sorta want a 32MHz Xmega-based arduino with a programmable FTDI VNC2 doing the USB connectivity. (USB device AND host!)  But I'm not sure how it'd be better than a Due or ChipKIT.)

I don't see how a 16-core parallel processor can be "arduino compatible" at the sw layer in any meaningful way :-(
Arduino is supposed to be SIMPLE; I regard products like Galileo to be somewhat fundamentally "misguided."  (But, what do I know!  I could have sworn that RPi would not have been as successful as it has been.)

Quote
The Prop-2 specs cannot be ignored

They can certainly be ignored until after the chip actually exists.
I'm not sure how a chip with "only" 512k memory (only 32k on each COG) is supposed to do a meaningful job of 1080p video (~2Mpixel); All sprites all the time?  (And I'm not sure how you integrate video into the arduino environment at all.)

All that said, Parallax would be foolish not to create a board with the infamous "Arduino pinout."

Grumpy_Mike

#6
Apr 21, 2014, 03:37 pm Last Edit: Apr 21, 2014, 10:55 pm by Grumpy_Mike Reason: 1

Yes it can, just watch me.


Just for the sake of argument, if this multi-processor chip was made by ATMEL, would an Arduino board for it be worthwhile?

No not at all. The fact that there was an ATMEL chip in the arduino put me off investigating the board for about two years. I a previous job I had had a lot of trouble with ATMEL flash and I was not impressed with they way they tested it in the factory or the real rewrite specification as opposed to what was put on paper. This was for a company that was looking to purchase a million parts so due diligence was required, they failed badly. So I never have been a great fan of ATMEL.

I did look at the propeller and bought a few processors and development boards because the sounded very attractive. However I found the software environment and language quite poor and what rankerd was that every time you wanted a peripheral bang goes a core. So a simple UART consumed a core, an SPI or I2C consumed another core and by the time you had finished most of the multi-core advantage had evaporated.

One of the strengths of the Arduno is the library system and the third party libraries. These do not port well, as we have seen with other processor variants of the Arduino, when they address the underlying hardware of the processor directly.

Quote
I could have sworn that RPi would not have been as successful as it has been

Yes that has been quite a surprise but it was offering something that the Arduino did not, and not many people understand the concept of "real time". It appealed to the Linux crew who would rather install stuff than actually code anything. Also the price range and the fact  that it could look like a "real" computer boosted it's popularity.
Mind you the number of people who have told be that they have one but have never used it because they can't work out what to do with it are legend. Still it helps sell my books.  :)  

randomvibe

#7
Apr 21, 2014, 08:52 pm Last Edit: Apr 21, 2014, 08:53 pm by randomvibe Reason: 1
I realized a long time ago that it is NOT useful to try to port "Arduino" to every "worthy" processor that exists


Agreed, it does not make sense to go after every "worthy" chip.  On the other hand, the Propeller-2 is unique in that it will have 16 processors, each core a 32-bit device.  For me, I would use separate cores for computationally expensive calculations (FFTs, filters, etc.)  related to feedback control systems and one main core for the overall controller.  Then I'd use other cores to handle serial communication with other devices (e.g., EMIC  speed module), while not interfering/slowing the main controller.  I think a multi-processor chip would make an excellent addition to the suite of Arduino products.

What also interests me is that each of the 64 I/O pins can be configured as 13-bit ADCs or DACs.  I built a 6-dof IMU using the Arduino Due and 6 of the 12 ADC pins are already taken (not leaving much for IR distance sensors, photoresistors, etc.).

I'd be very interested in Arduino's opinion on this multi-processor chip.


ODwyerPW

"Mind you the number of people who have told be that they have one but have never used it because they can't work out what to do with it are legend." Count me as one of those guys.  Even have a few 'Cobblers' for it. I do however, like demonstrating my $29 tiny computer surfing the web. But I've never done any physical computing with it.

I still like DUE. I hope Arduino continues to develop it. They left some spare I/O and the Ethernet on the table. Hopefully, they break that out in a future versiĆ³n one day. Wish Atmel had given us a Little bit of epromm memory with it as well.

YUN, Galileo and TRE look complex and expensive.
Quiero una vida simple en Mexico...nada mas.


randomvibe

#10
Apr 22, 2014, 12:53 am Last Edit: Apr 22, 2014, 12:55 am by randomvibe Reason: 1
I stopped using my R-Pi too.  It was free from Adafruit (after a large purchase).  I was turned off by the linux distributions (which one is right?) and all the cumbersome overhead code just to do the simplest operations with the I/O pins.  The lack of onboard ADCs did it in for me.  I use Arduino Due's exclusively.  That said, I wouldn't mind using the R-Pi to run the Arduino IDE (Due version) and load programs in the field.  Does @Grump_Mike's book have a chapter on this?

Grumpy_Mike

Quote
That said, I wouldn't mind using the R-Pi to run the Arduino IDE (Due version) and load programs in the field.  Does @Grump_Mike's book have a chapter on this?

My other book:-
http://eu.wiley.com/WileyCDA/WileyTitle/productCd-1118555430.html
Has a project, the harmonograph, that uses the Arduino and Pi together. The Arduino gathers the data from four swinging pendulums and passes the data onto the Pi which draws the pretty pictures, they are different every time.
However programing the Arduino from the Pi takes a lot longer than a laptop. It can take up to five minuets to compile and load code.

randomvibe


Apparently Parallax is a bit behind on their Propeller-2 chip featuring a 16 core processor, but are still determined to make it happen.  I would be very interested in an Arduino board featuring a Propeller-2 chip as long as it was programmable in C with the Arduino IDE.  Would you be interested? 

Specs:
* 32-bit Multi-Processor (16 Core) Module
* HD 1080p Video
* Programmable in GCC
* 200 Mhz Clock Speed
* 512 KB RAM
* TBD KB RAM for Program Storage
* 64 I/O Pins
* Up to 64 ADC (13-bit Resolution)
* USART, PWM, I2C, SPI done in Software enabling numerous peripherals beyond traditional hardware approach

bobcousins

I find it interesting, from the novelty side at least. I am still worried about the lack of real peripherals, what happens when I want 16 peripherals? I haven't counted, but for a sizeable project that must be a limit. Having said that, I would quite like a dedicated "stepper driver peripheral".

Parallax do an Arduino format board for their current Propeller chip, I guess they would do one for their Propeller 2 chip. So maybe the hardware side is already covered, although I think the hardware is the easy bit.

The hard bit I think would be fitting the Propeller architecture into Arduino IDE. I guess that the IDE can launch a compiler and download to unusual devices fairly easily, but a lot of what people mean by Arduino ease of use is in the libraries - serial, io, analog, wire, spi etc. I guess those all require a complete rewrite for Propeller, which could be a big job.

I see that Parallax also have an IDE, I guess it can download as well. That kinda raises the question, why not use the Propeller IDE for programming it?
Please don't PM me asking for help. Ask questions in the forum.

randomvibe

#14
Aug 05, 2014, 10:22 am Last Edit: Aug 05, 2014, 10:24 am by randomvibe Reason: 1

I find it interesting, from the novelty side at least. I am still worried about the lack of real peripherals, what happens when I want 16 peripherals? I haven't counted, but for a sizeable project that must be a limit. Having said that, I would quite like a dedicated "stepper driver peripheral".


That was also a concern of mine.  Peripherals are already implemented in software for propeller-1.  One core can handle several USARTs.  The upcoming 32-bit propeller-2 will have 16 cores, which means you can have more peripherals than any Arduino board!

I see that Parallax also have an IDE, I guess it can download as well. That kinda raises the question, why not use the Propeller IDE for programming it?


Parallax invented "Spin" for the propeller-1, but that does not interest me.  However, for the propeller-2, Parallax is developing C!  Why re-invent an IDE when the Arduino IDE handles C.  Bottom line:  an Arduino board featuring the propeller-2 sounds very interesting.

Go Up