Миландр

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

Часовой пояс: UTC + 3 часа




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

Зарегистрирован: 2010-авг-30 19:12
Сообщения: 438
Цитата:
Спецификация:
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
Сообщения: 362
Откуда: ПКК "Миландр"
Действительно. Но в целях отладки можно попробовать.

Коллеги недавно использовали такой код для сброса. С зависанием не столкнулись, но вероятно просто не достаточно часто сбрасывались программно.

Код:
//Настройка программного сброса
SCB->AIRCR = 0x5FA0000;
   
while (1)
{
    if ((MDR_PORTE->RXTX & (1 << 3)) == 0) // Формирование программного сброса по кнопке Left
    {
        SCB->AIRCR = 0x5FA0004;
    }   
}

_________________
Отдел технической поддержки support@milandr.ru


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

Зарегистрирован: 2010-авг-30 19:12
Сообщения: 438
Цитата:
Коллеги недавно использовали такой код для сброса. С зависанием не столкнулись, но вероятно просто не достаточно часто сбрасывались программно.


Скорее всего зависит от чипа. У нас из 8 МК в системе (изготовление в одно время - следовательно и ревизия и партия скорее всего одинаковые) 4 или 5 сбрасывались всегда остальные всегда висли.
Сделали всем WDT для однообразия.

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

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


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

Зарегистрирован: 2014-сен-16 11:58
Сообщения: 104
Код:
#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
Сообщения: 701
Откуда: г. Санкт-Петербург
В вашем коде не увидел настройку регистра MDR_RST_CLK->UART_CLOCK


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

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1309
Откуда: Тула
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
Сообщения: 1309
Откуда: Тула
vasili писал(а):
В вашем коде не увидел настройку регистра MDR_RST_CLK->UART_CLOCK

Теоретически, она прячется в UART_BRGInit()

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


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

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


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

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


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

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

_________________
Отдел технической поддержки support@milandr.ru


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

Зарегистрирован: 2014-сен-16 11:58
Сообщения: 104
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
Сообщения: 362
Откуда: ПКК "Миландр"
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 КБ]
Скачиваний: 10

_________________
Отдел технической поддержки support@milandr.ru
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: К1986ВЕ92 не отправляет UART
СообщениеДобавлено: 2019-июн-19 13:13 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1296
Откуда: АО "ПКК Миландр"
LinuxFanatic писал(а):

-=Sergei=- писал(а):
Повторяемо на нескольких кристаллах ?

Не пробовал, плата одна. Но теперь до меня начинает доходить, что может быть бракованный кристалл. Хотя через этот же порт шьется.

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


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


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

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

Вот это тяга к знаниям! Респект.

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


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

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

_________________
Отдел технической поддержки support@milandr.ru


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

Часовой пояс: UTC + 3 часа


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

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


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

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB