필요한 모든 것이 20Mbps 일 때 1Gbps를 구현하지 않는 이유는 무엇입니까?


27

배경

프로젝트 내 데이터 전송 요구 사항을 해결하기 위해 사용자 지정 네트워킹 칩을 설계해야하는 대규모 프로젝트에서 클라이언트와 작업하고 있습니다. 이 네트워크는 단일 꼬임 쌍 케이블을 통해 하나의 PCB에서 다른 PCB로 몇 인치 작은 패킷을 전송하기위한 것입니다. 우리는 네트워크 프로토콜을 디자인하고 지정할 것이며, 다른 회사가 실리콘 구현을 책임질 것입니다.

노드 간의 20Mbps 데이터 속도는 전송해야하는 데이터의 양에 쉽게 대처할 수있을 것으로 예상되며 향후 데이터 양이 증가 할 경우 충분한 헤드 룸이 필요합니다.

문제

클라이언트가 20Mbps 만 지정하는 이유를 묻습니다. 왜 1Gbps가 아닌가? 더 나아지지 않을까요? 직관적으로, 필요한 것 이상의 데이터 속도를 크게 올리는 것은 나쁜 생각이라고 생각합니다. 처음에는 케이블을 차폐해야한다고 생각했지만 (원하지 않는) 이더넷 케이블 범주를 살펴보면 기가비트 이더넷이 Cat 6 케이블에서 실행될 수 있다는 것을 알았습니다.이 케이블은 차폐 할 필요가 없습니다.

다른 제약

  • 이 프로젝트는 필연적으로 공간이 제한되어 있으며 매우 작은 구성 요소 (최대 0603)가 아니라면 자기와 같은 것을위한 공간이 없습니다.
  • 케이블은 가능한 한 얇고 유연해야합니다.
  • 장치는 플러그인 전원으로 작동하므로 특정 저전력 요구 사항이 없습니다.

의문

실리콘 설계, 케이블 연결 및 1Gbps에서 직면 할 수있는 문제, 20Mbps에서 거의 나쁘지 않은 문제는 무엇입니까? 클라이언트가 1Gbps로 네트워크를 구현한다는 제안을 따라야합니까, 아니면 필요한 것만 구현해야합니까?

우리는 엄격한 NDA에 따라 요구 사항에 대해 너무 많은 세부 정보를 줄 수 없습니다. 그러나 설명이 필요한 경우 의견을 남겨주십시오.


3
애플리케이션에 20Mbps의 처리량이 필요한 경우 모든 오버 헤드 등을 고려하면 100Mbps 이전 표준이면 충분합니다. 따라서 문제는 구현 비용, 향후 부품 가용성에 달려 있습니다. 해당 비용을 확인 했습니까? 또한 "실리콘 디자인 측면에서"는 무엇을 의미합니까? 자신 만의 실리콘을 설계 할 계획입니까?
Ale..chenski

9
1Gbps는 과잉 일 수 있습니다 ... 100Mbps는 다음 단계 속도에 더 적합 할 수 있습니다 .... 고객이 향후 장치를 교정하는 데 관심이 있다면 데이터 압축 사용을 탐색하십시오. 고객에게 20Mbps로 얼마나 많은 데이터 처리량을 달성했는지 ... HD YouTube 동영상을 보여주고 대역폭이 8Mbps 정도라고 설명합니다.
jsotola

12
지점 간 연결에 "네트워킹"프로토콜을 원하는 이유는 무엇입니까?
광자

20
"네트워크 프로토콜"을 처음부터 디자인하는 것은 특히 현명한 아이디어처럼 보이지 않습니다. 설계, 물리 계층의 구현, 물리 계층의 유효성 검사, 프로토콜 계층, 모든 관련 소프트웨어 및 그 유효성 검사 등에 상당히 많은 비용이들 수 있습니다. 1.2VLVCMOS 이상의 USB 인 HSIC에 대해 들어 보셨습니까?
Ale..chenski

20
마그네틱이없는 100M 이더넷 IC 데모를 함께 사용하여 사용자와 표준 선반 부품으로 수행 할 수있는 작업을 시연하십시오. 표준 프로토콜이하지 않는 이유를 이해하지 않고 사용자 지정 실리콘, 사용자 지정 프로토콜을 수행하지 마십시오.
Neil_UK

답변:


24

몇 가지 이유 :

빠른 속도는 더 많은 전력을 의미합니다. 더 빠른 전력을 소비하는 더 빠른 아날로그 회로가 필요할뿐만 아니라 주변의 모든 전자 장치가 더 빨라야합니다. 디지털 시스템, 래치, 클럭 관리 등 다중 레벨 신호를 사용하여 1Gbps를 확보하면 더 나은 ADC 및 DAC가 필요합니다. 보다 복잡한 필터링을 시작해야 할 수도 있습니다. 유지해야하는 FEC를 요구할 수 있습니다.

칩 크기

더 빠름은 더 많은 것을 의미합니다. 더 나은 클럭 안정성이 필요합니다. 이는 더 큰 회로를 의미합니다. 더 나은 타이밍이 필요합니다. 이는 더 복잡한 클럭 복구 시스템을 의미합니다. 채널 이퀄라이제이션을 수행하려면 DSP 사용으로 전환해야 할 수도 있습니다. 잠재적으로 필요한 FEC에는 칩 공간이 필요합니다.

환경 감도

수십 메가 보드에서 기가비트에 필요한 것으로 바꾸면 환경에 훨씬 더 민감 해집니다. 수십 MHz에서 눈에 띄지 않는 작은 불일치는 더 높은 주파수에서 공진 스텁이됩니다. 반사가 간헐적 인 성능을 유발하기 시작할 수 있습니다. 지난 몇 년 동안 남용으로 인해 흠집이 난 케이블 (제품의 응용 프로그램 환경을 모르겠습니다)은 속도가 느릴 수 있지만 속도가 높아지면 성능이 저하 될 수 있습니다.

디자인 노력

더 빠른 통신 링크를 디자인하는 데 시간과 노력이 중요하다는 것은 위에서 논의한 모든 추가 문제에서 분명하다고 생각합니다. 이것만으로도 충분한 이유가 있습니다.

EMI

빠른 속도는 EMI 요구 사항을 충족시키는 것이 더 어려울 수 있음을 의미합니다.


5
@Rocketmagnet : Cat5e를 통한 실제 802.3 1000Base-T gig-E는 4 쌍의 전선을 통해 한 번에 양방향으로 신호 보내고 멀티 레벨 인코딩을 사용 하여 주파수를 동일한 125MHz로 낮추는 것을 지적합니다. 100Base-T로 . 따라서 각 수신기는 자신의 송신기가 보내는 것을 빼고 다른 쪽 끝에서 보낸 신호 만 가져와야합니다.
Peter Cordes

2
@PeterCordes-매우 흥미 롭습니다. 제가 살펴 보겠습니다. 그러나 기본 LVDS보다 훨씬 더 복잡해 보입니다.
Rocketmagnet

2
@Rocketmagnet : 그렇습니다. GigE 트랜시버가 100M보다 더 많은 전력을 사용하는 이유가 있습니다.
Peter Cordes

24

TTL (단일 종단, 종료되지 않은) 신호는 20Mbps 이상을 쉽게 처리 할 수 ​​있습니다 (예 : SPI 참조). 몇 인치 만 가면 리본 케이블과 IDC 커넥터 (또는 일종의 후면 판)가 보드에서 보드로 연결됩니다.

1Gbps는 임피던스 제어 트레이스, 커넥터 및 케이블을 처리해야하는 영역에 있습니다. 수신기는 동기화를 유지하고 클럭 / 데이터를 분리하기 위해 PLL / DLL 기술을 사용해야하지만, 느린 속도에서는 일반적인 동기 로직으로 충분합니다. 가까운 장래에 20Mbps가 충분하다고 확신한다면 50 배의 과잉과 추가 두통은 그만한 가치가 없습니다.


나는 한때 (25 년 전) 통신 랙 보드 간 보드 간 제어 및 상태를위한 맞춤형 직렬 버스 프로토콜을 설계했다. I 2 C와 SPI 사이의 일종의 교차점 — SPI와 같은 단방향 신호이지만 I 2 C 와 같은 내장형 장치 주소입니다 .


이미 임피던스 제어 트레이스, 케이블 및 커넥터를 사용하려고한다고 가정하면 다른 문제가 있습니까?
Rocketmagnet

1
수신기는 동기화를 유지하고 클럭 / 데이터를 분리하기 위해 PLL / DLL 기술을 사용해야합니다. 느린 속도에서는 정상적인 동기 논리로 충분합니다.
Dave Tweed

