Mục lục:
- Bước 1: Bước 1: Cách thức hoạt động
- Bước 2: Bước 2: Lập trình bảng Basys 3
- Bước 3: Bước 3: Cách sử dụng
Video: Integer_Matrix_Solver_UART_SERIAL_VHDL: 3 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
Hướng dẫn có hướng dẫn này chỉ cho bạn cách tạo bộ giải ma trận 2 x 2 bằng cách triển khai mô-đun đầu cuối nối tiếp UART cũng như mô-đun giải ma trận. Người dùng sẽ có thể nhập ma trận 2 x 2 và sau đó thiết kế được triển khai sẽ đưa ra lời giải cho hệ thống tuyến tính.
Để sử dụng mã này, bạn sẽ cần:
- Bảng FPGA A Digilent Basys 3
- Máy tính có Phần mềm Xilinx Vivado (Phiên bản Webpack sẽ hoạt động). Đối với mô-đun này, chúng tôi đã sử dụng phiên bản 2017.2.
- Một dây Micro USB (Có khả năng truyền dữ liệu)
Tác giả: Drew Miller, EE Major, Cal Poly SLO, Sukhdeep Singh, EE Major, Cal Poly SLO Class: Digital Design
- EE / CPE 133 Người hướng dẫn: Joseph Callenes
Nguồn:
- UART_TX, UART_RX từ:
- Debounce from:
Hàm chia hai số không dấu:
Bước 1: Bước 1: Cách thức hoạt động
Đầu vào: Người dùng nhập một hệ thống tuyến tính vào thiết bị đầu cuối máy tính và sau đó Mô-đun UART chuyển đổi chúng thành một mảng để mô-đun giải ma trận thao tác. Mô-đun UART giao tiếp với người dùng và cho phép họ nhập ma trận thích hợp cũng như hướng dẫn họ nhập dữ liệu đúng cách. Hệ thống cũng có một công tắc đặt lại / bật được ánh xạ tới công tắc ngoài cùng bên trái của bảng Basys3.
Kết quả đầu ra: Kết quả từ bộ giải ma trận được chuyển qua giao diện mô-đun UART và sau đó được hiển thị trên thiết bị đầu cuối máy tính với các giải pháp được liệt kê trên màn hình. Bộ giải ma trận xuất ra các vectơ logic tiêu chuẩn chưa được đánh dấu cho mô-đun UART để chuyển đổi chúng thành các đầu ra thân thiện với người dùng hơn để người dùng đánh giá cao. Trình giải ma trận hiện tại chỉ có thể có các số lên đến 15 được nhập và kết quả đầu ra phải là một số nguyên sạch nếu không chương trình giải ma trận không thể đưa ra giải pháp chính xác.
Mô-đun "Điều khiển nối tiếp" cấp cao nhất: Người dùng nhập hệ thống tuyến tính mong muốn của họ vào mô-đun này thông qua mô-đun UART_TX và UART_RX và nó chuyển đổi các đầu vào từ thiết bị đầu cuối máy tính thành một mảng các vectơ logic tiêu chuẩn được xử lý bởi mô-đun bộ giải ma trận. Sau đó, mô-đun giải ma trận trả về một mảng các vectơ logic tiêu chuẩn sau đó được hiển thị trên màn hình bởi giao diện nối tiếp UART. Việc truyền và nhận dữ liệu thông qua các mô-đun UART được thực hiện thông qua việc sử dụng một FSM rất dài trong mô-đun này.
Mô-đun UART_TX: Người dùng nhập vectơ logic chuẩn 8 bit và tín hiệu gửi để gửi dữ liệu qua giao diện USB. Trong khi nó đang gửi dữ liệu, tín hiệu TX_Active cao. Sau khi nó đã gửi dữ liệu, tín hiệu TX_Done xung.
Mô-đun UART_RX: Người dùng nhận 8 bit dữ liệu cùng một lúc từ giao diện USB. Xung từ RX_DV là một dấu hiệu cho thấy dữ liệu đã được nhận và có thể đọc được logic vectơ RX_Byte.
Mô-đun giải ma trận: Trình giải ma trận nhận một mảng được gán từ mô-đun UART đại diện cho ma trận. Sau đó, trình giải ma trận chuyển đổi mỗi số trong hệ thống tuyến tính thành các số nguyên để giúp dễ dàng thao tác trên chúng hơn. Bên trong mô-đun giải ma trận có một số mô-đun con. Mô-đun con đầu tiên là inverse_matrix_1 lấy ma trận và sau đó đưa ra nghịch đảo của ma trận đã cho. Mô-đun con tiếp theo là hệ số nhân mà nhân tổng_matrix với ma trận nghịch đảo bằng cách sử dụng các phép toán ma trận tiêu chuẩn. Cuối cùng, mô-đun chính ánh xạ chúng với nhau để xuất ra một câu trả lời duy nhất.
Bước 2: Bước 2: Lập trình bảng Basys 3
Khi bạn đã có được mã nguồn từ bên dưới, hãy tải nó lên bảng basys 3 để sử dụng giao diện.
reference.digilentinc.com/basys3/refmanual
Bước 3: Bước 3: Cách sử dụng
Sử dụng giao diện nối tiếp ở 9600 baud để giao tiếp với Basys3 UART. Tôi đã sử dụng màn hình trên linux với lệnh sau:
screen / dev / ttyUSB1 9600
Để thực hiện việc này trên linux, tôi phải thêm người dùng của mình vào nhóm "quay số". Trên Windows, putty sẽ hoạt động và trên MacOSX, nó phải là một quá trình tương tự như linux.
Lật công tắc ngoài cùng bên trái sang vị trí bật sẽ khởi động trình giải ma trận. Chuyển nó thành tắt sẽ đặt lại trình giải ma trận.
Đề xuất:
Động cơ bước Điều khiển động cơ bước Không cần vi điều khiển !: 6 bước
Động cơ bước Điều khiển động cơ bước Không cần vi điều khiển !: Trong phần Hướng dẫn nhanh này, chúng tôi sẽ tạo một bộ điều khiển động cơ bước đơn giản bằng cách sử dụng động cơ bước. Dự án này không yêu cầu mạch phức tạp hoặc vi điều khiển. Vì vậy, không cần thêm ado, chúng ta hãy bắt đầu
Động cơ bước được điều khiển Động cơ bước không có vi điều khiển (V2): 9 bước (có hình ảnh)
Động cơ bước được điều khiển bằng động cơ bước Không cần vi điều khiển (V2): Trong một trong những Hướng dẫn trước đây của tôi, tôi đã chỉ cho bạn cách điều khiển động cơ bước bằng cách sử dụng động cơ bước mà không cần vi điều khiển. Đó là một dự án nhanh chóng và thú vị nhưng nó đi kèm với hai vấn đề sẽ được giải quyết trong Có thể hướng dẫn này. Vì vậy, hóm hỉnh
Đầu máy mô hình điều khiển động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Đầu máy mô hình điều khiển động cơ bước | Động cơ bước làm bộ mã hóa quay: Trong một trong những phần Hướng dẫn trước, chúng ta đã học cách sử dụng động cơ bước làm bộ mã hóa quay. Trong dự án này, bây giờ chúng ta sẽ sử dụng bộ mã hóa quay động cơ bước đó để điều khiển đầu máy mô hình bằng vi điều khiển Arduino. Vì vậy, không có fu
Âm thanh bay bổng với Arduino Uno Từng bước (8 bước): 8 bước
Acoustic Levitation With Arduino Uno Step-by-by-by (8 bước): bộ chuyển đổi âm thanh siêu âm L298N Dc cấp nguồn cho bộ chuyển đổi âm thanh nữ với chân cắm một chiều nam Arduino UNOBreadboard Cách hoạt động: Đầu tiên, bạn tải mã lên Arduino Uno (nó là một vi điều khiển được trang bị kỹ thuật số và các cổng tương tự để chuyển đổi mã (C ++)
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy