Обновить
35
0
Михайлов Алексей Анатольевич@MinimumLaw

Linux Kernel, Bare metal, Embedded developer

Отправить сообщение

... собственно проводников с 1.5 гигабитами/c будут, очевидно, максимально короткими: микросхема рядом с разъёмом.

Да, но вопрос - вы воткнули свой кабель со своим телевизором. Работает и не сбоит. Отлично - в продакшн(с)?

Дела в том, что у пользователя будет другой кабель. И другой монитор, а то и телевизор лохматых годов выпуска. И если вдруг его многократно чиненный говно-кабель работает с допотопным DVD плейером и странным телевизором из Великой Поднебесной, но срывает синхру с вашим мега-крутым изделием, то... С его позиции не работает ваш прибор. Это он не работает, так как должен, и как могут другие.

Как бы не хотелось крикнуть, что хреновое оборудование - это проблемы заказчика, но прав всегда потребитель. И единственнное, что может (и должен!) сделать уважающий себя разработчик - это убелиться в том, что его изделие не просто работает у него на столе, но и соответствует стандартам. И будет работать со всеми возможными кабелями, при всех возможных питаниях, во всех возможных условиях. Стандарты, собственно, ровно для того и пишутся.

О, вам, как любителю, перестало хватать...

Мне, как любителю хватает пары тестеров. Для домашней электрики, в машине поковыряться, и прочее, что делается сугубо для себя.

А вот мне, как профессионалу, нужно серьезное контрольное оборудование. Вернитесь выше по треду - все началось с того, что обсуждалась возможность удаленной РАБОТЫ. А это подразумевает профессиональную, а не любительскую деятельность. И мои тезисы не о том, можно ли что-то или нельзя любителю. Ему можно все (что кодексам не противоречит). Мои тезисы о профессиональной работе.

Опять же - сложившуюся практику мы вынесем за скобки. На такое положение вещей, как сейчас есть свои причины. Но в целом это не правильно. Но опять - это уже далеко за рамками данной статьи.

Хорощо, давайте грубо продолжим ваш расчет. 1,5 Гигабита при 24 битах и 60Гц развертки - ОК. Но это при 60Гц, а стандарт предусматривает 120 - таким образом уже 3. Но не 10. Конечно, потому что есть позабытое ныне 3D. А это столько на каждый глаз - и вот уже 6. А теперь вспомним, что есть HDR... Вообще просто почитайте спеки. Там все есть.

Ну и помимо этого - а вы можете назвать доступный любителю осцил, на котором можно уверенно смотреть фронты и джиттер у полуторагигабитного сигнала? Я так отстал от жизни, что сегодня это уже возможно? Это не говоря о той же PCIe, да хоть не четвертой, а третьей ревизии. Там того больше.

... на печатной плате вырез по даташиту сделай и готово.

Если это удовлетворяет заказчика, то да. Но всегда есть риск через некоторое время получить интересный вопросик, типа "Слушай, у нас тут заказчик говорит, что наш модуль своим излучением на пятой гармонике им сигнал какой-то валит - надо что-то сделать." А мощность там не снизить - и так на пределе работало. Вот тут и начинается самое интересное...

Так что это работает. Но, к сожалению, не всегда. Впрочем как к сожалению - скорее к счастью. Ибо это та самая вилка - или в тех, кто наконец разбирается и перестает вслепую копировать решения (универсальные, а потому не оптимальные) из документации или сливается и пропадает с радаров плодя взаимную обиду.

... не браться за проекты уровня "РЛС с АФАР за пачку доширака"

Ну, за такие проекты точно браться не стоит. Их мы как раз вчерашним студентам оставим. Которые не понимают сложность, а потому готовы рвать и метать, доказывая всему миру что круче них только вареные яйца (и то, если варили достаточно долго). Но опять - это тема совсем другого разговора.

Давайте так - у вас на плате SOC. Уровня IMX8 от Freescale, чтоб совсем в сложное не лезть. И хотим джентельменский на сегодня набор интерфейсов - WiFi, Bt, HDMI, Дисплей хороший на MIPI, PCIe, SATA на всякий случай, и куда же без USB3 с PowerDelivery. Вы считаете разработку такой системы нишевой и узкоспециализированной? Ну может быть для вас оно и так. А для многих именно это суровая рутина.

Даже если беспроводка будет в виде съемных модулей (что в общем случае не всегда так - бывает что и она в виде микросхем делается, с внешними усилителями - и тогда EVM точно подлежит измерению и контролю). Но да ладно - а PCIe? А SATA? А MIPI? Если интерфейсы у нас не работают или работают нестабильно как мы поймем причину без контрольных приборов? А еще круче - все сразу заработало после сборки - отлично, но где гарантии что в другим модулем WiFi все работать будет? А они только в подтверждении качества путем прохода тестов. Т.е. мы должны быть уверены, что в допустимые интервалы наше решение укладывается (а лучше с максимальным запасом). И разработчик тут еще как при чем. Целостность сигналов - это его работа.

Если интерфейс завелся на 640х480, он заведется и на fullHd.

Я не буду спорить, просто скажу что в моей практике был случай, когда 1024x768 еще работал, а 1280x720... Тоже работал, но так что четко по любимой присказке - Если работает, но с проблемами - значит не работает совсем.

 Но их никто вручную с нуля не разрабатывает.

"Никогда не говори никогда" (с) Проблем зватает и с использованием интерфейсов. Есть великая разница между сделал и забыл, и сделал для использования другими людьми. Формально, даже поставив у себя на плате простую PHY, с встроенным в разъем трансформатором для Ethernet мы должны быть уверены в том, что соответствуем требованиям, предъявляемым в этим сетям. По всем параметрам. От допустимой длинны кабеля до перенапряжения и грозозащиты.

Та же ерунда с USB. И черт бы с ней с третьей и выше - со второй. Даже при возможности изготовить оснастку, которая в принципе описана - вопрос курицы и яйца. Или кто контролирует контроллеров. Как быть уверенным в том, что оснастка не врет? В любом случае нужен сторонний арбитр.

Домашняя лаборатория в этом очень плохой советчик. Впрочем, не спорю - можно не париться. Китайцы, в подавляющем большинстве, не парятся и ничего. Тут главное не впасть в тот путь, которым прикладное ПО пошло. Когда по сути тот же функционал начинает требовать кратных ресурсов. Т.е. по сути это уже вопросы инженерной этики и культуры. А это уже не технические, а человеческие качества. Их надо выносить за пределы данного разговора.

И да, безусловно есть проекты, которые можно сделать и в домашней мастерской. Никто с этим не спорит. Возможно, что их и реально большинство и они самые востребованные. Не уверен, но спорить не готов. А вот то, что они не очень интересны - это точно. Во всяком случае для тех, кто через эту планку уже перешагнул. Впрочем, эти люди и в простых проектах найдут грабли. С теми же катушками, конденсаторами и трассировкой цепей DC-DC преобразователей. И уж поверьте, работать с такими мне, как embedder'у, сильно проще и интереснее чем с остальными.

Нет, просто шашек давно в руках не держал. В специализированных САПРах все стало совсем по другому. Да, местами сильно проще, но если этим не заниматься, то... Одним словом теперь у меня рядом есть схемотехники-конструкторы. И мы коллективно творим. Собственно не только мы. Есть конструкторы-механики, есть прикладные программисты. Ну сложно, практически невозможно в современном мире быть Ленардо да Винчи.

Важно чтобы коммандный дух был. И цели общие. И ответственность каждого исполнителя (включая управленцев). Как бы пафосно это не звучало. Но серьезные вещи можно делать только так.

Что такое evm я вообще знать не знаю, и гуголь, кстати, тоже.

Это потому, что у вас гугл не на то обучен. Посмотрите. И да, радиосвязь тоже часть схемотехники. И готовые решения после сборки все равно должны сертифицироваться, потому измерения нужны.

Не хотите радиосвязь - не надо. Возьмите HDMI или MIPI и сделайте плату с ними. Тоже классно - 4K в HDMI - всего-то 18Гигабит. Но даже если опустим планку - FullHD - 10Гигабит. Сущая мелочь для китайского осцилографа, не находите?

Я же говорю - что-то можно сделать и дома. Но это очень малая часть, на самом деле. Как только хоть что-то посерьезнее и... Все, приехали... Или "от фонаря, методом проб и ошибок", или ищи то, чем это можно контролировать.

Я бы очень хотел посмотреть, как вы те же WiFi c Bluetoth одним только осцилографом (даже очень крутым и брендовым) отстраивать будете. Как EVM померяете на соответствие стандартам, как маски спектральные, как приемный тракт отстроите...

Короче серьезная схемотехника в домашней лаборатории не делается. Это просто факт. И никакие макетки тут не помогут. Да, "малую автоматизацию" можно, но это очень малая часть схемотехники.

Это не самые плохие сочетания, которые однозначно имеют право на жизнь. Схемотехник + конструктор плат сегодня жизненно необходимо. Как, впрочем, и не только сегодня. Иначе это не работа, а кошмар причем для обоих. Но конструктор плат, должен оставаться конструктором плат и не лезть в корпуса, кабели, разъемы и прочее. Иначе это попытка откусить излишне большой кусок, а она всегда заканчивается одинаково. Если и не подавишься, то уж удовольствия точно не получишь. А заниматься нелюбимой работой... То же про схемотехник + низкий уровень. Хорошее сочетание. Схемотехнику его полезно знать для написания тестов, embedder без схемотехники тоже никуда, но... Все же надо выбрать приоритет. Писать серьезный код надо не отвлекаясь на схемотехнику. Иначе что-то будет страдать. Хорошо, когда схемотехник кодом способен обосновать перед embedder'ом свое решение. Просто отлично. Как и embedder, способный с помощью приборов указать на сложные моменты в схемотехнике (привет гонки, дребезг и прочие радости). Но все же каждый должен быть занят своим делом. Я уже не смогу растрассировать не то, что DDR - скорее всего и с USB будут проблемы, но я знаю как это контролировать.

Как-то так с моей колокольни. Хорошо знать смежные области. Но серьезно заниматься надо одной.

Конечно есть. Если бы их не было совсем, то отрасль бы точно умерла. Да и лепрозорий... Мало нас... Откровенно мало... По сути штучные специалисты, устанавливающих BUS FACTOR проекта в единицу. Что очень плохо. Потому заказчики сюда всеми силами тянут прикладников. Да, получается криво и косо, за то BUS FACTOR стремится к нулю. Любого заменить - как чихнуть. Потому и изделия получаются... Ой какие, странные... За то с оценкой рисков и ворохом бумаг по работам над их минимизацией... Но уж если найдешь то место, где тебе доверят спроектировать и довести до конца, потом повоевать в производством, чтоб оптимизацией не испортили... А потом, когда твоим начинают пользоваться и не замечать, удивляясь "Как, тут еще и программа есть?" - это отдельный вид оргазма. А вместе с этим, конечно, и зарплаты добавляются. У нас ведь ровно наоборот - в 40 лет только нормально работать начинаешь. Правда для этого надо в 20 начать и не на что другое не отвлекаться. А чувствовать себя винтиком... Не, я инженер. И делаю то, чего до меня в природе не существовало. Копировать чье-то решение банально не интересно.

P.S.

А HardFault - это один из самых простых случаев. Впрочем, коллегам об этом рассказывать бессмысленно. Они и так знают. Есть куда как более сложные проблемы.

