Миландр

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

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




Начать новую тему Ответить на тему  [ Сообщений: 242 ]  На страницу Пред.  1 ... 9, 10, 11, 12, 13, 14, 15 ... 17  След.
Автор Сообщение
СообщениеДобавлено: 2014-май-26 13:32 
Не в сети

Зарегистрирован: 2012-фев-27 14:37
Сообщения: 44
prostoRoman писал(а):
Вы немного опоздали - спеку обновили 12 мая http://milandr.ru/index.php?mact=Produc ... eturnid=68

это Вы к чему? ...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-май-30 18:33 
Не в сети

Зарегистрирован: 2012-дек-11 21:35
Сообщения: 170
Откуда: Казань
Стр. 284, раздел: "Внешний тактовый сигнал «Режим 1». События на линиях TxCHO данного счетчика".
"... Счетчик может считать по положительному фронту или по отрицательному фронту на выбранном входе или по положительному фронту на других каналах..."

Счетчик считает только по переднему фронту. Биты CHSEL[1:0] регистра MDR_TIMERx->CHy_CNTRL не имеют значения.
Канал таймера работает с битами CHSEL[1:0] только в режиме захвата, генерируя прерывание по соответствующему фронту.

П.С.: ошибка описания или работы МК?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-июн-03 11:50 
Не в сети

Зарегистрирован: 2010-авг-30 19:12
Сообщения: 438
Цитата:
Вы немного опоздали - спеку обновили 12 мая http://milandr.ru/index.php?mact=Produc ... eturnid=68

Но ДМА для АЦП не внесли.
По USB есть мелкое замечание. Регистр MDR_USB->SFN нечетко расписан. 10-битный номер пакета SFN формируется при чтении двух регистров, причем адрес младшего и старшего регистров перепутаны. В младшем регистре используется 8 бит, в старшем 4. Причем однажды я уже это указывал.
По таймеру тоже есть нестыковка при описании режима ШИМ. Реально работающий код немного противоречит описанию (точно не помню что именно, надо найти в проекте).
Так что ждем еще одной ревизии.

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-июн-03 12:01 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1323
Откуда: Тула
Хм... А может отдать документацию на сопровождение самими пользователями? Раз уж у компании нет больше возможности поддерживать её самостоятельно, а категория пользователей этой продукции такая специфичная может себя хорошо проявит принцип open source?
То же относится и к примерам, и к стандартной библиотеке.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-июн-06 08:57 
Не в сети

Зарегистрирован: 2012-мар-19 15:02
Сообщения: 9
с.330


Вложения:
2014-06-06 09_54_47-spec_seriya_1986BE9x.pdf - Adobe Reader.jpg
2014-06-06 09_54_47-spec_seriya_1986BE9x.pdf - Adobe Reader.jpg [ 53.31 КБ | Просмотров: 11852 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-авг-04 10:30 
Не в сети

Зарегистрирован: 2013-июл-03 12:45
Сообщения: 62
ТСКЯ.431296.001СП версия 3.5.0 от 07.07.2014 (spec_seriya_1986BE9x.pdf)
страница 301 Описание бит регистра CHy_CNTRL
биты 11…9 OCCM[2:0] Формат выработки сигнала REF в режиме ШИМ если CCR1_EN = 0:

Вопросы:

1) формат 011 - как узнать (управлять) фазу переключения Ref?
2) формат 110 – текущий текст
1, если DIR= 0 (счет вверх), CNT<CCR, иначе 0;
0, если DIR= 1 (счет вниз), CNT<CCR, иначе 1;
по осциллографу вижу, что следует читать
1, если DIR= 0 (счет вверх), CNT>CCR, иначе 0;
0, если DIR= 1 (счет вниз), CNT<CCR, иначе 1 ???


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-авг-04 10:58 
Не в сети

Зарегистрирован: 2010-авг-30 19:12
Сообщения: 438
Цитата:
1, если DIR= 0 (счет вверх), CNT<CCR, иначе 0;
0, если DIR= 1 (счет вниз), CNT<CCR, иначе 1;
по осциллографу вижу, что следует читать
1, если DIR= 0 (счет вверх), CNT>CCR, иначе 0;
0, если DIR= 1 (счет вниз), CNT<CCR, иначе 1 ???

Кажется эту нестыковку я пару лет назад и указывал (в посте чуть выше упоминается).
Узнать фазу сигнала REF можно по флагу STATUS биты 9..12.
Я так ФЧВ привязывал.

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-авг-04 11:26 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 706
Откуда: г. Санкт-Петербург
detoxic писал(а):
ТСКЯ.431296.001СП версия 3.5.0 от 07.07.2014 (spec_seriya_1986BE9x.pdf)
страница 301 Описание бит регистра CHy_CNTRL
биты 11…9 OCCM[2:0] Формат выработки сигнала REF в режиме ШИМ если CCR1_EN = 0:

Вопросы:

1) формат 011 - как узнать (управлять) фазу переключения Ref?
2) формат 110 – текущий текст
1, если DIR= 0 (счет вверх), CNT<CCR, иначе 0;
0, если DIR= 1 (счет вниз), CNT<CCR, иначе 1;
по осциллографу вижу, что следует читать
1, если DIR= 0 (счет вверх), CNT>CCR, иначе 0;
0, если DIR= 1 (счет вниз), CNT<CCR, иначе 1 ???

У меня на МК 1986ВЕ1Т как в документации:
формат 110
1, если DIR= 0 (счет вверх), CNT<CCR, иначе 0.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-авг-04 12:11 
Не в сети

