Миландр

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

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




Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: 2017-дек-08 23:32 
Не в сети

Зарегистрирован: 2016-окт-14 19:39
Сообщения: 44
Откуда: СПБ
Так и задумано? На прямом выходе канала 1 всегда ноль.
Код:
| (TIMER_CH_OutSrc_Only_0        << 2) // на прямой выход подается "0" (default)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2017-дек-09 22:31 
Не в сети
Аватара пользователя

Зарегистрирован: 2013-июн-21 15:27
Сообщения: 91
Откуда: Новосибирск
Пардон, это просто не весь проект. Там есть разные режимы: на выходе или всегда "0", или трансляция входного импульса, или "1" при работе некоторых функций (независимо от входного импульса). Да, сначала задаётся режим "всегда 0". В данном случае такой режим неинтересен, интересен режим трансляции импульса со входа одного канала на выход другого, при этом, конечно же, в качестве источника выхода канала задаётся REF. Для смены режимов есть отдельная процедура, она очищает поле источника выхода канала и подставляет туда что положено: "всегда 0", "всегда 1" или REF.

Сейчас с таймером осталась одна непонятка: почему когда событием на входе канала назначен положительный фронт, таймер считает по этому фронту как положено, а когда отрицательный - прерывание генерирует, но состояние счётчика не меняется?

_________________
Странник


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2017-дек-10 11:18 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 666
Откуда: г. Санкт-Петербург
stranderer писал(а):
...
Сейчас с таймером осталась одна непонятка: почему когда событием на входе канала назначен положительный фронт, таймер считает по этому фронту как положено, а когда отрицательный - прерывание генерирует, но состояние счётчика не меняется?

Потому что так написано в спецификации.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2017-дек-10 13:45 
Не в сети
Аватара пользователя

Зарегистрирован: 2013-июн-21 15:27
Сообщения: 91
Откуда: Новосибирск
Да, написано. Но это противоречит тому, что изображено далее на рисунках 75 и 76. Там ясно виден детектор фронтов на входе канала и то, что счётчик работает по-разному в зависимости от того, какой из фронтов выбран в качестве события на входе канала. Выглядит так, будто в реализации таймера обнаружилась ошибка, которую исправлять не стали, а вместо этого попытались исправить спецификацию (в более ранней версии было написано, что счётчик может считать как по положительному, так и по отрицательному фронту), но теперь там содержится явное противоречие. Обидно!

Я конечно понимаю, что использовать именно таймер для задачи обнаружения фронтов (и возможности транслировать входной импульс на выход почти без задержки) это несколько странно, но ничего более подходящего (без дополнительной логики на входе и/или выходе МК) я не нашёл :-( К тому же заказчик согласился, что задержка 1 мкс на отрицательном фронте не так критична, как на положительном, так что оставляю всё в таком виде. Жаль только, что обнаружил эту особенность уже после того, как устройство было отдано в производство, ну да ладно, допилим по месту...

В любом случае спасибо всем за содействие, этот вопрос можно считать решённым.

_________________
Странник


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

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


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

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


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

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