1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu về chuẩn giao tiếp usb

54 1,6K 17

Đ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

Thông tin cơ bản

Định dạng
Số trang 54
Dung lượng 826,05 KB

Nội dung

a.Truyền điều khiển -Truyền điều khiển là truyền theo kiểu 2 chiều -Loại truyền này thường được sử dụng để cài đặt thiết bị ngoại vi -Giao thức truyền điều khiển được bắt đầu bằng một

Trang 1

Tìm hiểu về chuẩn giao

tiếp usb

Sinh viên thực hiện: Nguyễn Bá Sỹ

Trang 2

Nội dung:

• Giới thiệu chung về chuẩn USB.

• Mô hình luồng dữ liệu USB.

• Tầng giao thức USB

• Quá trình tìm hiểu của máychủ đối với thiết bị

• Ứng dụng

Trang 3

I Giới thiệu chung về chuẩn USB

1.Định nghĩa: USB (Universal Serial Bus) là bus nối

tiếp đa năng cho phép thiết bị đầu cuối giao tiếp với máy chủ

Chuẩn truyền thông: nối tiếp

Trang 4

-Năm 2007 USB 3.0 ra đời mang 1 bước đột phá

về tốc độ truyền dữ liệu

3.Các mục tiêu hướng tới khi sử dụng USB

-Dễ dàng mở rộng các thiết bị đầu cuối của PC

-Chi phí thấp nhưng tốc độ truyền dẫn cao,lên tới 480Mb/s với USB 2.0 và 3.2 đến 4 Gb/s đối với USB3.0

- Hỗ trợ thời gian thực như video,audio…

-Được windows và các hệ điều hành khác hỗ trợ

do đó không cần driver mức thấp nhất cho các

thiết bị

- Đa năng,độ tin cậy cao

Trang 6

-USB host : là một máy chủ USB duy nhất trong hệ thống USB bất kỳ

-Thiết bị USB có thể là các thiết bị sau:

.Hub: cung cấp điểm lắp thêm vào USB

Các chức năng:cung cấp các khả năng cho hệ thống như kết nối ISDN,digital joystick, speakers .Thiết bị hiểu được giao thức USB

Trang 8

5.Giác cắm USB

Trang 10

- D+ và D- dùng để truyền tín hiệu

-Vbus và GND để cấp nguồn cho thiết bị

-USB cho phép chiều dài các đoạn cáp có thể lên tới 2 mét

- Ở phía máy chủ host thì D+ và D- được nối đất qua các điện trở Rpd còn phía ngoại vi,các đầu dây D+ và D- được bảo vệ bởi điện trở

cuối Rpu

Trang 11

II Mô hình luồng dữ liệu

1.Các thành phần trong việc thực hiện kết nối USB

Việc thực hiện kết nối USB gồm các thành phần:

-Thiết bị USB vật lý: một phần cứng ở đầu cuối của cáp USB thi hành một vài chức năng hữu dụng với người sử dụng

-Client Software: Phần mềm thi hành trên máy chủ.Phần

mềm này có thể được cung cấp bởi hệ điều hành hoặc được cung cấp cùng với thiết bị USB

Trang 12

- USB system software: là phần mềm hỗ trợ

USB trong một hệ điều hành cụ thể.Phần mềm

hệ thống USB thường được cung cấp kèm với hệ điều hành, không phụ thuộc vào một thiết bị

USB cụ thể nào

- USB host cotroller: Bao gồm các thiết bị phần cứng và phần mềm cho phép các thiết bị USB

kết nối với host

- USB bus interface layer cung cấp kết nối vật lý,gói tin,báo hiệu giữa host và một thiết bị

-USB decive layer cho thấy hệ hệ điều hành hỗ trợ thiết bị USB cần có một phần mềm hệ thống

để thực hiện việc quản lý thiết bị USB logic

Trang 13

Các vùng thực hiện trong việc kết nối USB

Trang 14

-Function layer cung cấp khả năng được thêm vào cho host qua phần mềm khách

Trang 15

3.Luồng truyền thông USB

Trang 16

-USB cung cấp sự sử dụng bus toàn diện hơn bằng cách tách các luồng truyền thông khác nhau tới một chức năng USB.

-Mỗi luồng truyền thông được kết thúc tại một điểm cuối trên một thiết bị

