Tại sao không thực hiện 1Gbps, khi tất cả những gì tôi cần là 20Mbps?


27

Lý lịch

Tôi đang làm việc với một khách hàng trong một dự án lớn đòi hỏi phải có chip mạng tùy chỉnh được thiết kế để giải quyết các yêu cầu truyền dữ liệu trong dự án. Mạng được dự định gửi các gói nhỏ một vài inch từ PCB này sang PCB khác qua một cáp xoắn đôi. Chúng tôi sẽ thiết kế và chỉ định giao thức mạng và một công ty khác sẽ chịu trách nhiệm triển khai silicon.

Tôi ước tính rằng tốc độ dữ liệu 20Mbps giữa các nút sẽ dễ dàng đối phó với lượng dữ liệu cần gửi, với nhiều khoảng trống nên lượng dữ liệu sẽ tăng trong tương lai.

Vấn đề

Khách hàng đang hỏi tôi tại sao tôi chỉ định 20Mbps. Tại sao không phải là 1Gbps? Điều đó có tốt hơn không? Theo trực giác, tôi cảm thấy rằng việc tăng tốc độ dữ liệu một cách ồ ạt vượt quá những gì cần thiết là một ý tưởng tồi. Ban đầu, tôi nghĩ rằng hệ thống cáp sẽ cần được bảo vệ (điều mà tôi không muốn), nhưng nhìn vào các loại cáp Ethernet, tôi thấy rằng Gigabit Ethernet có thể chạy trên cáp Cat 6, không cần phải được bảo vệ.

Những ràng buộc khác

  • Dự án bị giới hạn không gian một cách tuyệt vọng và chúng ta không có chỗ cho những thứ như từ tính, trừ khi nó là một thành phần rất nhỏ (tối đa 0603).
  • Các dây cáp cần phải mỏng và linh hoạt nhất có thể.
  • Thiết bị sẽ chạy từ nguồn điện cắm, do đó không có yêu cầu năng lượng thấp cụ thể.

Câu hỏi

Các vấn đề, về thiết kế silicon, hệ thống cáp và bất cứ điều gì khác, có thể phải đối mặt ở tốc độ 1Gbps, sẽ không tệ như vậy ở 20Mbps? Tôi có nên đi với đề xuất của khách hàng về việc triển khai mạng ở tốc độ 1Gbps hay tôi nên nhấn mạnh vào việc chỉ thực hiện những gì được yêu cầu?

Chúng tôi đang bị NDA nghiêm ngặt, vì vậy tôi không thể cung cấp quá nhiều chi tiết về các yêu cầu của chúng tôi. Nhưng xin vui lòng để lại một bình luận nếu cần làm rõ.


3
Nếu ứng dụng cần thông lượng 20 Mbps, thì có khả năng tiêu chuẩn cũ hơn 100 Mbps là đủ, xem xét tất cả chi phí và như vậy. Vì vậy, câu hỏi sẽ giảm xuống chi phí thực hiện, sẵn có các bộ phận trong tương lai. Bạn đã kiểm tra chi phí tương ứng? Ngoài ra, bạn có ý nghĩa gì "về mặt thiết kế silicon"? Bạn đang có kế hoạch thiết kế silicon của riêng bạn?
Ale..chenski

9
1Gbps có thể là quá mức cần thiết ... 100Mbps có thể là bước tiếp theo phù hợp hơn về tốc độ .... nếu khách hàng quan tâm đến việc chứng minh thiết bị trong tương lai, có thể khám phá việc sử dụng nén dữ liệu ...... có thể chứng minh cho khách hàng có được thông lượng dữ liệu đạt được với
20Mb / giây

12
Tại sao bạn muốn giao thức "kết nối" cho kết nối điểm-điểm?
Photon

20
Thiết kế "một giao thức mạng" từ đầu không giống như một ý tưởng đặc biệt khôn ngoan. Nó có thể khá tốn kém cho thiết kế, thực hiện lớp vật lý, xác nhận lớp vật lý, sau đó là lớp giao thức, tất cả phần mềm liên quan và xác thực chúng, v.v. Bạn đã nghe nói về HSIC, một loại USB trên 1.2VLVCMOS chưa?
Ale..chenski

