Наверное многие слышали историю, рассказанную М. Задорновым в одном из своих выступлений, про трех поросят выпущенных в американской школе с номерами 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. Имеющиеся там гораздо более продвинутые таймеры, генерирующие ШИМ сигнал самостоятельно, а также быстрые синхронные АЦП, позволяют сейчас строить импульсные блоки питания с прямым цифровым управлением, и это даже без применения специализированных контроллеров.
Комментарии (55)
evgenij_byvshev
07.05.2024 07:47+2Но меня не оставляет в покое то, сколько человеко-часов, и какой квалификации нужно было затратить, что бы разработать такую плату (без интернета и поиска по документации)
Я думаю, что с полной технической документацией на все компоненты у разработчиков этого устройства проблем не было.
ABRogov Автор
07.05.2024 07:47+3Я думаю в то время вся документация была бумажная, представьте себе эти толмуды. стоила она не дешево, как и сами чипы, разработка многослойной платы, ее производство и т.п. Прошивка там очевидно делалась на ассемблере. Конечно, это обычная реальная работа для специалиста, просто сейчас это всё стало совсем тривиальным, выродилось в несколько строк кода в ардуино-подобной среде. Может быть даже на скрэтч получится.
Помню в брошюре, кажется по БК0010 было во введении указано, что этот бытовой компьютер может не про запускать игры, но и управлять какими-то технологическими процессами, типа включения чайника или полива. Как-то меня это тогда зацепило. Но с БК дело не пошло, т.к. на него у меня вообще не было документации, и взять её было негде. А вот когда появился первый 386ой, в библиотеке я нашел книгу Ассемблер для IBM PC (П. Абель, спал с ним), и там уже реально получалось выводить в LPT порт сигналы, мигать светодиодами. Казалось тогда совершенно чем-то нереальным)), ну в 9 классе в конце 90х, сами понимаете.
И вот тут попалась эта плата из 80х, по сути контроллер именно для управления, а не просто для игры, расчета и отображения. Ну и выглядит она не плохо, если б не нужна была можно было бы на стенку прибить))
Astroscope
07.05.2024 07:47+4Ассемблер для IBM PC (П. Абель, спал с ним)
Мне тоже нравится эта книга.
Ivanii
07.05.2024 07:47+4До сих пор валяются дома толстенные книжки от БК, документация была доступна и проста, я программировал в машинных кодах, один из проектов был чтение кодов ИК пульта, другой подбор кода телевизора, оба успешно.
И протокол пульта "денди" тоже ей сканил с созданием замены капли на ИР13.
Qetzlcoatl
07.05.2024 07:47+4Я с БК-0010 столкнулся в 89 году в армии. Там параллельно заменяли 2 огромных стойки на ферротранзисторных ячейках на 1 Электронику-60, и параллельно пытались приспособить ДВК-3 и БК-0010 в качестве "терминалов" к стойками и/или Э-60. При этом производительность что ДВК, что БК не уступала производительности Э-60. :)
БК была мощнее "базовой" ДВК, но к ДВК в наличии были и 8' и 5' дискеты, и теоретически она была более расширяема. Эх, молодость...
SIISII
07.05.2024 07:47Ну, ДВК-1 и БК-0010 на одном и том же микропроцессоре слеплены, если правильно помню, -- на К1801ВМ1. ДВК-2 уже на ВМ2.
DanilinS
07.05.2024 07:47+5Не особо много по трудозатратам. Там абсолютна типовая схема обвязки процессора. Шина адреса, данных и стандартный набор сигналов управления шиной. Периферия сажается на эти шины. Через обычный декодер адреса. Просто вы не застали эту эпоху. На самом деле логика цифровой части данного семейства практически однотипен с небольшими вариациями ( 4 чипа 8255 - это впечатляет! Суммарно 96 каналов дискретного ввода/вывода). А вот с аналоговой частью в части сопряжения скорее всего будет потрачено много времени. Хотя по большому случаю это не сложно. Трудоемко только.
mpa4b
07.05.2024 07:47сколько человеко-часов, и какой квалификации нужно было затратить, что бы разработать такую плату
Думаю, не очень-то и много, по крайней мере цифровую часть. Взять довольно-таки примитивный процессор, прицепить к нему память и IO (всё по даташиту) и готово. Даже школьник справится (ну по крайней мере я справлялся, когда был школьником, правда не с 186).
kox
07.05.2024 07:47+1Предположу, что справлялись с Z80?)
SIISII
07.05.2024 07:47Ну, в 15-16 лет я справлялся с поиском неисправностей сначала в процах СМ ЭВМ, а затем и ЕС ЭВМ -- в первых несколько сотен, во вторых -- несколько тысяч микросхем... Так что вполне верю, что школьник сможет осилить примитивный микропроцессор
UranusExplorer
07.05.2024 07:47+4Думаю, не очень-то и много, по крайней мере цифровую часть. Взять довольно-таки примитивный процессор, прицепить к нему память и IO (всё по даташиту) и готово
У нас в институте такая курсовая была, вот прям оно
aabzel
07.05.2024 07:47+3про трех поросят выпущенных в американской школе с номерами 1, 2 и 4 с панчлайном о том, как полиция долго искала поросенка номер 3.
Обычно разбираешь схемотехнику российских коллег схемотехников и видишь designator(ы)
DD1, DD2, DD3, DD5, DD6, DD7, DD9. (отсутствуют DD4 DD8 и т.п.)
Видимо так и не освоили правильный порядок натуральных чисел в школе.Keeper10
07.05.2024 07:47+4Может, DD4 и DD8 были раньше, но в процессе рефакторинга их удалили?
aabzel
07.05.2024 07:47Тогда уж остальные номера тоже выровнять надо.
Зачастую бывает так, что в Э3 видишь DD1, DD2 потом сраpу DD21, DD22 и снова DD32 DD33 и т.д.SIISII
07.05.2024 07:47+3Если брать современные САПР, то они западные и на советское/российское оформление не рассчитаны; соответственно, надо править либо ручками, либо неким скриптом -- в общем, вполне возможно, но определённую степень геморроя составляет. Ну а если брать советскую документацию, она очень часто рисовалась вообще от руки, и перерисовывать десятки листов ради нумерации...
DarkTiger
07.05.2024 07:47+1перерисовывать десятки листов ради нумерации...
придется, чтобы пройти нормоконтроль. Они на спецификацию смотрят очень пристально, а там все видно.
garus_ru
07.05.2024 07:47+1Первоначальный вариант - полная нумерация по порядку. Следующие итерации - что-то убрал, что-то добавил. Просто это удобно, когда D15, например, присутствует на всех вариантах и выполняет одну и ту же функцию и не надо лезть в документацию, что же D15 в этот раз делает. А D115, например, мог появиться позже, и он или дополняет D15, или полностью заменяет его.
У советского изделия, например, встретился модуль, в котором было три транзистора Т1, два транзистора Т2. Всё потому, что модуль состоял из двух керамических плат, судя по всему разработанных ранее для разных изделий, на каждой из которых было по одному Т1 и Т2. Далее эти две керамические платы соединялись встык, и третий Т1 своими широкими контактами-лепестками соединял их между собой.
slog2
07.05.2024 07:47+6Еще один поросёнок на 80с188 (в панельке). Плата управления от станка. Входы-выходы, измерительные линейки, пропорциональное управление гидравликой. Куча логики упрятана в ПЛИС. В пустой панельке была энергонезависимая память и часы с батарейкой от Dallas. Когда эта плата сдохла мне оказалось проще сделать свою аналогичную по функциям, но на другой элементной базе, чем реверсинжинирить этот антиквариат.
UranusExplorer
07.05.2024 07:47+2В наше время клон 80186 от AMD разогнанный до 20/40 МГц в виде SoC можно найти в тайваньских промышленных контроллерах от ICP DAS и их клонах от Advantech (хотя не знаю, кто у кого спёр, возможно в обратную сторону было дело)
Вот таких и других
Там DOS-подобная ОС, и код под них компилируется древним компилятором Turbo C как раз для таргета 80186.
WVitek
07.05.2024 07:47На первой работе кастомные прошивки для этих контроллеров на (Open)Watcom C++ делал с использованием CodeBlocks в качестве редактора.
Пруф: https://github.com/WVitek/W7188
P.S.: Производитель ICP DAS предлагал для этих контроллеров на DOSовом Borland C++ писать, что уж совсем дико было.UranusExplorer
07.05.2024 07:47+1Мы в свое время просто настроили любимые IDE чтобы этот Borland C++ запускалси компилировал в DOSBox'е при билде.
WVitek
07.05.2024 07:47У Watcom С++ получалось весь необходимый код уместить в один кодовый сегмент 64KiB, также он имел встроенную поддержку int64, что было весьма удобно при вычислениях с линейным временем (int64 timestamp - счётчик миллисекунд).
aabzel
07.05.2024 07:47Процессоров так много разновидностей, что я бы хотел предложить объединить наши познания и составить классификацию в этом реестре
https://docs.google.com/spreadsheets/d/1pztt0Y6h62IAo6vEm7VCVCsu2gySOYglRZk4XugqYFQ/edit#gid=1532921950
Это поможет всем нам понять из чего состоят процессоры, какой лучше и чем и как они отличаются между собой.
radiolok
07.05.2024 07:47+2Вот моя плата с 80186. Судя по внешнему виду - тоже какой-то пром. компьютер на много отсеков. В теории можно даже ПЗУ прочитать с микросхем, но руки не доходят - плата для красоты и истории лежит.
ABRogov Автор
07.05.2024 07:47Я со своей считал. Теперь мы с ней не расстанемся никогда. Там всё сделано на выводных элементах и весьма ходовых микросхемах, поэтому буду чинить до талого.
MaFrance351
07.05.2024 07:47+2Кстати, символично, что прямо сейчас в топе статья про девайс на чипе, совместимом со 186/188:
Nick0las
07.05.2024 07:47Скорее всего описанная палата - универсальный модуль, который применялся данным производителем, а может и несколькими для управления различными устройствами. Отсюда и такая избыточность по переферии и вычислительным рессурсам.
DIHALT
07.05.2024 07:47+3Тащемта ничего сложного в разработке там нет. Это обычная mcu система. Есть шина данных, шина адреса. Вся периферия вешается параллельно на шд и какими-то битами на шину адреса, после чего, регистры всех этих портов ввода вывода начинают транслироваться в озу. Это если вкратце. Там конечно были свои заморочки.
Все собирается как конструктор и самое сложное это развести все и спаять без косяков. Документация же это обычно талмуд, описывающий весь комплект СБИС. Ну в совке, по крайней мере. Тут может иначе было.
На спектруме то же самое делали. Прикрутить какой-нибудь кр580вв55а и вот у тебя gpio. Ацп через буфер или то же gpio.
levkib
07.05.2024 07:47+2Трудность нахождения 80186 из-за того что на нем практически не выпускалось персональных компьютеров. Это в первую очередь был чип для использования в контроллерах и специальных устройствах. Соответственно малая распространенность в публичной среде.
mig_25
07.05.2024 07:47+6Плата от графической станции Intergraph; иногда, видя подобное у меня возникает вопрос сколько умственных и физических сил ушло на проектирование подобного (и всякие платы медицинского оборудования из 80-ых 90-ых, томографов, ЭКГ итд), да и производство этой платы наверное было не из дешевых)
Nick0las
07.05.2024 07:47Меня всегда плотное размещение чипов на таких старых платах удивляло. Как это все удавалось развести при такой плотности чипов и обилии отверстий.
slog2
07.05.2024 07:47Там слоёв минимум 6.
SIISII
07.05.2024 07:47Мне 200+ микросхем 155 и иже с ней серий удалось с достаточно грубыми (по современным меркам) нормами развести в 4 сигнальных слоях, плюс два слоя чисто под землю и питание. У наших ЕСок было больше слоёв, а вот СМки (и две первые модели ЕСок -- 1020 и 1030) делали на двухсторонних платах, и там микросхемы стояли очччень неплотно. Скажем, на ТЭЗе типа 1 (из 1020 и 1030) вмещалось до 24 микросхем (14-ногие, других тогда ещё не выпускали), а на точно таком же по размерам ТЭЗе от ЕС-1066 -- до 62 16-ногих. Надо полагать, у буржуев было плюс-минус то же самое на аналогичном технологическом уровне.
slog2
07.05.2024 07:47+2Вот ещё плата на 80с188. В промышленных контроллерах очень популярный процессор был.
olegy
07.05.2024 07:47Встречал 186 на контроллерах Allen-Bradley, Siemens выпущенных в 80-х. Но в каком то экзотическом контроллере (вроде Gilbarco hydro controller) видел SystemOnChip - на базе 186 или 188 с памятью и какой то периферией в одном чипе
ulovka22
07.05.2024 07:47+2Когда-то был поражен, обнаружив в стиральной машине процессор Motorola 68000, как в Макинтоше.
dmitryrf
Было бы интересно узнать что именно сломалось и как чинили
ABRogov Автор
Да, могу написать про это. Детектив там был серьезный, и с неожиданным финалом)) За два месяца пришлось сделать реверс-инжиниринг основной аналоговой и силовой частей (думаю ~90%). Лично для меня было интересно то, что построен он на мощных биполярных транзисторах по мостовой схеме с весьма непривычной для эпохим MOSFET and IGBT схемотехникой драйвера.
dmitryrf
Очень хотелось бы такой детектив прочитать!
vvzvlad
+ за детектив