콘텐츠로 이동

다중 회로도 작성

회로도(schematic)가 여러 장이 되는 것은 분량 때문이 아니라 확인할 수 있게 하기 위해서다. 한 장에 다 들어가더라도 나누는 편이 나은 경우가 있고, 수용되지 않는다고 임의 지점에서 분할하면 분할하지 않은 것만 못하다.

잘 나눈 도면은 한 장만 떼어 놓고 봐도 그 장이 무엇을 하는지 파악된다.

구조를 평면으로 둘 것인지 계층으로 내릴 것인지다중 회로도와 계층 회로도에서 다룬다. 이 문서는 평면으로 나눈 도면을 실제로 어떻게 쓰는가를 다루고, 계층으로 내렸을 때의 구성과 원칙은 계층 회로도(hierarchical schematic) 작성이 다룬다.

이유나누지 않으면
확인이 쉽다화면을 이동해 가며 확인해야 하고, 검토자가 흐름을 놓친다
인쇄된다종이에 담기지 않거나 글자가 판독되지 않는다
분담 작성한 사람이 한 파일을 점유해야 한다
고친 자리가 좁다어디를 고쳤는지 도면 전체를 대조해야 한다
옮겨 쓴다다음 프로젝트로 가져갈 단위가 없다
찾는다“전원부를 보자” 는 말에 펼칠 것이 없다

검토가 가장 큰 이유다. 회로의 결함은 대개 사람이 분석해서 찾는다. 분석할 수 없게 그려 두면 검토가 형식이 되고, 그때부터는 시제품이 검토를 대신한다.

한 회로를 가로질러 분할하면 어느 장에서도 회로를 파악할 수 없고 기능 사이에서 분할하면 넘는 신호가 적다

원칙은 하나다.

신호가 가장 적게 지나는 지점에서 분할한다.

한 블록이 바깥과 주고받는 신호가 수십 개라면 경계가 회로를 가로지른 것이다. 되먹임 저항만 다음 장에 배치된 도면은 양쪽 어느 장을 봐도 회로를 알 수 없다.

적절한 경계부적절한 경계
전원부 · 클럭 · 주 제어 · 인터페이스 · 센서“이 장이 꽉 차서”
되먹임 회로 한 벌되먹임 소자만 다음 장
커넥터와 그 보호 회로커넥터만 모은 장
한 통신 계통 전체송신부와 수신부를 갈라 놓기

여러 장으로 나눈 도면은 첫 장이 블록도이고 나머지가 기능별로 이어진다

첫 장에 회로를 그리지 않는다. 블록과 그 사이의 주요 신호, 그리고 도면 목록을 둔다.

  • 처음 보는 사람이 어느 장을 펼쳐야 하는지 안다
  • 검토자가 구조를 먼저 확인하고 세부로 들어간다
  • 설계자 자신이 나중에 가장 많이 보는 장이 된다

전원 → 코어 → 인터페이스 → 커넥터처럼 검토자가 따라갈 순서로 배열한다. 부품 종류나 작성 순서로 늘어놓으면 목차가 있어도 흐름이 보이지 않는다.

정할 것기준
크기조직이 실제로 인쇄·검토하는 크기 하나로 통일한다
밀도확대하지 않고 판독되는가
여백핀·기호·글자 사이가 붙어 있지 않은가

모든 장을 같은 크기로 둔다. 한 장만 큰 도면은 인쇄에서 축소되어 그 장만 판독이 어려워진다.

신호는 왼쪽에서 들어와 오른쪽으로 나가고 도면 틀의 아래에 페이지 정보가 있다

규약내용
흐름은 왼쪽에서 오른쪽입력이 왼쪽, 출력이 오른쪽
전원은 위, 접지는 아래위아래 방향도 규약이다
장을 넘는 신호는 가장자리에들어오는 것은 왼쪽 끝, 나가는 것은 오른쪽 끝
여백을 준다기호와 글자가 붙으면 오독이 난다

가장자리 규약이 중요한 이유는 인쇄본에 있다. 종이에서는 검색이 되지 않으므로, 장을 넘는 신호가 가장자리에 모여 있어야 눈으로 이어 볼 수 있다.

시트를 넘는 신호에는 이름과 함께 어느 장으로 가는지를 적는다

평면 구성에서 장을 넘는 신호는 같은 이름을 쓰는 것으로 이어진다. 배선으로 잇는 것이 아니다. 그래서 이름 규약이 곧 연결 규약이 된다.

  • 이름은 기능을 말해야 한다NET23 이 아니라 USB_VBUS
  • 계통을 접두사로 묶는다 — PWR_ · CLK_ · SPI1_
  • 대소문자만 다른 이름을 두지 않는다 — 사람은 같다고 보고 기계는 다르다고 읽는다
  • 오타는 연결을 끊지 않고 새 넷을 만든다. 둘 다 정상으로 보인다

