Harbinger 0 Posted January 22 · Report post Пардон за любопытство - а перспективы у изделия какие? Если нужно сделать какое-то ограниченное количество и забыть, то я бы взял то, что под рукой завалялось и жалко выбрасывать, оставив некоторый запас для возможных ремонтов. Quote Ответить с цитированием Share this post Link to post Share on other sites
ViKo 0 Posted January 22 · Report post Устройств много предполагается. Но стоимость мк в нем - примерно, 1%. Я посмотрел по продавцам, каких PIC имеется много, из простых (дешевых) и чтобы PICkit 2 с ними дружил. На данный момент решение найдено. А на будущее можно будет и PICkit 3, 4 приобрести. Как обычно, мечты и планы редко сбываются. Quote Ответить с цитированием Share this post Link to post Share on other sites
MDD 0 Posted January 22 · Report post 1 hour ago, ViKo said: Устройство слишком примитивное, чтобы тратиться еще на регулятор питания. ................. Но стоимость мк в нем - примерно, 1%. Как-то не очень вяжется. Quote Ответить с цитированием Share this post Link to post Share on other sites
ViKo 0 Posted January 22 · Report post 43 минуты назад, MDD сказал: Как-то не очень вяжется. Не своя продукция, а для постороннего субъекта х. Делать богато-дорого не имеет смысла. Quote Ответить с цитированием Share this post Link to post Share on other sites
jcxz 0 Posted January 22 · Report post 2 часа назад, ViKo сказал: Устройств много предполагается. Но стоимость мк в нем - примерно, 1%. Я посмотрел по продавцам, каких PIC имеется много, из простых (дешевых) и чтобы PICkit 2 с ними дружил. На данный момент решение найдено. А на будущее можно будет и PICkit 3, 4 приобрести. Как обычно, мечты и планы редко сбываются. Кроме упомянутых критериев выбора, ещё можно привести такой: Возможность само-программирования (возможность обновления прошивки из самой прошивки) или программирования через внешний интерфейс (UART, etc) через главный МК в устройстве. Считаю это очень важным, особенно если девайсов много. От ошибок никто не застрахован и надо заранее думать об удобном обновлении ПО. У себя в устройствах стараюсь обеспечивать возможность обновления прошивки любого компонента устройства через единый рабочий протокол обмена. Насчёт PIC-ов: Когда-то несколько лет назад в одном проекте ("доставшемся по наследству") мы сильно попали: Разработчик, ни с кем в конторе не посоветовавшись, по своей воле поставил туда PIC вместо обычно применявшихся для таких случаев в той конторе МК. Там PIC выполнял вспомогательные функции - опрос кнопок и каких-то датчиков. Почему PIC? Вроде как потому что - "надоело программировать на старом, решил освоить новое". Потом эти устройства серийно выпускались и разошлись по заказчикам - работают в разных системах. А потом вылез баг в прошивке этого PIC-а (умелец к тому времени уже уволился). А возможность удалённого обновления прошивки этого PIC-а разработчик-то и не заложил! Только облёт всех точек (в тайге) где эти девайсы стоят, с отключением системы, вскрытием корпуса для подключения программатора. И с матами заказчиков. С тех пор в той конторе взяли за правило: Если устройство имеет несколько компонентов, имеющих прошивку и устройство работает в труднодоступном месте (или просто устройств много), то обязательно должна быть возможность обновления прошивки любого компонента через рабочий протокол. Даже если прошивку этого компонента разрабатываем не сами, а это покупной компонент (GSM-модуль например). А как с этим обстоит дело у выбранного вами PIC-а? Просто по тому своему опыту я запомнил, что у того PIC-а не было возможности перепрошить его внутрипрограммно. Quote Ответить с цитированием Share this post Link to post Share on other sites
ViKo 0 Posted January 22 · Report post Внутри программы не будет обновляться хотя бы потому, что никаких интерфейсов связи в изделии никогда не было и не будет. Разве что специально вывести интерфейс? Не поможет. Дистанционно подключиться - нужно иметь переходник... А подъехать к (или подвезти от) и тем же PICkit2 подключиться - нажать кнопку на PICkit2 - запрограммировать, можно предусмотреть. Такая штука есть в PICkit2. Не помню, чтобы пользовался, но знаю. 11 минут назад, jcxz сказал: умелец к тому времени уже уволился ... и перебрался из томской тайги в Ригу? Quote Ответить с цитированием Share this post Link to post Share on other sites
MrBearManul 0 Posted January 22 · Report post 11 минут назад, jcxz сказал: Разработчик, ни с кем в конторе не посоветовавшись, по своей воле поставил туда PIC вместо обычно применявшихся для таких случаев в той конторе МК. Простите, возможно я чего-то не понимаю, но как такое возможно? У разработчика не было начальника или иного куратора его деятельности? Или процитированное ниже и было объяснением, воспринятым адекватно? 12 минут назад, jcxz сказал: Вроде как потому что - "надоело программировать на старом, решил освоить новое". Quote Ответить с цитированием Share this post Link to post Share on other sites
jcxz 0 Posted January 22 · Report post 2 минуты назад, MrBearManul сказал: Простите, возможно я чего-то не понимаю, но как такое возможно? У разработчика не было начальника или иного куратора его деятельности? Разработчик работал в другом отделе. Как у них там принимались решения - я без понятия, могу говорить лишь за свой отдел. Да и самого того отдела с его начальником ко времени проявления бага уже не было. В конторе очень любили периодически "тасовать" подразделения. При очередной такой перетасовке, эта проблема вместе с девайсом досталась нашему отделу. А "надоело программировать на старом, решил освоить новое" - это объяснение со слов коллег, из того отдела. Quote Ответить с цитированием Share this post Link to post Share on other sites
Plain 0 Posted January 22 · Report post 43 минуты назад, jcxz сказал: у того PIC-а не было возможности перепрошить его внутрипрограммно Видать, совсем давно дело было, если у "нового" этого ещё не было. А вообще, можно и через корпус перепрошивать, "на основе физических принципов", т.е. оптической, магнитной, емкостной, тензо, звуковой и т.п. односторонней связью. Quote Ответить с цитированием Share this post Link to post Share on other sites
jcxz 0 Posted January 22 · Report post 14 минут назад, Plain сказал: Видать, совсем давно дело было, если у "нового" этого ещё не было. Нам в отдел это добро передали 4.5 года назад. Разрабатывалось оно ещё раньше. Когда - не уверен, то точно менее 10 лет назад. Помнится в том PIC-е была возможность программирования только через интерфейс программатора/отладчика. И нужно было ещё повышенное напряжение питания обеспечить. Т.е. - даже через UART/SPI/etc. с главного CPU девайса - никак. Quote Ответить с цитированием Share this post Link to post Share on other sites
MDD 0 Posted January 22 · Report post 56 minutes ago, ViKo said: Не своя продукция, а для постороннего субъекта х. Делать богато-дорого не имеет смысла. Расшифруйте пожалуйста. Имеется ввиду - заказчик потом будет сам тиражировать устройства и Вы никак не участвуете в прибыли? Тогда вдвойне непонятен смысл делать совсем уж бедно-дешево. Разве что нужно еще в тендере на этот заказ победить... Quote Ответить с цитированием Share this post Link to post Share on other sites
ViKo 0 Posted January 22 · Report post Коммерческие вопросы я не обсуждаю. Quote Ответить с цитированием Share this post Link to post Share on other sites
AlexandrY 0 Posted January 22 · Report post 1 hour ago, jcxz said: Если устройство имеет несколько компонентов, имеющих прошивку и устройство работает в труднодоступном месте (или просто устройств много), то обязательно должна быть возможность обновления прошивки любого компонента через рабочий протокол. Ваще не закон. У нас произошло ровно наоборот. Сначала да, прошивка всего и вся, дистанционно. Было полно багов, и иначе было нельзя. Но когда стали ставить в Европе и в больших количествах выяснилось что локальному персоналу очень стремно носить с собой компьютеры и вообще дивайсы и вобще разбираться что там прошивать надо. Им гораздо легче ченить отвинтить, переткнуть или заменить. Хоть даже для этого стену разобрать придется. Потому и перестал делать загрузчики. Посылаем модули, а лучше целые платы. Так спокойней и меньше гемора. Реально сделать удобный процесс дистанционной перепрошивки для обслуживающего персонала и для отдела тех поддержки очень сложно и довольно дорого. Иначе самому разработчику прошивки придется заниматься каждым объектом. Quote Ответить с цитированием Share this post Link to post Share on other sites
Herz 0 Posted January 22 · Report post 1 час назад, jcxz сказал: С тех пор в той конторе взяли за правило: Если устройство имеет несколько компонентов, имеющих прошивку и устройство работает в труднодоступном месте (или просто устройств много), то обязательно должна быть возможность обновления прошивки любого компонента через рабочий протокол. Как-то это... ну очень жутко выглядит. То есть, если в устройстве стоит восьминогий МК, моргающий светодиодом или опрашивающий кнопку, надо чтобы он имел возможность удалённой прошивки? И как это повлияет на стоимость изделия? Вот бы ещё найти способ удалённой замены компонентов, а то мало ли какой разработчик ошибётся и не с тем допуском поставит резистор. Ехай потом по всей тайге - корпуса вскрывай... Жуть. Quote Ответить с цитированием Share this post Link to post Share on other sites
jcxz 0 Posted January 22 · Report post 4 минуты назад, Herz сказал: Как-то это... ну очень жутко выглядит. То есть, если в устройстве стоит восьминогий МК, моргающий светодиодом или опрашивающий кнопку, надо чтобы он имел возможность удалённой прошивки? И как это повлияет на стоимость изделия? Ну а что делать? Да и если у этого МК есть уже возможность прошивки через UART, то реализовать его прошивку с главного МК - не особо сложная задача. На стоимость это повлиять может как раз в сторону уменьшения. 4 минуты назад, Herz сказал: Вот бы ещё найти способ удалённой замены компонентов, а то мало ли какой разработчик ошибётся и не с тем допуском поставит резистор. Ехай потом по всей тайге - корпуса вскрывай... Жуть. Всё-таки вероятность ошибки в ПО и в схеме - несколько различаются.... "несколько" - это на несколько порядков, имхо Quote Ответить с цитированием Share this post Link to post Share on other sites