Описание библиотеки микросхемы 5023ВС016 процессора "Спутник"
Функции
Файл mkpd.c

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

#include "chip_5023BC016.h"
#include "system.h"
#include "mkpd.h"

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

Функции

void MKPD_Set_InvTX (MKPD_T *pMKPD, unsigned int invTX)
 Установка инвертирования дифференциального сигнала на передаче Подробнее...
 
void MKPD_Set_System_Clock (MKPD_T *pMKPD, uint32_t sys_clk)
 Установка значения системной частоты Подробнее...
 
void MKPD_Set_Interpacket_Time (MKPD_T *pMKPD, uint32_t time)
 Установка временного интервала между передачей пакетов Подробнее...
 
void MKPD_Set_Wait_Time (MKPD_T *pMKPD, uint32_t rwait)
 Установка времени ожидания ОС или СД в режиме работы КШ и ОУ Подробнее...
 
void MKPD_Set_Edge_Time (MKPD_T *pMKPD, uint32_t edge)
 Установка времени запрещенного состояния дифференциального сигнала Подробнее...
 
uint32_t MKPD_Get_Interrupt (MKPD_T *pMKPD)
 Возвращает значение прерывания Подробнее...
 
void MKPD_Set_BC_COM_Data (MKPD_T *pMKPD, MKPD_TX_T index, uint32_t com_data)
 Установка слова данных для передачи в транзакциях формата 6 или 10. Подробнее...
 
void MKPD_Set_BC_Transaction_Format (MKPD_T *pMKPD, MKPD_TX_T index, uint32_t type_trans)
 Установка формата транзакции Подробнее...
 
FlagStatus MKPD_BC_IsWaiting (MKPD_T *pMKPD, MKPD_TX_T index)
 Определяет, находится ли транзакция в очереди на передачу Подробнее...
 
FlagStatus MKPD_BC_IsSending (MKPD_T *pMKPD, MKPD_TX_T index)
 Определяет, передается ли транзакция в настоящий момент Подробнее...
 
FlagStatus MKPD_BC_IsError (MKPD_T *pMKPD, MKPD_TX_T index)
 Возвращает значение флага ошибки транзации Подробнее...
 
FlagStatus MKPD_BC_IsTimeout (MKPD_T *pMKPD, MKPD_TX_T index)
 Возвращает значение флага таймаута транзации Подробнее...
 
uint32_t MKPD_BC_Reply_Word (MKPD_T *pMKPD, MKPD_TX_T index)
 Возвращает ответное слово, полученное от ОУ Подробнее...
 
uint32_t MKPD_BC_Reply_Data (MKPD_T *pMKPD, MKPD_TX_T index)
 Возвращает ответные данные, полученные от ОУ (для транзакций формата 5) Подробнее...
 
void MKPD_Set_Endpoint_RDATA (MKPD_T *pMKPD, uint32_t rdata)
 Установка слова данных для передачи от ОУ Подробнее...
 
uint32_t MKPD_Get_Endpoint_COM_Data (MKPD_T *pMKPD)
 Возвращает принятое от КШ слово данных Подробнее...
 
FlagStatus MKPD_Get_Endpoint_COM_Timeout (MKPD_T *pMKPD)
 Возвращает значение флага таймаута Подробнее...
 
FlagStatus MKPD_Get_Endpoint_COM_Error (MKPD_T *pMKPD)
 Возвращает значение флага ошибки в слове данных (используется в транзакциях №6, 10) Подробнее...
 
uint32_t MKPD_Get_Endpoint_Command_Word (MKPD_T *pMKPD)
 Возвращает командное слово, принятое ОУ Подробнее...
 
void MKPD_Set_Monitor_DMA_Address (MKPD_T *pMKPD, uint32_t dma_monitor_addr)
 Задание начального адреса DMA для монитора Подробнее...
 
void MKPD_Set_Monitor_Memory_Size (MKPD_T *pMKPD, uint32_t memory_size)
 Задание размера буфера монитора Подробнее...
 
void MKPD_Set_Monitor_Threshold (MKPD_T *pMKPD, uint32_t threshold)
 Задание порогового значения для монитора Подробнее...
 
void MKPD_ConfigMonitor (MKPD_T *pMKPD, uint32_t address, uint32_t size, uint32_t threshold)
 Настройка монитора Подробнее...
 

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

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

