PIC32MZ and External Bus Interface (EBI)

For questions and comments on programming in general. And for any items that don't fit into the forums below.

Moderators: Benj, Mods

Post Reply
streammaster
Posts: 78
Joined: Mon Jul 31, 2017 11:14 am
Contact:

PIC32MZ and External Bus Interface (EBI)

Post by streammaster »

Hi Guys,

I'm about to start my first project with PIC32 I use to do things with PIC18.

I need to get a connection to external parallel RAM (it is actually SDRAM but I will make the FPGA based controller interface to work around). The PIC will see FPGA connection as ordinary parallel SRAM.
I do not need this external RAM for program execution, but I need to move a large amount of data in and out (it is image bitmap processing). I would like to use DMA if possible.
There is also a camera and an LCD connected to the FPGA. FPGA handling all real-time data from camera and display. PIC will be used to make some graphics, to configure some FPGA registers, and create and transfer graphics and characters into the external SRAM.

I started to prepare the design in FC8 and then realised there is no component to drive a parallel port nor DMA! I intend to use the EBI Module in PIC32MZ:
EBI module PIC32MZ.JPG
EBI module PIC32MZ.JPG (48.85 KiB) Viewed 1543 times
It would be nice that we have EBI component with DMI support (which can simulate the RAM as the file on the PC) and get native controls for the compiler.

Does anyone have an idea of how efficiently this can be implemented in FC? I suspect I will need to drop some C coding to do workaround without component? Are PIC Control register configurable from FC8?


Thanks,
Streammaster

User avatar
Benj
Matrix Staff
Posts: 14848
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Contact:

Re: PIC32MZ and External Bus Interface (EBI)

Post by Benj »

Hi Streammaster,

Yes you can add C code to your program using C icons. You can also directly access the MCU registers like you can in C using the C icons.

Flowcode variables can be accessed in C but you will have to change the variable name slightly for the C version.

e.g. Flowcode variable MyVar

If global then referenced like this.

FCV_MYVAR

if local then referenced like this.

FCL_MYVAR

Hope this helps.

Post Reply