고급 설계 기법과 Altium Designer

작성 날짜: 2020/04/20 월요일
업데이트 날짜: 2020/10/29 목요일

이 기사에서는 기본적으로 제공되지 않는 추가 기능을 Altium Designer®를 사용하여 구현하는 방법을 배워보겠습니다. Altium Designer의 강력한 측면을 발견하고 이를 마스터하면 설계 기술을 한 단계 높일 수 있습니다. 이 기사에서는 설계 검증을 수행하는 스크립트를 구현하는 방법에 대해 논의하겠습니다.

우리는 배울 것입니다:

  • 일부 설계 요구 사항을 검증하기 위한 규칙을 생성하는 방법.
  • Altium Designer 19에서 스크립트를 사용하여 해당 규칙을 검증하는 방법.

전형적인 문제

요즘 설계는 매우 복잡합니다. 일반적으로 고객은 PCB 설계자가 처음부터 보드가 작동하기를 기대합니다. 이를 달성하기 위해서는 세부 사항에 주의를 기울이는 것이 중요합니다.

이 예에서 실제 설계에서 사용할 수 있는 스크립트를 생성하는 방법을 살펴보겠습니다. 다음 설계 문제를 고려해 보십시오:

16비트 ADC 컨버터를 사용하는 고해상도 ADC 보드를 설계해야 합니다. ADC 컨버터의 입력 임피던스는 1 kΩ입니다. "드라이버와 ADC 사이의 최대 트레이스 임피던스는 1 LSB 이하의 오류를 달성하기 위해 얼마인가요?" "우리를 도울 수 있는 스크립트를 설계할 수 있나요?"

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

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

그림 1 고해상도 ADC의 트레이스 설계

이 질문에 답하기 위해서는 트레이스의 저항성을 계산하고 트레이스에서의 전압 강하가 1 LSB보다 높은지 확인해야 합니다.

트레이스 저항성을 계산하기 위해 다음 공식을 사용할 수 있습니다:

.

Easy, Powerful, Modern

The world’s most trusted PCB design system.

예를 들어:

트레이스의 크기가 다음과 같다고 가정해 봅시다: L = 10 cm, h = 0.035mm, w = 0.381mm. [1]을 사용하고 주변 온도가 25 °C라고 가정할 때 DC 트레이스 임피던스는 129 mΩ이며, 이는 0.013%의 전압 오류를 발생시킵니다., 16비트 ADC의 1 LSB(0.0015%)보다 훨씬 높습니다. 따라서 위의 트랙은 거의 9 LSB의 오프셋 오류를 줄 것입니다!

Altium Designer에게 위의 모든 검사를 대신 해달라고 요청할 수 있을까요? 가능하다면 실시간으로?

답은 분명히 예입니다.

이 정보를 제공하는 스크립트를 설계해 봅시다.

트레이스를 클릭하고 싶고, Altium Designer에게 트레이스 저항을 계산하고, 전압 강하를 계산하는 등의 검사를 해달라고 하고 싶습니다.

그림 2 우리 데모 스크립트에서의 정보 예시

Altium Designer에서 스크립트 디자인하는 방법

Altium Designer는 몇 가지 언어로 스크립트를 수용합니다. 제 경력 동안 많은 언어를 사용했지만, 제 전문 생활에서 처음 사용한 언어 중 하나는 Delphi였기 때문에 이 스크립트를 Pascal로 작성하기로 결정했습니다. 하지만, Visual Basic과 같은 다른 스크립팅 언어를 선호한다면 사용할 수 있습니다.

Altium Designer에서 위 문제를 해결하는 스크립트를 디자인하는 방법을 살펴봅시다.

우리의 스크립트에서는 다음을 수행하고자 합니다:

  1. PCB 보드를 로드합니다
  2. 모든 레이어 스택을 로드합니다 (트레이스 너비, 높이 등의 정보를 얻기 위해)
  3. 사용자가 마우스로 선택한 트레이스를 로드합니다
  4. 공식 [1]을 사용하여 저항을 계산합니다
  5. 트레이스 오류와 ADC 오류를 표시합니다

