I wanna use FPGA for driving CCD.(Driving Timing and clock driving). My CCD is ilx511. What type pf FPGA do you recommend? Does everybody any experice about it? Or any schematics for using a type of FPGA?
What expensive FPGA means?For simple clock and timing, an enexpensive FPGA will do. Look at Xilinx Spartan or Altera Cyclone offerings. First, determine how many different pins you need, then decide how much logic you need and what the clock rates need to be. Use spec tables to chose your device based on these requirement. Most likely, the least expensive device will be more than adequate.
Could you be more specific?Thanks for helping, Can anyone help me about timing driving and clock driving ilx511?
Sorry, I meant inexpensive. That means low cost.What expensive FPGA means?
void timer0_init(void)
{
// Output compare pin controlled by a timer and tied to a specific
// pin number you cannot change
// i.e. OC0 = PB4 , OC1A = PB5 etc
// Runs in CTC mode so the OC0 pin will be applied directly by the timer
// by setting propoer COMxx in TCCR0
TCCR0 = 0x00; //stop
ASSR = 0x00; //set async mode
TCNT0 = 0xF8; //set count
OCR0 = 0x07;
TCCR0 = 0x19; //start timer
DDRB |= (1 << PB4); // Toggle Pin PB4
// Enable Timer 0 interrupt to start interrupt (i.e OCIE0 in TIMSK)
TIMSK |= (1<<OCIE0); // Set OCIE0 Timer 0 interrupt
}
while (1)
{
TCCR1A=0x50;
TCCR1B=0x09;
OCR1AL=0x39;
for(j=1; j<2087 ;j++)
{
xx[j]=0;
}
ROG=1;
for(i=0;i<20;i++);
ROG=0;
for(n=0;n<20;n++);
{
for(i=0;i<20;i++);
ROG=1;
for(k=1; k<2087 ;k++)
{
flag=0;
if (TIFR & (1 << OCF1A)) //bit is HIGH in TIFR
{
TIFR = (1 << OCF1A); //clear the CTC flag
adc_value=read_adc(0);
xx[k]=ADCH;
}
if (n>=15)
{
cc=(xx[k]*(n-15)+ADCH)/(n-14);
xx[k]=cc;
}
}
ROG=0;
}
putchar1('s');
delay_ms(100);
for(k=1; k<2087;k++)
{
putchar1(xx[k]);
delay_ms(10);
}