Propeller nybble-serial interchip communications speed
Lord Steve
Posts: 206
I am thinking about doubling up Propellers on a project and wonder what other people have got for asynchronous serial communication speed between two Propellers.· I assume one cog per full duplex UART.· Also, I am interested in nybble-serial (four bits), but bit-serial or byte-serial numbers, etc., are ok; I can interpolate from that data.
So, what's the fastest stable serial communications you've got your Props to do?
So, what's the fastest stable serial communications you've got your Props to do?
Comments
One Prop uses a 5 MHz crystal and x16 PLL and outputs a 5 MHz square wave using one of the counters for a clock to the second Prop, also running x16 PLL. So they run in lock step, though phasing doesn't seem to be any problem.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
The more I know, the more I know I don't know.· Is this what they call Wisdom?
NEW 12/12/2007
14.5 Meg Baud Upgrade
http://forums.parallax.com/showthread.php?p=691952
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Aka: CosmicBob
Doug
I ran with 7.3728MHz XTAL1+PLL16x for a fair while and didn't see any problems, just short of 118MHz. No special environment, just a normal ProtoBoard. That would take Beau's link over 20Mbps.
http://forums.parallax.com/showthread.php?p=717643
I don't want to start the whole "How Fast Can a Prop Go" debate again, but Parallax soak test to 104MHz and Cog breakdown is reported at around 120MHz, so I suspect 118MHz is just low enough to sneak in under the radar with a fair wind. I wouldn't recommend it for commercial product though. This is definitely way out on the limb.
It would be interesting to hear how successful others find 7.3728MHz, especially as that's +48% over 5MHz, 6MHz is just (!) +20%.
Sorry, this is going a bit off-topic.
Weren't you involved in some work to use the video output to implement an ethernet connection? That might be more slightly on-topic.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
The more I know, the more I know I don't know.· Is this what they call Wisdom?
6.25MHz would be a bit better to top it at 100MHz or 25% overclock. Since 128MHz failed(oled PROP), and 120MHz is reported to fail, I think 118MHz is bit on the pushing it side, and could end up
with hours of debugging your code when it wasn't a code issue at all, and 7.3728 base clock just doesn't make even number at 117.765MHz which can be a little tricky on the math, I would suspect, ie hippy's ethernet project.
Doug
Looking at the chart in the data sheet the fastest you can run at 25 C and 3.6V is about 125MHz. If you cool the prop down to -55C then you can do about 140MHz so it all depends on temperature. Since hippys in England its probably a bit cooler than other places and he can get away with running it a bit faster.
That could well be a part of it. I don't like hot temperatures at the best of times, so I guess it's ranges between 18C-22C. It's in free-air so no enclosure to trap the heat, but nothing on-board even feels warm.
I can't understand the techno-babble in the datasheet nor know how to derate the Temp versus Frequency graph nor understand what that means in Real Life (TM), but under those test conditions 115MHz+ at 25C, 3V3 seems to work.
Maybe I've just got lucky, but it's been running multiple cogs for 24 hours now with no noticed problems driving TV and doing 38400 baud bit-banged serial in/out in Spin.
Edit: 2 photos of the board mentioned. 640x480 LCD, just a half is used because... well there is no enough memory in one propeller for a 640x480 image. This is a sort of DSO for special purposes (3 CH). FFT is done on the fly, well when I get the OAs to work as I want
Post Edited (Ale) : 4/20/2008 7:48:40 PM GMT
HUB instructions having variable times? Once you sync up to the hub, it should be the same time every time.
I note two crystals. If both are same frequency, you could just use one crystal and use a counter to output clock/pll divisor if you have a spare pin and to ensure they are synchronous. (I use a 5 MHz crystal on one Prop with PLL=16 and a counter to output a 5 MHz square wave to second Prop.) Just a suggestion.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
Do either of you boot one prop off of the other also?
However there is communications between the two, both ways. For instance, on power-on/reset Prop#1 queries Prop#2 of its 'date of source' and number of cogs in use; a DAT section contains this info which is updated each build. This is displayed for both Props via TV_text object; this is for debug only. In use, a minimal display and keypad on a separate pcb is used.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
My comm is a bit different:
right COG sends commands to second and second answers with a number of longs depending on the command. The ADC data are 64 longs packets. Other commands (except an ID) are not yet implemented. I used 4 pins without pull-up/pull-downs. In noisy conditions (my Oszi seems to be one source of that), the comm fails. I think some pull-downs may help (I thought about 100 k pull-downs).
Edit: each prop has its own EEPROM.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
Doug
Apologies if any offense was perceived it wasn't intended nor was it a criticism. It wasn't however a good choice of phrase. It's my lack of understanding and knowledge which is the problem on this subject.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
LVS or (Layout Versus Schematic)·is a term implying a tool used to check·that what you have created in layout matches the design parameters placed in the schematic.· Another common·design check is called DRC or (Design Rule Check) ... this makes sure that wires meet metal migration rules, and that various structures are not too close to one another in the design.
"Hopefully the Prop II development isn't destined to encounter similar difficulties." - Unfortunately it's the nature of the LVS beast, however many errors can be avoided if a hierarchical 1:1 correspondence can be maintained between the layout and schematic.· Sometimes however under certain conditions this rule·needs to be broken.· This·can cause anchoring reference points to be lost and confuse the LVS tool.
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
Post Edited (Beau Schwabe (Parallax)) : 4/22/2008 2:48:11 AM GMT