Thiết kế và thi công bộ truyền nhận theo giao thức SPI-Wishbone

10 3 0
Thiết kế và thi công bộ truyền nhận theo giao thức SPI-Wishbone

Đang tải... (xem toàn văn)

Thông tin tài liệu

Bài viết Thiết kế và thi công bộ truyền nhận theo giao thức SPI-Wishbone trình bày một thiết kế chi tiết bộ điều khiển mang tên SPI-Wishbone, giao tiếp với các thiết bị ngoại vi dựa trên chuẩn SPI có thể hoạt động ở chế độ Master hoặc Slave, đồng thời truyền nhận dữ liệu và nhận sự điều khiển từ bộ xử lý trung tâm thông qua chuẩn bus Wishbone.

JOURNAL OF TECHNOLOGY EDUCATION SCIENCE Ho Chi Minh City University of Technology and Education Website: https://jte.hcmute.edu.vn/index.php/jte/index Email: jte@hcmute.edu.vn ISSN: 1859-1272 Design and Verification of an SPI-Wishbone Controller Vo Thien Tung, Thai Duong Tuan Thanh, Vo Phan Man Dat, Dang Le Ngoc Hoa, Nguyen Van Thuong, Van Ba Huy, Le Thi Quynh Nhi, Nguyen Minh Nhat, Do Duy Tan* Faculty of Electrical and Electronics Engineering, HCMC University of Technology and Education, Vietnam * Corresponding author Email: tandd@hcmute.edu.vn ARTICLE INFO Received: 19/2/2022 Revised: 18/5/2022 Accepted: 16/8/2022 Published: 30/8/2022 KEYWORDS SPI standard; Wishbone bus; FPGA; Verilog; Testbench ABSTRACT SPI (Serial Peripheral Interface) is a synchronous serial communication standard for connecting and transferring data between electronic devices proposed and developed by Motorola Inc The main advantages of SPI standard are high data transmission speed, synchronization, simple connection, and low logic resources Furthermore, Wishbone is a popular bus standard with open source codes, widely used in Silicore Corporation's projects In this paper, we present a detailed design of a controller called SPIWishbone, which communicates with peripheral devices based on the SPI standard that can be configured in either Master mode or Slave mode The designed module can be controlled, transmit, and receive data from a central processing unit via Wishbone bus Finally, we conduct extensive simulation results and a summary of logic resource usage and power consumption to validate the functionality and effectiveness of the proposed design We use Verilog Hardware Description Language in the design and simulation processes of the SPI-Wishbone module Thiết Kế Và Thi Công Bộ Truyền Nhận Theo Giao Thức SPI-Wishbone Võ Thiện Tùng, Thái Dương Tuấn Thành, Võ Phan Mẫn Đạt, Đặng Lê Ngọc Hoà, Nguyễn Văn Thương, Văn Bá Huy, Lê Thị Quỳnh Nhi, Nguyễn Minh Nhật, Đỗ Duy Tân* Khoa Điện-Điện Tử, Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh, Việt Nam * Tác giả liên hệ Email: tandd@hcmute.edu.vn THÔNG TIN BÀI BÁO Ngày nhận bài: 19/2/2022 Ngày hoàn thiện: 18/5/2022 Ngày chấp nhận đăng: 16/8/2022 Ngày đăng: 30/8/2022 TỪ KHÓA Chuẩn SPI; Wishbone bus; FPGA; Verilog; Testbench TÓM TẮT SPI (Serial Peripheral Interface) chuẩn truyền thông nối tiếp đồng dùng để kết nối truyền liệu thiết bị điện tử, phát triển tập đoàn Motorola Ưu điểm chuẩn SPI nằm tốc độ truyền liệu cao, đồng việc giao tiếp, cách kết nối đơn giản tiết kiệm tài nguyên sử dụng Trong đó, Wishbone chuẩn bus thơng dụng với mã nguồn mở, sử dụng nhiều dự án Silicore Corporation Trong báo này, chúng tơi trình bày thiết kế chi tiết điều khiển mang tên SPI-Wishbone, giao tiếp với thiết bị ngoại vi dựa chuẩn SPI hoạt động chế độ Master Slave, đồng thời truyền nhận liệu nhận điều khiển từ xử lý trung tâm thông qua chuẩn bus Wishbone Cuối cùng, thực đánh giá chi tiết thiết kế thông qua môi trường mô tổng hợp thành phần tài nguyên sử dụng, tần số hoạt động tối đa, cơng suất tiêu thụ nhằm xác thực tính thiết kế đề xuất Chúng sử dụng ngôn ngữ mô tả phần cứng Verilog trình thiết kế mơ module SPI-Wishbone Doi: https://doi.org/10.54644/jte.71B.2022.1142 This is an open access article distributed under the terms and conditions of the Creative Commons Attribution-NonCommercial 4.0 International License which permits unrestricted use, distribution, and reproduction in any medium for non-commercial purpose, provided the original work is properly cited Copyright © JTE Giới thiệu Serial Peripheral Interface (SPI) chuẩn truyền thông nối tiếp phát triển tập đồn Motorola Nhờ tính đơn giản, khả truyền tốc độ cao mà tuỳ thuộc vào tần số xung đồng hồ (clock) JTE, Issue 71B, August 2022 105 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE Ho Chi Minh City University of Technology and Education Website: https://jte.hcmute.edu.vn/index.php/jte/index Email: jte@hcmute.edu.vn ISSN: 1859-1272 SPI sử dụng đạt tốc độ 10Mbps, chuẩn SPI sử dụng rộng rãi vi mạch tích hợp để giao tiếp với thiết bị ngoại vi cảm biến nhiệt độ, cảm biến áp suất, hình LCD, nhớ flash, ghi dịch, SRAM, DRAM… Trong báo [1], tác giả trình bày thiết kế số truyền nhận liệu với chuẩn USB sử dụng truyền thơng nối tiếp để nhận gửi liệu đến khối xử lý trung tâm Bài báo [2] tác giả trình bày thiết kế, mơ tối ưu hố tần số hoạt động diện tích thiết kế SPI tơ Ngồi ra, thiết kế giao thức SPI với ngôn ngữ mô tả phần cứng Verilog [3-4] đưa nhiều báo [58] Trong đó, báo [4], tác giả thực thiết kế chuẩn SPI tiêu chuẩn DO-254 với độ tin cậy cao môi trường thực tế điện tử hàng khơng, qn Bài báo [5] trình bày thiết kế chuyển đổi giao thức SPI I2C với mục đích thực giao tiếp thiết bị gửi có tốc độ cao với thiết bị nhận có tốc độ thấp Bài báo [6], tác giả cung cấp mô tả thiết kế từ việc xây dựng thông số kỹ thuật ban đầu đến bước xác minh khối IP SPI Master/Slave FPGA sử dụng OPB (On-Chip Peripheral Bus) Bài báo [7] tác giả trình bày thiết kế IP sử dụng giao thức APB (Advanced Peripheral Bus) SPI, hỗ trợ chọn chế độ hoạt động tốc độ truyền liệu khác Bài báo [8], tác giả thiết kế lõi IP SPI tốc độ cao tái sử dụng dựa giao thức Wishbone, tần số hoạt động tối đa tổng hợp Virtex-II Pro Xilinx 115Mhz Bài báo [9], APB [10], tác giả trình bày triển khai thiết kế IP SPI-APB, thiết kế hỗ trợ chế độ Master/Slave, chế độ truyền, liệu thay đổi từ 1-32 bit chọn tốc độ truyền SPI tác giả thiết kế kèm với giao thức bus khác OPB, APB Wishbone Tuy nhiên, chi tiết thiết kế chưa trình bày Việc ứng dụng giao thức SPI vào bên hệ thống lớn địi hỏi tương thích với bus hệ thống khác, báo trình bày thiết kế hoạt động chế độ Master/Slave, truyền nhận liệu thiết bị ngoại vi với phần cứng trung tâm sử dụng giao thức SPI chuẩn bus Wishbone, chuẩn bus thông dụng dự án mã nguồn mở Silicore Corporation [11], [12] Nhờ vào việc ứng dụng chuẩn Wishbone vào thiết kế, module tái sử dụng để giao tiếp hệ thống với ngoại vi cần tốc độ cao sử dụng chuẩn truyền liệu SPI, từ nhận thấy tương thích SPI Wishbone, đem đến nhiều lựa chọn việc lựa chọn chuẩn bus Thiết kế tổng hợp đánh giá thông qua mô phần mềm Xilinx ISE Design Suite 14.7 QuestaSim 10.2 Thiết kế chi tiết Module SPI Controller mơ tả hình thực cơng việc truyền nhận liệu dựa tín hiệu điều khiển từ CPU thơng qua Wishbone cấu hình SPI Master Đồng thời SPI Controller Master giao tiếp với SPI Controller khác cấu hình Slave thơng qua giao thức SPI Hình Mơ hình truyền nhận liệu sử dụng Wishbone bus SPI 2.1 Cấu tạo module chế độ SPI Master Hình mơ tả sơ đồ khối SPI Controller cấu hình SPI Master JTE, Issue 71B, August 2022 106 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE Ho Chi Minh City University of Technology and Education Website: https://jte.hcmute.edu.vn/index.php/jte/index Email: jte@hcmute.edu.vn ISSN: 1859-1272 Hình Sơ đồ khối SPI Controller Master mode 2.1.1 Bộ chia tần số Bộ chia tần số hoạt động dựa vào tín hiệu CLK_I (CLOCK INPUT - tần số xung clock ngõ vào module) cung cấp từ CPU hệ số CLOCK_SEL (CLOCK SELECT - Hệ số lựa chọn giá trị chia), ngõ tín hiệu clock SCLK (SERIAL CLOCK – tần số xung clock điều khiển truyền liệu MISO MOSI) với giá trị mong muốn cung cấp cho module SPI Master SPI Slave Trong thiết kế này, CLOCK_SEL có giá trị khơng đổi Tần số SCLK tính theo cơng thức (1) SCLK = CLK_I * (CLOCK_SEL = + 1) CLK_I (1) 2.1.2 Quá trình truyền Ban đầu liệu từ đường truyền Wishbone đưa vào chốt liệu (latch), liệu giữ lại để chờ cấp phép (tín hiệu xung CLK) Khi có điều kiện xác nhận hoạt động truyền liệu có tín hiệu từ ghi địa liệu đưa vào ghi TXDATA thiết bị Master Sau có tín hiệu cho phép truyền, liệu truyền sang ghi Transmit Shift Tại đây, ghi có nhiệm vụ đếm tạo khung liệu bit Tiếp theo đó, thơng báo cho TXDATA đủ liệu truyền bắt đầu dịch liệu chân MOSI theo xung CLK 2.1.3 Quá trình nhận Quá trình nhận tín hiệu bắt đầu khối Master nhận tín hiệu cho phép truyền tín hiệu điều khiển trình truyền xung clock tín hiệu đồng pha Sau đó, chân MISO gửi liệu theo xung clock vào ghi Receive Shift Khi Receive Shift nhận đầy đủ liệu, Master kéo cờ báo hiệu lên mức cao Lúc toàn liệu Receive Shift chuyển sang RXDATA Dữ liệu tiếp tục truyền đến điều khiển trung tâm qua SPI_DAT_O nhận yêu cầu 2.2 Cấu tạo module chế độ SPI Slave Hình mô tả sơ đồ khối SPI Controller cấu hình SPI Slave Trong module nhận tín hiệu xung clock SCLK tín hiệu chọn thiết bị Slave SS_N cung cấp từ SPI Controller Master Hình Sơ đồ khối SPI Controller Slave mode JTE, Issue 71B, August 2022 107 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE Ho Chi Minh City University of Technology and Education Website: https://jte.hcmute.edu.vn/index.php/jte/index Email: jte@hcmute.edu.vn ISSN: 1859-1272 2.2.1 Quá trình truyền Quá trình truyền khối Slave thực gần tương tự so với thiết bị Master, liệu thu thập từ Slave đưa vào chốt liệu (Latch_data), có tín hiệu từ xung CLK tín hiệu từ ghi địa gửi tới, liệu truyền từ Latch_data tới TXDATA thiết bị Slave Dữ liệu sau truyền qua ghi TXDATA thiết bị Slave, có tín hiệu từ xung CLK phase gửi tới liệu truyền từ TXDATA qua ghi Transmit_shift, ghi có chức tạo khung liệu bit có tín hiệu đồng từ xung CLK liệu dịch bit theo CLK chân MISO truyền đến thiết bị Master 2.2.2 Quá trình nhận Đối với q trình nhận tín hiệu Slave bắt đầu Master kéo chân chọn thiết bị SS_Slave mà Master muốn truyền xuống mức thấp Khi đó, chân MOSI Slave gửi liệu theo xung clock đồng vào Receive Shift Sau Receive Shift nhận đủ liệu Slave kéo cờ báo hiệu cho phép Receive Shift truyền sang RXDATA 2.3 Mô tả ghi Các ghi sử dụng thiết kế SPI Controller mô tả bảng Bảng Thông tin ghi sử dụng SPI Controller Thanh ghi RXDATA TXDATA STATUS CONTROL SS_MASK Địa 0x00 0x04 0x08 0x0C 0x10 Độ rộng (bit) 8 8 Quyền truy cập Wishbone Chỉ đọc Đọc ghi Chỉ đọc Đọc ghi Đọc ghi Mô tả Dữ liệu từ SPI Dữ liệu gửi Thanh ghi Status Thanh ghi Control Thanh ghi lựa chọn Slave Thanh ghi Status bit hiển thị trạng thái hoạt động ghi truyền nhận khác, chức bit ghi định nghĩa bảng Bảng Định nghĩa bit ghi Status Tên bit Reserved Bit 1:0 ROE TOE TMT TRDY RRDY E Mô tả Không sử dụng Quá tải trình nhận liệu (hiển thị bit ‘1’ có lỗi), lỗi cho thấy ghi RXDATA nhận liệu trước liệu trước đọc, liệu trước bị điều xảy Quá tải trình truyền liệu (hiển thị bit ‘1’ có lỗi), lỗi xảy ghi TXDATA nhận liệu trước liệu truyền sang cho ghi Transmit shift Thanh ghi Transmit shift trống liệu sẵn sàng nhận liệu từ ghi TXDATA (hiển thị bit ‘1’) Thanh ghi TXDATA trống sẵn sàng nhận liệu từ Wishbone bus truyền tới (hiển thị bit ‘1’) Thanh ghi RXDATA có liệu sẵn sàng cho việc đọc liệu (hiển thị bit ‘1’) Lỗi bit trình truyền nhận liệu Thanh ghi Control bit điều khiển hoạt động khối Master Slave trình truyền nhận liệu, bit ghi định nghĩa bảng 3 Kết đánh giá qua mô 3.1 Tài nguyên sử dụng Thiết kế tổng hợp phần mềm Quartus Prime Lite với cấu hình board Cyclone V GT FPGA Development Kit để đánh giá tài nguyên logic cần sử dụng bảng 4, tần số tối đa bảng ước lượng công suất tiêu thụ thiết kế chạy board bảng Trong đó, tần số hoạt động tối đa (Fmax) bảng thiết kế lớn 1.39 lần so với [8], đồng thời thiết kế đề xuất đòi hỏi JTE, Issue 71B, August 2022 108 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE Ho Chi Minh City University of Technology and Education Website: https://jte.hcmute.edu.vn/index.php/jte/index Email: jte@hcmute.edu.vn ISSN: 1859-1272 tài nguyên nhỏ (

Ngày đăng: 09/09/2022, 14:38

Tài liệu cùng người dùng

  • Đang cập nhật ...