View Full Version : Will the Propellor work for this application?

05-14-2008, 03:47 PM
I've been considering using the Propellor for a comms-based project I've been working on which currently uses a SiLabs 8051 (430 model) running at 48 MHz. I have an external memory-mapped 1-byte FIFO which I have to service inside a 800 ns window otherwise it overruns and I lose data (which is bad). The servicing currently takes the form of a polling routine which reads the status of the FIFO and when a byte arrives it is read from the FIFO and stored in external RAM. This routine runs for several kbytes worth of data until a complete packet is read in. After that, another routine executes to write each received byte in the buffer out to an FTDI chip and into the host PC.

I wondered if I could 'parallelize' the task and speed-up the overall data flow using the Propellor by having one cog perform the FIFO servicing using GPIO lines to control/read the FIFO and store the received FIFO data into hub main memory. Another cog could be used to perform FTDI control again using GPIO lines for data/control which sends the received FIFO data in the hub main memory buffer to the host PC.

From what I have read in the Propellor Manual and on this Forum, the routines would have to be coded in PASM as Spin would be too slow. Obviously, my main concern is ensuring that the FIFO servicing cog gets access to the hub main memory sufficiently quickly to avoid FIFO overrun.

I know there are quite a few folks on this forum who have been using the Propellor since day 1. I'd appreciate any insights you guys have with regards to whether you feel the Propellor would be up to the job.

05-14-2008, 06:03 PM
Should be possible. The longest a Cog has to wait for access to Hub memory is 275ns at 80MHz.