increase work frequency
Posted: Wed May 02, 2018 12:41 am
hi, we are news in the programming the redpitaya and We are carrying out a project in which we need to increase the frequency of work of the redpitaya and we would like to know if it is possible to do it by programming in C or touch create a bit point, we have a card with the AD9216 which is an ADC that works at 100MSPS , the redpitaya must deliver the CLOCK at 100 MHz and read the digital bits (10 bits) at the same speed; with the programming that we have now the pitaya delivers the CLOCK and reads the bits at a speed of approximately 235Khz. We are working with the /opt/redpitaya/fpga/fpga_0.94.bit
I attach the code
while(i<400)
{
rp_DpinSetState (RP_DIO0_P ,1);
i=i*10;
rp_DpinGetState (RP_DIO7_P, &state);
buff=state;
rp_DpinGetState (RP_DIO6_P, &state);
buff[i+1]=state;
rp_DpinGetState (RP_DIO7_N, &state);
buff[i+2]=state;
rp_DpinGetState (RP_DIO6_N, &state);
buff[i+3]=state;
rp_DpinGetState (RP_DIO5_N, &state);
buff[i+4]=state;
rp_DpinGetState (RP_DIO4_N, &state);
buff[i+5]=state;
rp_DpinGetState (RP_DIO3_N, &state);
buff[i+6]=state;
rp_DpinGetState (RP_DIO2_N, &state);
buff[i+7]=state;
rp_DpinGetState (RP_DIO1_N, &state);
buff[i+8]=state;
rp_DpinGetState (RP_DIO0_N, &state);
buff[i+9]=state;
rp_DpinSetState (RP_DIO0_P ,0);
rp_DpinGetState (RP_DIO7_P, &state);
buff2=state;
rp_DpinGetState (RP_DIO6_P, &state);
buff2[i+1]=state;
rp_DpinGetState (RP_DIO7_N, &state);
buff2[i+2]=state;
rp_DpinGetState (RP_DIO6_N, &state);
buff2[i+3]=state;
rp_DpinGetState (RP_DIO5_N, &state);
buff2[i+4]=state;
rp_DpinGetState (RP_DIO4_N, &state);
buff2[i+5]=state;
rp_DpinGetState (RP_DIO3_N, &state);
buff2[i+6]=state;
rp_DpinGetState (RP_DIO2_N, &state);
buff2[i+7]=state;
rp_DpinGetState (RP_DIO1_N, &state);
buff2[i+8]=state;
rp_DpinGetState (RP_DIO0_N, &state);
buff2[i+9]=state;
i=i/10;
i++;
}
thanks for your help
I attach the code
while(i<400)
{
rp_DpinSetState (RP_DIO0_P ,1);
i=i*10;
rp_DpinGetState (RP_DIO7_P, &state);
buff=state;
rp_DpinGetState (RP_DIO6_P, &state);
buff[i+1]=state;
rp_DpinGetState (RP_DIO7_N, &state);
buff[i+2]=state;
rp_DpinGetState (RP_DIO6_N, &state);
buff[i+3]=state;
rp_DpinGetState (RP_DIO5_N, &state);
buff[i+4]=state;
rp_DpinGetState (RP_DIO4_N, &state);
buff[i+5]=state;
rp_DpinGetState (RP_DIO3_N, &state);
buff[i+6]=state;
rp_DpinGetState (RP_DIO2_N, &state);
buff[i+7]=state;
rp_DpinGetState (RP_DIO1_N, &state);
buff[i+8]=state;
rp_DpinGetState (RP_DIO0_N, &state);
buff[i+9]=state;
rp_DpinSetState (RP_DIO0_P ,0);
rp_DpinGetState (RP_DIO7_P, &state);
buff2=state;
rp_DpinGetState (RP_DIO6_P, &state);
buff2[i+1]=state;
rp_DpinGetState (RP_DIO7_N, &state);
buff2[i+2]=state;
rp_DpinGetState (RP_DIO6_N, &state);
buff2[i+3]=state;
rp_DpinGetState (RP_DIO5_N, &state);
buff2[i+4]=state;
rp_DpinGetState (RP_DIO4_N, &state);
buff2[i+5]=state;
rp_DpinGetState (RP_DIO3_N, &state);
buff2[i+6]=state;
rp_DpinGetState (RP_DIO2_N, &state);
buff2[i+7]=state;
rp_DpinGetState (RP_DIO1_N, &state);
buff2[i+8]=state;
rp_DpinGetState (RP_DIO0_N, &state);
buff2[i+9]=state;
i=i/10;
i++;
}
thanks for your help