«Всё аналоговое!» — эмфатически заявлял я, часто стуча по столу для эффекта. Те, кто меня знали, продолжали работать, те, кто не верили, могли покатать глазами, но иногда я привлекал внимание новичка или кого-то, кто только что окончил школу, и они могли спросить: «А что насчет цифрового?»
Это было в середине 1980-х, и я работал в Commodore Business Systems старшим инженером-конструктором, что означало, что мои ошибки воспроизводились миллионами. Я никогда не учился в колледже и поднялся по служебной лестнице, начав с лицензированного мастера по ремонту телевизоров. Сказать, что я был самоучкой, было бы не совсем верно, так как, попав в различные инженерные отделы, я учился у великолепных людей, которые меня окружали. Я также старался учиться на ошибках, будь то мои собственные или чужие.
Если пропустить момент времени, когда существовало поколение "ECL", то последующее "поколение TTL" испытывало соблазн думать в терминах цифровой номенклатуры, а именно они начали называть сигналы "высокими" или "низкими", или даже короче, "1" или "0". Просто, правда? Конечно, теперь мы знаем и используем такие термины, как целостность сигнала (SI) и сеть распределения питания (PDN), но тогда процессоры в потребительском и небольшом промышленном оборудовании были относительно новыми.
Вдруг появилось поколение новых инженеров, которые "занимались цифровой техникой, но не аналоговой". Я со временем понял, что большинство из них имело в виду, что они не занимались земляными петлями, эмиссиями/чувствительностью FCC, проектированием источников питания и даже схемами сброса были вне их зоны комфорта. Лично я видел работу как всеобъемлющую, прекрасным примером чего было то, что первое, чему я обучал любого должным образом образованного инженера, вошедшего в мои ряды, было как рассчитать температуру перехода чипа.
Как пример, когда я пришел в Commodore, я обнаружил, что предложенная схема сброса для будущих C116/C264/Plus4 состояла из схемы, в которой кто-то подключил конденсатор к резистору, к питанию +5V и к входу логического элемента. Я очень громко заявил, что это просто не будет работать. Представьте себе длинноволосого парня без образования, который говорит вам это на своей первой неделе работы там. По крайней мере, я еще не начал разуваться на работе.
Инженер, как оказалось, уходящий инженер, поскольку он переходил в менее стрессовую обстановку, терпеливо объяснил, что основатель компании установил лимит на количество микросхем в новом компьютере, и это число было девять. Я терпеливо объяснил, что это не имеет значения и что схема не будет работать. В ответ Commodore назначили меня ответственным за новую линейку компьютеров, и теперь это была моя проблема. Я добавил специализированную схему сброса на основе микросхемы таймера 555, и основатель меня не уволил, в конце концов нам нужно было, чтобы это работало при любом количестве, низком и высоком.
Перемотаем вперед к моему последнему гневному выступлению; я был ответственным за дизайн и аппаратную часть Commodore C128 и должен был разместить на двухслойной плате систему с двумя процессорами — с двумя графическими процессорами и общим объемом DRAM 144 мБ, — и добиться ее работоспособности в миллионах экземпляров (и это 1985 год). В самом сердце проблемы лежит то, что большинство дизайнеров могут довольствоваться тем, что работает на 95% или при большинстве напряжений или комбинациях чипов, но миллион раз по 2% проблемы - это ужасно много машин, стоящих на поддонах и в кучах металлолома. Эти числа могут и будут выявлять проблемы чувствительности к маркам чипов и их вариациям и каждой комбинации температуры и напряжения.
Я упорно старался донести до всех, кто был готов слушать, что то, что они называли «низким» уровнем, на самом деле было пороговым напряжением в 0,8 В, как видел его чип, когда выходное напряжение драйвера могло достигать 0,4 В, оставляя скудный запас в 0,4 В для шумов. Мы шутили, что логические элементы ИЛИ были «более шумными», так как любой скачок напряжения более 0,4 В на любом входе мог заставить выход начать выдавать неверные сигналы.
Усложняло задачу то, что мы никогда даже не думали использовать многослойную плату в потребительском отделе, ни разу, никогда. Это означало, что наши силовые дорожки были не чем иным, как увеличенными сигнальными дорожками по сегодняшним меркам, а импеданс как силовых, так и сигнальных дорожек сильно варьировался в зависимости от удачи при разводке.
Это были времена до появления практических инструментов для предсказания плохого поведения; следовательно, мы просто предполагали, что поведение будет плохим. Даже разработчики интегральных схем не имели инструментов, которые говорили бы им, соответствует ли чип схеме, только создание чипа и его тестирование могли дать окончательный ответ. То же самое и для систем, мы должны были построить их, чтобы увидеть, что у нас получилось.
У меня было два основных принципа при начале нового проекта; первый заключался в том, чтобы сделать сетку для всех линий питания и земли, каждый чип должен иметь два пути к питанию и земле, что в теории означало отсутствие "хвостов". Второй принцип был своего рода отправной точкой, и это было размещение и трассировка DRAM, которые были, безусловно, самым коварным элементом того времени. Не все DRAM были изготовлены корректно, не все блоки питания сохраняли свои допуски (DRAM чувствительны к напряжению в некоторых аспектах), и даже чипы, создающие тайминг, имели проблемы. Наше преимущество заключалось в попытке убедиться, что разводка платы питания также не способствовала этим проблемам.
Затем мы размещали графические чипы, включая главные тактовые генераторы — самые высокие основные частоты на плате. Мы автоматически предусматривали небольшой экран для защиты этой части проекта, наши грехи начались, и началось их замазывание.
По завершении у нас обычно получался беспорядок по сегодняшним меркам, и снова нашим испытанием было не то, сможем ли мы произвести несколько штук или несколько тысяч. Минимум составлял миллион, и, как правило, мы производили более пяти миллионов.
Возвращаясь к вопросу о высоких и низких сигналах, тогда сигналы могли звенеть как колокольчики или появляться с полудюжиной отражений или перекрестных помех, которые они подхватывали по пути. На плате больше не оставалось места для заземления, экранов или разделения, и в графике больше не было времени для "начала сначала" в каком-либо значимом смысле. Это означало, что нам приходилось понимать и адаптироваться к нашему окружению. К сожалению, то, что мы тогда делали, это "настраивали" беспорядок так, чтобы он казался нормально работающим. Мы мирились с артефактами, до тех пор, пока они не устаканивались в критические моменты, такие как переходы сигналов управления DRAM.
Одно из действий, к которому мы прибегали, это использование последовательного терминирования пачками. Мы пытались поднять значение до 68 Ом, но оптимальным для нас обычно было 22 Ома, 33 Ома, если у нас было время на дополнительный RC-компонент. Я также нашел несколько случаев подъема земли и также приходилось вручную настраивать адресную линию, добавляя отдельный провод: к 5,7 миллионам устройств.
Я показал новоприбывшим "цифровым" инженерам, что нельзя считать время, в течение которого сигнал колеблется, как высокое или низкое, пока он не перестанет колебаться. Вдруг аналоговое начало входить в их цифровое видение мира, когда я заставил их пересчитать их расчеты времени на основе реальных артефактов. "Все аналоговое", - громко заявлял я, пока однажды инженер по имени Хедли не спросил: "А как насчет квантовых эффектов?"
После этого моим девизом стало "ВСЕ АНАЛОГОВОЕ... пока, конечно, вы не дойдете до квантовых эффектов, в таком случае это не так".
Хотите прочитать больше вдохновляющих историй о технологиях? Читайте статьи в Altium OnTrack Newsletter, подготовленные Джуди Уорнер. Или узнайте больше о том, как Altium может помочь вам с вашим следующим проектом печатной платы и поговорите с экспертом в Altium о применении печатных плат и использовании единственного в своем роде унифицированного программного обеспечения для проектирования печатных плат на рынке.