Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2020-июл-11 03:19

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 42 сообщения ]  На страницу « 1 2 3 »
Автор Сообщение
 Заголовок сообщения: Re: К1986ВЕ92 не отправляет UART
СообщениеДобавлено: 2019-июн-04 08:07 
Не в сети

Зарегистрирован: 2010-авг-30 19:12
Сообщения: 494
Цитата:
Спецификация:
32.1.5 SCB->AIRCR
32.1.5.1 Регистр управления прерываниями и программного сброса
Тогда нужно добавить и Errata Ошибка 0006
Цитата:
0006 Невозможность программного сброса процессора через регистр AIRCR
Остается только WDT либо внешний сброс.

_________________
О сколько нам открытий чудных
Готовит просвященья дух,
И опыт - сын ошибок трудных ... (Пушкин)

Пергаменты не утоляют жажду ("Фауст",Гете)


Вернуться к началу
 Заголовок сообщения: Re: К1986ВЕ92 не отправляет UART
СообщениеДобавлено: 2019-июн-04 09:49 
Не в сети

Зарегистрирован: 2017-апр-26 14:51
Сообщения: 472
Организация: Milandr
Откуда: ПКК "Миландр"
Действительно. Но в целях отладки можно попробовать.

Коллеги недавно использовали такой код для сброса. С зависанием не столкнулись, но вероятно просто не достаточно часто сбрасывались программно.
//Настройка программного сброса
SCB->AIRCR = 0x5FA0000;
	
while (1)
{
    if ((MDR_PORTE->RXTX & (1 << 3)) == 0) // Формирование программного сброса по кнопке Left
    {
        SCB->AIRCR = 0x5FA0004; 
    }	
}


Вернуться к началу
 Заголовок сообщения: Re: К1986ВЕ92 не отправляет UART
СообщениеДобавлено: 2019-июн-04 13:59 
Не в сети

Зарегистрирован: 2010-авг-30 19:12
Сообщения: 494
Цитата:
Коллеги недавно использовали такой код для сброса. С зависанием не столкнулись, но вероятно просто не достаточно часто сбрасывались программно.
Скорее всего зависит от чипа. У нас из 8 МК в системе (изготовление в одно время - следовательно и ревизия и партия скорее всего одинаковые) 4 или 5 сбрасывались всегда остальные всегда висли.
Сделали всем WDT для однообразия.

_________________
О сколько нам открытий чудных
Готовит просвященья дух,
И опыт - сын ошибок трудных ... (Пушкин)

Пергаменты не утоляют жажду ("Фауст",Гете)


Вернуться к началу
 Заголовок сообщения: Re: К1986ВЕ92 не отправляет UART
СообщениеДобавлено: 2019-июн-15 22:33 
Не в сети

Зарегистрирован: 2014-сен-16 11:58
Сообщения: 116
 #if 1 // turn off jtag
 	if((MDR_BKP->REG_0E & (1<<6)) || (MDR_BKP->REG_0E & (1<<7)))
 	{
		MDR_BKP->REG_0E &= 0xFFFF8FFF;
		MDR_BKP->REG_0E |= (3<<12);
 		MDR_BKP->REG_0E &= ~(1<<6);
 		MDR_BKP->REG_0E &= ~(1<<7);
 		MDR_WWDG->CFR = 0x00;
 		MDR_WWDG->CR = 0xFF;
 		MDR_WWDG->CR = 0xFF;
 	}
 #endif
Добавил еще перевод в режим 011 "микропроцессор без отладки". Сброс это не проблема, у меня он срабатывает и по светодиоду я четко виду что JTAG A и B оба выключены.

Передача UART по прежнему не работает! Не выдает ничего в порт тот, через который МК вот только что был прошит, провода очевидно целы и питанием в норме.

Какие еще есть идеи? Не сказать что разработка моя срочна, но "подельники" уже раздражены что я месяц бьюсь над примитивным UART, при том что на отладочной плате на другой когда то прекрасно работал с UART.


Вернуться к началу
 Заголовок сообщения: Re: К1986ВЕ92 не отправляет UART
СообщениеДобавлено: 2019-июн-17 09:16 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 740
Откуда: г. Санкт-Петербург
В вашем коде не увидел настройку регистра MDR_RST_CLK->UART_CLOCK


Вернуться к началу
 Заголовок сообщения: Re: К1986ВЕ92 не отправляет UART
СообщениеДобавлено: 2019-июн-17 09:23 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1501
Откуда: Тула
LinuxFanatic писал(а):
Передача UART по прежнему не работает! Не выдает ничего в порт тот, через который МК вот только что был прошит, провода очевидно целы и питанием в норме.

Какие еще есть идеи? Не сказать что разработка моя срочна, но "подельники" уже раздражены что я месяц бьюсь над примитивным UART, при том что на отладочной плате на другой когда то прекрасно работал с UART.
Предлагаю:
1. Раз вы прошиваете через UART - уберите из программы всё, что касается UART и тактирования, и просто отправьте что-то. Посмотрите осциллографом, по возможности.
Т.е. предлагаю программу вида
void main() {
while( MDR_UART2->FR & UART_FR_BUSY);
MDR_UART2->DR = 0x12; }
2. Потом по частями добавляйте всякое разное своё.
3. Раздобудьте любой отладчик, поддерживаемый любой IDE, посмотрите в отладке на регистры.

_________________
сочувствующий…


Вернуться к началу
 Заголовок сообщения: Re: К1986ВЕ92 не отправляет UART
