SPI 타이밍 및 신호 무결성 계산기
비트 주기, 프레임 시간, 트레이스 커패시턴스로 제한되는 최대 클록 주파수, 신호 슬루율을 포함한 SPI 버스 타이밍 파라미터 계산
공식
작동 방식
이 계산기는 신뢰할 수 있는 마스터-슬레이브 통신을 위해 SPI 클럭 주파수 제한, 설정/유지 시간 및 데이터 전송 속도를 결정합니다.임베디드 엔지니어와 FPGA 설계자는 이를 사용하여 마이크로컨트롤러와 주변 장치 IC 간의 타이밍 마진을 확인합니다.원래의 모토로라 SPI 사양 (현재는 개별 IC 제조업체에서 유지 관리하고 NXP 애플리케이션 노트 AN3020 'SPI와의 인터페이싱'에 문서화되어 있음) 에 따라 프로토콜은 SCLK, MOSI, MISO 및 CS의 4개 신호를 사용합니다.SPI에 적용되는 단일 ISO/IEC 표준은 없지만 사실상의 타이밍 매개변수는 마이크로칩 애플리케이션 노트 AN901 및 SPI 호환 메모리에 대한 JEDEC 표준 JESD79F 에 문서화되어 있으며 고속 플래시 및 SRAM 장치의 타이밍 요구 사항을 정의합니다.클럭 주파수 범위는 장치 성능에 따라 100kHz ~ 100MHz입니다. 일반적인 플래시 메모리는 50-133MHz (Winbond W25Q 시리즈) 를 지원하는 반면 ADC는 종종 1~20MHz로 제한됩니다.중요한 타이밍 파라미터에는 t_setup (클럭 에지 이전에 유효한 데이터, 일반적으로 5-25ns), t_hold (클럭 에지 이후 유효한 데이터, 일반적으로 5-15ns) 및 t_clk (최소 클럭 주기) 가 포함됩니다.10MHz SPI 클록은 100ns의 주기를 제공하므로 40ns의 설정, 40ns 홀드 및 20ns의 마진이 가능합니다.50MHz에서는 이러한 마진이 각각 8ns로 줄어들기 때문에 1ns (15cm) 이내의 트레이스 매칭과 함께 신중한 PCB 레이아웃이 필요합니다.
계산 예제
산업용 센서 인터페이스는 SPI를 통해 STM32H7 마이크로컨트롤러를 ADS1256 24비트 ADC에 연결합니다.ADS1256 데이터시트에 따르면: f_SCLK_max = 1.92MHz, t_setup = 50ns, t_hold = 25ns.480MHz에서 실행되는 STM32H7 모델은 APB2 (120MHz) 의 SPI 클럭을 제공합니다.프리스케일러 계산: 120MHz/1.92MHz = 62.5, 반올림 최대 64로, 실제 SCLK는 1.875MHz입니다.이 주파수에서는 t_clk = 533ns로, 50ns의 설정 요구 사항 (5.3배 마진) 에 비해 절반 주기가 266ns입니다.데이터 속도는 1.875메가Hz/24비트 = 78.1kSPS입니다.10cm PCB 트레이스 (0.6ns 전파) 를 사용하면 총 지연이 25ns의 유지 시간 요구 사항보다 훨씬 낮습니다.
실용적인 팁
- ✓마이크로칩 AN1067 기준, 10MHz 이상의 주파수에 대해 SPI 트레이스 길이를 10cm 미만으로 유지하여 타이밍 마진을 5ns 이상으로 유지합니다.
- ✓CPOL=0, CPHA=0 (모드 0) 을 기본값으로 사용합니다. 업계 설문 조사에 따르면 SPI 주변 장치의 85% 가 이 모드를 지원합니다.
- ✓20MHz 이상의 주파수에서 5cm보다 긴 트레이스에 대해 SCLK 및 MOSI에 33-100옴 시리즈 터미네이션 저항을 추가하여 링잉을 60-80% 까지 줄입니다.
흔한 실수
- ✗슬레이브 장치 제한을 확인하지 않고 최대 MCU 주파수 (예: 50MHz) 에서 SPI 실행 - 많은 센서가 1~10MHz로 제한됩니다.
- ✗CPOL/CPHA 모드 불일치 무시: 모드 0과 모드 3은 유사한 파형에도 불구하고 100% 데이터 손상을 일으킴
- ✗1MHz 이상의 주파수에서 긴 (30cm 이상) 비차폐 케이블을 사용하면 10~50mV 누화가 발생하여 LSB가 손상됩니다.
자주 묻는 질문
Shop Components
As an Amazon Associate we earn from qualifying purchases.
관련 계산기
Comms
CAN 버스 타이밍
주어진 전송 속도 및 샘플 포인트에 대해 프리스케일러, 타임 퀀타, 싱크 세그먼트, 전파 세그먼트, 위상 버퍼 세그먼트를 포함한 CAN 버스 비트 타이밍 파라미터 계산
Comms
UART 전송 속도
전송 속도, 데이터 형식 및 MCU 클록 주파수에서 UART 프레임 타이밍, 처리량 및 USART BRR 레지스터 제수를 계산합니다.안정적인 직렬 통신을 위해 전송 속도 오류를 식별하십시오.
Comms
I2C 풀업
표준 (100kHz), 고속 (400kHz) 및 패스트 플러스 (1MHz) 모드의 I2C 풀업 저항 값을 계산합니다.NXP UM10204 기준 공급 전압 및 버스 커패시턴스에서 최소, 최대 및 권장 저항을 도출합니다.
Comms
클록 지터
FPGA 및 SoC 설계를 위한 클록 트리 타이밍 버짓을 계산합니다.