Đăng ký Đăng nhập
Trang chủ Truyền thông usb qua pic18f2550...

Tài liệu Truyền thông usb qua pic18f2550

.PDF
32
1
69

Mô tả:

BỘ NÔNG NGHIỆP VÀ PHÁT TRIỂN NÔNG THÔN TRƯỜNG ĐẠI HỌC THỦY LỢI Khoa: Điện – Điện tử ======================== BÁO CÁO ĐỀ TÀI: TRUYỀN THÔNG USB QUA PIC18F2550 Giáo viên hướng dẫn: Nguyễn Đăng Khoa Nhóm: 19 Sinh viên thực hiện: Nguyễn Văn Phương : 1651122689 Lê Quyết Thắng : 1651121749 Truyền Thông USB qua PIC18F2550 GVHD : Nguyễn Đăng Khoa Hà Nội, tháng 11 năm 2019 Mục lục Chương 1: Tổng quan về PIC18F2550.............................................................4 I. Tổng quan về PIC......................................................................................4 II. VI ĐIỀU KHIỂN PIC18F2550..............................................................8 Chương 2: Giao tiếp UART và USB...............................................................13 I. Giao tiếp UART.......................................................................................13 II. Giao tiếp USB.......................................................................................16 Chương 3: Truyền thông USB dùng PIC18F2550.........................................22 I. Mô tả.........................................................................................................22 II. Phần mềm và mạch nạp.......................................................................22 III. Tạo nguồn cho vi điều khiển...............................................................26 IV. Lập trình...............................................................................................27 V. Mô phỏng.................................................................................................29 VI. Thực tế...................................................................................................30 VII. Kết luận.................................................................................................31 SVTH: NGUYỄN VĂN PHƯƠNG – LÊ QUYẾT THẮNG 2 Truyền Thông USB qua PIC18F2550 GVHD : Nguyễn Đăng Khoa Lời nói đầu: Universal serial Bus(USB) được phát triển để đơn giản hóa và cải thiện giao diện giữa máy tính cá nhân và thiết bị ngoại vi, khi so sánh với các giao diện độc quyền tiêu chuẩn hoặc đặc biệt hiện có trước đây. Từ quan điểm của người dùng máy tính, giao diện USB được cải thiện dễ sử dụng theo nhiều cách. Giao diện USB tự cấu hình, do đó người dùng không cần điều chỉnh cài đặt trên thiết bị và giao diện cho tốc độ hoặc định dạng dữ liệu hoặc định cấu hình ngắt , địa chỉ đầu vào / đầu ra hoặc kênh truy cập bộ nhớ trực tiếp. Tiêu chuẩn USB loại bỏ yêu cầu phát triển giao diện độc quyền cho các thiết bị ngoại vi mới. Phạm vi tốc độ truyền rộng có sẵn từ giao diện USB phù hợp với các thiết bị khác nhau, từ bàn phím và chuột cho đến phát trực tiếp giao diện video. Giao diện USB có thể được thiết kế để cung cấp độ trễ khả dụng tốt nhất cho các chức năng quan trọng về thời gian hoặc có thể được thiết lập để thực hiện chuyển nền dữ liệu hàng loạt mà ít ảnh hưởng đến tài nguyên hệ thống. Giao diện USB được khái quát hóa không có đường tín hiệu chỉ dành riêng cho một chức năng của một thiết bị. Bộ vi điều khiển PIC là một trong những bộ điều khiển phổ biến nhất từ Microchip. Vi điều khiển PIC18F2550 có 1 mô-đun truyền thông USB (Universal serial Bus). Chủ đề này cho thấy cách sử dụng PIC18F2550 làm USB HID (Thiết bị giao diện con người) để gửi và nhận dữ liệu giữa vi xử lý PIC với máy tính. Thiết bị USB HID không cần bất kỳ trình điều khiển bổ sung nào vì nó đã được cài đặt trong hầu hết các hệ điều hành hiện đại. Trong bài viết chúng tôi sẽ mô tả cách sử dụng bộ điều khiển vi mô PIC18F2550 để phát triển một sản phẩm dựa trên USB. SVTH: NGUYỄN VĂN PHƯƠNG – LÊ QUYẾT THẮNG 3 Truyền Thông USB qua PIC18F2550 GVHD : Nguyễn Đăng Khoa Chương 1: Tổng quan về PIC18F2550 I. Tổng quan về PIC PIC là một họ vi điều khiển RISC được sản xuất bởi công ty Microchip Technology. Dòng PIC đầu tiên là PIC1650 được phát triển bởi Microelectronics Division thuộc General_Instrument. PIC bắt nguồn từ chữ viết tắt của “Programmable Intelligent Computer” (Máy tính khả trình thông minh) là một sản phẩm của hãng General Instruments đặt cho dòng sản phẩm đầu tiên của họ là PIC1650. Lúc này, PIC 1650 được dùng để giao tiếp với các thiết bị ngoại vi cho máy chủ 16 bit CP1600, vì vậy, người ta cũng gọi PIC với tên “Peripheral Interface Controller” (Bộ điều khiển giao tiếp ngoại vi). CP1600 là một CPU tốt, nhưng lại kém về các hoạt động xuất nhập, và vì vậy PIC 8-bit được phát triển vào khoảng năm 1975 để hỗ trợ hoạt động xuất nhập cho CP1600. PIC sử dụng microcode đơn giản đặt trong ROM, và mặc dù, cụm từ RISC chưa được sử dụng thời bấy giờ, nhưng PIC thực sự là một vi điều khiển với kiến trúc RISC, chạy một lệnh một chu kỳ máy (4 chu kỳ của bộ dao động). Năm 1985 General Instruments bán bộ phận vi điện tử của họ, và chủ sở hữu mới hủy bỏ hầu hết các dự án – lúc đó quá lỗi thời. Tuy nhiên, PIC được bổ sung EPROM để tạo thành 1 bộ điều khiển vào ra khả trình. Ngày nay rất nhiều dòng PIC được xuất xưởng với hàng loạt các module ngoại vi tích hợp sẵn (như USART, PWM, ADC…), với bộ nhớ chương trình từ 512 Word đến 32K Word. 1. Một số đặc tính của PIC Hiện nay có khá nhiều dòng PIC và có rất nhiều khác biệt về phần cứng, nhưng chúng ta có thể điểm qua một vài nét như sau:            8/16 bit CPU, xây đựng theo kiến trúc Harvard có sửa đổi. Flash và Rom có thể tùy chọn từ 256 byte đến 256 Kbyte Các cổng xuất/nhập (I/O) (mức logic thường từ 0V đến 5.5V, ứng với logic 0 và logic 1). 8/16 bit timer. Các chuẩn giao tiếp nối tiếp đồng bộ/ khung đồng bộ USART. Bộ chuyển đổi ADC Analog-to-digital converters, 10/12 bit. Bộ so sánh điện áp (Voltage Comparator). Các module Capture/Compare/PWM. LCD MSSP peripheral dựng cho các giao tiếp I2C, SPI. Bộ nhớ nội EPROM – Có thể ghi/xóa tới 1 triệu lần. SVTH: NGUYỄN VĂN PHƯƠNG – LÊ QUYẾT THẮNG 4 Truyền Thông USB qua PIC18F2550      GVHD : Nguyễn Đăng Khoa Module điều khiển động cơ, đọc encoder. Hỗ trợ giao tiếp USB. Hỗ trợ giao tiếp CAN. Hỗ trợ giao tiếp LIN. Hỗ trợ giao tiếp IrDA. Một số dòng có tích hợp bộ RF (PIC16f639 và RFPIC).          Các đặc điểm đặc biệt: Có thể ghi/ xoá 100.000 lần với kiểu bộ nhớ chương trình Enhanced Flash. EPROM có thể lưu trữ dữ liệu hơn 40 năm. Có thể tự lập trình lại dưới sự điều khiển của phần mềm. Mạch lập trình nối tiếp qua 2 chân. Nguồn đơn 5V cấp cho mạch lập trình nối tiếp. Watchdog Timer (WDT) với bộ dao động RC tích hợp sẵn trên Chip cho hoạt động đáng tin cậy.Có thể lập trình mờ bảo vệ. Tiết kiệm năng lượng với chế độ Sleep. Có thể lựa chọn bộ dao động. 2. Phân loại Tiêu chuẩn để phân nhóm dựa trên sự khác nhau về kiến trúc bộ xử lý bên trong vi điều khiển.     Số các thanh ghi có thể truy cập được. Có hay không có ngắt, số lượng ngắt. Số lượng các phần cứng có chức năng đặc biệt. Độ dài từ lệnh.  Dựa vào những đặc điểm đó, vi điều khiển Pic được chia làm 4 họ: a) Họ cấp thấp (Low_end) Gồm các loại được kí hiệu 12C5xx, 16C5x, 16C505, 16HV540:  Độ dài từ lệnh 12 bit  Bố trí các thanh ghi: có 32 thanh ghi trên một bank, tối đa có bốn bank.  Đặc điểm chung:  Rất thích hợp trong cac ứng dụng giao diện đơn giản với ngoại vi.  Bộ nhớ chương trình kiểu OTP hoặc EPROM xóa được bằng tia cực tím. SVTH: NGUYỄN VĂN PHƯƠNG – LÊ QUYẾT THẮNG 5 Truyền Thông USB qua PIC18F2550 GVHD : Nguyễn Đăng Khoa  Tốc độ cao, thực hiện được năm triệu chỉ thị/s với tần số xung nhịp 20MHz.  Chỉ có một bộ đếm Timer.  Không có các ngắt cứng.  Không có các lối ra tang cường.  Nạp trình song song, trừ PIC12C5xx và PIC16C505 được nạp trình nối tiếp theo giao thực ICSP. a) Họ cấp trung (Mid-range) Bao gồm 12C6xx, 14C000, 16C55x, 16C6x, 16C62x, 16F62x, 16C67x, 16C8x, 16F87x và 16C9xx.  Độ dài từ lệnh 14 bit.  Là họ vi điều khiển Pic thông dụng nhất hiện nay.  Bố trí các thanh ghi: 128 byte trên một bank, tối đa 4 bank.  Là vi điều khiển vạn năng tính năng mạnh.  Có rất nhiều biến thể khác nhau, với các kiểu đóng vỏ đa dạng: DIP, PLCC, SSOP,…  Đặc điểm:  Tốc độ cao, thực hiện được năm triệu chỉ thị/s với tần số xung nhịp 20MHz.  Có các ngắt phần cứng.  Có từ 1 đến 3 bộ đếm Timer.  Có rất nhiều kiểu khác nhau về chân vào/ra tăng cường bao gồm các vào ra tương tự, giao diện truyền thông nối tiếp: đồng bộ, không đồng bộ, I2C, SPI, CAN,.. bộ điều khiển LCD.  Bộ nhớ chương trình flash ở hầu hết các vi mạch.  Khả năng nạp trình nối tiếp ICSP.  Có khả năng tự ghi vào bộ nhớ chương trình (seflprogramming).  Có phần cứng gỡ rối chương trình ICD ở một số loại. b) Họ cao cấp(High-end). Gồm các loại 17Cxxx  Độ dài từ lệnh 16 bit.  Bố trí các thanh ghi: 224 byte trên một bank, tối đa 8 bank, 48 thanh ghi chức năng đặc biệt (SFR).  Đặc điểm:  Kiến trúc khác so với Pic cấp trung, cấp thấp. SVTH: NGUYỄN VĂN PHƯƠNG – LÊ QUYẾT THẮNG 6 Truyền Thông USB qua PIC18F2550 GVHD : Nguyễn Đăng Khoa  Có các lẹnh tăng cường và nhiều khả năng định địa chỉ.  Vi điều khiển giao tiếp bus, truy cập các thiết bị song song trực tiếp.  Có một số lối vào/ra tăng cường.  Bộ nhớ chương trình OTP.  Nạp trình kiểu song song. c) Họ cấp cao (High-performance). Gồm những loại có ký hiệu 18Cxxx và 18Fxxx:  Độ dài từ lệnh 16 bit.  Bố trí các thanh ghi 156 byte trên 1 bank, tối đa có 16 bank.  Đặc điểm:  Kiến trúc nâng cao, dựa trên nền tảng của họ cấp trung, then xu hướng thừa kế những tính năng của các loại cấp trung đồng thời bổ xung các tính năng mới. Do đó dần dần có khả năng thay thế toàn bộ Pic cấp trung.  Có các lệnh tăng cường và nhiều khả năng định địa chỉ.  Có khả năng truy nhập tới 2Mbyte bộ nhớ chương trình, 4Kbyte bộ nhớ Ram.  Có thể lập trình được mức độ ưu tiên các nguồn ngắt.  Khả năng vào/ra tương tự họ cấp trung.  Tần số hoạt động tối đa 40MHz, có bộ nhân tần số PLL.  Có bộ nhớ chương trình flash.  Nạp nối tiếp, có khả năng tự ghi vào bộ nhớ chương trình. SVTH: NGUYỄN VĂN PHƯƠNG – LÊ QUYẾT THẮNG 7 Truyền Thông USB qua PIC18F2550 II. GVHD : Nguyễn Đăng Khoa VI ĐIỀU KHIỂN PIC18F2550. 1. Tổng quan về pic18f2550. Lý tưởng cho các ứng dụng năng lượng thấp (nanoWatt) và kết nối được hưởng lợi từ sự sẵn có của ba cổng nối tiếp: FS-USB (12 Mbit / s), I²C ™ và SPI ™ (tối đa 10Mbit / s) và nối tiếp không đồng bộ (có khả năng LIN) cổng (EUSART).  Một lượng lớn bộ nhớ RAM để đệm và bộ nhớ chương trình FLASH nâng cao làm cho nó lý tưởng cho các ứng dụng giám sát và điều khiển nhúng yêu cầu kết nối định kỳ với Máy tính cá nhân (miễn phí) qua USB để tải lên / tải xuống dữ liệu và / hoặc cập nhật chương trình cơ sở.  Trong khi hoạt động lên đến 48 MHz, PIC18F2550 cũng chủ yếu là phần mềm và phần cứng tương thích với các thiết bị OTP USB tốc độ thấp PIC16C745. PICSTART® Plus hiện KHÔNG hỗ trợ thiết bị này nhưng có thể hỗ trợ thiết bị này trong tương lai. SVTH: NGUYỄN VĂN PHƯƠNG – LÊ QUYẾT THẮNG 8 Truyền Thông USB qua PIC18F2550 GVHD : Nguyễn Đăng Khoa 2. Sơ đồ chân. Sơ đồ chân của PIC18F2550 dạng DIP có 28 chân. Chức năng chân PIC18F25550 STT 1 Tên chân /VPP/RE3 2 RA0/AN0 3 RA1/AN1 4 RA2/AN2/VREF-/CVREF 5 RA3/AN3/VRFF+ 6 RA4/T0CKI/C1OUT/RCV Chức năng chân : Hoạt động Reset ở mức thấp VPP : ngõ vào áp lập trình RA0 : xuất/nhập số AN0 : ngõ vào tương tự RA1 : xuất/nhập số AN1 : ngõ vào tương tự RA2 : xuất/nhập số AN2 : ngõ vào tương tự VREF-: ngõ vào điện áp chuẩn (thấp) của bộ A/D CVREF: đầu ra so sánh tương tự RA3 : xuất/nhập số AN3 : ngõ vào tương tự VREF+ : ngõ vào điện áp chuẩn (cao) của bộ A/D RA4 : xuất/nhập số TOCKI : ngõ vào xung clock bên ngoài cho timer0 C1OUT : Ngõ ra bộ so sánh 1 RCV: đầu vào RCV thu phát ngoài USB SVTH: NGUYỄN VĂN PHƯƠNG – LÊ QUYẾT THẮNG 9 Truyền Thông USB qua PIC18F2550 GVHD : Nguyễn Đăng Khoa 7 RA5/AN4/SS/HLVDIN/C2OUT 8 9 VSS OSC1/CLKI 10 OSC2/CLKO/RA6 11 RC0/T1OSO/T13CKI 12 RC1/T1OSI/CCP2(1)/UOE 13 RC2/CCP1 14 VUSB 15 RC4/D-/VM 16 RC5/D+/VP 17 RC6/TX/CK 18 RC7/RX/DT/SDO RA5 : xuất/nhập số AN4 : ngõ vào tương tự 4 SS : ngõ vào chọn lựa SPI phụ HLVDIN: đầu vào phát hiện điện áp cao/ thấp C2OUT : ngõ ra bộ so sánh 2 Chân nối đất Ngõ vào dao động thạch anh hoặc xung clock bên ngoài. - OSC1 : ngõ vào dao động thạch anh hoặc xung clock bên ngoài. Ngõ vào Schmit trigger khi được cấu tạo ở chế độ RC ; một cách khác của CMOS. - CLKI : ngõ vào nguồn xung bên ngoài. Luôn được kết hợp với chức năng OSC1. Ngõ vào dao động thạch anh hoặc xung clock - OSC2 : Ngõ ra dao động thạch anh. Kết nối đến thạch anh hoặc bộ cộng hưởng. - CLKO : ở chế độ RC, ngõ ra của OSC2, bằng tần số của OSC1 và chỉ ra tốc độ của chu kỳ lệnh. RC0 : xuất/nhập số T1OCO : ngõ vào bộ dao động Timer 1 T13CKI : ngõ vào xung clock bên ngoài Timer1/Timer3 RC1 : xuất/nhập số T1OSI : ngõ vào bộ dao động Timer 1 CCP2 : ngõ vào Capture 2, ngõ ra compare 2, ngõ ra PWM2 UOE: bộ thu USB ngoài OE RC2 : xuất/nhập số CCP1 : ngõ vào Capture 1, ngõ ra compare 1, ngõ ra PWM1 Đẩu ra bộ điều chỉnh điện áp USB 3.3V bên trong RC4 : xuất/nhập số D- : giao tiếp USB VM: đầu vào VM thu phát ngoài USB RC5: xuất/nhập số D+: giao tiếp USB VP: đầu vào VP thu phát ngoài USB RC6 : xuất/nhập số TX : truyền bất đồng bộ USART CK : xung đồng bộ USART RC7 : xuất/nhập số SVTH: NGUYỄN VĂN PHƯƠNG – LÊ QUYẾT THẮNG 10 Truyền Thông USB qua PIC18F2550 GVHD : Nguyễn Đăng Khoa 19 20 21 VSS VDD RB0/AN12/INT0/FLT0/SDI/SDA 22 RB1/AN10/INT1/SCK/SCL 23 RB2/ AN8/INT2/VMO 24 RB3/ AN9/CCP2(1)/VPO 25 RB4/AN11/KBI0 26 RB5/KBI1/PGM 27 RB6/KBI2/PGC RX : nhận bất đồng USART DT : dữ liệu đồng bộ USART SDO : dữ liệu ra SPI Chân nối đất Chân nguồn của PIC. RB0: xuất/nhập số AN12: đầu vào tương tự INT0: ngắt ngoài 0 FLT0:đầu vào PWM SDI: dữ liệu trong SPI SDA: dữ liệu vào/ra I2C RB1: xuất/nhập số AN10: đầu vào tương tự INT1: ngắt ngoài 1 SCK: vào/ra nối tiếp đồng bộ cho SPI SCL: vào/ra nối tiếp đồng bộ cho I2C RB2: xuất/nhập số AN8: đầu vào tương tự INT2: ngắt ngoài 2 VMO: đầu ra VMO thu phát ngoài USB RB3: xuất/nhập số AN9: đầu vào tương tự CCP2(1): đầu ra bộ so sánh 2/ đầu ra PWM2 VPO: đầu ra VPO thu phát ngoài USB RB4: xuất/nhập số AN11: đầu vào tương tự KBI0: Interrupt-on-change pin. RB5: xuất/nhập số KBI1: Interrupt-on-change pin PGM: cho phép lập trình ICSP điện áp thấp RB6: xuất/nhập số KBI2: Interrupt-on-change pin PGC: mạch vi sai và xung clock lập trình ICSP 28 RB7/KBI3/PGD RB7: xuất/nhập số KBI3: Interrupt-on-change pin PGD: mạch vi sai và dữ liệu lập trình ICSP 3. Đặc điểm kỹ thuật.  24 chân I / O với điều khiển hướng riêng  Bộ tạo dao động 8 MHz bên trong hoặc Bộ tạo dao động 48 MHz bên ngoài  Bộ chuyển đổi A / D 10 ch, 10 bit  1 x A / E / USART  1 x MSSP (SPI / I2C)  2 x ĐCSTQ (Caputure / So sánh / PWM)  Hẹn giờ 1 x 8 bit SVTH: NGUYỄN VĂN PHƯƠNG – LÊ QUYẾT THẮNG 11 Truyền Thông USB qua PIC18F2550        GVHD : Nguyễn Đăng Khoa Hẹn giờ 3 x 16 bit Bộ nhớ chương trình 32 KB RAM 2.048 byte EEPROM 256 byte Dải điện áp hoạt động - 2.0V đến 5.5V 25mA Nguồn / I / O hiện tại chìm Chế độ gỡ lỗi trong mạch (ICD)  Giao diện USB 2.0 tốc độ đầy đủ (12Mbit / s):      RAM cổng kép 1K byte + RAM GP 1K byte Máy thu phát tốc độ tối đa 16 Điểm cuối (IN / OUT) Điện trở kéo lên bên trong (D + / D-) Hiệu suất 48 MHz (12 MIPS) Đặc biệt: ta có thể nhận ra chân D+ và D- từ kết nối USB ( chân 16 và chân 15). 4. Thông số. Tần suất hoạt động Kính thước bộ nhớ chương trình(Flash) Tốc độ CPU (MIPS / DMIPS) SRAM (byte) EEPROM (byte) Thiết bị ngoại vi truyền thông kỹ thuật số Thiết bị ngoại vi Capture / So sánh / PWM Timer Bộ so sánh Số lượng mô-đun USB Phạm vi nhiệt độ Dải điện áp hoạt động (V) DC – 48MHz 32 (Kbyte) 12 2048 256 1 –UART, 1-SPI, 1-I2CMSSP(SPI/I2C) 2 Chụp đầu vào, 2 ĐCSTQ, 1x8bit, 3x16bit 2 1 -40 đến 85℃ 2 đến 5,5 Chương 2: Giao tiếp UART và USB SVTH: NGUYỄN VĂN PHƯƠNG – LÊ QUYẾT THẮNG 12 Truyền Thông USB qua PIC18F2550 GVHD : Nguyễn Đăng Khoa I. Giao tiếp UART. 1. Khái quát UART. Các tên đầy đủ UART là “Universal Asynchronous Receiver / Transmitter”, và nó là một vi mạch sẵn có trong một vi điều khiển nhưng không giống như một giao thức truyền thông (I2C & SPI). Chức năng chính của UART là truyền dữ liệu nối tiếp. Trong UART, giao tiếp giữa hai thiết bị có thể được thực hiện theo hai cách là giao tiếp dữ liệu nối tiếp và giao tiếp dữ liệu song song. Nếu chúng ta nhớ các bộ phận máy tính cũ như máy in, chuột, bàn phím được liên kết với sự trợ giúp của các đầu nối. Quá trình giao tiếp giữa máy tính và các bộ phận này có thể được thực hiện bằng UART. Universal serial Bus (USB) đã thay đổi tất cả các loại nguyên tắc giao tiếp trên máy tính. Nhưng UART vẫn được sử dụng trong các ứng dụng được khai báo ở trên. Tất cả các loại kiến trúc vi điều khiển đều có phần cứng UART tích hợp do giao tiếp nối tiếp và chỉ sử dụng hai cáp để liên lạc. 2. UART (PIC18F2550) Một số thiết bị như GPS, GSM, RFID, cảm biến, vv cần phải giao tiếp với vi điều khiển PIC để truyền hoặc nhận thông tin. Để giao tiếp với vi điều khiển PIC, một số giao thức truyền thông được sử dụng như RS232, SPI, I2C, CAN vv Về cơ bản, một giao thức là một tập hợp các quy tắc được cả người gửi và người nhận đồng ý. PIC18F2550 có một mô-đun USART được tích hợp sẵn, rất hữu ích cho giao tiếp nối tiếp. Với sự giúp đỡ của USART, chúng tôi có thể gửi / nhận dữ liệu đến máy tính hoặc các thiết bị khác. USART cũng được sử dụng trong giao tiếp PIC với các mô-đun khác nhau như Wi-Fi (ESP8266), Bluetooth, GPS, GSM, v.v. Chúng ta sẽ thấy cách giao tiếp được thiết lập giữa vi điều khiển PIC và PC thông qua USART bằng giao thức RS232. Chúng ta hãy bắt đầu với giao tiếp nối tiếp sử dụng PIC18F2550. SVTH: NGUYỄN VĂN PHƯƠNG – LÊ QUYẾT THẮNG 13 Truyền Thông USB qua PIC18F2550 2.1. GVHD : Nguyễn Đăng Khoa Truyền thông không đồng bộ. PIC18F2550 có bộ thu phát không đồng bộ tích hợp. Không đồng bộ nghĩa là mỗi ký tự (byte dữ liệu) được đặt ở giữa các bit bắt đầu và dừng. Bit bắt đầu luôn luôn là 0 (thấp) và bit dừng luôn luôn là 1 (cao). Như hình các bạn có thể thấy. Khi ở trạng thái chờ mức điện thế ở mức 1 (high). Khi bắt đầu truyền START bit sẻ chuyển từ 1 xuống 0 để báo hiệu cho bộ nhận là quá trình truyền dữ liệu sắp xảy ra. Sau START bit là đến các bit dữ liệu D0-D7 (Theo hình vẽ các bit này có thể ở mức High or Low tùy theo dữ liệu). Sau khi truyền hết dữ liệu thì đến Bit Parity để bộ nhận kiểm tra tính đúng đắn của dữ liệu truyền (vấn đề này mình sẽ giải thích rõ hơn trong tài liệu CRC trong thời gian tới). Cuối cùng là STOP bit là 1 báo cho thiết bị rằng các bit đã được gửi xong. Thiết bị nhận sẽ tiến hành kiểm tra khung truyền nhằm đảm báo tính đúng đắn của dữ liệu. Các thông số cơ bản trong truyền nhận UART: - Baund rate (tốc độ baund ): Khoảng thời gian dành cho 1 bit được truyền. Phải được cài đặt giống nhau ở gửi và nhận. - Frame (khung truyền ): Khung truyền quy định về số bit trong mỗi lần truyền. - Start bit : là bit đầu tiên được truyền trong 1 Frame. Báo hiệu cho thiết bị nhận có một gói dữ liệu sắp đc truyền đến. Bit bắt buộc. - Data : dữ liệu cần truyền. Bit có trọng số nhỏ nhất LSB được truyền trước sau đó đến bit MSB. - Parity bit : kiểm tra dữ liệu truyền có đúng không. SVTH: NGUYỄN VĂN PHƯƠNG – LÊ QUYẾT THẮNG 14 Truyền Thông USB qua PIC18F2550 GVHD : Nguyễn Đăng Khoa - Stop bit : là 1 hoặc các bit báo cho thiết bị rằng các bit đã được gửi xong. Thiết bị nhận sẽ tiến hành kiểm tra khung truyền nhằm đảm bảo tính đúng đắn của dữ liệu. Bit bắt buộc. 2.2. Tốc độ bit và tốc độ truyền. Tốc độ truyền dữ liệu trong giao tiếp dữ liệu nối tiếp được biểu thị bằng bps (bit trên giây). Một thuật ngữ được sử dụng rộng rãi khác cho bps là tốc độ truyền; có nghĩa là, số lần thay đổi tín hiệu mỗi giây. Ở đây tín hiệu ở dạng bit, do đó tốc độ bit bằng tốc độ truyền. 2.3. Chuyển đổi cấp độ. Mặc dù có nhiều chân trong đầu nối DB9, chúng ta không cần tất cả. Chúng ta chỉ cần sử dụng các chân RX, TX và GND. Chuyển đổi mức PIC18F TTL(logic) thành mức RS232 và ngược lại : PC có mức RS232 trong khi vi điều khiển PIC có mức TTL. RS232 có mức điện áp khác nhau cho logic 0 và 1. Để làm cho nó tương thích với các mức điện áp PIC TTL, chúng ta phải sử dụng MAX232 IC. SVTH: NGUYỄN VĂN PHƯƠNG – LÊ QUYẾT THẮNG 15 Truyền Thông USB qua PIC18F2550 II. GVHD : Nguyễn Đăng Khoa Giao tiếp USB. 1. Khái quát giao tiếp USB USB (Universal Serial Bus) là một giải pháp nhanh chóng và linh động hiện nay để thực hiện giao tiếp giữa máy tính và thiết bị ngoại vi. Hầu hết các máy tính thế hệ mới đều được hỗ trợ giao tiếp USB, thích hợp cho việc giao tiếp với các thiết bị ngoại vi thông dụng như mouse, keyboard,... cũng như các thiết bị ngoại vi khác được phát triển bởi người sử dụng. USB được thiết kế ngày càng hoàn thiện, giúp tạo nhiều thuận lợi cho người sử dụng. Ưu điểm : Dễ sử dụng :Người sử dụng thiết bị ngoại vi giao tiếp qua USB chỉ việc cắm thiết bị vào cổng USB của máy tính mà không cần quan tâm nhiều đến các thao tác cài đặt, khai báo thiết bị. Khi không còn muốn sử dụng chỉ việc rút thiết bị ra. Các thao tác còn lại đều được thực hiện bởi máy tính và thiết bị. Ngoài ra nguồn cung cấp cho thiết bị cũng được hỗ trợ, trong nhiều trường hợp thiết bị không cần thêm nguồn, giúp giảm thiểu được độ phức tạp và cồng kềnh của thiết bị. Giá thành hợp lý: mặc dù độ phức tạp của thiết bị cao hơn, tuy nhiên giá thành của thiết bị không quá cao, nhất là trong trường hợp sử dụng giao tiếp USB phiên bản 1.x. Bên cạnh đó cấu trúc truyền dẫn đơn giản cũng cho phép tiết kiệm chi phí của thiết bị. Cho phép nhiều thiết bị trên cùng một đường truyền: USB cho phép tối đa 127 thiết bị giao tiếp với máy tính trong cùng một thời điểm. Nhiều sự hỗ trợ cho người phát triển sản phẩm: người phát triển sản phẩm được hỗ trợ mọi công cụ cần thiết, từ hệ điều hành, phần mềm trên máy tính đến phần cứng và phần mền cho thiết bị. Rất nhiều hãng sản xuất đã hỗ trợ giao tiếp này.USB được phát triển không ngừng và mang lại nhiều thuận lợi hơn cho người sử dụng cũng như người phát triển sản phẩm. Nhược điểm : Tuy nhiên, bên cạnh đó USB còn có một số hạn chế nhất định như: +Khoảng cách truyền nhận giữa thiết bị ngoại vi và máy tính không lớn khoảng 5m. +Yêu cầu nhiều sự hỗ trợ từ hệ điều hành và phần mềm trên máy tính. +Tốc độ dữ liệu thực ra vẫn còn hạn chế. SVTH: NGUYỄN VĂN PHƯƠNG – LÊ QUYẾT THẮNG 16 Truyền Thông USB qua PIC18F2550 GVHD : Nguyễn Đăng Khoa +Chỉ thực hiện được giao tiếp giữa máy tính (host) và ngoại vi, không hỗ trợ chức năng giao tiếp giữa các ngoại vi với nhau. Điều này là một phần do mục đích phát triển của USB, bên cạnh đó sự cải tiến không ngừng sẽ dần khắc phục các nhược điểm này. +Khi thiết bị gặp sự cố thì khả năng sửa chữa rất khó. +Nhiều trở ngại cho người phát triển sản phẩm: do cấu trúc protocol phức tạp, cần có nhiều kiến thức về các lĩnh vực khác nhau, bên cạnh đó khó phát hiện ra sai sót trong quá trình phát triển sản phẩm. 2. Tốc độ báo hiệu (tốc độ truyền).  Chế độ Viết tắt Tốc độ tổng dữ liệu Được giới thiệu trong Tốc độ thấp LS 1,5 Mbit / s (187,5 KB / giây) USB 1.0 Hết tốc độ FS 12 Mbit / s (1,5 MB / s) USB 1.0 Tốc độ cao, tốc độ cao HS 480 Mbit / s (60 MB / giây) USB 2.0 Siêu tốc SS 5 Gbit / s (625 MB / s) USB 3.0 Siêu tốc độ + SS + 10 Gbit / s (1,25 GB / giây) USB 3.1 Siêu tốc độ + SS + 20 Gbit / s (2,5 GB / giây) USB 3.2 3. Các thành phần. Một mạng USB có thẻ bao gồm các thành phần: +Host: thông thường là một máy tính, đóng vai trò là trung tâm của mạng. Một mạng USB chỉ có duy nhất một host. +Device: là thiết bị giao tiếp với máy tính, có nhiệm vụ thực hiện một chức năng ngoại vi nào đó và được hỗ trợ giao tiếp USB. +Hub: có thể hiểu đây là thiết bị trung gian giữa host và device. Hub có vai trò mở rộng số lượng cổng giao tiếp với host, đồng thời điều chỉnh SVTH: NGUYỄN VĂN PHƯƠNG – LÊ QUYẾT THẮNG 17 Truyền Thông USB qua PIC18F2550 GVHD : Nguyễn Đăng Khoa tốc độ dữ liệu giữa device và host trong nhiều trường hợp có nhiều device gắn vào host với các tốc độ dữ liệu khác nhau. 4. Cấu trúc truyền dẫn của USB. USB truyền dữ liệu và nguồn điện qua 4 dây, bao gồm dây VUSB, GND, và hai dây truyền dữ liệu là D+,D-. Điện áp VUSB trên đường dây thông thường là 5V. Tùy thuộc vào chế độ hoạt động của thiết bị mà giá trị điện áp và dòng điện trên đường truyền có thể thay đổi. Dữ liệu truyền trên đường dây có dạng tín hiệu vi sai trên hai dây D+ và D- và được mã hóa dưới dạng ZRZI. Dạng mã hóa này cho phép truyền được cả xung clock trên đường truyền. Bên cạnh đó cũng có các khung đồng bộ được phát đi để đồng xung clock ở đầu phát và đầu thu trước khi dữ liệu được truyền. Cực tính của hai dây D+ và D- trên đường truyền luôn ngược nhau khi hoạt động bình thường. Ngoài ra tốc độ dữ liệu còn được xác định thông qua các điện trở kéo lên trên hai dây D+ và D-. Hai loại jack kết nối thường được sử dụng là USB connector Type A và Type B: SVTH: NGUYỄN VĂN PHƯƠNG – LÊ QUYẾT THẮNG 18 Truyền Thông USB qua PIC18F2550 GVHD : Nguyễn Đăng Khoa Cáp truyền dẫn là loại cáp 4 dây có màu sắc được quy định như sau: 5. Các dạng truyền nhận dữ liệu của USB Để theo sát được nhu cầu trong việc sử dụng giao tiếp USB, có 4 dạng truyền nhận dữ liệu được hỗ trợ, bao gồm: +Control transfer: dạng truyền này thường được sử dụng cho việc truyền lệnh hay trạng thái, được sử dụng trong quá trình trao đổi các thông tin về cấu hình và cái đặt device khi device được gắn vào một cổng USB của host. +Interrupt transfer: khi device cần truyền dữ liệu với host, device sẽ tạo ra một yêu cầu ngắt. Khi host xử lý các device theo quá trình hỏi vòng, host sẽ đọc được yêu cầu này và tiến hành các thao tác trao đổi dữ liệu với device. Kích thước tối đa của gói dữ liệu của dạng truyền này thay đổi tùy theo chế độ truyền nhận dữ liệu (8 byte đối với low speed, 64 byte đối với full speed, 1024 byte đối với high speed). SVTH: NGUYỄN VĂN PHƯƠNG – LÊ QUYẾT THẮNG 19 Truyền Thông USB qua PIC18F2550 GVHD : Nguyễn Đăng Khoa +Isochronous transfer: dữ liệu được truyền liên tục và phù hợp với các dạng dịch vụ dữ liệu có yêu cầu khắc khe về thời gian thực như dong dữ liệu audio hay video. Dạng truyền này không được hỗ trợ cao khả năng kiểm soát lỗi dữ liệu hay thứ tự gói dữ liệu, cho phép một mức độ mất dữ liệu thích hợp, và chỉ cho phép ở chế độ high speed. +Bulk transfer: thích hợp cho việc truyền nhận gói tin dung lượng lớn, yêu cầu đọ chính xác cao về dữ liệu truyền nhận như truyền nhận dữ liệu giữa máy in, máy scan và máy tính, có cơ chế khắc phục và sửa lỗi tốt. Dạng truyền này chỉ thức hiện được ở chế độ full speed và high speed. 6. Quy trình kết nối giữa device và host. Khi một device được gắn vào một port của host, để thiết lập một kết nối với host, device phải tiến hành một quy trình kết nối được điều khiển bởi host. Quy trình này được gọi là enumeration và được thực hiện giữa device và host, điều đó có nghĩa là người sử dụng không cần thực hiện các thao tác cài đặt cho device mới. Quy trình này sẽ được tiến hành thông qua các bước: +Bước 1: Host phát hiện có một device mới thông qua điện trở kéo lên trên cặp dây D+/D-. Host đợi ít nhất 100ms để chờ cho nguồn điện cung cấp cho device đi vào trạng thái ổn định. +Bước 2: Host yêu cầu reset device vad đặt device vào trạng thái mặc định. Device trả lời bằng cách chuyển qua trạng thái địa chỉ zero. +Bước 3: Hệ điều hành yêu cầu 64 byte device descriptor. +Bước 4: Sau khi nhận được 8 byte đầu tiên của device descriptor, host lập tức yêu cầu device reset một lần nữa. +Bước 5: Host set địa chỉ cho device, đưa device đến trạng thái đã được định địa chỉ. +Bước 6: Host yêu cầu 18 byte device descriptor tiếp theo. +Bước 7: Host tiếp tục yêu cầu configuration descriptor. +Bước 8: Host tiếp tục yêu cầu endpoint descriptor. +Bước 9: Host yêu cầu string descriptor. Sau đó host tự động tìm driver cho device, sau đó yêu cầu gửi lại tất cả các descriptor trước khi yêu cầu device thiết lập cấu hình hoạt động thông qua set configuration request. SVTH: NGUYỄN VĂN PHƯƠNG – LÊ QUYẾT THẮNG 20
- Xem thêm -

Tài liệu liên quan