Заметки
МКПД - Мультиплексный канал передачи данных, согласно ГОСТ Р 52070-2003 Copyright(C) НПП Цифровые решения, 2017 Copyright(C) Команда разработчиков НПП Цифровые решения Все права защищены.

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

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

См. определение в файле mkpd.c

Функции

§ MKPD_BC_IsError()

FlagStatus MKPD_BC_IsError ( MKPD_T pMKPD,
MKPD_TX_T  index 
)

Возвращает значение флага ошибки транзации

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
indexномер интерфейса для передачи (TX_ONE/TX_TWO)
Возвращает
SET or RESET - состояние ожидания транзакции

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

§ MKPD_BC_IsSending()

FlagStatus MKPD_BC_IsSending ( MKPD_T pMKPD,
MKPD_TX_T  index 
)

Определяет, передается ли транзакция в настоящий момент

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
indexномер интерфейса для передачи (TX_ONE/TX_TWO)
Возвращает
SET or RESET - состояние ожидания транзакции

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

§ MKPD_BC_IsTimeout()

FlagStatus MKPD_BC_IsTimeout ( MKPD_T pMKPD,
MKPD_TX_T  index 
)

Возвращает значение флага таймаута транзации

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
indexномер интерфейса для передачи (TX_ONE/TX_TWO)
Возвращает
SET or RESET - состояние ожидания транзакции

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

§ MKPD_BC_IsWaiting()

FlagStatus MKPD_BC_IsWaiting ( MKPD_T pMKPD,
MKPD_TX_T  index 
)

Определяет, находится ли транзакция в очереди на передачу

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
indexномер интерфейса для передачи (TX_ONE/TX_TWO)
Возвращает
SET or RESET - состояние ожидания транзакции

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

§ MKPD_BC_Reply_Data()

uint32_t MKPD_BC_Reply_Data ( MKPD_T pMKPD,
MKPD_TX_T  index 
)

Возвращает ответные данные, полученные от ОУ (для транзакций формата 5)

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
indexномер интерфейса для передачи (TX_ONE/TX_TWO)
Возвращает
Содержимое ответного слова, 16 бит

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

§ MKPD_BC_Reply_Word()

uint32_t MKPD_BC_Reply_Word ( MKPD_T pMKPD,
MKPD_TX_T  index 
)

Возвращает ответное слово, полученное от ОУ

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
indexномер интерфейса для передачи (TX_ONE/TX_TWO)
Возвращает
Содержимое ответного слова, 16 бит

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

§ MKPD_ConfigMonitor()

void MKPD_ConfigMonitor ( MKPD_T pMKPD,
uint32_t  address,
uint32_t  size,
uint32_t  threshold 
)

Настройка монитора

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
addressначальный адрес в памяти для хранения слов данных
sizeколичество 32-битных слов, выделенных для монитора
thresholdколичество записанных слов, при котором срабатывает прерывание монитора
Возвращаемые значения
None

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

§ MKPD_Get_Endpoint_COM_Data()

uint32_t MKPD_Get_Endpoint_COM_Data ( MKPD_T pMKPD)

Возвращает принятое от КШ слово данных

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
Возвращает
Содержимое ответного слова, 16 бит

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

§ MKPD_Get_Endpoint_COM_Error()

FlagStatus MKPD_Get_Endpoint_COM_Error ( MKPD_T pMKPD)

Возвращает значение флага ошибки в слове данных (используется в транзакциях №6, 10)

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
Возвращает
SET or RESET - состояние готовности к передаче

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

§ MKPD_Get_Endpoint_COM_Timeout()

FlagStatus MKPD_Get_Endpoint_COM_Timeout ( MKPD_T pMKPD)

Возвращает значение флага таймаута

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
Возвращает
SET or RESET - состояние готовности к передаче

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

§ MKPD_Get_Endpoint_Command_Word()

uint32_t MKPD_Get_Endpoint_Command_Word ( MKPD_T pMKPD)

Возвращает командное слово, принятое ОУ

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
Возвращает
SET or RESET - состояние готовности к передаче

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

§ MKPD_Get_Interrupt()

uint32_t MKPD_Get_Interrupt ( MKPD_T pMKPD)

