Project

General

Profile

Actions

Task #603

closed

3.0.0.16

Added by paul leroy almost 9 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
02/02/2016
Due date:
% Done:

0%

Estimated time:
revision:

Description


  • 3.0.0.16 *** 02 FEB 2016
    _______________________________
    _ fsw__ Changeset: 266 (3e5aabdb1fce)

ASM restart updated
Snapshot resynch updated
watchdog fully functional
hk_lfr_last_er_ fields handled
spacewire statistics management updated
VHDL registers status stored in the HK packets


Files

README (16.9 KB) README paul leroy, 02/02/2016 03:55 PM
fsw (4.06 MB) fsw paul leroy, 02/02/2016 03:55 PM
plot_delta_SWF_F0_test1.png (189 KB) plot_delta_SWF_F0_test1.png thomas chust, 03/02/2016 12:42 PM
plot_delta_SWF_F0_test2.png (188 KB) plot_delta_SWF_F0_test2.png thomas chust, 03/02/2016 12:42 PM
plot_delta_SWF_F1_test1.png (187 KB) plot_delta_SWF_F1_test1.png thomas chust, 03/02/2016 12:42 PM
plot_delta_SWF_F1_test2.png (185 KB) plot_delta_SWF_F1_test2.png thomas chust, 03/02/2016 12:42 PM
plot_delta_SWF_F2_test1.png (190 KB) plot_delta_SWF_F2_test1.png thomas chust, 03/02/2016 12:42 PM
plot_delta_SWF_F2_test2.png (189 KB) plot_delta_SWF_F2_test2.png thomas chust, 03/02/2016 12:42 PM
tests_time_swf_VHDL-1.1.89_FSW-3.0.0.16_2016_02_03_test1 (116 KB) tests_time_swf_VHDL-1.1.89_FSW-3.0.0.16_2016_02_03_test1 thomas chust, 03/02/2016 12:42 PM
tests_time_swf_VHDL-1.1.89_FSW-3.0.0.16_2016_02_03_test2 (116 KB) tests_time_swf_VHDL-1.1.89_FSW-3.0.0.16_2016_02_03_test2 thomas chust, 03/02/2016 12:42 PM
2016_02_03_15_40_28.png (37.8 KB) 2016_02_03_15_40_28.png un exemple de la dérive du centre des snapshots à f0 avec 22s paul leroy, 03/02/2016 03:59 PM
Actions #1

Updated by Veronique bouzid almost 9 years ago

  • Assignee set to Veronique bouzid

Logiciel installé dans /opt/LFR/LFR-FSW/3.0.0.16
Mise à jour des scripts d'initialisation (Famille des /opt/VALIDATION_R3/LFRControlPlugin*) en positionnant FSW_VER = "3.0.0.16"
Mise à jour du fichier /opt/VALIDATION_R3/lfrverif/common/param.py

Lancement du script /home/validation/SCRIPT/just_hk_survey.py
Analyse de la premiere TM_LFR_HK
- Version du soft 3.0.0.16
- Watchdog activé SY_LFR_WATCHDOG_ENABLED: ENABLED = 1
- detection erreur absence de timecode HK_LFR_TIMECODE_MISSING=1,
- comptabilisation des erreurs HK_LFR_LE_CNT=1, HK_LFR_ME_CNT=0, HK_LFR_HE_CNT=0,
- description de la derniere erreur détectée
HK_LFR_LAST_ER_RID: LE_LFR_TIMEC = 42129, HK_LFR_LAST_ER_CODE: MISSING = 21, HK_LFR_LAST_ER_TIME=0x800000022f33,

