Наверное многие слышали историю, рассказанную М. Задорновым в одном из своих выступлений, про трех поросят выпущенных в американской школе с номерами 1, 2 и 4 с панчлайном о том, как полиция долго искала поросенка номер 3.
Мое знакомство с компьютерами типа IBM PC происходило по похожему сценарию. В юности (начало 90х), в скудной литературе регулярно мелькали процессоры 8086(8088) и 80286, 386, затем 486 и т.д. Однако процессор 80186, который было бы логично ожидать не попадался. Лишь однажды, в какой-то плохо переведенной книге вскользь упомянули, что 80186 обычно не используются в персональных компьютерах, а устанавливаются в оборудование. Ну на нет и суда нет.
И вот, по прошествии тридцати лет, пришлось залезть внутрь одного прибора разработки конца 80х. Это был источник постоянного тока, мощностью 30 кВт (1250V/30A), с управлением по последовательному порту, с экраном, энкодером и меню – Advanced Energy MDX II 30kW. Ну
сломался и сломался, всё-таки 30 лет работал. Однако, залезть внутрь пришлось именно
из-за того, что просто так, заменить ящик на ящик не получается, т.к. через вышеописанные
интерфейсы он включен в общую систему управления, лезть в которую уже очень не
хотелось.
Внутри, помимо силовой части, я обнаружил весьма примечательную плату, которая может представлять наглядный иллюстрацию прогресса, ибо по сути является «дискретным микроконтроллером». Плата многослойная, размером примерно лист А4, весьма внушительного веса и плотно забитая чипами.
Почетное место в центре занимает сам 80С186 процессор. Литера С означает вариацию, выполненную по CMOS технологии. Помимо этого на борту есть:
ПЗУ, ОЗУ, Порты ввода-вывода (gpio), Последовательный порт, АЦП, Аналоговый мультиплексор, ЦАП, Часы реального времени и кварцевый генератор на 32 Мгц (у 80186 схема тактирования внутри).
Насколько я могу судить, основное назначение этого «микроконтроллера» - обеспечить управление выходными режимами источника, их мониторинг, коммуникацию с внешним миром и меню. Никакой цифровой обработки сигналов там особо нет, силовая часть управляется аналоговым ШИМ контроллером UC3825 (на другой плате), который в свою очередь получает опорный сигнал с DAC. Источник умеет две вещи: линейно поднимать напряжение или ток (Ramp) и удерживать его на достигнутом уровне (Run). Также в нем есть режим работы по мощности, который, вероятно, реализуется через процессор (но это не точно). Помимо этого, можно программировать предельные режимы по току и напряжению, что позволяет переходить из контроля напряжения (CV) в контроль тока (СС), которые также задаются программно.
Источник в итоге удалось вернуть к жизни. Но меня не оставляет в покое то, сколько человеко-часов, и какой квалификации нужно было затратить, чтобы разработать такую плату (без интернета и поиска по документации), и то насколько это тривиально сейчас и доступно буквально школьнику. Сейчас такой функционал доступен почти в любом Arduino и точно есть в самых дешевых платах типа BluePill. Имеющиеся там гораздо более продвинутые таймеры, генерирующие ШИМ сигнал самостоятельно, а также быстрые синхронные АЦП, позволяют сейчас строить импульсные блоки питания с прямым цифровым управлением, и это даже без применения специализированных контроллеров.