Giải pháp thiết kế máy tính nhúng nhiều ngoại vi dựa trên nền tảng ZYNQ
lượt xem 6
download
Bài viết Giải pháp thiết kế máy tính nhúng nhiều ngoại vi dựa trên nền tảng ZYNQ trình bày một giải pháp thiết kế máy tính nhúng trên nền tảng phần cứng ZYNQ của hãng Xilinx, trong đó, sử dụng kiến trúc logic khả trình PL (Programmable Logic) kết hợp lõi vi xử lý ARM để tăng số lượng các giao tiếp ngoại vi như UART, SPI, I2C, ETHERNET, GPIO,...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Giải pháp thiết kế máy tính nhúng nhiều ngoại vi dựa trên nền tảng ZYNQ
- Thông tin khoa học công nghệ Giải pháp thiết kế máy tính nhúng nhiều ngoại vi dựa trên nền tảng ZYNQ Nguyễn Văn Hiếu*, Phạm Minh Thắng Viện Điện tử, Viện Khoa học và Công nghệ quân sự. * Email: nguyenhieu.vdt@gmail.com Nhận bài: 31/10/2022; Hoàn thiện: 15/12/2022; Chấp nhận đăng: 20/12/2022; Xuất bản: 25/6/2023. DOI: https://doi.org/10.54939/1859-1043.j.mst.88.2023.169-172 TÓM TẮT Bài báo trình bày một giải pháp thiết kế máy tính nhúng trên nền tảng phần cứng ZYNQ của hãng Xilinx, trong đó, sử dụng kiến trúc logic khả trình PL (Programmable Logic) kết hợp lõi vi xử lý ARM để tăng số lượng các giao tiếp ngoại vi như UART, SPI, I2C, ETHERNET, GPIO,... Máy tính nhúng được thiết kế có thể hoạt động hiệu quả trong các ứng dụng cần nhiều giao tiếp ngoại vi, hệ thống xử lý tín hiệu số cũng như đảm bảo khả năng phẩn cứng linh hoạt và mềm dẻo trong quá trình thiết kế ứng dụng. Từ khoá: Máy tính nhúng; FPGA; ZynQ; Cortex-A9; UART; SPI; I2C. 1. MỞ ĐẦU Cùng với với sự phát triển của khoa học công nghệ, máy tính nhúng ngày càng trở nên quan trọng và được ứng dụng rộng rãi trong nhiều lĩnh vực. Các máy tính nhúng hiện nay được phát triển chủ yếu trên nền tảng vi xử lý của các hãng như Intel, AMD, ARM,… nhược điểm của các máy tính nhúng này là các giao tiếp ngoại vi cố định và có số lượng hữu hạn. Do đó, đối với các ứng dụng đòi hỏi số lượng ngoại vi lớn, cũng như các loại ngoại vi đa dạng các máy tính nhúng truyền thống gặp nhiều khó khăn. Giải pháp đặt ra là thiết kế một máy tính nhúng mà có khả năng mở rộng các ngoại vi mềm dẻo, linh hoạt và thường sử dụng một core FPGA kết hợp một hệ vi xử lý để lập trình các ngoại vi trên nền tảng FPGA, giải quyết các khối lượng tính toán phức tạp, thời gian thực mà máy tính nhúng khó xử lý. Để đáp ứng nhu cầu này, trong những năm gần đây nhiều hãng sản xuất IC như Xilinx, Altera hay MCHP đã đưa ra các dòng sản phẩm tích hợp lõi vi xử lý và FPGA trong một chip duy nhất. Trong số đó, dòng ZynQ-7000 [1] của hãng Xilinx là sản phẩm tiên phong. Bài báo trình bày một giải pháp thiết kế máy tính nhúng dựa trên chip ZYNQ, trong đó, tập trung vào giải pháp thiết kế phần cứng, xây dựng các core phần mềm, mở rộng các kết nối thông thường, tạo ra nhiều giao tiếp UART, SPI, I2C, GPIO,… từ core trên FPGA. 2. GIẢI PHÁP THIẾT KẾ MÁY TÍNH NHÚNG DỰA TRÊN DÒNG CHIP ZYNQ 7000 Các IC thuộc dòng ZynQ-7000 [1, 4] đều được tích hợp một hệ vi xử lý PS (Processing System) trên cơ sở bộ vi xử lý ARM Cortex-A9 và một kiến trúc logic khả trình PL (Programmable logic) sử dụng công nghệ 28nm của Xilinx [2, 3]. Trong đó, vi xử lý ARM Cortex-A9, là một bộ xử lý “cứng”, được trang bị nhiều tài nguyên tính toán bổ trợ khác tạo thành đơn vị xử lý ứng dụng APU (Application Processing Unit) và nhiều giao diện ngoại vi, bộ nhớ cache, giao diện ghép nối bộ nhớ, mạng truyền thông, và mạch tạo tín hiệu đồng bộ clock. Tài nguyên logic khả trình PL bao gồm các kết cấu logic có khả năng tái cấu hình (Logic Fabrics) và một số tài nguyên phần cứng chuyên dụng tương thích với chuẩn FPGA Artix-7 và Kintex-7 của Xilinx [2, 3]. Các kết cấu logic khả tái cấu hình gồm: Khối logic khả trình CLB; Slice; LUT; Flip-Flop; Ma trận chuyển mạch; Các khối IOB; Block RAMs; DSP48E1 cung cấp các phép tính số học tốc độ cao hướng tới xử lý DSP. Giao diện ghép nối giữa PS và PL [1, 2] cho phép người sử dụng có thể xây dựng các hệ thống phức hợp bằng cách ghép nối hệ thống vi xử lý PS với các lõi IP phần cứng chuyên dụng được thực thi trên PL. Thành phần then chốt tạo nên giao diện ghép nối giữa PS và PL là chuẩn Tạp chí Nghiên cứu KH&CN quân sự, 88 (2023), 169-172 169
- Thông tin khoa học công nghệ AXI. Phiên bản cao nhất của AXI là AXI4 là một phần của chuẩn AMBA 3.0 do hãng ARM đề xuất. ZynQ sử dụng 9 giao diện ghép nối AXI cho mục đích kết nối PS với PL. Dựa trên cấu trúc của các IC thuộc dòng ZYNQ 7000, một máy tính nhúng được xây dựng có cấu trúc và các khối chức năng như hình 1. Khối vi xử lý và khối FPGA được tích hợp trong IC ZYNQ 7010, bộ vi xử lý Cortex A9 của hãng ARM và một kiến trúc FPGA [5]. Các ngoại vi như khối RAM, bộ nhớ, cổng HDMI, cổng USB, giao tiếp thẻ nhớ Sdcard, Cổng GPIO, cổng UART, cổng SPI, cổng I2C,... Khối FPGA Cổng COM RAM Cổng USB Khối vi xử lý Bộ nhớ Các giao diện ETHERNET mở rộng Khối nguồn Hình 1. Sơ đồ khối máy tính nhúng kết hợp FPGA. 3. KẾT QUẢ CHẾ TẠO PHẦN CỨNG MÁY TÍNH NHÚNG VÀ THỬ NGHIỆM 3.1. Thi công phần cứng máy tính nhúng Trên cơ sở sơ đồ khối máy tính nhúng đã được xây dựng, việc thiết kế sơ đồ nguyên lý được tiến hành. Trong đó, các khối được kết hợp sử dụng chíp Zynq 7010 với IC chức năng như khối nguồn được xây dựng dựa trên IC NCP159BMNTW, RAM là loại DDR3 với dung lượng 1GB, Bus 32 bit, tốc độ 1066 Mbps, Khối giao tiếp HDMI sử dụng IC PIULS5C202, khối giao tiếp bộ nhớ SD card sử dụng IC SDINBDG4-16G, khối giao tiếp UART sử dụng IC PI4ULS5V202, khối giao tiếp SPI sử dụng IC S25FL512SAGBH1A13,... Các thông số kỹ thuật của máy tính nhúng P3-VDT 01 được mô tả trong bảng 1 và sản phẩm máy tính nhúng hình 2. Nguồn vào Cổng Ethernet Cổng HDMI Cổng USB Bộ nhớ MMC Cổng GPIO SD card RAM ZYNQ 7010 Cổng SPI Cổng I2C Cổng UART Hình 2. Sản phẩm máy tính nhúng P3-VDT 01 sau khi hàn linh kiện và nạp phần mềm. 170 N. V. Hiếu, P. M. Thắng, “Giải pháp thiết kế máy tính nhúng … dựa trên nền tảng ZYNQ.”
- Thông tin khoa học công nghệ Bảng 1. Thông số kỹ thuật của máy tính nhúng P3-VDT 01. Chip Ram HDMI GPIO UART Ethernet SPI I2C USB ZYNQ 7010 1 Gb DDR3 1 cổng 64 cổng 6 cổng 1 cổng 4 cổng 4 cổng 1 cổng 3.2. Nạp hệ điều hành và thử nghiệm các loại giao tiếp Trên cơ sở các phần cứng đã được thiết kế, việc triển khai các giao tiếp ngoại vi được thực hiện bằng các ngôn ngữ mô tả phần cứng như VHDL hoặc Verilog trên bộ công cụ Vivado của hãng Xilinx. Trong đó, việc liên kết giữa cái lõi IP ngoại vi trên PL và vi xử lý PS được thực hiện thông qua giao thức AXI, đây là bus kết nối ngoại vi trong các vi xử lý của ARM được Xilinx tích hợp vào bộ công cụ Vivado. Sau khi ngoại vi được thiết kế trên các ngôn ngữ mô tả phần cứng, việc triển khai nạp phần mềm, thử nghiệm được thực hiện như hình 3. Tạo và cấu hình Vivado Project Tạo Bitstream & Devicetree, Build U-boot image FSBL từ Vivado và SDK Tạo file Build Linux Kernel, Root file BOOT.BIN system... Copy file BOOT.BIN, Devicetree.dtb, Kernel Linux, Root file system vào SD card Cắm SD card chứa ảnh BOOT vào máy tính nhúng và bật nguồn Hình 3. Trình tự nạp hệ điều hành và driver các loại giao tiếp. Xây dựng và tạo cấu hình HDMI, SD card, UART, SPI, I2C,... trên Vivado Project, tạo Bitstream, Devicetree và SDK, tạo file Boot.bin, file mồi U_boot, Build hệ điều hành Linux, các file hệ thống và copy những file cần thiết vào thẻ nhớ SD card, khởi chạy phần mềm trên máy tính nhúng. Các loại driver giao tiếp trên được nhúng vào hệ điều hành PetaLinux, phần lớn những driver này được hỗ trợ bởi hệ điều hành trong phần không gian người dùng. Các cổng giao tiếp của máy tính nhúng P3-VDT 01 đã được thử nghiệm đạt các cấu trúc, thông số kỹ thuật mà các chuẩn giao tiếp quy định. Nhà thiết kế có thể sử dụng một chương trình trên Linux được viết trên ngôn ngữ C++ và biên dịch bằng GCC theo bộ công cụ đi kèm của Xilinx để viết và dịch các chương trình theo mục đích yêu cầu. 4. KẾT LUẬN Bài báo đã trình bày một giải pháp pháp thiết kế máy tính nhúng trên nền tảng phần cứng Zynq 7010 của hãng Xilinx. Kết quả đã chế tạo được một máy tính nhúng với nhiều giao tiếp ngoại vi khác nhau như HDMI, SD CARD, ETHERNET, USB và các giao tiếp được lập trình từ core FPGA như UART, COM, SPI, I2C,... Tùy theo mục đích bài toán các giao tiếp từ core FPGA có thể được lập trình, cấu trúc lại thành các giao tiếp khác theo yêu cầu. Các ngoại vi đã được thử nghiệm đạt theo các chuẩn giao tiếp quy định. Kết quả của bài báo là tiền đề quan trọng trong định hướng nghiên cứu phát triển các hệ điều hành, máy tính nhúng ứng dụng trong các lĩnh vực dân sự cũng như quân sự. Tạp chí Nghiên cứu KH&CN quân sự, 88 (2023), 169-172 171
- Thông tin khoa học công nghệ TÀI LIỆU THAM KHẢO [1]. Louise H.Crockett, Ross A.Elliot, Martin A.Enderwitz, “The Zynq Book”, University of Strathclyde Glasgow, Scotland, (2014) . [2]. Zybo, Zedboard, “The Zynq Book Tutorials”, University of Strathclyde Glasgow, Scotland, (2015). [3]. Xilinx, Inc, “Zynq-7000 All Programmable SoC Technical Reference Manual”, UG585, v1.7, (2014). [4]. Kang, Jian, Xiaojun Hei and Jianjian Song. “A Comparative Study of Zynq-Based OpenFlow Switches in a Software/Hardware Co-design.” SpaCCS Workshops, (2017). [5]. Gafsi, Mohamed, Nessrine Abbassi, Mohamed Ali Hajjaji, Jihen Malek and Abdellatif Mtibaa. “Xilinx Zynq FPGA for Hardware Implementation of a Chaos-Based Cryptosystem for Real-Time Image Protection.”, J. Circuits Syst. Comput. (2021). ABSTRACT Solutions for designing computers employed multiple performances based on ZYNQ foundation The article presents an embedded computer design solution on Xilinx's ZYNQ hardware platform, which uses PL (Programmable Logic) architecture combined with ARM processor cores to increase the number of interfaces. Peripherals such as UART, SPI, I2C, ETHERNET, GPIO, etc. Embedded computers are designed to work effectively in applications that require a lot of peripheral communication and digital signal processing systems, as well as ensuring hardware flexibility and flexibility in the application design process. Keywords: Embedded computers; FPGA; ZynQ; Cortex-A9; UART; SPI; I2C. 172 N. V. Hiếu, P. M. Thắng, “Giải pháp thiết kế máy tính nhúng … dựa trên nền tảng ZYNQ.”
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Các vấn đề về thiết kế một mạng máy tính
5 p | 312 | 143
-
THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM - Chương 2 Thiết kế phần mềm
57 p | 424 | 80
-
Giáo trình Phân tích thiết kế hệ thống thông tin quản lý
123 p | 272 | 77
-
WinHeal Utilities – Dọn dẹp hậu quả của virus máy tính
3 p | 307 | 61
-
Nguyên lý thiết kế và mẫu thiết kế module Chất lượng
48 p | 191 | 56
-
Giải pháp phòng chống Virus toàn diện cho máy để bàn và máy xách tay
4 p | 124 | 29
-
THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM- Chương 3: Xây dựng phần mềm
71 p | 148 | 27
-
Secure Socket Layer: Giải pháp kỹ thuật hỗ trợ thương mại điện tử?
8 p | 83 | 14
-
THIẾT KẾ GIẢI THUẬT
29 p | 71 | 12
-
Bài giảng Phân tích và thiết kế thuật toán: Các phương pháp giải quyết bài toán trên máy tính - Phạm Thế Bảo
10 p | 118 | 12
-
Các giải pháp cho mạng không dây và Thiết kế - Phần 1
219 p | 79 | 11
-
Các giải pháp cho mạng không dây và Thiết kế - Phần 2
192 p | 84 | 10
-
Bài giảng Kiến trúc máy tính - Chương 9: Những giải pháp nâng cao tốc độ và dung lượng máy tính
39 p | 15 | 9
-
Giải pháp phòng chống Virus tại Gateway
3 p | 93 | 9
-
Ứng dụng thiết kế FPGA: Phần 2
95 p | 25 | 8
-
12 điều bí ẩn trên máy tính và cách giải quyết
4 p | 84 | 5
-
Giải pháp bình sai gián tiếp kèm điều kiện với máy thu GNSS RTK kép trong định vị và bằng công nghệ GNSS
9 p | 4 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn