kreef писал(а): Вс июн 18, 2023 02:05
Это здорово! Пока все равно по существу писать нечего (жду лампы), расскажу свою историю с электроникой и программированием.
В школе (как и многие одноклассники в то время) мог по схеме спаять радиоприемник, но не более того - если не заработал сразу, то выяснить где проблема не мог.
В институте друг с физфака (а я был на биофаке), притащил книжечку про персональный компьютер "Радио 86РК" со схемами, и, главное, с ассемблерными кодами для процессора. И еще был журнал Моделист-Конструктор со схемой компьютера Специалист. Купили мы микросхемы у барыг на Митинском рынке. Я спаял. Естественно не работает. Купил осциллограф (за 105 рублей!) И тыкая осциллографом понял, насколько вся эта цифровая техника проста в своем внутреннем устройстве, гораздо проще, чем аналоговая. Осциллограф глаза раскрыл на то, что происходит внутри схемы. Ни физики, ни электроники особо знать не надо, там чистая логика. Нашли ошибки в монтаже, все заработало. Ассемблер под него освоил, а потом, по инерции, и С, и С++ под большие компы с виндой.
Потом долгое время был уверен, что все это радиолюбительство умерло окончательно, особенно с появлением SMD компонентов, мелких, миллиметрового размера деталек без проволочных выводов, я считал что их дома невозможно паять, да и бытовая электроника перестала быть дефицитом. Но тут случилась новая революция, появление копеечных (50-100 рублей) микропроцессоров (ATMega и компания), и оказалось, что все это отлично паяется дома, платы изготовить можно дома "лазерно-утюжным методом" (тот, кто его придумал - настоящий гений!) Но и это в прошлом, сейчас китайцы за копейки платы любой сложности сделают по вашим GERBER файлам, заказываю иногда, программы типа бесплатной DeepTrace кардинально облегчают процесс и практически исключают ошибки разводки плат. А вот появление Arduino и компании, на мой взгляд, это уже шаг в сторону деградации этого дела, хотя, уверен, многие не согласятся...
Вообще, когда с головой влезаешь в какую-нибудь тему, пусть даже далекую от основной специальности, тратишь время типа как на ненужное что-то, такие вещи не пропадают даром, все равно рано или поздно во что-то полезное оно выливается. Мне умение писать программы очень помогает в основной работе. Для большинства коллег-биологов это темный лес, а мне проще написать программу для тех вещей, что они делают в рукопашную или для чего они ищут готовое (и неудобное или платное) решение.
Хороший путь Вы прошли в электронике и программировании!
А я в институте постигал азы ещё ламповой электроники. Правда, тогда в ходу были уже и транзисторы, и микросхемы стали появляться. А когда после института пришёл на работу в НИИ, то там во всю шли разработки на микросхемах малой и средней степени интеграции. Потом стали появляться БИСы.
Мне довелось заниматься разработками в различных областях как аналоговой электроники, так и цифровой. В частности, разрабатывал видеотракты для различных сканеров и полиграфических аппаратов, но это было ещё в 80-е годы. Довелось работать и с одними из первых линейных ПЗС отечественного производства, и с японскими. Так что на видеосигналы, которые были на выходе у разных ПЗС, я за более, чем 10 лет работы в этой области, насмотрелся по осциллографу и изучил их вдоль и поперёк.
Сигналы с нашей линейной ПЗС 1200ЦЛ2 и с японской (наш аналог 1200ЦЛ6) различались, как небо и земля. У нашей ПЗС был так называемый "уровень сброса" порядка минус 12 Вольт, который, на самом деле, не был стабильным, а потому его надо было перед считыванием сигнала с каждой ячейки фиксировать и вычитать из сигнала считываемой следом ячейки.
Уровень "чёрного" (темновые токи ячеек) тоже был у каждой ячейки свой и ещё изменялся в зависимости от температуры. Поэтому, перед началом считывания строки, линейка затемнялась и производилось считывание и запоминание темновых сигналов всех ячеек, которые потом вычитались из общего сигнала уже в процессе считывания реального изображения. Но и это ещё не всё. Максимальный "белый" сигнал соответствовал примерно уровню минус 11,80 - минус 11,90 Вольт (у каждого ПЗС уровень насыщения мог быть свой) и у каждой ячейки была своя чувствительность, плюс большой вклад вносила неравномерность освещения строки от лампы (тип лампы я уже не помню). Поэтому перед началом работы считывался ещё и эталонный белый сигнал от специальной белой шторки, запоминался в памяти для каждой ячейки и потом в процессе считывания строки изображения сигнал, очищенный от сброса и темновой составляющей, умножался на индивидуальные коэффициенты для каждой ячейки строки, учитывающие неравномерность чувствительности и освещённости. Выделенный таким образом "чистый" сигнал (максимум 100 - 200 мВ, в зависимости от экземпляра линейки) усиливался до 2,048 В или до 10,24 В (в зависимости от опоры применяемого АЦП) и подавался на АЦП.
В японских линейках (и наших аналогах 1200ЦЛ6) сигнал был совсем другой: уровень сброса ячеек составлял всего несколько десятков мили Вольт, а максимальное значение "белого" сигнала достигало 1,5 ... 2 В. С таким сигналом работать было на порядок проще. Там аналоговая обработка была уже не нужна и сигнал подавался сразу на согласующий усилитель (который больше служил для согласования выхода линейки со входом АЦП и небольшой подстройки уровня сигнала линейки в зависимости от конкретного экземпляра), далее оцифровывался и вся последующая обработка сигнала (все вычитания и умножения, описанные выше) велись в цифровом виде.
Ну, а потом уже с этим сигналом, очищенном от всяких неравномерностей темновых токов, неравномерностей чувствительности, освещённости и от влияния температуры, работали наши программисты.
В матричных ПЗС, насколько мне было известно из общения с коллегами из НИИ телевидения, обработка сигнала была намного проще. Они все эти неравномерности просто не учитывали, т.к. требования к телевизионному видеосигналу были гораздо менее жёсткими, чем у нас. А наши наработки (и не только с видеосигналами от ПЗС, но и от других датчиков) использовались в различных сканерах и в полиграфических аппаратах.
Да, аналоговая электроника на порядок сложнее цифровой, но тем она и интереснее. Хотя, и цифровые устройства тоже бывают очень сложными. Всё зависит от конкретики.
Когда появились микропроцессоры, микроконтроллеры, сигнальные процессоры и микросхемы программируемой логики, то всё это было интересно осваивать и создавать свои устройства на основе этих достижений электроники. Но в более ранние времена, когда приходилось разрабатывать усилители видеосигнала на транзисторах и операционниках, самим делать параллельные АЦП и АЦП последовательного приближения на рассыпухе, или делать различные АЛУ и цифровые умножители на микросхемах малой и средней степени интеграции, то это требовало от разработчика гораздо больших знаний и умений. Но помню, когда только стали доступны одни из первых сигнальных процессоров TMS32010 и мне удалось весь тракт видеосигнала (кроме аналоговой части) спроектировать в одной микросхеме, то это показалось чудом. Вместо кучи плат всего несколько микросхем на одной небольшой платке! А появление ПЛИС фирм Xilinx и Altera вообще позволило чуть ли не всю электронику, занимавшую целые стойки, размещать в одной микросхеме. Фантастика! Правда, это была уже совсем другая тематика, существенно отличающаяся от моей предыдущей работы.
А сейчас всё упростилось настолько, что профессия электронщика, по сути дела, стала уже ненужной. Всё свелось к выбору готовой микросхемы и к написанию программы. Правда, на стыках с физикой разработчикам ещё приходится мозги включать, но потом всё идёт по накатанным шаблонам. Теперь любой программист может выбрать нечто подобное Arduino и писать свои программы сколько его душе угодно, совершенно не вдаваясь в тонкости электроники. Но, думаю, что и программистам скоро придёт конец. Они сейчас точно так же, как и электронщики ранее, пилят сук, на котором сидят и создают программы, которые позволят любому смертному купить очередную "ардуину" и только сказать: Алиса, хочу то-то и то-то...
А пройдёт ещё сколько-то лет и ни простой смертный, и никто другой уже, наверное, не только мысль свою сформулировать не сможет, но и не сможет понять, а чего же он хочет? Ничего не поделаешь, прогресс!