맞춤형 나노보드 주변기기 보드 설계

Ben Jordan
|  작성 날짜: 2017/02/21 화요일  |  업데이트 날짜: 2020/11/11 수요일

나노보드®에 맞춤 하드웨어 기능을 추가하고 싶다면, 자신만의 애드온 주변기기 보드를 만들어보는 것은 어떨까요? 이 두 부분으로 구성된 기술 팁에서는 Altium Designer®와 함께 사용할 수 있는 맞춤형 보드를 쉽게 만드는 방법에 대해 자세히 설명합니다.

1부: 자신만의 주변기기 보드 템플릿 만들기

이 두 부분으로 구성된 기술 팁의 첫 번째 설치에서는 PCB 디자인을 시작하는 방법, PB30 참조 디자인을 시작으로 이를 수정하여 맞춤형 주변기기 보드의 템플릿을 형성하는 방법에 대해 살펴보겠습니다. 더불어, 맞춤형 주변기기에 사용할 수 있는 일부 IO 연결에 대해서도 논의할 것입니다.

다음 설치에서는 등록 과정과 새로 만든 주변기기 보드를 사용하여 FPGA 디자인을 시작하는 방법에 대해 논의할 것입니다.

NB2와 NB3000은 많은 공학 학교, 개인 및 기업 설계 팀이 새로운 디자인 아이디어를 탐색하고 실현하는 데 사용됩니다.

NB3000은 저렴한 가격뿐만 아니라 USB(호스트 및 슬레이브), RGB LED, TFT 터치 스크린, 절연 릴레이 스위치, ADC, DAC, RS-485, RS-232, 이더넷, MIDI, SVGA, 고화질 오디오 IO 등을 포함한 광범위한 IO 장치 및 옵션 덕분에 특히 인기가 있습니다. 이것들은 단지 몇 가지 예에 불과합니다!

NanoBoards는 모두 확장 가능한 개발 보드로, 추가 IO 기능을 추가하기 위한 주변기기 딸린 보드 위치를 가지고 있습니다. 이 기술 팁을 작성하는 시점에서 Altium에서는 네 가지 주변기기 보드를 제공합니다: 전체 크기의 PB01(오디오 코덱, 아날로그 비디오 IO), PB02(SD, CF, ATA 등의 대용량 저장소 보드), PB03(이더넷, USB, IrDA), 그리고 NB2/NB3000에 필요한 커넥터와 여러 가지 다른 프로토타이핑 영역을 갖춘 전체 크기의 보드인 PB30입니다.

쉽고 강력하고 모던한 서비스

세계에서 가장 신뢰할 수 있는 PCB 설계 시스템

프로토타이핑 보드는 NanoBoard NB3000에 연결하여 간단한 회로를 시도해 보기에 좋은 출발점이지만, 자신만의 주변기기 보드를 디자인하면 무한한 가능성을 얻을 수 있습니다.

이 두 부분으로 구성된 기술 팁의 첫 번째 설치에서는 PB30 참조 설계를 시작으로 PCB 설계를 시작하는 방법과 이를 수정하여 사용자 정의 주변 장치 보드의 템플릿을 형성하는 방법을 살펴보겠습니다. 더불어, 사용자 정의 주변 장치에 사용 가능한 일부 IO 연결에 대해서도 논의할 것입니다. 다음 설치에서는 등록 절차와 생성한 새 주변 장치 보드를 사용하여 FPGA 설계를 시작하는 방법에 대해 논의할 것입니다.

주변 장치 보드 파일 준비하기

첫 번째 단계는 주변 장치 보드의 템플릿을 구축하는 것이며, 이 기술 팁에서는 PB30을 기반으로 할 것입니다. 이 보드는 Altium Nanoconnector가 왼쪽 상단에 위치하고, NanoBoard NB3000에 연결될 때 실크스크린이 일반적으로 올바른 방향으로 표시되도록 배치되어 있기 때문입니다. NanoBoard NB2를 사용하는 경우, 전체 크기의 주변 장치 보드 공간은 상단에 위치하며, 이 경우 방향이 180도 회전된 PB-01(오디오, 비디오) 보드가 좋은 선택이 될 것입니다.

현재 Altium 릴리스는 PB30 참조 설계의 기본 위치를 “C:\Program Files\Altium Summer 09\Examples\Reference Designs\PB30\”에 두고 있습니다. .

Easy, Powerful, Modern

The world’s most trusted PCB design system.

주변 보드 폴더 전체를 복사하고 템플릿용으로 이름을 바꾸세요. 이 경우에는 PBUSER라고 이름을 지었습니다.

또한, 프로젝트의 실제 파일 이름도 바꿔야 합니다. 이를 위한 빠른 방법은 좋은 구식 DOS 명령어 RENAME을 와일드카드와 함께 사용하는 것입니다:

이제 Altium에서 PBUSER.PrjPCB 프로젝트를 열면, 이전에 프로젝트의 일부였던 각 문서가 더 이상 찾을 수 없어 제거될 것이라는 경고를 받게 됩니다.