Не топчитесь по любимым мозолям. Зарплаты в embedded (по меньшей мере в России) сильно уступают зарплатам в остальных IT. Тут IT не чувствуются. Вот плата - ее в руках покрутить можно. Вот чип на ней - он столько-то стоит. И знаем сколько стоит его монтаж. А как тот софт пощупать? Потому и отношение к нему, как к чему-то второстепенному. Его цена должна быть "размазана" на всю массу изделий, а никто и никогда не знает сколько будет эта масса... Ну и понятно, что не съэкономить здесь "эффективному менеджеру" - это себя обокрасть.

Вот и получается, как с учителями. Есть меньшинство, которое по призванию. Но оно реально меньшинство. Есть те, кому пофиг - за эти деньги делаю как умею. Есть те, кто сложные времена пересиживает - перекантоваться несколько месяцев, пока другое не найдется. Но как=то отрасль живет, даже не смотря на это.

Говорят у кого-то есть... Автоматизированные сбросы, удаленный доступ к ПК с JTAG и прочее. Но по факту, в настоящем embedded удаленка возможна, но на последних этапах. Когда железо отлажено, остался только софт. И проект позволяет ПО на столе отлаживать и ему сигналить. Т.е. по сути фантастика.

Да, embedded - это про офис (а чаще про завод, стройплощадку, трактор или что-то подобное). Так что если любишь embedded, то и поездки на работу полюбить придется. Приборы, которые стоят как пара квартир и все такое.

Открыл статью с мыслью - ну во, опять... Однако нет, все по делу. С позиции опыта на порядок большего (25 лет) могу сказать - все так. Хорошо, что наша ниша воспроизводится. Но все же несколько мыслей не могу не высказать.

  1. Человек-оркестр (схемотехник, конструктор, программист и технический писатель в одном флаконе) - очень распространенное требование. Но лет с 5 практики соответствовать ему - очень не хорошо. Это будет ограничивать вас, как профессионала. Мир схемотехники огромен, если в нем жить. Hi-Power, RF, Hi-Speed - и у каждой ветки свои ответвления. Конструирование - опять отдельный мир. При чем оно разное, для Consumer, Industriall, Military, Automotive и прочего, то же про программирование. В каждой сфере есть свой поход, и свое обоснование. Ну и документация. Писать ее должен (нет обязан) автор, но... Если документация должна быть безупречной, то в какой-то момент она должна уйти к человеку, на этом специализирующемся. В определенный момент надо все же определиться какой дорожкой стоит идти дальше, а не метаться как обезьяне из анекдота.

  2. До сих пор тезис о том, что документация бывает либо русской, либо правильной остается верен. Документация всегда отстает от передовых новинок, и уж тем более она очень плохо переводится. Более или менее качественный перевод есть на то, что становится классикой, но и тут оригинал всегда лучше.

Пожалуй из основного все. Рад за то, что в нужный момент у вас в руках оказалась та самая случайная книга. Случайности, они почти всегда не случайны. Удачи вам в работе. Интересных, адекватно оплачиваемых проектов.

А зачем вы тянете с операционную систему на мега крутом и защищенном языке ABI от пропахшего нафталином С? Может если этого не делать, то и ассемблерные вставки не понадобятся, и unsafe блоков будет поменьше?

По итогу получается, что по сути то же самое, но с самого начала и на новом языке. Все заявленные плюсы сразу куда-то теряются и цели смены языка становятся ну совсем не очевидны.

Вопрос, в целом, риторический. Ответа особенно не требует.

Для "домашней автоматизации" MIPI был бы интересен, но... Производители матриц так норовят сделать свой уникальный разъем. С тем же LVDS проще. А чтоб по минимуму зависеть лучше распространенные стандарты (желательно с DDC) типа (e)HDMI или (e)DP.

По камерам - ну в принципе та же история. Там, правда еще и зоопарк форматов (включая упакованные) в данных. Как мне кажется более или менее универсального решения нет. Опять же - дабы иметь минимум проблем, я бы настоятельно рекомендовал USB камеру. Там тоже зоопарк, но интерфейс не в пример проще.

