Cách các Đội Ngũ Thiết Kế Nhúng Có Thể Đơn Giản Hóa I/O và Định Tuyến

Zachariah Peterson
|  Created: Tháng Một 4, 2023  |  Updated: Tháng Bảy 1, 2024
Cách các Đội Ngũ Thiết Kế Nhúng Có Thể Đơn Giản Hóa I/O và Định Tuyến

Các sản phẩm điện tử thực tế đã dần trở nên thông minh hơn, cả từ việc triển khai ứng dụng nhúng và kết nối trở lại với nền tảng đám mây hoặc ứng dụng. Các đội ngũ phát triển nhúng phải làm việc cùng nhau để tạo ra những thế hệ sản phẩm mới. Một lĩnh vực mà kỹ sư thiết kế PCB, nhà phát triển nhúng, và thậm chí là kỹ sư MCAD có thể bị trì hoãn trong việc hoàn thành dự án là trong việc lựa chọn I/O. Điều này xảy ra bất cứ khi nào bạn có các kết nối, thiết bị ngoại vi, và một bộ xử lý chủ.

Vì vậy, để giữ mọi thứ đơn giản cho cả hai bên, tôi muốn chia sẻ một số kinh nghiệm của mình khi làm việc với các nhà phát triển nhúng để tối ưu hóa việc lựa chọn I/O và quy trình tổng thể để hoàn thành bố cục PCB. Với một chút hợp tác ở phía trước, bạn có thể làm cho việc định tuyến PCB và phát triển nhúng dễ dàng hơn ở phía sau.

Ai Làm Gì trong Phát Triển Nhúng?

Tôi cho rằng mỗi thành viên trong đội ngũ phát triển nên hiểu những gì các thành viên khác cần để thành công. Điều này cũng liên quan đến việc sử dụng hiệu quả nguồn lực, tránh những bế tắc kỹ thuật mất hàng ngày để giải quyết, và ra thị trường nhanh chóng.

 

Họ làm gì

Họ cần gì

Nhà thiết kế PCB

  • Xác định vị trí vật lý
  • Định tuyến
  • Xác định chân kết nối và dây dẫn
  • DFM, DFA, DFT, v.v.
  • Ràng buộc từ nhà thiết kế MCAD
  • Danh sách thiết bị ngoại vi từ 
  • Danh sách chân I/O mong muốn từ nhà phát triển nhúng*

Nhà thiết kế MCAD

  • Tạo vỏ/bảo vệ thiết bị
  • Xác định ràng buộc (khu vực cấm, vị trí, v.v.)
  • Mô hình 3D của kết nối
  • Mô hình 3D cơ khí
  • Ràng buộc SI/EMI từ nhà thiết kế PCB

Nhà phát triển nhúng

  • Phát triển firmware nhúng
  • Xác định đầu ra cho ứng dụng web/đám mây (nếu được sử dụng)
  • Sử dụng I/O theo yêu cầu của nhà thiết kế PCB
  • Chức năng I/O từ nhà thiết kế PCB
  • Danh sách chân I/O mong muốn từ nhà thiết kế PCB*

Tôi đã đánh dấu asterisk (*) vào các mục danh sách chân vì quy trình chính xác để gán I/O phụ thuộc vào linh kiện cụ thể được sử dụng để chạy ứng dụng nhúng. Liệu đó có phải là MCU đơn giản, nơi các I/O có sẵn được cố định tại các vị trí cụ thể, hay là FPGA có thể có bố trí chân tùy chỉnh trong một số ngân hàng? Khía cạnh khác là kết nối: bố trí chân có được chuẩn hóa, bố trí chân được thiết lập bởi một bảng khác trong bộ lắp ráp, hay nó có thể được tùy chỉnh?

Đây là nơi chúng ta có thể bắt đầu thấy thách thức liên quan đến việc một nhà thiết kế PCB và nhà phát triển nhúng làm việc cùng nhau trong việc lựa chọn I/O. Làm thế nào để hai bên có thể đến với nhau và định rõ bố trí chân, lựa chọn I/O và cuối cùng là bố cục PCB?

Nhà Phát Triển Nhúng Định Rõ Yêu Cầu PCB

Theo ý kiến của tôi, điều này hoạt động tốt nhất khi bố trí chân trên bộ xử lý chính là linh hoạt, tức là, ứng dụng sẽ được thực thi trong một FPGA. Trong trường hợp này, các I/O có thể được thiết lập bởi nhà phát triển trong logic thiết bị, và kết quả là nhà thiết kế PCB sẽ phải làm việc với các phân công chân họ được giao.

Vấn đề là như thế này: nếu việc gán chân được thực hiện trên từng chân cụ thể, bạn có thể không đạt được đường dẫn tối ưu, dẫn đến một mớ kết nối chéo lẫn nhau để kết nối với các thành phần. Thay vào đó, nếu nhà phát triển nhúng chỉ đưa ra gán nhóm cho nhà thiết kế PCB, thì nhà thiết kế PCB có thể chọn chân trong một nhóm để tạo ra các kết nối tối ưu.

PCB FPGA
Ảnh chụp màn hình hiển thị phân công các ngân hàng trong một FPGA. Các ngân hàng nhất định sẽ hỗ trợ các giao diện khác nhau, và nhà thiết kế PCB có thể chọn một số chân trong những ngân hàng này để hoán đổi chân.

