Новый 32-разрядный микроконтроллер в BGA400 корпусе

32-разрядные микроконтроллеры разработки АО "НИИЭТ"

Модераторы: ea, dav, bkolbov, Alis, pip, _sva_

редактор
Сообщения: 27
Зарегистрирован: 08 ноя 2016, 09:10

Re: Новый 32-разрядный микроконтроллер в BGA400 корпусе

Сообщение редактор »

большое спасибо за подробные ответы.

Замечание к РП (версия от 20.12.2019)
В приложении А, при описании блока АЦП Смещение регистра BSTAT указано 008h, а смещение регистра FSTAT 00Сh.
В файле K1921VK0028.h при описании модуля АЦП эти регистры переставлены (FSTAT = 08h, BSTAT = 0Ch). Вероятно, в SDK правильное смещение, иначе были бы проблемы с рабочими примерами.
porsche2492
Сообщения: 70
Зарегистрирован: 21 янв 2018, 00:42
Предприятие: Авиаавтоматика
Откуда: Курск

Re: Новый 32-разрядный микроконтроллер в BGA400 корпусе

Сообщение porsche2492 »

1921ВК028 имеет ли приемку ВП?
bkolbov
Сообщения: 248
Зарегистрирован: 14 дек 2015, 11:37
Предприятие: АО НИИЭТ
Откуда: Воронеж

Re: Новый 32-разрядный микроконтроллер в BGA400 корпусе

Сообщение bkolbov »

porsche2492 писал(а): 12 окт 2020, 13:10 1921ВК028 имеет ли приемку ВП?
Добрый день. Имеет.
aod
Сообщения: 1
Зарегистрирован: 20 ноя 2020, 16:53
Предприятие: НИИ ВС и СУ

Re: Новый 32-разрядный микроконтроллер в BGA400 корпусе

Сообщение aod »

Добрый день!

Подскажите, а в перечень ЭКБ 2020 г. микросхема 1921ВК028 попала?
Заранее спасибо за ответ.
Chameleos
Сообщения: 1
Зарегистрирован: 31 мар 2021, 14:28
Предприятие: АО "УМЗ"

Re: Новый 32-разрядный микроконтроллер в BGA400 корпусе

Сообщение Chameleos »

Добрый день, не планируется ли портирование ОСРВ на этот микроконтроллер? Хотим использовать библиотеку PJSIP, для оцифровки речи, аудиоконференций, но она не поддерживается FreeRTOS. А Embox, uClinux, RTEMS подошли бы гораздо лучше.
selax
Сообщения: 5
Зарегистрирован: 01 авг 2020, 20:14
Предприятие: -

Re: Новый 32-разрядный микроконтроллер в BGA400 корпусе

Сообщение selax »

Здравствуйте!
Какой максимальный ток потребления у 1921ВК028?

В РП на 1921ВК028 от 20.12.2019 в таблице 2.4 на странице 39 сказано не более 1А, но на рисунках Г.8, Г.9 на страницах 643, 645 ток судя по графикам ток не более 0,25А.

Не совсем понял такое расхождение, можно ли получить комментарий по этому поводу?
Degrees
Сообщения: 13
Зарегистрирован: 05 сен 2018, 16:02
Предприятие: АО ПО "Север"

Re: Новый 32-разрядный микроконтроллер в BGA400 корпусе

Сообщение Degrees »

Здравствуйте! Существует проблема с запуском MILSTD1553B (ГОСТ Р52070 2003, он же МКИО) на микроконтроллере К1921ВК028. Необходимо настроить как ОУ (УТ в терминологии документации микроконтроллера). Есть ли у кого примеры реализации? Благодаря plib028 легко запустил ШИМ, АЦП, BFLASH, по поводу MILSTD1553B пусто...

Код: Выделить всё


uint32_t  RX_Dim[128];

struct C_Word{
	uint32_t Tx_Sz			: 5;
	uint32_t Tx_Irq			: 1;
	uint32_t Tx_Log			: 1;
	uint32_t Tx_En			: 1;
	uint32_t Rx_Sz			: 5;
	uint32_t Rx_Irq			: 1;
	uint32_t Rx_Log			: 1;
	uint32_t Rx_En			: 1;
	uint32_t Bc_Rx_En		: 1;
	uint32_t Ign_Dat_Valid		: 1;
	uint32_t Wrap			: 1;
	uint32_t unused			: 13;
};  

typedef union {
	uint32_t  all;
	struct  C_Word bit;
}C_Word;


typedef struct {
	C_Word Control_Word;
	uint32_t RX_Pointer;
	uint32_t TX_Pointer;
	uint32_t unused;
}Str_Tab_Sub;  


Str_Tab_Sub    Tab_Podadres[32]  __attribute__((aligned(512)));		// таблица подадресов. 

