여러 보드를 통해 30MHz 클록 라우팅


9

내가 사용하고 TLC5945 LED 드라이버를. 마이크로 컨트롤러 ( LPC1343 사용 )는 내부 PWM 타이머 / 카운터를위한 클럭을 제공해야합니다. 최대 허용 클록 속도는 30MHz로 지정됩니다.

TLC5945 데이지 체인이 장착 된 여러 보드가 있습니다. 보드는 보드-보드 커넥터 또는 짧은 리본 케이블을 통해 연결되며 한 보드의 너비는 10cm입니다. 최대 4 개를 직렬로 연결합니다.

아마 나는 전체 30MHz를 사용하지 않을 것이지만 그럼에도 불구하고 올바르게하고 싶다. 클럭 신호를 그대로 유지 / 연결하는 방법은 무엇입니까?

모든 보드의 출력에 74HC245와 같은 버퍼를 추가하면 모든 버퍼 후에 10ns 지연이 발생하므로 원하지 않습니다. 특수한 "제로 지연"클럭 버퍼를 사용해야합니까? 어떤 종류의 종료 방식을 사용해야합니까?


2
30MHz에서의 단일 사이클은 ~ 33ns입니다. 보드 당 단일 사이클의 1/3만큼 큰 문제가 발생합니까?
Toby Lawrence

1
좋은 질문과 답변입니다. 모든 답변은 이전 답변을 반복하지 않고 솔루션에 추가됩니다!
Vorac

답변:


20

30 MHz이면 신호를 전송 라인 문제로 취급해야합니다. 특히 커넥터를 포함하여 디자인 전반의 보드 레이아웃에주의를 기울여야합니다. 30MHz 신호와 함께 추가 접지 핀을 가져 오거나 특수 커넥터를 사용해야합니다.

보드의 레이아웃, 레이어 수에 대한 정보가 필요하며, 보드가 특정 특성 임피던스를 목표로하거나 유전 상수와 같은 매개 변수를 얻을 수 있도록 의도 된 보드 제조업체와 조정해야 할 수도 있습니다.

이러한 많은 문제를 알고있는 것처럼 들리지만주의하지 않으면 기능적이지만 많은 RF를 방출하고 결코 통과하지 않는 설계를 얻을 수 있기 때문에 문제를 해결하는 것이 가장 좋다고 생각했습니다. EMI 테스트.

신호 라우팅을위한 지침 :

  • 임피던스와 트레이스 폭을 계산합니다.
  • 시계를 먼저 라우팅하십시오.
  • 가능하면 신호를 비아를 통해 라우팅하지 마십시오. 필요한 경우 바이 패스 커패시터를 비아 근처에 두십시오.
  • 가능하면 / 적용 가능한 경우, 내부 레이어를 통해 신호를 라우팅하십시오 (따라서 외부 접지 및 전원 플레인은 일종의 패러데이 케이지로 작동 할 수 있습니다). 이 경우 신호는 칩에 액세스해야하는 비아를 제외하고 한 레이어로 라우팅되어야합니다.
  • 신호는 접지면이없는 곳 (또는 기준면이 엄격히 말하면)으로 이동하지 않습니다.
  • 신호는 전원 평면 사이의 경계를 넘지 않습니다.
  • 커넥터를 통과 할 때는 접지로 둘러싸십시오.
  • 데이지 체인에서는 가능한 경우 스텁을 사용하지 않고 클럭 입력으로 직접 라우팅하십시오. 스텁이없는 데이지 체인 다이어그램부터 Altera PDF
  • 다른 신호를 수직으로 교차시킵니다.
  • 다른 신호와 함께 이동해야하는 경우 여유 공간을 확보하십시오. 트레이스 너비의 4 배
  • 마이크로 스트립 / 스트립 라인의 특성 임피던스와 동일한 저항으로 접지에 병렬 종단을 사용하거나 신호에 대상이 하나만있는 경우 소스 종단을 사용하십시오. 토론은 이 관련 질문을 참조하십시오 .

