Propeller as a UART/SPI expansion HAT for the Raspberry Pi
MJHanagan
Posts: 189
in Propeller 1
I did a bit of searching on the forum but I have not found anything related to using the Propeller as a UART/SPI expansion device for the Raspberry Pi. Since the RPi has but one SPI port and one UART port in its normal GPIO configuration it has some limitations when wanting to use two or more devices using the same communication protocol. It occurred to me that the Propeller chip would be ideal as a highly configurable UART/SPI expansion device. You could use one cog as the main communication conduit between the RPi and Propeller and the other seven cogs could be spawned as individual UART or SPI ports (each with software configurable pin assignments). The Propeller with 32 IO pins could easily support seven SPI ports (21 pins) or seven UART ports (14 pins for just TX/RX or perhaps as many as 28 pins if CTS/RTS control is needed). The Prop has lots of RAM so it could buffer a fair amount of data for whenever the multitasking RPi gets around to retrieving the data (buffers as large as 2-4kB per port and configurable in size?).
Seems like the Prop would be better and more flexible than some of the Maxim or NXP expansion chips that provide two or four expansion ports and limited buffer space.
Has this already been done? If so, can you provide a link so as not to reinvent the wheel?
Seems like the Prop would be better and more flexible than some of the Maxim or NXP expansion chips that provide two or four expansion ports and limited buffer space.
Has this already been done? If so, can you provide a link so as not to reinvent the wheel?
Comments
http://forums.parallax.com/discussion/160971/propeller-hat-for-rpi/p1
https://shop.pimoroni.com/products/propeller-hat
The only difficulty with the Propeller and a generic problem like this is picking a solution to fit your needs. There are SO MANY that it is actually quite difficult I think.
You will find the process of object selection to be MUCH easier if you have some more specific requirements. Do you know a minimum baud rate? Do you need full-duplex? SPI, UART, or both? Does it need to be written in a specific language?