PIC Vietnam

Go Back   PIC Vietnam > Robotics > Thực hành

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Thực hành Bắt đầu làm một robot như thế nào? Mẹo vặt? Kỹ thuật? Công nghệ?... Hãy bắt tay vào việc...

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 14-11-2005, 11:34 AM   #1
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
USB for everyone

Đây là bài viết của Quên mang kính trên diễn đàn ttvnol:

http://www3.ttvnol.com/dtvt/280997/trang-1.ttvn

Bài viết về USB khá tổng quan, giúp các bạn hình dung một số khái niệm cơ bản về USB.

Một vấn đề đặt ra là làm sao thực hiện giao tiếp USB với PIC18F2550 và 18F4550.

Chúng ta sẽ có dịp thảo luận vấn đề này trong thời gian tới.

Chúc vui.
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-11-2005, 11:41 AM   #2
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Tác giả Quên mang kính

Đầu tiên là sơ đồ chân và thông số cổng USB cho bạn nào cần biết:

- Thông tin lấy chủ yếu từ trang Web chính thức của hiệp hội phát triển USB

www.usb.org





USB Technical Overview
( David J. Meppelink, April 10, 2003)

Giới thiệu

USB [Universal Serial Bus] là một chuẩn kết nối ngoại vi như là chuột, bàn phím, camera, ổ đĩa đến PC.

1. Đầu tiên USB thay thế tất cả các loại đầu nối cổng song song và nối tiếp khác với một đầu cắm chuẩn và kết hợp cổng.

2. Với PCs kèm theo USB và ngoại vi bạn chỉ cần cắm chúng và bật chúng lên. USB thực hiện mọi quá trình tự động.

3. USB là thiết bị thay nóng, không cần bật tắt máy khi cắm hay rút thiết bị USB.

4. USB hỗ trợ cắm nhiều thiết bị trong cùng một lúc.

5. Một đặc điểm dễ chịu khác của USB là cung cấp điện cho nhiều thiết bị ngoại vi. USB khiến PC tự động phát hiện công suất yêu cầu và cung cấp cho thiết bị.

I. Chuẩn USB:

Chuẩn USB được phát triển Diễn đàn thực hiện USB (Compaq, Hewlett-Packard, Intel, Microsoft, NEC, Phillips, etc)... Các máy Mac cũng hỗ trợ nó:

[I]Có hai phiên bản chuẩn:[/I]

- USB 1.1 (1995) định nghĩa hai tốc độ 12Mbps (full speed) và 1.5Mbps (low speed) và hai dạng đầu nối Series A và Series B.

- USB 2.0 (5-2000) định nghĩa 3 tốc độ 480Mbps (high speed), 12Mbps và 1.5Mbps. Nó hoàn toàn tương thích ngược với USB 1.1.

Sau khi chuẩn USB 2.0 phát hành (10-2000), Engineering Change Notice (ENC) thêm đầu nối Series mini-B.


Xem chi tiết hơn bằng link cung cấp phía trên.
Bạn nào có thể chép tiếp bài này sang đây dùm nhé.

Cám ơn quên mang kính
Tiểu sử, QMK hiện đang công tác ở BKHCM, sinh hoạt nhiều trên diendandientu.com, là một thành viên tích cực phát triển AVR và các vấn đề về máy tính, vi xử lý...
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-11-2005, 12:41 AM   #3
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
i. So sánh tốc độ:


Bảng sau cho thấy tốc độ truyền (megabytes per second) của USB và các chuẩn giao diện thường sử dụng khác:


Connection Type Mbytes/sec

serial port 0.013

standard parallel port 0.115

Original USB 1.5 (10x faster than typical IO ports)

ECP/EPP parallel port 3

IDE 16.7

SCSI-1 5

SCSI-2 (Fast SCSI, Fast Narrow SCSI) 10

Fast Wide SCSI (Wide SCSI) 20

Ultra SCSI (SCSI-3, Fast-20, Ultra Narrow) 20

UltraIDE 33 (typical max for PC disks)

Wide Ultra SCSI (Fast Wide 20) 40