Voici un extrait du fichier utilisé pour valider un premier test:
16:14:10.847433, TM_LFR_HK, CCSDS_VERSION_NUMBER = 0, PACKET_TYPE: TM_PACKET = 0, DATA_FIELD_HEADER_FLAG: WITH_HEADER = 1, PROCESS_ID: RPW_PID_2 = 76, PACKET_CATEGORY: HK_ROUTINE = 4, (PACKET_ID=0xcc4), SEGMENTATION_GROUPING_FLAG: STANDALONE_PACKET = 3, SEQUENCE_CNT=8, (PACKET_SEQUENCE_CONTROL=0xc008), PACKET_LENGTH=129, SPARE_1=0, PUS_VERSION = 1, SPARE_2=0, SERVICE_TYPE: HOUSEKEEPING_AND_DIAGNOSTIC_DATA_REPORTING = 3, SERVICE_SUBTYPE: HK_PARAMETER_REPORT = 25, DESTINATION_ID: GROUND = 0, TIME=0x8000000a48da, PA_LFR_HK_REPORT_SID: LFR_HK_SID = 1, HK_LFR_MODE: STANDBY = 0, HK_LFR_DPU_SPW_ENABLED: ENABLED = 1, HK_LFR_DPU_SPW_LINK_STATE: RUN = 5, SPARE=0x0, HK_LFR_SC_POTENTIEL_FLAG: ON = 1, HK_LFR_MAG_FIELDS_FLAG: OFF = 0, SY_LFR_WATCHDOG_ENABLED: ENABLED = 1, HK_LFR_CALIB_ENABLED: DISABLED = 0, HK_LFR_RESET_CAUSE: POWER_ON = 1, SY_LFR_SW_VERSION_N1=3, SY_LFR_SW_VERSION_N2=0, SY_LFR_SW_VERSION_N3=0, SY_LFR_SW_VERSION_N4=16, SY_LFR_FPGA_VERSION_N1=1, SY_LFR_FPGA_VERSION_N2=1, SY_LFR_FPGA_VERSION_N3=89, HK_LFR_CPU_LOAD=0.392156862745, HK_LFR_CPU_LOAD_MAX=3.13725490196, HK_LFR_CPU_LOAD_AVE=0.0, HK_LFR_Q_SD_FIFO_SIZE_MAX=1, HK_LFR_Q_SD_FIFO_SIZE=50, HK_LFR_Q_RV_FIFO_SIZE_MAX=0, HK_LFR_Q_RV_FIFO_SIZE=10, HK_LFR_Q_P0_FIFO_SIZE_MAX=0, HK_LFR_Q_P0_FIFO_SIZE=10, HK_LFR_Q_P1_FIFO_SIZE_MAX=0, HK_LFR_Q_P1_FIFO_SIZE=10, HK_LFR_Q_P2_FIFO_SIZE_MAX=0, HK_LFR_Q_P2_FIFO_SIZE=5, HK_LFR_UPDATE_INFO_TC_CNT=0, HK_LFR_UPDATE_TIME_TC_CNT=0, HK_LFR_EXE_TC_CNT=0, HK_LFR_REJ_TC_CNT=0, HK_LFR_LAST_EXE_TC_ID=0x0, HK_LFR_LAST_EXE_TC_TYPE=0, HK_LFR_LAST_EXE_TC_SUBTYPE=0, HK_LFR_LAST_EXE_TC_TIME=0x000000000000, HK_LFR_LAST_REJ_TC_ID=0x0, HK_LFR_LAST_REJ_TC_TYPE=0, HK_LFR_LAST_REJ_TC_SUBTYPE=0, HK_LFR_LAST_REJ_TC_TIME=0x000000000000, HK_LFR_LE_CNT=1, HK_LFR_ME_CNT=0, HK_LFR_HE_CNT=0, HK_LFR_LAST_ER_RID: LE_LFR_TIMEC = 42129, HK_LFR_LAST_ER_CODE: MISSING = 21, HK_LFR_LAST_ER_TIME=0x800000022f33, HK_LFR_VHDL_AA=0, HK_LFR_VHDL_SM=0, HK_LFR_VHDL_FFT=0, HK_LFR_VHDL_SR=0, HK_LFR_VHDL_CIC=0, HK_LFR_VHDL_HK=0, HK_LFR_VHDL_IIR=0, HK_LFR_VHDL_CAL=0, HK_LFR_DPU_SPW_PKT_RCV_CNT=0, HK_LFR_DPU_SPW_PKT_SENT_CNT=8, HK_LFR_DPU_SPW_TICK_OUT_CNT=0, HK_LFR_DPU_SPW_LAST_TIMC=0, HK_LFR_LAST_FAIL_ADDR=0x0, HK_LFR_TEMP_SCM=202.49degC, HK_LFR_TEMP_PCB=18.34degC, HK_LFR_TEMP_FPGA=20.53degC, HK_LFR_SC_V_F3=592, HK_LFR_SC_E1_F3=504, HK_LFR_SC_E2_F3=378, SPARE=0x0, SY_LFR_BW=1, SY_LFR_SP0=0, SY_LFR_SP1=0, SY_LFR_R0=0, SY_LFR_R1=0, SY_LFR_R2=0, HK_LFR_DPU_SPW_PARITY=0, HK_LFR_DPU_SPW_DISCONNECT=0, HK_LFR_DPU_SPW_ESCAPE=0, HK_LFR_DPU_SPW_CREDIT=0, HK_LFR_DPU_SPW_WRITE_SYNC=0, HK_LFR_DPU_SPW_RX_AHB=0, HK_LFR_DPU_SPW_TX_AHB=0, HK_LFR_DPU_SPW_EARLY_EOP=0, HK_LFR_DPU_SPW_INVALID_ADDR=0, HK_LFR_DPU_SPW_EEP=0, HK_LFR_DPU_SPW_RX_TOO_BIG=0, HK_LFR_TIMECODE_ERRONEOUS=0, HK_LFR_TIMECODE_MISSING=1, HK_LFR_TIMECODE_INVALID=0, HK_LFR_TIME_TIMECODE_IT=0, HK_LFR_TIME_NOT_SYNCHRO=0, HK_LFR_TIME_TIMECODE_CTR=0, HK_LFR_BUFFER_DPU_TC_FIFO=0, HK_LFR_BUFFER_DPU_TM_FIFO=0, HK_LFR_AHB_CORRECTABLE=0, HK_LFR_AHB_UNCORRECTABLE=0, SPARE=0x0

