intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Hệ nhúng: Chương 6 - Đỗ Công Thuần

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:102

8
lượt xem
2
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Hệ nhúng: Chương 6 - Ghép nối nối tiếp" trình bày các nội dung chính sau đây: Truyền dữ liệu nối tiếp/song song; Ghép nối UART với 8051; Lập trình ngắt với 8051; Thủ tục truyền/nhận dữ liệu; Xây dựng mạng RS485;... Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Bài giảng Hệ nhúng: Chương 6 - Đỗ Công Thuần

  1. Hệ nhúng (Embedded Systems) IT4210 Đỗ Công Thuần Khoa Kỹ thuật máy tính, Trường CNTT&TT Đại học Bách khoa Hà Nội Email: thuandc@soict.hust.edu.vn
  2. Giới thiệu môn học • Tên học phần: Hệ nhúng • Mã học phần: IT4210 (3-0-1-6) • Thời lượng: ‒ 16.5 buổi lý thuyết (3 tiết/buổi) ‒ 3 buổi thực hành (5 tiết/buổi) • Yêu cầu kiến thức nền tảng: ‒ Kiến trúc máy tính ‒ Vi xử lý ‒ Lập trình C 2
  3. Mục tiêu môn học • Nắm được kiến trúc tổng quan, đặc điểm và hoạt động của một hệ nhúng • Biết thiết kế hệ nhúng cơ bản (nguyên lý thiết kế mạch, …) • Nắm được kiến trúc vi điều khiển (Intel, ARM) • Lập trình vi điều khiển từ cơ bản đến nâng cao với các dòng vi điều khiển phổ biến • Lập trình với hệ điều hành nhúng 3
  4. Đánh giá học phần 1. Đánh giá quá trình: 40% ‒ Bài tập về nhà ‒ Chuyên cần ‒ Các bài thực hành, nhóm 4 SV/nhóm 2. Đánh giá cuối kỳ: 60% ‒ Làm project cuối kỳ, nhóm 4 SV/nhóm ‒ Yêu cầu sinh viên tự chọn nhóm và đăng kí đề tài. Chú ý: danh sách đề tài sẽ được cập nhật sau! 4
  5. Tài liệu tham khảo • Textbook/Lecture notes: ‒ Peter Marwedel, Embedded System Design: Embedded Systems Foundations of Cyber-Physical Systems, and the Internet of Things, Spinger, 4th edition, 2021. ‒ Edward A. Lee and Sanjit A. Seshia, Introduction to Embedded Systems: A Cyber-Physical Systems Approach, MIT Press, 2nd edition, 2017. ‒ Tammy Noergaard, Embedded Systems Architecture: A Comprehensive Guide for Engineers and Programmers, Elsevier, 2nd edition, 2013. ‒ Han-Way Huang, Leo Chartrand, Microcontroller: An Introduction to Software & Hardware Interfacing, Cengage Learning, 2004. ‒ Lectures in Embedded Systems from Univ. of Cincinnati (EECE 6017C), Univ. of California, Berkeley (EECS 149), Univ. of Pennsylvania (ESE 350), Univ. of Kansas (EECS388). ‒ … • Manuals/Handbooks/Internet ‒ Atmel, Microchip, Texas Instruments, Keil… ‒ Keil ASM51 ‒ Arduino IDE ‒ … 5
  6. Nội dung học phần • Chương 1: Giới thiệu về Hệ nhúng • Chương 2: Thiết kế phần cứng Hệ nhúng • Chương 3: Lập trình với 8051 • Chương 4: Ghép nối ngoại vi với 8051 • Chương 5: Arduino • Chương 6: Ghép nối nối tiếp • Chương 7: Ghép nối với thế giới thực • Chương 8: Kiến trúc ARM • Chương 9: RTOS và FreeRTOS 6
  7. Nội dung học phần • Chương 1: Giới thiệu về Hệ nhúng • Chương 2: Thiết kế phần cứng Hệ nhúng • Chương 3: Lập trình với 8051 • Chương 4: Ghép nối ngoại vi với 8051 • Chương 5: Arduino • Chương 6: Ghép nối nối tiếp • Chương 7: Ghép nối với thế giới thực • Chương 8: Kiến trúc ARM • Chương 9: RTOS và FreeRTOS 7
  8. Chương 6 Ghép nối nối tiếp
  9. Nội dung • UART • SPI • I2C • I2S • USB 9
  10. Giới thiệu • Truyền dữ liệu nối tiếp/song song TXD 0 b0 RXD 0 TXD 1 b1 RXD 1 RXD TXD 2 b2 RXD 2 TXD b0 b1 b2 b3 b4 b5 b6 b7 TXD 3 b3 RXD 3 TXD 4 b4 RXD 4 CLK CLK TXD 5 b5 RXD 5 TXD 6 b6 RXD 6 TXD 7 b7 RXD 7 CLK CLK 10
  11. Truyền nối tiếp • Dữ liệu được truyền/nhận thành luồng bit • Làm thế nào để xác định thời điểm có dữ liệu? → Cần cơ chế đồng bộ dữ liệu (synchronization) CLOCK CLOCK DATA DATA TX RX Idle or Idle next byte data bits start 0 stop 1 2 3 4 5 6 7 bit Idle or CLOCK bit Idle next byte DATA 0 1 2 3 4 5 6 7 DATA 1 1 0 0 1 0 1 0 0x53 = ASCII ‘S’ 1 1 0 0 1 0 1 0 0x53 = ASCII ‘S’ Đồng bộ Không đồng bộ 11
  12. UART • UART (Universal Asynchronous Receiver Transmitter) • Một serial port phục vụ truyền thông nối tiếp không đồng bộ rất phổ biến ‒ Ví dụ: giao tiếp máy tính, giao tiếp mô-đun SIM, mô-đun GPS, v.v. • Có thể cấu hình half duplex hoặc full duplex • Tốc độ truyền không cao • Phần cứng gọn nhẹ, dễ thiết kế, giá thành thấp • Đóng khung dữ liệu và quy ước tốc độ truyền (thay cho tín hiệu clock) 12
  13. UART/RS232 13
  14. UART data frame • 1 start bit, 5-8 data bits, [parity], 1-2 stop bits Parity Start bit bit Stop bit logic 0 Word data (optional) logic 1 Start D0 D1 D2 D3 D4 D5 D6 D7 PB Stop Start by Sample detecting Incoming data sampled at stop bit transition the bit-pulse center from logic 1 to logic 0 14
  15. RS232C • Quy chuẩn tín hiệu truyền nối tiếp đồng bộ giữa các thiết bị, sử dụng UART • Mức điện áp: ‒ 0: +3 đến +15V ‒ 1: -3 đến -15V • Tốc độ truyền (baudrate): 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 • Tín hiệu 15
  16. RS232C • Chân 1 (DCD-Data Carrier Detect): Phát hiện tín hiệu mang dữ liệu • Chân 2 (RxD-Receive Data): Nhận dữ liệu • Chân 3 (TxD-Transmit Data): Truyền dữ liệu • Chân 4 (DTR-Data Terminal Ready): Đầu cuối dữ liệu sẵn sàng • Chân 5 (Signal Ground): Đất của tín hiệu • Chân 6 (DSR-Data Set Ready): Dữ liệu sẵn sàng • Chân 7 (RTS-Request To Send): Yêu cầu gửi • Chân 8 (CTS-Clear To Send): Xóa để gửi • Chân 9 (RI-Ring Indicate): Báo chuông 16
  17. Ghép nối UART với 8051 • Cổng UART trong 8051: ‒ Bộ truyền/nhận dữ liệu nối tiếp: ‒ 4 chế độ hoạt động ‒ Sử dụng timer 1 hoặc timer 2 làm bộ tạo xung ‒ Thường dùng: ‒ Mode 1 (1 start + 8 data + 1 stop) ‒ Timer 1 ở chế độ 2 (8 bit auto reload) ‒ Báo nhận/truyền: RI/TI ‒ Thanh ghi dữ liệu: SBUF 17
  18. Lập trình ngắt với 8051 (review) • 5 nguồn ngắt lập trình được: ‒ INT0, INT1 ‒ TF0, TF1 ‒ TI & RI SCON Cấu hình ngắt sử dụng thanh ghi IE (Interrupt Enable) 18
  19. Thanh ghi SCON (review) • SM0, SM1: xác định chế độ làm việc • SM2: sử dụng cho truyền thông giữa các VĐK • REN: cho phép nhận dữ liệu, mức cao (=1) • TB8, RB8: bit thứ 9 của truyền/nhận trong chế độ truyền 9 bit • TI, RI: cờ báo ngắt truyền, ngắt nhận 19
  20. Thủ tục truyền/nhận dữ liệu (review) 1) Thiết lập chế độ truyền, baudrate ‒ TMOD = 0x20 → cài đặt sử dụng Timer 1, ở chế độ 8 bit, tự nạp lại (Mode 2). ‒ Cài đặt giá trị thích hợp vào TH1 để chọn baudrate. ‒ SCON = 0x50 (SM0 = 0, SM1 = 1, REN = 1) → thiết lập chế độ truyền 8 bit, 1 bit start, 1 bit stop (Mode 1). ‒ TR1 = 1 (TCON)→ khởi động Timer 1. 2) Truyền/nhận ký tự a) Truyền 1 ký tự: ‒ Ghi ký tự (ASCII code) vào SBUF để truyền đi. ‒ Chờ cho cờ TI (SCON) được bật. ‒ Xóa cờ TI để sử dụng cho lần truyền ký tự tiếp theo. b) Nhận 1 ký tự: ‒ Chờ cờ RI (SCON) được bật báo có dữ liệu đến. ‒ Đọc dữ liệu từ SBUF. ‒ Xóa cờ RI cho lần nhận dữ liệu tiếp theo. 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2