Миландр
https://forum.milandr.ru/

Найденные недоработки в 1986ВЕ1 (errata)
https://forum.milandr.ru/viewtopic.php?f=34&t=496
Страница 2 из 4

Автор:  Алгоритм [ 2012-июн-28 12:50 ]
Заголовок сообщения:  Re: Найденные недоработки в 1986ВЕ1

Есть код настройки таймера. (тактирование не приведено, но оно есть)
void TimerConfig(unsigned int NumTimer)
{
   RST_CLK->TIM_CLOCK = 
                        ((0&RST_CLK_TIM_CLOCK_TIM3_BRG_MASK)<<RST_CLK_TIM_CLOCK_TIM3_BRG_OFFS) 
					   |(RST_CLK_TIM_CLOCK_TIM3_CLK_EN )                                        
                       |((0&RST_CLK_TIM_CLOCK_TIM1_BRG_MASK)<<RST_CLK_TIM_CLOCK_TIM1_BRG_OFFS) 
					   |(RST_CLK_TIM_CLOCK_TIM1_CLK_EN );
   TIMER1->CNTRL = 0x00000000;
   TIMER1->CNT = 0;
   TIMER1->PSG = 0x000FFFFF;
   TIMER1->ARR = 0x000000FF;
   TIMER1->CNTRL |= TIMER_CNTRL_CNT_EN;	

				
   TIMER3->CNTRL = 0x00000000;
   TIMER3->CNT = 0;
   TIMER3->PSG = 0x00FFFFFF;
   TIMER3->ARR = 0x000F;
   TIMER3->CNTRL = 0 
                 | (1 << TIMER_CNTRL_EVENT_SEL_OFFS)  // CNT==ARR 1 

                 //| (0 << TIMER_CNTRL_CNT_MODE_OFFS)  // DIR PSG	   
                | (1 << TIMER_CNTRL_CNT_MODE_OFFS)  // DIR autoDIR PSG
                 //| (2 << TIMER_CNTRL_CNT_MODE_OFFS)  //  DIR EVENT
                //| (3 << TIMER_CNTRL_CNT_MODE_OFFS)  // DIR autoDIR EVENT
                | (1 << TIMER_CNTRL_DIR_OFFS) 
		;

   TIMER3->CNTRL |= TIMER_CNTRL_CNT_EN;	
}	
Суть в следующем,
Если раскомментарены(не одновременно) строки счета таймера "DIR PSG" или "DIR autoDIR PSG", а другие строки закомментарены, то счет производиться как надо - либо согласно полю DIR, либо с автоматическим его изменением.
Если раскомментарены(не одновременно) строки счета таймера "DIR EVENT" или "DIR autoDIR EVENT", а другие строки закомментарены, то счет производиться согласно полю DIR в любом случае, а режим счета вверх вниз как бы отсутсвует.

Вопрос: необходимо настраивать дополнительные поля, которые мной не настроены, или такой режим невозможен?

Вложения:
Комментарий к файлу: Полный код проекта для KEIL'а
FirstProject.rar [272.15 КБ]
352 скачивания

Автор:  wedmeed [ 2012-июл-10 07:54 ]
Заголовок сообщения:  Re: Найденные недоработки в 1986ВЕ1

Просьба добавить в еррату ошибки, найденные в 1986ВЕ9х, актуальные для 1Т (например CAN). Сложно постоянно рыться в соседней ветке и надоедать вопросами "а у нас так же?...".

Автор:  Andrey [ 2012-июл-23 08:32 ]
Заголовок сообщения:  Re: Найденные недоработки в 1986ВЕ1

wedmeed писал(а):
Просьба добавить в еррату ошибки, найденные в 1986ВЕ9х, актуальные для 1Т (например CAN). Сложно постоянно рыться в соседней ветке и надоедать вопросами "а у нас так же?...".
В ревизии 2 для 1Т большинство ошибок 1986ВЕ9х исправлено это касается и CAN, поэтому уже добавлять смысла нет.

Автор:  Andrey [ 2014-мар-26 12:38 ]
Заголовок сообщения:  Re: Найденные недоработки в 1986ВЕ1 (errata)

кому где удобней брать в начале или в конце

Вложения:
errata1986BE1Т.pdf [581.09 КБ]
302 скачивания

Автор:  Andrey [ 2014-апр-21 13:22 ]
Заголовок сообщения:  Re: Найденные недоработки в 1986ВЕ1 (errata)

Новая версия errata

Вложения:
errata1986BE1Т.pdf [595.43 КБ]
290 скачиваний

Автор:  Andrey [ 2014-апр-25 11:48 ]
Заголовок сообщения:  Re: Найденные недоработки в 1986ВЕ1 (errata)

Очередная версия Errata

Вложения:
errata1986BE1Т.pdf [615.31 КБ]
293 скачивания

Автор:  prostoRoman [ 2014-апр-25 13:18 ]
Заголовок сообщения:  Re: Найденные недоработки в 1986ВЕ1 (errata)

Описание 
После операции записи регистров или памяти  Ethernet  контроллера нельзя проводить 
операции  чтения/записи  с ОЗУ по адресам 0x20100000-0x20103FFF  так как это приводит к 
ошибочной записи в  Ethernet  контроллер.  Необходимо дождаться  завершения операции 
записи в Ethernet контроллер с помощью инструкций “NOP”.  
Как узнать когда закончится запись?

Автор:  Andrey [ 2014-апр-25 13:24 ]
Заголовок сообщения:  Re: Найденные недоработки в 1986ВЕ1 (errata)

prostoRoman писал(а):
Описание 
После операции записи регистров или памяти  Ethernet  контроллера нельзя проводить 
операции  чтения/записи  с ОЗУ по адресам 0x20100000-0x20103FFF  так как это приводит к 
ошибочной записи в  Ethernet  контроллер.  Необходимо дождаться  завершения операции 
записи в Ethernet контроллер с помощью инструкций “NOP”.  
Как узнать когда закончится запись?
Только по количеству NOP после которых обращение в ОЗУ не приводит к сбою. Ещё есть инструкции DMB и DSB (__asm {DSB} или __asm {DMB})

Автор:  Andrey [ 2014-июн-20 09:50 ]
Заголовок сообщения:  Re: Найденные недоработки в 1986ВЕ1 (errata)

Новая версия Errata от 20/06/2014

Вложения:
errata1986BE1Т.pdf [629.32 КБ]
358 скачиваний

Автор:  8daemon [ 2014-июн-22 09:56 ]
Заголовок сообщения:  Re: Найденные недоработки в 1986ВЕ1 (errata)

Andrey писал(а):
Новая версия Errata от 20/06/2014
На счет ошибки 0023 CAN:
Написано: ...игнорировать пакет в ходе программной обработки. - Можно ли просто использовать автоматический фильтр для игнорирования пакета?
Написано: «Проигрыш» арбитража в последнем бите идентификатора или бите RTR у стандартных пакетов. - Т.е. если последний бит (младший) сделать одинаковым для всех пакетов системы и не использовать RTR то данной проблемы можно избежать для стандартных пакетов?

Автор:  -=Sergei=- [ 2014-июн-23 08:25 ]
Заголовок сообщения:  Re: Найденные недоработки в 1986ВЕ1 (errata)

8daemon писал(а):
Andrey писал(а):
Новая версия Errata от 20/06/2014
На счет ошибки 0023 CAN:
Написано: ...игнорировать пакет в ходе программной обработки. - Можно ли просто использовать автоматический фильтр для игнорирования пакета?
Написано: «Проигрыш» арбитража в последнем бите идентификатора или бите RTR у стандартных пакетов. - Т.е. если последний бит (младший) сделать одинаковым для всех пакетов системы и не использовать RTR то данной проблемы можно избежать для стандартных пакетов?
Если сможете фильтровать маской, то да - это будет аналогично программному игнорированию.

Да, если в системе при стандартном пакете у всех устройств будет одни и те-же последние биты и RTR, то можно будет игнорировать эту проблему. Проще говоря если арбитраж произойдет ранее чем передача последнего бита и RTR, то проблема не возникает.

Автор:  vasili [ 2014-сен-24 16:23 ]
Заголовок сообщения:  Re: Найденные недоработки в 1986ВЕ1 (errata)

Andrey писал(а):
Новая версия Errata от 20/06/2014
Замечание к ошибке 20.
При установке CPU_C3_SEL[3:0] = 1000b программный сброс (вызов NVIC_SystemReset()) приводит к зависанию МК.

Автор:  Andrey [ 2014-сен-25 09:02 ]
Заголовок сообщения:  Re: Найденные недоработки в 1986ВЕ1 (errata)

vasili писал(а):
Andrey писал(а):
Новая версия Errata от 20/06/2014
Замечание к ошибке 20.
При установке CPU_C3_SEL[3:0] = 1000b программный сброс (вызов NVIC_SystemReset()) приводит к зависанию МК.
Сброс настройки возможен только через сигнал сброса всей микросхемы (внешний сброс с вывода), программный не сбрасывают всю микросхему

Автор:  vasili [ 2014-сен-25 11:41 ]
Заголовок сообщения:  Re: Найденные недоработки в 1986ВЕ1 (errata)

Andrey писал(а):
Сброс настройки возможен только через сигнал сброса всей микросхемы (внешний сброс с вывода), программный не сбрасывают всю микросхему
Пожалуйста поясните, что значит не сбрасывает всю. Можете сказать какие "части" микросхемы сбрасываются, а какие нет?
P.S. В описании к ошибке 20 не сказано, что сброс должен быть внешним.

Автор:  Andrey [ 2014-сен-25 16:42 ]
Заголовок сообщения:  Re: Найденные недоработки в 1986ВЕ1 (errata)

vasili писал(а):
Andrey писал(а):
Сброс настройки возможен только через сигнал сброса всей микросхемы (внешний сброс с вывода), программный не сбрасывают всю микросхему
Пожалуйста поясните, что значит не сбрасывает всю. Можете сказать какие "части" микросхемы сбрасываются, а какие нет?
P.S. В описании к ошибке 20 не сказано, что сброс должен быть внешним.
Программный сброс сбрасывает прежде всего ядро. Настройки частот он не сбрасывает.

Страница 2 из 4 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/