|
Организация защиты средствами atmega8 |
|
|
|
Aug 4 2008, 09:50
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(PhX @ Aug 4 2008, 12:28)  сколько времени пройдет (тактовая частота 1Мгц) (тактов займет приблизительно) между превышением уровня и установкой нуля на ножке? Если использовать АЦП во free-running режиме, тогда минимальное макс время будет Tпреобразования (1/Fsampling (Fsampling = 15kHz)) + T(приоритетных обработчиков, если есть) + несколько тактов вход в прерывание. Т.е. можно расчитывать на время до 100мкс. Цитата 2.1. Есть ли генератор опорного сигнала для второго входа компаратора или нужно ставить внешний? Можно использовать опорное с ножки Aref включив при этом АЦП с внутренним опорником (но точность этого опорного +/- 10%). Цитата 2.2. Можно ли очень быстро (единицы мкс) установить туже ножку порта, что и в вопросе1, (например PB1) в 0; Можно. Срабатывание компаратора с noise canceller'ом - 4 такта, еще 5 тактов вход в прерывание и установка ножки в 0 + 3 такта макс джиттер. (если в системе будут другие прерывания, нужно учесть и длительность их обработки). По минимуму (если нет других прерываний) время установки 0 на выходе будет 9..12/Fclk.
|
|
|
|
|
Aug 4 2008, 10:01
|
Профессионал
    
Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008

|
1. Надо понимать что измерение каналов АЦП происходит последовательно, т.е. выполняется последовательность: переключение на вход1 - измерение АЦП (время зависит от честоты дискретизации) - прерывание после завершения преобразования АЦП, затем последовательность повторяется для канала 2 и только во втором по счету прерывании надо сравнить значения 2х измерений и принять решение о установке 0 на ножке порта. Еше рекомендуют делать холостое преобразование после переключения канала, чтобы обнулился УВХ.
2.1. В мегах есть источник опорного напряжения, также можно использовать напряжение питания аналоговой части или внешний опорный источник, он одинаков, для АЦП и компаратора, т.е его настройка влияет на них одновременно. 2.2 На частоте 1МГц у вас такт контроллера равен 1мкс, так что установить ножку за единицы мкс врятли возможно, я не гуру в асме, и по-этому не могу прикинуть сколько это займет с тактах, но мне кажется что не меньше 15 тактов. А почему именно 1МГц, встроенный RC генератор может дать до 8МГц, что намного ускорит реакцию на событие.
--------------------
|
|
|
|
|
Aug 4 2008, 12:33
|

Местный
  
Группа: Свой
Сообщений: 473
Регистрация: 10-09-06
Из: Тольятти. Самарская обл.
Пользователь №: 20 249

|
Цитата(defunct @ Aug 4 2008, 14:50)  По минимуму (если нет других прерываний) время установки 0 на выходе будет 9..12/Fclk. Вообще говоря весьма неплохо, учитывая, что частоту можно поднять до 16 Мгц. Однако решил воспользоваться отдельным компаратором, для пущей уверенности. Ответами удовлетворен, всем ответившим спасибо.
--------------------
Если все, то не я...
|
|
|
|
|
Aug 4 2008, 13:43
|

Местный
  
Группа: Свой
Сообщений: 473
Регистрация: 10-09-06
Из: Тольятти. Самарская обл.
Пользователь №: 20 249

|
Цитата(SasaVitebsk @ Aug 4 2008, 18:18)  Вы можете анализировать изменение вашего сигнала по времени. И если скорость нарастания превышает нормальную, то отключать, например, по уровню 97, что, с учётом запаздывания реакции обеспечит отключение во время. Скорость нарастания это производная, а производная это фильтрация, а фильтрация это машинные такты, а лишние машинные такты это выгоревшие части схемы. Анализ хорошо, но иногда оперативность лучше. Вообще с производными лучше не связываться, уж больно загадочные это звери. p.s. Извиняюсь за  про производную.
--------------------
Если все, то не я...
|
|
|
|
|
Aug 4 2008, 16:06
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(PhX @ Aug 4 2008, 16:43)  Вообще с производными лучше не связываться, уж больно загадочные это звери.  Ок, не надо связываться с производными, но 3 ступени защиты лучше чем одна. Цитата Анализ хорошо, но иногда оперативность лучше. Чем плохо, если будет одна ступень защиты с быстрой реакцией, и еще две - с медленной? Кашу маслом не испортишь, можно просигнализировать о наступлении предаварийной ситуации.
|
|
|
|
|
Aug 4 2008, 18:28
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(PhX @ Aug 4 2008, 16:43)  Скорость нарастания это производная, а производная это фильтрация, а фильтрация это машинные такты, а лишние машинные такты это выгоревшие части схемы. Анализ хорошо, но иногда оперативность лучше. Вообще с производными лучше не связываться, уж больно загадочные это звери. p.s. Извиняюсь за  про производную. Фильтрация второго порядка даже на 8МГц вполне укладывается в цикл измерения АЦП. Иными словами Вы получите фильтрованный сигнал с запаздыванием на один отсчёт. Это сотни мкс. Вычислять производную не надо. Если у вас фильтрованный сигнал, то вы всегда можете оценить время нарастания данного сигнала от отсчёта к отсчёту. Если эти данные усреднить, скажем, по 10 выборкам, то вы получите вашу скорость нарастания. Усреднение займёт ~ 15мкс. Цитата ....а фильтрация это машинные такты, а лишние машинные такты это выгоревшие части схемы... Вот именно об обратном идёт речь. То есть если скорость нарастания сигнала превышает допустимую величину, то отключение происходит заранее. В этом весь фокус. Выгорит скорее на компараторе. При высокой скорости нарастания. Но этот алгоритм я привёл наобум. Просто так. Для того, чтобы выработать верный алгоритм надо чётко знать требования и знать поведение сигнала.
|
|
|
|
|
Aug 5 2008, 20:09
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(PhX @ Aug 4 2008, 08:28)  2.2. Можно ли очень быстро (единицы мкс) установить туже ножку порта, что и в вопросе1, (например PB1) в 0; Подумал тут, что если делать по опросу, это займёт от 2 до 5 тактов плюс один такт на установку, т.е. время реакции будет 6 тактов. Или 0,375 мкс для 16 Мгц тактовой частоты.
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Aug 5 2008, 22:08
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(EmbedElektrik @ Aug 5 2008, 20:13)  а может все таки внешний компаратор поставить? Не вопрос конечно... Я помню времена, когда меня на ковёр вызывали за то что я в одном изделии применил 2 микропроцессора.  А на один МК приходилось по 20-50 корпусов простой логики. А 751 однокристалка стоила многие десятки $.  Все эти времена давно канули в лету. Стоимость компаратора 0.5$, стоимость atmega8 - 1$. Я, безусловно не призываю везде ставить МК. Но там, где это предоставляет более широкие возможности - почему бы и нет. Тем более что мне это уже стало привычнее, а результат - гибче, надёжность выше. Так для компаратора, вам придётся применить подстроечный резистор - а это элемент ненадёжности. Для МК можно торировать само значение.
|
|
|
|
|
Aug 25 2008, 12:23
|
Частый гость
 
Группа: Новичок
Сообщений: 83
Регистрация: 25-08-08
Пользователь №: 39 801

|
Цитата(GDI @ Aug 4 2008, 14:01)  Еше рекомендуют делать холостое преобразование после переключения канала, чтобы обнулился УВХ. А что такое "УВХ" ? samle-hold-ёмкость?
|
|
|
|
|
Aug 25 2008, 13:26
|
Частый гость
 
Группа: Новичок
Сообщений: 83
Регистрация: 25-08-08
Пользователь №: 39 801

|
Цитата(GDI @ Aug 25 2008, 15:34)  Устройство Выборки-Хранения - samle-hold по английски. Спасибо.. Понял... А я читал, что вроде холостое преобразование делается только при разрешение АЦП (грубо говоря при включении его питания), а после переключения канала нужно просто подождать (не обязательно при этом делать преобразование) чтоб заряд "стёк" с ёмкости.. Нет?
|
|
|
|
|
Aug 25 2008, 16:14
|
Частый гость
 
Группа: Новичок
Сообщений: 83
Регистрация: 25-08-08
Пользователь №: 39 801

|
Цитата(GDI @ Aug 25 2008, 19:04)  Холостое преобразование надежнее, на мой взгляд, оно гарантировано разрядит емкость, а просто ждать, значит емкость должна разряжаться на входные цепи? А как они выполнены в разных устройствах - неизвестно. Насколько я знаю, то, если не ошибаюсь, входное сопротивление АЦП-входа микроконтроллера сотни (или по-крайней мере, единицы) Мегаом, тогда как выходное сопротивление источника сигнала должно быть не более десятка килоОм.. Это пишет сам же Atmel наверное подразумевая при этом что "sample-hold"-ёмкость должна всё же разряжаться через сопротивление источника сигнала, а не через много сто мегаомовые внутренние цепи микроконтроллера.. Хотя возвожно я и ошибаюсь
Сообщение отредактировал Боинг749 - Aug 25 2008, 16:27
|
|
|
|
|
Aug 25 2008, 16:20
|

Местный
  
Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530

|
Цитата Насколько я знаю, то, если не ошибаюсь, входное сопротивление микроконтроллера сотни Мегаом, тогда как выходное сопротивление источника сигнала должно быть не более десятка килоОм.. Вы про входное сопротивление АЦП авр? так там приблизительно 30К.
--------------------
нельзя недооценивать предсказуемость глупости
|
|
|
|
|
Aug 25 2008, 16:54
|
Частый гость
 
Группа: Новичок
Сообщений: 83
Регистрация: 25-08-08
Пользователь №: 39 801

