Наверное многие слышали историю, рассказанную М. Задорновым в одном из своих выступлений, про трех поросят выпущенных в американской школе с номерами 1, 2 и 4 с панчлайном о том, как полиция долго искала поросенка номер 3.

Мое знакомство с компьютерами типа IBM PC происходило по похожему сценарию. В юности (начало 90х), в скудной литературе регулярно мелькали процессоры 8086(8088) и 80286, 386, затем 486 и т.д. Однако процессор 80186, который было бы логично ожидать не попадался. Лишь однажды, в какой-то плохо переведенной книге вскользь упомянули, что 80186 обычно не используются в персональных компьютерах, а устанавливаются в оборудование. Ну на нет и суда нет.

И вот, по прошествии тридцати лет, пришлось залезть внутрь одного прибора разработки конца 80х. Это был источник постоянного тока, мощностью 30 кВт (1250V/30A), с управлением по последовательному порту, с экраном, энкодером и меню – Advanced Energy MDX II 30kW. Ну
сломался и сломался, всё-таки 30 лет работал. Однако, залезть внутрь пришлось именно
из-за того, что просто так, заменить ящик на ящик не получается, т.к. через вышеописанные
интерфейсы он включен в общую систему управления, лезть в которую уже очень не
хотелось.

AE MDX II вид лицевой панели с экраном и энкодером
AE MDX II вид лицевой панели с экраном и энкодером

Внутри, помимо силовой части, я обнаружил весьма примечательную плату, которая может представлять наглядный иллюстрацию прогресса, ибо по сути является «дискретным микроконтроллером». Плата многослойная, размером примерно лист А4, весьма внушительного веса и плотно забитая чипами.

AE MDXII - Плата процессора
AE MDXII - Плата процессора

Почетное место в центре занимает сам 80С186 процессор. Литера С означает вариацию, выполненную по CMOS технологии. Помимо этого на борту есть:

ПЗУ, ОЗУ, Порты ввода-вывода (gpio), Последовательный порт, АЦП, Аналоговый мультиплексор, ЦАП, Часы реального времени и кварцевый генератор на 32 Мгц (у 80186 схема тактирования внутри).

Насколько я могу судить, основное назначение этого «микроконтроллера» - обеспечить управление выходными режимами источника, их мониторинг, коммуникацию с внешним миром и меню. Никакой цифровой обработки сигналов там особо нет, силовая часть управляется аналоговым ШИМ контроллером UC3825 (на другой плате), который в свою очередь получает опорный сигнал с DAC. Источник умеет две вещи: линейно поднимать напряжение или ток (Ramp) и удерживать его на достигнутом уровне (Run). Также в нем есть режим работы по мощности, который, вероятно, реализуется через процессор (но это не точно). Помимо этого, можно программировать предельные режимы по току и напряжению, что позволяет переходить из контроля напряжения (CV) в контроль тока (СС), которые также задаются программно.

Источник в итоге удалось вернуть к жизни. Но меня не оставляет в покое то, сколько человеко-часов, и какой квалификации нужно было затратить, чтобы разработать такую плату (без интернета и поиска по документации), и то насколько это тривиально сейчас и доступно буквально школьнику. Сейчас такой функционал доступен почти в любом Arduino и точно есть в самых дешевых платах типа BluePill. Имеющиеся там гораздо более продвинутые таймеры, генерирующие ШИМ сигнал самостоятельно, а также быстрые синхронные АЦП, позволяют сейчас строить импульсные блоки питания с прямым цифровым управлением, и это даже без применения специализированных контроллеров.