이는 우리가 그 파일들의 이름을 (적절하게) 바꿨기 때문입니다. 문제 없습니다, 왜냐하면 우리가 해야 할 일은 단지 그들을 다시 프로젝트에 추가하는 것뿐이니까요. 이를 위해 명령어 Project» Add Existing to Project...를 사용하고, 모든 PBUSER*.* 파일을 선택한 다음 OK를 클릭하면 됩니다.

이제, 프로젝트와 모든 파일의 이름이 바뀌었을 뿐, PB30의 완벽한 복제본을 가지게 되었습니다.

Easy, Powerful, Modern

The world’s most trusted PCB design system.

다음 단계는 설계에서 프로토타이핑 영역을 제거하는 것입니다. 이것은 실제로 PROTO1으로 지정된 회로도에서 제거할 수 있는 구성 요소이기 때문에 비교적 쉽습니다. PB30 참조 설계에는 제작된 PCB를 참조하는 회로도 구성 요소도 포함되어 있습니다. 이를 통해 PCB 자체가 제품을 조립하는 데 필요한 구성 요소 중 하나인 완전한 조립체를 생성할 수 있습니다. 하지만, 우리가 만들고 있는 템플릿에서는 더 이상 관련이 없으므로, 그것도 삭제하겠습니다.

PB30 설계에는 FPGA 설계의 제약 조건이 자동으로 구성되도록 Altium과 보드의 ID 및 등록을 위해 사용되는 1-wire PROM도 포함되어 있습니다. 우리는 이 기능을 사용자 정의 PB에 원하기 때문에 이 부분은 설계에 그대로 두겠습니다. 회로도에서 불필요한 부분을 삭제한 후, Design» Update PCB Document PBUSER.PcbDoc를 클릭하면 ECO 프로세스가 시작되어 PCB로 변경 사항을 푸시하고, 결국 원하지 않는 부분을 제거합니다. 이 명령을 실행할 때, 일부 구성 요소가 고유 ID를 사용하여 일치시킬 수 없다는 경고를 받을 수 있습니다. 그런 경우에는 동기화가 계속될 수 있도록 Yes를 클릭하세요. 마찬가지로, 구성 요소 클래스를 일치시키라는 메시지가 표시되면 No를 클릭하세요. (이 문제들은 ECO 프로세스를 실행함으로써 간단히 해결됩니다.)

ECO를 실행하기 전에 보면, 넷리스트에서 필요 없는 구성 요소 패드, PROTO1 구성 요소 풋프린트(전체 프로토타이핑 영역), 그리고 중복된 구성 요소 클래스와 공간을 모두 제거할 것임을 알 수 있습니다. 새로운 구성 요소 클래스와 새로운 공간이 새로운 설계 파일에서 이름이 지정된 대로 추가될 것입니다. ECO를 실행하면 이 프로세스가 완료되고 업데이트된 PCB 설계가 열립니다.

여기에서 프로토타이핑 영역의 원래 트랙 작업이 남아 있는 것을 볼 수 있으며, 눈물방울 모양도 포함되어 있습니다. 트랙 작업을 제거하려면 Tools» Un-Route» All을 사용하면 됩니다. 눈물방울 모양을 제거하려면 박스 선택하여 단순히 Delete 키를 누르면 됩니다.

ECO 프로세스의 일부로, 보드에 새로운 Room이 추가되었으며, 최상위 스키매틱의 이름을 따서 명명되었습니다(이 경우 PBUSER Double_Sized_Proto_Board). Room을 사용하고 싶지 않다면 선택하여 삭제하기만 하면 됩니다. 그렇지 않으면 선택하고 오른쪽 상단 모서리를 드래그하여 그 영역이 보드를 커버하도록 합니다.

이 프로젝트에는 두 개의 PCB 문서가 있음을 알 수 있습니다 - 이 PCB인 PBUSER.PcbDoc와 PBUSERPanel.PcbDoc입니다. PBUSERPanel.PcbDoc는 메인 PCB 디자인의 2x2 패널화 버전으로, 임베디드 보드 어레이를 사용합니다. 메인 PCB를 참조하기 때문에 수정해야 할 부분이 거의 없습니다. 임베디드 어레이 자체는 새 PCB 문서를 가리키도록 업데이트해야 합니다. 이는 작은 회색 사각형처럼 보이는 어레이를 더블 클릭하고 새 PCB 파일 이름을 지정함으로써 수행됩니다:

배열이 새로운 빈 보드를 가리킬 때 패널 내에서 제대로 볼 수 있습니다:

이 시점에서, "PB30"을 참조하는 모든 텍스트 문자열도 이 새 보드의 이름을 반영하도록 변경되어야 합니다. 프로젝트 매개변수에서 자동으로 업데이트될 수 있도록 특별한 문자열을 대체로 사용하는 것도 좋은 방법입니다 - 특히 이것이 많은 새로운 디자인의 템플릿으로 사용되는 경우에 특히 유용합니다.