|
Цитата(sKWO @ Aug 25 2008, 19:20)  Вы про входное сопротивление АЦП авр? так там приблизительно 30К. А как же datasheet? Вот цитата : " RAIN Analog Input Resistance 55 100 MΩ"(с) - взято из datasheet на ATmega8 из"Table 103. ADC Characteristics" Вы не перепутали, случайно, сопртивление ADC-входа и сопротивление подтягивающих резисторов?
Сообщение отредактировал Боинг749 - Aug 25 2008, 16:55
|
|
|
|
|
Aug 25 2008, 17:06
|

Местный
  
Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530

|
Цитата(Боинг749 @ Aug 25 2008, 19:54)  А как же datasheet? Вот цитата :
"RAIN Analog Input Resistance 55 100 MΩ"(с) - взято из datasheet на ATmega8 из"Table 103. ADC Characteristics" Вы не перепутали, случайно, сопртивление ADC-входа и сопротивление подтягивающих резисторов? да, посмотрел ДШ. есть такое, перепутал с тем, что АЦП оптимизирован под выходное сопротивление источника сигнала до десяти килоом Цитата The ADC is optimized for analog signals with an output impedance of approximately 10 k? or less. If such a source is used, the sampling time will be negligible. If a source with higher imped- ance is used, the sampling time will depend on how long time the source needs to charge the S/H capacitor, with can vary widely. The user is recommended to only use low impedant sources with slowly varying signals, since this minimizes the required charge transfer to the S/H capacitor.
--------------------
нельзя недооценивать предсказуемость глупости
|
|
|
|
|
Aug 26 2008, 06:53
|
Профессионал
    
Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008

|
Как работает АЦП точно знает только Атмел, потому и надо делать так как они рекомендуют, а они рекомендую холостое преобразование. Дело в том, что нам неизвестно как там все внутри устроено и не происходит ли так, что если мы ждем, то УВХ конденсатор в этом режиме отключен от мультиплексора и разряжается только на входную цепь АЦП, которая имеет сопротивление, как уже указали, сотни мегаом. А если делать преобразование, то УВХ гарантированно подключится к через внутренний мультиплексор к источнику входного сигнала и уровняет с ним потенциалы, что нам и нужно.
--------------------
|
|
|
|
|
Sep 8 2008, 19:53
|
Частый гость
 
Группа: Новичок
Сообщений: 83
Регистрация: 25-08-08
Пользователь №: 39 801

|
Цитата(GDI @ Aug 26 2008, 10:53)  Как работает АЦП точно знает только Атмел, потому и надо делать так как они рекомендуют, а они рекомендую холостое преобразование. Согласен. Но они говорят его делать только после разрешения АЦП (фактически при подаче питания на модуль АЦП), а не при каждом переключении канала
|
|
|
|
|
Sep 10 2008, 21:15
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 14-12-07
Из: г. Таганрог, Ростовская обл.
Пользователь №: 33 310

|
Человек задал вопрос, и в первых же постах был дан ответ. Необходимо использовать внешние компараторы. Если нужно время срабатывания, то применять микроконтроллер.
Но мне очень понравился ход мыслей остальных участников ! Сразу видно легких путей не ищем.
С ув.
Сообщение отредактировал Ph. Anatoliy - Sep 10 2008, 21:19
|
|
|
|
|
Sep 11 2008, 11:00
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(Ph. Anatoliy @ Sep 11 2008, 00:15)  Человек задал вопрос, и в первых же постах был дан ответ. Необходимо использовать внешние компараторы. Если нужно время срабатывания, то применять микроконтроллер.
Но мне очень понравился ход мыслей остальных участников ! Сразу видно легких путей не ищем.
С ув. Лёгким, является тот путь, который ты знаешь. (Перефразируя) Автор топика получил бы более полный ответ, если бы сформулировал более точно вопрос. Приведу пример. Поставлена задача управлять мощным высоковольтным двигателем постоянного тока. В связи с определёнными проблемами в механике попросили сделать управление двигателем (обработка пускового тока) без МК. То есть плата рядом с двигателем с кнопкой. Туда же заведено управление от МК. Хочешь от кнопки работай - хочешь от МК. Реализовано было на компараторе с резистором. Типа защита срабатывает, - обрубается. Это задумано. А реализация оказалась сложнее в 10 раз и угроблено на это время было - куча. 1) Пришлось аппаратно гасить дребезг кнопки. 2) Пришлось вводить обратную связь, чтобы после выключения транзистора, некоторое время он не включался. 3) Усложнился интерфейс с ведущим процессором. На сегодняшний момент, я бы эту задачу реализовал на какой-нибудь ATMega8. 1) Времени потратил бы в 5 раз меньше. 2) Гашение дребезга программно 3) Разгон-тормажение программно 4) Упростился бы программный интерфейс связи с основным МК. Точнее головной МК просто меньше времени занимался бы управлением, а просто давал бы команды. 5) Физический интерфейс м/у ведущим контроллером и ведомым стал бы более защищённым и цифровым, что явно бы повысило надёжность.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|