Модераторы: PILOT, ManiaK, Mazzi

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Индикатор импульсных помех, Маленкий переносной с ЖКИ 
:(
    Опции темы
jimmi
Дата 31.3.2005, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 16:26
PM MAIL   Вверх
PILOT
Дата 31.3.2005, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Я рекомендую сделать это на ПЛИС.
У меня есть счетчик импульсов (отлов глитчей) но схему найти не смог smile
Смысл там прост:
на входе резистор через диод на землю, сигнал берем между резистором и диодом, на вход плис.
Далее, в ПЛИС реализован счетчик (8 триггеров), и преобразователь числа в Семисегментный код.
Итог, прикасаюсь к отлаживаемой схеме и жду набежит чтонить или нет.

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
jimmi
Дата 31.3.2005, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 16:26
PM MAIL   Вверх
PILOT
Дата 31.3.2005, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Никак...
Просто программно в теле прерывания разрешать прерывания (вложенные прерывания получаются).

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
jimmi
Дата 11.7.2005, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 16:27
PM MAIL   Вверх
PILOT
Дата 11.7.2005, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Если ты подцепил кварц, то считай на здоровье себе время там же (таймер сделай на 1 мс, а там увеличивай 5-ти байтную переменную, на всю жизнь хватит smile ), это я к тому что нафиг еще один контроллер?

СУВ.




--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
jimmi
Дата 12.7.2005, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 16:28
PM MAIL   Вверх
PILOT
Дата 12.7.2005, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



inc не трогает перенос! Будь осторожен!
Во-вторых не стоит прыгать с таблицы прерываний куда-то! Время дорого.
И еще в этом обработчике не стоит проверять переполняемость, лучше сделать так чтобы гарантированно int0 не смог вызваться более 255 раз без выполнения в основном цикле сложения накопленного в прерывании числа к общему числу импульсов.

СУВ.



--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
Guest
Дата 12.7.2005, 13:40 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо за подсказку с inc.
Да, время дорого.
На вход счетчика при несущей радиоимпульса 15 мксек за 1мксек с выхода компаратора поступит 15 импульсов. Время паузы 1/30 мксек.
На все про все в теле main_loop и обработке прерывания у меня иммеется 19 тактов при 20МГц тактовой частоты. Это с учетом сброса флага внешнего прерывания инт0. Вопрос первый, где найти таблицу времени выполнения комманд в тактах? Ну я так понял время входа в прерывание 4 такта и время выполнения reti также 4 такта.
Однопроцессорная система никак не получается, т.к. в теле main_loop
придется еще и переменной таймера заниматься. Ну в Атмега 16 есть возможность подключения 2 кварцев, но там только 16 МГц тактовая.
Итак у меня есть 12 тактов на 32 разрядный счетчик из четырех регистров. Хотя нужно только с младшим регистром успеть. Второй разряд переполняется с в 256 раз меньшей частотой. Это заказчик не заметит. smile
Думаю как это сделать.
  Вверх
jimmi
Дата 12.7.2005, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 16:28
PM MAIL   Вверх
jimmi
Дата 12.7.2005, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 16:29
PM MAIL   Вверх
PILOT
Дата 12.7.2005, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Еще раз:

1) Начинай обработку сразу в таблице прерываний, никуда не прыгай. Ты же не используешь других прерываний.
2) время выполнения каждой команды (в тактах) есть например в даташите на мегу128 (гарантированно), в самом конце документа (почти) есть таблица инструкций, последний столбик тебя заинтересует.
3) если за 1 мкс приходит 15 импульсов, то гарантированно ничего не получится хорошего и второй контроллер тебя тоже не спасет. Можно сделать так.
Снаружи поставить быстрый счетчик двоичный (который поделит частоту входных сигналов в 256 раз например, или на меньше), его выход на вход int0 тогда ты гарантированно все подсчитаешь.

По поводу рейтинга тебе нужно набрать 100 сообщений по моему smile т.е. пока никак smile Забей.

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
jimmi
Дата 12.7.2005, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 16:29
PM MAIL   Вверх
jimmi
Дата 12.7.2005, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 16:30
PM MAIL   Вверх
PILOT
Дата 12.7.2005, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Если тебе принципиален каждый импульс, то придется использовать счетчик с последовательным считыванием (я правда не пользовал их).
Если же точности в +-8 импульсов достаточно, то можно сделать так:

Поставь быстрый счетчик, который считает до 16-ти и меняет на выходе состояние (отлавливаем фронт), как только фронт изменился: в контроллере к числу +16 импульсов. Причем погрешность у тебя не набегает, а все время работы остается неизменной, равной по сумме 16-ти.

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
jimmi
Дата 13.7.2005, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 16:30
PM MAIL   Вверх
PILOT
Дата 13.7.2005, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Все так, только зачем ждать 4мкс? Неопределенность возникла бы если бы ты не считывал Q0-Q3 (т.е. использовал только одну ногу от счетчика, ты говорил что ног у тебя мало), а так все правильно!

Выводить на ЖКИ никто не мешает постоянно в общем цикле, так же как и опрашивать клаву.

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
jimmi
Дата 25.7.2005, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 16:31
PM MAIL   Вверх
ManiaK
Дата 26.7.2005, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 2
Всего: 29



Цитата(jimmi @ 25.7.2005, 20:42)
Потанцевать с бубном?

Это и предлагать не надо - этим надо пользоваться smile
PM MAIL WWW   Вверх
jimmi
Дата 26.7.2005, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 16:31
PM MAIL   Вверх
PILOT
Дата 26.7.2005, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Мне то за что спасибо smile Ты ж сам все сделал! smile

СУВ.
ЗЫ. Репу ты уже можешь другим менять сам (по-моему).



--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
jimmi
Дата 26.7.2005, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 16:31
PM MAIL   Вверх
cardinal
Дата 26.7.2005, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



jimmi, как ты делал пункты 9 и 10? Если можно то с кусочком схемы, плиз. Можно screenshot smile
Просто интересно как это реализовано...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
jimmi
Дата 26.7.2005, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 16:35
PM MAIL   Вверх
jimmi
Дата 1.8.2005, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 16:36
PM MAIL   Вверх
cardinal
Дата 1.8.2005, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



У меня был таймер (процедура обработки прерывания) вот так сделан:
Код

void timer1ms_isr (void) interrupt 3 using 1       // Timer 1
{
   TR1 = 0;      // stop Timer 1
   TL1 = STL1;             
   TH1 = STH1;
   TR1 = 1;      // run Timer 1
   if(iCtr1ms_g)                             
      iCtr1ms_g--;
}

То есть каждый раз попадая сюда, я выключал таймер, засовывал в него новые значения отсчета, потом включал таймер. Если при это глобальная переменная iCtr1ms_g не равна нулю (= кто-то сказал, что надо ждать столько то ms), то из нее вычитаем 1.
Больше ничего как видишь не делал, не CLI, не SEI...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
PILOT
Дата 1.8.2005, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Цитата(jimmi @ 1.8.2005, 06:25)
to PILOT
помнишь этот парень делал частотомер и у него неправильно шло время в процессоре?
http://forum.vingrad.ru/index.php?showtopic=38738&st=15
В этой статье написано про два типа прерываний у АТМЕЛ
http://www.compitech.ru/html.cgi/arhiv/03_04/stat_112.htm
Цитата
При входе в прерывние бит общего разрешения прерываний сбрасывается и все прерывания запрещаются. В программе-обработчике прерывания можно снова установить этот бит, и, таким образом, вновь разрешить прерывания. В этом случае вновь поступившее прерывание останавливает работу обработчика текущего прерывания. Бит общего разрешения прерываний устанавливается при выходе из прерывания. Существует два типа прерываний. Первый тип — триггерный, при этом устанавливается флажок прерывания. Второй тип прерываний не имеет соответствующего флажка, и такое прерывание может быть потеряно, если в это время бит общего разрешения прерываний был сброшен. Для запрещения и разрешения прерываний в системе команд есть соответствующие инструкции — CLI и STI.


типа РЕАЛ ТАЙМ и когда флаг теряется.
Собака роется имеено тут, нужно правильно расставлять CLI и SEI.
Вычислил на макете, что за 5 мин таймера1 и частоте внешнего прерывания 62,5 кГц эти 5 мин отсчитываются точно секунда в секунду и ни один импульс не теряется smile

Если случается событие, то устанавливается флаг прерывания и ставится в "очередь" в порядке приоритетов (адресов векторов), обрабатывается как только воявляется возможность (т.е. разрешаются глобально прерывания).

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
jimmi
Дата 1.8.2005, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 16:36
PM MAIL   Вверх
PILOT
Дата 1.8.2005, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



CLI по моему только в UART нужно использовать.

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
jimmi
Дата 1.8.2005, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 1.8.2005, 18:25
PM MAIL   Вверх
PILOT
Дата 1.8.2005, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



А где ж тут прерывания?

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
jimmi
Дата 1.8.2005, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 16:37
PM MAIL   Вверх
cardinal
Дата 1.8.2005, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



Цитата(jimmi @ 1.8.2005, 15:55)
...на одном АВР процессоре.

А это что такое?


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
PILOT
Дата 1.8.2005, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



А кто будет SREG сохранять? Дядя Вася? smile

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
jimmi
Дата 1.8.2005, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.9.2004

Репутация: 5
Всего: 5



smile

Это сообщение отредактировал(а) jimmi - 7.9.2005, 16:37
PM MAIL   Вверх
PILOT
Дата 1.8.2005, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Я так понял, что август пора отпусков и фиг кого соберешь smile

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.1310 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.