Bug #68
closedInitialisation de l'heure interne du LFR: pb avec le MSB
0%
Description
A l'initialisation, le temps interne doit être affecté à 0x800000000000 (valeur au format CUC avec msb à 1 car non synchronisé avec un time code).
Ce n'est malheureusement pas toujours le cas:
(...)
16:06:27.45833, TC_LFR_RESET, (PACKET_ID=0x1ccc, PACKET_SEQUENCE_CONTROL=0xc42f)
16:06:27.461393, TM_LFR_TC_EXE_NOT_IMPLEMENTED, TIME=0x0000001d75d5, PA_RPW_TELECOMMAND_PKT_ID=0x1ccc, PA_RPW_PKT_SEQ_CONTROL=0xc42f
Toutefois, après un délai suffisant, le passage du MSB à 1 est constaté (LFR ne reçoit actuellement pas de time code).
Contexte:
LPPMON: Version=0.2.2 Branch=default Changeset=835955994d5f
Carte mini-LFR: LFR-172200 dev V1.0; No série III (sans connecteurs sub-click)
Vhdl: mini-lfr_0.0.0.15
Brique Star-Dundee S/N 46120065.
Soft:1.0.0.1 (variante sur carte finale)
TEST CASE = SVS_0011
Req = SSS-CP-FS-360
RPW-SYS-MEB-LFR-ICD-00097 Issue2_Rev0
RPW-SYS-SSS-00013-LES + Annex_Release_Definition Issue2_rev1
Updated by Gerald Saule almost 11 years ago
nb: cette issue porte sur le reset HW (en attendant la génération de HK conformes à l'icd, l'emploi de TC_LFR_RESET sert à provoquer un acquittement avec le champ TIME).
Updated by paul leroy almost 11 years ago
- Status changed from New to In Progress
le bug est identifié. la correction nécessite un peu de redesign au niveau VHDL. Jean-CHristophe s'en occupe.
Updated by paul leroy over 10 years ago
- Status changed from In Progress to Resolved
fsw >= 1.0.0.5
vhdl >= 0.1.9
Au démarrage, le temps est réinitialisé à 0x80000000. LFR attend une synchro valide pour remettre à 0 le bit de synchro.
Une synchro valide = un paquet TC_LFR_UPDATE_TIME + un timecode.
Updated by paul leroy over 10 years ago
- Assignee changed from paul leroy to bruno katra
Updated by Veronique bouzid over 10 years ago
- Status changed from Resolved to Closed
Test rejoué en version 1.0.0.8
le testcase est SVS-0011.
On commence par un reset HW et ensuite on attend un moment.
On voit avec le dummy HK que le temps interne est proche de 0 et que le bit MSB=1.
1*5:41:25.009588, 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=0, (PACKET_SEQUENCE_CONTROL=0xc000), PACKET_LENGTH=117, 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=0x800000000eb3, PA_LFR_HK_REPORT_SID: LFR_HK_SID = 1, /!\HK_LFR_MODE: 15, HK_LFR_TIMECODE_MISSING=255, HK_LFR_TIMECODE_INVALID=255, HK_LFR_TIME_TIMECODE_IT=255, HK_LFR_TIME_NOT_SYNCHRO=255, HK_LFR_TIME_TIMECODE_CTR=255, HK_LFR_BUFFER_DPU_TC_FIFO=255, HK_LFR_BUFFER_DPU_TM_FIFO=255, HK_LFR_AHB_CORRECTABLE=255, HK_LFR_AHB_UNCORRECTABLE=255, /!\SPARE=0xff
Ensuite après la séquence de boot (environ 2s) on observe un paquet de TM_LFR_HK avec 1s de périodicité.
15:41:27.10752, 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=1, (PACKET_SEQUENCE_CONTROL=0xc001), PACKET_LENGTH=117, 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=0x80000002282b, PA_LFR_HK_REPORT_SID: LFR_HK_SID = 1, HK_LFR_MODE: STANDBY = 0,
15:41:28.107341, 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=2, (PACKET_SEQUENCE_CONTROL=0xc002), PACKET_LENGTH=117, 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=0x80000003282
Ne pas se baser sur le parametre SEQUENCE_CNT (pas correct pour cette version).
une cde UPDATE_TIME + time code
15:41:45.69243, TC_LFR_UPDATE_TIME, CP_RPW_TIME=0x000000000000
15:41:45.992749,Time code sent
15:41:46.12706, 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=20, (PACKET_SEQUENCE_CONTROL=0xc014), PACKET_LENGTH=117, 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=0x000000001cb5
entraine une mise à l heure et le bit de synchro MSB=0.