Dự án Pi.MX8 - Phần 4: Bố trí Bảng Mạch

Lukas Henkel
|  Created: Tháng Bảy 23, 2024  |  Updated: Tháng Bảy 24, 2024
Dự án PIMX8 - Chương VI

Chương

1
Introduction and Overview
| Created: January 18, 2024
2
Component placement and layout planning
| Created: February 06, 2024
3
Board Layout Part 1
| Created: February 22, 2024
4
Board Layout Part 2
| Created: March 21, 2024
5
Board Layout Part 3
| Created: June 24, 2024
6
Board Layout Part 4
| Created: July 23, 2024
7
PCB Assembly
| Coming Soon

Chào mừng bạn đến với bài viết mới về dự án module tính toán Pi.MX8 SoM! Trong bản cập nhật này, chúng tôi sẽ hoàn thiện thiết kế PCB và chuẩn bị thiết kế cho việc sản xuất nguyên mẫu.

Test of button

Trong bài viết trước, chúng tôi đã hoàn thành việc định tuyến các lớp tín hiệu. Đây là phần tốn thời gian nhất trong quá trình thiết kế bố trí PCB cho module Pi.MX8. Tuy nhiên, chúng tôi vẫn còn hai nhiệm vụ phía trước đòi hỏi sự chăm sóc không kém: định tuyến các mặt phẳng nguồn và điều chỉnh độ trễ tín hiệu.

Mặt phẳng nguồn

Hãy bắt đầu với các mặt phẳng nguồn. Tôi thường thích thực hiện điều chỉnh độ trễ ở những bước cuối cùng, vì các đường meander cần thiết cho việc điều chỉnh chiều dài thường lấp đầy không gian còn lại trên bảng mạch. Ví dụ, việc đặt thêm VIAs (đôi khi cần thiết khi định tuyến các mạng nguồn) có thể yêu cầu chúng tôi điều chỉnh các nguyên tắc điều chỉnh chiều dài để tạo ra không gian cần thiết. Bằng cách lấp đầy không gian còn lại với các nguyên tắc điều chỉnh chiều dài ở cuối cùng, chúng tôi có thể tránh được việc làm lại thêm.

Available power plane layers

Các lớp mặt phẳng nguồn có sẵn

Nhìn vào cấu trúc lớp, chúng ta có thể thấy rằng chúng ta có hai lớp dành riêng cho nguồn điện. Những lớp này được tách biệt khỏi các lớp đất liền kề bởi một lớp prepreg mỏng. Việc xếp chồng này tăng cường dung lượng tụ điện của mặt phẳng có độ tự cảm thấp và có thể giúp giảm trở kháng PDN ở tần số cao.

Hãy bắt đầu với việc định tuyến các đường ray nguồn có dòng điện cao. Trong trường hợp của chúng ta, đó là các đường ray nguồn cốt lõi và bộ nhớ cho i.MX8 SoC và bộ điều khiển DRAM với IC LPDDR4.

PMIC core and memory supply for the SoC

Nguồn cung cấp cốt lõi và bộ nhớ cho SoC từ PMIC

Các đường ray VCC_ARM và VCC_SOC sử dụng cảm biến từ xa, điều này có nghĩa là nút phản hồi của các bộ chuyển đổi buck không được định tuyến đến các tụ điện đầu ra gần MIC, mà đến các pad nguồn của i.MX8. Điều này nhằm bù đắp cho sự sụt áp qua mặt phẳng nguồn hoặc đa giác nguồn. Vì dòng điện trong các đường ray này có thể khá cao và PMIC cần điều chỉnh các điện áp này một cách chính xác, nên việc "đo" điện áp trực tiếp tại tải là quan trọng. Hình sau đây cho thấy sự sụt áp qua một đa giác nguồn:

Voltage drop across power polygon

Sự sụt áp qua đa giác nguồn

