[PSpice란?]
PSpice (Professional Simulation Program with Integrated Circuit Emphasis)
PSpice는 전기, 전자 및 디지털 회로 등을 설계할 경우에 미리 시뮬레이션을 할 수 있는 프로그램이다.
과거 일일이 실제 회로를 작성하여 테스트를 하는 것이 아니라 미리 컴퓨터로 시뮬레이션으로 확인 할 수 있기 때문에
시간과 경비가 절약되는 아주 중요한 프로그램이다.
[기본 메뉴 및 옵션]
1. 프로젝트 생성
2. 프로젝트 매니저
① 각 프로젝트는 하나의 디자인을 포함
② 하나의 프로젝트에는 library, output file, PSpice resource로 구분
③ 하나의 디자인에 여러 Schematic을 포함할 수 있으며,
하나의 Schematic에는 여러 page를 포함할 수 있다.
- 베릴로그처럼 한 장에 쭉 쓰면 안 되고, 프로젝트 하나 당 schematic 하나 씩!
④ 반드시 Root Schematic에서 Simulation 및 그 밖에 기능을 수행
- Design Resource : Schematic 관련 데이터 관리
- Outputs : Schematic 관련 데이터 출력 관리
- PSpice Resources : Simulation 관련 데이터 관리
※ 라이브러리 추가
▶ PSpice Library의 경로
- OLB 파일 경로(OLB : 심볼과 관련된 라이브러리)
C:\Cadence\SPB_16.3\tools\capture\library\pspice
- LTB 파일 경로(LIB : 부품의 전기적인 특성 정보와 관련된 라이브러리)
C:\Cadence\SPB_16.3\tools\pspice\library
[Bias Point 해석]
1. Bias point 해석이란?
: 바이어스 포인트 계산은 직류분에 대한 정상상태에서의 값을 계산하는 것을 의미하고,
어떤 종류의 해석을 수행할 때도 반드시 먼저 수행되는 해석이다.
2. 출력 결과
- 모든 아날로그 노드 전압의 리스트
- 모든 디지털 노드의 상태 리스트
- 모든 전압원의 전류와 Power
- 모든 Device의 small signal parameter 리스트
▶ 위 리스트를 output file에 출력
3. Simulation setting
- Include detailed bias point ~(.OP)
: 비선형 제어 전원이나 반도체 소자를 위한 상세한 바이어스 포인트 계산 결과를 출력한다.
- Perform Sensitivity analysis(.SENS)
: 민감도 해석(Sensitivity analysis)을 수행한다.
Output variable(s) : 해석할 출력 변수 입력
- Calculate small-signal DC gain(.TF)
: 입/출력에 대한 전달 함수를 계산한다.
From input source name : 입력 전원을 입력
To Output variable : 출력 변수를 입력
4. 예제 : 분압회로
DC gain : -0.5
Source에서 본 임피던스 : 2k
V(R2)에서 본 임피던스 : 0.5k
[Time Domain(Transient) 해석]
1. Transient(과도) 해석
: 과도 해석은 시간 영역에서 입력 신호에 대한 출력을 결정하는 해석을 말한다.
과도 해석의 계산 방법은 항상 L과 C의 현재의 계산 값을 초기치로 하여 다음 스텝의 계산을 수행한다.
2. Fourier(퓨리에) 해석
FFT는 Probe 상에서 출력 데이터를 가지고 FFT 알고리즘으로 계산하는 것으로
Probe 화면에 주파수 스펙트럼을 출력하는 기능을 수행하고, 퓨리에 해석은 결과 데이터를 퓨리에 적분하여 결과를 얻는다.
따라서 FFT 결과에서는 단지 크기만이 제공되지만 퓨리에 해석을 수행할 경우 크기, 위상, 직류분 등에 대한 결과를 출력하므로
평균치, 기본파 실효치, 역률, THD 등을 계산할 수 있다.
3. Simulation setting
여러 종류의 세팅법이 있지만, 대표적으로 사용하는 것은 두 가지이다.
- General Settings
: Time Domain(Transient)과 관련하여 시간에 대한 회로의 전압, 전류, 디지털 회로의 논리 상태 등의 과도 상태를 계산
- Monte Carlo / Worst-case
: 어떤 영역 안에서 모든 소자의 모델 파라미터를 임의로 랜덤하고 변화시켜 가면서 그 변화에 따른 회로의 응답을 계산.
소자의 오차 범위를 사용자가 설정할 수 있으며, Monte-Carlo 해석을 위해서는 Breakout의 라이브러리에 있는 소자를 사용하거나 Special 라이브러리에 있는 variable를 사용해야 한다.
4-1. 예제 : 시정수 찾기
※ SKIBP (Skip initial transient bias point calculation)
: 바이어스 포인트 계산 단계 건너뛰기
Time domain 해석(DC Sweep과 AC sweep 해석에서도 동일하게 적용)의 초기 단계에서
Bias point 해석이 먼저 진행되기 때문에 위와 같은 결과가 나온다.
Bias point 해석 시, 전압은 시작 전압값으로 계산되며 커패시터는 오픈된 상태(단선, ∞저항), 인덕터는 닫힌 상태(단락, 무저항)로 해석된다.
그래서 Bias point 해석 단계에서 입력 전압(5V)가 Out까지 적용, 값이 시뮬레이션 초기 값으로 설정되어 위 결과와 같이 출력된다.
※ 시정수(τ)
: 입력이 0일때의 즉 고유응답이 1/e로 감소하는데 걸리는 시간(약 36.8%로 떨어지는 시간)
τ = RC = 100k x 100µ = 10sec
4-2. 예제 : 트랜지스터를 이용한 비안정 발진기
R = 6.8㏀, 100㏀ 와 C = 0.01㎌, TR = 2N3904를 이용하여
비안정 발진회로를 구성하고 시뮬레이션한 다음 발진주파수를 계산하시오.
발진주파수 fosc = 1 / 0.693(R₂C₁ + R₃C₂)
[DC sweep 해석]
1. DC sweep 해석
: DC 해석에서는 모든 전원을 DC로 간주하고 모든 인덕터는 단락(short)으로, 커패시터는 개방(open)으로 간주하여 해석한다. 바이어스 포인트 계산, DC sweep, 소신호 민감도 해석(Small signal sensitivity), 전달 함수 계산(Small signal transfer function) 등이 있다.
어떤 소자의 값을 변화시키는 과정을 sweep이라 하는데,
DC 전원, 온도, 전류원, 모델 파라미터, Global 변수를 선택하여 선형적인 가변 , Octave/Decade의 로그적인 가변과 가변시킬 값의 리스트를 입력하여 해석할 수 있다.
2. Simulation setting
1) Primary sweep
: sweep할 첫 번째 변수의 조건을 입력하여 DC sweep 해석 수행
2) Parametic sweep
: 글로벌 파라미터, 모델 파라미터, 소자의 값 혹은 동작 온도를
정해진 순서에 따라 변화시키면서 특정한 기본 해석을 반복한다.
3) Sweep variable
: sweep할 변수에 대한 관련 사항과 변수명을 입력
sweep 변수의 종류(전압원, 전류원, 글로벌파라미터, 모델파라미터, 온도 등)
4) Sweep type
① Linear
- Start value : 시작 값 입력
- End value : 종료 값 입력
- Increment : 가감분 입력
② Logarithmic
- Start value : 시작 값 입력
- End value : 종료 값 입력
- Points/Decade : Decade/Octave 당 데이터수 입력
③ Value list
: 해당 입력란에 해석을 원하는 변수값 직접 입력
값의 분리는 space bar 입력 으로 분리
3-1. 예제 - 제너 전압 레귤레이터
3-2. 예제 - 전압 레귤레이터
[AC sweep/noise 해석]
1. AC sweep 해석
: AC 해석은 입력 주파수를 변화시켜 가면서 회로 시스템에 대한 주파수 응답을 계산하는 해석이다.
주파수 응답을 계산하기 전에 각 소자의 small signal 파라미터를 결정하고 교류 해석에 대한 바이어스 포인트를 계산한다.
교류 해석에서 시스템의 보드선도, 임피던스 해석이 있다.
2. Noise 해석
: 회로 내에 사용하는 저항과 반도체 소자는 주파수에 영향을 받는 노이즈를 발생시키는데, 이러한 발생 노이즈에 대해 해석하려면 교류 해석과 병행해야 한다.
즉, 교류 해석의 각 주파수에 대해여 회로 내의 각 소자에서 발생하는 노이즈량을 계산하고 출력 노드에 미치는 영향을 분석하며 입력 전원과 출력 전압 사이의 이득을 계산하고, 이 계산을 토대로 특정 전원에서의 등가 입력 노이즈량을 계산한다.
3. Simulation setting
1) General setting
: 입력 신호의 주파수 범위, 데이터 개수, 노이즈 해석을 위한 입출력 변수 등을 입력하여 기본적인 AC/Noise 해석 수행
2) AC sweep type
- Start Frequency : 시작 주파수 입력
- End : 종료 시점 주파수 입력
- Points/Decade : Total 데이터 수 또는 Decatd, Octave 당 데이터 입력
3) Noise Analysis
- Output voltage : Noise 출력 전압 노드를 입력
- I/O Source : 소스명 입력
- Interval : 간격 입력
4-1. 예제 - 1극 저역 통과 필터
4-2. 예제 - 인덕터 값에 따른 임피던스 및 컨덕턴스의 변화
[Paranetric 해석]
1. Parametric 해석
: Parametric 해석은 회로 내의 소자 값을 변경하면서, 회로 특성이 어떻게 변화하는가를 살펴 보는 해석
2. Goal Function
: Parametric 해석을 실행한 후 특성 평가의 편의를 위해 PSpice에서 제공하는 평가 함수
3. 사용법
4-1. 예제 - 반파 정류 회로의 필터
1㎑ 30V의 Sine파와 D1N914, R = 1㏀, C = 1㎌, 2㎌, 5㎌을 이용하여 반파 정류회로를 구 성하고 3ms까지 시뮬레이션 하시오.
아쉬운 점 한 가지,
교육 과정 순서대로 시간표가 짜여졌다면 참 좋았을 건데..
다른 기수들과 동시에 진행되다 보니 시간표가 뒤죽박죽이다.
근데 어쩔 수 없지 뭐..
'# Semiconductor > - Semicon Academy' 카테고리의 다른 글
[Harman 세미콘 아카데미] 23일차 - ATmega128(FND count, PWM, Buzzer, Motor driver) (0) | 2023.07.19 |
---|---|
[Harman 세미콘 아카데미] 22일차 - ATmega128(FND 활용) (0) | 2023.07.18 |
[Harman 세미콘 아카데미] 20일차 - Github 사용법, C++(함수 오버로딩~class 기초) (0) | 2023.07.14 |
[Harman 세미콘 아카데미] 19일차 - C언어(C표준함수, Buffer, malloc, Memory Dump) (0) | 2023.07.13 |
[Harman 세미콘 아카데미] 18일차 - Timer/Counter, Interrupt 실습 (2) | 2023.07.12 |