Po połączeniu modułów ze sobą na schemacie wielopłytkowym można zweryfikować łączność między płytkami. Pozwala to wykryć błędy przypisania sieci do wyprowadzeń (net-to-pin) oraz błędy okablowania połączeń pin-do-pinu. Błędy te można usunąć, a poprawki przepchnąć do odpowiednich projektów PCB, których dotyczą, lub wprowadzić je z powrotem do schematu systemowego źródłowego.
Altium Designer może sprawdzić projekt wielopłytkowy pod kątem błędów logicznych, elektrycznych i kreślarskich pomiędzy zawartością projektu a ustawieniami kontroli projektu. Istnieje szereg kontroli, które można wykonać na zweryfikowanym projekcie wielopłytkowym. Obejmują one naruszenia dotyczące połączeń między modułami na arkuszu, a także problemy związane z dopasowanymi elementami; kontrole te konfiguruje się w ramach opcji projektu.
Konfigurowanie opcji weryfikacji i uruchamianie walidacji
Wybierz polecenie Project » Project Options z menu głównego, aby otworzyć okno dialogowe Project Options i wybrać jego kartę Raportowanie błędów. Wartość Report Mode dla każdego naruszenia można zmienić na jedną z czterech wartości, klikając ją i wybierając żądaną wartość z listy rozwijanej.

Skonfiguruj wymagane kontrole naruszeń na karcie Error Reporting w oknie dialogowym Project Options.
Aby zwalidować projekt wielopłytkowy, wybierz polecenie Design » Run ERC z menu głównego lub z menu kontekstowego (prawy przycisk myszy) w obszarze roboczym.

Zwaliduj projekt wielopłytkowy, używając polecenia Run ERC.
Interpretowanie komunikatów i lokalizowanie naruszeń
Jeśli w projekcie zostaną wykryte błędy walidacji i ostrzeżenia, w panelu Messages zostanie wyświetlone powiadomienie.
Zwróć uwagę, że panel Messages otworzy się automatycznie tylko wtedy, gdy wystąpi co najmniej jeden warunek Błąd lub Błąd krytyczny (Fatal Error). Aby sprawdzić Ostrzeżenie, musisz otworzyć panel ręcznie, klikając przycisk
w prawym dolnym rogu obszaru roboczego i wybierając Messages. Po zwalidowaniu projektu panel wyświetli wszystkie wykryte ostrzeżenia i błędy.

Panel Messages wyświetla ostrzeżenia i błędy wykryte w projekcie wielopłytkowym.
Panel Messages jest centralnym miejscem prezentacji naruszeń. Warto pamiętać o następujących kwestiach:
-
Panel Messages ma dwa obszary – górny obszar tabeli podsumowuje naruszenia; dolny obszar podaje szczegóły aktualnie wybranego naruszenia.
-
Kliknij dwukrotnie komunikat, aby przejść (cross-probe) do danego naruszenia. Kliknij dwukrotnie szczegół, aby pokazać ten konkretny obiekt.
-
Możesz kliknąć dowolny nagłówek kolumny w panelu Messages (np. Class, Document, Message), aby ułatwić sortowanie błędów i ostrzeżeń.
-
Kliknij prawym przyciskiem myszy w panelu Messages, a następnie użyj opcji podmenu Group By, aby grupować błędy i ostrzeżenia według określonych kryteriów.
-
Kliknij prawym przyciskiem myszy w panelu Messages, a następnie użyj odpowiedniego polecenia Clear, aby usunąć komunikaty, lub użyj polecenia Export To Report, aby wyeksportować komunikaty do raportu.
Wyczyszczenie komunikatów nie musi oznaczać, że zostały one rozwiązane. Te same nierozwiązane komunikaty zostaną ponownie wyświetlone po ponownym uruchomieniu walidacji. Czyszczenie komunikatów jest pomocą wizualną podczas usuwania błędów w projekcie i pozwala ręcznie usuwać komunikaty, gdy uznasz, że zostały rozwiązane. Aby uzyskać aktualny obraz naruszeń, które nadal występują, należy ponownie uruchomić walidację.
Typy naruszeń w projektach wielopłytkowych
Poniższe sekcje zawierają szczegółowe informacje o każdej kontroli naruszeń dostępnej dla projektów wielopłytkowych.
Naruszenia związane z połączeniami
Different Net Names
To naruszenie występuje, gdy nazwa sieci powiązanej z połączeniem na schemacie wielopłytkowym nie jest taka sama jak sieć powiązana z odpowiadającym jej pinem złącza w podrzędnym projekcie.
Powiadomienie
W panelu Messages wyświetlane jest powiadomienie w następującym formacie:
Net Name "<ConnectionNetName>" for connection "<ConnectionDesignator>" does not match with Net "<ConnectorPinNetName>" of "Pin <ConnectorDesignator-PinNumber>" in child project "Module <ModuleDesignator>(<ChildProjectName>)"
gdzie:
-
ConnectionNetName – nazwa sieci (na schemacie wielopłytkowym) powiązanej z połączeniem wychodzącym ze wskazanego pinu.
-
ConnectionDesignator – oznaczenie (designator) połączenia.
-
ConnectorPinNetName – nazwa sieci powiązanej ze wskazanym pinem złącza w podrzędnym projekcie.
-
ConnectorDesignator-PinNumber – oznaczenie elementu złącza w projekcie podrzędnym reprezentowanego przez wpis modułu oraz pin tego złącza.
-
ModuleDesignator – oznaczenie modułu na schemacie wielopłytkowym, używanego do odwołania do podrzędnego projektu.
-
ChildProjectName – nazwa, wraz z rozszerzeniem, podrzędnego projektu wskazywanego przez moduł.
Zalecenie rozwiązania
To naruszenie zwykle pojawia się, gdy nazwa sieci na pinie złącza w jednym projekcie podrzędnym różni się od nazwy na dopasowanym pinie złącza w innym projekcie podrzędnym, tj. na dwóch płytkach łączonych połączeniem pomiędzy odpowiednimi modułami nadrzędnymi na dokumencie schematu wielopłytkowego.
Użyj okna dialogowego Connection Manager, aby wyświetlić aktualnie używane nazwy sieci. Wpis Net Name pokazuje nazwę używaną dla połączenia na dokumencie schematu wielopłytkowego. Przy zaznaczonym połączeniu można to również zobaczyć wizualnie w obszarze Conflict Resolution okna dialogowego. Gdy piny złącza mają przypisane różne sieci w obu projektach podrzędnych, Net Name dla połączenia domyślnie przyjmuje wartość <FromPinNetName>/<ToPinNetName>. Te nazwy sieci są odzwierciedlone odpowiednio w polach Module Net dla pinów From i To. Rozwiązanie może przebiegać na dwa sposoby:
-
Użyj przycisków
w obszarze Conflict Resolution dla obu modułów, aby szybko ustawić sieć modułu w każdym przypadku tak, by była taka sama jak nazwa sieci dla połączenia. Następnie zastosuj zmiany i przekaż je z powrotem do projektów podrzędnych, używając polecenia Design » Update Child Projects. Sieci powiązane z odpowiednimi pinami złącza w tych projektach zostaną zaktualizowane poprzez ECO.
-
Zmień nazewnictwo sieci powiązanej z odpowiednim pinem złącza w jednym z projektów podrzędnych tak, aby było takie samo jak użyte dla pinu złącza w drugim projekcie. Następnie skompiluj projekt podrzędny i przenieś zmianę z powrotem do schematu wielopłytkowego, używając polecenia Design » Import From Child Projects. Nazwa sieci dla połączenia zostanie odpowiednio zaktualizowana poprzez ECO.
Zapoznaj się ze stroną Working with Connections, aby dowiedzieć się więcej o pracy z oknem dialogowym Connection Manager.
No Net
To naruszenie występuje, gdy pin złącza reprezentowany we wpisie modułu na schemacie wielopłytkowym nie jest podłączony do żadnej sieci w podrzędnym projekcie wskazywanym przez ten moduł.
Powiadomienie
W panelu Messages wyświetlane jest powiadomienie w następującym formacie:
"Pin <ConnectorDesignator-PinNumber>" is not connected in child project "Module <ModuleDesignator>(<ChildProjectName>)"
gdzie:
-
ConnectorDesignator-PinNumber – oznaczenie elementu złącza w projekcie podrzędnym reprezentowanego przez wpis modułu oraz problematyczny pin tego złącza.
-
ModuleDesignator – oznaczenie modułu na schemacie wielopłytkowym, używanego do odwołania do podrzędnego projektu.
-
ChildProjectName – nazwa, wraz z rozszerzeniem, podrzędnego projektu wskazywanego przez moduł i zawierającego złącze, którego wskazany pin nie jest podłączony do sieci.
Zalecenie rozwiązania
To naruszenie może wystąpić w wielu sytuacjach. Przy rozwiązywaniu naruszenia tego typu rozważ następujące kwestie:
-
Jeśli pin wskazanego złącza nie ma być używany w projekcie, podłącz go do odpowiedniej linii zasilania (np. GND).
-
Upewnij się, że okablowanie do pinu złącza ma kontakt elektryczny, tj. przewód lub magistrala łączy się z elektrycznym punktem aktywnym (hot spot) pinu.
-
Jeśli pin złącza ma mieć krótki odcinek przewodu i etykietę sieci, upewnij się, że etykieta sieci istnieje i została poprawnie dołączona do przewodu.
Unresolved Conflict
To naruszenie występuje, gdy istnieje konflikt w łączności pomiędzy dwiema połączonymi płytkami w systemie.
Powiadomienie
W panelu Messages wyświetlane jest powiadomienie w następującym formacie:
Unresolved conflict exists: Net "<OldModuleNetName>" has been renamed to "<NewModuleNetName>" for "Pin <ConnectorDesignator-PinNumber>" in child project "Module <ModuleDesignator>(<ChildProjectName>)"
gdzie:
-
OldModuleNetName – nazwa sieci powiązanej ze wskazanym pinem złącza w podrzędnym projekcie, aktualnie przechowywana w istniejącej mapie danych łączności edytora schematu wielopłytkowego.
-
NewModuleNetName – nazwa sieci aktualnie powiązanej ze wskazanym pinem złącza w podrzędnym projekcie, po zaimportowaniu zmian wprowadzonych w tym projekcie.
-
ConnectorDesignator-PinNumber – oznaczenie elementu złącza w projekcie podrzędnym reprezentowanego przez wpis modułu oraz pin tego złącza.
-
ModuleDesignator – oznaczenie modułu na schemacie wielopłytkowym, używanego do odwołania do podrzędnego projektu.
-
ChildProjectName – nazwa, wraz z rozszerzeniem, podrzędnego projektu wskazywanego przez moduł.
Zalecenie rozwiązania
To naruszenie zwykle pojawia się, gdy w jednym z projektów podrzędnych wprowadzono zmianę dotyczącą złącza, a po zaimportowaniu tej zmiany z powrotem do dokumentu schematu wielopłytkowego spowoduje ona przerwanie istniejącej łączności zdefiniowanej pomiędzy dwiema połączonymi płytkami. Na przykład w jednym projekcie podrzędnym mogło dojść do zamiany sieci przypisanych do dwóch pinów złącza, co oznacza, że teraz występuje niezgodność podczas śledzenia tych pinów do złącza na innej (docelowej) płytce.
Użyj okna dialogowego Connection Manager, aby wyświetlić nierozwiązane konflikty. Lista w oknie dialogowym Connection Manager wyróżni wszelkie połączenia uznane za będące w konflikcie, czyli w praktyce każdą zaimportowaną aktualizację połączenia, która nie zgadza się z istniejącą mapą danych łączności w edytorze schematu wielopłytowego.
Więcej informacji o pracy z oknem dialogowym Connection Manager oraz dostępnych opcjach rozwiązywania konfliktów znajdziesz na stronie Working with Connections.
Naruszenia powiązane ze sparowanymi częściami
Entry Is Empty
To naruszenie występuje, gdy wpis modułu obecnie nie odwołuje się do komponentu złącza w podrzędnym projekcie, do którego odwołuje się jego moduł nadrzędny.
Powiadomienie
Powiadomienie jest wyświetlane w panelu Messages w następującym formacie:
Entry "<EntryDesignator>" is empty in "Module <ModuleDesignator>(<ChildProjectName>)"
gdzie:
-
EntryDesignator – oznaczenie (designator) problematycznego wpisu modułu.
-
ModuleDesignator – oznaczenie modułu na schemacie wielopłytowym, używanego do odwołania do podrzędnego projektu.
-
ChildProjectName – nazwa, wraz z rozszerzeniem, podrzędnego projektu, do którego odwołuje się moduł.
Zalecenie rozwiązania
To naruszenie może wystąpić, gdy:
-
Komponent złącza w przywołanym projekcie podrzędnym, aktualnie powiązany z istniejącym wpisem modułu, miał usunięty swój specjalny parametr System:Connector, a ta zmiana została nieumyślnie zaimportowana do dokumentu schematu wielopłytowego. W takim przypadku dodaj parametr z powrotem do komponentu, a następnie zaimportuj zmianę ponownie do dokumentu schematu wielopłytowego.
-
Nowy wpis został dodany ręcznie w module nadrzędnym. W takim przypadku zaimportuj zmiany z projektu podrzędnego, aby zsynchronizować wymagane wpisy z odpowiadającymi im złączami, a następnie usuń nadmiarowy wpis.
Zazwyczaj należy upewnić się, że złącze/złącza w projekcie podrzędnym są umieszczone i otrzymały parametr System:Connector. Następnie użyj jednego z poleceń Import from Child Project, aby wpisy zostały automatycznie utworzone w pustym/szkieletowym module nadrzędnym odwołującym się do tego projektu podrzędnego. Jest to najszybsza i najbezpieczniejsza metoda tworzenia wpisów modułów w projekcie wielopłytowym w synchronizacji z odpowiadającymi im złączami w projektach podrzędnych.
No Mated Part
To naruszenie występuje, gdy wpis modułu nie jest obecnie połączony z innym modułem w projekcie.
Powiadomienie
Powiadomienie jest wyświetlane w panelu Messages w następującym formacie:
Part "<ConnectorDesignator>" (Entry <EntryDesignator>) doesn't have Mated Part in "Module <ModuleDesignator>(<ChildProjectName>)"
gdzie:
-
ConnectorDesignator – oznaczenie (designator) komponentu złącza w przywołanym projekcie podrzędnym.
-
EntryDesignator – oznaczenie problematycznego wpisu modułu (które odzwierciedla i jest zsynchronizowane z bazowym złączem w przywołanym projekcie podrzędnym).
-
ModuleDesignator – oznaczenie modułu na schemacie wielopłytowym, używanego do odwołania do podrzędnego projektu.
-
ChildProjectName – nazwa, wraz z rozszerzeniem, podrzędnego projektu, do którego odwołuje się moduł.
Zalecenie rozwiązania
Upewnij się, że problematyczny wpis modułu jest połączony z wymaganym wpisem w module docelowym – tworząc połączenie między złączem na jednej płytce podrzędnej a złączem na innej. Wybierz typ połączenia i odpowiednio poprowadź je między wpisami tych dwóch modułów.
Więcej informacji znajdziesz na stronie Working with Connections.