PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Giao tiếp USB, CAN, I2C, SPI, USART... (http://www.picvietnam.com/forum/forumdisplay.php?f=45)
-   -   Nguyên tắc xây dựng cổng USB để dùng chung cho nhiều thiết bị???? (http://www.picvietnam.com/forum/showthread.php?t=3581)

nguyenbatbinh 22-02-2009 06:00 PM

Nguyên tắc xây dựng cổng USB để dùng chung cho nhiều thiết bị????
 
Chào các pro!
Các bác cho em biết nguyên tắc xây dựng cổng (USB) để dùng chung cho nhiều thiết bị như Flash memory, Mouse, TV box...

Mong nhận được sự trả lời của các bác. Em tìm kiếm mãi mà không được nên mạo muội hỏi các bác.


__________________________________________________ ___
Em không biết hỏi ở đây có đúng chỗ không, nếu không đúng các bác admin cho nó sang chỗ đúng cho em với

namqn 22-02-2009 06:06 PM

Trích:

Nguyên văn bởi nguyenbatbinh (Post 22872)
Chào các pro!
Các bác cho em biết nguyên tắc xây dựng cổng (USB) để dùng chung cho nhiều thiết bị như Flash memory, Mouse, TV box...

Mong nhận được sự trả lời của các bác. Em tìm kiếm mãi mà không được nên mạo muội hỏi các bác.


__________________________________________________ ___
Em không biết hỏi ở đây có đúng chỗ không, nếu không đúng các bác admin cho nó sang chỗ đúng cho em với

Câu hỏi của bạn vẫn chưa rõ ràng. Bạn muốn xây dựng một host USB để kết nối với các ngoại vi USB như flash drive, mouse, ... chăng?

Thân,

nguyenbatbinh 22-02-2009 11:48 PM

Mình chỉ muốn biết cách thức mà cổng USB xử lý để có thể nhận nhiều thiết bị khác nhau.

Em lấy ví dụ thế này:
Với chuột bình thường thì nó có cổng cắm tròn riêng, chỉ có chuột mới xài được cổng đó.
Còn với cổng USB bác có thể cắm Flash memory, TV box, Mouse có cổng USB... đấy, em hỏi là hỏi tại sao usb lại làm được nhiều việc như thế, nguyên tắc của nó là sao mong bác giúp em.

namqn 23-02-2009 12:35 AM

Trích:

Nguyên văn bởi nguyenbatbinh (Post 22880)
Mình chỉ muốn biết cách thức mà cổng USB xử lý để có thể nhận nhiều thiết bị khác nhau.

Em lấy ví dụ thế này:
Với chuột bình thường thì nó có cổng cắm tròn riêng, chỉ có chuột mới xài được cổng đó.
Còn với cổng USB bác có thể cắm Flash memory, TV box, Mouse có cổng USB... đấy, em hỏi là hỏi tại sao usb lại làm được nhiều việc như thế, nguyên tắc của nó là sao mong bác giúp em.

Câu trả lời đầy đủ cho câu hỏi của bạn sẽ rất dài. Tôi thử trả lời vắn tắt như sau: USB là một giao thức truyền thông được định nghĩa cho một bus. Máy tính đóng vai trò bộ điều khiển trung tâm của bus đó, còn các thiết bị ngoại vi phải tuân thủ theo các quy định của giao thức để có thể kết nối với bộ điều khiển trung tâm này (được gọi tắt là host). Bất kỳ ngoại vi USB nào khi được kết nối vào một USB bus sẽ được host tìm hiểu (qua quá trình enumeration) về các đặc tính và khả năng giao tiếp của ngoại vi đó, đồng thời host sẽ nạp driver tương ứng (nếu cần thiết) vào bộ nhớ để điều khiển thiết bị ngoại vi đó. Sau đó thiết bị ngoại vi mới được cấp một địa chỉ cho phiên giao dịch đó (cho đến khi nó được ngắt khỏi USB bus đó), và sẽ giao tiếp với host với các khả năng mà thiết bị đó đã khai báo với host ở quá trình enumeration. Thông tin này đã được đề cập trên diễn đàn (trong các luồng về USB), nhưng tôi xin nhắc lại ở đây thêm một lần nữa.

Bạn nên tham khảo tài liệu rất cơ bản sau về USB để có thêm thông tin chi tiết hơn:
http://www.beyondlogic.org/usbnutshe...a-nutshell.pdf

Chú ý rằng cổng USB vật lý chỉ là một vị trí để kết nối vào một bus của host, nó hoàn toàn khác với các cổng COM, PS/2, hay LPT của máy tính (là những cổng có giao thức được định nghĩa cứng, với các thanh ghi điều khiển và dữ liệu có địa chỉ được chuẩn hóa).

Thân,

trandaihai2003 27-03-2009 10:54 PM

Trích:

Nguyên văn bởi nguyenbatbinh (Post 22880)
Mình chỉ muốn biết cách thức mà cổng USB xử lý để có thể nhận nhiều thiết bị khác nhau.

Em lấy ví dụ thế này:
Với chuột bình thường thì nó có cổng cắm tròn riêng, chỉ có chuột mới xài được cổng đó.
Còn với cổng USB bác có thể cắm Flash memory, TV box, Mouse có cổng USB... đấy, em hỏi là hỏi tại sao usb lại làm được nhiều việc như thế, nguyên tắc của nó là sao mong bác giúp em.

Hy vọng sẽ giúp bạn rõ hơn:

Phân biệt USB ra 2 loại:
+ Host ( Example: Your PC) -> cái này là bạn muốn biết đó
+ Function ( Devices )

Để host nhận ra nhiều thiết bị khác nhau, host sẽ hỏi device nhiều thông tin; ví dụ : mày là loại thiết bị gì vậy? chạy ở speed nào ? làm thế nào để host có thể giao tiếp với device (protocol) ? khả năng của mày tới đâu ... ( những thông tin này là descriptor và bạn có thể coi thêm trog specification của USB ) -> sau bước này sẽ phân loại device ra: ví dụ: Mass Storage; HID (mouse); Hub, ... Tiếp theo sau bước nhận thông tin từ device, host kiểm tra xem là host có khả năng hỗ trợ thiết bị đó không.
Nếu OK, host sẽ tiếp tục thực thi protocol phù hợp để giao tiếp với loại device đó. và nhiều bước sau đó nữa ...
Đó là cách mà USB hỗ trợ được nhiều loại.

Mục tiêu chính khi usb interface xuất hiện là nó muốn thay thế hầu hết các serial và parallel port. Nên bạn sẽ thấy USB có thể nhận ra rất nhiều device.

Regards,


Múi giờ GMT. Hiện tại là 12:50 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam