Описание библиотеки микросхемы 5023ВС016 процессора "Спутник"
tcrx.h
См. документацию.
1 
29 #ifndef TCRX_H_
30 #define TCRX_H_
31 
32 #include "types.h"
33 
34 #define TCRX_DSC_COUNT 16
38 typedef struct
39 {
40  volatile uint32_t DSCR_PTR;
41  volatile uint32_t DSCR_FLAG_SIZE;
42 }TCRX_DSC_T;
43 
46 typedef struct
47 {
49  __RW uint32_t DSCR_CURRENT;
50  __RW uint32_t GLOBAL_ENABLE;
51  __RW uint32_t CODER_SEL;
53  __RW uint32_t START_SEQ;
54  __RW uint32_t TAIL_SEQ1;
55  __RW uint32_t TAIL_SEQ2;
56 }TCRX_T;
57 
61 #define DSCR_PTR(x) ((uint32_t)((x & 0x3FFFFFFF) << 0))
68 #define TCRX_DSC_DSCR_FLAG_SIZE_SIZE(x) ((uint32_t)((x & 0x3FF) << 0))
69 #define TCRX_DSC_DSCR_FLAG_SIZE_SOF ((uint32_t)(1 << 16))
70 #define TCRX_DSC_DSCR_FLAG_SIZE_EOF ((uint32_t)(1 << 17))
71 #define TCRX_DSC_DSCR_FLAG_SIZE_ERROR ((uint32_t)(1 << 18))
72 #define TCRX_DSC_DSCR_FLAG_SIZE_READY ((uint32_t)(1 << 31))
77 #define TCRX_DSCR_CURRENT_NUM(x) ((uint32_t)((x & 0xF) << 0))
78 #define TCRX_DSCR_CURRENT_WORK_FLAG ((uint32_t)(1 << 31))
83 #define TCRX_GLOBAL_ENABLE_EN ((uint32_t)(1 << 0))
88 typedef enum
89 {
90  TCRX_CODER_SEL_RAND_SEL = ((uint32_t)(1 << 0)),
91  TCRX_CODER_SEL_BCH_SEL = ((uint32_t)(1 << 1)),
93 
97 #define TCRX_PHY_FIFO_OVERFLOW ((uint32_t)(1 << 0))
102 #define TCRX_START_SEQ_DATA(x) ((uint32_t)((x & 0xFFFF) << 0))
104 typedef enum
105 {
106  TCRX_START_SEQ_ALLOW_1_ERR = ((uint32_t)(1 << 31)),
109 
113 #define TCRX_DSCR_MAX_SIZE 1024
120 FlagStatus TCRX_Dscr_Ready(uint32_t index);
121 
127 uint32_t TCRX_Get_Data_Size(uint32_t index);
128 
134 FlagStatus TCRX_SOF_Flag(uint32_t index);
135 
141 FlagStatus TCRX_EOF_Flag(uint32_t index);
142 
148 FlagStatus TCRX_ERROR_Flag(uint32_t index);
149 
154 void TCRX_Set_Current_Descriptor(uint32_t index);
155 
160 uint32_t TCRX_Get_Current_Descriptor();
161 
162 
166 void TCRX_Enable();
167 
171 void TCRX_Disable();
172 
186 void TCRX_Set_Decoder(uint32_t randomizer, uint32_t bch, uint32_t viterbi);
187 
193 
201 void TCRX_Set_Start_Sequence(uint32_t start_seq, uint32_t allow_1_err);
202 
208 void TCRX_Set_Tail_Sequence(uint32_t tail_first, uint32_t tail_second);
209 
216 void TCRX_OpenDescriptor(uint32_t index, uint32_t pointer, uint32_t size);
217 
218 #endif
Этот файл содержит структуры, макросы и функции необходимые для работы с дополнительными типами...
void TCRX_Set_Start_Sequence(uint32_t start_seq, uint32_t allow_1_err)
Установка значения маркера начала фрейма и разрешения единичной ошибки в маркере
Definition: tcrx.c:177
#define __RW
Definition: types.h:39
uint32_t TCRX_Get_Data_Size(uint32_t index)
Возвращает количество данных, принятых дескриптором
Definition: tcrx.c:65
__RW uint32_t DSCR_CURRENT
Definition: tcrx.h:49
Структура дескрипторов модуля приемника телекомандной информации
Definition: tcrx.h:38
__RW uint32_t CODER_SEL
Definition: tcrx.h:51
FlagStatus TCRX_SOF_Flag(uint32_t index)
Возвращает значение флага SOF.
Definition: tcrx.c:83
void TCRX_Set_Decoder(uint32_t randomizer, uint32_t bch, uint32_t viterbi)
Настройка параметров декодера
Definition: tcrx.c:156
FlagStatus TCRX_FIFO_Overflow()
Возвращает значение флага переполнения FIFO.
Definition: tcrx.c:165
__RW uint32_t START_SEQ
Definition: tcrx.h:53
void TCRX_Enable()
Активация приёма данных
Definition: tcrx.c:130
uint32_t TCRX_Get_Current_Descriptor()
Получение номера активного дескриптора
Definition: tcrx.c:121
void TCRX_Set_Current_Descriptor(uint32_t index)
Выбор текущего дескриптора для приёма
Definition: tcrx.c:112
volatile uint32_t DSCR_PTR
Definition: tcrx.h:40
TCRX_CODER_SEL_T
Типы для CODER_SEL.
Definition: tcrx.h:90
FlagStatus
Тип для состояний флагов
Definition: types.h:64
void TCRX_Set_Tail_Sequence(uint32_t tail_first, uint32_t tail_second)
Установка значения маркера конца фрейма
Definition: tcrx.c:187
void TCRX_Disable()
Отключение приёма данных
Definition: tcrx.c:138
void TCRX_OpenDescriptor(uint32_t index, uint32_t pointer, uint32_t size)
Открытие дескриптора на приём
Definition: tcrx.c:43
__RW uint32_t GLOBAL_ENABLE
Definition: tcrx.h:50
Структура для доступа к регистрам модуля приемника телекомандной информации
Definition: tcrx.h:46
TCRX_START_SEQ_T
Definition: tcrx.h:106
volatile uint32_t DSCR_FLAG_SIZE
Definition: tcrx.h:41
__RW uint32_t TAIL_SEQ1
Definition: tcrx.h:54
FlagStatus TCRX_ERROR_Flag(uint32_t index)
Возвращает значение флага ERROR.
Definition: tcrx.c:103
#define TCRX_DSC_COUNT
Definition: tcrx.h:34
FlagStatus TCRX_EOF_Flag(uint32_t index)
Возвращает значение флага EOF.
Definition: tcrx.c:93
__RW uint32_t PHY_FIFO_OVERFLOW
Definition: tcrx.h:52
__RW uint32_t TAIL_SEQ2
Definition: tcrx.h:55