Описание библиотеки микросхемы 5023ВС016 процессора "Спутник"
Структуры данных | Макросы | Перечисления | Функции
Файл tcrx.h

Этот файл содержит структуры, макросы и функции необходимые для взаимодействия с аппаратным модулем приемника телекомандной информации. Подробнее...

#include "types.h"

См. исходные тексты.

Структуры данных

struct  TCRX_DSC_T
 Структура дескрипторов модуля приемника телекомандной информации Подробнее...
 
struct  TCRX_T
 Структура для доступа к регистрам модуля приемника телекомандной информации Подробнее...
 

Макросы

#define TCRX_DSC_COUNT   16
 
#define DSCR_PTR(x)   ((uint32_t)((x & 0x3FFFFFFF) << 0))
 Макросы для DSCR_PTR дескриптора Подробнее...
 
#define TCRX_DSC_DSCR_FLAG_SIZE_SIZE(x)   ((uint32_t)((x & 0x3FF) << 0))
 Макросы для DSCR_FLAG_SIZE дескриптора Подробнее...
 
#define TCRX_DSC_DSCR_FLAG_SIZE_SOF   ((uint32_t)(1 << 16))
 
#define TCRX_DSC_DSCR_FLAG_SIZE_EOF   ((uint32_t)(1 << 17))
 
#define TCRX_DSC_DSCR_FLAG_SIZE_ERROR   ((uint32_t)(1 << 18))
 
#define TCRX_DSC_DSCR_FLAG_SIZE_READY   ((uint32_t)(1 << 31))
 
#define TCRX_DSCR_CURRENT_NUM(x)   ((uint32_t)((x & 0xF) << 0))
 Макросы для DSCR_CURRENT. Подробнее...
 
#define TCRX_DSCR_CURRENT_WORK_FLAG   ((uint32_t)(1 << 31))
 
#define TCRX_GLOBAL_ENABLE_EN   ((uint32_t)(1 << 0))
 Макросы для GLOBAL_ENABLE. Подробнее...
 
#define TCRX_PHY_FIFO_OVERFLOW   ((uint32_t)(1 << 0))
 Макросы для PHY_FIFO_OVERFLOW. Подробнее...
 
#define TCRX_START_SEQ_DATA(x)   ((uint32_t)((x & 0xFFFF) << 0))
 Макросы и типы для START_SEQ. Подробнее...
 
#define TCRX_DSCR_MAX_SIZE   1024
 Макросы, относящиеся к логике работы контроллера Подробнее...
 

Перечисления

enum  TCRX_CODER_SEL_T { TCRX_CODER_SEL_RAND_SEL = ((uint32_t)(1 << 0)), TCRX_CODER_SEL_BCH_SEL = ((uint32_t)(1 << 1)) }
 Типы для CODER_SEL. Подробнее...
 
enum  TCRX_START_SEQ_T { TCRX_START_SEQ_ALLOW_1_ERR = ((uint32_t)(1 << 31)) }
 

Функции

FlagStatus TCRX_Dscr_Ready (uint32_t index)
 Возвращает значение флага DSCR_READY, показывающее, открыт ли дескриптор Подробнее...
 
uint32_t TCRX_Get_Data_Size (uint32_t index)
 Возвращает количество данных, принятых дескриптором Подробнее...
 
FlagStatus TCRX_SOF_Flag (uint32_t index)
 Возвращает значение флага SOF. Подробнее...
 
FlagStatus TCRX_EOF_Flag (uint32_t index)
 Возвращает значение флага EOF. Подробнее...
 
FlagStatus TCRX_ERROR_Flag (uint32_t index)
 Возвращает значение флага ERROR. Подробнее...
 
void TCRX_Set_Current_Descriptor (uint32_t index)
 Выбор текущего дескриптора для приёма Подробнее...
 
uint32_t TCRX_Get_Current_Descriptor ()
 Получение номера активного дескриптора Подробнее...
 
void TCRX_Enable ()
 Активация приёма данных Подробнее...
 
void TCRX_Disable ()
 Отключение приёма данных Подробнее...
 
