Giao tiếp USB

Bulk 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

 

ppt25 trang | Chia sẻ: maiphuongdc | Lượt xem: 2783 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Giao tiếp USB, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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, … 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 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ị) 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- 2.8V Trở kháng đường dây: 90  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+ 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 USB với IC FT245BM USB-Parallel Giao tiếp song song giữa FT245BM với microprocessor 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

Các file đính kèm theo tài liệu này:

  • pptgiao_tiep_usb_2566.ppt