SPI transfer size

Hm, accordning to http://www.raspberrypi.org/forums/viewtopic.php?p=309582 it is possible to extend the amount of maximum sent data of the SPI bus! This is most interesting. This means I should be able to transfer a full framebuffer in one single transfer. Using 352×288 i might be able to do a full frame 30Hz update. If I succeed in increasing the SPI reception in the FPGA to 60Mbit I, in theory, can reach 60Hz.

This is not what it was intended for, but…. Still good to have some power in the SPI.

More work on sprites

I added some more functionality to the sprite module. Instead of writing to the registers that control X, Y, shape and visibility directly, I added buffer registers to hold the written data until the next frame starts. This should give glitch-free update of sprites no matter how you send the data. And it certainly shows on the moving demo. Perfect squares all the way! 🙂

Sorry, no pictures or demos today!

SPI communication up!

After some troublesome debugging I finally got the SPI up and running. I can now move one of the bitmap displayed from RAM (I don’t have a RAM yet, I connected some address wire to one of the D inputs to test. This gives a nice, striped image) in X and Y. 🙂 Also, the FPGA seemed to “crash” in some way before giving me a black image after some random time. That seems to have vanished with the last bug too.

Can’t wait to get my hands on the PCB…. Hopefully it’s made in China as I type this. 🙂

Pi Arcade monitor interface

Why would anyone want to have one of these, except me? Well, I don’t know. 🙂

The project plan is to have a FPGA connected to the SPI port of the Pi. The FPGA, connected to some fast RAM, will be able to output analogue signals (RGB, 24bit) and sync to a 15kHz monitor. The original plan was to have the FPGA handle a four layer bitmap (layers can display 255 colors) and 64 32×32 pixel sprites. I had to decrease the sprites to 29, since there are only 30 RAM blocks in the FPGA I’m using.

At the moment I’m waiting for my PCB. Until then I can only test using 3-bit RGB and without RAM. Sprite blocks are yet untested, but it seems to build ok.

2015-02-20 17.28.59

This is a test image using the line and pixel signals from my image generator.

Right! Setting WordPress up didn’t take much time, maybe I can test the sprites a little bit somehow without the RAM…

Update: First sign of sprite life! A white square, 32×32 pixels at position 0,0. No more time tonight. Next step is to connect the SPI to Pi and see if I can move the sprite.