Lớp ngũ cự giác nguồn cho đường ray VCC_ARM được định tuyến trên lớp 6. Đường dẫn được định tuyến gần với đường viền của ngũ cự giác là tín hiệu cảm biến từ xa. Lý tưởng, chúng ta muốn đo điện áp theo cách khác biệt để bù đắp cho các hiệu ứng nhiễu sinh ra bởi dòng điện đường trở về và làm cho phản hồi ít bị ảnh hưởng bởi nhiễu, nhưng trong trường hợp của chúng ta điều này sẽ không cần thiết. Chúng ta sẽ tuân theo các khuyến nghị của thiết kế tham khảo.

VCC_SOC polygon

Ngũ cự giác VCC_SOC

Đường dẫn phản hồi sử dụng một 'net-tie' gần với các chân của SoC để kết nối mạng phản hồi với mạng nguồn. Nếu không sử dụng net-tie, chúng ta sẽ phải đảm bảo cách ly sạch sẽ giữa đường dẫn phản hồi và ngũ cự giác nguồn một cách thủ công. Cách tiếp cận này dễ phạm lỗi. Net-tie đơn giản là một dấu chân bao gồm một đoạn đường dẫn ngắn với hai miếng đệm nhỏ ở hai đầu. Bằng cách thiết lập loại thành phần là net-tie, Altium Designer sẽ không tạo ra lỗi mạch ngắn cho thành phần này.

Ngũ cự giác VCC_ARM và đường ray nguồn DRAM được định tuyến theo cách tương tự trên Lớp 5.

VCC_ARM highlighted and DRAM power rail in purple

VCC_ARM được làm nổi bật và đường ray nguồn DRAM màu tím

Các đường ray cung cấp điện còn lại được phân bổ trên lớp 5 và 6. Các đa giác cung cấp điện hệ thống 1.8V và 3.3V trải dài toàn bộ bảng mạch vì nhiều linh kiện kết nối với các đường ray này được phân bố khắp bảng mạch.

Bước cuối cùng của việc định tuyến mặt phẳng nguồn là thiết lập phân tích PDN AC và DC và kiểm tra xem kết quả có nằm trong giới hạn giá trị trở kháng được thiết lập bởi hướng dẫn thiết kế phần cứng của SoC hay không.

Mô phỏng AC phải bao gồm các tụ điện giảm xung với mô hình tương đương chính xác, đặc điểm đầu ra của bộ điều chỉnh buck và hình dạng bố trí. Chúng tôi sẽ không đi sâu vào cài đặt mô phỏng trong bài viết này nhưng cần phải nhớ đó là bước kiểm tra bắt buộc.

Power rails target impedance

Trở kháng mục tiêu của đường ray nguồn

Mô phỏng DC chỉ yêu cầu hình dạng bố trí và đặc điểm tải của SoC làm đầu vào để tính toán sự sụt áp qua các đa giác nguồn và làm nổi bật các khu vực có mật độ dòng điện quá cao.

Điều chỉnh độ trễ

Với việc hoàn thành bố trí mạng lưới nguồn, chúng ta giờ đây có thể chuyển sang mục cuối cùng trong danh sách công việc của mình - điều chỉnh độ trễ.

Có nhiều giao diện trên mô-đun Pi.MX8 có yêu cầu thời gian chặt chẽ và đòi hỏi phải điều chỉnh độ trễ. Chúng ta sẽ xem xét các giao diện quan trọng nhất và xem làm thế nào chúng ta có thể sử dụng X-Signals để điều chỉnh độ trễ ngay cả qua nhiều thành phần.

Hãy bắt đầu với giao diện DRAM. Hướng dẫn thiết kế phần cứng i.MX8 cung cấp tất cả thông tin chúng ta cần cho việc điều chỉnh độ trễ. Trước khi chúng ta có thể tiến hành điều chỉnh bất kỳ đường dẫn nào, trước tiên chúng ta phải kiểm tra xem độ trễ của gói có được bao gồm trong biểu tượng thư viện sơ đồ hay không.

NXP cung cấp thời gian độ trễ của gói, đó là thời gian một tín hiệu mất để di chuyển từ bóng BGA của i.MX8 đến chip silicon. Các chiều dài khác nhau trên bộ chuyển đổi ảnh hưởng đến tổng thời gian độ trễ, vì vậy việc tính toán chúng là quan trọng.