Ну конечно, "простой двоичный формат" рано или поздно должен (нет, обязан) был докатиться и до сюда. Впрочем, тут он уже был - PDF, DOC и прочий легион форматов. Правда использовался в основном не для исходного текста, но по сути это был лишь вопрос времени.

Будет ли это удобнее и быстрее? Очень спорный вопрос. Для компилятора может быть. Для человека... Возможно это будет незаметно, но удобнее наверняка нет. Все же исходный текст это текст, на языке близком к естественному (в отличии от машинных кодов, в которые он переводится компилятором). Тут, правда, начнет сказываться зоопарк языков. Оформление текста на Python'е и C весьма значительно отличается. Плюс проблема комментариев. Им тоже надо найти место и непротиворечивый вывод.

Можно экспериментировать. Кто знает - может за этой, сегодня очередной игрушкой, действительно будущее. А может просто тихо умрет, как многое другое.

С чего такое отношение к ВУЗам? Вы бы хотели попасть на операцию к хирургу-самоучке, который не знает анатомии человека?

Ты не поверишь (с)

А если серьезно, то я встречал и хирурга с дипломом, который мало чем отличался от самоучки мало знакомого с анатомией. Про автомобили - вообще говорить не о чем. Единственный автомобиль, который как-то разработан (условно) у нас и поставлен на конвейер блокирует руль в движении и дрожит рычагом КПП как последний эпилептик. Я видел дома, спроектированные современными дипломированными инженерами. К сожалению (или счастью) эта сфера за гранью моих интересов, но... Два других инженера, еще старой закалки, однако знающих современные реали и активно их применяющие... Короче избыточно дорого и при этом недостаточно надежно. Я не знаю, может быть какая-то другая анатомия или сопромат. Из какой-то параллельной вселенной.

Но это что-то из того, что меня касается в жизни. Потому мне сложно рассуждать. За то есть радиоэлектроника. И системное программирование. Это то, что кормит меня непосредственно. И эта та сфера, в которой я лично ежегодно наблюдаю выпускников. И не всяких, а только тех, кто с эту сферу пошел по зову сердца и готов остаться здесь со стартовой зарплатой примерно на уровне много бегающего курьера. И иногда наблюдать тех, кто бежит за длинным рублем. И знаете - вреда от того, что преподаватель при мелкой ошибке перечеркивает весь чертеж сильно больше, чем пользы. Особенно если преподаватель еще и злой старовер, который до сих пор заставляет чертить на ватмане. Ибо в остальных случаях перечеркнутый чертеж бесполезен совсем. Цена ошибки - это важно. Но важно не перечеркнуть - важно показать где ошибка, к чему это может привести, и заставить шестеренки шевелиться на тему как это исправить. Есть такие преподаватели? Ну есть. Только другая беда - диплом новоявленному инженеру нужен не как документ об образовании, а как некая "обязательная бумажка для устройства на работу, лучше на руководящую", да еще отмаза от армии. По итогу если так совпало, что и студент пришел за профессией, и препод попался уникальный - ну будет воспроизводство специалистов. И то не сразу. А через три-четыре года "доточки" на работе. Когда "взрыв в библиотеке", устроенный ВУЗом поуляжется, и набор важных, но отрывочных сведений в голове уложится по полочкам. И хорошо, если после этого еще останется желание делать что-то руками и головой.

Полагаю, что в любой другой отрасли примерно так же. Понятно, что взваливать вину исключительно на ВУЗы за сложившуюся ситуацию глупо. Но если вы считаете, что я не обосновал свою позицию - извольте. Я готов выслушать контр-аргументы. Только чуть подробнее, чем пренебрежительная позиция, с которой составлено ваше сообщение. Позиция "а я Д'Артаньян" - она понятна. Я с ней не спорю. А заявление "в задачи IT инженера входит только рисование кнопочек и форм для интернет-магазинов" - это именно про это. Инженерия это не только про профессионализм в своей сфере, это и про понимание важности и сложности устройства мира. Впрочем, именно я формочки и кнопочки для интернет-магазинов не рисую. У меня другие задачи. Сильно ближе к токам, потенциалам и полям.

