GIAO TIẾP USB

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
Nguồn: Sưu tầm
Người gửi: Lê Anh Nhật (trang riêng)
Ngày gửi: 02h:12' 13-11-2009
Dung lượng: 655.5 KB
Số lượt tải: 111
Số lượt thích: 0 người
Giao tiếp song song
1
GIAO TIẾP USB
USB (Univeral Serial Bus) là hình thức giao tiếp hữu dụng với tính năng Plug and Play
Ra đời từ năm 1996, là kết quả của sự hợp tác của 7 công ty hàng đầu thế giới: Compaq, Digital Equipment Corporation, IBM, Intel, Microsoft, NEC, và Northern Telecom.
USB tao cơ hội cho các thiết bị giao tiếp tốc độ cao: digital camera, multimedia device, telephone device, USB disk, …
Giao tiếp song song
2
Mục tiêu của giao tiếp USB
Dễ sử dụng:
Plug and Play: tính năng cho phép người sử dụng không cần tắt máy để cài đặt cấu hình như interrupt, dipswitch, …
Bộ điều khiển USB tự phát hiện và nhận biết khi thiết bị được kết nối hoặc ngắt kết nối.
Hỗ trợ truyền dữ liệu thời gian thực:
Ứng dụng này cho phép giao tiếp với các thiết bị multimedia để truyền tín hiệu âm thanh hoặc hình ảnh
Mở rộng Port:
USB cung cấp 1 giải pháp mở rộng port cho phép tối đa 127 thiết bị kết nối cùng lúc với 1 PC
Với tốc độ kết nối mở rộng lên đến 12Mbps, nhưng mục tiêu của USB là dành cho các thiết bị tốc độ thấp và trung bình như: keyboard, mice, modem, scanner,…
Các chuẩn giao tiếp
USB 1.0
USB 1.1
USB 2.0
Giao tiếp song song
3
Port kết nối USB
Có 2 loại thông dụng: loại A và loại B
Loại A: thường dùng kết nối upstream (trên PC)
Loại B: thường dùng kết nối downstream (trên thiết bị)
Giao tiếp song song
4
Port kết nối USB (tt)
Tín hiệu logic trên USB: sử dụng mã NRZI
Logic ‘1’:
D+ >2.8V
D- <0.3V
Logic ‘0’:
D+ <0.3V
D- >2.8V
Trở kháng đường dây: 90 
Giao tiếp song song
5
Tốc độ kết nối USB
Để báo tốc độ sẽ kết nối thiết bị USB phải có điện trở 1.5k kéo lên nguồn ở ngõ D+ hoặc D-
Điện trở kéo lên này cũng dùng để host biết sự hiện hữu của thiết bị
Để chọn tốc độ Full speed (12MBit/s), điện trở 1.5k được kéo lên 3.3V ở ngõ D+
Giao tiếp song song
6
Tốc độ kết nối USB
Để chọn tốc độ Low speed (1.5Mbit/s), điện trở 1.5k được kéo lên 3.3V ở ngõ D-
Một số thiết bị có điện trở được xây dựng mạch bán dẫn, có thể điều khiển bằng firmware
Giao tiếp song song
7
Nguồn điện cung cấp
Một lợi điểm quan trọng của thiết bị USB là không cần nguồn cấp điện bên ngoài mà được cấp từ host
Thiết bị USB có 3 chế độ nguồn:
Low power: dòng cung cấp 100mA, điện áp trong khoảng 4.4V - 5.25V
High power: dòng cung cấp tối đa 500mA, điện áp bus từ 4.75V-5.25V
Self power: thiết bị được cấp nguồn từ bên ngoài
Giao tiếp song song
8
Các kiểu truyền
Có 4 kiểu truyền USB:
Control transfer:
truyền 2 hướng
hỗ trợ cài đặt, truyền thông tin giữa host và function
Gồm 3 giai đoạn: setup, data, status
Mục đích truyền thông tin khi thiết bị bắt đầu kết nối với host
Isochronous transfer:
truyền 1 hướng hoặc 2 hướng
mục đích truyền dữ liệu với tốc độ cố định, bỏ qua lỗi
Ví dụ: truyền voice qua USB
Interrupt transfer:
Chỉ truyền 1 hướng đi vào host
Mục đích truyền dữ liệu nhỏ, không liên tục
Ví dụ: thiết bị sử dụng interrupt như keyboard, mouse
Bulk transfer:
truyền 1 hướng hoặc 2 hướng
mục đích truyền dữ liệu lớn, chính xác, không khắc khe về thời gian
Ví dụ: scanner, printer, USB disk

Giao tiếp song song
9
Các loại gói dữ liệu (packet)
Việc truyền dữ liệu cổng USB luôn được khởi động từ host
Dữ liệu truyền đi gồm 5 loại gói (packet):
Token packet: báo mode truyền
Start of Frame packet: chỉ thị bắt đầu 1 khung mới
Data packet: chứa dữ liệu được truyền đi
Handshake packet: dùng để xác nhận dữ liệu và báo lỗi
Special packet: dùng để báo tốc độ mà host muốn truyền
Giao tiếp song song
10
TOKEN packet
SYNC: byte đồng bộ tín hiệu clock, thường chọn 01h
PID (Packet identifier): cho biết loại packet
Giao tiếp song song
11
TOKEN packet
PID: có 4 bit ở vị trí nửa byte cao, 4 còn lại là bù của 4 bit ID dùng để kiểm tra
ADDR: xác định địa chỉ của thiết bị
ENDP: xác định kênh vào của thiết bị
CRC (Cyclic Redundancy Check): gồm 5 bit kiểm tra
Giao tiếp song song
12
Data packet
DATA: có 2 loại DATA0, DATA1, có thể có chiều dài từ 0 đến 1023 byte
Start of Frame Packet
SOF packet được truyền bởi host sau mỗi 1ms
Giao tiếp song song
13
Handshake packet
Có 3 loại Handshake packet được xác định bởi ID:
ACK: xác nhận gói đã nhận thành công
NAK: báo cáo thiết bị không thể nhận hoặc gửi gói dữ liệu
STALL: yêu cầu sự can thiệp từ host
Giao tiếp song song
14
Special packet
Có 4 loại Special packet được xác định bởi ID:
PRE: yêu cầu mode truyền tốc độ thấp
ERR: báo lỗi
Plit: chia dữ liệu truyền
Ping: dùng để kiểm tra đường truyền
Giao tiếp song song
15
Control transfer (truyền điều khiển)
Việc truyền điều khiển gồm 3 bước:
Setup stage
Data stage
Status stage
Setup stage: gồm 3 gói packet
Token: truyền địa chỉ và end point
Data: luôn truyền dữ liệu Data0 cài đặt kích thước dữ liệu
Handshake: để báo nhận thành công hoặc báo lỗi
Giao tiếp song song
16
Control transfer (tt)
Data stage: gồm 3 gói packet
Token: báo hướng truyền IN hoặc OUT
Data: các byte dữ liệu được truyền
Handshake: xác nhận thành công hoặc báo lỗi truyền
Giao tiếp song song
17
Control transfer (tt)
Status stage: báo trạng thái truyền
có 2 trường hợp xảy ra
IN: khi host nhận dữ liệu
OUT: khi host gửi dữ liệu
Setup stage
Data stage
Status stage
Giao tiếp song song
19
Isochronous transfer
Khi host truyền 1 gói IN token, thiết bị sẽ truyền dữ liệu tới host
Nếu host truyền OUT token, thiết bị sẽ chặn data tới host ngay sau đó
Không có quá trình handshake trong Isochronous transfer
Truyền tương tự như Isochronous transfer ngoại trừ có thêm chu kỳ Handshake sau chu kỳ dữ liệu để bảo đảm dữ liệu chính xác
Có 3 tín hiệu bắt tay
ACK: nếu dữ liệu nhận được không có lỗi
NAK: báo rằng thiết bị không thể thực hiện được yêu cầu từ host
STALL: báo rằng có lỗi trên thiết bị và yêu cầu can thiệp phần mềm từ host
Bulk transfer
Giao tiếp song song
20
Interrupt transfer
Tương tự như việc truyền kiểu Bulk transfer ngoại trừ chỉ có IN token
Khi nhận được IN token, thiết bị truyền dữ liệu về host
Nếu thiết bị không có dữ liệu ngắt trả về thì báo NAK
Nếu thiết bị bị trì hoãn hoặc yêu cầu can thiệp phần mềm từ host thì báo STALL
Giao tiếp song song
21
Các bước kết nối thiết bị qua cổng USB
Khi một thiết bị USB được kết nối vào bus, host sẽ thực hiện 1 tiến trình để xác nhận và quản lý thiết bị, tiến trình này là đặc tính “Plug and Play” của USB
Tiến trình này gồm các bước sau:
Attached: Khi có kết nối thiết bị chủ sẽ nhận biết nhờ sự thay đổi tín hiệu D+ và D-
Powered: host gửi lệnh port enable and reset, đồng thời cấp dòng 100mA cho thiết bị, lúc này thiết bị được khởi động
Default: sau khi reset, thiết bị ở trạng thái mặc định (default) với địa chỉ 0 và endpoint 0
Address: host gán 1 địa chỉ cho thiết bị để quản lý
Configured: host gửi lệnh GET DESCRIPTOR đến thiết bị để yêu cầu định cấu hình thiết bị, sau đó host gán các giá trị cấu hình thiết bị qua setup packet. Lúc này thiết bị đã sẵn sàng để sử dụng
Giao tiếp song song
22
Giao tiếp USB với IC FT245BM USB-Parallel
Đặc tính:
Giao tiếp USB-song song truyền 2 hướng (bi-directional)
Tốc độ truyền 1MByte/s
Khả năng giao tiếp MCU, PLD, FPGA
Nguồn 5v hoặc 3.3V
Tương thích USB1.1 và USB2.0
Tần số clock từ 6MHz-48MHz
Giao tiếp song song
23
Giao tiếp USB với IC FT245BM USB-Parallel
Mạch nguồn cho FT245BM kết nối USB
Sử dụng nguồn cấp từ host
Giao tiếp song song
24
Giao tiếp USB với IC FT245BM USB-Parallel
Giao tiếp song song giữa FT245BM với microprocessor
Giao tiếp song song
25
Câu hỏi ôn tập
Những ưu điểm chính của giao tiếp USB?
Các loại gói dữ liệu trong giao tiếp USB
Giả sử để chọn giao tiếp tốc độ thấp 1.5MBit/s, cần phải cài đặt ra sao?
Để chọn mode IN, trong token packet, PID có giá trị bao nhiêu?
Làm thế nào để phát hiện gói dữ liệu bị lỗi?
Có bao nhiêu kiểu truyền giữa host với thiết bị? Nêu đặc điểm các kiểu truyền
Tại sao kiểu truyền Isochronous không có chu kỳ Handshake?
So sánh kiểu truyền Bulk transfer và Interrupt transfer
Trình bày tiến trình “Plug and Play” khi thiết bị bắt đầu kết nối với host
Thiết kế mạch giao tiếp USB với 1 MCU
 
Gửi ý kiến

Quảng bá