-Điểm cuối của thiết bị được dùng để xác định hướng của mỗi luồng truyền thông

Trang 17

4.Các loại truyền dữ liệu USB

-USB truyền dữ liệu qua một ống dẫn giữa một bên là

phần mềm khách một bên là một điểm cuối trên thiết

bị USB

-USB cung cấp 4 loại truyền dữ liệu:

.Truyền điều khiển

.Truyền ngắt

.Truyền đẳng thời

.Truyền khối

Trang 18

a.Truyền điều khiển

-Truyền điều khiển là truyền theo kiểu 2 chiều

-Loại truyền này thường được sử dụng để cài đặt

thiết bị ngoại vi

-Giao thức truyền điều khiển được bắt đầu bằng một giai đoạn thông báo, tiếp theo là giai đoạn dữ liệu và kết thúc là giai đoạn bắt tay

-Mọi thiết bị ngoại vi USB đều phải xử lý được loại truyền này

Trang 19

b.Truyền ngắt

-Truyền ngắt là kiểu truyền một chiều,sử dụng cho các thiết bị ngoại vi như chuột,bàn phím…

-Giao thức truyền ngắt khởi động khi máy

chủ(host)bắt đầu bằng 1 thông báo in(in token)

-Thiết bị trả lời bằng 1 gói NAK nếu không có ngắt -Khi có ngắt thiết bị ngoại vi trả lời bằng một gói

dữ liệu.Khi nhận hết dữ liệu máy chủ sẽ trả lời

bằng 1 gói ACK nếu không có lỗi

Trang 20

-Nếu bị nghẽn ở điểm cuối của thiết bị ngoại vi,nó sẽ gủi đến máy chủ gói STALL và đợi phần mềm hệ thống trên máy chủ xử lý

c.Truyền đẳng thời

-Truyền đẳng thời là phương pháp truyền 1 chiều

Hướng truyền có thể truyền từ thiết bị ngoại vi về máy chủ hoặc ngược lại.

-Truyền đẳng thời không dùng gói bắt tay để để thông báo kết quả truyền thông tin nên thông tin có thể bị thất lạc (dùng cho điện thoại hay loa)

Trang 21

-d Truyền khối

-Truyền khối là phương pháp truyền một chiều Hướng truyền có thể từ điểm cuối về máy chủ hoặc ngược lại

-Giao thức truyền khối gồm 3 giai đoạn: Thông báo,dữ liệu và gói bắt tay

-Nếu thiết bị bị kẹt sẽ không có giai đoạn dữ

liệu mà chỉ có thông báo và bắt tay

Trang 22

-Dữ liệu được truyền qua ống dẫn từ một vùng đệm dữ liệu trong bộ nhớ của chương trình

tương ứng tới một điểm cuối của thiết bị ngoại vi

Trang 23

III Tầng giao thức USB

32 bit cho tốc độ cao

Trang 24

-Hai bit cuối cùng của trường đồng bộ đánh dấu sự kết thúc của trường đồng bộ và sự bắt đầu của PID

Trang 25

3.Định dạng các trường của gói (Trình bày về

định dạng các trường của các loại gói trong USB là:Gói thông báo,gói dữ liệu,gói bắt tay và gói đặc biệt)

a.Trường nhận dạng gói

-Trường nhận dạng gói PID nằm ngay sau trường đồng bộ của các gói

Trang 26

-Một PID(Packet Identifier Field) gồm một trường gói 4 bít và theo sau đó là 4 bit kiểm tra

-PID cho biết kiểu gói,định dạng của gói và kiểu phát hiện lỗi được áp dụng cho gói chữa nó

-Trường kiểm tra 4 bít của PID là để đảm bảo quá

trình giải mã là đúng đắn

-Mỗi lỗi PID xảy ra nếu 4 bít của trường kiểm tra PID không phải là những sự bổ sung đảo của các bít định dạng gói tương ứng

b.Trường địa chỉ

-Trường địa chỉ chức năng(ADDR) chỉ ra chức năng

là nguồn hay đích của một gói dữ liệu dựa vào giá trị của mã thông báo PID

Trang 27

-Có tổng cộng 128 địa chỉ được xác định bởi ADDR

Trường địa chỉ(ADDR)

-Mỗi giá trị của trường địa chỉ chỉ ra địa chỉ của một chức năng duy nhất

-Khi hệ thống được cấp nguồn hoặc reset thì địa chỉ của chức năng được mặc đinh có giá trị là 0000000b

Trang 28

c.Trường điểm cuối

-Trường điểm cuối được thêm vào cho phép việc đánh địa chỉ chức năng mềm dẻo hơn khi có nhiều hơn một điểm cuối được cần đến

Trường điểm cuối

-Trường điểm cuối được định nghĩa cho các thông báo IN,SETUP,OUT và thông báo đặc biệt Ping

-Thiết bị tốc độ thấp hỗ trợ tối đa 3 ống dẫn cho một chức năng,các chức năng toàn tốc hay tốc độ cao có thể hỗ trợ tối đa tới 16 điểm cuối

Trang 29

d.Trường số khung

Trường số khung là một trường 11 bit do host tăng thêm trên mỗi khung cơ sở.Trường số lên tới con số cực đại là 7FFh và chỉ được gửi trong các mã thông báo SOF bắt đầu của mỗi khung

e.Trường dữ liệu

-Trường dữ liệu của giao thức USB cho phép kích

thước từ 0 đến 1024 byte và phải là số nguyên lần của byte

Trang 30

-các bit dữ liệu bên trong mỗi byte được chuyển ra

-Tất cả các CRC được tạo thông qua các trường tương ứng của nó ở bộ phận phát trước khi thực hiện việc nhồi bít.Các CRC được giải mã ở bộ phận nhận sau khi loại bỏ việc nhồi các bít

-Nếu 1 CRC bị hỏng thì các trường được bảo vệ bởi CRC sẽ bị bên nhận bỏ qua toàn bộ gói

Trang 31

4.Các định dạng gói

gồm có các loại gói:Gói thông báo(token packet),Gói

dữ liệu(data packet), Gói bắt tay(handshake

packet),Gói đặc biệt(special packet)

a.Các loại gói thông báo

Trang 32

-Các gói thông báo gồm 1 trường PID chỉ rõ đây là gói IN,OUT hay SETUP.Ngoài ra còn có các

trường ADDR và ENDP

-Các gói thông báo có trường CRC 5bit để bảo vệ cho các trường ADDR và ENDP

b.Gói dữ liệu

Trang 33

-Một gói dữ liệu bao gồm một trường PID 8 bit, tiếp

là trường dữ liệu (có thể từ 0 đến 1024 byte) và cuối cùng là trường CRC 16 bit

-Kích thước tối đa cho phép đối với thiết bị tốc độ

thấp là 8byte, với thiết bị toàn tốc là 1023 byte và

với thiết bị tốc độ cao là 1024 byte

-Kích thước của phần tải tin (data) phải là một số

nguyên lần của một byte

c.Các gói bắt tay

Trang 34

-Các gói bắt tay chỉ có 1 trường PID.Các gói bắt tay này dùng để báo tình trạng của một giao tác dữ

liệu và có thể trả về những giá trị để biết quá trình tiếp nhận dữ liệu thành công,chấp nhận lệnh hay từ chối lệnh,điều khiển luồng và dừng hoạt động

-Có tất cả 5 loại gói bắt tay:

ACK : Tín hiệu này báo rằng gói dữ liệu nhận

được mà không có lỗi nhồi bít hoặc các lỗi CRC ở trường dữ liệu và PID của gói nhận được là đúng đắn

NAK: Tín hiệu này chỉ ra rằng một chức năng

chưa cho phép nhận dữ liệu từ host trong giao tác out

Trang 35

STALL : Tín hiệu này được trả về bởi một chức

năng trong đáp ứng một thông báo In hoặc sau pha giao tác out

NYET: đây chỉ là gói bắt tay cho truyền tốc độ

cao.Nó được trả về bởi một điểm cuối tốc độ cao như một phần của giao tác Ping.Nó cũng có thể

được trả về bởi một hub trong đáp ứng giao tác

phân chia khi giao tác tốc độ thấp hoặc toàn tốc

chưa hoàn thành

ERR: đây cũng là một gói bắt tay tốc độ cao được

trả về để cho phép 1 hub tốc độ cao thông báo một lỗi trên bus toàn tốc hoặc tốc độ thấp

Trang 36

5.Các chuối gói giao tác

-Các goi của một giao tác sẽ biến thiên dựa vào loại điểm cuối

-Có 4 loại điểm cuối là:khối(bulk), điều khiển