СообщениеДобавлено: 2019-июн-17 09:26 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1501
Откуда: Тула
vasili писал(а):
В вашем коде не увидел настройку регистра MDR_RST_CLK->UART_CLOCK
Теоретически, она прячется в UART_BRGInit()

_________________
сочувствующий…


Вернуться к началу
 Заголовок сообщения: Re: К1986ВЕ92 не отправляет UART
СообщениеДобавлено: 2019-июн-17 09:38 
Не в сети

Зарегистрирован: 2014-июн-25 09:29
Сообщения: 126
Предлагаю отключить пока работу с UART, а вместо этого подергать в цикле ногами PD0, PD1 и еще какой-нибудь ногой из порта D, не связанной с JTAG. Для этого ноги надо сконфигурировать как цифровые выходы. Результаты посмотреть осциллом. Возможно, кое-что прояснится.


Вернуться к началу
 Заголовок сообщения: Re: К1986ВЕ92 не отправляет UART
СообщениеДобавлено: 2019-июн-17 11:43 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1302
Откуда: АО "ПКК Миландр"
Повторяемо на нескольких кристаллах ?


Вернуться к началу
 Заголовок сообщения: Re: К1986ВЕ92 не отправляет UART
СообщениеДобавлено: 2019-июн-17 13:08 
Не в сети

Зарегистрирован: 2017-апр-26 14:51
Сообщения: 472
Организация: Milandr
Откуда: ПКК "Миландр"
Запустил код с первой страницы на отладочной плате с активным Jtag_A. Вывод TX дергается согласно высылаемым данным.
При выборе JtagB пинами MODE данные тоже идут.


Вернуться к началу
 Заголовок сообщения: Re: К1986ВЕ92 не отправляет UART
СообщениеДобавлено: 2019-июн-19 12:18 
Не в сети

Зарегистрирован: 2014-сен-16 11:58
Сообщения: 116
prostoRoman писал(а):
Т.е. предлагаю программу вида
void main() {
while( MDR_UART2->FR & UART_FR_BUSY);
MDR_UART2->DR = 0x12; }
Хорошо, попробую. Интересная идея, должно хоть как-то работать точно.
А еще я не пробовал такую вещь, которую могу попробовать на другой отладочной плате: попробовать тупо другой UART порт.
Потому что на моей конкретной - второй порт неудобно выведен, но попробую запаяться туда.
Vasiliy писал(а):
Запустил код с первой страницы на отладочной плате с активным Jtag_A. Вывод TX дергается согласно высылаемым данным.
При выборе JtagB пинами MODE данные тоже идут.
Странно.
-=Sergei=- писал(а):
Повторяемо на нескольких кристаллах ?
Не пробовал, плата одна. Но теперь до меня начинает доходить, что может быть бракованный кристалл. Хотя через этот же порт шьется.

В любом случае, я принципиально заинтересован именно в Миландр, хотя в STM32 таких проблем не возникало.


Вернуться к началу
 Заголовок сообщения: Re: К1986ВЕ92 не отправляет UART
СообщениеДобавлено: 2019-июн-19 12:49 
Не в сети

Зарегистрирован: 2017-апр-26 14:51
Сообщения: 472
Организация: Milandr
Откуда: ПКК "Миландр"
LinuxFanatic писал(а):
Vasiliy писал(а):
Запустил код с первой страницы на отладочной плате с активным Jtag_A. Вывод TX дергается согласно высылаемым данным.
При выборе JtagB пинами MODE данные тоже идут.

Странно.
Вот что запускал. Лишнее закомментировал, передачу зациклил чтобы было видно осциллографом. В MDR32F9Qx_config.h
#if (defined(USE_MDR1986VE9x) || defined (USE_MDR1901VC1T))
 #define USE_JTAG_A 
 //#define USE_JTAG_B 
#endif


Вложения:
Комментарий к файлу: UART_VE92
UART_VE92.zip [14.7 КБ]
83 скачивания
Вернуться к началу
 Заголовок сообщения: Re: К1986ВЕ92 не отправляет UART
СообщениеДобавлено: 2019-июн-19 13:13 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1302
Откуда: АО "ПКК Миландр"
LinuxFanatic писал(а):
-=Sergei=- писал(а):
Повторяемо на нескольких кристаллах ?
Не пробовал, плата одна. Но теперь до меня начинает доходить, что может быть бракованный кристалл. Хотя через этот же порт шьется.

В любом случае, я принципиально заинтересован именно в Миландр, хотя в STM32 таких проблем не возникало.
Если это бракованный кристалл с таким поведением, то мы заинтересованы его получить обратно.
В замен дадим новый.


Вернуться к началу
 Заголовок сообщения: Re: К1986ВЕ92 не отправляет UART
СообщениеДобавлено: 2019-июн-19 13:22 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1501
Откуда: Тула
-=Sergei=- писал(а):
Если это бракованный кристалл с таким поведением, то мы заинтересованы его получить обратно.
В замен дадим новый.
Вот это тяга к знаниям! Респект.

_________________
сочувствующий…


Вернуться к началу
 Заголовок сообщения: Re: К1986ВЕ92 не отправляет UART
СообщениеДобавлено: 2019-июн-19 13:57 
Не в сети

Зарегистрирован: 2017-апр-26 14:51
Сообщения: 472
Организация: Milandr
Откуда: ПКК "Миландр"
Если при прошивке HEX из моего архива осциллограф показывает отсутствие переключений на PD1, вышлите схемотехнику включения МК на support@milandr.ru
Программы UART-терминалы могут не видеть данные, если скорость обмена выставлена неправильно. Надо обязательно смотреть осциллографом что на PD1.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 42 сообщения ]  На страницу « 1 2 3 »

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти: 

cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB