Chính xác sản xuất PCB, PCB tần số cao, PCB cao tốc, PCB chuẩn, PCB đa lớp và PCB.
Nhà máy dịch vụ tùy chỉnh PCB & PCBA đáng tin cậy nhất.
Thông tin PCB

Thông tin PCB - Thiết kế mạch phần cứng cho máy kiểm tra bảng mạch PCB dựa trên FPGA

Thông tin PCB

Thông tin PCB - Thiết kế mạch phần cứng cho máy kiểm tra bảng mạch PCB dựa trên FPGA

Thiết kế mạch phần cứng cho máy kiểm tra bảng mạch PCB dựa trên FPGA

2022-07-19
View:542
Author:pcb

Để cải thiện tốc độ thử nghiệm của máy kiểm tra bảng mạch PCB, đơn giản hóa thiết kế của bảng mạch, cải thiện khả năng tái cấu trúc của hệ thống và sự tiện lợi của việc chuyển đổi thuật toán thử nghiệm, đề xuất một chương trình thiết kế hệ thống điều khiển phần cứng dựa trên FPGA cho máy kiểm tra bảng mạch PCB. Trong thiết kế, công ty Altera's Field Programmable Gate Array (FPGA) EP1K50 đã sử dụng các công cụ thiết kế EDA Synplify, Modelsim, Quartus II và Verilog để hoàn thành thiết kế phần cứng và gỡ lỗi hệ thống điều khiển, giải quyết các vấn đề khó thực hiện đối với các mạch truyền thống. Nguyên tắc kiểm tra cơ bản của máy kiểm tra ánh sáng bảng PCB là định luật Ohm. Phương pháp thử nghiệm là thêm một điện áp thử nghiệm nhất định giữa các điểm cần kiểm tra, sử dụng mạch giải mã để chọn hai điểm cần kiểm tra trên bảng PCB, để có được giá trị điện trở tương ứng giữa hai điểm. Tín hiệu điện áp kiểm tra điện trở hoặc độ dẫn giữa hai điểm thông qua mạch so sánh điện áp. Lặp lại các bước trên nhiều lần để kiểm tra toàn bộ bảng. Do số lượng điểm kiểm tra lớn, hơn 2048 điểm kiểm tra cho máy kiểm tra chung và mạch điều khiển kiểm tra cũng phức tạp hơn. Phương pháp tìm kiếm và phương pháp chuyển đổi điểm kiểm tra ảnh hưởng trực tiếp đến tốc độ kiểm tra của máy kiểm tra. Bài viết này xem xét thiết kế của hệ thống điều khiển phần cứng dựa trên FPGA.

Bảng mạch PCB

Hệ thống điều khiển phần cứng

Quá trình kiểm tra là dưới sự điều khiển của máy chủ, mạch kiểm tra điều khiển bật các công tắc kiểm tra khác nhau. Hệ thống máy kiểm tra bao gồm các bộ phận sau: PC104 trên máy, logic điều khiển kiểm tra (được thực hiện bởi FPGA) và mạch kiểm tra điện áp cao. Trong đó, máy chủ chủ yếu hoàn thành các chức năng như tương tác giữa người và máy, thuật toán kiểm tra, xử lý dữ liệu kiểm tra, kiểm soát đầu ra. FPGA kiểm soát mạch kiểm tra điện áp cao để hoàn thành quá trình kiểm tra của bảng mạch PCB. Hệ thống này sử dụng PC104 làm máy chủ phía trên và FPGA là máy chủ phía trên để kiểm soát các bài kiểm tra thông qua xe buýt PC104.

Mạch giao diện FPGA với PC104

Bus PC104 là một bus điều khiển công nghiệp được xác định đặc biệt cho điều khiển nhúng và định nghĩa tín hiệu của nó về cơ bản giống như bus ISA. Bus PC104 có 4 chu kỳ xe buýt, đó là chu kỳ xe buýt 8 bit, chu kỳ xe buýt 16 bit, chu kỳ xe buýt DMA và chu kỳ xe buýt làm mới. Chu kỳ bus I/O 16 bit là 3 chu kỳ clock và bus I/O 8 bit là 6 chu kỳ clock. Để tăng tốc độ truyền thông, bus ISA sử dụng chế độ truyền thông 16 bit, tức là chế độ I/O 16 bit. Để tận dụng tối đa các nguồn lực của PC104, FPGA được cấu hình trực tuyến sau khi mở rộng bus hệ thống của PC104. Khi hoạt động bình thường, nó giao tiếp với FPGA thông qua bus PC104.


Giao diện FPGA với Serial A/D và D/A

Theo yêu cầu thiết kế hệ thống của máy thử, cần phải tự kiểm tra điện áp thử nghiệm và điện áp tham chiếu kênh kép, tức là có ít nhất ba kênh chuyển đổi A/D. Điện áp tham chiếu của hai mạch so sánh được xuất ra bởi D/A, vì vậy các kênh D/A của hệ thống cần hai kênh. Để giảm số lượng đường tín hiệu điều khiển cho A/D và D/A, hãy chọn Serial A/D và D/A. Hiệu suất toàn diện, giá cả và các yếu tố khác, thiết bị A/D được chọn là TLC2543 và thiết bị D/A là TLV5618. TLV5618 là một DAC đầu ra điện áp 12 bit kép với đầu vào tham chiếu đệm (trở kháng cao) từ TI được điều khiển kỹ thuật số thông qua bus nối tiếp 3 dây tương thích CMOS. Thiết bị nhận một từ lệnh 16 bit và tạo ra hai đầu ra tương tự D/A. TLV5618 chỉ có một chu kỳ I/O, được xác định bởi đồng hồ bên ngoài SCL K, kéo dài 16 chu kỳ đồng hồ, ghi từ lệnh vào thanh ghi trên chip và thực hiện chuyển đổi D/A khi hoàn thành. Từ lệnh đọc TLV5618 có hiệu lực từ khi CS giảm xuống và dữ liệu được đọc từ khi SCLK tiếp theo giảm xuống. Sau khi đọc dữ liệu 16 bit, nó đi vào chu kỳ chuyển đổi cho đến khi sự suy giảm tiếp theo của CS xuất hiện dọc theo. TLC2543 là bộ chuyển đổi A/D 12 bit với điều khiển nối tiếp và 11 đầu vào TI. Bộ chuyển đổi trên chip có tốc độ cao, độ chính xác cao và tiếng ồn thấp. Quá trình làm việc của TLC2543 được chia thành hai chu kỳ: chu kỳ I/O và chu kỳ chuyển đổi. Chu kỳ I/O được xác định bởi SCLK đồng hồ bên ngoài, kéo dài 8, 12 hoặc 16 chu kỳ đồng hồ và thực hiện hai hành động cùng một lúc: nhập 8 bit dữ liệu vào thanh ghi trên chip ở chế độ MSB dọc theo sự gia tăng của SCLK; Kết quả chuyển đổi SCLK 8, 12 và 16 bit được xuất theo chế độ MSB. Chu kỳ chuyển đổi bắt đầu dọc theo sự suy giảm của SCLK trong chu kỳ I/O cho đến khi tín hiệu EOC trở nên cao hơn, cho biết quá trình chuyển đổi đã hoàn tất. Để phù hợp với chu kỳ I/O của TLV5618, phương pháp MSB đã được sử dụng và thời gian truyền xung nhịp 16 của CS đã được sử dụng.


Vì cả hai thiết bị đều là giao diện SPI, chúng có thể được kết nối với cùng một bus SPI và chạy trên các thiết bị khác nhau thông qua các tín hiệu chọn chip khác nhau. Bởi vì giao thức giao diện SPI rất phức tạp, bạn có thể thấy từ hình 3, thứ tự thời gian của hai thiết bị này không sử dụng tất cả các giao diện SPI. Để đạt được thứ tự thời gian phù hợp với logic trên và giảm lãng phí tài nguyên FPGA kiểm tra IP giao diện SPI tiêu chuẩn, thiết kế này sử dụng phương pháp thiết kế của ngôn ngữ mô tả phần cứng Verilog để thực hiện Máy trạng thái đồng bộ (FSM) và viết ADC và DAC để kiểm soát thời gian. Chương trình thực sự là một máy trạng thái lồng nhau, trong đó máy trạng thái chính và bus được khởi động bởi máy trạng thái nô lệ thông qua đường điều khiển, tạo thành một máy trạng thái hữu hạn với các chức năng khác nhau trong các điều kiện tín hiệu đầu vào khác nhau. Như bạn có thể biết từ Hình 3, hoạt động D/A có 4 trạng thái, trong khi hoạt động A/D có 7 trạng thái. Một số trạng thái của cả hai trạng thái là như nhau, vì vậy bạn có thể sử dụng một máy trạng thái hữu hạn để thực hiện các thao tác nối tiếp A/D và D/A. Chương trình thực sự là một máy trạng thái lồng nhau. Các máy trạng thái chính và nô lệ tạo thành các máy trạng thái hữu hạn phức tạp hơn với các chức năng khác nhau dưới các tín hiệu đầu vào khác nhau bằng cách điều khiển các bus được khởi động bởi bus. Đồng hồ ổ đĩa (SCLK) và bus dữ liệu (SI, SO) được chia sẻ bởi các hoạt động A/D và D/A. Vì chu kỳ ghi của một hoạt động có 16 chu kỳ đồng hồ, trong khi chu kỳ đọc có 12 chu kỳ đồng hồ. Do đó, mô-đun được thực hiện trong ba máy trạng thái hữu hạn lồng nhau. Trong thiết kế hệ thống, các hoạt động AD và DA được đóng gói vào một mô-đun duy nhất và mô-đun điều khiển cấp trên xuất ra từ lệnh và tín hiệu điều khiển để bắt đầu hoạt động tương ứng của mô-đun đó. Sau khi thao tác hoàn tất (vào trạng thái nhàn rỗi), mô-đun này sẽ gửi tín hiệu trạng thái tương ứng đến mô-đun trên.


Khung lập trình FPGA

Chương trình FPG trên một con chip là chìa khóa để toàn bộ hệ thống thử nghiệm hoạt động chính xác. Theo nguyên tắc thiết kế FPGA từ trên xuống, hệ thống được chia thành 5 mô-đun độc lập, đó là Mô-đun truyền thông (ISA), Mô-đun thử nghiệm (test), Mô-đun AD/DA, Mô-đun giải mã (DECODER) và Mô-đun điều khiển RAM (RAMCTL). Mô-đun ISA: Mô-đun truyền thông và điều khiển hệ thống, hoàn thành giao tiếp với máy chủ, giải thích từ lệnh, tạo tín hiệu điều khiển, v.v. Hệ thống bắt đầu mô-đun ADDA, theo các thông số như điện trở dẫn, điện áp cách điện được truyền bởi máy chủ, hoàn thành đầu ra của điện áp tham chiếu; Bắt đầu mô-đun kiểm tra để hoàn thành quá trình kiểm tra theo lệnh kiểm tra. Dữ liệu được truyền giữa nhiều máy trạng thái đồng bộ đang chạy đồng bộ, khiến việc kiểm soát giao tiếp dữ liệu và đồng bộ hóa dữ liệu giữa nhiều quá trình trở nên khó khăn hơn. Mô-đun điều khiển RAM: trước khi bắt đầu thử nghiệm, máy chủ truyền thông tin từ điểm kiểm tra qua bus đến mô-đun ISA, lưu trữ nó trong RAM trên chip; Sau khi thử nghiệm hoàn tất, kết quả thử nghiệm trong RAM được chuyển đến máy tính chính. Trong quá trình kiểm tra, mô-đun kiểm tra bật công tắc kiểm tra tương ứng bằng cách đọc thông tin từ các điểm kiểm tra trong RAM và sau đó lưu kết quả kiểm tra trong RAM. Bằng cách này, cả hai mô-đun cần đọc và ghi RAM để thực hiện chia sẻ dữ liệu giữa hai mô-đun, yêu cầu một tín hiệu điều khiển kết nối hai bộ đường tín hiệu đọc và ghi riêng biệt với mô-đun RAM, mô-đun điều khiển RAM thực hiện chức năng này. Mô-đun kiểm tra (Test): Mặc dù có nhiều chương trình kiểm tra khác nhau, chẳng hạn như tự kiểm tra cấp độ bật, kiểm tra tính liên tục, kiểm tra cách nhiệt, v.v., chương trình kiểm tra là giống nhau, tức là quét kiểm tra. Quá trình làm việc của thử nghiệm là: Thêm điện áp tham chiếu của mạch so sánh - bật công tắc tại điểm cần kiểm tra - độ trễ - đọc kết quả so sánh - kiểm tra một bộ điểm kiểm tra khác. Mô-đun này đi vào các quy trình kiểm tra khác nhau dựa trên các mã hoạt động khác nhau. Kết quả kiểm tra và số điểm kiểm tra cùng nhau tạo thành dữ liệu 13 bit và được lưu trong RAM và ghi đè thông tin đánh số của điểm kiểm tra ban đầu.


