![]() |
Описание библиотеки микросхемы 5023ВС016 процессора "Спутник"
|
Этот файл содержит структуры, макросы и функции необходимые для взаимодействия с аппаратным модулем передатчика телеметрической информации. Подробнее...
#include "types.h"
Структуры данных | |
struct | TCRX_DSC_T |
Структура дескрипторов модуля приемника телекомандной информации Подробнее... | |
struct | TMTX_T |
Структура для доступа к регистрам модуля передатчика телеметрической информации Подробнее... | |
Макросы | |
#define | TMTX_DSCR_PTR_DSCR_PTR(x) ((uint32_t)((x & 0x3FFFFFFF) << 2)) |
Макросы для DSCR1_PTR, DSCR2_PTR. Подробнее... | |
#define | TMTX_DSCR1_SIZE_FLAG_DATA_SIZE(x) ((uint32_t)((x & 0x7FF) << 0)) |
Макросы для DSCR1_SIZE_FLAG, DSCR2_SIZE_FLAG. Подробнее... | |
#define | TMTX_DSCR1_SIZE_FLAG_DATA_PRES ((uint32_t)(1 << 31)) |
#define | TMTX_GLOBAL_ENABLE ((uint32_t)(1 << 0)) |
Макросы для GLOBAL_ENABLE. Подробнее... | |
#define | TMTX_PHY_FIFO_UNDERRUN ((uint32_t)(1 << 0)) |
Макросы для PHY_FIFO_UNDERRUN. Подробнее... | |
#define | TMTX_MARKER_AND_FRAME_FRAME_SIZE(x) ((uint32_t)((x & 0xFFFF) << 0)) |
Макросы для MARKER_AND_FRAME_SIZE. Подробнее... | |
#define | TMTX_MARKER_AND_FRAME_MARKER_SIZE(x) ((uint32_t)((x & 0xFF) << 16)) |
#define | TMTX_FRAME_SIZE_MAX 2048 |
Макросы, относящиеся к логике работы контроллера Подробнее... | |
#define | TMTX_FRAME_SIZE_LDPC 892 |
#define | TMTX_FRAME_SIZE_TURBO 223 |
#define | TMTX_FRAME_SIZE_RS_239 239 |
#define | TMTX_FRAME_SIZE_RS_223 223 |
#define | TMTX_BIT_OUT_SIZE_MAX (TMTX_FRAME_SIZE_MAX*8) |
#define | TMTX_BIT_OUT_SIZE_LDPC_7136 8160 |
#define | TMTX_BIT_OUT_SIZE_LDPC_7156 8176 |
#define | TMTX_BIT_OUT_SIZE_TURBO_1DIV2 3576 |
#define | TMTX_BIT_OUT_SIZE_TURBO_1DIV3 5364 |
#define | TMTX_BIT_OUT_SIZE_TURBO_1DIV4 7152 |
#define | TMTX_BIT_OUT_SIZE_TURBO_1DIV6 10728 |
#define | TMTX_BIT_OUT_SIZE_RS 2040 |
#define | TMTX_MAX_MARKER_SIZE 192 |
#define | TMTX_MAX_DSCR_SIZE 2048 |
Перечисления | |
enum | TMTX_CODER_SEL_T { TMTX_CODER_SEL_LDPC = ((uint32_t)(1 << 0)), TMTX_CODER_SEL_TURBO = ((uint32_t)(2 << 0)), TMTX_CODER_SEL_RS = ((uint32_t)(3 << 0)), TMTX_CODER_SEL_NONE = ((uint32_t)(0 << 0)), TMTX_CODER_CONV_SEL = ((uint32_t)(1 << 2)), TMTX_CODER_RAND_SEL = ((uint32_t)(1 << 3)) } |
Типы и макросы для CODER_SEL. Подробнее... | |
enum | TMTX_CODERS_CONFIG_CONV_T { TMTX_CC_CONV_1DIV2 = ((uint32_t)(1 << 0)), TMTX_CC_CONV_2DIV3 = ((uint32_t)(2 << 0)), TMTX_CC_CONV_3DIV4 = ((uint32_t)(3 << 0)), TMTX_CC_CONV_5DIV6 = ((uint32_t)(5 << 0)), TMTX_CC_CONV_7DIV8 = ((uint32_t)(7 << 0)) } |
Макросы и типы для CODERS_CONFIG. Подробнее... | |
enum | TMTX_CODERS_CONFIG_TURBO_T { TMTX_CC_TURBO_1DIV2 = ((uint32_t)(0 << 8)), TMTX_CC_TURBO_1DIV3 = ((uint32_t)(1 << 8)), TMTX_CC_TURBO_1DIV4 = ((uint32_t)(2 << 8)), TMTX_CC_TURBO_1DIV6 = ((uint32_t)(3 << 8)) } |
enum | TMTX_CODERS_CONFIG_RS_T { TMTX_CC_RS_TYPE_239 = ((uint32_t)(0 << 16)), TMTX_CC_RS_TYPE_223 = ((uint32_t)(1 << 16)), TMTX_CC_RS_TYPE_239_CONV = ((uint32_t)(2 << 16)), TMTX_CC_RS_TYPE_223_CONV = ((uint32_t)(3 << 16)) } |
enum | TMTX_CODERS_CONFIG_LDPC_T { TMTX_CC_LDPC_TYPE_7136 = ((uint32_t)(0 << 24)) } |
Функции | |
void | TMTX_Set_DSCR1_Pointer (uint32_t addr) |
Установка указателя на адрес памяти для дескриптора 1. Подробнее... | |
void | TMTX_Set_DSCR2_Pointer (uint32_t addr) |
Установка указателя на адрес памяти для дескриптора 2. Подробнее... | |
void | TMTX_Set_DSCR1_Size (uint32_t size) |
Установка размера дескриптора 1. Подробнее... | |
void | TMTX_Set_DSCR2_Size (uint32_t size) |
Установка размера дескриптора 2. Подробнее... | |
void | TMTX_DSCR1_Data_Ready () |
Необходимо вызывать функцию после того, как данные для дескриптора 1 подготовлены для передачи Подробнее... | |
void | TMTX_DSCR2_Data_Ready () |
Необходимо вызывать функцию после того, как данные для дескриптора 2 подготовлены для передачи Подробнее... | |
void | TMTX_Global_Enable () |
Функция активирует Global Enable контроллера: включение всех модулей, ответственных за передачу данных Подробнее... | |
void | TMTX_Global_Disable () |
Функция отключает Global Enable контроллера: все кодеры, fifo, ahb контроллер будут находиться в асинхронном сбросе Подробнее... | |
uint32_t | TMTX_Get_Coder () |
Возвращает тип используемого кодера Подробнее... | |
FlagStatus | TMTX_FIFO_Underrun () |
Функция возвращает значение флага опустошения асинхронного FIFO. Подробнее... | |
void | TMTX_FIFO_Underrun_Clear_Flag () |
Сброс флага опустошения асинхронного FIFO. Подробнее... | |
void | TMTX_Set_Marker_And_Frame_Size (uint8_t marker_size, uint32_t frame_size) |
Установка размера синхромаркера и периода вставки синхромаркера Подробнее... | |
uint32_t | TMTX_Get_Conv_Type () |
Возвращает тип используемого сверточного кодера Подробнее... | |
uint32_t | TMTX_Get_Turbo_Type () |
Возвращает тип используемого турбо кодера Подробнее... | |
uint32_t | TMTX_Get_RS_Type () |
Возвращает тип используемого кодера Рида-Соломона Подробнее... | |
uint32_t | TMTX_Get_LDPC_Type () |
Возвращает код, соответствующий выбранному типу кодера LDPC. Подробнее... | |
uint32_t | TMTX_GetFrameSize () |
Функция, возвращающая размер фрейма, соответствующий настроенному энкодеру, в байтах Подробнее... | |
void | TMTX_SetSyncMarker (uint8_t marker_size, uint32_t marker1, uint32_t marker2, uint32_t marker3, uint32_t marker4, uint32_t marker5, uint32_t marker6) |
Настройка параметров синхромаркера. Производится после выбора и настройки кодера. Подробнее... | |
void | TMTX_SetEncoder (uint32_t coder_sel, uint32_t coder_config, uint32_t rand_state, uint32_t conv_state, uint32_t conv_speed) |
Установка используемого кодера и настройка режима его работы, настройка рандомизатора и сверточного кодера. Подробнее... | |
Этот файл содержит структуры, макросы и функции необходимые для взаимодействия с аппаратным модулем передатчика телеметрической информации.
Copyright(C) НПП Цифровые решения, 2017 Copyright(C) Команда разработчиков НПП Цифровые решения Все права защищены.
Программное обеспечение, описанное в этом файле, предназначено только для демонстрационных целей, и предоставляет программистам информацию о продукции организации "Цифровые решения". Это программное обеспечение поставляется "КАК ЕСТЬ" без каких-либо гарантий, "Цифровые решения" отказываются от любых гарантий, фактических или подразумеваемых, включая все подразумеваемые гарантии товарной пригодности, пригодности для конкретной цели и сохранения прав интеллектуальной собственности. Органицация "Цифровые решения" не несет никакой ответственности за использование программного обеспечения, не предоставляет лицензий или прав на патент, авторское право, или любые другие права интеллектуальной собственности, на какие-либо продукты. Организация "Цифровые решения" оставляет за собой право вносить изменения в программное обеспечение без уведомления. Организация "Цифровые решения" также не дает никаких заверений или гарантий, что это программное приложение подойдет для использования без дальнейшего тестирования или модификаций.
Разрешение на использование, копирование, изменение и распространение этого программного обеспечения и документации предоставляется согласно условиям "Цифровых решений" и соответствующих авторских прав своей лицензии без оплаты, при условии, что это программное обеспечнение используется совместно с микроконтроллерами организации "Цифровые решения". Эти права должны распространяться во всех копиях этого кода.
См. определение в файле tmtx.h
#define TMTX_BIT_OUT_SIZE_LDPC_7136 8160 |
#define TMTX_BIT_OUT_SIZE_LDPC_7156 8176 |
#define TMTX_BIT_OUT_SIZE_MAX (TMTX_FRAME_SIZE_MAX*8) |
#define TMTX_BIT_OUT_SIZE_RS 2040 |
#define TMTX_BIT_OUT_SIZE_TURBO_1DIV2 3576 |
#define TMTX_BIT_OUT_SIZE_TURBO_1DIV3 5364 |
#define TMTX_BIT_OUT_SIZE_TURBO_1DIV4 7152 |
#define TMTX_BIT_OUT_SIZE_TURBO_1DIV6 10728 |
#define TMTX_DSCR1_SIZE_FLAG_DATA_PRES ((uint32_t)(1 << 31)) |
#define TMTX_DSCR1_SIZE_FLAG_DATA_SIZE | ( | x | ) | ((uint32_t)((x & 0x7FF) << 0)) |
#define TMTX_DSCR_PTR_DSCR_PTR | ( | x | ) | ((uint32_t)((x & 0x3FFFFFFF) << 2)) |
#define TMTX_FRAME_SIZE_LDPC 892 |
#define TMTX_FRAME_SIZE_MAX 2048 |
#define TMTX_FRAME_SIZE_RS_223 223 |
#define TMTX_FRAME_SIZE_RS_239 239 |
#define TMTX_FRAME_SIZE_TURBO 223 |
#define TMTX_GLOBAL_ENABLE ((uint32_t)(1 << 0)) |
#define TMTX_MARKER_AND_FRAME_FRAME_SIZE | ( | x | ) | ((uint32_t)((x & 0xFFFF) << 0)) |
#define TMTX_MARKER_AND_FRAME_MARKER_SIZE | ( | x | ) | ((uint32_t)((x & 0xFF) << 16)) |
#define TMTX_MAX_DSCR_SIZE 2048 |
#define TMTX_MAX_MARKER_SIZE 192 |
#define TMTX_PHY_FIFO_UNDERRUN ((uint32_t)(1 << 0)) |
enum TMTX_CODER_SEL_T |
Типы и макросы для CODER_SEL.
void TMTX_DSCR1_Data_Ready | ( | ) |
void TMTX_DSCR2_Data_Ready | ( | ) |
FlagStatus TMTX_FIFO_Underrun | ( | ) |
void TMTX_FIFO_Underrun_Clear_Flag | ( | ) |
uint32_t TMTX_Get_Coder | ( | ) |
uint32_t TMTX_Get_Conv_Type | ( | ) |
uint32_t TMTX_Get_LDPC_Type | ( | ) |
uint32_t TMTX_Get_RS_Type | ( | ) |
uint32_t TMTX_Get_Turbo_Type | ( | ) |
uint32_t TMTX_GetFrameSize | ( | ) |
void TMTX_Global_Disable | ( | ) |
void TMTX_Global_Enable | ( | ) |
void TMTX_Set_DSCR1_Pointer | ( | uint32_t | addr | ) |
void TMTX_Set_DSCR1_Size | ( | uint32_t | size | ) |
void TMTX_Set_DSCR2_Pointer | ( | uint32_t | addr | ) |
void TMTX_Set_DSCR2_Size | ( | uint32_t | size | ) |
void TMTX_Set_Marker_And_Frame_Size | ( | uint8_t | marker_size, |
uint32_t | frame_size | ||
) |
void TMTX_SetEncoder | ( | uint32_t | coder_sel, |
uint32_t | coder_config, | ||
uint32_t | rand_state, | ||
uint32_t | conv_state, | ||
uint32_t | conv_speed | ||
) |
Установка используемого кодера и настройка режима его работы, настройка рандомизатора и сверточного кодера.
coder_sel | Выбор используемого кодера (LDPC, Turbo, RS) |
coder_config | Настройка режима кодирования для используемого кодера |
rand_state | Включение/отключение рандомизатора |
conv_state | Включение/отключение сверточного кодера |
conv_speed | Выбор скорости работы сверточного кодера |
Установка используемого кодера и настройка режима его работы, настройка рандомизатора и сверточного кодера
void TMTX_SetSyncMarker | ( | uint8_t | marker_size, |
uint32_t | marker1, | ||
uint32_t | marker2, | ||
uint32_t | marker3, | ||
uint32_t | marker4, | ||
uint32_t | marker5, | ||
uint32_t | marker6 | ||
) |
Настройка параметров синхромаркера. Производится после выбора и настройки кодера.
marker_size | Размер синхромаркера в битах. Максимальное значение равно 192 |
marker1 | Биты 0 - 31 синхромаркера. Первым передаётся младший бит переменной marker1 |
marker2 | Биты 32 - 63 синхромаркера. Имеет значение в случае когда marker_size > 32 |
marker3 | Биты 64 - 95 синхромаркера. Имеет значение в случае когда marker_size > 64 |
marker4 | Биты 96 - 127 синхромаркера. Имеет значение в случае когда marker_size > 96 |
marker5 | Биты 128 - 159 синхромаркера. Имеет значение в случае когда marker_size > 128 |
marker6 | Биты 160 - 191 синхромаркера. Имеет значение в случае когда marker_size > 160 |
Настройка параметров синхромаркера. Первым будет передаваться младший бит marker1, последним - старший бит marker6 (если marker_size = MAX_MARKER_SIZE)