OpenCores
no use no use 1/1 no use no use
implementation of spi interface between fpga and analog microcontroller using vhdl
by ujwala on Dec 8, 2011
ujwala
Posts: 4
Joined: Dec 6, 2011
Last seen: May 28, 2012
hi
am working on spartan 6 fpga..
i need to write the vhdl code spi interface..
microcontroller is analog microcontroller..
am not understanding how to proceed
plz help me out
RE: implementation of spi interface between fpga and analog microcontroller using vhdl
by eteam on Dec 8, 2011
eteam
Posts: 32
Joined: Jun 5, 2009
Last seen: Mar 25, 2016
SPI is little more than a shift register and a state machine. It is a simple project for the beginner designer.

There is an abundance of information and example designs on the web. If you do not know how to find this information on the web, you have no business in electronics or design.

Suggest you read the user manual for 'google' -- that is, IF you can find it.
RE: implementation of spi interface between fpga and analog microcontroller using vhdl
by tylerapohl on Dec 9, 2011
tylerapohl
Posts: 17
Joined: Jan 14, 2009
Last seen: Jun 3, 2017
What microcontroller are you using from analog devices?
RE: implementation of spi interface between fpga and analog microcontroller using vhdl
by ujwala on Dec 12, 2011
ujwala
Posts: 4
Joined: Dec 6, 2011
Last seen: May 28, 2012
am using ADuCM360 PRECISION ANALOG MICROCONTROLLER
RE: implementation of spi interface between fpga and analog microcontroller using vhdl
by ujwala on Dec 12, 2011
ujwala
Posts: 4
Joined: Dec 6, 2011
Last seen: May 28, 2012
What microcontroller are you using from analog devices?

am using ADuCM360 ANALOG MICROCONROLLER
RE: implementation of spi interface between fpga and analog microcontroller using vhdl
by jdoin on Dec 12, 2011
jdoin
Posts: 51
Joined: Sep 1, 2009
Last seen: Aug 27, 2026
am not understanding how to proceed


Hi ujwala,

What are your major difficulties?

I couldn't get the ADuCM360 datasheet (the ADI website does not mention it), but it seems to have a standard SPI port.
You have to decide which side of your interface is to be the master, and design your interface accordingly.
Usually, the uC should be the master, to simplify the firmware handlers.
So you need to implement a SPI slave interface in your FPGA.

Have you checked out the SPI_MASTER_SLAVE interface project? http://opencores.org/project,spi_master_slave
It is a very simple SPI interface written in VHDL. Although the code uses no vendor-specific code, it was written for and tested in Spartan-6.

I tested it with several uC, using clock rates from 1MHz to 30MHz. I also tested it with high speed 100MHz SPI clocks, using FPGA-to-FPGA interfacing.

To download the project files: http://opencores.org/download,spi_master_slave

- Jonny
RE: implementation of spi interface between fpga and analog microcontroller using vhdl
by ujwala on Dec 13, 2011
ujwala
Posts: 4
Joined: Dec 6, 2011
Last seen: May 28, 2012
ihave seen the timing diagrams..bt i didnt find the VHDL code for SPI interface
RE: implementation of spi interface between fpga and analog microcontroller using vhdl
by jdoin on Dec 13, 2011
jdoin
Posts: 51
Joined: Sep 1, 2009
Last seen: Aug 27, 2026
ihave seen the timing diagrams..bt i didnt find the VHDL code for SPI interface


Have you tried to download the project files using the link I posted in my previous message? The download is a .gz compressed file, containing all the directories of the project.

The "timing diagrams", as you said, are actual oscilloscope screenshots of the real circuit, implemented in a Digilent Atlys board. You can see the operation under several SPI modes, including the phase delay of less than 2ns of slave response at the MISO line.

For the slave interface, you want the file spi_slave.vhd, in the /trunk/rtl/spi_master_slave/ directory.

You can also browse the SVN files directly:
http://opencores.org/websvn,filedetails?repname=spi_master_slave&path=/spi_master_slave/trunk/rtl/spi_master_slave/spi_slave.vhd


- Jonny
no use no use 1/1 no use no use
© copyright 1999-2026 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.