Mô-đun giải mã (DECODER): Mô-đun này được treo sau mô-đun thử nghiệm (test) để hoàn thành việc lập bản đồ số chuyển đổi sang mạch thực tế. Do các hình thức khác nhau của mảng chân thử nghiệm và thiết kế phần cứng khác nhau của mạch giải mã và mạch điều khiển, thông tin chuyển đổi thử nghiệm được xuất ra bởi mô-đun mẹ không thể được sử dụng trực tiếp làm đầu ra của mạch chuyển đổi thử nghiệm điều khiển. Mô-đun giải mã hoàn thành quá trình chuyển đổi giữa hai. Mô-đun AD/DA (AD/DA): Thiết kế giao diện bus SPI để vận hành các thiết bị A/D và D/A, mô-đun để cho phép tín hiệu (dễ thương, gây chết người) bắt đầu và tín hiệu bận rộn được sử dụng làm tín hiệu cờ hoàn thành chuyển đổi. Hoạt động D/A được đóng gói liên quan đến các mô-đun khác. Mỗi mô-đun của hệ thống được viết bằng ngôn ngữ mô tả phần cứng Verilog và sử dụng các máy trạng thái đồng bộ (FSM) lồng nhau nhiều lớp để thực hiện các chức năng logic của toàn bộ hệ thống; Mỗi mô-đun hoàn thành mô phỏng chức năng của mô-đun bằng cách sử dụng công cụ mô phỏng Modelsim, kiểm tra chức năng hoàn thành hệ thống bằng cách sử dụng công cụ định tuyến tích hợp của Altera, QuartusII, để hoàn thành mô phỏng và tổng hợp hệ thống, cáp và sử dụng tối đa lõi IP được cung cấp bởi Altera để tối ưu hóa mô-đun chương trình; Thiết kế tầng trên cùng sử dụng phương pháp nhập biểu đồ hộp, và luồng dữ liệu giữa các mô-đun được thể hiện trực quan hơn bằng biểu đồ hộp. Hệ thống điều khiển phần cứng của máy kiểm tra bảng PCB dựa trên FPGA cải thiện tốc độ kiểm tra của máy kiểm tra bảng PCB và đơn giản hóa thiết kế mạch. Ngoài ra, một nền tảng tốt để nâng cấp tối ưu hóa hơn nữa các thuật toán phần mềm hệ thống và cấu trúc phần cứng đã được đặt ra do các đặc tính cấu trúc lại của FPGA, với triển vọng ứng dụng tốt trên bảng mạch PCB.