SPI 버스 연결-루프 또는 루프하지 않습니까?


9

SPI 버스의 물리적 연결에 관한 질문이 있습니다.

SPI 마스터 (PIC32 장치)와 여러 슬레이브 (이 경우 PIC16 장치)가 있습니다. 나는 노예에게만 쓰고 있으며 프로토콜은 언제 어떤 일을 수행하는지 처리하므로 걱정할 MISO 또는 SS 신호가 없으며 데이터와 클럭 라인을 모든 슬레이브에 병렬로 연결합니다. 버스의 총 길이는 2 피트 (60cm)를 넘지 않으며 8MHz에서 SCK를 실행하고 있습니다.

이제 슬레이브 장치 (실제로 다른 보드의 인터페이스 노드)의 실제 배치는 SPI 버스가 마스터로 다시 루프되므로 각 루프의 양쪽 끝을 각각 MOSI 및 SCK에 연결할 수 있습니다.

다음 다이어그램은 내가 의미하는 바를 보여줍니다. 빨간색 점선 연결에 대해 이야기하고 있습니다. 문제는 다음과 같습니다.

SPI 버스

나는 비슷한 여정을하고있는 전력과 접지를 가지고 있으며, 이는 슬레이브에 의해 야기되는 전압 강하를 최소화하기 때문에 명백하고 유용하다. 그러나 이러한 신호 라인으로 동일한 작업을 수행하는 것이 좋은지 나쁜지 잘 모릅니다. 대신에 일종의 종단 (접지에 대한 저항 (?))을 허용해야합니까, 아니면 반사를 억제하기 위해 직렬로 저항을 사용합니까?

나는 점들을 연결하거나 연결하지 않고 그것을 시도했습니다. 말하자면, 기능상의 차이가 없으며 '스코프에서 볼 수있는 변화가 없지만 60cm보다 길거나 8Mhz보다 조금 빠르면, 문제가 있습니까? 따라서 변경 사항이 있으면 문제가 발생하지 않도록해야 할 일에 대한 조언을 찾고 있습니다.

이 질문이 8Mhz @ 60cm SPI 버스에서 특히 문제가되지만 다른 상황에 대한 일반적인 원칙이 있습니까? I2c 버스의 풀업을 다르게 배치해야합니까?

적절한 읽기 자료에 대한 링크도 환영합니다.이 특정 질문에 대한 내용은 찾지 못했습니다.


그 연결로 어떤 문제를 해결하려고하는지 잘 모르겠습니다.
PlasmaHH

@PlasmaHH 글쎄, 그건 정말 내 질문입니다-나는 해결할 문제가 없지만 그 옵션이 있습니다. 나는 그것이 전력선에 도움이된다는 것을 알고, 그것이 신호선에 도움이되는지 모르겠습니다. 바보 같은 질문인가요? 어쩌면 나는 너무 생각하고 있습니다.
Roger Rowland

이상적으로, 4 층 PCB와 전용 Vdd 및 Vss 평면은 여러 가지 이유로 각 장치에 매우 가까운 전용 바이 패스 캡과 함께 여기에서 좋은 아이디어가 될 것입니다.
rdtsc

1
IMO 나는 당신이 제안한 연결을 빨간색으로하고 슬레이브 3에서 슬레이브 4 로의 연결을 제거 할 것입니다.
lucas92

답변:


9

루프백? 아니. 라인이 종단을 필요로하기에 충분히 길면 (상승 시간 * c / 10 이상) 라인을 올바르게 종단 할 수있을 정도로 강하게 구동하고 라인과 종단을 합리적으로 일치 시키십시오. 라인이 종단을 필요로하지 않을 정도로 짧으면 루프백 연결로 찾고있는 '추가'전도성이 필요하지 않습니다.

직렬 저항? 아니. 이러한 소스 엔드 종단 스타일은 라인 끝의 단일 포인트 수신기 에서만 작동합니다 . 라인의 초기 지점에서 수신기에 대해 가능한 최악의 파형을 얻습니다.이 전압은 1 ~ 반 전압, 드웰, 다른 1 단계의 전체 전압입니다.


