1. Trang chủ
  2. » Tất cả

BÀI tập lớn môn kỹ THUẬT VI xử lý đề tài sử DỤNG USART để KIỂM TRA ký tự NHẬP vào và điều KHIỂN LED

13 5 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

BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG BÀI TẬP LỚN MÔN KỸ THUẬT VI XỬ LÝ ĐỀ TÀI SỬ DỤNG USART ĐỂ KIỂM TRA KÝ TỰ NHẬP VÀO VÀ ĐIỀU KHIỂN LED Thái Bình – 11/2021 TÊN NHÓM TH[.]

BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG BÀI TẬP LỚN MƠN KỸ THUẬT VI XỬ LÝ ĐỀ TÀI: SỬ DỤNG USART ĐỂ KIỂM TRA KÝ TỰ NHẬP VÀO VÀ ĐIỀU KHIỂN LED TÊN NHÓM 16 THÀNH VIÊN NHÓM NGUYỄN MẠNH VIỆT – B19DCVT433 Thái Bình – 11/2021 MỤC LỤC LỜI NĨI ĐẦU CHƯƠNG I TÌM HIỂU CHUNG VỀ GIAO TIẾP USART 1.1 USART gì? USART (Universal Synchronous/ Asynchronous Receiver/ Transmitter) truyền nhận nối tiếp đồng bất đồng Được dùng việc giao tiếp hai thiết bị 1.1.1 Truyền nhận nối tiếp gì? Hình 1.1 Sơ đồ truyền nhận nối tiếp Truyền nhận nối tiếp  là trình gửi dữ liệu tuần tự theo từng bit, qua một kênh truyền thơng (communication channel) hoặc bus máy tính Với truyền nhận nối tiếp, xung clock ta gửi bit liệu 1.1.2 Đồng bất đồng a Đồng Khái niệm “đồng bộ” ám báo trước q trình truyền Giả sử có hai thiết bị (T1 T2) kết nối với đường liệu (data) đường truyền xung nhịp (clock) Cứ lần T1 muốn gửi bit liệu, T1 điều khiển đường xung nhịp từ mức thấp lên mức cao để báo cho T2 sẵn sàng để nhận bit Bằng cách “báo trước” này, tất bit liệu truyền nhận dễ dàng có sai lệch q trình truyền Tuy nhiên cách địi hỏi đường truyền cho trình (send or receiver) Hình 1.2 Sơ đồ minh hoạ truyền thơng nối tiếp đồng b Không đồng Khác với truyền thông đồng bộ, truyền thông không đồng sử dụng đường truyền liệu mà không cần xung nhịp để báo trước Tất liệu chuẩn hoá thành khung liệu Giả sử T1 T2 giao tiếp với nhau, chúng thoả thuận khoảng thời gian 1ms có bit liệu truyền Như T2 cần đọc liệu lần 1ms sau kết hợp chúng lại Nhờ truyền thơng khơng đồng sử dụng tài ngun Khung truyền liệu chuẩn hoá với start bit, data bit, stop bit Điều để giao tiếp, thiết bị nhận liệu biết liệu đâu kết thúc vị trí Từ kết hợp lại xác để khơng xảy sai lệch liệu Hình 1.3 Sơ đồ minh hoạ truyền thông nối tiếp không đồng 1.2 Các thông số quan trọng giao tiếp USART - Baud rate: Để việc truyền nhận liệu khơng đồng xảy thành cơng thiết bị tham gia phải thống khoảng thời gian dành cho bit truyền Hay nói cách khác, tốc độ truyền phải cài đặt trước, tốc độ gọi tốc độ Baud Theo định nghĩa, tốc độ Baud số bit truyền giây - Frame (khung truyền): Do truyền thông nối tiếp mà không đồng dễ xảy sai lệch liệu trình truyền thông tin theo kiểu phải tuân theo quy cách định Bên cạnh tốc độ Baud, khung truyền yếu tố quan trọng tạo nên thành công truyền nhận Khung truyền bao gồm quy định số bit lần truyền (data bits), bit báo hiệu bắt đầu kết thúc liệu (start bit, stop bit), bit kiểm tra,… - Start bit: Là bit truyền khung truyền, bit có chức báo cho thiết bị nhận biết có gói liệu truyền tới - Data bit: Là thông tin mà cần gửi nhận - Parity bit: Là bit kiểm tra liệu truyền có khơng cách đếm số dãy nhị phân liệu truyền khung truyền Nếu số chẵn Parity chẵn bật, ngược lại Parity lẻ bật Đây bit bắt buộc không thiết phải xuất khung truyền - Stop bit: Là bit báo hiệu cho thiết bị nhận gói liệu gửi xong Khung truyền phổ biến : Start bit – Data bit – Stop bit 1.3 USART với STM32 Hình 1.4 Chức đặc biệt chân Pin STM32 STM32 thiết kế cổng dùng cho số hoạt động giao tiếp định Để giao tiếp USART, ta nối chân TX RX USART với chân Pin thích hợp STM 32 CHƯƠNG II LÀM VIỆC VỚI USART QUA THANH GHI 2.1 Các ghi quan trọng 2.1.1 Thanh ghi SR (Status Register) Hình 2.1 Sơ đồ ghi SR Thanh ghi SR ghi trạng thái, bit cần ý: TXE : Báo hiệu ghi liệu trống Bit cho biết liệu đệm TDR đưa vào Transmit Shift Register bắt đầu truyền Bit TXE tạo tín hiệu ngắt bit TXEIE set. Bit luôn reset cách ghi vào ghi liệu 0: TDR chưa làm trống 1: TDR làm trống liệu ghi vào ghi USART_DR mà không làm ảnh hưởng đến liệu trước TC : Báo hiệu q trình truyền hồn tất Bit TC set phần cứng set lên MCU hồn thành xong q trình truyền liệu bit TXE set Bit tạo tín hiệu ngắt bit TCIE ghi USART_CR1 set Bit reset cách ghi vào hoạt động đọc ghi USART_SR sau ghi giá trị vào USART_DR 0: Q trình truyền chưa hồn tất 1: Q trình truyền hồn thành RXNE: Báo hiệu liệu đọc không trống Bit thiết lập phần cứng nội dung ghi dịch chuyển RDR chuyển đến ghi USART_DR Một ngắt tạo RXNEIE = ghi USART_CR1 Nó xóa cách đọc cho đăng ký USART_DR Cờ RXNE xóa cách viết số vào 0: Khơng nhận liệu 1: Dữ liệu nhận sẵn sàng để đọc FE: Kiểm tra lỗi khung truyền 0: Không phát lỗi khung 1: Lỗi khung ký tự ngắt phát 2.1.2 Thanh ghi DR (Data Register) Hình 2.2 Sơ đồ ghi DR Thanh ghi DR ghi liệu, chứa bit truyền nhận Thực tế ghi gồm hai ghi TDR RDR Thanh ghi TDR có chức ghi, dùng truyền Thanh ghi RDR có chức đọc liệu, dùng thu Khi lập trình ta gọi chung tên chúng tuỳ theo trường hợp đọc hay ghi tới mà máy tính xử lý xác 2.1.3 Thanh ghi BRR (Baud rate register) Cụ thể giao tiếp hai thiết bị với nhau, để nhận xác liệu gửi hai thiết bị phải nhận truyền tốc độ Tuy nhiên, giá trị ghi BRR tốc độ Baud rate, dùng để USART tính tốn tốc độ truyền Cụ thể với cơng thức sau: BAUD RATE= Trong đó: f d BRR f tần số hoạt động d BRR giá trị 2.1.4 Thanh ghi CR1 (Control register 1) ghi BRR Hình 2.3 Sơ đồ ghi CR1 Thanh ghi CR1 ghi điều khiển, gồm bit quan trọng sau: UE: Bật USART Khi bit bị xóa, định mức đầu USART dừng lại kết thúc trình truyền byte để giảm tiêu thụ điện bit thiết lập xóa phần mềm 0: Đã tắt chức định mức trước USART kết đầu 1: USART bật M: Độ dài liệu Bit xác định độ dài từ 0: Bit bắt đầu, bit liệu, n bit dừng 1: Bit bắt đầu, bit liệu, n bit dừng TXEIE: Bật ngắt TXE 0: Ngắt bị chặn 1: Một ngắt USART tạo TXE = ghi USART_SR TCIE: Ngắt truyền xong 0: Ngắt bị chặn 1: Một ngắt USART tạo TC = ghi USART_SR RXNEIE: Bật ngắt RXNE 0: Ngắt bị chặn 1: Một ngắt USART tạo ORE = RXNE = ghi USART_SR TE: Kích hoạt Transmitter Bit cho phép Transmitter hoạt động 0: Tắt Transmitter 1: Bật Transmitter 2.2 Quá trình truyền nhận liệu Để giao tiếp chiều USART, MCU cần phải kết nối với thiết bị bên ngồi chân chân TX (chân truyền liệu bên ngoài) chân RX (chân nhận liệu từ bên ngoài) Chân TX MCU nối với chân RX thiết bị ngược lại chân RX MCU nối với chân TX thiết bị ngoài. Chân SW_RX dùng để nhận liệu chế độ single-wire Hình 2.4 Sơ đồ khối ghi/đọc liệu USART Về trình truyền USART  Một byte liệu từ đường bus lưu đệm TDR Khi bit cho phép truyền (TE) set, liệu đưa xuống ghi Transmit Shift Register bit có trọng số thấp (LSB) gửi chân TX MCU Sau truyền byte, ghi TDR làm trống byte truyền Ở chế độ liệu ghi USART_DR liệu đệm TDR 10 Hình 2.5 Sơ đồ trình truyền USART Về trình nhận USART  Khi có liệu truyền từ thiết bị bên ngồi, bit có trọng số thấp frame data truyền qua chân RX MCU lưu vào ghi Receive Shift Register Khi byte nhận xong, bit RXNE (Read data register not empty) set lên 1, liệu chứa ghi Receive Shift Register đưa đến đệm RDR, liệu lúc sẵn sàng để đọc Nếu bit RXNE bit RXNEIE (RXNE interrupt enable) cùng set lên tín hiệu ngắt sinh Bit RXNE reset có hoạt động đọc liệu ghi USART_DR ghi bit ‘0’ vào 11 2.3 Các bước cấu hình cho USART 12 ... chuyển đến ghi USART_ DR Một ngắt tạo RXNEIE = ghi USART_ CR1 Nó xóa cách đọc cho đăng ký USART_ DR Cờ RXNE xóa cách vi? ??t số vào 0: Khơng nhận liệu 1: Dữ liệu nhận sẵn sàng để đọc FE: Kiểm tra lỗi khung... TDR đưa vào? ?Transmit Shift Register bắt đầu truyền Bit TXE tạo tín hiệu ngắt bit TXEIE set. Bit luôn reset cách ghi vào ghi liệu 0: TDR chưa làm trống 1: TDR làm trống liệu ghi vào ghi? ?USART_ DR mà... truyền liệu bit TXE set Bit tạo tín hiệu ngắt bit TCIE ghi USART_ CR1 set Bit reset cách ghi vào hoạt động đọc ghi USART_ SR sau ghi giá trị vào? ?USART_ DR 0: Quá trình truyền chưa hồn tất 1: Q trình truyền

Ngày đăng: 15/11/2022, 05:07

Xem thêm:

w