하드웨어 배선 다이어그램 워크플로
데이터시트와 커넥터 도면을 전기적 진실 공급원으로 취급합니다. 부품 사진은 패드 라벨이 읽을 수 있고 방향이 명확한 경우에만 배치 증거로 사용합니다.
1. 연결 계약 수립
- 모든 부품, 커넥터, 핀, 신호, 전압 도메인, 방향 및 요청된 출력 형식을 목록화합니다.
- 각 핀 할당에 대한 권위 있는 출처와 개정 버전을 기록합니다. 데이터시트나 회로도가 있는 경우 제품 사진에서 핀 할당을 유추하지 마십시오.
- 그리기 전에 모든 연결을 기계 판독 가능한 넷리스트로 정규화합니다. 물리적 핀 번호와 신호 이름을 함께 사용합니다.
- 알 수 없음, 옵션, 예약됨, 연결 없음(no-connect) 및 전원 소스 핀을 명시적으로 표시합니다. 안전에 중요한 핀 할당이나 전압이 해결되지 않은 경우 라우팅을 중단합니다.
- 실장/배선 다이어그램과 원리 회로도를 구분합니다. 사용자에게 하나만 표시되더라도 동일한 넷리스트를 통해 동기화 상태를 유지합니다.
회전된 보드, 미러링된 뷰, underside 사진 또는 커넥터 결합면을 해석하기 전에 source-truth-and-orientation.md를 읽으십시오. 신호 및 전원 점검은 electrical-rules.md를 참조하십시오.
2. 라우팅 전 시트 계획
- A4 또는 A3를 선택하고 제목, 부품, 핀 할당 콜아웃, 메모 및 범례 영역을 예약합니다.
- 메인 컨트롤러를 시각적 중앙 근처에 배치합니다. 주변 장치는 연결되는 컨트롤러 측면 근처에 배치합니다.
- 부품 이미지와 해당 콜아웃을 함께 회전시킵니다. 각 콜아웃을 해당 물리적 커넥터 가까이에 유지합니다.
- 보드 헤더가 너무 조밀할 때는 콤팩트한 핀 할당 콜아웃을 사용합니다. 회전 또는 미러링 후에도 정확한 물리적 순서를 유지합니다.
- 라우팅 전에 라벨을 여유 공간으로 이동합니다. 사진, 라벨, 핀 번호 또는 인접한 접점 기호를 통해 라우팅하지 마십시오.
A3 구성, GPIO 콜아웃 및 부품 카드 패턴은 layout-and-callouts.md를 읽으십시오.
3. 연결을 결정론적으로 라우팅
- 프로젝트에서 명시적으로 다른 스타일을 요구하지 않는 한 직교(orthogonal) 방식으로 라우팅합니다.
- 라벨이 지정된 터미널 또는 패드의 경계에서 대상의 경계까지 연결합니다. 중간에 멈추거나, 카드 아래로 사라지거나, 접점 중앙을 교차하지 마십시오.
- 와이어당 하나의 채널을 예약합니다. 동일한 기하학적 세그먼트에 두 개의 연결 세그먼트를 배치하지 마십시오.
- 교차를 피합니다. 교차가 불가피한 경우 90도로 유지하고, 가시적인 분리 규칙을 사용하며, 접합을 암시하지 마십시오.
- 터미널 기호 아래에 경로를 그린 후, 경로 위에 터미널 채움, 번호 및 라벨을 다시 그립니다. 접점 가장자리에 가시적인 끝점을 유지합니다.
- 병렬 경로는 후광(halo)을 포함하여 최소 구성된 채널 간격만큼 떨어져 유지합니다.
- visual-language.md의 안정적인 색상 매핑을 적용합니다. 항상 색상을 신호 라벨과 쌍으로 사용합니다.
자료 라우팅 변경 후에는 scripts/validate_wiring.py를 사용하십시오. 중복, 의도하지 않은 교차, 끊어진 끝점, 가려진 라벨 또는 유효하지 않은 전기 연결은 실패 후보로 간주합니다.
4. 재사용 가능한 SVG 프리미티브로 구축
- 프로젝트 네이티브 템플릿이 없는 경우 wiring-a3-template.svg에서 시작합니다.
- 부품 사진을
assets/또는 프로젝트 자산 디렉토리에 보관하고 상대 경로로 참조합니다. - 경로, 터미널, 라벨, 부품 및 제한 영역(keep-out region)에 안정적인 ID와 의미론적
data-*속성을 부여합니다. svg-annotation-contract.md를 따르십시오. - 경로를 터미널 및 텍스트 아래의 전용 레이어에 배치합니다. 후광은 경로를 배경과 분리하는 데만 사용하고, 다른 경로를 숨기는 데 사용하지 마십시오.
- 편집 가능한 SVG를 소스로 유지합니다. PNG/PDF는 검토용 파생 아티팩트로만 렌더링합니다.
5. 레이어별 검증
- 구조적 SVG 파싱 및 배선 검증기를 실행합니다.
- 모든 넷리스트 끝점이 정확히 한 번 존재하고 각 경로가 선언된 두 끝점에서 종료되는지 확인합니다.
- 전원 방향, 전압 호환성, 공통 접지, UART 크로스오버 및 버스별 요구 사항을 확인합니다.
- 핀 1 표시기 및 홀수/짝수 행을 포함하여 실제 표시된 방향에 대한 물리적 번호를 확인합니다.
- 전체 시트와 수정된 모든 커넥터의 근접 촬영을 렌더링합니다.
- 의도된 인쇄 크기로 검사합니다. 핀 번호, 신호 이름, 와이어 식별자, 끝점 접촉 및 경고가 읽을 수 있어야 합니다.
- SVG 편집 후 매번 다시 렌더링합니다. 소스 검사만으로 성공을 보고하지 마십시오.
scripts/render_svg.py를 사용합니다. Codex Desktop에서는 사용 가능한 경우 작업공간 종속성을 로드합니다. 렌더러는 PNG 출력을 위해 번들된 Node.js 및 Sharp 런타임을 자동 감지합니다.
완료를 선언하기 전에 validation-gates.md를 읽으십시오. 기존 다이어그램을 수리할 때는 failure-patterns.md를 읽으십시오.
6. 진실되게 전달
- 요청 시 편집 가능한 SVG, 렌더링된 PNG 및 PDF를 전달합니다.
- 새로 추가되거나 변경된 연결에 대한 정확한 핀-투-핀 매핑을 명시합니다.
- 어떤 핀 할당이 출처 검증되었고 어떤 가정이 남아 있는지 명시합니다.
- 구조적, 전기적, 라우팅 및 시각적 게이트가 모두 통과된 경우에만
completed를 보고합니다. - 권위 있는 핀 할당, 전압 정격, 커넥터 방향 또는 결합면 해석을 설정할 수 없는 경우
blocked를 보고합니다. - 시각적으로 그럴듯한 경로가 전기적 정확성을 증명한다고 주장하지 마십시오.