void TCRX_Set_Decoder (uint32_t randomizer, uint32_t bch, uint32_t viterbi)
 Настройка параметров декодера Подробнее...
 
FlagStatus TCRX_FIFO_Overflow ()
 Возвращает значение флага переполнения FIFO. Подробнее...
 
void TCRX_Set_Start_Sequence (uint32_t start_seq, uint32_t allow_1_err)
 Установка значения маркера начала фрейма и разрешения единичной ошибки в маркере Подробнее...
 
void TCRX_Set_Tail_Sequence (uint32_t tail_first, uint32_t tail_second)
 Установка значения маркера конца фрейма Подробнее...
 
void TCRX_OpenDescriptor (uint32_t index, uint32_t pointer, uint32_t size)
 Открытие дескриптора на приём Подробнее...
 

Подробное описание

Этот файл содержит структуры, макросы и функции необходимые для взаимодействия с аппаратным модулем приемника телекомандной информации.

Copyright(C) НПП Цифровые решения, 2017 Copyright(C) Команда разработчиков НПП Цифровые решения Все права защищены.

Программное обеспечение, описанное в этом файле, предназначено только для демонстрационных целей, и предоставляет программистам информацию о продукции организации "Цифровые решения". Это программное обеспечение поставляется "КАК ЕСТЬ" без каких-либо гарантий, "Цифровые решения" отказываются от любых гарантий, фактических или подразумеваемых, включая все подразумеваемые гарантии товарной пригодности, пригодности для конкретной цели и сохранения прав интеллектуальной собственности. Органицация "Цифровые решения" не несет никакой ответственности за использование программного обеспечения, не предоставляет лицензий или прав на патент, авторское право, или любые другие права интеллектуальной собственности, на какие-либо продукты. Организация "Цифровые решения" оставляет за собой право вносить изменения в программное обеспечение без уведомления. Организация "Цифровые решения" также не дает никаких заверений или гарантий, что это программное приложение подойдет для использования без дальнейшего тестирования или модификаций.

Разрешение на использование, копирование, изменение и распространение этого программного обеспечения и документации предоставляется согласно условиям "Цифровых решений" и соответствующих авторских прав своей лицензии без оплаты, при условии, что это программное обеспечнение используется совместно с микроконтроллерами организации "Цифровые решения". Эти права должны распространяться во всех копиях этого кода.

См. определение в файле tcrx.h

Макросы

§ DSCR_PTR

#define DSCR_PTR (   x)    ((uint32_t)((x & 0x3FFFFFFF) << 0))

Макросы для DSCR_PTR дескриптора

указатель на начало области во внутренней памяти, предназначенной для записи принятых данных. Начало области должно быть выровнено по 4 байтной границе, младшие 2 бита указателя - нулевые

См. определение в файле tcrx.h строка 61

§ TCRX_DSC_COUNT

#define TCRX_DSC_COUNT   16

Количество дескрипторов в блоке телекоманд

См. определение в файле tcrx.h строка 34

§ TCRX_DSC_DSCR_FLAG_SIZE_EOF

#define TCRX_DSC_DSCR_FLAG_SIZE_EOF   ((uint32_t)(1 << 17))

флаг, обозначающий, что записанные принятые данные содержат последний байт фрейма

См. определение в файле tcrx.h строка 72

§ TCRX_DSC_DSCR_FLAG_SIZE_ERROR

#define TCRX_DSC_DSCR_FLAG_SIZE_ERROR   ((uint32_t)(1 << 18))

флаг, обозначающий, что принятый фрейм завершается не маркером хвоста, а неисправимой ошибкой БЧХ-декодера

См. определение в файле tcrx.h строка 73

§ TCRX_DSC_DSCR_FLAG_SIZE_READY

#define TCRX_DSC_DSCR_FLAG_SIZE_READY   ((uint32_t)(1 << 31))

включение записи принятых данных

См. определение в файле tcrx.h строка 74

§ TCRX_DSC_DSCR_FLAG_SIZE_SIZE

#define TCRX_DSC_DSCR_FLAG_SIZE_SIZE (   x)    ((uint32_t)((x & 0x3FF) << 0))

Макросы для DSCR_FLAG_SIZE дескриптора

установка размера области для записи (0x000 = 1024 байта)

См. определение в файле tcrx.h строка 70

§ TCRX_DSC_DSCR_FLAG_SIZE_SOF

#define TCRX_DSC_DSCR_FLAG_SIZE_SOF   ((uint32_t)(1 << 16))

флаг, обозначающий, что записанные принятые данные содержат первый байт фрейма

См. определение в файле tcrx.h строка 71

§ TCRX_DSCR_CURRENT_NUM

#define TCRX_DSCR_CURRENT_NUM (   x)    ((uint32_t)((x & 0xF) << 0))

Макросы для DSCR_CURRENT.

номер текущего дескриптора

См. определение в файле tcrx.h строка 79

§ TCRX_DSCR_CURRENT_WORK_FLAG

#define TCRX_DSCR_CURRENT_WORK_FLAG   ((uint32_t)(1 << 31))

устанавливается в «1», если текущий дескриптор находится в работе

См. определение в файле tcrx.h строка 80

§ TCRX_DSCR_MAX_SIZE

#define TCRX_DSCR_MAX_SIZE   1024

Макросы, относящиеся к логике работы контроллера

максимальный размер дескриптора (в байтах)

См. определение в файле tcrx.h строка 115

§ TCRX_GLOBAL_ENABLE_EN

#define TCRX_GLOBAL_ENABLE_EN   ((uint32_t)(1 << 0))

Макросы для GLOBAL_ENABLE.

включение всех модулей, ответственных за прием данных

См. определение в файле tcrx.h строка 85

§ TCRX_PHY_FIFO_OVERFLOW

#define TCRX_PHY_FIFO_OVERFLOW   ((uint32_t)(1 << 0))

Макросы для PHY_FIFO_OVERFLOW.

флаг переполнения памяти асинхронного блока FIFO

См. определение в файле tcrx.h строка 99

§ TCRX_START_SEQ_DATA

#define TCRX_START_SEQ_DATA (   x)    ((uint32_t)((x & 0xFFFF) << 0))

Макросы и типы для START_SEQ.

маркер начала фрейма

См. определение в файле tcrx.h строка 104

Перечисления

§ TCRX_CODER_SEL_T

Типы для CODER_SEL.

Элементы перечислений
TCRX_CODER_SEL_RAND_SEL 

включение рандомизатора

TCRX_CODER_SEL_BCH_SEL 

включение декодера БЧХ

См. определение в файле tcrx.h строка 90

§ TCRX_START_SEQ_T

Элементы перечислений
TCRX_START_SEQ_ALLOW_1_ERR 

позволить единичную ошибку в маркере начала фрейма

См. определение в файле tcrx.h строка 106

Функции

§ TCRX_Disable()

void TCRX_Disable ( )

Отключение приёма данных

См. определение в файле tcrx.c строка 138

§ TCRX_Dscr_Ready()

FlagStatus TCRX_Dscr_Ready ( uint32_t  index)

Возвращает значение флага DSCR_READY, показывающее, открыт ли дескриптор

Аргументы
index: Номер дескриптора
Возвращает
Значение флага, SET or RESET

См. определение в файле tcrx.c строка 55

§ TCRX_Enable()

void TCRX_Enable ( )

Активация приёма данных

См. определение в файле tcrx.c строка 130

§ TCRX_EOF_Flag()

FlagStatus TCRX_EOF_Flag ( uint32_t  index)

Возвращает значение флага EOF.

Аргументы
index: Номер дескриптора
Возвращает
Значение флага, SET or RESET

См. определение в файле tcrx.c строка 93

§ TCRX_ERROR_Flag()

FlagStatus TCRX_ERROR_Flag ( uint32_t  index)

Возвращает значение флага ERROR.

Аргументы
index: Номер дескриптора
Возвращает
Значение флага, SET or RESET

См. определение в файле tcrx.c строка 103

§ TCRX_FIFO_Overflow()

FlagStatus TCRX_FIFO_Overflow ( )

Возвращает значение флага переполнения FIFO.

Возвращает
Значение флага, SET or RESET

См. определение в файле tcrx.c строка 165

§ TCRX_Get_Current_Descriptor()

