Home > TECH. & DIY > 어떤 LM2904 회로의 QSPICE 해석

어떤 LM2904 회로의 QSPICE 해석

글쓴이 : SOONDORI

눈 앞에 있는 어떤 상용 보드 때문에… 이하는 무궁화호 홍익회의 심심풀이 땅콩과 같은, 셀프 메모의 글.

아래 회로도에서, 좌측의 MCP48CVB22는 마이크로컨트롤러가 SPI 통신을 이용해서 지정 전압을 출력하도록 만드는 12비트 DAC이다. +15V 단 전원으로  동작하는 오른쪽 LM2904MX IC가 그 원시 전압을 넘겨받고 조금 더 큰 전압으로 키워서 출력한다.

선형성은 전적으로 DAC과 OP.AMP가 담보하는 조건이고, 맨 우측 TVS는 출력 단자로부터 유입되는 강한 써지 등을 바이패스시키는 보호용이며, 39K오움에 10nF가 병렬로 붙어있기에 굳이 로우패스 필터라고 하고… (C가 없다면 단순한 네거티브 피드백 회로)

여기서 OP.AMP의 논리 Gain은, 1 + (39K / 10K) = 4.9이다. 단순 계산으로는 3.3V가 OP.AMP 논-인버터 핀에 전달될 때 단자 출력은 16.17V가 되어야 한다.

과연 그럴까?

일단, 동작 전압이 +15V이므로 16.17V를 초과 생성할 수는 없음. 게다가 IC 내부에서 차감되는 전압까지 고려하면, 훨씬 더 낮은 값이 나와야 한다. 결과적으로 게인 4.9일 때, 입력 3.3V는 무리한 조건.

QSPICE로 어떻게 되는지를 확인해 보았다.

* 관련 글 : DIYer를 위한 회로 시뮬레이션 (3), QSPICE 소개

○ Step #1 : TI 사이트에 가서 LM2904 SPICE Model 매크로, ZIP 파일을 다운로드 한다.

그 안에는 ‘LMx58_LM2904.TSM’ 텍스트 파일이 들어있다. (TSM은 TINA Spice Macro의 약어) (내용 추가) 이 TSM 파일에 논리적 오류가 있음. 그래서 Qspice에서 제대로 값을 출력하지 않는다)

(내용 추가) TSM이 없을 경우의 해결 방법론.

긁고, Ctrl+C하고 Qspice에서 Ctrl+V하면 된다. 그리고 다음은 검증된 LM2904 매크로 파일.

LM2904 SPICE MODEL-MACRO-from TINA

○ Step #2 : 노트패드로 문서를 열고 전체를 Ctrl+C, QSPICE의 작업 영역에 아무렇게나 Ctrl+V. 그리고는… 반드시 <Include Entire File>을 클릭하고 <Yes>를 클릭.

○ Step #3 : 어색한 사각형을 OP.AMP를 표상하는 삼각형 심볼로 바꿀 수도 있지만, 귀찮으니까 Pass 하고… 있는 그대로 결선한다.

○ Step #4 : 녹색 <RUN> 버튼 클릭 → ‘Plot V(OUT)’ 지정에 의해 적당한 그래프가 튀어나온다 → TI社 매크로를 기준으로, QSPICE는 출력 전압이 13.78V일 것이라고 주장한다 → 믿고 역산해 본 게인은 4.1757.

어찌하다가 순서가 거꾸로가 되었는데… 이번에는 MCP48CVB22의 내부에 무엇이 들어있는지를 확인.

V_ref를 하드웨어적으로 지정할 수 있고, 내부 밴드 갭(Band Gap*, 1.214V) 레귤레이터에 의해 동작 항상성이 유지되며, 사다리 저항을 경유하여 내부 OP.AMP가 구동된다 → 프로그램 설정에 의해 부하 저항을 달리하면서 최종 전압을 출력. 12비트, 10비트 결정 외 설정이 복잡하고 출력 전압의 범위는… 지극히 가변적이다.

* NTC, PTC 써미스터를 교차 연결하는 것처럼, 온도 변화에 정반대로 반응하는 반도체를 묶어 놓은 것. +와 -가 상쇄되니까 논리상 온도 변화에 무감한 전압 기준점이 된다. MCP48CVB22의 경우, 3ppm/°C.

재미 삼아 역산해 보면, a) MCP48CVB22가 2.039V를 건넬 때 OP.AMP가 10.0021V를 출력하고, b) 0.4075V일 때는 2.0080V를 출력한다.

끝? 뭐… 그런가 보다 하고는, 관찰은 끝!

* 관련 글 : 어떤 LM2904 회로와 OP.AMP의 공통모드 속성

(내용 추가) 필터로서의 기능은 어떠한지가 궁금하여 SPICE 공용 명령어인 ‘쩜(.) AC’로 시뮬레이션해 보니, 10nF는 무슨 의미가 있나 싶음.

※ 아래 자료는, 스파이스 모델 매크로 파일의 오류 때문에 오류.

※ 제대로 된 모델을 가지고…

그렇다 치고… 이참에 AC 명령을 정리해 보면,

1) <독립 전압 소스>에 원하는 전압 값을 기입. 예를 들어 ‘AC 2.1’ 또는 ‘AC 2.1V’ 또는 ‘AC=2.1’ 등. 그리고 수식을 잔뜩 적어도 된다.
2) 명령은… ‘.trans +시간’ 대신에, ‘.AC + lin/oct/dec + 샘플 수 + 시작 주파수 + 종료 주파수’를 입력. 예를 들어, ‘.AC lin 100 5 200000’은 “100개 샘플을 취하고 Linear 스케일로 5hz에서 2Mhz까지 그려바~라”가 됨.

* 참조 링크 : https://www.powerelectronicsnews.com/qspice-ac-analysis-part-6/, https://www.powerelectronicsnews.com/?s=qspice


TI에서 만든 모델이니 당연히 TINA에서 돌아간다. 매크로 삽입 메뉴 사용 → 디렉토리에서 파일 선택으로 끝. TINA는 가상 멀티미터, 가상 오실로스코프, 가상 스펙트럼 애널라이저를 제공하는 강점이 있음.

그런데 왜 베타 버전이라는, 버그를 목도한 Qspice를 더 선호하는지? 이것은… 전적으로 취향의 문제.

 

Leave a Reply

Your email address will not be published. Required fields are marked *