20
Xin vui lòng, kết hợp một bản demo với IC ethernet 100M không có từ tính để demo cho người dùng, và với chính bạn, những gì có thể được thực hiện với tiêu chuẩn ngoài các bộ phận của kệ. Không làm silicon tùy chỉnh, các giao thức tùy chỉnh, mà không hiểu tại sao các giao thức tiêu chuẩn sẽ không làm.
Neil_UK

Câu trả lời:


24

Một vài lý do:

Quyền lực

Tốc độ nhanh hơn có nghĩa là nhiều năng lượng hơn. Bạn không chỉ cần các mạch tương tự nhanh hơn, sẽ tiêu thụ nhiều năng lượng hơn, tất cả các thiết bị điện tử của bạn xung quanh chúng cũng cần phải nhanh hơn. Hệ thống kỹ thuật số của bạn, chốt của bạn, quản lý đồng hồ, v.v ... Nếu bạn nhận được 1 Gbps đó bằng cách sử dụng tín hiệu đa cấp, bây giờ bạn cần ADC và DAC tốt hơn. Bạn có thể cần phải bắt đầu xử lý các bộ lọc phức tạp hơn. Bạn có thể bắt đầu yêu cầu FEC cũng cần theo kịp.

Kích thước chip

Nhanh hơn có nghĩa là nhiều hơn đang diễn ra. Bạn cần ổn định đồng hồ tốt hơn, có nghĩa là mạch lớn hơn. Bạn cần thời gian tốt hơn, có nghĩa là một hệ thống phục hồi đồng hồ phức tạp hơn. Bạn có thể cần phải chuyển sang sử dụng DSP để thực hiện cân bằng kênh. FEC có khả năng cần thiết của bạn cần không gian chip.

Nhạy cảm với môi trường

Nếu bạn chuyển từ vài chục megabaud sang bất cứ thứ gì cần thiết cho gigabit, bạn sẽ trở nên nhạy cảm hơn với môi trường. Các sự không phù hợp nhỏ có thể không được chú ý ở một vài chục MHz trở thành các cuống cộng hưởng ở tần số cao hơn. Phản xạ có thể bắt đầu gây ra hiệu suất không liên tục. Cáp có biệt danh do lạm dụng trong nhiều năm (tôi không biết môi trường ứng dụng cho sản phẩm của bạn) có thể tốt cho tốc độ thấp hơn, nhưng gây ra hiệu suất kém khi bạn đi cao hơn.

Nỗ lực thiết kế

Tôi nghĩ rõ ràng từ tất cả các vấn đề bổ sung mà tôi đã thảo luận ở trên rằng thời gian và nỗ lực thiết kế một liên kết truyền thông nhanh hơn là rất đáng kể. Điều này một mình nên là đủ của một lý do.

EMI

Tốc độ nhanh hơn có nghĩa là đáp ứng các yêu cầu EMI có thể khó hơn.


5
@Rocketmagnet: Cũng đáng để chỉ ra rằng gigabyte thực tế 802.3 1000Base-T qua Cat5e gửi tín hiệu theo cả hai hướng cùng một lúc trên 4 cặp dây, cũng như sử dụng mã hóa đa cấp, để giữ tần số xuống cùng mức 125 MHz như 100Base-T . Vì vậy, mỗi người nhận phải trừ đi những gì máy phát của chính họ đang gửi, để chỉ nhận được tín hiệu được gửi bởi đầu kia.
Peter Cordes

2
@PeterCordes - Điều đó rất thú vị, tôi sẽ xem xét điều đó. Nhưng nó có vẻ phức tạp hơn đáng kể so với LVDS cơ bản.
Rocketmagnet

2
@Rocketmagnet: vâng, GigE có vẻ như là một lựa chọn rất kém cho việc này. Có một lý do thu phát GigE sử dụng nhiều năng lượng hơn 100M.
Peter Cordes

