From Wikipedia, the free encyclopedia (trích)
USB On-The-Go, thường được viết tắt là USB OTG, là 1 kỹ thuật cho phép thiết bị sử dụng USB như digital audio players
hay mobile phones hoạt động như 1 host [máy
chủ], cho phép các thiết bị sử dụng USB khác như USB flash drive, mouse, hay keyboard có thể kết nối với nó. Không giống
các hệ thống sử dụng USB thông thường, các hệ thống USB OTG có thể vừa đóng vai
trò làm máy chủ [hosting] vừa hoạt động như thiết bị USB bình thường khi kết nối
với 1 host khác. Tính năng này có thể được sử dụng để cho phép 1 mobile phone
hoạt động như 1 host đối với 1 flash drive và đọc nội dung của nó, để tải nhạc
chẳng hạn, rồi lại hoạt động như 1 flash drive khi được cắm vào 1 computer đóng
vai trò máy chủ và cho phép máy chủ đó đọc toàn bộ nội dung mới.
Kiến trúc
USB tiêu chuẩn dùng kiến
trúc master/slave;
1 host làm master device [thiết bị chủ] cho toàn bộ bus [đường truyền], và 1 thiết
bị USB làm slave [tớ/phục vụ]. Các thiết bị mà được thiết kế ban đầu để hoạt động
với 1 vai trò hoặc khác như computer nói chung được thiết lập làm host, trong
khi printer (ví dụ thế) thường là slave.
Khi 1 thiết bị được cắm
vào đường USB [USB bus], master device - host, sẽ thiết lập giao tiếp với thiết
bị đó và điều khiển việc cung cấp dịch vụ. Host này đáp ứng tất cả sự truyền dẫn
dữ liệu qua bus, với các thiết bị này chỉ đòi hỏi sự cẩn thận. Để truyền dữ liệu
giữa 2 thiết bị, thí dụ từ 1 phone đến 1 printer, trước tiên host đọc dữ liệu từ
1 thiết bị sau đó ghi nó lên thiết bị khác. Điều này cho phép các thiết bị đó
được đơn giản hóa rất nhiều so với host; 1 con chuột, thí dụ, có chứa rất ít
logic nhưng dựa vào host để làm hầu hết mọi việc.
Trong khi sự bố trí master/slave
làm việc trên 1 số thiết bị, thì rất nhiều thiết bị có thể muốn hoạt động như 1
master hay 1 slave tùy vào người chia sẻ đường truyền. Thí dụ, 1 printer nối với
computer thường là 1 slave device, nhưng khi 1 ổ flash USB chứa ảnh được cắm
vào cổng USB của printer mà không có sự hiện diện của computer (hay ít nhất là
đang tắt) nó có thể lợi dụng printer làm host, cho phép nó giao tiếp trực tiếp
với ổ flash và in ảnh từ nó.
USB On-The-Go đưa ra
khái niệm 1 thiết bị có thể làm cả 2 vai trò master và slave, và tinh tế thay đổi
thuật ngữ. Với OTG, 1 thiết bị có thể hoặc là 1 host khi hoạt động như master
liên kết, hoặc như 1 peripheral [thiết bị ngoại vi] khi hoạt động như slave
liên kết. Việc chọn là host hay là peripheral hoàn toàn được quyết định bởi đầu
cuối cáp mà thiết bị được cắm vào. Thiết bị nối với đầu A cáp lúc đầu gọi là
‘thiết bị-A’, hoạt động như host mặc định, đầu B hoạt động như peripheral mặc định,
gọi là ‘thiết bị-B’.
Sau khi khởi động lần đầu,
thiết lập để vận hành đường truyền như nó làm với chuẩn USB thông thường, thiết
bị-A thiết lập thiết bị-B và quản lý tất cả giao tiếp. Tuy nhiên, khi mà cùng
thiết bị-A được cắm vào 1 hệ thống USB khác, hay 1 host chuyên dụng khả thi, có
thể nó trở thành 1 slave.
USB On-The-Go cũng có
thể sử dụng USB hub, nhưng nó mô tả việc hoán đổi vai trò
host/thiết bị ngoại vi chỉ cho trường hợp kết nối one-to-one (1 nối 1) ở nơi 2
thiết bị OTG được kết nối trực tiếp. Việc hoán đổi vai trò không hoạt động
thông qua 1 hub tiêu chuẩn, khi 1 thiết bị sẽ làm host và cái kia làm peripheral
cho đến khi chúng ngắt kết nối.
Đặc tính kỹ thuật
USB OTG là 1 phần bổ
sung[1] cho chuẩn Universal Serial Bus (USB)
2.0 được chấp nhận đầu tiên vào cuối 2001 và được sửa đổi sau đó [2]. Phiên bản mới nhất của sự bổ sung này cũng định nghĩa tập
tính cho 1 Embedded Host cái mà có những
khả năng được nhắm đến và giống với cổng USB chuẩn-A dùng trên PC.
Các thiết bị OTG siêu tốc,
Embedded Host và peripheral được hỗ trợ thông qua USB OTG và phần Embedded Host Supplement
trên USB 3.0.
Giao thức
USB On-The-Go và Embedded
Host Supplement trong chuẩn USB 2.0 đã đưa ra 3 giao thức mới: Attach Detection Protocol (ADP), Session
Request Protocol (SRP) và Host Negotiation Protocol (HNP).
ADP cho phép 1 thiết bị
OTG, host Embedded hay thiết bị USB xác định trạng thái gắn kết khi không có
nguồn điện trên đường truyền USB. Điều này kích hoạt cả hành vi dựa vào sự chèn
và khả năng thiết bị hiển thị trạng thái gắn kết. Nó làm việc này bằng cách đo
định kỳ điện dung trên cổng USB để đánh giá có hay không 1 thiết bị gắn vào, 1
cáp mềm hay không có cáp. Khi điện dung thay đổi, đủ lớn để chỉ ra gắn vào được
phát hiện thì 1 thiết bị A sẽ cấp điện tới USB bus và tìm kiếm sự kết nối thiết
bị. Thiết bị B sẽ phát ra SRP và chờ USB bus được cấp nguồn.
SRP cho phép cả 2 thiết
bị giao tiếp để điều khiển khi tác vụ nguồn của link được kích hoạt; trong USB
tiêu chuẩn, chỉ host có khả năng làm điều này. Điều đó cho phép điều khiển
chính xác qua mức tiêu thụ năng lượng, cái rất quan trọng cho các thiết bị vận
hành bằng pin như camera và mobile phone. OTG hoặc host Embedded có thể cho
phép ngắt nguồn của link USB cho đến khi peripheral (có thể là 1 OTG hay thiết
bị USB tiêu chuẩn) yêu cầu bắt đầu cấp nguồn. OTG và host Embedded có thể không
có nhiều năng lượng để dự trữ từ pin của chúng, và việc cho phép ngắt nguồn USB
giúp kéo dài thời gian pin.
HNP cho phép 2 thiết bị
chuyển đổi vai trò host/peripheral của chúng, miễn là cả hai đều là thiết bị
vai trò kép OTG. Bằng cách sử dụng HNP để đảo chiều host/peripheral, thiết bị USB
OTG có khả năng điều khiển được việc lập lịch truyền dữ liệu. Theo cách này, bất
kỳ thiết bị OTG nào cũng có khả năng khởi sự truyền dữ liệu qua USB OTG bus. Phiên
bản mới nhất bổ sung cũng giới thiệu ý tưởng HNP polling [kiểm soát vòng HNP]
nhờ đó thiết bị đang làm host định kỳ thu được peripheral, trong phiên kích hoạt,
để xác định nó có muốn chuyển thành host hay không.
Mục đính chính của HNP
là giúp người dùng khi kết nối 2 thiết bị A và B (xem ở dưới) mà bị sai hướng
tác vụ họ muốn tiến hành. Thí dụ, 1 printer được kết nối làm thiết bị A (host),
nhưng nó không có chức năng của host đối với 1 camera nhất định, khi đó nó
không hiểu sự diễn giải công việc in của camera. Khi đó camera biết làm cách
nói với printer đó, printer sẽ sử dụng HNP để chuyển sang vai trò slave, chuyển
camera thành host để in nhờ đó các bức hình của người sử dụng sẽ được in không
cần đảo cáp [juggling cables]. Các giao thức OTG mới này không thể hoạt động với
1 hub USB tiêu chuẩn vì chúng làm việc dựa vào tín hiệu điện vật lý.
USB On-The-Go và
Embedded Host Supplement trong chuẩn USB 3.0 đưa ra 1 giao thức gia tăng, Role Swap Protocol (RSP). Điều này đạt được mục đích giống với HNP (nghĩa là
hoán chuyển vai trò) bằng cách mở rộng cơ cấu tiêu chuẩn được cung cấp bởi chuẩn
USB 3.0. Các sản phẩm có USB On-The-Go và Embedded Host Supplement theo chuẩn
USB 3.0 cũng yêu cầu đáp ứng chuẩn bổ sung USB 2.0 nhằm mục đích tính tương
thích ngược. Các thiết bị OTG siêu tốc (SuperSpeed OTG hay SS-OTG) được yêu cầu
hỗ trợ RSP. Các thiết bị OTG ngoại vi siêu tốc (SuperSpeed Peripheral Capable OTG
hay SSPC-OTG) thì không yêu cầu hỗ trợ RSP vì chúng chỉ có thể vận hành siêu tốc
khi là 1 peripheral; chúng không có host siêu tốc và do đó chỉ có thể hoán chuyển
vai trò khi dùng HNP tại tốc độ truyền dữ liệu chuẩn USB 2.0.
Vai trò của thiết bị
USB OTG định nghĩa 2
vai trò của thiết bị: thiết bị A OTG và thiết bị B OTG. Thuật ngữ này định
nghĩa bên nào cấp nguồn cho link, và bên nào lúc đầu là host.
Thiết bị A OTG là 1 bên
cấp nguồn, và thiết bị B OTG là 1 bên nhận nguồn. Cấu hình link mặc định là thiết
bị A hoạt động như USB Host và thiết bị B là 1 USB peripheral. Các chế độ host
và peripheral có thể được chuyển đổi sau bằng cách sử dụng HNP. Vì mọi bộ điều
khiển OTG đều hỗ trợ cả 2 vai trò, chúng hay được gọi là bộ điều khiển "Dual-Role"
hơn là "OTG controllers".
Đối với các kỹ sư thiết
kế mạch tích hợp (integrated circuit -
IC), USB OTG là khả năng có được nhiều hơn khả năng của USB với nhiều cổng hơn.
1 cách tiếp cận “truyền thống” gồm 4 bộ điều khiển:
- Bộ điều khiển [controller]
host tốc độ cao USB dựa trên EHCI (1 giao diện đăng
ký).
- Bộ điều khiển host tốc
độ thấp [full/low] dựa trên OHCI (1 giao diện đăng
ký khác).
- Bộ điều khiển thiết bị
USB, hỗ trợ cả 2 tốc độ high và full.
- Bộ điều khiển thứ 4 để
chuyển cổng gốc OTG giữa host và bộ điều khiển thiết bị.
Điều này có nghĩa là
nhiều cửa để test và debug [gỡ lỗi]. Cũng vậy, hầu hết các gadget [tool nhỏ] bắt
buộc chỉ là host, hoặc chỉ là 1 thiết bị. Thiết kế phần cứng của OTG trộn tất cả
các bộ điều khiển này vào trong 1 dộ điều khiển dual-role có phần phức tạp hơn
so với 1 bộ điều khiển thiết bị đơn lẻ.
Không có nhận xét nào:
Đăng nhận xét