file:///E/PRODUCT/Adobe/Adobe Experience Manager forms/temp/pdfg-SVC WINDCHILL/3d/756c-a04ec0-c57be9-6678f4-d81a4c-2f94d6/WebCapture.html

AGGA-4 User Manual - Microchip Technology

User Manual. Prepared by: Jens Heim – TSPTC6. System Engineer GNSS. Date: C hecked by: Isaac Tejerina – TSPTC. System Engineer ASIC.

PDF AGGA4 User Manual 1
Ref: AGGA-ADSO-UM-1000485489 Issue: 01 Date: Nov 26, 2018

AGGA

AGGA-4 User Manual

Approval Information:

Name/Role:

Date:

BECKER, Thomas (OTN) / Product Assurance

May 02, 2019 03:01:07 PM GMT

LEMBKE, Erik [DE] / Project Manager

Apr 30, 2019 01:14:39 PM GMT

CADM office certifies that the above persons have signed this document by electronic validation process supported by Airbus Group tools. The current issue is the electronic copy available through Airbus Defence and Space PDM. All paper copies are for information only.

Left intentionally blank

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 1 of 230

AT7991 (AGGA-4) User Manual

Prepared by:

Jens Heim ­ TSPTC6 System Engineer GNSS

C hecked by:

Isaac Tejerina ­ TSPTC System Engineer ASIC

Approved by:

Thomas Becker ­ TOQSP1 Qualit y Assurance

Rel eased by:

Erik Lembke ­ TSPAC3 Project Manager

Date: Date: Date: Date:

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual
Document Revision History

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 2 of 230

Revision Issue 1

Date 26. Apr. 2019

Responsi bl e Jens Heim

Modi fi cati ons / Reasons for C hange
Initial Release (based on AGGA-4 Datasheet 1.1)
· Updat e of Section 1.1 Introduction · Added Not e about cache snooping issue to 4.9.2.3 · Added Cache Snooping Know Issue chapter 8.4.11 · SYS_CLK_DIV Clarification in chapter 6.3 · Removed min. timings from Table 6-2, covered by
ATMEL datasheet · Added new applicable document to section 1.5.1 · Added new reference document to section 1.5.2 · Added link to AGGA-4 Radiation test to 8.2 · Updat e of Section 8.4.7 · Corrected Table reference in 3.4.3.1 · Renamed space to taps in 3.4.4.4 to be consistent · Edit orial Correction in 7.4.5.17 · Corrected Code RAM description in 3.4.3.2 · Added ME/IE CarrObs/Phase to Fi gure 3-31 · Updat e of section 1.2

­ All Rights Reserved ­ Copyright per DIN 34 ­

Table of Contents

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 3 of 230

1 INTRO DUC TION................................................................................................................... 12
1.1 PURPOSE.......................................................................................................................... 12 1.2 OPEN POINTS..................................................................................................................... 12 1.3 NOTATION........................................................................................................................ 12 1.4 ACRONYMS....................................................................................................................... 12 1.5 REFERENCES ..................................................................................................................... 14
1.5.1 Applicable Documents.................................................................................................................................... 14 1.5.2 Reference Documents...................................................................................................................................... 15
2 AGGA-4 OVERVIEW ............................................................................................................. 16
3 GNSS CORE.......................................................................................................................... 17
3.1 INPUT MODULE.................................................................................................................. 18 3.1.1 Input Format Converter (IFC) ....................................................................................................................... 21 3.1.2 Digital Down Converter (DDC) Module....................................................................................................... 22
3.1.2.1 T wo to Five Converter ....................................................................................................................................22 3.1.2.2 DDC I/Q Mixer Stage .....................................................................................................................................23 3.1.2.3 Decimating FIR Filter .....................................................................................................................................25 3.1.2.4 Re-Quantizer ..................................................................................................................................................26
3.1.3 Real to Complex Converter (R2C)................................................................................................................. 27
3.1.3.1 R2C I/Q Mixer Stage ......................................................................................................................................28 3.1.3.2 FIR Filter........................................................................................................................................................28 3.1.3.3 R2C Re-Quantizer...........................................................................................................................................30
3.1.4 D/A Converter................................................................................................................................................. 31 3.2 POWER LEVEL DETECTOR ..................................................................................................... 32
3.2.1 Power Level Detector 5I................................................................................................................................. 32 3.2.2 Power Level Detector IQ................................................................................................................................ 33
3.2.2.1 General Overview...........................................................................................................................................33 3.2.2.2 Insights to Pre-Accumulator and Re-Quantization............................................................................................34
3.3 DIGITAL BEAM FORMING (DBF) ............................................................................................. 37 3.4 CHANNEL MATRIX WITH CHANNELS ........................................................................................ 40
3.4.1 Input Selector................................................................................................................................................... 41 3.4.2 Final Down Converter (FDC)........................................................................................................................ 41
3.4.2.1 Carrier Generator............................................................................................................................................41 3.4.2.2 Carrier Mixer..................................................................................................................................................42
3.4.3 Code Generator Unit ...................................................................................................................................... 43
3.4.3.1 Very Flexible Co de Generator (VFCG) ............................................................................................................46 3.4.3.2 Primary Code Memory....................................................................................................................................49 3.4.3.3 Secondary Code Memory ................................................................................................................................50 3.4.3.4 BOC Processing..............................................................................................................................................51 3.4.3.5 Code Rate Generator.......................................................................................................................................52 3.4.3.6 Code Generator Unit Configuration Examples: ................................................................................................54
3.4.4 Code Delay Line Unit (CDLU) ...................................................................................................................... 58
3.4.4.1 Code Input Select............................................................................................................................................59 3.4.4.2 Code Swap .....................................................................................................................................................59 3.4.4.3 Delay Line Clock Select..................................................................................................................................59 3.4.4.4 Delay Line......................................................................................................................................................60 3.4.4.5 Code Output Select .........................................................................................................................................61
3.4.5 Correlator Unit ............................................................................................................................................... 61
3.4.5.1 Multiplier .......................................................................................................................................................62 3.4.5.2 Integration Counter .........................................................................................................................................64 3.4.5.3 Continuous Counter ........................................................................................................................................64 3.4.5.4 Long Epoch (LE) ............................................................................................................................................64 3.4.5.5 Integrator........................................................................................................................................................65 3.4.5.6 Data Collect....................................................................................................................................................65
3.4.6 Aiding Unit ...................................................................................................................................................... 66
3.4.6.1 Code Aiding Unit............................................................................................................................................66 3.4.6.2 Carrier Aiding Unit .........................................................................................................................................68
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 4 of 230

3.4.6.3 Aiding Clock Generation.................................................................................................................................70 3.4.6.4 Behaviour Examples.......................................................................................................................................71
3.4.7 Observables..................................................................................................................................................... 72
3.4.7.1 Integration Epoch Observables ........................................................................................................................73 3.4.7.2 Measurement Epoch Observables ....................................................................................................................74 3.4.7.3 DMA T ransfer of GNSS Observables ..............................................................................................................74 3.4.7.4 T iming Notes about GNSS Observables...........................................................................................................75
3.4.8 Channel Slaving Concepts.............................................................................................................................. 76
3.4.8.1 Hardware/Software Slaving .............................................................................................................................76 3.4.8.2 Examples........................................................................................................................................................77
3.5 TIME BASE GENERATOR ....................................................................................................... 78 3.5.1 Epoch Clock (EC) ........................................................................................................................................... 78 3.5.2 Measurement Epoch (ME).............................................................................................................................. 78 3.5.3 Pulse Per Second (PPS).................................................................................................................................. 79 3.5.4 Synchronisation of ME and PPS.................................................................................................................... 79 3.5.5 Instrument Measurement Time (IMT)............................................................................................................ 79 3.5.6 External Clock (ExtClk) Interface.................................................................................................................. 80 3.5.7 Delay Line Clock Sync.................................................................................................................................... 80
3.6 ANTENNA SWITCH CONTROLLER (ASC) .................................................................................... 81 3.6.1 Antenna Switch Epoch (ASE) ......................................................................................................................... 81 3.6.2 Antenna Switch Sequencer.............................................................................................................................. 81 3.6.3 Antenna Switch Correlation Results.............................................................................................................. 82
3.7 AMBA HIGH PERFORMANCE BUS (AHB) INTERFACE ................................................................... 84
4 PROC ESSOR MODULE.......................................................................................................... 85
4.1 INTEGER UNIT ................................................................................................................... 85 4.1.1 Instruction Timing........................................................................................................................................... 85
4.2 FLOATING POINT UNIT (FPU)................................................................................................. 86 4.2.1 Floating-point number formats...................................................................................................................... 86 4.2.2 FP operations.................................................................................................................................................. 86 4.2.3 Exceptions........................................................................................................................................................ 88 4.2.4 Rounding.......................................................................................................................................................... 88 4.2.5 Denormalized numbers................................................................................................................................... 88 4.2.6 Non-standard Mode........................................................................................................................................ 88 4.2.7 NaNs.................................................................................................................................................................89 4.2.8 Timing ..............................................................................................................................................................89 4.2.9 GRFPC - GRFPU Control Unit..................................................................................................................... 89 4.2.10 Floating-Point register file............................................................................................................................. 89 4.2.11 Floating-Point State Register (FSR).............................................................................................................. 89 4.2.12 Floating-Point Exceptions and Floating-Point Deferred-Queue................................................................ 90
4.3 EXCEPTIONS...................................................................................................................... 90 4.4 WATCH-POINTS.................................................................................................................. 91 4.5 POWER DOWN REGIST ER ...................................................................................................... 91 4.6 LEON CONFIGURATION REGISTER............................................................................................ 92 4.7 FAULT TOLERANT FEATURES.................................................................................................. 92
4.7.1 Register file protection.................................................................................................................................... 92 4.7.2 External memory EDAC ................................................................................................................................. 92 4.7.3 Cache memory protection............................................................................................................................... 93 4.8 MULTIPLICATION/DIVISION INSTRUCTIONS ................................................................................ 93 4.9 CACHE SUB-SYSTEM ........................................................................................................... 93 4.9.1 Instruction Cache............................................................................................................................................ 95
4.9.1.1 Operation........................................................................................................................................................95 4.9.1.2 Instruction cache tag .......................................................................................................................................95
4.9.2 Data Cache...................................................................................................................................................... 96
4.9.2.1 Operation........................................................................................................................................................96 4.9.2.2 Write buffer ....................................................................................................................................................96 4.9.2.3 Data Cache Snooping......................................................................................................................................96 4.9.2.4 Data Cache T ag...............................................................................................................................................96
4.9.3 Cache Flushing ............................................................................................................................................... 97 4.9.4 Diagnostic Cache access................................................................................................................................ 97 4.9.5 Cache Freeze Alert.......................................................................................................................................... 97
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 5 of 230

4.10 BYTE/HALF WORD ACCESSES ................................................................................................ 97 4.11 MEMORY CONTROLLER ........................................................................................................ 99
4.11.1 Attaching an external memory controller...................................................................................................... 99 4.11.2 8-bit PROM/EEPROM and SRAM access..................................................................................................... 99 4.11.3 8-bit IO access................................................................................................................................................. 99 4.12 INTERRUPT CONTROLLER.....................................................................................................100
4.12.1 Primary Interrupt Controller (PIC).............................................................................................................100
4.12.1.1 Pending Interrupt Cleared by T icc .............................................................................................................100
4.12.2 GNSS Interrupt Controller (GIC) ................................................................................................................101 4.12.3 Communication Interrupt Controller (CIC)................................................................................................102 4.13 TIMER UNIT .....................................................................................................................103 4.14 WRITE PROTECTION UNIT ....................................................................................................104
4.14.1 Overview........................................................................................................................................................104 4.14.2 Address/Mask Write Protection ...................................................................................................................104 4.14.3 Start/End Address Write Protection.............................................................................................................105 4.14.4 Generation of Write Protection....................................................................................................................105 4.15 AHB STATUS REGISTER ......................................................................................................105 4.16 HARDWARE DEBUG SUPPORT UNIT.........................................................................................106
4.16.1 Overview........................................................................................................................................................106 4.16.2 DSU Memory Map ........................................................................................................................................107 4.16.3 Trace Buffer...................................................................................................................................................107 4.16.4 DSU Control Register...................................................................................................................................109 4.16.5 DSU (Hardware) Breakpoints......................................................................................................................109 4.16.6 Instruction (Software) Breakpoints..............................................................................................................109 4.16.7 DSU Trap Register........................................................................................................................................109 4.16.8 Single Stepping..............................................................................................................................................109 4.16.9 Booting from DSU.........................................................................................................................................109
5 INTERFAC E MODULES........................................................................................................110
5.1 UART............................................................................................................................110 5.1.1 Transmitter Operation..................................................................................................................................110 5.1.2 Receiver Operation .......................................................................................................................................111 5.1.3 Baud Rate Generation...................................................................................................................................112 5.1.4 General UART Rules.....................................................................................................................................112 5.1.5 Error Handling..............................................................................................................................................112
5.1.5.1 Framing Error...............................................................................................................................................112 5.1.5.2 Parity Error...................................................................................................................................................112 5.1.5.3 Overrun in Receiver......................................................................................................................................113 5.1.5.4 Break Received.............................................................................................................................................113 5.1.5.5 T imeout........................................................................................................................................................113
5.1.6 Internal Loopback.........................................................................................................................................113 5.2 SPACEWIRE .....................................................................................................................114
5.2.1 SpaceWire Module........................................................................................................................................114 5.2.2 Data Transfer................................................................................................................................................114 5.2.3 SpW Interrupts...............................................................................................................................................115 5.3 MIL-BUS ........................................................................................................................116
5.3.1 General description.......................................................................................................................................116 5.3.2 Architectural description..............................................................................................................................116
5.3.2.1 1553B bus coupling module architecture........................................................................................................116 5.3.2.2 IP1553 internal architecture...........................................................................................................................117
5.3.3 IP1553 Initialization.....................................................................................................................................117
5.3.3.1 APB Interface...............................................................................................................................................118 5.3.3.2 Remote T erminal (RT ) mode definition .........................................................................................................119 5.3.3.3 IP1553 System interface................................................................................................................................132
5.4 DSU COMMUNICATION LINK ................................................................................................136 5.4.1 DSU UART Operation ..................................................................................................................................136 5.4.2 DSU UART Baud rate generation (not available in DSU SpaceWire operation) ....................................137 5.4.3 DSU SpaceWire Operation...........................................................................................................................137
5.5 SERIAL PERIPHERAL INTERFACE (SPI) .....................................................................................138 5.6 16-BIT I/OPORT ................................................................................................................139

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 6 of 230

5.7 GPIO.............................................................................................................................139 5.8 SERIAL GENERAL PURPOSE OUTPUT (SGPO).............................................................................140
6 SYSTEM SUPPORT FUNC TIO NS ...........................................................................................141
6.1 FFT MODULE ...................................................................................................................141 6.1.1 FFT-AHB interface.......................................................................................................................................141 6.1.2 FFT Handling................................................................................................................................................141
6.2 CRC MODULE ..................................................................................................................142 6.3 EEPROM SUPPORT FUNCTION ..............................................................................................143 6.4 CLOCK DISTRIBUTION.........................................................................................................145
6.4.1 System Clock (SysClk) Divider.....................................................................................................................146 6.4.2 GNSS Core Clock (CoreClk) Generation....................................................................................................146 6.4.3 Mil-Bus Clock Generation............................................................................................................................146 6.4.4 System Clock (SysClk) Generation ..............................................................................................................146 6.4.5 SPI Clock (SPIClk) Generation....................................................................................................................147 6.4.6 SpWClock Generation..................................................................................................................................147 6.4.7 PLL Lock Status............................................................................................................................................147 6.5 RESET MECHANISMS ..........................................................................................................148 6.5.1 Power On Reset.............................................................................................................................................148 6.5.2 Watchdog Reset.............................................................................................................................................148 6.5.3 AGGA-4 Reset ...............................................................................................................................................149 6.5.4 GNSS Reset....................................................................................................................................................149 6.5.5 SW Reset ........................................................................................................................................................149 6.5.6 SpW Reset ......................................................................................................................................................149 6.5.7 Mil-Bus Reset.................................................................................................................................................150 6.5.8 UART Reset....................................................................................................................................................150 6.5.9 Mil-Bus triggered Reset................................................................................................................................150 6.5.10 Reset Status Register.....................................................................................................................................150 6.5.11 Processor reset..............................................................................................................................................150 6.6 AMBA BUS ....................................................................................................................151 6.6.1 AHB priorities...............................................................................................................................................151 6.6.2 AHB/APB bus access duration.....................................................................................................................151 6.7 TEST SUPPORT PINS............................................................................................................152 6.7.1 I/Q Data.........................................................................................................................................................152 6.7.2 IntEpoch and Code Out ................................................................................................................................152 6.7.3 IMT_12...........................................................................................................................................................152
7 PROGRAMMING .................................................................................................................153
7.1 OVERALL ADDRESS MAP .....................................................................................................153 7.2 APB ADDRESS MAP (PROCESSOR, INTERFACE AND SYSTEM SUPPORT)..............................................153
7.2.1 Overview........................................................................................................................................................153 7.2.2 LEON and Memory Interface Registers.......................................................................................................157
7.2.2.1 MCFG1 (Memory Configuration Register 1)..................................................................................................157 7.2.2.2 MCFG2 (Memory Configuration Register 2)..................................................................................................158 7.2.2.3 MCFG3 (Memory Configuration Register 3)..................................................................................................159 7.2.2.4 AHBFailin gAddress ......................................................................................................................................159 7.2.2.5 AHBStatus....................................................................................................................................................159 7.2.2.6 CacheCtrl .....................................................................................................................................................160 7.2.2.7 PowerDown ..................................................................................................................................................161 7.2.2.8 LeonConfig...................................................................................................................................................161
7.2.3 Timer Registers.............................................................................................................................................162
7.2.3.1 T imerN_Counter...........................................................................................................................................162 7.2.3.2 T imerN_Reload ............................................................................................................................................162 7.2.3.3 T imerN_Ctrl.................................................................................................................................................162 7.2.3.4 T imerPrescaleCounter...................................................................................................................................163 7.2.3.5 T imerPrescaleReload ....................................................................................................................................163
7.2.4 Primary Interrupt Controller Registers.......................................................................................................163
7.2.4.1 PrimIntMaskAndPrio....................................................................................................................................163 7.2.4.2 PrimIntPending.............................................................................................................................................164 7.2.4.3 PrimIntForce.................................................................................................................................................165 7.2.4.4 PrimIntClear .................................................................................................................................................166
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 7 of 230

7.2.5 PIO Registers.................................................................................................................................................166
7.2.5.1 PIO_IO.........................................................................................................................................................166 7.2.5.2 PIODirection ................................................................................................................................................167 7.2.5.3 PIOIntConfig................................................................................................................................................168
7.2.6 Watchdog Registers.......................................................................................................................................169
7.2.6.1 WdogPrescale ...............................................................................................................................................169 7.2.6.2 WdogReload .................................................................................................................................................169 7.2.6.3 WdogSel.......................................................................................................................................................169 7.2.6.4 WdogWriteEnable.........................................................................................................................................169
7.2.7 Debug link (UART and SPW) Registers......................................................................................................170
7.2.7.1 DSU_UART _Status......................................................................................................................................170 7.2.7.2 DSU_UART _SpW_Ctrl................................................................................................................................170 7.2.7.3 DSU_UART _Scaler ......................................................................................................................................170
7.2.8 Write Protect Registers.................................................................................................................................171
7.2.8.1 WriteProtectN...............................................................................................................................................171 7.2.8.2 WriteProtectStartAddressN ...........................................................................................................................171 7.2.8.3 WriteProtectEndAddressN ............................................................................................................................171
7.2.9 GPIO Registers..............................................................................................................................................171
7.2.9.1 GPIO_Status.................................................................................................................................................171 7.2.9.2 GPIO_Output................................................................................................................................................172 7.2.9.3 GPIO_Direction............................................................................................................................................172
7.2.10 Reset and Miscellaneous Registers..............................................................................................................172
7.2.10.1 ResetStatus ...............................................................................................................................................172 7.2.10.2 SWRe setEnable ........................................................................................................................................173 7.2.10.3 SWRe setExecute.......................................................................................................................................173 7.2.10.4 MilBusRT Address ....................................................................................................................................173 7.2.10.5 AGGA4 Version ........................................................................................................................................173
7.2.11 Communication Interrupt Controller Registers..........................................................................................173
7.2.11.1 CIC_Mask ................................................................................................................................................173 7.2.11.2 CIC_Pending ............................................................................................................................................174 7.2.11.3 CIC_Clear ................................................................................................................................................174
7.2.12 SPI Registers.................................................................................................................................................175
7.2.12.1 SPI_StatusAndCtrl....................................................................................................................................175 7.2.12.2 SPI_ClkDivider ........................................................................................................................................176 7.2.12.3 SPI_Tx .....................................................................................................................................................176 7.2.12.4 SPI_Rx .....................................................................................................................................................176
7.2.13 CRC Unit Registers.......................................................................................................................................176
7.2.13.1 CRCLFSR ................................................................................................................................................176 7.2.13.2 CRCPolynom............................................................................................................................................176 7.2.13.3 CRCFinalXOR..........................................................................................................................................177 7.2.13.4 CRCCtrl ...................................................................................................................................................177 7.2.13.5 CRCStartAddress......................................................................................................................................177 7.2.13.6 CRCEndAddress.......................................................................................................................................177 7.2.13.7 CRCCurrentAddress .................................................................................................................................177
7.2.14 MILBUS Registers.........................................................................................................................................178
7.2.14.1 C53CF......................................................................................................................................................178 7.2.14.2 C53EMBA................................................................................................................................................178 7.2.14.3 C53CDST .................................................................................................................................................178 7.2.14.4 C53NIT ....................................................................................................................................................179 7.2.14.5 C53EIT.....................................................................................................................................................179 7.2.14.6 C53RIT ....................................................................................................................................................179 7.2.14.7 C53RT I ....................................................................................................................................................180 7.2.14.8 C53TTI.....................................................................................................................................................180
7.2.15 Serial General Purpose Output (SGPO) Registers.....................................................................................180
7.2.15.1 SGPO_T x.................................................................................................................................................180 7.2.15.2 SGPO_ Status............................................................................................................................................180 7.2.15.3 SGPO_Ctrl ...............................................................................................................................................180 7.2.15.4 SGPO_ Scaler ............................................................................................................................................181
7.2.16 UART Registers.............................................................................................................................................181
7.2.16.1 UART n_Tx_SAP......................................................................................................................................181 7.2.16.2 UART n_Tx_EAP......................................................................................................................................181 7.2.16.3 UART n_Tx_CAP .....................................................................................................................................181 7.2.16.4 UART n_Rx_SAP......................................................................................................................................181 7.2.16.5 UART n_Rx_EAP .....................................................................................................................................181

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 8 of 230

7.2.16.6 7.2.16.7

UART n_Rx_CAP.....................................................................................................................................182 UART n_Status..........................................................................................................................................182

7.2.16.8 UART n_Ctrl.............................................................................................................................................182

7.2.16.9 UART n_Scaler .........................................................................................................................................183

7.2.16.10 UART _Reset ............................................................................................................................................183

7.2.17 Clock, PLL and EEPROM Control Registers.............................................................................................183

7.2.17.1 GNSSCoreClkCtrl.....................................................................................................................................183

7.2.17.2 7.2.17.3

MilBusClk Ctrl..........................................................................................................................................183 P LLSt at us................................................................................................................................................. 1 8 3

7.2.17.4 EEPROM_StatusAndCtrl..........................................................................................................................184

7.2.18 Spacewire Registers......................................................................................................................................184

7.2.18.1 SpWn_StatusAndCtrl................................................................................................................................184

7.2.18.2 SpWn_Tx_SAP ........................................................................................................................................184

7.2.18.3 SpW_T x_EAP..........................................................................................................................................185

7.2.18.4 7.2.18.5

Sp W n _ Tx _ CAP ........................................................................................................................................ 1 8 5 Sp W n _ Tx _ Rx _ Con fig............................................................................................................................... 1 8 5

7.2.18.6 SpWn_Rx_SAP ........................................................................................................................................185

7.2.18.7 SpWn_Rx_EAP........................................................................................................................................185

7.2.18.8 SpWn_Rx_CAP........................................................................................................................................186

7.2.18.9 SpW_Module Config .................................................................................................................................186

7.2.18.10 SpW_ModuleT imeCtrl..............................................................................................................................186

7.2.18.11 SpW_ModuleT imeCode ............................................................................................................................186

7.2.18.12 SpW_ModuleIntMask ...............................................................................................................................186

7.2.18.13 SpW_ModuleIntStatus ..............................................................................................................................187

7.2.18.14 SpW_ModuleIntClear ...............................................................................................................................188

7.3 DSU ADDRESS MAP ...........................................................................................................189

7.3.1 DSU Overview...............................................................................................................................................189

7.3.1.1 DSU_Ctrl .....................................................................................................................................................190

7.3.1.2 T raceBufferCtrl.............................................................................................................................................191 7.3.1.3 T imeT agCounter...........................................................................................................................................191

7.3.1.4 AHB_BreakAddressN ...................................................................................................................................192

7.3.1.5 AHB_MaskN................................................................................................................................................192

7.3.1.6 DSU_T rap ....................................................................................................................................................192

7.4 GNSS ADDRESS MAP .........................................................................................................192

7.4.1 GNSS Base Addresses...................................................................................................................................192

7.4.2 Input Module Registers.................................................................................................................................193
7.4.2.1 InputModuleCtrl ...........................................................................................................................................194

7.4.2.2 DDCMainPhaseInc .......................................................................................................................................194

7.4.2.3 DDCMainFIRQuantT hres.............................................................................................................................194

7.4.2.4 DDCAuxPhaseInc.........................................................................................................................................194

7.4.2.5 DDCAuxFIRQuantT hres...............................................................................................................................195

7.4.2.6 DACtrl .........................................................................................................................................................195

7.4.3 Power Level Detector Registers...................................................................................................................195
7.4.3.1 PLD5IInputSel..............................................................................................................................................196

7.4.3.2 PLD5ICtrl.....................................................................................................................................................196

7.4.3.3 PLDIQInputSel.............................................................................................................................................196

7.4.3.4 PLDIQPreAccCtrl.........................................................................................................................................196

7.4.3.5 PLDIQCtrl....................................................................................................................................................197

7.4.3.6 PLD Accumulation Registers.........................................................................................................................197

7.4.4 Channel Matrix Registers.............................................................................................................................197
7.4.4.1 ChActivation0...............................................................................................................................................198

7.4.4.2 ChActivation1...............................................................................................................................................198

7.4.4.3 DBFInputSel.................................................................................................................................................198

7.4.4.4 EpochClkDiv................................................................................................................................................198

7.4.4.5 MESettings...................................................................................................................................................199

7.4.4.6 PPSSettings ..................................................................................................................................................199

7.4.4.7 AntSwitchCtrl...............................................................................................................................................199

7.4.4.8 ExtClkSettings..............................................................................................................................................199

7.4.4.9 ExtClkCnt.....................................................................................................................................................200

7.4.4.10 ExtClkCntLatched.....................................................................................................................................200

7.4.4.11 IMT_LSW ................................................................................................................................................200

7.4.4.12 IMT_MSW ...............................................................................................................................................200

7.4.4.13 7.4.4.14

ME_IMT _LSW.........................................................................................................................................200 ME_IMT _MSW .......................................................................................................................................200

7.4.4.15 PPS_IMT _LSW........................................................................................................................................200

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 9 of 230

7.4.4.16 PPS_IMT _MSW.......................................................................................................................................201 7.4.4.17 ASE_IMT _LSW .......................................................................................................................................201 7.4.4.18 ASE_IMT _MSW ......................................................................................................................................201 7.4.4.19 PLD_5I_IMT_LSW ..................................................................................................................................201 7.4.4.20 PLD_5I_IMT_MSW .................................................................................................................................201 7.4.4.21 PLD_IQ_IMT _LSW .................................................................................................................................201 7.4.4.22 PLD_IQ_IMT _MSW ................................................................................................................................201 7.4.4.23 AUT _IMT _LSW ......................................................................................................................................201 7.4.4.24 AUT _IMT _MSW .....................................................................................................................................202 7.4.4.25 T estSettings..............................................................................................................................................202
7.4.5 Channel Registers.........................................................................................................................................202
7.4.5.1 ChannelCtrl..................................................................................................................................................203 7.4.5.2 CarrSwFreq ..................................................................................................................................................204 7.4.5.3 CarrSwShift ..................................................................................................................................................204 7.4.5.4 Code SwFre q .................................................................................................................................................204 7.4.5.5 Code SwShift.................................................................................................................................................205 7.4.5.6 NCOSettings.................................................................................................................................................205 7.4.5.7 Code GenUnitCtrl..........................................................................................................................................205 7.4.5.8 PrimCodeRam1Ctrl.......................................................................................................................................206 7.4.5.9 PrimCodeRam2Ctrl.......................................................................................................................................206 7.4.5.10 Sec CodeRam1Ctrl.....................................................................................................................................207 7.4.5.11 Sec CodeRam2Ctrl.....................................................................................................................................207 7.4.5.12 VFCGExtTaps..........................................................................................................................................207 7.4.5.13 VFCGInit .................................................................................................................................................207 7.4.5.14 VFCGLength ............................................................................................................................................208 7.4.5.15 DelayLineCtrl...........................................................................................................................................208 7.4.5.16 CorrUnitCtrl.............................................................................................................................................208 7.4.5.17 IntCountCtrl .............................................................................................................................................209 7.4.5.18 ContCntOffset...........................................................................................................................................209 7.4.5.19 AidingUnitCtrl..........................................................................................................................................209 7.4.5.20 CarrAidFreq..............................................................................................................................................210 7.4.5.21 CarrAidAcc ..............................................................................................................................................210 7.4.5.22 CodeAidFreq ............................................................................................................................................210 7.4.5.23 CodeAidAcc .............................................................................................................................................210 7.4.5.24 LoopState .................................................................................................................................................210 7.4.5.25 IE_IMT_LSW...........................................................................................................................................211 7.4.5.26 IE_ValueEE_I...........................................................................................................................................211 7.4.5.27 IE_ValueEE_Q .........................................................................................................................................211 7.4.5.28 IE_ValueE_I .............................................................................................................................................211 7.4.5.29 IE_ValueE_Q ...........................................................................................................................................211 7.4.5.30 IE_ValueP_I .............................................................................................................................................211 7.4.5.31 IE_ValueP_Q............................................................................................................................................212 7.4.5.32 IE_ValueL_I .............................................................................................................................................212 7.4.5.33 IE_ValueL_Q ...........................................................................................................................................212 7.4.5.34 IE_ValueLL_I...........................................................................................................................................212 7.4.5.35 IE_ValueLL_Q .........................................................................................................................................212 7.4.5.36 DataCollect...............................................................................................................................................212 7.4.5.37 IE_CodeFreq ............................................................................................................................................213 7.4.5.38 IE_CarrFreq..............................................................................................................................................213 7.4.5.39 IE_CarrObsPhase......................................................................................................................................213 7.4.5.40 IE_ContCount...........................................................................................................................................213 7.4.5.41 IE_CodePhase...........................................................................................................................................213 7.4.5.42 ME_IMT _LSW.........................................................................................................................................213 7.4.5.43 ME_CarrObsPhase....................................................................................................................................213 7.4.5.44 ME_IntCount............................................................................................................................................214 7.4.5.45 ME_ContCount.........................................................................................................................................214 7.4.5.46 ME_CodePhase.........................................................................................................................................214 7.4.5.47 GNSS DMA Ctrl.......................................................................................................................................214 7.4.5.48 GNSS_ DMAStartAddr..............................................................................................................................215 7.4.5.49 GNSS_ DMAEndAddr ...............................................................................................................................215 7.4.5.50 GNSS_ DMACurAddr ...............................................................................................................................215
7.4.6 Channel RAM Address Map.........................................................................................................................215
7.4.6.1 PrimaryRAM1 ..............................................................................................................................................216 7.4.6.2 PrimaryRAM2 ..............................................................................................................................................216 7.4.6.3 SecondaryRAM1 ..........................................................................................................................................216 7.4.6.4 SecondaryRAM2 ..........................................................................................................................................217
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 10 of 230

7.4.7 GNSS Interrupt Controller Registers...........................................................................................................217
7.4.7.1 GIC_Mask0 ..................................................................................................................................................218 7.4.7.2 GIC_Mask1 ..................................................................................................................................................218 7.4.7.3 GIC_Prio0 ....................................................................................................................................................219 7.4.7.4 GIC_Prio1 ....................................................................................................................................................219 7.4.7.5 GIC_Pend0 ...................................................................................................................................................219 7.4.7.6 GIC_Pend1 ...................................................................................................................................................219 7.4.7.7 GIC_ Clear0 ..................................................................................................................................................220 7.4.7.8 GIC_ Clear1 ..................................................................................................................................................220 7.4.7.9 GIC_QueueLo w............................................................................................................................................221 7.4.7.10 GIC_QueueHigh .......................................................................................................................................221 7.4.7.11 GIC_Queue Status .....................................................................................................................................221
7.5 FFT ADDRESS MAP............................................................................................................223
7.5.1 FFT RAM and Registers...............................................................................................................................223
7.5.1.1 FFT Ctrl........................................................................................................................................................223 7.5.1.2 FFT Value .....................................................................................................................................................223
8 MISC ELLANEO US ...............................................................................................................224
8.1 IMPLEMENTATION LOSSES....................................................................................................224 8.2 RADIATION MITIGATION......................................................................................................225
8.2.1 Flip Flops.......................................................................................................................................................225 8.2.2 RAM's............................................................................................................................................................225 8.2.3 TMR................................................................................................................................................................225
8.2.3.1 Watchdog T MR............................................................................................................................................225 8.2.3.2 AGGA-4 Re set T MR ....................................................................................................................................225 8.2.3.3 GNSS CoreClk Sel T MR................................................................................................................................225 8.2.3.4 Sec ure Lock T MR.........................................................................................................................................226
8.3 SYNCHRONIZATION OF MULTIPLE AGGA DEVICES.......................................................................226 8.4 KNOWN IMPLEMENT AT ION ISSUES AND SUGGEST ED WORK AROUNDS ..............................................227
8.4.1 GNSS Interrupt Queue Initialization ...........................................................................................................227 8.4.2 Cache Freeze Alert........................................................................................................................................227 8.4.3 Pending Interrupt Cleared by Ticc..............................................................................................................227 8.4.4 Reset and Clock Issue...................................................................................................................................227 8.4.5 Start of Code Generators..............................................................................................................................228 8.4.6 SpaceWire RX DMA loss of EOP and data when packets arrive very close.............................................228 8.4.7 Data Loss when utilizing both UART's in parallel.....................................................................................229 8.4.8 GNSS Code Shift error by changing mode..................................................................................................229 8.4.9 GNSS AHB Slave initilization.......................................................................................................................229 8.4.10 Access to non-exisiting GNSS code memories............................................................................................229 8.4.11 Cache Snooping Problem.............................................................................................................................230

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual
Contributions
This document cont ains cont ribut ions by · Deimos Port ugal · Gust avo López-Risueño (ESA) · Isaac Tejerina (Airbus DS) · Jens Heim (Airbus DS) · Josep Rosello (ESA) · Roland Weigand (ESA) · Paul Rast et t er (Airbus DS) · RUAG Aust ria · St ephan Fischer (Airbus DS)

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 11 of 230

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 12 of 230

1 Introduction
1.1 Purpose
The purpose of this document is to describe how t he AGGA-4 works and how it s feat ures can be used by soft ware. Please be aware that this document complements the ATMEL AT7991 datasheet. Timings, Electrical and Mechanical specificat ions as well as pinout is given in t he ATMEL dat asheet . In case t here is overlap, t he ATMEL dat asheet shall prevail.
Note: Usually the description in t he following chapt ers only want s t o give a descript ion of how t he individual funct ional blocks work. It typically does not state every detail how e.g. a bit field can be programmed. This information is list ed in the programming section of the corresponding functional block. Therefore it is recommended in order to get t he full picture of a functional block to look at bot h informat ion sources, t he funct ional descript ion as well t he programming table. The user is also advised to read chapter 8.4 Known Implement at ion Issues and Suggest ed Work Arounds before act ually making use of t he AGGA-4.
The hist ory of t he development is det ailed in [RD-09].

1.2 Open Points
The following points are coming out of the AGGA-4 ASIC Validation. Before usage of these functions, Airbus shall be cont act ed.
1. Phase missaligment bet ween DDC main and DDC aux 2. Real t o Complex FIR Filt er 3. Dual UART operat ion

1.3 Notation
Normal Times New Roman font is used in t his document . When Italics and Capital and Small letters are used it refers to a register (e.g. DACtrl) or to a bitfield in a register or t o an int ernal clock domain (e.g. CoreClk, HalfSampleClk, SysClk). When Italics and only Capit al let t ers are used it refers t o a pin (e.g. EXT_SYS_CLK). Somet imes Bol d is used t o highlight somet hing

1.4 Acronyms

A/D ADC AGC AGGA AHB Alt BOC AMBA APB ASC ASE ASEI ASEO ASIC

Analogue t o Digit al A/D Convert er Aut omat ic Gain Cont rol Advanced GPS Galileo ASIC AMBA High Performance Bus Alt ernat ive BOC Advanced Microcont roller Bus Archit ect ure Advanced Peripheral Bus Ant enna Swit ch Cont rol Ant enna Swit ch Epoch Ant enna Swit ch Epoch Input Ant enna Swit ch Epoch Out put Applicat ion Specific Int egrat ed Circuit

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 13 of 230

ATPG Aut omat ed Test Pat t ern Generat ion

AUT Aiding Unit Trigger

BIST Build In Self Test

BOC Binary Offset Carrier

CBOC Complement ary BOC

CDL Code Delay Line

CRC Cyclic Redundancy Check

D/A Digit al t o Analogue

DBF Digit al Beam Forming

DDC Digit al Down Conversion

DMA Direct Memory Access

EC

Epoch Clock

EDAC Error Det ect ion And Correct ion

FDC Final Down Convert er

FE

Front End

FFT Fast Fourier Transform

FIFO First In First Out

FIT

Failure in Time

FP

Float ing Point

FPU Float ing Point Unit

GNSS Global Navigat ion Sat ellit e Syst em

GPIO General Purpose Input / Out put

GRFPU (Cobham) Gaisler Research Float ing Point Unit

I /O Input / Out put

I/F

Int erface

IE

Int egrat ion Epoch

IF

Int ermediat e Frequency

IFC

Input Format Convert er

IM

Input Module

IMT Inst rument Measurement Time

IMU Inert ial Measurement Unit

IPN Int ernal Problem Not ice

JTAG Joint Test Act ion Group

LE

Long Epoch

LFSR Linear Feedback Shift Regist er

LSB Least Significant Bit

LUT Look Up Table

ME

Measurement Epoch

MEI Measurement Epoch Input

MEO Measurement Epoch Out put

MILBUS MIL-STD-1553B

MSB Most Significant Bit

MUX Mult iplexer

NCO Numerically Cont rolled Oscillat or

PIC

Primary Int errupt Cont roller

PLD Power Level Det ect or

PPS Pulse Per Second

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

PPSI Pulse Per Second Input

PPSO Pulse Per Second Out put

PROM Programmable Read Only Memory

PVT Posit ion Velocit y Time

R2C Real t o Complex Convert er

RF

Radio Frequency

SCK Serial Clock

SCKM SCK Mast er

SCKS SCK Slave

SDRAM Synchronous dynamic random access memory

SEU Single Event Upset

SGPO Serial General Purpose Out put

SPI

Serial Peripheral Int erface

SRAM St at ic Random Access Memory

SV

Space Vehicle

TBG Time Based Generat or

TMBOC Time Mult iplexed BOC

UART Universal asynchronous receiver/t ransmit t er

VFCG Very Flexible Code Generat or

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 14 of 230

1.5 References

1.5.1 Applicable Documents

Id [AD-01]
[AD-02] [AD-03]

Docu m e n t
The SPARC Architecture Manual ht tp://sparc.org/wp-content/uploads/2014/01/v8.pdf.gz
Cobham Gaisler Floating Point Unit (GRFPU) Manual ht tp://gaisler.com/doc/grfpu_product_sheet.pdf
AGGA-3 Technical Note, Implementation Loss Analysis, Issue 1.0, 04. Nov. 2004

[AD-04] ATMEL AT7991 Datasheet [AD-05] AGGA-4 Radiat ion Test Report

Re f e re n ce
AGGA3- AST D- T N- 0001 lat est APL/DOC/2018/0625 (latest)

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 15 of 230

1.5.2 Reference Documents

Id

Docu m e n t

Re f e re n ce

[RD-01]

" Galileo Open Service Signal-In-Space Interface Control Document, Draft 0 (GAL OS SIS ICD/D.0)," Interface Control Document,
European Space Agency / Galileo Joint Undertaking, May 2006 ht tp://www.galileoju.com/page2.cfm

[RD-02] "Navstar GPS Space Segment / Navigation User Interfaces ICD-GPS200C, Rev C," Interface Control Document, January 2003, available at http://www.navcen.uscg.gov/gps/modernization/

[RD-03] [RD-04]

"Navstar GPS Space Segment / User Segment L5 Interfaces ICDGPS-705, Rev 2," Interface Control Document, September 2005, available at http://www.navcen.uscg.gov/gps/modernization/
"Navstar GPS Space Segment / User Segment L1C Interfaces Draft IS-GPS-800," Interface Specification, April 2006, available at ht tp://www.navcen.uscg.gov/gps/modernization/

[RD-05]

GNSS Receiver Design for Attitude Determination, Proceedings of Third ESA International Conference on Spacecraft Guidance, Navigat ion and Control Systems, ref. SP-381, pp. 275-285, February 1997, European Space Agency

[RD-06] AMBA Specification 2.0, 13.05.1999 ht tp://infocenter.arm.com/help/topic/com.arm.doc.ihi0011a/index.html

[RD-07] Mil Bus St andard with Notices

MI L- ST D-1553B

[RD-08] Mil Bus St andard Handbook

MIL-HDBK-1553A

[RD-09] AGGA-4 Final Report, ESA Contract 16831/03/NL/FF, 12.12.2014 AGGA4-ASTD-RP-0003

[RD-10] Anomaly in LEON2FT data cache snooper

ESA- T EC- TN-012539

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 16 of 230

2 AGGA-4 Overview
The AGGA-4 (Advanced GPS/GALILEO ASIC) is a radiation tolerant GNSS baseband ASIC capable of processing the modernized GPS and Galileo Signals. Due to its flexibility it is also able to process not only GPS and Galileo but also ot her GNSS syst ems like Glonass, Compass, et c. While the predecessor AGGA-2 "only" incorporated the GNSS core inside the ASIC, AGGA-4 also incorporat es t he processor, the communication interfaces and other support functions (e.g. FFT, CRC) inside t he ASIC [RD-09]. This simplifies t he GNSS receiver board design, while at t he same t ime increasing t he capabilit ies. Figure 2-1 gives an overview t o t he funct ional blocks inside t heAGGA-4:

UART SpaceWire
SRAM PROM
IO

AGGA-4
Debug comm. link AHB

Trace buffer
Debug Support Unit
AHB

Gaisler FPU
LEON2FT IU
I-Cache D-Cache AHB

Status AHB

write protect
AHB

Arbiter/ Decoder

LEON config TIMERs Watchdog
CIC
PIC

A Mem H Ctrl B

AHB

AHB APB
APB

AHB | DMA SpaceWire

AHB | DMA
MIL-Bus 1553

AHB | DMA UARTs

AHB | DMA CRC

AHB FFT

AHB | DMA
GNSS Core & GIC

GPIO SPI

GPIO I/F SPI I/F

SpaceWire I/F MIL-Bus I/F UART I/F
Legend: GIC: GNSS Interrupt Controller CIC: Communication Interrupt Controller PIC: Primary Interrupt Controller

GNSS Signal I/F

Fi gure 2-1: AGGA-4 System O vervi ew

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 17 of 230

3 GNSS Core
The AGGA-4 GNSS Core is depicted in Figure 3-1. It consists of 4 Input Modules (IM), one Power Level Det ect or (PLD) Module, two Beam Forming (DBF) Modules, a Time Base Generat or (TBG), an Ant enna Swit ch Cont roller (ASC) and 36 channels. Please note that the connections in Figure 3-1 just depict functional connections. They are not represent at ive concerning t heir widt h.

Front End Interface

Digital Beam Forming

Channel Matrix

Input A0/B0 Input A1/A1 Input A2/B2 Input A3/B3
D/A Out 0 D/A Out 1 D/A Out 2 D/A Out 3

Power Level Detector Module

Input Module 0

DBF 0
DBF 1

Carrier Generator
Unit

Code Generator
Unit

Aiding Unit

Delay Line Unit

Input Selector

X
Final Down Converter

Correlator Unit

PPS ME IMT AUT

ASE

Time Base Generator

Antenna

EC

Switch

Controller

ChaCnhnaenl 0nel 0

36

Half Sample Clk Core Clk Reset PPSI MEI PPSO MEO ExtClk AUT

ASEI ASEO ASC

Fi gure 3-1: AGGA-4 GNSS C ore

Up t o 4 RF Front End's can be connected to the AGGA-4. The data enters in AGGA-4 t hrough t he Input Module(s) where it can be further down converted, if necessary. From the Input Module(s) the data goes either through the Digit al Beam Forming (DBF) Network or directly into the channels. Each channel can select it s input signal out of several possibilities as further detailed in chapter 3.4.1. The GNSS Core of the AGGA-4 uses t wo clock domains, t he GNSS Core Clock (CoreClk) and the HalfSampleClock which has always to be 2.5 times the CoreClk frequency. Minimum periods for t hese clocks and t he way how t he int ernal clock domains are derived from t he ext ernal pins EXT_CORE_CLK and HALF_SAMPLE_CLK are shown in section 6.4. The GNSS Core has its own reset input. If it is used, all regist ers wit hin t he GNSS core are reset t o t heir default values.
Not e: The present chapter of the datasheet often refers to a CoreClk frequency of 40 MHz, because several parts of t he GNSS core like the Delay Line Settings, Aiding Unit Resolution, Integration Lengths, Accumulator Widt hs, et c have been opt imized for t his frequency.

Not e also that the SystemClock always has to be equal or greater than the GNSS CoreClk frequency. Otherwise a stable operat ion of t he AGGA-4 syst em is not guarant eed.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 18 of 230

3.1 Input Module
The AGGA-4 support s t he t ype of int erfaces support ed by t he AGGA-2. Addit ionally, it offers Digit al Down Conversion (DDC) modules for wide bandwidt h navigation signals and a D/A converters for AGC cont rol of t he RF Front Ends. In the DDC mode it is also possible to slave Input Modules together in order to separate several frequency bands. Figure 3-2 shows t he block diagram of the Input Modules. The AGGA-4 has four Input Modules referred to as 0, 1, 2 and 3 t o support up t o 4 ant ennas.

AGGA-4 Input Module 0

RF Front End

Input A0 (0:2) Input B0
(0:2)

Input Format Converter

D/A Out 0

D/A Converter

Input Module 1

RF Front End

Input A1 (0:2) Input B1
(0:2)

Input Format Converter

D/A Out 1

D/A Converter

Input Module 2

RF Front End

Input A2 (0:2) Input B2
(0:2)

Input Format Converter

D/A Out 2

D/A Converter

Input Module 3

RF Front End

Input A3 (0:2) Input B3
(0:2)

Input Format Converter

D/A Out 3

D/A Converter

2 to 5 Conversion

DDCMain

1
0 DDCMain
InSel0

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser
ReQuantiser

Real to Complex Converter

I (0:2)
Q (0:2) I (0:2) Q (0:2)

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

DDCAux

1
0 DDCAux InSel0

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

Mode0

2 to 5 Conversion

DDCMain

1
0 DDCMain
InSel1

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser
ReQuantiser

Real to Complex Converter

I (0:2)
Q (0:2) I (0:2) Q (0:2)

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

DDCAux

1
0 DDCAux InSel1

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

Mode1

2 to 5 Conversion

DDCMain

1
0 DDCMain
InSel2

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser
ReQuantiser

Real to Complex Converter

I (0:2)
Q (0:2) I (0:2) Q (0:2)

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

DDCAux

1
0 DDCAux InSel2

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

Mode2

2 to 5 Conversion

DDCMain

1
0 DDCMain
InSel3

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser
ReQuantiser

Real to Complex Converter

I (0:2)
Q (0:2) I (0:2) Q (0:2)

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

DDCAux

1
0 DDCAux InSel3

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

Mode3

IQ0

To DBF

Network

IQ0AUX To Input Selector

IQ1

To DBF

Network

To Input IQ1AUX Selector

IQ2

To DBF

Network

To Input IQ2AUX Selector

IQ3

To DBF

Network

To Input
IQ3AUX
Selector

Fi gure 3-2: AGGA-4 Input Modul es

Every input module contains an Input Format Convert er (IFC), t wo Digit al Down Convert er (DDCs), a Real t o Complex Converter (R2C) and a D/A Converter in order t o cont rol an AGC in t he RF Front End. The Front End Int erface is capable of processing wide-band signals and a variet y of RF Front End frequency plans.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 19 of 230

The AGGA-4 has four (0 to 3) separate 2 (A,B) x3-bit-wide inputs (A0 ­ A3 and B0 ­ B3), supporting ADC data from:
· Four chains of complex data (I and Q) on inputs An and Bn (three bits each for I and Q) in t he IFC mode for input signal sampled on t he rising edge of CoreClk.
· Four chains of real data on input An (three bits) to be furt her processed in t he R2C mode for input signal sampled on t he rising and falling edge of CoreClk.
· Four chains of real demultiplexed data on input An and Bn (each three bits) to be further processed in the DDC mode, supporting a high-speed sampling scheme: Input An is sampled on the rising edge and Input Bn on t he falling edge of t he HalfSampleClk.

This informat ion is summarized in t he following t able:

Mode Data Input on Pi ns

Input

CoreClk HalfSampleClk Sampling Required

Data Rate

On

Form at

IFC An (0) = I-Sample LSB 1 x

An (1) = I-Sample

CoreClk

An (2) = I-Sample MSB

Bn (0) = Q-Sample LSB

Bn (1) = Q-Sample

Bn (2) = Q-Sample MSB

R2C An (0) = I-Sample LSB 2 x

An (1) = I-Sample

CoreClk

An (2) = I-Sample MSB

CoreClk N/A CoreClk N/A

Rising edge

Sign/magnit ude,
Unsigned,
T wo's complement

Rising and falling edge

Sign/magnit ude,
Unsigned,
T wo's complement

DDC

An (0) = I-Sample-1 LSB An (1) = I-Sample-1 An (2) = I-Sample-1 MSB Bn (0) = I-Sample-2 LSB Bn (1) = I-Sample-2 Bn (2) = I-Sample-2 MSB

2.5 x CoreClk

CoreClk 2.5 x CoreClk

Input An on rising edge Input Bn on falling edge

Sign/magnit ude, Unsigned, T wo's complement

Tabl e 3-1: AGGA-4 Si gnal Input Schemes

The following figures give an example for each of the three modes. Note that for easier readability only two of the four input modules are depict ed.
Figure 3-3 gives an example for the IFC mode. This is the easiest input mode, since the data coming from the RF Front End is only formatted if needed and passed through to the Beam Forming Module. In t his mode t he Input Module requires complex (I/Q) Input data. The ADC for the Input Dat a as well as t he GNSS core is driven by t he CoreClk which can be up to 40 MHz (recommended). Figure 3-3 depicts an example with two RF Front End's (dual frequency receiver). The green path in the figure depicts the CoreClk domain. Note that the HalfSampleClk is not used in t he IFC mode.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 20 of 230

AGGA-4 Input Module 0

CoreClk

RF In

RF Down conversion
RF Front End

ADC I Q
AGC
SPI or D/A Out 0

Input A0 (0:2) Input B0
(0:2)

D/A Out 0

Input Format Converter
D/A Converter

CoreClk

Input Module 1

RF In

RF Down conversion
RF Front End

ADC I Q
AGC
SPI or D/A Out 0

Input A1 (0:2) Input B1
(0:2)

D/A Out 1

Input Format Converter
D/A Converter

1

2 to 5 Conversion

0

DDCInSel0

DDCMain

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

I (0:2) Q (0:2)
Real to Complex Converter

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

DDCAux
I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

Mode0

IQ0

E.g. GPS L1

Gal E1

IQ0AUX Not used

1

2 to 5 Conversion

0

DDCInSel0

DDCMain

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

I (0:2) Q (0:2)
Real to Complex Converter

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

DDCAux

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

Mode0

IQ1

E.g. GPS L5

Gal E5a

IQ1AUX Not used

CoreClk HalfSampleClk
Fi gure 3-3: Input Format C onverter (IFC ) Mode Exampl e

Figure 3-4 gives an example for a dual frequency case using the R2C Mode. In this case t he ADC is sampling t wo IF chains (ch0 and ch1) and provides real samples with two times the CoreClk frequency on each path (ch0 and ch1). The
dat a is fed into the AGGA only via the An inputs. Inside the AGGA t he data is sampled wit h the rising and falling edge of t he CoreClk. The data can be re-formatted in the IFC if needed and is then mixed wit h one quarter of t he sampling frequency to near baseband and converted from a real to a complex I/Q signal. The ratio between the Sample frequency
and t he CoreClk frequency has to "2". In the drawn example the red color denotes the Sample Clock domain and t he green color t he CoreClk domain. Not e t hat t he HalfSampleClk is not used in t he R2C mode.

2*CoreClk

RF DownConv L1

ch0

ADC

RF In

RF DownConv L5

ch1

RF Front End

AGC

SPI or D/A Out

AGGA-4 Input Module 0

Input A0 (0:2) Input B0
(0:2)

Input Format Converter

D/A Out 0

D/A Converter

1

2 to 5 Conversion

0

DDCInSel0

DDCMain
I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

Real to Complex Converter

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser
ReQuantiser

I (0:2) Q (0:2)
I (0:2) Q (0:2)

DDCAux

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

Mode0

IQ0

E.g. GPS L1

Gal E1

IQ0AUX Not used

Input Module 1

Input A1 (0:2) Input B1
(0:2)

Input Format Converter

D/A Out 1

D/A Converter

1

2 to 5 Conversion

0

DDCInSel0

DDCMain
I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

Real to Complex Converter

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser
ReQuantiser

I (0:2) Q (0:2)
I (0:2) Q (0:2)

DDCAux

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

Mode0

IQ1

E.g. GPS L5

Gal E5a

IQ1AUX Not used

CoreClk HalfSampleClk
Fi gure 3-4: Real to C ompl ex (R2C ) Mode Exampl e

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 21 of 230

Figure 3-5 gives an example for the DDC mode. In this mode a real signal is sampled with a sampling frequency up t o 200 MHz. The data is then fed in an interleaved mode on ports A and B to the AGGA wit h t he HalfSampling Clock and is t hen parallelized into five streams. Therefore after this parallelizing process (2to5 converter) the functional blocks are
running with CoreClk. In Figure 3-5 three DDC's have been slaved in order t o separat e t he different GNSS bands cont ained wit hin the ADC data. The ratio between the Half Sample Clock and the CoreClk has to be "2.5". In the drawn example t he red color denot es t he Half Sample Clock domain and t he green color t he CoreClk domain.

HalfSample Clk

AGGA-4 Input Module 0

RF In

RF Down conversion
RF Front End

ADC A B
AGC
SPI or D/A Out 0

Input A0 (0:2) Input B0
(0:2)

D/A Out 0

Input Format Converter
D/A Converter

Input Module 1

Input A1 (0:2) Input B1
(0:2)

Input Format Converter

D/A Out 1

D/A Converter

1

2 to 5 Conversion

0

DDCInSel0

DDCMain
I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

Real to Complex Converter

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser
ReQuantiser

I (0:2) Q (0:2)
I (0:2) Q (0:2)

DDCAux
I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

Mode0

IQ0

E.g. Glonass

L1

IQ0AUX E.g. Compass L1

1

2 to 5 Conversion

0

DDCInSel0

DDCMain
I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

Real to Complex Converter

I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser
ReQuantiser

I (0:2) Q (0:2)
I (0:2) Q (0:2)

DDCAux
I/Q Mixer

FIR Filter
FIR Filter

ReQuantiser

I (0:2)

ReQuantiser

Q (0:2)

Mode0

IQ0

E.g. GPS L1

Gal E1

IQ0AUX Not used

CoreClk HalfSampleClk
Fi gure 3-5: Di gi tal Down C onverter (DDC ) Mode Exampl e

3.1.1 Input Format Converter (IFC)
The input format converter samples the data from the Input An (3bit) and Bn (3bit) and translates it to the internally used 3 bit representation (unsigned). The unsigned representation is used wit hin the whole AGGA-4. It support s different input format s: sign/magnit ude, unsigned and t wo's complement as defined in Table 3-2.

Val ue -7 -5 -3 -1 +1 +3 +5 +7

Si gn/magni tude 011 010 001 000 100 101 110 111

Unsi gned 000 001 010 011 100 101 110 111

Two's compl ement 100 101 110 111 000 001 010 011

Tabl e 3-2: Supported i nput formats

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 22 of 230

3.1.2 Digital Down Converter (DDC) Module
Each Input Module contains two identical DDC modules (main and auxiliary). Bot h are always processing t he same input . Each Input Module can support demodulat ion of different frequency bands wit hin one dat a st ream.
The main function of the Digital Down Converter module is t o down convert a GNSS signal band t o near baseband frequency. Moreover, each signal band is separated into its in-phase (I) and quadrature (Q) component s. If t wo DDCs are used (e.g. main(0) & auxiliary(0) or main(0) and main(1)) t hen t hey can separat e different frequency bands.
Only t he DDCmain is fed to the Digital Beam Forming Module. The DDCaux is directly fed t o t he Input Select or of each channel. Note that there is no clock cycle delay bet ween t he main and t he aux st ream, when arriving in t he channel.
DDCMainInSel and DDCAuxInSel in the InputModuleCtrl register determine whether a DDC Module shall process it s own input data or the input data of the predecessor Input Module (slaving mode). Note that the first Input Module (IM0) can only process it s own dat a.
In t he DDC mode the 3-bit samples are entering the AGGA-4 via the inputs An and Bn (e.g. A0/B0 for IM0) and are read wit h HalfSampleClk..
Not e that the ratio between HalfSampleClk and CoreClk shall exact ly be 2.5 (wit h const ant phase relat ionship).

3.1.2.1 Two to Five Converter The function of this module is the reduct ion of clock frequency by parallel dat a processing. In t he DDC mode a mult iplexed data stream on t he input s An and Bn is used, where n is an int eger from 0..3. Aft er t he t wo t o five conversion the sample clock frequency is reduced by a factor of 5 through processing of the divided dat a st ream in 5 st reams simult aneously. The funct ional block diagram is given in Figure 3-6.
AGGA-4
2 to 5 Conversion

DIV 2

HalfSampleClock

To I/Q mixer

Sample Clock
Analog Input

DIV 5

A/D Converter (external)

Conversion

1 to 2 stream conversion

Core Clk
An Bn

Stream 0 Stream 1 Stream 2 Stream 3 Stream 4

Fi gure 3-6: Functi onal bl ock di agram of the Two to Fi ve conversi on
As it is shown in Figure 3-6, the external A/D Converter divides the sampled data into t wo st reams. The t wo t o five channel conversion block uses the HalfSampleClk to input the data into a 16 stage buffer register and CoreClk to read it out in 5 parallel streams. In order to avoid a conflict between in and out pointer the data is written into the shift regist er wit h HalfSampleClk starting from position "0" after reset of t he AGGA-4 and is read wit h CoreClk st art ing from position "8" after reset of AGGA-4. From t here on t he t wo point ers are maint ained by t he t wo clock domains (HalfSampleClk and CoreClk) and it is guaranteed that the pointers will never int erfere t o each ot her as long as t he HalfSampleClk and CoreClk applied to the AGGA-4 show no phase drift ing against each ot her. This can eit her be guaranteed by chosing the AGGA-4 internal "2.5 HalfSampleClk to CoreClk" divider (see Fi gure 6-5) or by making sure t hat t he HalfSampleClk and CoreClk are derived from t he same frequency source.
As a consequence of this synchronization the data stream is delayed by 8 HalfSampleClk cycles by t he "Two t o Five Convert er".

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 23 of 230

3.1.2.2 DDC I/Q Mixer Stage
The I/Q mixer separates the data stream int o t he inphase and quadrat ure component s and convert s t he sampled navigation signal from IF to near baseband. Both operations are carried out by the multiplicat ion of t he incoming IF signal data stream with a programmable mixing frequency. Figure 3-7 shows t he signals associated wit h the I/Q mixer.

I/Q Mixer

CoreClock
Stream 0 Stream 1 Stream 2 Stream 3 Stream 4

IStream 0 IStream 1 IStream 2 IStream 3 IStream 4 QStream 0 QStream 1 QStream 2 QStream 3 QStream 4

Fi gure 3-7: I/Q mi xer modul e

The programmable complex mixing frequency fLO is generated by a Numerically Cont rolled Oscillat or (NCO). The input signal frequency (fin) is transposed according to fin-fLo. The NCO frequency fLO is given by the following equation:

f LO

=

±

CoreClk 5  27

where  is the signed phase register increment each CoreClk period. The accumulator is 7 bit wide. The frequency range is t herefore ± 5CoreClk/2 wit h a resolut ion of 5CoreClk/27 New phase increment values writ t en int o DDCMainPhaseInc or DDCAuxPhaseInc become effective with the next Measurement Epoch (ME). Besides this, also
t he phase of the NCO is reset to zero with the next ME. This allows phase alignment of mult iple DDC NCO's. The phase increment is a programmed value between -180 deg. and + 180 deg. As the data is paralleled into 5 bit st reams,
t he NCO produces a phase to each of the branches simultaneously. The NCO is increment ed by 5· and t he NCO
phase is distributed to the 5 branches where each branch performs an additional phase increment in order to achieve the appropriat ed LO phase (see Figure 3-8).

5

+

Z-1

LO Phase Generator

Set Phase Increment () 0-63

5 (real)

x
10
(complex)

R
 2 3 4

NCO Phase Branch 0

+

Branch 1

+

Branch 2

+

Branch 3

+

Branch 4

Fi gure 3-8: DDC mi xer stage i ncl udi ng the NC O . The del ay of z-1 refers to the CoreClk

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 24 of 230

The mixer stage converts the real input data stream, centered at IF between - SampleClk/2 and SampleClk/2 frequency, t o a complex signal near baseband. The incoming signal is therefore phase rotated into a complex signal. The real 3 bit input signal and the complex output signal use the internal representation, corresponding to the values [-7, -5, -3, -1, 1,
3, 5, 7]. The 8 possible representations for the real signal and t he result ing possible combinat ions for t he in-phase component and t he quadrat ure component are shown in Figure 3-9.

Q 7

5

3

1

-1

I

-3

-5

-7 -7 -5 -3 -1 1 3 5 7

Fi gure 3-9: 3 bit signal constellation for the real signal (blue squares) and for the complex signal (black poi nts). The bl ack circles show the rotation of the input frequency. The appropriated rotation is rounded to the nearest
compl ex state.

For t he down conversion the real 3 bit input values and the 7 bit phase register values are considered. With these input s t he resulting complex signal point can be read out of a Look-Up Table. In this table for each real input value and each possible phase shift the corresponding (minimum Euclidian Distance) complex value (I and Q component, each 3 bit) is saved.
In Figure 3-10 the 8 possible real 3 bit input samples are rotated with every possible phase shift (128; each phase shift has a size of 360°/128=2,8°) resulting in the small black dots. The light red circles represent t he possible complex samples after the phase rotation. Each rotated real input sample (black dot) is connect ed wit h t he nearest (minimum Euclidian Distance) possible complex sample by a blue line. The figure shows to which complex point the rot at ed real input samples are mapped.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 25 of 230

128 8

6

4

2

0

-2

-4

-6

-8

-8

-6

-4

-2

0

2

4

6

8

Fi gure 3-10: C ompl ex 3 bi t IQ si gnal constel l ati on

3.1.2.3 Decimating FIR Filter In t he DDC mode, the complex signal from the I/Q mixer is subsequent ly filt ered t o suppress undesired frequency components and frequency images. The FIR filter extracts the desired frequency components of the sampled navigation signal and decimates the sample rate by a factor of 5. As each FIR filter operates at 5 dat a st reams, only one out put sample of 5 input samples is generated. The output is synchronous with CoreClk and consist s of one st ream of dat a. Figure 3-11 shows t he Q filt er. The I filt er looks t he same.
Q Channel decimating FIR Filter
CoreClock
QStream 0 QStream 1 QStream 2 QFiltered QStream 3 QStream 4
Fi gure 3-11: Deci mati ng FIR fi l ter bl ock

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 26 of 230

The input signals IStream0 ­ IStream4 and QStream0 ­ QStream4 are filtered in the FIR filter block. The output signals IFiltered and QFiltered, respectively, contain the filt ered and decimat ed dat a. Bot h, input and out put signals are synchronous wit h CoreClk.
Fixed FIR filter coefficients and a fixed decimation factor of 5 are used. The main characteristics of the FIR filter are to maintain a flat amplitude response within the pass band to minimize signal distort ion while suppressing out -of band signals and noise (see Figure 3-12). The hard coded (not programmable) FIR filter coefficients are [-1, -1, 0, 1, 3, 5, 6, 7, 6, 5, 3, 1, 0, -1, -1].

Fi gure 3-12: DDC /DDC FIR fi l ter. ADC sampl e rate = 1, output sampl e rate = 0.2. The architecture of the FIR filter in the DDC is shown in Figure 3-13, where the 15 tap transposed direct form FIR filter is given. The out put dat a rat e is decimat ed by a fact or of 5.
Fi gure 3-13: 15 tap transposed di rect form deci mati ng FIR fi l ter 3.1.2.4 Re-Quantizer The filtered data streams are fed to the re-quantiser and coding block. It performs rounding of the FIR filter samples t o 3 bit s for t he following st ages of GNSS dat a processing. The re-quant isat ion t hresholds are programmable. The re-quantiser block accepts the signal IFiltered and the Qfiltered and outputs the signal IOut and QOut. Alt hough the following figure depict s only t he Q re-quant iser, t he I re-quant iser looks t he same.
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 27 of 230

Re-quantiser and coding Q

CoreClock

QOut

QFiltered
Re-quantiser Thresholds

Fi gure 3-14: Re-quanti ser and codi ng bl ock (fi gure wi th quadrature part onl y)

The three 10-bit threshold registers DDCMainFIRQuantThres and DDCAuxFIRQuantThres can be programmed. The t hresholds are going t o be int erpret ed as follows:

Data Fi l tered

Data O ut ( Form at t e d)

max - Threshold2 + 1 => +7

Threshold2 - Threshold1 + 1 => +5

Threshold1 - Threshold0 + 1 => +3

Threshold0 - 0

=> +1

-.1 - -Threshold0 => -1

-Threshold0 - 1

-Threshold1 => -3

-Threshold1 - 1 - -Threshold2 => -5

-Threshold2 - 1 - min

=> -7

Tabl e 3-3: Q uanti zati on Threshol ds

Not e that the max/min FIR out put value is +/- 287 and only 9-bit s of t he 10-bit t hreshold regist er are needed.
3.1.3 Real to Complex Converter (R2C)
The Real to Complex Converter (R2C) is the same as used in the AGGA-2. It can do a real to complex conversion. In comparison to the DDC module it has the limitation that the incoming IF has to be quarter of the sampling frequency or half of t he CoreClk frequency, while t he DDC can be used wit h a wide variet y of IF's. The real input signal is down converted in frequency and it is separated into the corresponding in-phase and quadrat ure component using a complex CoreClk/2 het erodyne as it is shown in Figure 3-15.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 28 of 230

Sampling Clock (2*CoreClock)

X(m)

m=2n

(-1)n x

x m=2n+1
(-1)n

FIR FIlter

Fi gure 3-15: C ompl ex CoreClk/2 heterodyne

I(n) Q(n)

It consists of a mixer stage and a low pass filter to suppress undesired frequency components and frequency images and t o time align the I and Q path. The FIR filter extracts the desired frequency component s of t he sampled navigat ion signal and decimat es t he sample rat e wit h a fact or of 2.
In t he R2C mode the 3-bit samples are entering the AGGA-4 only via the inputs Ax (e.g. A0 for IM0) and are read wit h t he rising and falling edge of t he CoreClk. The HalfSampleClk is not involved in t he R2C mode.

3.1.3.1 R2C I/Q Mixer Stage
The down conversion of the intermediate frequency signal and the division into the real and imaginary part requires a complex multiplication of the sampled signal with a local generated complex carrier. The sampling frequency is t o be selected so that the intermediate frequency is equal to CoreClk/2 which ensures the samples of the carrier wave taken at t he sampling rate are samples of sine and cosine functions with 4 samples per cycle i.e. the samples at the zero crossings wit h value 0, maxima with value 1 and minima with value -1. The heterodyning function becomes one of mult iplexing and selective inversion, as it is depicted in Figure 3-15. The complex het erodyne process corresponds t o a down conversion of the input signal by a fixed frequency equal to one quarter of the sampling frequency. The input signal frequency (fin) is t ransposed according t o fin-fLo.

3.1.3.2 FIR Filter

The complex baseband signal is subsequent ly low-pass filt ered t o remove undesired frequency images. As fIF = CoreClk/2 and alternate samples are zero, the filtering operation is implemented at a sampling rate of CoreClk /2. The low pass filt er charact erist ics are:

· Passband ripple peak-t o-peak: < 0.6 dB

· St oppband suppression:

30 dB

· The passband ends at ± 0.42 t imes CoreClk frequency

· The st opband st art s at ± 0.58 t imes CoreClk frequency

The incoming real signal frequency is centered around half CoreClk and should have a bandwidth not exceeding 0.84 t imes CoreClk frequency. A real input signal between 0.08*CoreClk and 0.92*CoreClk results in an int ernal complex signal bet ween -0.42*CoreClk and 0.42* CoreClk.

The FIR filter is symmetrical with the following hard-coded (not programmable) coefficient s relat ed t o t he input sampling rate:[2, 0,-3, 0, 5, 0, -9, 0, 30, 47, 30, 0, -9, 0, 5, 0, -3, 0, 2]. The overall filter response relat ed t o t he down convert ed signal is given in Figure 3-16.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 29 of 230

Fi gure 3-16: O veral l fi l ter response for the l ow pass fi l ter
The implementation of this filter is simplified by the fact that only the operations with non-zero coefficients are performed. The Q component is received with half CoreClk cycle delay respect the I component, being multiplied by the odd coefficients. In the same way, the I component is multiplied by even coefficients.
Defining the coefficient list as c1 - c19 and In and Qn the data of IMixed and Qmixed respectively, the resulting operations are: IFiltered = c1*I1 + c2*I2 + c3*I3 + c4*I4 + ... + c10*I10 + c11*I11 + ...
where C2n = 0, except c10; where I2n-1 = 0. IFiltered = c10*I10
QFiltered = c1*Q1 + c2*Q2 + c3*Q3 + c4*Q4 + ... + c10*Q10 + c11*Q11 + ... where C2n = 0, except c10; where Q2n = 0.
QFiltered = c1*Q1 + c3*Q3 + ... + c17*Q17 + c19*Q19 where cn = c20-n,
QFiltered = c1 (Q1 + Q19) + c3 (Q3 + Q17) + c5 (Q5 + Q15) + c7 (Q7 + Q13) + c9 (Q9 + Q11)
In order to realise this calculation it is required to have shift register to store the previous data (only even or odd data). The filtered I signal is not processed, because only one coefficient should be multiplied by the signal and in a next stage, the result will be requantised dividing by C10. Therefore, this multiplication and the corresponding requantisation can be optimized.
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 30 of 230

In Fi gure 3-17 and Fi gure 3-18 it is detailed how these operations are implemented.

IMixed

IFiltered

QMixed CoreClock

CoreClock
Fi gure 3-17. I component filter calculation

QFiltered

C9

C7

C5

C3

C1

Fi gure 3-18. Q component filter calculation

3.1.3.3 R2C Re-Quantizer
The filtered data is fed to the re-quantiser and coding block. It performs rounding of the FIR filter samples to 3 bit s for t he following stages of GNSS dat a processing. Although the following figure depicts only the Q re-quantiser, t he I requant iser looks t he same.

R2C Re-Quantiser Q

CoreClock QFiltered

QOut

Re-Quantiser Thresholds

Fi gure 3-19: R2C Re-quanti ser (fi gure wi th quadrature part onl y)

The output is quantized into the internal 3 bit format by comparing t he filt er out put values t o const ant t hresholds.
The IFiltered and QFiltered component from the previous filter stage can have values ranged in between -343 t o +343. For a uniform distribution of this range, the thresholds are set t o const ant values according t o t he following t able:

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 31 of 230

Q (Fi l tered)

Q (Formatted)

max - 283 => +7

282 - 189 => +5

188 - 95

=> +3

94 - 0

=> +1

-1 - -94 => -1

-95

-188 => -3

-189 - -282 => -5

-283 - Min => -7

Tabl e 3-4: Real -To-C ompl ex (Q part onl y) threshol ds

3.1.4 D/A Converter
In order to be able to adjust the input power level or offset level of the ADCs, sometimes a voltage is required to control at tenuators or automatic gain control (AGC) amplifiers prior to the ADCs. The D/A converter block produces a pulse widt h modulated digital bit stream, corresponding to the amplitude of the input word. Analogue low pass filt ering of t his bit st ream out side of t he AGGA-4 generat es t he cont rol volt age.

CoreClk

D/A Converter
DAControl

DA_OUT (pin)

Fi gure 3-20: D/A C onverter Bl ock

The 12 bit wide register DACt rl contains the input value to the D/A converter. It can be programmed via soft ware. Each input module contains one D/A Convert er. The out going signal is rout ed t o t he pins DA_OUT[0:3], where DA_OUT[0] corresponds to Input Module #0 and DA_OUT[3] to Input Module #3. The 12 bit input signal is used as an
increment input for a 12 bit wide incrementer. The carry-bit of this incrementer gives the output bit stream of t he D/A converter, making sure that t he average number of ones in t he out put bit -st ream is equal t o t he value which is programmed t o DACtrl. Furt hermore t he ones are evenly dist ribut ed.

The increment er and it s out put are synchronized t o t he GNSS CoreClk.

Example:

DACt rl = 0

=> All '0'

DACt rl = 1

=> 4095 '0' followed by one '1'

DACt rl = 1024 => 000100010001...

DACt rl = 2048 => 010101010101...

DACt rl = 4095 => one '0' followed by 4095 '1'

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 32 of 230

3.2 Power Level Detector
AGGA-4 has t wo Power Level Detector (PLD) modules. One PLD 5I and one PLD I/Q (see also Figure 3-21). The PLD 5I can count five data streams in parallel. Therefore it shall be used for the DDC modules. The PLD I/Q is used t o count the sample occurrence either behind the Input Format Converter (IFC), before the Final Down Convert er (FDC) or aft er t he Final Down Convert er. Not e t hat t he PLD I/Q only works for frequencies up t o CoreClk.
PLD Module PLD I/Q

PLD 5I

IM (n-1)

Input Module
Input Format Converter

2 to 5 Conversion

DDC Main
R2C

Channel DBF

FDC

...

D/A Converter

DDC Aux

IM (n+1)
Fi gure 3-21: Power Level Detectors

3.2.1 Power Level Detector 5I
The PLD-5I detects the signal levels of the 5 input samples on the input data streams SampleStream 0 ­ SampleStream 4 st emming from one of t he DDC's before it 's I/Q mixer.

Power LevelDetector5I

CoreClock
SampleStream 0 SampleStream 1 SampleStream 2 SampleStream 3 SampleStream 4

Acc5IPlusSeven Acc5IPlusFive Acc5IPlusThree Acc5IPlusOne Acc5IMinusOne Acc5IMinusThree Acc5IMinusFive Acc5IMinusSeven

Fi gure 3-22: Power Level Detector 5I bl ock

The numbers of occurrences of each signal level are accumulat ed in t he eight 24bit accumulat ors in parallel. The accumulation time is either determined by each Measurement Epoch (ME) or by a programmable 24bit count er. The count er can be programmed via the AccTime field in the PLD5ICtrl register. The 24bit counter is incremented with each sample. Since t he PLD is count ing always 5 dat a st reams, t he count er is always increment ed in st eps of 5.
Therefore note that a programmed AccTime of 0..4 causes the PLD to accumulate 5 samples, a programmed AccTime of 5..9 causes t he PLD t o accumulat e 10 samples, and so on.
The regist er PLD5IInputSel det ermines on which input module t he PLD shall count .
An int errupt (GNSS PLD-5I) is generated as soon as the level results are available. It can be masked/unmasked in t he GNSS Int errupt Cont roller (GIC).
When the PLD 5I latches its values, the corresponding time stamp is stored in t he regist ers PLD_5I_IMT_MSW and PLD_5I_IMT_LSW.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 33 of 230

Using t he maximum possible value of 224-1 for AccTimecan cause an overflow in one of t he accumulat ion regist ers under worst case conditions (all samples are equal over the measuring period). Therefore it is recommended not t o use t his value. Also note that the user has to take care that the accumulat ion regist ers have no overflow in case of ME lat ching.
3.2.2 Power Level Detector IQ
3.2.2.1 General Overview The second type of power level detector is called 'Power Level Detector I/Q'. This detect or consist s of t wo ident ical power level det ect ors for t he I and Q signal, which are processed in parallel.

Power Level Detector I/Q
CoreClock
SampleStream IFC IM0 SampleStream IFC IM1 SampleStream IFC IM2 SampleStream IFC IM3
SampleStream pre-FDC ch0 SampleStream pre-FDC ch35
SampleStream post-FDC ch0 SampleStream post-FDC ch35

AccIPlusSeven AccIPlusFive AccIPlusThree AccIPlusOne AccIMinusOne AccIMinusThree AccIMinusFive AccIMinusSeven
AccQPlusSeven AccQPlusFive AccQPlusThree AccQPlusOne AccQMinusOne AccQMinusThree AccQMinusFive AccQMinusSeven

Fi gure 3-23: Power Level Detector I/Q bl ock

In t he PLD I/Q the upper branch processes the I signal and the lower branch processes the Q signal in parallel (see also Figure 3-24). By programming of the the InputSel and SignalSel bit fields of t he PLDIQInputSel regist er a signal is
selected from the incoming signals. The incoming 3 bit I/Q signal can be pre-accumulated in a signed pre-accumulat or before the actual level detect ion. The pre-accumulat or act s as low-pass filt er wit h a 3dB cut -off frequency of:

f cutoff

=

0.44 2 2 ExpFactor



f CoreClk

The pre-accumulation can be useful to reduce the effect of out-of-band interference on the power level measurement s. It is possible to pre-accumulate over 22ExpFactor samples of t he incoming signal, where ExpFactor can be select ed bet ween 0 and 5. If the ExpFactor is set to zero, the pre-accumulat ion and subsequent re-quant izat ion is disabled.
The pre-accumulation window can be shift ed by 0..1023 samples by t he programming of t he Pause field in t he PLDIQPreAccCtrl regist er. The pause shift is applied once and immediat ely. The integration result is scaled eit her by 2ExpFactor or 22ExpFactor. This can be select ed by t he programming of t he ReQuantFactor bit in t he PLDIQPreAccCtrl regist er. The out put of t he re-quant izat ion st age is 3 bit wide.
The numbers of occurrences of each signal level are accumulated in the two times eight 24-bit accumulators in parallel for I and Q and for all signal levels separately. The accumulation time is either determined by each Measurement Epoch (ME) or by a programmable 24-bit counter. The counter can be programmed via the AccTime field in t he PLDIQCtrl regist er. The 24bit counter is incremented with each sample after pre-accumulation. Therefore, if a pre accumulation is enabled, t he effect ive accumulat ion t ime, measured in CoreClk cycles, will be AccTime * 2^(2*ExpFact or).
Not e t hat t he PLD I/Q can count t he occurrences according t o t he following t rut h t able:

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 34 of 230

Sp y Point

Input Module Operating Mode

IFC Mode R2C Mode DDC Mode

after IFC

YES

NO

NO

before FDC

YES

YES

YES

after FDC

YES

YES

YES

Table 3-5: PLD IQ Possible Working Modes

An int errupt (GNSS PLD I/Q) is generated as soon as the level results are available. It can be masked/unmasked in t he GNSS Int errupt Controller. If masked, then it can also be used as status flag by polling the GNSS PLD IQ pending bit .

PLD I/Q

4

Inphase

36

Signals

36

Acc

Re-Quant

Level 8 Detect

Acc

8

InputSel / SignalSel

4

Quadrature

36

Signals 36

ExpFactor

Acc

Re -Quant

Level 8 Detect

Acc

8

Pause
Fi gure 3-24: Power Level Detector I/Q

The t ime inst ance when t he PLD I/Q lat ches it s values is st ored in t he regist ers PLD_IQ_IMT_MSW and PLD_IQ_IMT_LSW.

3.2.2.2 Insights to Pre-Accumulator and Re-Quantization
Before being accumulated in the pre-accumulator the samples are transformed t o 13-bit t wo's complement format numbers, in order to be able to handle negatives accumulations. This transformation is realised according to Table 3-6:

Sample

2's compl.

+7

+3

+5

+2

+3

+1

+1

0

-1

-1

-3

-2

-5

-3

-7

-4

Table 3-6: Sample Transformat ion

This transformation is asymmetric with respect to zero, inserting a negative offset of -0.5 with every sample, i.e. by an accumulation of 22N samples, an "unsymetry offset" of -(2(2N-1)) will be accumulated. In order to compensate this, at the beginning of the accumulation, the register is set with an initial value equal to 2(2N-1), setting to `1' the bit in the position 2N-1. Therefore aft er t he pre-accumulat ion t he offset is compensat ed.
Figure 3-25 depictes how t he re-quantization back t o 3bit s is done aft er t he pre-accumulat ion. In case of t he requant ization selection "ReQuant wit h ExpFactor 22ExpFactor", the re-quant izat ion is simply by shift ing t he result by

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 35 of 230

22ExpFactor t o the right. In case of the re-quantization selection "ReQuant with ExpFactor 2ExpFactor" one has to know that if one of the saturation bits is different from the sign bit (bit13), t he Value[1:0] is also sat urat ed by t he hardware, no mat t er what t he act ual bit s of [1:0] have been.
Example: ExpFact or =2, t herefore 16 samples are pre-accumulat ed
Assumpt ion: 16x -7 is accumulat ed as 16x(-4) = -64, wit h offset pre condit ion +8 = -56
-56 is binary 1111111001000. According to Figure 3-25 the grey marked bits (bit12, bit3:2) would be t aken. However in t his case at least one of the saturation bits (bit 5:4) is different from the sign bit (bit12). Therefore the result will not be "110" but "100"
In t he end the two's complement values are back transformed to the 3bit unsigned represent at ion according t o Table 3-6.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

ExpFactor = 1
13
ReQuant with 2 2·ExpFactor
13
ReQuant with 2 ExpFactor Value[2]
ExpFactor = 2
13
ReQuant with 2 2·ExpFactor
13
ReQuant with 2 ExpFactor Value[2]

43210
Value[2:0]
43210
Value[1:0]
654 32 10
Value[2:0]
6543210
Value[1:0]

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 36 of 230
Extracted bits
Saturation bits

ExpFactor = 3
13
ReQuant with 2 2·ExpFactor
13
ReQuant with 2 ExpFactor
Value[2]

87 6543

0

Value[2:0]

8765 43

0

Value[1:0]

ExpFactor = 4

13

10 9 8 7 6 5 4 3

0

ReQuant with

2 2·ExpFactor

Value[2:0]

13

10 9 8 7 6 5 4 3

0

ReQuant with

2 ExpFactor

Value[2]

Value[1:0]

ExpFactor = 5

13 12 11 10 9 8 7 6 5 4

0

ReQuant with

2 2·ExpFactor

Value[2:0]

13 12 11 10 9 8 7 6 5 4

0

ReQuant with

2 ExpFactor

Value[2]

Value[1:0]

Figure 3-25: Re-Quant isat ion of PLD I/Q Pre-Accumulat ion Result s

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 37 of 230

3.3 Digital Beam Forming (DBF)
The Digital Beam Forming (DBF) module combines the signals of two antenna elements in the digital domain in order t o steer the antenna beam. In the AGGA-4, digital beam-forming is carried out before the correlation (pre-correlat ion beam forming). It performs phase shift ing and combinat ion of t wo ant enna signals aft er t he first coarse downconversion in the Input Modules prior to the correlators. The main advantage is that only the combined signals are fed t o t he final down-conversion st age and t he de-spreading correlat ors.
Two Digit al Beam Forming (DBF) modules for the processing of two antenna inputs each are implemented. Generally, t he first DBF module (DBF-0) processes the inputs from ant enna A0 and ant enna A1 and t he second DBF module (DBF-1) processes t he input s from ant enna A2 and A3 as it is shown in Figure 3-26.

A0

RF FE

IM0

e.g. L1

A1

DBF 0 9

RF FE

IM1

e.g. L1

A2

RF FE

IM2 e.g. L2

DBF 1 9

A3

RF FE

IM3 e.g. L2

Fi gure 3-26: Beam formi ng for si ngl e frequency operati on

However, for dual frequency operation the input from one antenna can be used for two Input Modules which process
different frequencies. Since a second antenna is needed for the beam forming, the input of ant enna A2 is send t o t he DBF-0 module and the input of antenna A0 is send to the DBF-1 module. By this architecture the antenna inputs of t he same frequency are combined in t he DBF modules. This is shown in Figure 3-27.

A0

RF FE

IM0

e.g. L1

A1

DBF 0 9

RF FE

IM1

e.g. L2 e.g. L1

A2

RF FE

IM2

DBF 1 9

A3

RF FE

IM3 e.g. L2

Fi gure 3-27: Beam formi ng for dual frequency operati on

A fixed set of beam-forming coefficients supporting the rotation angles of 0, +/- 45°, +/- 90° and +/- 135° is used in the AGGA-4. All 7 possible beams are generated simultaneously and these beams and t he direct ant enna signals can be rout ed t o any one of t he channels in t he GNSS core of t he AGGA-4.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 38 of 230

Beam Forming Coefficient Rotation Angle

j0

0°

j1

45°

j2

90°

j3

135°

Tabl e 3-7: Beam formi ng coeffi ci ents

Figure 3-28 shows t he architecture of the DBF modules. If the DBF-0 is used as shown in Figure 3-26 t hen t he input s IM 0 and IM 1 are used. If the DBF-0 is used as shown in Figure 3-27 then the inputs IM 0 and IM2 are processed. By t he programming of DBF0Sel and DBF1Sel in the DBFInputSel regist er, t he user can select for each DBF module which Input Module input (e.g. IM1 or IM2 for DBF0) shall be selected. The inputs are phase rotated and combined or fed direct ly t o t he channel mat rix.

From Input Modules
6
A
6
B

To Channel Matrix IM 0
IM 1/2

DBF0

IM 0

A

6

IM 1 0

6

B

IM 2 1

DBF0Sel

e jj1

+

Re-Quant 4bit -> 3bit

6

+

Re-Quant 4bit -> 3bit

6

+

Re-Quant 4bit -> 3bit

6

DBF1

IM 3

B

6

IM 2 0

6

A

IM 1 1

DBF1Sel

ejj2 ejj3 ejj1

+

Re-Quant 4bit -> 3bit

6

+

Re-Quant 4bit -> 3bit

6

+

Re-Quant 4bit -> 3bit

6

ejj2

+

Re-Quant 4bit -> 3bit

6

ejj3 Fi gure 3-28: Di gi tal Beam Formi ng Modul e

0° +45° +90° +135° -45° -90° -135°

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 39 of 230

The carrier phase of the IM 1/2 signal is shifted in the mixer stage by j0 t hrough j3 (whereas j0 is not shown in t he figure below, since: j0 =0) and added to the IM 0 signal to obtain the desired beam forming, here referred t o as +45°, +90° and +135°. Further, shifting the IM 0 signal by j1 t hrough j3 and combining the shift ed signal wit h t he IM 1/2 signal causes t he beams referred t o as -45°, -90° and -135°.
It has to be noted that the +/- 90° rotation is lossless and needs no quantization, since every input point in t he AGGA-4 not ation (-7, -5, -3, -1, +1, +3, +5, +7) before the rotation can be directly be mapped to a rotated point in t he AGGA-4 not at ion.
If a rotation of +/-45° is selected then the points before the rotation (in AGGA-4 notation) are mapped t o t he nearest possible point in t he AGGA-4 not at ion aft er t he rot at ion.
Example: An input point of (-7/-3) rotated with 45° results in (-2.83/-7.07) which is t hen mapped t o (-3/-7). The mapping is done wit h a look up t able.
Figure 3-29 depicts the rotation diagrams for every possible rotation. The red circles represent t he possible point s in AGGA-4 not ation. The thicker black dots (not the black dots from the axes grid) are the points after rotation. The blue line shows t o which possible AGGA-4 point t he rot at ed point was mapped.
Example: Assuming an input point of (-7/-7). With a 45° rotation it moves to (0/-9.9). This point is t hen mapped t o (1/7).
Not e that rotations of 135° are done by doing first a 90° rotation followed by a 45° rotation. That's why the right hand diagram of Figure 3-29 is applicable for 45° and 135° rot at ions.

+/- 90° rot at ion

+/- 45° and +/- 135° rot at ion

Fi gure 3-29: DBF Rotati on operati on

Aft er the rotation, the signals from the two input modules are added. The input signals to the beam forming are 3-bit wide (I and Q). After the addition of two signals (e.g. IM0+ IM1) they have 4-bit. They are immediately re-quantized to 3-bit by t aking t he following LUT (Table 3-8):

Input to Requantization O utput of Requantization

-14 -12 -10 -8 -6 -4 -2 0 2 4 6 8 10 12 14 -7 -7 -5 -5 -3 -3 -1 +1 +1 +3 +3 +5 +5 +7 +7

Tabl e 3-8: Requanti zati on Tabl e of Beamformi ng Addi ti on

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 40 of 230

3.4 Channel Matrix with Channels
As ant icipated in Figure 3-1, the Channel Matrix can be underst ood as t he housing of all channels, t he Time Base Generat or (TBG) and the Antenna Swit ch Controller (ASC). The functionalit y of t hese modules is described in t he corresponding chapt ers.
Fi gure 3-30 gives an overview t o an AGGA-4 channel. The whole AGGA-4 inhabits 36 channels. By the programming of t he corresponding channel bit in the ChActivation0 and ChActivation1 registers, the clock t o each channel can be gat ed on or off. Note that a channel's registers are automatically reset to their default values defined in chapt er 7 if gat ed on/off. The PrimaryRAM1/2 and SecondaryRAM1/2 memories are not reset .
AGGA-4 channels can be slaved in a hardware manner (like it was the case in AGGA-2 and AGGA-3) or in a soft ware manner (which is new compared to AGGA-2 and AGGA-3). For further details about soft ware slaving funct ion see 3.4.8.
For t he hardware slaving each channel outputs a variety of signals (see also Figure 3-30) which can be used by the next channel as input signals. Note that wit h hardware slaving only subsequent channels can be slaved. Therefore if t he wording "previous channel" is used in the following chapters it always means channel-1. If the wording "next channel" is used it always means channel+1. There is one speciality which is the first and the last channel. The "next channel" seen from channel 36 is channel 0 (wrap around functionalit y). Also t he previous channel seen from channel 0 is channel 36.
Soft ware slaving has not been possible in the AGGA-2 and AGGA-3 since only t he MSBs of t he Carrier and Code NCOs have been visible to t he soft ware. Therefore it was not possible for t he soft ware t o make sure t hat t wo independent channels are running coherently not only in frequency, but also in phase. This is now possible since the full 32bit NCO states of Code and Carrier can be made visible to the software. The advantage of soft ware slaving is t hat every channel can be slaved with every channel (not only the next and previous one). The disadvantage is more effort for the software, since the control words for the channels have to be copied not only in the master channel, but also t o t he slave channels and that also in time (typically before t he next Int egrat ion Epoch). Figure 3-30 also shows t he int ernal connect ions t o t he Test Support Signals, see 6.7
From previous channel

IE from previous channel
LE from prev channel ASE In

Delay Clock In Code In 1 Code In 2 Primary Rate BOCRate (cos) In BOCRate (sin) In

Input Data from previous channel PPS In ME In Carrier In

From Time Base

ME PPS IMT
From DDCAux
From Beam Forming Network

Input Selector

Channel
D2
...

Code Generator
Code NCO

BOCRate (sin)

Code Generation

Carrier NCO

Code Delay Line Unit

EE

LL

Base

bandD 2

10

Final Down Converter

Integration Control

IE

LE

HDL Delay

EE

E

P

S

L

LL

+
Code Aiding

+
From S/W

Carrier Aiding

Aiding Clock Generation

AU Trigger

Aiding Unit

Data Collect 1 (LL-Q)
I/Q 10 Accumulations
Correlator Unit

IE_LoopState IE_IMT_LSW IE_ValueEE_I
... ME_CodePhase
Observables

To S/W

DD

D D D D D DD D

D

D = One CoreClk Delay

Test Points for debugging

ASE Out IntEpoch

Carrier Out SignalOutPostFDC
CodeOut Delay Clock Out
Code Out 1 Code Out 2 Primary Rate Out BOCRate (cos) Out BOCRate (sin) Out LE to next Ch. IE to next Ch.

Input Data to next channel
ME Out PPS Out SignalOutPreFDC

To next channel
Fi gure 3-30: C hannel O vervi ew
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 41 of 230

3.4.1 Input Selector
The Input Select or select s an I/Q signal
· from t he previous channel
· direct ly from one of t he four Input Modules (DDCAux st reams)
· one beam out of t he beam forming net work.
Each I/Q signal provides a complex sample every CoreClk, consisting of the in-phase component and t he quadrat ure component. Each I and Q component is represented in the internal 3 bit format corresponding to the values [-7, -5, -3, 1, +1, +3, +5, +7]. In order t o select t he input signal, t he InputSel field of t he ChannelCtrl regist er has t o be programmed.

3.4.2 Final Down Converter (FDC)
The Final Down Converter consists of the Carrier Generator and the Carrier Mixer as shown in Figure 3-31. It removes t he residual carrier from the 2*3bit complex input signal selected from the Input Selector by subtracting the value of the Carrier Generator from the angle represented by the input signal. The residual frequency can include the Int ermediat e Frequency after the DDC, the R2C or after the IFC. Furthermore it can include the Doppler shift and the local oscillator offset .

Final Down Converter

CarrierNCOFreq from Aiding Unit

Carrier Generator

CarrNCOFreq

+

NCO Accu

CarrSwShiftMode
CarrSwShift

IE & ME

20bit Cycle Count

CarrObsSel

1
+0

IE CarrObs/Phase ME CarrObs/Phase

Carrier Signal from previous
channel
From Input Selector

1 0 CarrSel Carrier Signal (5 MSB's)
Carrier Mixer x

To Code Multiplier

Accesible by software

To next channel (for slaving)

Fi gure 3-31: Fi nal Down C onverter

3.4.2.1 Carrier Generator
The Carrier Generator provides the carrier replica to convert the navigat ion signal t o baseband and t o st rip off t he Doppler frequency. The frequency of the carrier NCO is determined by t he signed 32 bit CarrNCOFreq increment which comes from the Carrier Aiding Unit. The CarrNCOFreq increment gets accumulated with every CoreClk cycle in t he NCO accumulator. Additionally the phase can be adjusted by the signed 32bit CarrSwShift regist er. A writ t en value t o CarrSwShift is added once to the NCO accumulator either immediat e or wit h t he next int egrat ion epoch, depending on the programming of the CarrSwShiftMode bit in the NCOSettings register. Note that the current phase (32 bit NCO accumulat or value) is ret urned in t he CarrSwShift regist er if it is read. The valid range of CarrSwShift is from ­231 to 231-1, corresponding to phase shifts of up to ±180 deg. with a resolut ion of approx. 84 ndeg.
As soon as the NCO accumulator wraps around the unsigned 20bit Cycle Counter is either incremented or decremented, depending whet her t he NCO generat es a posit ive or negat ive frequency.
At each Integration and Measurement Epoch the cycle count and the NCO accumulat or value are lat ched. They are t ransferred to the IE_CarrObsPhase and ME_CarrObsPhase registers. By programming t he IE_CarrObsSel and t he

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 42 of 230

ME_CarrObsSel bit in the CorrUnitCtrl register, the user can select whether he want s t o have all 32bit of t he NCO accumulator latched in the observable or if he wants a mixture of cycle count and NCO accumulator value. If mixture is chosen, the 12MSBs of the NCO accumulator are written in the lower bits of the observable and the 20 bit cycle count is writ ten in the upper bits of the observable. Note that the observables are updated every IE and ME either in mixt ure OR pure phase mode.
By t he programming of the CarrSel bit in the ChannelCtrl register it can be selected whether t he Carrier Mixer shall t ake the local generated Carrier signal or the Carrier signal of the previous channel (hardware slaving). Not e t hat t he IE_CarrObsPhase and the ME_CarrObsPhaseobservables are always driven by the local NCO, no matter if the Carrier Mixer uses t he local or t he slaved Carrier signal.
The 5 MSBs of t he carrier NCO accumulat or are out put as Carrier signal, having 32 possible values.
The NCO out put frequency is calculat ed according t o t he following equat ion:

f out

=

CoreClk   2 27

 11.25deg 360 deg

=

CoreClk   2 32

where fout is the output frequency and  is the signed phase register increment (CarrNCOFreq). The frequency range is t herefore ±CoreClk/2 wit h a resolut ion of CoreClk/232.

3.4.2.2 Carrier Mixer
The complex input and output signals use the internal representation, corresponding to the values [-7, -5, -3, -1, 1, 3, 5, 7] for t he in-phase component and t he quadrat ure component .
Down conversion is performed in 3 steps. First the input sample given by the I and Q value is t ransformed int o polar coordinates with the help of a LUT. Then, the phase shift given by the Carrier signal is subtracted from the angle of the input signal. In the third step the shifted input value given by the magnit ude and t he new angle is ret ransformed t o Cart esian coordinates with the help of a LUT. The ent ries of t he LUT give for each possible magnit ude and each possible phase t he corresponding (minimum Euclidian Dist ance) IQ value of t he possible set of IQ values.
The LUTs only exist for the first quadrant of the signal constellation. Every signal which is not in t his area has t o be t ransformed to this section. For example, if the input signal is detected to be in the second quadrant it is rotated back for 90° by applying t he following equat ion:
Ir=Qi
Qr=-Ii, where t he subscript r ident ifies t he rot at ed signal and i t he input signal.
Figure 3-32 illustrates the down conversion. The red circles are t he possible values of t he signal space. The black squares are all possible samples after the rotation of the input samples. The blue lines show for each rotat ed sample t o which signal space point it is mapped.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 43 of 230

Fi gure 3-32: C ompl ex 3 bi t si gnal constel l ati on wi th 32 possi bl e NC O val ues
3.4.3 Code Generator Unit
The Code Generator Unit is capable of generat ing t wo independent codes. Each code can consist of primary and secondary code. Additionally these codes can be multiplied with a 2 bit Binary Offset Carrier (BOC) sin or cosine pat tern. Also time multiplexed codes (like GPS L2C) are possible. In this case the time mult iplexed code is rout ed t o Out put 1, while the enable/disable signal is routed to Output 2. Note that no AltBOC is support ed. TMBOC or CBOC signals can be tracked with minimal losses (e.g. the low frequency part of the BOC is tracked, while the high frequency part of t he BOC is not correlat ed).
The Code Generator Unit can be started either at the next Int egrat ion Epoch or Measurement Epoch. This can be select ed by t he configurat ion bit Trigger in t he CodeGenUnitCtrl regist er.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 44 of 230

Code NCO 180°

Divider Primary Rate

VFCG

x

x

x

Observables
Code Rate Generator
0 1 BOCCosEn

Divider
ResetSCM1
Divider
ResetSCM2 BOC Rate Reset with Primary Rate

Prim. Code Memory 1+2
Prim. Code Memory 1
Prim. Code Memory 2
Sec. Code Memory 1
Sec. Code Memory 2
BOC Register 2 bit

01
CodeRam Sel
01

1

x

x0

1 Output 1 0
GPSL2CEn
0 1

StartOfEpochSel 0

3

Start of Epoch
Fi gure 3-33: C ode Generator Uni t
The Very Flexible Code Generator (VFCG) consists of a 2x14 stages Linear Feedback Shift Register (LFSR) which can be coupled together to a 1x28 st age LFSR. Wit h t his configurat ion all t oday known shift regist er codes can be generat ed, except t he GPS P-code. Each primary code memory consists of 5120 bits. Each secondary code memory consists of 100 bit s. It is possible t o combine primary code memory 1 and primary code memory 2 to one primary code memory with 10240 bits. The output of t he combined memory is t hen eit her rout ed t o Out put 1 or t o Out put 2 (see Figure 3-33). Wit h this configuration all today known pilot/data code combinations can be processed wit hin one channel. Table 3-9 shall give an idea how the Code Generator Unit can be configured in order to generate the signals. The numbers below t he column VFCG refer to the LFSR st ages needed to generate the signal. The numbers below the column of t he code memories refer to the number of bits needed in order to generate the signal. Note that the examples on t his t able shall only give an idea how t he Code Generator can be configured. It is by far not complete, since there are almost unlimit ed combinat ions t o generat e t he different signals.

VFCG Prim. Code 1 Sec. Code 1 Prim. Code 2 Sec Code 2

BOC

GPS CA Code

2x10 ---

--1023

-----

-----

-----

-----

GPS L2C

1x27

---

---

10230

---

,,1",,0"or,,0",,1"

GPS L5 I+Q Galileo E1B+C

2x13 ---

--4092

20

10230

10

25

4092

0

--,,1" ,,0"

Galileo E5A I+Q 2x14

---

100

10230

20

---

Tabl e 3-9: Exampl e wi th possi bl e C ode Generator Uni t confi gurati on

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 45 of 230

In general it can be said t hat t he Code Generat or Unit is able t o produce codes wit h t he following propert ies
Single Component Code (consist ing of eit her pilot or dat a) · Shift regist er codes wit h an lengt h up t o 228-1 bit · Memory codes (primary) wit h a lengt h up t o 10240 bit · Memory codes (secondary) wit h a lengt h up t o 100 bit · BOC code wit h a sequence lengt h up t o 2 bit
Double Component Code (consist ing of pilot and dat a) · One component 228-1 bit , t he ot her 10240 if one component can be generat ed wit h LFSR · Bot h component s of 5120 bit each, if bot h component s are memory based codes · Memory codes (secondary) wit h a lengt h up t o 100 bit · BOC code wit h a sequence lengt h up t o 2 bit

Reloading of secondary codes is not the preferred solution, but it is possible due to the low data rate of secondary codes. Therefore, any future signal (e.g. GPS L1C) wit h secondary codes longer than 100 bit s, but st ill fulfilling t he ot her crit eria's ment ioned above, can st ill be processed.

Having a look at the signals where the properties are already known, the Code Generator Unit will be able t o generat e t he following signals wit hin each of t he 36 channels:

Signal GPS L1 CA GPS L1 P-Code GPS L2 P-Code GPS L2CM GPS L2CL GPS L2C (M+L) GPS L5 I GPS L5 Q GPS L5 (I+Q)

Yes No x x x x x x x x x

Galileo E1 B

x

Galileo E1 C

x

Galileo E1 (B+C)

x

Galileo E5B I

x

Galileo E5B Q

x

Galileo E5B (I+Q) x

Galileo E5A I

x

Galileo E5A Q

x

Galileo E5A (I+Q) x

Galileo E5Q AltBOC

x

Beidou B1 I

x

Beidou B2 I

x

Beidou B3 I

x

Tabl e 3-10: December 2009 Si gnal Summary

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 46 of 230

3.4.3.1 Very Flexible Code Generator (VFCG)
The Very Flexible Code Generator consists of a 2x14 stage LFSR, which can be coupled together to a 1x28 stage LFSR and a 2x14 bit counter, which can be coupled together to a 1x28 bit counter. With this configurat ion all t oday known shift regist er codes can be generat ed, except t he GPS P-code.

Start of Epoch

Primary Rate

Counter 14 Bit 14 Bit
28 Bit

LFSR 14 Bit 14 Bit
28 Bit

Primary Code Out

2x14 Bit LENGTH

2x14 Bit INIT 2x14 Bit POLYNOM

From uP I/F

VFCG

Fi gure 3-34: Very Fl exi bl e C ode Generator (Long Mode)

Primary Rate

Start of Epoch 1

Counter-1 14 Bit 14 Bit
28 Bit

LFSR-1 14 Bit 14 Bit
28 Bit

PN Seq. a

From uP I/F Start of Epoch 2

14 Bit LENGTH-1
GPS L5En
Counter-2 14 Bit 14 Bit
28 Bit

14 Bit INIT-1
14 Bit POLYNOM-1
X VFCG (1/2)

LFSR-2 14 Bit 14 Bit
28 Bit

PN Seq. b

Primary Code Out

14 Bit LENGTH-2

14 Bit INIT-2 14 Bit POLYNOM-2

From uP I/F

VFCG (2/2) VFCG
Fi gure 3-35 : Very Fl exi bl e C ode Generator (Normal Mode)

The StartOfEpoch Signal arises between the edge of the last and the first chip of a code epoch. It is used t o reload t he VFCG LFSR's wit h t he init patterns. Also it can be used to synchronize the Integration Epoch of t he correlat ors wit h

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 47 of 230

t he code epoch. The VFCG length registers can be reloaded at any time to perform a quick L2CL adjustment once t he L2CM code has been acquired.
In principal t he VFCG can be operat ed in t wo modes: In t he "long mode" (VFCGLongEn = 1, Fi gure 3-34) t he VFCG appears t o have: · one 28 bit LFSR · one 28 bit lengt h count er · one 28 bit init regist er · one 28 bit polynom regist er In t he "normal mode" (VFCGLongEn = 0, Fi gure 3-35) t he VFCG appears t o have: · t wo 14 bit LFSR · t wo 14 bit lengt h count er · t wo 14 bit init regist er · t wo 14 bit polynom regist er
In "long mode" the LFSR is reloaded with the init value when either t he VFCG is st art ed or t he lengt h count er has elapsed. In "normal mode" t he reloading of t he sift regist ers is as following:
· LFSR 1 and 2 are reloaded when t heVFCG is st art ed · LFSR 1 is reloaded when t he lengt h count er 1 has elapsed · LFSR 2 is reloaded when t he lengt h count er 2 has elapsed · LFSR 1 is reloaded when the length count er 2 has elapsed (t his is only done when t he configurat ion bit
GPSL5En is set t o 1)
The architecture of the LFSR in normal mode is depicted in Figure 3-36. The architecture of the LFSR in long mode is depict ed in Figure 3-37. The init register is not shown in this figure as it simply preloads the LFSR register. The "+" in t he two figures are corresponding to XOR logic. The shift direction of the LFSR is left wise. The feedback t aps in t he figure have been arbitrarily chosen. They are determined by the programming of the VFCGExtTaps register. Wit h t his knowledge all existing PRN Codes can be concluded for the AGGA-4. Table 3-11 gives the initialization vectors for all Galileo and GPS shift register codes described in [RD-01] to [RD4]. The numbers are represented in 32bit hexadecimal format and can t herefore direct ly be past ed int o source code.

Polynom-1 Register

13

12

&

...

3

2

1

0

&

&

&

&

+

+

+ ... +

13

12

3

2

1

0

LFSR-1 Register

...
+

Code Out

Polynom-2 Register

13

12

&

3

2

1

0

&

&

&

&

+

+

+ ... +

13

12

3

2

1

0

LFSR-2 Register

Fi gure 3-36: LFSR archi tecture i n "normal mode"

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 48 of 230

Polynom-1+2 Register

...

27

26

3

2

1

0

&

&

&

&

&

+

+

+ ... +

Code Out

27

26

3

2

1

0

LFSR-1+2 Register

Fi gure 3-37: LFSR archi tecture i n "l ong mode"

PRN

Galileo

GPS

E5A-I E5A-Q E5B-I E5B-Q

CA

L2CM L2CL

L5-I

L5-Q

1 0x0C8760C0 0x0A0CE0C0 0x03527C06 0x0166BC06 0x03C03800 0x02DF851E 0x05FD30A6 0x03293FEC 0x02F2BFEC

2 0x067E60C0 0x02A260C0 0x099DFC06 0x02817C06 0x01E03800 0x0B8181DE 0x04F08D8A 0x0E61BFEC 0x05283FEC

3 0x0B59A0C0 0x0A9E20C0 0x00217C06 0x0F967C06 0x00F03800 0x02673D00 0x07007824 0x01B6BFEC 0x0B0DBFEC

4 0x0880A0C0 0x0C47E0C0 0x06423C06 0x0D0CFC06 0x00783800 0x02BD69B0 0x0223044E 0x05DABFEC 0x07383FEC

5 0x097E60C0 0x0B47E0C0 0x07AEFC06 0x0060BC06 0x07F83800 0x09CE0606 0x0A763200 0x08F33FEC 0x06793FEC

6 0x0D68E0C0 0x0A87A0C0 0x01053C06 0x08F53C06 0x03FC3800 0x0DBACB0E 0x06B64350 0x07F23FEC 0x0C7E3FEC

7 0x06B160C0 0x0D4C60C0 0x00E43C06 0x04253C06 0x07F03800 0x01C094A8 0x07D45556 0x097EBFEC 0x0DAABFEC

8 0x0527A0C0 0x0B3420C0 0x0993FC06 0x035E7C06 0x03F83800 0x08F39BC6 0x0FF95184 0x03103FEC 0x01E33FEC

9 0x00DF60C0 0x03C0E0C0 0x00CF3C06 0x07787C06 0x01FC3800 0x089C3790 0x03F676C0 0x0AB73FEC 0x0B5ABFEC

10 0x0C9060C0 0x00F8E0C0 0x0A31FC06 0x0812BC06 0x02003800 0x0644C36E 0x07C2563A 0x04FABFEC 0x05AA3FEC

11 0x0B4320C0 0x0500A0C0 0x017A3C06 0x0A437C06 0x01003800 0x0A62974E 0x0AAE7320 0x07D0BFEC 0x0ED03FEC

12 0x038DE0C0 0x0DBAA0C0 0x095AFC06 0x0C53BC06 0x00403800 0x061FC4A0 0x014BFFC8 0x0C963FEC 0x0EFC3FEC

13 0x0FA460C0 0x074EA0C0 0x0F1BFC06 0x0123BC06 0x00203800 0x0C016A20 0x0B739586 0x0212BFEC 0x0EAC3FEC

14 0x07C5A0C0 0x072D20C0 0x0DE1FC06 0x0ACB7C06 0x00103800 0x0975AC64 0x0C77C300 0x0866BFEC 0x09083FEC

15 0x036CA0C0 0x0F4860C0 0x0386FC06 0x0E20FC06 0x00083800 0x00099A00 0x0AED9590 0x07893FEC 0x09AE3FEC

16 0x069060C0 0x0152A0C0 0x03093C06 0x03A97C06 0x00043800 0x062C4124 0x089C9676 0x0C293FEC 0x09573FEC

17 0x0AC7A0C0 0x0135A0C0 0x0E0DBC06 0x01E1FC06 0x07003800 0x0681681A 0x00920686 0x09AABFEC 0x0198BFEC

18 0x048260C0 0x036DA0C0 0x0513FC06 0x0A56BC06 0x03803800 0x0A3C5684 0x0E13F500 0x04DA3FEC 0x032B3FEC

19 0x0A95A0C0 0x0A6A60C0 0x00663C06 0x002FBC06 0x01C03800 0x026240B0 0x094E72AA 0x096ABFEC 0x0A3B3FEC

20 0x0063E0C0 0x050460C0 0x099A7C06 0x06737C06 0x00E03800 0x03D47028 0x0AFF55B4 0x0F35BFEC 0x0D393FEC

21 0x04BA20C0 0x021960C0 0x05F2FC06 0x0EB27C06 0x00703800 0x0DAE4090 0x0C387D80 0x01B43FEC 0x00CFBFEC

22 0x07E1A0C0 0x04C4E0C0 0x05C27C06 0x08C1FC06 0x00383800 0x0EB13CAE 0x0769E60A 0x09F23FEC 0x0410BFEC

23 0x0B3760C0 0x0007A0C0 0x0D4A3C06 0x0A1CFC06 0x06003800 0x0FEE3E90 0x0C4F3F1E 0x049E3FEC 0x0FEC3FEC

24 0x0C4DE0C0 0x033B20C0 0x0A16BC06 0x020B3C06 0x00C03800 0x00DC0A1E 0x06B9D6C6 0x03C23FEC 0x0BF03FEC

25 0x05F860C0 0x020660C0 0x0D89FC06 0x0CF1FC06 0x00603800 0x03A1E80E 0x008C4F3E 0x0F3D3FEC 0x0A12BFEC

26 0x061CE0C0 0x08BCA0C0 0x080E3C06 0x0C7A7C06 0x00303800 0x08D72840 0x03CF5C2E 0x057CBFEC 0x02733FEC

27 0x0EF360C0 0x04FC60C0 0x0ABAFC06 0x06CE7C06 0x00183800 0x0A4EC74E 0x0C44540E 0x04F43FEC 0x07F03FEC

28 0x09A3A0C0 0x09EAA0C0 0x0E027C06 0x06783C06 0x000C3800 0x04E15BEE 0x0CD77524 0x0556BFEC 0x06E3BFEC

29 0x0CD5E0C0 0x0CE520C0 0x01723C06 0x0958BC06 0x07C03800 0x038F4E4C 0x02357D68 0x0DF23FEC 0x0304BFEC

30 0x0B5020C0 0x0A8820C0 0x0F097C06 0x06FA7C06 0x03E03800 0x0E02A44E 0x0A52D99E 0x08A73FEC 0x0C8FBFEC

31 0x00DEA0C0 0x03D9E0C0 0x0923FC06 0x0FD0BC06 0x01F03800 0x0DA2652E 0x06C81908 0x04C33FEC 0x0E9C3FEC

32 0x067B60C0 0x0DDAA0C0 0x0B34FC06 0x04393C06 0x00F83800 0x0D12F050 0x073CCAD4 0x0CA2BFEC 0x0700BFEC

33 0x0C7260C0 0x02B1E0C0 0x0CA83C06 0x0BFE7C06 0x007C3800 0x0C3EAC0A 0x083C6FE2 0x0DA43FEC 0x035DBFEC

34 0x09DFA0C0 0x0B2560C0 0x0E8B7C06 0x0C94FC06 0x00FC3800 0x078FE2DE 0x043723CE 0x0C9E3FEC 0x035C3FEC

35 0x0D76A0C0 0x01E0E0C0 0x0E9BBC06 0x0C73FC06 0x07E03800 0x08F79DE8 0x0E118D24 0x022BBFEC 0x0BCB3FEC

36 0x0168A0C0 0x0113A0C0 0x04D97C06 0x06D6BC06 0x03F03800 0x0D4DEDDE 0x0E36523A 0x019CBFEC 0x09C33FEC

37 0x086460C0 0x0EF920C0 0x032B7C06 0x083ABC06 0x00FC3800 0x052316E2 0x0DC69C14 0x00C53FEC 0x0D4DBFEC

38 0x0E4CA0C0 0x029760C0 0x050C3C06 0x0482FC06

39 0x0E6C60C0 0x0F2DE0C0 0x0D01FC06 0x05E87C06

40 0x0A80A0C0 0x076360C0 0x01083C06 0x0FD3FC06

41 0x0651A0C0 0x0FB420C0 0x0202FC06 0x0FE67C06

42 0x0B7DA0C0 0x0348A0C0 0x0F7B3C06 0x0DFC7C06

43 0x0349A0C0 0x0B8FE0C0 0x07B7FC06 0x0334BC06

44 0x0C7420C0 0x07F1E0C0 0x0E69BC06 0x04813C06

45 0x0EC9E0C0 0x0E2160C0 0x0F53BC06 0x03113C06

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 49 of 230

46 0x0A4E20C0 0x0FB120C0 0x0C41BC06 0x01D93C06 47 0x08A0E0C0 0x057EA0C0 0x0993BC06 0x06BE7C06 48 0x0C4960C0 0x0BBB20C0 0x0D3F3C06 0x08057C06 49 0x07FCA0C0 0x0834A0C0 0x03AC3C06 0x0E393C06 50 0x05D6E0C0 0x0A27A0C0 0x046CFC06 0x0A94FC06

Tabl e 3-11: LFSR Ini t Patterns for di fferent codes

3.4.3.2 Primary Code Memory
Each channel contains 2x5120 bit memory for primary codes. The memory has a widt h of 8 bit , which result s in t he smallest ASIC die area and therefore saving gate count compared t o a 32bit organized on chip memory. The t wo memories can be coupled together in order to have one large code memory wit h 10240 bit s. This can be done by configuring the Length field in the PrimCodeRAM1 register beyond 5120bits. The primary code memory is clocked wit h t he Primary Rate. Whenever the current pointer reaches the length pointer, the current pointer returns t o zero and t he St art of Epoch signal is generated. When the StartCM1 or StartCM2 bit of the CodeGenUnitCtrl register is set , t he current pointer is set equal to the offset pointer once and the current pointer starts moving with the next code generat or t rigger, which can be either the Integration Epoch or the Measurement Epoch depending on t he programming of t he Trigger bit in the CodeGenUnitCtrl register. In the time between setting the StartCM1 or StartCM2 bit and wait ing for t he trigger (IE or ME), the code memory is paused and is outputting the value of the chip corresponding to Offset. Not e t hat typically the user wants to align the Integration Epoch (IE) with the Code Epoch. This can be achieved by set t ing t he bit ResetAtStartofEpoch in the CorrUnitCtrl register to reset the accumulators and the counters for t he Int egrat ion Epoch at the time instance "Start of Epoch". Please take into account that two consecutives Integration Epoch (IE) can occur close together if synchronising to the Code Epoch. It is valid to set the two bits StartCM1/StartCM2 together with ResetAtStartofEpoch in order to minimize the setup t ime of t he code memory. However it is import ant t hat t he StartCM1 or StartCM2 bit is writ t en before t he ResetAtStartofEpoch bit .

Start of Epoch

Primary Rate

From uP I/F

Memory

O

L

F

E

F

N

S

G

E

T

T

H

Current Pointer
Primary Code Memory

Primary Code Out

Fi gure 3-38: Pri mary C ode Memory

The offset pointers as well as the length pointers are located in the PrimCodeRam1Ctrl respectively PrimCodeRam2Ctrl regist er and can be set by software. If the two RAM's are coupled together, the length and offset pointer are configured via PrimCodeRam1Ctrl. The settings in PrimCodeRam2Ctrl have no influence in this case. Note that the length as well as t he offset pointer can address not only byte wise, but also bit wise. Note also that the offset pointer always has t o be smaller or equal t han t he lengt h point er. Ot herwise t he out put of t he Code Generat or is invalid.
Figure 3-39 depicts how the code chips have to be written into the PrimaryRAM1/2 in order that they are output in t he correct order.

Data0 31

...

1 2 3 4 5 6 7 8 Chip Indexes 8 7 6 5 4 3 2 1 0 Bit Numbers

Data1 31

...

9 10 11 12 13 14 15 16 Chip Indexes 8 7 6 5 4 3 2 1 0 Bit Numbers

Fi gure 3-39: Data O rgani zati on of C ode RAM

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 50 of 230

To ensure proper operation, the primary RAM should be configured as follow: first the length and offset point ers have t o be set and after this the start bit has to be set. From there on it takes 2 CoreClk cycles until one single code RAM or bot h RAM's coupled to one single RAM are ready to start. If both code RAM's are used separately it takes 4 CoreClk cycles unt il t hey are bot h ready t o st art .
It is guaranteed by the hardware that the trigger can not start the code memories until they are not ready. However if the t ime between setting the start bit and t he next t rigger is less t han 2 CoreClk cycles (one RAM single/coupled) respectively 4 CoreClk cycles (two single RAM's), the trigger is missed and the next trigger start s t he Code RAM(s).
Not e that for the code RAM, code lengths smaller than 16 chips are not possible due to timing constraints. That means if t he code length is programmed to values 0..15 the code RAM is disabled. In that case the output of the code RAM is a const ant one, no mat t er what is writ t en in t he code RAM.
Not e that a proper use of t he Code RAM's is only guarant eed if a channel is enabled in t he ChActivation0 and ChActivation1 regist ers.

3.4.3.3 Secondary Code Memory
Each channel contains 2x100 bit memory for secondary codes. The memory has a widt h of 8 bit , which result s in t he smallest ASIC die area and therefore saving gate count compared to a 32bit organized on chip memory. Each memory is clocked with the Secondary Rate. The Secondary Rate is generated by dividing the Primary Rate by a 14 bit int eger number. The divider can be programmed via the Divider field in the SecCodeRamCtrl register. Each secondary memory has it s own divider in order to have independent Secondary Rat es for t he t wo memories (see also Figure 3-33). Whenever the current pointer reaches the length pointer, the current pointer returns to zero. Addit ionally t he current pointer of each secondary code memory can be set to the offset pointer with the next StartOfEpoch signal. If an offset is writ t en (by writing the the Offset field in the SecCodeRam1Ctrl or SecCodeRam2Ctrl register), the next step is to set the ResetSCM1 or ResetSCM2 bit in the CodeGenUnitCtrl register. Then at t he next StartOfEpoch signal, t he current pointer will start reading the secondary code from the offset on. The offset value always is the offset from t he st art of t he secondary code RAM. If the offset pointer is read it returns the current point er posit ion. This is helpful for t he secondary code acquisition. Note that the offset pointer always has t o be smaller or equal t han t he lengt h point er. Ot herwise t he out put of t he Secondary Code is invalid.
Also t he lengt h point er can be set by t he programming of t he Length field in t he SecCodeRam1Ctrl or SecCodeRam2Ctrl register. Other than the offset pointer, the length pointer becomes effective immediat ely. It is also valid t o change the length pointer during runtime. A programmed length of "0" disables the secondary code RAM and a const ant "0" is coming out .
The data is organized the same way as it is done for the primary code. Therefore Figure 3-39 also applies for t he SecondaryRAM1/2 memory.
Not e that a proper use of the Secondary Code RAM's is only guaranteed if a channel is enabled in t he ChActivation0 and ChActivation1 regist ers.

Reset at Start of Epoch

Secondary Rate

From uP I/F

Memory

O

L

F

E

F

N

S

G

E

T

T

H

Current Pointer
Secondary Code Memory
Figure 3-40: Secondary Code Memory

Sec Code Out

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 51 of 230

Start Condition: 1 Sec. Code Chip = 2 Prim. Code Chips Sec. Code Length = 4

Primary Code Epochs

Secondary Code Epochs 3 4 13 4 1 2 3 1

Write Conditions

Offset = 3

Length = 3

ResetSCM = 1

3.4.3.4 BOC Processing
The BOC register can hold up to 2 bit of a BOC sequence (e.g. "10"). Sin and cosine BOC pat t erns can be generat ed (more details see Figure 3-41). The BOC/Primary chip rat io can be programmed by t he 4 bit BOCDivider in t he CodeGenUnitCtrl regist er. That way a wide range of BOC(n,m) codes can be processed.
Values writ ten in the following registers fields: BocPattern, BOCDivider become effective either immediat ely or wit h t he next Integration Epoch, depending on theBOCEffectivebit. This allows swit ching mode without losing t rack, e.g. from single side band processing t o dual side band processing.
In case of even BOC division ratios (e.g. 2,4,6,...) the BOC sequence is synchronized with every primary chip, while for odd BOC division ratios (e.g. 1,3,5), the BOC sequence is synchronized only with every even primary chip (e.g. 0,2,4,...). Note that in this case the continuous synchronization works properly starting at the next StartOfEpoch event , since t he hardware uses t his t o dist inguish bet ween even and odd primary chips.

Primary Chips BOC(sin) bits BOC(cos) bits

Figure 3-41: BOC Sine and Cosine Logic
The BOCRat e(sin) is generated whenever the code NCO accumulator is full and has a wrap around at the 32bit border. The BOCRat e(cos) is generated whenever the code NCO accumulator MSB t oggles after it has wrapped around at t he 32bit border. Therefore BOCRate(sin) and BOCRate(cos) are shifted 180° against each ot her or 90° relat ive t o t he primary chip as depict ed in Figure 3-41.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 52 of 230

3.4.3.5 Code Rate Generator

Code Rate Generator
CodeNCOFreq from Aiding Unit
(CodeAidFreq+CodeSwFreq)

CodeNCOFreq
+

CodeSwShiftSteps

0

Next IE

1 Immediate

2 Repeated IE

CodeSwShiftMode

CodeSwShift

= not accessible by SW = Read access by SW = Read/Write access by SW

BOCRate(sin) BOCRate(cos)

from prev.

from prev.

channel

channel

IE ME

NCO Accu

IE_CodePhase ME_CodePhase

0

1

CodeSel

BOCRate(sin) BOCRate(cos)
Fi gure 3-42: C ode Rate Generator Archi tecture

The Code Rate Generator architecture is depicted in Figure 3-42. The code frequency increment (CodeNCOFreq) value is coming from the Code Aiding Unit. It is the summation of CodeAidFreq and CodeSwFreq. (further details see Code Aiding Unit chapter 3.4.6.1). Besides the code frequency also the code phase can be adjusted. Ot her t han AGGA-2/3, t he code phase shifts are not limited to 1/4 and 1/16 of a chip. The code phase shift can be programmed via the regist er CodeSwShift and can be any signed number within 32bit. However the user has t o t ake care t hat t he summat ion of CodeNCOFreq and CodeSwShift is not less than 0 and not more than 232. Otherwise the outcoming BOCRate is invalid. Also t he code phase is observable with all 32bits. Therefore AGGA-4 offers the possibility of soft ware slaving. That means that the code phase of two or multiple channels (which can, but don't have t o be adjacent ) can be exact ly synchronized. The 32bit code phase is latched at Integration and Measurement Epoch in t he corresponding regist ers (IE_CodePhaseand ME_CodePhase). Besides this the current code phase can be read at any t ime by reading t he CodeSwShift regist er.
For acquisition it is helpful to have the possibility to shift the code phase for several chips. This can be achieved wit h t he 22bit CodeSwShiftSteps field of the NCOSettings register. . If CodeSwShiftSteps is not zero, than t he CodeSwShift value is added CodeSwShiftSteps times to the Code NCO accumulator with every CoreClk. Therefore it might t ake CodeSwShiftSteps CoreClk cycles until the whole code phase shift is done. Also the user has t he possibilit y t o select when t he single or multiple code phase shift is applied. This can be select ed by t he CodeSwShiftMode field in t he NCOSettings register. There is the possibility to do the single/multiple code phase shift "once immediately" or "once at next integration epoch" or "repeated at integration epoch". If "repeated at integration epoch" is selected the user has t o t ake care that the single/multiple code phase shift lasts shorter than the integration epoch period. Ot herwise t he code phase shift operation can not work as int ended. The repeat ed mode can be st opped by programming eit her t he CodeSwShift or t he CodeSwShiftSteps regist er t o zero.
The CodeSwShift is a signed value and can therefore be applied in both directions (forward and backwards) wit h t he above ment ioned limit at ions (CodeSwShift + CodeNCOFreq bet ween 0 and 232).
Figure 3-43 is a timing example showing how t he different modes behave. Note that the example is not represent at ive concerning the distance between the adjacent IE's. In reality the distance would change due t o t he Code Phase Shift . Not e also t hat t he example assumes a programmed value of "2" for t he CodeSwShiftSteps regist er.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 53 of 230

CodeSwShiftMode

IE

IE

IE

Once

Immediate

12

CPU Write of CodeSwShift

IE Once at next IE

IE

IE

12

CPU Write of CodeSwShift

Repeat at IE

IE

IE

IE

12

12

CPU Write of CodeSwShift
Fi gure 3-43: C ode SW Shi ft O perati on Ti mi ng Exampl e

IE
IE
IE 12

Note : If the CodeNCOFreq is zero (which is the case after a channel reset or if the CodeNCOFreq was intentionally set t o zero), there is no more BOCRate coming out of the Code Rate Generator. Therefore also t he Int egrat ion Count er can't count BOCRate cycles and thus an Integration Epoch will never occur. If in this case CodeSwShiftMode would be
set to "0-new values become effective with next IE", then new values for the code NCO would never become effective, since no Integration Epoch would ever occur. Therefore in this particular case the CodeSwShiftModehas to be set to "1new values become effective immediately" until the CodeNCOFreq has the desired value. Then Integration Epochs will
occur and t he CodeSwShiftMode can be set back t o "0" if desired.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 54 of 230

3.4.3.6 Code Generator Unit Configuration Examples:
Please note that in the following example tables (Table 3-12 - Table 3-17) a "X" indicat es t hat t he set t ing does not necessarily have t o be "0" or "1", but can be chosen upon t he users desires (e.g. Delay Line Spacing, et c).

3.4.3.6.1 GPS C/A Code Generation
The GPS C/A Code is 1023 chips long and can be generated either wit h t he LFSRs of t he VFCG, t he primary code memory1 or the primary code memory2. If produced via LFSR the VFCG is configured to use two LFSR stages wit h a lengt h of 10 at a rat e of 1.023 MHz. The polynomials t o generat e GPS C/A code are t he following:
· G1= 1 + x3 + x10 · G2 = 1 + x2 + x3+ x6 + x8+ x9 + x10

The following settings depict an example of how to configure the Code Generator Unit in order t o generat e GPS C/A code PRN-1 via t he VFCG.

Register

MSB

Setting

CodeGenUnitCtrl (20bit)

0000 0000 0000 0000

PrimCodeRam1Ctrl (28bit)

0000 0000 0000 0000 0000 0000

PrimCodeRam2Ctrl (26bit)

00 0000 0000 0000 0000 0000

SecCodeRam1Ctrl (28bit)

0000 0000 0000 0000 0000 0000

SecCodeRam2Ctrl (28bit)

0000 0000 0000 0000 0000 0000

VFCGExtTaps (28bit)

0110 0101 1100 0000 1000 0001

VFCGInit (28bit)

0011 1100 0000 0011 1000 0000

VFCGLength (28bit)

0000 1111 1111 1000 0011 1111

DelayLineCtrl (26bit)

XX XXXX XXXX XXXX XXXX XX00

CorrUnitCtrl (17bit)

X XXXX XXXX XX00

Table 3-12: Example set t ings for GPS C/A code PRN-1 via VFCG

LSB 100X 0000 0000 0000 0000 0000 0000 1110 00XX 0001

Not e that in the previous example it was assumed that the user wanted to synchronize the int egrat ion count wit h t he code epoch. Therefore t he "ResetAtStartofEpoch" bit in CorrUnitCtrl regist er was set .

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 55 of 230

3.4.3.6.2 GPS L2C Code Generation For t ime multiplexed codes, the BOC registers can be used. For GPS L2C for example the BOC Clock Divider will be programmed in a way that the BOC Rate is twice the Primary Rate. The VFCG is configured t o produce L2CL while Code Memory2 is configures to produce L2CM. Additionally the GPSL2CEn bit in the CodeGenUnitCtrl register has to be set . This causes t hat t he BOC regist er out put is not mult iplied ont o t he primary codes, but is forwarded as enable/disable control into Code Output2. Also it causes that the Outputs of the VFCG and t he Primary Code RAM are t ime mult iplexed and rout ed t o Code Out put 1. By programming the BOCPattern field in the CodeGenUnitCtrl register it can be det ermined which chip of t he t wo mult iplexed chips is enabled and which is disabled later on in the multiplier. A "1" in the BOCPattern field enables the chip lat er on in t he mult iplier, a "0" disables it .
The L2C signal cont ains t wo codes of different lengt h: · L2CM cont aining 10.230 chips wit h a code epoch lengt h of 20 msec · L2CL containing 767.250 chips with a code epoch length of 1.5 sec and synchronized to t he 1.5 sec Z-count
In principle bot h codes can be generat ed via t he VFCG wit h t he following polynomial: · 1 + x3 + x4+ x5 + x6+ x9 + x11+ x13 + x16+ x19 + x21+ x24 + x27
The following table depicts an example of how to configure the Code Generator Unit in order t o generat e GPS L2CM and L2CL code PRN-1. The pilot (L2CL) signal with the VFCG, t he dat a (L2CM) signal wit h t he coupled primary memory. Only the second half of the chip (L2CL) has been enabled. Therefore in the Correlat or Unit all correlat ors would correlate only on the L2CL part, and not on the L2CM part. The only exception is the LL-Q correlator shown in Figure 3-30, which in this example would correlate only on the L2CM part and therefore demodulate the dat a. Also in t his example the StartOfEpoch signal is generated from the code memory and therefore occurs every 20ms rat her t han every 1.5s as it would be t he case for t he L2CL signal.

Register

MSB

Setting

LSB

CodeGenUnitCtrl (20bit)

1000 0010 1101 0001 110X

PrimCodeRam1Ctrl (28bit)

0000 0000 0000 0010 0111 1111 0101

PrimCodeRam2Ctrl (26bit)

00 0000 0000 0000 0000 0000 0000

SecCodeRam1Ctrl (28bit)

0000 0000 0000 0000 0000 0000 0000

SecCodeRam2Ctrl (28bit)

0000 0000 0000 0000 0000 0000 0000

VFCGExtTaps (28bit)

0011 1100 1010 1001 0010 1001 0010

VFCGInit (28bit)

0101 1111 1101 0011 0000 1010 0110

VFCGLength (28bit)

0000 0000 1011 1011 0101 0001 0001

DelayLineCtrl (26bit)

XX XXXX XXXX XXXX XXXX XX00 00XX

CorrUnitCtrl (17bit)

X XXXX XXXX XX11 1001

Table 3-13: Example set t ings for GPS L2C PRN-1 via VFCG and coupled Primary Memory

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 56 of 230

3.4.3.6.3 GPS L5 Code Generation The GPS L5 signal is composed of an in-phase data signal and a quadrature pilot signal. Both signals have a 10.23 MHz chip rat e. Bot h L5 codes can be generat ed wit h t wo 13 st age LFSRs wit h t he following polynomials:
· PXA = 1 + x9 + x10 + x12 + x13 · PXB = 1 + x + x3 + x4 + x6 + x7 + x8 + x12+ x13
The L5 in-phase and the L5 quadrature channel share the same generating polynomials. The codes only differ in t he selection of the initialization vector. Additionally the L5-Q signals carries a 20bit secondary code, while the L5-I signal carries a 10bit secondary code.
In order to generate the L5 signal with the VFCG, t he shift register1 generating PXA is shortened to 8190 chips using it s 14 bit count er. The shift regist er2 generat ing PXB is short ened t o 10230 chips using it s 14 bit count er. The reload signal of the second shift register is also used for the first shift regist er since t his generat or must also be reloaded at 10230 chips. This is done by set t ing t he GPSL5En bit of t he CodeGenUnitCtrl regist er. Not e that in the case of GPS L5 the StartOfEpoch signal should be derived from LFSR-2 or t he coupled primary memory (primary memory1) but not from LFSR-1, since the StartOfEpoch signal would then be generated every 8190 chips and not every 10230 chips as int ended.
The following example gives an overview of how to configure the Code Generator Unit in order to generate GPS L5 Q code PRN-1 wit h the VFCG and t he GPS L5 I code PRN-1 in the coupled primary memory. Also it is assumed that t he LL-Q correlator correlates the data signal, while all other correlators correlate on the pilot signal. It is assumed that t he StartOfEpoch signal is generated from the LFSR-2 of t he VFCG. However it would also work if t he StartOfEpoch signal is derived from the coupled primary memory. In that case the StartOfEpochSel bit would have t o be set t o "2" (primary code memory1), since t he coupled primary memory is always addressed by primary memory1.

Register

MSB

Setting

LSB

CodeGenUnitCtrl (20bit)

1000 0000 0010 1101 101X

PrimCodeRam1Ctrl (28bit)

0000 0000 0000 0010 0111 1111 0101

PrimCodeRam2Ctrl (26bit)

00 0000 0000 0000 0000 0000 0000

SecCodeRam1Ctrl (28bit)

1001 1111 1101 0100 0000 0001 0011

SecCodeRam2Ctrl (28bit)

1001 1111 1101 0100 0000 0000 1001

VFCGExtTaps (28bit)

1011 0111 0001 1000 0000 0011 0110

VFCGInit (28bit)

0010 1111 0010 1011 1111 1110 1100

VFCGLength (28bit)

1001 1111 1101 0101 1111 1111 1101

DelayLineCtrl (26bit)

XX XXXX XXXX XXXX XXXX XX00 00XX

CorrUnitCtrl (17bit)

X XXXX XXXX XX10 0001

Table 3-14: Example set t ings for GPS L5 PRN-1 via VFCG and Primary Memory 1

Besides t he above configuration the primary code RAM would have to be loaded wit h GPS L5 I PRN#1, the secondary RAM1 would have to be loaded with the 20bit Neuman Hoffman Code for the pilot and t he secondary RAM2 would have t o be loaded wit h t he 10bit Neuman Hoffman Code for t he dat a channel.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 57 of 230

3.4.3.6.4 Galileo E1 Code Generation
The Galileo E1-B and E1-C code are memory based codes. Therefore t he following example shows how t he Code Generat or Unit of a channel can be set up in order to generate E1-C wit h primary memory 1 and E1-B wit h primary memory 2.
Ot her than for shift register based codes, this example is valid for all PRNs of the Galileo E1-B/C family, since the PRN code number is only determined by the content of the memory, not by the content of the AGGA configuration regist er.

Register

MSB

Setting

LSB

CodeGenUnitCtrl (20bit)

0010 0011 0000 1111 010X

PrimCodeRam1Ctrl (28bit)

0000 0000 0000 0000 1111 1111 1011

PrimCodeRam2Ctrl (26bit)

0000 0000 0000 0000 1111 1111 1011

SecCodeRam1Ctrl (28bit)

0011 1111 1110 1100 0000 0001 1000

SecCodeRam2Ctrl (28bit)

0000 0000 0000 0000 0000 0000 0000

VFCGExtTaps (28bit)

0000 0000 0000 0000 0000 0000 0000

VFCGInit (28bit)

0000 0000 0000 0000 0000 0000 0000

VFCGLength (28bit)

0000 0000 0000 0000 0000 0000 0000

DelayLineCtrl (26bit)

XX XXXX XXXX XXXX XXXX XX00 00XX

CorrUnitCtrl (17bit)

X XXXX XXXX XX10 1001

Table 3-15: Example set t ings for Galileo E1 B+C via Primary Memory 1&2

3.4.3.6.5 Galileo E5 Code Generation
The E5A and E5B PRN codes are generated with two 14 stage LFSRs wit h the following polynomials (see also [RD01]):

E5AI and E5AQ share t he same polynomials: · PE5AI1/Q1 = 1 + x + x6 + x8 + x14 · P E5AI2/Q2 = 1 + x4 + x5 + x7 + x8 + x12+ x14

E5BI: · ·

PE5BI1 = 1 + x4 + x11 + x13 + x14 PE5BI2 = 1 + x2 + x5 + x8 + x9 + x12+ x14

E5BQ: · ·

PE5BQ1 = PE5BI1= 1 + x4 + x11 + x13 + x14 PE5BQ2 = 1 + x + x5 + x6 + x9 + x10+ x14

All codes have a 10.23 MHz chip rate. Each code is truncated at a length of 10230 chips resulting in a 1 ms code epoch.

Table 3-16 gives an example how t he Code Generator Unit can be configured in order to generat e Galileo E5A-I and Galileo E5A-Q in one channel. The example uses the VFCG for E5A-Q and the coupled memory code RAM for E5A-I. The example shows t he configurat ion for PRN-1.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 58 of 230

Register

MSB

Setting

LSB

CodeGenUnitCtrl (20bit)

1000 0000 0000 1101 100X

PrimCodeRam1Ctrl (28bit)

0000 0000 0000 0010 0111 1111 0101

PrimCodeRam2Ctrl (26bit)

00 0000 0000 0000 0000 0000 0000

SecCodeRam1Ctrl (28bit)

1001 1111 1101 0100 0000 0110 0011

SecCodeRam2Ctrl (28bit)

1001 1111 1101 0100 0000 0001 0011

VFCGExtTaps (28bit)

0001 1011 0001 0110 0001 0100 0001

VFCGInit (28bit)

1010 0000 1100 1110 0000 1100 0000

VFCGLength (28bit)

1001 1111 1101 0110 0111 1111 0101

DelayLineCtrl (26bit)

XX XXXX XXXX XXXX XXXX XX00 00XX

CorrUnitCtrl (17bit)

X XXXX XXXX XX10 0001

Table 3-16: Example set t ings for Galileo E5A (I+Q) PRN-1 code via VFCG and Primary Memory

Table 3-17 gives an example how t he Code Generator Unit can be configured in order t o generat e Galileo E5B-I and Galileo E5B-Q in one channel. The example uses the VFCG for E5B-Q and the coupled memory code RAM for E5B-I. The example shows t he configurat ion for PRN-1.

Register

MSB

Setting

LSB

CodeGenUnitCtrl (20bit)

1000 0000 0000 1101 100X

PrimCodeRam1Ctrl (28bit)

0000 0000 0000 0010 0111 1111 0101

PrimCodeRam2Ctrl (26bit)

00 0000 0000 0000 0000 0000 0000

SecCodeRam1Ctrl (28bit)

1001 1111 1101 0100 0000 0110 0011

SecCodeRam2Ctrl (28bit)

1001 1111 1101 0100 0000 0000 0011

VFCGExtTaps (28bit)

1000 1100 1100 0100 0100 0000 1011

VFCGInit (28bit)

0001 0110 0110 1011 1100 0000 0110

VFCGLength (28bit)

1001 1111 1101 0110 0111 1111 0101

DelayLineCtrl (26bit)

XX XXXX XXXX XXXX XXXX XX00 00XX

CorrUnitCtrl (17bit)

X XXXX XXXX XX10 0001

Table 3-17: Example set t ings for Galileo E5B (I+Q) PRN-1 code via VFCG and Primary Memory

3.4.4 Code Delay Line Unit (CDLU)
The Code Delay Line Unit in each channel as anticipated in Figure 3-30 and shown in more detail in Figure 3-44 selects and controls the delay to be applied to the code correlators. It generates the Early Early, Early, Punctual, Late and Lat e Lat e (i.e. EE, E, P, L, LL) version of t he select ed code sequence wit hin t he channel. Two Code Delay Lines are implemented within each CDLU allowing the processing of pilot and data signals within one channel and the processing of t ime mult iplexed signals (e.g. GPS L2C) wit hin one channel.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 59 of 230

CodeIn1 (from prev. Ch.)

CGU

DelayLine

CGU

Output-1

Core

ClkIn

Output-2

(from local Ch.) Clk (from prev.Ch.) (from local Ch.)

CodeIn2 (from prev. Ch.)

10

01

OR

CodeInSel GPSL2CEn

DelayLineClkSync (from Time Base)

CodeSwap ClkSel

Divider

0

1

0

1

1

0

CodeOutSel

Delay Line 1

DelayLine Clk

Delay Line 2

01

1

0

CodeOutSel

CodeOut1 (to next Ch.)

22222
EE E P L LL To Multiplier To LL-Q

CodeOut2 DelayLineClkOut (to next Ch.) (to next Ch.)

Fi gure 3-44: C ode Del ay Li ne Uni t (C DLU)

3.4.4.1 Code Input Select
In t he control register DelayLineCtrl there is a bit CodeInSel. If set, the code from the previous channel is t hroughput t hrough t he delay lines, ot herwise t he local generat ed code from t he Code Generat or Unit (CGU).
In t he case of processing GPS-L2C signal (GPSL2CEn = `1' in CodeGenUnitCtrl register), the Code Delay Line 2 will always t ake t he code generat ed in t he local Channel, regardless of CodeInSel.

3.4.4.2 Code Swap
In t he control register DelayLineCtrl there is a bit CodeSwap. If set, the input 1 is routed to Delay Line 2 and the input 2 is rout ed to Delay Line 1, otherwise input 1 is rout ed t o Delay Line 1 and t he input 2 is rout ed t o Delay Line 2.

3.4.4.3 Delay Line Clock Select
In t he control register DelayLineCtrl there is a bit ClkSel. If set, the DelayLineClk for the delay line is coming from t he previous channel, otherwise the DelayLineClk is coming from the local channel. If t he clock comes from t he local channel, t he DelayLineClk signal is comput ed as follow:
DelayLineClk = CoreClk DivRatio +1
where t he DivRatio is 2 bit wide and can be found in the DelayLineCtrl register. Possible values of DivRatio are [0, 1, 2, 3].
In order t o make sure t hat t he delay line clock divider count er st at e is phase coherent over all channels, a synchronizat ion signal DelayLineClkSync is generat ed every 12 CoreClk cycles in t he Time Base module.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 60 of 230

Not e that this synchronization signal only can make sure that the Delay Line clock divider state of different channels is synchronous among the different channels. It can not prohibit the under sampling effect. The under sampling effect is present if a Delay Line Divider other than zero is used. Then t he PRN code coming form t he Code Generat or is
sampled wit h a slowed down clock (which can be asynchronous to the chip edges) and this causes t hat t he PRN code edges can vary up to 3 CoreClk cycles behind the Delay Line compared to the true edge of the PRN code. This jit t er is dependant of the programmed Delay Line Divider. For the following Delay Line Divider values the following jitter has
t o be t aken int o account :

Del ay Line Divider (programmed value) 0

Jitter [C oreC lk cycles] 0

1

1

2

2

3

3

Table 3-18: Delay Line Divider caused Jit t er

3.4.4.4 Delay Line
Each Code Delay Line Unit consists of two identical Delay Lines. Each Delay Line is clocked by t he DelayLineClk signal and consists of five 22 stage shift registers each fed with the selected code sequence. The phase delay bet ween 2 adjacent shift register cells is referred to as one tap. The maximum length of 1 delay line is 110 taps. The delay between Early Early(EE), Early(E), Punctual(P), Late(L) and Late Late(LL) can be programmed individually in 22 steps i.e. 1, 2, 3, ... 21, 22 t aps. This can be done wit h t he Spacing bit field in t he DelayLineCtrl regist er.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 61 of 230

DelayLine Clk

CodeIn
1 2 3 4 5 6 7 .8.. 196 170 181 192 2103 2114 2125

1 2 3 4 5 6 7 .8.. 196 170 181 192 2103 2114 2125

1 2 3 4 5 6 7 .8.. 196 170 181 192 2103 2114 2125

1 2 3 4 5 6 7 .8.. 196 170 181 192 2103 2114 2125

1 2 3 4 5 6 7 .8.. 196 170 181 192 2103 2114 2125

ChipSpacing_EE EE
ChipSpacing_E E
ChipSpacing_P P
ChipSpacing_L L
ChipSpacing_LL LL
CodeOut

Figure 3-45: Delay Line
3.4.4.5 Code Output Select In t he control register DelayLineCtrl there is a bit called CodeOutSel. If set, the output from Delay Line 1 is routed to Code Out 1 of the Code Delay Line Unit and the output from Delay Line 2 is routed to Code Out 2 of the Code Delay Line Unit. If t he CodeOutSel bit is zero, there is a direct bypass from CodeIn1 (coming from the previous channel) to CodeOut1 and from CodeIn2 (coming from the previous channel) to CodeOut2. This is used for hardware slaving of channels.

3.4.5 Correlator Unit
The Correlator Unit anticipated in Figure 3-30 and shown in more detail in Figure 3-46 consists of the Mult iplier, t he 29bit wide Integrator, the 32bit wide Data Collector, the 21bit Integration Counter and the 32bit Cont inuous Count er. The DMA transfer of the integration results is described in chapter 3.4.7.3. The Ant enna Swit ch Cont roller (ASE) int eract ion wit h t he Correlat or Unit is described in more det ail in chapt er 3.6.3.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 62 of 230

Delay Line 1 From Delay Delay Line 2

Punctual

Line Block

Punctual

5x2bit

From

Final Down

2x3bit

Converter

Multiplier

10 x 4bit

EE E
 P
L LL
Integrator

10 x 29bit
Data Collect

With DMA to external
RAM

Long Epoch (LE) Integration Epoch (IE)

tartOfEpoch BOC Rate

1/N
Integration Counter

Continuous Counter

Correlator Unit
AE (from Antenna witch Controller)

Figure 3-46: Correlat or Unit

3.4.5.1 Multiplier
In t he Multiplier the sequences coming from the Delay Line Block are multiplied with the signal from t he Final Down Converter. Ten multiplications are processed in parallel since t he I and Q part of t he signal from t he Final Down Converter are multiplied with each of the 5 (EE, E, P, L, LL) code sequences. The paths from the Delay Line Block t o t he Multiplier are 2bit wide. The MSB is always driven by the output of Delay Line 1. If GPSL2CEn = 0, t he LSB is always 0, hence multiplication is by 1 or -1. If GPSL2CEn = 1, the LSB is connected to the output of Delay Line 2 as an enable / disable signal, hence multiplication is by -1, 1 or 0. With this information (enable/disable) t he mult iplier can also output "0". Therefore the multiplier output is 4bit wide, since the output can not only have the values [-7, -5, -3, -1, +1, +3, +5, +7] but also "0".
Please note that the multiplication scheme is slight ly different for Ant enna Swit ch Epoch enabled (ASEEn = 1 in CorrUnitCtrl regist er). This is shown in Figure 3-47 and described in det ail in chapt er 3.6.3.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 63 of 230

Code Sequences from Delay Line Unit

aultiplier EE(0)

E(0)

EE(1)

E(1)

t(0) t(1)

L(0) L(1)

LL(0) LL(1)

'0'

'0'

'0'

'0'

'0'

1

0

1

0

1

0

1

0

1

0

DtSL2CEn

Inphase Signal

3

from FDC

Quadrature Signal 3
from FDC

2

2

2

0

1

2

2

1

0

2 x
x x x x
x x x x

ASEEn
4
EEI
4
EI
4
PI
4
LI
4
LLI
4
EEQ
4
EQ
4
PQ
4
LQ
aultiplier LLQ

CDLSel
x

4
LLQ

AND
LQSel

Direct Punctual Signal
from CDL 1
Figure 3-47: Mult iplier

Direct Punctual Signal
from CDL 2

There is one special multiplier (LL-Q) which can be used for various functions. The following table gives an overview t o t hese funct ions:

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 64 of 230

Purpose LL-Q normal operation B/C operation I/Q operation L2C second half operation

IQSel CDLSel Multiplication of

0

0 incoming Q signal

1

2 incoming I signal

0

2 incoming Q signal

1

3 incoming I signal

with ... LL of DL 1 P of DL 2 P of DL 2 P of DL 1 AND inverse of DL2

Comment LL-Q is working like all other multipliers LL-Q is demodulating the data of e.g. E1B LL-Q is demodulating the data of e.g. E5A-I LL-Q is demodulating e.g. L2CM

Table 3-19: Possibilit ies of LL-Q

3.4.5.2 Integration Counter The Integration Counter shown in Figure 3-46 is 21bit wide and clocked with BOCRate. Once it elapses, the Integration Epoch occurs. The Integration Epoch can be phase aligned with the Code Epoch by resetting t he Int egrat ion Count er wit h t he Reset at St art of Epoch signal.
Not e also that the Integration Epoch is automatically phase aligned to the punctual correlat or wit h t he help of a half delay line.
3.4.5.3 Continuous Counter
The Continuous Counter is clocked with BOCRate and is 32 bit wide. A 32bit offset can be added t o t he Cont inuous Count er by writ ing t o t he ContCntOffset regist er. The offset is added wit h t he next Int egrat ion Epoch.
3.4.5.4 Long Epoch (LE)
If t he Long Epoch Divider (i.e. 1/N in Figure 3-46) is programmed to zero t hen t he Long Epoch is disabled and all correlators are working wit h Integration Epoch as usual. The accumulator values are lat ched at Int egrat ion Epoch, t ransferred via DMA and are reset back t o zero.
The Long Epoch Divider can be programmed by writ ing t he LongEpochDiv field in t he IntCountCtrl regist er.
If only the Long Epoch Divider is programmed to any other value than zero, then all accumulators are still latched wit h t he Integration Epoch, transferred via DMA but the accumulators are not reset back to zero. They are reset back to zero wit h t he next Long Epoch.
If t he bit LongEpochLLQ of CorrUnitCtrl register is set in addition to the Long Epoch Divider other than zero, then the LL-Q accumulator is reset back to zero with the Integrat ion Epoch, alt hough t he Long Epoch is act ive. All ot her accumulat ors are reset back whenever t he Long Epoch occurs.
This allows independent integration times for the pilot and the data component. Example: Taking t he Galileo E1B+C Signal, t he data part carries a message @ 250sps. The LL-Q multiplier would process the data part, all other multipliers would process the pilot part. Since a navigation message bit has 4ms width, the Integration Epoch has to be set to values equal or smaller than 4ms in order to catch all symbols correctly. However for the pilot part it might be of int erest t o have longer integration times than 4ms. Therefore the Long Epoch Divider could for example be set to ten. In t his case all accumulator values (besides LL-Q) are integrating over 40ms until the accumulator value get s reset back t o zero.
In order to know when a Long Epoch has occurred, t he firmware can read t he LongEpochReady st at us bit in t he CorrUnitCtrl register. If the bit is set the firmware can know that the IE which just occurred was also a LE. The bit is on for one IE, t hen swit ched off and swit ched on at t he next LE again and so on.
By set ting the bit IntSourceSel bit in the CorrUnitCtrl register to "1", the DMA and GIC are not invoked at every IE, but at every LE. This allows invoking the firmware at the lower LE rate, while collecting autonomously the Navigation Dat a Bits via the Data Collect function (see also 3.4.5.6). The mechanism of the Interrupt Source Selection is depict ed in Figure 3-48.

Channel IntSourceSel

IE

0

LE

1

GIC

1

Delay until DMA is ready

1

0

0

Interrupt registered as IE

DMA used
Fi gure 3-48: Inte rrupt Source (IE or LE) Se l e cti on

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 65 of 230

3.4.5.5 Integrator
The Int egrat or (shown in Figure 3-46) has t en 29bit signed accumulat ion regist ers for all 10 correlat ors. An improvement compared to AGGA-2/3 is that the sign bit (bit 28 when counting is started with 0) is also copied t o bit 29-31 by the AGGA-4. Therefore the software does not have to do a sign extension at a high rat e aft er fet ching t he correlat ion values.

The accumulat ors can be lat ched and reset at t he following t ime inst ances: · Int egrat ion Epoch (IE) · Long Epoch (LE) · Ant enna Swit ch Epoch (ASE)

Table 3-20 gives a det ailed overview how t he accumulat ion regist ers are working under all condit ions.

Lat ched in this context means that a snapshot of the current accumulation values is taken at a certain time instance (IE; LE, ASE) and is written into the Integration Epoch Observables (i.e. IE_ValueEE_I, IE_ValueE_I, ..., IE_ValueLL_Q).

Reset in t his cont ext means t hat t he accumulat ors are reset back t o zero.

The charact er "+" in t his cont ext means a logical OR.

reset @

latch @

ASE_En LongEpochLLQ LongEpochDiv = 0 LongEpochDiv != 0

EE (I/Q) E (I/Q) P (I/Q) L (I/Q) LL (I) LL(Q) EE (I/Q) E (I/Q) P (I/Q) L (I/Q) LL (I) LL(Q)

0 0 true false IE

IE

IE

IE

IE IE IE

IE

IE

IE

IE IE

0 0 false true LE

LE

LE

LE LE LE IE

IE

IE

IE

IE IE

0 1 true false IE

IE

IE

IE

IE IE IE

IE

IE

IE

IE IE

0 1 false true LE

LE

LE

LE LE IE IE

IE

IE

IE

IE IE

1 0 true false IE

IE+ASE IE+ASE ASE IE IE IE

ASE IE

ASE IE IE

1 0 false true LE

LE+ASE LE+ASE ASE LE LE IE

ASE IE

ASE IE IE

1 1 true false IE

IE+ASE IE+ASE ASE IE IE IE

ASE IE

ASE IE IE

1 1 false true LE

LE+ASE LE+ASE ASE LE IE IE

ASE IE

ASE IE IE

Table 3-20: Act ion Table for Int egrat or

3.4.5.6 Data Collect
The sign of the LL-Q accumulator is entering a 32bit FIFO with every Integration Epoch. The FIFO is shifted left wise. The user can adjust a collecting length from 1..32 bits depending on the programming of the DataCollectLength field of t he CorrUnitCtrl register. Whenever the data collect length counter elapses, the 32 bit FIFO is copied t o t he regist er DataCollect. Due to the left shift, the latest bit is aligned on the right. The software gets informed about an update of the DataCollect register via t he flag DataCollectReady in t he CorrUnitCtrl regist er. Once t he soft ware reads t he DataCollect register, the DataCollectReady flag is cleared by t he hardware. The IMT value of t he corresponding Int egrat ion Epoch is also t he IMT t ime st amp for t he lat est bit .
By set ting the bit ResetDataCollect in the CorrUnitCtrl register, the current state of the data collect lengt h count er as well as t he 32bit FIFO is cleared wit h t he next Int egrat ion Epoch.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 66 of 230

3.4.6 Aiding Unit
The Aiding Unit can be used for various purposes. If the code and carrier NCOs are updated at a low rat e due t o long int egration epochs an autonomous update of the loop frequency setting according to expected carrier and code dynamics can be performed by t he aiding unit . The Aiding Unit can also be coupled t oget her wit h an ext ernal Inert ial Measurement Unit (IMU). Then the AGGA-4 pin AU_TRIGGER can be used as timing signal from the IMU system t o t he AGGA-4 Aiding Unit in order to coordinate the update of the Aiding Unit coefficients toget her wit h t he ext ernal IMU. In case the aiding unit is updated with the AU_TRIGGER pin, the time instance of AU Trigger is latched into t he regist ers AUT_IMT_MSW and AUT_IMT_LSW. As the signal dynamic influences the carrier frequency and t he code frequency t o a different ext ent , t wo aut onomous aiding modules are implement ed.
The aiding unit shown in Figure 3-49 consists of an autonomous carrier aiding module, an aut onomous code aiding module and a clock generat ion module.

Code Aiding Frequency

Aiding Unit
Code Aiding Module

Carrier Aiding Frequency

Carrier Aiding Module

AidClk

Aiding Clock Generation

Fi gure 3-49: Ai di ng Uni t

Input from Software
ME PPS AU Trigger
CoreClk

3.4.6.1 Code Aiding Unit
The code aiding unit st ruct ure is shown in Figure 3-50 wit h t he following regist ers:
· CodeNCOFreq is t he act ual code NCO frequency
· CodeSwFreq is the code frequency provided by the acquisition or tracking loop programmed in software (SW)
· CodeAidFreq is t he code aiding frequency
· CodeAidAcc is t he code aiding accelerat ion
Note: Please also see chapter 3.4.3.5 to get the relation between the Code Aiding Unit and the CodeSwShift funct ion.
In a first step (this is indicat ed wit h t he "1" next t o t he addit ion circle in Figure 3-50) wit h every AidClk, t he CodeAidAcc value is accumulated in the CodeAidFreq register according to Figure 3-50. As soon as t his is done, in a second step (this is indicated wit h the "2" next to the addition circle in Figure 3-50) the cont ent of CodeAidFreq and CodeSwFreq is added t oget her and writ t en t o t he regist er CodeNCOFreq as a second st ep.
By programming of the CodeAidEn bit in the AidingUnitCtrl register the Code Aiding Unit can be switched on and off, as shown in Figure 3-50. The swit ch command becomes effect ive wit h t he next Int egrat ion Epoch.
Not e: New parameters written into the registers CodeAidAcc and CodeAidFreq become effective eit her wit h t he next Measurement Epoch (ME), Pulse Per Second (PPS), or rising edge of t he AU_TRIGGER, depending on t he programming of the TriggerSel bit in the AidingUnitCtrl register. Note that the external AU_TRIGGER signal has to last at least 4 CoreClk cycles in order t o be correct ly det ect ed.
Also note that reading back the registers CodeAidAcc and CodeAidFreq give not back the value just written int o t hese regist ers but the actual effective value. That means if one writes a value into the register, the system waits for t he next applicable trigger event (either ME, PPS or AU_TRIGGER). Then the value becomes effective and then t he read-back value equals t he value writ t en before.
A new parameter written into the regist er CodeSwFreq becomes effect ive eit her immediat ely or wit h t he next Int egration Epoch, depending on t he programming of t he CodeSwFreqMode bit in t he NCOSettings regist er.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 67 of 230

If new parameters have been written to CodeAidFreq and/or to CodeAidAcc, then CodeAidFreq without the addition of CodeAidAcc is added to CodeNCOFreq with the next trigger event. From there on a combination of CodeAidAcc and CodeAidFreq (according t o Figure 3-50) is added t o CodeNCOFreq wit h every AidClk.
Note : It takes 2 CoreClk cycles aft er t he t rigger unt il t he new value (CodeSwFreq or CodeAidFreq) is added (applicable) in the NCO phase. Example: The SW changes the value CodeSwFreq from 10 to 20 and the trigger is set to IE. The NCO phase accumulat or would do ...10+10+10 IE 10+10+20+20+20+...
The following t able gives t he regist ers, which belong t o t he Code Aiding Unit :

Re gister Name CodeAidAcc CodeAidFreq CodeNCOFreq CodeSwFreq

Register Length Accessible Bits C omment

17 bit

17 bit (R/W)

31 bit

25 MSB (R/W) 6 LSB cleared at write access to the MSB

32 bit

32 bit (R)

32 bit

32 bit (R/W)

Tabl e 3-21: Regi sters of the C ode Ai di ng Uni t

Code Aiding Acceleration

Register Labels:

16

8

0

CodeAidAcc (signed)

Code Aiding Frequency

CodeAidEn

24

16

31

24

16

8

Code NCO Frequency 2

Code Software Frequency

31

24

16

8

1

8

0

0

0

CodeAidFreq (signed) CodeNCOFreq (unsigned) CodeSwFreq (unsigned)

8 Bit

Accessible by the Processor (R/W)
Accessible by the Processor (R)
Cleared at write access to the MSBs

Resolution:
CoreClk/2^45 [Hz] * AidClk [Hz] CoreClk/2^39 [Hz] CoreClk/2^32 [Hz]
Range:
± CoreClk/2^29 [Hz] * AidClk [Hz] ± CoreClk/2^15 [Hz] CoreClk [Hz]

Fi gure 3-50: C ode Ai di ng Uni t

The Code Aiding Unit as depicted in Figure 3-50 can cope with the following Doppler's and Accelerations:

Ranges of Code Aiding Unit @ 100Hz AidClk

Core Clock [MHz]

2,5

25

max Doppler [Hz]

+/-

76,29

762,94

max Acceleration [Hz/s]

+/-

0,47

4,66

Tabl e 3-22: C ode Ai di ng Uni t Ranges

The following formulas have been used to calculate the numbers in Table 3-22:

40 1220,70
7,45

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 68 of 230

Max

Doppler

[Hz]

=

±

CoreClk 215

Max

Acceleration

 Hz   s 

=

±

CoreClk 2 29

 TAidClk

The resolution is chosen such that the maximum range error due to finite Code Aiding Unit resolution is the following:

Error of Code Aiding Unit @ 1kHz AidClk after 100ms due to finite resolution

Core Clock [MHz]

2,5 25 40

Range Error [mm] due to CodeAidFreq with 1MChip Code Range Error [mm] due to CodeAidFreq with 10MChip Code

+/- 0,13 1,33 2,13 +/- 0,01 0,13 0,21

Range Error [mm] due to CodeAidAcc with 1MChip Code

+/- 0,10 1,04 1,67

Range Error [mm] due to CodeAidAcc with 10MChip Code

+/- 0,01 0,10 0,17

Tabl e 3-23: C ode Ai di ng Uni t Errors due to fi ni te resol uti on

The following formulas have been used to calculate the numbers of Table 3-23:

CodePhaseError

[mm]

due

to

CodeAidFreq

=

CoreClk 239



tupdate



SpeedOfLight CodeFreq

1e3

CodePhaseError [mm] due to CodeAidAcc

= CoreClk 2 45  TAidClk



1 2



t

2 update



SpeedOfLight CodeFreq

1e3

Where tupdate is the update rate at which new aiding values are written by the software. The factor 1e3 is there to bring t he result from meter to millimeter.
3.4.6.2 Carrier Aiding Unit The carrier aiding unit st ruct ure is shown in Figure 3-51 wit h t he following regist ers:
· CarrNCOFreq is t he act ual carrier NCO frequency
· CarrSwFreq is the carrier frequency provided by the acquisition or tracking loop programmed in soft ware
· CarrAidFreq is t he carrier aiding frequency
· CarrAidAcc is t he carrier aiding accelerat ion Note : Please also see chapter 3.4.2 to get the relation between the Carrier Aiding Unit and t he CarrSwShift funct ion. In a first step (this is indicat ed wit h t he "1" next t o t he addit ion circle in Figure 3-51) wit h every AidClk, t he CarrAidAcc value is accumulated in the CarrAidFreq register according to Figure 3-51. As soon as t his is done, in a second step (this is indicated wit h the "2" next to the addition circle in Figure 3-51) the cont ent of CarrAidFreq and CarrSwFreq is added t oget her and writ t en t o t he regist er CarrNCOFreq as a second st ep. By programming of the CarrAidEn bit in the AidingUnitCtrl register the Carrier Aiding Unit can be switched on and off as shown in Figure 3-51. The swit ch command becomes effect ive wit h t he next Int egrat ion Epoch. Not e: New parameters written into the registers CarrAidAcc and CarrAidFreq become effect ive eit her wit h t he next Measurement Epoch (ME), Pulse Per Second (PPS), or rising edge of t he AU_TRIGGER pin, depending on t he programming of the TriggerSel bit in the AidingUnitCtrl register. Note that the external AU_TRIGGER signal has to last at least 4 CoreClk cycles in order t o be correct ly det ect ed. Also note that reading back the registers CarrAidAcc and CarrAidFreq does not give back the value just writ t en int o t hese registers, but the actual effective value. That means if one writes a value into the register, the system waits for the next applicable trigger event (either ME, PPS or AU_TRIGGER). Then the value becomes effective and then t he readback value equals t he value writ t en before.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 69 of 230

A new parameter written into t he regist er CarrSwFreq becomes effect ive eit her immediat ely or wit h t he next Int egration Epoch, depending on t he programming of t he CarrSwFreqMode bit in t he NCOSettings regist er. If new parameters have been written to CarrAidFreq and/or to CarrAidAcc, then CarrAidFreq wit hout the addit ion of CarrAidAcc is added t o CarrNCOFreq wit h t he next t rigger event . As shown in Figure 3-51 from t here on a combinat ion of CarrAidAcc and CarrAidFreq is added t o CarrNCOFreq wit h every AidClk. Note: It takes 2 CoreClk cycles after the trigger until the new value (CarrSwFreq or CarrAidFreq) is added (applicable) in t he NCO phase. Example: The SW changes the value CarrSwFreq from 10 to 20 and t he t rigger is set t o IE. The NCO phase accumulat or would do ...10+10+10 IE 10+10+20+20+20+...
The following t able gives t he regist ers, which belong t o t he Carrier Aiding Unit :

Register Name Register Length Accessible Bits C omment

CarrAidAcc

24 bit

24 bit (R/W)

CarrAidFreq 38 bit

32 MSB (R/W) 6 LSB cleared at write access to the MSB

CarrNCOFreq CarrSwFreq

32 bit 32 bit

32 bit (R) 32 bit (R/W)

Tabl e 3-24: Regi sters of the C arri er Ai di ng Uni t

23
Carrier Aiding Acceleration

Carrier Aiding Frequency Carrier NCO Frequency Carrier Software Frequency

CarrAidEn 31

24

31

24

2

31

24

16 16 16

16

8

1

8

0

8

0

8

0

8 Bit

Accessible by the Processor (R/W)
Accessible by the Processor (R)
Cleared at write access to the MSBs

Register Labels:
0
CarrAidAcc (signed)
CarrAidFreq (signed)
CarrNCOFreq (signed)
CarrSwFreq (signed) Resolution:
CoreClk/2^41 [Hz] * AidClk [Hz] CoreClk/2^35 [Hz] CoreClk/2^32 [Hz]
Range:
± CoreClk/2^18 [Hz] * AidClk [Hz] ± CoreClk/2^4 [Hz] ± CoreClk/2 [Hz]

Fi gure 3-51: C arri er Ai di ng Uni t The Carrier Aiding Unit as depicted in Figure 3-51 can cope with the following Doppler's and Accelerations:

Ranges of Carrier Aiding Unit @ 100Hz AidClk

Core Clock [MHz]

2,5

25

max Doppler [MHz] max Acceleration [Hz/s]

+/-

0,16

1,56

+/-

953,67

9536,74

Tabl e 3-25: C arri er Ai di ng Uni t Ranges

40 2,50 15258,79

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 70 of 230

The following formulas have been used to calculate the numbers in Table 3-25:

Max

Doppler

[Hz]

=

±

CoreClk 24

Max

Acceleration

 Hz   s 

=

±

CoreClk 2 18

 TAidClk

The resolution is chosen such that the maximum range error due to finite Carrier Aiding Unit resolution is the following:

Error of Carrier Aiding Unit @ 1kHz AidClk after 100ms due to finite resolution

Core Clock [MHz]

2,5

25

40

Phase Error [um] due to CarrAidFreq @L1

+/- 1,38 13,85 22,15

Phase Error [um] due to CarrAidFreq @L5

+/- 1,85 18,54 29,67

Phase Error [um] due to CarrAidAcc @L1

+/- 1,08 10,82 17,31

Phase Error [um] due to CarrAidAcc @L5

+/- 1,45 14,49 23,18

Tabl e 3-26: C arri er Ai di ng Uni t Errors due to fi ni te resol uti on

The following formulas have been used to calculate the numbers Table 3-26:

CarrierPhaseError

[mm] due to

CarrAidAcc

=

CoreClk 241  TAidClk



1 2

 tu2pdate



SpeedOfLight CarrierFreq

1e6

Not e: CarrierFreq in the two equations above are the physical carrier frequency (e.g. 1.57542 GHz for L1) and not the value of the register CarrAidFreq.

Where tupdate is the update rate at which new aiding values are written by the software. The factor 1e6 is there to bring t he result from meter to micrometer.

3.4.6.3 Aiding Clock Generation
The Aiding Unit clock (AidClk) is derived by dividing the CoreClk by a 19bit divider. It can be programmed via t he DivRatio field in the AidingUnitCtrl regist er. New writ t en set t ings become effect ive immediat ely. In order t o synchronize the AidClk wit h either the Measurement Epoch (ME), the Pulse Per second (PPS) or AU_TRIGGER, t he int ernal AidClk divider reset is armed whenever the software writes to one of t he following regist ers: CodeAidFreq, CodeAidAcc, CarrAidFreq, CarrAidAcc. Once the reset is armed it will reset at t he next t rigger event (ME, PPS or AU_TRIGGER). The timing event to which the AidClk shall be synchronized to, can be selected by the TriggerSel field in t he AidingUnitCtrl regist er.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 71 of 230

3.4.6.4 Behaviour Examples
The following two figures shall give some examples in order to fully understand the behaviour of the Aiding Unit. The figures use the Code Aiding Unit as an example. However the behaviour is exactly the same for the Carrier Aiding Unit.

Trigger Signal (ME, PPS or AU_TRIGGER)

Trigger Signal (ME, PPS or AU_TRIGGER)
t

Code Aiding Unit Output

AidClk

AidClk
CPU Write of CodeAidFreq(1) CodeAidAcc(1)

AidClk AidClk

AidClk

AidClk

t AidClk

CodeAidFreq(1)

CodeAidFreq(1) + 1*CodeAidAcc(1)

CodeAidFreq(1) + 2*CodeAidAcc(1)

CodeAidFreq(1) + 3*CodeAidAcc(1)

CodeAidFreq(0) + n*CodeAidAcc(0)

CodeAidFreq(0) + (n+1)*CodeAidAcc(0)

t
Fi gure 3-52: Ai di ng Uni t Behavi our Exampl e 1

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual
1 Aiding frequency generated at 1kHz

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 72 of 230

t

2

CodeSwFreqMode (0=with next IE, 1=immediate)

1

0

t

3

CodeAidEn
1

0

t

4 Frequency settings written by tracking loop

t

IE CPU Write

IE CPU Write

IE

CPU Write

IE

CPU Write

IE CPU Write

IE

5 Frequency settings being effective in the channel

t

IE

IE

IE

IE

IE

IE

6 NCO frequency

t
Fi gure 3-53: Ai di ng Uni t Behavi our Exampl e 2
3.4.7 Observables
The channel observables consist of t he Int egrat ion Epoch (IE) observables and t he Measurement Epoch (ME) observables. The Integration Epoch observables mainly consist of the correlation values and the environmental sett ings which caused these correlation values (e.g. NCO settings) used for the acquisition and tracking loops. The Measurement Epoch observables are mainly used to get channel measurements (code/carrier phase) which are taken at the same t ime inst ance for all channels.
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 73 of 230

3.4.7.1 Integration Epoch Observables

Regi ster Name U = Unsi gned S = Signed LoopSt at e (U)

Descri pti on
This register is writable and can therefore be used by the software to write data in it, which is t hen transferred (together with the other observables) via DMA into the external RAM. This allows keeping t he cont ext (e.g. loop set t ings) t oget her wit h t he correlat ion values.

IE_IMT_LSW (U) The lower 32bits of the Instrument Measurement Time (IMT) Counter at the time instance of Int egrat ion Epoch.

IE_ValueEE_I (S) The Early Early Inphase correlat ion value. See also Not e-1 below t his t able.

IE_ValueEE_Q (S) The Early Early Quadrat ure correlat ion value. See also Not e-1 below t his t able.

IE_ValueE_I (S)

The Early Inphase correlat ion value. See also Not e-1 and Not e-2 below t his t able.

IE_ValueE_Q (S)

The Early Quadrature correlat ion value. See also Not e-1 and Not e-2 below t his t able.

IE_ValueP_I (S)

The Punctual Inphase correlat ion value. See also Not e-1 and Not e-2 below t his t able.

IE_ValueP_Q (S)

The Punctual Quadrature correlation value. See also Not e-1 and Not e-2 below t his t able.

IE_ValueL_I (S)

The Late Inphase correlation value. Not e: See also Not e-1 and Not e-2 below t his t able.

IE_ValueL_Q (S)

The Lat e Quadrat ure correlat ion value. See also Not e-1 and Not e-2 below t his t able.

IE_ValueLL_I (S) The Lat e Lat e Inphase correlat ion value. See also Not e-1 below t his t able.

IE_ValueLL_Q (S) The Lat e Lat e Quadrat ure correlat ion value. See also Not e-1 below t his t able.

Dat aCollect (U)

This register contains t he dat a bit s which are collect ed wit h every Int egrat ion Epoch.

IE_CodeFreq (U)

If t he CodeFreqSel bit in the CorrUnitCtrl register is one, the observable will reflect only the Code NCO increment caused by the programming of CodeSwFreq (see chapter 3.4.6.1), not including t he aiding component caused by CodeAidFreq.
If t he CodeFreqSel bit in the CorrUnitCtrl register is zero, t he observable will reflect t he Code NCO increment caused by the summation of CodeSwFreq and the aiding component CodeAidFreq.

IE_CarrFreq (S)

If t he CarrFreqSel bit in the CorrUnitCtrl register is one, the observable will reflect only the Carrier NCO increment caused by the programming of CarrSwFreq (see chapter 3.4.6.2), not including t he aiding component caused by CarrAidFreq.
If t he CarrFreqSel bit in the CorrUnitCtrl register is zero, t he observable will reflect t he Carrier NCO increment caused by the summation of CarrSwFreq and the aiding component CarrAidFreq.

IE_CarrObsPhase (S) IE_Cont Count (U)

By default this register contains the 12MSB's of the carrier phase and the 20 bit cycle count (see chapter 3.4.2). If the bit IE_CarrObsSel in the CorrUnitCtrl register is set , t he regist er will contain the whole 32bit of the carrier phase. This allows software slaving of channels, since t he NCO's of t he channels can be phase aligned by soft ware.
This regist er cont ains t he 32bit Cont inuous Count lat ched at Int egrat ion Epoch.

IE_CodePhase (U) This regist er cont ains t he 32 bit code NCO phase lat ched at Int egrat ion Epoch.

Tabl e 3-27: Integrati on Epoch (IE) O bservabl es

Note-1: The sign bit of the correlation values is copied in the upper bits. Therefore the soft ware does not need do no furt her shift ing of t he correlat ion values in order t o correct ly reconst ruct t he t wo's complement values.
Note-2: If Ant enna Swit ch Mode is enabled, t his observable has a special funct ion (see chapt er 3.6.3).

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual
3.4.7.2 Measurement Epoch Observables

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 74 of 230

Regi ster Name U = Unsi gned S= Signed ME_IMT_LSW (U)

Descri pti on
The time stamp of the lower 32bits of the Instrument Measurement Time (IMT) count at t he time instance "Measurement Epoch". Note that this time stamp is t ypically ident ical wit h t he time stamp ME_IMT_LSW hosted in the Channel Matrix. However if channels are slaved, there is one CoreClk cycle delay between the channels for everyt hing. Then also t he ME_IMT_LSW time stamps in t he slaved channels will differ for t his delay.

ME_CarrObsPhase (S)

By default this register contains the 12MSB's of t he carrier phase and t he 20 bit cycle count (see chapter 3.4.2). If the bit ME_CarrObsSel in the CorrUnitCtrl register is set, t he regist er will contain the whole 32bit of the carrier phase. This allows soft ware slaving of channels, since t he NCO's of t he channels can be phase aligned by soft ware.

ME_Int Count (U)

This register contains t he value of t he 21bit Int egrat ion Count at t he t ime inst ance "Measurement Epoch".

ME_Cont Count (U)

This register contains t he value of t he 32bit Cont inuous Count at t he t ime inst ance "Measurement Epoch".

ME_CodePhase (U)

This register contains the 32bit code NCO phase at t he t ime inst ance "Measurement Epoch".

Tabl e 3-28: Measurement Epoch (ME) O bservabl es

3.4.7.3 DMA Transfer of GNSS Observables All channel observables can be transferred via DMA to any destination address. These observables are referred t o as "Raw Samples" in some applicat ions. The GNSS_DMACtrl regist er allows t o select which observable shall be t ransmitted via DMA and which not. Each bit represents one observable. The exact mat ching can be found in t he address t able in chapt er 7.4.5.47. In order t o set up a DMA operat ion, t he following order is recommended: · Clear GNSS_DMACtrl regist er in order t o be sure t hat t he DMA is not working · Configure t he GNSS_DMAStartAddr · Configure t he GNSS_DMACurAddr (t ypically set t o t he same value as GNSS_DMAStartAddr) · Configure t he GNSS_DMAEndAddr · Configure t he GNSS_DMACtrl regist er in order t o enable t he observables t ransfer
Not e that the GNSS DMA area must be seen as a circular buffer. Once the GNSS DMA t ransfer reaches the end address of t he buffer it wraps around and starts again from the start address. Therefore by setting the GNSS_DMAStartAddr and t he GNSS_DMAEndAddr only the borders of the circular buffer are defined. The address in the defined buffer where the DMA shall start to write its observables to is defined by writing to the GNSS_DMACurAddr. Note that typically a DMA current address pointer is read only. In this case (GNSS DMA) it is also writeable. Therefore the DMA transfer can be st art ed at any address which is wit hin t he buffer. The DMA t ransfer is always 32bit wide. By reading t he GNSS_DMACurAddr regist er it ret urns t he address of t he next free 32bit dat a element . If DMA is enabled, the Integration Epoch strobe is not directly routed from the GNSS core to the Interrupt Cont roller, but is delayed until the DMA transfer is finished to make sure that the DMA is ready if the soft ware get s invoked via int errupt. Note that only the notification to the software is delayed, not the Integration Epoch it self. The Int egrat ion Epoch observables cont ain of course t he dat a belonging t o t he t ime inst ance "Int egrat ion Epoch". Also note that the DMA is intended to transfer Integration Epoch Observables. Therefore the GNSS DMA is t riggered solely by the Integration Epoch. However since the Measurement Epoch Observables are just behind t he Int egrat ion Epoch Observables (from an address point of view) it is also possible to transfer the Measurement Epoch Observables by means of DMA at t he Int egrat ion Epoch t ime inst ance.
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 75 of 230

The t iming of t he DMA process is as follow:
If any bit in the GNSS_DMACtrl register is switched on, it takes 11 CoreClk cycles to intit ialize t he DMA. Then t he hardware steps through the GNSS_DMACtrl register. It starts wit h Bit0 (IntLoopState) and it takes one CoreClk cycle to check whether a DMA transfer of this observable is requested or not. If it is request ed it t akes 5 CoreClk Cycles t o t ransfer each observable into the DMA FIFO of depth 32. If it is not requested it will step to the next bit (IE_MT_LSW) and decide once more (one CoreClk cycle) if t his observable has t o be t ransferred or not .
Once t here is a value in t he FIFO, t he AMBA bus is request ed and it t akes minimum 9 SysClk cycles unt il t he observable arrives at the destination (e.g. external RAM). Note that the AMBA bus can be blocked by inst ances wit h higher priority than the DMA. In this case the 9 SysClk cycles are exceeded. After t he DMA t ransfer of a part icular channel is finished it t akes 3 CoreClk cycles t o end t he DMA process.
The DMA t iming behaviour is depict ed in Figure 3-54.

Init DMA start
11 cycles

Check Transfer observable Check Transfer observable

Bit0

to DMA FIFO

Bit1

to DMA FIFO

if Bit0 is set

if Bit1 is set

1

5 cycles

1

5 cycles

1

Check Transfer observable

Bit22

to DMA FIFO

if Bit22 is set

1

5 cycles

end

3

CoreClk Cycles

Always executed

Once first observable
is in FIFO

Only executed if corresponding bit in register in GNSS_DMACtrl is set

repeated 23 times, once for each bit in GNSS_DMACtrl

min. 9 SysClk cycles

min. 9 SysClk cycles

Observable is transferred via AMBA bus. This process can be blocked at any time and
delayed indefinitely.
Figure 3-54: DMA Timing Behaviour

Example: In order to transfer all IE correlator values together wit h the time stamp via DMA in a syst em wit h 40 MHz CoreClk and SysClk at DMA rate of 1kHz, the GNSS_DMACtrl register would have to be configured t o 0x00000FFE. Then it would t ake:
11 CoreClk cycles t o init ialize t he DMA
23 x 1 CoreClk cycles t o st ep t hrough t he regist er GNSS_DMACtrl
11 x 5 CoreClkcycles t o t ransfer t he observables int o t he FIFO
11 x 9 SysClk cycles t o t ransfer t he observables out of t he FIFO t o t he dest inat ion (e.g. ext ernal RAM)
Not e: For timing calculations it has to be taken into account that the 11x5 transfer and t he 11x9 t ransfer are done in parallel, hence the spacing between two successive transfers of one channel is at least 5 CoreClk or 9 SysClk cycles (whichever is longer), possibly ext ended by wait st at es or ot her act ivit y on t he AHB bus.
In t he case of DMA transfers at the same time, these are going to be processed sequentially, st art ing from channel-0 and finishing wit h channel-35.
Not e: There is no risk that one processes the IE interrupt while t he DMA is st ill running, since t he IE int errupt is not ified t o t he GIC only if t he DMA for t hat channel is finished.

The dat a amount would be 11 x 32bit per millisecond, which is 352 kBit /s.

3.4.7.4 Timing Notes about GNSS Observables Whenever the Code NCO 32bit phase has a wrap around, the Int egrat ion Epoch count er is increased by one. If it reaches the programmed level, the Int egrat ion Epoch Count er will signal t he Integration Epoch (IE) and t he IE observables are latched. However from the point in time when the code NCO signals the wrap around until the latching of t he IE observables it t akes exact ly 3 CoreClk cycles.
The Measurement Epoch latching is artificially delayed by 3 CoreClk cycles so t hat bot h t ime lines ME and IE are consist ent .
Example: If in one channel t he IE would coincide wit h t he ME t han t he channel observables would be:
ME_IMT_LSW = IE_IMT_LSW and
ME_CodePhase = IE_CodePhase

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 76 of 230

3.4.8 Channel Slaving Concepts
Up t o 36 channels can be slaved t oget her. There are t wo ways of slaving channels: · Hardware Slaving (known also from AGGA-2) · Soft ware Slaving (new)
Besides t his there are different applications where slaving is useful. Some of them will be treated in this section in order t o get familiar wit h t he slaving concept s. The cases which are t reat ed as examples are:
· At t it ude Det erminat ion · Fast Acquisit ion / Mult ipat h Det ect ion · Correlat ion Funct ion Probing

3.4.8.1 Hardware/Software Slaving
It has to be noted that Hardware and Software Slaving are not fully equivalent t o each ot her. Bot h met hods have advant ages and disadvant ages.

Hardware Slaving means that the signal (e.g. Carrier Frequency, Code Frequency, PRN Code, etc) is slaved to the next channel via hardware. The software configures the slaving once and then the information from t he mast er channel is spread to the slave channels without interaction from software. The restriction is that only subsequent channels can be slaved. That means it is for example possible to slave channels 1,2,3,4 but not 1,3,4,5, since the chain is int errupt ed at channel 2.
Soft ware slaving means that the software is copying the relevant information (Carrier NCO word, Code NCO word) t o t he slave channels. The advantage is that any channel can be slaved, also if the channels are not subsequent . Anot her advantage is that the software can apply modifications to the slaved values and by thus e.g. apply an offset to the copied NCO word. The disadvantage however is an increase in CPU load and that not everything can be slaved via soft ware.

If Hardware Slaving is used it has to be noted that there is one CoreClk delay in t he slaved signals. This can also be seen in Figure 3-30. This "one CoreClk delay" feature is necessary in order to make sure that the signals from t he first channel can be slaved up t o t he last channel wit hout problems in signal propagat ion t ime.

The following t able gives an overview of t he signals which can be slaved from channel t o channel:

Signal to slave Input Data ME PPS Carrier Delay Clock Code Out 1 Code Out 2 Primary Rate BOC Rate (cos) BOC Rate (sin) LE IE ASE

Hardware InputSel = 12 TimeBaseSel = 1 TimeBaseSel = 1 CarrSel = 1 CodeSel = 1 CodeSel = 1 CodeSel = 1 CodeSel = 1 CodeSel = 1 CodeSel = 1 IntEpochSel = 1 IntEpochSel = 1 TimeBaseSel = 1

Software N/A N/A N/A Yes (copy) Yes (config), but Restriction Yes (config) Yes (config) Yes (copy) Yes (copy) Yes (copy) Yes (config) Yes (config) N/A

Tabl e 3-29: Sl avi ng possi bi l i ti es

The table has to be read as follow: If Hardware slaving is chosen, the Input Dat a has t o be delayed by one CoreClk
cycle, since also the local signals (e.g. Carrier, Code) are delayed by one CoreClk cycle. This is also t rue for t iming signals like PPS, ME and ASE. However in case of software slaving this is not applicable, since there is no delay in t he signals (e.g. Carrier, Code) between the channels. Therefore also the input data and timing signals must not be delayed.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 77 of 230

The Carrier for example can be slaved via Hardware if t he bit CarrSel in t he ChannelCtrl regist er is set t o 1. Alt ernatively it can be slaved via software. Then the software has to adjust the carrier NCO phase once and from t here on just copy the carrier NCO word (frequency) from the master channel to the slave channel. The carrier phase of t wo channels can be synchronized with the help of the ME_CarrObsPhase register. It can be configured such that all 32bit s of t he Carrier NCO phase are accessible. From that observable the phase difference of t wo channels can be read out . This phase difference can t hen be adjust ed wit h t he help of t he CarrSwShift regist er.
The Delay Clock can be slaved via Hardware Slaving by setting t he CodeSel bit in t he ChannelCtrl regist er t o 1. Alt ernatively it can be slaved via software in that sense that the Delay Line is configured the same in the slave channel t han in the master channel. Note that it is not possible with software slaving to build up a correlator chain, meaning that one delay line is chained wit h a delay line from anot her channel.
The PRN code can be slaved via Hardware Slaving by set t ing t he CodeSel bit in t he ChannelCtrl regist er t o 1. Alt ernatively it can be slaved via software in that sense that the Code Generator is configured t he same in t he slave channel t han in t he mast er channel.
The PrimaryRate, the BOCRate(cos) and BOCRate(sin) are all derived from the Code NCO word. The Code NCO word for example can be slaved via Hardware if the bit CodeSel in the ChannelCtrl register is set to 1. Alternatively it can be slaved via software. Then the software has to adjust the code NCO phase once and from t here on just copy t he code NCO word (frequency) from t he mast er channel t o t he slave channel. The code phase of t wo channels can be synchronized wit h the help of the ME_CodePhase register. From that observable the phase difference of t wo channels can be read out . This phase difference can t hen be adjust ed wit h t he help of t he CodeSwShift regist er.
The Integration Epoch and Long Epoch can be slaved via Hardware Slaving by set t ing t he IntEpochSel bit in t he ChannelCtrl register to 1. Alternatively the Integration and Long Epoch can be configured via soft ware in t he slave channel such t hat t hey are equal or cont rollable delayed t o t he one in t he mast er channel.

3.4.8.2 Examples For Attitude Determination typically two or more channels are slaved together. The signal is t racked on t he mast er channel and all slave channels should behave the same like the master channel (Carrier NCO, Code NCO, Code). Then it is possible t o read out t he phase difference from t he I/Q correlat ion values of t he slave(d) channel(s). In case of Hardware Slaving t he following bit s would have t o be in t he ChannelCtrl regist er:
· CarrSel = 1 · CodeSel = 1 · IntEpochSel = 1 · TimeBaseSel = 1 · InputSel = 12 Addit ionally the Delay Line must be configured such that the correlators in the slave channel(s) see the same PRN code phase than the correlators in the master channel (see 3.4.4 Code Delay Line Unit (CDLU)). Also in the slave channels t he correlators can be configures special if Hybrid At t it ude Mode is used (see 3.6.3 Ant enna Swit ch Correlat ion Result s).
Since t here is always one CoreClk delay between the slaved signals (e.g. Carrier, Code), also the incoming dat a has t o be delayed by one CoreClk cycle (InputSel = 12) in order to maintain the phase relation bet ween local dat a and input dat a.
For Fast Acquisition and Multipath Detection it might be of interest to have many correlators slaved together. In t his case, the same configuration of the ChannelCtrl register should be used t han in t he At t it ude Det erminat ion Case. However the Delay Line would have to be configures such that the correlat ors are not working parallel (like in t he At t it ude Det erminat ion Case), but are chained (see see 3.4.4 Code Delay Line Unit (CDLU)).

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 78 of 230

3.5 Time Base Generator

The Time Base Generator anticipated in Figure 3-1 produces the Epoch Clock (EC), the Measurement Epoch (ME), and t he Pulse-Per-Second (PPS). Also it provides the Instrument Measurement Time (IMT) as well as an ext ernal clock Int erface. The Time Base Generat or is depict ed in Figure 3-55.

Time Base Generator

PPSI (Pin)

Synchronizer

EXT_CORE_CLK (Pin)

EC Divider

Epoch Clock

MEI (Pin)

Synchronizer

ExtInputEn

PPS Divider
Reset

1 PPS
0 SyncEn

ME Divider

0 ME
1

ExtInputEn

IMT Counter /12 Divider

PPS IMT Latched

ME IMT Latched

AU Tr. IMT Latched

ASE IMT PLD 5I IMT PLD IQ IMT

Latched

Latched

Latched

LatchAtPPS

OutputEn 1 0

PPSO (Pin)

0 1 OutputEn

MEO (Pin)
EC PPS ME AU_TRIGGER (Pin) IMT

LatchAtME

DelayLine ClkSync

EXT_CLK (Pin)

1
ExtClk Counter
0
SignalSel

ExtClk Counter Latched
LatchAtExtClk

ASE

PLD 5I

PLD IQ

Fi gure 3-55: Ti me Base Generator Bl ock Di agram

3.5.1 Epoch Clock (EC)
The EC Divider is used to divide the CoreClk and to output the Epoch Clock. This is a divider with a 17 bit integer part and a 10 bit fractional part and can be programmed via the EpochClkDiv register. Note that the int eger part has t o be programmed with the desired value -1. New settings written to the Epoch Clock Divider become effective with the next Epoch Clock. The Epoch Clock is used for the generation of the ME, the PPS and t he Ant enna Swit ch Epoch (ASE) st robe. Example: Assuming a CoreClk of 30,456285 MHz and a desired Epoch Clock of 1 kHz, t he division rat io would be 30456,285. The value which would have to be programmed is 30456 ­ 1 = 30455 for the integer part and 0.285 * 1024 = 291.84 => 292 for t he fract ional part .
3.5.2 Measurement Epoch (ME)
The Measurement Epoch is used to sample the observables of all channels and t o synchronize t he measurement s of mult iple AGGA's if more t han one AGGA is used. T he ME Divider is used to divide the Epoch Clock and to output the Measurement Epoch. This is a programmable 14 bit divider. It is programmed via t he DivRatio field of t he MESettings regist er. Not e t hat t he divider has t o be programmed wit h t he desired value ­ 1 and t hat new set t ings become effect ive wit h t he next ME event . The Measurement Epoch can be selected from an internally generated Measurement Epoch or an external input (MEI: Measurement Epoch Input). This can be selected by the ExtInputEn bit in the MESettings register. If the external input
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 79 of 230

is used a synchronizer will synchronize the external MEI signal with the internal CoreClk. Internally t he ME signal is rout ed to the instances (e.g. channel), but it is also available as an output port (MEO: Measurement Epoch Output). The int ernal ME signal is asserted for one CoreClk cycle, while the external MEO signal is asserted for 128 CoreClk cycles. Ot her than in AGGA-2, the MEI has not t o be connect ed ext ernally t o t he MEO if only one AGGA-4 is used. In receivers with multiple AGGA-4s all MEI should be connect ed t o t he MEO from one AGGA-4, referred t o as t he mast er AGGA-4 in order t o ensure t hat all channels in t he receiver use t he same Measurement Epoch (ME).
The OutputEn field of the MESettings register controls whether the MEO signal is enabled or const ant ly de-assert ed. It is also possible t o generat e an int errupt for t he Measurement Epoch (see chapt er 4.12.2). The ME t ime inst ance is lat ched t o t he regist ers ME_IMT_MSW and ME_IMT_LSW. Not e: If MEI is used it takes 4 CoreClk cycles from the rising edge of the MEI input signal unt il t he lat ching of t he corresponding IMT value. Not e: If MEI is used t hen t he difference bet ween MEI and MEO is 3 t o 5 CoreClk cycles.
3.5.3 Pulse Per Second (PPS)
The PPS out put is int ended for synchronizing ext ernal equipment t o t he receiver t ime. The PPS Divider is used to divide the Epoch Clock and to output the Pulse Per Second. This is a programmable 14 bit divider. It is programmed via the DivRatio field of the PPSSettings register. Note that the divider has to be programmed wit h t he desired value ­ 1 and t hat new set t ings become effect ive wit h t he next PPS event . The Pulse Per Second can be selected from an internally generated Pulse Per Second or an external input (PPSI: Pulse Per Second Input). This can be selected by the ExtInputEn bit in the PPSSettings register. If the external input is used a synchronizer will synchronize the external PPSI signal with the internal CoreClk. Internally the PPS signal is rout ed t o t he instances as PPS signal, but it is also available as an output port (PPSO: Pulse Per Second Output). The internal PPS signal is asserted for one CoreClk cycle, while the external PPSO signal is asserted for 128 CoreClk cycles. Other t han in AGGA-2, t he PPSI does not need to be connected externally to the PPSO if only one AGGA-4 is used. In receivers wit h multiple AGGA-4 all PPSI should be connected to the PPSO from one AGGA-4, referred to as the master AGGA4, t o ensure t hat all channels in t he receiver use t he same Pulse Per Second. The OutputEn field of the PPSSettings regist er cont rols whet her t he PPSO is enabled or const ant ly de-assert ed. It is also possible t o generat e an int errupt for t he Pulse Per Second (see chapt er 4.12.2). The PPS t ime inst ance is lat ched t o t he regist ers PPS_IMT_MSW and PPS_IMT_LSW. Not e: If PPSI is used t hen t he difference bet ween PPSI and PPSO is 4 t o 6 CoreClk cycles.
3.5.4 Synchronisation of ME and PPS
By set ting the bit SyncEn in the PPSSettings register, the Measurement Epoch (ME) is phase aligned with the PPS once. Aft er writing the SyncEn bit, the hardware detects and clears it immediately. In case that the PPS is generated inside the AGGA-4, only the ME Divider is reloaded to its nominal value. In case that the PPS is coming from ext ernal, t he ME Divider and the EC Divider (integer and fractional part) are reloaded wit h their nominal values. By this it can be assured t hat t he PPS st robe and t he ME st robe are phase aligned at t he t ime of alignment .
3.5.5 Instrument Measurement Time (IMT)
The 64 bit IMT Counter counts CoreClk cycles. It can be read via the IMT_MSW and IMT_LSW regist ers at any t ime and it will return the current IMT count. The IMT_MSW register contains the Most Significant Word (upper 32 bit s) of t he IMT Counter, while the IMT_LSW register cont ains t he Lowest Significant Word (lower 32bit s) of t he IMT Count er. By writing to these registers, the IMT Counter can be preset wit h any value. The writ t en value becomes effective with the next Measurement Epoch. Note that always both parts (IMT_MSW and IMT_LSW) have to be writt en (t he order does not matter), before the hardware executes the IMT preset. If this protect ion mechanism would not be t here it could happen that an ME occurs while only one part of the IMT counter (eit her IMT_MSW or IMT_LSW) has already been writ t en. Then t he ME Observables would indicat e an inconsist ent t ime st amp. When reading the current (unlatched) IMT count (not the IMT observables) t he user is advised t o first read t he t he IMT_MSW, second the IMT_LSW and third again the IMT_MSW. That way a wrap around in the IMT count er can be det ect ed and correct ed. At t he following GNSS events (PPS, ME, ASE, PLD 5I, PLD IQ, AU Trigger) the counter is latched and the values are st ored to the corresponding IMT latch registers (see also Figure 3-55). Therefore t hese event s can be precisely t ime t agged.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 80 of 230

The lower 32 bits of the IMT Count (= IMT_LSW) are distributed wit hin the GNSS core as time st amp. Each channel for example uses it t o precisely t ime t ag t he Int egrat ion Epoch. IMT_MSW and IMT_LSWare reset by the Power On or AGGA4 reset pins (PWR_ON_RESET_N, GNSS_RESET_N), but t hey are not cleared by an AGGA4 Reset (see sect ion 6.5.3).
3.5.6 External Clock (ExtClk) Interface
The External Clock Interface can be used for various purposes. The receiver can for example calculate clock corrections for its own oscillator even without a Position Velocity Time (PVT) if the External Clock input is connected t o a st able external reference. The External Clock Counter can either be clocked by the signal coming from the EXT_CLK input pin or with the signal coming from the EXT_CORE_CLK input pin. This can be programmed via t he SignalSel bit in t he ExtClkSettings regist er. The External Clock Counter is 32bit wide and has a natural wrap around. It is detecting the rising edge of t he count ing signal. The External Clock Counter can be read at any time by reading the register ExtClkCnt. It will return the current value. The Ext ernal Clock Count er can count frequencies up t o 50 MHz.
Addit ionally the counter can be latched at the following events (ME, PPS, ExtClk). The lat ched value can be read by reading the register ExtClkCntLatched. Depending on the switch bits, the latched counter shall do the following actions:

Swi tch Bits

Acti ons

extClkLatchAtExtClk extClkLatchAtME extClkLatchAtPPS

ExtClkCnt is

lat ched wit h ExtClkCnt is ExtClkCnt is

t rigger from lat ched wit h lat ched wit h

EXT_CLK ME

PPS

input

0 0 0

No

No

No

0 0 1

No

No

Yes

0 1 0

No

Yes

No

0 1 1

No

Yes

Yes

1 0 0

Yes

No

No

1 0 1

Yes

No

Yes

1 1 0

Yes

Yes

No

1 1 1

Yes

Yes

Yes

Tabl e 3-30: Acti on Tabl e for ExtClkCntLatched

Note : If the External Clock Counter is running with CoreClk all latch triggers are valid (ME, PPS, EXT_CLK input pin). If the External Clock Counter is running wit h the signal from the EXT_CLK input pin only the ME and PPS lat ch t riggers are valid.

3.5.7 Delay Line Clock Sync
In order t o make sure t hat t he delay line clock divider count er st at e is phase coherent over all channels, a synchronization signal DelayLineClkSync is generated every 12 CoreClk cycles in the Time Base module. This signal simultaneously clears all clock dividers, resulting in a phase-alignment of all delay line clocks regardless of t heir division rat io.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 81 of 230

3.6 Antenna Switch Controller (ASC)
This section describes the Antenna Swit ch Controller (ASC). As shown in Figure 3-56, it consist s of t he Ant enna Swit ch Epoch Output (ASEO) Divider, a Synchroniser for the Antenna Swit ch Epoch Input (ASEI) and t he Ant enna Swit ch Sequencer.

Antenna Switch Controller

EpochClk ASEI (Pin)

ASEO Divider
Synchroniser

1 0 OutputEn

Antenna Switch Sequencer

ASEO (Pin)
ASE ASC[0] (Pin) ASC[1] (Pin)

External connection on the board
Fi gure 3-56: Antenna Swi tch C ontrol l er (ASC )
The Antenna Swit ch Controller supports the Hybrid Parallel-Multiplex attitude determination scheme (see [RD-05]). The two lines Antenna Swit ch Control ASC outputs are intended for controlling external antenna switching of up to four ant ennas (see also Figure 3-57). Also the Antenna Swit ch Epoch ASE strobe is generated, which signals antenna swit ch events to the channels and which can be used to control the updating of the correlation values (see chapt er 3.6.3). An int errupt can be generated whenever ASE occurs (see chapter 4.12.2). Both t he ASE st robe and t he ASC out put s are generat ed from t he Ant enna Swit ch Epoch Input ASEI. In receivers with one AGGA-4 ASEI should be externally connected to its own ASEO output. In receivers with multiple AGGA-4 all ASEI inputs should be connected to the ASEO signal from one AGGA-4, referred to as the mast er AGGA4, t o ensure t hat all channels in t he receiver use t he same ASE.
3.6.1 Antenna Switch Epoch (ASE) The ASE st robe signals the end of each Antenna Swit ch Epoch. It is taken from the ASEI input after synchronization and det ect ion of t he rising edge. An int errupt can be generat ed whenever ASE occurs.
The ASEO signal can have frequencies from EpochClk to EpochClk/1024 depending on the programming of t he ASEO Divider. This divider can be programmed by the DivRatio field in the AntSwitchCtrl register. A typical value for ASEO would be 200 Hz. The OutputEn bit of the AntSwitchCtrl register controls whether the ASEO output is enabled or constantly de-assert ed. When it is disabled the ASEO Divider is also disabled. If enabled, the ASEO output is asserted for 128 CoreClk cycles once it occurs. The int ernal ASE signal is assert ed for one CoreClk cycle.
In order to reduce switching noise the integrators are inhibited at t he st art of each Ant enna Swit ch Epoch for 128 CoreClk cycles.
The time instance of t he Ant enna Swit ch Epoch is lat ched in t he regist ers ASE_IMT_MSW and ASE_IMT_LSW
3.6.2 Antenna Switch Sequencer
The Antenna Swit ch Sequencer outputs on the two pins ASC[0] and ASC[1] which ant enna is current ly assert ed t o cont rol the external antenna switching of up to four antennas to a common RF/IF section as depicted in Figure 3-57. To be clear; this antenna multiplexing scheme is only needed for the Hybrid Parallel-Mult iplex at t it ude det erminat ion
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 82 of 230

scheme (see [RD-05]), not for a parallel attitude determination scheme, where each AGGA Input Module is connect ed t o one dedicat ed ant enna or for normal posit ioning applicat ions.

Antenna #0 Antenna #1 Antenna #2 Antenna #3

Antenna
Mux
TTL 0 - 1

RF Front-end

AGGA
ASC 0 - 1

Fi gure 3-57: AGGA-4 Antenna Mul ti pl exi ng

The mapping is as follow:

Antenna #0 #1 #2 #3

ASC[0] 0 0 1 1

ASC[1] 0 1 0 1

Tabl e 3-31: ASC O utput Mappi ng

The antennas can be switched in a sequence. The sequence can be programmed by t he SwitchSequencer field in t he AntSwitchCtrl register. At the start of each Antenna Swit ch Epoch t he Ant enna Swit ch Sequencer assert s t he next higher ASC output that has been enabled by the SwitchSequencer field. If no bit has been set in t he SwitchSequencer field t he ASC output is static. After PowerOn Reset t he ASC pins have t he assignment ASC[1:0] = 0, while aft er previous ASC st art/stop, the ASC[1:0] assignment must not necessarily be zero, but remains st at ic at it 's last st at e.
At t he end of each Antenna Swit ch Epoch (ASE) the number of the antenna that was asserted during t he last period is st ored in the read-only SwitchID field of the AntSwitchCtrl register. By reading this value the firmware can reconst ruct t o which ant enna t he correlat ion values correspond.

3.6.3 Antenna Switch Correlation Results
If t he ASEEn bit in the CorrUnitCtrl register is enabled, then t he correlat ors of a channel behave different ly. The following t able depict s t his (see also Table 3-20):

ASEEn = 0

ASEEn = 1

Multiplication

reset @ latch @ Multiplication

reset @

EE Incoming Signal x EE IE or LE IE

Incoming Signal x EE IE or LE

E Incoming Signal x E IE or LE IE

Incoming Signal x P (IE or LE) and ASE

P Incoming Signal x P IE or LE IE

Incoming Signal x P (IE or LE) and ASE

L Incoming Signal x L IE or LE IE

Incoming Signal x P ASE

LL Incoming Signal x LL IE or LE IE

Incoming Signal x LL IE or LE

latch @ IE ASE IE ASE IE

Tabl e 3-32: Acti on Tabl e for C orrel ators

The Early and Punctual correlator together result in the same functionality than AGGA-2/3 was giving. However if t he ASC mechanism is applied for signals where no inversion due to data is expected (e.g. pilot signals) then t he AGGA-4 offers an additional mode which simplifies the handling of the correlation values for the software. The late correlator is resetting and latching wit h ASE only. Therefore no reconst ruct ion of t he ASE correlat ion value is needed. It can direct ly be read out . Figure 3-58 shows graphically how t he Early, Late and Punctual correlator work t oget her wit h t he Ant enna Swit ch Cont roller.
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 83 of 230

ASE

ANT1

ASE

ANT2

ASE

IE

IE

IE

IE

IE

IE

1

2

3

4

5

P

6

7

8

E

9

10

11

L

SUM ANT1 = 1 + 2 + 7 or SUM ANT2 = 3 + 4 + 8 or

SUM ANT1 = 10 SUM ANT2 = 11

ASE ... Antenna Switch Epoch IE ... Integration Epoch

Fi gure 3-58: ASC Behavi our on C orrel ators

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 84 of 230

3.7 AMBA High Performance Bus (AHB) Interface
As ant icipated in Figure 2-1, the GNSS module is connected t o t he AMBA High Performance BUS (AHB) via t wo int erfaces: the AHB master and the AHB slave interface. The AHB master interface is required t o implement DMA capability to the GNSS module and the AHB slave interface is used to access all module int ernal regist ers (read and writ e).

GNSS Module GNSS Core

Input Module

DBF

4

Channel Matrix

Channel

ASC

36 Time Base

DMA Request Processing

DMA write processing

Ireg control

Synchroniser

DMA config regs

AHB
AHB / Master
AHB Slave

Fi gure 3-59: GNSS Modul e

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 85 of 230

4 Processor Module
AGGA-4 uses t he LEON-2 Fault Tolerant Processor together with the Cobham Gaisler Floating Point Unit (GRFPU). An overview t o the Processor Module and its corresponding periphery can be seen in Figure 4-1 (t he solid blocks, which are not greyed out ).

UART SpaceWire
SRAM PROM
IO

AGGA-4
Debug comm. link AHB

Trace buffer
Debug Support Unit
AHB

Gaisler FPU
LEON2FT IU
I-Cache D-Cache AHB

Status AHB

write protect
AHB

Arbiter/ Decoder

LEON config TIMERs Watchdog
CIC
PIC

A Mem H Ctrl B

AHB

AHB

APB

APB

AHB | DMA SpaceWire

AHB | DMA
MIL-Bus 1553

AHB | DMA UARTs

AHB | DMA CRC

AHB FFT

AHB | DMA
GNSS Core & GIC

GPIO SPI

GPIO I/F SPI I/F

SpaceWire I/F MIL-Bus I/F UART I/F
Legend: GIC: GNSS Interrupt Controller CIC: Communication Interrupt Controller PIC: Primary Interrupt Controller

GNSS Signal I/F

Fi gure 4-1: O vervi ew of Processor Modul es

The LEON-2 processor implements the SPARC V8 st andard as defined in t he SPARC V8 archit ect ural manual (see [AD-01], [RD-06]). The LEON-2-FT version implement ed is 1.0.9.16.2.
The following chapt ers give an overview t o t he Leon-2 modules.

4.1 Integer Unit
4.1.1 Instruction Timing
Table 4-1 list s t he cycles per inst ruct ion (assuming cache hit and no load int erlock):

Instruction JMPL Double Load Single Store Double Store SMUL/UMUL SDIV/UDIV Taken Trap Atomic load/store All other intructions

Cycles 2 2 2 3 5 35 4 3 1

Tabl e 4-1 Instructi on ti mi ng

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 86 of 230

4.2 Floating Point Unit (FPU)
The AGGA-4 uses the Cobham Gaisler Floating Point Unit (GRFPU). It is a high-performance FPU implement ing floating-point operations as defined in IEEE St andard for Binary Floating-Point Arithmetic (IEEE-754) and SPARC V8 st andard (IEEE-1754). Supported formats are single and double precision floating-point numbers. The advanced design combines two execution units, a fully pipelined unit for execution of t he most common FP operat ions and a nonblocking unit for execution of divide and square-root operations. The logical view of t he GRFPU is shown in Figure 4-2.

Pipelined execution unit

GRFPU

Iteration unit

Fi gure 4-2: C obham Gai sl er Fl oati ng Poi nt Uni t (GRFPU)
The following chapters describe the GRFPU from functional point of view. Chapt er "Funct ional descript ion" gives det ails about GRFPU's implementation of the IEEE-754 standard including FP formats, operations, opcodes, operat ion t iming, rounding and exceptions. "Signals and timing" describes the GRFPU interface and its signals. "GRFPU Control Unit " describes the software aspects of the GRFPU integration into a LEON processor t hrough t he GRFPU Cont rol Unit - GRFPC. For implementation details refer to the white paper, "GRFPU - High Performance IEEE-754 Float ingPoint Unit " (available at www.gaisler.com).
4.2.1 Floating-point number formats
GRFPU handles floating-point numbers in single or double precision format as defined in the IEEE-754 st andard wit h exception for denormalized numbers. See section Denormalized numbers for more informat ion on denormalized numbers.
4.2.2 FP operations
GRFPU supports four types of floating-point operations: arithmet ic, compare, convert and move. The operat ions implement all FP instructions specified by SPARC V8 instruction set, and most of the operations defined in IEEE-754. All operations are summarized in Table 4-2, with their opcodes, operands, results and except ion codes. Throughput s and lat encies and are shown in Table 4-3.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 87 of 230

Operation OpCode[8:0] Op1

Op2

Result

Exceptions Description

Arithmetic operations

FADDS

1000001 SP

FADDD

1000010 DP

FSUBS

1000101 SP

FSUBD

1000110 DP

FMULS

1001001 SP

FMULD

1001010 DP

FSMULD

1101001 SP

FDIVS

1001101 SP

FDIVD

1001110 DP

FSQRTS

101001 -

FSQRTD

101010 -

Conversion operations

FITOS

11000100 -

FITOD FSTOI

11001000 11010001 -

FDTOI FSTOI_RND

11010010 111010001 -

FDTOI_RND FSTOD

111010010 11001001 -

FDTOS

11000110

Comparison operations

FCMPS

1010001 SP

FCMPD FCMPES

1010010 DP 1010101 SP

FCMPED

1010110 DP

Negate, Absolute value and Move

FABSS

1001 -

FNEGS FMOVS

101 1

SP

SP

DP

DP

SP

SP

DP

DP

SP

SP

DP

DP

SP

DP

SP

SP

DP

DP

SP

SP

DP

DP

UNF, NV, OF, Addition UF, NX

UNF, NV, OF, Subtraction UF, NX

UNF, NV, OF, Multiplication,

UF, NX

FSMULD

gives exact

double-

UNF, NV, OF, precision

UF, NX

product of two

UNF, NV, OF, single-

UF

precision

UNF, NV, OF, Divisiond

UF, NX, DZ

UNF, NV, NX Square-root

INT

SP

NX

Integer to

DP

-

floating-point conversion

SP

INT

UNF, NV, NX Floating-point

to integer

conversion.

The result is

rounded in round-to-zero

DP

mode.

SP

INT

UNF, NV, NX Floating-point

to integer

conversion.

Rounding according to

DP

RND input.

SP

DP

UNF, NV

Conversion

between

DP

SP

UNF, NV, OF, floating-point

UF, NX

formats

SP

CC

NV

Floating-point

compare.

Invalid

exception is

generated if either operand

is a signaling

DP

NaN.

SP

CC

NV

Floating point

compare.

Invalid exception is

generated if

either operand

is a NaN (quiet

DP

or signaling).

SP

SP

-

SP

SP

-

SP

SP

-

Absolute value.
Negate.
Move. Copies operand to result output.

SP - single precision floating-point number DP - double precision floating-point number
INT - 32 bit integer

CC - condition codes, see table : Signal descriptions UNF, NV, OF, UF, NX - floating-point exceptions, see section Exceptions

Tabl e 4-2: GRFPU O perati ons

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 88 of 230

Arit hmetic operations include addition, subtraction, multiplication, division and square-root. Each arithmetic operat ion can be performed in single or double precision formats. Arithmetic operations have one clock cycle t hroughput and a lat ency of four clock cycles, except for divide and square-root operations, which have a t hroughput of 16 - 25 clock cycles and latency of 16 - 25 clock cycles (see Table 4-3). Add, sub and multiply can be started on every clock cycle, providing high throughput for these common operations. Divide and square-root operations have lower throughput and higher latency due to complexity of the algorithms, but are executed in parallel with all other FP operat ions in a nonblocking iteration unit. Out-of-order execution of operations wit h different lat encies is easily handled t hrough t he GRFPU int erface by assigning an id to every operation which appears with the result on the output once the operation is complet ed (see sect ion4.2.8).

Operation

Throughput Latency

FADDS, FADDD, FSUBS, FSUBD, FMULS, FMULD, FSMULD

2

5

FITOS, FITOD, FSTOI, FSTOI_RND, FDTOI, FDTOI_RND, FSTOD, FDTOS

2

5

FCMPS, FCMPD, FCMPES, FCMPED

2

5

FDIVS

17

17

FDIVD

17.5 (16/19)* 17.5 (16/19)*

FSQRTS

25

25

FSQRTD

25.5 (24/27)* 25.5 (24/27)*

* Throughput and latency are data dependant with two possible cases with equal statistical possibility.

Tabl e 4-3: Throughput and Latency

Conversion operations execute in a pipelined execution unit and have throughput of one clock cycle and latency of four clock cycles. Conversion operations provide conversion between different floating-point numbers and between floatingpoint numbers and int egers. Comparison functions offering two different types of quiet Not-a-Numbers (QNaNs) handling are provided. Move, negat e and absolute value are also provided. These operations do not ever generate unfinished except ion (unfinished except ion is never signaled since compare, negat e, absolut e value and move handle denormalized numbers).
4.2.3 Exceptions
GRFPU det ects all exceptions defined by the IEEE-754 standard. This includes detection of Invalid Operat ion (NV), Overflow (OF), Underflow (UF), Division-by-Zero (DZ) and Inexact (NX) exception conditions. Generation of special result s such as NaNs and infinity is also implemented. Overflow (OF) and underflow (UF) are detected before rounding. If an operation underflows t he result is flushed to zero (GRFPU does not support denormalized numbers or gradual underflow). A special Unfinished exception (UNF) is signaled when one of t he operands is a denormalized number which is not handled by t he arit hmet ic and conversion operat ions.
4.2.4 Rounding
All four rounding modes defined in the IEEE-754 standard are supported: round-to-nearest, round-to-+inf, round-to--inf and round-t o-zero.
4.2.5 Denormalized numbers
Denormalized numbers are not handled by t he GRFPU arit hmet ic and conversion operat ions. A syst em (microprocessor) with the GRFPU could emulate rare cases of operations on denormals in soft ware using non-FPU operations. A special Unfinished exception (UNF) is used t o signal an arit hmet ic or conversion operat ion on t he denormalized numbers. Compare, move, negate and absolute value operations can handle denormalized numbers and do not raise the unfinished except ion. GRFPU does not generat e any denormalized numbers during arit hmet ic and conversion operations on normalized numbers. If the infinitely precise result of an operation is a tiny number (smaller t han minimum value representable in normal format) the result is flushed to zero (with underflow and inexact flags set).
4.2.6 Non-standard Mode
GRFPU can operate in a non-standard mode where all denormalized operands to arithmetic and conversion operat ions are t reated as (correctly signed) zeroes. Calculations are performed on zero operands inst ead of t he denormalized numbers obeying all rules of the floating-point arithmetics including rounding of the results and detect ing except ions.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 89 of 230

4.2.7 NaNs
GRFPU supports handling of Not-a-Numbers (NaNs) as defined in the IEEE-754 st andard. Operat ions on signaling NaNs (SNaNs) and invalid operations (e.g. inf/inf) generate the Invalid except ion and deliver QNaN_GEN as result . Operations on Quiet NaNs (QNaNs), except for FCMPES and FCMPED, do not raise any except ions and propagat e QNaNs t hrough t he FP operat ions by delivering NaN-result s according t o Table 4-4. QNaN_GEN is 0x7fffe00000000000 for double precision result s and 0x7fff0000 for single precision result s.

Operand 2

FP

QNaN2

SNaN2

none FP

QNaN2

QNaN_GEN

Operand 1 FP

FP

QNaN2

QNaN_GEN

QNaN1 QNaN1

QNaN2

QNaN_GEN

SNaN1 QNaN_GEN QNaN_GEN QNaN_GEN

Tabl e 4-4: O perati ons on NaNs

4.2.8 Timing
The FPU is fully pipelined and a new operation can be started every clock cycle. The only except ions are divide and square-root operations which require 16 to 26 clock cycles to complet e, and which are not pipelined. Division and square-root are implement ed t hrough it erat ive series expansion algorit hm. Since t he algorit hms basic st ep is mult iplication the floating-point multiplier is shared between multiplication, division and square-root . Division and square-root do not occupy the multiplier during the whole operation and allow mult iplicat ion t o be int erleaved and execut ed parallelly wit h division or square-root .

4.2.9 GRFPC - GRFPU Control Unit
The GRFPU Control Unit (GRFPC) is used to attach the GRFPU t o t he LEON int eger unit (IU). GRFPC performs scheduling, decoding and dispatching of the FP operations to the GRFPU as well as managing the floating-point register file, the floating-point state register (FSR) and the floating-point deferred-trap queue (FQ). Floating-point operations are execut ed in parallel with other integer instructions, the LEON integer pipeline is only st alled in case of operand or resource conflict s.

4.2.10 Floating-Point register file
The GRFPU floating-point register file contains 32 32-bit floating-point regist ers (%f0-%f31). The regist er file is accessed by floating-point load and store instructions (LDF, LDDF, STD, STDF) and floating-point operate instructions (FPop).

4.2.11 Floating-Point State Register (FSR)
The GRFPC manages the floating-point state register (FSR) containing FPU mode and status information. All fields of t he FSR register as defined in SPARC V8 specification are implemented and managed by t he GRFPU conforming t o t he SPARC V8 specification and the IEEE-754 standard. Implementation-specific parts of t he FSR managing are t he NS (non-st andard) bit and ftt field.
If t he NS (non-standard) bit of the FSR register is set, all floating-point operations will be performed in non-st andard mode as described in section 4.2.6. When the NS bit is cleared all operations are performed in standard IEEE-compliant mode.
Following float ing-point t rap t ypes never occur and are t herefore never set in t he ft t field:
· unimplement ed_FPop: all FPop operat ions are implement ed
· hardware_error: non-resumable hardware error
· invalid_fp_regist er: no check t hat double-precision regist er is 0 mod 2 is performed
GRFPU implements the qne bit of the FSR register which reads 0 if the floating-point deferred-queue (FQ) is empty and 1 ot herwise.
The FSR is accessed using LDFSR and STFSR inst ruct ions.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 90 of 230

4.2.12 Floating-Point Exceptions and Floating-Point Deferred-Queue
GRFPU implements the SPARC deferred trap model for floating-point exceptions (fp_except ion). A float ing-point exception is caused by a floating-point instruction performing an operation resulting in one of following condit ions:
· an operation raises IEEE floating-point exception (ftt = IEEE_754_exception) e.g. executing invalid operation such as 0/0 while t he NVM bit of t he TEM field id set (invalid except ion enabled).
· an operation on denormalized float ing-point numbers (in st andard IEEE-mode) raises unfinished_FPop float ing-point except ion
· sequence error: abnormal error condition in the FPU due to the erroneous use of the floating-point instructions in t he supervisor soft ware.
The trap is deferred to one of the floating-point instructions (FPop, FP load/st ore, FP branch) following t he t rapinducing instruction (note that this may not be next floating-point instruction in the program order due t o except iondet ecting mechanism and out-of-order instruction execution in the GRFPC). When the trap is taken the float ing-point deferred-queue (FQ) contains the trap-inducing instruction and up to seven FPop instructions t hat were dispat ched in t he GRFPC but did not complet e.
Aft er the trap is taken the qne bit of the FSR is set and remains set until the FQ is empt ied. The STDFQ inst ruct ion reads a double-word from the floating-point deferred queue, the first word is t he address of t he inst ruct ion and t he second word is the instruction code. All instructions in the FQ are FPop type instructions. The first access t o t he FQ gives a double-word with the t rap-inducing inst ruct ion, following double-words cont ain pending float ing-point inst ructions. Supervisor software should emulate FPops from the FQ in the same order as they were read from t he FQ.
Not e that instructions in the FQ may not appear in the same order as the program order since GRFPU executes floatingpoint instructions out-of-order. A floating-point trap is never deferred past an instruction specifying source regist ers, dest ination registers or condition codes that could be modified by the trap-inducing instruction. Execution or emulation of instructions in the FQ by the supervisor software gives therefore t he same FPU st at e as if t he inst ruct ions were execut ed in t he program order.

4.3 Exceptions
The LEON core inside AGGA-4 adheres to the general SPARC trap model. The table below shows t he implement ed t raps and t heir individual priorit y (TT=Trap Type, Pri=Priorit y).

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 91 of 230

Trap

TT Pri Description

reset

0x00 1 Power-on reset

write error

0x2b 2 write buffer error (illegal/write protected address access)

instruction_access_exception 0x01 3 Error during instruction fetch

illegal_instruction

0x02 5 UNIMP or other un-implemented instruction

privileged_instruction

0x03 4 Execution of privileged instruction in user mode

fp_disabled

0x04 6 FP instruction while FPU disabled

cp_disabled

0x24 6 CP instruction while Co-processor disabled

watchpoint_detected

0x0B 7 Instruction or data watchpoint match

window_overflow

0x05 8 SAVE into invalid window

window_underflow

0x06 8 RESTORE into invalid window

mem_address_not_aligned

0x07 10 Memory access to un-aligned address

fp_exception

0x08 11 FPU exception

data_access_exception

0x09 13 Access error during load or store instruction (memory EDAC error)

tag_overflow

0x0A 14 Tagged arithmetic overflow

divide_exception

0x2A 15 Divide by zero

interrupt_level_1

0x11 31 Asynchronous interrupt 1 (AHB Error)

interrupt_level_2

0x12 30 Asynchronous interrupt 2 (Parallel I/O 0)

interrupt_level_3

0x13 29 Asynchronous interrupt 3 (Timer 1)

interrupt_level_4

0x14 28 Asynchronous interrupt 4 (FFT Done)

interrupt_level_5

0x15 27 Asynchronous interrupt 5 (GNSS low)

interrupt_level_6

0x16 26 Asynchronous interrupt 6 (Parallel I/O 1)

interrupt_level_7

0x17 25 Asynchronous interrupt 7 (Timer 2)

interrupt_level_8

0x18 24 Asynchronous interrupt 8 (Communication)

interrupt_level_9

0x19 23 Asynchronous interrupt 9 (Parallel I/O 2)

interrupt_level_10

0x1A 22 Asynchronous interrupt 10 (Timer 3)

interrupt_level_11

0x1B 21 Asynchronous interrupt 11 (GNSS high)

interrupt_level_12

0x1C 20 Asynchronous interrupt 12 (Parallel I/O 3)

interrupt_level_13

0x1D 19 Asynchronous interrupt 13 (Timer 4)

interrupt_level_14

0x1E 18 Asynchronous interrupt 14 (DSU Trace Buffer)

interrupt_level_15

0x1F 17 Asynchronous interrupt 15 (NMI)

trap_instruction

0x80 - 0xff 16 Software trap instruction (TA)

Tabl e 4-5 Trap al l ocati on and pri ori ty

4.4 Watch-points
The integer unit contains four hardware watch-points. Each wat ch-point consist s of a pair of applicat ion-specific regist ers (%asr24/25, %asr26/27, %asr28/29 and %asr30/31) registers; one with the break address and one with a mask:

Fi gure 4-3 Watch Poi nt Regi sters
Any binary aligned address range can be wat ched - the range is defined by the WADDR field, masked by the WMASK field (WMASK[x] = 1 enables comparison). On a watch-point hit, trap 0x0B is generated. By setting the IF, DL and DS bit s, a hit can be generated on instruction fetch, data load or data store. Clearing these three bits will effectively disable t he wat ch-point funct ion. Aft er reset all t hree bit s (IF, DL, DS) are zero.
4.5 Power Down Register
The processor can be powered-down by writing an arbitrary value to the PowerDown register. Power-down mode will be ent ered on the next load or store instruction. To enter power-down mode immediately, a st ore t o t he PowerDown
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 92 of 230

regist er should be performed immediately followed by a `dummy' load. During power-down mode, the integer unit will effectively be halted. The power-down mode will be terminated (and the integer unit re-enabled) when an unmasked int errupt with higher level than the current processor interrupt level (PIL) becomes pending. All ot her funct ions and peripherals operat e as nominal during t he power-down mode. A suit able power-down rout ine could be:
struct pwd_reg_type { volatile int pwd; }; power_down() { struct pwd_reg_type *lreg = (struct pwd_reg_type *) 0x80000018; while (1) lreg->pwd = lreg->pwd; }
In assembly, a suit able sequence could be:

power_down: set 0x80000000, %l3 st %g0, [%l3 + 0x18] ba power_down ld [%l3 + 0x18], %g0
Note: The LEON2 error ,,Power-down causes lock-up of processor", documented in the AT697 errata sheet is corrected in t his LEON2 version.
4.6 Leon Configuration Register
Since LEON is synthesized from an extensively configurable VHDL model, the LeonConfig register (read-only) is used t o indicat e which opt ions were enabled during synt hesis.

4.7 Fault tolerant Features
4.7.1 Register file protection
To prevent erroneous operat ions from SEU errors, t he main regist er file is implement ed wit h hard flip flops.
4.7.2 External memory EDAC
The on-chip memory EDAC can correct one error and det ect t wo errors in a 32-bit word. For each word, a 7-bit checksum is generated according to the equations below. Correction is done on-the-fly and no t iming penalt y occurs during correction. If an un-correctable error (double-error) is detected, an error response is generated on t he AHB bus, which can lead to a memory exception in the processor, and interrupt 1 is generated. If a correct able error occurs, no error response is generated but the event is registered in t he AHB failing address and memory st at us regist er, and int errupt 1 is generated. This interrupt can be used to scrub the failing memory location. The EDAC can be used during access t o PROM or SRAM (0x4000_0000 - 0x5FFF_FFFF) areas by setting the corresponding EDAC enable bits in the MCFG3 regist er. The equat ions below show how t he EDAC check bit s are generat ed:
CB0 = D0 ^ D4 ^ D6 ^ D7 ^ D8 ^ D9 ^ D11 ^ D14 ^ D17 ^ D18 ^ D19 ^ D21 ^ D26 ^ D28 ^ D29 ^ D31 CB1 = D0 ^ D1 ^ D2 ^ D4 ^ D6 ^ D8 ^ D10 ^ D12 ^ D16 ^ D17 ^ D18 ^ D20 ^ D22 ^ D24 ^ D26 ^ D28 Not(CB2) = D0 ^ D3 ^ D4 ^ D7 ^ D9 ^ D10 ^ D13 ^ D15 ^ D16 ^ D19 ^ D20 ^ D23 ^ D25 ^ D26 ^ D29 ^ D31 Not(CB3) = D0 ^ D1 ^ D5 ^ D6 ^ D7 ^ D11 ^ D12 ^ D13 ^ D16 ^ D17 ^ D21 ^ D22 ^ D23 ^ D27 ^ D28 ^ D29 CB4 = D2 ^ D3 ^ D4 ^ D5 ^ D6 ^ D7 ^ D14 ^ D15 ^ D18 ^ D19 ^ D20 ^ D21 ^ D22 ^ D23 ^ D30 ^ D31 CB5 = D8 ^ D9 ^ D10 ^ D11 ^ D12 ^ D13 ^ D14 ^ D15 ^ D24 ^ D25 ^ D26 ^ D27 ^ D28 ^ D29 ^ D30 ^ D31 CB6 = D0 ^ D1 ^ D2 ^ D3 ^ D4 ^ D5 ^ D6 ^ D7 ^ D24 ^ D25 ^ D26 ^ D27 ^ D28 ^ D29 ^ D30 ^ D31
If t he memory is configured in 32-bit mode, the EDAC check bit bus (CB[6:0]) is used, the bits are stored in a separat e memory space, which is not seen by the user and which does not reduce t he available memory in t he 32-bit space.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 93 of 230

If t he memory is configured in 8-bit mode, the EDAC check bit bus (CB[6:0]) is not used but it is st ill possible t o use EDAC protection. Data is always accessed as words (4 bytes at a time) and the corresponding check bits are locat ed at t he address acquired by inverting the word address (ADDRESS[27:2]) and using it as a byte address. The same chipselect is kept active. A word written as four bytes to addresses 0, 1, 2, 3 will have its check bits at address 0x0FFFFFFF, addresses 4, 5, 6, 7 at 0x0FFFFFFE and so on. All the bits up to the maximum bank size will be inverted while the same chip-select is always asserted. This way all the bank size can be supported and no memory will be unused (except for a maximum of 4 Byte in the gap between the data and check bit area). The 8-bit mode applies to RAM and PROM. Only byt e-writes should be performed to ROM with EDAC enabled. In this case, only the corresponding byte will be written. The operation of the EDAC can be tested through the MCFG3 register. If the WB (write bypass) bit is set, t he value in t he TCB field will replace the normal check bits during memory write cycles. If the RB (read bypass) is set, the memory check bit s of t he loaded dat a will be st ored in t he TCB field during memory read cycles.
Note: when t he EDAC is enabled, t he ReadModifyWriteEn bit in MCFG2 regist er must be set .
Access t o 32-bit wide EDAC protected memory occurs with no performance degradation. Accesses to 8-bit wide EDAC prot ect ed memory needs 25% more t ime (The checksum has t o be writ t en sequent ially).
Note: when EDAC is enabled and 8bit PROM mode is used, t he EDAC is only support ed for read accesses. When writing into 8bit PROM the EDAC checksum has to be calculated and has to be written in the correct address by hand.

4.7.3 Cache memory protection
Error detection of cache tags and data is implemented using two parity bits per tag and per 4-byte dat a sub-block. The t ag parity is generated from the tag value and the valid bits. The data sub-block parit y is derived from t he sub-block dat a. The parity bits are written simultaneously with the associated tag or sub-block and checked on each access. The t wo parit y bit s correspond t o t he parit y of odd and even dat a (t ag) bit s. If a t ag parity error is detected during a cache access, a cache miss will be generat ed and t he t ag (and dat a) will be aut omatically updated. All valid bits except the one corresponding to the newly loaded dat a will be cleared. If a dat a sub-block parity error occurs, a miss will also be generated but only the failed sub-block will be updated with data from main memory.
4.8 Multiplication/Division Instructions
Full support for SPARC V8 divide instructions is provided (SDIV/UDIV/SDIVCC/UDIVCC). The divide inst ruct ions perform a 64-by-32 bit divide and produce a 32-bit result. Rounding and overflow detection is performed as defined in t he SPARC V8 st andard.
The LEON processor supports the SPARC integer multiply inst ruct ions UMUL, SMUL, UMULCC and SMULCC. These instructions perform a 32x32-bit integer mult iply, producing a 64-bit result . SMUL and SMULCC perform signed mult iply while UMUL and UMULCC perform unsigned mult iply. UMULCC and SMULCC also set t he condit ion codes t o reflect t he result .

4.9 Cache Sub-System
Separate instruction (32 KB) and data (16 KB) caches are provided. The instruction cache uses streaming during linerefill to minimize refill latency. The data cache uses write through policy and implements a double-word writ e-buffer. The dat a cache also performs bus-snooping on t he AHB bus.

C ache configuration
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 94 of 230

Instructi on C ache Associat ivit y Cache Line Size Replacement Algorit hm Locking Data C ache Associat ivit y Cache Line Size Replacement Algorit hm Locking
Tabl e 4-6 C ache confi gurati on

32 Kbyt e 4 32 Byt e (8 dwords) Pseudo Random disabled 16 Kbyt e 2 16 Byt e (4 dwords) Pseudo Random disabled

The LEON core inside AGGA-4 implements Harvard architecture with separate instruction and data buses, connect ed t o two independent cache controllers. In addition to the address, a SPARC processor also generat es an 8-bit address space identifier (ASI), providing up to 256 separate, 32-bit address spaces. During normal operat ion, t he LEON core accesses inst ruct ions and dat a using ASI 0x8 - 0xB as defined in t he SPARC st andard. Using t he LDA/STA inst ructions, alternative address spaces can be accessed. The table shows the ASI usage for LEON. Only ASI[3:0] is used for t he mapping, ASI[7:4] has no influence on operat ion.

Fi gure 4-4 ASI usage
Access t o ASI 4 and 7 will force a cache miss, and update the cache if the data was previously cached. Access with ASI 0 - 3 will force a cache miss, update the cache if the data was previously cached, or allocated a new line if the dat a was not in the cache and the address refers to a cacheable location. The cacheable areas are by default t he prom and ram areas:

Address range

Mappi ng

0x0000_0000 - 0x1FFF_FFFF PROM

0x2000_0000 - 0x3FFF_FFFF IO

0x4000_0000 - 0x5FFF_FFFF SRAM

0x6000_0000 - 0x7FFF_FFFF RAMS_N[4] memory

0x8000_0000 - 0xFFFF_FFFF Int ernal (AHB)

Modul e cacheable Non-cacheable cacheable Non-cacheable Non-cacheable

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 95 of 230

Tabl e 4-7 Defaul t cache tabl e
The memory behind chip select RAMS_N[4] is not cacheable. This offers the possibility to support shared memory or a dual-port memory t hat is connect ed t o t hat chip select . The operation of the instruction and data caches is controlled through a common Cache Control Register (CacheCtrl). Each cache can be in one of three modes: disabled, enabled and frozen. If disabled, no cache operation is performed and load and store requests are passed directly to the memory controller. If enabled, the cache operates as described above. In t he frozen state, the cache is accessed and kept in sync with the main memory as if it was enabled, but no new lines are allocat ed on read misses.
If t he Data Cache Freeze or the Instruction Cache Freeze bit is set, t he corresponding cache will be frozen when an asynchronous interrupt is taken. The device is affected by t he ESA Alert EA-2012-EEE-17-A. Before using cache freezing the Alert has to be read and understood. This can be beneficial in real-time system t o allow a more accurat e calculation of worst-case execution time for a code segment. The execution of the interrupt handler will not evict any cache lines and when control is returned to the interrupted task, the cache state is ident ical t o what it was before t he int errupt. If a cache has been frozen by an interrupt, it can only be enabled again by enabling it in t he Cache Cont rol Regist er. This is typically done at the end of the interrupt handler before control is ret urned t o t he int errupt ed t ask.
Not e: Always flush t he dat a/inst ruct ion cache before enabling.

4.9.1 Instruction Cache
4.9.1.1 Operation If instruction burst fetch is enabled in the cache control register (CacheCtrl) the cache line is filled from main memory st arting at the missed address and until the end of the line. At the same time, the instructions are forwarded t o t he IU (st reaming). If the IU cannot accept the streamed instructions due to internal dependencies or multi-cycle inst ruct ion, t he IU is halt ed unt il t he line fill is complet ed. If t he IU execut es a cont rol t ransfer inst ruct ion (branch/CALL/JMPL/RETT/TRAP) during the line fill, the line fill will be terminated on the next fetch. If inst ruct ion burst fetch is enabled, incremental AHB bursts will be used on consecutive instruction fetches, even when the cache is disabled. In this case, the fetched instructions are only forwarded to the IU, the cache is not updat ed and a st aggered burst will be observed.
If a memory access error occurs during a line fill with the IU halted, the corresponding valid bit in the cache tag will not be set . If the IU later fetches an instruction from the failed address, a cache miss will occur, triggering a new access t o t he failed address. If t he error remains, an inst ruct ion access error t rap (t t =0x1) will be generat ed.
4.9.1.2 Instruction cache tag A inst ruct ion cache t ag ent ry consist s of several fields as shown in Figure 4-5.

Fi gure 4-5: Intructi on C ache Tag
Field Definit ions: · [31:10]: Address Tag (ATAG) - Cont ains t he t ag address of t he cache line. · [9]: LRR - Used by LRR algorit hm t o st ore replacement hist ory. '0' as PRR is used. · [8]: LOCK - Locks a cache line when set . 0 as inst ruct ion cache locking is not enabled. · [7:0]: Valid (V) - When set, the corresponding sub-block of the cache line contains valid data. These bits is set when a sub-block is filled due to a successful cache miss; a cache fill which results in a memory error will leave the valid bit unset. A FLUSH instruction will clear all valid bits. V[0] corresponds to address 0 in the cache line, V[1] to address 1, V[2] to address 2 and so on.
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 96 of 230

4.9.2 Data Cache
4.9.2.1 Operation Each line has a cache tag associated with it consisting of a tag field, valid field with one valid bit for each 4-byt e subblock and optional lock and LRR bits. On a data cache read-miss to a cachable location 4 bytes of data are loaded int o t he cache from main memory. The write policy for stores is write-through with no-allocate on write-miss. In a multi-set configuration a line to be replaced on read-miss is chosen according to the replacement policy. If a memory access error occurs during a data load, the corresponding valid bit in t he cache t ag will not be set and a dat a access error t rap (t t =0x9) will be generat ed

4.9.2.2 Write buffer The data cache contains a write buffer able to hold a single 8,16,32, or 64-bit write transaction. For half-word or byt e st ores, the stored data is replicated into proper byte alignment for writ ing t o a word-addressed device. The writ e is processed in the background so the processor pipeline can keep executing while the write is being processed. However, any following instruction that requires bus access (hence, NOT a load cache-hit ) will cause t he writ e buffer t o be empt ied prior fet ching new dat a t o avoid generat ion of any st ale dat a. Since t he processor executes parallel to the write buffer, a write error will not cause an except ion synchronous t o t he excecution of the store instruction. Depending on memory and cache act ivit y, t he writ e cycle may not occur unt il several clock cycles after the store instructions has completed. If a write error occurs, the currently executing instruction will t ake t rap 0x2b. Not e: the 0x2b trap handler should flush the data cache, since a write hit would updat e t he cache while t he memory would keep t he old value due t he writ e error.
Due t o the write buffer latency, depending on memory and cache activity, a write operation may not become effect ive unt il several cycles after the store instruction has completed in the processor. For APB register accesses where the exact t ime of writ ing is relevant , it may be advised t o force a flush of t he writ e buffer.
This can be done by adding a dummy memory access, e.g. a load or store (usually faster) to a dummy address in a noncacheable area. Since dummy instructions may have a performance impact and the next store will always flush out t he previous store, it is sufficient to do this at the end of a sequence of st ores (e.g. configuring a GNSS funct ion or an int erface).
Not e that in any case the correct order of st ore and load t ransact ions and t he coherency of dat a in t he cache is guarant eed by t he hardware.

4.9.2.3 Data Cache Snooping
The data cache controller will monitor write accesses to the AHB bus performed by other AHB masters (DMA). When a writ e access is performed to a cacheable memory location, the corresponding cacheline will be invalidated in the dat a cache if present .
Not e: See also Known Issues chapt er 8.4.11

4.9.2.4 Data Cache Tag A dat a cache t ag ent ry consist s of several fields as shown in Fi gure 4-6.

Field Definit ions:

Fi gure 4-6: Data C ache Tag
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 97 of 230

· [31:10]: Address Tag (ATAG) - Cont ains t he address of t he dat a held in t he cache line. · [9]: LRR - Used by LRR algorit hm t o st ore replacement hist ory. `0' as PRR is used. · [8]: LOCK - Locks a cache line when set . `0' as inst ruct ion cache locking is not enabled. · [3:0]: Valid (V) - When set, the corresponding sub-block of the cache line contains valid data. These bits is set
when a sub-block is filled due to a successful cache miss; a cache fill which result s in a memory error will leave the valid bit unset. V[0] corresponds to address 0 in the cache line, V[1] to address 1, V[2] t o address 2 and V[3] t o address 3.

4.9.3 Cache Flushing
The instruction and data cache is flushed by executing the FLUSH instruction, setting the FI bit in t he cache cont rol regist er (CacheCtrl), or by writing to any location with ASI=0x5. The flushing will take one cycle per cache line and set during which the IU will not be halt ed, but during which t he inst ruct ion cache will be disabled. When t he flush operation is completed, the cache will resume the state (disabled, enabled or frozen) indicat ed in t he cache cont rol regist er. Select ive flushing of individual cache lines is not support ed.
4.9.4 Diagnostic Cache access
Tags and data in the instruction and data cache can be accessed through ASI address space 0xC, 0xD, 0xE and 0xF by execut ing LDA and STA instructions. Address bits making up t he cache offset will be used t o index t he t ag t o be accessed while the least significant bits of the bit s making up t he address t ag will be used t o index t he cache set .
Diagnostic read of tags is possible by executing an LDA inst ruct ion wit h ASI=0xC for inst ruct ion cache t ags and ASI=0xE for data cache tags. A cache line and set are indexed by the address bits making up the cache offset and t he least significant bits of the address bits making up t he address t ag. Similarly, t he dat a sub-blocks may be read by execut ing an LDA instruction with ASI=0xD for instruction cache data and ASI=0xF for data cache data. The sub-block t o be read in t he indexed cache line and set is select ed by A[4:2]. The tags can be directly written by executing a STA inst ruct ion wit h ASI=0xC for t he inst ruct ion cache t ags and ASI=0xE for the data cache tags. The cache line and set are indexed by the address bits making up the cache offset and t he least significant bits of the address bits making up the address tag. D[31:10] is writ ten int o t he ATAG field (see above) and the valid bits are written with the D[7:0] of the write data. Bit D[9] is written into the LRR bit (if enabled) and D[8] is written into the lock bit (if enabled). The dat a sub-blocks can be direct ly writ t en by execut ing a STA inst ruction wit h ASI=0xD for the instruction cache data and ASI=0xF for the data cache data. The sub-block to be read in t he indexed cache line and set is select ed by A[4:2].
Not e that diagnostic access to the cache is not possible during a FLUSH operat ion and will cause a dat a except ion (t rap=0x09) if at t empt ed.
4.9.5 Cache Freeze Alert
ESA Alert EA-2012-EEE-17-A details the anomaly in the Leon2FT ipcore that also is applicable for the AGGA-4. This alert also shows a workaround for t his anomaly.
Not e: ESA Alert s can be found at ht t ps://alert s.esa.int

4.10 Byte/Half Word Accesses
Single byt es and half words are written t o memory wit h AHB HSIZE = '000'/'001' indicat ing byt e/half word size t ransactions. Addresses for theses transactions can be byte or half word aligned. (Byte = 0x1, 0x2, 0x3, ... half word = 0x0, 0x2, 0x4, ...). Byt es/half words are duplicat ed during t he writ e process. Example:
stb 0x23, %address
The example above would generat e t he word 0x23232323 on t he AHB Bus.
sth 0x1234, %address

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 98 of 230

The example above would generat e t he word 0x12341234 on t he AHB Bus.
If cacheable memory is read using a single byte/half word access, a whole word is transferred over t he AHB bus. Byt e accessing is done inside the processor module. Subsequent reads of bytes/half words in t he fet ched word are served from the cache.
Byt e ordering in memory is big endian. D(31:24) stores address[0x0]; D(23:16) st ores address[0x1] and so on (see Figure 4-7 Big Endian).

Fi gure 4-7 Bi g Endi an
Single byt e/half word accesses to an EDAC protected memory should not be used in applicat ions wit h high memory bandwidt h demands. Byte/half word writes to an un-initialized memory will return an EDAC error. Single byte writes to a 32 bit wide RAM interface needs 5 clock cycles (compared to 3 when writing a whole word). Single byte writes to an 8 bit wide RAM int erface need 25 clock cycles.
Single byt e/half word accesses are not allowed for APB Slaves. The APB Bridge does not take the HSIZE signal int o account . Therefore single byt e writ es like:
stb 0x12, 0x8000_000A0
The example above would store the value 0x12121212 into that register and therefore unexpectedly overwrite the other t hree byt es of t his regist er.
If single bytes/half words are read from an APB device the bridge reads a word from t he APB device but will only t ransfer the addressed byte to the AHB Master. Therefore information may be lost (i.e. if a read to clear mechanism or a FIFO is used). Not e that the memory accesses to the APB area are not cached. Subsequent reads of single bytes will therefore generate a series of accesses to the APB device. However, compilers may try to optimise accesses to hardware (APB) regist ers, merge them, change their order, or even remove accesses whose read values is never used by t he SW. This can have unwant ed side effects (e.g. removing a `clear-on-read'), and t herefore in C-code, every access t o t hese hardware regist ers should use variables / point ers declared as `volat ile'.
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 99 of 230

4.11 Memory Controller
The external memory bus is controlled by a programmable memory controller. The cont roller act s as a slave on t he AHB bus. The function of the memory controller is programmed through memory configurat ion regist ers 1, 2 & 3 (MCFG1, MCFG2 & MCFG3) through the APB bus. The memory bus supports three different areas: PROM, SRAM and local I/O. The PROM area can be equipped with PROM/EEPROM or Flash ROM devices. The memory bus can also be configured in 8-bit mode for applicat ions wit h low memory and performance demands.
Not e about the RWE_N and WRITE_N pins. WRITE_N is assert ed 0 on all writ e t ransact ions in all areas (PROM, SRAM, IO) and all bus-widt h / data widt h combinations. RWE_N are complement ary byt e writ e signals, assert ed at same cycle, RWE_N[0] for DATA[31:24], RWE_N[1] for DATA[23:16], RWE_N[2] for DATA[15:8], RWE_N[3] for DATA[7:0]. They are assert ed as follows:
· Wit h 8-bit bus widt h (PROMWidth or RAMWidth = 00)., they are always "1110", indicating that DATA[31:24] holds t he valid dat a
· Wit h 32-bit SRAM (RAMWidth = "10") and ReadModifyWriteEn = 1, t hey are always "0000" · In all other situations (writes to 32-bit PROM, IO or write to 32-bit RAM with ReadModifyWriteEn = 0, t hey
are assert ed according t o t he st ore widt h t o select 1, 2 or 4 byt e lanes

4.11.1 Attaching an external memory controller
To attach an external memory controller, RAMS_N[4] should be used since it allows t he cycle time to vary through the use of BRDY_N. In t his way, delays can be insert ed as shown in [AD-04].

4.11.2 8-bit PROM/EEPROM and SRAM access
To support applications with low memory and performance requirements efficiently, it is not necessary to always have full 32-bit memory banks. The SRAM and PROM areas can be individually configured for 8-bit operat ion by programming the ROM and RAM size fields in the memory configuration registers. 32-bit accesses t o 8-bit memory will be t ransformed in a burst of four or five, with EDAC enabled, read cycles. During writes, only the necessary byt es will be writ t en.
Note: If EDAC is enabled, all byte writes will generate read-modify-write t ransact ions for a complet e word and it s EDAC bit s. So a single byte write on 8-bit EDAC protected memory will generate 10 memory transactions (5 byt es t o read, 5 byt es t o writ e).
Note : EEPROM/Flash based memories operating in 8 bit mode shall only be writ t en using single byt e assembler commands (stb), and parity bytes must be written explicitly by SW to the appropriate address (see section 4.7.2). Using half-word/word/d-word assembler commands (st h, st , st d) leads t o malfunct ion.

4.11.3 8-bit IO access
Similar to the PROM/RAM areas, the I/O area can also be configured to 8-bit s mode. However, t he I/O device will NOT be accessed by multiple 8 bits accesses as the memory areas, but only wit h one single access just as in 32-bit mode. To accesses an I/O device on an 8-bit bus, LDUB/STB should be used.
Note : It is not possible to access the IO space with the DSU or the SpaceWire modules if 8bit IO access is chosen. These mast ers are not capable of byt e/half word t ransact ions. They support 32-bit accesses only.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 100 of 230

4.12 Interrupt Controller 4.12.1 Primary Interrupt Controller (PIC)

NMI 15

DSU Trace Buffer

Timer 4

Parallel I/O (3)

15

GIC high

Timer 3 Parallel I/O (2) MilBus
CIC SpW
Timer 2 Parallel I/O (1)
GIC low

FFT Done Timer 1
Parallel I/O (0) AHB Error 1

IRQ Pending IRQ Force

IRQ Mask Priority Select

OR

AND

Priority Encoder

4 IRL[3:0]

Fi gure 4-8: Pri mary Interrupt C ontrol l er (PIC )

When an interrupt is generated, the corresponding bit is set in the PrimIntPending register. The pending bits are ANDed wit h t he interrupt mask which is contained in the PrimIntMaskAndPrio regist er and t hen forwarded t o t he priorit y selector. Each interrupt can be assigned to one of two levels as programmed in the PrimIntMaskAndPrio register. Level 1 has higher priority than level 0. The interrupts are prioritized wit hin each level, with interrupt 15 having t he highest priority and interrupt 1 the lowest. The highest interrupt from level 1 will be forwarded t o t he IU - if no unmasked pending int errupt exist s on level 1, t hen t he highest unmasked int errupt from level 0 will be forwarded.
The NMI can not be masked through the mask register; it also has always priority level 1. When t he IU acknowledges t he int errupt , t he corresponding pending bit will aut omat ically be cleared.
Int errupts can also be forced by setting a bit in the PrimIntForce register. In this case, t he IU acknowledgement will clear t he force bit rat her t han t he pending bit .
By set ting the corresponding clear bit in the PrimIntClear register the respective pending bit in the PIC will be cleared. The IU acknowledgement will not be able to clear the int errupt s t hat are not st ored inside t he primary int errupt cont roller (GIC high, CIC, GIC low). The interrupt handling routine has to make sure that the corresponding interrupt is cleared on its source. Also if a secondary interrupt controller interrupt shall be forced, it has to be forced at t he source.
The GIC low/high pending bits in the primary interrupt controller are directly connected to the interrupt vect or queues in t he GIC. That means if the GIC interrupt vector queue is not empty, the corresponding GIC low/high pending bit in t he PIC will be on. If the GIC interrupt vector queue is empty the corresponding GIC low/high pending bit in the PIC is not active.
The pending bits inside the CIC are OR'ed together and are direct ly connect ed t o t he CIC pending bit in t he PIC. Therefore if any pending bit inside t he CIC will be act ive, t he CIC pending bit in t he PIC will be on.

4.12.1.1 Pending Interrupt Cleared by Ticc AGGA4 is affect ed by t he following issue (ESA IPN #384):
An int errupt (tt = 0x11 ­ 0x1F), pending in the PrimIntPending or the PrimIntForce registers is systematically cleared by a software trap (Ticc) which shares the same lower 6 bit [5:0] in its trap type. As a side effect , if cache-freeze on int errupt is activated by setting CacheCtrl.DF and/or CacheCtrl.IF, the cache will be frozen erroneously. The anomaly only happens when the trap indicated in the pending or force irq register shares the lower 6bits with t he soft ware t rap number used in t he Ticc inst ruct ion.
The following t able summarises which soft ware t raps would clear which pending int errupt :

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 101 of 230

Pending int err up t SW Trap t hat cl ears int errupt

(val ue of 't t')

(val ue of 't t')

0x11

0x91, 0xD1

0x12 0x13 0x14

0x92, 0xD2 0x93, 0xD3 0x94, 0xD4

0x15 0x16

0x95, 0xD5 0x96, 0xD6

0x17 0x18 0x19

0x97, 0xD7 0x98, 0xD8 0x99, 0xD9

0x1A 0x1B 0x1C

0x9A, 0xDA 0x9B, 0xDB 0x9C, 0xDC

0x1D 0x1E

0x9D, 0xDD 0x9E, 0xDE

0x1F

0x9F, 0x DF

Table 4-8: Pending cleared by Ticc

The following software workaround can be adopt ed: No Ticc inst ruct ion shall use t rap numbers which result in a t t value of 0x9- or 0xD

4.12.2 GNSS Interrupt Controller (GIC)
The first secondary interrupt controller called GNSS Interrupt Controller (GIC) is locat ed inside t he GNSS clock domain. Two int errupt signals (t ransport ing t he priorit y) are provided t o t he primary int errupt cont roller. The GNSS int errupt controller provides priorisation of the trigger events. The following events are served by t he GNSS int errupt cont roller:

Trigger Event

GNSS Channel Int egrat ion Epoch elapsed

36

GNSS Pulse Per Second Epoch elapsed

1

GNSS Ant enna Swit ch Epoch elapsed

1

GNSS Measurement Epoch elapsed

1

GNSS Power Level Det ect or I/Q elapsed

1

GNSS Power Level Det ect or 5I elapsed

1

GNSS DMA error occurred

1

Tabl e 4-9: GNSS Interrupts

Number

The implementation of the GNSS Int errupt Controller is similar to the secondary interrupt controller of t he LEON-IP. An int errupt priority register is added to provide the possibility to assign each GNSS int errupt to one of t wo int errupt levels. Also a queue mechanism is implemented, which can be used to store the interrupts in t he order of occurrence. The timestamp (IMT value) of an interrupt is st ored inside t he GNSS regist ers. The GNSS Int errupt Cont roller is depict ed in Figure 3-4.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

GNSS Interrupts

IRQ Pending

Priority Encoder

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 102 of 230

GIC QUEUE HIGH

IRQ 11
6
Vector_high

GIC QUEUE LOW

IRQ 5
6
Vector_low

IRQ Mask

Priority Select

Fi gure 4-9: GNSS Interrupt C ontrol l er

If an interrupt is enabled trough the mask (GIC_Mask0/1), the interrupt is priorized via the GIC_Prio_0/1 registers and queued in eit her the GIC_QueueHigh or GIC_QueueLow queue according t o t heir priorit y. The 6bit queue ent ry ident ifies the interrupt source (e.g. channel, ME, PPS, etc). Also the queue maintains the timely order (first in first out). If an int errupt is regist ered in t he queue it is aut omat ically cleared by t he hardware in t he pending regist er (GIC_Pend0/1) and can not be cleared by the software. If the user reads the queue entry, also t he queue ent ry will be cleared automatically by the hardware and therefore must not be cleared by the software. The queue has a dept h of 64 ent ries. If a queue is empty a read on it will return the value 0x3F. If a queue is full, the corresponding pending bits will remain in the pending register (GIC_Pend0/1) until the queue has a free entry. Once there is a free entry, the pending bit is registered in the queue and automatically cleared in the pending register (GIC_Pend0/1). However in t his case (full queue) t he user has to take into account that the interrupts may not be entered in the correct time order once t he queue get s free again. If the PIC signals a GNSS low/high interrupt it is recommended to read the corresponding GIC queue in t he int errupt service rout ine unt il t he queue is empt y and t hus do a bat ch processing of int errupt event s.

If an interrupt is disabled through the mask (GIC_Mask0/1), the pending bit is not cleared automatically. The user has to clear it by set t ing t he corresponding bit in t he int errupt clear (GIC_Clear0/1) regist er.
This allows t reating some events by polling (by masking the interrupt and reading the pending bit), while ot her event s can be handled by an int errupt handler (by unmasking t he int errupt and reading t he queue).

By reading the register GIC_QueueStatus it is also possible to get the current fill st at us of t he GIC_QueueHigh and GIC_QueueLow as well as the informat ion whet her one of t he queues had an overflow somewhere in t he past .

Note: The internal Pending register in the AGGA-4 has 42bits. Since it is not possible for the software to read all 42bits at a time, a special mechanism has been implemented. If the software reads the GIC_Pend0 register it reads t he lower 32bit s of the 42bit Pending register. The upper 10bits of the 42bit Pending register are st ored by t he hardware int o a shadow register. If the software now reads the GIC_Pend1 register, it will read the content of t he shadow regist er and get s t he residual 10bits of the latched 42bit Pending register. Therefore in order to read the current stat us of t he upper 10bit s of t he 42bit Pending regist er, t he soft ware always has t o read first GIC_Pend0 and t hen GIC_Pend1.
Note: If a GNSS channel has enabled GNSS DMA, t he Integration Epoch (IE) is not directly signalled from the channel t o the GIC, but is delayed by the DMA machine until the DMA transfer of t hat channel is finished. That way it is ensured that the user can be sure, once he gets an IE interrupt, that the DMA is already done. If a GNSS channel has disabled GNSS DMA t he Integration Epoch (IE) is directly signalled to the GIC. Note that only the notificat ion t o t he user is delayed, not the IE mechanism itself. Therefore the IE observables do of course carry t he correct cont ent .
Note: After reset of the GNSS core the GIC queue low and the GIC queue high can have one arbitrary entry. Therefore if t he user wants to make use of these queues, it is recommended to read the GIC queues after a GNSS reset unt il 0x3F (queue empt y) is readback.

4.12.3 Communication Interrupt Controller (CIC)
The second secondary int errupt cont roller is t he Communicat ion Int errupt Cont roller (CIC).
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 103 of 230

UART0

UART1 SPI CRC

IRQ Pending

CIC

S-GPO

SpW MilBus Nominal MilBus Reset MilBus Error

IRQ Mask

Fi gure 4-10: C ommuni cati on Interrupt C ontrol l er
The implementation of the Communication Interrupt Controller is similar to the secondary interrupt cont roller of t he LEON-IP. When a communication interrupt is generated, the corresponding bit is set in the CIC_Pending register. The pending bit s are ANDed wit h t he CIC_Mask regist er and t hen forwarded t o t he PIC. By set ting the corresponding clear bit in the CIC_Clear register the respective pending bit in t he CIC will be cleared. However the SpaceWire Module and the Mil-Bus IP Core do have t heir own int errupt cont rollers. Therefore t he int errupts of those modules are just mirrored in the CIC pending register, but they are not stored there. They are st ored in t heir own interrupt controller. Therefore the SpaceWire and Mil-Bus interrupts have to be cleared in t he SpaceWire respect ively Mil-Bus int errupt cont roller. The following event s are served by t he Communicat ion Int errupt Cont roller:

Trigger Event

Mil-Bus Nominal (C53It )

1

Mil-Bus Reset (C53Rst )

1

Mil-Bus Error (C53Err)

1

Spacewire

1

UART-1 (RxDone, TxDone, Error)

3

UART-0 (RxDone, TxDone, Error)

3

SPI

1

CRC Ready

1

SGPO Overrun

1

Tabl e 4-10: C IC Interrupts

Number

4.13 Timer Unit
The timer unit implements four 32-bit timers and one 10-bit shared prescaler (see Figure 4-11). The prescaler is clocked by t he Leon clock and decremented on each clock cycle. When t he prescaler underflows, it is reloaded from t he prescaler reload register (TimerPrescaleReload) and a timer tick is generated for the four timers. The effective division rat e is equal to prescaler reload register value + 1. The current value of the prescaler can always be accessed by reading t he TimerPrescaleCounter regist er.
The operation of the timers is controlled through the timer control register (TimerN_Ctrl). A timer is enabled by sett ing t he EN bit in the TimerN_Ctrl register. Note that the prescaler and t imer reload values must be set t o a legal value before enabling the timers. The timer value is then decremented each time the prescaler generates a timer tick. When a t imer underflows, it will automatically be reloaded wit h the value of the timer reload register (TimerN_Reload) if the RL

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 104 of 230

bit in the TimerN_Ctrl is set, otherwise it will stop at 0xffffffff and reset the EN bit. The effective division rate is equal t o t imer reload regist er value + 1. An int errupt will be generat ed aft er each underflow.
The timer can be reloaded wit h the value in t he reload regist er at any t ime by writ ing a "1" t o t he LD bit in t he TimerN_Ctrl.
The current value of any of t he four t imers can be accessed by reading t he TimerN_Counter regist er.
To minimize complexity, the four timers share the same prescaler and decrement er as shown in Figure 4-11. The minimum allowed prescaler division factor is 8 (TimerPrescaleReload needs to be set to 7 at least before enabling any of t he timers). There is no rest rict ion t o t he value programmed in t he TimerN_Reload regist ers (0..0xFFFF).

Fi gure 4-11 Ti mer Uni t
4.14 Write Protection Unit
4.14.1 Overview
Write protection is provided to protect the RAM area against accident al over-writ ing. It is implement ed wit h t wo met hods: the address/mask method as implemented in the original LEON-2 model, and an ext ended version using st art/end addressing. Both methods can be used simultaneously. Therefore in total AGGA-4 has 4 Write Protect Unit s. Aft er reset writ e prot ect ion is disabled for all unit s. Note: The APB registers (0x8...) and the DSU area (0x9...) can not be protected with the Write Protection Unit . They are always accessible in user and superuser mode. The I/O area can be prot ect ed by set t ing t he IOEnable bit in t he MCFG1 regist er t o zero. The PROM area can be prot ect ed by set t ing t he PROMWriteEn bit in t he MCFG1 regist er t o zero.
4.14.2 Address/Mask Write Protection
The address/mask write protection is implemented with two block protect units capable of disabling or enabling writ e access t o a binary aligned memory block in the range of 32 Kbyte - 1 Gbyt e. Block prot ect unit 1 is cont rolled by WriteProtect1, block protect unit 2 is controlled by WriteProtect2. The units operate as follows: on each write access to
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 105 of 230

RAM, address bits (29:15) are XORed with the TAG field in the control register, and ANDed with t he MASK field. A writ e protection hit is generated if the result is equal to zero, and the corresponding unit is enabled in block prot ect mode (BP = 1) or if t he result s is not zero and t he unit is enabled in segment mode (BP = 0).
Note: The ROM area can be writ e prot ect ed by clearing t he PROMWriteEn bit in t he MCFG1 regist er.

4.14.3 Start/End Address Write Protection
The start/end address write protect scheme contains two identical units that compare the AHB writ e address against a st art and an end address. They can be cont rolled via t he regist ers WriteProtectStartAddressN and WriteProtectEndAddressN, where N can be either 3 for Write Protect Unit 3 and 4 for Write Protect Unit 4. If operat ed in block protect mode (BP = 1) in the WriteProtectStartAddressN register and the AHB write address is equal or higher t han the start address and lower or equal to the end address, a write protect hit is generated. If operated in segment mode (BP = 0) in the WriteProtectStartAddressN register, a write protect hit is generated when the write address is lower than t he st art address, or higher t han t he end address.
The write protection can be enabled by setting the UM bit t o "1" in user mode or by set t ing t he SU bit t o "1" in superuser mode.
Note: All AHB Masters, except for the CPU and the Mil-Bus use the HPROT value "0011" meaning t hat t hey are "superuser". The Mil-Bus uses t he HPROT value "0000" meaning t hat it is "user". The CPU can be bot h.

4.14.4 Generation of Write Protection
The results from the t wo writ e prot ect ion schemes are combined t oget her according t o t he following scheme: · If all enabled units operate in block protect mode, then a write protect error will be generat ed if any of t he enabled unit s signal a writ e prot ect ion hit . · If at least one of the enabled units operates in segment mode, then a write protect error will be generat ed only if all unit s operat ing in segment mode signal a writ e prot ect ion hit .
A writ e protection error will result in that the AHB write cycle is ended with an AHB error response and the data is not writ t en to the memory. The ROM area can be write protected by clearing the PROMWriteEn bit in the MCFG1 register.
"Enabled" in t his cont ext means enabled eit her in user or in supervisor mode or bot h.

4.15 AHB Status Register
An access triggering an error response on the AHB bus will be regist ered in t wo regist ers; AHBFailingAddress and AHBStatus. The failing address register will store the address of the access while the status register will store the access and error types. The regist ers are updat ed when an error occurs. Once t he AHBFailingAddress regist er and t he AHBStatus register have been updated by the hardware, the NE (new error) bit in the AHBStatus regist er is set by t he hardware. The two registers are then locked, no new error will be recorded as long as NE is set, however the associat ed int errupts are still raised. After the software has read the AHBFailingAddress and the AHBStatus it must clear the NE bit t o re-arm t he regist ers.
The AHB status register is also triggered by correct able one-bit errors in t he ext ernal SRAM. So if t he memory cont roller identifies a correctable error in the attached memory, the CE (correctable) and NE (new error) bit s are set .
When t he NE bit is set , an int errupt is generat ed t o inform t he processor about t he error.
For un-correctable errors the NE bit and the corresponding interrupt in the primary interrupt controller has to be cleared.
For correctable errors the failed memory location has to be refreshed by a read-write cycle to the failed address, the NE and CE bit in the AHBStatus register has to be cleared, and finally the corresponding interrupt in the primary int errupt cont roller has t o be cleared.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 106 of 230

4.16 Hardware Debug Support Unit
4.16.1 Overview
The LEON processor includes hardware debug support to aid software debugging on target hardware. The support is provided through two modules: a debug support unit (DSU) and a debug communication link (DCL). The DSU can put t he processor in debug mode, allowing read/write access to all processor registers and cache memories. The DSU also cont ains a trace buffer which st ores execut ed inst ruct ions or dat a t ransfers on t he AMBA AHB bus. The debug communicat ions link (UART or SpaceWire) implement s a simple read/writ e prot ocol.

Fi gure 4-12 DSU O vervi ew
The debug support unit is used control the trace buffer and the processor debug mode. The DSU is attached to the AHB bus as slave, occupying a 2 Mbyte address space. Through this address space, any AHB master can access the processor regist ers and the contents of the trace buffer. The DSU control registers can be accessed at any time, while the processor regist ers and caches can only be accessed when the processor has entered debug mode. The trace buffer can be accessed only when tracing is disabled/completed. In debug mode, the processor pipeline is held and the processor is cont rolled by t he DSU. Ent ering t he debug mode can occur on t he following event s:
 execut ing a breakpoint instruction (ta 1)  int eger unit hardware breakpoint/watch point hit (trap 0xb)  rising edge of the external break signal (DSU_BRE pin)  set ting the break-now (BN) bit in the DSU_Ctrl register  a t rap that would cause the processor to enter error mode  occurrence of any, or a selection of traps as defined in the DSU control register  aft er a single-step operation  DSU breakpoint hit
The debug mode can only be entered when the debug support unit is enabled through an external pin (DSU_EN). When t he debug mode is ent ered, t he following act ions are t aken:
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 107 of 230

 PC and nPC are saved in temporary registers (accessible by the debug unit)  an out put signal (DSU_ACT pin) is asserted to indicate the debug state  t he timer unit is stopped to freeze the LEON timers
Not e: The wat chdog continues to run, if enabled.
The instruction that caused t he processor t o ent er debug mode is not execut ed, and t he processor st at e is kept unmodified. Execution is resumed by clearing the BN bit in the DSU_Ctrl regist er or by de-assert ing DSU_EN. The t imer unit will be re-enabled and execution will continue from the saved PC and nPC. Debug mode can also be ent ered aft er the processor has entered error mode, for instance when an application has terminated and halt ed t he processor. The error mode can be reset and t he processor rest art ed at any address.

4.16.2 DSU Memory Map
The DSU memory map can be seen in t he programming sect ion (chapt er 7.3) Note : The DSU memory addresses from 0x9000_0000 to 0x9FFF_FFFC can only be accessed if DSU is enabled via DSU_EN pin set to '1'. This is done to avoid accidental (in-flight) activation of the debug funct ionalit y (break point s et c.). Note: The trace buffer starts at 0x90010000 and ends at 0x90011FFC and is mirrored 8 t imes in t he memory range 0x90010000 ­ 0x90020000. If t racing is enabled, t he t race buffer cannot be accessed by soft ware.
The IU/FPU regist ers can be accessed at t he following addresses (window = psr.cwp):  %on : 0x90020000 + (((window * 64) + 32 + 4*n) mod 512)  %ln : 0x90020000 + (((window * 64) + 64 + 4*n) mod 512)  %in : 0x90020000 + (((window * 64) + 96 + 4*n) mod 512)  %gn : 0x90020200 + 4*n  %fn : 0x90030000 + 4*n

4.16.3 Trace Buffer
The trace buffer consists of a circular buffer t hat st ores execut ed inst ruct ions or AHB dat a t ransfers. A 30-bit TimeTagCounter is also provided and stored in the trace as time tag. The trace buffer operation is controlled through the DSU_Ctrl register and the TraceBufferCtrl register. When the processor enters debug mode, tracing is suspended. The size of t he t race buffer is 512 lines (dept h) x 128bit (widt h) corresponding t o 8kbyt e.
The t race buffer is 128 bit s wide, t he informat ion st ored is indicat ed in Table 4-11 and Table 4-12 below:

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 108 of 230

Bits Name 127 AHB breakpoint hit 126 -
125:96 TimeTagCounter 95:92 IRL 91:88 PIL 87:80 Trap type 79 Hwrite 78:77 Htrans 76:74 Hsize 73:71 Hburst 70:67 Hmaster 66 Hmastlock 65:64 Hresp 63:32 Load/Store data 31:0 Load/Store address

Definition Set to `1' if a DSU AHB breakpoint hit occurred Unused The value of the TimeTagCounter Processor interrupt request input Processor interrupt level (psr.pil) Processor trap type (psr.tt) AHB HWRITE AHB HTRANS AHB HSIZE AHB HBURST AHB HMASTER AHB HMASTLOCK AHB HRESP AHB HRDATA or HWDATA AHB HADDR

Tabl e 4-11 Trace Buffer Li ne Defi ni ti on (AHB Traci ng Mode)

Not e: See chapter 4.15 for AHB HMASTER and HSIZE explanation. The other AHB signals behave like stat ed in t he AHB Specificat ion (see [RD-06]).

Bits Name 127 Instruction breakpoint hit 126 Multi-cycle instruction
125:96 Time tag 95:64 Load/Store parameters 63:34 Program counter 33 Instruction trap 32 Processor error mode 31:0 Opcode

Definition Set to `1' if a DSU instruction breakpoint hit occurred. Set to `1' on the second and third instance of a multi-cycle instruction (LDD, ST or FPOP) The value of the time tag counter Instruction result, Store address or Store data Program counter (2 lsb bits removed since they are always zero) Set to `1' if traced instruction trapped Set to `1' if the traced instruction caused processor error mode Instruction opcode

Tabl e 4-12 Trace Buffer Li ne Defi ni ti on (Instructi on Traci ng Mode)

During instruction tracing, one instruction is stored per line in t he t race buffer wit h t he except ion of mult i-cycle inst ructions. Multi-cycle instructions are entered two or three times in t he t race buffer. For st ore inst ruct ions, bit s [63:32] correspond to the store address on the first entry and to the stored data on the second entry (and third in case of STD). Bit 126 is set on the second and third entry to indicate this. A double load (LDD) is ent ered t wice in t he t race buffer, with bits [63:32] containing the loaded data. Multiply and divide instructions are entered twice, but only the last ent ry contains the result. Bit 126 is set for the second entry. For FPU operation producing a double-precision result, t he first entry puts the MSB 32 bits of the results in bit [63:32] while the second entry put s t he LSB 32 bit s in t his field. When a t race is frozen, int errupt 14 (DSU Trace Buffer) is generat ed.
The DSU t ime tag counter is incremented each clock as long as the processor is running. The counter is st opped when t he processor ent ers debug mode, and rest art ed when execut ion is resumed.
The trace buffer can trace executed instructions, transfers on AHB or both (mixed-mode). The t race buffer cont rol regist er contains two counters that store the address of which location of the trace buffer will be written on next t race. Since t he buffer is circular, it actually points to the oldest entry in the buffer. The indexes are automatically incremented aft er each st ored t race ent ry.
When both instructions and AHB transfers are traced (`mixed mode t racing'), t he buffer is divided on t wo halves. Inst ructions are stored in the lower half (0x90010000) and AHB t ransfers in the upper half (0x90011000) of the buffer. The MSB bit of the AHB index counter is then automatically kept high, while the MSB of the instruction index counter is kept low. When the AF bit in the TraceBufferCtrl register is set, AHB tracing is st opped when t he processor is in debug mode. When AF is cleared, t racing cont inues unt il t he AHB t race enable bit s are cleared.

Addit ionally there is the possibility to apply trace buffer filtering. AHB trace buffer filt ering reduces t he amount of AHB t ransactions dumped into the trace buffer and helps debugging the access from specific mast ers or t o specific address areas on the AHB bus. Please note that master and slave filtering is subtractive, an access will be traced only if

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 109 of 230

it passes both filters. With a setting of MFILT = 2 and SFILT = 1 for example, only accesses from AHB mast er #2 t o addresses st art ing wit h 0x8.... (APB regist ers) will be t raced. Programming a 0 in both fields disables the trace filtering, all AHB accesses are traced (LEON2 default functionalit y). Not e that regardless of the trace filter settings, AHB tracing also needs to be enabled with the usual configurat ion bit s (bit 0 of t he DSU_Ctrl regist er and bit 25 of t he TraceBufferCtrl regist er).
Note: The TraceBufferCtrl regist er is not cleared by any reset .

4.16.4 DSU Control Register
The DSU_Ctrl register gives many possibilities t o influence t he DSU behaviour. The det ails can be found in t he programming sect ion (chapt er 7.3.1.1)

4.16.5 DSU (Hardware) Breakpoints
The DSU contains two breakpoint registers for matching either AHB addresses or executed processor inst ruct ions. A breakpoint hit is typically used to freeze the trace buffer, but can also put the processor in debug mode. Freezing can be delayed by programming the delay counter DCNT field in the DSU_Ctrl register to a non-zero value. In t his case, t he DCNT value will be decremented (after breakpoint condition) for each additional trace until it reaches zero. Then t he t race buffer is frozen. If the BT bit in the DSU_Ctrl register is set, the DSU will force the processor int o debug mode when t he trace buffer is frozen. Note that due to pipeline delays, up to 4 additional instructions can be execut ed before t he processor is placed in debug mode.
A mask register is associated with each breakpoint, allowing breaking on a block of addresses. Only address bit s wit h t he corresponding mask bit set to `1' are compared during breakpoint detection. To break on executed instructions, t he EX bit in the AHB_BreakAddressN register should be set. To break on AHB load or store accesses, t he LD and/or ST bit s of t he AHB_MaskN regist er should be set .

4.16.6 Instruction (Software) Breakpoints
To insert instruction breakpoints, the breakpoint instruction (ta 1) should be used. This will leave the four IU hardware breakpoints free to be used as data watch points. Since cache snooping is only done on the data cache, t he inst ruct ion cache must be flushed after the insertion or removal of breakpoints. To minimize t he influence on execut ion, it is enough to clear the corresponding instruction cache tag (which is accessible t hrough t he DSU). The DSU hardware breakpoints should only be used to freeze the trace buffer, and not for software debugging since there is a 4-cycle delay from t he breakpoint hit before t he processor ent ers t he debug mode.

4.16.7 DSU Trap Register
The DSU_Trap register is a read-only register that indicates which SPARC trap type that caused the processor t o ent er debug mode. When debug mode is force by setting the BN bit in t he DSU_Ctrl regist er, t he t rap t ype will be 0xb (hardware wat ch point t rap).

4.16.8 Single Stepping
By writ ing the SS bit and resetting the BN bit in the DSU_Ctrl register, the processor will resume execut ion for one inst ruct ion and t hen aut omat ically ent er debug mode.

4.16.9 Booting from DSU
By asserting DSU_EN and DSU_BRE at reset time, the processor will directly enter debug mode without executing any inst ructions. The system can then be initialized via the DSU communication link, and applications can be downloaded and debugged.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 110 of 230

5 Interface Modules
5.1 UART
Two identical DMA capable UARTs are provided for serial communications. The UARTs support data frames wit h 8 dat a bits, one optional parity bit and one stop bit. To generate the bit-rate, each UART has a programmable 12-bit clock divider programmable via the UARTn_Scaler register. Hardware flow-control is support ed t hrough t he RTSN/CTSN hand-shake signals.

5.1.1 Transmitter Operation
The t ransmit t er is enabled t hrough t he TXEN bit in t he UARTn_Ctrl regist er.
Communication over UART is done by transferring data packets using DMA. To t ransmit dat a t he CPU writ es t he relevant data into the memory and sets the DMA Start Address Pointer UARTn_Tx_SAP to the start address of the dat a. The St art Address Pointer (SAP) will contain the address of the first memory cell t o be used. Then t he DMA End Address Pointer UARTn_Tx_EAP has to be set to the end address of t he dat a. The End Address Point er (EAP) will cont ain the address of the last memory cell to be used. Writing EAP starts the I/O activity and the DMA transfer of t he dat a is st art ed. Not e t hat t he St art Address Point er always has t o be 32bit aligned. Therefore bit 1:0 of t he UARTn_Tx_SAP are always zero. The End Address Point er can be byt e aligned. The Current Address Point er UARTn_Tx_CAP always points to the next 32bit address which will be transmit t ed. By reading t he Current Address Point er during t he t ransfer t he soft ware can det ermine t he progress of t he t ransmission if needed.

RAM
Tx Area

UART Transmitter Part

T5

T6

T7

T8

31

0

SAPTx CAPTx EAPTx

TxBuffer (8 Byte)

Tx Shifter

Tx
TXEN

(if HW handshake)

CTSN

Fi gure 5-1: UART Transm i t Path

The data in the RAM which has to be transmitted is then transferred into the TxBuffer. From there on it is converted t o a serial stream for the transmitter serial output pin (UARTn_TX). It automatically sends a start bit followed by eight data bit s, an opt ional parit y bit , and one st op bit (Figure 5-2).

Fi gure 5-2 UART data fram e s
Following the transmission of the stop bit, if no new character is available in the TxShifter, the transmit t er serial dat a out put remains high and the transmitter shift regist er empt y bit (TSE) will be set in t he UARTn_Status regist er. Transmission resumes and the TSE bit is cleared when a new character is loaded into the TxShifter. When the TxBuffer is empty the TE bit in the UARTn_Status register is set. If there is data in t he TxBuffer t he TE bit is cleared. If t he t ransmitter is disabled by setting the TXEN bit in the UARTn_Ctrl register to zero the transmitter will immediately st op
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 111 of 230

any active transmission including the character current ly being shift ed out from t he t ransmit t er shift regist er. A t ransmission can be considered complet ed when t he TE and TSE bit s are bot h assert ed.
If flow control is enabled, the CTSN input must be low in order for the character to be transmitted. If it is de-asserted in t he middle of a transmission, the character in the shift register is transmit t ed and t he t ransmit t er serial out put t hen remains inactive until CTSN is asserted again. If the CTSN is connected to receivers RTSN, overrun can effect ively be prevent ed.
If all data of the defined transmit area has been transmitted an interrupt (UARTn_TxDone) is generated which is visible and cont rollable in t he Communicat ion Int errupt Cont roller (CIC).

5.1.2 Receiver Operation
The receiver is enabled for dat a recept ion t hrough t he receiver enable RXEN bit in t he UARTn_Ctrl regist er.
The receiver looks for a high to low t ransition of a start bit on t he receiver serial dat a input pin. If a t ransit ion is det ected, the state of the serial input is sampled half bit clocks later. If the serial input is sampled high t he st art bit is invalid and the search for a valid start bit continues. If the serial input is still low, a valid st art bit is assumed and t he receiver continues to sample the serial input at one bit time intervals (at the theoretical centre of the bit) until the proper number of data bits and the parity bit have been assembled and one stop bit has been detected. The serial input is shifted t hrough an 8-bit shift register where all bits have to have the same value before the new value is t aken int o account , effect ively forming a low-pass filt er wit h a cut -off frequency of 1/8 SysClk.
During reception, the least significant bit is received first. The dat a is t hen t ransferred from t he RxShift er t o t he RxBuffer and the data ready (DR) bit is set in the UARTn_Status register as soon as the RxBuffer contains at least one dat a frame. The parity, framing and overrun error bits are set at the received byte boundary, at the same time as t he DR bit is set. The data frame is not stored in the RxBuffer if an error is detected. Also, the new error st at us bit s are ORed wit h t he old values before they are stored into the UARTn_Status register. Thus, they are not cleared unt il writ t en t o wit h zeros from the APB bus. If both the RxBuffer and the RxShifter are full when a new st art bit is detected, t hen t he character held in the RxShifter will be lost and the overrun bit (OVR) will be set in the UARTn_Status regist er. If flow cont rol is enabled, then the RTSN will be negated (high) when a valid st art bit is det ect ed and t he RxBuffer is full. When t he RxBuffer is read, t he RTSN will aut omat ically be reassert ed again.

UART Receiver Part

RAM
Rx Area

Rx RTSN

Rx Shifter

RxBuffer (8 Byte)

(if HW handshake) Rx Buffer Full

SAPRx CAPRx EAPRx

Fi gure 5-3: UART Re ce i ve Path

R1 R2 R3 R4

31

0

To receive data the CPU has to configure the DMA St art Address Pointer UARTn_Rx_SAP to the st art address of t he reception RAM area. The Start Address Pointer (SAP) will contain the address of the first memory cell to be used. Then t he DMA End Address Pointer UARTn_Rx_EAP has to be set to the end address of the receive area. The End Address Pointer (EAP) will contain the address of the last memory cell to be used. Writing EAP starts the I/O act ivit y and t he cont ents of the RxBuffer are written via DMA to the memory. The Current Address Pointer (CAP) will be maint ained by t he ASIC. It will be set to SAP after EAP has been written. The Current Address Point er can be used t o read t he number of byt es which have been received so far (UARTn_Rx_CAP ­ UARTn_Rx_SAP).
While the UARTn_Rx_CAP and UARTn_Rx_EAP Pointer can address byte wise, the UARTn_Rx_SAP has t o be 32bit aligned. Therefore bit 1:0 of t he writ t en UARTn_Rx_SAP are always zero.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 112 of 230

Note: The UART DMA always does 32bit writes into memory. Having a look to Figure 5-3 and assuming SAP would be set to 0x40000000 this would mean that the DMA would start writing the following data upon recept ion on t he following addresses:
· Aft er reception of t he first byt e: R1 00 00 00 on address 0x40000000 · Aft er recept ion of t he second byt e: R1 R2 00 00 on address 0x40000000 · Aft er reception of the thrird byt e: R1 R2 R3 00 on address 0x40000000 · Aft er reception of the fourth byt e: R1 R2 R3 R4 on address 0x40000000 · Aft er reception of t he fift h byt e: R5 00 00 00 on address 0x40000004 · ... Therefore, if the UARTn_Rx_EAP Pointer is not 32bit aligned, the user has to make sure that the residual 1..3 bytes after t he UARTn_Rx_EAP point er are not used by t he soft ware, since t hey cont ain invalid dat a.
If all dat a of t he defined receive area has been received (UARTn_Rx_CAP > UARTn_Rx_EAP) an int errupt (UARTn_RxDone) is generated which is visible and controllable in the Communicat ion Int errupt Cont roller (CIC).

5.1.3 Baud Rate Generation
Each UART contains a 12-bit down-counting scaler to generate the desired baud-rat e. The scaler is clocked by t he SysClk and generates a UART tick each time it underflows. It is reloaded wit h the value of the ReloadValue field in t he UARTn_Scaler register after each underflow. The resulting UART tick frequency should be 8 t imes t he desired baudrat e minus one. Therefore t he correct ReloadValue can be det ermined wit h t he following formula:
  =   8 - 1

Note: If the baud rate is changed during operation up to 16 bytes can be corrupted until the new baud rat e set t ing will work.
5.1.4 General UART Rules
Here below some addit ional behaviour which applies for t he whole UART: · A "1" writ t en t o UART_Reset regist er will st op all I/O act ivit y on t he memory. · It will be sole responsibility of the user to specify meaningful addresses. The ASIC will not perform any plausibilit y checks. It is assumed, t hat SAP  EAP always.

5.1.5 Error Handling
Each UART has five error conditions which can trigger the UARTn_Error interrupt in t he Communicat ion Int errupt Cont roller (CIC). The error int errupt can be masked/forced/cleared as a whole in t he CIC.
5.1.5.1 Framing Error If a framing error is detected, the FER bit in the UARTn_Status regist er of t he corresponding UART is set and t he UARTn_Error int errupt is generat ed (if not masked in t he CIC). The FER bit can be cleared by writ ing a "0" t o t hat bit .
5.1.5.2 Parity Error If a parity error is detected, the PER bit in t he UARTn_Status regist er of t he corresponding UART is set and t he UARTn_Error int errupt is generat ed (if not masked in t he CIC). The PER bit can be cleared by writ ing a "0" t o t hat bit .

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 113 of 230

5.1.5.3 Overrun in Receiver If t he RxShifter and the RxBuffer are full and new dat a is incoming, an overrun is detected in t he UART receiver and t he OVR bit in the UARTn_Status register of the corresponding UART is set and a UARTn_Error interrupt is generat ed (if not masked in t he CIC). The OVR bit can be cleared by writ ing a "0" t o t hat bit .
5.1.5.4 Break Received If a Break Received is detected, the BR bit in the UARTn_Status register of t he corresponding UART is set and t he UARTn_Error int errupt is generat ed (if not masked in t he CIC). The BR bit can be cleared by writ ing a "0" t o t hat bit .
5.1.5.5 Timeout If dat a is available in the RxBuffer and is not read within a certain amount of time a timeout signal can be generat ed, which swit ches the RTO bit in the UARTn_Status register to "1" and which generates the UARTn_Error interrupt (if not masked in t he CIC). The RTO bit is cleared if the data in the RxBuffer is read, or if the timeout feature is disabled or if the UART receiver is disabled. The timeout feature can be switched on/off by the programming of the Timeout Enable (TOE) bit in t he UARTn_Ctrl regist er. The timeout period can be programmed by the TimeoutCnt field in the UARTn_Scaler register. The t imeout scaler is clocked with the BaudRate which can also be expressed as SysClk/(Scaler+1)/8. The TimeoutCnt field has therefore t o be programmed wit h t he desired amount of BaudTicks ­ 1. If t he timeout feature is enabled, the timeout counter is reloaded wit h t he TimeoutCnt whenever t he RxBuffer was empty and now has data. The counter then starts running downwards towards zero and either stops if the RxBuffer get s empt y before t he count er elapses or t he count er reaches zero and generat es t he t imeout .

5.1.6 Internal Loopback
If t he LB bit in UARTn_Ctrl register is set , t he UART will be in t he int ernal loop back mode. In t his mode, t he t ransmitter output is internally connected to the receiver input and t he RTSN is connect ed t o t he CTSN. It is t hen possible to perform loop back tests to verify operation of receiver, transmitter and associated software routines. In t his mode, t he out put s remain in t he inact ive st at e, in order t o avoid sending out dat a.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 114 of 230

5.2 SpaceWire
5.2.1 SpaceWire Module
The AGGA-4 provides a SpaceWire module (see also Figure 5-4) wit h four ident ical SpaceWire int erfaces (or channels) for communicat ion purposes.
The four communication SpaceWire links share a common AHB interface and a common DMA controller. Data can be t ransferred via DMA from a SpaceWire link to the external memory and vice versa. The DMA function requires that the SpaceWire-AHB int erface has t he capabilit y t o become AHB mast er.
The SpaceWire module includes an interrupt controller (see also Figure 5-5). A common SpaceWire interrupt signal is generated t o signal a request of service t o t he processor via t he Communicat ion Int errupt Cont roller (CIC).
The operation of the SpaceWire interfaces is controlled by regist ers. The regist ers used t o cont rol t he SpaceWire int erface are split int o t wo groups. One group cont ains all regist ers commonly used by t he SpaceWire module (SpW_ModuleConfig, SpW_ModuleTimeCtrl, SpW_ModuleTimeCode, SpW_ModuleIntMask, SpW_ModuleIntStatus, SpW_ModuleIntClear). The ot her group cont ains all regist ers which are individual t o each SpaceWire channel (SpWn_StatusAndCtrl, SpWn_Tx_SAP, SpWn_Tx_EAP, SpWn_Tx_CAP, SpWn_Tx_Rx_Config, SpWn_Rx_SAP, SpWn_Rx_EAP, SpWn_Rx_CAP) and are available 4 t imes (n = 0..3). The SpaceWire module cont rol and st at us regist ers are accessible via t he SpaceWire-APB int erface.

AHB

APB

SpaceWire Module

SpW 10MHz Clk SpW MaxTx Clk

SpW-AHB-IF DMA processing

SpW- APB-IF to config

config

Tx

Rx

Channel 1

Channel 2

Channel 3

SpW

Fi gure 5-4: SpaceWi re Modul e
5.2.2 Data Transfer
Communication over SpaceWire is done by transferring data packets using DMA. To transmit data the CPU writ es t he relevant data into the memory and sets the registers in the SpaceWire interface (SpWn_Tx_SAP and SpWn_Tx_EAP) t hat points to this data. Further transfer activities are applied by the appropriated DMA without any CPU intervent ion. T o receive data the CPU sets the register in the SpaceWire interface (SpWn_Rx_SAP and SpWn_Rx_EAP) that points to t he receive area in the external memory. For each SpaceWire link 8 registers are provided. Four regist ers t o assign an
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 115 of 230

area (transmit /receive) in t he ext ernal memory, t wo regist ers which carry t he current address value and t wo configurat ion regist ers. Transmit and receive registers of each of the four SPW links are programmable independently to use separate memory buffers, however all dat a st reams are sharing a common DMA and AHB int erface. When set t ing up a DMA channel, t he DMA point ers must be writ t en in t he order SpWn_R|Tx_SAP, t hen SpWn_R|Tx_EAP, because it is the write to the EAP register which will start the DMA transfer. Moreover, writ ing t o t he SAP or EAP register while a DMA transfer is in progress shall be avoided, as it will interrupt the ongoing t ransfer and most likely lead t o loss of dat a. By reading the current address register (SpWn_Tx_CAP, SpWn_Rx_CAP) the progress of data transfer can be observed.
The End Of Packet (EOP), or the occurrence of an error (Error EOP, EEP) on the SpaceWire link is indicat ed t hrough t he int errupt bit EOP_EEP (if enabled/unmasked). In addit ion, in case of EEP, EEP_Received will be set in SpWn_Tx_Rx_Config. The DMA transfer is stopped, and the number of received characters (bytes) will t hen be given by t he difference SpWn_Rx_CAP - SpWn_Rx_SAP.
When setting the NoStopOnEOP field in SpWn_Tx_Rx_Config, processing of EOP / EEP in t he RX dat ast ream is disabled. All incoming EOP and EEP are discarded, all received SPW packets are concat enat ed int o t he same DMA buffer until the buffer is full (CAP has reached EAP), which will be indicat ed by t he RxAreaFull int errupt bit . The maximum transmit (Tx) data rate is x MBit/s, where x is the used AGGA-4 SysClk in MHz. Lower Tx dat a rat es can be configured in the SpWn_StatusAndCtrl register. The Rx data rate is twice the SpWRxClk clock (see Tabl e 6-2).

5.2.3

SpW Interrupts

Various SPW events are notified by setting bits in t he SpW_ModuleIntStatus regist er. For each of t he event s, an int errupt to the processor can be raised if unmasked in the SpW_ModuleIntMask regist er. The int errupt bit s can be select ively cleared in t he SpW_ModuleIntClear regist er.

For each of t he four SPW links, t he following event s are report ed:
- SpaceWire link error (SPWn_LinkError) - SpaceWire link connected (SPWn_LinkConnected) - Packet transmission completed (SPWn_TxDone) - Receive DMA buffer (in external memory) full (SPWn_RxAreaFull) - Packet reception completed (EOP/EEP received) (SPWn)EOP_EEP)

Figure 5-5 shows t he SpaceWire int errupt cont roller.

Fi gure 5-5: SpW Interrupt C ontrol l er
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 116 of 230

5.3 MIL-Bus
5.3.1 General description
The MIL-STD-1553B bus is a serial bus whose application is foreseen worldwide in many Space Applicat ions. It is a mult iplex data bus that operates asynchronously in a command/response mode. The transmission on the bus occurs in a half-duplex way. Every data transfer occurring on the bus is init ialized and managed by t he Bus Cont roller. More informat ion can be found in [RD-07]and [RD-08]. The data exchanges between the terminals connected to the bus involve 16 bits words. The data can be driven t hrough t he bus at a speed of 106 bit s/s. The IP1553 provides all facilit ies for efficient coupling bet ween t he Applicat ion and t he 1553B buses. The IP1553 has a dual bus capabilit y and operat es as a Remot e Terminal (RT). As a Remote Terminal, the IP1553 accepts all options and mode commands specified by the MIL-STD-1553B protocol. In addit ion, the transfer commands (including mode commands), may opt ionally be illegalized t hrough dedicat ed Charact erizat ion words. In t he Remote Terminal mode, the IP1553 offers a high level of aut onomy. 1553B t ransfers are cont rolled by t he IP1553 on a Sub Address based splitting scheme. The Application can allow multiple buffers which sizes are defined by Sub Address. The IP1553 provides a Control Word that ensures the completion and the validity of the message and an Informat ion Word giving dat ing and t he address where dat a were st ored.
The IP1553 is fully compatible with MIL-STD-1553B protocol. The next lines present the main feat ures provided by the IP1553:
· Full MIL-STD-1553B compliance · Remot e Terminal capabilit y · Dual redundant bus capabilit y · Fully compat ible wit h an AMBA bus int erface · Programmable non response t ime-out (14 µs or 31 µs) · Loop t est for t ransmission checking · Illegal commands management (in RT mode)

5.3.2 Architectural description
5.3.2.1 1553B bus coupling module architecture Figure 5-6 describes a typical IP1553 based on a 1553B bus coupling module. Very lit t le addit ional hardware is required t o ensure a full dual redundant 1553B bus coupling t o an Applicat ion.

1553B Bus

TRANSFORMER + TRANSCEIVER 0

IP1553

APPLICATION WITH
AHB & APB INTERFACES

01

TRANSFORMER + TRANSCEIVER 1

CLOCKS

Figure 5-6: IP1553 environment

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 117 of 230

5.3.2.2 IP1553 internal architecture The internal architecture of IP1553 is shown on Figure 5-7. It is composed of t he five major following element s: Manchester Encoder/Decoder blocks, Internal regist ers, Commands management & Execut ing unit , Applicat ion Int erface block including an AMBA AHB int erface and an APB int erface.
5.3.2.2.1 Manchester Encoder/Decoder blocks The Encoder converts the parallel binary data to a serial Manchester encoded bit stream. The serial bit st ream is t hen driven t o t he act ive 1553B bus t ransmit t er. Two Encoders are included in t he IP1535 chip. The Decoder converts the 1553B serial Manchester data from one receiver t o parallel binary dat a. Thanks t o t wo independent Decoders t he IP1553 is able t o list en simult aneously on bot h buses.
5.3.2.2.2 Internal registers They cont ain necessary informat ion for IP1553 chip's configurat ion or operat ion.
5.3.2.2.3 Commands management & executing unit This block manages the 1553B protocol. Its function is defined by the Int ernal regist ers which cont rol t he way t he IP1553 init iat es responds t o commands in t he Remot e Terminal mode.
5.3.2.2.4 Application Interface block The Application Interface provides an APB interface for configuration and status registers. It provides also an AMBA AHB int erface for memory access.

DECODER 0 ENCODER 0
ENCODER 1 DECODER 1

INTERNAL REGISTERS

COMMANDS MANAGEMENT & EXECUTING UNIT

MEMORY BUS INTERFACE (AHB)

PROCESSOR BUS INTERFACE (APB)

Figure 5-7: IP1553 int ernal block diagram

5.3.3 IP1553 Initialization
The IP1553 act s as Remot e Terminal (RT). Aft er a AGGA4_RESET_N or PWR_ON_RESET_N activation, the IP1553 enters the init ializat ion sequence. Aft er a Rst 1553 bit act ivat ion, t he IP1553 ent ers t he reset sequence. In order to prevent any hazardous functioning of the chip, the following inputs or bits in registers must be stable out of t he "Reset state": Mode, TimeOut, DbcEn, BrCstEn, WdSize, LockEn, DW16En, ExtArea bit s. Any modificat ion on t hese bit s must be followed by t he act ivat ion of Rst1553 bit (C53CDST).

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 118 of 230

Rst1553 = 1 RESET State

AGGA_RESET_N = 0 OR
POWER_ON_RESET_N = low

NO Rst1553 = 0 ? YES
Mode reading

INITIALIZATION State

AGGA_RESET_N = 1 ?

AND

NO

POWER_ON_RESET_N = high ?

YES

Mode = 00 or Mode = 11

REMOTE TERMINAL (RT) Mode
Figure 5-8: IP1553 init ializat ion and reset sequence

The Reset state corresponds to a reset of the IP1553 except its Bus Processor Interface in order to allow the Application t o writ e in it s Configurat ion regist er and it s Command regist er.
The Initialization state corresponds to a reset of the whole IP1553. Therefore, the IP1553 cannot be configured during Initialization state as its Bus Processor Interface is not active. The IP1553 leaves its Initializat ion st at e 5 µs after t he rising edge of t he AGGA4_RESET_N or PWR_ON_RESET_N input pin.

5.3.3.1 APB Interface
The det ailed regist er descript ion can be found in t he programming sect ion (chapt er 7.2.14)
The Applicat ion should configure t hese regist ers aft er t he Init ializat ion st at e ends.
When the Application set the Rst1553 bit to "0", the IP1553 leaves its reset stat e. The Applicat ion can t hen set t he GoStop bit t o "1". Upon AGGA4_RESET_N or PWR_ON_RESET_N input activation the IP1553 enters Initializat ion st at e and reset it s eight registers. Upon Rst1553 bit activation the IP1553 enters Reset state and reset the bits that are in read mode in t he C53CDST, C53RTI and t he C53TTI regist er.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 119 of 230

5.3.3.2 Remote Terminal (RT) mode definition
5.3.3.2.1 RT mode working scheme
The Remot e Terminal sequence is as shown on Figure 5-9. During "Initialization state" the IP1553 initializes its registers. During this period the IP1553 does not respond t o any request from the 1553B bus. The RstSt bit (C53CDST) is set to "1" by the IP1553 to indicate that it is in "Initializat ion st at e", ot herwise t his bit is set t o "0". The IP1553 enters its "St and-by state" after the end of the initialization. If GoStop bit (C53CDST) is set t o "1", t he IP1553 enters its "Active state". The BusyFlag bit (C53CDST) indicates when it is set t o "1" t hat t he IP1553 is in "Act ive st at e". Upon receipt of a valid command, the IP1553 performs an RT address parity cont rol. In case of mismat ch bet ween hard-wired parity and computed parit y, t he IP1553 does not process t he command and set t he ErrParAd bit in C53CDST and generat e C53Err int errupt t hrough act ivat ion of t he ErrRTAd bit in C53EIT. Upon receipt of "Reset remote terminal" Mode command, the IP1553 generates the C53Rst interrupt through activation of RstCom bit in C53RIT regist er and drives a 0 pulse on t he open-drain out put MIL_RESET_OUT_N.

REMOTE TERMINAL Mode

Initialization state Stand-by state

NO End of Reset ? YES
NO Gostop = 1 ?
YES

Active state

NO

Command

received ?

YES

RT address reading and Parity check

Parity OK? YES
Command management

NO Set C53Rst to "1"
"Reset remote terminal" Mode command received

Active state

ITs management
Figure 5-9: RT mode working scheme

5.3.3.2.2 RT mode internal registers definition

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 120 of 230

In t he Remote Terminal mode, the following registers are used: the Status word register, the Last Command register and t he BIT regist er.

5.3.3.2.2.1 Status word register This regist er cont ains t he last St at us word sent in response t o Bus Cont roller int errogat ion. The St at us word regist er is as described hereaft er:

B15

B14

B13

B12

B11

B10

B9

B8

B7

B6

B5

B4

B3

B2

B1

B0

RTAD(4:0)

ME

NULL SREQ NULL NULL NULL BRX BUSY SSF

DBC

TF

Fi gure 5-10: Status word structure

RT AD(4:0)

Remot e Terminal address

ME Message Error

SREQ Service Request bit

BRX Broadcast Command received

BUSY

Busy bit

SSF

Subsyst em Flag bit

DBC

Dynamic Bus Cont rol accept ance

TF

Terminal Flag Bit = TTOFLG + MEMERR + BUSYAP

NULL Unused

During Transmit BIT word TF bit is forced t o "0". When TF bit is high, t he bit s B10 t o B1 are irrelevant .

The bit BUSY is always set to "0" as none busy case can occur in the IP1553. It is possible for t he Applicat ion t o updat e SSF and SREQ bit s of t he St at us word t hanks t o t he Charact erizat ion word cont ained in memory. The Application is also updated the DBC bit of the Status word t hanks t o t he DbcEn bit of t he Configurat ion regist er
(C53CF), see § 5.3.3.2.3.5 and § 5.3.3.2.4.2.

At init ializat ion, t he regist er is reset at 0000 (H) except Remot e Terminal address.

5.3.3.2.2.2 Command word register

This register contains the last valid received command word addressing the RT. At initialization, the register is reset at 0000 (H)
The Command word regist er is as described hereaft er:

B15

B14

B13

B12

B11

B10

B9

B8

B7

B6

B5

B4

B3

B2

B1

B0

RTAD(4:0)

T/R

SA(4:0)

WC(4:0)

RT AD( 4:0)

Figure 5-11: Command word st ruct ure Remot e Terminal address

T/R SA(4:0)

Transmit /Receive Sub-address/Mode
CWC(4:0)

Dat a word count /Mode code

5.3.3.2.2.3 Built-In-Test (BIT) word register This regist er informs t he Bus cont roller about possible 1553B t ransfer errors. The BIT word regist er is as described hereaft er:

B15

B14

B13

B12

B11

B10

B9

B8

B7

B6

B5

B4

B3

B2

B1

B0

NULL MEMERR TTO0 TTO1 TFINH NULL NULL NULL NULL HIWRD LOWRD UNDCMD T/R_ILL LP BUSYAP TTOFLG

Fi gure 5-12: BIT word structure MEMERR

Hresp input = Error

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 121 of 230

T T O0

Transmission t ime-out act ivat ion on bus 0

T T O1

Transmission t ime-out act ivat ion on bus 1

T FI NH

Inhibit ion of Terminal Flag bit

HIWRDNumber of words received higher t han expect ed

LOWRD

Number of words received lower t han expect ed

UNDCMD

Undefined Command received

T /R_I LL

Bit T/R illegal in t he Mode command received

LP

Reserved

BUSYAP

Time-out access

T T OFLG

Transmission t ime-out act ivat ion on act ive bus

NULL Unused

At init ializat ion, t he regist er is reset at 0000 (H).

Not e:

- For t ransmission t ime-out descript ion refer t o § 5.3.3.2.7.2. - Undefined Command bit is always set to "0" as Undefined commands are treated as illegal commands (see
§ 5.3.3.2.4.1)

5.3.3.2.2.4 Internal registers management
The internal registers are updated for each valid command addressing the RT (except for some Mode commands) in the following way:

TYPE O F THE C O MMAND

C O MMAND Regi ster

Mode command: "Transmit Last Command"

Not modified

Mode command: "Transmit St at us word"

Updat ed

Mode command: "Transmit BIT word"

Updat ed

Ot her valid commands addressing t he RT

Updat ed

Invalid commands or commands addressing anot her RT

Not modified

STATUS Regi ster Not modified Not modified Updat ed Updat ed Not modified

BIT Re gi ste r Not modified Not modified Not modified
Updat ed Not modified

5.3.3.2.3 RT mode special functions
5.3.3.2.3.1 GoStop bit (C53CDST) The 1553 act ivit y can be cont rolled wit h t his bit : a low t o high t ransit ion or a high level allows t he 1553 t o st art/continue its Command processing, otherwise it stays/returns to "St and-by st at e" (aft er t he complet ion of t he current Command processing).
5.3.3.2.3.2 RstSt bit (C53CDST) This signal is set to "0" by the 1553 block when it is in "Initialization state", otherwise it is set t o " 1" during " Act ive st at e". So it follows t he act ivat ion of AGGA4_RESET_N input pin, 1553Rst bit or C53Rst int errupt .
5.3.3.2.3.3 BrCstEn bit (C53CF) It is possible t o cont rol t he aut horizat ion of Broadcast commands wit h BrCstEn bit . If BrCstEn = "1" then Broadcast commands is allowed, otherwise Broadcast commands is reject ed (is equivalent t o commands wit h a different RT address).
5.3.3.2.3.4 Memory access error
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 122 of 230

When the IP1553 encounters a Memory access error, it sets MEMERR flag to "1" in t he BIT word if Hresp input = Error during the access, or set BUSYAP bit to "1" in t he BIT word if a Time-out has occurred during t he access.
If t he error occurs before transmission of the St atus word, the IP1553 sends its St atus word with ME bit set to "1" t hen st ops the Command processing. Otherwise, it completes the emission of t he current word t hen st ops t he Command processing. In all cases, t he IP1553 generat es t he C53Err int errupt .

5.3.3.2.3.5 SSF and SREQ bits
During t he Command processing, the IP1553 reads a Characterization word that contains informat ion about SSF and SREQ bit s. If these bits are set to "1" in the Characterization word, the IP1553 set s t hem t o "1" in t he St at us word, ot herwise t he IP1553 set s t hem t o "0".

5.3.3.2.3.6 RTAD(4:0) and RTParity The RTAD(4:0) define t he Remot e Terminal address according t o t he following t able:

Addre s s 0 1 ... 31

RTAD(4) 0 0
1

RTAD(3) 0 0
1

RTAD(2) 0 0
1

RTAD(1) 0 0
1

RTAD(0) 0 1
1

Not e: Address 31 is reserved for broadcast messages (refer t o AD1)
The RTParity allows t he detection of a possible address parity error. This input is wired in order to obtain an odd parit y on t he Remot e Terminal address as st at ed hereaft er:
RTPari ty = 1  RTAD(4)  RTAD(3)  RTAD(2)  RTAD(1)  RTAD(0) The RTParity input value is checked for each valid command received. If the value reflects a parity error, t he IP1553 does nottreat the command and sets ErrParAd bit to "1" in C53CDST and generate C53Err interrupt through activat ion of ErrRTAd bit in C53EIT.

5.3.3.2.4 Commands management

5.3.3.2.4.1 Commands legalization/illegalization
The IP1553 is able to legalize/illegalize any incoming command (including Mode commands, except " Transmit Last Command", "Transmit Status" and "Transmit BIT"), using Characterization words included into the Charact erizat ion area of the memory. One Characterization word is linked to each command (the format is as defined § 5.3.3.2.8.4). The IP1553 accesses to the Characterization memory at the beginning of each command processing to check the legality of t he command (except for "Transmit Last Command", "Transmit St atus" and "Transmit BIT" Mode commands which are always legal). To declare legal an incoming command t he following condit ion is fulfilled:
- LEG bit of the Characterization word is set to "1"
For any illegal command t he IP1553 sends back it s St at us word wit h ME bit set t o "1". All unused commands are illegalized in t he Charact erizat ion memory.

5.3.3.2.4.2 Mode commands management
The IP1553 behaviour is as described hereaft er for t he following Mode commands:
· Dynamic bus control: The IP1553 is able t o accept or not t he cont rol of t he 1553B bus. Applicat ion aut horizes it s accept ance by set t ing t o "1" a dedicat ed bit DbcEn (C53CF). Upon receipt of this command, if legalized and if DbcEn bit is high level, the IP1553 sends it s St at us word wit h DBC bit set t o "1" and generat e t he C53It int errupt t hrough t he act ivat ion of t he It Dbc bit (C53NIT).

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 123 of 230

Ot herwise it sends only its Status word with DBC bit set to "0" and also ME bit set to "1" if the command is illegalized. The RT to BC mode switching will be effective only after modification of Mode bits (C53CF) and AGGA4_RESET_N, PWR_ON_RESET_N or Rst 1553 act ivat ion.
· Synchronize without data word:
Upon receipt of this command, if legalized, the IP1553 generates the interrupt C53It through the activation of the ItSync bit (C53NIT) and send it s St at us word. Ot herwise it sends only it s St at us word wit h ME bit set t o "1".
· Synchronize with data word: Upon receipt of this command, if legalized, the IP1553 stores the "Synchronization word" into the Buffer associated t o Receive Mode commands, generate the interrupt C53It through the activation of the ItSync bit (C53NIT) and send it s St at us word. Ot herwise it sends only it s St at us word wit h ME bit set t o "1".
· Transmit status word:
Upon receipt of t his command, if legalized, t he IP1553 sends t he cont ent of t he "St at us word" regist er.
· Initiate self test: Upon receipt of this command, if legalized, the IP1553 sends its Status word. Otherwise it sends only it s St at us word wit h ME bit set t o "1".
· Transmit BIT word: Upon receipt of this command, if legalized, the IP1553 sends its Status word followed by the content of the "BIT word" regist er. Ot herwise it sends only it s St at us word wit h ME bit set t o "1".
· Transmitter shutdown: Upon receipt of this command, if legalized, the IP1553 inhibits the opposite bus t ransceiver by forcing to high level t he corresponding pins (MIL_TX0, MIL_TX0B, MIL_TX0INH or MIL_TX1, MIL_TX1B, MIL_TX1INH). Otherwise it sends only it s St at us word wit h ME bit set t o "1".
· Override transmitter shutdown: Upon receipt of this command, if legalized, the IP1553 cancels the inhibition of the opposite bus transceiver. Otherwise it sends only it s St at us word wit h ME bit set t o "1".
· Inhibit terminal flag: Upon receipt of this command, if legalized, the IP1553 forces to "0" the TF bit of the St at us word and send it s St at us word. Ot herwise it sends only it s St at us word wit h ME bit set t o "1".
· Override inhibit terminal flag: Upon receipt of this command, if legalized, the IP1553 cancels the inhibition of the TF bit of t he St at us word send it s St at us word. Ot herwise it sends only it s St at us word wit h ME bit set t o "1".
· Reset remote terminal:
Upon receipt of this command, if legalized, t he IP1553 sends it s St at us word and generat e t he C53Rst int errupt (C53RIT) and drives a 0 pulse on the open-drain output MIL_RESET_OUT_N. Otherwise it sends only it s St at us word wit h ME bit set t o "1". The Reset state corresponds to a reset of the IP1553 except its Bus Processor Int erface (APB) in order t o allow t he Application to write in its Configuration register and its Command register. In this state, it resets the bits that are in read mode in t he C53CDST, C53RTI and C53TTI regist ers.

· Transmit vector word: Upon receipt of this command, if legalized, the IP1553 sends its Status word, read t he Vect or word from t he Buffer associated to Transmit Mode commands send it . Ot herwise it sends only it s St at us word wit h ME bit set t o " 1". · Transmit last command word: Upon receipt of this command, the IP1553 sends its Status word followed by the content of "Command word" regist er. · Selected transmitter shutdown:
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 124 of 230

Upon receipt of this command, if legalized, the IP1553 stores the "data word" int o t he Buffer associat ed t o Receive Mode commands and send it s St at us word. Ot herwise it sends only it s St at us word wit h ME bit set t o "1".
· Override selected transmitter shutdown: Upon receipt of this command, if legalized, the IP1553 stores the "data word" int o t he Buffer associat ed t o Receive Mode commands and send it s St at us word. Ot herwise it sends only it s St at us word wit h ME bit set t o "1".
· Reserved Mode commands: These Mode commands should be illegalized into the Characterization words. Then upon receipt of t hese commands, t he IP1553 would only send it s St at us word wit h ME bit set t o "1". The mode codes available are t aken from t he following t able:

Transmit - Mode Funct ion receive bit code

Associat ed Broadcast dat a word command
allowed

Command im plem ent ed

1

00000 Dynamic Bus Cont rol

No

No

Yes

1

00001 Synchronize

No

Yes

Yes

1

00010 Transmit St at us Word

1

00011 Init iat e self-t est

No

No

No

Yes

Yes No(1)

1

00100 Transmit t er shut down

No

Yes

Yes

1

00101 Override t ransmit t er shut down

No

Yes

Yes

1

00110 Inhibit t erminal flag bit

No

Yes

Yes

1

00111 Override inhibit t erminal flag bit

No

Yes

Yes

1

01000 Reset remot e t erminal

No

Yes

Yes

1

01001 Reserved

No

No

No

1

01111 Reserved

No

No

No

1

10000 Transmit vect or word

Yes

No

Yes

0

10001 Synchronize

Yes

Yes

Yes

1

10010 Transmit last command

Yes

No

Yes

1

10011 Transmit bit word

Yes

No

Yes

0

10100 Select ed t ransmit t er shut down

Yes

Yes

Yes

0

10101 Override selected t ransmit t er shut down Yes

Yes

Yes

1 or 0 10110 Reserved

Yes

No

No

1 or 0 11111 Reserved

Yes

No

No

(1) The response for this command depends only on the legalization bit in the Characterization word. There is no special t reat ment associat ed wit h t his command.

5.3.3.2.5 No response time-out management
The IP1553 is able to handle programmable no response time-out. The time-out value is taken into account t o det ect a no-response from a Remote Terminal in a RT to RT transfer. The TimeOut bit (C53CF) determines the chosen value for no response time-out. The smallest value is 14 µs (TimeOut = "0"), and the highest value is 31 µs (TimeOut = " 1").

5.3.3.2.6 Redundancy management The IP1553 is fully compliant t o § 4.6 of document AD1.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 125 of 230

The IP1553 is able to detect any incoming command on either the nominal or the redundant bus and respond on the bus it has been act ivat ed by. The content of the internal registers (St atus word register, Last Command register and BIT register) always corresponds t o a t ransfer performed on t he act ive bus. If a t ransfer is interrupted on a 1553B bus by a valid command incoming on the other bus and addressing t he RT, t he IP1553 st ops t he processing of t he previous command and st art t he processing of t he new command.
5.3.3.2.7 Test support & Error report
5.3.3.2.7.1 Built-In-Test (BIT) word This 16 bit word provides error informat ion for each 1553B t ransfer. The BIT word corresponds t o t he bit descript ion given in § 5.3.3.2.2.3.
5.3.3.2.7.2 Transmission time-out The IP1553 contains a time-out to preclude a signal transmission of greater than 800 µs. If this time-out t riggers, t hen TTO0 or TTO1 and TTOFLG is set t o "1" in t he BIT word (see § 5.3.3.2.2.3). This funct ion does not preclude a correct t ransmission in response t o a command. Reset of this time-out function is performed by the reception of a valid command addressing t he RT on t he bus on which t he t ime-out has occurred.
5.3.3.2.7.3 "Loop Test" and "Self test" The 1553 funct ion in AGGA4 neit her implement s a "Self Test " nor a "Loop Test ".
5.3.3.2.8 Memory management The dat a management funct ion ensures t he following point s:
- The t ransfer of received dat a from t he 1553B bus t o t he memory,
- The availabilit y of t hese dat a for t he Applicat ion,
- The t ransfer of dat a t o t ransmit on t he 1553B bus from t he memory. The IP1553 realizes the memory management and communicate with the memory controller. It uses a shared area in memory. This area is defined by the Application thanks to MemArea bits (C53CF). MemArea defines an area for t he IP1553 of 128Kwords. This area can be placed in memory at each multiple of 128K word address in the whole memory, i.e. when MemArea is increased by 1 t he IP1553 area will be moved of 128 K word address. There are t hree different areas in t his shared memory:
- A command area which size is 4 Kwords including the received command words, cont rol words associat ed t o t hese commands, associated data to Mode commands, characterization words and two double indirect ion t ables of 32 addresses;
- A dat a received area which size is 32 Kwords including dat a words received on 1553B bus;
- A dat a t o t ransmit area which size is 32 Kwords including dat a words t o t ransmit on 1553B bus.

The 1553B and Identification words are stored in memory. The bits WdSize and DW16En (C53CF) det ermine if t he IP1553 st ores t he words in 32 bit words or 16 bit words. Wdsize= 1 is only possible if DW16En is set t o 1.

16 MSB 1st 1553B word

16 LSB unused

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

16 MSB 1st Ident ificat ion word

16 LSB

2nd 1553B word

2nd ident ificat ion word

1553B and Ident ificat ion words mapping wit h 16 bit Word mode

16 MSB 1st 1553B word

16 LSB 1st Ident ificat ion word

2nd 1553B word

2nd Ident ificat ion word

1553B and Ident ificat ion words mapping wit h 32 bit Word mode

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 126 of 230

5.3.3.2.8.1 Command area There are t he following part s in t he command area (Figure 5-16):
· A circular buffer, which contains the received command words on the 1553B bus. When a command is received and legalized, the IP1553 writes in this buffer at the end of the exchange the command word received, a cont rol word giving information about the exchange and a 32 bit word containing a 21 bit dat ing field and t he block number where t he dat a of t he command have been st ored.

This buffer is in write access mode by the IP1553 and in read access mode by the Application, the LastCmdAd bit s in t he C53CDST gives t he address in t he command area of t he last command t reat ed.

At t he end of t he buffer, t he access point er t akes t he beginning address of t he area.

· Two 32 word t ables including t he dat a associat ed t o each Mode Command.

The first table contains the data associated to receive Mode command. It is in write access mode by the IP1553 and in read access mode by t he Applicat ion. The Mode Code of t he command gives t he address in t he t able.

The second table contains the data associated to transmit Mode command. It is in read access mode by t he IP1553 and in write access mode by the Application. The Mode Code of t he command gives t he address in t he t able.

· A 32 word t able including characterisation words. Each word contains informat ion about t he legalizat ion of t he command (LEG bit), the enable of the ItTrok bit in the C53NIT (TROK bit) and the St atus response thanks t o SSFB and SREQ bit s. The Applicat ion init ializes t his t able in order t o allow t he IP1553 t o use it .

When the IP1553 receives a command, it accesses to this table to read the characterization word associat ed t o t he command word received. The Sub Address or t he Mode Code gives t he address in t he t able.

· A double 32 word table giving the beginning block number for receive dat a, t he maximum size of t he buffer in blocks and the next block to be used by the IP1553 in t he dat a area for each 32 Sub Address. The Applicat ion init ializes t his t able in order t o allow t he IP1553 t o use it .

The table word is as described Figure 5-13 (detailed description § 5.3.3.2.8.4):

B31 B30.............................B21 B20.............................B11 B10...............................................B0

ADUPD

Current block

Maximum buffer size

Beginning buffer reception block

Figure 5-13: Indirect ion t able word for recept ion

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 127 of 230

When a Receive Command is received, the IP1553 reads the Indirection table word at the address given by t he Sub Address. Then the IP1553 writes the received data in the data area starting at the Beginning buffer recept ion block (BRBlk) + Current block value (CurBlk). The value of the CurBlk field is zero at the beginning. The size of a block is 16 (32 bit words) when 32 bit Word mode is activated, otherwise the size is 32 (32 bit words, but only MSB are used). Once this task is finished, t he IP1553 compares t he Maximum buffer size (MaxBS) wit h (CurBlk+1):
- If t he buffer is not full (CurBlk + 1 < MaxBS), the IP1553 updat es t he CurBlk if t he bit Address Updat e (ADUPD) is set to "1" by writing CurBlk+1. If the ADUPD bit is not set , t he CurBlk does not be updated and the next data received at this same Sub Address is written at the CurBlk + BRBlk. Meanwhile, t he BRBlk may have been modified by t he Applicat ion.
- If t he buffer is full (CurBlk + 1 = MaxBS), the IP1553 changes its internal table indicator for this Sub Address in order to point on the complementary table at the time of the next Receive command at this Sub Address. The IP1553 updates the CurBlk field with zero and generate the C53It interrupt through t he ItSwitch bit (C53NIT) act ivat ion.
The IP1553 maintains a table, which contains the table indicator for each Sub Address. This indicator is report ed in t he Cont rol Word associat ed t o t he received command.
At init ializat ion, t he IP1553 uses t he t able 0, which st art s at "MemArea+10F80H" and ends at " MemArea+10F9FH". When the buffer available will be full and if the ADUPD bit is set to "1", the IP1553 uses the t able 1 which starts at "MemArea+10FA0H" and ends at "MemArea+10FBFH" for the Sub Address considered. It warns t he Application thanks to C53It. When the buffer defined by the table 1 will have be full and if t he ADUPD bit is set t o "1", t he IP1553 uses t he t able 0 again, and so on...

· A double 32 word table giving the beginning block number for transmit data, the maximum size of t he buffer in blocks and the next block to be used by the IP1553 in t he dat a area for each 32 Sub Address. The Applicat ion init ializes t his t able in order t o allow t he IP1553 t o use it

The table word is as described in Figure 5-14 (detailed description § 5.3.3.2.8.4)

B31 B30.............................B21 B20.............................B11 B10...............................................B0

ADUPD

Current block

Maximum buffer size Beginning buffer transmission block

Figure 5-14: Indirect ion t able word for t ransmission

When a Transmit Command is received, the IP1553 reads the Indirection table word at the address given by the Sub Address. Then the IP1553 reads the data to transmit in the data area starting at the Beginning buffer t ransmission block (BTBlk) + Current block value (CurBlk). The value of the CurBlk field is zero at the beginning. The size of a block is 16 (32 bit words) when 32 bit Word mode is activated, otherwise the size is 32 (32 bit words, but only MSB are used). Once this task is finished, the IP1553 compares the Maximum buffer size (MaxBS) wit h (CurBlk+1):

- If t he buffer is not entirely read (CurBlk + 1 < MaxBS), the IP1553 updat es t he CurBlk if t he bit Address Updat e (ADUPD) is set to "1" by writ ing CurBlk+1. If t he ADUPD bit is not set , t he CurBlk is not updated and the next data to transmit from this same Sub Address is read at the CurBlk + BTBlk. Meanwhile, t he BTBlk may have been modified by t he Applicat ion.

- If t he buffer is entirely read (CurBlk +1 = MaxBS), the IP1553 changes its internal table indicator for t his Sub Address in order to point on the complementary t able at t he t ime of t he next Transmit

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 128 of 230

command at this Sub Address. The IP1553 updates the CurBlk field with zero and generate the C53It int errupt t hrough t he ItSwitch bit (C53NIT) act ivat ion.
The IP1553 maintains a table, which contains the table indicator for each Sub Address. This indicator is report ed in t he Cont rol Word associat ed t o t he received command.
At init ializat ion, t he IP1553 uses t he t able 0, which st art s at "MemArea+10FC0H" and ends at "MemArea+10FDFH". When the buffer available has been entirely read and if t he ADUPD bit is set t o "1", t he IP1553 uses the table 1 which starts at "MemArea+10FE0H" and ends at "MemArea+10FFFH" for the Sub Address considered. It warns the Application thanks to C53It. When the buffer defined by the table 1 has been ent irely read and if t he ADUPD bit is set t o "1", t he IP1553 uses t he t able 0 again, and so on...

MemArea + 00000 BegAd SA1
EndAd SA1 BegAd SA2 EndAd SA2

Receive buffer area SA1 Receive buffer area SA2

Receive buffer area SA1 Receive buffer area SA2

BegAd SA30 EndAd SA30

Receive buffer area SA30

Receive buffer area SA30

Receive Command Data area

07FFF 08000 BegAd SA1 EndAd SA1 BegAd SA2
EndAd SA2

Transmit buffer area SA1 Transmit buffer area SA2

Transmit buffer area SA1 Transmit buffer area SA2

BegAd SA30 EndAd SA30

Transmit buffer area SA30

Transmit buffer area SA30

Transmit Command Data area

0FFFF

16 MSB bits

16 LSB bits

Figure 5-15: Dat a area mapping in RT mode

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 129 of 230

Not e: The addresses in Figure 5-15 are address words.

MemArea + 10000 10001

First Command word

First Control word

First Information word

Last Command word

Last Control word

Last Information word

Command area

10F00

Receive Mode Command 0

10F1F 10F20
10F3F 10F40

Receive Mode Command 31 Characterisation: Mode Code 0
Characterisation: Mode Code or SA
Characterisation: Mode Code 31 Transmit Mode Command 0

10F5F Transmit Mode Command 31

Unused

10F80 10F81
10F9E 10F9F 10FA0 10FA1
10FBE 10FBF 10FC0 10FC1
10FDE 10FDF 10FE0 10FE1
10FFE 10FFF
1FFFF

Unused

Address Receive Table 0 SA1

Address Receive Table 0 SA30

Unused

Unused

Address Receive Table 1 SA1

Address Receive Table 1 SA30

Unused

Unused

Address Transmit Table 0 SA1

Address Transmit Table 0 SA30

Unused

Unused

Address Transmit Table 1 SA1

Address Transmit Table 1 SA30

Unused

Unused

Data associated to receive Mode Command area
Characterization area
Data associated to transmit Mode Command area
Address table for Receive Command
area 0
Address table for Receive Command
area 1
Address table for Transmit Command
area 0
Address table for Transmit Command
area 1

16 MSB bits

16 LSB bits

Figure 5-16: Command area mapping in RT mode Not e: The addresses in Figure 5-16 are address words.

5.3.3.2.8.2 Data reception area
The data reception area contains the data received on the 1553B bus. This area starts at "MemArea+00000H" and ends at "MemArea+08000H", that is to say 32 Kwords. It is virtually divided in 30 sub areas corresponding t o t he 30 Sub Address. Each sub area is identified by its BRBlk and MaxBS, writt en in t he Indirect ion t able word at t he address related to the Sub Address of the received command. Each sub area cont ains whet her one or several 16 word wide buffers if the 32 bit Word mode is activated, else one or several 32 word wide buffers to memorize t he received dat a. The Figure 5-17 & Figure 5-18 show how t he dat a are mapped:

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 130 of 230

BRBlk+CurBlk & 0 BRBlk+CurBlk & 1

16 Most Significant Bits 1st 1553 Data received 3rd 1553 Data received

16 Least Significant Bits 2nd 1553 Data received 4th 1553 Data received

BRBlk+CurBlk & E BRBlk+CurBlk & F

29th 1553 Data received 31th 1553 Data received

30th 1553 Data received 32nd 1553 Data received

Figure 5-17: Dat a recept ion buffer mapping when 32 bit Word mode

BRBlk+CurBlk & 00 BRBlk+CurBlk & 01
BRBlk+CurBlk & 1E BRBlk+CurBlk & 1F

16 Most Significant Bits 1st 1553 Data received 2nd 1553 Data received
31th 1553 Data received 32nd 1553 Data received

16 Least Significant Bits Unused

Figure 5-18: Dat a recept ion buffer mapping when 16 bit Word mode

5.3.3.2.8.3 Data transmission area

The data transmission area contains the data to transmit on the 1553B bus. This area starts at "MemArea+08000H" and ends at "MemArea+0FFFFH", that is to say 32 Kwords. It is virtually divided in 30 sub areas corresponding t o t he 30 Sub Address. Each sub area is identified by its BTBlk and CurBlk, written in the Indirection table word at t he address related to the Sub Address of the received command. Each sub area cont ains whet her one or several 16 word wide buffers if the 32 bit Word mode is activated, else one or several 32 word wide buffers to memorize the data to transmit . The Figure 5-19 and Figure 5-20 show how t he dat a are mapped:

BTBlk+CurBlk & 0 BTBlk+CurBlk & 1

16 Most Significant Bits 1st 1553 Data to transmit 3rd 1553 Data to transmit

16 Least Significant Bits 2nd 1553 Data to transmit 4th 1553 Data to transmit

BTBlk+CurBlk & E 29th 1553 Data to transmit BTBlk+CurBlk & F 31th 1553 Data to transmit

30th 1553 Data to transmit 32nd 1553 Data to transmit

Figure 5-19: Dat a t ransmission buffer mapping when 32 bit Word mode

BTBlk+CurBlk & 00 BTBlk+CurBlk & 01

16 Most Significant Bits 1st 1553 Data to transmit 2nd 1553 Data to transmit

BTBlk+CurBlk & 1E 31th 1553 Data to transmit BTBlk+CurBlk & 1F 32nd 1553 Data to transmit

16 Least Significant Bits Unused

Figure 5-20: Dat a t ransmission buffer mapping when 16 bit Word mode

5.3.3.2.8.4 Memory words structure There are 6 different words used by the IP1553 in the memory. The data words, the command words, the Control Word, t he Charact erizat ion Word, t he Indirect ion Word and t he Informat ion Word are described hereaft er:
· Control Word:

B15

B14

B13

B12

B11

B10

B9

B8

B7

B6

B5

B4

B3

B2

DV

T

RT-RT BUSID NULL MEMERR TTO0 TTO1 TFINH HIWRD LOWRD UNDCMD T/R_ILL LP

DV T RT - RT BUSID MEMERR T T O0 T T O1

Fi gure 5-21: C ontrol Word structure Dat a Valid Indirect ion t able number used for t he command t reat ment RT-RT command received (when IP1553 is t he receiving RT) Command received on t he nominal ("0") or redundant ("1") bus HResp input = Error for memory access Transmission t ime-out act ivat ion on bus 0 Transmission t ime-out act ivat ion on bus 1

B1

B0

BUSYAP TTOFLG

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 131 of 230

T FI NH

Inhibit ion of Terminal Flag bit

HIWRDNumber of words received higher t han expect ed

LOWRD

Number of words received lower t han expect ed

UNDCMD Undefined Command received

T /R_I LL

Bit T/R illegal in t he Mode command received

LP

Reserved

BUSYAP

Applicat ion Int erface is busy (Time-out error for memory access)

TTOFLGTransmission t ime-out act ivat ion on act ive bus

NULL

Unused ("0")

During a nominal exchange bits B11 to B0 is set t o "0". For "Transmit Last Command", "Transmit St at us" and "Transmit BIT", t he cont rol word writ t en represent s t he st at e of t he previous command.

· Characterization word:

Nominal Command Area

Mode Command Area

B31

B30

TROK LEG

B29

B28

B27

B26

SSF SREQ TROK LEG

B25

B24

B23

B22

SSF SREQ TROK LEG

B21

B20

B19

B18

SSF SREQ TROK LEG

B17

B16

SSF SREQ

Transmit

Receive

Transmit

Figure 5-22: Charact erizat ion word st ruct ure

Receive

T ROK

Enable of t he It Trok bit (C53NIT)

LEG

Legalizat ion bit : "0" Illegal / "1" Legal

SSF

Sub Syst em Flag bit

SREQ

Service Request bit

For t he Sub Address 31 and 32 ("00000b"), the bits B31 to B24 are irrelevant, as the command is a Mode command.

· Information words:

These words are written by the IP1553 after the command and control word in the command area for each valid and legal command t reat ed.

When 32 bi t Word mode, t he fields in t he indirect ion t able are defined hereaft er:

B31 B30.............................B21 B20.............................B11 B10...............................................B0

ADUPD

Current block

Maximum buffer size Beginning buffer transmission block

B31 B30.............................B21 B20.............................B11 B10...............................................B0

ADUPD

Current block

Maximum buffer size

Beginning buffer reception block

Figure 5-23: Indirect ion t able word for recept ion when 32 bit Word mode

Beginning buffer transmission or reception block field is 11 bits wide. We can access every block of 16 words of 32 bits (a full 1553 dat a buffer) in t he dat a recept ion or t ransmit area, which size is 32 Kwords.
Maximum buffer size field is 10 bit s wide. We cannot allocat e more t han 16 Kwords t o a single Sub Address.
(Maximum buffer size value + Beginning buffer block value) must be lower than 7FFH, which is the address of the last block in t he t ransmission or recept ion area.

B31.............................B21 B20...............................................B0

Data block number

Dating

Figure 5-24: Informat ion word st ruct ure when 32 bit Word mode
The Data block number field is 11 bits wide. Its value corresponds to the sum of Beginning buffer block and Current block. In case of Mode Command, Extended Memory mode or 1553 exchange error (Data Valid bit = "0") this field has no significance and corresponds to the value of the last valid and legal command, which is not a Mode command. The Dat a block number for t he first block of t he memory is zero.
The Dat ing field is always zero.

When 16 bi t Word mode, t he fields in t he indirect ion t able are defined hereaft er:
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 132 of 230

B31 B30.............................B21 B20.............................B11 B10...............................................B0

ADUPD

Current block

Maximum buffer size Beginning buffer transmission block

B31 B30.............................B21 B20.............................B11 B10...............................................B0

ADUPD

Current block

Maximum buffer size

Beginning buffer reception block

Figure 5-25: Indirect ion t able word for recept ion when 16 bit Word mode
Beginning buffer transmission or reception block field is 11 bits wide. But only the 10 LSB is used by the IP1553. We can access every block of 32 words of 16 most significant bits of the 32 bit words (a full 1553 data buffer) in t he dat a recept ion or t ransmit area, which size is 32 Kwords.
Maximum buffer size field is 10 bit s wide. We can allocat e up t o 32 Kwords t o a single Sub Address.
(Maximum buffer size value + Beginning buffer block value) must be lower than 3FFH, which is the address of the last block in t he t ransmission or recept ion area.

B31 B30.........................B21 B20.........................................B0

0 Data block number

Dating

Figure 5-26: Informat ion word st ruct ure when 16 bit Word mode
The Data block number field is 10 bits wide. Its value corresponds to the sum of Beginning buffer block and Current block. In case of Mode Command, Extended Memory mode or 1553 exchange error (Data Valid bit = "0") this field has no significance and corresponds to the value of the last valid and legal command, which is not a Mode command. The Dat a block number for t he first block of t he memory is zero.
The Dat ing field is always zero.

5.3.3.2.8.5 Extended Area access to the memory
The IP1553 provides 5 bits (ExtSubAd bits in C53CF) which are written by the Application to define a Sub Address t o be used wit h t he Extended Area mode. This mode is activated thanks to the ExtArea bit (C53CF). If this bit is set to "0", t he Ext Subad is t reat ed as t he ot hers.
The Extended Area mode allows the IP1553 to access the whole memory in write or read mode. The beginning address of t hese accesses is provided by the Extended Memory Base Address register (C53EMBA). The IP1553 is t hen able t o access memory areas outside of the 128 Kwords normally provided thanks to MemArea bits (C53CF). In t his peculiar case, there is not an end area address: the C53EMBA is incremented for each double 1553 word read or writ e in t he memory, when the Sub Address defined is used and the Extended Area mode allowed. The words count associat ed t o each 1553 command for t his Sub Address is even.
The C53EMBA is programmable by t he 1553B bus t hanks t o a Receive command wit h only t wo words sent t o (Ext SubAd + 1). The 10 LSB of the first 1553 data is stored in the bits 25 to 16 of the C53EMBA(25 downt o 0). The second dat a word is st ored in t he 16 LSB bit s of t his regist er.

5.3.3.3 IP1553 System interface

5.3.3.3.1 Transceivers interface
The IP1553 is able t o support a redundant 1553B bus. Each connect ion t o a 1553B bus is done t hrough a Transceiver and a Transformer as shown in Figure 5-27. Each Transceiver ­ IP1553 interface is composed of at least 5 signals: RX & RXB input signals for Receiver sect ion, TX & TXB & TXINH output signals for Transmitter section. The waveform of t hese signals is in accordance wit h Figure 5-28 & Figure 5-29.

­ All Rights Reserved ­ Copyright per DIN 34 ­

Bus 0 Transformer 0
Bus 1 Transformer 1

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 133 of 230

Transceiver 0
Receive section
Filter

RX0 RX0B

Decoder 0

Transmit section
Inhibit

TX0 TX0B TX0INH

Transceiver 1
Receive section
Filter

RX1 RX1B

Encoder 0
IP1553
Decoder 1

Transmit section
Inhibit

TX1 TX1B TX1INH

Encoder 1

1553B Bus output
Encoder output:
TX
TXB
TXINH

Figure 5-27: Transceiver int erface Figure 5-28: Transmit t er signals waveform

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 134 of 230

1553B Bus input

Decoder input:
RX

RXB

Figure 5-29: Receiver signals waveform

As shown on Figure 5-29, the expected idle level for RX and RXB signals is logic "1". This means that t he IP core is compat ible wit h t he Smit hs t ype t ransceiver.
5.3.3.3.2 IP1553 Interrupts support The IP1553 is able to inform the Application about special events, which are likely to happen. When these events occur, an out put interrupt is generated. There are 3 different interrupts: a nominal, a reset and an error int errupt , which t he causes are somet imes mult iple. They are described hereaft er: · C 53It: Nominal interrupt. It is generated thanks to the following bits activation: ItTrok, ItSync, ItDbc and ItSwitch.
To generate the interrupt, the IP1553 combines these sources wit h a logical OR. These bit s are in t he Nominal Int errupt regist er (C53NIT).
- ItTrok: Maskable bit (ItTrokMask in C53CF). In RT mode, this bit is set t o "1" at t he end of each valid exchange. It is reset t o "0" upon C53NIT read access.
- ItSync: Maskable bit (ItSyncMask in C53CF). In RT mode, this bit is set to "1" after " Synchronize" Mode command reception if this command is legalized. In BC mode, this bit is set t o " 1" aft er t he execut ion of an Instruction block with SYNC bit set in the first Instruction word. In BM mode, t his bit is set to "1" when the IP1553 toggles from one buffer to the other. It is reset to "0" upon C53NIT read access.
- ItDbc: Non maskable bit. In RT mode, this bit is set t o "1" aft er "Dynamic bus cont rol" Mode command reception if t his command is legalized. It is reset t o "0" upon C53NIT read access.
- ItSwitch: Non maskable bit. In RT mode, this bit is set to "1" after change of data address table for a sub-address. It is reset t o "0" upon C53NIT read access.
· C 53Rst: Reset interrupt. In RT mode, it is generated after "Reset remote terminal" Mode command reception if this command is legalized. The bit RstCom is reset t o "0" upon C53RIT read access.
· C 53Err: Error interrupt. It is generated thanks to the following bits activation: ErrMem, Err1553, ErrInst and CwError. To generate the interrupt, the IP1553 combines these sources with a logical OR. These bits are in the Error Int errupt register (C53EIT).
- ErrMem: Non maskable bit. In all modes, this bit is set to "1" in case of Memory access error: t imeout access or Hresp input = Error. It is reset t o "0" upon C53EIT read access.
- Err1553: Maskable bit (Err1553Mask in C53CF). In RT mode, this bit is set to "1" in case of 1553 error. In BC mode, this bit is set to "1" if EXCERR flag is set in the Control word wit hout additional ret ry allowed. It is reset t o "0" upon C53EIT read access.
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 135 of 230

- CwError: Non maskable bit. In BC mode, this bit is set to "1" when t he bit CWERR is set in t he cont rol word writ t en in memory.
- ErrInst: Non maskable bit. In BC mode, this bit is set to "1" in case of Illegal Instruction detection by t he BC. It is reset t o "0" upon C53EIT read access.
- ErrRTAd: Non maskable bit. In all modes, this bit is set to "1" in case of RTAD parit y error. It is reset t o "0" upon C53EIT read access.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 136 of 230

5.4 DSU Communication Link
DSU communicat es eit her wit h SpaceWire or wit h an UART. Select ion is made by t he DSU_SPW_EN pin. · DSU_SPW_EN = low  DSU via UART · DSU_SPW_EN = high  DSU via SpaceWire
5.4.1 DSU UART Operation
The DSU communication link consists of a UART connected t o t he AHB bus as a mast er (Figure 5-30). A simple communication protocol is supported to transmit access parameters and data. A link command consist s of a cont rol byt e, followed by a 32-bit address, followed by optional write data. If the LR bit in the DSU cont rol regist er is set , a response byte will be sent after each AHB transfer. If the LR bit is not set, a write access does not return any response, while a read access only returns the read dat a. Dat a is sent on 8-bit basis as shown in Figure 5-32. Through t he communicat ion link, a read or writ e t ransfer can be generat ed t o any address on t he AHB bus.

Fi gure 5-30 DSU communi cati on l i nk bl ock di agram Fi gure 5-31 DSU UART Fram e

Fi gure 5-32 DSU C ommuni cati on l i nk commands Note: For DSU Writ e operat ion t he maximum word lengt h is 64!
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 137 of 230

Note: Response Byt e is enabled t hrough DSU_Ctrl regist er
A response byte can optionally be sent when the processor goes from execution mode to debug mode. Block t ransfers can be performed be setting the length field t o n-1, where n denot es t he number of t ransferred words. For writ e accesses, the control byte and address is sent once, followed by the number of data words to be written. The address is aut omatically incremented after each data word. For read accesses, the control byt e and address is sent once and t he corresponding number of dat a words is ret urned. Det ails about t he DSU_UART_Status regist er can be found in sect ion 7.2.7.1.

5.4.2 DSU UART Baud rate generation (not available in DSU SpaceWire operation)
The UART contains a 14-bit down-counting scaler to generat e t he desired baud-rat e. The scaler is clocked by t he SysClk and generates a UART tick each time it underflows. It can be programmed via the register DSU_UART_Scaler. The scaler is reloaded with the value of the UART scaler reload register after each underflow. The resulting UART tick frequency should be 8 times the desired baud-rate. If not programmed by software, the baud rate will be aut omat ically discovered. This is done by searching for t he short est period bet ween t wo falling edges of t he received dat a (corresponding to two bit periods). When three identical two-bit periods have been found, t he corresponding scaler reload value is latched into the reload register, and the BL bit is set in t he UART cont rol regist er. If t he BL bit in DSU_UART_SpW_Ctrl register is reset by soft ware, t he baud rat e discovery process is rest art ed. The baud-rat e discovery is also restarted when a `break' is received by the receiver, allowing to change the baud rate from the external t ransmitter. For proper baud rate detection, the value 0x55 should be transmitted t o t he receiver aft er reset or aft er sending break. Please note that it is not recommended to change the scaler setting while the DSU UART link is connect ed. This will likely cause restart of the link, baud rate discovery leading again to the old baud rate. The DSU UART baud rate should be changed in t he ext ernal UART device before connect ing it t o AGGA-4.
The best scaler value for manually programming t he baud rat e can be calculat ed as follows:
Scaler = SysClk / (baudrat e * 8) - 1

5.4.3 DSU SpaceWire Operation
DSU SpaceWire does not support RMAP commands, it uses the same protocol as the DSU UART (see Figure 5-32). A command always starts with a MSB = 1 to indicate command (read/write and length). Prepended charact ers wit h MSB = 0 are ignored. The transmit speed can be adjusted via the DSU_UART_SpW_Ctrl register and can be set t o eit her 10 MBit /s or t o SysClk.
Note: In DSU SpaceWire operation the link is hardcoded to autostart mode and therefore automatically st art s t he link aft er NULL t oken have been received.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 138 of 230

5.5 Serial Peripheral Interface (SPI)
The SPI module works as SPI master, but it is prepared to operate either as Clock Master or as Clock Slave (see chapter 6.4.5 for furt her det ails).
In order to initiate a transfer, the transmitter has to be enabled first by setting the TxEn bit in t he SPI_StatusAndCtrl regist er. Then the data to be transferred has to be written to the SPI_Tx register and is loaded by the hardware int o t he TxShifter. If the data has been transferred from the SPI_Tx register into the TXShifter, the XmtEmpty flag signals t hat t he SPI_Tx register is now empty and that new dat a can be loaded into the SPI_Tx register if needed (e.g. consecut ive dat a t ranfers).
Transfer in the above sense means that the data from the SPI_Tx register is transmitted on the MOSI pin, while at t he same time data is received on the MISO pin. The received data is collected in the RxShift er and t ransferred int o t he SPI_Rx regist er aft er DataLength bit s have been received.
If a t ransfer of one register content has been completed the user gets notified via the SPI interrupt which is visible and cont rollable in t he Communicat ion Int errupt Cont roller (CIC).
Wit h the bitfield DataLength in the SPI_StatusAndCtrl register the number of bit s t o be t ransferred/received can be programmed. Note that the minimum number of bits to transfer/receive is 8bits, while the maximum is 16bits. Note also t hat t he DataLength field always applies for t ransmit and receive at t he same t ime.

MOSI MISO

Tx Shifter (16bit)
TxEn
Rx Shifter (16bit)

SPI Block SPI_Tx (16bit) SPI_Rx (16bit)

Fi gure 5-33: SPI Bl ock
The XmtDone flag of SPI_StatusAndCtrl register can be used as a status flag in order to see when a transfer is ongoing and when it is completed. The XmtDone flag is "0" as long as t he t ransfer is ongoing and "1" if t he t ransfer is complet ed. Not e t hat t he XmtDone flag is cleared if t he TxEn bit is set t o "0".
Aft er a SPI transmission, the content of the RxShifter is transferred to the SPI_Rx regist er. The RxAvailable flag in SPI_StatusAndCtrl register indicates that the received data is available in the SPI_Rx register. It is set back t o zero by reading it. Note: If the SPI_Rx register is not read, then the new receive process will overwrite the content of the SPI_Rx regist er.
Dat a transfer order: If MsbFirst=0 then the LSB of the data (or SPI_Tx) is t ransmit t ed first (meaning Bit 0 of t he SPI_Tx). If MsbFirst=1 then the MSB of the the data (not the SPI_Tx) is transmitted first (depending on what is set in t he DataLength field).
By set ting the Ss_n_afterTx bit in the SPI_StatusAndCtrl register to "1" it is possible to do consecutive data transfers in a way t hat the corresponding slave is not de-assert ed bet ween t he t ransfers. However in t his case t he following procedure has t o be applied:
· Set t he TxEn bit in t he SPI_StatusAndCtrl regist er · Writ e Data t o t he SPI_Tx regist er · Wait until the bit XmtEmpty in the SPI_StatusAndCtrl register is "1" and then writ e new dat a in t he SPI_Tx
regist er. Note that it can take a few SysClk cycles until the XmtEmpty flag is being raised after t he first writ e t ransfer has been initiated. This is due to the fact t hat t he SPI and syst em clock domain can be different (SPIClk is t ypically slower t han t he SysClk). · Met hod A (interrupt driven): In case the SPI interrupt occurs, read the XmtEmpty flag. If it is "1" writ e new dat a t o t he SPI_Tx regist er.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 139 of 230

· Met hod B (polling): Always poll t he XmtEmpty flag. If it is " 1" writ e new dat a t o t he SPI_Tx regist er.
The last bullet (either Method-A or Met hod-B) shall be repeat ed unt il t here is no more dat a t o t ransfer for t he consecutive data transfer. The user has to decide in his applicat ion which met hod is t he most effect ive for him.
Timing diagrams for SPI operat ion can be found in [AD-04].

5.6 16-bit I/O Port
To access the I/O ports the PIO_IO register has to be read/written. Note that there is only one regist er for input and out put . The PIODirection regist er defines t he direct ion of t he corresponding I/O port . Wit h t he PIOIntConfig regist er it is also possible t o feed up t o four ext ernal int errupt s int o t he AGGA-4. See programming sect ion for more det ails.
Note: After changing the PIOIntConfig register, the corresponding interrupt should be cleared in the Primary Int errupt Cont roller. A change of t he configurat ion may generat e a single int errupt .
To save pins, I/O pins are shared wit h ot her funct ions: · PIO(0) and PIO(1) define the PROM widt h at boot time (see also MCFG1 register), note that PIO(0) has to be t ied t o 0 during reset · PIO(2) defines t he EDAC usage for PROM at boot t ime (see also MCFG3 regist er) · PIO(8) is used as UART-1 CTSN signal if flow cont rol is enabled in t he UART1_Ctrl · PIO(9) is used as UART-1 RTSN signal if flow cont rol is enabled in t he UART1_Ctrl · PIO(11) is used as UART-1 TX signal (in addition to the dedicated UART1_TX pin) if the bit TxEn is enabled in t he UART1_Ctrl regist er and provided t hat PIO(11) is configured as out put . · PIO(12) is used as UART-0 CTSN signal if flow cont rol is enabled in t he UART0_Ctrl · PIO(13) is used as UART-0 RTSN signal if flow cont rol is enabled in t he UART0_Ctrl · PIO(15) is used as UART-0 TX signal (in addition to the dedicated UART0_TX pin) if the bit TxEn is enabled in t he UART0_Ctrl regist er and provided t hat PIO(15) is configured as out put .
Reading t he PIO_IO register always gives the actual value on the corresponding PIO pins. Writing the PIO_IO regist er always set s t he value t o be used when t he corresponding PIO pin is in out put mode.
Note: If flow control is used for the UART, then the PIO direction of t he RTSN signal has t o set as out put and t he CTSN signals has t o be set as input in t he PIODirection regist er.

5.7 GPIO
In addit ion to the 16 bit I/O port provided by the LEON on-chip peripherals further 16 general purpose input /out put ports are implemented. All 16 GPIOs are implemented as bi-directional ports. This gives t he user t he possibilit y t o configure t he number of input s or out put s according t o his needs.
The GPIO_Status register can be used to get the current level on the particular GPIO pin, no matter if it is configured as input or output. A "1" represents a high level on the GPIO pin, while a "0" represents a low level on t he GPIO input pin.
The GPIO_Direction regist er can be used t o configure a part icular GPIO pin as input or out put . A "1" in t he corresponding bit posit ion of t he GPIO_Direction regist er configures t he pin as an out put , while a "0" in t he corresponding bit posit ion of t he GPIO_Direction regist er configures t he pin as an input .
The GPIO_Output register can be used to assign a certain level to a particular GPIO pin. Note that the sett ings writ t en t o this register have only an effect if the GPIO pin is configured as output. Otherwise the programmed output value has no effect. A "1" written to the corresponding bit position of the GPIO_Output register assigns the corresponding GPIO pin t o Vcc, while a "0" in the corresponding bit position of the GPIO_Output register assigns the corresponding GPIO pin t o Ground. If the GPIO_Output register is read it returns the programmed values, not the current status of the GPIO pins.
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 140 of 230

5.8 Serial General Purpose Output (SGPO)
Beyond the standard UART ports described in sect ion 5.1, a modified UART t ransmit t er wit h a 16 byt e FIFO is available, using t he AGGA-4 pin SGPO. When t he applicat ion soft ware writ es int o SGPO_Tx, t he hardware aut omatically splits the 32bit word into bytes and feeds 1, 2, 3 or 4 of them into the UART FIFO (least significant byt e first). The ByteSel field in the SGPO_Ctrl register determines how many bytes of the 32bit word are transferred into the FIFO. The application software has to take care that the FIFO has no overrun. The FIFO st at us can be read by reading t he SGPO_Status register. An interrupt SGPOOverrun is generated, indicating that dat a has been lost . The int errupt is visible and cont rollable in bit 0 of t he Communicat ion Int errupt Cont roller (CIC). It is also possible to disable the transmitter by set t ing t he TxEn bit in t he SGPO_Ctrl regist er t o zero. Wit h t he configurat ion bit s PS in t he SGPO_Ctrl regist er t he parit y can be swit ched bet ween even and odd. Wit h t he configurat ion bit s PE in t he SGPO_Ctrl regist er t he parit y can be enabled or disabled. The baud rate can be programmed by writing to the SGPO_Scaler register. This 12bit divider is used t o generat e t he baud rat e from t he LEON clock.
Scaler = LeonClk -1 BaudRate * 8

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 141 of 230

6 System Support Functions

6.1 FFT Module
The FFT-Module performs the Fast Fourier Transformation using t he radix-2 algorit hm developed by Cooley and Tukey. The implement ed FFT uses 128 point s.
AHB

FFT -Amba I/F

FFT Module

Accesscontrol

FFT Engine

SRAM-I 128x

SRAM-Q 128x

Fi gure 6-1: FFT Modul e
6.1.1 FFT-AHB interface
In order to guarantee high data transfer rates to the FFT module it is integrated as an AMBA module. The data t ransfer is realized via t he AMBA bus. The FFT module is connect ed as a slave module t o t he AHB.

6.1.2 FFT Handling
The data written by the processor into the RAM is composed of real and imaginary data. The expected format is 32bit t wo's complement integer numbers. Since the FFT handles complex data, two RAMs are implemented. All data written at even address (0, 8, 10, ..), is written into the SRAM-I, which contains the real part of the value. Dat a writ t en at odd address (4, C, 14, ..), is written into the SRAM-Q, which contains the imaginary part of t he value. Not e t hat t he bit reversal of the sample indexes is done in hardware, so that the soft ware can writ e t he sequent ial input values ont o sequent ial FFT RAM addresses. This sample re-ordering process is executed automatically as the values are writ t en t o t he FFT RAM. This means that when a value is written to the address that should hold the n-th (sequent ially ordered) sample, the value is actually written to the address that corresponds to the index m, where m is the value of the reversed binary representation of n. In other words, when the SW wants to write the n-th (zero-based indexing) input sample of t he input it does so by issuing a write command to the FFT Module's base address (0xB0000000) plus an offset of 2n*4 byt es, for the real part, or (2n+1)*4, for the imaginary part. However, this value is instead (transparently) written to t he offset 2m*4, for the real part, or (2m+1)*4, for t he imaginary part , wit h m being t he value of t he bit -reversed n.
For example, the value written to the FFTValue_1_real position of the FFT RAM (n=1, '0000001' in binary) is actually writ t en by the hardware to the FFTValue_64_real position. (m=64, '1000000' in binary).
Aft er the write transfer is completed, the user should set the StartFFT bit in the FFTCtrl register. If t his bit is set , t he FFT engine starts and takes over the control of the access to the FFT RAMs. If the FFT has been started the FFT RAM must not be accessed by the processor or any other party then the FFT until the FFT is done. This is because t he FFT module is using t he FFT RAM also for int ermediat e calculat ion st eps.
If t he processor tries to access the FFT RAMs during the time t hey are under cont rol of t he FFT engine, an error response will be generat ed on t he AHB. Reading t he FFT cont rol regist er is always possible.
Aft er the FFT processing is finished, t he FFT module generat es an int errupt FFTdone in t he Primary Int errupt Cont roller and the processor can fetch the processed values which are located in t he same FFT RAM area where t he input data has be written to. If the Interrupt is masked it can be used as a status flag. FFTdone is also visible in FFTCt rl regist ers (cleared when writ ing t o FFTCt rl).
Not e that there is no need from the software side to scale the inputs, in order t o avoid an overflow wit hin t he FFT.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 142 of 230

The outputs of the FFT are IEEE 754 single precision Floating Point Numbers. However, it should be not ed t hat t he int ernal implementation is a 55-bit (39 + 16) fixed point format, stripping the lower 16 decimal bits aft er each radix-2 but t erfly. As a consequence, a data dependent rounding error is introduced which can lead t o significant (>> 100%) relative errors for individual samples when comparing wit h a float ing-point implement at ion. However, when normalising the relative error by the maximum absolute value, hence dividing by max [ abs (FFT(i) ], t he error is bounded t o a few percent, allowing the correct detection of t he peak value t o det ermine t he Doppler shift during acquisit ion.
A Fast Fourier Transformat ion is execut ed in 5126 SysClk cycles.
6.2 CRC Module
The architecture of the CRC block is depicted in Figure 6-2. The core consist s of a 32bit LFSR regist er and a 32bit polynomial regist er. Therefore up t o 32bit CRC's can be calculat ed.

CRC Polynom Xn-32

Xn-31

Xn-30

Xn-4

Xn-3

Xn-2

Xn-1

...

31

1320

29

&

&

&

3

2

1

0

&

&

&

&

+

+

+

+

+ ... +

+

Bitstream

3311
CRC LFSR

30

4

3

2

1

0

DMA Start Address DMA Current Address
DMA End Address
Fi gure 6-2: C RC Hardware Archi tecture

Byte 0 Byte 1 Byte 2
... Byte n

In order to set up the CRC, the polynomial must be programmed to the desired CRC t ype via the register CRCPolynom. Not e that the highest order term has to be discarded. Example: In order to program the Polynomial 1 + x5 + x12 + x16 int o the register, the taps for x0, x5 and x12 have to be set to ,,1", while x16 is discarded. The polynomial must be right aligned and in reversed format. That means for a 16 bit CRC t he bit 0 (right most bit ) of t he CRCPolynom regist er corresponds to x15 ,while for a 32 bit CRC t he bit 0 of the CRCPolynom register corresponds t o x31. Table 6-1 gives some examples of t he values which have t o be programmed in order t o get t he desired CRC funct ion.
The init value for the CRC calculation has to be written to the CRCLFSR register prior to every CRC st art . When t he CRC calculation has been done, the CRCLFSR register (containing the final CRC checksum) is XOR'ed with the value of t he CRCFinalXOR register. After this, the software gets notified via int errupt . Addit ionally t he readiness can be polled by masking the interrupt and polling the interrupt pending register.Note that the readiness can not be polled by observing t he current point er.
It has to be noted that not all CRC types require a final XOR multiplication. In that case the CRCFinalXOR register has t o be programmed to zero. Note that the final XOR value has to be written only once in order to configure t he t ype of CRC. It has not t o be programmed every t ime a CRC is t riggered.
By default, the CRC result in CRCLFSR is provided in normal format, i.e. bit 0 will contain the LSB of the CRC (= t he x0 t erm). For some CRC types it is required to reverse the CRC result after the final XOR multiplication (MSB<->LSB swap). This can be programmed by setting the bit ReverseResult in the CRCCtrl register to 1. In this case the content of t he CRCLFSR register is bit-reversed and automatically right aligned by the hardware. E.g. a CRC of lengt h 16 would be reversed and right shift ed by 16, bit 0 will cont ain t he x15 t erm.
In order to define the data which shall be processed the start and end address can be set wit h t he CRCStartAddress respectively CRCEndAddress register. The CRCStartAddress has to be word (32bit) aligned, while the CRCEndAddress can be byte aligned. After a write to CRCEndAddress register, the CRC calculation is started. Therefore t his regist er should be configured as t he last one.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 143 of 230

As soon as the CRCEndAddress register is written, the DMA machine will start and fetch the first byte and hand it over t o the CRC calculation. The byte is feed bitwise into the CRC. With the bit ReverseInData in t he CRCCtrl regist er it can be det ermined whether a byte is put from MSB to LSB or vice versa int o t he Bit st ream FIFO. By reading t he CRCCurAddress register it returns the address of the byte which is currently processed. Note that during CRC runt ime t he user shall not writ e any CRC regist er. Ot herwise t he CRC processing get s corrupt ed.
Example: In order t o calculat e t he CRC over 6 byt es which are placed st art ing at address 0x40000000, t he CRCStartAddress would have t o be programmed t o 0x40000000, t he CRCEndAddress t o 0x40000005.

CRC Type

Polynomial

Rev erse Rev erse CRCPolynom CRCLFSR (Init) CRCFinalXOR InData Result

CRC16-CCITT 1 + x5 + x12 + x16

0x00008408 0x0000FFFF

0x00000000

0

0

IBM-CRC-16 CRC-32 (IEEE 802.3)

1 + x2 + x15 + x16 1+ x1+ x2+ x4+ x5+ x7+ x8+ x10+ x11+ x12+ x16+ x22+ x23+ x26 x32

0x0000A001 0xEDB88320

0x00000000 0xFFFFFFFF

0x00000000 0xFFFFFFFF

1

1

1

1

Tabl e 6-1: C RC Exampl es CRC16-CCIT T refers to the implementation specified in the ITU-T Recommendation V.41 (1988) and in ECSS-E-7041A (2003) or ECSS-E-ST-70-41C (2016). AGGA4 correct ly meet s t he t est cases specified in t hese st andards.
Please note that other implmentations may exist, also labeled `CRC-CCITT', producing different result s, even t hough using t he same polynomial.

6.3 EEPROM Support Function
In space hardware it is required to switch-off the EEPROM devices when t hey are not in use, because of t he dat a ret ent ion issues. Therefore t he AGGA-4 offers an EEPROM swit ch funct ionalit y as depict ed in Figure 6-3.

APB Register

AGGA-4
EEPROM Power Switch Functionality

EEPROM_POWER EEPROM_RESET_N EEPROM_ENABLE

Figure 6-3: EEPROM Power Swit ch Funct ionalit y

By writ ing 0xAFFEDEAx (x= 0..F) in the EEPROM_Switch bitfield in the EEPROM_StatusAndCtrl register the switch on sequence is initiated. After switching on, the EEPROM_On bit indicates this as "1" and t he EEPROM is powered.
By writ ing 0xDEADAFFx (x= 0..F) in the EEPROM_Switch bitfield in the EEPROM_StatusAndCtrl register the switch off sequence is initiated. After switching off, the EEPROM_On bit indicates this as "0" and t he EEPROM is powered down aft er t 4.
By reading the 4 LSB's of the EEPROM_StatusAndCtrl register the current st at us of t he EEPROM cont rol signals (EEPROM_On, EEPROM_POWER, EEPROM_RESET_N and EEPROM_ENABLE) can be read.
Not e that all bits in EEPROM_StatusAndCtrl are 0 aft er reset , t he EEPROM is disabled. The EEPROM Support Funct ion can t herefore not be used for a boot EEPROM.

The swit ching of t he pins is performed in a part icular sequence as depict ed in Figure 6-4.

­ All Rights Reserved ­ Copyright per DIN 34 ­

EEPROM_On

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 144 of 230

EEPROM_Power

EEPROM_RESET_N

EEPROM_ENABLE

t1 t2

t3 t4
Figure 6-4: EEPROM Swit ching Sequence

The individual t imes ar as follow: · T1 = 1ms · T2 = 2ms · T3 = 100ms · T4 = 101ms

Not e that the above specified times T1 to T4 are only true if the pin configurable SYS_CLK_DIV divider is set such that t he out put of t he divider equals t o 10 MHz.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 145 of 230

6.4 Clock Distribution

HALF_SAMPLE_CLK EXT_CORE_CLK

GNSS Clk Block
/2.5 1
0
CoreClkSel

AGGA-4 HalfSampleClk CoreClk

To GNSS Core

EXT_MIL_CLK MIL_PLL_ICP[1:0] 2
MIL_PLL_LOCK MIL_CLK_OUT SYS_CLK_OUT

10 MHz

MilBus Clk Block
0

PLL x16

/10 1

MilBus

ClkSel

/4 /10

1553Clk SysClk

To Mil-Bus IP Core

SYS_PLL_LOCK

System Clk

SYS_PLL_FREQSEL[1:0]
2

PLL

Block

SYS_CLK_DIV[3:0] 4

DIV

x4

10

x8

MHz

L

SYS_CLK_ICP[1:0] 2

EXT_SYS_CLK

H

SYS_PLL_BYPASS

SPI_OUT_CLK SPI_IN_CLK

SPI Clk Block
0 DIV /8
1
0 1
ClkSel

SysClk

To Leon2-FT Core, System Periphery

SysClk

To SpaceWire

SpW 10MHz Clk

Module

SPIClk

To SPI Interface

Fi gure 6-5: AGGA-4 C l ock Di stri buti on
The clock generation and distribution is shown in Figure 6-5. The minimum periods for the clock domains shown at the right side of the figure as well as other clocking constraints and recommendations. These minimum periods have t o be respected from cycle-to-cycle, the jitter of the clock sources and t he int ernal PLL's has t o be considered, possibly leading to a reduced maximum frequency. Further details of the clock generation are provided in t he following subsect ions.

C l ock Domain C onstraint / Comment

CoreClk

Recommended frequency: 40 MHz

HalfSampleClk Frequency shall be exactly 2.5 x CoreClk only in DDC Mode

SysClk

Frequency shall be >= CoreClk Note: SpaceWire transmission clock is related to SysClk

1553Clk

Recommended 16 MHz, to be compliant wit h MIL standard

SpW10MHzClk Recommended 10 MHz, to be compliant wit h SpaceWire standard

SpWRxClk

Clock domain recovered from Data-St robe input signals in SpaceWire

SPIClk

Tabl e 6-2: C l ock domai ns

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 146 of 230

6.4.1 System Clock (SysClk) Divider
It is possible to divide the clock signal applied to EXT_SYS_CLK by an integer value. The division is programmable via t he 4bit SYS_CLK_DIV external pin configuration. If all SYS_CLK_DIV pins are all logical low, the division factor is 1 (out put clk = input clk). If the pin SYS_CLK_DIV [0] is high and SYS_CLK_DIV [1:3] are low, t he division fact or would be 2 and so on. If any of the following functions is used, the divider should be programmed such that the output frequency is 10 MHz.
· Syst em PLL · MilBus PLL · EEPROM support funct ions · SpW int erface
6.4.2 GNSS Core Clock (CoreClk) Generation
The GNSS Core can be provided with two clock inputs. The HALF_SAMPLE_CLK and the EXT_CORE_CLK. While t he HALF_SAMPLE_CLK is directly fed into the GNSS core, the CoreClk can be derived from t wo sources. By t he CoreClkSel bit in the GNSSCoreClkCtrl register it can be selected whether the user wants to generate the CoreClk from a 2.5 division of the HALF_SAMPLE_CLK or if he wants to select the CoreClk direct ly from t he EXT_CORE_CLK input pin (default ). Not e: Besides of being radiation hardened, the CoreClkSel bit is also prot ect ed by t riple redundancy against SEU.
6.4.3 Mil-Bus Clock Generation
The MilBus IP Core is supplied wit h the two clocks: 1553Clk and SysClk. The 1553Clk has t o be 16MHz in order t o comply wit h the MIL-1553 data rate requirements. 1553Clk can be taken directly from the input pin EXT_MIL_CLK or it can be generated with an internal PLL. This can be selected by the MilBusClkSel bit in t he MilBusClkCtrl regist er. For monit oring purposes, 1553Clk divided by 4 is provided at t he out put pin MIL_CLK_OUT.
If t he PLL is selected, the PLL takes its input clock from the divided EXT_SYS_CLK pin. The PLL then mult iplies t he 10 MHz PLL input frequency by 16, thus generating 160 MHz. The 160 MHz is then divided by 10 in order t o arrive wit h 16MHz for t he 1553Clk.
f1553Clk = fEXT_SYS_CLK / (DivRat io +1) * 16 / 10
6.4.4 System Clock (SysClk) Generation
The Leon2-FT as well as the UARTs and the periphery are supplied with the SysClk. The SysClk can eit her be t aken directly from the EXT_SYS_CLK pin or it can be taken from the PLL. The selection is done by t he SYS_PLL_BYPASS pin. If t he SYS_PLL_BYPASS is assert ed logical high, t he PLL is bypassed and t he SysClk is t aken from t he EXT_SYS_CLK pin. If the SYS_PLL_BYPASS is asserted logical low, the PLL is enabled and the SysClk is driven by the PLL output. For monitoring purposes, SysClk divided by 10 is provided at t he out put pin SYS_CLK_OUT. Wit h SYS_PLL_FREQSEL = 0, the multiplication factor of the system clock PLL is 4, wit h SYS_PLL_FREQSEL = 1, t he mult iplicat ion fact or is 8.
Note: The overall processing performance does not increase linearly with SysClk. External fact ors (e.g. SRAM Wait St at es) are also relevant , and t herefore t he overall performance needs t o be analysed at syst em level.
Note: The SysClk frequency always has to be equal or greater than the GNSS CoreClk frequency. Ot herwise a st able operat ion of t he AGGA-4 syst em can not be guarant eed.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 147 of 230

6.4.5 SPI Clock (SPIClk) Generation
Alt hough the AGGA-4 is the SPI Master, it can also accept a clock input from a SPI slave. This is needed in order t o properly communicate with Saphyrion RF Front End chips which use a modified SPI int erface (clock is provided by SPI slave). Therefore the AGGA-4 has a bit ClkSel in t he SPI_StatusAndCtrl regist er by which select s bet ween int ernal and ext ernal SPIClk.
· Clk Sel = 1: SPIClk is taken directly from the pin SPI_IN_CLK. The incoming clock synchronized internally. A change of mode won't lead to glitches in the internal AGGA-4 logic, but the current transfer may be corrupted. Therefore it is recommended t o change t he clock direct ion only if no t ransfer is ongoing.

· ClkSel = 0: SPIClk is derived from SysClk as shown in Figure 6-5, pre-divided by 8 and further divided by the 8bit programmable DivRatio bitfield in the SPI_ClkDivider register. The divider ratio has t o be programmed according t o t he following formula:
DivRatio = SystemClk -1 8  SPIClk

6.4.6 SpW Clock Generation
The SpaceWire modules require two clock inputs. A SpW10MHzClk for start-up and the SysClk for fast t ransmission. The SpW10MHzClk is derived by t he divided EXT_SYS_CLK.

6.4.7 PLL Lock Status
The Lock St atus of the two PLLs (System and MilBus) can be monitored either via regist er or via t he ext ernal pins MIL_PLL_LOCK and SYS_PLL_LOCK. If read via register, the status of the Leon PLL can be read by reading the LeonPLLStatus bit in the PLLStatus regist er. The st at us of t he MilBus PLL can be read by reading t he MilBusPLLStatus bit in t he PLLStatus regist er. Not e t hat aft er power on it t akes 2400 EXT_SYS_CLK cycles unt il t he MilBusPLLStatus is set .

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 148 of 230

6.5 Reset Mechanisms
The AGGA-4 has several reset possibilities which are depicted in Figure 6-6. Besides a global "Power On Reset" at pin PWR_ON_RESET_N, there are other reset possibilities which only reset parts of the AGGA-4. Each occurrence of such a partial reset is registered in the ResetStatus register. This allows t he software to determine the reset source after a reset has occurred. Moreover, the upper bits of the ResetStatus register can be used by t he soft ware t o st ore informat ion which is not cleared by any reset , except power on reset .

NMI_INT WDOG1_N WDOG2_N AGGA4_RESET_N
GNSS_RESET_N
PWR_ON_RESET_N

0

Watchdog WdogSel OR

1st

1
1

elapse

2
0

2nd elapse
SW Reset

3 4
OR

0xDEADAFFE

0xBEBECAFE

5

0xCAFEBEBE

6
OR
7

SpW Reset Mil-Bus Reset UART Reset

NMI
AGGA Reset: Reset whole AGGA-4, but not ResetStatusReg and not IMT counter
GNSS Reset: Reset GNSS Module
Reset SpW Module Reset Mil-Bus Module Reset UART Module Reset whole AGGA-4 Mil-Bus triggered Reset

AGGA-4

Reset Status Reg

NMI external

0

NMI Wdog

1

Wdog Reset 1 2

Wdog Reset 2 3

AGGA Reset HW 4

AGGA Reset SW 5

GNSS Reset SW 6

GNSS Reset HW 7 Mil-Bus trig.Reset 8

8

MIL_RESET_OUT_N

Fi gure 6-6: Reset Possi bi l i ti es wi thi n AGGA-4

Most of the registers in AGGA-4 use a synchronous reset. Therefore it is generally required that all clocks are act ive during reset (see also section 8.4.4). After assertion of any of the global AGGA-4-reset sources (PWR_ON_RESET_N, AGGA4_RESET_N, SW Reset, Watchdog, but not the GNSS_RESET_N), the internal reset is kept assert ed unt il t he SysClk PLL has asserted its lock signal (if that PLL is used at all), plus an addit ional 128 SysClk cycles. When t he SysClk PLL is disabled (bypassed), the delay is always 128 SysClk cycles. When the PLL loses lock (= de-assert s it s lock signal) during operation, no reset will be generated. The 1553Clk PLL lock is not taken into account during reset generat ion. The PrimaryRAM1/2 and SecondaryRAM1/2 memories are not reset .
6.5.1 Power On Reset
Assert ing PWR_ON_RESET_N to low level will restore the default values of all regist ers as specified in chapt er 7, including the ResetStatus and IMT counter (IMT_MSW, IMT_LSW) registers, provided that t he respect ive clocks are act ive. The registers which have no default value are marked as "undef" in the "Default" column in t he programming sect ion (chapter 7). The content of these registers is undefined after the Power On Reset. After deassert of the ext ernal power on reset, the AGGA-4 internal reset is de-asserted after 9 EXT_SYS_CLK cycles if SYS_PLL_BYPASS = 1 and 2209 EXT_SYS_CLK cycles if SYS_PLL_BYPASS = 0. Aft er t he syst em part is ready, t he GNSS Core t akes an addit ional 4 CoreClk cycles t o reset .
6.5.2 Watchdog Reset
The wat chdog consists of an 18 bit WdogPrescaler register and a 24 bit counter which is reloaded wit h the WdogReload value. The prescaler is clocked wit h the SysClk. With every time t ick t hat is generat ed from t he prescaler t he pre loadable wat chdog counter is decremented. The watchdog can be configured with a two-stage "bark and bite" function: If t he counter elapses (= reaches zero) for the first and for the second time, depending on t he set t ing of t he WdogSel regist er, t he following act ions t ake place:

Act ion WdogSel = 0 WdogSel = 1

1st elapse AGGA-4 Reset is executed (bite) NMI interrupt is generated (bark)

2nd elapse Not applicable AGGA-4 Reset is executed (bite)

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 149 of 230

Regardless of the WdogSel register, the two elapse's (bark and bite) are signalled by driving the open-drain output pins WDOG1_N and WDOG2_N t o 0. Writing to the ReloadValue register returns the state of the wat chdog t o t he init ial st at e (before t he `1st elapse').
The wat chdog can be disabled by setting the ReloadValue in the WdogReload register to zero (default state after reset ). Not e that bit (15:0) of the WdogPrescaler register (t he PrescaleValue) are mapped t o bit s (17:2) of t he int ernal prescaler register which is used by the watchdog function, hence the prescaler division ratio is given as PrescaleValue *4 + 2. The default value of t he PrescaleValue fieldaft er reset is all "1". There is a dedicated write enable register (WdogWriteEnable) which inhibits an accident al writ e t o t he prescaler or reload value of the wat chdog. The user has to write the pattern "DEADAFFE" in the WdogWriteEnable register, before t he write access to either the reload or the prescaler value is granted for one time. The write enable register gives writ e access t o one regist er (reload/prescaler) for one t ime. The Wat chdog Elapse Time can be calculat ed wit h t he following formula:
Wat chdog Elapse Time = SysClkPeriod * ((PrescaleValue * 4) + 2) * (ReloadValue + 1)
6.5.3 AGGA-4 Reset
The AGGA-4 reset can be triggered by the Watchdog, the AGGA4_RESET_N input pin or by t he soft ware (Soft ware Reset registers). The AGGA-4 reset will restore the default values of all registers as specified in chapt er 7, except for t he ResetStatus and IMT counter registers. The ResetStatus register allows t he software to reconstruct the reset source. Wit h the IMT counter the soft ware can reconst ruct t he blackout t ime aft er a reset . This can be used for a fast reacquisit ion of t he GNSS signals aft er an AGGA-4 reset has occurred. The duration of the AGGA-4 Reset is 1 SysClk (internal) cycle + 5 EXT_SYS_CLK cycles. Aft er t he syst em part is ready, t he GNSS Core t akes addit ional 4 CoreClk cycles t o reset .
6.5.4 GNSS Reset
The GNSS reset can be triggered by the GNSS_RESET_N input pin or by t he soft ware (Soft ware Reset regist ers SwReset Enable and SwReset Execute). If one of these sources triggers the GNSS reset, only the GNSS module is reset (including t he IMT count er). Not e that during a GNSS reset the Leon shall not access any GNSS regist er. Otherwise the LEON will hang for the time of t he GNSS reset . The durat ion of t he GNSS reset is 1 SysClk (int ernal) cycle + 4 CoreClk cycles
6.5.5 SW Reset
It is possible to trigger an AGGA-4 reset or GNSS reset by software. Therefore two registers are foreseen. With the first one (SwResetEnable) the reset can be armed by writing the pattern "0xDEADAFFE" into this register. Any other value in t his register will inhibit a possible reset signal triggered by software. Note that t he " Enable" is only valid for one writ e access t o t he SwResetExecute regist er. The second register (SwResetExecute) executes the reset. It has t o be not ed t hat t he AGGA-4 Reset is t riggered by writ ing the pattern "0xBEBECAFE" into this register, while the GNSS Reset is triggered by writ ing "0xCAFEBEBE" int o t he regist er. Any existing content or writes to t he SwResetExecute regist er are ignored unless t he regist er has been armed by previously writ ing "0xDEADAFFE" int o t he SwResetEnable regist er.

6.5.6 SpW Reset
The SpaceWire module has a dedicated bit to reset the SpaceWire module. This can be done by writing "1" to the Reset bit in the SpW_ModuleConfig register. There is no dedicated HW pin to reset only t he Space Wire module, but t he SpaceWire module is also reset by t he above ment ioned global AGGA-4 reset s (except GNSS Reset ).

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 150 of 230

6.5.7 Mil-Bus Reset
The Mil-Bus module has a dedicated bit to reset the Mil-Bus module. This can be done by writing "1" to the Rst1553 bit in t he C53CDST. There is no dedicated HW pin to reset only the Mil-Bus module, but the Mil-Bus module is also reset by t he above ment ioned global AGGA-4 reset s (except GNSS Reset ).

6.5.8 UART Reset
The UART module can be reset by writing "1" to the Reset bit in the UART_Reset. There is no dedicat ed HW pin t o reset only the UART module, but the UART module is also reset by t he above ment ioned global AGGA-4 reset s (except GNSS Reset )..

6.5.9 Mil-Bus triggered Reset
By sending the Mil-Bus mode command 8-"Reset Remote Terminal" to the AGGA-4, the AGGA-4 will drive the opendrain output pin MIL_RESET_OUT_N to level low for one 1553Clk cycle. By connecting the MIL_RESET_OUT_N pin t o one of the AGGA-4 reset input pins it is possible to force an AGGA-4 reset from the Mil-Bus bus controller to which t he AGGA-4 is connect ed t o.

6.5.10 Reset Status Register
The default value (after Power On Reset) of the ResetStatusRegister is all "1". If any `warm' reset (= except for t he Power On Reset) occurs, this register is not cleared, only the corresponding bit in the ResetStatusRegister is set to zero. This allows SW to distinguish after a reset cycle which reset was executed. The software should set back the all bit s t o "1" aft er a reading t his regist er.
6.5.11 Processor reset
The processor is reset by the PWR_ON_RESET_N or by any of the sources triggering the AGGA-4 reset . Aft er reset , t he processor will start fetching from address 0. In the Processor Status Register (PSR), t raps are disabled (ET = 0), supervisor mode is enabled (S = 1), all other fields are undefined or keep t heir previous value. As indicat ed in t he CacheCtrl register, caches / burst fet ch and snoop are also disabled. Caches need t o be flushed before enabling.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 151 of 230

6.6 AMBA BUS 6.6.1 AHB priorities
There are 7 bus mast ers on t he AGGA-4 AMBA AHB Bus wit h t he following priorit ies:

Priority highest
lowest

Participant 6 DSU 5 Milbus 1553 Module 4 GNSS Module 3 UART Module 2 SpW Module 1 CRC Module 0 Processor

Table 6-3: AMBA Priorit ies

Not e that an AHB burst transaction, once started, can not be interrupted by a higher priority master. This means t hat a even a low priority master can lock the bus for considerable time. Extreme case would be a CPU cache-line fetch (burst of 8), to be multiplied with the duration of a single access (see section 6.6.2 below) from 8-bit PROM wit h maximum (30) wait-states, EDAC on: The latency would be 8*5*(30+2) = 1280 cycles. Even longer lat encies are possible if accesses condit ioned BRDY_N are used.
The following t ransact ion t ypes and burst s are used by t he different mast ers:
· The processor uses 8x burst for cache line fet ches and 2x burst for load / st ore double inst ruct ions · The SpW RX DMA and SpW TX DMA uses 2x burst whenever possible (however, see the issue described in
sect ion 8.4.6). The SPW DMA performs one 32-bit AHB access per 4 SPW charact ers · The UART DMA uses single 32-bit accesses, no burst. Note that the UART-RX and UART-TX performs one
32-bit AHB access per received byt e . · The CRC Module uses single 32-bit accesses, no burst . · GNSS Module does not perform burst. The spacing between two t ransfers. See also descript ion in 3.4.7.4 · Mil1553 Module perform 32-bit accesses, no burst
6.6.2 AHB/APB bus access duration
The duration of an AHB access depends on the area of the address map (see section 7.1) which is accessed, width of the AHB access (8, 16 or 32 bit), on the width of the external memory (8 or 32 bit), the configuration (wait-st at es) and on t he ratio of SysClk / CoreClk frequencies. The duration ­ in number of SysClk cycles ­ can be calculat ed as follows:
· For accesses to PROM, RAM and memory-mapped IO, the duration of a single external access is two (2) plus t he wait states which are either configured in MCFG1 and MCFG2, or the input pin BRDY_N can be used t o impose wait states. However, as explained in the following bullets, depending on access widt h, memory bus widt h one single AHB access, depending on access widt h, memory width, and settings may result in several ext ernal accesses.
· For PROM, up to 30 wait states can be configured in MCFG1, hence a single acess takes up to 32 cycles. One 32-bit AHB read from an 8-bit wide PROM with EDAC enabled result s in 5 accesses (4 dat a and 1 parit y byt e), hence up t o 160 wait st at es can be generat ed.
· For memory mapped I/O area, up to 15 wait states can be configured in MCFG1. The IO area shall always be accessed wit h AHB accesses matching the IO bus widt h (hence using LDUB/STB instruction for 8-bit IO and LD/ST for 32-bit IO), and one AHB t ransact ion always result s in one single I/O access.
· For RAM, up to 4 wait states can be configured in MCFG2, hence a single access takes up to 6 cycles. One 32bit AHB access to 8-bit RAM with EDAC generates 5 memory accesses. Sub-word (8 / 16-bit) writes to RAM wit h EDAC are executed as Read-Modify-Write transactions, resulting in two accesses with 32-bit RAM, and 10 memory accesses wit h 8-bit RAM (read 4 byt es + 1 parit y, writ e 4 byt es + 1 parit y).
· For APB regist ers, t he durat ion is always 2 cycles.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 152 of 230

· Accesses to the registers located in t he GNSS module are crossing t he clock domain, and t heir durat ion depends on the SysClk / CoreClk frequency ratio and phase. The user can check t he t iming wit h t he Trace Buffer.
· Accesses to the FFT module t akes 2 cycles for t he dat a memory and 1 cycle for t he FFTCtrl regist er.

6.7 Test Support Pins
In order to support the application debugging, some internal signals can be accessed via t est pins. These point s are shown in Fi gure 3-30, highlight ed in red.
Not e: These signals are not for flight use. They are combinatorial outputs, and output delay on these signals may vary largely over temperature, supply, from t est point t o t est point , and from channel t o channel bet ween 7 ­ 27 ns (compared to EXT_CORE_CLK in PLL Bypass mode). Even at constant temperature / voltage, the skew bet ween t hese signals can be up to 5 ns. This can lead to a cycle slip which should be considered when interpret ing t he signal / code out put s.
6.7.1 I/Q Data
The 3bit I and 3bit Q data can be accessed just before and just after the Final Down Converter of a part icular channel. The I/Q dat a is visible on t he pins SIGNAL_OUT_I[2:0] and SIGNAL_OUT_Q[2:0].
The selection of the channel t o monit or is done by t he programming of t he SignalOutChanSel bit field in t he TestSettings regist er.
The select ion of monit oring before or aft er t he Final Down Convert er is done by t he programming of t he SignalOutPosSel bit field in t he TestSettings regist er.
Not e: If a certain channel shall be monitored the user has to make sure that the channel is activated in the ChActivation0 or ChActivation1 regist er.

6.7.2 IntEpoch and Code Out
It is possible to monitor the Integrat ion Epoch and t he punct ual delay line out put of t wo independent channels.
The Integration Epoch of the first selected channel is visible on the pin INT_EPOCH1, t he Int egrat ion Epoch of t he second selected channel is visible on the pin INT_EPOCH2. The selection of the Integration Epoch or Long Epoch is done by programming t he bit IntSourceSel of CorrUnitCtrl.
The punctual delay line output of the first selected channel is visible on the pins CODE_OUT1[1:0], the punctual delay line out put of t he second select ed channel is visible on t he pins CODE_OUT2[1:0].
The selection of the channel to monitor is done by the programming of the CodeOut1Sel bitfield and the CodeOut2Sel bit field in t he TestSettings regist er.
Not e: If a certain channel shall be monitored the user has to make sure that the channel is activated in the ChActivation0 or ChActivation1 regist er.

6.7.3 IMT_12
The IMT_12 pin connects to the bit 12 of the IMT count (defined from 0 to 63). The IMT count itself is clocked by t he CoreClk. Therefore this pin gives a mean to check if the AGGA sees t he CoreClk and if it the CoreClk has t he desired frequency. Example: A 40 MHz clock at the EXT_CORE_CLK will result frequency of 40 MHz / 213 =~ 4.88kHz on IMT_12.
Not e: If the IMT_12 is observed as a frequency t he divisor is 213 rat her t han 212 as one might t hink. This can be explained by the following example: Imagine the LSB would be observed. Then it changes its value with every CoreClk but it s frequency is CoreClk/2.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 153 of 230

7 Programming
This section lists the registers needed to program and control the AGGA-4. This sect ion uses t he following convent ions:
- `undef' means not affected by any of the resets and content is undefined at power-up. - R means Read-only , writing has not effect unless explicitly mentioned
- W means Write-only, the Read value has no meaning with no side effect unless explicitly mentioned - RW means Read-Write - `reserved' means writing has no effect, and reading value has no meaning

7.1 Overall Address Map

Address Range 0x00000000 - 0x1FFFFFFF 0x20000000 - 0x3FFFFFFF 0x40000000 - 0x7FFFFFFF 0x80000000 - 0x8FFFFFFF
0x90000000 - 0x9FFFFFFF 0xA0000000 - 0xAFFFFFFF 0xB0000000 - 0xBFFFFFFF 0xC0000000 - 0xFFFFFFFF

Size [Mbytes] 512 512 1024 256
256 256 256 1024

M apping
PROM I/O
SRAM Processor, Interface and System Support registers (see section 7.2) DSU (see section 7.3) GNSS (see section 7.4)
FFT (see section 7.5) Unused (see Note below )

M odule Memory Controller
AHB-APB bridge
DSU Module GNSS Module FFT Module

Tabl e 7-1: O veral l Address Map
Note: An access to an empty/unused AHB/APB address locat ion t riggers t he AHB default slave (see AHB st at us regist er, chapt er 4.15)

7.2 APB Address Map (Processor, Interface and System Support)

7.2.1 Overview

Addr e s s 0x80000000 0x80000004 0x80000008 0x8000000C 0x80000010 0x80000014 0x80000018 0x8000001C 0x80000020 0x80000024 0x80000028 0x8000002C 0x80000030 0x80000034

Size [bits] Nam e 31 MCFG1 19 MCFG2 32 MCFG3 28 AHBFailingAddress 10 AHBStatus 32 CacheCtrl 32 Pow erDow n 32 WriteProtect1 32 WriteProtect2 31 LeonConfig
N/A Reserved N/A Reserved N/A Reserved N/A Reserved

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 154 of 230

Addr e s s 0x80000038 0x8000003C 0x80000040 0x80000044 0x80000048 0x8000004C 0x80000050 0x80000054 0x80000058 0x8000005C 0x80000060 0x80000064 0x80000068 0x8000006C 0x80000070 0x80000074 0x80000078 0x8000007C 0x80000080 0x80000084 0x80000088 0x8000008C 0x80000090 0x80000094 0x80000098 0x8000009C 0x800000A0 0x800000A4 0x800000A8 0x800000AC 0x800000B0 0x800000B4 0x800000B8 0x800000BC 0x800000C0 0x800000C4 0x800000C8 0x800000CC 0x800000D0 0x800000D4 0x800000D8 0x800000DC 0x800000E0 0x800000E4 0x800000E8 0x800000EC 0x800000F0 0x800000F4 0x800000F8 0x800000FC

Size [bits] Nam e N/A Reserved N/A Reserved 32 Timer1_Counter 32 Timer1_Reload 3 Timer1_Ctrl N/A reserved 32 Timer2_Counter 32 Timer2_Reload 3 Timer2_Ctrl N/A Reserved 10 TimerPrescaleCounter 10 TimerPrescaleReload N/A Reserved N/A Reserved 32 Timer3_Counter 32 Timer3_Reload 3 Timer3_Ctrl N/A Reserved 32 Timer4_Counter 32 Timer4_Reload 3 Timer4_Ctrl N/A Reserved 32 PrimIntMas kAndPrio 16 PrimIntPending 16 PrimIntForce 16 PrimIntClear 16 PIO_IO 16 PIODirection 32 PIOIntConfig N/A Reserved 18 WdogPrescale 24 WdogReload 1 WdogSel 32 WdogWriteEnable N/A Reserved 7 DSU_UART_Status 2 DSU_UART_SpW_Ctrl 14 DSU_UART_Scaler 30 WriteProtectStartAddress3 30 WriteProtectEndAddress3 30 WriteProtectStartAddress4 30 WriteProtectEndAddress4 16 GPIO_Status 16 GPIO_Output 16 GPIO_Direction 9 ResetStatus 32 Sw ResetEnable 32 Sw ResetExecute 6 MilBusRTAddress 12 AGGA4Version

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 155 of 230

Addr e s s 0x80000100 0x80000104 0x80000108 0x8000010C 0x80000110 0x80000114 0x80000118 0x8000011C 0x80000120 0x80000124 0x80000128 0x8000012C 0x80000130 0x80000134 0x80000138 0x8000013C 0x80000140 0x80000144 0x80000148 0x8000014C 0x80000150 0x80000154 0x80000158 0x8000015C 0x80000160 0x80000164 0x80000168 0x8000016C 0x80000170 0x80000174 0x80000178 0x8000017C 0x80000180 0x80000184 0x80000188 0x8000018C 0x80000190 0x80000194 0x80000198 0x8000019C 0x800001A0 0x800001A4 0x800001A8 0x800001AC 0x800001B0 0x800001B4 0x800001B8 0x800001BC 0x800001C0 0x800001C4

Size [bits] Nam e 13 CIC_Mas k 13 CIC_Pending 9 CIC_Clear
N/A Reserved 19 SPI_StatusAndCtrl 8 SPI_ClkDivider 16 SPI_Tx 16 SPI_Rx 32 CRCLFSR 32 CRCPolynom 32 CRCFinalXOR 2 CRCCtrl 32 CRCStartAddress 32 CRCEndAddress 32 CRCCurAddress
N/A reserved 27 C53CF 26 C53EMBA 32 C53CDST 9 C53NIT 5 C53EIT 1 C53RIT
N/A reserved 32 C53RTI 32 C53TTI
N/A reserved N/A reserved N/A reserved
32 SGPO_Tx 6 SGPO_Status 5 SGPO_Ctrl
12 SGPO_Scaler 32 UART0_Tx_SAP 32 UART0_Tx_EA P 32 UART0_Tx_CA P 32 UART0_Rx_SA P 32 UART0_Rx_EA P 32 UART0_Rx_CA P
8 UART0_Status 10 UART0_Ctrl 29 UART0_Scaler 32 UART1_Tx_SAP 32 UART1_Tx_EA P 32 UART1_Tx_CA P 32 UART1_Rx_SA P 32 UART1_Rx_EA P 32 UART1_Rx_CA P
8 UART1_Status 10 UART1_Ctrl 29 UART1_Scaler

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 156 of 230

Addr e s s 0x800001C8 0x800001CC 0x800001D0 0x800001D4 0x800001D8 0x800001DC 0x800001E0 0x800001E4 0x800001E8 0x800001EC 0x800001F0 0x800001F4 0x800001F8 0x800001FC 0x80000200 0x80000204 0x80000208 0x8000020C 0x80000210 0x80000214 0x80000218 0x8000021C 0x80000220 0x80000224 0x80000228 0x8000022C 0x80000230 0x80000234 0x80000238 0x8000023C 0x80000240 0x80000244 0x80000248 0x8000024C 0x80000250 0x80000254 0x80000258 0x8000025C 0x80000260 0x80000264 0x80000268 0x8000026C 0x80000270 0x80000274 0x80000278 0x8000027C 0x80000280 0x80000284 0x80000288 0x8000028C

Size [bits] Nam e 1 UART_Reset
N/A reserved N/A reserved N/A reserved N/A reserved N/A reserved
1 GNSSCoreClkCtrl N/A reserved
1 MilBusClkCtr l 2 PLLStatus N/A reserved N/A reserved 32 EEPROM_StatusAndCtrl N/A Reserved 13 SpW0_StatusAndCtrl N/A Reserved 32 SpW0_Tx_SAP 32 SpW0_Tx_EAP 32 SpW0_Tx_CAP 9 SpW0_Tx_Rx_Config 32 SpW0_Rx_SAP 32 SpW0_Rx_EAP 32 SpW0_Rx_CAP N/A Reserved N/A Reserved N/A Reserved N/A Reserved N/A Reserved N/A Reserved N/A Reserved 13 SpW1_StatusAndCtrl N/A Reserved 32 SpW1_Tx_SAP 32 SpW1_Tx_EAP 32 SpW1_Tx_CAP 9 SpW1_Tx_Rx_Config 32 SpW1_Rx_SAP 32 SpW1_Rx_EAP 32 SpW1_Rx_CAP N/A Reserved N/A Reserved N/A Reserved N/A Reserved N/A Reserved N/A Reserved N/A Reserved 13 SpW2_StatusAndCtrl N/A Reserved 32 SpW2_Tx_SAP 32 SpW2_Tx_EAP

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 157 of 230

Addr e s s 0x80000290 0x80000294 0x80000298 0x8000029C 0x800002A0 0x800002A4 0x800002A8 0x800002AC 0x800002B0 0x800002B4 0x800002B8 0x800002BC 0x800002C0 0x800002C4 0x800002C8 0x800002CC 0x800002D0 0x800002D4 0x800002D8 0x800002DC 0x800002E0 0x800002E4 0x800002E8 0x800002EC 0x800002F0 0x800002F4 0x800002F8 0x800002FC 0x80000300 0x80000304 0x80000308 0x8000030C 0x80000310 0x80000314

Size [bits] Nam e 32 SpW2_Tx_CAP 9 SpW2_Tx_Rx_Config 32 SpW2_Rx_SAP 32 SpW2_Rx_EAP 32 SpW2_Rx_CAP
N/A Reserved N/A Reserved N/A Reserved N/A Reserved N/A Reserved N/A Reserved N/A Reserved
13 SpW3_StatusAndCtrl N/A Reserved
32 SpW3_Tx_SAP 32 SpW3_Tx_EAP 32 SpW3_Tx_CAP
9 SpW3_Tx_Rx_Config 32 SpW3_Rx_SAP 32 SpW3_Rx_EAP 32 SpW3_Rx_CAP N/A reserved N/A reserved N/A reserved N/A reserved N/A reserved N/A reserved N/A reserved
2 SpW_ModuleConfig 2 SpW_ModuleTimeCtrl 8 SpW_ModuleTimeCode 32 SpW_ModuleIntMask 32 SpW_ModuleIntStatus 32 SpW_ModuleIntClear

7.2.2 LEON and Memory Interface Registers

7.2.2.1 MCFG1 (Memory Configuration Register 1)

M CFG1

Bit

Fie ld

De fault

R/W Description

31 reserved

0 R

reserved

30 PBRDYN

0 R/W PROM area bus ready enable (PBRDYN). If set, a PROM access w ill be extended until BRDY_N is asserted

29 ABRDYN

0 R/W Asynchronous bus ready (ABRDYN). If set, the BRDY_N input can be asserted w ithout relation to the SysClk

28-27 IOBusWidth

undef R/W

Defines the data w ith of the I/O area 00 = 8 bit 10 = 32 bit 01, 11 = reserved (bit 27 shall alw ays be w ritten 0)

­ All Rights Reserved ­ Copyright per DIN 34 ­

M CFG1

Bit

Fie ld

26 BusReadyEn

25 BusErrorEn

24 reserved 23-20 IOWaitStates

19 IOEnable
18-12 reserved 11 PROMWr iteEn
10 reserved 9-8 PROMWidth

7-4 PROMWr iteWs 3-0 PROMReadWs

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 158 of 230

De fault

R/W Description

0 R/W 0 R/W 0 R undef R/W
0 R/W 0 R 0 R/W 0 R PIO[1:0] R/W
15 R/W
15 R/W

1 = Bus ready (BRDY_N) enable for IO accesses 0 = Bus ready (BRDY_N) disable for IO accesses 1 = Bus error (BEXC_N) enable for IO accesses 0 = Bus error (BEXC_N) disable for IO accesses Reserved 0 = 0 w aitstates 1 = 1 w aitstate ... 15 = 15 w aitstates 0 = the access to the memory bus I/O area is disabled 1 = the access to the memory bus I/O area is enabled Reserved 0 = disables w rite access to the PROM area 1 = enables w rite access to the PROM area Reserved Defines the data w ith of the PROM area 00 = 8 bit w idth 10 = 32 bit w idth 01, 11 = reserved (bit 8 shall alw ays be w ritten 0) At reset PROMWidth ist set w ith the values on the PIO input pins. Bit 9 is set w ith the value on the PIO[1] pin. Bit 8 is set w ith the values on the PIO[0] pin. PIO[0] has to be tied to 0.
Defines the number of w ait states during PROM w rite cycles 0 = 0 w aitstates 1 = 2 w aitsates ... 15 = 30 w aitstates Defines the number of w ait states during PROM read cycles 0 = 0 w aitstates 1 = 2 w aitsates ... 15 = 30 w aitstates

7.2.2.2 MCFG2 (Memory Configuration Register 2)

M CFG2

Bit

Fie ld

Default R/W Description

31-13 reserved

0 R Reserved

12-9 RAMBankSize

undef R/W 0 = 2^0 x 8 kByte (8 kByte)

1 = 2^1 x 8 kByte (16 kByte)

2 = 2^2 x 8 kByte (32 kByte)

...

14 = 2^14 x 8 kbyte (128 Mbyte)

15 = 2^15 x 8 kbyte (256 Mbyte)

The 4 banks decoded by RAMS_N[0..3] are alw ays contiguous, hence their address range depends on this field Field not initialised at reset

8 reserved 7 BusReadyEn

0 R Reserved undef R/W 0 = disable BRDY_N for RAMS_N[4]

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 159 of 230

M CFG2

Bit

Fie ld

6 ReadModifyWriteEn

Default R/W Description 1 = enable BRDY_N for RAMS_N[4] bitfield is not configured after reset
undef R/W Enable read-modify-w rite cycles on sub-w ord w rites to 32-bit areas w ith common w rite strobe (RWEN_N will always be "0000")

5-4 RAMWidth
3-2 RAMWriteWaitstates 1-0 RAMReadWaitstates

bitfield is not configured after reset undef R/W 00 = 8 bit w idth
10 = 32 bit w idth
01, 11 = reserved (bit 4 shall alw ays be w ritten 0) bitfield is not configured after reset undef R/W RAM Write Waitstates (0..3) undef R/W RAM Read Waitstates (0..3)

7.2.2.3 MCFG3 (Memory Configuration Register 3)

M CFG3

Bit

Fie ld

Default R/W Description

31-30 RFC

0 R

Register file check bits (RFC). Zero check bits are used, sibce register file is implemented w ith hard flip flops

29-28 reserved 27 ME
26-12 reserved 11 WB 10 RB 9 RE 8 PE
7-0 TCB

0 R Reserved 1 R 0 = memory EDAC is not present
1 = memory EDAC is present 0 R Reserved 0 R/W 0 = no w rite bypass for EDAC diagnostic
1 = w rite bypass for EDAC diagnostic 0 R/W 0 = no read bypass for EDAC diagnostic
1 = read bypass for EDAC diagnostic undef R/W 0 = disable EDAC checking of the RAM area
1 = enable EDAC checking of the RAM area PIO[2] R/W 0 = disable EDAC checking of the PROM area
1 = enable EDAC checking of the PROM area At reset this bit is initialized w ith the value of PIO[2] undef R/W Test Check Bits. This field replaces the normal check bits during store cycles w hen WB is set. TCB is also loaded w ith the memory check bits during load cycles w hen RB is set

7.2.2.4 AHBFailingAddress

AHBFailingAddr e s s

Bit

Fie ld

De fault

R/W

31-0 Address

undef R

De s cr iption AHB failing address

7.2.2.5 AHBStatus

AHBStatus

Bit

Fie ld

31-10 reserved

9 CE

Default R/W 0 R
undef R/W

De s cr iption Reserved
EDAC correctable error. This bit is set w hen a correctbale EDAC error is detected

­ All Rights Reserved ­ Copyright per DIN 34 ­

AHBStatus

Bit

Fie ld

8 NE

7 RW 6-3 HMASTER

2-0 HSIZE

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 160 of 230

Default R/W 0 R/W
undef R undef R
undef R

De s cr iption This bit has to be cleared by the softw are New Error. This bit is set w hen a new error occurred. AHBStatus and AHBFailingAddress remain locked (no new error is recorded) until this bit is cleared by SW.
Read/Write. This bit is set if the failed access w as a read cycle, otherw ise it is zero
AHB master. This field contains the master that generated the failed access
0 = Processor 1 = CRC Module 2 = SpW Module 3 = UART_DMA 4 = GNSS Module 5 = Milbus 6 = DSU 7-15 = reserved This field contains the size of the failed transfer 0 = 1 Byte 1 = 2 Byte 2 = 4 Byte 3 = 8 Byte 4-7 = reserved

7.2.2.6 CacheCtrl

Cache Ctr l

Bit

Fie ld

31-30 DREPL

29-28 IREPL

27-26 25-24
23

ISETS DSETS DS

22 FD

21 FI

20-19 CPC 18-17 CPTE

16 IB

15 IP

14 DP

De fault

R/W

1 R

1 R

3 R 1 R 0 R/W

0 W

0 W

2 R undef R/W

0 R/W

0 R

0 R

De s cr iption Data cache replacement policy (DREPL) 1 = Pseudo Random Instruction cache replacement policy (IREPL) 1 = Pseudo Random 3 = 4-w ay associative 1 = 2-w ay associative 0 = disable data cache snooping 1 = enable data cache snooping 0 = data cache is not flushed 1 = data cache is flushed 0 = instruction cache is not flushed 1 = instruction cache is flushed 2 = 2 cache parity bits (CPC) are used to protect the caches Cache parity test bits. (CPTE). These bits are XOR'ed to the data and tag parity bits during diagnostic w rites.
0 = burst f ill during instruction f etch disabled 1 = burst f ill during instruction f etch enabled Instruction cache flush pending (IP). This bit is set w hen an instruction cache f lush operation is in progress
Data cache flush pending (DP). This bit is set w hen a data cache flush operation is in progress

­ All Rights Reserved ­ Copyright per DIN 34 ­

Cache Ctr l

Bit

Fie ld

13-12 ITE

11-10 IDE

9-8 DTE

7-6 DDE

5 DF 4 IF 3-2 DCS

1-0 ICS

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 161 of 230

De fault

R/W

undef R/W

De s cr iption
Instruction cache tag error counter (ITE). This filed is incremented every time an instruction cache tag parity error is detected

undef R/W undef R/W undef R/W undef R/W

Instruction cache data error counter (IDE) - This field is incremented each time an instruction cache data sub-block parity error is detected
Data cache tag error counter (DTE) - This field is incremented every time a data cache tag parity error is detected. Does not overflow , stops at '11'. Can be cleared by w riting zeroes into the corresponding bits
Data cache data error counter (DDE) - This field is incremented each time an instruction cache data sub-block parity error is detected. Does not overflow , stops at '11'. Can be cleared by w riting zeroes into the corresponding bits
Data Cache Freeze on Interrupt (DF) - If set, the data cache w ill automatically be frozen w hen an asynchronous interrupt is taken

undef R/W 0 R/W
0 R/W

Instruction Cache Freeze on Interrupt (IF) - If set, the instruction cache w ill automatically be frozen w hen an asynchronous interrupt is taken
Data Cache state. Indicates the current data cache state Note: Alw ays flush the data cache before enabling 0 = disabled 1 = frozen 2 = disabled 3 = enabled Instruction Cache state. Indicates the current data cache state Note: Alw ays flush the instruction cache before enabling 0 = disabled 1 = frozen 2 = disabled 3 = enabled

7.2.2.7 PowerDown

Pow erDow n

Bit

Fie ld

De fault

31-0 value

R/W 0 R/W

De s cr iption w rite of arbitrary value causes pow er dow n of Integer Unit

7.2.2.8 LeonConfig

Le onConfig

Bit

Fie ld

31 reserved

30 DSUPresent

29 SDRAMPresent

28-26 NrOfWatchpoints

25 UMACPresent

24-20 NWINDOWS

Default R/W 0 R 1 R 0 R 4 R 0 R 7 R

De s cr iption Reserved DSU is present in AGGA-4 SDRAM Controller is not present in AGGA-4 Four Watchpoints are implemented in the AGGA-4 UMAC/SMA C instruction is not implemented in the AGGA-4 There are 8 SPARC register w indow s implemented in AGGA-4

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 162 of 230

Le onConfig

Bit

Fie ld

19-17 ICSZ

16-15 ILSZ 14-12 DCSZ

11-10 9 8 7

DLSZ UDIVPresent UMULPres e nt LeonWdgPresent

6 MemStatReg 5-4 FPUType 3-2 PCICoreType 1-0 WriteProtectType

Default R/W 3 R
3 R 3 R
2 R 1 R 1 R 0 R
1 R 2 R 0 R 1 R

De s cr iption Instruction cache set size. The size (in Kbytes) of the instruction cache set. Cache set size = 2ICSZ = 23 = 8 kByte
AGGA4 has 4 instruction cache sets (CacheCtrlReg.ISETS), hence the total data cache size is 32 kByte Instruction cache line size (in 32-bit w ords) = 2ILSZ = 23 = 8 Data cache set size. The size (in Kbytes) of the data cache set. Cache set size = 2DCSZ = 23 = 8 kByte
AGGA4 has 2 data cache sets (CacheCtrlReg.DSETS), hence the total data cache size is 16 kByte Data cache line size (in 32-bit w ords) = 2DLSZ = 24 = 4
UDIV/SDIV instruction is implemented in AGGA-4 UMUL/SMUL instruction is implemented in AGGA-4 Leon standard w atchdog is not implemented in AGGA-4 AGGA-4 has an advanced w atchdog implemented Memory status and failing address register present Gaisler FPU is implemented in AGGA-4 There is no PCI interface in the AGGA-4 Standard Write protection type is implemented in AGGA-4

7.2.3 Timer Registers

7.2.3.1 TimerN_Counter

The register description is valid for the following registers: Timer1_Counter, Timer2_Counter, Timer3_Counter, and

Timer4_Counter.

Tim erN_Counter

Bit Field

De fault

R/W Description

31-0 CounterValue

undef R/W read: current counter value

w rite: counter value is modified once

7.2.3.2 TimerN_Reload

The register description is valid for the following regist ers: Timer1_Reload, Timer2_Reload, Timer3_Reload, and Timer4_Reload.

Tim erN_Reload

Bit Field

De fault

R/W Description

31-0 ReloadValue

undef R/W Timer division ratio = ReloadValue + 1

7.2.3.3 TimerN_Ctrl

The register description is valid for the following registers: Timer1_Ctrl, Timer2_Ctrl, Timer3_Ctrl, and Timer4_Ctrl.

Tim erN_Ctrl

Bit

Fie ld

Default R/W Description

31-3 reserved

0 R Reserved

2 LD

undef W 0 = do nothing

1 = load the reload value into the counter register

1 RL

undef R/W 0 = counter w ill not be reloaded automatically after underflow

1 = counter w ill be reloaded automatically after underflow

0 EN

0 R/W 0 = disable timer

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Tim erN_Ctrl

Bit

Fie ld

Default R/W Description 1 = enable timer

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 163 of 230

7.2.3.4 TimerPrescaleCounter

Tim erPrescaleCounter

Bit

Fie ld

Default R/W

31-10 reserved

0 R

9-0 CounterValue

0 R/W

De s cr iption reserved read: current counter value w rite: counter value is modified once

7.2.3.5 TimerPrescaleReload

Tim erPrescaleReload

Bit

Fie ld

De fault

R/W

31-10 reserved

0 R

9-0 ReloadValue

0 R/W

De s cr iption
Reserved
Prescaler division ratio = ReloadValue + 1 Note that this value must be set to at least 7 before enabling the timers

7.2.4 Primary Interrupt Controller Registers

7.2.4.1 PrimIntMaskAndPrio
Prim IntMaskAndPrio Bit Field
31 reserved 30 DSUTraceBufPrio

Default R/W 1 R 0 R/W

29 Timer4Prio

0 R/W

28 PIO3Prio

0 R/W

27 GICHighPrio

0 R/W

26 Timer3Prio

0 R/W

25 PIO2Prio

0 R/W

24 CICPrio

0 R/W

23 Timer2Prio

0 R/W

22 PIO1Prio

0 R/W

21 GICLow Prio

0 R/W

20 FFTDonePrio

0 R/W

19 Timer1Prio

0 R/W

De s cr iption reserved (NMI is alw ays priority 1) 0 = Interrupt is low priority 1 = Interrupt is high priority 0 = Interrupt is low priority 1 = Interrupt is high priority 0 = Interrupt is low priority 1 = Interrupt is high priority 0 = Interrupt is low priority 1 = Interrupt is high priority 0 = Interrupt is low priority 1 = Interrupt is high priority 0 = Interrupt is low priority 1 = Interrupt is high priority 0 = Interrupt is low priority 1 = Interrupt is high priority 0 = Interrupt is low priority 1 = Interrupt is high priority 0 = Interrupt is low priority 1 = Interrupt is high priority 0 = Interrupt is low priority 1 = Interrupt is high priority 0 = Interrupt is low priority 1 = Interrupt is high priority 0 = Interrupt is low priority

­ All Rights Reserved ­ Copyright per DIN 34 ­

Prim IntMaskAndPrio Bit Field
18 PIO0Prio 17 AHBErrorPrio 16 reserved 15 reserved 14 DSUTraceBufMask 13 Timer4Mask 12 PIO3Mas k 11 GICHighMask 10 Timer3Mask
9 PIO2Mas k 8 CICMask 7 Timer2Mask 6 PIO1Mas k 5 GICLow Mask 4 FFTDoneMask 3 Timer1Mask 2 PIO0Mas k 1 AHBErrorMask 0 reserved

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 164 of 230

Default R/W 0 R/W 0 R/W 0 R 0 R 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R

De s cr iption 1 = Interrupt is high priority 0 = Interrupt is low priority 1 = Interrupt is high priority 0 = Interrupt is low priority 1 = Interrupt is high priority Reserved reserved (NMI is not maskable) 0 = Interrupt disabled 1 = Interrupt enabled 0 = Interrupt disabled 1 = Interrupt enabled 0 = Interrupt disabled 1 = Interrupt enabled 0 = Interrupt disabled 1 = Interrupt enabled 0 = Interrupt disabled 1 = Interrupt enabled 0 = Interrupt disabled 1 = Interrupt enabled 0 = Interrupt disabled 1 = Interrupt enabled 0 = Interrupt disabled 1 = Interrupt enabled 0 = Interrupt disabled 1 = Interrupt enabled 0 = Interrupt disabled 1 = Interrupt enabled 0 = Interrupt disabled 1 = Interrupt enabled 0 = Interrupt disabled 1 = Interrupt enabled 0 = Interrupt disabled 1 = Interrupt enabled 0 = Interrupt disabled 1 = Interrupt enabled Reserved

7.2.4.2 PrimIntPending

Prim IntPending

Bit

Fie ld

31-16 reserved

15 NMI

14 DSUTraceBuf

13 Timer4

12 PIO3

Default R/W 0 R 0 R
0 R
0 R
0 R

De s cr iption Reserved 0 = Interrupt is not pending 1 = Interrupt is pending 0 = Interrupt is not pending 1 = Interrupt is pending 0 = Interrupt is not pending 1 = Interrupt is pending 0 = Interrupt is not pending 1 = Interrupt is pending

­ All Rights Reserved ­ Copyright per DIN 34 ­

Prim IntPending

Bit

Fie ld

11 GICHigh

10 Timer3

9 PIO2

8 CIC

7 Timer2

6 PIO1

5 GICLow

4 FFTDone

3 Timer1

2 PIO0

1 AHBError

0 reserved

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 165 of 230

Default R/W 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R

De s cr iption 0 = Interrupt is not pending 1 = Interrupt is pending 0 = Interrupt is not pending 1 = Interrupt is pending 0 = Interrupt is not pending 1 = Interrupt is pending 0 = Interrupt is not pending 1 = Interrupt is pending 0 = Interrupt is not pending 1 = Interrupt is pending 0 = Interrupt is not pending 1 = Interrupt is pending 0 = Interrupt is not pending 1 = Interrupt is pending 0 = Interrupt is not pending 1 = Interrupt is pending 0 = Interrupt is not pending 1 = Interrupt is pending 0 = Interrupt is not pending 1 = Interrupt is pending 0 = Interrupt is not pending 1 = Interrupt is pending Reserved

7.2.4.3 PrimIntForce

Prim IntForce

Bit

Fie ld

31-16 reserved

15 NMI

14 DSUTraceBuf

13 Timer4

12 PIO3

11 reserved 10 Timer3

9 PIO2

8 reserved 7 Timer2

6 PIO1

5 reserved 4 FFTDone

Default R/W 0 R 0 R/W
0 R/W
0 R/W
0 R/W
0 R 0 R/W
0 R/W
0 R 0 R/W
0 R/W
0 R 0 R/W

De s cr iption Reserved 0 = Interrupt is not forced 1 = Interrupt is forced 0 = Interrupt is not forced 1 = Interrupt is forced 0 = Interrupt is not forced 1 = Interrupt is forced 0 = Interrupt is not forced 1 = Interrupt is forced Reserved 0 = Interrupt is not forced 1 = Interrupt is forced 0 = Interrupt is not forced 1 = Interrupt is forced Reserved 0 = Interrupt is not forced 1 = Interrupt is forced 0 = Interrupt is not forced 1 = Interrupt is forced Reserved 0 = Interrupt is not forced 1 = Interrupt is forced

­ All Rights Reserved ­ Copyright per DIN 34 ­

Prim IntForce

Bit

Fie ld

3 Timer1

2 PIO0

1 AHBError

0 reserved

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 166 of 230

Default R/W 0 R/W 0 R/W 0 R/W 0 R

De s cr iption 0 = Interrupt is not forced 1 = Interrupt is forced 0 = Interrupt is not forced 1 = Interrupt is forced 0 = Interrupt is not forced 1 = Interrupt is forced Reserved

7.2.4.4 PrimIntClear

Prim IntClear

Bit

Fie ld

31-16 reserved

15 NMI

14 DSUTraceBuf

13 Timer4

12 PIO3

11 reserved 10 Timer3

9 PIO2

8 reserved 7 Timer2

6 PIO1

5 reserved 4 FFTDone

3 Timer1

2 PIO0

1 AHBError

0 reserved

Default R/W 0 R 0 W
0 W 0 W
0 W 0 R 0 W 0 W
0 R 0 W
0 W 0 R 0 W
0 W 0 W
0 W 0 R

De s cr iption reserved 0 = Interrupt is not cleared 1 = Interrupt is cleared 0 = Interrupt is not cleared 1 = Interrupt is cleared 0 = Interrupt is not cleared 1 = Interrupt is cleared 0 = Interrupt is not cleared 1 = Interrupt is cleared reserved 0 = Interrupt is not cleared 1 = Interrupt is cleared 0 = Interrupt is not cleared 1 = Interrupt is cleared reserved 0 = Interrupt is not cleared 1 = Interrupt is cleared 0 = Interrupt is not cleared 1 = Interrupt is cleared Reserved 0 = Interrupt is not cleared 1 = Interrupt is cleared 0 = Interrupt is not cleared 1 = Interrupt is cleared 0 = Interrupt is not cleared 1 = Interrupt is cleared 0 = Interrupt is not cleared 1 = Interrupt is cleared Reserved

7.2.5 PIO Registers

7.2.5.1
PIO_IO Bit
31-16

PIO_IO
Fie ld reserved

Default R/W Description

0 R

Reserved

­ All Rights Reserved ­ Copyright per DIN 34 ­

PIO_IO Bit
15

Fie ld PIO15Dat a

14 PIO14Data

13 PIO13Data

12 PIO12Data

11 PIO11Data

10 PIO10Data

9 PIO9Data

8 PIO8Data

7 PIO7Data

6 PIO6Data

5 PIO5Data

4 PIO4Data

3 PIO3Data

2 PIO2Data

1 PIO1Data

0 PIO0Data

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 167 of 230

Default R/W undef R/W undef R/W undef R/W undef R/W undef R/W undef R/W undef R/W undef R/W undef R/W undef R/W undef R/W undef R/W undef R/W undef R/W undef R/W undef R/W

De s cr iption read: current level of IO (regardless of PIODirection) w rite: value driven on PIO output (if PIODirection is set to output) read: current level of IO (regardless of PIODirection) w rite: value driven on PIO output (if PIODirection is set to output) read: current level of IO (regardless of PIODirection) w rite: value driven on PIO output (if PIODirection is set to output) read: current level of IO (regardless of PIODirection) w rite: value driven on PIO output (if PIODirection is set to output) read: current level of IO (regardless of PIODirection) w rite: value driven on PIO output (if PIODirection is set to output) read: current level of IO (regardless of PIODirection) w rite: value driven on PIO output (if PIODirection is set to output) read: current level of IO (regardless of PIODirection) w rite: value driven on PIO output (if PIODirection is set to output) read: current level of IO (regardless of PIODirection) w rite: value driven on PIO output (if PIODirection is set to output) read: current level of IO (regardless of PIODirection) w rite: value driven on PIO output (if PIODirection is set to output) read: current level of IO (regardless of PIODirection) w rite: value driven on PIO output (if PIODirection is set to output) read: current level of IO (regardless of PIODirection) w rite: value driven on PIO output (if PIODirection is set to output) read: current level of IO (regardless of PIODirection) w rite: value driven on PIO output (if PIODirection is set to output) read: current level of IO (regardless of PIODirection) w rite: value driven on PIO output (if PIODirection is set to output) read: current level of IO (regardless of PIODirection) w rite: value driven on PIO output (if PIODirection is set to output) read: current level of IO (regardless of PIODirection) w rite: value driven on PIO output (if PIODirection is set to output) read: current level of IO (regardless of PIODirection) w rite: value driven on PIO output (if PIODirection is set to output)

7.2.5.2 PIODirection

PIODir e ction

Bit

Fie ld

Default R/W

31-16 reserved 15 PIO15OutEn

0 R 0 R/W

14 PIO14OutEn

0 R/W

13 PIO13OutEn

0 R/W

12 PIO12OutEn

0 R/W

11 PIO11OutEn

0 R/W

10 PIO10OutEn

0 R/W

De s cr iption Reserved 0 = IO is input 1 = IO is output 0 = IO is input 1 = IO is output 0 = IO is input 1 = IO is output 0 = IO is input 1 = IO is output 0 = IO is input 1 = IO is output 0 = IO is input 1 = IO is output

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

PIODir e ction

Bit

Fie ld

9 PIO9OutEn

8 PIO8OutEn

7 PIO7OutEn

6 PIO6OutEn

5 PIO5OutEn

4 PIO4OutEn

3 PIO3OutEn

2 PIO2OutEn

1 PIO1OutEn

0 PIO0OutEn

Default R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W

De s cr iption 0 = IO is input 1 = IO is output 0 = IO is input 1 = IO is output 0 = IO is input 1 = IO is output 0 = IO is input 1 = IO is output 0 = IO is input 1 = IO is output 0 = IO is input 1 = IO is output 0 = IO is input 1 = IO is output 0 = IO is input 1 = IO is output 0 = IO is input 1 = IO is output 0 = IO is input 1 = IO is output

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 168 of 230

7.2.5.3 PIOIntConfig

PIOIntConfig

Bit

Fie ld

Default R/W

31 EN3

0 R/W

30 LE3

undef R/W

29 PL3

undef R/W

28-24 ISEL3

undef R/W

23 EN2 22 LE2 21 PL2

0 R/W undef R/W undef R/W

20-16 ISEL2

undef R/W

15 EN1 14 LE1

0 R/W undef R/W

De s cr iption Enable. If set, the corresponding interrupt w ill be enabled, otherw ise it w ill be disabled
Level/edge triggered. If set, the interrupt w ill be edge-triggered, otherw ise level sensitive
Polarity. If set, the corresponding interrupt w ill be active high (or edgetriggered on positive edge). Otherw ise, it w ill be active low (or edgetriggered on negative edge)
I/O port select. The value of this field defines w hich I/O port (0 - 15) should generate parallel I/O port interrupt n. Note that I/O 16-31 are not valid.
Enable. If set, the corresponding interrupt w ill be enabled, otherw ise it w ill be disabled
Level/edge triggered. If set, the interrupt w ill be edge-triggered, otherw ise level sensitive
Polarity. If set, the corresponding interrupt w ill be active high (or edgetriggered on positive edge). Otherw ise, it w ill be active low (or edgetriggered on negative edge)
I/O port select. The value of this field defines w hich I/O port (0 - 15) should generate parallel I/O port interrupt n. Note that I/O 16-31 are not valid.
Enable. If set, the corresponding interrupt w ill be enabled, otherw ise it w ill be disabled
Level/edge triggered. If set, the interrupt w ill be edge-triggered, otherw ise level sensitive

­ All Rights Reserved ­ Copyright per DIN 34 ­

PIOIntConfig

Bit

Fie ld

13 PL1

12-8 ISEL1

7 EN0 6 LE0 5 PL0

4-0 ISEL0

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 169 of 230

Default R/W undef R/W
undef R/W
0 R/W undef R/W undef R/W
undef R/W

De s cr iption Polarity. If set, the corresponding interrupt w ill be active high (or edgetriggered on positive edge). Otherw ise, it w ill be active low (or edgetriggered on negative edge)
I/O port select. The value of this field defines w hich I/O port (0 - 15) should generate parallel I/O port interrupt n. Note that I/O 16-31 are not valid.
Enable. If set, the corresponding interrupt w ill be enabled, otherw ise it w ill be disabled
Level/edge triggered. If set, the interrupt w ill be edge-triggered, otherw ise level sensitive
Polarity. If set, the corresponding interrupt w ill be active high (or edgetriggered on positive edge). Otherw ise, it w ill be active low (or edgetriggered on negative edge)
I/O port select. The value of this field defines w hich I/O port (0 - 15) should generate parallel I/O port interrupt n. Note that I/O 16-31 are not valid.

7.2.6 Watchdog Registers

7.2.6.1 WdogPrescale

WdogPr e s cale

Bit

Fie ld

31-16 reserved

15-0 PrescaleValue

Default R/W 0 R
65536 R/W

De s cr iption Reserved Prescaler = PrescaleValue * 4 + 2

7.2.6.2 WdogReload

WdogRe load

Bit

Fie ld

31-24 reserved

23-0 ReloadValue

De fault

R/W

0 R

0 R/W

De s cr iption Reserved
Division Ratio = ReloadValue + 1 (a ReloadValue of 0 disables the w atchdog)

7.2.6.3 WdogSel

WdogSe l

Bit

Fie ld

31-1 reserved

0 WdogSel

Default R/W 0 R 0 W

De s cr iption
Reserved
0 = AGGA reset is executed after 1st elapse of Wdog
1 = NMI interrupt is generated after 1st elapse of Wdog and AGGA reset is executed after 2nd elapse of Wdog Note: This bit is not readable. The application should cache the value in memory if needed.

7.2.6.4 WdogWriteEnable

WdogWr ite Enable

Bit

Field Default R/W

De s cr iption

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 170 of 230

WdogWr ite Enable

Bit

Field Default R/W

31-0

0 W

De s cr iption
w rite of "0xDEADAFFE" enables a one time w rite access to either the WdogPrescale or the WdogReload register

7.2.7 Debug link (UART and SPW) Registers

7.2.7.1 DSU_UART_Status

Note: The fol l owi ng regi ster descri pti on i s onl y val i d i f the DSU i s operated vi a UART.

DSU_UART _Status (valid if DSU_SPW_EN pin = low )

Bit

Fie ld

De fault

R/W Description

31-7 reserved

0 R

Reserved

6 FE

0 R

Framing error (FE) -indicates that a framing error w as detected

5 reserved

0 R

Reserved

4 OV

0 R

(OV) - indicates that one or more character have been lost due to overrun

3 reserved 2 TH

0 R 1 R

Reserved
Transmitter hold register empty (TH) - indicates that the transmitter hold register is empty

1 TS

1 R

Transmitter shift register empty (TS) - indicates that the transmitter shift register is empty

0 DR

0 R

Data ready (DR) - indicates that new data is available in the receiver holding register

7.2.7.2 DSU_UART_SpW_Ctrl

DSU_UART _Sp W_Ctrl

Bit

Fie ld

Default R/W

31-3 reserved

0 R

2 LinkSpeed

0 R/W

1 BL

0 R/W

De s cr iption Reserved 0 = SpW link speed = 10MBits/s 1 = SpW link speed = SysClk Note: this bit is only valid if DSU SpW is enabled (pin DSU_SPW_EN = 1) Baud rate locked (BL) - is automatically set w hen the baud rate is locked

0 RE

Note: this bit is only valid if DSU UART is enabled (pin DSU_SPW_EN = 0) 0 R/W Receiver enable (RE) - if set, enables both the transmitter and receiver

Note: this bit is only valid if DSU UART is enabled (pin DSU_SPW_EN = 0)

7.2.7.3 DSU_UART_Scaler

Note: The fol l owi ng regi ster descri pti on i s onl y val i d i f the DSU i s operated vi a UART.

DSU_UART _Scaler (valid if DSU_SPW_EN pin = low )

Bit

Fie ld

De fault

R/W Description

31-14 reserved 13-0 ReloadValue

0 R 8191 R/W

Reserved
Baud Rate = SysClk / [ 8 * (ReloadValue + 1) ] or ReloadValue = SysClk / (BaudRate * 8) - 1

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 171 of 230

7.2.8 Write Protect Registers
7.2.8.1 WriteProtectN The register description is valid for the WriteProtect1 and t he WriteProtect2 regist er (Address/Mask prot ect ion)

Wr ite Pr ote ctN

Bit

Fie ld

31 EN

30 BP

29-15 TAG 14-0 MASK

De fault

R/W

0 R/W

undef R/W

undef R/W undef R/W

De s cr iption 0 = disable w rite protect unit 1 = enable w rite protect unit 0 = segement protect mode 1 = block protect mode Address Tag. This field is compared against address(29:15) Address Mask. This field contains the address mask

7.2.8.2 WriteProtectStartAddressN

The register description is valid for the following registers: WriteProtectStartAddress3, WriteProtectStartAddress4

Wr ite Pr ote ctStar tAddr ess N

Bit

Fie ld

De fault

R/W Description

31-30 reserved

0 R

reserved

29-2 Start

undef R/W contains the first address in the protected block

1 BP

undef R/W Block Protect. If set, selects block protect mode

0 reserved

0 R

reserved

7.2.8.3 WriteProtectEndAddressN

The register description is valid for the following regist ers: WriteProtectEndAddress3, WriteProtectEndAddress4

Wr ite Pr ote ctEndAddr e s sN

Bit

Fie ld

Default R/W Description

31-30 reserved

0 R

reserved

29-2 End

undef R/W contains the last address in the protected block

1 UM

0 R/W User Mode. If set, w rite protection is enabled for user mode accesses

0 SU

0 R/W

Superuser Mode. If set, w rite protection is enabled for superuser mode accesses

7.2.9 GPIO Registers

7.2.9.1 GPIO_Status

GPIO_Status

Bit

Fie ld

31-16 reserved 15 GPIO_15

... 1 GPIO_1

0 GPIO_0

Default R/W 0 R
N/A R

De s cr iption reserved 0 = GPIO[15] is level low 1 = GPIO[15] is level high

N/A R N/A R

0 = GPIO[1] is level low 1 = GPIO[1] is level high 0 = GPIO[0] is level low 1 = GPIO[0] is level high

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 172 of 230

7.2.9.2 GPIO_Output

GPIO_Output

Bit

Fie ld

Default R/W

31-16 reserved

0 R

15 GPIO_15

0 R/W

... 1 GPIO_1

0 R/W

0 GPIO_0

0 R/W

De s cr iption reserved 0 = GPIO[15] is assigned to level low 1 = GPIO[15] is assigned to level high
0 = GPIO[1] is assigned to level low 1 = GPIO[1] is assigned to level high 0 = GPIO[0] is assigned to level low 1 = GPIO[0] is assigned to level high

7.2.9.3 GPIO_Direction

GPIO_Dir e ction

Bit

Fie ld

31-16 reserved

15 GPIO_15

... 1 GPIO_1

0 GPIO_0

Default R/W 0 R 0 R/W
0 R/W 0 R/W

De s cr iption reserved 0 = GPIO[15] is an input 1 = GPIO[14] is an output
0 = GPIO[1] is an input 1 = GPIO[1] is an output 0 = GPIO[0] is an input 1 = GPIO[0] is an output

7.2.10 Reset and Miscellaneous Registers

7.2.10.1 ResetStatus
Re s e tStatus Bit Field 31-9 DataContainer

Default R/W all "1" R/W

De s cr iption
these bits can be used by the SW to store information over a reset (except pow er on reset). The bits are not changed by any reset, except pow er on reset. The bits are also not touched by any HW functionality.

8 MilBusTrigReset 7 GNSS_ResetHw 6 GNSS_ResetSw 5 AGGAResetSw 4 AGGAResetHw 3 WdogReset2 2 WdogReset1 1 NMI_WDOG
0 NMI_External

1 R/W 1 R/W 1 R/W 1 R/W 1 R/W 1 R/W 1 R/W 1 R/W
1 R/W

If a reset occurs, the bit is set to "0" by the hardw are.
If a reset occurs, the bit is set to "0" by the hardw are. If a reset occurs, the bit is set to "0" by the hardw are.
If a reset occurs, the bit is set to "0" by the hardw are. If a reset occurs, the bit is set to "0" by the hardw are.
If a reset occurs, the bit is set to "0" by the hardw are. If a reset occurs, the bit is set to "0" by the hardw are.
If the Watchdog triggered the NMI, the bit is set to "0" by the hardw are.
When NMI_INT pin is raised for >= 1 SysClk cycle, the bit is set to "0" by the hardw are. NMI (IRQ15) assertion requires BOTH edges (rise-fall or fall-rise) to occur w ith > 1 SysClk cycle distance.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 173 of 230

7.2.10.2 SWResetEnable

Sw ResetEnable

Bit

Fie ld

Default R/W Description

31-0

0 W

w rite of 0xDEADAFFE arms the softw are reset any other value w ill inhibit a softw are reset arming is granted for one w rite of Sw ResetExecute

7.2.10.3 SWResetExecute

Sw ResetExecute

Bit

Fie ld

31-0

Default R/W 0 W

De s cr iption w rite of 0xBEBECA FE executes an AGGA reset w rite of 0xCAFEBEBE executes a GNSS reset register has to be armed first by Sw ResetEnable register

7.2.10.4 MilBusRTAddress

M ilBus RTAddr e s s

Bit Field

Default R/W

31-6 reserved

0 R

5 Parity

0 R/W

4-0 RTAddress

0 R/W

De s cr iption reserved Parity for Mil Bus Remote Terminal Address Mil Bus Remote Terminal Address

7.2.10.5 AGGA4Version

AGGA4V e r s ion

Bit

Fie ld

De fault

31-0 Version

R/W 1 R

De s cr iption "1" for the AGGA4 ASIC

7.2.11 Communication Interrupt Controller Registers

7.2.11.1 CIC_Mask

CIC_M as k

Bit

Fie ld

31-13 reserved

12 MilBusNominal

(C53It)

11 MilBusReset

(C53Rst)

10 MilBusError

(C53Err)

9 SpaceWire

8 UART1_Error

7 UART1_TxDone

6 UART1_RxDone

5 UART0_Error

4 UART0_TxDone

Default R/W Description 0 R reserved 0 R/W 0 = Interrupt for Mil Bus Nominal is disabled 1 = Interrupt for Mil Bus Nominal is enabled 0 R/W 0 = Interrupt for Mil Bus Reset is disabled 1 = Interrupt for Mil Bus Reset is enabled 0 R/W 0 = Interrupt for Mil Bus Error is disabled 1 = Interrupt for Mil Bus Error is enabled 0 R/W 0 = Interrupt for SpaceWire is disabled 1 = Interrupt for SpaceWire is enabled 0 R/W 0 = Interrupt for UART1 Error is disabled 1 = Interrupt for UART1 Error is enabled 0 R/W 0 = Interrupt for UART1 Transmission Done is disabled 1 = Interrupt for UART1 Transmission Done is enabled 0 R/W 0 = Interrupt for UART1 Receive Done is disabled 1 = Interrupt for UART1 Receive Done is enabled 0 R/W 0 = Interrupt for UART0 Error is disabled 1 = Interrupt for UART0 Error is enabled 0 R/W 0 = Interrupt for UART0 Transmission Done is disabled

­ All Rights Reserved ­ Copyright per DIN 34 ­

CIC_M as k

Bit

Fie ld

3 UART0_RxDone

2 SPI

1 CRCReady

0 SGPOOverrun

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 174 of 230

Default R/W Description 1 = Interrupt for UART0 Transmission Done is enabled
0 R/W 0 = Interrupt for UART0 Receive Done is disabled 1 = Interrupt for UART0 Receive Done is enabled
0 R/W 0 = Interrupt for SPI is disabled 1 = Interrupt for SPI is enabled
0 R/W 0 = Interrupt for CRC Ready is disabled 1 = Interrupt for CRC Ready is enabled
0 R/W 0 = Interrupt for Serial GPO Overrun is disabled 1 = Interrupt for Serial GPO Overrun is enabled

7.2.11.2 CIC_Pending

CIC_Pe nding

Bit

Fie ld

31-13 reserved

12 MILBusNominal (C53It)
11 MILBusReset (C53Rst)

10 MILBusError (C53Err)

9 SpaceWire

8 UART1_Error

7 UART1_TxDone

6 UART1_RxDone

5 UART0_Error

4 UART0_TxDone

3 UART0_RxDone

2 SPI

1 CRCReady

0 SGPOOverrun

Default R/W Description 0 R Reserved 0 R 0 = Interrupt for Mil Bus Nominal is not pending 1 = Interrupt for Mil Bus Nominal is pending 0 R 0 = Interrupt for Mil Bus Reset is not pending 1 = Interrupt for Mil Bus Reset is enabled 0 R 0 = Interrupt for Mil Bus Error is pending 1 = Interrupt for Mil Bus Error is enabled 0 R 0 = Interrupt for SpaceWire is not pending 1 = Interrupt for SpaceWire is pending 0 R 0 = Interrupt for UART1 Error is not pending 1 = Interrupt for UART1 Error is pending 0 R 0 = Interrupt for UART1 Transmission Done is not pending 1 = Interrupt for UART1 Transmission Done is pending 0 R 0 = Interrupt for UART1 Receive Done is not pending 1 = Interrupt for UART1 Receive Done is pending 0 R 0 = Interrupt for UART0 Error is not pending 1 = Interrupt for UART0 Error is pending 0 R 0 = Interrupt for UART0 Transmission Done is not pending 1 = Interrupt for UART0 Transmission Done is pending 0 R 0 = Interrupt for UART0 Receive Done is not pending 1 = Interrupt for UART0 Receive Done is pending 0 R 0 = Interrupt for SPI is not pending 1 = Interrupt for SPI is pending 0 R 0 = Interrupt for CRC Ready is not pending 1 = Interrupt for CRC Ready is pending 0 R 0 = Interrupt for Serial GPO Overrun is not pending 1 = Interrupt for Serial GPO Overrun is pending

7.2.11.3 CIC_Clear

CIC_Cle ar

Bit

Fie ld

31-13 reserved

12 reserved

11 reserved

10 reserved

9 reserved

8 UART1_Error

Default R/W Description 0 R Reserved 0 R reserved (MilBus Interrupt has to be cleared in MilBus Module) 0 R reserved (MilBus Interrupt has to be cleared in MilBus Module) 0 R reserved (MilBus Interrupt has to be cleared in MilBus Module) 0 R reserved (SpW Interrupt has to be cleared in SpW Module) 0 W 0 = Interrupt for UART1 Error is not cleared

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 175 of 230

CIC_Cle ar

Bit

Fie ld

7 UART1_TxDone

6 UART1_RxDone

5 UART0_Error

4 UART0_TxDone

3 UART0_RxDone

2 SPI

1 CRCReady

0 SGPOOverrun

Default R/W Description 1 = Interrupt for UART1 Error is cleared
0 W 0 = Interrupt for UART1 Transmission Done is not cleared 1 = Interrupt for UART1 Transmission Done is cleared
0 W 0 = Interrupt for UART1 Receive Done is not cleared 1 = Interrupt for UART1 Receive Done is cleared
0 W 0 = Interrupt for UART0 Error is not cleared 1 = Interrupt for UART0 Error is cleared
0 W 0 = Interrupt for UART0 Transmission Done is not cleared 1 = Interrupt for UART0 Transmission Done is cleared
0 W 0 = Interrupt for UART0 Receive Done is not cleared 1 = Interrupt for UART0 Receive Done is cleared
0 W 0 = Interrupt for SPI is not cleared 1 = Interrupt for SPI is cleared
0 W 0 = Interrupt for CRC Ready is not cleared 1 = Interrupt for CRC Ready is cleared
0 W 0 = Interrupt for Serial GPO Overrun is not cleared 1 = Interrupt for Serial GPO Overrun is cleared

7.2.12 SPI Registers

7.2.12.1 SPI_StatusAndCtrl

SPI_Status AndCtr l

Bit

Fie ld

Default R/W Description

31-20 reserved

0 R Reserved

19-16 DataLength

0 R/W Number of bits to be sent/received ­ 1

The value must be betw een 8bits and 16bits

15-11 SlaveSelect

0 R/W Each bit enables the corresponding SELN line

Bit 11 corresponds to SELN0

Bit 15 corresponds to SELN4

0 = corresponding SELN line is high (deactivated)

1 = corresponding SELN line is low (activated)

10 XmtDone

1 R 0 = transmission ongoing

1 = transmission completed

9 XmtEmpty

1 R 0 = content of SPI_Tx is not transf ered to the Tx Shif ter yet

1 = content of SPI_Tx is already loaded into the TxShifter and therefore the SPI_Tx is empty and ready for new value

8 RxAvailable

0 R

0 = SPI_Rx is not ready for read
1 = SPI_Rx has received data and is ready for read. This bit is cleared by reading SPI_Rx register.

7 Ss_n_afterTx

0 R/W If set, the SPI_SEL_N signal is not deasserted betw een tw o consecutive transmissions to the same slave

6 reserved 5 TxEn 4 MsbFirst
3 ClkSel 2 ClkPhase

0 R Reserved 0 R/W 0 = SPI transmit disable
1 = SPI transmit enable 0 R/W Set order of the data transmission/reception
0 = LSB first 1 = MSB first 1 R/W 0 = Interface generates SPIClk on pin SPI_OUT_CLK 1 = Interface receives SPIClk on pin SPI_IN_CLK 0 R/W Clock phase of SPIClk in relationsihp to serial data.

­ All Rights Reserved ­ Copyright per DIN 34 ­

SPI_Status AndCtr l

Bit

Fie ld

1 ClkPol

0 RcvClkPol

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 176 of 230

Default R/W Description 0 = data valid on the 1st SPIClk after slave select asserted 1 = data valid on the 2nd SPIClk after slave select asserted
0 R/W Master clock polarity w hen idle 0 = SPIClk is low w hen idle 1 = SPIClk is high w hen idle
0 R/W Received clock polarity. 0 = MISO data sampled on the falling edge of SPIClk 1 = MISO data sampled on the rising edge of SPIClk

7.2.12.2 SPI_ClkDivider

SPI_Clk Divide r

Bit

Fie ld

De fault

31-8 reserved

7-0 DivRatio

R/W 0 R 0 R/W

De s cr iption Reserved DivRatio = SysClk / (8 * SPIClk) - 1

7.2.12.3 SPI_Tx

SPI_Tx

Bit

Fie ld

31-16 reserved 15-0 Data

Default R/W 0 R 0 R/W

De s cr iption Reserved Data to be transmitted

7.2.12.4 SPI_Rx

SPI_Rx

Bit

Fie ld

31-16 reserved 15-0 Data

Default R/W 0 R 0 R

De s cr iption Reserved Data received

7.2.13 CRC Unit Registers

7.2.13.1 CRCLFSR

CRCLFSR

Bit

Fie ld

Default R/W

31-0

0 R/W

De s cr iption
before CRC start: w rite init value to this register af ter CRC completion: read f inal CRC value f rom this register
Note that the w ritten init value can not be read back. When reading the register it alw ays reflects the CRC result. Assuming a polynomial of order n, Bit_0 corresponds to the initial values that matches xn-1, Bit_1 corresponds to the initial values that matches xn-2, ... Unless n=32, Bits n to 31 shall be zero.

7.2.13.2 CRCPolynom

CRCPolynom

Bit Field

Default R/W

31-0

0 R/W

De s cr iption
defines the feedback taps. A set bit means feedback tap active Assuming a polynomial of order n,

­ All Rights Reserved ­ Copyright per DIN 34 ­

CRCPolynom Bit Field

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 177 of 230

Default R/W Description Bit_0 corresponds to xn-1, Bit_1 corresponds to xn-2, ... Unless n=32, Bits n to 31 shall be zero.

7.2.13.3 CRCFinalXOR

CRCFinalXOR

Bit

Field Default

31-0

R/W 0 R/W

De s cr iption
at the end of the CRC processing, the result is XOR'd w ith CRCFina lX OR Assuming a polynomial of order n,
Bit_0 is xORed w ith Bit 0 of CRCLFSR, Bit_1 is xORed w ith bit 1 of CRCLFSR, etc. Unless n=32, Bits n to 31 shall be 0

7.2.13.4 CRCCtrl

CRCCtrl

Bit

Fie ld

31-2 reserved

1 ReverseResult

0 ReverseInData

Default R/W 0 R 0 R/W
0 R/W

De s cr iption Reserved 0 = CRC result is not reversed 1 = CRC result is reversed 0 = bytes are read from MSB to LSB (left to right) 1 = bytes are read from LSB to MSB (right to left)

7.2.13.5 CRCStartAddress

CRCStar tAddr e s s

Bit Field Default R/W

31-

0 R/W

0

De s cr iption start address of data to be processed
start address has to be 32bit aligned (bit 1:0 alw ays zero)

7.2.13.6 CRCEndAddress

CRCEndAddr e s s

Bit Field Default R/W

31-0

0 R/W

De s cr iption end address of data to be processed end address can be byte aligned DMA fetching and CRC processor w ill start w hen w riting to this register

7.2.13.7 CRCCurrentAddress

CRCCur Addr e s s

Bit

Field Default

R/W

31-0

0 R

De s cr iption current 8-bit address of data byte to be processed at the end of a CRC block: CRCCurAddress = CRCEndAddress

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 178 of 230

7.2.14 MILBUS Registers

7.2.14.1 C53CF

C53CF

Bit

Fie ld

31-28 reserved

27 DW16En

26-25 reserved 24-16 MemArea

15 Err1553Mask

Default R/W 0 R/W 0 R/W
0 R/W 0 R/W

De s cr iption Reserved
0 = 16-bit Word Size disabled 1 = 16-bit Word Size enabled Reserved
Memory area MSB: code the base address (19 LSB of Haddr at 0) of the 64Kw ords of data memory, follow ed by the 64Kw ords of BC instruction or RT command memory

0 R/W Err1553 Mask: must be at "0" to allow C53Err interrupt on 1553 error

14 ItSyncMask 13 ItTrokMask 12-8 ExtSubAd
7 WdSize 6 ExtArea 5 reserved 4 BrCstEn 3 DbcEn 2 TimeOut 1-0 Mode

0 R/W ItSync Mask: must be at "0" to allow C53It interrupt on reception of synchronise order

0 R/W ItTrok Mask: must be at "0" to allow C53It interrupt on end of a RT valid exchange

0 R/W 0 R/W
0 R/W 0 R/W 0 R/W 0 R/W
0 R/W 0 R/W

Sub-address number for Extended Memory Area mode 0 = 32bit Word Size 1 = 16bit Word Size (if DW16En is set to 1) 0 = extended memory area mode inhibited 1 = extended memory area mode activated Reserved 0 = broadcast mode disable 1 = broadcast mode enable 0 = dynamic bus control disable 1 = dynamic bus control enable 0 = 14us time out selection 1 = 31us time out selection 0 = Remote Terminal (RT) Mode 1 = reserved 2 = reserved 3 = Remote Terminal (RT) Mode

7.2.14.2 C53EMBA

C53EM BA

Bit

Fie ld

31-26 reserved

25-0 ExtMemAd

De fault

R/W

0 R

0 R

De s cr iption reserved
Base Address of the extended memory area (w ritten by 1553 link) (Word addressing)

7.2.14.3 C53CDST

C53CDST

Bit Field

Default R/W Description

31- LastCmdAd 0x10FFE R 15

Address in the 1553 memory area of the last command treated. Before any command, the value is irrelevant so the reset value is set to a value out of the command area. (Word addressing)

­ All Rights Reserved ­ Copyright per DIN 34 ­

14 ErrParAd 13-7 reserved
6 BusyFlag 5 RstSt 4-3 reserved 2 reserved 1 GoStop 0 Rst1553
7.2.14.4 C53NIT
C53NIT Bit Field
31-9 reserved 8-4 Sw itchSubAd 3 ItSw itch
2 ItDbc
1 ItSync
0 ItTrok

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 179 of 230

0 R Set to "1" in case of RT address parity error 0 R Reserved 0 R 0 = stand by state
1 = active state 0 R 0 = reset state or initialization state
1 = active state given by BusyFlag 0 R Reserved 0 R/W Reserved 0 R/W 1553 Start Stop Command: set to "1" to activate the 1553 function
0 R/W 1553 function reset: set to "1" to reset the 1553 part

Default R/W 0 R 0 R 0 R 0 R
0 R
0 R

De s cr iption reserved Last Sub-address number w hich activated ItSw itch Not Maskable Interrupt: Set to "1" after change of data address table for a Sub-address; reset upon register read access
Not Maskable Interrupt: Dynamic bus control Command reception: set to "1" after Dynamic bus control Mode command reception in RT mode; reset upon register read access
Maskable Interrupt: Set to "1" after reception of synchronise order, if SYNC bit set in the first instruction w ord; reset upon register read access
Maskable Interrupt: Set to "1" at the end of a RT valid exchange; reset upon register read access

7.2.14.5 C53EIT

C53EIT

Bit

Fie ld

31-5 reserved

4 ErrRTAd

3 reserved 2 reserved 1 Err1553

0 ErrMem

De fault

R/W 0 R 0 R

0 R/W 0 R 0 R

0 R

De s cr iption reserved Not Maskable Interrupt : Set to 1 in case of RT address parity error; reset upon register read access
reserved reserved Maskable Interrupt: Set to "1" in case of 1553 error; reset upon register read access
Not Maskable Interrupt: Set to "1" in case of DRAM access error; reset upon register read access

7.2.14.6 C53RIT

C53RIT

Bit

Fie ld

31-1 reserved

De fault

R/W

0 R

De s cr iption reserved

­ All Rights Reserved ­ Copyright per DIN 34 ­

C53RIT

Bit

Fie ld

0 RstCom

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 180 of 230

De fault

R/W

0 R

De s cr iption
Not maskable Interrupt: Set to "1" after reception of a valid "Reset Remote Terminal"; reset upon register read access

7.2.14.7 C53RTI

C53RTI

Bit

Fie ld

31-0 RTIndex

De fault

R/W

0 R

De s cr iption Reception Table Index Value

7.2.14.8 C53TTI

C53TTI

Bit

Fie ld

31-0 TTIndex

De fault

R/W

0 R

De s cr iption Transmission Table Index Value

7.2.15 Serial General Purpose Output (SGPO) Registers

7.2.15.1 SGPO_Tx

SGPO_Tx

Bit

Field Default

31-0

R/W 0 R/W

De s cr iption w rite: w ritten data is fed into the Tx FIFO read: w ritten data is read back

7.2.15.2 SGPO_Status

SGPO_Status

Bit Field

Default R/W

31-6 reserved

0 R

5-0 FIFOCnt

0 R

Description reserved Transmitter FIFO Count (0=empty, 16=full)

7.2.15.3 SGPO_Ctrl

SGPO_Ctrl Bit Field

Default R/W Description

31- reserved 5 4 TXEn

0 R Reserved
0 R/W 0 = transmitter disabled 1 = transmitter enabled

3 PS 2 PE

0 R/W 0 = even parity 1 = odd parity
R/W 0 = parity is disabled 1 = parity is enabled

1-0 ByteSel

0 R/W 0 = 1byte (Bit 7..0) of S-GPO-TX is transf ered to the FIFO 1 = 2bytes (Bit 15..0) of S-GPO-TX is transf ered to the FIFO 2 = 3bytes (Bit 23..0) of S-GPO-TX is transf ered to the FIFO 3 = 4bytes (Bit 31..0) of S-GPO-TX is transf ered to the FIFO

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 181 of 230

7.2.15.4 SGPO_Scaler

SGPO_Scale r

Bit

Fie ld

De fault

31-12 reserved

11-0 Scaler

R/W 0 R 0 R/W

De s cr iption reserved Scaler = SysClk / ( BaudRate * 8 ) - 1

7.2.16 UART Registers

7.2.16.1 UARTn_Tx_SAP

The regist er descript ion is valid for t he following regist ers: UART0_Tx_SAP and UART1_Tx_SAP.

UARTn_Tx_SAP

Bit

Field Default R/W Description

31-0

0 R/W start address for data transmission, 32-bit aligned

Bit 1:0 ignored at w rite, "00" at read

7.2.16.2 UARTn_Tx_EAP

The regist er descript ion is valid for t he following regist ers: UART0_Tx_EAP and UART1_Tx_EAP.

UARTn_Tx_EAP

Bit

Field Default

R/W Description

31-0

0 R/W end address for data transmission

end address is a byte address (8bit aligned)

After w rite access to this register the UART starts to read data from external memory

7.2.16.3 UARTn_Tx_CAP

The regist er descript ion is valid for t he following regist ers: UART0_Tx_CAP and UART1_Tx_CAP.

UARTn_Tx_CAP

Bit

Fie ld

De fault

R/W Description

31-0

0 R

current address for data transmission (bit 1:0 = alw ays "00")

Points to the first 32bit-w ord not yet read from memory

7.2.16.4 UARTn_Rx_SAP

The regist er descript ion is valid for t he following regist ers: UART0_Rx_SAP and UART1_Rx_SAP.

UARTn_Rx_SAP

Bit

Field Default R/W Description

31-0

0 R/W start address for data reception, 32-bit aligned (bit 1:0 ignored)

w riting to this register stops an ongoing DMA transfer

7.2.16.5 UARTn_Rx_EAP

The regist er descript ion is valid for t he following regist ers: UART0_Rx_EAP and UART1_Rx_EAP.

UARTn_Rx_ EAP

Bit Field Default

R/W Description

31-0

0 R/W end address for data reception

end address is a byte address (8bit aligned)

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 182 of 230

UARTn_Rx_ EAP Bit Field Default

R/W Description
Note: If the EAP is not 32bit aligned, the user has to m ake sure that the residual 1..3 bytes after the EAP are not used by the softw are, since the DMA w rites zeros on these bytes.

7.2.16.6 UARTn_Rx_CAP

The regist er descript ion is valid for t he following regist ers: UART0_Rx_CAP and UART1_Rx_CAP.

UARTn_Rx_CAP

Bit

Field Default R/W Description

31-0

0 R current address for data reception

show s next free byte address for data reception

At the end of a transfer: CAP - SAP = nr. of received bytes

7.2.16.7 UARTn_Status

The regist er descript ion is valid for t he following regist ers: UART0_Status and UART1_Status.

UARTn_Status

Bit

Fie ld

Default R/W Description

31-8 reserved

0 R reserved

7 RTO

0 R Receiver time out (w hen TOE = '1')

RTO is cleared w hen RxBuffer is read or TOE=0 or RXEN=0

6 FER

0 R/W Framing Error (w rite '0' to clear)

5 PER

0 R/W Parity Error (w rite '0' to clear)

4 OVR

0 R/W Received overrrun (w rite '0' to clear)

3 BR

0 R/W Break Received (w rite '0' to clear)

2 TE

1 R Transmitter buffer empty

1 TSE

1 R Transmitter shift register empty

0 DR

0 R Data Ready. This bit is set w hen data is in the RxBuffer

7.2.16.8 UARTn_Ctrl

The regist er descript ion is valid for t he following regist ers: UART0_Ctrl and UART1_Ctrl.

UARTn_Ctrl

Bit

Fie ld

Default R/W Description

31-10 reserved

0 R reserved

9 LEND

0 R/W 0 = memory data in big endian order

1 = memory data in little endian order

8 TOE

0 R/W 0 = Timeout Function Disable

1 = Timeout Function Enable

7 LB

0 R/W 0 = internal loopback disabled

1 = internal loopback enabled

6 FL

0 R/W 0 = data flow controlled only w ith TX and RX signals

1 = data flow using CTS/RTS signals

5 PE

0 R/W 0 = parity is disabled

1 = parity is enabled

4 PS

0 R/W 0 = even parity

1 = odd parity

3 reserved

0 R reserved

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

UARTn_Ctrl

Bit

Fie ld

2 reserved

1 TXEn

0 RXEn

Default R/W Description 0 R reserved 0 R/W 0 = Tx Disable 1 = Tx Enable 0 R/W 0 = Rx Disable 1 = Rx Enable

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 183 of 230

7.2.16.9 UARTn_Scaler

The regist er descript ion is valid for t he following regist ers: UART0_Scaler and UART1_Scaler.

UARTn_Scale r

Bit

Fie ld

Default R/W Description

31-29 reserved

0 R Reserved

28-16 TimeoutCnt

8191 R/W Timeout Counter Reload Value. Counts in units of BaudTicks.

TiemoutCnt = DesiredBaudTicks ­ 1

15-12 Reserved

0 R Reserved

11-0 ReloadValue

0 R/W Baud Rate = SysClk / [ 8 * (ReloadValue + 1) ] or ReloadValue = SysClk / (BaudRate * 8) - 1

7.2.16.10 UART_Reset

UART_Re s e t

Bit

Fie ld

Default R/W

31-1 reserved

0 R

0 Reset

0 W

De s cr iption Reserved If set, the UART Module (UART0 and UART1) is reset.

7.2.17 Clock, PLL and EEPROM Control Registers

7.2.17.1 GNSSCoreClkCtrl

GNSSCor e Clk Ctr l

Bit

Fie ld

Default R/W

31-1 reserved

0 R

0 CoreClkSel

0 R/W

De s cr iption Reserved 0 = CoreClk (internal) is taken from input pin EXT_CORE_CLK 1 = CoreClk (internal) is taken from pin HALF_SAMPLE_CLK / 2.5

7.2.17.2 MilBusClkCtrl

M ilBus Clk Ctr l

Bit

Fie ld

Default R/W Description

31-1 reserved

0 R Reserved

0 MilBusClkSel

0 R/W 0 = 1553Clk is taken from input pin EXT_MIL_CLK

1 = 1553Clk is taken from MilBus PLL output

7.2.17.3 PLLStatus
PLLStatus Bit Field 31-2 reserved
5-2 ClkDiv

Default R/W 0 R * R

De s cr iption Reserved Value set in SYS_CLK_DIV input pins

­ All Rights Reserved ­ Copyright per DIN 34 ­

PLLStatus Bit Field
1 MilBusPLLStatus
0 LeonPLLStatus

AT7991 (AGGA-4) User Manual

Default R/W 0 R
0 R

De s cr iption 0 = not locked 1 = locked 0 = not locked 1 = locked

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 184 of 230

7.2.17.4 EEPROM_StatusAndCtrl

EEPROM _ Status AndCtr l

Bit Field

Default R/W

31-4 EEPROM_Sw itch

0 W

3 EEPROM_Enable 2 EEPROM_Reset 1 EEPROM_Pow er 0 EEPROM_On

0 R 0 R 0 R 0 R

De s cr iption 0xAFFEDEAx to sw itch EEPROM on (x = 0 .. F) 0xDEADAFFx to sw itch EEPROM off (x = 0 .. F) the status of the EEPROM_Enable signal the status of the EEPROM_Reset signal the status of the EEPROM_Pow er signal the status of the EEPROM_On signal

7.2.18 Spacewire Registers

7.2.18.1 SpWn_StatusAndCtrl

SpWn_Status AndCtr l

Bit

Fie ld

Default R/W Description

31-13 reserved

0 R Reserved

12 FCT_Err

0 R FCT Error status (reset after read)

11 ESC_Err

0 R ESC Error status (reset after read)

10 Parity_Err

0 R Parity Error status (reset after read)

9 Disconnect_Err

0 R Disconnect Error status (reset after read)

8 LinkOk

0 R Link OK status.

(this bit is reset if link error occurs or if bits 1-0 are set to "00")

7-5 reserved

0 R

4-3 TxBitRate

0 R/W Transmit bit rate selection (if bit 2 is set)

00: max. transmit bit rate, given by SysClk

01: max. transmit bit rate x 1/2

10: max. transmit bit rate x 1/4

11: max. transmit bit rate x 1/8

2 DefaultTxRate

0 R/W 0 = default transmit bit rate (10 Mbit/s, given by SpW10MHzClk)

1= transmit bit rate selected by "TxBitRate"

1 AutoStart

1 R/W 0 = no Auto Start

1 = Auto start link after a NULL token is received

0 StartStopLink

0 R/W 0 = Stop Link

1 = Start Link

7.2.18.2 SpWn_Tx_SAP

SpWn_Tx_SAP

Bit Field Default R/W Description

31-0

0 R/W start address for data transmission, 32-bit aligned

Bit 1:0 ignored at w rite, "00" at read

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 185 of 230

7.2.18.3 SpW_Tx_EAP

SpWn_Tx_EAP

Bit

Field Default R/W

31-0

0 R/W

De s cr iption end address for data transmission After w rite access to this register SPWn starts to read data from external memory

7.2.18.4 SpWn_Tx_CAP

SpWn_Tx_CAP

Bit

Fie ld

Default R/W

31-0

0 R

De s cr iption current address for data transmission (in 32-bit steps) Points to the first 32bit w ord not yet read from memory

7.2.18.5 SpWn_Tx_Rx_Config

SpWn_Tx_Rx_Config

Bit

Fie ld

Default R/W Description

31-10 reserved

0 R reserved

9 TxLengthError 8 EEP_Received

0 R 0 R

Asserted w hen HeaderField mode is enabled (see below ) and the packet is shorter than the specified header length. (read-only, but cleared upon reading) It is set if a packet w as terminated w ith EEP (read-only, but cleared upon reading)

7-5 reserved 4 LittleEndianEnable
3 reserved 2 NoStopOnEOP

0 R 0 R/W 0 = big endian (byte 0 transported on D31-D24)
1 = little endian (byte 0 transported on D7-D0)
0 R
0 R/W if set, RX operation w ill not stop w hen an EOP or EEP is received, no EOP/EEP interrupt is generated, successive packets are concatenated.

1 HeaderField

0 R/W Header Field Control bit: If set, SpW TX interface uses the first byte of a packet as number of bytes w hich are transmitted as header bytes. The range f or the header f ield is f rom minimum 2 bytes (f irst byte + header itself) to a maximum 16 bytes. The size of header field can be 4, 8, 12 or 16 bytes. This means, that the data field starts at the next modulo 4 bytes. The rest of a 4-byte block w hich is not covered by the number of header bytes w ill not be transmitted.

0 reserved

0 R

7.2.18.6 SpWn_Rx_SAP

SpWn_Rx_SAP

Bit

Field Default R/W

31-0

0 R/W

De s cr iption start address for data reception, 32-bit aligned (bit 1:0 ignored) Writing to this register stops an ongoing DMA transfer

7.2.18.7 SpWn_Rx_EAP
SpWn_Rx_EAP
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Bit

Fie ld

31-0

Default R/W 3 R/W

De s cr iption end address for data reception bit 1:0 are alw ays "11"

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 186 of 230

7.2.18.8 SpWn_Rx_CAP

SpWn_Rx_CAP

Bit

Field Default R/W

31-0

0 R

De s cr iption During transfer: current 32-bit address for data reception (bit 1:0 alw ays 0)

At the end of a transfer: CAP ­ SAP = nr. of received bytes Bit 1:0  00 indicates a non 32-bit aligned packet w as received

7.2.18.9 SpW_ModuleConfig

SpW_ModuleConfig

Bit Field

Default

31-2 reserved 1 Reset 0 reserved

R/W 0 R 0 W 0 R

Description reserved If set, the Spw Module is reset.

7.2.18.10 SpW_ModuleTimeCtrl

SpW_ModuleTim eCtrl

Bit Field

Default R/W Description

31-2 reserved

0 R reserved

1 IRQ_En_All

0 R/W Enable TICK_IN interrupt for all time codes

0 IRQ_En_Valid

0 R/W Enable TICK_IN interrupt for valid time codes

7.2.18.11 SpW_ModuleTimeCode

SpW_ModuleTim eCode

Bit Field

Default R/W

31-8 reserved

0 R

7-6 Time CodeFlags

0 R/W

5-0 Time CodeValue

0 R/W

De s cr iption reserved time code flags (must be set to "00")

7.2.18.12 SpW_ModuleIntMask

SpW_M odule IntM as k

Bit

Fie ld

Default R/W

31 SPW_TickIn

0 R/W

30-29 reserved 28 SPW3_RxAreaFull

0 R 0 R/W

27 SPW3_EOP_EEP

0 R/W

26 SPW3_TxDone

0 R/W

25 SPW3_LinkConnected

0 R/W

De s cr iption 0 = Interrupt is masked 1 = Interrupt is enabled reserved 0 = Interrupt is masked 1 = Interrupt is enabled 0 = Interrupt is masked 1 = Interrupt is enabled 0 = Interrupt is masked 1 = Interrupt is enabled 0 = Interrupt is masked

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 187 of 230

SpW_M odule IntM as k

Bit

Fie ld

24 SPW3_LinkError

23-21 reserved 20 SPW2_RxAreaFull

19 SPW2_EOP_EEP

18 SPW2_TxDone

17 SPW2_LinkConnected

16 SPW2_LinkError

15-13 reserved 12 SPW1_RxAreaFull

11 SPW1_EOP_EEP

10 SPW1_TxDone

9 SPW1_LinkConnected

8 SPW1_LinkError

7-5 reserved 4 SPW0_RxAreaFull

3 SPW0_EOP_EEP

2 SPW0_TxDone

1 SPW0_LinkConnected

0 SPW0_LinkError

Default R/W 0 R/W 0 R 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W

De s cr iption 1 = Interrupt is enabled 0 = Interrupt is masked 1 = Interrupt is enabled reserved 0 = Interrupt is masked 1 = Interrupt is enabled 0 = Interrupt is masked 1 = Interrupt is enabled 0 = Interrupt is masked 1 = Interrupt is enabled 0 = Interrupt is masked 1 = Interrupt is enabled 0 = Interrupt is masked 1 = Interrupt is enabled reserved 0 = Interrupt is masked 1 = Interrupt is enabled 0 = Interrupt is masked 1 = Interrupt is enabled 0 = Interrupt is masked 1 = Interrupt is enabled 0 = Interrupt is masked 1 = Interrupt is enabled 0 = Interrupt is masked 1 = Interrupt is enabled reserved 0 = Interrupt is masked 1 = Interrupt is enabled 0 = Interrupt is masked 1 = Interrupt is enabled 0 = Interrupt is masked 1 = Interrupt is enabled 0 = Interrupt is masked 1 = Interrupt is enabled 0 = Interrupt is masked 1 = Interrupt is enabled

7.2.18.13 SpW_ModuleIntStatus

SpW_M odule IntStatus

Bit

Fie ld

Default R/W

31 SPW_TickIn

0 R

30-29 reserved 28 SPW3_RxAreaFull

0 R 0 R

27 SPW3_EOP_EEP 26 SPW3_TxDone

0 R 0 R

25 SPW3_LinkConnected 24 SPW3_LinkError

0 R 0 R

23-21 reserved 20 SPW2_RxAreaFull

0 R 0 R

De s cr iption SpW Module TICK_IN
SPW3 Receive area full SPW3 EOP/EEP Received SPW3 packet is transmitted SPW3 Link is running SPW3 Link Error
SPW2 Receive area full

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 188 of 230

SpW_M odule IntStatus

Bit

Fie ld

19 SPW2_EOP_EEP

18 SPW2_TxDone

17 SPW2_LinkConnected

16 SPW2_LinkError

15-13 reserved

12 SPW1_RxAreaFull

11 SPW1_EOP_EEP

10 SPW1_TxDone

9 SPW1_LinkConnected

8 SPW1_LinkError

7-5 reserved

4 SPW0_RxAreaFull

3 SPW0_EOP_EEP

2 SPW0_TxDone

1 SPW0_LinkConnected

0 SPW0_LinkError

Default R/W 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R

De s cr iption SPW2 EOP/EEP Received SPW2 packet is transmitted SPW2 Link is running SPW2 Link Error
SPW1 Receive area full SPW1 EOP/EEP Received SPW1 packet is transmitted SPW1 Link is running SPW1 Link Error
SPW0 Receive area full SPW0 EOP/EEP Received SPW0 packet is transmitted SPW0 Link is running SPW0 Link Error

7.2.18.14 SpW_ModuleIntClear

SpW_M odule IntCle ar

Bit

Fie ld

Default R/W

31 SPW_TickIn

0 W

30-29 reserved 28 SPW3_RxAreaFull

0 R 0 W

27 SPW3_EOP_EEP

0 W

26 SPW3_TxDone

0 W

25 SPW3_LinkConnected

0 W

24 SPW3_LinkError

0 W

23-21 reserved 20 SPW2_RxAreaFull

0 R 0 W

19 SPW2_EOP_EEP

0 W

18 SPW2_TxDone

0 W

17 SPW2_LinkConnected

0 W

16 SPW2_LinkError

0 W

15-13 reserved 12 SPW1_RxAreaFull

0 R 0 W

11 SPW1_EOP_EEP

0 W

De s cr iption 0 = do nothing 1 = Interrupt is cleared reserved 0 = do nothing 1 = Interrupt is cleared 0 = do nothing 1 = Interrupt is cleared 0 = do nothing 1 = Interrupt is cleared 0 = do nothing 1 = Interrupt is cleared 0 = do nothing 1 = Interrupt is cleared Reserved 0 = do nothing 1 = Interrupt is cleared 0 = do nothing 1 = Interrupt is cleared 0 = do nothing 1 = Interrupt is cleared 0 = do nothing 1 = Interrupt is cleared 0 = do nothing 1 = Interrupt is cleared Reserved 0 = do nothing 1 = Interrupt is cleared 0 = do nothing 1 = Interrupt is cleared

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 189 of 230

SpW_M odule IntCle ar

Bit

Fie ld

10 SPW1_TxDone

9 SPW1_LinkConnected

8 SPW1_LinkError

7-5 reserved 4 SPW0_RxAreaFull

3 SPW0_EOP_EEP

2 SPW0_TxDone

1 SPW0_LinkConnected

0 SPW0_LinkError

Default R/W 0 W 0 W 0 W 0 R 0 W 0 W 0 W 0 W 0 W

De s cr iption 0 = do nothing 1 = Interrupt is cleared 0 = do nothing 1 = Interrupt is cleared 0 = do nothing 1 = Interrupt is cleared Reserved 0 = do nothing 1 = Interrupt is cleared 0 = do nothing 1 = Interrupt is cleared 0 = do nothing 1 = Interrupt is cleared 0 = do nothing 1 = Interrupt is cleared 0 = do nothing 1 = Interrupt is cleared

7.3 DSU Address Map

7.3.1

DSU Overview

Address

0x90000000

0x90000004

0x90000008 0x90000010

0x90000014 0x90000018

0x9000001C 0x90010000 - 0x9001FFFC

...0 ...4

...8

...C 0x90020000 - 0x9003FFFC

0x90080000 - 0x900FFFFC 0x90080000

0x90080004 0x90080008

0x9008000C

0x90080010 0x90080014

0x90080018 0x9008001C

0x90080040 - 0x9008005C 0x90080060 - 0x9008007C

0x90100000 - 0x9013FFFC 0x90140000 - 0x9017FFFC

Register DSU_Ctrl TraceBufferCtrl TimeTagCounter AHB_BreakAddress1 AHB_Mask1 AHB_BreakAddress2 AHB_Mask2 Trace buffer Trace bits 127 - 96 Trace bits 95 - 64 Trace bits 63 - 32 Trace bits 31 - 0 IU/FPU register file IU special purpose registers Y register PSR register WIM register TBR register PC register NPC register FSR register DSU_Trap ASR16 - 23 (not implemented) ASR24 - 31 (watchpoints see 4.5) Instruction cache tags Instruction cache data

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 190 of 230

0x90180000 - 0x901BFFFC Data cache tags 0x901C0000 - 0x901FFFFC Data cache data

7.3.1.1 DSU_Ctrl

DSU_Ctrl

Bit

Fie ld

De fault

31-29 reserved 0

28-20 DCNT

undef

19 RE

0

18 DR

0

R/W Description R reserved R/W Trace buffer delay counter (DCNT) W Reset error mode (RE) - if set, it w ill clear the error mode in the
processor
R/W Debug mode response (DR) - if set, the DSU communication link w ill send a response w ord w hen the processor enters debug mode

17 LR
16 SS
15 PE
14 EE 13 EB 12 DM
11 DE

0
0
0
DSUEN DSUBRE 0
0

R/W Link response (LR) - if set, the DSU communication link w ill send a response w ord after AHB transfer
R/W Single step (SS) - if set, the processor w ill execute one instruction and then return to debug mode
R Processor error mode (PE) - returns `1' on read w hen processor is in error mode, else `0'
R value of the external DSU_EN pin R value of the external DSU_BRE pin R 0 = processor is not in debug mode
1 = processor is in debug mode R/W Delay counter enable (DE) - if set, the trace buffer delay counter w ill
decrement for each stored trace. This bit is set automatically w hen a DSU breakpoint is hit and the delay counter is not equal to zero

10 BZ
9 BX 8 BD 7 BN 6 BS 5 BW 4 BE 3 FT
2 BT

DSUBRE
DSUBRE 0 DSUBRE 0 DSUBRE DSUBRE

R/W Break on error traps (BZ) - if set, it w ill force the processor into debug mode on all except the follow ing traps: priviledged_instruction, fpu_disabled, w indow _overflow, window_underflow , asynchronous_interrupt, ticc_trap
R/W Break on trap (BX) - if set, it w ill force the processor into debug mode w hen any trap occurs
R/W Break on DSU breakpoint (BD) - if set, it w ill force the processor to debug mode w hen a DSU breakpoint is hit
R/W Break now (BN) -If set, it w ill force processor into debug mode. If cleared, the processor w ill resume execution
R/W Break on S/W breakpoint (BS) - if set, debug mode w ill be forced w hen a breakpoint instruction (ta 1) is executed
R/W Break on IU w atch point - if set, debug mode w ill be forced on an IU w atch point (trap 0xb)
R/W Break on error (BE) - if set, it w ill force the processor to debug mode w hen the processor w ould have entered error condition (trap in trap)

0

R/W Freeze timers (FT) - if set, the scaler in the LEON timer unit w ill be

stopped during debug mode to preserve the time for the softw are

application

0

R/W Break on trace (BT) - if set, it w ill generate a DSU break condition on

trace freeze

­ All Rights Reserved ­ Copyright per DIN 34 ­

DSU_Ctrl

Bit

Fie ld

1 DM

0 TE

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 191 of 230

De fault undef
0

R/W Description R/W Delay counter mode (DM). In mixed tracing mode, setting this bit w ill
cause the delay counter to decrement on AHB traces. If reset, the delay counter w ill decrement on instruction traces
R/W 0 = Trace Buffer disabled 1 = Trace Buffer enabled

7.3.1.2 TraceBufferCtrl

Trace Buffe rCtrl (!!Note that this re gis te r is not cle are d during re s et!!)

Bit

Fie ld

Default R/W Description

31-29 MFILT

undef

R/W trace only accesses from AHB masters w ith a particular master index

28-27 SFILT 26 AF

undef undef

0 = trace accesses from all masters 1 = trace only CRC module 2 = trace only SpW module 3 = trace only UART-DMA 4 = trace only GNSS DMA 5 = trace only Mil-Bus module 6 = trace only the DSU-UART 7 = trace only the CPU R/W trace only addresses w ith a certain prefix (bits 31:28) 0 = trace all slave addresses 1 = trace only APB (0x8) registers 2 = trace only GNNS (0xA) registers 3 = trace only FFT (0xB) registers R/W 0 = AHB trace buffer w ill not be frozen if processor enters debug mode

1 = AHB trace buffer w ill be frozen if processor enters debug mode

25 TA

24 TI

23-21 20-12
11-9 8-0

reserved AHBIndex reserved InstIndex

undef
undef
undef undef undef undef

R/W 0 = Trace AHB (TA) data transfer disabled

1 = Trace AHB (TA) data transfer enabled

R/W 0 = Trace Instruction (TI) disabled

1 = Trace Instruction (TI) enabled

R

reserved

R

AHB trace index counter

R

reserved

R

Instruction trace index counter

7.3.1.3 TimeTagCounter

Tim eTagCounter

Bit

Fie ld

31-30 reserved

29-0 TimeTagValue

De fault 0 n/a

R/W Description

R

reserved

R/W The DSU time tag counter is incremented each SysClk cycle as long as the processor is running. The counter is stopped w hen the processor enters debug mode, and restarted w hen execution is resumed.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 192 of 230

7.3.1.4 AHB_BreakAddressN

The regist er descript ion is valid for t he following regist ers: AHB_BreakAddress1, AHB_BreakAddress2

AHB_Br e ak Addr e s s N

Bit Field

Default R/W Description

31-2 BADDR

0

R/W break address

1 reserved 0

R reserved

0 EX

0

R/W 0 = no break on executed instructions

1 = break on executed instuctions

7.3.1.5 AHB_MaskN

The regist er descript ion is valid for t he following regist ers: AHB_Mask1, AHB_Mask2

AHB_M as k N

Bit Field

Default R/W Description

31-2 BMASK

0

R/W mask address for break

1 LD

0

R/W 0 = no break on load accesses

1 = break on load accesses

0 ST

0

R/W 0 = no break on store accesses

1 = break on store accesses

7.3.1.6 DSU_Trap

DSU_Trap

Bit

Fie ld

31-13 reserved

Default R/W Description

0

R

reserved

12 EM

0

R

Error mode (EM). Set if the trap w ould have cause the processor to

enter error mode

11-4 TrapType

0

R

8bit SPARC Trap Type

3-0 reserved

0

R

reserved

7.4 GNSS Address Map 7.4.1 GNSS Base Addresses

Since t he GNSS module is split into several channels and input modules, the address map is split int o base and offset addresses. The AHB base addresses for the respective channels, input modules, RAM blocks and ot her funct ions are
given in the following table. The address offsets provided in the other subsections of this chapter must be added t o t he base addresses.

Addr e s s
0xA0000000 0xA0010000 0xA0020000 0xA0030000 0xA0040000 0xA0050000 0xA0060000 0xA0070000 0xA0080000

M apping
Channel 0 Channel 1 Channel 2 Channel 3 Channel 4 Channel 5 Channel 6 Channel 7 Channel 8

Addr e s s
0xA1000000 0xA1010000 0xA1020000 0xA1030000 0xA1040000 0xA1050000 0xA1060000 0xA1070000 0xA1080000

M apping
RAM Channel 0 RAM Channel 1 RAM Channel 2 RAM Channel 3 RAM Channel 4 RAM Channel 5 RAM Channel 6 RAM Channel 7 RAM Channel 8

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 193 of 230

Addr e s s
0xA0090000 0xA00A0000 0xA00B0000 0xA00C0000 0xA00D0000 0xA00E0000 0xA00F0000 0xA0100000 0xA0110000 0xA0120000 0xA0130000 0xA0140000 0xA0150000 0xA0160000 0xA0170000 0xA0180000 0xA0190000 0xA01A0000 0xA01B0000 0xA01C0000 0xA01D0000 0xA01E0000 0xA01F0000 0xA0200000 0xA0210000 0xA0220000 0xA0230000 0xA0240000
0xA0250000 0xA0260000 0xA0270000 0xA0280000 0xA0290000 0xA02A0000 0xA02B0000 0xA02C0000

M apping
Channel 9 Channel 10 Channel 11 Channel 12 Channel 13 Channel 14 Channel 15 Channel 16 Channel 17 Channel 18 Channel 19 Channel 20 Channel 21 Channel 22 Channel 23 Channel 24 Channel 25 Channel 26 Channel 27 Channel 28 Channel 29 Channel 30 Channel 31 Channel 32 Channel 33 Channel 34 Channel 35 ChannelMatrix
Input Module 0 Input Module 1 Input Module 2 Input Module 3 reserved reserved Pow er Level Detector Interrupt Registers

Addr e s s
0xA1090000 0xA10A0000 0xA10B0000 0xA10C0000 0xA10D0000 0xA10E0000 0xA10F0000 0xA1100000 0xA1110000 0xA1120000 0xA1130000 0xA1140000 0xA1150000 0xA1160000 0xA1170000 0xA1180000 0xA1190000 0xA11A0000 0xA11B0000 0xA11C0000 0xA11D0000 0xA11E0000 0xA11F0000 0xA1200000 0xA1210000 0xA1220000 0xA1230000 Other addr: 0xA1xxxxxx

M apping
RAM Channel 9 RAM Channel 10 RAM Channel 11 RAM Channel 12 RAM Channel 13 RAM Channel 14 RAM Channel 15 RAM Channel 16 RAM Channel 17 RAM Channel 18 RAM Channel 19 RAM Channel 20 RAM Channel 21 RAM Channel 22 RAM Channel 23 RAM Channel 24 RAM Channel 25 RAM Channel 26 RAM Channel 27 RAM Channel 28 RAM Channel 29 RAM Channel 30 RAM Channel 31 RAM Channel 32 RAM Channel 33 RAM Channel 34 RAM Channel 35 Reserved (access w ill lead to system lockup)

7.4.2

Input Module Registers
Address Offset + 0x00 + 0x04 + 0x08 + 0x0C + 0x10 + 0x14

Size

Name

[bits]

4 InputModuleCtrl

7 DDCMainPhaseInc

30 DDCMainFIRQuantThres

7 DDCAuxPhaseInc

30 DDCAuxFIRQuantThres

12 DACtrl

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 194 of 230

7.4.2.1 InputModuleCtrl

InputM odule Ctr l

Bit

Fie ld

De fault

31-6 reserved

0

5 DDCAuxInSel

0

4 DDCMainInSel

0

3-2 IFCFormat

0

1-0 Mode

0

R/W R R/W R/W R/W
R/W

De s cr iption Reserved 0 = data from local Input Module is taken 1 = data from previous Input Module is taken 0 = data from local Input Module is taken 1 = data from previous Input Module is taken 0 = Sign/Magnitude 1 = Unsigned 2 = Tw o's Complement 3 = reserved 0 = Input Format Converter Mode (IFC) 1 = Real to complex Converter Mode (R2C) 2 = Digital Dow n Converter Simple Mode (DDC simple) 3 = reserved

7.4.2.2 DDCMainPhaseInc

DDCM ainPhas e Inc

Bit

Fie ld

Default R/W

31-7 reserved

0 R

6-0 Inc

0 R/W

De s cr iption
Reserved
Signed Increment for DDC I/Q Mixer NCO. New settings become effective w ith the next ME. The phase of the NCO is reset to zero w ith the next ME in order to be able to synchronize different DDC NCO's.

7.4.2.3 DDCMainFIRQuantThres

DDCM ainFIRQuantThr e s

Bit

Fie ld

Default R/W

31-30 reserved

0 R

29-20 Thres2

0 R/W

19-10 Thres1 9-0 Thres0

0 R/W 0 R/W

De s cr iption Reserved Output = +7 for Input > +Thres2 Output = -7 for Input < -Thres2 Output = +5 for "+Thres1 < Input <= +Thres2" Output = -5 for "-Thres2 <= Value < -Thres1" Output = +3 for "+Thres0 < Input <= +Thres1" Output = -3 for "-Thres1 <= Value < -Thres0" Output = +1 for "0 <= Value <= +Thres0" Output = -1 for "-Thres0 <= Input < 0"

7.4.2.4 DDCAuxPhaseInc

DDCAuxPhas e Inc

Bit

Fie ld

De fault

31-7 reserved 6-0 Inc

R/W 0 R 0 R/W

De s cr iption
Reserved
Signed Increment for DDC I/Q Mixer NCO. New settings become effective w ith the next ME. The phase of the NCO is reset to zero w ith the next ME in order to be able to synchronize different DDC NCO's.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 195 of 230

7.4.2.5 DDCAuxFIRQuantThres

DDCAuxFIRQu antThres

Bit

Fie ld

Default R/W

31-30 reserved

0 R

29-20 Thres2

0 R/W

19-10 Thres1 9-0 Thres0

0 R/W 0 R/W

De s cr iption Reserved Output = +7 for Input > +Thres2 Output = -7 for Input < -Thres2 Output = +5 for "+Thres1 < Input <= +Thres2" Output = -5 for "-Thres2 <= Value < -Thres1" Output = +3 for "+Thres0 < Input <= +Thres1" Output = -3 for "-Thres1 <= Value < -Thres0" Output = +1 for "0 <= Value <= +Thres0" Output = -1 for "-Thres0 <= Input < 0"

7.4.2.6 DACtrl

DACtrl

Bit

Fie ld

31-12 reserved

11-0 Value

Default R/W 0 R 0 R/W

De s cr iption Reserved Control Word for DA Converter

7.4.3 Power Level Detector Registers

Addr e s s Offs e t + 0x00 + 0x04 + 0x08 + 0x0C + 0x10 + 0x14 + 0x18 + 0x1C + 0x20 + 0x24 + 0x28 + 0x2C + 0x30 + 0x34 + 0x38 + 0x3C + 0x40 + 0x44 + 0x48 + 0x4C + 0x50 + 0x54 + 0x58 + 0x5C

Size [bits] Nam e
2 PLD5IInputSel 25 PLD5ICtrl
8 PLDIQInputSel 14 PLDIQPreAccCtr l 25 PLDIQCtrl 24 Acc5IPlusSeven 24 Acc5IPlusFive 24 Acc5IPlusThree 24 Acc5IPlusOne 24 Acc5IMinusOne 24 Acc5IMinusThree 24 Acc5IMinusFive 24 Acc5IMinusSeven 24 AccIPlusSeven 24 AccIPlusFive 24 AccIPlusThree 24 AccIPlusOne 24 AccIMinusOne 24 AccIMinusThree 24 AccIMinusFive 24 AccIMinusSeven 24 AccQPlusSeven 24 AccQPlusFive 24 AccQPlusThree

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Addr e s s Offs e t + 0x60 + 0x64
+ 0x68 + 0x6C
+ 0x70

Size [bits] Nam e
24 AccQPlusOne 24 AccQMinusOne 24 AccQMinusThree 24 AccQMinusFive 24 AccQMinusSeven

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 196 of 230

7.4.3.1 PLD5IInputSel

PLD5IInputSe l

Bit Field

De fault

31-2 reserved

0

1-0 InputSel

0

R/W R R/W

De s cr iption Reserved 0 = Levels are measured from IM0 1 = Levels are measured from IM1 2 = Levels are measured from IM2 3 = Levels are measured from IM3 new values w ritten in in InputSel become effective w ith the next trigger (ME or acc. Samples)

7.4.3.2 PLD5ICtrl

PLD5ICtrl

Bit

Fie ld

31-25 reserved

24 SelectTrigger

23-0 AccTime

De fault 0 0
0

R/W R R/W
R/W

De s cr iption Reserved 0 = Accumulation Registers are latched after AccTime Samples 1 = Accumulation Registers are latched w ith MEO Accumulation Time in Samples

7.4.3.3 PLDIQInputSel

PLDIQInputSe l

Bit

Fie ld

De fault

31-8 reserved

0

7-6 InputSel

0

5-0 SignalSel

0

R/W R R/W
R/W

De s cr iption Reserved 0 = Input Modules after Input Format Converter 1 = Channels before Final Dow n Converter 2 = Channels after Final Dow n Converter 3 = reserved n = Input Module n or Channel n w ould be selected selections w hich do not make sense (e.g. Input Module 20) are reserved

new values w ritten in in InputSel and SignalSel become effective w ith the next trigger (ME or acc. Samples)

7.4.3.4 PLDIQPreAccCtrl

PLDIQPr e AccCtr l

Bit

Fie ld

Default R/W Description

31-14 reserved

0 R reserved

13-4 Pause

0 R/W number of cycles the preaccumulation w ill be paused

3 ReQuantFactor

0 R/W 0 = pre accumulator is requantised w ith 2^ExpFactor

­ All Rights Reserved ­ Copyright per DIN 34 ­

PLDIQPr e AccCtr l

Bit

Fie ld

2-0 ExpFactor

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 197 of 230

De fault 0

R/W R/W

De s cr iption 1 = pre accumulator is requantised w ith 2^(2*ExpFactor) the valid range for ExpFactor is 0..5 an ExpFactor of 6..7 is reserved

7.4.3.5 PLDIQCtrl

PLDIQCtrl

Bit

Fie ld

31-25 reserved

24 SelectTrigger

23-0 AccTime

De fault 0 0
0

R/W R R/W
R/W

De s cr iption reserved 0 = Accumulation Registers are latched after AccTime Samples 1 = Accumulation Registers are latched w ith MEO Accumulation Time in Samples. If pre-accumulation is enabled, AccTime is given as the number of pre-accumulated samples.

7.4.3.6 PLD Accumulation Registers

The register description is valid for the following registers: Acc5IPlusSeven, Acc5IPlusFive, Acc5IPlusThree, Acc5IPlusOne, Acc5IMinusOne, Acc5IMinusThree, Acc5IMinusFive, Acc5IMinusSeven, AccIPlusSeven, AccIPlusFive, AccIPlusThree, AccIPlusOne, AccIMinusOne, AccIMinusThree, AccIMinusFive, AccIMinusSeven, AccQPlusSeven, AccQPlusFive, AccQPlusThree, AccQPlusOne, AccQMinusOne, AccQMinusThree, AccQMinusFive, AccQMinusSeven.

PLD Accum ulation Registers

Bit

Fie ld

Default R/W Description

31-24 reserved

0 R

reserved

23-0 Value

N/A R

Accumulated value over the measuring interval

7.4.4

Channel Matrix Registers
Address Offset + 0x00 + 0x04 + 0x08 + 0x0C + 0x10 + 0x14 + 0x18 + 0x1C + 0x20 + 0x24 + 0x28 + 0x2C + 0x30 + 0x34 + 0x38 + 0x3C + 0x40 + 0x44 + 0x48 + 0x4C

Size

Name

[bits]

32 ChActivation0

4 ChActivation1

2 DBFInputSel

27 EpochClkDiv

16 MESettings

17 PPSSettings

17 AntSwitchCtrl

4 ExtClkSettings

32 ExtClkCnt

32 ExtClkCntLatched

32 IMT_LSW

32 IMT_MSW

32 ME_IMT_LSW

32 ME_IMT_MSW

32 PPS_IMT_LSW

32 PPS_IMT_MSW

32 ASE_IMT_LSW

32 ASE_IMT_MSW

32 PLD_5I_IMT_LSW

32 PLD_5I_IMT_MSW

­ All Rights Reserved ­ Copyright per DIN 34 ­

+ 0x50 + 0x54 + 0x58 + 0x5C + 0x60

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 198 of 230

32 PLD_IQ_IMT_LSW 32 PLD_IQ_IMT_MSW 32 AUT_IMT_LSW 32 AUT_IMT_MSW 19 TestSettings

7.4.4.1 ChActivation0

ChActivation0

Bit Field

Default R/W

31

0 R/W

...

0

0 R/W

De s cr iption 0 = Channel #31 is disabled 1 = Channel #31 is enabled ... 0 = Channel #0 is disabled 1 = Channel #0 is enabled

7.4.4.2 ChActivation1

ChActivation1

Bit

Fie ld

Default R/W

31-4 reserved

0 R

3

0 R/W

...

0

0 R/W

De s cr iption reserved 0 = Channel #35 is disabled 1 = Channel #35 is enabled ... 0 = Channel #32 is disabled 1 = Channel #32 is enabled

7.4.4.3 DBFInputSel

DBFInputSe l

Bit

Fie ld

31-2 reserved

1 DBF1Sel

Default R/W 0 R 0 R/W

0 DBF0Sel

0 R/W

De s cr iption reserved 0 = IM3 and IM2 are processed 1 = IM3 and IM1 are processed 0 = IM0 and IM1 are processed 1 = IM0 and IM2 are processed

7.4.4.4 EpochClkDiv

EpochClk Div

Bit

Fie ld

Default R/W Description

31-27 reserved 26-10 IntPart

0 R reserved 0 R/W Integer Part of Epoch Clock Divider
Epoch Clock = CoreClk / (DivRatio + 1) new settings become effective w ith the next Epoch Clock

9-0 FracPart

0 R/W fractional part of Epoch Clk Divider new settings become effective w ith the next Epoch Clock

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 199 of 230

7.4.4.5 MESettings

M ESe ttings

Bit

Fie ld

Default R/W

31-16 reserved

0 R

15 ExtInputEn

0 R/W

14 OutputEn

0 R/W

13-0 DivRatio

0 R/W

De s cr iption reserved 0 = ME is generated from local ME Divider 1 = ME is generated from MEI 0 = MEO generation is disabled 1 = MEO generation is enabled ME Clock = Epoch Clock / (DivRatio + 1) a new setting becomes effective w ith the next ME

7.4.4.6 PPSSettings

PPSSe ttings

Bit

Fie ld

Default R/W Description

31-17 reserved 16 SyncEn

0 R 0 W

reserved 0 = do nothing 1 = PPS strobe is synchronized to ME strobe once

15 ExtInputEn 14 OutputEn

0 R/W 0 = PPS is generated f rom local PPS Divider 1 = PPS is generated f rom PPSI
0 R/W 0 = PPSO generation is disabled 1 = PPSO generation is enabled

13-0 DivRatio

0 R/W PPS Clock = Epoch Clock / (DivRatio + 1) a new setting becomes effective w ith the next PPS

7.4.4.7 AntSwitchCtrl

AntSw itchCtrl

Bit

Fie ld

31-17 reserved

16-15 Sw itchID

14-11 Sw itchSequencer 10 OutputEn
9-0 DivRatio

Default R/W Description 0 R reserved 0 R ID of Ant. w hich w as active during the last AntEpoch 0 = Ant #1 1 = Ant #2 2 = Ant #3 3 = Ant #4 0 R/W each bit represents one antenna. Bit0 = Ant0, Bit1 = Ant1, ... 0 R/W 0 = ASEO generation is disabled 1 = ASEO generation is enabled 0 R/W Ant Sw itch Clock = Epoch Clock / (DivRatio + 1)

7.4.4.8 ExtClkSettings

ExtClk Se ttings

Bit

Fie ld

Default R/W Description

31-4 reserved

0 R reserved

3 LatchAtPPS

0 R/W 0 = Counter is not latched w ith PPS

1 = Counter is latched w ith PPS

2 LatchAtME

0 R/W 0 = Counter is not latched w ith ME

1 = Counter is latched w ith ME

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 200 of 230

ExtClk Se ttings

Bit

Fie ld

1 LatchAtExtClk

0 SignalSel

Default R/W Description 0 R/W 0 = Counter is not latched w ith trigger from EXT_CLK pin 1 = Counter is latched w ith trigger from EXT_CORE_CLK pin 0 R/W 0 = Counter is running w ith EXT_CLK pin 1 = Counter is running w ith EXT_CORE_CLK pin

7.4.4.9 ExtClkCnt

ExtClk Cnt

Bit

Field Default

31-0

R/W 0 R

De s cr iption current value of External Clock Counter

7.4.4.10 ExtClkCntLatched

ExtClk CntLatche d

Bit

Field Default

R/W

31-0

0 R

De s cr iption latched value of External Clock Counter

7.4.4.11 IMT_LSW

IM T_LSW

Bit Field Default R/W Description

31-0

0 R/W Read: Current value of IMT low

Write: Preset value becoming effective w ith the next ME

7.4.4.12 IMT_MSW

IM T_M SW

Bit Field Default R/W Description

31-0

0 R/W Read: Current value of IMT high

Write: Preset value becoming effective w ith the next ME

7.4.4.13 ME_IMT_LSW

M E_IM T_LSW

Bit

Fie ld

De fault

31-0

R/W 0 R

De s cr iption value of IMT low at ME time instance

7.4.4.14 ME_IMT_MSW

M E_IM T_M SW

Bit

Field Default

31-0

R/W 0 R

De s cr iption value of IMT high at ME time instance

7.4.4.15 PPS_IMT_LSW

PPS_IM T_LSW

Bit

Field Default

R/W

31-0

0 R

De s cr iption value of IMT low at PPS time instance

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 201 of 230

7.4.4.16 PPS_IMT_MSW

PPS_IM T_M SW

Bit

Field Default

R/W

31-0

0 R

De s cr iption value of IMT high at PPS time instance

7.4.4.17 ASE_IMT_LSW

ASE_IM T_LSW

Bit

Field Default

R/W

31-0

0 R

De s cr iption value of IMT low at ASE time instance

7.4.4.18 ASE_IMT_MSW

ASE_IM T_M SW

Bit

Field Default

R/W

31-0

0 R

De s cr iption value of IMT high at ASE time instance

7.4.4.19 PLD_5I_IMT_LSW

PLD_5I_IM T_LSW

Bit

Field Default

R/W

31-0

0 R

De s cr iption value of IMT low at PLD 5I time instance

7.4.4.20 PLD_5I_IMT_MSW

PLD_5I_IM T_M SW

Bit

Field Default

R/W

31-0

0 R

De s cr iption value of IMT high at PLD 5I time instance

7.4.4.21 PLD_IQ_IMT_LSW

PLD_IQ_IM T_LSW

Bit

Field Default

R/W

31-0

0 R

De s cr iption value of IMT low at PLD IQ time instance

7.4.4.22 PLD_IQ_IMT_MSW

PLD_IQ_IM T_M SW

Bit

Field Default

R/W

31-0

0 R

De s cr iption value of IMT high at PLD IQ time instance

7.4.4.23 AUT_IMT_LSW

AUT_IM T_LSW

Bit

Field Default R/W

31-0

0 R

De s cr iption value of IMT low at AUT (Aiding Unit Trigger) time instance

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 202 of 230

7.4.4.24 AUT_IMT_MSW

AUT_IM T_M SW

Bit

Field Default R/W

31-0

0 R

De s cr iption value of IMT high at AUT (Aiding Unit Trigger) time instance

7.4.4.25 TestSettings

Te s tSe ttings

Bit

Fie ld

31-19 reserved 18-13 CodeOut2Sel

12-7 CodeOut1Sel

6 SignalOutPosSel 5-0 SignalOutChanSel

Default R/W 0 R
63 R/W
63 R/W
1 R/W 63 R/W

De s cr iption reserved 0 = PRN Code and IntEpoch of channel 0 is output 1 = PRN Code and IntEpoch of channel 1 is output ... 35 = PRN Code and IntEpoch of channel 35 is output 36..63 sw itches CODE_OUT2[1:0] to ground (saves pow er, since pins are not toggling)
0 = PRN Code and IntEpoch of channel 0 is output 1 = PRN Code and IntEpoch of channel 1 is output ... 35 = PRN Code and IntEpoch of channel 35 is output 36..63 sw itches CODE_OUT1[1:0] to ground (saves pow er, since pins are not toggling)
0 = Signal before FDC is output 1 = Signal after FDC is output 0 = Input Data of channel 0 before/after FDC is output 1 = Input Data of channel 1 before/after FDC is output ... 35 = Input Data of channel 35 before/after FDC is output 36..63 sw itches SIGNAL_OUT_I[2:0] and SIGNAL_OUT_Q[2:0] to ground (saves pow er, since pins are not toggling)

7.4.5 Channel Registers

Addr e s s Offs e t + 0x000 + 0x004 + 0x008 + 0x00C + 0x010 + 0x014 + 0x018 + 0x01C + 0x020 + 0x024 + 0x028 + 0x02C + 0x030 + 0x034

Size [bits] Nam e
9 ChannelCtrl 32 CarrSw Freq 32 CarrSw Shift 32 CodeSw Freq 32 CodeSw Shift 27 NCOSettings 20 CodeGenUnitCtr l 28 PrimCodeRam1Ctr l 26 PrimCodeRam2Ctr l 28 SecCodeRam1Ctrl 28 SecCodeRam2Ctrl 28 VFCGExtTaps 28 VFCGInit 28 VFCGLength

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 203 of 230

+ 0x038 + 0x03C + 0x040 + 0x044 + 0x048 + 0x04C + 0x050 + 0x054 + 0x058 + 0x05C + 0x060 + 0x064 + 0x068 + 0x06C + 0x070 + 0x074 + 0x078 + 0x07C + 0x080 + 0x084 + 0x088 + 0x08C + 0x090 + 0x094 + 0x098 + 0x09C + 0x0A0 + 0x0A4 + 0x0A8 + 0x0AC + 0x0B0 + 0x0B4 ... + 0x800 + 0x804 + 0x808 + 0x80C

31 DelayLineCtrl 19 CorrUnitCtrl 29 IntCountCtrl 32 ContCntOffset 22 AidingUnitCtrl 32 CarrAidFreq 24 CarrAidAcc 25 CodeAidFreq 17 CodeAidAcc 16 LoopState 32 IE_IMT_LSW 29 IE_ValueEE_I 29 IE_ValueEE_Q 29 IE_ValueE_I 29 IE_ValueE_Q 29 IE_ValueP_I 29 IE_ValueP_Q 29 IE_ValueL_I 29 IE_ValueL_Q 29 IE_ValueLL_I 29 IE_ValueLL_Q 32 DataCollect 32 IE_CodeFreq 32 IE_CarrFreq 32 IE_CarrObs Phase 32 IE_ContCount 32 IE_CodePhase 32 ME_IMT_LSW 32 ME_CarrObs Phase 21 ME_IntCount 32 ME_ContCount 32 ME_CodePhase
23 GNSS_DMACtr l 32 GNSS_DMAStartAddr 32 GNSS_DMA EndAddr 32 GNSS_DMACurAddr

7.4.5.1 ChannelCtrl

Channe lCtr l

Bit

Fie ld

Default R/W Description

31-9 reserved

0 R reserved

8 TimeBaseSel

0 R/W 0 = PPS, ME and ASE from local channel

1 = PPS, ME and ASE from previous channel (slaving)

7 IntEpochSel

0 R/W 0 = IE and LE f rom local channel

1 = IE and LE f rom previous channel (slaving)

6 CodeSel

0 R/W 0 = Code NCO signal f rom local channel

1 = Code NCO signal f rom previous channel (slaving)

5 CarrSel

0 R/W 0 = Carrier NCO signal from local channel

1 = Carrier NCO signal from previous channel (slaving)

­ All Rights Reserved ­ Copyright per DIN 34 ­

Channe lCtr l

Bit

Fie ld

4-0 InputSel

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 204 of 230

Default R/W Description 0 R/W 0 = first bypass of DBF0 (IM 0) 1 = second bypass of DBF0 (IM 1/2) 2 = first bypass of DBF1 (IM 2/1) 3 = second bypass of DBF1 (IM 3) 4 = reserved 5 = reserved 6 = IM0 DDCaux 7 = IM1 DDCaux 8 = IM2 DDCaux 9 = IM3 DDCaux 10 = reserved 11 = reserved 12 = data from previous channel (slaving) 13 = data from DBF0 (-135°) 14 = data from DBF0 (-90°) 15 = data from DBF0 (-45°) 16 = data from DBF0 (-0°) 17 = data from DBF0 (+45°) 18 = data from DBF0 (+90°) 19 = data from DBF0 (+135°) 20 = data from DBF1 (-135°) 21 = data from DBF1 (-90°) 22 = data from DBF1 (-45°) 23 = data from DBF1 (-0°) 24 = data from DBF1 (+45°) 25 = data from DBF1 (+90°) 26 = data from DBF1 (+135°) 27 - 31 = reserved

7.4.5.2 CarrSwFreq

CarrSw Freq

Bit

Field Default

31-0

R/W 0 R/W

De s cr iption
Signed Carrier NCO Phase Increment (softw are part, not including the aiding part)

7.4.5.3 CarrSwShift

CarrSw Shift

Bit

Field Default

31-0

R/W 0 R/W

De s cr iption Write: Signed Carrier NCO Phase Increment w hich is added once to the Carrier NCO
Read: Current Carrier NCO Phase (signed value)

7.4.5.4 CodeSwFreq

CodeSw Freq

Bit

Field Default

31-0

R/W Description
0 R/W Unsigned Code NCO Phase Increment (softw are part, not including the aiding part)

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 205 of 230

7.4.5.5 CodeSwShift

CodeSw Shift

Bit

Field Default

31-0

R/W Description
0 R/W Write: Signed Code NCO Phase Increment w hich is added to the Code NCO once or repeatedly (softw are part, not including the aiding part)

Read: Unsigned Current Code NCO Phase

7.4.5.6 NCOSettings

NCOSe ttings

Bit

Fie ld

31-27 reserved

26-5 CodeSw ShiftSteps

4-3 CodeSw ShiftMode

2 CodeSw FreqMode

1 CarrSw ShiftMode 0 CarrSw FreqMode

De fault 0 0 0
0

R/W R R/W R/W
R/W

De s cr iption reserved
number of shift steps 0 = new value becomes effective w ith next IE 1 = new value becomes ef f ective immediately 2 = new value becomes effective repeated w ith every IE 3 = reserved
0 = new value becomes effective w ith next IE 1 = new value becomes ef f ective immediately Note: In order to get the channel running from its reset state or if the Code NCO Frequency is set to zero during operation it is necessary to set this bit to immediate mode until the Code NCO is running.

Otherw ise there is a deadlock per definition. If the Code NCO frequency is zero there w ill never be an integration epoch and therefore also no new Code NCO values w ould become efefctive, since no integration epoch w ould occur.

0 R/W 0 = new value becomes effective w ith next IE 1 = new value becomes ef f ective immediately
0 R/W 0 = new value becomes effective w ith next IE 1 = new value becomes effective immediately

7.4.5.7 CodeGenUnitCtrl

Code Ge nUnitCtr l

Bit

Fie ld

De fault

31-20 reserved

0

19 CodeRamSel

0

18 BOCCosEn

0

17 BOCEffective

0

16-13 BOCDivider

0

12-11 BOCPattern

0

10 GPSL2CEn

0

R/W R R/W
R/W
R/W R/W R/W R/W

De s cr iption reserved 0 = CM1 is routed to output1, CM2 is routed to output2. If coupled output is routed to output 1
1 = CM1 is routed to output2, CM2 is routed to output1. If coupled output is routed to output 2
0 = BOC sine is selected 1 = BOC cosine is selected 0 = BOCDivider + BOCPattern becomes effective w ith next IE 1 = BOC Divider + BOCPattern becomes ef f ective immediately Primary Rate = NCO Rate / (BOCDivider + 1) BOC Pattern or L2C Enable/Disable Control 0 = do nothing

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 206 of 230

Code Ge nUnitCtr l

Bit

Fie ld

9 GPSL5En

De fault 0

R/W R/W

De s cr iption 1 = BOC register output is routed to Output 2
0 = shift reg.1 is reloaded w hen length counter1 has elapsed, shift reg2 is reloaded w hen length counter2 has elapsed
1 = shift reg.1 is reloaded w hen length counter1 has elapsed, shift reg1 and reg2 are reloaded w hen length counter2 has elapsed

8 VFCGLongEn 7 ResetSCM2 6 ResetSCM1 5 StartCM2 4 StartCM1 3 StartVFCG 2-1 StartOfEpochSel
0 Trigger

0 R/W 0 = VFCG uses 2x14 bit shift registers 1 = VFCG uses 1x28 bit shift register
0 W 0 = do nothing (w rite only) 1 = SCM2 starts reading from offset w ith next StartOfEpoch
0 W 0 = do nothing (w rite only) 1 = SCM1 starts reading from offset w ith next StartOfEpoch
0 W 0 = do nothing (w rite only) 1 = start CM2 w ith next Trigger
0 W 0 = do nothing (w rite only) 1 = start CM1 w ith next Trigger
0 W 0 = do nothing (w rite only) 1 = start VFCG w ith next Trigger (executed only once)
0 R/W 0 = shift register 1 of VFCG 1 = shift register 2 of VFCG 2 = primary code memory 1 3 = primary code memory 2
0 R/W 0 = next Integration Epoch 1 = next Measurement Epoch

7.4.5.8 PrimCodeRam1Ctrl

Prim CodeRam 1Ctrl

Bit

Fie ld

Default R/W

31-28 reserved

0 R

27-14 Offset

0 R/W

De s cr iption reserved
at next Trigger, the primary RAM is read from Offset The Offset value is only applied once if the StartCM bit is set E.g. a programmed offset value of 1 causes the CG to start w ith Chip Nr.2. Note that the offset value alw ays has to be smaller or equal than the length value. Otherw ise the output of the Code Generator is invalid.

13-0 Length

0 R/W length of the primary code - 1

7.4.5.9 PrimCodeRam2Ctrl

PrimCodeRam2Ctrl

Bit Field Default R/W Description

31- reserved 26 25- Offset 13

0 R reserved 0 R/W at next Trigger, the primary RAM is read from Offset
The Offset value is only applied once if the StartCM bit is set

­ All Rights Reserved ­ Copyright per DIN 34 ­

12-0 Length

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 207 of 230

E.g. a programmed offset value of 1 causes the CG to start with Chip Nr.2. Note that the offset value always has to be smaller or equal than the length value. Otherwise the output of the Code Generator is invalid.
0 R/W length of the primary code - 1

7.4.5.10 SecCodeRam1Ctrl

SecCodeRam 1Ctrl

Bit

Fie ld

Default R/W

31-28 reserved 27-14 Divider

0 R 0 R/W

13-7 Offset

0 R/W

De s cr iption
reserved secondary code rate = primary code rate / (Divider +1)
w rite: at next StartofEpoch the sec. RAM is read from Offset E.g. a programmed offset value of 1 causes the Secondary Code to start w ith Chip Nr.2. Note that the offset value alw ays has to be smaller or equal than the length value. Otherw ise the output of the Secondary Code is invalid.

6-0 Length

0 R/W

read: returns the current position of the secondary code pointer length of the secondary code - 1 A value of 0 deactivates the secondary code memory.

7.4.5.11 SecCodeRam2Ctrl

SecCodeRam 2Ctrl

Bit

Fie ld

Default R/W

31-28 reserved

0 R

27-14 Divider

0 R/W

13-7 Offset

0 R/W

De s cr iption reserved
secondary code rate = primary code rate / (Divider +1) w rite: at next StartOfEpoch the sec. RAM is read from Offset E.g. a programmed offset value of 1 causes the Secondary Code to start w ith Chip Nr.2. Note that the offset value alw ays has to be smaller or equal than the length value. Otherw ise the output of the Secondary Code is invalid.

6-0 Length

0 R/W

read: returns the current position of the secondary code pointer length of the secondary code - 1 A value of 0 deactivates the secondary code memory.

7.4.5.12 VFCGExtTaps

VFCGExtTaps

Bit

Fie ld

De fault

31-28 reserved

27-14 HighPart

13-0 Low Part

R/W 0 R 0 R/W 0 R/W

De s cr iption reserved upper 14 feedback taps (Polynom-2) low er 14 feedback taps (Polynom-1)

7.4.5.13 VFCGInit

VFCGInit

Bit

Fie ld

31-28 reserved

27-14 HighPart

De fault

R/W 0 R 0 R/W

De s cr iption reserved init of upper 14 taps (init LFSR-2)

­ All Rights Reserved ­ Copyright per DIN 34 ­

VFCGInit Bit
13-0

Fie ld Low Part

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 208 of 230

De fault

R/W

0 R/W

De s cr iption init of low er 14 taps (init LFSR-1)

7.4.5.14 VFCGLength

V FCGLe ngth

Bit

Fie ld

Default R/W

31-28 reserved

0 R

27-14 HighPart

0 R/W

13-0 Low Part

0 R/W

De s cr iption reserved length of upper PRN sequence (LFSR-2 length) length of low er PRN sequence (LFSR-1 Length)

7.4.5.15 DelayLineCtrl

De layLine Ctr l

Bit

Fie ld

Default R/W Description

31 reserved

0 R

reserved

30-26 SpacingLL

0 R/W SpacingLL = Delay Line Spacing from L to LL in taps-1

SpacingLL 0 = 1 tap delay

SpacingLL 1 = 2 taps delay

...

SpacingLL 21 = 22 taps delay

SpacingLL 22..31 = reserved

The Spacing becomes effective w ith the next integration epoch

25-21 SpacingL

0 R/W SpacingL = Delay Line Spacing f rom P to L in taps-1

20-16 SpacingP

0 R/W SpacingP = Delay Line Spacing from E to P in taps-1

15-11 SpacingE

0 R/W SpacingE = Delay Line Spacing from EE to E in taps-1

10-6 SpacingEE

0 R/W SpacingEE = Delay Line Spacing f rom Code In to EE in taps-1

5 CodeSw ap

0 R/W 0 = Code1 goes through DL1, Code2 goes through DL2

1 = Code1 goes through DL2, Code2 goes through DL1

4 ClkSel

0 R/W 0 = local delay line clock is used

1 = delay line clock from previous channel is used

3 CodeOutSel

0 R/W 0 = CodeOut equals CodeIn (bypass mode)

1 = Code Out equals Output LL from local Delay Line

2 CodeInSel

0 R/W 0 = Code from local Code Generator Unit is used

1 = Code from previous channel is used

1-0 DivRatio

0 R/W Delay Line Clock = CoreClk / (DivRatio + 1)

new settings become effective w ith the next IE

7.4.5.16 CorrUnitCtrl

CorrUnitCtrl

Bit

Fie ld

31-19 reserved

18 IntSourceSel

17 LongEpochReady 16 DataCollectReady

Default R/W Description

0 R reserved

0 R/W 0 = DMA and GIC is triggered by IE

1 = DMA and GIC is triggered by LE

new settings become ef f ective immediately

0 R

if the bit is set new LE values are available. It is cleared w ith the next IE.

0 R

if the bit is set, new data is available in the DataCollect register the bit is cleared if the register DataCollect is read

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 209 of 230

CorrUnitCtrl

Bit

Fie ld

15 IE_CarrObsSel

14 ME_CarrObsSel

13 CodeFreqSel

12 CarrFreqSel

11 ResetDataCollect

10-6 DataCollectLength 5-4 CDLSel

3 IQSel 2 ASEEn 1 LongEpochLLQ 0 ResetAtStartofEpoch

De fault 0 0 0 0 0 0 0
0 0 0 0

R/W R/W R/W R/W R/W W R/W R/W
R/W R/W R/W W

De s cr iption 0 = IE_CarrObs register contains phase MSB's and cycle cnt 1 = IE_CarrObs register contains only phase 0 = ME_CarrObs register contains phase MSB's and cycle cnt 1 = ME_CarrObs register contains only phase 0 = IE_CodeFreq Observable does include aiding component 1 = IE_CodeFreq Observable does not include aiding component 0 = IE_CarrFreq Observable does include aiding component 1 = IE_CarrFreq Observable does not include aiding component 0 = do nothing 1 = the Data Collect Register&Counter is cleared at next IE DataCollectLength = Bits to collect - 1 0 = LL-Q correlates w ith the LL replica of the Delay Line 1 1 = LL-Q correlates w ith the punctual replica of Delay Line 1 2 = LL-Q correlates w ith the punctual replica of Delay Line 2 3 = LL-Q correlates w ith P of DL1 and P-inverse of DL2 0 = LL-Q correlates w ith the incoming Q-path 1 = LL-Q correlates w ith the incoming I-path 0 = do nothing 1 = accumulators are w orking w ith ASE instead of IE 0 = all correlators are integrating over the same time period (IE) 1 = LL-Q integrates w ith IE, all other correlators w ith LongEpoch 0 = do nothing 1 = Reset IntCount and Accumulators w ith next Start of Epoch (executed only once)

7.4.5.17 IntCountCtrl

IntCountCtrl

Bit

Fie ld

31-29 reserved

28-21 LongEpochDiv

20-0 AccLength

Default R/W Description 0 R reserved
0 R/W Long Epoch = IntEpoch / (LongEpochDiv + 1) 0 R/W Accumulation length in BOC Rate cycles - 1. New w ritten value
becomes effective w ith the next IE

7.4.5.18 ContCntOffset

ContCntOffs e t

Bit Field Default R/W

31-0

0 R/W

De s cr iption offset is added once w ith the next integration epoch

7.4.5.19 AidingUnitCtrl

AidingUnitCtrl

Bit

Fie ld

De fault

31-23 reserved

0

22-21 TriggerSel

0

R/W R R/W

De s cr iption reserved
0 = Written parameters become effective w ith the next MEO 1 = Written parameters become effective w ith the next PPS 2 = Written parameters become effective w ith the next rising edge of the AU_TRIGGER pin

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 210 of 230

AidingUnitCtrl

Bit

Fie ld

20 CodeAidEn

19 CarrAidEn

18-0 DivRatio

De fault 0 0 0

R/W R/W R/W R/W

De s cr iption 3 = reserved 0 = Code Aiding Unit disabled (becomes ef f ective at next IE) 1 = Code Aiding Unit enabled (becomes ef f ective at next IE) 0 = Carrier Aiding Unit disabled (becomes ef f ective at next IE) 1 = Carrier Aiding Unit enabled (becomes ef f ective at next IE) AidClk = CoreClk / (DivRatio + 1)

7.4.5.20 CarrAidFreq

Car r AidFr e q

Bit Field Default R/W

31-0

0 R/W

De s cr iption
Carrier Aiding Frequency (Doppler)
Note that the CarrAidFreq register has 38bit internally. Therefore the 6 LSB's are cleared if the upper 32bit are w ritten by the softw are. Read this register returns the 32-MSB of current value of the Frequency generated in the Aiding Unit.

7.4.5.21 CarrAidAcc

CarrAidAcc

Bit

Fie ld

31-24 reserved

23-0 Value

De fault

R/W 0 R 0 R/W

De s cr iption
reserved Carrier Aiding Acceleration (Doppler Rate) Read this register returns the current ef f ective value

7.4.5.22 CodeAidFreq

CodeAidFreq Bit Field
31-25 reserved

Default R/W Description 0 R reserved

24-0 Value

0 R/W

Code Aiding Frequency (Doppler)
Note that the CodeAidFreq register has 31bit internally. Therefore the 6 LSB's are cleared if the upper 25bit are written by the software Read this register returns the 25-MSB of current value of the Frequency generated in the Aiding Unit.

7.4.5.23 CodeAidAcc

CodeAidAcc

Bit

Field

31-17 reserved

Default R/W 0 R

16-0 Value

0 R/W

Description reserved
Code Aiding Acceleration (Doppler Rate) Read this register returns the current effective value

7.4.5.24 LoopState
LoopState
­ All Rights Reserved ­ Copyright per DIN 34 ­

Bit 31-16 15-0

Fie ld reserved Value

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 211 of 230

De fault

R/W

0 R

0 R/W

De s cr iption reserved
This register has no influence on the hardw are and can be freely programmed

7.4.5.25 IE_IMT_LSW

IE_IM T_LSW

Bit

Field Default

R/W

31-0

N/A R

De s cr iption value of IMT low at Int Epoch time instance

7.4.5.26 IE_ValueEE_I

IE_ValueEE_I

Bit

Field

31-29 reserved

28-0

Default R/W N/A R N/A R

Description
Sign Extension Note that the sign bit (Bit28) is also copied to Bit 31-29. Therefore the software doesn't have to shift after reading.

7.4.5.27 IE_ValueEE_Q

IE_ValueEE_Q

Bit

Field

31-29 reserved

Default R/W N/A R

28-0

N/A R

Description Sign Extension
Note that the sign bit (Bit28) is also copied to Bit 31-29. Therefore the software doesn't have to shift after reading.

7.4.5.28 IE_ValueE_I

IE_ValueE_I

Bit

Field

31-29 reserved

28-0

Default R/W N/A R N/A R

Description
Sign Extension Note that the sign bit (Bit28) is also copied to Bit 31-29. Therefore the software doesn't have to shift after reading.

7.4.5.29 IE_ValueE_Q

IE_ValueE_Q

Bit

Field

31-29 reserved

Default R/W N/A R

28-0

N/A R

Description Sign Extension
Note that the sign bit (Bit28) is also copied to Bit 31-29. Therefore the software doesn't have to shift after reading.

7.4.5.30 IE_ValueP_I

IE_ValueP_I

Bit

Field

31-29 reserved

Default R/W N/A R

Description Sign Extension

­ All Rights Reserved ­ Copyright per DIN 34 ­

28-0

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 212 of 230

N/A R

Note that the sign bit (Bit28) is also copied to Bit 31-29. Therefore the software doesn't have to shift after reading.

7.4.5.31 IE_ValueP_Q

IE_ValueP_Q

Bit

Field

Default R/W

31-29 reserved

N/A R

28-0

N/A R

Description Sign Extension
Note that the sign bit (Bit28) is also copied to Bit 31-29. Therefore the software doesn't have to shift after reading.

7.4.5.32 IE_ValueL_I

IE_ValueL_I

Bit

Field

Default R/W

31-29 reserved 28-0

N/A R N/A R

Description
Sign Extension Note that the sign bit (Bit28) is also copied to Bit 31-29. Therefore the software doesn't have to shift after reading.

7.4.5.33 IE_ValueL_Q

IE_ValueL_Q

Bit

Field

Default R/W

31-29 reserved

N/A R

28-0

N/A R

Description Sign Extension
Note that the sign bit (Bit28) is also copied to Bit 31-29. Therefore the software doesn't have to shift after reading.

7.4.5.34 IE_ValueLL_I

IE_ValueLL_I

Bit

Field

Default R/W

31-29 reserved 28-0

N/A R N/A R

Description
Sign Extension Note that the sign bit (Bit28) is also copied to Bit 31-29. Therefore the software doesn't have to shift after reading.

7.4.5.35 IE_ValueLL_Q

IE_ValueLL_Q

Bit

Field

Default R/W

31-29 reserved

N/A R

28-0

N/A R

Description Sign Extension
Note that the sign bit (Bit28) is also copied to Bit 31-29. Therefore the software doesn't have to shift after reading.

7.4.5.36 DataCollect

DataColle ct

Bit

Field Default

R/W

31-0

0 R (*)

De s cr iption
contains the raw symbols of the navigation message (*) w riting to this register only clears the DataCollectReady bit in the CorrUnitCtrl register

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 213 of 230

7.4.5.37 IE_CodeFreq

IE_Code Fr e q

Bit

Field Default R/W

31-0

0 R

De s cr iption If CodeFreqSel=0 then IE_CodeFreq=CodeSw Freq+CodeAidFreq If CodeFreqSel=1 then IE_CodeFreq=CodeSw Freq

7.4.5.38 IE_CarrFreq

IE_Car r Fr e q

Bit

Field Default R/W

31-0

0 R

De s cr iption If CarrFreqSel=0 then IE_CarrFreq=CarrSw Freq+CarrAidFreq If CarrFreqSel=1 then IE_CarrFreq=CarrSw Freq

7.4.5.39 IE_CarrObsPhase

IE_Car r Obs Phas e

Bit

Fie ld

Default R/W Description

31-12 CycleCnt/Phase

0 R Carrier Cycle Count (if IE_CarrObsSel = 0)

20 MSB's of Carrier Phase (if IE_CarrObsSel = 1)

11-0 Phase

0 R 12 MSB's of Carrier Phase (if IE_CarrObsSel = 0)

12 LSB's of Carrier Phase (if IE_CarrObsSel = 1)

7.4.5.40 IE_ContCount

IE_ContCount

Bit

Field Default

R/W

31-0

0 R

De s cr iption 32bit continuous counter at Integration Epoch

7.4.5.41 IE_CodePhase

IE_Code Phas e

Bit

Fie ld

De fault

31-0

R/W 0 R

De s cr iption Code Phase at Integration Epoch

7.4.5.42 ME_IMT_LSW

M E_IM T_LSW

Bit

Fie ld

De fault

31-0

R/W 0 R

De s cr iption value of IMT low at ME time instance

7.4.5.43 ME_CarrObsPhase

M E_Car r Obs Phas e

Bit

Fie ld

Default R/W Description

31- CycleCnt/Phase 12

0 R

Carrier Cycle Count (if ME_CarrObs Sel = 0) 20 MSB's of Carrier Phase (if ME_CarrObs Sel = 1)

11-0 Phase

0 R 12 MSB's of Carrier Phase (if ME_CarrObs Sel = 0)

12 LSB's of Carrier Phase (if ME_CarrObsSel = 1)

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 214 of 230

7.4.5.44 ME_IntCount

M E_IntCount

Bit

Fie ld

Default R/W

31-21 reserved

0 R

20-0 Value

0 R

De s cr iption reserved 21bit Integration Count at Measurement Epoch

7.4.5.45 ME_ContCount

M E_ContCount

Bit Field Default

R/W

31-0

0 R

De s cr iption 32bit Continuous Count at Measurement Epoch

7.4.5.46 ME_CodePhase

M E_Code Phas e

Bit

Field Default

R/W

31-0

0 R

De s cr iption 32bit Code Phase at Measurement Epoch

7.4.5.47 GNSS DMA Ctrl

GNSS_DM ACtr l

Bit

Fie ld

31-23 reserved

22 ME_CodePhase

21 ME_ContCount

20 ME_IntCount

19 ME_CarrObs/Phase

18 ME_IMT_LSW

17 IE_CodePhase

16 IE_ContCount

15 IE_CarrierObs/Phase

14 IE_CarrFreq

13 IE_CodeFreq

12 DataCollect

11 IE_ValueLL_Q

10 IE_ValueLL_I

9 IE_ValueL_Q

Default R/W 0 R 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W

De s cr iption reserved 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled

­ All Rights Reserved ­ Copyright per DIN 34 ­

GNSS_DM ACtr l

Bit

Fie ld

8 IE_ValueL_I

7 IE_ValueP_Q

6 IE_ValueP_I

5 IE_ValueE_Q

4 IE_ValueE_I

3 IE_ValueEE_Q

2 IE_ValueEE_I

1 IE_IMT_LSW

0 LoopState

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 215 of 230

Default R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W

De s cr iption 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled 0 = transfer of this observable disabled 1 = transfer of this observable enabled

7.4.5.48 GNSS_DMAStartAddr

GNSS_DM AStar tAddr

Bit

Field Default

R/W

31-0

0 R/W

De s cr iption
start address of the destination buffer for that channel. Has to be 32bit aligned.

7.4.5.49 GNSS_DMAEndAddr

GNSS_DM AEndAddr

Bit

Field Default

R/W

31-0

0 R/W

De s cr iption
end address of the destination buffer for that channel. Has to be 32bit aligned.

7.4.5.50 GNSS_DMACurAddr

GNSS_DM ACur Addr

Bit

Field Default R/W Description

31-0

0 R/W current address of the DMA w rite pointer for that channel

Note that the current address pointer has to be set to a value w hich is equal or greater than the start address but sm aller than the end address before the DMA is started. Also not that the Current Address Pointer has to be 32bit alinge d.

7.4.6 Channel RAM Address Map
The PrimaryRAM1/2 and SecondaryRAM1/2 memories are not reset .

­ All Rights Reserved ­ Copyright per DIN 34 ­

Addr e s s Offs e t + 0x0000 + 0x0A00
+ 0x1400 + 0x1440

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 216 of 230

Size [bits] Nam e

5120 5120
100 100

PrimaryRAM1 Primary RAM2 SecondaryRAM1 SecondaryRAM2

7.4.6.1 PrimaryRAM1

Prim aryRAM1

Addr e s s

Bit

Offs e t

+ 0x00

7-0

+ 0x04
... + 0x9FC

31-8 7-0
31-8 ... 7-0
31-8

Default Description

undef
undef undef undef undef undef

Data 0 Bit 7 = Chip 1 ... Bit 0 = Chip 8 reserved Data 1 reserved ... Data 639 reserved

7.4.6.2 PrimaryRAM2

Prim aryRAM2

Addr e s s

Bit

Offs e t

+ 0x00

7-0

+ 0x04
... + 0x9FC

31-8 7-0
31-8 ... 7-0
31-8

Default Description

undef
undef undef undef undef undef

Data 0 Bit 7 = Chip 1 ... Bit 0 = Chip 8 reserved Data 1 reserved ... Data 639 reserved

7.4.6.3 SecondaryRAM1

Se condar yRAM 1

Addr e s s

Bit

Offs e t

+ 0x00

7-0

+ 0x04 ...

31-8 7-0
31-8 ...

Default Description

undef
undef undef undef

Data 0 Bit 7 = Chip 1 ... Bit 0 = Chip 8 reserved Data 1 reserved ...

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 217 of 230

Se condar yRAM 1

Addr e s s

Bit

Offs e t

+ 0x2C

7-0

31-8

+ 0x30

0-3 7-4 31-5

+ 0x34

31-0

+ 0x38

31-0

+ 0x3C

31-0

Default Description

undef undef
undef undef undef undef
undef undef

Data 11 reserved
reserved Data 12 reserved reserved
reserved reserved

7.4.6.4

SecondaryRAM2

Se condar yRAM 2

Addr e s s

Bit

Offs e t

+ 0x00

7-0

+ 0x04
... + 0x2C
+ 0x30
+ 0x34 + 0x38 + 0x3C

31-8 7-0
31-8 ... 7-0
31-8 0-3 7-4
31-5 31-0 31-0 31-0

Default Description

undef
undef undef undef
undef undef undef undef undef undef undef undef

Data 0 Bit 7 = Chip 1 ... Bit 0 = Chip 8 reserved Data 1 reserved ... Data 11 reserved reserved Data 12 reserved reserved reserved reserved

7.4.7

GNSS Interrupt Controller Registers

Addr e s s Offs e t
+ 0x00

Size [bits]

Nam e

32 GIC_Mask0

+ 0x04

10 GIC_Mask1

+ 0x08

32 GIC_Prio0

+ 0x0C

10 GIC_Prio1

+ 0x10

32 GIC_Pend0

+ 0x14

10 GIC_Pend1

+ 0x18

32 GIC_Clear0

+ 0x1C

10 GIC_Clear1

+ 0x20

6 GIC_QueueLow

+ 0x24

6 GIC_QueueHigh

+ 0x28

16 GIC_QueueStatus

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 218 of 230

7.4.7.1 GIC_Mask0

GIC_M as k 0

Bit Field

De fault

31 Ch31

R/W 0 R/W

... 0 Ch0

0 R/W

De s cr iption 0 = Interrupt for channel #31 is stored in Pending Register, but does not cause PIC interrupt
1 = Interrupt for channel #31 is stored in Interrupt Queue and causes PIC interrupt
... 0 = Interrupt for channel #0 is stored in Pending Register, but does not cause PIC interrupt
1 = Interrupt for channel #0 is stored in Interrupt Queue and causes PIC interrupt

7.4.7.2 GIC_Mask1

GIC_M as k 1

Bit

Fie ld

De fault

R/W

31-10 reserved

0 R

9 DMAErr

0 R/W

8 PLD_IQ

0 R/W

7 PLD_5I

0 R/W

6 ME

0 R/W

5 ASE

0 R/W

4 PPS

0 R/W

3 Ch35

0 R/W

... 0 Ch32

0 R/W

De s cr iption reserved 0 = Interrupt for DMAErr is stored in Pending Register, but does not cause PIC interrupt
1 = Interrupt for DMAErr is stored in Interrupt Queue and causes PIC interrupt
0 = Interrupt for PLD_IQ is stored in Pending Register, but does not cause PIC interrupt
1 = Interrupt for PLD_IQ is stored in Interrupt Queue and causes PIC interrupt
0 = Interrupt for PLD_5I is stored in Pending Register, but does not cause PIC interrupt
1 = Interrupt for PLD_5I is stored in Interrupt Queue and causes PIC interrupt
0 = Interrupt for ME is stored in Pending Register, but does not cause PIC interrupt
1 = Interrupt for ME is stored in Interrupt Queue and causes PIC interrupt
0 = Interrupt for ASE is stored in Pending Register, but does not cause PIC interrupt
1 = Interrupt for ASE is stored in Interrupt Queue and causes PIC interrupt
0 = Interrupt for PPS is stored in Pending Register, but does not cause PIC interrupt
1 = Interrupt for PPS is stored in Interrupt Queue and causes PIC interrupt
0 = Interrupt for channel #35 is stored in Pending Register, but does not cause PIC interrupt
1 = Interrupt for channel #35 is stored in Interrupt Queue and causes PIC interrupt
... 0 = Interrupt for channel #32 is stored in Pending Register, but does not cause PIC interrupt
1 = Interrupt for channel #32 is stored in Interrupt Queue and causes PIC interrupt

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 219 of 230

7.4.7.3 GIC_Prio0

GIC_Prio0

Bit Field Default R/W

31 Ch31

0 R/W

... 0 Ch0

0 R/W

De s cr iption 0 = Interrupt for channel #31 is assigned to level low 1 = Interrupt for channel #31 is assigned to level high ... 0 = Interrupt for channel #0 is assigned to level low 1 = Interrupt for channel #0 is assigned to level high

7.4.7.4 GIC_Prio1

GIC_Prio1

Bit

Fie ld

Default R/W Description

31-10 reserved 9 DMAErr

0 R reserved 0 R/W 0 = Interrupt for DMA error is assigned to level low
1 = Interrupt for DMA error is assigned to level high

8 PLD_IQ 7 PLD_5I

0 R/W 0 = Interrupt for pow er level detector IQ is assigned to level low 1 = Interrupt for pow er level detector IQ is assigned to level high
0 R/W 0 = Interrupt for pow er level detector 5I is assigned to level low 1 = Interrupt for pow er level detector 5I is assigned to level high

6 ME 5 ASE

0 R/W 0 = Interrupt for measurement epoch is assigned to level low 1 = Interrupt for measurement epoch is assigned to level high
0 R/W 0 = Interrupt for antenna sw itch epoch is assigned to level low 1 = Interrupt for antenna sw itch epoch is assigned to level high

4 PPS 3 Ch35

0 R/W 0 = Interrupt for pulse per second is assigned to level low 1 = Interrupt for pulse per second is assigned to level high
0 R/W 0 = Interrupt for channel #35 is assigned to level low

1 = Interrupt for channel #35 is assigned to level high

...

...

0 Ch32

0 R/W 0 = Interrupt for channel #32 is assigned to level low 1 = Interrupt for channel #32 is assigned to level high

7.4.7.5 GIC_Pend0

GIC_Pe nd0

Bit Field Default

R/W

31 Ch31

0 R

... 0 Ch0

0 R

De s cr iption 0 = Interrupt for channel #31 is not pending 1 = Interrupt for channel #31 is pending ... 0 = Interrupt for channel #0 is not pending 1 = Interrupt for channel #0 is pending

7.4.7.6 GIC_Pend1

GIC_Pe nd1

Bit

Fie ld

Default R/W

31-10 reserved

0 R

9 DMAErr

0 R

8 PLD_IQ

0 R

De s cr iption reserved 0 = Interrupt for DMA error is not pending 1 = Interrupt for DMA error is pending 0 = Interrupt for pow er level detector IQ is not pending 1 = Interrupt for pow er level detector IQ is pending

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 220 of 230

GIC_Pe nd1

Bit

Fie ld

7 PLD_5I

6 ME

5 ASE

4 PPS

3 Ch35

... 0 Ch32

Default R/W 0 R 0 R 0 R 0 R 0 R
0 R

De s cr iption 0 = Interrupt for pow er level detector 5I is not pending 1 = Interrupt for pow er level detector 5I is pending 0 = Interrupt for measurement epoch is not pending 1 = Interrupt for measurement epoch is pending 0 = Interrupt for antenna sw itch epoch is not pending 1 = Interrupt for antenna sw itch epoch is pending 0 = Interrupt for pulse per second is not pending 1 = Interrupt for pulse per second is pending 0 = Interrupt for channel #35 is pending 1 = Interrupt for channel #35 is pending ... 0 = Interrupt for channel #32 is pending 1 = Interrupt for channel #32 is pending Note: In order to get the latest state of IntPend1, IntPend0 has to be read before

7.4.7.7 GIC_Clear0

GIC_Cle ar 0

Bit Field Default

R/W

31 Ch31

0 W

... 0 Ch0

0 W

De s cr iption 0 = Pending Bit for channel #31 is left unchanged 1 = Pending Bit for channel #31 is cleared ... 0 = Pending Bit for channel #0 is left unchanged 1 = Pending Bit for channel #0 is cleared

7.4.7.8 GIC_Clear1

GIC_Clear1 Bit Field 31-10 reserved
9 DMAErr
8 PLD_IQ
7 PLD_5I
6 ME
5 ASE
4 PPS
3 Ch35
... 0 Ch32

Default R/W Description 0 R reserved 0 W 0 = Pending Bit for DMA error is left unchanged 1 = Pending Bit for DMA error is cleared 0 W 0 = Pending Bit for power level detector IQ is left unchanged 1 = Pending Bit for power level detector IQ is cleared 0 W 0 = Pending Bit for power level detector 5I is left unchanged 1 = Pending Bit for power level detector 5I is cleared 0 W 0 = Pending Bit for measurement epoch is left unchanged 1 = Pending Bit for measurement epoch is cleared 0 W 0 = Pending Bit for antenna switch epoch is left unchanged 1 = Pending Bit for antenna switch epoch is cleared 0 W 0 = Pending Bit for pulse per second is left unchanged 1 = Pending Bit for pulse per second is cleared 0 W 0 = Interrupt for channel #35 is left unchanged 1 = Interrupt for channel #35 is cleared ... 0 W 0 = Interrupt for channel #32 is left unchanged 1 = Interrupt for channel #32 is cleared

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 221 of 230

7.4.7.9 GIC_QueueLow

GIC_Que ue Low

Bit Field

Default R/W

31-6 reserved

0 R

5-0 Data

63 R

De s cr iption reserved 0 = channel #0 had interrupt 1 = channel #1 had interrupt ... 34 = channel #34 had interrupt 35 = channel #35 had interrupt 36 = PPS interrupt occured 37 = ASE interrupt occured 38 = ME interrupt occured 39 = PLD_5I interrupt occured 40 = PLD_IQ interrupt occured 41 = DMA error occured 42 = reserved ... 62 = reserved 63 = interrupt queue empty Note: After GNSS reset this register should be read until 0x3F (queue empty) is readback. See datasheet for more details.

7.4.7.10 GIC_QueueHigh

GIC_Que ue High

Bit Field

Default R/W

31-6 reserved

0 R

5-0 Data

63 R

De s cr iption reserved 0 = channel #0 had interrupt 1 = channel #0 had interrupt ... 34 = channel #34 had interrupt 35 = channel #35 had interrupt 36 = PPS interrupt occured 37 = ASE interrupt occured 38 = ME interrupt occured 39 = PLD_5I interrupt occured 40 = PLD_IQ interrupt occured 41 = DMA error occured 42 = reserved ... 62 = reserved 63 = interrupt queue empty Note: After GNSS reset this register should be read until 0x3F (queue empty) is readback. See datasheet for more details.

7.4.7.11 GIC_QueueStatus

GIC_Que ue Status

Bit Field

Default R/W Description

31- reserved 16

0 R reserved

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 222 of 230

GIC_Que ue Status Bit Field
15 QueueLow Overflow
14 QueueHighOverflow
13-7 FifoLevelQueueLow 6-0 FifoLevelQueueHigh

De fault 0

R/W R/W

De s cr iption
If set, this bit indicates that the IntQueueLow w as full and another low queue enabled interrupt could not be registered in the low queue anymore. The bit can be set back to zero by w riting a "1" in this bit.

0 R/W If set, this bit indicates that the IntQueueHigh w as full and another high queue enabled interrupt could not be registered in the high queue anymore. The bit can be set back to zero by w riting a "1" in this bit.

N/A

R FIFO level of IntQueueLow . 0 = empty, 64 = full

N/A

R FIFO level of IntQueueHigh. 0 = empty, 64 = full

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 223 of 230

7.5 FFT Address Map

7.5.1 FFT RAM and Registers

Addr e s s

Size [bits] Nam e

0xB0000000

32 FFTValue_0_real

0x B0000004

32 FFTValue_0_imag

0x B0000008

32 FFTValue_1_real

0x B000000C

32 FFTValue_1_imag

...

...

0x B00003F0

32 FFTValue_126_real

0x B00003F4

32 FFTValue_126_imag

0x B00003F8

32 FFTValue_127_real

0x B00003FC

32 FFTValue_127_imag

0x B0000400

1 FFTCtrl (see below )

7.5.1.1 FFTCtrl

FFTCtrl

Bit

Fie ld

31-2 reserved

1 FFTDone

0 startFFT

De fault 0 0
0

R/W Description
R Reserved
R Asserted w hen FFT done, cleared w hen w riting to FFTCtrl
R/W 0 = do nothing
1 = start FFT engine. Bit is cleared to 0 w hen FFT is done.

7.5.1.2 FFTValue

FFTValue

Bit

Fie ld

31-0 Value

De fault undef

R/W Description
R/W Write: Input data for FFT, in tw o's complement format Read : Output data of FFT calculation in IEEE 754 single precision Floating Point format

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 224 of 230

8 Miscellaneous
8.1 Implementation Losses
For t he AGGA-4 t he following implement at ion losses have been found by analysis and simulat ion.

C ode
Input Modul e DDC Part - IQ Mixer - FIR Filt er - Aliasing (downsampling) - Quant izat ion R2C Part - FIR Filt er - Aliasing (downsampling) - Quant izat ion
Di gi tal Beam Formi ng - 2 Quant izat ions st eps
C hanne l - Final Down Convert er
Correlation Losses - Bandwidt h Limit ed Code - Jit t ering Code NCO

BPSK(1) [dB]
0,15 0,05 0,05 0,16
0,02 0,02 0,16
0,33
0,11
0,04 0,03

For furt her det ails see [AD-03].

BPSK(10) [dB]

Re m ark

0,15

0,05

0,05

0,16

wit h opt imal t hresholds

0,02 0,02 0,16

0,33

0,11

5 bit s rounded phase quant izat ion

0,44

0,29

for CoreClk frequency = 40 MHz

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 225 of 230

8.2 Radiation Mitigation
8.2.1 Flip Flops
The AGGA-4 uses radiation hardened flip flops except for the following functions which are implemented wit h soft flip flops:
· Delay Lines of GNSS Core (t otal 36*20 = 7920 flip-flops). Bit errors in the code will be filt ered out by t he correlat ion process.
· Accumulators for EE,E,P,L,LL in the GNSS core (total 36*581 = 20916 flip-flops). Errors in t he correlat ion values, if on the MSB, can be large. However, the impact can be mitigated by plausibility checks (detection of out liers), appropriat e discriminat ors and filt ers in t he loop processing.
· Leon Memory interface data and check-bits buses (input and output) flip flops, total = 2* (32 + 7) = 78 flipflops. It is t herefore recommended t o always enable t he ext ernal memory EDAC.
8.2.2 RAM's
The following RAM's are used inside t he AGGA ASIC wit h t he following prot ect ion mechanisms: · GNSS primary code RAM, not prot ect ed · FFT RAM, not prot ect ed · DSU RAM (host ing t he DSU t race buffer), not prot ect ed · Cache Memory, parit y prot ect ed, see 4.7.3 for furt her det ails
In case of t he GNSS primary code RAM a bit flip would not dist urb t he GNSS receiver operat ion. Not e: If the primary code RAM is switched off, a radiation hard constant "1" comes out of the memories, so t hat t he residual code generat or is not dist urbed. The GNSS secondary code RAM and the Leon register file (typically also RAM) are implemented as hard flip flops and are t herefore not list ed in t he RAM sect ion. For ext ernal RAM t he AGGA offers a hardware EDAC prot ect ion. See 4.7.2 for furt her det ails.
8.2.3 TMR
The Triple Module Redundant implementation is used to protect critical register against SEU (Single Even Upset). Due t o the fact that the AGGA-4 design uses radiation hard technology, the use of TMR is limited to very critical regist ers.
8.2.3.1 Watchdog TMR The internal Watchdog is capable to force a reset in the whole ASIC. Therefore, the mechanism that directly generat es bot h watchdog level signals is protected with TMR. This protection consists of the t riplicat ion of t he int ernal st at e machine and generat ing via t riple vot ing of t heir result s t he wat chdog signals.
8.2.3.2 AGGA-4 Reset TMR The external AGGA-4 reset is used to control a count er t o release t he reset only when t he AGGA-4 clock PLL is locked. This allows keeping the design in reset during the stabilization of the PLL. A change in one of t he regist ers of t his counter can lead to a global reset. Therefore, this counter is implemented only once but if this counter reaches the 5 wait st at es, it set s t o high a TMR regist er.
8.2.3.3 GNSS CoreClkSel TMR CoreClkSel determines whether the CoreClk is the external EXT_CORE_CLK or the result of a division by 2.5 of t he HALF_SAMPLE_CLK pin. Due to the possibility that one of these clocks is connected to ground, a accident al change in t his register whould deactivate the whole GNSS circuit. Therefore, for this single bit regist er, an addit ional TMR prot ect ion is implement ed.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 226 of 230

8.2.3.4 Secure Lock TMR The internal lock signal shall indicate when the clock is stable and the syst em is ready t o operat e. This lock signal generated by a counter that keeps the system in reset unt il a given t ime is elapsed. An SEU in one of t his count er regist ers could force to a general reset in the system. Therefore, additional TMR prot ect ion is implement ed in t his count er.
Not e: A more det ailed analysis on t he radiat ion t est ing of AGGA-4 can be found in

8.3 Synchronization of multiple AGGA devices
In order to slave multiple AGGA-4's t oget her in order t o increase t he amount of GNSS channels, t he following arrangement for ME, PPS and IMT is recommended:

The int ended way t o have t he same PPS in all AGGA-4's is:

·

Provide t he same GNSS Core Clock t o all AGGA-4's

·

Define one AGGA-4 as PPS Mast er.

·

Connect t he PPSO from t he Mast er t o t he PPSI pins of all AGGA-4's

·

Configure all AGGA-4's t o use t he ext ernal PPS from t he PPSI pin (also t he mast er)

·

From now on all AGGA-4's should see t he same PPS event

The int ended way t o have t he same ME and IMT in all AGGA-4's is:

·

Provide t he same GNSS Core Clock t o all AGGA-4's

·

Define one AGGA-4 as Measurement Epoch (ME) Mast er.

·

Connect t he MEO from t he Mast er t o t he MEI pins of all AGGA-4's

·

Configure all AGGA-4's t o use t he ext ernal ME from t he MEI pin (also t he mast er)

·

At t ime of init ializat ion (aft er t he AGGA's have been configured t o use MEI), writ e "0" in t he

regist ers IMT_LSW and IMT_MSW

·

The "0" IMT value will become effect ive wit h t he next ME

·

From now on all AGGA-4's run fully synchronized (also t heir IMT count ers)

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 227 of 230

8.4 Known Implementation Issues and Suggested Work Arounds
8.4.1 GNSS Interrupt Queue Initialization
Aft er reset of the GNSS core the GIC queue low and the GIC queue high can have one arbitrary entry. Therefore if t he user want s to make use of these queues, it is recommended to clean the queues by reading the registers GIC_QueueLow and GIC_QueueHigh aft er a GNSS reset unt il 0x3F (queue empt y) is readback.

8.4.2 Cache Freeze Alert
See sect ion 4.9.5

8.4.3 Pending Interrupt Cleared by Ticc
See sect ion 4.12.1.1

8.4.4 Reset and Clock Issue
If t he AGGA-4 is being reset (see chapter 6.5 for further det ails on t he reset logic) wit hout having t he t wo clock domains CoreClk and SysClk active at time of reset, uncontrolled GNSS DMA t ransfers to random addresses can occur. The receiver board design shall therefore make sure that both clock inputs EXT_SYS_CLK and EXT_CORE_CLK are available to the chip while POWER_ON_RESET_N is asserted. This is t rue for all possible AGGA-4 input modes.
If t he user wants to make use of the AGGA-4 DDC mode some additional remarks have to be taken into account. In this case t he GNSS operat ion needs t wo clock domains, t he CoreClk and t he HalfSampleClk. The user has t wo possibilit ies in t his case:
1. CoreClk and HalfSampleClk are generated outside the AGGA-4 and assigned t o t he pins EXT_CORE_CLK and HALF_SAMPLE_CLK. In this case no further considerations have to be taken into account, provided t hat all t hree ext ernal clocks are available during power-on reset .
2. HalfSampleClk is generated externally outside the AGGA-4 and is assigned to the pin HALF_SAMPLE_CLK. CoreClk is generated internally by setting the CoreClkSel bit in t he GNSSCoreClkCtrl regist er (see also chapter 6.4.2 for more details). In this case CoreClk is not present during power-on reset and t he following st artup sequence must be executed before act ually making use of t he GNSS core and it s DMA funct ion:

Acti on

C omment

Reset the AGGA-4 (e.g. power on or AGGA-4 reset )

EXT_SYS_CLK, EXT_CORE_CLK and HALF_SAMPLE_CLK must be available at time of reset . Note that in this particular case EXT_CORE_CLK
can be any frequency from 1MHz to the maximum, t here is no need to ensure a factor 2.5 between HalfSampleClk and CoreClk.

Program CoreClkSel = 1 in t he GNSSCoreClkCtrl Now CoreClk is generated int ernally by dividing t he

regist er

HALF_SAMPLE_CLK input .

Execut e a GNSS Reset by writ ing "0xDEADAFFE" Now t he GNSS core is properly initialized and ready to int o the SwResetEnable register, followed by a write of use. "0xCAFEBEBE" into t he SwResetExecute regist er.

­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 228 of 230

8.4.5 Start of Code Generators
Each Code Generator (VFCG, Primary Code Memory 1, Primary Code Memory 2) has the ability to (re-)start it s code generation (by setting the bits StartVFCG, StartCM1, StartCM2 in the CodeGenUnitCtrl register) wit h either t he IE or t he ME depending on t he Trigger bit in t he CodeGenUnitCtrl regist er. However the Code NCO phase is not reset at t he moment of t he configured t rigger aft er arming one of t he bit s StartVFCG, StartCM1, StartCM2. Therefore the user has to take into account that the edges of the code chips generated by t he (re-)st art ed code generat or can be phase shift ed relat ive t o t he IE or ME by a fract ion of one chip.
If t he user wants to implement a particular code phase relative to the ME he is advised to eit her t ake t his effect int o account or t o shift t he code phase wit h t he CodeSwShift regist er t o t he desired phase in relat ion.
Typically t he user want s t o have t he Code Epoch aligned wit h IE. In t his case t he user is advised t o set t he ResetAtStartOfEpoch bit in the CorrUnitCtrl register once the Code has started with the t rigger IE. Aft er set t ing t he ResetAtStartOfEpoch bit the IE is aligned to the Code Epoch and the sub-chip phase misalignment vanishes. Not e t hat in t his case one IE can occur wit h a very small delt a t ime t o it s predecessor (depending on t he sub-chip phase misalignement ).

8.4.6 SpaceWire RX DMA loss of EOP and data when packets arrive very close
When two SPW packets arrive close to each other on the same SPW link, EOP charact ers may be discarded. This happens if 8 or more characters of the next packet have been received at the time the DMA controller is transfering t he last character (and process the EOP) of the previous packet. In this case the EOP is not reported in the interrupt regist er SpW_ModuleIntStatus (bit SPWx_EOP_EEP), t he DMA is not stopped and the DMA continues wit h t he next packet inst ead. It is neither possible to give a minimum latency between the packets to trigger this condition, nor is it possible t o calculate the probability of the occurence of t his problem, because t he lat ency of t he DMA t ransfer is largely application dependent. The DMA transfer latencies depend on t he load of t he int ernal AHB bus which is a shared resource of t he CPU and all t he DMA unit s in t he AGGA-4.
In addit ion if this "loss-of-EOP" condition is triggered and the size of the old packet is NOT a multiple of 4 bytes (N*4, not including t he EOP), t hen t he first 4 byt es of t he new packet are discarded.
For example, t wo 9-charact er SPW packet s wit h dat a (in hex)...
· 00, 01, 02, 03, 04, 05, 06, 07, 08 · 10, 11, 12, 13, 14, 15, 16, 17, 18
... would be merged int o t he following 32-bit words found in t he DMA area:
· 0x 00 01 02 03 · 0x 04 05 06 07 · 0x 08 05 06 07 (last 3 bytes are dummy) · 0x 14 15 16 17 · 0x 18 15 16 17 (last 3 bytes are dummy)

The following measures are suggest ed as workaround:
Sol uti on A: The error will not occur if t he following condit ions are fulfilled: each SpW packet received by AGGA4 has a lengt h of modulo 8
AND { t he receive area, defined by the two registers SpWn_Rx_SAP and SpWn_Rx_EAP is large enough to receive a complet e SpW packet
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 229 of 230

OR in t he case the receive area is NOT large enough to receive a complete SpW packet OR the length of the SpW packet is unknown, t hen t he lengt h of t he receive area has t o be modulo 8
} AND t he receive area is double word aligned, i.e. SpWn_Rx_SAP regist er bit s (2 t o 0) have t o be zero (0b000).
Sol ution B: The error will not occur if the defined DMA receive area is always exactly 4 bytes. As a consequence, t he DMA area has to be configured and re-started after each 4 bytes received. To avoid the overhead of frequent interrupt s, t his could be done by a background polling routine, copying the 4-byte word to a larger SW buffer and rest art ing t he DMA. Processing a packet could then still use the EOP int errupt , but ret rieving t he packet from t his SW buffer.
Sol ution C: The error will not occur if the next SpW packet is only received, after an EOP interrupt was generated from t he previous SpW packet - this means no SpW packet is in the "pipeline". This could t ypically be ensured by a high level flow control (e.g. the receiver acknowledges receipt with a ret urn packet , and only t hen t he sender(s) will be allowed t o send t he next packet ).

8.4.7 Data Loss when utilizing both UART's in parallel.
In certain scenarios of high congestion with both UARTs enabled for RX and TX, a loss of data on one of the receivers has been observed. The problem could never be fully analysed. The user is therefore currently advised to make not use of both UART's at the same t ime unt il t he issue is clarified.
8.4.8 GNSS Code Shift error by changing mode
The GNSS code generator described in chapter 3.4.3.5 allows to perform shifting of the code phase in different modes. However when writing the bitfield CodeSwShiftSteps in t he NCOSettings regist er t o zero, in very rare cases t he hardware will shift t he maximum number of 4194304 st eps rat her t han 0 st eps. Alt hough on first hand t his issue seems minor one has t o be aware t hat it not only can lead t o an unsucessfull acquisit ion of a particular channel, but also can have an influence on the length of the integration t ime (depending on t he value in the register CodeSwShift) and thus on the CPU load in order to process the channel. The user is t herefore advised t o never writ e "0" in t he bit field CodeSwShiftSteps. If t he user wants to stop the automatic slewing of the code generat or he is advised t o set t he value in t he regist er CodeSwShift t o zero and t he value of CodeSwShiftSteps t o "1".
8.4.9 GNSS AHB Slave initilization
Due t o an undeterministic initialization of the GNSS AHB Slave aft er power-on, it is possible t hat any access t o a GNSS core register can freeze the complete AMBA bus of the AGGA-4. Once this st at e has been reached, a syst em reset is required. The following opt ions are suggest ed as workaround:
· Program and enable the wat chdog as shown in chapter 6.5.2. In the case the wat chdog will generat e a reset if t his problem occurs. Aft er a t riggered wat chdog reset t he init ializat ion of t he GNSS AHB Slave is in a consist ent st at e.
· Aft er power up, just execute a software reset as shown in chapter 6.5.5. After this reset the initialization of t he GNSS AHB Slave is in save st at e.
· Writing to GNSS Code Memory (example: address 0xA100:0000) before the first access to any GNSS register. This dummy write generates the required ready signal t o resolve t he dead-lock in AHB slave int erface.
8.4.10 Access to non-exisiting GNSS code memories
The 36 GNSS code memories are implemented in the address range 0xA1000000 t o 0xA123FFFF. Accesses t o t he addresses from 0xA1240000 to 0xA13FFFFF will be int erpret ed by t he AGGA-4 as accesses t o code memories,
­ All Rights Reserved ­ Copyright per DIN 34 ­

AT7991 (AGGA-4) User Manual

Airbus DS GmbH Doc No: AGGA-ADSO-UM-1000485489 Issue: Issue 1 Updated: 26-Apr-2019 Page: 230 of 230

alt hough they are not implemented. In such a case the AHB Slave interface of t he GNSS core will be frozen and t he AGGA-4 is no longer accessible. Only an AGGA-4 reset will break t his sit uat ion.
Any access t o address 0xA1240000 t o 0xA13FFFFF must t herefore be avoided.

8.4.11 Cache Snooping Problem
Probl em descri pti on An anomaly has been detected in the LEON2FT data cache controller, in a corner case in conjunct ion wit h part ially filled cache lines, i.e. lines allocated in the cache, of which not all valid bits are set. If the processor makes a read access t o a not yet cached word of such cache line (valid bit not set), causing a read miss, and t hat access closely coincides wit h a DMA write to that same cache line causing a snoop hit, the cache may become incoherent. The cache line should be cleared by the snooper, but the DMA write address may erroneously be set valid again, even though data in memory and dat a in cache are different .

Probl em i mpact The data cache may be incoherent, and as a consequence, data or commands coming in via DMA could be missed by t he processor, for example when the processor is polling a set of DMA locat ions, and DMA updat es one of t hem. The probability of occurrence seems to be generally very low, being conditioned by the coincidence of several event s: a) Exist ence of a part ially filled cache line b) CPU read t o a not yet cached locat ion of t his cache line c) DMA writ e t o an already cached locat ion of t he same cache line d) That CPU read and DMA writ e coincide in a narrow t ime window
C orrecti ve/Preventi ve acti ons to users Several count ermeasures may be considered: 1. Do not use t he cache for DMA dat a. This can be achieved by bypassing t he cache when reading DMA locat ions wit h ASI 0x4 or 0x7. Flushing t he cache before accessing any DMA locat ions would work as well, however will likely have a negat ive impact in performance. 2. Ensure cache coherency by an appropriat e soft ware prot ocol. For example, simult aneous read/writ e access is usually avoided by t he common double buffering scheme for DMA dat a, where one buffer is writ t en t o by DMA unt il full, t hen flip (swap) writ ing t o t he ot her buffer, while t he processor reads and processes only t he buffer which is not current ly at t ached t o DMA. 3. Since t he probabilit y of occurrence seems t o be very low, a use 'as-is' may be considered along wit h a suit able higher level fault det ect ion and recovery scheme. For example, for commands, a t imeout mechanism could be used, and dat a packet s be prot ect ed by parit y or CRC.
See also [RD-10] for furt her informat ion.

­ All Rights Reserved ­ Copyright per DIN 34 ­


PDF generator Adobe Acrobat 15.0