EMI로 인한 SPI의 대안


24

현재 약 5cm 길이의 전선을 통해 2MHz SPI를 사용하여 7 개의 ADC와 통신하는 MCU가 포함 된 플라스틱 인클로저로 구성된 시스템을 만들고 있습니다.

SPI로 연결된 MCU 및 ADC

문제는 EMI에 관심이 있다는 것입니다. 내가 읽은 모든 것은 접지 된 금속 섀시의 PCB에 안전하게 있지 않은 모든 종류의 디지털 신호가 너무 많이 방출되어 EMI 테스트를 통과하지 못한다는 것을 암시합니다. 나는 이것이 I2C도 포함 할 것이라고 생각한다.

이것이 EMI 테스트에 실패 할 가능성이 있습니까? 이것에 대해 어떻게해야합니까?

"다른 버스 / ADC 사용"을 포함하여 모든 종류의 답변을 찾고 있지만 다음과 같은 기계적 변경이 포함 된 답변은 포함하지 않습니다. . 특히 차동 버스를 포함하여 SPI에 대한 낮은 EMI 대안에 관심이 있습니다.

다음은 응용 프로그램에 대한 관련 정보입니다. 더 알아야 할 사항이 있으면 알려주십시오.

  • 6 개의 전선이 각 ADC 보드 (전원, GND, CS, CLK, MOSI, MISO)에 연결됩니다.
  • ADC는 현재 MCP3208 (Microchip 8 채널, 12 비트)입니다.
  • 내가하고 있어요 필사적 때문에 전선에 차단하는 것은 정말 옵션이 없습니다 추가 공간이 제약 된 응용 프로그램입니다.
  • 어떤 종류의 차동 버스 (하나 또는 두 쌍만)를 사용하는 것이 좋지만, 차동 통신을 갖는 유일한 ADC는 다중 MSPS LVDS 유형 인 것 같습니다.
  • CAN은 아마도 너무 느리고 공간 제약이있는 응용 프로그램에서는 부피가 커집니다.
  • 샘플링 속도 : 모든 채널을 1kHz로 샘플링해야합니다.

추가 :

공간 제약에 대한 아이디어를 제공하기 위해 :

MCP3202가 장착 된 소형 PCB

여기서 ADC PCB 중 하나를 볼 수 있습니다. 이것은 실제로 MCP3208 대신 MCP3202를 가지고 있지만 호환 가능합니다. TSSOP 8 패키지에 있습니다. PCB는 11mm x 13mm입니다. 검은 색 케이블은 2mm 직경입니다. 보다시피, 커넥터를위한 공간이없고 전선이 PCB에 직접 납땜 된 후 포팅됩니다. 커넥터 부족은 PCB 공간 제약이 아닌 주변 공간 제약으로 인한 것입니다.


4
케이블 차폐는 어떻게 비실용적이지만 와이어 수를 두 배로 늘리는 것 (차동 신호)이 실용적인 것으로 간주됩니까?
timrorr

죄송합니다. 더 명확해야합니다. 나는 2 선식 차동 인 CAN과 같은 것을 의미했습니다. 분명히 전선 수를 두 배로 늘리는 것은 불가능합니다. 질문을 편집했습니다.
Rocketmagnet

1
구체적으로, 어떤 유형의 테스트 / 인증을 통과하려고합니까?
Joel B

1
@JoelB-죄송합니다. EMI에 익숙하지 않으므로 확실하지 않습니다. 그러나 어느 시점에서 우리는 일종의 EMI 테스트를 수행해야 할 것입니다. 아마도 이런 종류의 정상 / 소비자 수준의 EMI 테스트 일 것입니다.
Rocketmagnet

1
@Rocketmagnet, Ohh, 당신이 안테나를 매우 쉽게 만들고 있다는 것을 오해하지 마십시오. 이것에 대한 설계 방법이 있지만 더 많이 들어가지만 EMI 테스트에서 확인하는 주파수를 케이블에 전달하지 않으면 다른 장소의 다른 고주파 노이즈를 연결하지 않아야합니다. (고속 디지털 디자인이 말했듯이 쉽습니다). 방금 문제에 대한 더 나은 아이디어를 원했습니다. 나는 질문을 많이 좋아하고 이미 +1을 받았습니다
Kortuk

답변:


13

5cm 케이블을 통한 2MHz SPI는 크지 않습니다. FCC 클래스 B와 CE에 상응하는 10cm 케이블을 통해 30MHz SPI를 많이 수행합니다. 중요한 것은 케이블이 양호하고 (루프 영역에 대해 최상의 제어) 신호를 올바르게 종료하는 것입니다.

