- А что у Ципресса с его новыми процами? Которые 8051 и АРМ. ASDFS(202 знак., 12.08.2010 20:19, MCU, полностью)
- Есть схема в PCAD (ORCAD). Там процессор, много ножек... Хотелось бы таблицу нога-такая-то (номер, а лучше символическое обозначение ноги) -- сигнал в схеме такой-то (имя) получать автоматически. А сейчаса как дурак вручную писать 2 часа и 10 раз fk0(18 знак., 11.08.2010 12:00, MCU, полностью)
- маэстро не владеет awk-ом? или python-ом на крайняк :) там же можно в текстовом формате нетлист экспортировать. я раньше так и выжимал для привязки ПЛИСовых ножек - да,это-я(12.08.2010 14:28, )
- Если PCAD 4 или 8, то он штатно умеет. Если 200х, то он умеет экспортировать в .PDF, в котором эта инфа есть. Дальше либо ручками выдернуть две таблички (номера и сигналы) и собрать их вместе, либо написать немножко кода, который сделает это сам. - Kit(11.08.2010 13:38)
- у меня обычно эта таблица первична, уже потом по ней строится схема - koyodza(11.08.2010 12:01)
- В смысле таблицу в текстовом файлике, CSV, excel или что-то вроде того. - fk0(11.08.2010 12:00)
- Камрады! А как человеку далёкому от Ц добраться до полей структуры tm? Т.Достоевский(501 знак., 11.08.2010 03:55 - 04:00, MCU, полностью)
- 2Vit. Как апологет C8051 может подскажите, как вы решаете проблему точности при реализации частотного выхода? rezident(641 знак., 10.08.2010 07:19, MCU, ссылка, полностью)
- PCA смотрели? Там всякие чудеса с CEXn-выходами можно крутить. Вроде High Speed Output Mode похоже на то, что Вам нужно. Vit(420 знак., 10.08.2010 09:33 - 09:41)
- то же самое можно на Т2 или Т3 сделать: период настраивается в TMR2RLL TMR2RLH (TMR3RLL TMR3RLH), а потом каждое прерывание инвертируем любую ножку. РСА использовать жалко, он может и для чего другого пригодиться. Разрешение на 1кГц должно быть порядка koyodza(239 знак., 10.08.2010 16:33 - 16:45)
- Ну, у нас по ТЗ не код и не ШИМ, а именно частотный выход. PCA я сейчас посмотрел, но предлагаемый вами High Speed Output Mode не совсем подходит. Он немного лучше, чем используемый сейчас софтовый таймер, но все равно не то. Потому, что счетчик PCA на rezident(318 знак., 10.08.2010 09:53 - 09:56)
- Камрады! Убил цэлый день на гугление! Подскажите где взять исходнечги как из числа секунд(времени эпохи юникс) получить дату и время суток и наоборот! Спсб. - Т.Достоевский(10.08.2010 04:06 - 04:11, MCU, полностью)
- Имеем микропроцессор типа "Пеньтиум Dual Core", linux-i686 (замечу x32, а ни разу не x64). Запускаем некий код, останавливаем в gdb, делаем info registers и видим регистры r8..r9..r15 -- эта чё такое, это откуда??? Всю жизнь были eax, ebx... И в fk0(160 знак., 09.08.2010 17:00, MCU, полностью)
- Где украсть IDA? (дизассемблер) - fk0(09.08.2010 12:55, MCU, полностью)
- Как создавать устойчивый к сбоям и зависаниям код? Андрей(916 знак., 04.08.2010 22:41, , MCU, полностью)
- Разводка пп виновата на 99%.Поскольку гальваноразвязки есть то остается наводка магнитной составляющей ЭМП от катушки.Кардинально улучшить можно только уменьшением ПЛОЩАДИ контура охватываемого током , в котором и создаются наводки.Или экстенсивный метод PlainUser(89 знак., 05.08.2010 14:07, )
- Здесь схему надо корректировать, разводку платы. Скорее всего железо виновато. - Михаил Е.(04.08.2010 22:48)
- перейти на многослойку, а может даже и отказатся от стеклотекстолита ... - cvv(07.08.2010 01:52)
- Виноваты во всём и всегда программисты. Это ж очевидно. Вот задымление и жара -- это тоже из-за программистов. - fk0(05.08.2010 13:19)
- +1000 Железо должно работать. Проходили в составе некого комплекса испытания на устойчивость к э-м помехам. Так на клоне MCS-51 контроллер внешних прерываний переставал на них реагировать, причем конфигурация прописывалась в него периодически. Сброс по Chum_A(321 знак., 05.08.2010 10:00)
- Виновато в чем? Если в зависаниях от помех - то нет, т.к. коммутация индуктивности есть решение еще одной задачи по принудительному вызову сбоя в работе МК и проверки устойчивости к зависаниям. - Андрей(04.08.2010 22:53, )
- Недавно аналогичный случай у меня был. AtTiny2313, на вход аналогового компаратора через RC цепь сигнал с датчика тока. Нагрузка индуктивная - обмотка двигателя. Через эту ногу процессора подвешивало все наглухо, WDT не помогал. Внешняя защита этой ноги Михаил Е.(20 знак., 04.08.2010 23:04)
- 2-3 последовательных резистора с емкостью 0.5пф(паразитной) должны решить эту проблему. - PlainUser(05.08.2010 14:39, )
- В плане защиты ног у меня всё очень распрекрасно. Развязка от внешнего мира полная и даже двойная. Это либо оптроны либо трансформаторы (по питанию). Но помеха может прийти от коммутации сильноточных цепей через ЭМИ, и я обязан сделать так чтобы МК в Андрей(52 знак., 04.08.2010 23:23, )
- Камент. ИМХО, использование гальванической развязки не является достаточным условием обеспечения помехоустойчивости. - Точка опоры(05.08.2010 10:23)
- +500, многие думают: "поставил оптрон - и нет проблем". И ставят их куда попало, совершенно не задумываясь. Но сама по себе гальваноразвязка - не панацея - koyodza(06.08.2010 18:08)
- Забыл сказать. Всё это дело будет стоять в стальном шкафу, однако в шкаф будет заходить приличное количество полевых кабелей с которых не смотря на двойную развязку может прийти неслабая наведеночка от коммутаций высоковольтного оборудования и при Андрей(296 знак., 05.08.2010 20:31, )
- Товарищь Shura 1000 раз прав, если конструкция
херне очень, то никакой WDT не спасет, только передергивание питания. Может сразу нормально сделать? Повторюсь, видел МК получающий регулярный (600 мс) сброс от внешнего WDT, но тем не менее не Chum_A(65 знак., 06.08.2010 08:55, ссылка)
- Железная коробочка + более-менее приличная трассировка + адекватная развязка сигналов и питаний при условии невиснущего кода делают WD абсолютно ненужной штукой, коей он и является. - Kit(06.08.2010 05:52)
- Случай из жизни: МК в железной коробочке в спецпомещении, всё заземлено, никакой коммутационной аппаратуры, разработка - заводская...завис так что в кое каком поселке была подана напруга 35 кВ куда не надо...хорошо что людей не было. - Андрей(06.08.2010 20:20, )
- когда Филипп Македонский подошёл к Спарте, он направил спартанцам послание: «Я покорил всю Грецию, у меня самое лучшее в мире войско. Сдавайтесь, потому что если я захвачу Спарту силой, если я сломаю её ворота, если я пробью таранами её стены, то Snaky(132 знак., 06.08.2010 05:57)
- Надо же какая великая цель. В мире уже общепринято делать многокиловатные источники питания и регуляторы с микроконтроллерами непосредственно в цифровой петле регулирования и ничего никогда не сбивается. И вдруг приходит некто и убеждает что без сбоев не AlexandrY(101 знак., 05.08.2010 23:35)
- Ну и что? У меня в таких же условиях работает. Просто разводку платы грамотно сделать. - Михаил Е.(05.08.2010 21:50)
- Развязка не от всех помех спасает, скорее о топологии платы думать надо. Если все глухо, можно внешний вачдог использовать в качестве костыля. - she(04.08.2010 23:41)
- То есть все рекомендации выполнены? Тогда не сбрасывало бы. - General(04.08.2010 23:24, ссылка)
- Встречал ли кто Opcode List для HPC46003 (National Semiconductor), или это секрет? В мануале - 0. Поиск в Гугле - 0. Но на их-же COP880C - опкоды без проблем. ASH(10 знак., 07.08.2010 22:29, MCU)
- Подскажите Atmel или PIC с тремя USART ну или более. Надо обмениваться данными по 3м портам одновременно. Или сделать один USART программно? - z00f(04.08.2010 10:05, MCU, полностью)
- ..не зарекайся, вот те радиационно-стойкая ПЛИС на Flash'е -=> - blackbit(30.07.2010 20:11 - 20:14, MCU, ссылка, полностью)Shura
- Неважно. Если помехи повреждают данные на аппаратном уровне, то "это 3.14здец, а он у нас не лечится". Никакими программными заплатками это не вылечишь. - Shura(23.07.2010 16:16 - 28.07.2010 15:02, MCU, полностью)
- разработчикам медаппаратуры неиспользование мисры ничем не грозит :> это вообще автомобилисты для себя придумали изначально, если что - Snaky(28.07.2010 14:58, MCU, полностью)blackbit
- да, давайте ту монстроидальную тему хотя бы понемногу растянем на куски. - Vladimir Ljaschko(29.07.2010 13:19)
- Главное на данном этапе не предстать перед ним динозавром, не знающим очевидные вещи, общепринятые при разработке медаппаратуры ;) Dir(768 знак., 28.07.2010 20:31)VL
- Вот спасибо за объяснение :) А то чуть было на лицензионный IAR для ARM не потратился, чтобы закордонного заказчика ублажить обладанием этой самой Mисрой. - Dir(28.07.2010 15:55)
- Можно для проверки правил MISRA использовать PC-Lint: - SciFi(29.07.2010 13:11, ссылка)
- MISRA - это набор правил, позволяющий исключить взаимонепонимание "что хотел программист" и "как это понял компилятор". IAR может проверять программу по этим правилам, выдавая warning'и. На результирующий код это не влияет. - testerplus(28.07.2010 17:53)
- Спасибо. Интересовало в основном насколько обязательно применение MISRA для разработки медаппаратуры. Вопрос чисто денежный (6тыс.$) и упирается в разногласия насчет возможности/невозможности применения GCC. - Dir(28.07.2010 18:10)
- К счастью, это совсем не обязательно. Говорю, правда, не за всю медаппаратуру. У неё много классов. Самые жесткие требования предъявляются к аппаратуре, поддерживающей жизнедеятельность. Менее строгие требования к аппаратуре с лечебным воздействием, а serhuey(392 знак., 30.07.2010 13:58, )
- MISRA - не обязательно, если заказчик не требует. К конкретному компилятору этот набор правил отношения не имеет. Можно, придерживаясь его, и на GCC писать. Документ стоит 10 фунтов -> testerplus(398 знак., 28.07.2010 18:58, ссылка)
- Ни у кого прошивочки для EZ430U того, самого первого, еще с 4-ех контактным разъемом нет? Alechin(266 знак., 30.07.2010 07:49, , MCU, полностью)MBedder
- Вот уроды.Жаль , использовать флеш в качестве ЕЕПРОМ мне лично моя параноя не позволяет.Тут не журналом РАДИО тут приложением к ЮТ для умелых рук попахивает.Разве что результат не важен. - PlainUser(22.07.2010 07:27, , MCU, полностью)Shura
- Уточняю , отдельную страницу флеши для доступа в которую необходимо ВРУЧНУЮ чего-нибудь попереключать в регистрах можно приравнять к ЕЕПРОМ в контексте данного топика.Речь именно о возможной порче исполняемого кода при корявой записи каких-нибудь PlainUser(12 знак., 26.07.2010 12:31, )
- Почему бы тогда не вести речь о просто возможно неправильной ("корявой") работе программы? Хотя некоторые контроллеры имеют защиту от стирания/записи для части программной памяти. - fk0(26.07.2010 22:48)
- Если в процессе записи будут проблемы с питанием то возможна порча кода вследствии появления неверных адресов на шине.В отдельном-же банке нужно еще его переключить. - PlainUser(27.07.2010 07:18, )
- Но согласитесь, если в контроллере индивидуальная супер-пупер установка разрешения стирания/записи секторов, то теоретически программная память никогда не испортится. Но и не обновится :) Vladimir Ljaschko(261 знак., 27.07.2010 08:52)
- Не супер-пупер а обычный регистр в котором нужно поставить нужный битик или снять его. PlainUser(155 знак., 27.07.2010 10:47, )
- При чем тут идиот? Vladimir Ljaschko(423 знак., 27.07.2010 10:58)
- Защиту от перезаписи блоков флеши в некоторых МК посерьезней защищают (увы, не у всех:)). sbb(468 знак., 27.07.2010 12:46)
- Программа конечно может вылететь на неправильный адрес , физически это возможно , вот только приличных методов борьбы с этим в рамках одного процессора нет. - PlainUser(27.07.2010 12:08, )
- Снять битик в регистре программа сама не сможет , и талантливый дятел изучающий глубины ООП в общем то-же.Запись в регистр это действие которое нужно совершить осознанно.А вот писать не в тот адрес из-за дурацких указателей на структуры это легко. - PlainUser(27.07.2010 11:10, )
- Ну а если МК содержит встроенный бутлоадер, то устройство может сбойнуть, запустить бутлоадер и стереть само себя, так? :-) - Shura(27.07.2010 11:01)
- Достаточно бредовое утверждение. При адекватном контроллере Flash, ГРАМОТНОМ КОДЕ и т.п. -- Flash даже лучше. Но в счёт большей софтовой сложности, за то EEPROM и любят. - fk0(23.07.2010 16:26)
- чушь редкостная. EEPROM нет ни у MSP, ни у силабса, ни у STM/STR, и никто не жалуется. Запись данных во FLASH обычно требует немного больше ОЗУ (на буфер страницы), которого в PIC/AVR хронически мало koyodza(344 знак., 22.07.2010 09:54 - 10:05)
- Много нюансов в которые вдаваться неохота. Тема вообщето про дешевый и простой проц.Для использования флеша нужно приличный источник питания что по цене дороже доп еепрома и приличная программа , чтоб точно писать куда надо когда надо.Все это с PlainUser(41 знак., 22.07.2010 12:08, )
- Не чушь, мне жаловались (однажды правил программу, управляющую подъемником в производственном цехе). Два года работало как часы, а потом подъемник стал зависать между "этажами" (ячейками). Как выяснилось, проблема была в исчерпанном "цикло"-ресурсе testerplus(541 знак., 22.07.2010 11:08)
- ни один из приведенных аргументов не выдерживает критики. Shura верно указал на источник проблем - koyodza(22.07.2010 11:47)
- Да с источником проблем все понятно. А какой из аргументов не выдерживает критики? Я привел два: требуется большой объем памяти для хранения малого объема данных (это когда пытаемся стирать пореже) и проблемы с содержимым flash при потере питания во testerplus(16 знак., 22.07.2010 11:55)
- нет никаких проблем при стирании, просто стираемый сектор остаётся с мусором. Хранить по одному параметру в одном секторе тоже не нужно, есть несколько способов решения. То, что памяти тратится больше - пусть, кого это волнует? Ну выделил я два участка koyodza(123 знак., 22.07.2010 12:14)
- Он остается не с мусором, а с данными, которые будут нестабильно читаться. Тут и контрольная сумма может не спасти (тем более на практике видел, как некоторые ее вычисляют простым XOR-ом). А насчет "кого волнует больше памяти": в контроллере LPC1102 32 testerplus(635 знак., 22.07.2010 12:30)
- это с какой радости память программ контрольной суммой тестируется, а память данных нет? Ну а 2кБ я указывал как пример, мне обычно хватает 1кБ для настроек и столько же для их дублирования. Для защиты применяется СRC, запись копии не начинается до koyodza(268 знак., 22.07.2010 12:41)
- Все должно тестироваться контрольными суммами. Но в Вашей схеме с одним блоком есть слабое место: когда-то его придется стереть для перезаписи. Понятно, что пропадание питания или мега-нано-помеха в этом случае редкость (хотя, смотря в каких условиях testerplus(161 знак., 22.07.2010 12:55)
- кто сказал про один блок? Чукча не читатель? "столько же для их дублирования" - koyodza(22.07.2010 13:30)
- Пардон, прочитал как "их же для дублирования" :) Но тогда ведь уже ощущается потеря памяти? testerplus(322 знак., 22.07.2010 13:56)
- ну у Вас то вообще троирование Ж=Р - koyodza(22.07.2010 16:20)
- А что тут смешного? Есть вариант проще? Я как раз готовлю материал по теме отказоустойчивости ПО в МК, там затрону тему сохранения данных в энергонезависимую память. С радостью опишу более простой и надежный вариант, чем троирование. И к слову: testerplus(315 знак., 22.07.2010 16:45)
- Как удалось увидеть столько чужих исходников? Все же их скрывают, так как боятся, что будут осмеяны. - Леонид Иванович(23.07.2010 02:03)
- По работе в основном занимаюсь выискиванием ошибок в программах. Есть постоянные клиенты. А насчет осмеяния: этого боятся, наверное, только в России, тут прогаммисты поамбициознее в плане иллюзий по поводу своей ведущей роли в проектах, а просветления testerplus(777 знак., 23.07.2010 09:22 - 09:33)
- тут можно смотреть, например -> - Snaky(23.07.2010 08:52, ссылка)
- Исходники приоритетного троирования! Смейтесь! :) Vladimir Ljaschko(455 знак., 23.07.2010 07:33)
- Немного странная реализация. Конечно, надо видеть, что там дальше делается (и что внутри РестореОллСетап'а), но это все же дублирование (даже если 5 копий сделать), а не троирование. testerplus(514 знак., 23.07.2010 09:31)
- "контрольная сумма все еще будет сходиться, а данные уже будут битыми" - поясните - koyodza(23.07.2010 14:17)
- Да, у меня не мажоритарное сравнение, а Vladimir Ljaschko(613 знак., 23.07.2010 09:59)
- Я просто отметил, что Ваш пример - это не троирование. Там, где допускается частичная потеря данных, вполне нормальный подход. А оптимальность алгоритма (не реализации) обратнопропорциональна требованиям к надежности. Порой хватает и одной копии (с testerplus(37 знак., 23.07.2010 10:28)
- Вопрос в критерии по которому могут быть использованы данные , при двух последних сбойных используется самый старый блок.Если так то есть время записать и три одинаковых. - PlainUser(23.07.2010 10:25, )
- Вопрос ещё проще. Если, как тут рассказывали, помехи такие сильные, что повреждают данные при записи во флеш, то кто им мешает повредить данные в ОЗУ, которые потом будут успешно 3 раза переписаны в EEPROM :-) - Shura(23.07.2010 15:55)
- "Люди думали" (с) Автоматически сохраняется только последний банк. Все банки сохраняются только в редких случаях UI, когда информация прошла проверку целостности. - Vladimir Ljaschko(23.07.2010 16:13)
- И чем здесь 2 копии лучше 3х? - testerplus(23.07.2010 16:00)
- Ничем. А чем здесь EEPROM лучше Flash? :-) - Shura(23.07.2010 16:05)
- 2 копии хуже 3х, т.к. только по трем можно восстановить данные (или принять решение о их некорректности). А EEPROM лучше флеш по объему (не надо по странице выделять на каждую копию), по безопасности (не нужно писать что-то туда, где есть прорамма) и по testerplus(69 знак., 23.07.2010 16:15)
- Вы уж сначала определитесь - что вы считаете некорректными данными и какие возможные причины их появления. Ибо бороться можно только с известными явлениями, но не с вторжением инопланетян. - Shura(23.07.2010 16:47)
- по пунктам: koyodza(1078 знак., 23.07.2010 16:28)
- "Да и туда, где находится программа, никто не пишет, страницы выделяются отдельные." Я так понял, что если в программе используются таблицы, то их, грубо говоря, записывать подальше от программного кода? Чтобы в другие страницы mazur(106 знак., 26.07.2010 11:18)
- По пунктам 2 и 4 возражения считаю несерьезными. А по первому и третьему я бы поспорил, но уже устал бодаться. (Надеюсь, в п.3 про АВР и местоположение EEPROM - это шутка?) testerplus(3191 знак., 23.07.2010 21:39)
- Кстати да, большие современные EEPROM часто не побайтовые, а по-страничные -- и при сбое питания гробится страница (до 256 байт) целиком. Atmel как бы подтверждает... - fk0(23.07.2010 18:06)
- По-безопасности: flash позволяет данные хранить на кристалле с MCU. Его снаружи не считать. А EEPROM на I2C? Нужно шифрование. - fk0(23.07.2010 18:04)
- 0. Мы в 1998 году освоили i2c eeprom совместно с pic16c86 и до конца света в 2013 году будем его ставить. - fk0(23.07.2010 18:03)
- Вы уже передергивать начали - Alex B.(23.07.2010 17:03)
- ничем ;=) - koyodza(23.07.2010 16:11)
- проще предложить не смогу, это факт. Насчёт среднего уровня коммерческих разработок моя статистика примерно та же - koyodza(22.07.2010 17:13)
- Поддерживаю. Всегда считал дополнительным риском запись в программную флеш в процессе работы. Хорошо, когда в МК есть аппаратная защита отдельных блоков флеш, которая не снимается просто программой. - sbb(22.07.2010 15:51)
- Проблема была не в исчерпанном "цикло"-ресурсе flash а в мозгах у разработчика. "Грамотным" долбежом можно и EEPROM замучить и даже FRAM - Shura(22.07.2010 11:36)
- Не стоит так категорично. Я жалуюсь :) В проект с MSP430 добавлял внешнюю EEPROM. - Vladimir Ljaschko(22.07.2010 10:04)
- не понимаю ваших проблем - Alex B.(21.07.2010 14:13)Shura