Комментарии (55)


  1. dmitryrf
    07.05.2024 07:47
    +3

    Было бы интересно узнать что именно сломалось и как чинили


    1. ABRogov Автор
      07.05.2024 07:47
      +29

      Да, могу написать про это. Детектив там был серьезный, и с неожиданным финалом)) За два месяца пришлось сделать реверс-инжиниринг основной аналоговой и силовой частей (думаю ~90%). Лично для меня было интересно то, что построен он на мощных биполярных транзисторах по мостовой схеме с весьма непривычной для эпохим MOSFET and IGBT схемотехникой драйвера.


      1. dmitryrf
        07.05.2024 07:47
        +16

        Очень хотелось бы такой детектив прочитать!


      1. vvzvlad
        07.05.2024 07:47
        +9

        + за детектив


  1. evgenij_byvshev
    07.05.2024 07:47
    +2

    Но меня не оставляет в покое то, сколько человеко-часов, и какой квалификации нужно было затратить, что бы разработать такую плату (без интернета и поиска по документации)

    Я думаю, что с полной технической документацией на все компоненты у разработчиков этого устройства проблем не было.


    1. ABRogov Автор
      07.05.2024 07:47
      +3

      Я думаю в то время вся документация была бумажная, представьте себе эти толмуды. стоила она не дешево, как и сами чипы, разработка многослойной платы, ее производство и т.п. Прошивка там очевидно делалась на ассемблере. Конечно, это обычная реальная работа для специалиста, просто сейчас это всё стало совсем тривиальным, выродилось в несколько строк кода в ардуино-подобной среде. Может быть даже на скрэтч получится.

      Помню в брошюре, кажется по БК0010 было во введении указано, что этот бытовой компьютер может не про запускать игры, но и управлять какими-то технологическими процессами, типа включения чайника или полива. Как-то меня это тогда зацепило. Но с БК дело не пошло, т.к. на него у меня вообще не было документации, и взять её было негде. А вот когда появился первый 386ой, в библиотеке я нашел книгу Ассемблер для IBM PC (П. Абель, спал с ним), и там уже реально получалось выводить в LPT порт сигналы, мигать светодиодами. Казалось тогда совершенно чем-то нереальным)), ну в 9 классе в конце 90х, сами понимаете.

      И вот тут попалась эта плата из 80х, по сути контроллер именно для управления, а не просто для игры, расчета и отображения. Ну и выглядит она не плохо, если б не нужна была можно было бы на стенку прибить))


      1. Astroscope
        07.05.2024 07:47
        +4

        Ассемблер для IBM PC (П. Абель, спал с ним)

        Мне тоже нравится эта книга.


        1. Serhiooo
          07.05.2024 07:47
          +2

          моя настольная книга 90х. до сих пор на полке стоит


      1. Ivanii
        07.05.2024 07:47
        +4

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

        И протокол пульта "денди" тоже ей сканил с созданием замены капли на ИР13.


      1. Qetzlcoatl
        07.05.2024 07:47
        +4

        Я с БК-0010 столкнулся в 89 году в армии. Там параллельно заменяли 2 огромных стойки на ферротранзисторных ячейках на 1 Электронику-60, и параллельно пытались приспособить ДВК-3 и БК-0010 в качестве "терминалов" к стойками и/или Э-60. При этом производительность что ДВК, что БК не уступала производительности Э-60. :)

        БК была мощнее "базовой" ДВК, но к ДВК в наличии были и 8' и 5' дискеты, и теоретически она была более расширяема. Эх, молодость...


        1. malotchuev
          07.05.2024 07:47
          +1

          Восьми- и пятифутовые?! Боюсь себе представить =)


        1. SIISII
          07.05.2024 07:47

          Ну, ДВК-1 и БК-0010 на одном и том же микропроцессоре слеплены, если правильно помню, -- на К1801ВМ1. ДВК-2 уже на ВМ2.


    1. DanilinS
      07.05.2024 07:47
      +5

      Не особо много по трудозатратам. Там абсолютна типовая схема обвязки процессора. Шина адреса, данных и стандартный набор сигналов управления шиной. Периферия сажается на эти шины. Через обычный декодер адреса. Просто вы не застали эту эпоху. На самом деле логика цифровой части данного семейства практически однотипен с небольшими вариациями ( 4 чипа 8255 - это впечатляет! Суммарно 96 каналов дискретного ввода/вывода). А вот с аналоговой частью в части сопряжения скорее всего будет потрачено много времени. Хотя по большому случаю это не сложно. Трудоемко только.


  1. iliasam
    07.05.2024 07:47
    +12

    В старых модемах U.S. Robotics использовались процессоры 80186.
    А еще они были в HPC HP 200LX.


  1. mpa4b
    07.05.2024 07:47

    сколько человеко-часов, и какой квалификации нужно было затратить, что бы разработать такую плату

    Думаю, не очень-то и много, по крайней мере цифровую часть. Взять довольно-таки примитивный процессор, прицепить к нему память и IO (всё по даташиту) и готово. Даже школьник справится (ну по крайней мере я справлялся, когда был школьником, правда не с 186).


    1. iliasam
      07.05.2024 07:47
      +2

      Школьники разные бывают - https://habr.com/ru/articles/330052/ ))


    1. kox
      07.05.2024 07:47
      +1

      Предположу, что справлялись с Z80?)


      1. SIISII
        07.05.2024 07:47

        Ну, в 15-16 лет я справлялся с поиском неисправностей сначала в процах СМ ЭВМ, а затем и ЕС ЭВМ -- в первых несколько сотен, во вторых -- несколько тысяч микросхем... Так что вполне верю, что школьник сможет осилить примитивный микропроцессор


    1. UranusExplorer
      07.05.2024 07:47
      +4

      Думаю, не очень-то и много, по крайней мере цифровую часть. Взять довольно-таки примитивный процессор, прицепить к нему память и IO (всё по даташиту) и готово

      У нас в институте такая курсовая была, вот прям оно


  1. aabzel
    07.05.2024 07:47
    +3

    про трех поросят выпущенных в американской школе с номерами 1, 2 и 4 с панчлайном о том, как полиция долго искала поросенка номер 3.


    Обычно разбираешь схемотехнику российских коллег схемотехников и видишь designator(ы)
    DD1, DD2, DD3, DD5, DD6, DD7, DD9. (отсутствуют DD4 DD8 и т.п.)

    Видимо так и не освоили правильный порядок натуральных чисел в школе.


    1. Keeper10
      07.05.2024 07:47
      +4

      Может,  DD4 и DD8 были раньше, но в процессе рефакторинга их удалили?


      1. aabzel
        07.05.2024 07:47

        Тогда уж остальные номера тоже выровнять надо.

        Зачастую бывает так, что в Э3 видишь DD1, DD2 потом сраpу DD21, DD22 и снова DD32 DD33 и т.д.


        1. SIISII
          07.05.2024 07:47
          +3

          Если брать современные САПР, то они западные и на советское/российское оформление не рассчитаны; соответственно, надо править либо ручками, либо неким скриптом -- в общем, вполне возможно, но определённую степень геморроя составляет. Ну а если брать советскую документацию, она очень часто рисовалась вообще от руки, и перерисовывать десятки листов ради нумерации...


          1. DarkTiger
            07.05.2024 07:47
            +1

            перерисовывать десятки листов ради нумерации...

            придется, чтобы пройти нормоконтроль. Они на спецификацию смотрят очень пристально, а там все видно.


    1. garus_ru
      07.05.2024 07:47
      +1

      Первоначальный вариант - полная нумерация по порядку. Следующие итерации - что-то убрал, что-то добавил. Просто это удобно, когда D15, например, присутствует на всех вариантах и выполняет одну и ту же функцию и не надо лезть в документацию, что же D15 в этот раз делает. А D115, например, мог появиться позже, и он или дополняет D15, или полностью заменяет его.

      У советского изделия, например, встретился модуль, в котором было три транзистора Т1, два транзистора Т2. Всё потому, что модуль состоял из двух керамических плат, судя по всему разработанных ранее для разных изделий, на каждой из которых было по одному Т1 и Т2. Далее эти две керамические платы соединялись встык, и третий Т1 своими широкими контактами-лепестками соединял их между собой.


    1. nitro80
      07.05.2024 07:47

      Del


  1. slog2
    07.05.2024 07:47
    +6

    Еще один поросёнок на 80с188 (в панельке). Плата управления от станка. Входы-выходы, измерительные линейки, пропорциональное управление гидравликой. Куча логики упрятана в ПЛИС. В пустой панельке была энергонезависимая память и часы с батарейкой от Dallas. Когда эта плата сдохла мне оказалось проще сделать свою аналогичную по функциям, но на другой элементной базе, чем реверсинжинирить этот антиквариат.


    1. ABRogov Автор
      07.05.2024 07:47

      Поросенок что надо! А вот третье справа от процессора, похожее на флэш память это что?


      1. slog2
        07.05.2024 07:47

        Флэшка 28F400B5


  1. MaFrance351
    07.05.2024 07:47
    +5

    Вот такой модем на 186 процессоре дома завалялся..


    1. DarkTiger
      07.05.2024 07:47
      +1

      USR14400. 100$ на Митинке, как сейчас помню


  1. UranusExplorer
    07.05.2024 07:47
    +2

    В наше время клон 80186 от AMD разогнанный до 20/40 МГц в виде SoC можно найти в тайваньских промышленных контроллерах от ICP DAS и их клонах от Advantech (хотя не знаю, кто у кого спёр, возможно в обратную сторону было дело)

    Вот таких и других

    Там DOS-подобная ОС, и код под них компилируется древним компилятором Turbo C как раз для таргета 80186.


    1. WVitek
      07.05.2024 07:47

      На первой работе кастомные прошивки для этих контроллеров на (Open)Watcom C++ делал с использованием CodeBlocks в качестве редактора.
      Пруф: https://github.com/WVitek/W7188

      P.S.: Производитель ICP DAS предлагал для этих контроллеров на DOSовом Borland C++ писать, что уж совсем дико было.


      1. UranusExplorer
        07.05.2024 07:47
        +1

        Мы в свое время просто настроили любимые IDE чтобы этот Borland C++ запускалси компилировал в DOSBox'е при билде.


        1. WVitek
          07.05.2024 07:47

          У Watcom С++ получалось весь необходимый код уместить в один кодовый сегмент 64KiB, также он имел встроенную поддержку int64, что было весьма удобно при вычислениях с линейным временем (int64 timestamp - счётчик миллисекунд).


  1. aabzel
    07.05.2024 07:47

    Процессоров так много разновидностей, что я бы хотел предложить объединить наши познания и составить классификацию в этом реестре

    https://docs.google.com/spreadsheets/d/1pztt0Y6h62IAo6vEm7VCVCsu2gySOYglRZk4XugqYFQ/edit#gid=1532921950

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


    1. DarkTiger
      07.05.2024 07:47
      +1

      Чем Вам Википедия-то не угодила?
      И что за фантастика в этом документе в строке про Z80?


      1. aabzel
        07.05.2024 07:47

        Нет стабильной сортировки и возможности двигать колонки.


  1. radiolok
    07.05.2024 07:47
    +2

    Вот моя плата с 80186. Судя по внешнему виду - тоже какой-то пром. компьютер на много отсеков. В теории можно даже ПЗУ прочитать с микросхем, но руки не доходят - плата для красоты и истории лежит.


    1. ABRogov Автор
      07.05.2024 07:47

      Я со своей считал. Теперь мы с ней не расстанемся никогда. Там всё сделано на выводных элементах и весьма ходовых микросхемах, поэтому буду чинить до талого.


  1. MaFrance351
    07.05.2024 07:47
    +2

    Кстати, символично, что прямо сейчас в топе статья про девайс на чипе, совместимом со 186/188:

    https://habr.com/ru/companies/rshb/articles/812813/


  1. Nick0las
    07.05.2024 07:47

    Скорее всего описанная палата - универсальный модуль, который применялся данным производителем, а может и несколькими для управления различными устройствами. Отсюда и такая избыточность по переферии и вычислительным рессурсам.


  1. DIHALT
    07.05.2024 07:47
    +3

    Тащемта ничего сложного в разработке там нет. Это обычная mcu система. Есть шина данных, шина адреса. Вся периферия вешается параллельно на шд и какими-то битами на шину адреса, после чего, регистры всех этих портов ввода вывода начинают транслироваться в озу. Это если вкратце. Там конечно были свои заморочки.

    Все собирается как конструктор и самое сложное это развести все и спаять без косяков. Документация же это обычно талмуд, описывающий весь комплект СБИС. Ну в совке, по крайней мере. Тут может иначе было.

    На спектруме то же самое делали. Прикрутить какой-нибудь кр580вв55а и вот у тебя gpio. Ацп через буфер или то же gpio.


  1. levkib
    07.05.2024 07:47
    +2

    Трудность нахождения 80186 из-за того что на нем практически не выпускалось персональных компьютеров. Это в первую очередь был чип для использования в контроллерах и специальных устройствах. Соответственно малая распространенность в публичной среде.


  1. Igor_Hi
    07.05.2024 07:47
    +1

    Вот моя плата на 80С186. Древний ISA SCSI контроллер.
    Проц от AMD.


  1. mig_25
    07.05.2024 07:47
    +6

    Плата от графической станции Intergraph; иногда, видя подобное у меня возникает вопрос сколько умственных и физических сил ушло на проектирование подобного (и всякие платы медицинского оборудования из 80-ых 90-ых, томографов, ЭКГ итд), да и производство этой платы наверное было не из дешевых)


    1. Nick0las
      07.05.2024 07:47

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


      1. slog2
        07.05.2024 07:47

        Там слоёв минимум 6.


        1. SIISII
          07.05.2024 07:47

          Мне 200+ микросхем 155 и иже с ней серий удалось с достаточно грубыми (по современным меркам) нормами развести в 4 сигнальных слоях, плюс два слоя чисто под землю и питание. У наших ЕСок было больше слоёв, а вот СМки (и две первые модели ЕСок -- 1020 и 1030) делали на двухсторонних платах, и там микросхемы стояли очччень неплотно. Скажем, на ТЭЗе типа 1 (из 1020 и 1030) вмещалось до 24 микросхем (14-ногие, других тогда ещё не выпускали), а на точно таком же по размерам ТЭЗе от ЕС-1066 -- до 62 16-ногих. Надо полагать, у буржуев было плюс-минус то же самое на аналогичном технологическом уровне.


    1. ABRogov Автор
      07.05.2024 07:47

      Мне кажется они наоборот, вместо разработки спец чипа решили "сэкономить" использовав обычную логику 74 серии. А сколько оно потребляет...


      1. slog2
        07.05.2024 07:47
        +1

        В те годы разработка чипа это невероятно дорого было. Да и сейчас не дёшево.


  1. slog2
    07.05.2024 07:47
    +2

    Вот ещё плата на 80с188. В промышленных контроллерах очень популярный процессор был.


  1. olegy
    07.05.2024 07:47

    Встречал 186 на контроллерах Allen-Bradley, Siemens выпущенных в 80-х. Но в каком то экзотическом контроллере (вроде Gilbarco hydro controller) видел SystemOnChip - на базе 186 или 188 с памятью и какой то периферией в одном чипе


  1. ulovka22
    07.05.2024 07:47
    +2

    Когда-то был поражен, обнаружив в стиральной машине процессор Motorola 68000, как в Макинтоше.