uint32_t TCRX_Get_Current_Descriptor ( )

Получение номера активного дескриптора

Возвращает
Номер дескриптора

См. определение в файле tcrx.c строка 121

§ TCRX_Get_Data_Size()

uint32_t TCRX_Get_Data_Size ( uint32_t  index)

Возвращает количество данных, принятых дескриптором

Аргументы
index: Номер дескриптора
Возвращает
Количество принятых данных, в байтах

См. определение в файле tcrx.c строка 65

§ TCRX_OpenDescriptor()

void TCRX_OpenDescriptor ( uint32_t  index,
uint32_t  pointer,
uint32_t  size 
)

Открытие дескриптора на приём

Аргументы
index: Номер дескриптора
pointer: Адрес памяти, по которому расположено начало области для записи. Должен быть выровнен по 4 байтной границе
size: Размер области памяти, в которую будут записываться принятые данные. (значения от 0 до 1023)

Открытие дескриптора на приём

См. определение в файле tcrx.c строка 43

§ TCRX_Set_Current_Descriptor()

void TCRX_Set_Current_Descriptor ( uint32_t  index)

Выбор текущего дескриптора для приёма

Аргументы
index: Номер дескриптора

См. определение в файле tcrx.c строка 112

§ TCRX_Set_Decoder()

void TCRX_Set_Decoder ( uint32_t  randomizer,
uint32_t  bch,
uint32_t  viterbi 
)

Настройка параметров декодера

Аргументы
randomizer: Включение рандомизатора, принимает следующие значения:
  • TCRX_CODER_SEL_RAND
  • TCRX_CODER_SEL_RAND_OFF
bch: Включение декодера БЧХ, принимает следующие значения:
  • TCRX_CODER_SEL_BCH
  • TCRX_CODER_SEL_BCH_OFF
viterbi: Включение сверточного декодера витерби, принимает следующие значения:
  • TCRX_CODER_SEL_VIT_HARD
  • TCRX_CODER_SEL_VIT_SOFT
  • TCRX_CODER_SEL_VIT_OFF
randomizerВключение рандомизатора, принимает следующие значения:
  • TCRX_CODER_SEL_RAND
  • TCRX_CODER_SEL_RAND_OFF
bch: Включение декодера БЧХ, принимает следующие значения:
  • TCRX_CODER_SEL_BCH
  • TCRX_CODER_SEL_BCH_OFF
viterbi: Включение сверточного декодера витерби, принимает следующие значения:
  • TCRX_CODER_SEL_VIT_HARD
  • TCRX_CODER_SEL_VIT_SOFT
  • TCRX_CODER_SEL_VIT_OFF

См. определение в файле tcrx.c строка 156

§ TCRX_Set_Start_Sequence()

void TCRX_Set_Start_Sequence ( uint32_t  start_seq,
uint32_t  allow_1_err 
)

Установка значения маркера начала фрейма и разрешения единичной ошибки в маркере

Аргументы
start_seq: Значение маркера начала фрейма. Длина 16 бит. Первый принятый бит сравнивается со старшим битом
allow_1_err: Разрешение или запрещение единичной ошибки в маркере начала фрейма, принимает следующие значения:
  • TCRX_START_SEQ_ALLOW_1_ERR
  • TCRX_START_SEQ_DENY_1_ERR

См. определение в файле tcrx.c строка 177

§ TCRX_Set_Tail_Sequence()

void TCRX_Set_Tail_Sequence ( uint32_t  tail_first,
uint32_t  tail_second 
)

Установка значения маркера конца фрейма

Аргументы
tail_first: Значение маркера конца фрейма, первая часть. Длина 32 бит. Первый принятый бит сравнивается со старшим битом
tail_second: Значение маркера конца фрейма, вторая часть. Длина 32 бит. Последний принятый бит сравнивается с младшим битом

См. определение в файле tcrx.c строка 187

§ TCRX_SOF_Flag()

FlagStatus TCRX_SOF_Flag ( uint32_t  index)

Возвращает значение флага SOF.

Аргументы
index: Номер дескриптора
Возвращает
Значение флага, SET or RESET

См. определение в файле tcrx.c строка 83