Pin package delay in the schematic symbol

Độ trễ của chân gói trong biểu tượng sơ đồ

Chúng ta có thể sử dụng trình chỉnh sửa danh sách thư viện sơ đồ để dán tất cả các độ trễ của chân gói từ tài liệu hướng dẫn thiết kế phần cứng i.MX8 cùng một lúc bằng cách sử dụng hộp thoại dán lưới thông minh.

Pin delays in table format through the SCHLIB List toolbar

Độ trễ của chân trong định dạng bảng qua thanh công cụ SCHLIB List

Các yêu cầu điều chỉnh độ trễ cho giao diện LPDDR4 được trình bày trong hướng dẫn thiết kế phần cứng i.MX8. Hướng dẫn này phân loại các phụ thuộc độ trễ vào nhóm tín hiệu đồng hồ, điều khiển/lệnh và nhóm byte. Các khung thời gian cho mỗi nhóm được tham chiếu đến tín hiệu đồng hồ và tín hiệu strobe. Tất cả các tín hiệu vi sai phải được khớp với nhau 1ps giữa các tín hiệu bổ sung trong cặp.

LPDDR4-4000 PCB delay tuning requirements

Yêu cầu điều chỉnh độ trễ PCB LPDDR4-4000

Các tín hiệu trong nhóm địa chỉ/lệnh/điều khiển phải đáp ứng hai yêu cầu về thời gian. Một yêu cầu xác định độ trễ tối đa giữa mỗi tín hiệu trong nhóm, trong khi yêu cầu thứ hai xác định cửa sổ độ trễ tối đa của toàn bộ nhóm tham chiếu đến tín hiệu đồng hồ.

Đây là lý do tại sao chúng tôi sử dụng nhiều nhóm tín hiệu X để đảm bảo các tín hiệu chính xác được nhắm mục tiêu trong các quy tắc thiết kế.

X-signal classes for the LPDDR4 tuning

Các lớp tín hiệu X cho việc điều chỉnh LPDDR4

Khi sử dụng các quy tắc điều chỉnh độ trễ xen kẽ, tôi thích bổ sung theo dõi tổng giá trị độ trễ trong một bảng Excel cho mục đích tài liệu. Tuy nhiên, bước này là tùy chọn và phụ thuộc vào sở thích cá nhân vì tất cả các yêu cầu về thời gian có thể được xác định trong cài đặt quy tắc của Altium Designer.

Delay tuning documentation in Excel

Tài liệu điều chỉnh độ trễ trong Excel

Sau khi đã xác định các lớp tín hiệu X và các quy tắc thiết kế được đặt ra, chúng ta có thể bắt đầu điều chỉnh độ trễ trong bố cục. Ngoài việc điều chỉnh độ trễ giữa các cặp tín hiệu, hầu hết các điều chỉnh phải được thực hiện trên các dòng địa chỉ/lệnh/kiểm soát:

Delay tuning address/command/control lines

Điều chỉnh độ trễ dòng địa chỉ/lệnh/kiểm soát

Các dòng dữ liệu bản thân chúng cần rất ít hoặc không cần điều chỉnh gì cả. Xung quanh các cặp tín hiệu đồng hồ được định tuyến trên lớp trên cùng, chúng ta có nhiều không gian có thể sử dụng để điều chỉnh độ trễ:

Clock delay tuning top layer

Điều chỉnh độ trễ đồng hồ lớp trên cùng

Như với mạng lưới cung cấp điện, chúng ta cần thực hiện các mô phỏng xác minh cho giao diện DRAM. Chúng ta đặc biệt quan tâm nếu chúng ta có thể thấy hiệu ứng nhiễu chéo khi một phần của các đường dẫn được đặt khá gần nhau. Quy tắc chung là giữ khoảng cách 3x độ dày của điện môi so với các dấu vết lân cận. Tuy nhiên, chúng tôi sẽ không đi vào chi tiết về cài đặt và chi tiết mô phỏng trong bài viết này.