Ultra2 SCSI 40

IEEE-1394 (Firewire) 50

Hi-Speed USB 60 (2x faster than typical disks)

Wide Ultra2 SCSI 80

Ultra3 SCSI 80

Wide Ultra3 SCSI 160

FC-AL Fiber Channel 400


This table is adapted from the Frequently Asked Question “How does this compare to other connections used with PCs and workstations?” at http://www.usb.org/faq

ii. Bus cấu trúc [Bus Topology]

Thiết bị USB bao gồm cả hubs, là thiết bị cung cấp thêm các điểm gắn cho USB hoặc các functions - cung cấp khả năng như digital camera, disk, keyboard, mouse.

USB sử dụng tiered star topology [mạng xếp tầng ngôi sao] để thực hiện hub và các nút function. Một hub đặt tại trung tâm của mỗi ngôi sao. Một đoạn dây là nối điểm-đến-điểm giữa hub và các hub khác hoặc function đặt ở tầng [tier] tiếp theo.

Vì sự ép buộc về thời gian [timing constraints], USB giới hạn ở 7 tầng. Host nằm một mình ở tầng 1 và cũng chỉ có thể có một host trong một hệ thống USB. Chỉ cho phép functions ở tầng 7. Các tầng từ 2 - 6 có thể có cả hubs hoặc functions. Một thiết bị phức hợp mà có cả hub và function chiếm hai tầng vì vậy nó không thể đặt ở tầng 7.
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-11-2005, 12:44 AM   #4
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
ii. Đặc tính điện
USB sử dụng dây dẫn 4 sợi: 5V nguồn và đất (28 - 20 AWG) và hai dây tín hiệu (28 AWG cặp xoắn)

Có 3 tốc độ truyền: tốc độ cao (480MHz), tốc độ đầy đủ (12Mbps) và tốc độ thấp (1.5 Mbps). Nếu thiết bị ở tốc độ đầy đủ hoặc thấp được gắn vào host qua một hoặc nhiều hub và sau đó truyền tín hiệu giữa host và hub thì tín hiệu này được truyền ở tốc độ cao. Điều này làm giảm thiểu băng thông tiêu thụ bởi thiết bị.

Xung clock được chuyển mã [encode] dựa trên NRZI với dồn bit [bit stuffing].

Non Return to Zero Invert (NRZI): A method of encoding serial data in which ones and zeroes are represented by opposite and alternating high and low voltages where there is no return to zero (reference) voltage between encoded bits. This eliminates the need for clock pulses.

Bit Stuffing: Insertion of a zero bit into a data stream to cause an electrical transition on the data wires, allowing a PLL to remain locked.

Tài liệu chi tiết định nghĩa những lớp công suất sau:

1. Bus-power hubs: lấy công suất cho bản thân hub và downstream ports từ upstream port. Lấy 100mA tại thời điểm bắt đầu và 500mA hoặc ít hơn sau khi cấu hình. Mỗi downstream port có thể nhận tối đa 100mA, không tính dòng rút từ các port khác.

2. Self-powered hubs: lấy công suất cho bản thân hub và downstream port từ một nguồn ngoài. Nhưng nó có thể rút đến 100mA theo yêu cầu đến function khi hub không được cấp công suất [powered off]. Hub có thể cung cấp 100 - 500mA cho mỗi downstream port.

3. Low power bus-powered function: không được rút nhiều hơn 100mA từ USB port.

4. High power bus-powered function: không được rút nhiều hơn 100mA từ USB port lúc mới cấp và lên đến 500mA sau khi cấu hình. Công tắc để chuyển dang công suất cao điều khiển bởi phần mềm.

5. Self powered functions: có thể rút ra từ 100mA theo yêu cầu function khi thiết bị tắt nguồn. Tất cả các tiêu thụ công suất khác lấy từ nguồn ngoài.

Nếu các thiết bị rút quá nhiều dòng, hub sẽ thông báo tình trạng cho phần mềm USB.