24

Tín hiệu TTL (một đầu cuối, không kết thúc) có thể dễ dàng xử lý 20 Mbps trở lên - ví dụ, nhìn vào SPI. Nếu bạn chỉ đi một vài inch, cáp ruy băng và đầu nối IDC (hoặc một bảng nối đa năng nào đó) sẽ đưa bạn từ tàu này sang tàu khác.

1 Gbps đưa bạn vào vương quốc của việc phải đối phó với các dấu vết, đầu nối và dây cáp được điều khiển bằng trở kháng. Các máy thu sẽ cần sử dụng các kỹ thuật PLL / DLL để duy trì đồng bộ hóa và tách rời đồng hồ / dữ liệu, trong khi ở tốc độ chậm hơn, logic đồng bộ thông thường sẽ là đủ. Quá mức cần thiết 50 × và những cơn đau đầu bổ sung đơn giản là không đáng, nếu bạn chắc chắn rằng 20 Mbps sẽ đủ cho tương lai gần.


Tôi đã từng thiết kế (25 năm trước hoặc lâu hơn) một giao thức bus nối tiếp tùy chỉnh để kiểm soát và trạng thái giữa các bảng trong một giá đỡ viễn thông. Sắp xếp một giao thoa giữa I 2 C và SPI - các tín hiệu đơn hướng như SPI, nhưng các địa chỉ thiết bị nhúng như I 2 C.


Giả sử rằng chúng tôi đã có ý định sử dụng dấu vết, dây cáp và đầu nối được điều khiển trở kháng, có vấn đề nào khác không?
Rocketmagnet

1
Người nhận sẽ cần sử dụng các kỹ thuật PLL / DLL để duy trì đồng bộ hóa và tách biệt đồng hồ / dữ liệu. Ở tốc độ chậm hơn, logic đồng bộ thông thường sẽ là đủ.
Dave Tweed

10
Điều đó phụ thuộc vào chi tiết về công nghệ triển khai của bạn mà có lẽ bạn không được tự do tiết lộ. Nếu bạn đang sử dụng các GPU (theo ngụ ý của việc bạn sử dụng thẻ), lưu ý rằng tất cả các nhà cung cấp chính đều có các giải pháp đóng hộp để liên lạc giữa các chip với tốc độ khác nhau. Bạn nên sử dụng nó cho lớp vật lý của mình và triển khai giao thức tùy chỉnh của bạn trên lớp này.
Dave Tweed

1
Thiết kế một khối pll không phải là chuyện nhỏ và việc mua IP có thể dễ dàng đặt lại cho bạn 50-100k $
Mike

1
@Tustique Bạn nghĩ việc thiết kế PLL của riêng bạn trên silicon là chuyện nhỏ?
dùng253751

14

Câu hỏi rõ ràng là, "1 Gbps có nghĩa là Ethernet 1000BASET không?" Nếu đó là những gì khách hàng đang nghĩ, yêu cầu của bạn rằng, "chúng tôi không có chỗ cho những thứ như từ tính" ngay lập tức. Ethernet sử dụng từ tính trên lớp vật lý và khi tôi thiết kế giao diện vài năm trước, từ tính là một phần của khối lập phương khoảng 1 inch.

Bạn nói rằng bạn đang sử dụng các GPU, nhưng bạn không nói là của ai. Nếu bạn đang sử dụng Xilinx, bạn nên biết rằng các mô hình hiện tại thực sự hỗ trợ LVDS, có vẻ lý tưởng cho mục đích của bạn. Các hệ thống LVDS đời đầu (TV hi-def) chạy ở tốc độ 122 Mb / giây và công nghệ có thể đạt tốc độ Gbps tốt nếu bạn thực sự cần. Là khác biệt, và giả sử hai bảng của bạn không sử dụng mặt đất nổi điên cuồng, khả năng chống ồn là tuyệt vời.

