Shop OBEX P1 Docs P2 Docs Learn Events
Using counter for inter-prop communication — Parallax Forums

Using counter for inter-prop communication

prof_brainoprof_braino Posts: 4,313
edited 2010-09-19 10:21 in Propeller 1
Somebody clever (was it heater?) suggested using the counter as a means of fast communication between props.

I'm nearly done with a three prop configuration (Hive-Project.de) and am interested trying this.

So far, I haven't seen any discussion of actually doing it, I'd like to start the conversation. Please forgive if there is already a thread started, I haven't found it.

What are some references that will get us started on this?

Comments

  • HumanoidoHumanoido Posts: 5,770
    edited 2010-09-19 08:51
    Somebody clever (was it heater?) suggested using the counter as a means of fast communication between props. I'm nearly done with a three prop configuration (Hive-Project.de) and am interested trying this. So far, I haven't seen any discussion of actually doing it, I'd like to start the conversation. Please forgive if there is already a thread started, I haven't found it. What are some references that will get us started on this?
    Prof_braino, this is my interest too. Yes, you are right - Heater has a very clever suggestion. I think a working program can be developed. Some of my threads may be helpful. Beau has an astounding speed enhancement recommendation using all 32 pins for a data bus that 32 bits wide. (see link and quote below) The method describing the high speed counter overlay method is also mentioned in one of the posts.

    How Fast Can you Make Your Propeller
    Make a Faster I/O (Advanced Programmers Only)
    Cogs Slow Down Prop?
    Prop Chip Outside of a Prop Chip
    Cog Speed
    and Beau's comment is here

    Beau Said,
    If were not talking about the number of I/O's then in theory using all 32 IO's you could transfer data from one propeller to another propeller using one COG at 320 Million Bits per second. 100ns for a 'fetch/move' = 10MHz ... times a 32 bit wide data buss = 320 Million Bits per second. The bottle neck being the number of IO's ... supposing you had 256 IO's, then with 8 COGS you could in theory transfer 2 Billion 560 Million Bits per second. (320 Million times 8).

    Heater said, The topic of this thread is "How fast Can you make your Propeller?" Well you can write PASM code in COGs at attain whatever speed it is. But what if the counters can some how be used in conjunction with your PASM to enhance the speed of whatever you are doing? As has been suggested they can be used as auto incrementing pointers to speed up array traversal. I think a classic example of this is Phil Pilgrims radio receiver built with just a Prop and a couple of resistors/capacitors. For sure you could implement the algorithm he uses to do signal detection in PASM alone but it would be too slow to be of use. Drag the counters in to help and you have effectively multiplied the speed of the thing by a factor of 10 or whatever.
  • LeonLeon Posts: 7,620
    edited 2010-09-19 08:58
    Another chip uses five I/Os to transfer 32-bits in one clock, with special hardware enabling data to be transferred independently of the processor.
  • prof_brainoprof_braino Posts: 4,313
    edited 2010-09-19 09:53
    @Humanoido - Thanks for the links. I have some reading to do...

    @Leon - Can you give more detail on how that's done? I'd like to come up with something that can be applied to the prop. Is there an article on the application of this capability?
  • LeonLeon Posts: 7,620
    edited 2010-09-19 10:21
    The company that must not be named uses it for inter-chip communications, getting 30.5 MBytes/sec. See their documentation.
Sign In or Register to comment.