물론 실제 디자인에서는 이러한 지침 중 일부를 위반해야 할 수도 있습니다.

이러한 규칙의 대부분은 고주파수에서 리턴 전류가 신호에 가깝게 이동하려고 시도하므로 리턴 전류에 대한 경로를 제공해야합니다. 리턴 전류가 물리적으로 분리되면 기생 안테나를 생성하는 것입니다. 리턴 전류를위한 경로를 제공하는 접지면을 기준이라고합니다. 참조 평면을 떠나지 마십시오. 비아를 통과해야하는 경우 참조 평면이 변경됩니다. 바이 패스 커패시터는 새로운 기준면과 기존 기준면 사이에 설정됩니다.

커넥터는 PCB와 다른 임피던스를 가지므로 반사를 일으키고 신호를 저하시키기 때문에 커넥터에 문제가 있습니다. 한 가지 옵션은 보드 임피던스와 일치하는 임피던스 제어 커넥터를 사용하는 것입니다.

펌웨어 측에서는 에지 속도를 제어하기 위해 드라이브 강도를 실험해야 할 수도 있습니다. 최대 구동 강도는 종종 잘못된 답입니다. IC 공급 업체는 신호 무결성을 추정하기 위해 회로를 시뮬레이션 할 수 있는 IBIS 모델 을 제공 할 수 있어야 합니다. 엄밀히 말하면 신호 무결성이나 EMC 문제를 일으키는 것은 클럭 주파수가 아니라 빠른 에지가 주파수 영역에서 광대역 과도 현상으로 나타나기 때문에 에지 속도 (높음과 낮음 간 전환 시간)입니다. 구동 강도 및 / 또는 슬루 레이트를 줄이면 에지 레이트가 줄어들고 고조파 방출이 줄어들면서 클럭 지터가 증가 할 수 있습니다. 데이터 시트를 확인하여 클럭 수신기에 허용되는 에지 속도를 확인하십시오.

내 생각에는 숙제를한다면 어떤 종류의 신호 리피터도 필요하지 않을 것입니다. 예를 들어 약 100MHz의 케이블을 통해 분산 된 거대한 고속 병렬 버스 인 SCSI를 고려하십시오. 가능하면 레이아웃을 시뮬레이션하기 위해 HyperLynx 와 같은 프로그램에 투자 하십시오.

Altera는 고속 라우팅 문제에 대한 훌륭한 안내서 를 제공합니다.


통찰력을 가져 주셔서 감사합니다. 귀하의 답변에서 DIY 에칭 보드로 이것을 풀 수있는 방법이 없다는 것을 알았습니다.
miceuz

@miceuz : 글쎄, 그것이 취미 프로젝트라면 EMC에 대해 걱정하지 않아도 될 것입니다. 신흥 컨센서스는 선임 엔지니어가 제대로하기가 까다 롭고 DIY를 시도하는 것이 더 쉬운 방법이 아니라는 것입니다. 반면에,이 경우에 작동하지 않으면 클록 주파수를 낮출 수 있습니다. 데이지 체인의 길이를 줄이기 위해 대체 레이아웃을 찾으려고합니다.
jbarlow

내가 할 수 있다면 이것을 두 번 찬성 할 것입니다.
Renan December

10

jbarlow와 David가 제안한 모든 일을 다치게하지는 않겠지 만, 조금 더 쉽게 해낼 수 있도록 노력하겠습니다 (또는 어려울 수도 있습니다. 하지만 약속 하지는 않습니다 .)

일반적인 경험 법칙은 회로의 크기가 관심있는 가장 높은 주파수 신호의 파장의 1/10보다 길지 않으면 회로를 집중 회로로 간주 할 수 있다는 것입니다. 집중 회로 인 경우 트랙을 개별 요소 간의 연결로 간주 할 수 있습니다. 집중 회로가 아닌 경우 분산 회로 효과에 대해 걱정하고 트레이스를 전송 라인으로 고려하십시오.