Sau khi điều chỉnh độ trễ giao diện DRAM hoàn tất, hãy xem xét một ứng dụng khác cho tín hiệu X. Bảng PiMX8 có hai giao diện có thể điều khiển một màn hình ngoại vi - LVDS và MIPI-DSI.

MIPI-DSI cũng sử dụng tín hiệu chênh lệch điện áp thấp (LVDS), vì vậy chúng ta có thể sử dụng một bộ chuyển mạch để lựa chọn giữa các giao diện này vì chúng chia sẻ cùng một thông số kỹ thuật phần cứng. Khi sử dụng bộ chuyển mạch để chuyển đổi giữa các giao diện, chúng ta cũng cần phải lưu ý rằng bất kỳ định tuyến nào được thực hiện sau bộ chuyển mạch (ở phía chung) sẽ ảnh hưởng đến độ trễ của cả giao diện MIPI-DSI và LVDS ở hạ lưu. Điều này có thể được tính toán bằng cách tạo một lớp X-signal riêng biệt cho giao diện MIPI-DSI và giao diện LVDS, cho phép nhiều tự do hơn trong việc điều chỉnh độ trễ trên PCB.

Trong ví dụ này, có thể đã tránh được nhu cầu cho cách tiếp cận này nếu tất cả các định tuyến ở phía chung đã được điều chỉnh để phù hợp với một khoảng thời gian trễ chặt chẽ, cả giữa các cặp và từ cặp này sang cặp khác. Bằng cách sử dụng hai lớp X-signal riêng biệt, chúng ta có sự kiểm soát tốt hơn đối với ngân sách thời gian của mỗi giao diện.

X-signals cho phép chúng ta bắc cầu qua bộ chuyển mạch và thực hiện điều chỉnh chiều dài trên mỗi giao diện trên toàn bộ chiều dài tín hiệu trước và sau bộ chuyển mạch.

Cùng một cách tiếp cận được sử dụng trên giao diện PCIe để bắc cầu qua các tụ điện ghép AC dạng chuỗi.

LVDS routed to the multiplexer

LVDS được định tuyến đến bộ chuyển mạch

MIPI-DSI routed to the multiplexer

MIPI-DSI được định tuyến đến bộ chuyển mạch

Tất cả các giao diện tốc độ cao trên bảng Pi.MX8 đều được điều chỉnh độ trễ sử dụng X-signals vì chúng cung cấp đường dẫn chính xác hơn về chiều dài tín hiệu toàn bộ. Chúng tôi sẽ không xem xét từng giao diện riêng lẻ vì việc thiết lập quy tắc điều chỉnh độ trễ và điều chỉnh định tuyến là một nhiệm vụ lặp đi lặp lại không khác biệt nhiều về cách tiếp cận chung giữa các giao diện.

Đây là bước cuối cùng trong việc hoàn thành việc định tuyến trên bảng Pi.MX8. Bước tiếp theo là thực hiện kiểm tra quy tắc thiết kế kỹ lưỡng và xuất bộ dữ liệu sản xuất.

Trong bản cập nhật tiếp theo, chúng tôi sẽ xem xét các bảng và bắt đầu lắp ráp một số nguyên mẫu. Đây sẽ là bước cuối cùng để khởi động mô-đun Pi.MX8 lần đầu tiên, vì vậy hãy chú ý theo dõi!

About Author

About Author

Lukas is a passionate hardware designer with more than 10 years of experience in the electronics industry. As a co-founder of his own engineering services company, he has had the privilege of working on many exciting projects, taking on challenges ranging from precision analogue design to high-speed PCB layout and power electronics.

As a strong supporter of the open-source philosophy, Lukas has made it his goal to give anyone interested an insight into the construction and functioning of modern electronic devices. Driven by that goal, he has founded the company Open Visions Technology (OV Tech GmbH), which aims to bring highly repairable, fully documented state-of-the-art consumer hardware to the market.

Lukas firmly believes that with today's online access to know-how and tools, anyone with an idea, drive, and passion can create extraordinary things. He is looking forward to being part of an enthusiastic community and is excited to see how people bring their ideas to life.

Related Resources

Tài liệu kỹ thuật liên quan

Back to Home
Thank you, you are now subscribed to updates.