Je demarre donc la campagne de tests fonctionnels ainsi que les tests pour valider les SWF.

Actions #2

Updated by thomas chust almost 9 years ago

Tests fait sur la synchro:
- test 1 : SBM1 30min + SBM2 30min
- test 2 : NM 60 min
Résultats: pas mal du tout, bravo Paul ! (voir fichiers joints)

Un bémol: est-ce que si le test durait plus longtemps (disons 12-24h) on n'observerait pas un décalage global bien plus grand de qqes dizaines de ms ?
Sur les données SBM on devine en effet une tendance à la baisse des courbes oscillantes; sur les données NM ce n'est pas vraiment visible ?

Actions #3

Updated by bruno katra almost 9 years ago

Pour répondre à Thomas : le plan de validation de Véro et moi inclue des tests longs en nominal que nous allons lancer ce soir. Ça consiste en 15h de NORMAL mode avec les SWF à 300s et le TIMEGEN : on va voir ce que ça donne...

Actions #4

Updated by paul leroy almost 9 years ago

En travaillant sur l'explication de la resynchro, et en faisant des tests en parallèle, j'ai vu un truc bizarre (une correction qui s'applique avec un décalage que je ne comprenais pas). J'ai modifié un peu la resynchro et ça a corrigé cet aléa qui pouvait se produire. A suivre dans la révision 3.0.0.17

Normalement ça ne devrait pas descendre davantage. La correction se fait de façon cyclique, en deux étapes [MEASURE, CORRECTION]. On démarre dans l'état MEASURE. Le paramètre sur lequel on joue est delta_snapshot.

MEASURE à la réception du snapshot (k), on mesure une correction qui sera appliquée sur le snapshot (k+1) et on passe dans l'état CORRECTION
CORRECTION A la réception du snapshot (k+1) on enlève la correction (retour à la valeur nominale de delta_snapshot pour le snapshot k+3), on retourne à l'état MEASURE

En c dans le texte, ça donne ça:

switch (state)
    {

    case MEASURE:
        // ********
        PRINTF("MEASURE ===\n");
        state = CORRECTION;
        correction = computeCorrection( timePtr );
        PRINTF1("MEASURE === correction = %.2f\n", correction );
        applyCorrection( correction );
        PRINTF1("MEASURE === delta_snapshot = %d\n", waveform_picker_regs->delta_snapshot);
        //****
        break;

    case CORRECTION:
        //************
        PRINTF("CORRECTION ===\n");
        state = MEASURE;
        computeCorrection( timePtr );
        correction = -correction;
        PRINTF1("CORRECTION === correction = %.2f\n", correction );
        applyCorrection( correction );
        PRINTF1("CORRECTION === delta_snapshot = %d\n", waveform_picker_regs->delta_snapshot);
        //****
        break;

    default:
        break;

    }

Actions #6

Updated by paul leroy almost 9 years ago

  • Assignee changed from paul leroy to bruno katra
Actions #7

Updated by bruno katra over 7 years ago

  • Status changed from New to Closed
Actions

Also available in: Atom PDF