Jump to content
  • 0

PMODOLEDrgb and SP601


ogoudard

Question

Dear Digilent team,

I am trying to start a PmodOLEDrgb on a SP601 development kit.

Thus, as I far as I can read in your docs, it looks like I have to program a microblaze in my spartan 6 and implement a SPI line for this device

I have two questions :

1/ Is it possible to program a SPI line driver in pure VHDL to drive this PMOD ? (I believe it would be huge amount of work to get it work when I look at the 32 steps only to start the Pmod!!)

2/ Do you have a project example with a microblaze instead of a zynq to test with my SP601 board ?

Thank you and best regards,

Olivier Goudard

Power Electronics Engineer

The European Synchroton - ESRF

GRENOBLE, FRANCE

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

Hello Oliver,

First of all I need to say that am not a member of Digilent and please excuse me for offering my perspective.

You definitely can find VHDL code to implement SPI. Most likely you can find appropriate implementation code for a processor core. Since the SP601 board is not supported by Vivado will need to spend a sizable amount of time gluing all code together. Depending on your VHDL and hardware experience it might take from 2 days to 15 days to make it work.

If you put a value on you time it would be more efficient to procure modern Zynq board and utilize Digilent and Xilinx IP. Using Vivado it takes only few hours to put together project with PmodOLEDgrd.

No only you would free your time for more demanding projects but also significantly expand hardware / software capabilities.

The cost of mass produced hardware is low compare with the cost of labor. The cost of good quality Digilent or Avnet Zynq boards is less than one day salary of an electronic engineer.

Good luck!

Link to comment
Share on other sites

Hi @ogoudard,

Here is the Pmod IP tutorial that works for both ZYNQ and Microblaze. here is where our Pmod IP cores are which also includes the Pmod OLEDrgb here. In college, on of my class projects was making a SPI controller in Verilog. If you choose to do everything in HDL you can.  I am sure with a small search you can find a SPI controller done in VHDL. You could use the Pmod IP core as well as the MPIDE example here  on the resource page for the Pmod OLEDrgb as a reference on how to setup and control the PModOLEDrgb.

cheers,

Jon

Link to comment
Share on other sites

@ogoudard,

In my humble opinion, the OLEDrgb is a difficult device to bring up in pure HDL.  Sure, it's a straight SPI port with no MISO line.  However, there are a *lot* of parts and pieces associated with configuring it that ... just seem to make more sense doing from a soft-core processor.  Yes, you could run through this init script within logic, I just think it makes more sense in software.

I used the OLEDrgb as part of my OpenArty project.  You can find the OLEDrgb Verilog source here, as well as a ZipCPU C program that draws an image onto the OLEDrgb here.

Some things to keep in mind: the commands sent to the OLEDrgb will be of varying length.  Some are a single byte long, others are two, three, or more bytes long up to 11 bytes long in my implementation.  The spec also defines a 33-byte command, set gray scale table.  It's a command I didn't implement.  All the rest are 11-bytes or less.  You'll want to make certain you have a copy of the SSD1331 spec on your desktop.  Even with the spec, though, I'm not sure I would've gotten my example working without diving into the MPIDE code--so I would encourage you to examine software examples in your pursuit of an all hardware option.

Hope this helps,

Dan

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...