Weryfikacja projektu logicznego
W skrócie
- Dowiedz się, jak skonfigurować raportowanie błędów i uruchomić walidację projektu wielopłytkowego.
- Poznaj sposoby lokalizowania, sortowania i przeglądania naruszeń w panelu Messages oraz dowiedz się, dlaczego po wprowadzeniu poprawek trzeba ponownie uruchomić walidację.
- Naucz się rozpoznawać problemy z połączeniami, takie jak różne nazwy sieci, niepodłączone piny i nierozstrzygnięte konflikty, oraz korzystać ze wskazówek dotyczących ich analizy i rozwiązywania.
Po połączeniu modułów ze sobą na schemacie wielopłytkowym można zweryfikować połączenia między płytkami. Pozwala to wykryć błędy przypisania sieci do pinów oraz błędy połączeń między pinami. Błędy te można usunąć, a poprawki przenieść do odpowiednich projektów PCB lub z powrotem do źródłowego schematu systemu.
Altium Designer umożliwia sprawdzanie projektu wielopłytkowego pod kątem błędów logicznych, elektrycznych i rysunkowych na podstawie zawartości projektu oraz ustawień jego sprawdzania. W ramach walidacji projektu wielopłytkowego można przeprowadzić szereg kontroli. Dotyczą one naruszeń związanych z połączeniami między modułami na arkuszu, a także problemów z elementami współpracującymi. Kontrole te konfiguruje się w opcjach projektu.
Konfigurowanie opcji weryfikacji i uruchamianie walidacji
Wybierz polecenie Project » Project Options z menu głównego, aby otworzyć okno dialogowe Project Options, a następnie wybierz w nim kartę Raportowanie błędów. Dla każdego naruszenia można zmienić Report Mode 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 przeprowadzić walidację projektu wielopłytkowego, wybierz polecenie Design » Run ERC z menu głównego lub z menu kontekstowego obszaru projektowego.

Przeprowadź walidację projektu wielopłytkowego za pomocą polecenia Run ERC.
Interpretowanie komunikatów i lokalizowanie naruszeń
Jeśli podczas walidacji w projekcie zostaną wykryte błędy i ostrzeżenia, w panelu Messages zostanie wyświetlone powiadomienie.