이름만으로는 어느 장에서 오고 어느 장으로 가는지 알 수 없다. 그래서 신호 옆에 행선지를 적는다.

VBUS [3장으로] ← 2장의 오른쪽 가장자리
VBUS [2장에서] ← 3장의 왼쪽 가장자리

여러 장으로 가는 신호는 가는 장을 모두 적는다. 이 표기는 기계가 아니라 사람을 위한 것이며, 도면을 종이로 검토할 때 값을 한다.

장을 넘는 신호가 많아지면 첫 장에 표 하나를 둔다 — 신호 이름 · 나가는 장 · 들어오는 장 · 성격. 이 표가 있으면 장 사이의 계약이 한눈에 보이고, 나중에 장을 나누거나 합칠 때 근거가 된다.

평면 구성에서는 이름이 곧 전역 연결이므로, 아무 장에서나 같은 이름을 적으면 이어진다. 편하지만 대가가 있다.

  • 어디서 이어지는지 도면에 보이지 않는다
  • 블록을 다른 프로젝트로 옮길 때 이름이 충돌한다
  • 의도치 않은 합류가 정상으로 보인다

정말로 설계 전체를 관통하는 것만 전역으로 둔다 — 전원·접지·기준 클럭·리셋 정도다.

항목규약
페이지 번호현재 장 / 전체 장수를 모든 장에 적는다
도면 목록첫 장에 둔다 — 장 번호와 이름
개정장마다 개정 표기를 두되 묶음 전체의 개정도 함께 관리한다
참조 지정자(reference designator)장마다 번호 대역을 배정한다 — 번호만 보고 어느 장인지 안다

번호 대역은 다중 회로도와 계층 회로도 §4.4 에서 다룬다.

증상원인
신호를 쫓다 길을 잃는다행선지 표기가 없다
두 장이 같은 회로를 그리고 있다경계를 정하지 않고 그리기 시작했다
이어진 줄 알았는데 안 이어져 있다이름 오타 · 대소문자 차이
이어지면 안 되는 것이 이어졌다흔한 이름을 전역으로 썼다(EN · CLK)
장을 옮기니 번호가 뒤섞였다번호 대역을 배정하지 않았다
인쇄본에서 판독이 안 된다장마다 크기가 다르거나 밀도가 높다
단계하는 일
1기능 블록을 적고 경계를 정한다
2장을 넘는 신호 목록을 만든다 — 이름 · 방향
3장 구성과 순서를 정하고 이름을 붙인다
4첫 장에 블록도와 도면 목록을 그린다
5장마다 회로를 그린다 — 가장자리 규약을 지킨다
6번호 대역을 배정하고 번호를 매긴다
7검사를 돌리고 남은 경고를 판정한다
8인쇄해서 확인한다

마지막 단계를 건너뛰지 않는 것이 요령이다. 화면에서는 확대할 수 있어 밀도 문제가 보이지 않는다.

내용
파일 단위회로도 한 장이 파일 하나다. 프로젝트가 그것들을 묶는다
문서마다 namespace파일이 다르면 같은 이름의 넷 라벨도 다른 넷이다
파일을 넘기는 수단신호 포트가 전역이다 — 넘길 신호를 명시하게 된다
namespace 의 원천문서에 적어 둔 시트 이름. 파일을 옮기거나 이름을 바꿔도 넷 이름이 유지된다
연결·검사프로젝트 단위로 항상 유지된다 — 실행하는 기능이 아니다
부품 시작 번호시트 → 문서 → 프로젝트 순으로 찾아 첫 값을 쓴다

두 번째 줄이 다른 도구와 갈리는 지점이다. 라벨은 그 문서 안에 갇힌다. 파일을 넘겨 이으려면 신호 포트를 써야 하므로, “어느 신호가 파일 경계를 넘는가” 가 도면에 드러난다.

확인
경계한 회로가 두 장에 걸치지 않는가
경계장을 넘는 신호가 지나치게 많지 않은가
구성첫 장에 블록도와 도면 목록이 있는가
이름모든 장에 기능을 말하는 이름이 있는가
이름넷 이름이 기능을 말하는가 · 대소문자만 다른 이름이 없는가
표기장을 넘는 신호에 행선지가 적혀 있는가
배치넘는 신호가 가장자리에 모여 있는가
전역전역으로 둔 이름이 정말 전체를 관통하는가
번호페이지 번호와 전체 장수가 모든 장에 있는가
번호장마다 참조 지정자 대역을 배정했는가
인쇄인쇄본에서 판독되는가