der Amplifier funktioniert sehr gut. Ich habe die Spannung am Ausgang
gemessen und gerechnet, ist in Ordnung.
in Pin 10 sieht es genau wie im DatenBlatt.
das befehl geht normalerweise zu einer Diode, aber ich habe die Pine
geändert im .ucf File. P11 in "fpga_0_LEDs_8Bit_GPIO_d_out_pin<0>".
ich habe den Byte zum Amplifier mit der funktion "XSpi_mSendByte"
geschickt.
so sieht ein Teil meines Program aus.
int main (void)
{
int i;
xil_printf("Timer Test\n\r");
XStatus Status;
XGpio_Initialize(&GpioOutput,XPAR_LEDS_8BIT_BASEADDR);
XGpio_SetDataDirection(&GpioOutput, 1, 0x0);
XGpio_DiscreteWrite(&GpioOutput, 1, 0x0);
Xuint8 NumBytesRcvd, mfg_id, did_up, did_low, error, SF_sr;
Xuint16 sector_select, page_select;
Xuint16 spi_control_reg;
// Initialisierung
Initialize_Spi_Controller(XPAR_SPI_FLASH_BASEADDR);
send_data[0] = 4;
send_data[1] = 6;
send_data[2] = 10;
send_data[3] = 12;
XSpi_Set_Enable(XPAR_SPI_FLASH_BASEADDR);
// Assert the select line manually to the SPI Flash ?????
XSpi_mSetSlaveSelectReg(XPAR_SPI_FLASH_BASEADDR, SPI_FLASH_SELECT);
XSpi_mSetSlaveSelectReg(XPAR_SPI_FLASH_BASEADDR, SPI_NONE_SELECT);
// Transfer the op-code and retrieve the ID
spi_transfer(send_data,recv_data,4);
Status = XTmrCtr_Initialize(&TimerCounterInst,
XPAR_XPS_TIMER_1_DEVICE_ID);
TmrInit(&InterruptController,&TimerCounterInst,
XPAR_XPS_TIMER_1_DEVICE_ID,
XPAR_XPS_INTC_0_XPS_TIMER_1_INTERRUPT_INTR,
0);
while(1)
{
i++;
i--;
}
return 0;
/************************** Timer event
handler**************************/
void TimerCounterHandler(void *CallBackRef, Xuint8 TmrCtrNumber)
{
XGpio_DiscreteWrite(&GpioOutput, 1, 0xFF);// ADC_Conv
XGpio_DiscreteWrite(&GpioOutput, 1, 0x00);// ADC_Conv
}