SPI 라인에는 항상 풀업 저항이 필요한 것은 아닙니다

Zachariah Peterson
|  작성 날짜: 2023/10/19 목요일  |  업데이트 날짜: 2024/11/11 월요일
SPI 풀업 저항기

SPI 버스의 라인에 풀업 저항이 필요하거나 필수라는 인기 있는 오해가 있습니다. 저는 여기서 SPI 버스에서 디지털 데이터를 송수신하는 기본 기능을 수행하는 데 풀업 저항이 필요하지 않다는 것을 명백히 말씀드리고자 합니다.

SPI 인터페이스의 버퍼는 푸시-풀 토폴로지를 가지고 있으며(고수준에서) 하이사이드와 로우사이드 스위칭 MOSFET을 포함하여 사실상 CMOS 인버터를 형성합니다. 이 글에서 볼 수 있듯이, 풀업 저항의 존재는 푸시-풀 버스의 기능성에 영향을 미치지 않습니다.

그렇다고 해서, 푸시-풀 버스에 풀업 저항을 배치하는 것이 의미가 없는 것은 아니며, 일부 데이터시트에서는 부품 제조업체가 이를 권장하거나 요구하기도 합니다. 이러한 상황과 시스템 동작에 미치는 영향을 살펴보겠습니다. 이러한 상황에서 풀업 저항이 필요 없게 만드는 더 복잡한 해결책이 있을 수 있지만, 풀업 저항을 배치하는 것은 설계를 단순하게 유지하고 인터페이스가 올바르게 작동한다는 보험을 제공하는 해결책이 될 수 있습니다.

풀업 저항이 있는 SPI 버스의 작동 방식

SPI 인터페이스에서 버퍼의 전형적인 모델을 살펴보겠습니다. 모든 SPI 버퍼는 버스에 신호를 전달하는 상부 스위칭과 하부 스위칭으로 구성된 푸시-풀 토폴로지를 가지고 있으며, SPI 버스(CS, MOSI, MISO, SCLK)의 각 신호는 이 토폴로지를 가집니다. 이 회로의 예는 아래에 나와 있습니다. 실제 SPI 버퍼는 두 개의 MOSFET만큼 간단하지 않지만, 일반적으로 같은 아이디어가 적용됩니다.

CMOS 인버터를 SPI 드라이버로 사용. 출력은 추상 요소로 표현된 트레이스와 부하 회로(RC 등가 모델)에 연결됩니다.

Unparalleled Schematic Capture

Easily design schematics of any complexity.

이 토폴로지를 사용하는 전체 이유는 버퍼 회로의 충전 용량을 방전시켜 출력에서 상당히 빠른 에지 속도를 제공하기 위해서이며, 이는 버스의 클록 주기보다 훨씬 짧을 것입니다. 이것이 오픈 드레인 프로토콜(예: I2C)보다 더 빠른 데이터 속도를 가능하게 하는 이유입니다.

풀업 저항이 포함된 SPI 버스는 본질적으로 출력 버퍼의 고측 FET와 병렬로 저항이 있는 CMOS 인버터 드라이버입니다. 이제 드라이버의 각 스위칭 상태에서 무슨 일이 일어나는지, 그리고 버스에서 무슨 일이 일어나는지 살펴보겠습니다.

논리 HIGH 출력

논리 HIGH 출력 상태에서 NMOS는 꺼져 있고 PMOS는 켜져 있습니다. VDDIO는 이제 연결된 트레이스와 부하로 전류를 공급하고 있습니다. 트레이스와 부하의 커패시턴스가 충전되기 시작하여 부하에서 볼 수 있는 전압이 VDDIO와 일치할 때까지 계속됩니다. 여기서, PMOS의 켜짐 저항은 mOhm 수준이고, 풀업 저항은 1에서 10 kOhm 수준입니다. 분명히, 풀업 저항은 HIGH 논리 출력 상태에서 PMOS에 의해 본질적으로 단락되는 것처럼 큽니다.

풀업 저항의 존재 여부와 관계없이 모든 전류가 HIGH 논리 상태에서 PMOS를 통해 흐르기 때문에, 스위칭 특성은 영향을 받지 않습니다.

Easy, Powerful, Modern

The world’s most trusted PCB design system.

논리 LOW 출력

이제 회로가 로직 LOW 출력 상태로 전환되었다고 가정해 봅시다. 이 상태에서 NMOS는 켜져 있고 PMOS는 꺼져 있으므로, 트레이스와 부하 용량은 NMOS를 통해 GND 넷으로 방전됩니다. PMOS가 꺼져 있기 때문에, 매우 높은 저항(수 MOhms의 순서)처럼 보이며, 이는 풀업 저항(1에서 10 kOhms)의 값보다 훨씬 큽니다.

이 경우 풀업이 더 작은 저항이므로, NMOS로 흐르는 전류 값 VDDIO/R(pu)를 허용합니다. 1에서 10 kOhm 풀업 저항과 VDDIO = 3.3 V의 경우, NMOS로의 누설 전류는 0.33에서 3.3 mA가 됩니다. 이는 전형적인 SPI 전류인 약 50 mA보다 훨씬 작으므로, 다시 한번 스위칭 특성에 영향을 주지 않을 것입니다. 버스의 하강 시간은 부하 및 트레이스 용량, 버퍼 회로의 출력 저항 임피던스, 그리고 NMOS의 켜짐 상태 저항에 의해 제한될 것입니다.

스위칭에 영향을 주지 않는다면, 왜 풀업을 사용할까요?

분명히, SPI 라인에 풀업 저항을 배치하는 것은 버스에 신호를 드라이브하는 능력에 영향을 주지 않습니다. 따라서, 풀업은 데이터 전송과 관련이 없는 다른 기능을 수행해야 하며, 그렇지 않다면 저항을 사용하지 않을 것입니다.

SPI 인터페이스에서 하나 이상의 라인에 풀업 저항을 사용하는 이유는 제안된 상황에 따라 다릅니다. 풀업 저항이 사용되는 몇 가지 상황은 다음과 같습니다:

Easy, Powerful, Modern

The world’s most trusted PCB design system.

  • 주변 장치의 CS 라인에 배치
  • 호스트 장치의 MISO 라인에 배치
  • 주변 장치의 MOSI 라인에 배치
  • 출력 핀 근처의 모든 버스 라인에 배치

이러한 상황에서 배치의 명시된 이유는 버스의 주변 구성 요소 중 하나에서 논리 상태를 설정하는 것입니다. 가장 일반적인 권장 사항은 주변 장치의 CS 핀에 풀업 저항을 배치하여 이를 높게 당기는 것입니다. 주변 장치에 활성 저 전원 핀이 있는 경우, 드라이버 측의 풀이 핀을 낮게 설정하지 않는 한 항상 핀을 높게 당깁니다.

이러한 사용 예는 아래와 같습니다. PCB 레이아웃에서 풀업 저항은 이 주변기기의 CS 핀 근처에 배치됩니다.

SPI 버스의 CS 핀에 풀업 저항을 배치하는 전형적인 방법.

이것이 왜 사용될까요? 제시된 이유는 시스템 시작 시 CS 핀이 어떤 상태에서든 부유할 수 있고 이것이 버스 상의 데이터에 노이즈가 발생하여 손상될 위험을 만들기 때문입니다. 더욱이, 호스트 장치가 주변기기보다 먼저 시작하여 CS 핀이 의도치 않게 활성화되면, 호스트가 주변기기 내의 데이터를 조작하기 시작할 수 있습니다. 이것은 때때로 메모리 주변기기에 풀업을 배치하는 이유로 언급됩니다.

현재까지, SCLK(클록) 라인에 풀업 저항을 배치할 강력한 이유를 찾을 수 없습니다. 이유는 클록 신호의 존재 여부와 관계없이 다른 조건(특히 CS 라인 상태)이 충족되지 않으면 수신 로직 회로가 토글되지 않기 때문입니다. 일부 애플리케이션 노트와 데이터시트는 다양한 이유로 MISO 또는 MOSI 풀업 저항을 권장하지만, 이것이 작동하는지 테스트하는 것은 간단하며 프로토타입을 작업할 때 저항을 언제든지 납땜 제거할 수 있습니다.

전원 순차는 더 복잡한 해결책입니다

이 문제는 대부분 시스템 시작 시 CS 핀 상태와 관련하여 언급되므로, 주변 장치와 시스템 호스트 간의 전원 순서를 정하는 것이 시작 시 이 문제를 방지하는 가장 좋은 방법이라고 생각합니다. 작은 시스템에서는 여러 개의 조절기나 필요한 전력을 통과시킬 수 있는 전원 순서 지정기에 대한 공간이 장치에 없을 수 있습니다. 풀업 저항을 배치하는 것이 더 간단한 해결책이지만, 이러한 풀업 저항이 인터페이스가 올바르게 기능하는 데 필요하지 않다는 것을 이해해야 합니다.

신뢰할 수 있는 전력 전자 제품이나 고급 디지털 시스템을 구축해야 할 경우, Altium Designer®의 완벽한 PCB 설계 기능 세트와 세계적 수준의 CAD 도구를 사용하세요. 오늘날의 교차 분야 환경에서 협업을 구현하기 위해, 혁신적인 기업들은 Altium 365™ 플랫폼을 사용하여 설계 데이터를 쉽게 공유하고 프로젝트를 제조에 투입하고 있습니다.

Altium 365에서 Altium Designer로 가능한 것의 표면만 긁어냈습니다. 오늘 Altium Designer + Altium 365의 무료 체험을 시작하세요.

작성자 정보

작성자 정보

Zachariah Peterson은 학계 및 업계에서 폭넓은 기술 분야 경력을 가지고 있으며, 지금은 전자 산업 회사에 연구, 설계 및 마케팅 서비스를 제공하고 있습니다. PCB 업계에서 일하기 전에는 포틀랜드 주립대학교(Portland State University )에서 학생들을 가르치고 랜덤 레이저 이론, 재료 및 안정성에 대한 연구를 수행했으며, 과학 연구에서는 나노 입자 레이저, 전자 및 광전자 반도체 장치, 환경 센서, 추계학 관련 주제를 다루었습니다. Zachariah의 연구는 10여 개의 동료 평가 저널 및 콘퍼런스 자료에 게재되었으며, Zachariah는 여러 회사를 위해 2천여 개의 PCB 설계 관련 기술 문서를 작성했습니다. Zachariah는 IEEE Photonics Society, IEEE Electronics Packaging Society, American Physical Society 및 PCEA(Printed Circuit Engineering Association)의 회원입니다. 이전에는 양자 전자 공학의 기술 표준을 연구하는 INCITS Quantum Computing Technical Advisory Committee에서 의결권이 있는 회원으로 활동했으며, 지금은 SPICE 급 회로 시뮬레이터를 사용하여 광자 신호를 나타내는 포트 인터페이스에 집중하고 있는 IEEE P3186 Working Group에서 활동하고 있습니다.

관련 자료

관련 기술 문서

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