|
Устойчивый к ЭМ помехам МК |
|
|
|
 |
Ответов
|
Nov 25 2006, 11:37
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(Woodoo @ Nov 24 2006, 19:05)  Может кто достаточно хорошо знаком не с одним-двумя типами МК, а с побольше. Может кто сможет рекомендовать контроллер, который стоит использовать в системах с жесткой ЭМ обстановкой? Я работал с микроконтроллерами и микропроцессорами порядка 10 типов и абсолютно устойчивых не встречал. Рекомендовать можно соблюдение правил, наиболее близко к моим они изложены в известной статье на Сахаре. Зависимость устойчивости к помехам от типа технологии моим опытом не подтверждена. Про непригодность языка С (да и любого ЯВУ) смешно слушать. Про достаточно простые правила других было бы интересно прочитать.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Nov 25 2006, 13:59
|
Cундук
    
Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269

|
Цитата(Dog Pawlowa @ Nov 25 2006, 11:37)  Про непригодность языка С (да и любого ЯВУ) смешно слушать. Никто не говорит о непригодности С или другого ЯВУ в прямом смысле этого слова. Тут Вы правы - это смешно и глупо. Речь о другом. С и С++ - вещи универсальные. На них можно написать мат. модель транзистора, а можно и базу данных. Но в каждом из этих случаев все-таки лучше пользоваться своими специализированными средствами.: PSpice в первом случае и SQL во втором (просто для примера). Так вот, для программирования задач управления на МК, по моему скромному мнению, нужен свой, в некотором смысле специализированный ЯВУ. Цитата(Dog Pawlowa @ Nov 25 2006, 11:37)  Про достаточно простые правила других было бы интересно прочитать. Вот несколько из них, позаимствованых из практики применения PLC: - программный цикл один, - ссылки назад недопустимы, т. е. программа может выполняться только в одном направлении в пределах цикла, - как следствие, операторы цикла do{ }while( ); for( ; ; )( ); while( ){ } недопустимы. Вообще то, это вопрос более серьезный и, чтобы полностью изложить сей подход надо бы собраться с мыслями...
|
|
|
|
|
Nov 25 2006, 15:30
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(Прохожий @ Nov 25 2006, 13:59)  Вот несколько из них, позаимствованых из практики применения PLC: - программный цикл один, - ссылки назад недопустимы, т. е. программа может выполняться только в одном направлении в пределах цикла, - как следствие, операторы цикла do{ }while( ); for( ; ; )( ); while( ){ } недопустимы. Вообще то, это вопрос более серьезный и, чтобы полностью изложить сей подход надо бы собраться с мыслями... Могу предположить, что ТАК можно описать только набор конечных автоматов (КА). Согласен, КА очень устойчивы и очень легко отлаживаемы. Могу так-же предположить, что как только задача становится сложнее "управления одной заслонкой", то автоматный подход становится тяжеловесным, непонятным.
|
|
|
|
|
Nov 25 2006, 17:25
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(Petka @ Nov 25 2006, 15:30)  Цитата(Прохожий @ Nov 25 2006, 13:59)  Так вот, для программирования задач управления на МК, по моему скромному мнению, нужен свой, в некотором смысле специализированный ЯВУ... ..Вообще то, это вопрос более серьезный и, чтобы полностью изложить сей подход надо бы собраться с мыслями...
Могу предположить, что ТАК можно описать только набор конечных автоматов (КА). .. как только задача становится сложнее "управления одной заслонкой", то автоматный подход становится тяжеловесным, непонятным. Широко использую автоматы, при наличии проблем c ESD особенно - очень просто организовать продолжение работы устройства при сбросе от помех. Думаю, что Прохожий это и имел ввиду. Циклы тем не менее есть, но это те циклы, которыми можно пожертвовать- задержки, чистка массивов и т.д. Организовывать и задержки как состояние автомата не выглядит красиво. Становится ли этот подход тяжеловесным при усложнении задачи? Я бы сказал - "неоптимальным". При наличии похожих состояний вижу, как расходуется программная память на повторение похожей логики в каждом состоянии, а сделать ничего не могу. Для лучшего понимания помогает правильная организация массивов - каждое состояние имеет не только номер, но и имя (его всегда в моих приборах можно прочитать по интерфейсу, не заглядывая в исходники) ну и система названий. Про заслонку. Любой прибор можно представить, как "набор заслонок". Во всяком случае я к этому стремлюсь :-) Ну и ЯВУ. Скорее это оффтопик, но ни в одном из последних моих проектов за пять лет нет ни строчки ассемблера. Меня на нем клинит :-) А компилятор IAR С, например, и есть такой "специализированный ЯВУ", являсь при этом универсальным. Кстати, сейчас один из проектов эмулируется на PC под Visual C - экран, кнопки, последовательные интерфейсы, работая по тем же исходникам с использованием условной компиляции при необходимости.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Nov 25 2006, 20:19
|
Cундук
    
Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269

