diff --git a/applications/lofar2/doc/prestudy/station2_sdp_160MHz.txt b/applications/lofar2/doc/prestudy/station2_sdp_160MHz.txt new file mode 100644 index 0000000000000000000000000000000000000000..a0df2f55ed3aaf79e194015d6f075d92c86d5da0 --- /dev/null +++ b/applications/lofar2/doc/prestudy/station2_sdp_160MHz.txt @@ -0,0 +1,20 @@ +SDP @ 160 MHz: + +1) Hoe weet de firmware eigenlijk dattie op 160MHz draait? +Daarvoor moeten we een component toevoegen die gebruik maakt van de 25MHz crystal clock (van het 1GbE interface) en daarmee dan telt hoeveel CLK pulsen er in 1 seconde zitten. Het M&C interface werkt ook op deze 25MHz crystal, en daarom blijft het bord wel bereikbaar na een CLK 160M <-> 200M wissel. Dus het duurt 1s en dan weet de SDPFW of CLK is 160M of 200M. + +2) SC acties +Na clock wissel 200M --> 160M of andersom is het volgende nodig en genoeg voor SC richting SDP: + +* doe FPGA_boot_image_RW zodat de images opnieuw geladen worden +* write FPGA_pps_expected_cnt_RW met 160M of 200M + +JDM: Als ik FPGA_boot_image_RW schrijf naar de huidige waarde, hoe kan ik dan zien of de FPGAs gereboot zijn? wachten op TR_FPGA_communication_error_R == False oid? +EK: Handmatig poll ik altijd FPGA_firmware_version_R totdat die een naam terug geeft, want het duurt een aantal secondes na een reboot. Maar TR_FPGA_communication_error_R == False voldoet mogelijk ook. + +3) SDPFW modifiaties: +De SDPFW is er nog niet helemaal voor klaar, want FPGA_sdp_info_f_adc_R = 1 = 200 MHz staat fixed in de VHDL code. Dit betekent dat het f_adc veldje in de statistics header en beamlet output header altijd 1 is. Echter dit is makkelijk dynamisch te maken in de SDPFW (zie 1). +De SDPFW moet dan ook dynamisch FPGA_sdp_info_block_period_R goed zetten (staat nu fixed op 5120 ns). + +De BSN nummering blijft verder gelijk, alleen de resolutie wijzigt. Dus BSN waarde voor t0 in 160MHz mode is factor 160/200 = 0.8 kleiner dan voor t0 in 200MHz mode. +