W tym artykule dowiemy się, jak używać Altium Designer® do implementacji dodatkowych funkcji, które nie są dostępne domyślnie. Odkryjemy potężny aspekt Altium Designer, który po opanowaniu może podnieść Twoje umiejętności projektowania na wyższy poziom. W tym artykule omówimy, jak zaimplementować skrypt do wykonywania weryfikacji projektu za Ciebie.
Nauczymy się:
W dzisiejszych czasach projekty są bardzo skomplikowane. Ogólnie rzecz biorąc, klienci oczekują od swoich projektantów PCB, że ich płyty będą działać za pierwszym razem. Aby to osiągnąć, kluczowa jest dbałość o szczegóły.
W tym przykładzie zobaczmy, jak stworzyć skrypt, który może być używany w rzeczywistym projekcie. Rozważmy następujący problem projektowy:
Musimy zaprojektować płytę ADC o wysokiej rozdzielczości, używając konwertera ADC 16 bitów. Konwerter ADC ma impedancję wejściową 1 kΩ. „Jaka jest maksymalna impedancja ścieżki między sterownikiem a ADC, aby osiągnąć błąd poniżej 1 LSB?“ „Czy możemy zaprojektować skrypt, który może nam pomóc?“
Rysunek 1 projekt ścieżki wysokiej rozdzielczości ADC
Aby odpowiedzieć na to pytanie, musimy obliczyć rezystywność ścieżki i sprawdzić, czy spadek napięcia na ścieżce jest wyższy niż 1 LSB.
Aby obliczyć rezystywność ścieżki, możemy użyć następującego wzoru:
Na przykład:
Załóżmy, że nasza ścieżka ma następujące wymiary: L = 10 cm, h = 0,035 mm, w = 0,381 mm. Korzystając z [1], i zakładając, że temperatura otoczenia wynosi 25 °C, impedancja ścieżki DC wynosi 129 mΩ, co spowoduje błąd napięcia wynoszący 0,013%, znacznie powyżej 1 LSB (0,0015%) 16-bitowego ADC. Tak więc, powyższa ścieżka da nam błąd przesunięcia o prawie 9 LSB!
Czy można poprosić Altium Designer, aby wykonał dla nas wszystkie powyższe sprawdzenia? Możliwe w czasie rzeczywistym?
Odpowiedź brzmi oczywiście tak.
Zaprojektujmy skrypt, który dostarczy nam tych informacji.
Chcemy móc kliknąć na ścieżkę, i chcemy, aby Altium Designer wykonał dla nas pewne sprawdzenia, takie jak obliczenie oporności ścieżki, obliczenie spadku napięcia itp.
Rysunek 2 przykład informacji z naszego demonstracyjnego skryptu
Altium Designer akceptuje skrypty w kilku językach, w trakcie mojej kariery używałem wielu języków, ale jednym z pierwszych języków, których użyłem w moim życiu zawodowym, był Delphi, dlatego zdecydowałem się napisać ten skrypt w Pascalu. Możesz jednak użyć innych języków skryptowych, takich jak Visual Basic, jeśli wolisz.
Zobaczmy, jak zaprojektować skrypt w Altium Designer, który rozwiązuje powyższy problem.
W naszym skrypcie chcemy:
1. ZAŁADOWAĆ NASZĄ PŁYTĘ PCB
Pierwszą instrukcją, którą chcemy wykonać, jest załadowanie naszego projektu PCB i zapisanie go w zmiennej o nazwie Board. Możemy to zrobić za pomocą następującej instrukcji:
2. ZAŁADOWAĆ STOS WARSTW
Po załadowaniu płyty chcemy załadować stos warstw i zapisać go w zmiennej o nazwie Stackup:
3. WCZYTAJ ŚLAD WYBRANY PRZEZ UŻYTKOWNIKA ZA POMOCĄ MYSZY
Możemy teraz użyć metody GetObjectAtCursor(), aby uzyskać wybrany ślad i zapisać go do zmiennej o nazwie Trace.
4. OBLICZ OPÓR ŚLADU KORZYSTAJĄC Z FORMUŁY [1]
Po wybraniu przez użytkownika śladu za pomocą myszy, chcemy obliczyć szerokość, długość i wysokość śladu, i zapisać je w 3 zmiennych o nazwach TraceThickness, TraceWidth oraz TraceLength:
W końcu możemy obliczyć opór śladu Res korzystając z formuły [1], obliczyć spadek napięcia (przy założeniu, że ADC ma Vref równy 1V).
5. WYŚWIETL BŁĄD ŚLADU I BŁĄD ADC
Po wykonaniu wszystkich obliczeń możemy wyświetlić wyniki na ekranie. Łatwym sposobem na to jest użycie okien dialogowych MessageDlg().
OutputString := 'Grubość ścieżki = ' + FloatToStrF(TraceThickness,0,5,4) + ' mm' + #13#10; OutputString := OutputString + 'Szerokość ścieżki = ' + FloatToStrF(TraceWidth,0,5,4) + ' mm' + #13#10; OutputString := OutputString + 'Długość ścieżki = ' + FloatToStrF(TraceLength,0,5,4) + ' mm' + #13#10#13#10#13#10; OutputString := OutputString + 'Rezystancja ścieżki = ' + FloatToStrF(Res,0,5,4) + ' mohm' + #13#10; OutputString := OutputString + 'Spadek napięcia na ścieżce = ' + FloatToStrF(VoltageDrop,0,2,2) + ' %' + #13#10; OutputString := OutputString + 'LSB ADC = ' + FloatToStrF(ADCLSB,0,2,2) + ' %'; MessageDlg(OutputString,mtInformation,4,0);
Jak uruchomić skrypt
Aby przetestować skrypt, w swoim Dokumencie PCB kliknij na Plik->UruchomSkrypt…
Następnie wybierz swój skrypt:
Powinieneś teraz zobaczyć duży krzyż:
Kliknij na ścieżkę, którą chcesz przeanalizować.
Teraz powinieneś zobaczyć okna wiadomości z obliczeniami:
Możliwe jest rozszerzenie tego skryptu i dodanie bardziej zaawansowanego sprawdzenia, na przykład, aby przedłużyć ścieżki do łuku i dodać efekt temperatury itp. Zostawię to jako ćwiczenie dla Ciebie.
Zobaczyliśmy, że Altium Designer, po opanowaniu, może być używany do wykonywania za nas skomplikowanych działań. W tym przykładzie zobaczyliśmy, jak można zmierzyć impedancję ścieżki DC za pomocą jednego kliknięcia oraz jak oszacować błąd napięcia w projekcie ADC o wysokiej rozdzielczości.
Ten skrypt demonstracyjny ma wiele ograniczeń, ale może być używany jako baza dla Twoich własnych rozszerzeń Altium Designer.
Masz więcej pytań? Zadzwoń do eksperta w Altium lub dowiedz się więcej o najlepszych funkcjach oprogramowania do projektowania PCB i kalkulatorze impedancji ścieżek w Altium Designer.