1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo bài tập về nhà chương iii hệ thống điều khiển nhúng

14 16 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 2 MB

Nội dung

lOMoARcPSD|15963670 TRƯỜNG ĐẠI HỌC BÁCH KHOA TPHCM Khoa Điện - Điện tử Bộ môn Điều khiển Tự Động BÁO CÁO BÀI TẬP VỀ NHÀ CHƯƠNG III HỆ THỐNG ĐIỀU KHIỂN NHÚNG GVHD: TS.Nguyễn Vĩnh Hảo Họ Tên MSSV Lê Tự Quốc Thiện 1814133 Đỗ Thành Thông 1814199 Đinh Bạt Hoàng 1812255 Lâm Quốc Qui 1813724 lOMoARcPSD|15963670 HỆ THỐNG ĐIỀU KHIỂN NHÚNG BÀI TẬP VỀ NHÀ SỐ Nhóm: 12 STT Họ Tên Lê Tự Quốc Thiện Đỗ Thành Thơng Đinh Bạt Hồng Lâm Quốc Qui MSSV 1814133 1814199 1812255 1813724 lOMoARcPSD|15963670 Viết Verilog đọc xung Encoder       - Module đọc xung encoder Đầu vào clk, encA, encB, rst, x4 Đầu 16 bit D[15:0] Khi rst = 1: D[15:0] = 16’h8000 Khi rst = 0: D[15:0] đếm lên, xuống theo xung encA, encB Đếm x1, x2, x4 Ý tưởng: thực đếm xung encoder dựa vào lệch pha tín hiệu A, B VD: trường hợp đếm lên Mode X1 : có cạnh lên A, check trạng thái B: Nếu (1) đếm lên (xuống) Cần xét tín hiệu Pre_A, A , B  Mode X2: Với cạnh xuống cạnh lên xung A, check trạng thái B, tương ứng với trường hợp đếm lên A cạnh lên-B mức thấp A cạnh xuống-B mức cao trường hợp đếm xuống (ngược lại) Cần xét tín hiệu Pre_A , A , B  Mode X4 : Với cạnh lên, cạnh xuống xung A B, check trạng thái tín hiệu cịn lại Tương ứng với trường hợp: đếm lên A cạnh lênB mức thấp, A cạnh xuống-B mức cao, B cạnh lên-A mức cao, B cạnh xuống-A mức thấp đếm xuống (các trường hợp ngược lại) lOMoARcPSD|15963670 - Viết Verilog: lOMoARcPSD|15963670 - Mô phỏng: *Trường hợp đến lên mode x1, x2, x4: lOMoARcPSD|15963670 *Trường hợp đếm xuống với mode x1,x2,x4: - Nhận xét: chương trình chạy với yêu cầu đặt Khi khởi động bắt đầu đếm từ giá trị 32768 A nhanh pha B đếm lên ngược lại B nhanh pha đếm xuống.Khi tín hiệu rst mức cao reset đếm giá trị ban đầu 37268 (8000h) lOMoARcPSD|15963670 Viết Verilog đọc cảm biến siêu âm  Đầu vào clk (1us), EchoPulse  Đầu 16 bit D[15:0], Trigger  Chân Trigger có độ rộng xung 10us, lặp lại với chu kỳ T = 50ms (Chỉnh T = 1ms mô phỏng)  Ngõ D[15:0] cập nhật có cạnh xuống EchoPulse (Đơn vị đo us) Nếu D = 0xFFFF khơng tăng D - Ý tưởng:  Tạo biến đếm cnt cho chu kì xung clk  Biến đếm -> 10: xung Trigger =1  Biến đếm 11-> 1000 : Trigger =0 đếm đến ms reset lại cnt  Tạo đếm để đo độ rộng xung Echo(đếm số xung clk xung Echo mức cao).Khi xung Echo có cạnh xuống xuất giá trị đếm ngõ D Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 - Chương trình Verilog: Mơ phỏng: - Nhận xét: chương trình chạy tốt theo yêu cầu đề Xung tạo với độ rộng 10us lặp lại với chu kỳ T = 1ms Giá trị độ rung xung Echo xuất D xung có cạnh xuống Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Viết Verilog module nội suy CNC Yêu cầu: Viết cho trục X,Y Khi có xung cạnh lên WR, Nx nạp giá trị Nhưng giá trị không tác động chu kỳ T tại, mà tác động chu kỳ T Khi không ghi giá trị Nx (không xuất xung WR) chu kỳ T tại, chu kỳ T không xuất xung chân Pulse Khi mô phỏng, add thêm ngõ flag_T để kiểm tra hết chu kỳ T Mô N = 10, Cố định (k đổi N) clk = 1us, clk1 = 100us, Xuất xung dựa vào clk1, tín hiệu khác dựa vào clk Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 - Ý tưởng:  Tạo biến buffer với 32 bit lưu tối đa giá trị Nx Sử dụng xung clock clk 1us để phát cạnh lên xung WR nạp giá trị vào buffer.Sử dụng biến cnt để đếm số xung clock 1us mô xung clock clk1 100us xung clock flag T chu kỳ 2ms để quan sát xung xuất 1ms  Mỗi 1ms đọc giá trị Nx lưu buffer sau thực dịch buffer để chuẩn bị đọc giá trị chu kỳ sử dụng thuật toán nội suy đường thẳng theo phương pháp xung chuẩn để xuất số xung cần thiết ms  Ngõ DIR lấy từ buffer[7] chiều điều khiển động - Chương trình Verilog: Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 - Mô phỏng: Xuất xung WR (data = 4) chu kì xuất xung Pulse chưa kết thúc nên giá trị data = lưu buffer (max giá trị) đợi chu kì xuất xung Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Ở chu kì xuất xung (flag T = 0) tiến hành xuất xung đồng thời giải phóng ghi buffer Sau đó, xuất xung WR (data = 6) -> lưu vào ghi buffer chưa kết thúc qua trình xuất xung trước Tương tự, ghi buffer lưu trữ thêm giá trị 5, có xung WR Trừ trường hợp “3” buffer đầy Downloaded by ng?c trâm (ngoctram201217@gmail.com) lOMoARcPSD|15963670 Xuất xung, xung, xung theo liệu chu kì T Trường hợp Nx[7]=1 DIR mức cao điều khiển động quay ngược Downloaded by ng?c trâm (ngoctram201217@gmail.com)

Ngày đăng: 21/06/2023, 22:08

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w