Возвращает значение прерывания

Установка приёмной частоты сигнала

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
Возвращает
Считывает содержимое регистра прерываний. Возможны возвращаемые значения: MKPD_INTERRUPT_BC_INT: прерывание окончания транзакции в КШ MKPD_INTERRUPT_EP_INT0: прерывание ОУ, по приёму КС MKPD_INTERRUPT_EP_INT1: прерывание ОУ, по окончанию транзакции MKPD_INTERRUPT_MON_INT: прерывание монитора, по достижению порога

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

§ MKPD_Set_BC_COM_Data()

void MKPD_Set_BC_COM_Data ( MKPD_T pMKPD,
MKPD_TX_T  index,
uint32_t  com_data 
)

Установка слова данных для передачи в транзакциях формата 6 или 10.

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
indexномер интерфейса для передачи (TX_ONE/TX_TWO)
com_dataсодержимое слова данных, 16 бит
Возвращаемые значения
None

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

§ MKPD_Set_BC_Transaction_Format()

void MKPD_Set_BC_Transaction_Format ( MKPD_T pMKPD,
MKPD_TX_T  index,
uint32_t  type_trans 
)

Установка формата транзакции

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
indexномер интерфейса для передачи (TX_ONE/TX_TWO)
type_transформат транзакции (1..10)
Возвращаемые значения
None

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

§ MKPD_Set_Edge_Time()

void MKPD_Set_Edge_Time ( MKPD_T pMKPD,
uint32_t  edge 
)

Установка времени запрещенного состояния дифференциального сигнала

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
edgeвремя (в тактах системной частоты). Допустимые значения от 0 до 255
Возвращаемые значения
None

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

§ MKPD_Set_Endpoint_RDATA()

void MKPD_Set_Endpoint_RDATA ( MKPD_T pMKPD,
uint32_t  rdata 
)

Установка слова данных для передачи от ОУ

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
rdataсодержимое слова данных, 16 бит
Возвращаемые значения
None

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

§ MKPD_Set_Interpacket_Time()

void MKPD_Set_Interpacket_Time ( MKPD_T pMKPD,
uint32_t  time 
)

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

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
timeвремя (в мкс). Допустимые значения от 4 до 15
Возвращаемые значения
None

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

§ MKPD_Set_InvTX()

void MKPD_Set_InvTX ( MKPD_T pMKPD,
unsigned int  invTX 
)

Установка инвертирования дифференциального сигнала на передаче

Аргументы
pMKPD: Указатель на структуру с регистрами MKPD
invTX: 1 - инвертировать сигнал на передаче; 0 - не инвертировать

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

§ MKPD_Set_Monitor_DMA_Address()

void MKPD_Set_Monitor_DMA_Address ( MKPD_T pMKPD,
uint32_t  dma_monitor_addr 
)

Задание начального адреса DMA для монитора

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
dma_monitor_addrначальный адрес в памяти для записи
Возвращаемые значения
None

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

§ MKPD_Set_Monitor_Memory_Size()

void MKPD_Set_Monitor_Memory_Size ( MKPD_T pMKPD,
uint32_t  memory_size 
)

Задание размера буфера монитора

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
memory_sizeколичество 32-битных слов, выделенных для монитора
Возвращаемые значения
None

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

§ MKPD_Set_Monitor_Threshold()

void MKPD_Set_Monitor_Threshold ( MKPD_T pMKPD,
uint32_t  threshold 
)

Задание порогового значения для монитора

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
thresholdколичество записанных слов, при котором срабатывает прерывание монитора
Возвращаемые значения
None

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

§ MKPD_Set_System_Clock()

void MKPD_Set_System_Clock ( MKPD_T pMKPD,
uint32_t  sys_clk 
)

Установка значения системной частоты

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
sys_clkчастота (в МГц)
Возвращаемые значения
None

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

§ MKPD_Set_Wait_Time()

void MKPD_Set_Wait_Time ( MKPD_T pMKPD,
uint32_t  rwait 
)

Установка времени ожидания ОС или СД в режиме работы КШ и ОУ

Аргументы
pMKPDуказатель на структуру с регистрами MKPD
rwaitвремя (в мкс). Допустимые значения от 34 до 255
Возвращаемые значения
None

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