Altium Designer에서 스크립트 구현 방법

1.    PCB 보드를 로드합니다

우리가 실행하고자 하는 첫 번째 지시사항은 PCB 디자인을 로드하고 Board라는 변수에 저장하는 것입니다. 다음 지시사항으로 이 작업을 수행할 수 있습니다:

.

2.    레이어 스택을 로드합니다

Board가 로드되면, 레이어 스택을 로드하고 Stackup이라는 변수에 저장하고자 합니다:

.

3. 사용자가 마우스로 선택한 트레이스 로드하기

이제 GetObjectAtCursor() 메소드를 사용하여 선택된 트레이스를 가져와 Trace라는 변수에 저장할 수 있습니다.

.

4. 공식 [1]을 사용하여 트레이스 저항 계산하기

사용자가 마우스로 트레이스를 선택하면, 트레이스의 너비, 길이, 높이를 계산하여 TraceThickness, TraceWidth, TraceLength라는 3개의 변수에 저장하고자 합니다:

 

 

.

마지막으로 [1]을 사용하여 트레이스 저항 Res를 계산하고, ADC가 1V의 Vref를 가정할 때 전압 강하를 계산할 수 있습니다.

.

5. 트레이스 오류와 ADC 오류 표시하기

모든 계산이 완료되면 화면에 표시할 수 있습니다. 이를 수행하는 쉬운 방법은 MessageDlg() 윈도우를 사용하는 것입니다.

OutputString := '트레이스 두께 = ' + FloatToStrF(TraceThickness,0,5,4) + ' mm' + #13#10;

OutputString := OutputString + '트레이스 너비 = ' + FloatToStrF(TraceWidth,0,5,4) + ' mm' + #13#10;

OutputString := OutputString + '트레이스 길이 = ' + FloatToStrF(TraceLength,0,5,4) + ' mm' + #13#10#13#10#13#10;

OutputString := OutputString + '트레이스 저항 = ' + FloatToStrF(Res,0,5,4) + ' mohm' + #13#10;

OutputString := OutputString + '트레이스 전압 강하 = ' + FloatToStrF(VoltageDrop,0,2,2) + ' %' + #13#10;

OutputString := OutputString + 'ADC LSB = ' + FloatToStrF(ADCLSB,0,2,2) + ' %';

MessageDlg(OutputString,mtInformation,4,0);

 

스크립트 실행 방법

스크립트를 테스트하려면, PCB 문서에서 파일->RunScript…를 클릭하세요.

그런 다음 스크립트를 선택하세요:

이제 큰 십자가를 볼 수 있습니다:

분석하고 싶은 트레이스를 클릭하세요.

이제 계산이 포함된 메시지 창을 볼 수 있어야 합니다.

이 스크립트를 확장하여 더 정교한 검사를 추가할 수 있습니다. 예를 들어, 트랙을 아치로 확장하고 온도의 영향을 추가하는 등입니다. 이 부분은 연습으로 여러분에게 맡기겠습니다.

우리가 배운 것은 무엇인가요?

Altium Designer를 한 번 마스터하면, 복잡한 작업을 대신 수행할 수 있다는 것을 보았습니다. 이 예에서는 단 한 번의 클릭으로 DC 트레이스 임피던스를 측정하는 방법과 고해상도 ADC 설계에서 전압 오류를 추정하는 방법을 보았습니다.

이 데모 스크립트는 많은 제한이 있지만, 여러분 자신의 Altium Designer 확장 기능의 기초로 사용할 수 있습니다.

더 궁금한 점이 있으신가요? Altium의 전문가에게 문의하십시오 또는 Altium Designer의 최고의 PCB 설계 소프트웨어 기능과 트레이스 임피던스 계산기에 대해 더 알아보십시오.

관련 자료

관련 기술 문서

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