И да, я не знаю что там в мире мат. моделей и компиляторов, но SCADA и медицинский софт мне достаточно хорошо известны. И знаете... Впрочем нет, это тема отдельного разговора, и, вполне возможно, мое частное ничем не обоснованное (кроме собственного опыта, который за доказательство не является) мнение. Тут рядом была отличная серия из пяти статей, как раз на эту тему. Да и история с тем же 737-MAX в этом плане очень показательна. Но еще раз - это мое частное мнение, скорее для курилки чем для обсуждения здесь.

Я бы согласился с таким подходом. Но, полагаю, и вы, и @real_dsplatonov согласятся с тем, что инженер - это не только про знание. Согласие принимать участие в качестве разработчика в проекте с таким целеполаганием не красит инженера. Хоть и звучит это, безусловно, несколько пафосно.

Впрочем, спорить не буду - профессиональная честь не перевесит голод. Если другой альтернативы нет, то нет и повода для разговора.

Да, но там во-первых надо реально работать, во-вторых до сколько-нибудь серьезных денег делать это долго (абсолютный минимум 10 лет), в третьих помимо инженерии воевать с бюрократией (и я даже не скажу какая из войн сложнее и масштабнее).

Вообще, складывается ощущение, что в России две вечные беды с дураками и дорогами - это только вершина айсберга. Один из моих учителей в конце 90-ых, начале нулевых отзывался об одной из реально разрабатывающих и производящих организаций.

Спрячу пожалуй, чтоб правила не нарушать

Они обречены. Там работают Жоры, Доры, Лоры и даже С*ки им не помогут. На мой удивленный взгляд пояснил.

  • Жены ответственных работников

  • Дети ответственных работников

  • Любовницы ответственных работников

  • Случайно уцелевшие квалифицированные инженеры

Применительно к той организации слова оказались пророческими. Еще лет семь они протянули и... Только в архивах...

Мне кажется, что к названным вами отраслям смело можно применять этот комментарий. Очень, правда, хочется надеяться на то, что "обречены" - это не по делу, а просто фигура речи. Но кто же это может гарантировать?

Это только один из возможных взглядов на проблему. При чем более свойственный куда как более возрастным людям. В 38 рановато так уж по старчески вещать о том, что "раньше было лучше".

Если вы сейчас поступаете или уже получили инженерную специальность, то знайте, что в большинстве крупных компаний ваши знания не нужны. 

Но сначала уясните - они не нужны не потому, что не нужны, а потому что у вас их не будет. Нравится это или нет, но конкретно сегодня диплом не показатель образования, а гарантия того что человек может минимум четыре года заниматься тупой, не интересной [ерундой], и даже иногда за это доплачивать. Как результат думать приходится не о том, чтобы "сломалась сразу после гарантийного срока", а "как бы оно этот гарантийный срок отходило". Ну и да - гарантия в один год на холодильник или газовую колонку - сегодня это даже не смешно. А в первую очередь именно это показатель качества подготовки проектировщиков.

Хотите быть очередным "как-нибудь за еду" - не вопрос. Хотите быть инженером в полном смысле этого слова - учитесь, но старайтесь совмещать в реальной работой. Желательно в тех местах, где проектируют и производят. Желательно со сроком гарантии от пяти лет. Правда там, традиционно, денег нет... Но тут, как обычно - или хайп и деньги или знания и гордость. Ну, если не нравится, то всегда можно в курьеры. И да, к софту это относится ровно так же.

Мне кажется, пророческая что Detroit: Become Human в данном списке обязательна.

Информация

В рейтинге
6 325-й
Откуда
Пушкин, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Инженер встраиваемых систем, Архитектор программного обеспечения
Старший
От 350 000 ₽