Đối với lựa chọn tần số đồng hồ cụ thể của bạn, việc thêm nhiều khoảng trống hơn bạn nghĩ là một trong những quyết định có thể cứu thịt xông khói của bạn trong tương lai, vì vậy tôi sẽ không loại trừ việc chọn thứ gì đó như 100 MHz, nhưng điều đó tùy thuộc vào bạn. Bạn có thể làm quen với khách hàng của mình với Luật của Roberge (Jim Roberge là một giáo sư kỹ thuật điện nổi tiếng tại MIT vài thập kỷ trước): "Những người yêu cầu băng thông nhiều hơn họ cần xứng đáng với những gì họ nhận được." Cấp, ông đã nói về các hệ thống servo, nhưng nguyên tắc vẫn tốt trên một phạm vi rộng đáng kể của các ngành.


7
Ethernet không cần từ tính nếu bạn đang thực hiện kết nối không chuẩn. Nó là khá đáng tin cậy nếu được thực hiện mà không có sự cô lập.
Jack Creasey

1
@JackCreasey nhưng người ta vẫn có thể gọi nó là Ethernet ?
Mels

2
Nó chắc chắn không tuân thủ chuẩn IEEE 802.3. Nó sẽ không kết nối với điểm cuối tuân thủ, nhưng tôi đã nói rằng nó sẽ không tuân thủ nếu không có từ tính. Tôi nghi ngờ nó sẽ vượt qua bộ kiểm tra cho các tín hiệu trên kết nối bảng nối đa năng, nhưng nó sẽ vượt qua mọi thứ khác bao gồm cả jitter. Tôi vẫn gọi nó là Ethernet, nhưng bạn có thể không.
Jack Creasey

2
FYI: kết quả duy nhất của Google cho "Những người yêu cầu băng thông nhiều hơn mức họ cần xứng đáng với những gì họ nhận được." là câu trả lời này
dùng253751

11

Ứng dụng mà bạn mô tả không có ý nghĩa để nhảy ngay vào một giải pháp silicon tùy chỉnh. Tốc độ dữ liệu mà bạn dự đoán có thể được xử lý dễ dàng bằng công nghệ FPGA có giá vừa phải và FPGA có thể được lập trình để thực hiện giao thức đặc biệt nếu bạn thực sự tin rằng cần có giao thức đó.

Thường xuyên hơn, bạn nên xem xét một lớp vật lý tiêu chuẩn và sau đó xây dựng giao thức tùy chỉnh trên đó. Đối với băng thông kênh comm 20Mbps, bạn nên lập kế hoạch cho một số tiền giao thức vì một số khung, kiểm tra lỗi mã hóa và đồng bộ hóa ăn hết một phần băng thông của bạn. Vì vậy, có thể xem xét một băng thông thô cao hơn để phù hợp với chi phí này.

Một khi bạn đã chứng minh được thiết kế của mình thì bạn có thể đến nhà cung cấp đồ họa và nhờ họ sản xuất một thiết kế chip cứng từ chương trình FPGA. Cách tiếp cận này giảm thiểu tất cả rủi ro phát triển sớm và làm giảm tổng thể NRE chi phí rất lớn so với việc "đi sâu vào silicon tùy chỉnh chỉ vì nó có vẻ hay".


Đó chính xác là con đường chúng tôi dự định đi.
Rocketmagnet

11

Câu hỏi thực tế là, tại sao phải thiết kế một giao thức khi mọi thứ đã tồn tại.

Đối với các giải pháp Ethenet, bạn mất 10/100 chứ không phải 1GbE vì nó vẫn rẻ hơn một chút và dễ bố trí hơn nhiều. Nhân tiện, Ethernet có thể hoạt động mà không cần từ tính. Nhưng nó đòi hỏi MAC, có thể là thêm IC. Hay bạn có một cái trong vi điều khiển?

20Mbps là một cái gì đó phù hợp với Rs485 hoặc lớp như vậy, thậm chí còn rẻ hơn và đơn giản hơn. Các cặp xoắn đi kèm với tất cả các loại cáp, ít nhiều linh hoạt, với các đầu nối hoặc chỉ được hàn vào PCB của bạn.