10
그것은 당신이 공개 할 자유가 아닌 구현 기술에 대한 세부 사항에 달려 있습니다. 태그를 사용하여 FPGA를 사용하는 경우 모든 주요 공급 업체가 다양한 속도로 칩 간 통신 솔루션을 미리 준비했습니다. 물리 계층에이를 사용하고 그 위에 사용자 지정 프로토콜을 구현하는 것이 좋습니다.
Dave Tweed

1
pll 블록을 디자인하는 것은 쉬운 일이 아니며 IP를 구입하면 쉽게 50-100k $를 되돌릴 수 있습니다.
Mike

1
@Tustique 실리콘에 자신 만의 PLL을 디자인하는 것이 사소한 것이라고 생각하십니까?
user253751

14

명백한 질문은 "1Gbps가 1000BASET 이더넷을 의미합니까?"입니다. 그것이 고객이 생각하는 것이라면, "우리는 자기장과 같은 것을위한 공간이 없다"는 요구 사항을 바로 그 규칙으로 규정합니다. 이더넷은 물리 계층에서 자기를 사용하며 몇 년 전에 인터페이스를 설계했을 때 자기는 대략 1 인치 큐브의 일부였습니다.

당신은 FPGA를 사용하고 있다고 말하지만, 누구도 말하지 않습니다. Xilinx를 사용하는 경우 현재 모델은 기본적으로 LVDS를 지원하므로 목적에 이상적입니다. 초기 LVDS 시스템 (하이 데프 텔레비전)은 122Mbps로 실행되었으며 실제로 필요한 경우 기술이 Gbps를 훨씬 능가 할 수 있습니다. 차이가 있고 두 보드가 과도하게 움직이는지면을 사용하지 않는다고 가정하면 노이즈 내성이 우수합니다.

클럭 주파수의 특정 선택에 관해서는, 필요한 것보다 더 많은 헤드 룸을 추가하는 것이 미래에 베이컨을 절약 할 수있는 결정 중 하나이므로 100 MHz와 같은 것을 선택하는 것을 배제하지는 않을 것이지만, 그것은 당신에게 달려 있습니다. 고객에게 Roberge의 법을 알게 될 것입니다 (Jim Roberge는 수십 년 전에 MIT의 유명한 전기 공학 교수였습니다). "자신이 얻는 것보다 더 많은 대역폭을 요구하는 사람들." 물론 그는 서보 시스템에 대해 이야기하고 있었지만 그 원칙은 상당히 광범위한 학문 분야에서 여전히 우수합니다.


7
비표준 연결을 수행하는 경우 이더넷에 자기가 필요하지 않습니다. 격리없이 구현하면 매우 안정적입니다.
Jack Creasey

1
@ JackCreasey 그러나 여전히 이더넷 이라고 부를 수 있습니까?
Mels

2
확실히 IEEE 802.3과 호환되지 않습니다. 호환 엔드 포인트에 연결되지 않지만 자기가 없으면 호환되지 않을 것이라고 말했습니다. 백플레인 연결의 신호에 대해 테스트 스위트를 통과 할 지 의심 스럽지만 지터를 포함한 다른 모든 것을 통과해야합니다. 나는 여전히 이더넷이라고 부르지 만 그렇지 않을 수도 있습니다.
Jack Creasey

2
참고 : "필요한 것보다 더 많은 대역폭을 요구하는 사람은 얻을 수있는 것 이상의 가치가 있습니다."에 대한 Google의 유일한 결과 이 답변입니다.
user253751

11

설명하는 애플리케이션은 맞춤형 실리콘 솔루션으로 바로 들어가는 것이 합리적이지 않습니다. 예상되는 데이터 속도는 적당한 가격의 FPGA 기술로 쉽게 처리 할 수 ​​있으며, 프로토콜이 필요하다고 생각 될 경우 특수 프로토콜을 구현하도록 FPGA를 프로그래밍 할 수 있습니다.

훨씬 더 자주 표준 물리 계층을 고려한 다음 그 위에 맞춤형 프로토콜을 구축해야합니다. 20Mbps의 net comm 채널 대역폭의 경우 프레임, 오류 검사 코딩 및 동기화가 대역폭의 일부를 차지하기 때문에 일정량의 프로토콜 오버 헤드를 계획해야합니다. 따라서이 오버 헤드를 수용하기 위해 더 높은 원시 대역폭을 고려하십시오.