10m의 파장에 해당하는 30MHz의 클럭 주파수에 대해 이야기하고 있습니다. FR4를 통해 전파되면이 파장은 약 4.7m로 줄어 듭니다. 그리고 40cm의 회로 길이. 시계 신호의 기본을 위해 당신은 예전의 규칙의 가장자리에 있습니다.

문제 : 클럭 주파수에 대해 걱정할 필요는 없지만 원하는 상승 및 하강 시간을 제공하기 위해 해당 주파수의 고조파를 몇 개나 전송해야합니까? 의도적으로 전송하는 에지 속도를 늦추는 경우 아마도 1 차 및 3 차 고조파만으로 얻을 수 있습니다 (David는 반드시 최대 구동 강도를 사용하지 않을 경우이를 언급했습니다).

이를 통해 최대 관심 주파수는 90MHz이며 해당 파장 (FR4)은 약 1.6m입니다. 따라서 임계 거리는 16cm입니다. 즉, 전체적으로 밀접하게 연결된 리턴 경로를 제공하고, 트랙을 전송선으로 식별하고 적절한 임피던스로 종료해야합니다.

그러나 제어 임피던스에 대해 추가 비용을 지불하지 않아도됩니다. 공급 업체가 제공 할 수있는 최소 너비 (예 : 8 또는 10 mil) 이상의 트레이스를 사용하여 설계하면 보통의 공차가 적절한 성능을 제공합니다.

길을 따라 비아를 통과하거나 접지면의 짧은 간격을 지나야하거나 부하 부품 바로 옆에 바이 패스 커패시터를 놓을 수 없다면 너무 땀을 흘리지 마십시오. 각 보드의로드 칩에 도달하기 위해 몇 cm 스터브를 사용하여 커넥터에서 커넥터로 트랙을 똑바로 돌리고 싶다면 괜찮습니다. 경로의 제어되지 않은 부분 (또는지면의 슬롯)의 길이가 몇 cm 미만이면 하루를 망치지 않을 것입니다. 그것이 10cm이지만, 당신은 그것을 멀리 할 가능성이 있지만 행운을 밀지 마십시오.

예를 들어, 보드를 연결할 때 고가의 임피던스 제어 커넥터가 필요하지 않습니다. 몇 센티미터의 리본 케이블도 괜찮습니다. 리본의 접지 신호 접지 또는 접지 신호 신호 접지 패턴은 좋은 생각이지만 임피던스 정합 트위스트 페어 케이블 또는 동축에 대해서는 걱정하지 마십시오.

또한 각 보드에서 버퍼를 사용하기로 결정한 경우 각 보드의 회로 (길이 10cm)를 집중 회로로 취급 할 수 있습니다. David가 설명했듯이 버퍼 스큐를 관리하려고 할 때 각 버퍼의 상승 및 하강 시간을 제한해야하지만 기능 저하없이 각 보드의 레이아웃에 많은 유연성을 얻을 수 있습니다. 즉, 리턴 경로를 신호 트레이스에 가깝게 유지할수록 EMC 테스트와 관련하여 놀라 울 가능성이 줄어 듭니다.


6

@jbarlow의 대답은 상당히 주목적이라고 생각합니다. 나는 그것에 약간을 추가하고 싶지만, 그가 말한 것을 반복하지 않을 것입니다.

@jbarlow에 동의하지 않는 유일한 것은 리피터를 사용하거나 모든 신호를 버퍼링하는 것입니다. "당신이 숙제를한다면 ..."이라는 말이 맞습니다. 그러나 그것이 숙제입니다. 그렇게 할 수는 있지만 상대적으로 고가의 케이블과 커넥터가 필요하며 "실제로 어렵습니다".

각 PCB의 클럭을 버퍼링하기 위해 10ns 지연을 추가하는 것은 실제로 문제가되지 않습니다. BLANK 및 XLAT와 같은 다른 신호에 대한 많은 세부 정보를 생략했기 때문에 확실히 말하기가 어렵습니다. 그러나 문제가 있어도 항상 모든 신호를 버퍼링 할 수 있습니다. 74xx245의 모든 게이트는 동일한 지연 (또는 적어도 유사한)을 갖는 경향이 있으므로 LED 드라이버의 전체 타이밍은 양호하게 유지됩니다.

(참고 : 데이터 시트 확인. 좋은 칩은 두 개의 서로 다른 전파 지연 번호를 나열합니다. 하나는 개별 게이트 용이고 다른 하나는 동일한 칩 내의 게이트 간 차이의 차이 또는 비뚤어 짐을 나타냅니다. 여전히 적절한 타이밍 분석을 수행해야합니다.)

PCB 간 신호의 종단 및 임피던스를 얻는 것이이 설계 작업을 수행하는 데 중요합니다. 다중 컨덕터 케이블에서 임피던스를 제어하는 ​​것은 항상 어려운 일이며, 여러 PCB와 케이블을 통해 단일 신호를 실행하면 문제가 발생합니다. 신호 길이를 따라 여러 지점에서 임피던스가 변경되어 신호 무결성 문제가 발생합니다. PCB 간의 모든 신호를 버퍼링하면이를 관리하는 데 도움이됩니다. 각 신호의 트레이스 길이와 임피던스 변화는 최소한으로 유지됩니다.

제로 지연 버퍼를 사용할 필요는 없으며 실제로 상황을 악화시킬 수 있습니다. 제로 지연 버퍼는 실제로 PLL (Phase-Locked-Loops)이며 완벽하게 작동하려면 신중한 디자인이 필요합니다. 대부분의 경우 이것이 큰 문제는 아니지만 시계가 완벽하지 않으면 분명히 문제가 될 수 있습니다. 이 응용 프로그램에서는이를 피하는 것이 가장 좋습니다. 또한 제로 지연 버퍼는 지속적으로 실행되는 클럭 이외의 다른 것을 버퍼링하는 데 적합하지 않으므로 다른 신호를 버퍼링하는 데 도움이되지 않습니다.


훌륭한 포인트. 버퍼링 된 신호 방식이 훨씬 안전하고 성공할 가능성이 높다는 데 동의합니다.
jbarlow

신호 개미를 버퍼링하려면 어떻게해야합니까? MCU-> 버퍼-> 시리즈 용어-> 케이블-> 버퍼-> TLC5945-> 버퍼-> 시리즈 용어-> 케이블 ... 또는 MCU-> 버퍼-> 시리즈 용어-> 케이블-> TLC5945-> 버퍼 -> 시리즈 용어-> 케이블 ... 즉, 케이블의 양쪽 끝에서 신호를 버퍼링해야합니까? 아니면 커넥터 / 케이블 및 다음 보드로 작동하도록 버퍼 및 터미네이션을 릴레이 할 수 있습니까?
miceuz

@miceuz 이상적으로는 각 보드에서 두 번 버퍼링하는 것이 이상적입니다. 신호가 하나의 커넥터에서 보드로 들어올 때 신호가 다른 커넥터에서 보드를 떠나는 다른 시간. 실제로 한 번만하면 충분합니다. 따라서 MCU-> 케이블-> LED-> 용어-> buf-> 케이블-> led-> 용어-> buf-> 케이블-> 등이됩니다. 소스 시리즈 종단은 신호에 단일 부하가있는 경우에만 작동하지만 그렇지 않은 경우에만 작동합니다. LED 드라이버 칩과 버퍼가 모두 있습니다. 맨 끝에 접지에 직렬로 저항과 캡이있는 AC 종단을 살펴 봐야합니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.