Panel Messages wyświetla ostrzeżenia i błędy wykryte w projekcie wielopłytkowym.
Panel Messages stanowi centralne miejsce prezentowania naruszeń. Warto pamiętać o następujących kwestiach:
-
Panel Messages składa się z dwóch obszarów — górna tabela zawiera zestawienie naruszeń, a dolny obszar przedstawia szczegóły aktualnie wybranego naruszenia.
-
Kliknij dwukrotnie komunikat, aby przejść do wskazanego naruszenia w projekcie. Kliknij dwukrotnie pozycję w obszarze szczegółów, aby wyświetlić konkretny obiekt.
-
Możesz kliknąć dowolny nagłówek kolumny w panelu Messages (np. Class, Document, Message), aby posortować błędy i ostrzeżenia.
-
Kliknij prawym przyciskiem myszy w panelu Messages, a następnie użyj opcji podmenu Group By, aby pogrupować 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 polecenia Export To Report, aby wyeksportować komunikaty do raportu.
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
Różne nazwy sieci
To naruszenie występuje, gdy nazwa sieci powiązanej z połączeniem na schemacie wielopłytkowym różni się od nazwy sieci powiązanej z odpowiednim pinem złącza w projekcie podrzędnym.
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 połączenia. -
ConnectorPinNetName– nazwa sieci powiązanej ze wskazanym pinem złącza w projekcie podrzędnym. -
ConnectorDesignator-PinNumber– oznaczenie elementu złącza w projekcie podrzędnym reprezentowanego przez port modułu oraz pin tego złącza. -
ModuleDesignator– oznaczenie modułu na schemacie wielopłytkowym, który odwołuje się do projektu podrzędnego. -
ChildProjectName– nazwa projektu podrzędnego, wraz z rozszerzeniem, do którego odwołuje się moduł.
Zalecany sposób rozwiązania
To naruszenie występuje zazwyczaj wtedy, gdy nazwa sieci przypisanej do pinu złącza w jednym projekcie podrzędnym różni się od nazwy sieci przypisanej do współpracującego pinu złącza w drugim projekcie podrzędnym. Dotyczy to dwóch płytek połączonych za pośrednictwem odpowiednich modułów nadrzędnych w dokumencie schematu wielopłytkowego.
Użyj okna dialogowego Connection Manager, aby wyświetlić aktualnie używane nazwy sieci. Pozycja Net Name pokazuje nazwę używaną dla połączenia w dokumencie schematu wielopłytkowego. Po zaznaczeniu połączenia można ją również zobaczyć w obszarze Conflict Resolution okna dialogowego. Gdy piny złączy mają przypisane różne sieci w obu projektach podrzędnych, Net Name dla połączenia przyjmuje domyślnie wartość <FromPinNetName>/<ToPinNetName>. Nazwy tych sieci są widoczne w polach Module Net odpowiednio dla pinów początkowego i końcowego. Problem można rozwiązać na dwa sposoby:
-
Użyj przycisków
w obszarze Conflict Resolution dla obu modułów, aby szybko ustawić nazwę sieci każdego modułu na taką samą jak nazwa sieci połączenia. Następnie zastosuj zmiany i przenieś je do projektów podrzędnych za pomocą polecenia Design » Update Child Projects. Sieci powiązane z odpowiednimi pinami złączy w tych projektach zostaną odpowiednio zaktualizowane za pomocą procedury ECO.
-
Zmień nazwę sieci powiązanej z odpowiednim pinem złącza w jednym z projektów podrzędnych na taką samą jak nazwa używana dla pinu złącza w drugim projekcie. Następnie skompiluj projekt podrzędny i przenieś zmianę z powrotem na schemat wielopłytkowy za pomocą polecenia Design » Import From Child Projects. Nazwa sieci połączenia zostanie odpowiednio zaktualizowana za pomocą procedury ECO.
Więcej informacji o pracy z oknem dialogowym Connection Manager znajdziesz na stronie Praca z połączeniami.
Brak sieci
To naruszenie występuje, gdy pin złącza reprezentowany w porcie modułu na schemacie wielopłytkowym nie jest podłączony do żadnej sieci w projekcie podrzędnym, do którego odwołuje się 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 port modułu oraz pin tego złącza, którego dotyczy naruszenie. -
ModuleDesignator– oznaczenie modułu na schemacie wielopłytkowym, który odwołuje się do projektu podrzędnego. -
ChildProjectName– nazwa wraz z rozszerzeniem projektu podrzędnego, do którego odwołuje się moduł i który zawiera złącze ze wskazanym pinem niepodłączonym do żadnej sieci.
Zalecenia dotyczące rozwiązania problemu
To naruszenie może wystąpić w różnych sytuacjach. Podczas jego rozwiązywania należy wziąć pod uwagę 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 przewody doprowadzone do pinu złącza zapewniają połączenie elektryczne, tzn. przewód lub magistrala łączy się z punktem przyłączenia elektrycznego pinu.
-
Jeśli do pinu złącza ma być dołączony krótki przewód z etykietą sieci, upewnij się, że etykieta sieci istnieje i została prawidłowo dołączona do przewodu.
Nierozwiązany konflikt
To naruszenie występuje, gdy istnieje konflikt w połączeniach mię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 przypisanej do wskazanego pinu złącza w projekcie podrzędnym, zapisana obecnie w istniejącej mapie danych połączeń edytora schematów wielopłytkowych. -
NewModuleNetName– nazwa sieci przypisanej obecnie do wskazanego pinu złącza w projekcie podrzędnym po zaimportowaniu zmian wprowadzonych w tym projekcie. -
ConnectorDesignator-PinNumber– oznaczenie elementu złącza w projekcie podrzędnym reprezentowanego przez port modułu oraz pin tego złącza. -
ModuleDesignator– oznaczenie modułu na schemacie wielopłytkowym, który odwołuje się do projektu podrzędnego. -
ChildProjectName– nazwa wraz z rozszerzeniem projektu podrzędnego, do którego odwołuje się moduł.
Zalecenia dotyczące rozwiązania problemu
To naruszenie występuje zazwyczaj, gdy w jednym z projektów podrzędnych wprowadzono zmianę dotyczącą złącza, a zaimportowanie tej zmiany do dokumentu schematu wielopłytkowego spowoduje naruszenie istniejących połączeń zdefiniowanych między dwiema połączonymi płytkami. Na przykład w jednym z projektów podrzędnych mogły zostać zamienione sieci przypisane do dwóch pinów złącza, co powoduje niezgodność przy śledzeniu połączeń od tych pinów do złącza na innej płytce docelowej.
Użyj okna dialogowego Connection Manager, aby wyświetlić nierozwiązane konflikty. Lista w oknie dialogowym Connection Manager wyróżni wszystkie połączenia uznane za konfliktowe, czyli w praktyce każdą zaimportowaną aktualizację połączeń, która jest niezgodna z istniejącą mapą danych połączeń edytora schematów wielopłytkowych.
Więcej informacji o pracy z oknem dialogowym Connection Manager i dostępnych opcjach rozwiązywania konfliktów znajdziesz na stronie Praca z połączeniami.
Naruszenia związane z elementami współpracującymi
Port jest pusty
To naruszenie występuje, gdy port modułu nie odwołuje się obecnie do elementu złącza w projekcie podrzędnym wskazanym przez moduł nadrzędny.
Powiadomienie
W panelu Messages wyświetlane jest powiadomienie w następującym formacie:
Entry "<EntryDesignator>" is empty in "Module <ModuleDesignator>(<ChildProjectName>)"
gdzie:
-
EntryDesignator– oznaczenie portu modułu, którego dotyczy naruszenie. -
ModuleDesignator– oznaczenie modułu na schemacie wielopłytkowym, który odwołuje się do projektu podrzędnego. -
ChildProjectName– nazwa wraz z rozszerzeniem projektu podrzędnego, do którego odwołuje się moduł.
Zalecenia dotyczące rozwiązania problemu
To naruszenie może wystąpić, gdy:
-
Z elementu złącza w wskazanym projekcie podrzędnym, powiązanego obecnie z istniejącym portem modułu, usunięto specjalny parametr
System:Connector, a zmiana ta została przypadkowo zaimportowana do dokumentu schematu wielopłytkowego. W takim przypadku dodaj ponownie parametr do elementu, a następnie zaimportuj zmianę do dokumentu schematu wielopłytkowego. -
W module nadrzędnym ręcznie umieszczono nowy port. W takim przypadku zaimportuj zmiany z projektu podrzędnego, aby zsynchronizować wymagane porty z odpowiadającymi im złączami, a następnie usuń zbędny port.
Brak elementu współpracującego
To naruszenie występuje, gdy port modułu nie jest obecnie połączony z innym modułem w projekcie.
Powiadomienie
W panelu Messages wyświetlane jest powiadomienie w następującym formacie:
Part "<ConnectorDesignator>" (Entry <EntryDesignator>) doesn't have Mated Part in "Module <ModuleDesignator>(<ChildProjectName>)"
gdzie:
-
ConnectorDesignator– oznaczenie elementu złącza we wskazanym projekcie podrzędnym. -
EntryDesignator– oznaczenie portu modułu, którego dotyczy naruszenie (odzwierciedlającego odpowiadające mu złącze we wskazanym projekcie podrzędnym i zsynchronizowanego z nim). -
ModuleDesignator– oznaczenie modułu na schemacie wielopłytkowym, który odwołuje się do projektu podrzędnego. -
ChildProjectName– nazwa wraz z rozszerzeniem projektu podrzędnego, do którego odwołuje się moduł.
Zalecenia dotyczące rozwiązania problemu
Upewnij się, że port modułu, którego dotyczy naruszenie, jest połączony z wymaganym portem w module docelowym — tworząc połączenie między złączem na jednej płytce podrzędnej a złączem na drugiej. Wybierz typ połączenia i odpowiednio połącz porty obu modułów.
Więcej informacji znajdziesz na stronie Praca z połączeniami.