설계가 입증되면 FPGA 공급 업체에 가서 FPGA 프로그래밍을 통해 하드 칩 설계를 생성 할 수 있습니다. 이 접근 방식은 모든 초기 개발 위험을 완화하고 "멋진 것처럼 보이기 때문에 맞춤형 실리콘으로 다이빙"하는 것보다 전체 NRE 비용을 엄청나게 줄입니다.


그것이 바로 우리가 취하고 자하는 길입니다.
Rocketmagnet

11

실제 문제는 모든 것이 이미 존재할 때 프로토콜을 설계하는 이유입니다.

Ethenet 솔루션의 경우 1GbE가 아닌 10/100을 사용하지만 레이아웃은 조금 저렴하고 훨씬 쉽습니다. 그런데 이더넷은 자기없이 작동 할 수 있습니다. 그러나 추가 IC가 될 수있는 MAC이 필요합니다. 아니면 마이크로 컨트롤러에 하나 있습니까?

20Mbps는 Rs485 또는 그와 같은 계층에 맞는 것으로, 훨씬 저렴하고 간단합니다. 트위스트 페어에는 커넥터가 있거나 PCB에 납땜 된 모든 종류의 케이블이 다소 유연합니다.

아, 가장 중요합니다. 1Gb를 사용하는 것이 더 쉽습니다. 그러나 추가 성장의 여지가 필요한 경우 제한이 줄어 듭니다.

결론 : 시스템 요구 사항을 이해해야합니다.


10

성공 가능성이 가장 높고 소프트웨어 오버 헤드가 가장 적은 가장 간단한 경로는 100Mbps 이더넷 연결을 구현하는 것입니다. 거리가 작을 때 자기가 관여하지 않고이를 구현할 수 있습니다.

다음은 인텔 8255 PCI- 이더넷 컨트롤러 에 대한 정보 와 마그네틱이없는 연결에 대한 애플리케이션 노트 로 시작합니다.
8255를 사용하라고 제안하지는 않지만 매우 쉽게 사용할 수있는 모든 FPGA에 대해 IP (10 / 100 / 1000Mbps)를 얻을 수 있으며 제대로 디버깅됩니다.

믹스에 프로세서가 있다고 가정하면 표준 이더넷 컨트롤러를 지원하는 것은 지점 간 네트워킹을 구현하는 소프트웨어 작업이 매우 적습니다.
우리는 인텔의 특수 마더 보드에서 이러한 유형의 지점 간 연결을 사용했으며, 디버깅하기 쉽고 매우 안정적이었습니다.


4
이더넷이 프로토콜을 수행 할 수 있지만 100 Base 이더넷의 최소 거리 요구 사항은 1 미터입니다 (이전에 몇 년 전에 백플레인 구현을 통한 이더넷 사용). OP는이 거리가 물리적 계층에서 이더넷을 배제하는 몇 인치라고 언급했다.
피터 스미스

1
@PeterSmith, 최소 거리는 자기가없는 이더넷에는 적용되지 않습니다. 이것은 몇 인치까지 작동합니다.
Jack Creasey 14:07에

5

여기에 대한 답변은 기술적이며 요구 사항 엔지니어링 관점을 제공합니다.

그것에 대한 나의 견해는 간단하다

  • 작동하려면 최소 20Mbps가 필요하므로 응용 프로그램에 20을 지정하고 "20 이상"을 지정하지 마십시오.

  • 더 빠른 하드웨어는 요구 사항을 충족시킵니다.

  • 기존 표준으로 인해 빠른 HW가 개발하기에 더 저렴하고 쉬운 경우 이러한 요구 사항도 충족 할 수 있습니다.

  • 고객이 더 많은 것을 원한다면 그 뒤에 무언가가 있는지 알아보십시오 (이미 업그레이드를 계획하고 교환 할 때 보드간에 호환성을 유지하려고 할 수 있습니다)


3

전력, 신호 무결성 및 타이밍. 나는 25 gbps 인터페이스를 가진 칩에서 작업했으며 이는 1.6 GHz의 클럭 속도와 1 톤의 전력을 의미했습니다. 우리가 19.2에서 실행할 수 있다면 클럭 속도는 1.2GHz가되었을 것이다. 클럭주기 당 200ps 이상의 추가 마진은 큰 도움이되었을 것입니다.

보드 디자인은 한 번도 해 본 적이 없지만 20Mbps는 문제가 없을 것으로 예상합니다. 1Gbps는 여전히 어렵지 않지만 20Mbps보다 훨씬 어렵습니다.

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