„To wszystko analogowe!” - mówiłem z naciskiem, często uderzając w stół dla efektu. Ci w pokoju, którzy mnie znali, kontynuowali pracę, ci, którzy mi nie wierzyli, mogli być widziani jak przewracają oczami, ale czasami zwracałem uwagę nowego pracownika lub kogoś, kto właśnie skończył szkołę, i oni mogli zapytać „a co z cyfrowym?”
Była połowa lat 80-tych, a ja pracowałem w Commodore Business Systems jako starszy inżynier projektant, co oznaczało, że moje błędy były powielane w milionach egzemplarzy. Nigdy nie byłem na studiach i doszedłem do tego miejsca zaczynając jako licencjonowany naprawca telewizorów. Mówienie, że byłem samoukiem, nie byłoby do końca prawdą, ponieważ kiedy dostałem się do różnych działów inżynieryjnych, uczyłem się od genialnych ludzi wokół mnie. Starałem się również uczyć na błędach, czy to moich, czy ich.
Jeśli pominąć okres, w którym panowała "Generacja ECL", następna "Generacja TTL" miała pokusę myślenia w kategoriach cyfrowych, a mianowicie mogli nazywać sygnały "wysokimi" lub "niskimi", albo jeszcze krócej, "1" lub "0". Proste, prawda? Oczywiście, teraz znamy i używamy terminów takich jak Integralność Sygnału (SI) i Sieć Dystrybucji Mocy (PDN), ale wtedy procesory w sprzęcie konsumenckim i małych urządzeniach przemysłowych były stosunkowo nowością.
Nagle mieliśmy pokolenie nowych inżynierów, którzy "zajmowali się cyfrową, ale nie analogową" elektroniką. Z czasem zrozumiałem, że większość z nich oznaczało, że nie zajmowali się pętlami masowymi, emisjami/susceptybilnością FCC, projektowaniem zasilaczy, a nawet obwodami resetowania były poza ich strefą komfortu. Osobiście postrzegałem pracę jako wszechstronną, doskonałym przykładem jest to, że pierwszą rzeczą, której uczyłem każdego należycie wykształconego inżyniera, który dołączył do mojego zespołu, było jak obliczyć, jaka będzie temperatura złącza chipa.
Przykład z życia, kiedy trafiłem do Commodore, odkryłem, że proponowany obwód resetowania, dla tego, co miało stać się C116/C264/Plus4, składał się z obwodu, w którym ktoś połączył kondensator z rezystorem do zasilania +5V do wejścia bramki. Zdecydowanie oświadczyłem, że to po prostu nie będzie działać. Wyobraź sobie długowłosego chłopaka bez wykształcenia, który mówi ci to w swoim pierwszym tygodniu pracy. Przynajmniej jeszcze nie zacząłem zdejmować butów w pracy.
Więc inżynier, jak się okazało odchodzący inżynier, ponieważ przenosił się do mniej stresującego otoczenia, cierpliwie wyjaśnił, że założyciel firmy ustalił limit liczby układów scalonych, które mogły znaleźć się w nowym komputerze, liczba ta wynosiła dziewięć. Cierpliwie wyjaśniłem, że to nie ma znaczenia i że obwód nie będzie działać. Odpowiedzią Commodore było powierzenie mi odpowiedzialności za nową linię komputerów i teraz to był mój problem. Dodałem dedykowany obwód resetowania w postaci układu czasowego 555 i założyciel mnie nie zwolnił, na koniec dnia potrzebowaliśmy, aby to działało przy każdej ilości, niskiej i wysokiej.
Przeskoczmy do mojej ostatniej tyrady; byłem odpowiedzialny za projekt i sprzęt Commodore C128, musiałem umieścić na dwuwarstwowej płycie system z podwójnym procesorem — z podwójnymi procesorami graficznymi i łącznie 144mB DRAM — i sprawić, by działał w ilości milionów (a to 1985 rok). W sercu problemu leży fakt, że większość projektantów może sobie pozwolić na coś, co działa w 95% przypadków lub przy większości napięć lub kombinacjach układów, ale milion razy problem na poziomie 2% to strasznie dużo maszyn siedzących na paletach i w stosach złomu. Te liczby mogą i będą wywoływać problemy z wrażliwością na marki i warianty układów oraz każdą kombinację temperatury i napięcia.
Pracowałem ciężko, aby przekonać każdego, kto chciał słuchać, że to, co nazywali „niskim”, było naprawdę napięciem progowym 0,8V, jak widziane przez układ, gdy układ sterujący mógł mieć wyjście tak wysokie jak 0,4V, pozostawiając mizerny 0,4V na margines szumów. Żartowaliśmy, że bramki OR były „bardziej hałaśliwe”, ponieważ każdy szpil większy niż 0,4V na którymkolwiek wejściu mógł spowodować, że wyjście zaczyna być nieważne.
Aby zwiększyć trudność tego, co robiliśmy, fakt, że nigdy nawet nie pomyśleliśmy o użyciu wielowarstwowej płytki w dziale konsumenckim, ani razu, nigdy. Oznaczało to, że nasze ścieżki zasilające były nie więcej niż większymi ścieżkami sygnałowymi według dzisiejszych standardów, a impedancja zarówno ścieżek zasilających, jak i sygnałowych znacznie różniła się w zależności od szczęścia w układzie.
To były czasy przed jakimikolwiek praktycznymi narzędziami do przewidywania złego zachowania; w konsekwencji po prostu zakładaliśmy, że zachowanie będzie złe. Nawet projektanci układów scalonych nie mieli narzędzi, które mówiłyby im, czy układ scalony pasuje do schematu, tylko budowa układu scalonego i testowanie go mogłyby dać ostateczną odpowiedź. Tak samo było w przypadku systemów, musieliśmy je zbudować, aby zobaczyć, co mamy.
Miałem dwie zasady, kiedy zaczynałem nowy projekt; pierwsza polegała na tym, aby wszystkie linie zasilania i masy były siatkowane, co oznaczało, że każdy układ powinien mieć dwie ścieżki do zasilania i masy, co teoretycznie miało eliminować występowanie odcinków martwych. Druga zasada była tak naprawdę punktem wyjścia, a mianowicie umieszczenie i trasowanie DRAMów, które były zdecydowanie najtrudniejszym wyzwaniem tamtych czasów. Nie wszystkie DRAMy były wykonane poprawnie, nie wszystkie zasilacze utrzymywały swoje tolerancje (DRAMy są w pewnych aspektach wrażliwe na napięcie), a układy, które generowały taktowanie, również miały problemy. Naszą jedyną przewagą było próbowanie upewnienia się, że układ PCB zasilania również nie przyczyniał się do tych problemów.
Następnie, inicjowalibyśmy układy graficzne, które zawierały zegary główne - najwyższe podstawowe częstotliwości na płycie. Automatycznie projektowaliśmy małą osłonę, aby otoczyć tę część projektu, nasze grzeszenie się zaczęło, a wraz z nim łatanie tych grzechów.
Kiedy skończyliśmy, zazwyczaj mieliśmy bałagan według dzisiejszych standardów, i znowu naszym testem nie było, czy możemy wyprodukować kilka sztuk, czy kilka tysięcy. Minimum to milion, a zazwyczaj przekraczaliśmy pięć milionów.
Wróćmy do wzlotów i upadków, sygnały w tamtych czasach mogły dzwonić jak dzwony lub pojawiać się z kilkoma odbiciami lub przeplotami, które zbierały po drodze. Nie było już więcej miejsca na płytce dla mas, ekranów czy separacji, a w harmonogramie nie było już więcej czasu, aby „zacząć od nowa” w jakikolwiek znaczący sposób. Oznaczało to, że musieliśmy zrozumieć i dostosować się do naszego środowiska. Smutne jest to, że to, co wtedy robiliśmy, to „strojenie” bałaganu tak, aby wydawało się, że działa poprawnie. Żyliśmy z artefaktami, dopóki nie uspokajały się one podczas krytycznych momentów, takich jak przejścia sygnałów sterujących DRAM.
Jedną z rzeczy, którą robiliśmy, było sięganie po terminację szeregową garściami. Próbowaliśmy wartości aż do 68 omów, ale słodki punkt dla nas to zwykle 22 omy, 33 omy, jeśli mieliśmy czas na dodatkowy komponent RC. Znalazłem również kilka przypadków odłączeń mas oraz musiałem ręcznie dostroić linię adresową, dodając dyskretny przewód: do 5,7 miliona jednostek.
Pokazałem nowo przybyłym inżynierom "cyfrowym", że nie można liczyć czasu, jaki sygnał spędza na dzwonieniu jako stan wysoki lub niski, dopóki nie przestanie dzwonić. Nagle, analog wkradł się do ich cyfrowego postrzegania świata, gdy zmusiłem ich do przeliczenia swoich obliczeń czasowych na podstawie rzeczywistych artefaktów. "To wszystko jest analogowe" - mówiłem głośno, aż pewnego dnia kolega inżynier o imieniu Hedley zapytał: "A co z efektami kwantowymi?"
Po tym moim mottem stało się "WSZYSTKO JEST ANALOGOWE... aż oczywiście dojdzie się do efektów kwantowych, w którym to przypadku nie jest".
Chciałbyś przeczytać więcej inspirujących historii o technologii? Czytaj artykuły w biuletynie Altium OnTrack Newsletter, przygotowanym przez Judy Warner. Albo dowiedz się więcej o tym, jak Altium może pomóc Ci w następnym projekcie PCB i porozmawiaj z ekspertem w Altium na temat zastosowań płytek drukowanych i korzystania z jedynego zintegrowanego pakietu oprogramowania do projektowania PCB dostępnego na rynku.