전원 / GND 신호를 케이블 중앙 어딘가에두면 루프 영역을 제어 할 수 있습니다. 커넥터의 중앙과 와이어 묶음의 중앙에도 있습니다. 일반적으로 신호 당 전력 또는 GND가 발생하지만 실제 솔루션은 거의 없기 때문에 자신이 가진 것을 최대한 활용해야합니다. 또한 케이블의 양쪽 끝에서 PCB에 하나 또는 두 개의 디커플링 캡을 놓아야합니다.

케이블에 임피던스가 제어되지 않기 때문에 신호를 올바르게 종료하는 것은 약간 까다로울 수 있습니다. 내가 할 일은 케이블의 양쪽 끝에 PCB에 RC 필터를 두는 것입니다. RC 필터는 케이블쪽에 C가 있고 칩쪽에 R이 있습니다. 신호 드라이버에서 약 75ohm의 R과 약 1nF의 C로 시작합니다. 수신기에서 R은 약 10ohm이고 C는 여전히 1nF입니다. 프로토 타입을 만든 후에는 다른 값을 시도해야합니다. 본질적으로 R과 C에 대해 더 높은 값을 원하지만 작동이 멈추거나 신호 레벨이 너무 감쇠되지 않을 정도로 높지는 않습니다. 신호의 가장자리는 매우 둥글게 보일 것입니다. 그러나 신호 전이 대역 (보통 0.8 ~ 2.0 볼트)에있는 동안 신호음이 울리지 않아야하며 클럭이 양호해야합니다.

3nF 이상의 캡 값은 ESD 보호에 이상적이지만 애플리케이션에서는 문제가되지 않을 수 있습니다.


답변 주셔서 감사합니다. 예, pcb에서 커넥터, 케이블 등으로 이동할 때 임피던스가 여러 지점에서 바뀌는 것이 확실합니다. 또한 CS, CLK 및 MOSI 라인은 모든 ADC에서 공유됩니다. 차이가 있습니까?
Rocketmagnet

@Rocketmagnet RC 필터는 본질적으로 과도하게 종료됩니다. 신호가 매우 반올림되는 이유입니다. 이것은 몇 가지 일을 할 것입니다. 가장 중요한 것은 임피던스를 그렇게 중요하지 않게 만드는 것입니다. 케이블을 통해 공유되지 않도록 CS, CLK 및 MOSI 신호를 다시 버퍼링해야합니다. 때로는 불가능하기 때문에 두 번째 (원거리) 가장 좋은 방법은 각 케이블마다 별도의 종단을 사용하고 종단을 공유하지 않는 것입니다.

2

CAN은 이런 종류의 응용 분야에서 가장 확실합니다. 차이가 있으며 실제로 각 보드로가는 와이어 수를 줄여야합니다. 7 개의 칩, 칩당 8 개의 채널, 채널당 12 비트를 샘플링하는 경우 샘플 시간당 672 비트의 데이터입니다. 1kHz 샘플, 1Mbit 전송 속도에서 샘플 시간당 1000 비트입니다. 따라서 오버 헤드를위한 공간이 충분하지 않으므로 두 개의 개별 CANbus 컨트롤러가 내장 된 마이크로 컨트롤러를 사용하는 것을 고려할 수 있습니다. 둘 다에 중앙 마이크로 컨트롤러가 있으며 충분한 대역폭이 있어야합니다.

다른 한편으로, A / D 변환기를 마이크로 컨트롤러로 교체하는 것을 고려할 수 있습니다. dsPIC 30F4013이 좋은 선택 일 수 있습니다. 12 비트 A / D 채널 13 개 및 CANbus

또는 SPI를 RS-485와 같은 차동 전압 프로토콜과 변환 할 수 있다고 생각합니다. 그러나 나는 지적 적으로 지적하기에 충분하지 않을 것입니다.


답변 주셔서 감사합니다. CAN을 고려했지만 결국 구성 요소를위한 충분한 공간이 있는지 확실하지 않습니다. 사용 가능한 작은 CAN 트랜시버가 있다면 가능할 수 있습니다. 내가 찾을 수있는 가장 작은 것은 SOIC 8 인 것 같습니다.
Rocketmagnet

2
!! 공간 제약이 있다고 말하면 의미합니다! 이 답변을 확인하십시오. electronics.stackexchange.com/a/30596/7523 분명히이 상황에서 트랜시버를 사용하지 않으면 벗어날 수 있습니다. 당신이 할 수 있는지 확실히 알고 싶습니다!
Stephen Collings

3
허. 연결된 답변에서 이름을 확인하십시오.
Rocketmagnet

1
그래서 내가 지적한 것에 대해 충분히 알지 못하는 것에 대해 내가 말한 것은? 네.
Stephen Collings
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.