Trong một bài blog trước, tôi đã thảo luận một số điểm cơ bản trong việc chuẩn bị các quy tắc định tuyến cho PCB 2 lớp để hỗ trợ định tuyến và bố trí với tín hiệu số. Cụ thể, chúng ta đã xem xét một số quy tắc cơ bản về chồng lớp và định tuyến cần thiết để hỗ trợ một giao diện số như I2C hoặc SPI trên một PCB 2 lớp. Khi làm việc với các giao diện này, một vài hướng dẫn đơn giản có thể giúp đảm bảo tính toàn vẹn của tín hiệu trên bảng mạch của bạn và giảm thiểu EMI.
Vậy còn giao diện kiểm soát trở kháng như USB thì sao? Nhu cầu kiểm soát trở kháng, và biết khi nào nó có thể bị vi phạm, là điểm chính cho việc định tuyến một cái gì đó như USB trên một PCB 2 lớp. Trong bài viết này, tôi sẽ chỉ cho bạn cách định tuyến một giao thức tốc độ cao như USB. Cụ thể, chúng ta sẽ xem xét các quy tắc thiết kế quan trọng cần thiết cho việc định tuyến bảng mạch, đặc biệt là giới hạn chiều dài mà chúng ta có thể chấp nhận cho các đường dẫn mang dữ liệu USB. Nếu bạn chưa đọc bài viết trước trong loạt bài này, hãy xem qua vì nó đặt ra một số nền tảng khái niệm cần thiết để hiểu các giới hạn được thiết lập cho yêu cầu định tuyến USB.
Trong bài viết trước về định tuyến PCB 2 lớp, chúng tôi đã xem xét một quy trình để xác định chiều dài dây dẫn dài nhất có thể sử dụng trong thiết kế của bạn mà không cần áp dụng việc khớp trở kháng. Chúng tôi phát hiện ra rằng giới hạn chiều dài phụ thuộc vào mức độ lệch trở kháng đầu vào bạn có thể chấp nhận dọc theo chiều dài của đường truyền. Cụ thể, tùy thuộc vào việc bạn coi 10% đến 25% khoảng cách di chuyển tín hiệu là yếu tố quan trọng để giới hạn chiều dài dấu vết.
Đối với bản demo này, tôi muốn xem xét định tuyến USB 2.0 trên bo mạch này theo tiêu chuẩn Tốc độ Cao, và tôi tập trung vào tiêu chuẩn này vì một lý do cụ thể. USB 2.0 (Tốc độ Cao) vẫn được sử dụng trong một số hệ thống vì nó cung cấp khả năng kết nối với các thiết bị cũ cùng với tốc độ truyền dữ liệu nhanh, và nó vẫn được sử dụng trên các nền tảng phổ biến như Arduino với một cổng loại B.
Chỉ để minh họa hai thiết kế có thể, tôi đã so sánh tốc độ dữ liệu và thời gian tăng của hai thông số kỹ thuật USB 2.0 (Tốc độ Đầy đủ và Tốc độ Cao):
|
|
|
|
|
|
Quy trình tôi sẽ trình bày dưới đây được thực hiện cho tín hiệu USB 2.0 với thời gian tăng tốc và độ lệch của Tốc độ Cao, nhưng bạn có thể áp dụng cùng một quy trình cho USB 3.0 hoặc bất kỳ giao diện tốc độ cao nào khác. Chỉ cần nhớ: việc định tuyến trên một bảng mạch 2 lớp không phù hợp với mọi giao diện. Ví dụ, tôi không biết ai sẽ khuyến nghị định tuyến DDR4 trên một bảng mạch 2 lớp do giới hạn chiều dài nhỏ và tiếng ồn phát ra từ những tín hiệu nhanh này.
Đầu tiên, chúng ta muốn biết chiều dài quan trọng cho một tín hiệu USB được định tuyến trên một PCB 2 lớp tiêu biểu. Đối với một lõi Dk = 4.8 của vật liệu FR4, chúng ta sẽ có độ trễ lan truyền khoảng 150 ps/inch, hoặc khoảng 6 inch/ns. Với thời gian tăng tốc 500 ps của thông số Tốc độ Cao, điều này cho chúng ta khoảng cách lan truyền tín hiệu 3 inch trong thời gian tăng tốc. Nếu chúng ta rất thận trọng và sử dụng giới hạn 10% cho chiều dài quan trọng, điều này cho chúng ta một chiều dài quan trọng là 0.3 inch!
Cấu trúc mà chúng ta cần định tuyến ở đây chỉ là một dòng nối tiếp với các cặp vi sai. Vì vậy, bạn có ba yếu tố:
Bạn có thể tự hỏi, điều này được thực hiện như thế nào trên một nền tảng như Arduino? Hãy xem hình ảnh dưới đây của một Arduino Mega bạn có thể mua trên Amazon. Bộ điều khiển USB được đặt gần đầu nối và chắc chắn nằm trong khoảng 1 inch.
Bạn sẽ tìm thấy vị trí và định tuyến tương tự trên các bảng Arduino khác. Để tránh sự không khớp trở kháng đầu vào với đầu nối, cáp và bộ nhận, chúng ta sẽ muốn tuân theo lời khuyên được hiển thị ở trên và giữ cho đường dẫn ngắn trên PCB 2 lớp của chúng ta. Tuy nhiên, chúng ta không cần phải quá thận trọng đến mức áp dụng giới hạn 10%. Thay vào đó, nếu chúng ta chấp nhận giới hạn 25%, chúng ta sẽ có một khoảng cách định tuyến thoải mái hơn nhiều là 0.75 inch, điều này dễ quản lý hơn nhiều trên PCB 2 lớp.
Lưu ý rằng điều này áp dụng cho thông số Kỹ thuật Tốc độ Cao. Dưới thông số Kỹ thuật Tốc độ Đầy đủ, chúng ta có chiều dài quan trọng lỏng lẻo hơn là 2.4 inch (giới hạn 10%) hoặc 6 inch (giới hạn 25%) cho thời gian tăng 4 ns.
Điều quan trọng cần lưu ý là: không có giới hạn cố định (10%, 25%, hoặc bất kỳ tỷ lệ nào khác) mà chúng ta có một chiều dài quan trọng hợp lệ, và tùy thuộc vào kích thước của PCB của bạn, bạn có thể vượt qua chiều dài quan trọng và giờ đây cần phải thiết kế theo trở kháng chính xác. Giới hạn phụ thuộc vào nhiều yếu tố, và việc xác định tỷ lệ phần trăm chính xác cho chiều dài quan trọng của bạn đòi hỏi phải tính toán nhiều giá trị trở kháng. Thay vì phát triển một quy tắc dựa trên chiều dài quan trọng này, việc thiết kế theo trở kháng USB yêu cầu luôn dễ dàng hơn.
Tiếp theo, chúng ta cần xem xét cách đầu ra của trình điều khiển được kết thúc. Vì chúng ta đang nói cụ thể về USB ở đây, lưu ý rằng thông số kỹ thuật USB 2.0 yêu cầu một số điện trở kết thúc trên các dây D+ và D- gần với kết nối để khớp với trở kháng. Những điện trở này có thể được tích hợp vào bộ thu phát USB trên chíp, hoặc chúng có thể được yêu cầu như một thành phần bên ngoài. Các giá trị điển hình là 15 Ohm, 22 Ohm, hoặc 45 Ohm, mặc dù các giá trị khác có thể được sử dụng; hãy chắc chắn kiểm tra bảng dữ liệu của thành phần của bạn để xem điện trở kết thúc nào là cần thiết. Chỉ là một ví dụ, bộ điều khiển Hub USB TUSB2077APTR sử dụng điện trở kết thúc 27 Ohm. Hãy chắc chắn kiểm tra bảng dữ liệu để kiểm tra xem bạn có cần những điện trở bên ngoài này không.
Với giới hạn sai lệch 100 ps trong tiêu chuẩn Tốc độ cao, chúng ta có thể tính toán được sự chênh lệch chiều dài cho phép giữa hai bên của cặp dây đối xứng (tín hiệu D+ và D-). Lấy ước lượng độ trễ lan truyền khoảng 6 ns/inch cho việc định tuyến trên lớp bề mặt, và nhân với giới hạn sai lệch, chúng ta nhận được sự chênh lệch chiều dài dây dẫn là 0.6 inch (600 mil). Đây là một sự chênh lệch rất lớn! Chúng ta có rất nhiều tự do để cho phép một số việc khớp chiều dài dây dẫn. Tuy nhiên, có một điểm quan trọng ở đây: điều này bao gồm toàn bộ chiều dài của kết nối liên kết (bảng mạch của bạn + cáp + bảng mạch nhận). Do đó, chỉ để an toàn, hãy cố gắng hết sức để giới hạn sai lệch càng nhiều càng tốt bằng cách định tuyến các cặp dây cùng nhau và thực hiện một chút khớp chiều dài ở những nơi có thể. Điều này khá dễ dàng vì chip điều khiển USB thường sẽ đặt các tín hiệu D+ và D- ở cùng một cạnh của chip.
Khi sự chênh lệch chiều dài là ngắn, bạn có thể không cần thực hiện việc điều chỉnh chiều dài vì nó chiếm không gian trong bố cục PCB. Chỉ cần xem các hệ thống chức năng khác sẽ làm gì, hãy xem hình ảnh bố cục PCB của Arduino UNO dưới đây (lưu ý: hình ảnh này được chuyển đổi từ các tệp Eagle). Các đường USB đã được làm nổi bật trong hình ảnh. Nếu chúng ta đo chiều dài của các cạnh dương và âm của các đường này (vượt qua mỗi bên của các điện trở kết thúc), chúng ta thấy rằng sự chênh lệch chiều dài khoảng 180 mils. Đây là lý do tại sao các đường này không được điều chỉnh chiều dài giữa Arduino và cổng USB.
Trong không gian chật hẹp này, giao diện vẫn sẽ hoạt động chính xác vì sự chênh lệch chiều dài chỉ khoảng 180 mils, con số này nhỏ hơn nhiều so với giới hạn cho phép về sự lệch pha. Ngay cả trong trường hợp xấu nhất với hiệu ứng sợi dệt trên một lớp cơ sở sợi thủy tinh lỏng, tổng sự lệch pha (về mặt chiều dài) chỉ tương đương với ít hơn khoảng 230 mils, vẫn thấp hơn nhiều so với giới hạn cho phép về sự lệch pha cho giao diện này.
Như tôi đã chỉ ra trong blog trước, bạn không thể sử dụng chiều rộng dấu vết tương ứng với trở kháng đặc trưng trong High Speed USB 2.0 và vẫn đáp ứng được thông số trở kháng. Hãy nhớ rằng, chiều rộng dấu vết trên một PCB có độ dày tiêu chuẩn với hai lớp là khoảng 110 mils cho Dk - 4.8. Làm thế nào chúng ta có thể đạt được thông số trở kháng cặp vi sai trong USB 2.0 tốc độ cao với chiều rộng dấu vết đó?
Trên thực tế, chúng ta không cần phải sử dụng chiều rộng dấu vết đó do cách các dấu vết trong cặp vi sai sẽ kết hợp với nhau. Nếu bạn sử dụng máy tính xếp chồng lớp của mình với một bảng mạch 2 lớp dày để tính toán trở kháng vi sai cho microstrips, bạn sẽ thấy rằng chiều rộng dấu vết thực tế cần thiết nhỏ hơn nhiều và là một chức năng của khoảng cách. Đối với các dòng microstrip của chúng tôi trên một PCB 2 lớp, Quản lý Xếp Chồng Lớp trong Altium Designer cho chúng ta biết rằng chiều rộng dấu vết là khoảng 16 mils cho khoảng cách 5 mils.
Bạn có thể sử dụng các dấu vết mảnh hơn với những microstrip chênh lệch này, nhưng bạn sẽ cần phải sử dụng khoảng cách nhỏ hơn. Trong thiết kế này, chúng tôi đang tiếp cận giới hạn về khoảng cách giữa các dấu vết cho việc ăn mòn, vì vậy việc giữ khoảng cách 5 mil giữa các dấu vết là ổn khi chúng tôi đang đạt được thông số kỹ thuật cho cả tín hiệu đơn lẻ và tín hiệu chênh lệch với các chiều rộng dấu vết này. Làm thế nào chúng ta biết chúng ta đang đạt được phần tín hiệu đơn lẻ của thông số kỹ thuật? Điều này là bởi vì: chiều rộng dấu vết được đưa ra ở trên là cho trở kháng chế độ lẻ của một dấu vết đơn, không phải trở kháng đặc trưng! Đó là lý do bạn cần phải tuân theo giá trị cụ thể này cho chiều rộng dấu vết và không sử dụng giá trị trở kháng đặc trưng cho một microstrip đơn lẻ một cách tách biệt.
Có một phương án thay thế mà chúng tôi không thảo luận: sử dụng cặp microstrip đồng mặt phẳng chênh lệch. Bằng cách chạy dòng đất lên đến các microstrip trên lớp bề mặt, và bằng cách đặt dòng đất dưới các tín hiệu ở lớp dưới cùng, bạn có thể đạt được trở kháng chênh lệch 90 Ohm với các dấu vết rộng 9.5 mil, khoảng cách dấu vết 5 mil, và khoảng cách đến đất 5 mil. Chúng ta có thể thấy từ các giá trị dưới đây rằng chúng tôi đẹp đẽ đạt được trở kháng 90 Ohm yêu cầu trong thông số kỹ thuật USB 2.0 với các giá trị này.
Với sắp xếp này, chúng ta sẽ không phải lo lắng nhiều về vấn đề chiều dài quan trọng và vấn đề độ rộng dấu vết trên bảng mạch 2 lớp. Tuy nhiên, bạn cần lưu ý rằng độ rộng và khoảng cách này phải được duy trì xuyên suốt chiều dài của lộ trình. Định tuyến USB xem xét các dấu vết như là các dấu vết đơn lẻ riêng biệt chỉ đơn giản là đang truyền tải một tín hiệu vi sai, vì vậy bạn có thể định tuyến chúng một cách riêng biệt.
Topo định tuyến khá đơn giản: định tuyến từ chip USB đến các điện trở kết thúc/kéo lên/kéo xuống, và sau đó đến bộ kết nối, tất cả như các cặp vi sai. Hình ảnh dưới đây cho thấy topo định tuyến cấp cao với các điện trở kéo lên và kéo xuống. Một số tụ điện cũng được yêu cầu theo tiêu chuẩn USB 2.0 như được hiển thị dưới đây.
Việc định tuyến khá đơn giản: tuân theo các quy tắc định tuyến cặp dây vi sai chuẩn khi đi qua từng phần của hệ thống và bạn sẽ không gặp vấn đề với việc đăng ký tín hiệu hoặc khớp trở kháng. Giữ các tuyến đường ngắn với các kết nối trực tiếp đi ra từ các dây cặp vi sai để tạo kết nối đến GND/VCC cho các điện trở kéo xuống và kéo lên. Đảm bảo kiểm tra mạch ứng dụng cho thiết bị của bạn trong bảng dữ liệu vì các dây D+/D- có thể có thêm tụ điện bên ngoài trên thiết bị; bạn sẽ thấy điều này trên thiết bị TUSB2077A mà tôi đã trích dẫn ở trên.
Chúng tôi sẽ cho thấy một ví dụ thực tế trong bố cục PCB trong một blog sắp tới. Bây giờ, hãy thử làm điều này và xem bạn có thể định tuyến thiết kế được không.
Trong blog này và bài đăng blog trước của chúng tôi, chúng tôi đã xem xét một số quy tắc định tuyến quan trọng cần tuân theo khi thiết lập và định tuyến một giao diện tốc độ cao như USB trên PCB 2 lớp. Dưới đây là hướng dẫn định tuyến cuối cùng của chúng tôi:
Hướng dẫn định tuyến được hiển thị ở đây không phải lúc nào cũng đảm bảo EMC, có những khía cạnh khác của thiết kế cần xem xét, đôi khi được thực hiện kém trong PCB 2 lớp. Tuy nhiên, những hướng dẫn này chắc chắn sẽ giúp ích cho EMI nếu bạn làm việc với thông số Full Speed. Sở thích cá nhân của tôi là sử dụng PCB 4 lớp cho các bus số nối tiếp và các giao thức tốc độ cao, đặc biệt nếu bo mạch lớn hơn hoặc nó sẽ được sản xuất với số lượng lớn.
Nếu bạn sử dụng USB 3.0, thì bạn sẽ có những yêu cầu khắt khe về việc khớp chiều dài do tốc độ cạnh nhanh, và bạn nên đặt giao diện gần với cổng kết nối như chúng tôi đã làm với thông số Full Speed được liệt kê ở trên.
Khi bạn cần định tuyến một giao diện như USB trên một PCB 2 lớp hoặc một bảng mạch đa lớp tiên tiến hơn, hãy sử dụng các công cụ bố trí và định tuyến PCB trong CircuitMaker. Tất cả người dùng CircuitMaker có thể tạo sơ đồ, bố trí PCB và tài liệu sản xuất cần thiết để chuyển một thiết kế từ ý tưởng sang sản xuất. Người dùng cũng có quyền truy cập vào không gian làm việc cá nhân trên nền tảng Altium 365™, nơi họ có thể tải lên và lưu trữ dữ liệu thiết kế trên đám mây, và dễ dàng xem các dự án qua trình duyệt web trên một nền tảng an toàn.
Bắt đầu sử dụng CircuitMaker ngay hôm nay và chờ đón CircuitMaker Pro từ Altium mới.