void MKIO_Init(void){
uint16_t n;
	RCU_AHBClkCmd(RCU_AHBClk_MILSTD0, ENABLE);
	RCU_AHBRstCmd(RCU_AHBRst_MILSTD0, ENABLE);
	RCU_MILSTDClkCmd(MILSTD0_Num, ENABLE);
	RCU_MILSTDClkConfig(MILSTD0_Num,RCU_PeriphClk_PLLClk, 4, ENABLE);
	RCU_MILSTDRstCmd(MILSTD0_Num, ENABLE);

	Freq_MKIO = RCU_GetMILSTDClkFreq(MILSTD0_Num); // проверка тактовой
	
// =================================== Иницализация УТ МКИО =========================== >>>
															// Иницализация таблицы подадресов.
	for( n=0; n<32; n++){
		Tab_Podadres[n].Control_Word.all = 0;
		Tab_Podadres[n].RX_Pointer =03;
		Tab_Podadres[n].TX_Pointer =03;
		Tab_Podadres[n].unused =0;
	}
	MILSTD0->RTSADDR_bit.SATB = ((uint32_t) &Tab_Podadres[0])>>9 ;		//начальный адрес таблицы подадресов.

	Tab_Podadres[0].RX_Pointer = (uint32_t) &RX_Dim[0];
	Tab_Podadres[0].Control_Word.bit.Rx_En = 1;
	Tab_Podadres[0].Control_Word.bit.Rx_Sz = 1;

	Tab_Podadres[1].RX_Pointer = (uint32_t) &RX_Dim[0];
	Tab_Podadres[1].Control_Word.bit.Rx_En = 1;
	Tab_Podadres[1].Control_Word.bit.Rx_Sz = 1;

	Tab_Podadres[2].RX_Pointer = (uint32_t) &RX_Dim[0];
	Tab_Podadres[2].Control_Word.bit.Rx_En = 1;
	Tab_Podadres[2].Control_Word.bit.Rx_Sz = 1;

	MILSTD0->RTCON_bit.BRS = 0;
	MILSTD0->RTCON_bit.SYDS = 0;
	MILSTD0->RTCON_bit.SYS =0;
	MILSTD0->RTCON_bit.RTEN = 1;		//в регистр конфигурации УТ: установить бит RTEN
// <<< =================================== Иницализация УТ МКИО 
}
после отправки сообщения с одним словом данных
MILSTD0->IR_bit.RTTE взводится в "1" - ошибка доступа к таблице УТ.
porsche2492
Сообщения: 70
Зарегистрирован: 21 янв 2018, 00:42
Предприятие: Авиаавтоматика
Откуда: Курск

Re: Новый 32-разрядный микроконтроллер в BGA400 корпусе

Сообщение porsche2492 »

Не могу понять почему у меня не работает CAN0 на отладочной плате "MotorControlBoard3-1921ВК028". При этом когда я перехожу на CAN1 все у меня нормально работает. Не подскажите в чем проблема тут. Проинициализировал CAN в соответствии с руководством пользователя на МК1921ВК028. При этом сам интерфейс CAN0 работает(Проверял путем заливки ПО MotorControlDemo в отладочную плату и видимости CAN устройства в программе "Unicon" ) Ниже прикрепляю файлы модуля CAN.
can_module.h
(2.72 КБ) 42 скачивания
can_module.c
(9.37 КБ) 44 скачивания
Конфигурация ножек:

Код: Выделить всё

	
//Конфигурация пинов для модуля CAN1
GPIOH->ALTFUNCNUM1_bit.PIN14 = 3;   // CAN1_TX
GPIOH->ALTFUNCNUM1_bit.PIN15 = 3;   // CAN1_RX
GPIOH->ALTFUNCSET =GPIO_PIN_14 | GPIO_PIN_15;
	
//Конфигурация пинов для модуля CAN0
GPIOС->ALTFUNCNUM1_bit.PIN12 = 1;   // CAN0_TX
GPIOС->ALTFUNCNUM1_bit.PIN13 = 1;   // CAN0_RX
GPIOС->ALTFUNCSET =GPIO_PIN_12 | GPIO_PIN_13;
Аватара пользователя
Disona
Сообщения: 81
Зарегистрирован: 06 дек 2016, 11:18
Предприятие: НПФ Вектор
Откуда: Москва
Контактная информация:

Re: Новый 32-разрядный микроконтроллер в BGA400 корпусе

Сообщение Disona »

porsche2492 писал(а): 31 авг 2021, 20:48 Конфигурация ножек:

Код: Выделить всё

	
//Конфигурация пинов для модуля CAN1
GPIOH->ALTFUNCNUM1_bit.PIN14 = 3;   // CAN1_TX
GPIOH->ALTFUNCNUM1_bit.PIN15 = 3;   // CAN1_RX
GPIOH->ALTFUNCSET =GPIO_PIN_14 | GPIO_PIN_15;
	
//Конфигурация пинов для модуля CAN0
GPIOС->ALTFUNCNUM1_bit.PIN12 = 1;   // CAN0_TX
GPIOС->ALTFUNCNUM1_bit.PIN13 = 1;   // CAN0_RX
GPIOС->ALTFUNCSET =GPIO_PIN_12 | GPIO_PIN_13;
Здравствуйте.
Пока не очень понимаем, в чём причина, но в приведённом коде кое-что не сходится.
Вроде как выходит, что неправильно натсроен именно CAN1:
для ножек C14 и C15 номер CAN-функции - это 1, а не 3.

А вот для CAN0, вроде, всё настроено верно.
Вы не могли в своём проекте выставить C14 и C15 в "1" и проверить, не заработал ли CAN0?
Может быть, какая-то путанница с нумерациями CAN-ов?

У нас в примере MotorControlDemo сделано так:

Код: Выделить всё

#ifdef CAN_1_ENABLE
    // CAN0: C12 / C13
    GPIOC->ALTFUNCNUM1_bit.PIN12 = 1;   // CAN0_TX
    GPIOC->ALTFUNCNUM1_bit.PIN13 = 1;   // CAN0_RX
    GPIOC->ALTFUNCSET = GPIO_PIN_12 | GPIO_PIN_13;
#endif

#ifdef CAN_2_ENABLE
    // CAN1: C14 / C15
    GPIOC->ALTFUNCNUM1_bit.PIN14 = 1;   // CAN1_TX
    GPIOC->ALTFUNCNUM1_bit.PIN15 = 1;   // CAN1_RX
    GPIOC->ALTFUNCSET = GPIO_PIN_14 | GPIO_PIN_15;
#endif
С уважением, Дмитрий Шпак
ООО "НПФ Вектор"
Ответить

Вернуться в «32-разрядные микроконтроллеры»