USB cũng hỗ trợ quản lý nguồn vì vậy host có thể tắt thiết bị.
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-11-2005, 12:47 AM   #5
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
. Cơ khí


USB định nghĩa 4 loại connectors:

1. Series A: đầu cắm hình chữ nhật (15.7mm x 7.5 mm) và luôn luôn hướng đến host. Series A cũng cho phép function như là ngõ ra từ hosts và/hoặc hubs.

2. Series B: đầu cắm gần hình vuông (11.5 mmx 10.5mm) và luôn luôn hướng đến thiết bị. Series B chấp nhận functions như là ngõ vào đến hubs hoặc thiết bị.

3. Series mini-B: đầu cắm gần hình chữ nhật nhỏ (6.8 mmx 10.5mm) và luôn luôn hướng đến thiết bị. Series mini-B chấp nhận functions như là ngõ vào đến hubs hoặc thiết bị.

4. Captive cable assembly: là bất kì đầu cắm phi chuẩn nào nối đến thiết bị nó phải sử dụng một phía đầu nối Series A cắm vào host hoặc hub.

Những đầu nối này đề phòng sắp xếp dây nối sai thứ tự.

Bản mô tả kĩ thuật này không khuyến khích nối dài dây vì nó chỉ có thể cho phép nối từ điểm đến điểm không quá giới hạn là 5m.

vi. Giao thức Bus

USB là một bus hỏi vòng [polled bus]; Bộ điều khiển host khởi tạo tất cả các dữ liệu giao dịch [transaction] chuyển qua. Phần lớn các giao dịch liên quan đến 3 gói:

1. Bộ điều khiển Host gửi một "token packet" [gói đánh dấu] mô tả loại và hướng của hành vi giao dịch, địa chỉ thiết bị và số điểm kết thúc [endpoint number].

- Device Address: A seven-bit value representing the address of a device on the USB. Devices are assigned a unique device address by the USB System Software.

- Device Endpoint: A uniquely addressable portion of a USB device that is the source or sink of information in a communication flow between the host and device.

2. Nguồn của giao dịch gửi gói dữ liệu hoặc một gó "no data" [dữ liệu trống].

3. Đích sẽ gửi gói bắt tay [handshacking packet] mà chỉ ra dữ liệu truyền thành công.

Giao dịch giữa bộ điều khiển host và một hub sử dụng 4 gói để quản lý dữ liệu ở tốc độ thấp và tốc độ đầy đủ.

Giao thức bao gồm những CRC ( error check) khác nhau và trường dữ liệu của mỗi gói. CRC cho 100% bao hàm trên lỗi bit đơn và lỗi bit kép. Phục hồi lỗi có thể thực hiện bằng phần cứng (thử lại 3 lần) và phần mềm (thực hiện theo chỉ dẫn ở client).

Dữ liệu kết nối dữ phần mềm host và một điểm kết thúc riêng gọi là ống [pipe]. Mỗi ống hoạt động độc lập và một thiết bị đơn có thể có nhiều hơn một ống.

Một ống hỗ trợ chỉ một trong các kiểu truyền sau đây tại một thời điểm:

1. Control Transfer [Truyền điều khiển]: được dùng để cấu hình một thiết bị và có thể sử dụng cho các thiết bị có mục đích tương tự khác bao gồm điều khiển các ống khác trong thiết bị.

2. Bulk Data Transfer [Truyền dữ liệu trọng tải lớn] : tạo ra hoặc tiêu thụ một lượng số liệu tương đối lớn và theo khối [burst] mà không có những định hạn quét.

3. Interrupt Data Transfers [Truyền dữ liệu gián đoạn]: được sử dụng cho dữ liệu cần nhận đúng thời điểm và có độ tin cậy. Ví dụ: chuột, game pad.

4. Isochoronous Data Transfers [] (còn gọi là truyền luồng dữ liệu thời gian thực) giữ và dàn xếp trước [prenegotiated] một số băng thông USB với một hệ thống phân phát ngầm thỏa thuận trước [prenegotiated delivery latency]. Dữ liệu thì liên tục và thời gian thực trong quá trình tạo ra, phân phát và tiêu thụ.
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-11-2005, 12:50 AM   #6
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Sau đây là giải thích một số khái niệm còn chưa rõ lắm ở đoạn dịch trên:

- USB Hub thường ít gặp trong các thiết bị vì hai lý do: Nếu một thiết bị có thêm hub sẽ tăng giá thành - phần mềm sẽ phức tạp hơn. Bạn nghe nói đến những bàn phím có thể gắn chuột vào, rồi màn hình có thể gắn loa và bàn phím vào... nhưng ít gặp vì lý do trên. Hub phổ biến nhất chính là root hub đi kèm với host nói nôm na là hai hay bốn cái lỗ USB ở trên máy tính mà mình cắm thiết bị vào đấy.

- Function hơi khác với device một chút. Một device có thể có một hoặc nhiều function. Những thiết bị có nhiều function thì gọi là thiết bị phức hợp. Ví dụ như một điện thoại IP cắm qua cổng USB sẽ có function: audio stream, button input...

- Khái niệm endpoint từa tựa như khái niệm địa chỉ trong các bus khác nhưng mà endpoint là một khái niệm hoàn toàn logic. Bạn không đơn thuần đọc ghi một địa chỉ vật lý nào đó để truy xuất đến cổng USB. Nếu bạn sử dụng cổng song song hoặc nối tiếp chẳng hạn bạn sẽ đọc ghi dữ liệu vào một vùng đệm có địa chỉ đọc từ BIOS hình như là 278h với LPT1 và 3F8 với COM1 (đúng ko nhỉ). Bạn thao tác với cổng tức là bạn thao tác với địa chỉ này. Endpoint cũng gần như vậy tức là khi đã cấu hình xong bạn sẽ truyền nhận với thiết bị qua những endpoint. Nhưng khác với các cổng COM/LPT (địa chỉ không phụ thuộc vào thiết bị) endpoint là do thiết bị qui định, mọi thiết bị đều có một endpoint zero để cấu hình và truyền nhận dữ liệu, sau đó chính phần mềm sẽ yêu cầu tạo ra một pipe để truyền dữ liệu đến endpoint.

- USB có 3 lớp phần mềm và 3 lớp phần cứng khác nhau như trên hình. Rõ ràng so với COM hay LPT USB phức tạp hơn nhiều nhưng sử dụng lại cực kì đơn giản

Có vài điều nhỏ muốn các bạn tranh luận thêm:

- Bạn đã hiểu USB có những chức năng gì, hiểu qua host, hub và funtions vậy nếu là người thiết kế bạn sẽ xây dựng hệ thống USB như thế nào để đáp ứng chức năng đấy ??? (Cả nec, intel, compag va ms... cãi nhau mãi mới đưa ra USB chắc nó sẽ phức tạp rồi)

- USB là serial bus theo bạn thế nào mới là một bus ??? (Cái này tôi cũng muốn các bạn tranh luận thêm)

Còn đây là một hình vẽ để bạn nào quan tâm đến USB tìm hiểu mình sẽ giải thích sau:

falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-10-2010, 10:34 AM   #7
dinhminh09
Đệ tử 4 túi
 
dinhminh09's Avatar
 
Tham gia ngày: Mar 2010
Bài gửi: 83
:
Send a message via Yahoo to dinhminh09
đặt tính điện của usb và pickit2

[QUOTE=falleaf;964]ii. Đặc tính điện
ra là do thế này mà cái pickit2 chế không nạp được chíp mà phải dùng nguồn ngoài.
__________________
học đến trọc vẫn học.

ngồi buồn lại nhớ tây sơn võ.
nhị khúc tam côn vẫn dùng phan.
nhâm nhi chén rượi say (cả) thiên đình.
nhưng rồi đầu óc vẫn tuệ minh.




dinhminh09 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-07-2006, 10:44 PM   #8
Ngoc Du
Đệ tử 1 túi
 