(control) ngắt(interrupt) và đẳng thời

(isochoronous)

a.Giao tác khối

Trang 38

b.Giao tác truyền điều khiển

Trang 39

c.Giao tác ngắt

Trang 40

d.Giao tác đẳng thời

Trang 41

IV Quá trình tìm hiểu của máychủ đối với

thiết bị

-Trước khi có thể giao tiếp với thiết bị,máy chủ

cần tìm hiểu thiết bị và gán cho thiết bị một bộ

điều khiển(driver)

-Những công việc cần được xử lý của quá trình

tìm hiểu bao gồm: Gán địa chỉ cho thiết bị, đọc các mô tả từ thiết bị, gán và tải một bộ điều khiển cho thiết bị, chọn một cấu hình phù hợp với

những yêu cầu về công suất của thiết bị, những yêu cầu của điểm cuối và một số đặc điểm khác

Trang 42

để biết có hay không một thiết bị mới được căm vào hoặc vừa được tháo ra

Trang 43

2.Các bước của quá trình tìm hiểu

-Trong suốt quá trình tìm hiểu thì thiết bị trải qua 4

trạng thái: Được cấp nguồn,mặc định,đã gán địa

chỉ,đã được cấu hình Hai trạng thái còn lại là vừa được gán và treo

-Trong mỗi trạng thái thì thiết bị được chỉ định các

khả năng và cách làm việc tương ứng

a.Người sử dụng gắn thiết bị vào USB

Khi ngươi sử dụng gắn thiết bị vào cổng USB hoặc

khi khởi động với thiết bị USB được gắn sẵn thì hub

mà thiết bị gắn tới sẽ cấp nguồn tới cổng có thiết bị

và lúc này thiết bị ở vào trạng thái được cấp nguồn

Trang 44

b.Hub phát hiện thiết bị vừa gắn vào hệ thống

-Hub giáp sát điện áp trên đường các đường dây tín hiệu tại mỗi cổng của nó để biết có hay không một thiết bị vừa được gán vào

-Hub có điện trở kéo nằm trong khoảng 14.25 đến

24.8 Kilo ôm cho mỗi đường tín hiệu của nó

-Còn thiết bị cũng có điện trở trở kéo lên có giá trị

khoảng 900-1575 ôm trên D+ đối với thiết bị tốc độ cao hoặc toàn tốc,trên D- đối với thiết bị tốc độ thấp-Hub phát hiện thiết bị được gắn vào khi thấy điện áp

chuyển từ mức thấp laaen mức cao trên một trong hai đường tín hiệu(D+ hoặc D-)

Trang 45

c.Máy chủ tìm hiểu thiết bị mới

Mỗi hub sử dụng điểm cuỗi ngắt của nó để báo

cáo sự kiện xảy ra tại hub với máy chủ

d.Hub xác định xem tốc độ của thiết bị là thấp hay toàn tốc

-Hub xác định tốc độ của thiết bị bằng cách kiểm tra điện áp trên hai đường dây tín hiệu D+ và D- khi bus ở trạng thái rỗi

-Nếu tại trạng thái rỗi mà điện áp trên D- cao hơn D+ thì tốc độ của thiết bị là thấp còn ngược lại thì tốc độ của thiết bị là toàn tốc

Trang 46

e.Hub reset thiết bị

- Khi máy chủ tìm hiểu về thiết bị mới thì bộ

điều khiển của máy chủ gửi tới hub một yêu

cầu Set_Port_Feature để yêu cầu hub reser

cổng có gắn thiết bị

- Hub reset thiết bị bằng cách đưa cả hai đường thiết bị tín hiệu D+ và D- về mức logic thấp

trong khoảng thời gian tối thiểu là 10 ms(ở

trạng thái bình thường thì hai đường tín hiệu có mức logic trái ngược nhau)

Trang 47

f.Máy chủ tìm hiểu xem nếu một thiết bị là thiết

bị toàn tốc có hỗ trợ tốc độ cao không

-Nếu một thiết bị có hỗ trợ tốc độ cao thì trong quá trình reset nó sẽ gủi tới hub một chip K(tức làm

cho đường D- có điện áp cao hơn đường D+) dài trong khoảng thời gian từ 1 tới 7 ms

- Khi nhận được chip K máy chủ trả lời thiết bị bằng cách gủi một chuối chíp KJKJKJ tới thiết bị (Chip

J có điện áp trên đường D+ cao hơn D-)

