본문 바로가기

하드웨어

하드웨어 개발 과정(1)

  하드웨어 개발 즉 보드(PCB)를 개발하는 진행 과정을 정리해 보고자 합니다. 이 과정을 통해서 하드웨어 개발에 대한 깊은 이해가 더 있으면 좋을 것 같습니다.

1. 콘셉트

1) 블록 다이어그램

  블록 다이어그램은 하드웨어 구성 요소 및 상호 작용을 시각적으로 볼 수 있도록 도표로 표현한 것을 이야기합니다. 블록 다이어그램을 미리 그려 놓으면 다음에 회로 설계를 할 때 빠짐없이 쉽게 정리할 수 있습니다. 블록 다이어그램은 다양한 방법으로 그려볼 수 있는데 보고서를 작성하는 것이 아니면 손으로 쓱쓱 그려서 보는 게 제일 편하고 좋습니다. 간혹 파워포인트나 전용 프로그램을 사용하기도 합니다. 작성 시 CPU, 메모리, 입력/출력 장치, 연결 인터페이스 등의 하드웨어 구성 요소를 블록 형태로 나타내고, 이들 간의 데이터 흐름이나 제어 흐름을 화살표 등으로 연결하여 시스템의 동작을 그리면 됩니다.

2) 주요 IC 선정

  하드웨어 디자인에서 주요 IC를 선정하는 것은 매우 중요하다. IC 서치 시 디지키 사이트를 많이 사용하는 편입니다. 업체, 재고, 처리 속도, 전력 소비, 신호 처리 등을 선택해 어떤 IC가 있는지 알아보기 쉽습니다. 이렇게 IC를 찾고 데이터 시트를 보고 구체적으로 IC 성능에 대해 파악합니다. 또한 다른 하드웨어 구성 요소나 소프트웨어와의 호환성을 고려해야 합니다. 필요한 통신 프로토콜이나 인터페이스를 지원하는지 확인하는 것도 중요합니다. 이후 재고 입고의 편이한 IC인지, 단가 및 MOQ를 확인해 보아야 하는데 유통 사이트들도 많이 있지만 회사에서 부품 거래하는 업체가 있거나 구매팀 통해서 확인해 보는 것이 편합니다. 이렇게 주요 IC를 선정하면 됩니다.

2. 하드웨어 설계

1) 라이브러리 작업

  회로도 라이브러리는 회로 설계를 위해 사용되는 구성 부품들의 모음을 이야기합니다. 회로도 및 ARTWORK를 하기 위해선 선행되어야 하는 작업입니다. 먼저는 사용할 부품의 목록을 정리합니다. 저항, 콘덴서, 인덕터 등은 자주 사용 하는 부품들이기 때문에 처음 잘 작업해 두면 다음에 계속 반복 사용이 가능합니다. 각 부품에 대한 심벌을 만들고, 부품의 스펙이나 다른 중요한 정보를 속성으로 추가하면 테스트할 때 편합니다. 라이브러리부터 PCB 제작을 위한 Gerber 파일 생성까지 사용하는 프로그램이 있습니다ORCA, MENTOR, Aatium Designer 등등이 있습니다. 회사마다 다르기 때문에 회사에 맞는 프로그램을 사용하면 됩니다. 전 MENTOR와 Aatium을 사용했습니다.

2) 회로도 설계

  회로도 설계는 블록 다이어그램을 기준으로 그리면 편합니다. 블록 다이어그램을 보면서 구성 요소를 식별하고, 이들 간의 관계를 이해합니다. 이후 회로도를 그리기 위해 시작합니다. 주요 IC의 경우에는 데이터 시트의 참조 회로를 활용하면 됩니다. 간혹 Kit나 Evel 보드가 있는 IC라면 그 보드의 회로도를 참고하는 것도 좋은 방법입니다. 회로도는 설계 소프트웨어를 사용하여 회로도를 그립니다. 회로도 설계는 반복과 테스트를 통해 완성도를 높여가는 과정이라 지속적인 피드백과 수정이 필요합니다.

3) ARTWORK

  PCB(회로 기판) 제작을 위한 디자인 파일을 말합니다. 실제 PCB 레이아웃을 나타내는 디지털 파일입니다. 이 파일은 PCB를 제조하기 위한 실제 생산용 출력 파일이 됩니다. PCB의 레이아웃, 패턴, 부품 배치, 구멍 위치, 패드 및 실제 기판의 경계 등이 포함됩니다. 이 파일은 PCB 제조 업체에서 사용되어 실제 PCB를 제작하는 데 사용됩니다.

4) Gerber 파일 제작

  실제로 PCB 제작할 때 제작 업체에 보낼 때는 ARTWORK 작업한 것을 Gerber 파일로 바꿔서 보내게 됩니다. Gerber 파일과 NC Drill 파일을 제작해서 업체에 전달하면 됩니다.

5) BOM 리스트 작업

  BOM은 PCB에 들어가는 부품 리스트를 이야기합니다. 부품 리스트에는 부품의 업체, 패키지, 사양, 참조 번호가 들어가야 합니다. 그래서 이 리스트는 보드 제작(SMT) 진행 시 사용하게 됩니다.

'하드웨어' 카테고리의 다른 글

MCU(마이크로 컨트롤러 유닛) 개념 잡기  (0) 2024.06.19
FPGA에 대해서  (0) 2024.06.18
펌웨어란 무엇인가?  (0) 2024.06.17
하드웨어 개발 과정(2)  (1) 2023.12.28
하드웨어 개발 팀에서 하는 일에 대해  (0) 2023.12.20