Jump to content
  • 0

Pmod Step without ip?


vlad

Question

Where is the IP for the Pmos step ? The motorfeedback folder doesn't contain a pmod .

Those 2 projects that I found don't have designs .If I try to update their Vivado version a popup comes and tries to download latest version of Vivado even if I use the last one.

http://www.instructables.com/id/How-to-Control-a-Stepper-Motor-With-an-FPGA/

http://www.instructables.com/id/Using-the-PmodJSTK-to-Control-Stepper-Motors-on-th/

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

Hi @vlad,

We have not had time to make a Pmod IP core for the Pmod STEP.  I attached a cleaned up verilog code for the Pmod STEP. You could use the add a module function with a gpio block in vivado to get this code working using microblaze/zynq.  Here is a  forum thread that has a good add a module reference project done by one of our community members attached called notarobot_ad1 done in vivado 2016.4 that uses an altered version of @hamster vhdl code here and the add a module function with the gpio block to connect the hdl to the axi. I have also attached a screen shot of their block design.

ADD_A_Module.jpg

 

thank you,

Jon

pmod_step_driver.v

Link to comment
Share on other sites

On 3/27/2018 at 11:31 PM, jpeyron said:

Hi @vlad,

We have not had time to make a Pmod IP core for the Pmod STEP.  I attached a cleaned up verilog code for the Pmod STEP. You could use the add a module function with a gpio block in vivado to get this code working using microblaze/zynq.  Here is a  forum thread that has a good add a module reference project done by one of our community members attached called notarobot_ad1 done in vivado 2016.4 that uses an altered version of @hamster vhdl code here and the add a module function with the gpio block to connect the hdl to the axi. I have also attached a screen shot of their block design.

ADD_A_Module.jpg

 

thank you,

Jon

pmod_step_driver.v

So I added the driver ,but how the .xci files are created ? As I see in the project code ,it only read the switch value

 

XGpio input;
int Analog_input = 0;
int D0,D1;
XGpio_Initialize(&input, XPAR_AXI_GPIO_0_DEVICE_ID);    //initialize input XGpio variable


while(1){

    Analog_input = XGpio_DiscreteRead(&input,1 );    //get switch data
    D0= Analog_input&0xFF;
    D1 = (Analog_input>>8)&0xFF;
    xil_printf("D0 input = %x \n\r",D0);
    xil_printf("D1 input = %x \n\r\n\r\n\r",D1);
    usleep(1000000);

}
 

Link to comment
Share on other sites

Hi @vlad,

I ask about your projects block design because it should differ from notarobots block design. The pmod step driver module has these inputs and out puts

    input rst,
    input dir,
    input clk,
    input en,
    output reg [3:0] signal

 

and the vhdl code for the pmod AD1 has these inputs and outputs

            clk      : in std_logic;   -- 100MHz clock
            ADC_CS   : out std_logic;  -- ADC chip select
            ADC_SCLK : out std_logic;  -- ADC serial clock
            ADC_D0   : in std_logic;   -- ADC Channel 0
            ADC_D1   : in std_logic;   -- ADC Channel 1
            led      : out std_logic_vector(15 downto 0)

Also the sdk code you posted is only looking at one channel on the gpio_o. The Getting started with zynq has gpio sdk code that you can look at that should help in your project. Look at the block design in reference to how the gpio ip core bocks are set up  with how the sdk code initializes the ip blocks and sets direction.

thank you,

Jon

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...