Leon has followed the recent trend of using the Prop for what it does best, i.e. Video, comms, easy interfacing with the OBEX plethora of drivers.
The XMOS provides high-bandwith control with 8 treads and 4 cores for expansion and code examples. Relatively cheap, the approach works for ARM and Propeller as well.
See the Chameleon project for the basic idea - a work in-progress.
The design approach is to use each processor for it's strengths, while maintaining a hope of understanding the whole architecture as a single mental picture.
The jury is still out for cost-effectiveness but it is worth at least a try. Even dead-end projects provide a unique learning experience.
Don't allow suspicion of Leon's ulterior motives lead you astray.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Post Edited (James Michael Huselton) : 11/19/2009 3:21:01 AM GMT
i agree and disagree. I don't think this is a ploy in any way to advertise xmos but i do agree a purpose is needed. May I sugest some that may or may not work:
This is the thinking I was doing. Well said.
The XMOS and Prop do not have roles delegated to Primary/Secondary processors.
I prefer to consider them as co-processors (the term is loosely applied) such as the ENCJ Ethernet or VDrive2 subsystems.
Computer design is becoming more and more a blurring of distinctions, i.e. "who is on first".
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Post Edited (James Michael Huselton) : 11/19/2009 3:41:35 AM GMT
Leon has clearly demonstrated he uses this forum to promote the XMOS at every opportunity. One may even ask what is in it for him?
I would have to say that the majority of Leon's posts end up promoting the XMOS chip in some wayor another.
This thread offers a prop circuit but it is nothing more than a sham. There is no other connections to the prop other than to the propplug and the XMOS chip.
I vote for this thread to be Sandboxed and Leon to be ignored. Sorry Leon, but I have had enough!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ Links to other interesting threads:
This is still a parallax propeller forum. Adjunct processors have a home here, just like any subsystem that expands the Prop intrinsic capabilities.
Port expanders, LCD interfaces, HYDRA Xtreme 512K SRAM Card, ViewPort, Dedicated Floating Point Processors, etc.
On-Board processing is present in several examples. Where do you draw the line?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Post Edited (James Michael Huselton) : 11/19/2009 4:39:06 AM GMT
I vote for this thread to be Sandboxed and Leon to be ignored. Sorry Leon, but I have had enough!
He's a witch! Burn him!
But seriously, I hope this works out as I've started looking around for add-on devices recently that will allow me to get the horsepower I can't get from a Propeller, but still allow me to use the Propeller as the main controller (because I *enjoy* programming for it). At the moment I'm doing it with a dsPIC, but The XMOS looks like a really sexy way to get what I want. Even better if someone else is doing the legwork! [noparse]:)[/noparse]
Like it or not, the XMOS looks like the most logical progression from the Propeller when you run out of squirt. It's only natural that when you've squeezed every last drop of performance out of the chip you are using, you'll look elsewhere. I think the marriage between the two, particularly if Leon can get the link speed up to scratch is absolutely ideal.
I might be a bit odd in the head, but I really enjoy the Propeller programming environment and I find Spin a very natural language for me to use. So for rapid prototypes and a quick and easy front end, it wins hands down for me. On the other hand, I need something out the back that has more oomph..
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you always do what you always did, you always get what you always got.
That is my point. Use the most appropriate processor for the job at hand. I love Spin for rapid prototyping, but it is no excuse to put on blinders when dealing with other possibilities.
And it's fun to explore new ideas - ideas that can find their way back to Spin.
I said in my original post that this was a fine line. Of course anything that can be construed as a legitimate Propeller 'add-on' can be discussed here - provided you are seeking to promote a discussion that is related somehow to the Propeller component. If you are instead only intending to promote discussion of the 'add on' component - without even mentioning why you are adding it - then I don't think this is an appropriate forum to do it.
Just saying "here is a fantastic new thingamajig that could be added to a Propeller - see, I've drawn a circuit that shows how to do it - now let me tell you all about the wonderful features of this fantastic new thingamajig " is no less SPAM simply because it mentions the Propeller a couple of times. I get SPAM like this landing in my inbox all the time - most of it auto-generated by bots that trawl the internet trying to figure out what keywords might encourage me to waste my valuable time reading it.
I'd hate to see this forum degenerate into just a general discussion of whiz-bang thinjamajigs. There's plenty of other places to do that.
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina
The XMOS chip has loads of potential but the lack of a DIP40 equivalent makes it not so appealing. I was quite hooked up to it at the beginning of the year but at that time there were only BGA versions. Now the QFPs while fine pitch, allow for DIP40 equivalents at reasonable costs. I want to experiment with FGPA and the prop is well better suited for what I want, not that I did not have a XMOS+FPGA project in the shelf .
The compiler produces really tight code but the assembler is nicer. But again it is now that more devices are available and more possibilities are open, but its higher throughput puts it in another class.
What a hoo-hah about a simple little PCB with a Propeller on it! Perhaps someone from Parallax could comment on whether this project is appropriate for discussion here. If they object I'll create a Yahoo group which interested parties could join.
I'm not sure why Ross considers the Chameleon: "a product with both a definite purpose and also a well-specified design objective that is satisfied by using a Propeller as a co-processor", as being any different from what I'm proposing. Perhaps he will enlighten us. What if I'd used an ARM, or an FPGA with 50 soft-processors in it also doing parallel processing? I'll be adding similar capabilities to the Chameleon to my design by incorporating the usual Propeller peripherals, if it looks as though the concept will work. I was rather surprised to see that the Chameleon only has an SPI connection between the processors, I'd have used a PIC24 PMP (similar to my interface) which is intended for inter-processor communications.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
At least people only laugh at me, for trying to join a prop to another proc. The Z80 with its threatening 1MIP ( at least it comes with pins I can focus onto )
How are the board coming on ? You mentioned the sink, do you do photographic or ironing ?
The Inmos factory was in Newport and I see that XMOS is a Brunel Uni spin off, same people ?
(Rest assured, all, my ironing skills leave me firmly in the hands of the (non-excistant) Prop 40s)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Style and grace : Nil point
Some of the posters in this thread are too funny! Whenever there is the slightest criticism of Parallax or the Propeller, they get upset.
Relax!
The Prop has strong and weak points. And if it is forbidden to talk about its weak points and show alternatives, well ... how will there be progress in the world?
Clear double plus (pun intended) for the Prop is his strong output. The XMOS does only 4mA.
This list can be continued ...
And the Prop won't dy, only because people learned about a different product that is -to some extend- similar to the Prop (at least comparing it with other µCs).
So the marriage between a XMOS and a Prop is a legal as with a Prop and a PIC. Or even worse Prop and PC (Hanno's 12 blocks and other products/projects). One could even say that the ZICOG is evil, because it simulates a different processor. Z80, evil! 6502, evil!
Relax and use your Prop where its good at.
Nick
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Never use force, just go for a bigger hammer!
The DIY Digital-Readout for mills, lathes etc.: YADRO
I mentioned that I'd made the PCB last night, perhaps it was lost in the noise! I use photo-etch. I'll photograph it in a minute and upload the pic, before I start drilling it and spoil it's good looks.
Toby:
David May, FRS, who designed the Inmos transputer and the XMOS chip, has always been associated with Bristol. He's a prof. at Bristol University. BTW, "FRS" means that he's a Fellow of the Royal Society, the UK's highest scientific honour.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Hey guys, what's with all the negative reaction and witch burning?
No one complains if you want to discuss adding a special chip to the Prop to handle USB slave, USB host, ethernet, wireless etc etc. Well guess what most of those have a Parallax competitors CPU core or two included.
So consider: The XMOS can be had for down to $7. It has the speed memory and pins to be employed as an USB host/slave adapter, an ethernet gateway, SPDIF or other high speed serial IO. etc etc Perhaps more than one of these at the same time.
XMOS might make an excellent replacement for a whole bunch of peripheral chips. And into the bargain might provide a lot of general purpose I/O pins and be used as a glue logic to a high speed external RAM for the Prop.
If what I'm hinting at above was "done" and wrapped up in a black box to use with the Prop no one would think it is heresy. They would just discus how to use it with the Prop here, much like the Vinculum for example.
Well it's not "done". What with being so new. So perhaps we can discuss here if what I'm outlining (and mctriva above) is feasible or worth doing. How would the interfaces look etc etc.
I see this whole idea as replacing the FTDI and like chips. Not to be hacked by the Prop end user.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
I see that Cluso99, one of my more vociferous critics, has suggested interfacing his RamBlade to other processors. Will he allow purchasers to connect it to an XMOS device?
Good for you! The critics will come around, it's just a temporary failure of imagination.
I respect those critics, as the have made many valuable contributions to this forum.
Apologies if you think I'm being too critical. Possibly I'm not explaining myself well enough. I expect I am like most people here - i.e. I read these forums to find out what others are doing to exploit the Prop's unusual abilities, and also to learn Propeller tricks from others that I'm not clever enough to think of myself. It's not that I'm not interested in XMOS - it's just that there other places I can go to learn about that particular chip, whereas this is the only place I can come to learn about the Prop. I'm happy to read about any unique applications involving the Prop - either alone or integrated with other chips - but I expect there to be something Prop-specific about the design. If there isn't (or doesn't seem to be) then you probably should expect to get a poor response.
You'll notice, by the way, that Andre LaMothe does not innundate these forums with Chameleon posts. He announces things here, sure. And I'm sure he monitors these forums and would answer questions about the Chameleon if they came up. But he has his own forums for hosting discussions about the Chameleon.
For me, the major defining characteristic of the various "combination" boards (including the Chameleon) is that they don't just put a couple of interesting chips together for no discernible reason. Rather, they are synergistic designs - i.e. the whole is more capable than the sum of the individual components. This is the result of assessing the capabilities of each component, taking advantage of the each one's individual strengths, while simultaneously rectifying any of their individual weaknesses. I looked at your design and couldn't see any particular purpose to it, or find any explanation as to what it might be intended to achieve that cannot be done by either chip in isolation - but then I am not a hardware engineer, so perhaps I am missing something important. Is there some specific deficiency in the XMOS chip that makes bolting on a Propeller an attractive idea? Otherwise, it seems a bit like strapping a shuttle booster to a VW.
By the way, I don't have a problem with combining another processor with a Propeller - but I would hope there was some reason for doing so. For example, I bolted an FPU onto a Prop in an attempt to overcome the lack of floating point capabilities. But I did this mainly to try and save the cogs that emulating FP in software takes - if it was simply CPU power I was after, I wouldn't be using a Propeller in the first place.
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina
"Is there some specific deficiency in the XMOS chip that makes bolting on a Propeller an attractive idea? "
Indeed there is:
1. No superbly simple programming language like Spin as an educational intro to micro controllers or a super quick spur of the moment "lets try something out" tool.
2. No brilliantly simple, regular, elegant assembly language for the same purposes as above.
3. It does not have the worlds simplest micro-controller development environment. Which exist for the Prop partly due to the synergy (there's that word again) of the the hardware architecture, the instruction set, the Spin language. Everything from the silicon up.
4. Currently at leas it does not have an equivalent of an OBEX. I suspect it never will. Dropping C code into a project and have it work in short order like Spin objects seems unlikely. The computing world has been working on it for decades.
So look at it the other way around. Lets take this super nice simple Prop AND its dev environment and have the XMOS, or other uC, as a bolt on black box that users don't need to know or care anything about internally but provides what they need USB, ethernet, external RAM helper, I/O expansion etc etc.
If that "black box" existed already we would be here discussing how to interface to it in hardware terms, the schematics. We would talk about PCB layouts for it and the Prop. We would talk about how to drive it in Spin or PASM and be busy creating OBEX objects for it. Just like we do for many other devices.
As yet what I describe does not exist, perhaps never will unless someone dedicated steps up to the plate. So I welcome the fact that someone is taking the first tentative steps.
Those first steps start with mundane things like: How are we to interface these two devices? Electrically and software wise.
Which is a valid point of discussion on this forum I believe.
Of course deep discussions about how to get function X working inside the black box are a subject for another forum.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
Lots of suggestions have been made for applications for my proposed system, see the posts. There isn't much point in me repeating them here. FPGA replacement is one application for the XMOS chips - a particular peripheral function could be programmed into it, and the resultant system would be indistinguishable from Ale's Propeller-FPGA combination in terms of functionality, and development would be much quicker and easier. Perhaps I, or someone else, could provide XMOS chips pre-programmed with all sorts of nice stuff for the Propeller, and just sell the chips. XMOS has at least one customer already doing that, they sell pre-programmed chips to their customers with their own markings on them! People are doing something like that for low-end applications with PICs, I'm surprised that no one is doing it with the Propeller. Perhaps it's because of the lack of security.
It's not deficiencies in the XMOS device that this project addresses, but deficiencies in the Propeller in some applications, like lack of memory, I/O and speed. I've described it as a co-processor for the Propeller, rather than a co-processor for the XMOS chip!
I fail to see how the Chameleon is any different from me putting a PIC24 or dsPIC on a Proto Board and connecting it to the Propeller with a couple of wires.
Even when the Propeller II materialises, I can see a market for this type of add-on for it. They will have about the same level of performance, maximising data transfer rates between them.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
I do not see the XMOS' assembly as a barrier. On the contrary it is quite simple and easy to learn (easier than ARM in any case). And it has some special instructions, like the prop, to control its hardware, to administer threads that are defined at the hardware level and they are not utterly complicated. In the case of the prop I would gladly trade every-position-in-COG- memory-is-a-register for more COG memory.
This is how new ideas incubate. I, for one, "got it" immediately. I had exposure to Andre's example.
And personal experience over decades of successful professional robotics projects to show the way.
It WAS done before and it WILL be done again.
These are exciting times to be alive. And, "It is just a hobby".
I'm delighted that you're investigating the Propeller-XMOS implementation.
Coming from a Basic Stamp background, I migrated to the Propeller because its rich featureset enables the easy development of better man-machine interfaces for industrial products.
But there are some applications that I would like to implement that need far more grunt; ethernet switching, USB datastreaming, realtime audiovisual translation, massive i/o switching: the natural workspace of the XMOS family.
If you open up a Propeller-XMOS route I shall gladly follow it, because it will allow me to develop new products which my customers have been asking for but which are currently prohibitively difficult .
I had been invesigating the Propeller-ARM route and bought the new MBED module: which I shall now abandon.
To Leon's detractors: my company uses Leon's consultancy to develop industrial Propeller products. It is no disloyalty to Parallax to use the excellent Propeller as a gateway processor on a complex system; and we can hardly wait for Propeller-II!
Leon "pre-programmed chips" Exactly. I guess no one has done it with the Prop as it's does not have it's own FLASH. One can only sell a preprogrammed EEPROMs for it. Not such a ready made solution.
Ale "I do not see the XMOS' assembly as a barrier". Neither do I, but then we've both been knocking around such things for a long time. But consider it from the point of view of a newcomer. Your example already contains 6 lines of unintelligible junk that is nothing to do with the task at hand an is in fact only an artifact of using GCC and such.
I must emphasise that I'm not just talking about the assembler mnemonics, the instruction set, the addressing modes etc. I'm talking about how easy it is with the Prop and it's Spin/PASM and its IDE to get something simple started. How easy it is to combine objects from here and there. The whole experience. No messing with header files and other no essential junk. Of course these thing may be essential for large scale programs but that's not where we are at with the Prop.
TonyWaite: Yep, what you said.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
I'm sorry, I guess I just don't get it. I'm not a hardware engineer, so I probably don't fully appreciate the intricacies involved.
When your board is finished and has some software written for it, it will probably become evident what the benefit is in having an onboard Propeller. It is perfectly evident (at least to me) what the benefit of the Propeller is in the Chameleon - it handles the multimedia processing and I/O. This is the kind of thing the Propeller excels at. I think of the Chameleon as a kind of "Hydra" for AVR-heads, who (up until now) have missed out on all the nifty things the Propeller can do. It may well entice some of the said AVR-heads out of their world and into the world of the Propeller - which has got to be a good thing. If your board is intended to be something like an XMOS Chameleon, adding the I/O, video and signal processing capabilities of the Prop to the XMOS, then I can see some point in that. Hopefully it will entice some XMOS-heads into the world of the Propeller.
In any case, as long as it results in sales of more Propellers then I guess everyone will be happy.
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina
I keep saying that there isn't really any difference between the XProp and the Chameleon - the Propeller will have all the usual stuff, like VGA/video and a keyboard interface, that are on the Proto Board, plus anything else I think that people will like. I could even make it exactly like the Chameleon in terms of peripherals, if there are enough I/Os left for the XMOS interface.
The PCB has just been drilled. Soldering the Propeller chip is next.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Comments
The XMOS provides high-bandwith control with 8 treads and 4 cores for expansion and code examples. Relatively cheap, the approach works for ARM and Propeller as well.
See the Chameleon project for the basic idea - a work in-progress.
The design approach is to use each processor for it's strengths, while maintaining a hope of understanding the whole architecture as a single mental picture.
The jury is still out for cost-effectiveness but it is worth at least a try. Even dead-end projects provide a unique learning experience.
Don't allow suspicion of Leon's ulterior motives lead you astray.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Post Edited (James Michael Huselton) : 11/19/2009 3:21:01 AM GMT
XMOS as:
*High speed computer to SD Card Interface
*Math coprocessor
*Graphics coprocessor
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
24 bit LCD Breakout Board coming soon. $21.99 has backlight driver and touch sensitive decoder.
This is the thinking I was doing. Well said.
The XMOS and Prop do not have roles delegated to Primary/Secondary processors.
I prefer to consider them as co-processors (the term is loosely applied) such as the ENCJ Ethernet or VDrive2 subsystems.
Computer design is becoming more and more a blurring of distinctions, i.e. "who is on first".
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Post Edited (James Michael Huselton) : 11/19/2009 3:41:35 AM GMT
I would have to say that the majority of Leon's posts end up promoting the XMOS chip in some wayor another.
This thread offers a prop circuit but it is nothing more than a sham. There is no other connections to the prop other than to the propplug and the XMOS chip.
I vote for this thread to be Sandboxed and Leon to be ignored. Sorry Leon, but I have had enough!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)
· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
I am sorry that you feel strongly about this. But strong opinions is what this forum is about, among other things.
I respect your analysis...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Wiki: Share the coolness!
Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
Safety Tip: Life is as good as YOU think it is!
That is one of the experiments that I plan to evaluate. Why not?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
This is still a parallax propeller forum. Adjunct processors have a home here, just like any subsystem that expands the Prop intrinsic capabilities.
Port expanders, LCD interfaces, HYDRA Xtreme 512K SRAM Card, ViewPort, Dedicated Floating Point Processors, etc.
On-Board processing is present in several examples. Where do you draw the line?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Post Edited (James Michael Huselton) : 11/19/2009 4:39:06 AM GMT
He's a witch! Burn him!
But seriously, I hope this works out as I've started looking around for add-on devices recently that will allow me to get the horsepower I can't get from a Propeller, but still allow me to use the Propeller as the main controller (because I *enjoy* programming for it). At the moment I'm doing it with a dsPIC, but The XMOS looks like a really sexy way to get what I want. Even better if someone else is doing the legwork! [noparse]:)[/noparse]
Like it or not, the XMOS looks like the most logical progression from the Propeller when you run out of squirt. It's only natural that when you've squeezed every last drop of performance out of the chip you are using, you'll look elsewhere. I think the marriage between the two, particularly if Leon can get the link speed up to scratch is absolutely ideal.
I might be a bit odd in the head, but I really enjoy the Propeller programming environment and I find Spin a very natural language for me to use. So for rapid prototypes and a quick and easy front end, it wins hands down for me. On the other hand, I need something out the back that has more oomph..
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you always do what you always did, you always get what you always got.
That is my point. Use the most appropriate processor for the job at hand. I love Spin for rapid prototyping, but it is no excuse to put on blinders when dealing with other possibilities.
And it's fun to explore new ideas - ideas that can find their way back to Spin.
I guess we've hit some sort of nerve here
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
I said in my original post that this was a fine line. Of course anything that can be construed as a legitimate Propeller 'add-on' can be discussed here - provided you are seeking to promote a discussion that is related somehow to the Propeller component. If you are instead only intending to promote discussion of the 'add on' component - without even mentioning why you are adding it - then I don't think this is an appropriate forum to do it.
Just saying "here is a fantastic new thingamajig that could be added to a Propeller - see, I've drawn a circuit that shows how to do it - now let me tell you all about the wonderful features of this fantastic new thingamajig " is no less SPAM simply because it mentions the Propeller a couple of times. I get SPAM like this landing in my inbox all the time - most of it auto-generated by bots that trawl the internet trying to figure out what keywords might encourage me to waste my valuable time reading it.
I'd hate to see this forum degenerate into just a general discussion of whiz-bang thinjamajigs. There's plenty of other places to do that.
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina
The compiler produces really tight code but the assembler is nicer. But again it is now that more devices are available and more possibilities are open, but its higher throughput puts it in another class.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Visit some of my articles at Propeller Wiki:
MATH on the propeller propeller.wikispaces.com/MATH
pPropQL: propeller.wikispaces.com/pPropQL
pPropQL020: propeller.wikispaces.com/pPropQL020
OMU for the pPropQL/020 propeller.wikispaces.com/OMU
I'm not sure why Ross considers the Chameleon: "a product with both a definite purpose and also a well-specified design objective that is satisfied by using a Propeller as a co-processor", as being any different from what I'm proposing. Perhaps he will enlighten us. What if I'd used an ARM, or an FPGA with 50 soft-processors in it also doing parallel processing? I'll be adding similar capabilities to the Chameleon to my design by incorporating the usual Propeller peripherals, if it looks as though the concept will work. I was rather surprised to see that the Chameleon only has an SPI connection between the processors, I'd have used a PIC24 PMP (similar to my interface) which is intended for inter-processor communications.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Post Edited (Leon) : 11/19/2009 8:30:44 AM GMT
At least people only laugh at me, for trying to join a prop to another proc. The Z80 with its threatening 1MIP ( at least it comes with pins I can focus onto )
How are the board coming on ? You mentioned the sink, do you do photographic or ironing ?
The Inmos factory was in Newport and I see that XMOS is a Brunel Uni spin off, same people ?
(Rest assured, all, my ironing skills leave me firmly in the hands of the (non-excistant) Prop 40s)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Style and grace : Nil point
Relax!
The Prop has strong and weak points. And if it is forbidden to talk about its weak points and show alternatives, well ... how will there be progress in the world?
Clear double plus (pun intended) for the Prop is his strong output. The XMOS does only 4mA.
This list can be continued ...
And the Prop won't dy, only because people learned about a different product that is -to some extend- similar to the Prop (at least comparing it with other µCs).
So the marriage between a XMOS and a Prop is a legal as with a Prop and a PIC. Or even worse Prop and PC (Hanno's 12 blocks and other products/projects). One could even say that the ZICOG is evil, because it simulates a different processor. Z80, evil! 6502, evil!
Relax and use your Prop where its good at.
Nick
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Never use force, just go for a bigger hammer!
The DIY Digital-Readout for mills, lathes etc.:
YADRO
Toby:
David May, FRS, who designed the Inmos transputer and the XMOS chip, has always been associated with Bristol. He's a prof. at Bristol University. BTW, "FRS" means that he's a Fellow of the Royal Society, the UK's highest scientific honour.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Post Edited (Leon) : 11/19/2009 9:06:20 AM GMT
No one complains if you want to discuss adding a special chip to the Prop to handle USB slave, USB host, ethernet, wireless etc etc. Well guess what most of those have a Parallax competitors CPU core or two included.
So consider: The XMOS can be had for down to $7. It has the speed memory and pins to be employed as an USB host/slave adapter, an ethernet gateway, SPDIF or other high speed serial IO. etc etc Perhaps more than one of these at the same time.
XMOS might make an excellent replacement for a whole bunch of peripheral chips. And into the bargain might provide a lot of general purpose I/O pins and be used as a glue logic to a high speed external RAM for the Prop.
If what I'm hinting at above was "done" and wrapped up in a black box to use with the Prop no one would think it is heresy. They would just discus how to use it with the Prop here, much like the Vinculum for example.
Well it's not "done". What with being so new. So perhaps we can discuss here if what I'm outlining (and mctriva above) is feasible or worth doing. How would the interfaces look etc etc.
I see this whole idea as replacing the FTDI and like chips. Not to be hacked by the Prop end user.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
Here is the PCB photo:
www.leonheller.com/Propeller/XProp/PCB.gif
What appears to be a short between two pads isn't - the connection is intentional.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Post Edited (Leon) : 11/19/2009 9:10:52 AM GMT
Is that Paper Phenolic?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you always do what you always did, you always get what you always got.
Good for you! The critics will come around, it's just a temporary failure of imagination.
I respect those critics, as the have made many valuable contributions to this forum.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
It's FPC-16, paper/fibreglass composite. I like it as it's very easy to cut and drill.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Post Edited (Leon) : 11/19/2009 10:44:16 AM GMT
Apologies if you think I'm being too critical. Possibly I'm not explaining myself well enough. I expect I am like most people here - i.e. I read these forums to find out what others are doing to exploit the Prop's unusual abilities, and also to learn Propeller tricks from others that I'm not clever enough to think of myself. It's not that I'm not interested in XMOS - it's just that there other places I can go to learn about that particular chip, whereas this is the only place I can come to learn about the Prop. I'm happy to read about any unique applications involving the Prop - either alone or integrated with other chips - but I expect there to be something Prop-specific about the design. If there isn't (or doesn't seem to be) then you probably should expect to get a poor response.
You'll notice, by the way, that Andre LaMothe does not innundate these forums with Chameleon posts. He announces things here, sure. And I'm sure he monitors these forums and would answer questions about the Chameleon if they came up. But he has his own forums for hosting discussions about the Chameleon.
For me, the major defining characteristic of the various "combination" boards (including the Chameleon) is that they don't just put a couple of interesting chips together for no discernible reason. Rather, they are synergistic designs - i.e. the whole is more capable than the sum of the individual components. This is the result of assessing the capabilities of each component, taking advantage of the each one's individual strengths, while simultaneously rectifying any of their individual weaknesses. I looked at your design and couldn't see any particular purpose to it, or find any explanation as to what it might be intended to achieve that cannot be done by either chip in isolation - but then I am not a hardware engineer, so perhaps I am missing something important. Is there some specific deficiency in the XMOS chip that makes bolting on a Propeller an attractive idea? Otherwise, it seems a bit like strapping a shuttle booster to a VW.
By the way, I don't have a problem with combining another processor with a Propeller - but I would hope there was some reason for doing so. For example, I bolted an FPU onto a Prop in an attempt to overcome the lack of floating point capabilities. But I did this mainly to try and save the cogs that emulating FP in software takes - if it was simply CPU power I was after, I wouldn't be using a Propeller in the first place.
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina
Indeed there is:
1. No superbly simple programming language like Spin as an educational intro to micro controllers or a super quick spur of the moment "lets try something out" tool.
2. No brilliantly simple, regular, elegant assembly language for the same purposes as above.
3. It does not have the worlds simplest micro-controller development environment. Which exist for the Prop partly due to the synergy (there's that word again) of the the hardware architecture, the instruction set, the Spin language. Everything from the silicon up.
4. Currently at leas it does not have an equivalent of an OBEX. I suspect it never will. Dropping C code into a project and have it work in short order like Spin objects seems unlikely. The computing world has been working on it for decades.
So look at it the other way around. Lets take this super nice simple Prop AND its dev environment and have the XMOS, or other uC, as a bolt on black box that users don't need to know or care anything about internally but provides what they need USB, ethernet, external RAM helper, I/O expansion etc etc.
If that "black box" existed already we would be here discussing how to interface to it in hardware terms, the schematics. We would talk about PCB layouts for it and the Prop. We would talk about how to drive it in Spin or PASM and be busy creating OBEX objects for it. Just like we do for many other devices.
As yet what I describe does not exist, perhaps never will unless someone dedicated steps up to the plate. So I welcome the fact that someone is taking the first tentative steps.
Those first steps start with mundane things like: How are we to interface these two devices? Electrically and software wise.
Which is a valid point of discussion on this forum I believe.
Of course deep discussions about how to get function X working inside the black box are a subject for another forum.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
Lots of suggestions have been made for applications for my proposed system, see the posts. There isn't much point in me repeating them here. FPGA replacement is one application for the XMOS chips - a particular peripheral function could be programmed into it, and the resultant system would be indistinguishable from Ale's Propeller-FPGA combination in terms of functionality, and development would be much quicker and easier. Perhaps I, or someone else, could provide XMOS chips pre-programmed with all sorts of nice stuff for the Propeller, and just sell the chips. XMOS has at least one customer already doing that, they sell pre-programmed chips to their customers with their own markings on them! People are doing something like that for low-end applications with PICs, I'm surprised that no one is doing it with the Propeller. Perhaps it's because of the lack of security.
It's not deficiencies in the XMOS device that this project addresses, but deficiencies in the Propeller in some applications, like lack of memory, I/O and speed. I've described it as a co-processor for the Propeller, rather than a co-processor for the XMOS chip!
I fail to see how the Chameleon is any different from me putting a PIC24 or dsPIC on a Proto Board and connecting it to the Propeller with a couple of wires.
Even when the Propeller II materialises, I can see a market for this type of add-on for it. They will have about the same level of performance, maximising data transfer rates between them.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Post Edited (Leon) : 11/19/2009 11:45:23 AM GMT
I do not see the XMOS' assembly as a barrier. On the contrary it is quite simple and easy to learn (easier than ARM in any case). And it has some special instructions, like the prop, to control its hardware, to administer threads that are defined at the hardware level and they are not utterly complicated. In the case of the prop I would gladly trade every-position-in-COG- memory-is-a-register for more COG memory.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Visit some of my articles at Propeller Wiki:
MATH on the propeller propeller.wikispaces.com/MATH
pPropQL: propeller.wikispaces.com/pPropQL
pPropQL020: propeller.wikispaces.com/pPropQL020
OMU for the pPropQL/020 propeller.wikispaces.com/OMU
And personal experience over decades of successful professional robotics projects to show the way.
It WAS done before and it WILL be done again.
These are exciting times to be alive. And, "It is just a hobby".
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
I'm delighted that you're investigating the Propeller-XMOS implementation.
Coming from a Basic Stamp background, I migrated to the Propeller because its rich featureset enables the easy development of better man-machine interfaces for industrial products.
But there are some applications that I would like to implement that need far more grunt; ethernet switching, USB datastreaming, realtime audiovisual translation, massive i/o switching: the natural workspace of the XMOS family.
If you open up a Propeller-XMOS route I shall gladly follow it, because it will allow me to develop new products which my customers have been asking for but which are currently prohibitively difficult .
I had been invesigating the Propeller-ARM route and bought the new MBED module: which I shall now abandon.
To Leon's detractors: my company uses Leon's consultancy to develop industrial Propeller products. It is no disloyalty to Parallax to use the excellent Propeller as a gateway processor on a complex system; and we can hardly wait for Propeller-II!
Ale "I do not see the XMOS' assembly as a barrier". Neither do I, but then we've both been knocking around such things for a long time. But consider it from the point of view of a newcomer. Your example already contains 6 lines of unintelligible junk that is nothing to do with the task at hand an is in fact only an artifact of using GCC and such.
I must emphasise that I'm not just talking about the assembler mnemonics, the instruction set, the addressing modes etc. I'm talking about how easy it is with the Prop and it's Spin/PASM and its IDE to get something simple started. How easy it is to combine objects from here and there. The whole experience. No messing with header files and other no essential junk. Of course these thing may be essential for large scale programs but that's not where we are at with the Prop.
TonyWaite: Yep, what you said.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
I'm sorry, I guess I just don't get it. I'm not a hardware engineer, so I probably don't fully appreciate the intricacies involved.
When your board is finished and has some software written for it, it will probably become evident what the benefit is in having an onboard Propeller. It is perfectly evident (at least to me) what the benefit of the Propeller is in the Chameleon - it handles the multimedia processing and I/O. This is the kind of thing the Propeller excels at. I think of the Chameleon as a kind of "Hydra" for AVR-heads, who (up until now) have missed out on all the nifty things the Propeller can do. It may well entice some of the said AVR-heads out of their world and into the world of the Propeller - which has got to be a good thing. If your board is intended to be something like an XMOS Chameleon, adding the I/O, video and signal processing capabilities of the Prop to the XMOS, then I can see some point in that. Hopefully it will entice some XMOS-heads into the world of the Propeller.
In any case, as long as it results in sales of more Propellers then I guess everyone will be happy.
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina
The PCB has just been drilled. Soldering the Propeller chip is next.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Post Edited (Leon) : 11/19/2009 12:43:51 PM GMT