реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> минимальный период срабатывания таймера1(2,3) 1986ВЕ1Т, не удаётся сделать меньше 1,5 мкс при HCLK 24MHz
NikP
сообщение Sep 1 2016, 05:40
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944



В МК 1986ВЕ1Т потребовалось генерить интервалы кратные 1 мкс . Чтобы проверить возможность такого процесса в main() оставил только while(1) {}.

Прерывние обрабатывается так:
void TIMER2_Handler ()
{
TIMER2->STATUS =0 ;//сброс события прерывания
PORTD->RXTX = 0xFFFF ;
PORTD->RXTX = 0 ;
}
Однако при значениях TIMER2->ARR меньше 0x00000030 период срабатывания (выход - порт контролирую осциллографом) становится = 1,5 мкс и не меняется.
Явно связано с работой МК, но почему - не понял. Может кто подскажет? Тактовая частота МК 24МГц. Интервал между PORTD->RXTX = 0xFFFF ; и PORTD->RXTX = 0 ; равен 80 нс
Go to the top of the page
 
+Quote Post
ViKo
сообщение Sep 1 2016, 06:01
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Вход в прерывание занимает 12 тактов. И выход тоже столько же, емнип.
Книжки Джозефа Ю описывают нюансы работы Cortex-M.
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Sep 1 2016, 07:37
Сообщение #3


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



Цитата(NikP @ Sep 1 2016, 08:40) *
В МК 1986ВЕ1Т потребовалось генерить интервалы кратные 1 мкс . Чтобы проверить возможность такого процесса в main() оставил только while(1) {}.

если верить описанию мк , у него есть :
имеется до четырёх внешних выводов, соответствующих регистрам
совпадения со следующими возможностями:
- сброс в НИЗКИЙ уровень при совпадении;
- установка в ВЫСОКИЙ уровень при совпадении;
- переключение (инвертирование) при совпадении;
- при совпадении состояние выхода не изменяется;
- переключение при некотором условии.

И эти ножки должны срабатывать без задержек на обработку прерываний. Правда прерывания наверное лучше и не назначать.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Plain
сообщение Sep 1 2016, 08:32
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710



Всё верно, компаратор таймера естественно моментально и абсолютно точно формирует требуемые интервалы, и вопрос только в том, сколько тактов требуется на его (компаратора) каждый раз перепрограммирование, которое с такими хотелками естественно исключает хождение через прерывания.
Go to the top of the page
 
+Quote Post
RuSTA
сообщение Sep 16 2016, 17:39
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 25-10-10
Из: Россия
Пользователь №: 60 410



Не забывайте что, дерганье ногой через порт, происходит по APB шине, следовательно и к ней еще доступ уходит, плюс к этому шины могут работать на разных частотах. Даже если в цикле дрыгать ногой то выше ~1 МГц не подняться. В вышем случае лучше шим настроить.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 9th August 2025 - 18:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01394 секунд с 7
ELECTRONIX ©2004-2016