-Khi thiết bị nhận được thì nó hiểu nó được làm việc

ở tốc độ cao

-Để làm việc ở tốc độ cao thì thiết bị phải vô hiệu

hóa điện trở kéo lên tại đường D+

Trang 48

g.Hub thiết lập một đường truyền tín hiệu giữa

thiết bị và bus

- Máy chủ kiểm tra xem thiết bị đã thoát khỏi trạng thái reset hay chưa bằng cách gửi tới hub yêu cầu Get_Port_Status.Hub có nhiệm vụ trả lời lại yêu cầu này

- Khi hub gỡ bỏ trạng thái reset thì thiết bị được đưa vào trạng thái mặc định

h.Máy chủ tìm hiểu kích thước lớn nhất của gói đối với đường truyền mặc định

-Máy chủ gửi yêu cầu tới điểm cuối 0 của thiết bị có địa chỉ 0

Trang 49

-Trong 8 byte của bộ mô tả thiết bị có chữa thông tin kích thước tối đa cho một gói tin mà điểm

cuối hỗ trợ

i.Máy chủ gán một địa chỉ cho thiết bị

- Máy chủ gán một địa chỉ cụ thể không trùng lặp với địa chỉ của thiết bị khác cho thiết bị bằng

cách gủi yêu cầu Set_Address tới thiết bị

- Thiết bị sẽ hoàn tất giai đoạn trạng thái của yêu cầu trên với địa chỉ mặc định là 0 và sau đó sẽ sử dụng địa chỉ mới mà máy chủ vừa gán cho nó để thực hiện giao tác tiếp theo(lúc này thiết bị ở vào trạng thái địa chỉ)

Trang 50

- Địa chỉ mà máy chủ vừa gắn cho thiết bị sẽ có hiệu lực cho tới khi thiết bị được tháo ra hoặc hệ thống khởi động lại

j.Máy chủ tìm hiểu về các khả năng của thiết bị

-Máy chủ gủi yêu cầu Get_Descriptor tới thiết bị theo địa chỉ mà nó đã gán trước đó

- Trong lần gửi yêu cầu này thì máy chủ sẽ thu hồi toàn bộ nội dung của bộ mô tả thiết bị

- Bộ mô tả thiết bị có chữa các thông tin như kích

thước tối đa của gói tin cho điểm cuối 0,số lượng cấu hình mà thiết bị hỗ trợ và một số thông tin cơ bản khác

Trang 51

k.Máy chủ gán và tải bộ điều khiển cho thiết bị.

- Sau khi tìm hiểu về thiết bị thông qua các bộ mô tả của nó,máy chủ tìm kiếm bộ điều khiển thiết bị phù hợp nhất cho thiết bị để quản lý việc giao tiếp với thiết bị

l.Bộ điều khiển thiết bị của máy chủ lựa chọn một cấu hình

-Sau khi tìm hiểu thiết bị thông qua các bộ mô tả,bộ điều khiển thiết bị yêu cầu một cấu hình nhờ việc gửi yêu cầu Set_Còniguratinon với chỉ số cấu hình tương ứng

Trang 52

-Thiết bị đọc yêu cầu từ máy chủ và cho phép

một cấu hình tương ứng được tích cực(thiết bị

sẽ làm việc với cấu hình đó).Thiết bị lúc này đã được đưa tới trạng thái được cấu hình và giao diện của thiết bị đã bắt đầu được phép hoạt

Trang 53

-Trang thái tháo ra: Nếu hub không cấp nguồn tới các đường Vbus của thiết bị thì thiết bị ở trạng thái đã tháo ra.Hiện tượng thiết bị không được cấp nguồn mặc dù vẫn đang gắn bào hub xảy ra khi hub nhận được yêu cầu từ máy chủ buộc nó cắt nguồn cấp cho thiết bị.

-Trạng thái treo: Thiết bị sẽ ở vào trạng thái treo khi nó phát hiện thấy đã 3ms trôi qua mà không thấy bất kỳ một tín hiệu nào trên bus.Thiết bị

phải có khả năng phát hiện khoảng thời gian 3

ms không tích cực của bus và đưa thiết bị vào trạng thái treo

Trang 54

V.Ứng dụng

Ngày đăng: 27/04/2015, 15:32

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w