고마워요- "강력하게 운전 하세요 " 라는 말의 의미를 설명해 주 시겠습니까? PIC가 아닌 MOSFET 또는 다른 것을 통해 의미합니까? 또한 "올바로 종료" 하려면 접지에 대한 저항을 의미합니까? 터미네이션의 필요성을 결정하는 클럭 주파수가 아닌 포인트 상승 시간을 이해합니다. 전체 룰 오브 썸 계산을 보여줄 수 있습니까? 어떤 단위로 시간을 올립니까? 무엇입니까 c/10?
Roger Rowland

@RogerRowland는 '강력하게'충분하므로 종료로드에 대한 논리 수준을 향상시킵니다. uC 출력은 충분히 강할 수 있지만 종료 및 구동 강도에 따라 다를 수 있습니다. 드라이브 전류가 충분하지 않으면 버퍼 또는 병렬로 2 개를 사용하십시오. '적절하게'는 션트 저항 임피던스를 의미합니다. 접지, 미드 레일 또는 AC 커플 링 여부는 시스템에 따라 다릅니다. 드라이버를 3 상태로 지정한 경우 유효한 논리 레벨을 유지하려면 접지해야합니다. 그렇지 않으면 미드 레일로의 종단이 드라이버 부하를 줄입니다.
Neil_UK

@RogerRowland 상승 시간 (초), c 빛의 속도 (m / 초), 상승 시간 * c (미터), / 10은 '신호선에서 동시에 상승 시간의 중요하지 않은 부분'에 대해 약간 수동입니다
Neil_UK

다시 한 번 감사드립니다 닐, 정말 유용합니다! 나는 당신이 말한 것을 확인하기 위해 약간의 실험을 수행하면 도움이 될 것이라고 생각합니다. 비오는 주말은 잘 보낼 것입니다.
Roger Rowland

3

루프 토폴로지에서 볼 수있는 문제는 반사를 억제하기 위해 터미네이터를 올바르게 배치하기 어렵다는 것입니다. 이것은 8MHz에서는 그다지 중요하지 않지만 더 높은 주파수 나 더 긴 라인에서는 문제가 될 수 있습니다.

점선이 도움이 될 수있는 유일한 경우는 마스터에서 전파 지연 SLAVE 6이 허용되지 않는 경우입니다. 이 경우에는 점선을 연결하지만, 중간 (예를 들어, 사이 루프 곳을 끊을 SLAVE 3SLAVE 4) 독립적으로 각 지점을 종료합니다.


2

신호가 빠르거나 라인이 길면 신호 반사가 문제가됩니다. 이 경우, 선의 끝이 아닌 선의 끝과 접지를 연결하는 저항을 넣어 선을 올바르게 종료해야합니다. 터미네이션은 라인을 "전기적으로 무한대로"보이게하므로 신호가 다시 나타나지 않습니다. 종단에는 때때로 반응성 임피던스에 대응하기 위해 LC 소자가 필요합니다.

그러나 귀하의 경우에는 종료가 필요하지 않습니다 (전기적으로 시끄러운 환경에서 작동하지 않는다고 가정하면 신호 속도가 짧습니다). 그래서 차이가 보이지 않습니다. 신호를 반복하는 것은 나쁜 설계 관행이기도합니다. 그렇게하면 신호 루프가 발생하여 회로에 노이즈가 발생하며 양방향으로 루프됩니다. 또한 라인에서 RF 노이즈를보다 쉽게 ​​캡처 할 수 있습니다.

또한 일반적으로 접지선과 전력선을 연결하는 것도 좋지 않습니다. 디지털 스위칭 노이즈 및 접지 루프도 있으며 아날로그 회로에 큰 영향을 줄 수 있습니다. 필요한 경우 Y 포크 (원거리 연결 없음)를 사용하여 전압 강하를 줄일 수 있습니다. 이것으로 충분하지 않으면 더 넓은 트레이스 (더 넓은 트레이스-> 더 적은 저항-> 더 적은 전압 강하)를 사용하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.