|
Цитата(Dog Pawlowa @ Nov 25 2006, 17:25)  Широко использую автоматы, при наличии проблем c ESD особенно - очень просто организовать продолжение работы устройства при сбросе от помех. Думаю, что Прохожий это и имел ввиду. Циклы тем не менее есть, но это те циклы, которыми можно пожертвовать- задержки, чистка массивов и т.д. Организовывать и задержки как состояние автомата не выглядит красиво. Да, я имел в виду автоматный метод программирования. Циклов надо избегать при любых обстоятельствах. Лучше перейти на более скоростной вычислитель, незначительно удешевив конструкцию, чем допустить присутствие циклов. Правило есть правило. Я даже при программировании на PC в BC++B стараюсь поступать так же. Цитата(Dog Pawlowa @ Nov 25 2006, 17:25)  Становится ли этот подход тяжеловесным при усложнении задачи? Я бы сказал - "неоптимальным". При наличии похожих состояний вижу, как расходуется программная память на повторение похожей логики в каждом состоянии, а сделать ничего не могу. Почему не можете? Наверняка похожии ситуации можно оформить в виде отдельных функций и в качестве параметров передавать только изменяемую часть. Можно использовать вложенные автоматы и так далее. Проблема, на мой взгляд, здесь не в подходе, а в языке. На С по-любому все это будет выглядеть достаточно громоздко. И этот язык начинает терять преимущества перед Ассемблером. Это, кстати, одна из причин, по которой в пром. автоматике до сих пор используются примитивные релейно-лестничные схемы (LD) или функциональные диаграммы (FBD), однозначно переводимые в псевдоассемблер (IL) и друг в друга. Цитата(Dog Pawlowa @ Nov 25 2006, 17:25)  Для лучшего понимания помогает правильная организация массивов - каждое состояние имеет не только номер, но и имя (его всегда в моих приборах можно прочитать по интерфейсу, не заглядывая в исходники) ну и система названий. Абсолютно верно. Полностью поддерживаю. А иначе кирдык. Но опять же, заметьте, это проблема средств реализации автоматного подхода, а не его самого. Цитата(Dog Pawlowa @ Nov 25 2006, 17:25)  Про заслонку. Любой прибор можно представить, как "набор заслонок". Во всяком случае я к этому стремлюсь :-) Я бы назвал кусок кода, обсуживающий элементарную заслонку "процессом". При этом процесс может обслуживать не только заслонку, но и внутренний АЦП МК, к примеру, или USART. Процесс строится как автомат. При отсутствии прерываний процессы просто располагаются в памяти один за другим, последовательно. А вот когда в это дело вносится событийность, реализованная через прерывания, то все резко меняется, поскольку состояния в процессах могут изменяться в обработчиках прерываний. И тогда может получиться так, что состояние процессов АЦП и USART могут изменяться в обработчике прерываний от таймера, к примеру. Получается "рваный" код. Цитата(Dog Pawlowa @ Nov 25 2006, 17:25)  Ну и ЯВУ. Скорее это оффтопик, но ни в одном из последних моих проектов за пять лет нет ни строчки ассемблера. Меня на нем клинит :-) Это просто аллергия на кропотливую и нудную работу. Сам болею. В данном случае лечится алкоголем в умеренных дозах в приятном обществе  . Цитата(Dog Pawlowa @ Nov 25 2006, 17:25)  А компилятор IAR С, например, и есть такой "специализированный ЯВУ", являсь при этом универсальным. Опять же позволю себе несколько не согласиться. Любой компилятор, так же как и всякие симуляторы с эмуляторами - это всего лишь инструменты, точно такие же как и отвертки, паяльники и осциллографы. Я не хочу никого обижать, это только мое мнение, но из набора инструментов необходимо извлекать всякий раз тот, который наиболее оптимально применим к конкретной задаче. Просто так замыкать все на какой либо инструментарий, на мой взгляд, просто ошибка. Нельзя применять крестовую отвертку к винтам с прямыми шлицами. В конце концов, все дело не в том на чем мы делаем, а в том что мы делаем. Цитата(Dog Pawlowa @ Nov 25 2006, 17:25)  Кстати, сейчас один из проектов эмулируется на PC под Visual C - экран, кнопки, последовательные интерфейсы, работая по тем же исходникам с использованием условной компиляции при необходимости. И, попутно, вопрос. А с чем связана потребность в такой эмуляции? Цитата(proba @ Nov 25 2006, 19:29)  про Renesas. чипы M16C и R8C деисвительно довольно устоичивые, кому интересно, можeт смотрет с renesasinteractive.com . кроме помехоустоичивости стоит смотреть на такие своиства ( которых в ряде других дешевых mk не наидете ) : -автоматическая переключение на внутренныи rc генератор при остановке основного кварцевого, -8 уровневая система прерывании, -до 64 софт прерывания, -прерывания на undefined instruction, address match, overflow - запись и стирание flash memory возможно только после ввода password'a. т.e исключено случаиное или преднамеренное стирание чипа посторонними лицами. Не хочу в теме про AVR говорить о PIC-ах, но не могу удержаться. Все это добро присутствует как в dsPIC30/33, так и в PIC24. Цитата(proba @ Nov 25 2006, 19:29)  про Renesas. чипы M16C и R8C деисвительно довольно устоичивые, кому интересно, можeт смотрет с renesasinteractive.com . кроме помехоустоичивости стоит смотреть на такие своиства ( которых в ряде других дешевых mk не наидете ) : -автоматическая переключение на внутренныи rc генератор при остановке основного кварцевого, -8 уровневая система прерывании, -до 64 софт прерывания, -прерывания на undefined instruction, address match, overflow - запись и стирание flash memory возможно только после ввода password'a. т.e исключено случаиное или преднамеренное стирание чипа посторонними лицами. Не хочу в теме про AVR говорить о PIC-ах, но не могу удержаться. Все это добро присутствует как в dsPIC30/33, так и в PIC24.
|
|
|
|
|
Nov 25 2006, 21:57
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(Прохожий @ Nov 25 2006, 20:19)  Спасибо за подробные комментарии. Совпадений в подходах скорее больше, чем разногласий. Даже термин "процессы" совпадает Немного несогласен по поводу ассеблера  , но это скорее личное По технологии - скоростные события стараюсь исключать, все быстрые процессы у меня фоном в прерываниях. И вообще стараюсь лишние события не создавать - только клавиатура, интерфейсы (избранное) и таймеры. Это позволяет снять напряженку с временем для быстрых процессов и исключить лишний перебор событий. Эмуляция потребовалась по двум причинам - 1) распараллеливание работ 2) презентация интерфейса пользователя удаленному заказчику без пересылки железа. В устойчивость других типов микроконтроллеров не особенно верю, например, по моим оценкам, прерывание по несуществующей инструкции произойдет с вероятностью не более 50% (скорее одна инструкция заменится на другую существующую). Защита флэш? Слишком все сложно, чтобы сказать однозначно. Что касается тяжеловесности автоматного подхода, то как раз сейчас должен добавить последовательность калибровки прибора с использованием встроенного дисплея, хотя та же функция уже предусмотрена по последовательному интерфейсу. Тяжело и весит!  Общие куски выделяю функциями, и все равно душа не радуется. Но зависит ли это от использования автоматов? - скорее нет.
--------------------
Уходя, оставьте свет...
|
|
|
|
Сообщений в этой теме
Woodoo Устойчивый к ЭМ помехам МК Nov 24 2006, 19:05 Alex B._ да все они примерно одинаковые. Только однократки ... Nov 24 2006, 19:14 zorromen А ты собрался в космос? Nov 24 2006, 19:16 Kovrov Цитата(zorromen @ Nov 24 2006, 19:16) А т... Nov 24 2006, 20:07  defunct Цитата(Kovrov @ Nov 24 2006, 20:07) Может... Nov 24 2006, 23:54   zltigo Цитата(defunct @ Nov 24 2006, 22:54) Если... Nov 25 2006, 01:01    defunct Цитата(zltigo @ Nov 25 2006, 01:01) Безус... Nov 25 2006, 01:26    Прохожий Странно. Вы иронизируете над тем, что давно уже ис... Nov 25 2006, 01:32     zltigo Цитата(Прохожий @ Nov 25 2006, 00:32) Стр... Nov 25 2006, 01:49      Прохожий Цитата(zltigo @ Nov 25 2006, 01:49) Цитат... Nov 25 2006, 02:15   Kovrov Цитата(defunct @ Nov 24 2006, 23:54) Цита... Nov 25 2006, 10:32 rifch Посмотрите в сторону фирмы RENESAS. Был на сем... Nov 24 2006, 19:26 Прохожий Цитата(Woodoo @ Nov 24 2006, 19:05) Может... Nov 24 2006, 19:27 vvs157 Цитата(Woodoo @ Nov 24 2006, 19:05) Нехор... Nov 25 2006, 01:47      Прохожий Цитата(Dog Pawlowa @ Nov 25 2006, 21:57) ... Nov 25 2006, 22:45       Dog Pawlowa Цитата(Прохожий @ Nov 25 2006, 22:45) Цит... Nov 26 2006, 17:14        Прохожий Цитата(Dog Pawlowa @ Nov 26 2006, 17:14) ... Nov 26 2006, 18:55         Dog Pawlowa Цитата(Прохожий @ Nov 26 2006, 18:55) ...... Nov 26 2006, 22:03          Прохожий Цитата(Dog Pawlowa @ Nov 26 2006, 22:03) ... Nov 27 2006, 20:55           defunct Цитатаа также допускает идентификаторы на русском ... Nov 28 2006, 00:31            Прохожий Цитата(defunct @ Nov 28 2006, 00:31) Цита... Nov 28 2006, 07:12           Dog Pawlowa Цитата(Прохожий @ Nov 27 2006, 20:55) Инт... Nov 28 2006, 10:44 proba про Renesas.
чипы M16C и R8C деисвительно довольно... Nov 25 2006, 19:29 proba ЦитатаНе хочу в теме про AVR говорить о PIC-ах, но... Nov 25 2006, 20:31 Прохожий Цитата(proba @ Nov 25 2006, 20:31) Цитата... Nov 25 2006, 20:59 proba ЦитатаMicrochip потому и выигрывает, что постоянно... Nov 25 2006, 22:37 Прохожий Цитата(proba @ Nov 25 2006, 22:37) Цитата... Nov 25 2006, 23:56  dxp Цитата(Прохожий @ Nov 26 2006, 02:56) Хор... Nov 27 2006, 09:42 arttab Что то ни кто не упомянул о фильтрах на входящии л... Nov 27 2006, 06:06 Dog Pawlowa Цитата(arttab @ Nov 27 2006, 06:06) Что т... Nov 27 2006, 09:53 Alex B._ 2dxp
Относительно микрочипа вы не в курсе =)
... Nov 27 2006, 12:12 Dog Pawlowa Цитата(Alex B._ @ Nov 27 2006, 12:12) ...... Nov 27 2006, 13:00 defunct Цитата(Alex B._ @ Nov 27 2006, 12:12) У м... Nov 27 2006, 14:33 dxp Цитата(Alex B._ @ Nov 27 2006, 15:12) ... Nov 27 2006, 14:35 Alex B._ >> Где можно подробнее про среду и прочее уз... Nov 27 2006, 13:43 Dog Pawlowa Цитата(Alex B._ @ Nov 27 2006, 13:43) ... Nov 27 2006, 16:28  _Bill Цитата(Dog Pawlowa @ Nov 27 2006, 16:28) ... Nov 27 2006, 16:43 Alex B._ >> Скажите а почему PIC24 рвет ARM на целых ... Nov 27 2006, 15:58 Alex B._ >> Делал на IAR PIC
реальные пацаны использу... Nov 27 2006, 16:39 Peter Pavlov Цитата(Alex B._ @ Nov 27 2006, 19:39) ... Sep 23 2007, 07:49  alexander55 Цитата(Peter Pavlov @ Sep 23 2007, 11:49)... Sep 27 2007, 04:51   Peter Pavlov Цитата(alexander55 @ Sep 27 2007, 07:51) ... Sep 27 2007, 07:07 bav микрочип, как я помню, изначально ориентировался н... Nov 27 2006, 17:22 Dog Pawlowa Цитата(bav @ Nov 27 2006, 17:22) А вообще... Nov 27 2006, 17:52 Alex B._ >> чем учить язык нового веяния с модным наз... Nov 28 2006, 00:34 Alex B._ >> В последней версии МПЛАБА этого нет.
не у... Nov 28 2006, 11:05 Прохожий Цитата(Alex B._ @ Nov 28 2006, 11:05) ... Nov 28 2006, 11:21 Alex B._ а я ни практически, ни теоретически не применяю =)... Nov 28 2006, 13:26 Igor26 ЦитатаИз моего опыта - в Турции есть пару лаборато... Sep 24 2007, 06:12 Peter Pavlov Цитата(Igor26 @ Sep 24 2007, 09:12) Такие... Sep 24 2007, 07:09  defunct Цитата(Peter Pavlov @ Sep 24 2007, 10:09)... Sep 24 2007, 10:26   Peter Pavlov Цитата(defunct @ Sep 24 2007, 13:26) Проб... Sep 24 2007, 11:43    defunct Цитата(Peter Pavlov @ Sep 24 2007, 14:43)... Sep 24 2007, 21:26 tag Цитата(Woodoo @ Nov 24 2006, 23:05) Может... Sep 24 2007, 11:09 Snaky Цитата(Прохожий @ Nov 25 2006, 20:59) Так... Sep 25 2007, 04:37 proba M16C гораздо более развитое ядро чем AVR, тaм имею... Sep 25 2007, 08:51 ArtemKAD Цитатанапример на остоновку кварца
А зачем его про... Sep 25 2007, 19:21 Peter Pavlov Цитата(ArtemKAD @ Sep 25 2007, 22:21) А з... Sep 25 2007, 19:50  defunct Цитата(Peter Pavlov @ Sep 25 2007, 22:50)... Sep 25 2007, 21:30   Peter Pavlov Цитата(defunct @ Sep 26 2007, 00:30) Гут ... Sep 25 2007, 21:57    defunct Цитата(Peter Pavlov @ Sep 26 2007, 00:57)... Sep 25 2007, 22:48     Peter Pavlov Цитата(defunct @ Sep 26 2007, 01:48) У ме... Sep 26 2007, 06:50 proba Цитата(ArtemKAD @ Sep 25 2007, 22:21) А т... Sep 25 2007, 21:12 Rst7 Что-то вы не то делаете. Я применяю в приборах ATM... Sep 26 2007, 07:17 Peter Pavlov Цитата(Rst7 @ Sep 26 2007, 10:17) Что-то ... Sep 26 2007, 07:36 mse Не о том говорите. ЭМС стойкость должна быть у при... Sep 26 2007, 07:44 Peter Pavlov Цитата(mse @ Sep 26 2007, 10:44) Не о том... Sep 26 2007, 08:47  mse Цитата(Peter Pavlov @ Sep 26 2007, 12:47)... Sep 26 2007, 08:54   Peter Pavlov Цитата(mse @ Sep 26 2007, 11:54) ;О) Один... Sep 26 2007, 09:14 ArtemKAD ЦитатаИ все же у меня больше рука не поднимется ис... Sep 26 2007, 08:37 Igor26 Цитата2- излучение в эфире (80МГц..1ГГц)
Начиная ... Sep 26 2007, 09:10 ArtemKAD ЦитатаТолько хороший фильтр по 220В перед блоком п... Sep 26 2007, 09:21 mse Цитата(ArtemKAD @ Sep 26 2007, 13:21) ...... Sep 26 2007, 12:10 ArtemKAD ЦитатаПо правде говоря, для частот выше 100МГц(а т... Sep 26 2007, 12:42 mse Цитата(ArtemKAD @ Sep 26 2007, 16:42) ...... Sep 26 2007, 12:47 Igor26 ЦитатаЕсли изделие привезти к ним, то получается н... Sep 27 2007, 07:02 alexander55 Цитата(Igor26 @ Sep 27 2007, 11:02) Сомне... Sep 27 2007, 07:52 Peter Pavlov Цитата(Igor26 @ Sep 27 2007, 10:02) Сомне... Sep 27 2007, 09:05 ArtemKAD Цитатано все разработки стараюсь делаю согласно пр... Sep 27 2007, 08:35 ArtemKAD ЦитатаНельзя делать контур грязной земли.
С чего в... Sep 27 2007, 09:19 Peter Pavlov Цитата(ArtemKAD @ Sep 27 2007, 12:19) С ч... Sep 27 2007, 09:23 ArtemKAD ЦитатаЭто не просто грязная земля, это заземление,... Sep 27 2007, 09:43 Peter Pavlov Цитата(ArtemKAD @ Sep 27 2007, 12:43) Да ... Sep 27 2007, 10:05  mse Цитата(Peter Pavlov @ Sep 27 2007, 14:05)... Sep 27 2007, 10:15   alexander55 Цитата(mse @ Sep 27 2007, 14:15) Лучшего ... Sep 27 2007, 10:46   Peter Pavlov Цитата(mse @ Sep 27 2007, 13:15) Лучшего ... Sep 27 2007, 10:50    mse Цитата(Peter Pavlov @ Sep 27 2007, 14:50)... Sep 27 2007, 10:57 ArtemKAD ЦитатаМожно не сертифицировать и не иметь проблем ... Sep 27 2007, 11:38 Peter Pavlov Цитата(ArtemKAD @ Sep 27 2007, 14:38) Для... Sep 27 2007, 19:06  SIA Цитата(Peter Pavlov @ Sep 27 2007, 23:06)... Sep 27 2007, 19:44 Igor26 Цитата... НЕ ОПЫТ!!! Это попытка найти... Sep 27 2007, 12:12 alexander55 Цитата(Igor26 @ Sep 27 2007, 16:12) Согла... Sep 27 2007, 12:32  Igor26 Цитата(alexander55 @ Sep 27 2007, 16:32) ... Sep 27 2007, 13:04  defunct Цитата(alexander55 @ Sep 27 2007, 15:32) ... Sep 27 2007, 13:05
2 страниц
1 2 >
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|