Tham gia ngày: May 2006
Bài gửi: 13
:
Em đã có tìm hiểu sơ về USB nên xin đính chính lại chỗ này
Trích:
Nguyên văn bởi falleaf
2. Với PCs kèm theo USB và ngoại vi bạn chỉ cần cắm chúng và bật chúng lên. USB thực hiện mọi quá trình tự động.
USB thực hiện bán tự động bởi với những sản phẩm không thuộc các lớp được định nghĩa sẵn (chuẩn USB 2.0 định nghĩa 12 lớp thiết bị) thì nhà cung cấp thiết bị phải cung cấp luôn cả driver.

Trích:
Nguyên văn bởi falleaf
[I]Có hai phiên bản chuẩn:[/I]
- USB 1.1 (1995) định nghĩa hai tốc độ 12Mbps (full speed) và 1.5Mbps (low speed) và hai dạng đầu nối Series A và Series B.

- USB 2.0 (5-2000) định nghĩa 3 tốc độ 480Mbps (high speed), 12Mbps và 1.5Mbps. Nó hoàn toàn tương thích ngược với USB 1.1.
USB1.1 được đưa ra vào tháng 9 năm 1998
USB2.0 được đưa ra vào tháng 4 năm 2000

Có tới 3 phiên bản chuẩn USB, ngoài 1.1 và 2.0 nêu thì còn 1.0
Version 1.0 được công bố vào tháng 1 năm 1996. So với chuẩn 1.1 thì cái đáng kể nhất là nó không hỗ trợ điểm cuối ngắt ra. Thiết bị dùng truyền ngắt kiểu như bàn phím mà muốn nhận thông báo về các đèn Caps Lock, Num Lock, Scroll Lock từ máy chủ thì phải nhận gói report thông qua truyền điều khiển. Còn 1.1 thì có hỗ trợ điểm cuối ngắt ra. Ngoài ra vào ngày 12 tháng 5 năm 2005 đã có chuẩn Wireless USB1.0.
2.0 so với 1.1 thì có nâng cấp đáng kể là hỗ trợ tốc độ cao 480 Mbps. Và vào năm 2001 thì đã định nghĩa một lớp thiết bị khá đặc biệt là On-The-Go. Đây là loại thiết bị giúp cho hai máy tính chủ có thể truyền thông với nhau thông qua thiết bị này. Nó có thể được hiểu như một host có tính năng hữu hạn (tức hỗ trợ không đầy đủ chuẩn USB bằng các host thông thường). Chính sự ra đời của lớp thiết bị này mà ta có thể in trực tiếp tài liệu từ một thiết bị lưu trữ USB bằng máy in mà không cần thông qua máy tính hay bộ loa để nghe nhạc từ một cái USB có chứa file âm thanh mà không cần tới máy tính...

Em có một tutorial tương đối tổng quan về chuẩn USB muốn chia sẻ với mọi người nhưng không biết là up lên thế nào. Có gì em gửi qua email cho anh F để nhờ anh up lên cho mọi người.

thay đổi nội dung bởi: Ngoc Du, 20-07-2006 lúc 01:27 AM.
Ngoc Du vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-07-2006, 09:48 AM   #9
dohoangnam
Đệ tử 1 túi
 
Tham gia ngày: Mar 2006
Bài gửi: 22
:
cảm ơn bác F điều hành, đóng góp không mệt mỏi cho diễn đàn và anh em!
dohoangnam vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-10-2010, 06:04 PM   #10
NBTrung
Nhập môn đệ tử
 
Tham gia ngày: Feb 2009
Bài gửi: 10
:
cho em hỏi cái Bus Powered là tiêu thụ nguồn từ chân Vbus hay các chân tín hiệu D+, D- ạ?

Với những VĐK có hỗ trợ Vusb 3.3V (Vbus) thì dùng Bus powered hay self powered?

Em còn ngu ngơ, đọc code CCS k thấy thể hiện j vấn đề này nên hi vọng các bác giúp với ạ, nếu có code cho PIC kết nối USB dùng HTPic hoặc C18 thì share em với để e ngâm cứu.
Em xin cảm ơn nhiều
NBTrung vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 10:08 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam