Прерывания в МК., Нужно ли их бояться? |
Здравствуйте, гость ( Вход | Регистрация )
Прерывания в МК., Нужно ли их бояться? |
21.6.2010, 22:37
Сообщение
#21
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
|
|
|
28.6.2010, 20:37
Сообщение
#22
|
|
сундук Группа: Пользователи Сообщений: 4043 Регистрация: 21.11.2009 Из: Ростов-на Дону Пользователь №: 15 |
Я долго думал там (с) На что конкретно менять ? Так чтобы тридцатидвухбитник, с CAN, UART, тремя (четырмя) каналами PWM (PLL64MHz), одним-двумя DAC от 1 MHz, не говоря уж об ADC с дифференциальными в т.ч. входами, и входом/выходом опорника. Пинов поменьше, напряжение повыше, частоту побольше, встроенные флэш и озу конечно. Все, что могу. Есть все вышеперечисленное за исключением DAC. Вот цена. Правда, кроме этого - USB OTG и Ethernet и CAN-ов с аппаратной поддержкой DeviceNet 2шт. А так же часы/календарь. Ну и ядро MIPS32 M4K с MIPS16e и сопроцессором 0-го уровня. Если хотите, у меня есть все материалы по ним. |
|
|
28.6.2010, 20:58
Сообщение
#23
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
Все, что могу. Есть все вышеперечисленное за исключением DAC. Вот цена. Правда, кроме этого - USB OTG и Ethernet и CAN-ов с аппаратной поддержкой DeviceNet 2шт. А так же часы/календарь. Ну и ядро MIPS32 M4K с MIPS16e и сопроцессором 0-го уровня. Если хотите, у меня есть все материалы по ним. а мне чего-то приглянулись для моих скромных потребностей 16F и даже 12F ... вроде ничего особо страшного и нету на самом деле, ну чуть внимательнее придется быть, да ведь и по любому надо... Так что вскорости, наверное, открою еще одну тему - когда включать первый раз буду. Чтобы за спиной постояли профи. пока страшновато, разбираюсь с хедерами или как там называется этот файл настроек контроллера... И опять же, куда там подключать какие ноги от PICKIT3 (оказывается, от второго не сильно отличается...) |
|
|
29.6.2010, 15:44
Сообщение
#24
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
Вот насчет небоязни прерываний: (это, кстати, одна из причин, что не раз читал про МК, но только сейчас собрался применить все таки...)
http://electronix.ru/forum/index.php?showt...15&start=15 Цитата Ну, я рад за вас. Выбросы происходят из-за того самого "нюанса", который теперь стоит обсудить. Дело в том, что между считыванием ICR1 и считыванием nover есть временной зазор, если прерывание TOV1 попадёт на него, то nover изменится на 1, хотя не должно. Вот такой нюанс. Подумайте сами, как его можно разрешить, завтра обсудим. Кстати, нельзя ли взглянуть на схему генератора струны?
|
|
|
29.6.2010, 19:58
Сообщение
#25
|
|
сундук Группа: Пользователи Сообщений: 4043 Регистрация: 21.11.2009 Из: Ростов-на Дону Пользователь №: 15 |
Вот насчет небоязни прерываний: (это, кстати, одна из причин, что не раз читал про МК, но только сейчас собрался применить все таки...) http://electronix.ru/forum/index.php?showt...15&start=15 Это проблема только для AVR. У PIC-ов есть аппаратные измерители как временных интервалов (CTMU), так и числа импульсов в единицу времени. |
|
|
29.6.2010, 20:50
Сообщение
#26
|
|
сундук Группа: Пользователи Сообщений: 4043 Регистрация: 21.11.2009 Из: Ростов-на Дону Пользователь №: 15 |
|
|
|
29.6.2010, 21:00
Сообщение
#27
|
|
сундук Группа: Пользователи Сообщений: 4043 Регистрация: 21.11.2009 Из: Ростов-на Дону Пользователь №: 15 |
|
|
|
29.6.2010, 23:00
Сообщение
#28
|
|
сундук Группа: Пользователи Сообщений: 4043 Регистрация: 21.11.2009 Из: Ростов-на Дону Пользователь №: 15 |
На первый взгляд так и называется. Но лениво вчитываться. В общем, если и сравнивать мегу с пиком, то в пике помнится есть прескалер, а в меге нет. Что не/позволяет иметь на входе частоту повыше. С другой стороны, кажется он есть в каких-то тиньках. Я имел в виду модуль ССР или ЕССР для PIC-ов. Там уже все аппаратно. А в 24-х PIC-ах там еще и свой таймер. И таких модулей на борту до 9-ти штук. Есть так же CTMU - измеритель временных интервалов либо на внутренней калиброванной емкости, либо на внешней, либо на той и другой. |
|
|
30.6.2010, 5:48
Сообщение
#29
|
|
посіпака Хунти Группа: Мод Сообщений: 20016 Регистрация: 21.11.2009 Из: Vinnitsa Пользователь №: 11 |
|
|
|
30.6.2010, 10:23
Сообщение
#30
|
|
посіпака Хунти Группа: Мод Сообщений: 20016 Регистрация: 21.11.2009 Из: Vinnitsa Пользователь №: 11 |
Что да, то да.
В яхугруппе по LPC900 всего 4 сотни народу, со всего шарика. Большей частью студиозусы. Скучно там. |
|
|
Гость_MrYuran_* |
30.6.2010, 10:34
Сообщение
#31
|
Гости |
|
|
|
30.6.2010, 11:49
Сообщение
#32
|
|
посіпака Хунти Группа: Мод Сообщений: 20016 Регистрация: 21.11.2009 Из: Vinnitsa Пользователь №: 11 |
Аналогичная политика в отношении 8-битников сейчас у Freescale, но что-то ажиотажу не наблюдается (Китай исключение, но они там всеядны ).
|
|
|
Гость_MrYuran_* |
30.6.2010, 12:28
Сообщение
#33
|
Гости |
Аналогичная политика в отношении 8-битников сейчас у Freescale, но что-то ажиотажу не наблюдается (Китай исключение, но они там всеядны ). А накой они нынче нужны? Старые, ещё понятно, по инерции. А в новые проекты я бы не стал 8-битники закладывать. Ну разве что разную интересную ыгзотику типа СиЛабс (жутко разогнатое 51 ядро плюс интересная аналоговая периферия, плюс полная кросс-матрица на все ноги) Тем более что начальные кортексы от 50р стоят. Даже МСП у нас уже чисто по инерции, скорее из нежелания плодить номенклатуру (в портативных батареечных приборах альтернативы нет) И то переходим на более новое поколение (2хх), старые уже не достать, а цена одинаковая |
|
|
Гость_MrYuran_* |
30.6.2010, 12:34
Сообщение
#34
|
Гости |
|
|
|
30.6.2010, 13:30
Сообщение
#35
|
|
посіпака Хунти Группа: Мод Сообщений: 20016 Регистрация: 21.11.2009 Из: Vinnitsa Пользователь №: 11 |
Так чтоб сразу взять - 15.
|
|
|
30.6.2010, 22:23
Сообщение
#36
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
Хорошо, давайте задачу. Вот типовая, поэтому несколько искусственная. Имеется источник питания, управляемый ШИМ каналом. ЖКИ индикатор в две строки, где пользователь может задать выходное напряжение, ток защиты, тип защиты и еще ряд параметров. Так же он может посмотреть выходное напряжение, ток нагрузки и может чего еще. Для этого есть кнопки. Их количество каждый определяет для себя сам. Тут же имеется связь с PC или PLC по RS485 полудуплекс. Для данной задачи подходов просто масса. В частности - сопрограммы а-ля Protothreads могут вообще поднять систему безо всяких прерываний. Главные проблемы наступают, когда надо делать точные временные интервалы. |
|
|
1.7.2010, 0:11
Сообщение
#37
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
STM напрашивается сам собой, единственный минус - я не вижу у него компаратор. В общем, кто знает, в чем под него писать ? При мегасемпловом и быстреньком ядре АЦП среднепаршивый компаратор уже не нужен. В чем писать: Гнусь все-таки рулит аж бегом. Для любителей ИДЕ. |
|
|
1.7.2010, 19:54
Сообщение
#38
|
|
сундук Группа: Пользователи Сообщений: 4043 Регистрация: 21.11.2009 Из: Ростов-на Дону Пользователь №: 15 |
При мегасемпловом и быстреньком ядре АЦП среднепаршивый компаратор уже не нужен. В чем писать: Гнусь все-таки рулит аж бегом. Для любителей ИДЕ. А можно поподробнее про этот СооСох? Отзывы, комментарии, примеры использования... А так же личные наблюдения. Если, конечно, возможно. Если там все так радужно, как описано, то это представляет несомненный интерес. Поскольку писать Make файлы можно, но лень... И, к стати, не нашел СооСох симулятора. Его нет, что ли? Вот еще одна среда программирования. Кто что скажет? |
|
|
1.7.2010, 23:31
Сообщение
#39
|
|
Активный участник Группа: Пользователи Сообщений: 2220 Регистрация: 26.5.2010 Из: Московская обл. Пользователь №: 165 |
Прерывания в МК., Нужно ли их бояться? Не нужно.Более того - нельзя. Без прерываний невозможно збацать реал-тайм систему. Ну, кроме самой примитивной. Собственно, система прерываний процессора предназначена для того, чтобы вовремя реагировать на происходящие вовне события. Правда, история знает весьма успешные проЭкты, где прерывания не использовались. Но об этом лучче умолчим, потому как они были, в основном, - от бедности, и требовали "высшего пилотажа" при написании ПО. Про автоматы, работающие по прерываниям. Верно.ПМСМ, это наиболее правильная методика. Прерывания позволяют экономить кучу ресурса (как аппаратно-программного, так и умственного). В качестве примера, можно привести несложную ОС реального времени, написанную нашим общим хорошим знакомым. Имя ей - scmRTOS. Поддержка множества интерфейсов, коими оброс ныне любой уважающий себя микроконтроллер, крайне затруднительна без прерываний. В задачах обработки сигнала без них жизни ващще нет. Нет. Но _вместо_ прерываний предпочел бы иметь несколько ядер(алу) и работать по опросу. Мысль не правильная.Имея только одно ядро, по мере поступления запросов (прерываний), я имею возможность обслуживать всех, кто этого требует. Не затрачивая времени на пустое ожидание. Прерывания, как и организация многозадачности на одном ядре жрет очень много времени (и вычислительного ресурса, если часто) на переключение контекстов. В режиме опроса задержки минимальны, а так же можно орагнизовать точные временные процессы. Чушь.Всё с точностью до наоборот. Научитесь сперва ощипывать цыплят перед пожиранием. А потом поговорим о вкусах. Сообщение отредактировал Stanislav_GS - 1.7.2010, 23:55 |
|
|
1.7.2010, 23:44
Сообщение
#40
|
|
Активный участник Группа: Пользователи Сообщений: 2220 Регистрация: 26.5.2010 Из: Московская обл. Пользователь №: 165 |
Вообще, фраза была про несколько ядер, так что не понятно, с чем вы спорите. А зачем нужны несколько ядер, которые будут только и делать, что ждать, ежли можно поиметь одно, которое будет обслуживать запросы из внешнего мира по мере поступления и приоритета?...Во-вторых, даже на одном ядре можно обслужить всех, не затрачивая времени на пустое ожидание (с). Но это, конечно, требует "высшего пилотажа" при написании ПО (с) Поверьте, это не так.Современные микроконтроллеры имеют развитую аппаратную систему поддержки внешних событий. Более того, в ЯВУ интегрированы макросы и примитивы для удобного рулежа системой прерываний любого МК. Хотя, я предпочитаю писать такие весчи на АСМе. Получается компактно и красяво. Сообщение отредактировал Stanislav_GS - 1.7.2010, 23:52 |
|
|
Текстовая версия | Сейчас: 29.3.2024, 13:40 |