07.02.2015, 21:10
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Угу, а ПЛК не на МК и ПЛК вообще вечное, априори.
Посмеялся.
|
|
|
|
07.02.2015, 22:06
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Easyrider83
|
с директором завода
|
Начали с концевиков линейных трансляторов и Холлов турелей спектрографа, а закончили заводом =D
Я, кстати, собираюсь-таки один вход (сигнал управления затвором от ПЗС-системы) таки на прерывание повесить, чтобы гарантировать постоянство задержки да и вообще минимизировать ее. Хотя, не спорю, что несколько сот микросекунд ошибки относительно общего времени экспозиции в несколько минут — капля в море. Зато проще обработка: по переднему фронту открыл затвор, по заднему закрыл. А в случае КА нужно вводить переменные состояния... У меня и так этих КА уже черт-те сколько (внешний АЦП, 2 UART'а, USB, 5 шаговых двигателей, затвор на TLE5205, подогреватель на UPS5451, 1-wire термометры), скоро, наверное, утону в своем быдлокоде.
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
08.02.2015, 21:01
|
|
Прописка
Регистрация: 17.10.2010
Сообщений: 113
Сказал спасибо: 2
Сказали Спасибо 20 раз(а) в 12 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от STM32F0
|
Так и не понял, с чем вы согласны?
|
с тем, что опрос на прерываниях не айс. Если есть возможность отказа МК - необходимо дублировать защиты. А если нужна реакция именно на хардварное прерывание, а оно - одно, то заводим все три защиты через диодную развязку или логику на один вход прерывания, и параллельно - на дополнительные два или три входа GPIO. При обработке прерывания - первым делом проверяем, что его вызвало и реагируем соотв. образом. Количество ног - то же самое, время реакции - больше на опрос причины срабатывания прерывания.
Последний раз редактировалось avtoneru; 08.02.2015 в 21:04.
|
|
|
|
08.02.2015, 21:47
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от avtoneru
|
с тем, что опрос на прерываниях не айс.
|
Угу, поллинг рулит, да?
Или HAL настолько тупой, что не справится? А может примеров нет?
Цитата:
|
Если есть возможность отказа МК - необходимо дублировать защиты.
|
Каким боком здесь дублирование? Хоть троирование!
Цитата:
|
А если нужна реакция именно на хардварное прерывание, а оно - одно, то заводим все три защиты через диодную развязку или логику на один вход прерывания, и параллельно - на дополнительные два или три входа GPIO. При обработке прерывания - первым делом проверяем, что его вызвало и реагируем соотв. образом. Количество ног - то же самое, время реакции - больше на опрос причины срабатывания прерывания.
|
Это и есть универсальное решение на все случаи жизни? Не густо!
Последний раз редактировалось STM32F0; 08.02.2015 в 21:49.
|
|
|
|
08.02.2015, 22:41
|
|
Гражданин KAZUS.RU
Регистрация: 03.07.2010
Сообщений: 843
Сказал спасибо: 156
Сказали Спасибо 378 раз(а) в 190 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от avtoneru
|
с тем, что опрос на прерываниях не айс. Если есть возможность отказа МК - необходимо дублировать защиты. А если нужна реакция именно на хардварное прерывание, а оно - одно, то заводим все три защиты через диодную развязку или логику на один вход прерывания, и параллельно - на дополнительные два или три входа GPIO. При обработке прерывания - первым делом проверяем, что его вызвало и реагируем соотв. образом. Количество ног - то же самое, время реакции - больше на опрос причины срабатывания прерывания.
|
И в чём великий смысл опроса в цикле, а не по прерыванию? Какая разница, откуда передать управление с цикла опроса или из процедуры прерывания? У нас же не много поточность, с много ядреностью. Программа как выполнялась оператор за оператором, так и продолжит выполняться.
|
|
|
|
08.02.2015, 22:47
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Нет смысла использовать прерывания. Опрос пинов - задача не быстрая. Сидит в отдельном потоке в RTOS и с определенным интервалом читает состояние порта.
Прерывания - это вообще такая штука, которой не разбрасываются. Вы перешли на ARM, а в голове еще AVR.
|
|
|
|
08.02.2015, 23:03
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Easyrider83
|
Нет смысла использовать прерывания. Опрос пинов - задача не быстрая. Сидит в отдельном потоке в RTOS и с определенным интервалом читает состояние порта.
|
С какого перепуга? В одних случаях время не важно, в других играет роль.
А вам бы всё ногами по привычке дрыгать.
Цитата:
|
Прерывания - это вообще такая штука, которой не разбрасываются. Вы перешли на ARM, а в голове еще AVR.
|
Чушь! Это как раз у АВР замшелая организация прерываний, а здесь всё путём! Приоритеты зря придумали? Да и переход из прерывания в прерывание короче по времени.
Или просто ужас от одного прерывания в ПИК16 остался и довлеет?
|
|
|
|
08.02.2015, 23:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от avtoneru
|
с тем, что опрос на прерываниях не айс. Если есть возможность отказа МК - необходимо дублировать защиты. А если нужна реакция именно на хардварное прерывание, а оно - одно, то заводим все три защиты через диодную развязку или логику на один вход прерывания, и параллельно - на дополнительные два или три входа GPIO. При обработке прерывания - первым делом проверяем, что его вызвало и реагируем соотв. образом. Количество ног - то же самое, время реакции - больше на опрос причины срабатывания прерывания.
|
Смотрю, прямо революция в вычислительных системах назревает.
Вы историю этак тридцатилетней давности почитайте, как это всё было организовано и как работало, узнаете много нового. ![Смешно](images/smilies/icon_lol.gif)
Когда прерываний было всего 2, одно маскируемое, а второе - немаскируемое, а контоллер прерываний был внешним.
Нынешние МК умеют генерировать прерывания практически по любому чиху.
|
|
|
|
09.02.2015, 08:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.03.2007
Сообщений: 1,359
Сказал спасибо: 85
Сказали Спасибо 613 раз(а) в 371 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Easyrider83
|
Нет смысла использовать прерывания.
|
Вспомнилось - одну демку видел от NXP. Там основной цикл состоял из while (1);
Все остальное делалось в прерываниях
|
|
|
|
09.02.2015, 09:49
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от pambaru
|
Там основной цикл состоял из while (1);
|
Годится только для элементарных задач. Если у вас там штуки 3 конечных автомата + передача данных по всяким разным портам, то вряд ли взлетит.
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:18.
|
|