История из жизни:114301
Ну, слава БГ, конкурс закончился - можно компьютерные истории просто такпосылать. Без затаенной надежды увидеть плавно падающий с неба лэп-топ.История предназначена для имеющих минимальное представление о работемикропроцессорных устройств, а так же представляется мне забавной иполезной для практикующего электронщика и embedded-программиста.История повествует о том, к чему приводит улучшение технологиипроизводства продукта без оповещения производителем покупателей продуктао вышеуказанном улучшении.Поэтому, назовем ее так:"Дорога в ад вымощенна благими намерениями".Дело было давно, в 1992-м, может быть, году. Мы были очень маленькойамериканской компанией. Два человека: мой босс да я. Наш клиент,очень-очень большая компания, продукция которой контролировала токивеличиной в сотни, тысячи и десятки тысяч ампер (в одном случае - ототдельной подстанции - мы с мелочами не чикались), использовала в одномиз своих продуктов наш контроллер, собранный на микропроцессоре фирмыМоторола. Звали процессора 6811. Ну это вроде как "Ваня". А еще можно итак: MC68SEC11E2FN. Это уже вроде как Ованес Мкртычевич Тер-Абайтов.Может, кто и помнит. "Секретная версия" с довольно новой еще тогдатехнологией ПЗУ-памяти типа EEPROM (цельных 2К-байта) прям на самомпроцессоре.В этом самом EEPROM-е и были записаны параметры управления всейсистемой, которые вводились один раз, при установке, и больше обычно нетрогались.И вот, когда система эта существовала уже довольно долго (сделана онабыла в конце 80-х и вполне себе успешно работала в металлургическойпромышленности США), поступил к нам на первый взгляд довольно безобидныйсигнал от клиента, что, мол, параметры из одной из систем стали повыключении пропадать. Т. е. вот: стоит система, работает. Выключили.Включили. А параметров-то и нету.Я, как человек с определенным опытом ремонта в прошлом (4 года научастке ЧПУ на заводе; кто бегал зимой между цехами с осциллографом -тот знает), сразу почувствовал, что одним сигналом это не кончится:платы, они стаями летают. Закон такой.Так и оказалось: через пару недель параметры самоизничтожались уже на5-ти системах из недавно поставленных 12-ти.В общем, босс поручил мне разобраться и доложить.Я потыкался осциллографом в сигнал "Ресет", коим управляла мааленькаяштучка фирмы Моторола же по имени MC34064, ибо такие проблемы, типа"включил - не работает", обычно начинают раскручивать именно с ресета;ресет выглядел так: при выключении он, как и положено, когда питаниепадало ниже некоторого уровня, притягивался к земле, но, когда питаниепадало ниже 1.5В, вдруг притягиваться к земле переставал, и ресетбыстренько подтягивался к 1.5В, создавая небольшой импульс, длинакоторого зависела от скорости разряда питания. Зарисовал я картинки отруки, и стал звонить в фирму Моторола.И вот что я узнал.Оказалось, что незадолго до того, как все это произошло, Моторолаулучшила свои процессоры. Заметьте отсутствие кавычек вокруг слова"улучшила". Процессоры действительно были улучшены: они выпускались поновому процессу, с меньшим количеством кремния, и (!) могли теперьработать при мень-шем на-пря-жени-и пи-та-ни-я.Почему-то практика изменения названия устройства с таким мощнымулучшением параметров тогда отсутствовала. Сегодня такой процессорпереобозвали бы как нибудь, просто, чтобы его, без должной экзаменации,не совали в те продукты, которые были рассчитаны на применение старой"неулучшенной" версии. Но тогда он был и остался процессором с тем жеименем, и потому продавался для тех же целей тем же людям для тех жеустройств. Моторола, со своей стороны, не удосужилась известить своихклиентов об этом шикарном новшестве.То есть если, к примеру, раньше процессор работал от питания в 5В, инадежно прекращал работу, если питание падало до, ну, к примеру, 2.5В,то теперь он мог работать при 2.5В, прекращая работать где-то в районе1В.Работать он, однако, прекращал не сразу, а постепенно. То есть некоторыекоманды еще работали, а некоторые - уже нет.И так уж случилось, что первыми отказывающими командами были командыветвления.Далее все развивалось просто: у нового процессора, питание которогоупало до 1.5В, с отказавшими командами ветвления, и неотказавшимиостальными командами, запускалась программа, которая на старомпроцессоре запуститься бы попросту не смогла в силу его неулучшенности.Программа, идя напролом (ветвлений-то нетути), быстренько достигалаподпрограммки программирования EEPROM-а, (которая включает всебяпрограммульку стирания EEPROM-а), успешно все стирала, ну а тутнапряжение окончательно падало, и все выключалось; а при запуске работаначиналась уже в режиме "параметры тю-тю".Ну, дальше все было проще: Моторола, извинившись за непредупреждение обулучшении своей продукции, порекомендовала другой генератор ресета, ипроблема была решена, сначала с помощью синих проволочек (это такойаналог незаменимого спутника какой-то матери, кувалдометра, у нас,радиоинженеров), а потом платку пришлось переделать.Зачем я об этом пишу? Да соратников по цеху повеселить, а то уж больномало в нашей жизни смешного стало в последнее время, проходящее подзнаком китайской электроники. Ну а там, может еще кому понравится.
См.также
Внешние ссылки