또한, Top Overlay 레이어의 바코드는 바코드 폰트를 사용한 단순한 문자열입니다. Altium 보드의 경우, 그것은 단순히 보드의 이름입니다. 이 경우 PBUSER로 업데이트되어야 하지만, 여러분의 주변 보드 부품 이름이 무엇이든 그것과 일치하게 만들 수 있습니다.

템플릿 생성

업데이트된 파일과 프로젝트가 모두 저장되면, 이들을 새로운 맞춤형 주변기기 보드 디자인의 기반으로 사용할 준비가 된 것입니다. 또한, 프로젝트와 그 파일들을 템플릿 폴더에 복사함으로써 프로젝트 템플릿으로 함께 사용할 수 있습니다. 이 폴더는 Altium 설치 폴더 내에 있습니다. 그런 다음 Altium에서 파일 패널을 클릭하고, PCB 프로젝트, 에서 템플릿에서 새로 만들기 패널을 클릭한 후 PCB 프로젝트...를 선택하고 템플릿 폴더에서 PBUSER.PrjPcb 프로젝트를 찾아보세요. 새로 생성된 프로젝트를 저장할 때, 템플릿에서 온 프로젝트와 모든 소스 문서를 저장할 새 위치를 선택하라는 메시지가 표시됩니다.

핀 스와핑과 나노커넥터

이 템플릿을 사용하는 주요 이점 중 하나는 NB3000 또는 NB2 호스트에 인터페이스하기 위해 사용된 나노커넥터를 나타내는 스키매틱 구성요소가 호스트의 고정 기능 IO들, 예를 들어 오디오, SPI, I2C, 그리고 호스트 클록에 대한 모든 적절한 핀 할당으로 사전 구성되어 있다는 것입니다. 또한, 시스템 하드 및 소프트 JTAG 체인이 주변 보드의 나노커넥터로 라우팅되며, 추가 FPGA, 마이크로컨트롤러 또는 경계 스캔 장치를 시스템에 추가하기 쉽게 활성화 라인과 함께 제공됩니다. 물론, 전원 공급 레일도 제공됩니다. 사용 가능한 전압은 1.2V, 1.8V, 2.5V, 3.3V, 그리고 5V입니다.

고정 기능 IO 외에도, 나노커넥터의 한 쪽은 일반 목적의 디지털 IO에 할당되어 있으며, 결국 NB3000(또는 NB2)의 사용자 FPGA에 연결됩니다. 디자인에서 나노커넥터 구성 요소(지정된 HDR1)의 이 핀들은 모두 교환 가능하도록 사전 구성되어 있습니다. 이는 커넥터 주변의 라우팅이 그 세밀한 피치 때문에 상당히 밀집될 수 있기 때문에 특히 유용합니다. 이 기능을 사용하는 데 특별한 요령은 없습니다 - 아래에 표시된 예에서 핀 스와퍼는 도구» 핀/부품 교환» 자동 넷/핀 최적화에서 실행되었고, 결과적인 변경 사항은 디자인» 스키마틱 업데이트 In <project>를 사용하여 스키마틱으로 역-ECO 과정을 통해 피드백되었습니다.

보드를 라우팅하는 과정에서 궤적이 완성 지점에 가까워짐에 따라 핀 스와퍼를 여러 번 실행하는 것이 유용할 수 있습니다. 이는 교차점을 제거하고 사용자 정의 주변 장치를 만드는 과정을 크게 가속화하는 데 도움이 됩니다. 위의 예는 단 이틀 만에 완성되었으며, 아래에는 3D 뷰가 표시됩니다:

나노커넥터에 대한 마지막이자 매우 중요한 점은 전 세계 어디에서나 저렴한 비용으로 (그리고 대량 구매 할인과 함께) Altium에서 구할 수 있다는 것입니다. 이 커넥터의 주변 보드에 대한 주문 번호는 99-400-NBC입니다(9개의 커넥터가 들어 있는 튜브가 제공됩니다).

...그리고 다음 달에는!

이로써 이 기술 팁의 첫 번째 부분을 마치겠습니다. 이 과정을 거쳐 템플릿을 생성하고, 물론 자신의 회사 로고 등으로 개인화한 후에는, 원하는 만큼 맞춤형 주변 보드를 쉽게 생성할 수 있습니다.

이 기술 팁의 다음 부분에서는 새로운 맞춤형 보드를 사용하는 "부드러운" 측면을 발검하게 될 것입니다 - 재사용 가능한 제약 파일을 생성하는 방법, 1-wire PROM으로 카드에 개성을 부여하고, FPGA 프로젝트와 함께 사용할 매칭 포트 플러그인을 생성하는 방법입니다.

작성자 정보

작성자 정보

Ben is a Computer Systems and PCB Engineer with over 20 years of experience in embedded systems, FPGA, and PCB design. He is an avid tinkerer and is passionate about the creation of electronic devices of all kinds. Ben holds a Bachelor of Engineering (CompSysEng) with First Class Honors from the University of Southern Queensland and is currently Director of Community Tools and Content.

관련 자료

관련 기술 문서

홈으로 돌아가기
Thank you, you are now subscribed to updates.
Altium Need Help?