Bằng cách gán nhóm trên một FPGA thay vì một bố trí chân cụ thể, nhà thiết kế có thể sử dụng một công cụ như đổi chân để di chuyển các gán ngoại vi trong một nhóm chân. Nếu việc đổi chân là mong muốn, thì một biểu tượng sơ đồ tùy chỉnh có thể được yêu cầu để phân chia chính xác các chân vào các nhóm tương ứng của chúng. Sử dụng một biểu tượng tùy chỉnh cho phép nhóm các chân một cách nhanh chóng cho các hoạt động đổi chân trong khi đang định tuyến PCB.

Nhà Thiết Kế PCB Định Nghĩa Yêu Cầu Nhúng

Theo ý kiến của tôi, điều này hoạt động tốt nhất khi bố trí chân của bộ xử lý chính được cố định, tức là, một MCU và các phụ kiện của nó. Trong một MCU, vị trí I/O cơ bản là cố định. Bạn có thể có một số linh hoạt về cách mỗi I/O được sử dụng, ví dụ khi sử dụng một nhóm GPIOs. Tuy nhiên, việc gán chân hoặc chức năng cho các giao diện tiêu chuẩn có thể được cố định (ví dụ, chân SPI, chân ADC, chân PWM, I2C, v.v.).

Trong trường hợp này, tôi nghĩ tốt nhất là nhà thiết kế PCB chọn các chân họ sẽ sử dụng để phù hợp với các thành phần khác nhau. Nhà thiết kế PCB phải chọn trong một bố trí chân cố định, vì vậy họ sẽ phải tìm cách đặt các thành phần sao cho bố cục PCB có thể giải quyết được. Một khi đã đặt và định tuyến, việc thông báo cho nhà phát triển nhúng biết chân nào được sử dụng cho chức năng nào là nhiệm vụ của nhà thiết kế PCB.

STM32 LQFP pinout
Danh sách phân công chân STM32 LQFP48. Chúng ta có thể thấy cách các chức năng chân khác nhau trên GPIOs được gán cho các vị trí cụ thể. Điều này có thể hạn chế những gì được thực hiện trong bố cục PCB, vì vậy nhà thiết kế PCB nên có tự do chọn các chân họ muốn sử dụng, và nhà phát triển nhúng sẽ cần phải tuân theo điều này khi viết firmware.

Nếu Bố Trí Chân Cắm Được Chuẩn Hóa Thì Sao?

Khi bố trí chân trên bộ kết nối của bạn được chuẩn hóa, thì đó là một chút bất ngờ. Tôi nói điều này vì “chuẩn hóa” có thể có nghĩa là hai điều khác nhau:

  • Bố trí chân có thể là một phần của giao diện tiêu chuẩn (Ethernet, USB, v.v.)
  • Bố trí chân có thể được thiết lập bởi một bảng mạch khác trong bộ lắp ráp hoặc hệ thống

Nếu không phải trường hợp nào trên, thì bố trí chân của bạn có thể tùy chỉnh. Trong các dự án mà tôi đã tham gia với các bảng mạch khác trong một bộ lắp ráp lớn hơn, chúng tôi thường có tự do thiết lập bố trí chân, thường là vì chúng tôi đang xây dựng cả hai bảng mạch. Dù trong trường hợp nào, cả hai bên cũng phải làm việc cùng nhau để tìm ra bố trí chân “tốt nhất” một cách khách quan cho bộ kết nối và cách điều này phù hợp với bộ xử lý.

Những nhóm cần hợp tác trên các sản phẩm phức tạp có thể truy cập một bộ đầy đủ các tính năng thiết kế hợp tác khi sử dụng Altium Designer®. Tất cả các bên liên quan trong thiết kế sản phẩm có thể truy cập một bộ công cụ đầy đủ cho thiết kế PCB có thể hỗ trợ các nhiệm vụ phát triển nhúng, cũng như các tính năng thiết kế cáp và dây dẫn. Khi bạn đã hoàn thành thiết kế và muốn phát hành các tệp cho nhà sản xuất của mình, nền tảng Altium 365™ làm cho việc hợp tác và chia sẻ dự án của bạn trở nên dễ dàng.

Chúng ta mới chỉ khám phá bề mặt của những gì có thể thực hiện với Altium Designer trên Altium 365. Bắt đầu dùng thử miễn phí Altium Designer + Altium 365 ngày hôm nay.

About Author

About Author

Zachariah Peterson has an extensive technical background in academia and industry. He currently provides research, design, and marketing services to companies in the electronics industry. Prior to working in the PCB industry, he taught at Portland State University and conducted research on random laser theory, materials, and stability. His background in scientific research spans topics in nanoparticle lasers, electronic and optoelectronic semiconductor devices, environmental sensors, and stochastics. His work has been published in over a dozen peer-reviewed journals and conference proceedings, and he has written 2500+ technical articles on PCB design for a number of companies. He is a member of IEEE Photonics Society, IEEE Electronics Packaging Society, American Physical Society, and the Printed Circuit Engineering Association (PCEA). He previously served as a voting member on the INCITS Quantum Computing Technical Advisory Committee working on technical standards for quantum electronics, and he currently serves on the IEEE P3186 Working Group focused on Port Interface Representing Photonic Signals Using SPICE-class Circuit Simulators.

Related Resources

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

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