BrickPi with Raspberry Pi and LOGi Pi


#1

Has anyone tried to use LOGi Pi (fpga) board with brickpi and raspberry pi B+ or p 2 B?

My racing robots project hit some road blocks related to performance with python and OpenCV. I’m planning to play with FPGA boards to see if I can offload the image processing and have the raspberry pi handle just the route planning logic. Even with C++, the processing speed for 640x480 image isn’t fast enough to get 30frames/second. With raspberry pi 2 B, it’s fast enough but doing it with software won’t be faster than using a FPGA.

here’s a link for the LOGi Pi http://www.newark.com/logi/logi-pi-2/silicon-manufacturer-xilinx/dp/38Y8590

thanks

peter


#2

Haven’t used it myself. I went digging around a bit and found the user manual here: http://valentfx.com/wiki/index.php?title=LOGI_Pi_User_Manual but couldn’t find the pinout information. I think that as long as it doesn’t interfere with the serial lines, it should stack.

Any idea what the current draw is for it?

John


#3

I couldn’t find the pinout information either. I don’t know the current draw, but it uses 5V. I did look at some of their blog entries. This one in particular was interesting. http://valentfx.com/obstacle-detection-using-laser-and-image-processing/

I’m going to send them an email and try to get more information. One of the founders is a CS professor and they are using machine vision, so I’m hopefully I can use LOGi Pi with a simple detection algorithm to build racing robots.


#4

I found it. The wiki says LOGi Pi uses the SPI

Raspberry Pi SPI to FPGA Interface

The Raspberry Pi to FPGA main communication interface is the PI SPI port. The Max stable SPI clock rate that has been tested is 32-48Mhz. Based on our development experience there are some instability issues that can occur when using higher clock rates. By default the current LOGI SPI drivers runs at 48 Mhz With the current 48Mhz clock and direct communication to the FPGA the user can expect to get 4 MB/S throughput between the Raspberry Pi and the FPGA.


#5

Those pins should be free then, so it should indeed work, again as long as the amperage isn’t too high. The 5V rail will be powered by the BrickPi, and that has a 2.5A limit to it. I can’t imagine this taking up that much though, since it’s designed to be powered off the Raspberry Pi, which doesn’t have a lot of power to begin with. This is a super-interesting project, would love to hear more about how it’s coming along as it comes along!

John


#6

Originally I was hoping using either C++ or Java would be sufficient, but after I did some baseline performance tests, I decided a hardware solution might be better suited http://electronsfree.blogspot.com/2015/03/what-do-you-do-when-cpu-is-under-powered.html

The older Pi B/B+ is under powered for 640 x 480 images, but the newer Pi 2 B has enough power. My naive thinking is the faster the sampling rate, the faster the robot can go around the track. I’m planning to blog the process and what I discover.


#7

I just ordered the LOGi Pi. Will report back how things go.


#8

The LOGi Pi arrived today. Here are some pictures, I haven’t had time to fire it up yet. I stacked it both ways to see how it looks.


#9

I finally had time this weekend to do a quick test with Raspberry Pi + LOGi Pi + Brickpi. I ran the motor test with brickpi on the top and LOGi pi in the middle. Nothing is loaded on the LOGi Pi yet.

next test I’m going to do is loading something on the LOGi and have it running at the same time as Brickpi to see if everything works as expected.


#10

Nice! I see you included a few pictures of dinner as well! :slight_smile:

Also, watching the video, I have the same intro electronics book!


#11

I got that book for my son a few years back. It’s a great book and I sometimes refer to it when I’m playing with arduino.


#12

I had difficulty getting the LOGi Pi drivers to build on my raspbian, so I’m trying the image they provide instead. will report back on how that goes.


#13

last nite I played with LOGi Pi and discovered some driver collision issues. when i install brickpi drivers, it causes the logi_loader to fail. I asked them how they use I2C and SPI and this was the response.

i2c to drive an IO expander and SPI to send data to the FPGA

Could this be caused by the i2c settings brickpi drivers use versus what logi pi needs?

thanks

peter


#14

Good news, I managed to get both LOGi Pi and BrickPi working at the same time. I still have a weird fatal SPI module failure on boot with raspbian.


#15

the video is a bit grainy, but it shows BrickPi lego motor test and LOGi Pi virutal component running at the same time on my Raspberry Pi 2 B.


#16

Woah, awesome! What is the software that looks like a breadboard on the screen?

John


#17

That is one of the example apps that is in their logi-apps github. It simulates a virtual breadboard and you can click on the buttons. I played around with it by clicking switch #8. If you switch 8 to on, the numbers change and the onboard LED blink. The link to their github is here https://github.com/fpga-logi/logi-apps

I plan to make an image of the SD card and post it on my github and write a tutorial on how to do this. It took a few nights and lots of head scratching, but I’m happy I got both to work.


#18

Hi
can anyone please tell me what is the maximum throughput for SPI communication i can expect from Raspberry pi 2/3 to any FPGA Daughter card which they have connected as stackup (no-wire).


#19

Hi
I am designing one FPGA based daughter card for raspberry pi 2, in raspberry documentation it is written 125MHz is maximum frequency we can operate for SPI, in your testing…how 48MHz is limit ?
cant we expect more throughput as i am using only stacked connector, no cable will be involved.


#20

Hi @gagandeep.kaur,

We are not sure about this, I think it might be better to post this query here: https://www.raspberrypi.org/forums/, they will be able to help you.

-Shoban