Зарегистрирован: 2013-июл-03 12:45
Сообщения: 62
настройка такая
#define core_freq 80000 /*!< кГц. Системная частота */
#define invertor_freq 16 /*!< кГц. Частота ШИМ в инверторе */
#define top_timer core_freq/invertor_freq/2 /*!< импульсов. Конфигурация предела счета таймера */
#define half_period_pwm top_timer/2 /*!< импульсов. Половина периода таймера */

MDR_TIMER3->ARR = top_timer; // Основание счета
МDR_TIMER3->CNTRL = 0x00000041; // Счет вверх/вниз по TIM_CLK, DIR 0 - вверх и разрешить работу таймера.
MDR_TIMER3->CCR3 = half_period_pwm;
MDR_TIMER3->CH3_CNTRL = 0x00000C00; // 0x00000C00 формируем REF прямо или 0x00000E00 инверсно
MDR_TIMER3->CH3_CNTRL1 = 0x00000909; // 0x00000909 для REF или 0x00000D0D для DTG
MDR_TIMER3->CH3_CNTRL2 = 0x00000008; ///< момент обновления CCR

и по факту на 80 мГц создается ШИМ 16кГц, а если смотреть как написано в доке, то частота ШИМ в два раза чаще должна получаться.

редактор писал(а):
Цитата:
Узнать фазу сигнала REF можно по флагу STATUS биты 9..12.

как узнать, если там все время 1 стоит,
это я должен постоянно ее в 0 скидывать в рукопашную, чтоб потом поймать момент когда она в 1 встанет?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-авг-04 13:23 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 706
Откуда: г. Санкт-Петербург
detoxic писал(а):
настройка такая...

1.Проверил с Вашими настройками на ВЕ92У (использовал Timer 2). Независимо от направления счета при формате 110
ref = 1 если CNT<CCR, иначе 0;
2. изначально по сбросу ref = 0. Если реагировать на все прерывания по CNT= CCR, то можно знать текущее значение ref.
У нас при центрированном ШИМ при формате 011 и счете вверх/вниз ref = 1 при CNT >= CCR(счет вверх) и ref = 0 при CNT <= CCR(счет вниз)
P.S. Попутно обнаружил, что режимы работы в части формирования ref не зависят от состояния DIR?.


Последний раз редактировалось vasili 2014-авг-04 13:54, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-авг-04 13:42 
Не в сети

Зарегистрирован: 2013-июл-03 12:45
Сообщения: 62
vasili писал(а):
У нас при центрированном ШИМ при формате 011 и счете вверх/вниз ref = 1 при CNT >= CCR(счет вверх) и ref = 0 при CNT <= CCR(счет вниз)

я про это же,а в доке по другому написано.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-авг-04 14:04 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 706
Откуда: г. Санкт-Петербург
detoxic писал(а):
vasili писал(а):
У нас при центрированном ШИМ при формате 011 и счете вверх/вниз ref = 1 при CNT >= CCR(счет вверх) и ref = 0 при CNT <= CCR(счет вниз)

я про это же,а в доке по другому написано.

формат 011 (используем при центрированном ШИМ, счет вверх/вниз) - переключение ref при CNT = CCR
формат 110 (используем при обычном ШИМ, счет вверх) ref = 1 при CNT<CCR.
По моему мнению здесь нет противоречия с документацией.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-авг-04 14:54 
Не в сети

Зарегистрирован: 2013-июл-03 12:45
Сообщения: 62
формат 110 – текущий текст
1, если DIR= 0 (счет вверх), CNT<CCR, иначе 0;
0, если DIR= 1 (счет вниз), CNT<CCR, иначе 1;

на пиле центрированного шима этот текст из доки описывает сигнал с частотой в два раза чаще чем шим.


Вложения:
шимы.png
шимы.png [ 16.45 КБ | Просмотров: 11724 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-авг-04 16:03 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 706
Откуда: г. Санкт-Петербург
после reset, инициализации портов, HCLK и тактирования перифирии :

MDR_TIMER_TypeDef* timer;
timer = MDR_TIMER2;
timer->ARR = 0xff;
timer->CCR2 = 0xc0;
timer->CH2_CNTRL = (6<<9); //ref cnt < ccr - формат 110
timer->CH2_CNTRL1 = (1<<0)|(2<<2); //ref out
timer->CNTRL = (1<<6 )|(1<<0); //timer2 0n up/down

на осциллографе на выводе PA3 наблюдаю ШИМ с периодом (timer->ARR+1)*2 и скважностьо 75% (1-75%, 0-25%), т.е. на пиле с центрированном ШИМ ref = 1 при cnt < ccr.
если timer->CNTRL = (1<<0);, то период ШИМ (timer->ARR+1), скважность та же.
Как писал выше на состояние REF значение DIR не влияет, здесь возможно ошибка в документации.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2014-сен-29 20:54 
Не в сети

Зарегистрирован: 2012-дек-11 21:35
Сообщения: 170
Откуда: Казань
Техническое описание на серию 1986ВЕ9х от 7.08.2014 блок SSP:
стр 365 : RXIM - Маска прерывания по заполнению на 50% и менее буфера FIFO приемника;
стр 368 : SSPRXINTR - Прерывание по заполнению буфера FIFO приемника формируется в случае, если буфер
приемника содержит четыре или более несчитанных слов данных.
Какое-то не соответствие. Как есть правильно?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 242 ]  На страницу Пред.  1 ... 9, 10, 11, 12, 13, 14, 15 ... 17  След.

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


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

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


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

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