À, quan trọng nhất. Dễ dàng hơn để bắt vít với 1Gb. Nhưng nếu họ cần chỗ cho sự tăng trưởng hơn nữa, nó sẽ giới hạn ít hơn.

Điểm mấu chốt: bạn cần hiểu các yêu cầu hệ thống của bạn.


10

Tôi muốn đề xuất con đường đơn giản nhất với khả năng thành công cao nhất và ít chi phí phần mềm nhất sẽ là triển khai kết nối Ethernet 100Mbps. Bạn có thể thực hiện điều này mà không có bất kỳ từ tính nào liên quan khi khoảng cách nhỏ.

Đây là một khởi đầu với thông tin về bộ điều khiển PCI-Ethernet Intel 8255 và một ghi chú ứng dụng về các kết nối không có từ tính.
Tôi không khuyên bạn nên sử dụng 8255, nhưng bạn có thể nhận IP (10/100 / 1000Mbps) cho bất kỳ loại GPU nào mà bạn có khả năng sử dụng rất dễ dàng và nó cũng được gỡ lỗi.

Giả sử bạn có bộ xử lý hỗn hợp, hỗ trợ bộ điều khiển Ethernet tiêu chuẩn là một cách nỗ lực phần mềm rất thấp để thực hiện kết nối mạng điểm tới điểm.
Chúng tôi đã sử dụng một loạt các loại kết nối điểm này trên các bo mạch chủ chuyên dụng tại Intel, chúng rất dễ gỡ lỗi và rất đáng tin cậy.


4
Mặc dù ethernet có thể thực hiện giao thức, nhưng ethernet cơ sở 100 có yêu cầu khoảng cách tối thiểu là 1 mét (bit này cho tôi vài năm trước bằng cách sử dụng ethernet qua triển khai bảng nối đa năng). OP đã đề cập đến khoảng cách là một vài inch thay vì loại bỏ ethernet ở lớp vật lý.
Peter Smith

1
@PeterSmith, khoảng cách tối thiểu KHÔNG áp dụng cho Ethernet mà không có từ tính. Điều này sẽ làm việc xuống chỉ một vài inch.
Jack Creasey

5

Các câu trả lời ở đây là kỹ thuật, tôi đưa ra một quan điểm kỹ thuật yêu cầu:

Quan điểm của tôi về nó rất đơn giản

  • Bạn cần ít nhất 20Mb / giây để làm cho nó hoạt động, vì vậy đừng chỉ định 20 nhưng "20 trở lên" cho ứng dụng.

  • bất kỳ phần cứng nhanh hơn cũng đáp ứng yêu cầu của bạn

  • nếu CTNH nhanh hơn rẻ hơn / dễ phát triển hơn do các tiêu chuẩn hiện có, thì yêu cầu của bạn cũng có thể được đáp ứng.

  • Nếu khách hàng muốn nhiều hơn, hãy cố gắng tìm hiểu xem có gì đó đằng sau nó không (có thể là họ đã lên kế hoạch nâng cấp và muốn duy trì sự tương thích giữa các bảng khi hoán đổi)


3

Sức mạnh, tính toàn vẹn tín hiệu và thời gian. Tôi đã làm việc trên một con chip với giao diện 25 gbps và điều đó có nghĩa là tốc độ xung nhịp là 1.6 GHz và một tấn năng lượng. Nếu chúng ta có thể chạy ở 19.2, tốc độ xung nhịp sẽ là 1,2 GHz. Lớn hơn 200ps lợi nhuận thêm trên mỗi chu kỳ đồng hồ, đó sẽ là một trợ giúp rất lớn.

Tôi chưa bao giờ thực hiện thiết kế bảng nhưng tôi hy vọng rằng 20 Mbps không có vấn đề gì. 1 Gbps vẫn không quá khó nhưng khó hơn rất nhiều so với 20 Mbps.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.