HFCC-01 Low-Level Software (LLSW) Rel_6802_HFCC-01-RP-CSAR-CB
Loading...
Searching...
No Matches
mmapA429.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025, TUSAS Malaysia
3 * All rights reserved.
4 * This file contains proprietary information. This
5 * file shall not be duplicated, used, modified,
6 * or disclosed in whole or in part without
7 * the express written consent of TUSAS.
8 */
9
18
19#ifndef INCLUDED_MMAP_A429_H
20#define INCLUDED_MMAP_A429_H
21
22// =========================================================================
23
24// mfb - memory map offset for arinc429
25#define MMAP_A429_OFFSET (0x5000U)
26#define MMAP_A429_SCH_OFFSET (0x1000U)
27
28// =========================================================================
29
30// memory map offset list
31#define MMAP_A429_MCR (0x0000U)
32#define MMAP_A429_RX_CR_BASE (0x0004U)
33#define MMAP_A429_RESET_MODULE (0x0028U)
34#define MMAP_A429_RX_FLAG_BASE (0x0044U)
35#define MMAP_A429_TX_CR_BASE (0X0084U)
36#define MMAP_A429_TX_FLAG_BASE (0x00A4U)
37#define MMAP_A429_LABEL_FILTER_BASE (0x00C4U)
38#define MMAP_A429_PBIT_STAT (0x01ECU)
39#define MMAP_A429_CBIT_STAT (0x01F0U)
40#define MMAP_A429_CBIT_DATA (0x01F4U)
41#define MMAP_A429_TEMP (0x01F8U)
42#define MMAP_A429_RX_RAM_BASE (0x01FCU)
43#define MMAP_A429_RX_FIFO_COUNT_BASE (0x023CU)
44#define MMAP_A429_RX_FIFO_MESSAGE_BASE (0x0240U)
45#define MMAP_A429_TX_FIFO_COUNT_BASE (0x02BCU)
46#define MMAP_A429_TX_FIFO_MESSAGE_BASE (0x02C0U)
47#define MMAP_A429_TX_RR_BASE (0x02FCU)
48#define MMAP_A429_TX_DF_COUNT_BASE (0x031CU)
49#define MMAP_A429_TX_MESSAGE_COUNT_BASE (0x033CU)
50#define MMAP_A429_SW_RESET (0x034CU)
51
52// =========================================================================
53
54// channel offset gap
55#define MMAP_A429_CH_GAP (0x04U)
56#define MMAP_A429_SEGMENT_GAP (0x04U)
57#define MMAP_A429_FIFO_COUNT_CH_GAP (0x08U)
58#define MMAP_A429_FIFO_MESSAGE_CH_GAP (0x08U)
59#define MMAP_A429_LABEL_FILTER_CH_GAP (0x20U)
60#define MMAP_A429_TX_SCH_ADDR_GAP (0x04U)
61#define MMAP_A429_TX_SCH_CH_GAP (0x1000U)
62
63// =========================================================================
64
65// mcr bitmask value
66#define MMAP_A429_MCR_TXDL256_BITMASK (0x01U)
67#define MMAP_A429_MCR_TX7OPT_BITMASK (0x02U)
68#define MMAP_A429_MCR_TXMSK_BITMASK (0x04U)
69#define MMAP_A429_MCR_AFLIP_BITMASK (0x08U)
70#define MMAP_A429_MCR_TX_BITMASK (0x40U)
71#define MMAP_A429_MCR_RX_BITMASK (0x80U)
72
73// =========================================================================
74
75// tx rx control bit position
76#define MMAP_A429_RX_CR_POS_SPEED (1U) // 0 = low speed, 1 = high speed
77#define MMAP_A429_RX_CR_POS_SD9 (2U)
78#define MMAP_A429_RX_CR_POS_SD10 (3U)
79#define MMAP_A429_RX_CR_POS_ENABLE_SDI (4U)
80#define MMAP_A429_RX_CR_POS_PARITY (5U)
81#define MMAP_A429_RX_CR_POS_ENABLE (7U)
82
83#define MMAP_A429_TX_CR_POS_SPEED (1U) // 0 = low speed, 1 = high speed
84#define MMAP_A429_TX_CR_POS_ENABLE (2U) // clear to enable, set to disable
85#define MMAP_A429_TX_CR_POS_SKIP (3U)
86#define MMAP_A429_TX_CR_POS_PARITY_TYPE (4U) // 0 = ODD, 1 = EVEN
87#define MMAP_A429_TX_CR_POS_ENABLE_PARITY (5U)
88#define MMAP_A429_TX_CR_POS_PRESCALE (6U) // 0 = 10ms, 1 = 1ms
89#define MMAP_A429_TX_CR_POS_RUN (7U)
90
91// =========================================================================
92
93// flag position value
94#define MMAP_A429_POS_FLAG_FIFO_EMPTY (0U)
95#define MMAP_A429_POS_FLAG_FIFO_ALMOST_FULL (1U)
96#define MMAP_A429_POS_FLAG_FIFO_FULL (2U)
97
98// =========================================================================
99
100// rx flag bitmask value
101#define MMAP_A429_RX_FLAG_FIFO_EMPTY_BITMASK (0x01U)
102#define MMAP_A429_RX_FLAG_FIFO_ALMOST_FULL_BITMASK (0x02U)
103#define MMAP_A429_RX_FLAG_FIFO_FULL_BITMASK (0x04U)
104#define MMAP_A429_RX_ENABLE_RAM_BITMASK (0x08U)
105#define MMAP_A429_RX_ENABLE_FIFO_BITMASK (0x10U)
106#define MMAP_A429_RX_ENABLE_LABEL_FILTER (0x20U) //
107
108// =========================================================================
109
110// tx flag bitmask value
111#define MMAP_A429_TX_FLAG_FIFO_EMPTY_BITMASK (0x01U)
112#define MMAP_A429_TX_FLAG_FIFO_ALMOST_FULL_BITMASK (0x02U)
113#define MMAP_A429_TX_FLAG_FIFO_FULL_BITMASK (0x04U)
114#define MMAP_A429_TX_FIFO_COUNT_BITMASK (0x1FU)
115#define MMAP_A429_TX_FIFO_COUNT_ENABLE_BITMASK (0x20U)
116
117// =========================================================================
118
119// status reg bitmask value
120#define MMAP_A429_TX_FIFO_ENABLE_FLAG (0x08U)
121#define MMAP_A429_TX_FIFO_DISABLE_FLAG (0U)
122
123#define MMAP_A429_RX_FIFO_ENABLE_FLAG (0x10U)
124#define MMAP_A429_RX_FIFO_DISABLE_FLAG (0U)
125
126// =========================================================================
127
128// Bit position for PBIT and CBIT
129#define MMAP_A429_POS_PBIT_PWR_FAULT (0U)
130#define MMAP_A429_POS_PBIT_IC_NOT_READY (1U)
131#define MMAP_A429_POS_PBIT_COMM_ERR (2U)
132#define MMAP_A429_POS_PBIT_BIST_ERR (3U)
133#define MMAP_A429_POS_PBIT_LOOPBACK_TX_CH1 (4U)
134#define MMAP_A429_POS_PBIT_LOOPBACK_TX_CH2 (5U)
135#define MMAP_A429_POS_PBIT_LOOPBACK_TX_CH3 (6U)
136#define MMAP_A429_POS_PBIT_LOOPBACK_TX_CH4 (7U)
137#define MMAP_A429_POS_PBIT_LOOPBACK_RX_CH1 (8U)
138#define MMAP_A429_POS_PBIT_LOOPBACK_RX_CH2 (9U)
139#define MMAP_A429_POS_PBIT_LOOPBACK_RX_CH3 (10U)
140#define MMAP_A429_POS_PBIT_LOOPBACK_RX_CH4 (11U)
141#define MMAP_A429_POS_PBIT_LOOPBACK_RX_CH5 (12U)
142#define MMAP_A429_POS_PBIT_LOOPBACK_RX_CH6 (13U)
143#define MMAP_A429_POS_PBIT_LOOPBACK_RX_CH7 (14U)
144#define MMAP_A429_POS_PBIT_NOT_DONE (15U)
145#define MMAP_A429_POS_PBIT_RAM_BIST_NOT_DONE (16U)
146#define MMAP_A429_POS_PBIT_RAM_BIST_FAIL (17U)
147#define MMAP_A429_POS_PBIT_RAM_BIST_UPPERBIT_FAIL (18U)
148#define MMAP_A429_POS_PBIT_RAM_BIST_LOWERBIT_FAIL (19U)
149
150#define MMAP_A429_POS_CBIT_NOT_DONE (0U)
151#define MMAP_A429_POS_CBIT_PWR_FAULT_3V3 (1U)
152#define MMAP_A429_POS_CBIT_PWR_FAULT_BIT (2U)
153#define MMAP_A429_POS_CBIT_PWR_FAULT_ISO (3U)
154#define MMAP_A429_POS_CBIT_PWR_FAULT_TX_DRV (4U)
155#define MMAP_A429_POS_CBIT_UT (5U)
156#define MMAP_A429_POS_CBIT_OVT (6U)
157#define MMAP_A429_POS_CBIT_IC_NOT_READY (7U)
158#define MMAP_A429_POS_CBIT_COMM_ERR (8U)
159#define MMAP_A429_POS_CBIT_TX_LB_NOT_READY (9U)
160#define MMAP_A429_POS_CBIT_TX_LB_COMM_ERR (10U)
161#define MMAP_A429_POS_CBIT_RX_LB_NOT_READY (11U)
162#define MMAP_A429_POS_CBIT_RX_LB_COMM_ERR (12U)
163
164#define MMAP_A429_POS_CBIT_MISMATCH_TXCH1 (0U)
165#define MMAP_A429_POS_CBIT_MISMATCH_TXCH2 (1U)
166#define MMAP_A429_POS_CBIT_MISMATCH_TXCH3 (2U)
167#define MMAP_A429_POS_CBIT_MISMATCH_TXCH4 (3U)
168#define MMAP_A429_POS_CBIT_MISMATCH_RXCH1 (4U)
169#define MMAP_A429_POS_CBIT_MISMATCH_RXCH2 (5U)
170#define MMAP_A429_POS_CBIT_MISMATCH_RXCH3 (6U)
171#define MMAP_A429_POS_CBIT_MISMATCH_RXCH4 (7U)
172#define MMAP_A429_POS_CBIT_MISMATCH_RXCH5 (8U)
173#define MMAP_A429_POS_CBIT_MISMATCH_RXCH6 (9U)
174#define MMAP_A429_POS_CBIT_MISMATCH_RXCH7 (10U)
175#define MMAP_A429_POS_CBIT_RECEIVE_TXCH1 (11U)
176#define MMAP_A429_POS_CBIT_RECEIVE_TXCH2 (12U)
177#define MMAP_A429_POS_CBIT_RECEIVE_TXCH3 (13U)
178#define MMAP_A429_POS_CBIT_RECEIVE_TXCH4 (14U)
179#define MMAP_A429_POS_CBIT_RECEIVE_RXCH1 (15U)
180#define MMAP_A429_POS_CBIT_RECEIVE_RXCH2 (16U)
181#define MMAP_A429_POS_CBIT_RECEIVE_RXCH3 (17U)
182#define MMAP_A429_POS_CBIT_RECEIVE_RXCH4 (18U)
183#define MMAP_A429_POS_CBIT_RECEIVE_RXCH5 (19U)
184#define MMAP_A429_POS_CBIT_RECEIVE_RXCH6 (20U)
185#define MMAP_A429_POS_CBIT_RECEIVE_RXCH7 (21U)
186
187// =========================================================================
188
189// memory map constrains
190#define MMAP_A429_TEMP_LSB (0.005F)
191
192#endif // INCLUDED_MMAP_A429_H